Luận văn Xác thực trong các mạng vô tuyến

Tài liệu Luận văn Xác thực trong các mạng vô tuyến: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Tuấn Hưng XÁC THỰC TRONG CÁC MẠNG VÔ TUYẾN LUẬN VĂN THẠC SĨ Hà Nội - 2011 Nghành : Công nghệ thông tin Chuyên nghành : Truyền dữ liệu và mạng máy tính Mã số : 60 48 15 CÁN BỘ HƯỚNG DẪN KHOA HỌC : PGS.TS Trần Hồng Quân 1 Lời cam đoan Tôi xin cam đoan luận văn này là công trình do tôi nghiên cứu. Trong luận văn có sử dụng các tài liệu tham khảo đều được tôi trính dẫn đầy đủ và chính xác trong phần tài liệu tham khảo. Hà Nội, ngày 12 tháng 05 năm 2011 Tác giả 2 Mục lục BẢNG KÝ HIỆU VIẾT TẮT.......................................................................................... 5 DANH MỤC BẢNG ........................................................................................................ 6 DANH MỤC HÌNH ......................................................................................................... 6 GIỚI THIỆU...............................................................

pdf117 trang | Chia sẻ: haohao | Lượt xem: 1242 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Luận văn Xác thực trong các mạng vô tuyến, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Tuấn Hưng XÁC THỰC TRONG CÁC MẠNG VÔ TUYẾN LUẬN VĂN THẠC SĨ Hà Nội - 2011 Nghành : Công nghệ thông tin Chuyên nghành : Truyền dữ liệu và mạng máy tính Mã số : 60 48 15 CÁN BỘ HƯỚNG DẪN KHOA HỌC : PGS.TS Trần Hồng Quân 1 Lời cam đoan Tôi xin cam đoan luận văn này là công trình do tôi nghiên cứu. Trong luận văn có sử dụng các tài liệu tham khảo đều được tôi trính dẫn đầy đủ và chính xác trong phần tài liệu tham khảo. Hà Nội, ngày 12 tháng 05 năm 2011 Tác giả 2 Mục lục BẢNG KÝ HIỆU VIẾT TẮT.......................................................................................... 5 DANH MỤC BẢNG ........................................................................................................ 6 DANH MỤC HÌNH ......................................................................................................... 6 GIỚI THIỆU.................................................................................................................... 9 1. Đặt vấn đề ..............................................................................................................................................9 2. Vấn đề nghiên cứu................................................................................................................................10 3. Phạm vi nghiên cứu..............................................................................................................................10 CHƯƠNG 1 : XÁC THỰC TRONG MẠNG VÔ TUYẾN .......................................... 12 1.1. An ninh và các dịch vụ an ninh.........................................................................................................12 1.1.1. Khái niệm về an ninh thông tin ....................................................................................................12 1.1.2. Các hình thức tấn công ................................................................................................................12 1.1.2.1. Tấn công bị động .................................................................................................................13 1.1.2.2. Tấn công chủ động ..............................................................................................................14 1.1.3 Các dịch vụ an ninh thông tin .......................................................................................................17 1.2. Cơ bản về mật mã học.......................................................................................................................18 1.2.1. Mã hóa đối xứng .........................................................................................................................19 1.2.1.1. Khái niệm............................................................................................................................19 1.2.1.2. Mô hình hoạt động mã hóa khóa đối xứng............................................................................19 1.2.2. Mã hóa bất đối xứng....................................................................................................................24 1.2.2.1. Khái niệm............................................................................................................................24 1.2.2.2. Hệ mã hóa Diffie-Hellman...................................................................................................26 1.2.2.3. Hệ mã hóa công khai RSA...................................................................................................27 1.2.3. So sánh giữa mật mã khóa đối xứng và mật mã khóa công khai ....................................................28 1.3 Chữ ký điện tử....................................................................................................................................28 1.3.1. Khái niệm ...................................................................................................................................28 1.3.2. Mô hình ký số RSA .....................................................................................................................30 1.3.3. Mô hình ký số DSA....................................................................................................................31 1.3.4. Thuật toán băm............................................................................................................................33 1.4. Xác thực và các các mô hình xác thực ..............................................................................................33 1.4.1. Mô hình xác thực yếu ..................................................................................................................35 1.4.1.1. Xác thực dựa trên mật khẩu..................................................................................................35 1.4.1.2. Xác thực dựa trên mã định danh cá nhân (PIN-based Authentication) ...................................36 1.4.2. Mô hình xác thực mạnh ...............................................................................................................36 1.4.2.1. Giao thức xác thực dựa trên hệ mật mã.................................................................................37 1.4.2.2. Giao thức xác thực dựa trên kỹ thuật zero-knowledge...........................................................39 1.4.2.3. Giao thức xác thực dựa trên thiết bị hỗ trợ............................................................................41 1.5. Kết luận chương 1 .............................................................................................................................42 3 CHƯƠNG 2: XÁC THỰC TRONG CÁC MẠNG VÔ TUYẾN THẾ HỆ SAU..........44 2.1. Xác thực trong mạng GSM ............................................................................................................... 44 2.1.1 Giới thiệu mạng GSM .................................................................................................................. 44 2.1.2. Mô hình an ninh của mạng GSM ................................................................................................. 46 2.1.3. Dịch vụ xác thực trong mạng GSM............................................................................................. 48 2.2. Xác thực trong mạng 3G................................................................................................................... 50 2.2.1. Giới thiệu mạng thông tin di động 3G.......................................................................................... 50 2.2.2. Mô hình an ninh trong mạng 3G .................................................................................................. 53 2.2.3. Dịch vụ xác thực và trao đổi khóa................................................................................................ 54 2.3. Xác thực trong mạng cục bộ không dây WLAN .............................................................................. 58 2.3.1. Giới thiệu về mạng cục bộ không dây WLAN.............................................................................. 58 2.3.2. Mô hình an ninh mạng WLAN .................................................................................................... 60 2.3.2.1. Các vấn đề an ninh trong mạng WLAN................................................................................ 60 2.3.2.2. Giải pháp an ninh trong mạng WLAN.................................................................................. 60 2.3.3. PRE-RSNA................................................................................................................................. 62 2.3.2.1. Xác thực.............................................................................................................................. 62 2.3.2.2. Bảo mật và toàn vẹn dữ liệu................................................................................................. 64 2.3.4. RSNA......................................................................................................................................... 65 2.3.4.1. Xác thực.............................................................................................................................. 65 2.3.4.2. Bảo mật và toàn vẹn dữ liệu................................................................................................. 68 2.4. Kết luận chương 2............................................................................................................................. 69 CHƯƠNG 3: Hệ MẬT MÃ CÔNG KHAI ECC VÀ ỨNG DỤNG TRONG XÁC THỰC CÁC MẠNG VÔ TUYẾN .................................................................................70 3.1. Hệ mật mã đường cong Elliptic ........................................................................................................ 71 3.1.1 Cơ sở toán học ............................................................................................................................. 72 3.1.1.1. Đường cong Elliptic ............................................................................................................ 72 3.1.1.2. Phép cộng hai điểm ............................................................................................................. 73 3.1.1.3. Phép nhân hệ số nguyên ...................................................................................................... 76 3.1.1.4. Đường cong Elliptic trên trường hữu hạn ............................................................................. 77 3.1.2. Hệ mật mã công khai ECC .......................................................................................................... 83 3.1.2.1. Các tham số của hệ mật mã hóa ECC................................................................................... 84 3.1.2.2. Các kiểu dữ liệu trong hệ mật mã ECC ................................................................................ 86 3.1.2.2. Thuật toán sinh khóa ........................................................................................................... 87 3.1.2.3. Thuật toán trao đổi khóa ECDH........................................................................................... 88 3.1.2.4. Thuật toán chữ ký điện tử ECDSA....................................................................................... 88 3.1.2.5. Thuật toán xác thực chữ ký điện tử ECC .............................................................................. 89 3.1.2.6.Mô hình mã hóa tích hợp đường cong Elliptic - ECIES ......................................................... 90 3.2. Ưu điểm của hệ mật mã đường cong Elliptic ................................................................................... 92 3.3. Đề xuất xây dựng hạ tầng khóa công khai cho thiết bị di động dựa trên hệ mật mã ECC.............. 93 3.3.1. Vấn đề an ninh của hệ mật mã công khai...................................................................................... 93 3.3.2. Hạ tầng khóa công khai ............................................................................................................... 94 3.3.3 Chứng thư số ............................................................................................................................... 95 3.3.4. Xác thực di động dựa trên hạ tầng khóa công khai sử dụng hệ mật mã đường cong Elliptic........... 97 3.3.4.1. Giao thức cấp pháp chứng thư trên thiết bị di động............................................................... 98 3.3.4.2. Xác thực di động dựa trên chưng thư số sử dụng hệ mật mã ECC ....................................... 101 3.3.5. Kết quả ..................................................................................................................................... 103 3.3.5.1. Thiết kế chương trình ........................................................................................................ 103 3.3.5.2. Các bước thực hiện............................................................................................................ 103 4 3.3.5.3. Đánh giá hiệu năng của hệ mật mã ECC............................................................................. 109 3.4. Kết luận chương 3 ........................................................................................................................... 110 TỔNG KẾT VÀ HƯỚNG NGHIÊN CỨU TIẾP THEO........................................... 111 1. Hướng nghiên cứu tiếp theo............................................................................................................... 111 TÀI LIỆU THAM KHẢO........................................................................................... 112 PHỤ LỤC: THAM SỐ HỆ MẬT MÃ ECC ............................................................... 114 5 Bảng ký hiệu viết tắt Ký hiệu Định nghĩa 3G Mạng thông tin di động thế hệ 3 AP Điểm truy cập AuC Trung tâm chứng thực BTS Trạm thu phát sóng CA Cơ quan chứng thực chữ ký số DoS Tấn công từ chối dịch vụ DSA Thuật toán chữ ký số EAP Giao thức xác thực có thể mở rộng ECC Mật mã đường cong Elliptic ETSI Viện tiêu chuẩn viễn thông Châu Âu GPRS Công nghệ chuyển mạch gói được phát triển từ mạng GSM GSM Mạng thông tin di động toàn cầu thế hệ 2 HLR Bộ ghi địa chỉ thường trú IEEE Viện kỹ sư điện và điện tử ISO Tổ chức tiêu chuẩn quốc tế ITU-T Liên minh viễn thông quốc tế J2ME Công nghệ của Java để phát triển các ứng dụng Java trên điện thoai di động hay các thiết bị cầm tay nhỏ gọn MS Trạm di động PIN Mã định danh cá nhân PKI Hạ tầng khóa công khai RADIUS Dịch vụ xác thực người sử dụng truy cập từ xa RFID Định danh dựa trên tần số vô tuyến 6 RSA Hệ mật mã RSA SGSN Nút hỗ trợ chuyển mạch dịch vụ SIM Thành phần định danh thuê bao STA Trạm di động UMTS Mạng thông tin thế hệ 3 theo tiêu chuẩn của Châu Âu USIM Thành phần định danh thuê bao của mạng 3G VLR Bộ ghi địa chỉ tạm trú WLAN Mạng nội bộ không dây Danh mục bảng Bảng 3.1 : So sánh độ an toàn các hệ mật mã theo chiều dài khóa ……………...67 Bảng 3.2 : Các điểm thuộc đường cong E23(1,1)……………………………..…73 Bảng 3.3 : Các giá trị trường F24………………………………………………...76 Bảng 3.4 : Các điểm thuộc đường cong E24(g4,1)…………………….………....76 Bảng 3.5a : So sánh tốc độ ký giữa hệ mật mã ECC và RSA ……………………. Bảng 3.5b : So sánh tốc độ xác thực giữa hệ mật mã ECC và RSA ………………. Danh mục hình Hình 1.1 : Nghe lén thông tin…………………….……………………………...13 Hình 1.2 : Phân tích lưu lượng………………….…………………………….…14 Hình 1.3 : Giả mạo người gửi…………………,……,…………………………..15 Hình 1.4 : Tấn công lặp lại……………………,…….…………………………..16 Hình 1.5 : Tấn công sửa đổi dữ liệu………….……….…………………………16 Hình 1.6 : Tấn công từ chối dịch vụ………….…………………….……………17 Hình 1.7 : Chế độ ECB……………………….…………………………….……20 Hình 1.8 : Chế độ CBC……………………..……………………………………21 Hình 1.9 : Chế độ CFB…………………….………………………………….…22 7 Hình 1.10 : Chế độ OFB ……………………………………………………….23 Hình 1.11 : CTR ………………………………………………………………..23 Hình 1.12a : Chức năng mã hóa / giải mã ……………………………………….25 Hình 1.12b : Chức năng ký ……………………………………………………...25 Hình 1.13 : Mô hình ký số RSA ……………………………………………….30 Hình 1.14a : Mô hình ký số và xác thực DSA …………………………………..32 Hình 1.14b : Mô hình truyền thông, sử dụng chữ ký điện tử DSA ……………..32 Hình 2.1 : Hạ tầng mạng GSM ………………………………………………..43 Hình 2.2 : Mô hình an ninh mạng GSM ……………………………………...46 Hình 2.3 : Mô hình xác thực trong mạng GSM ………………………………47 Hình 2.4 : Kiến trục mạng 3G UMTS ………………………………………..49 Hình 2.5 : Mô hình an ninh mạng UMTS …………………………………….51 Hình 2.6 : Giao thức xác thực 2 chiều mạng UMTS ………………………….53 Hình 2.7a : Sinh vector xác thực tại AuC ……………………………………...54 Hình 2.7b : Thuật toán sinh xác thực tại USIM ………………………………..55 Hình 2.8 : Tham chiếu giữa mô hình IEEE 802.1và mô hình OSI …………...57 Hình 2.9 : Giải pháp an ninh chuẩn 802.11i ………………………………….60 Hình 2.10a : Phương thức xác thực mở - OSA …………………………………..61 Hình 2.10b : Phương pháp xác thực khóa chia sẻ - SKA ………………………..62 Hình 2.11a : Mã hóa gói dữ liệu …………………………………………………63 Hình 2.11b : Giải mã và kiểm tra tính toàn vẹn dữ liệu …………………………63 Hình 2.12 : Dịch vụ xác thực của 802.1x ………………………………………65 Hình 2.13 : EAPoL ……………………………………………………………..66 Hình 3.1a : 2 3 5 3y x x   …………………………………………………….70 Hình 3.1b : 2 3 5 8y x x   ……………………………………………….……70 Hình 3.2a : Phép cộng 2 điểm ……………………………………….…………72 8 Hình 3.2b : Phép cộng 2 điểm, với Q ≡ - P …………………………...……….72 Hình 3.2c : Phép nhân đôi điểm ………………………………………………..73 Hình 3.3 : Các điểm thuộc đường cong E23(1,1) trên đồ thị …………………..76 Hình 3.4 : Các điểm thuộc đường cong E24(g4,1) trên đồ thị ………………….79 Hình 3.5 : Quan hệ chuyển đổi giữa các kiểu dữ liệu …………………………83 Hình 3.6 : Các thành phần hạ tầng khóa công khai …………………………...90 Hình 3.7 : Cấu trúc chứng thư X.509 ………………………………………….92 Hình 3.8 : Giao thức cấp đăng ký cấp phát chứng thư …………………………94 Hình 3.9 : Giao thức pháp hành chứng thư …………………………………….95 Hình 3.10a : Giao thức xác thực một bước ……………………………………….97 Hình 3.10b : Giao thức xác thực hai bước ………………………………………..97 Hình 3.10c : Giao thức xác thực ba bước ………………………………………....98 Hình 3.11a : Chứng thư của CA………………………………………………….100 Hình 3.11b : Trường khóa công khai của CA ……………………………………100 Hình 3.11c : Thuật toán ký của CA………………………………………………101 Hình 3.11d : Chữ ký của CA trên chứng thư …………………………………….101 Hình 3.11e: Form điền thông tin cấp yêu cầu phát chứng thư ………………….102 Hình 3.11f : Chứng thư được phát hành bởi CA ………………………………..102 Hình 3.11g : Thuật toán ký số của CA trên chứng thư phát hành………………..103 Hình 3.11h : Chữ ký của CA trên chứng thư phát hành …………………………103 9 Giới thiệu 1. Đặt vấn đề Kể từ năm 1895, khi nhà khoa học Guglielmo Marconi đã thành công trong việc truyền 1 thông điệp điện báo đầu tiên từ khoảng cách 18 dặm mà không cần dùng một loại dây truyền nào. Ngày nay, các thiết bị vô tuyến đã xâm nhập vào hầu hết các khía cạnh cuộc sống của con người, ở đâu ta cũng có thể dễ dàng bắt gặp những thiết bị vô tuyến: Từ những vật dụng đơn giản như đài radio, vô tuyến truyền hình, những chiếc điện thoại di động, hoặc mạng Wifi gia đình. Các thiết bị vô tuyến nói chung và thiết bị di động nói riêng đã góp phần rất lớn trong cuộc cách mạng hiện đại hóa của con người. Thật khó có thể hình dung cuộc sống hiện đại nếu không có những thiết bị vô tuyến đó. Bên cạnh những mặt tốt, truyền thông vô tuyến cũng có nhiều mặt hạn chế. Do tính tiện lợi của truyền thông vô tuyến, do vậy cuộc sống của con người ngày càng lệ thuộc vào nó. Mặt khác, do bản chất của truyền thông vô tuyến là truyền công khai bằng các tín hiệu vô tuyến trong không khí, do vậy mạng vô tuyến tiềm ẩn rất nhiều nguy cơ an ninh. Nếu kênh truyền không được bảo vệ tốt thì người sử dụng cuối rất có thể sẽ bị tổn thương nếu bị tấn công. Ví dụ, ngày nay có nhiều người sử dụng điện thoại di đông để liên lạc với nhau, các thông tin trao đổi cũng rất đa dạng, kể cả nhưng thông tin bí mật, nếu bị tấn công, những thông tin bí mật đó có thể bị lộ và sẽ gây ra những ảnh hưởng rất lớn tới người sử dụng. Ta có thể nếu ra một ví dụ khác, trong thời gian gần đây, có rất nhiều tin nhắn điện thoại giả mạo lừa đảo được gửi tới nhiều người dùng điện thoại di động, gây ra nhiều bức xúc cho người sử dụng và là vấn đề nhức nhối của xã hội. Giải sử những thông tin giả mạo liên quan tới những vấn đề giao dịch, hay kinh doanh thì sẽ gây ra thiệt hại rất lớn cho người sử dụng. Do sự phổ biến của những chiếc điện thoại di động, do vậy có rất nhiều dịch vụ giá trị gia tăng được phát triển trên truyền thông di động. Trong đó có nhiều dịch vụ thương mại điện tử như thanh toán di động (mobile payment), ngân hàng điện tử. Tuy nhiên, nếu hạ tầng di động không đảm bảo được tính bảo mật thì các dịch vụ trên rất khó để thuyết phục người sử dụng tham gia. Hiện nay, hạ tầng an ninh truyền thông đã được xây dựng tương đối hoàn chỉnh, ví dụ như hạ tầng khóa công khai (PKI – Public key Infrastructure). Tuy nhiên các thiết kế ban đầu của các hạ tầng đó được phục vụ việc bảo mật và xác thực chạy trên các máy vi tính. Với như thiết bị di động, hoặc các thiết bị nhúng có 10 năng lực xử lý và khả năng lưu trữ hạn chế thì phương pháp bảo mật cũ không có hiệu quả. Mặc dù trong vài năm trở lại đây, có sự bùng nổ của các thiết bị di động thông minh, có năng lực xử lý ngang với máy vi tính, tuy nhiên đó vẫn chỉ là số ít. Phần còn lại của các thiết bị di động vẫn là các thiết bị có năng lực xử lý kém, không tương thích với việc triển khai các thuật toán bảo mật. Để giải quyết các vấn đề này, trong những năm gần đây, có nhiều công trình đã nghiên cứu các phương pháp để bảo mật trong truyền thông vô tuyến. Trong luận văn của mình, học viên sẽ nghiên cứu những vấn đề bảo mật trong truyền thông vô tuyến. 2. Vấn đề nghiên cứu Để nghiên cứu vấn đề bảo mật trong truyền thông mạng vô tuyến, học viên nghiên cứu theo các vấn đề sau:  Vấn đề an ninh và các mô hinh xác thực trong truyền thông mạng.  Khảo cứu các kỹ thuật an ninh đang được áp dụng trong các mạng truyền thông vô tuyến phổ biến hiện nay.  Nghiên cứu phương pháp xác thực hiệu quả được áp dụng trên các thiết bị vô tuyến nói chung và thiết bị di động nói riêng. 3. Phạm vi nghiên cứu Khái niệm truyền thông mạng là một khái niệm rộng, do vậy trong phạm vi của một luân văn thạc sỹ. Học viên chỉ xét các mạng vô tuyến đặc trưng và phổ biến nhất, đó là mạng di động và mạng không dây WLAN. Trong đó sẽ tập trung chủ yếu vào mạng di động. Trong nghiên cứu về an ninh truyền thông, học viên sẽ giới thiệu các khái niệm chung về an ninh truyền thông, các phương pháp tấn công. Tiếp đó học viên nêu ra các khái niệm cơ bản về mật mã học, các hệ mật mã được sử dụng phổ biến hiện nay, và các dịch vụ an ninh được xây dựng trên các hệ mật mã đó. Phần cuối, học viên sẽ nghiên cứu các mô hình xác thực trong truyền thông dựa trên cơ sở các dịch vụ an ninh đã và đang được ứng dụng hiện nay đang được ứng dụng phổ biến. Phần tiếp theo, học viên sẽ khảo cứu các kỹ thuật xác thực trong các mạng truyền thông phổ biến nhất hiện nay, đó là mạng di động GSM, mạng 3G và mạng WLAN. Đối với từng mạng, học viên đi vào phân tích và nếu ra những nguy cơ an ninh trong hoạt động của các mạng đó. 11 Phần cuối cùng, học viên đi vào nghiên cứu hệ mật mã công khai đường cong Elliptic (ECC - Elliptic Curve Cryptography). Học viên sẽ đi vào khảo cứu và giới thiệu các thuật toán được ứng dụng trong triển khai các dịch vụ an ninh trên cơ sở của hệ mật mã ECC. Dựa vào các kết quả nghiên cứu trước đó về hệ mật mã ECC, học viên sẽ đưa ra những so sánh và đánh giá để chỉ ra sự tương thích của hệ mật mã ECC khi chạy trên các thiết bị có năng lực xử lý yếu. Cuối cùng, luận văn đề xuất ứng dụng hạ tầng khóa công khai sử dụng mật mã ECC ứng dụng trên điện thoại di động. Để minh họa, luận văn đã thiết kế giao thức cấp phát chứng thư an toàn trên điện thoại di động. Trong tương lại, học viên sẽ có thể tiếp tục nghiên cứu và hoàn thiện các giải pháp triển khai hạ tầng khóa công khai trên thiết bị di động. 12 Chương 1 : Xác thực trong mạng vô tuyến 1.1. An ninh và các dịch vụ an ninh 1.1.1. Khái niệm về an ninh thông tin An ninh có thể được hiểu là các biện pháp nhằm bảo vệ an toàn cho các dữ liệu và các tài nguyên khỏi sự xâm hại, sự giả danh từ các tác nhân trái phép. An ninh thông tin là một thành phần quan trọng trong bất cứ một dịch vụ, một sản phẩm, hay hệ thống thông tin nào. An ninh trong hệ thống truyền thông thông tin lại càng quan trọng, bởi tính chất của truyền thông thông tin là truyền sóng dưới dạng công khai mà bất cứ ai cũng có thể tiếp cận được, và do sự phổ biến của các dịch vụ truyền thông thông tin ngày nay. Nói về an toàn thông tin của 1 hệ thống, giáo sư G. Spafford đã từng nói [22]: “Một hệ thống chỉ an toàn thực sự khi nó được ngắt hoàn toàn, được đóng trong 1 khối bê tông và được niêm phong trong 1 ngôi nhà bọc chì có lực lượng vũ trang bảo vệ - Thậm chí khi đó tôi vẫn có sự nghi ngờ ”. Theo định nghĩa của ISO/IEC 2382-8 : “An ninh là sự bảo vệ dữ liệu và tài nguyên bằng các hành động thích hợp khỏi những hành vi gây hại cố tình hay vô ý” Một trong những sai lầm phổ biến khi thiết kế hệ thống đó là việc coi yếu tố an ninh là thành phần có thể được bổ xung sau, chính sai lầm này dẫn tới những lỗ hổng an ninh phát sinh ở giai đoạn sau sẽ rất khó phát hiện, và sửa chữa. Ví dụ, trong các giao thức 802.11 của mạng WLAN, thiết kế của lớp trung gian MAC (Medium Access Control) có thể dẫn tới hệ thống bị tấn công từ chối dịch vụ (Denial of services - DoS). Các giao thức 802.11 sau này (802.11i) đã được cải tiến để chống lại các cuộc tấn công dịch vụ, nhưng vẫn chưa loại bỏ được kiểu tấn công người ở giữa (Man in the middle). Do vậy việc xem xét đánh giá tổng thể các khía cạnh sử dụng, các tình huống sử dụng trong thực tế để phát hiện ra những nguy cơ an ninh là một điều rất quan trọng. 1.1.2. Các hình thức tấn công Để nắm rõ được các cơ chế an ninh, ta cần quan tâm tới các hình thức tấn- công. Hiện nay, có rất nhiều hình thức tấn công vào hệ thống, nhưng ta có thể phân thành 2 nhóm [24]: Tấn công bị động và tấn công chủ động. Tấn công bị động là hành động thu thập thông tin, nghe lén thông tin, phân tích thông tin trên kênh Comment [u1]: Spafford, G., tml Comment [u2]: William Stalling (2005) “Cryptography and Network Security”, pp 13- 15 13 truyền mà không phương hại tới tài nguyên hay dữ liệu của hệ thống. Tấn công chủ động là hình thức tấn công mà kẻ tấn công tác động tới dữ liệu và tài nguyên của hệ thống, làm ảnh hưởng tới hoạt động của hệ thống. 1.1.2.1. Tấn công bị động Có 2 hình thức tấn công bị động đó là: Nghe lén và theo dõi lưu lượng. Mục tiêu của kẻ tấn công là thu thập thông tin trên đường truyền để khôi phục thông điệp truyền tin và phân tích được lưu lượng truyền trên mạng. Việc tấn công nghe lén và khôi phục lại dữ liệu truyền là một dễ hiểu, bởi trong các thông tin truyền như các cuộc gọi, email, tin nhắn, có rất nhiều thông tin nhạy cảm mà ta không muốn bị lộ. Nếu dữ liệu truyền của ta không được mã hóa, thì việc lộ thông tin khi bị nghe lén là điều chắc chắn. Tấn công phân tích lưu lượng là một kiểu tấn công tinh vi, giả sử thông tin trao đổi của chúng ta đã được mã hóa bằng một hệ mật mã nào đó, do vậy kẻ tấn công không thể nghe lén được nội dung thông tin trao đổi. Nhưng kẻ tấn công có thể theo dõi được các mẫu thông điệp được truyền trên đường truyền, từ 1 nguồn tới 1 đích xác định, kết hợp với các thông tin khác, kẻ tấn công có thể đoán được một phần thông điệp truyền. Hình 1.1 : Nghe lén thông tin 14 Phương pháp tấn công bị động rất khó phát hiện, bởi không có bất cứ 1 sự thay đổi hay can thiệp nào trên dữ liệu truyền, do vậy cả người gửi và người nhận đều không thể nhận biết được thông tin truyền của mình có bị nghe lén, hay bị theo dõi hay không. Để phòng chống việc bị tấn công thụ động, các thông tin truyền phải được mã hóa trước khi truyền để tránh bị tấng công nghe lén, đồng thời ta có thể áp dụng một số cơ chế đặc biệt để có thể chống được tấn công phân tích lưu lượng. 1.1.2.2. Tấn công chủ động Tấn công chủ động là các hình thức tấn công nhằm sửa đổi thông tin truyền, hoặc tạo ra các thông tin truyền giả mạo. Tấn công chủ động có thể được chia làm 4 nhóm sau: Tấn công giả mạo, tấn công lặp lại, tấn công sửa đổi thông tin, và tấn công từ chối dịch vụ. Tấn công giả mạo : Là hình thức tấn công mà kẻ tấn công sẽ giả mạo mình là một người khác để thực hiện hành vi tấn công. Ví dụ, trong thủ tục xác thực người dùng của 1 hệ thống, nếu kẻ tấn công có mật khẩu của người dùng thì kẻ đó có thể vượt qua hệ thông xác thực như 1 người dùng hợp lệ. Tấn công lặp lại : Kẻ tấn công sau khi đã thu thập được 1 đơn vị dữ liệu trên kênh truyền, nếu đơn vị dữ liệu đó được sử dụng trong thủ tục xác thực, kẻ tấn công có thể gửi lại đơn vị dữ liệu đó để có thể vượt qua thủ tục xác thực. Hình 1.2 : Phân tích lưu lượng 15 Tấn công sửa đổi dữ liệu : Kẻ tấn công có thể can thiệp vào dữ liệu trên kênh truyền và sửa đổi dữ liệu đó nhằm phục vụ mục đích của mình. Tấn công từ chối dịch vụ (Denial of Service - Dos): Là hình thức làm suy giảm khả năng phục vụ của hệ thống, bằng cách gửi một loạt các yêu cầu phục vụ giả mạo tới hệ thống với số lượng cực lớn, làm cho hệ thống bị quá tải, dẫn tới những yêu cầu phục vụ chính đáng không thể được xử lý. Hình 1.3 : Giả mạo người gửi 16 Hình 1.4 : Tấn công lặp lại Hình 1.5 : Tấn công sửa đổi dữ liệu 17 Ta có thể thấy hình thức tấn công chủ động trái ngược với các tấn công bị- động. Trong khi các hình thức tấn công bị động rất khó phát hiện, nhưng việc áp dụng các biện pháp phòng chống lại có thể dễ dàng áp dụng, ngược lại các hình thức tấn công chủ động lại dễ dàng có thể phát hiện, nhưng lại khó phòng chống bởi hiện nay có rất nhiều các loại hình dịch vụ khác nhau, các loại thiết bị khác nhau cùng hoạt động, do vậy càng có nhiều lỗ hổng an ninh hơn, trong đó có nhiều lỗ hổng an ninh đã được phát hiện và nhiều lỗ hổng an ninh tiềm ẩn, chưa được phát hiện. Đây là mảnh đất màu mỡ cho các hacker có thể hoạt động. 1.1.3 Các dịch vụ an ninh thông tin Dựa vào các hình thức tấn công, chuẩn kiến trúc an ninh cho mô hình OSI X.800 [12] đưa ra 5 dịch vụ an ninh thông tin. Đó là các dịch vụ : Bảo mật: Dịch vụ bảo mật dữ liệu đảm bảo dữ liệu không thể bị đọc bởi những người không được phép. Theo đó dữ liệu sẽ được mã hóa, chỉ có những người được phép có khóa hợp lệ mới có thể đọc được nội dung dữ liệu. Mặt khác, khi dữ liệu truyền được mã hóa địa chỉ nguồn và địa chỉ đích, thì có tác dụng bảo vệ kênh truyền khỏi cuộc tấn công phân tích lưu lượng. Dịch vụ bảo mật thông tin được sử dụng để bảo mật dữ liệu truyền khỏi tấn công thụ động. Dịch vụ xác thực: Dịch vụ xác thực đảm bảo được danh tính của các thực thể truyền thông, và dữ liệu truyền thông được công bố là xác thực và không bị sửa đổi bởi bên thứ 3. Hình 1.6 : Tấn công từ chối dịch vụ Comment [u3]: ITU-T Recommendation X.800, “Security architecture for open system interconnection (OSI)”, pp 8-10 18 Dịch vụ điều khiển truy cập: Dịch vụ điều khiển truy cấp là khả năng hạn chế và điều khiển truy cập vào hệ thống và ứng dụng thông qua kênh truyền. Để có thể truy cập hệ thống, thực thể truy cập trước tiên phải được định danh, và xác thực. Sau khi thực thể được xác thực thành công, hệ thống sẽ cấp quyền truy cập tới những thành phần được phép truy cập cho thực thể đó. Toàn vẹn dữ liệu: Dịch vụ toàn vẹn dữ liệu ngăn chặn những hành động sửa đổi dữ liệu trái phép. Theo đó, chỉ những thực thể hợp lệ mới được phép sửa đổi dữ liệu. Các thao tác sửa đổi dữ liệu bao gồm: Thay đổi trạng thái dữ liệu, tạo dữ liệu giả, xóa dữ liệu, và gửi lại dữ liệu đã gửi trước đó. Chống chối bỏ: Dịch vụ chống chối bỏ đảm bảo cho thực thể nhận có thể chứng minh được dữ liệu nhận được chắc chắn là của bên gửi. Tương tự, thực thể gửi cũng có thể chứng minh được dữ liệu gửi đi chắc chắn là của mình. 1.2. Cơ bản về mật mã học Các dịch vụ an ninh chỉ có thể được xây dựng trên nền tảng hệ thống mật mã học. Với mỗi dịch vụ, mỗi mục đích khác nhau, có những phương pháp mã hóa khác nhau được sử dụng. Trước khi đi chi tiết các phương pháp trong an ninh mạng vô tuyến, ta cần có những khái niệm cơ bản về mật mã học và các hệ mật mã được sử dụng phổ biến hiện nay. Mã hóa (Encryption) là quá trình biến đổi một thông điệp theo 1 phương thức nào đó nhằm giữ bí mật nội dung của thông điệp đó, theo đó các ký tự dễ hiểu của bản gốc thông điệp ( bản rõ - plain text) bị thay thế bởi các ký tự có thứ tự hỗn độn tạo ra một thông điệp có hình thức khó hiểu (bản mã - ciphertext). Quá trình ngược lại với quá trình mã hóa được gọi là quá trình giải mã (Decrytion). Một hệ mật mã (cryptography) bao gồm 1 phương pháp mã hóa và 1 phương pháp giải mã với một hay nhiều khóa xác định để thực hiện thao tác mã hóa và giải mã. Thông thường, để bảo đảm an toàn cho 1 thông điệp truyền, ta thường kết hợp nhiều phương pháp mã hóa, ví dụ một lớp mã hóa để đảm báo thông điệp không bị đọc trộm bởi các thực thể không được phép, và có thể dùng thêm một lớp mã hóa để “tạo chữ ký” cho thông điệp truyền. Khi thông điệp đã được ký, nó có tác dụng đảm bảo tính toàn vẹn của thông điệp, xác thực và chống chối bỏ. Ngoài ra, trong các thông điệp truyền, có thể áp dụng kỹ thuật đóng dấu thời gian để chống tấn công lặp lại. Các hệ mã hóa có thể được chia ra làm 2 loại chính: Mã hóa đối xứng và mã hóa bất đối xứng. Ta sẽ cùng xét lần lượt 2 loại mã hóa này. 19 1.2.1. Mã hóa đối xứng 1.2.1.1. Khái niệm Hệ mật mã đối xứng là hệ mật mã sử dụng thuật toán mã hóa khóa đối xứng, tức là quá trình mã hóa và quá trình giải mã đều sử dụng chung một khóa. Để sử dụng hệ mật mã đối xứng, người gửi và người nhận trước đó phải trao đổi một khóa dùng chung, sau đó mới có thể tiến đến mã hóa và giải mã thông điệp gửi đi và nhận lại. Quá trình mã hóa và giải mã có thể được ký hiệu một cách hình thức như sau: Gọi P (Plaintext) và C (Ciphertext) lần lượt là bản rõ và bản mã của một thông điệp. K là tập các khóa. Ek và Dk lần lượt là 2 thủ tục mã hóa và giải mã với khóa k, ký hiệu là: Ek và Dk thỏa mãn tính chất sau: Việc tính toán Ek(x) và Dk(y) có thể dễ dàng thực hiện được. Nhưng ngược lại việc tìm ra x khi chỉ biết bản mã Ek(x) = C, hoặc tìm ra khóa k là một việc rất khó. Việc phá mã có thể đưa về 2 bài toán sau:  Tìm bản rõ x khi chỉ biết Ek(x)  Tìm khóa k nếu biết k thuộc tập khóa K và có các bản mã Ek(x) Trong hệ mật mã khóa đối xứng, độ lớn của không gian khóa là cực kỳ quan trọng. Trong thực tế, độ an toàn của hệ mật mã phụ thuộc rất lớn vào độ lớn của không gian khóa, không gian khóa càng lớn thì địch thủ càng khó để thực hiện tấn công vét cạn để tìm ra khóa đúng. Nếu không gian khóa có độ lớn là 2128 khóa, với siêu máy tính hiện đại nhất hiện nay là Thiên hà 1A của Trung Quốc có số phép tính trong 1 giây là 2.5x1015 phép tính. Để tìm ra khóa, siêu máy tính phải thực hiện trong khoảng 1015 năm. Đây là một điều không thể. 1.2.1.2. Mô hình hoạt động mã hóa khóa đối xứng Dựa vào mô hình hoạt động, các hệ mã hóa khóa đối xứng có thể được chia làm 2 loại: Mã hóa khối (block cipher scheme) và mã hóa theo dòng (stream E : P → Q Dk( Ek(x) ) = x với x P  Ek( Dk(y) ) = y với y C  (1) (2) 20 cipher). Mã hóa khối hoạt động bằng cách chia nhỏ thông điệp gốc thành nhiều khối có cùng độ dài xác định b (b > 0), sau đó mã hóa tất cả các khối theo đúng thư tự và truyền đi. Mã hóa theo dòng là một trường hợp đặc biệt của mã hóa khối trong trường hợp số khối bằng 1, chiều dài khối đúng bằng chiều dài thông điệp. Mô hình khối đối xứng có 5 chế độ tương ứng với 5 mô hình mã hóa khối, đó là các chế độ : ECB (Electronic Codebook), CBC (Cipher Block Chaining), CFB (Cipher Feedback), Output Feedback (OFB) và Counter (CTR) [26] a. ECB – Electronic Codebook Chế độ ECB là chế độ đơn giản nhất trong các mô hình mã hóa khối. Chế độ ECB sẽ chia bản rõ (plaintext) thành các khối có độ dài bằng nhau và mã hóa các khối đó độc lập với nhau với cùng 1 khóa k. Do các khối được mã hóa độc lập với nhau nên địch thủ có thể dễ dàng nhận ra được các khuôn mẫu của bản rõ dựa vào sự giống nhau các khối trùng nhau (Hình 1.7). Hình 1.7 : Chế độ ECB Comment [u4]: William Stalling (2005) “Cryptography and Network Security”, pp 181-189 21 b. CBC – Cipher Bock Chaining Chế độ CBC chia nhỏ bản rõ (plaintext) thành các khối có độ dài bằng nhau. Nhưng khác với chế độ EBC, các khối dữ liệu sau sẽ được thực hiện phép XOR với bản mã của khối dữ liệu trước. Riêng khối dữ liệu đầu tiên sẽ được XOR với 1 vector khởi tạo (Initialize Vector - IV). Chế độ CBC đã khắc phục được nhược điểm của ECB, do có khối sau được mã hóa dựa trên bản mã của khối trước đó nên địch thủ không thể nhận biết được các mẫu khối bản rõ giống nhau (Hình 1.8). c. CFB (Cipher Feedback) Chế độ CFB có cơ chế hoạt động tương tự với chế độ CBC, nhưng thay vì khối sau được XOR với bản mã của khối trước, CFB sử dụng thanh thêm 1 thanh ghi dịch chuyển và 1 hàm băm để băm khối mã trước đó rồi mới XOR với bản rõ (Hình 1.9). Hình 1.8 : Chế độ CBC 22 d. OFB (Output Feedback) Chế độ OFB có cơ chế hoạt động tương tự với chế độ CFB, nhưng thay vì bản mã của khối trước được băm, OFB sử dụng mã băm của khối trước để băm tiếp ở khối sau trước khi XOR với bản rõ của khối sau (Hình 1.10). e. CTR (Counter) Chế độ CTR sử dụng một biến đếm tăng dần theo số lượng khối, ở mỗi khối biến đếm của khối đó được mã hóa bởi khóa K, bản mã của phép mã hóa này sẽ được XOR với bản rõ của khối (Hình 1.11). Hình 1.9 : CFB 23 Hình 1.10 : OFB Hình 1.11 : CTR 24 1.2.2. Mã hóa bất đối xứng 1.2.2.1. Khái niệm Mật mã bất đối xứng - hay còn gọi là mật mã công khai - có 2 loại khóa trong không gian khóa là (PR, PU), trong đó PR là khóa bí mật, PU là khóa công khai. 2 thủ tục mã hóa E và giải mã D với lần lượt khóa PU và khóa PR được ký hiệu như sau: Thỏa mãn : Hàm mã hóa EPU(x) và hàm giải mã DPR(y) là các hàm dễ dàng tính được. Việc phá mật mã công khai được đưa về các bài toán sau:  Tìm bản rõ x nếu biết bản mã hóa EPU(x) và khóa công khai PU  Tìm khóa công bí mật PR khi biết khóa công khai PU Không giống như hệ mã hóa khóa đối xứng - sử dụng 1 khóa chia sẻ để mã hóa và giải mã thông điệp trao đổi - mã hóa khóa công khai sử dụng 1 cặp khóa gọi là khóa bí mật và khóa công khai: Khóa công khai được sử dụng để mã hóa dữ liệu, khóa bí mật sử dụng để giải mã. Mã hóa khóa công khai đã giải quyết được những điểm yếu của mã hóa khóa đối xứng, đó là mã hóa khóa đối xứng trước khi sử dụng phải có sự trao đổi khóa giữa các thực thể truyền, nếu khóa chung được chia sẻ qua môi trường công cộng (Như Internet hay điện thoại …) thì rất dễ bị nghe lén, khi bị lộ khóa thì việc mã hóa không còn tác dụng nữa. Mặt khác mã hóa khóa đối xứng không có chức năng “ký”, do vậy các thực thể tham gia truyền thông không thể tự bảo vệ mình nếu đối tác có hành động chống lại ( Hành động chối bỏ dữ liệu đã truyền, hoặc giả mạo ). Mã hóa khóa công khai sử dụng 2 khóa để hoạt động, mỗi bên sẽ tự tạo cho mình 2 khóa có liên hệ về mặt toán học, khóa công khai sẽ được công bố công khai, khóa bí mật sẽ được giữ kín. Khi bên A cần truyền thông tin bí mật cho bên B, bên A sẽ sử dụng khóa công khai của bên B để mã hóa. Do chỉ B mới có khóa bí mật trong cặp khóa, nên chỉ duy nhất B mới có thể giải mã được thông tin bên A gửi, đó gọi là chức năng mã hóa (Hình 1.12a). Khi bên B muốn xác nhận 1 thông điệp gửi cho bên A là chính xác do E : P → C DPR( EPU(x) ) = x với x P  EPU( DPR(y) ) = y với y C  (3) (4) 25 B gửi, B sẽ dùng khóa bí mật của mình để mã hóa thông điệp truyền và gửi đính kèm thông điệp truyền. Bên A nhận được sẽ dùng khóa công khai của B để giải mã bản mã bên B gửi đính kèm, nếu kết quả giải mã trùng với thông tin bên B gửi thì bên A có thể chắc chắc thông tin đó chính xác là do bên B gửi, đây là chức năng “ký” của mã hóa khóa công khai (Hình 1.12b). Theo William Stalling, mã hóa khóa công khai có 3 chức năng chính [27]:  Mã hóa và giải mã  Chứ ký điện tử  Trao đổi khóa Hình 1.12a : Chức năng mã hóa / giải mã Hình 1.12b: Chức năng ký Comment [u5]: William Stalling (2005) “Cryptography and Network Security”, pp 266-267 26 Cơ sở lý thuyết của mã hóa khóa công khai là dựa trên hàm 1 chiều trong các phép tính toán học, theo đó phép tính theo chiều xuôi rất dễ, nhưng phép tính theo chiều ngược lại là rất khó, Ví dụ như trong phép nhân 2 số nguyên tố rất lớn, chiều xuôi là phép nhân được tính toán rất đơn giản, nhưng chiều ngược, tức là phần tích 1 số nguyên rất lớn thành tích của các thừa số nguyên tố lại là bài toán rất khó, các phương tiện máy tính hiện đại nhất và các phương pháp phá mã, thám mã đến nay vẫn chưa thể giải quyết được. 1.2.2.2. Hệ mã hóa Diffie-Hellman Hệ mã hóa Diffie-Hellman có cơ sở toán học từ bài toán 1 chiều của logarit rời rạc. Bài toán lograrit rời rạc được phát biểu như sau: Cho số nguyên tố p, số y và g, tìm số nguyên x thỏa mãn: modxy g p Việc tính ra y khi biết g, x và p là rất dễ dàng, nhưng việc tìm ra x từ y, g, và p là rất khó. Hệ mã hóa Diffie-Hellman được công bố lần đầu tiên bởi 2 nhà toán học Whitfield Diffie và Martin Hellman năm 1976. Thuật toán Diffie-Hellman được thiết kế nhằm phục vụ việc trao đổi khóa giữa 2 thực thể truyền thông qua môi trường không an toàn. Theo đó 2 thực thể truyền thông không cần phải gặp trực tiếp nhưng vẫn có thể thực hiện trao đổi khóa một cách an toàn và bí mật. 2 thực thể truyền thông Alice và Bob khi thực hiện trao đổi khóa Diffie- Hellman sẽ thực hiện các bước sau:  Alice chọn 1 số nguyên tố p và một số nguyên cơ sở g. Alice chọn số nguyên xa, sau đó tính được modaxay g p . Sau đó Alice công bố khóa công khai (ya, p, g) và giữ lại khóa bí mật (xa,p,g), khóa công khai sẽ được gửi cho Bob.  Bob chọn ra một số nguyên bí mật xb, sau đó tính được modbxby g p , sau đó gửi lại cho Alice số yb.  Alice tính toán ra được khóa chia chung modaxbaK y p , Bob cũng sẽ tính được khóa chia chung modbxabK y p . Khóa Ka và Kb là 2 khóa chia sẻ giữa Alice và Bob, được tính toán độc lập với nhau và bằng nhau. Thật vậy (5) 27    mod mod mod mod moda ba b ax xxx xa b bK y p g p p g p p K    1.2.2.3. Hệ mã hóa công khai RSA Hệ mã hóa RSA có cơ sở toán học từ bài toán hàm 1 chiều phân tích thừa số của một số nguyên rất lớn thành tích các thừa số nguyên tố.Cụ thể hệ mã hóa RSA hoạt động như sau:  Chọn ra 2 số nguyên tố p, q có giá trị rất lớn (Cỡ 256 bit trở lên)  Tính ra tích n = p.q  Tính ra hàm Eule (Ơle) của tích n: ( ) ( 1)( 1)n p q     Chọn ra số nguyên e nguyên tố cùng nhau với ( )n , tức gcd(e, ( )n ) = 1. (gcd – là hàm tính ước chung lớn nhất của 2 số nguyên)  Tìm ra số nguyên d thỏa mãn . 1(mod ( ))e d n  Hủy p,q, và ( )n  Công bố khóa công khai là PU = (n,e), Giữ lại khóa bí mật là PR = (n,d)  Mã hóa thông điệp m (m là dạng số hóa): modec m n  Giải mã bản mã c : moddm c n Ví dụ: Alice chọn ra 2 số nguyên tố p=7 và q= 13, từ đó tính ra n = 7x13=91. Suy ra hàm Eule ( ) (7 1) (13 1) 72n      . Áp dụng thuật toán Euclid mở rộng ta tính ra được . 5 29 1(mod 72)e d    Alice hủy số p=7,q=13, ( )n =72. Công bố khóa công khai PU=(91,5), và lưu lại khóa bí mật PR=(91,29) Giả sử Bob muốn mã hóa thông điệp m=7, Bob sẽ sử dụng khóa công khai của Alice để mã hóa: 5mod ( ) 7 mod91 63ec m n   Sau khi Bob gửi cho Alice bản mã c=63, Alice sẽ dùng khóa bí mật của mình để giải mã: 29mod ( ) 63 mod91 7dm c n   28 1.2.3. So sánh giữa mật mã khóa đối xứng và mật mã khóa công khai Cả 2 hệ mật mã khóa đối xứng và mật mã khóa công khai đều có những ưu điểm và nhược điểm riêng. Mật mã khóa đối xứng có những ưu điểm so với mã hóa khóa công khai :  Tốc độ mã hóa nhanh và không đòi hỏi năng lực tính toán lớn  Với cùng 1 độ an toàn, khóa của mật mã khóa đối xứng nhỏ hơn so với khóa của mật mã khóa công khai Ngược lại, mật mã khóa công khai cũng có những ưu điểm so với mã hóa khóa đối xứng:  Mật mã khóa đối xứng yêu cầu 2 bên phải giữ bí mật khóa chia sẻ, mật mã khóa công khai thì mỗi bên có khóa bí mật của riêng mình, còn khóa công khai sẽ được công khai.  Mật mã khóa đối xứng gặp khó khăn trong việc phân phối khóa và quản lý khóa. Việc phân phối khóa của khóa đối xứng là đặc biệt quan trọng, thường sẽ phải bằng phương pháp vật lý để không bị nghe lén, đọc trộm. Mặt khác mật mã khóa đối xứng thường xuyên phải thay đổi khóa để đảm bảo tính an toàn. Với mật mã khóa công khai, việc trao đổi khóa là rất dễ dàng, bởi khóa của mỗi bên được công bố công khai.  Mã hóa khóa đối xứng không có chức năng ký, do vậy không thể thực hiện các dịch vụ xác thực và chống chối bỏ. Mật mã khóa công khai cung cấp đầy đủ các dịch vụ xác thực và chống chối bỏ. 1.3 Chữ ký điện tử 1.3.1. Khái niệm Chữ ký điện tử là một kỹ thuật mật mã cung cấp dịch vụ xác thực, điều khiển truy cập và chống chối bỏ. Mục tiêu của chữ ký điện tử là cung cấp khả năng để 1 thực thể truyền thông có thể đính kèm những thông tin có tính chất định danh lên một thông điệp truyền. Quá trình ký 1 thông điệp là một quá trình sử dụng một số thông tin bí mật của bên gửi để mã hóa thông điệp đó thành 1 chuỗi định danh để chứng minh quan hệ không thể chối bỏ của thông điệp được ký và thực thể ký . Chữ ký điện tử được định nghĩa như sau [13]:  M là tập các thông điệp được ký. Comment [u6]: Noureddine Boudriga (2009), “Security of mobile communications”, Auerbach Publications, pp 59-60 29  S là tập các thành phần chữ ký (Thường là 1 xâu binary có độ dài cố định).  Hàm “ký” SgA: M → S là hàm biến đổi từ tập M sang tập S của thực thể truyền A. Phép biến đổi SgA được gọi là một thuật toán “ký”, với 1 khóa bí mật.  Hàm xác thực : {0,1}AV M S  là hàm biến đổi từ tập M S sang tập {0,1} tương ứng với trạng thái không hợp lệ và hợp lệ. Hàm xác thực VA sử dụng khóa công khai của thực thể A để xác thực thông điệp M được truyền từ A.  Hàm ký SgA và hàm xác thực VA định nghĩa một mô hình chữ ký điện tử của thực thể truyền thông A Mô hình chứ ký điện tử (Sg, V) phải đảm bảo các tính chất sau:  Chữ ký SgA(m) là chữ ký hợp lệ của thực thể truyền thông A khi và chỉ khi VA(m, SgA(m)) = 1.  Với một thông điệp m thuộc M, việc tính toán hàm ra hàm ký s của thông điệp m đối với thực thể giả danh sao cho V(m,s) = 1 là một việc không khả thi.  Các hàm ký Sg và hàm xác thực V là các hàm dễ tính. Mô hình ký số và xác thực của chữ ký điện tử hoạt động như sau: Thực thể truyền A khi muốn ký số vào thông điệp m của mình, A sẽ chọn 1 cặp khóa của hệ mã hóa công khai, và 1 hàm băm H, A sẽ sử dụng khóa bí mật của mình để ký vào giá trị băm của thông điệp m được băm bởi hàm băm H. Giá trị của chữ ký sẽ được gửi đính kèm với thông điệp m. Khi B nhận được thông điệp m cùng với chữ ký của A, B sẽ sử dụng hàm băm H để băm lại thông điệp m, sau đó sẽ sử dụng khóa công khai của A để giải mã chữ ký số A gửi kèm, nếu giá trị được giải mã trùng với giá trị băm của hàm H thì B sẽ chắc chắn thông điệp m là do A gửi chứ không phải một bên thứ 3 nào khác. 30 Với việc áp dụng kết hợp các kỹ thuật đóng dấu thời gian (timestamp), chữ ký điện tử cung cấp các dịch vụ an ninh sau:  Dịch vụ xác thực  Dịch vụ điểu khiển truy cập  Dịch vụ toàn vẹn dữ liệu  Chống chối bỏ Bên cạnh những ưu điểm, chữ ký điện tử cũng có những yếu điểm, nó xuất phát từ yếu điểm của mật mã khóa công khai. Mật mã khóa công khai cung cấp cho các thực thể truyền công cụ để đảm bảo an toàn, xác thực và tin cậy, nhưng không đảm bảo được việc có bên thứ 3 đứng giữa giả mạo (Tấn công người ở giữa – Man in the middle) 1.3.2. Mô hình ký số RSA Theo mô hình mật mã RSA, khóa bí mật của thực thể truyền thông A có dạng là PRA=(n,d), khóa công khai có dạng PUA=(n,e). Không gian của thông điệp và bảng mã là {1,2,3 … n} (n là một hợp số có giá trị rất lớn) Để ký vào một thông điệp m, thực thể A sẽ sử dụng một hàm băm H để băm thông điệp m về một bản mã có kích thước cố định, sau đó A sẽ sử dụng khóa bí mật của mình để ký trên giá trị băm đó. Ta có thể viết: ( ) ( ( )) modds Sg m H m n  Thực thể A sau khi ký thông điệp m tính được giá trị s, A sẽ gửi cho đối tác là B thông điệp m và chữ ký s, ký hiệu là ( | )m s . Khi B nhận được thông điệp m và chữ ký s A gửi, B sẽ sử dụng khóa công khai của A là PUA=(n,e) để giải mã chữ ký s, tức B sẽ tính giá trị của modes n . Sau đó A sẽ so sánh giá trị giải mã tính được với giá trị băm của hàm băm H(m), nếu H(m) = modes n thì chữ ký của A là hợp lệ, và B có thể chắc chắn A đã ký vào thông điệp m. Hình 1.13: Mô hình ký số RSA (6) 31 1.3.3. Mô hình ký số DSA Mô hình ký số DSA là thuật toán ký số dựa trên độ khó của bài toán tính logarit rời rạc, được đề xuất lần đầu bởi 2 nhà toán học ElGamal [11] và Schnorr [20] Thuật toán DSA được thực hiện qua các bước sau: Khởi tạo:  Chọn số nguyên tố p có độ dài bit là 160bit  Chon số nguyên tố p nằm trong khoảng 1(2 ,2 )L L , với L là bội của 64 thỏa mãn 512 1024L  .  Chọn số g có dạng ( 1)/ modp qg h p với h là số nguyên dương nằm trong khoảng (1, p-1) Tạo khóa bí mật:  Chọn 1 số nguyên ngẫu nhiên, hoặc giả ngẫu nhiên x với 0 < x < q. Khóa bí mật là PR=( x ) Tạo khóa công khai :  Tính toán modxy g p . Khóa công khai là PU = (p, q, g, y) Quá trình ký số thông điệp m của bên gửi :  Chọn ra số ngẫu nhiên hoặc giả ngẫu nhiên x với 0 < x < q  Tính ( mod )modkr g p q  Tính 1( ( ) ) mods K H m x r q      Công bố chứ ký Sg(m)=(r,s) Quá trình xác thực của bên nhận :  Thông điệp bên nhận nhận được là ( m’|(r’,s’) )  Tính 1w=( ') mods q  Tính 1 ( ') w modu H m q     Tính 2 ( ' w) modu r q  Comment [u7]: ElGamal, T. "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms." IEEE Transactions on Information Theory, July 1985. Comment [u8]: Schnorr, C. "Efficient Signatures for Smart Card." Journal of Cryptology, No. 3, 1991. 32  Tính  1 2 mod modu uv g y p q    Nếu v=r’ thì chữ ký trên thông điệp m là hợp lệ Trong mô hình chữ ký điện tử DSA, hàm H được quy định là hàm băm SHA-1 Mô hình ký số và xác thực của DSA được mô tả trong hình vẽ 1.14a, và mô hình truyền thông sử dụng chữ ký điện tử DSA được biểu diễn trong hình 1.14b Hình 1.14a : Mô hình ký số và xác thực DSA Hình 1.14b: Mô hình truyền thông, sử dụng chữ ký điện tử DSA 33 1.3.4. Thuật toán băm Trong các hệ thống an ninh, thuật toán băm thường được sử dụng và giữ một vai trò quan trọng trong các hệ thống mật mã. Một hàm băm H ánh xạ xâu dữ liệu có độ dài hữu hạn tùy ý thành một xâu khác được gọi là mã băm có độ dài cố định n, chiều dài cố định n phụ thuộc vào hàm băm H. Mã băm của một thông điệp được băm bởi hàm H có đặc điểm là khi thay đổi, dù chỉ là 1 bit dữ liệu đầu vào, thì mã băm bị thay đổi hoàn toàn mà không tuân theo một quy luật logic nào, so với mã băm trước khi bị thay đổi. Một hàm băm H có những đặc điểm sau:  Có thể áp dụng với thông báo M có độ dài bất kỳ.  Tạo ra giá trị băm có độ dài cố định.  H(M) có thể được tính dễ dàng với bất cứ thông báo M nào.  Từ mã băm h rất khó tìm lại được thông điệp M thỏa mã H(M)=h. Đây là tính một chiều của hàm băm.  Từ thông báo M1, rất khó để tìm được thông điệp M2 thỏa mãn H(M1)=H(M2). Tức hàm băm có tính chống xung đột yếu.  Rất khó để tìm được 2 thông điệp ( M1, M2 ) thỏa mãn H(M1)=H(M2). Tức hàm băm có tính chống xung đột mạnh. Hiện nay có rất nhiều loại hàm băm khác nhau như MD5, SHA-1, SHA-256, SHA-512. Độ an toàn của hàm băm phụ thuộc vào loại hàm băm, cũng như chiều dài kết quả băm. Ví dụ: Xét hàm băm SHA-256 SHA(“”)= e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 SHA(“mobile”)= d524c1a0811da49592f841085cc0063eb62b3001252a94542795d1ca9824a941 SHA(“mobilz”) = “0617a2dd1e4d7c1e00b15bf723c6a77baa7c2a74e1bbb8a97b817ba5a870cbb3” SHA(“mobil”)=”403b42efc1997638d33da8f5282c7579d00a885c3e7bd0193fd2d26fd7ef72e0” 1.4. Xác thực và các các mô hình xác thực Xác thực là quá trình nhằm xác nhận định danh của một thực thể truyền thống, cũng nhưng các thông tin quan trọng đi kèm khác như tên, mật khẩu, và một số 34 thông tin khác. Thực thể cần xác thực ở đây có thể là người sử dụng cuối, thiết bị di động, máy tính, ứng dụng, một dịch vụ, hoặc một hệ thống. Quá trình xác thực bao gồm 2 bên: Bên cần xác thực (claimant) và bên xác thực (verifier). Bên cần xác thực sẽ khai báo định danh và các thông tin để bên xác thực có thể xác thực lại định danh đó. Khái niệm “xác thực” ( authentication) là một khái niệm đặc biệt, nó có ý nghĩa khác hẳn với khái niệm “định danh” (identification) – Là việc xác định danh tính của thực thể đang giao tiếp – Khái niệm xác thực cũng khác với khái niệm “quyền truy cập” ( authorization) - là việc xác định quyền truy cập dữ liệu và tài nguyên của một thực thể đã được “xác thực” (authentication) Ta cần phân biệt 2 khái niệm xác thực, là xác thực thực thể (entity authentication) và xác thực thông điệp (message authentication). Xác thực thực thể là quá trình xác thực danh tính của một thực thể, xem liệu thực thể đang được xác thực có đúng với danh tính của nó, ví dụ là xác thực người dùng đăng nhập vào hệ thống, và đó là một quá trình thời gian thực. Ngược lại xác thực thông điệp là một quá trình không là quá trình thời gian thực, nó đảm bảo việc thông điệp được xác thực không bị thay đổi và thông điệp đó được gửi bởi một thực thể đã xác định danh tính. Trong xã hội thông tin ngày nay, việc xác thực thông báo trở thành một vấn đề quan trọng trên nhiều lĩnh vực, đặc biệt là lĩnh vực kinh doanh và lĩnh vực quân sự. Đã có rất nhiều phương pháp, nhiều công nghệ được phát minh cung cấp nhiều kỹ thuật, nhiều dịch vụ xác thực an toàn và tiện lợi. Tuy nhiên, có thể phân loại kỹ thuật xác thực thành 3 nhóm:  Xác thực dựa trên mã hóa thông điệp: Là kỹ thuật sử dụng phương pháp mã hóa để mã hóa toàn bộ thông điệp, sau đó làm căn cứ để xác thực.  Xác thực mật mã kiểm tra : Sử dụng 1 hàm tổng kiểm tra công khai, với 1 khóa bí mật sẽ được mã hóa thành 1 xâu giá trị có độ dài cố định, làm căn cứ xác thực.  Xác thực dựa trên hàm băm: Sử dụng các hàm băm một chiều, mã hóa thông điệp có độ dài bất kỳ thành xâu có độ dài cố định, làm căn cứ xác thực. Như đã nêu ở trên, xác thực thực thể là một quá trình thời gian thực, các giao thức xác thực thực thể (entity authentication protocol) phải đảm bảo được những tiêu chí sau: 35  Không có một bên thứ ba nào có thể giả mạo được.  Bên xác thực không thể tái sử dụng được các thông tin xác thực cũ của thực thể cần xác thực để cung cấp khả năng giả mạo cho một bên thứ ba.  Thông báo được ký không thể được khôi phục lại từ mã của chữ ký trong suốt quá trình xác thực. Trong phần này, ta sẽ xét lần lượt các các mô hình xác thực và các đặc điểm của các mô hình đó. 1.4.1. Mô hình xác thực yếu Mô hình xác thực yếu là một mô hình xác thực, nhưng nó không cung cấp một giải pháp xác thực hiệu quả và đầy đủ về tổng thể. Có hai loại hình xác thực yếu rất được quan tâm bởi đó là các phương pháp xác thực tự nhiên và rất phổ biến hiện này, đó là mô hình xác thực dựa trên mật khẩu (Password-based Authentication) và mô hình xác thực dựa trên mã cá nhân (PIN-based Authentication) 1.4.1.1. Xác thực dựa trên mật khẩu Xác thực dựa trên mật khẩu là phương pháp xác thực người dùng phổ biến nhất hiện nay. Hệ xác thực dựa trên mật khẩu được xây dựng trên mô hình chia sẻ mật khẩu giữa người sử dụng và hệ thống, hệ thống sẽ lưu các bản ghi chứa mật khẩu chia sẻ của người dùng, mật khẩu này sẽ được người sử dụng dùng để cung cấp cùng với tên định danh khi đăng nhập trong bước xác thực. Các hệ xác thực dựa trên mật khẩu thường được phân biệt bởi phương thức lưu trữ mật khẩu trong hệ thống. Ở các hệ thống thế hệ trước, mật khẩu thường được lưu dưới dạng bản rõ (plaintext) trên hệ thống file hoặc trong một cơ sở dữ liệu. Việc lưu như vậy khá nguy hiểm, bởi ai có thẩm quyền truy cập hệ thống (Quản trị viên, hoặc hacker khi chiếm được quyền kiểm soát) đều có thể lấy cắp được mật khẩu và thông tin của người dùng. Để khắc phục nhược điểm này, các hệ thống ngày nay thường lưu mật khẩu dưới dạng mã băm sử dụng hàm băm 1 chiều (Ví dụ là MD5, SHA-256) của mật khẩu người dùng. Theo đó, khi người dùng nhập mật khẩu đăng nhập, mật khẩu đó sẽ được băm thành mã băm, sau đó hệ thống sẽ so sánh mã băm đó với mã băm mật khẩu được lưu trong hệ thống. Biện pháp này đảm bảo rằng mật khẩu nguyên gốc của người dùng không bị lộ, ngay cả khi người quản trị hay hacker xem được bản chứa mật khẩu được lưu trong hệ thống. Mô hình xác thực dựa trên mật khẩu hiện nay đã bộc lộ một số yếu điểm về an ninh. Kẻ tấn công có nhiều phương pháp chiếm quyền kiểm soát của người sử dụng bằng cách đánh cắp mật khẩu. Phương pháp đơn giản nhất là kẻ tấn công sẽ sử dụng 36 phương pháp nghe lén đường truyền, nếu mật khẩu không được mã hóa trên đường truyền, kẻ tấn công có thể dễ dàng lấy được mật khẩu của người sử dụng. Nếu mật khẩu đã được mã hóa trên đường truyền, kẻ tấn công có phương pháp khác là sử dụng tấn công bằng từ điển (Dictionary attack – Là cách tấn công sử dụng 1 từ điển các mật khẩu thường được sử dụng – Hoặc sử dụng phương pháp tấn công ngày sinh (Birthday attack) [31] để tìm ra điểm xung đột của thuật toán băm. Tuy nhiên, có một kỹ thuật để cải tiến nâng cao độ an toàn trong hệ thống xác thực dựa trên mật khẩu, đó là sử dụng mật khẩu một lần (One time password). Nguyên lý của hệ mật khẩu một lần là mỗi mật khẩu được chỉ có hiệu lực 1 lần, trong một khoảng thời gian nhất định. Mật khẩu một lần đảm bảo việc cho dù kẻ tấn công có lấy được mật khẩu trên đường truyền, thì kẻ đó cũng không sử dụng lại mật khẩu đó. Mật khẩu một lần được hệ thống sinh ra theo một thuật toán ngẫu nhiên, hoặc giả ngẫu nhiên, có kích thước cố định và được thông báo lại cho người sử dụng bằng một kênh truyền thông nào đó như qua tin nhắn di động, qua internet, hoặc qua các thiết bị chuyên dụng. , ví dụ như thiết bị Secure ID của hãng bảo mật RSA, hay OTP token của hãng VeriSign. 1.4.1.2. Xác thực dựa trên mã định danh cá nhân (PIN-based Authentication) Mô hình xác thực dựa trên mã định danh cá nhân sử dụng các thiết bị vật lý để lưu trữ mã định danh cá nhân như thẻ SmartCard, hay USB Token. Mỗi người sử dụng được cấp một mã cá nhân (PIN) có chiều dài từ 4-10 chữ số, mã cá nhân được bảo vệ trong thiết bị vật lý bằng mật khẩu tự đặt của người sử dụng. Khi đăng nhập vào hệ thống, ở bước xác thực, người dùng phải cắm thiết bị vào máy tính để nhập mã PIN, thông thường khi đó thiết bị sẽ yêu cầu người sử dụng nhập mật khẩu để có thể kích hoạt mã PIN được lưu trong thiết bị. Để đảm bảo mã PIN của người sử dụng được an toàn ngay cả trong trường hợp người sử dụng bị mất, thiết bị token sẽ khóa hoặc tự hủy nếu kẻ tấn công nhập sai mật khẩu sử dụng trong một số lần liên tiếp (Thường là 3 lần hoặc 5 lần). 1.4.2. Mô hình xác thực mạnh Thông thường, mô hình xác thực mạnh thường sử dụng các giao thức xác thực dựa trên việc hỏi và trả lời (Challenge-Response), các giao thức đó có thể được mô tả như sau: Một người sử dụng khi muốn truy cập vào một dịch vụ hay một hệ thống, anh ta phải chứng minh được danh tính của mình với hệ thống bằng những Comment [u9]: William Stalling (2005) “Cryptography and Network Security”, Prentice Hall Publisher, pp 338 37 những kiến thức của anh ta về một thông tin bí mật, có liên quan tới anh ta và chỉ anh ta mới có thể tạo ra câu trả lời chính xác mà không cần tiết lộ thông tin bí mật đó cho bên xác thực. Ta gọi chung các giao thức xác thực đó là giao thức hỏi trả lời (challenge-Response Protocol ) Các giao thức xác thực thường được xây dựng trên hệ mã hóa chia sẻ khóa, hoặc hệ mã hóa khóa công khai, hoặc các kỹ thuật zero-knowledge – là kỹ thuật được sử dụng để chứng minh danh tính dựa trên thông tin bí mật của chủ thể mà không cần tiết lộ bí mật đó của chủ thể - Giao thức xác thực thường sử dụng các tham số thời gian, hoặc kỹ thuật đánh số thông điệp để nhận biết thông điệp nào là thông điệp mới, thông điệp nào là thông điệp đã được gửi rồi, để tránh tấn công lặp lại, kỹ thuật này được gọi là kỹ thuật đóng dấu thời gian. Kỹ thuật đóng dấu thời gian được thực hiện như sau: Khi 1 thông điệp được gửi từ bên gửi, bên gửi sẽ chèn 1 con dấu thời gian (timestamp) đi kèm thông điệp và nó được mã hóa cùng thông điệp. Khi bên nhận nhận được thông điệp, bên nhận sẽ giải mã thông điệp và sẽ thu được con dấu thời gian đó, bên nhận sẽ tính toán độ lệch thời gian  so thời điểm nhận, tính theo đồng hồ của máy nhận. Nếu độ lệch thời gian nằm trong một giới hạn cho phép thì thông điệp đó là hợp lệ qua bước kiểm chứng con dấu thời gian. Khi thực thi phương pháp này, cần chú ý tính đồng bộ của đồng hồ bên gửi và đồng hồ bên nhận. Các hệ xác thực mạnh được xây dựng theo 3 loại sau: Giao thức xác thực trên hệ mật mã , giao thức xác thực lời dựa trên các kỹ thuật zero-knowledge, và xác thực dựa trên thiết bị hỗ trợ 1.4.2.1. Giao thức xác thực dựa trên hệ mật mã Là các giao thức sử dụng các hệ mã hóa để bảo mật và xác thực, có hai hệ mã hóa tương ứng với 2 hệ giao thức xác thực đó là: Giao thức xác thực dựa trên mật mã đối xứng (Hay mật mã khóa chung), và giao thức xác thực dựa trên mật mã khóa công khai. a. Giao thức xác thực dựa trên mật mã khóa đối xứng Với giao thức xác thực sử dụng mật mã khóa đối xứng, các bước được thực hiện có thể được mô tả như sau: Xét một phiên xác thực giữa người dùng A và hệ thống B sử dụng giao thức xác thực mật mã khóa đối xứng, do sử dụng mật mã khóa đối xứng, nên A và B cùng thống nhất sử dụng khóa chung k và hệ mã hóa Ek.  Để bắt đầu phiên, bên A sẽ gửi yêu cầu xác thực sang bên B  Bên B sẽ sinh ra 1 số ngẫu nhiên r, sau đó dùng hàm mã hóa với khóa chung chia sẻ để mã hóa số r kèm theo một thông điệp tùy chọn m để 38 phục vụ cho việc định danh hoặc chống tấn công lặp lại, tức B sẽ gửi lại cho A thông điệp Ek(r || m) (Ký hiệu || là ký hiệu nối giữa các thông điệp nhỏ trong 1 thông điệp tổng)  Bên A nhận được thông điệp Ek(r || m) từ bên B gửi, do A và B cùng chia sẻ 1 khóa chung k, nên chỉ có A mới có thể giải mã thông điệp B gửi để nhận được số ngẫu nhiên r và thông điệp tùy chọn m. Sau đó bên A sẽ gửi lại cho bên B một thông điệp có chứa số ngẫu nhiên r kèm 1 thông điệp tùy chọn m’ được mã hóa bởi hàm mã tức thông điệp Ek(r || m’)  Bên B nhận lại thông điệp bên A gửi, bên B sẽ giải mã thông điệp và nhận lại số ngẫu nhiên r, B sẽ so sánh số r nhận được với số r trước đó B đã gửi cho A. Nếu trùng nhau thì A được xác thực và ngược lại. Trong trường hợp A cũng cần xác thực lại B, ở bước yêu cầu xác thực A sẽ gửi định danh của A (IDA) cho B, B sẽ gửi kèm lại số ngẫu nhiên r và IDA trong được mã hóa bởi Ek. Ta có thể tóm tắt lại quá trình xác thực như sau: (1) A → B : IDA (2) B → A : Ek( IDA || r || m) (3) A → B : Ek(r || m’) Chú ý thông điệp m và m’ là các thông điệp tùy chọn được B và A sinh ra nhằm phục vụ các mục đích khác như chống tấn công lặp lại. b. Giao thức xác thực dựa trên mật mã công khai Giao thức xác thực dựa trên mật mã công khai cũng tương tự như giao thức dựa trên mật khẩu khóa đối xứng, chỉ khác ở điểm là hệ mật mã sử dụng là mật mã 39 công khai. Nguyên lý chung của giao thức vẫn là bên B sẽ gửi cho bên A một số ngẫu nhiên r, nhưng thay vì sử dụng mật mã khóa đối xứng, B sẽ mã hóa số r và thông điệp tùy chọn m bằng khóa công khai của A, và gửi cho A. A nhận được sẽ giải mã bằng khóa bí mật, rồi gửi lại cho B số r và thông điệp m’, sử dụng khóa công khai của B. B sẽ dùng khóa bí mật của B để lấy ra số r, so sánh với số ngẫu nhiên B đã gửi cho A, nếu trùng thì A được xác thực và ngược lại. Nếu A và B cần xác thực nhau, ta áp dụng kỹ thuật tương tự với trường hợp xác thực khóa đối xứng, ta có quá trình xác thực như sau: (1) A → B : IDA (2) B → A : E(PUA, IDA || r || m) (3) A → B : E(PUB, r || m’) 1.4.2.2. Giao thức xác thực dựa trên kỹ thuật zero-knowledge Như đã đề cập ở phần trên, các phương pháp xác thực thường bên cần xác thực phải công bố hoặc tiết lộ một phần hoặc những thông tin liên quan tới những bí mật của họ để được xác thực. Sẽ rất nguy hiểm nếu bên xác thực có ý đồ xấu muốn khôi phục lại những thông tin bí mật của người cần xác thực dựa trên những thông tin bên cần xác thực cung cấp cho ở những phiên xác thực trước. Ví dụ với giao thức xác thực dùng mật mã khóa đối xứng, bên A sẽ bị tổn thương nếu bên B cố tình tiết lộ khóa chia sẻ của A và B cho một bên thứ ba khác. Kỹ thuật xác thực zero-knowledge được đề xuất cho phép người cần xác thực vẫn có thể xác thực được mà không cần tiết lộ những thông tin bí mật liên quan tới khóa của mình cho bên xác thực. Ngược lại, từ những thông tin bên cần xác thực cung cấp ở những 40 phiên xác thực trước, bên xác thực không thể khôi phục và tạo ra được thông tin xác thực giả mạo cho bên thứ ba. Về cơ bản, kỹ thuật xác thực zero-knowledge sử dụng các thông điệp trao đổi kết hợp với các yếu tố ngẫu nhiên để xác thực. Thuật toán Fiat-Shamir [1] là một trong những thuật toán áp dụng kỹ thuật xác thực zero-knowledge. Ta hãy xét thuật toán Fiat-Shamir để minh họa cho kỹ thuật xác thực zero-knowledge.  Bước 1 : Bước khởi tạo  Ta xét ngữ cảnh là Alice cần xác thực với Bob, thuật toán Fiat-Shamir yêu cầu một bên thứ ba tin cậy làm trung gian gọi là John.  Darth chọn ra 2 số nguyên tố rất lớn p và q, tính ra tích n = p.q. Darth công bố số tích n nhưng giữ bí mật p và q.  Alice chọn một số nguyên dương s, nguyên tố cùng nhau với số n làm khóa bí mật, tính ra c = s2 mod n và đăng ký với Darth khóa công khai của mình là c.  Bước 2: Quá trình trao đổi thông điệp  Alice tạo ra một số ngẫu nhiên r với 0 < r <n và thực hiện trao đổi với Bob qua giao thức sau: (1) Alice → Bob : x= r2 mod n (2) Bob → Alice : 1 bit ngẫu nhiên b (3) Alice → Bob : y = r x sb mod n Comment [u10]: [FS86] Amos Fiat and Adi Shamir. How to prove to yourself: practical solutions to identication and signature problems. In Advances in Cryptology{Crypto 86, pages 186-194, Springer, Berlin, 1987. 41  Quá trình trên được lặp lại t lần ( )t n , khi t lần trao đổi kết thúc, ta nhận thấy có 3t thông điệp được trao đổi, Alice chọn t số ngẫu nhiên   1 t i ir  , tính được t giá trị   1 t i ix  và xác định được t số   1 t i iy  . Trong khi đó Bob chọn ra được t số bit ngẫu nhiên   1 t i ib  , và nhận được t số   1 t i ix  và t số   1 t i iy  từ Alice. Với: 2 modi ix r n modbii iy r s n   Bước 3: Xác thực  Bob sẽ xác thực Alice nếu : 2 modbi iy x c n  với i t  , và yi khác 0. Thật vậy ta có:       22 2 2mod mod mod mod mod bib bi i i i ix c n r n s n n r s n y      Xét thông điệp Bob gửi cho Alice ở bước (3) : mod ; 0 ( )mod ; 1 r n r by r s n b        Ta nhận thấy nếu Bob sinh ra bit b=0 thì kết quả y Alice trả lại sẽ là r – độc lập với s. Ngược lại nếu bit b = 1 thì kết quả y trả lại bằng y =( r x s ) mod n – là giá trị độc lập với khóa bí mật s của Alice bởi r được sinh ngẫu nhiên, hay nói các khác khóa bí mật s đã được che dấu bởi 1 đại lượng ngẫu nhiên. Thuật toán Fiat-Shamir là một minh họa đơn giản và rõ nét cho kỹ thuật xác thực zero-knowledge. Thuật toán được trình bày ở trên là một dạng cơ bản của thuật toán Fiat-Shamir, thực tế thuật toán này đến nay đã được cải tiến rất nhiều để tăng cường độ bảo mật của giao thức. 1.4.2.3. Giao thức xác thực dựa trên thiết bị hỗ trợ Thông thường, người sử dụng khi tham gia một phương pháp xác thực yếu thường bị tấn công bằng cách giả mạo, bị nghe lén, hoặc bị tấn công lặp lại. Một phương pháp tiếp cận được xếp vào loại mô hình xác thực mạnh, đó là sử dụng một 42 thiết bị bảo mật chuyên dụng với năng lực xử lý và bộ nhớ rất hạn chế. Các thiết bị bảo mật này tuy có năng lực xử lý hạn chế, nhưng được thiết kế để tối ưu khả năng thực thi các giải thuật mã hóa, giải mã, nhằm xác thực và đảm bảo an ninh cho người sử dụng trong các môi trường không an toàn. Do được thiết kế tối ưu và bảo mật, nên không gian khóa của thiết bị thường rất lớn, nên việc tấn công bằng phương pháp vét cạn là không khả thi. Khóa xác thực của người sử dụng (Có thể là khóa chia sẻ, hoặc khóa bí mật ) được lưu trong bộ nhớ của thẻ, khóa này được bảo vệ bởi mã PIN của người sử dụng. Hiện nay, các phương pháp xác thực dựa trên thiết bị khác nhau ở rất nhiều mặt, một số tính năng sau mô tả những khác biệt đó:  Giao diện sử dụng của thiết bị: Mỗi loại thiết bị khác nhau có giao diện sử dụng, hay giao diện so với máy trạm là khác nhau, ví dụ như với thẻ thông minh (SmartCard), có loại từ tiếp xúc gần, có loại tiếp xúc chạm. Hoặc USB Token chỉ cần cắm trực tiếp vào cổng USB của máy tính là có thể sử dụng mà không cần đầu đọc chuyên dụng.  Đồng hồ: Tham số thời gian được sử dụng trong rất nhiều ứng dụng hoặc giao thức xác thực sử dụng con dấu thời gian. Nhưng việc hỗ trợ đồng hồ thì không phải thiết bị nào cũng hỗ trợ.  Không gian bộ nhớ: Là bộ nhớ đọc và ghi (quyền sử dụng hợp lệ), và là bộ nhớ lưu trữ lâu dài, lưu trữ các thông tin nhạy cảm như mật khẩu, khóa, hoặc các số ngẫu nhiên của thuật toán mật mã.  Khả năng mã hóa : Là khả năng hỗ trợ các loại giải thuật mật mã khác nhau, với các độ lớn khóa khác nhau.  Thông tin trao đổi : Là quy định về kích thước cũng như thông tin trao đổi giữa thiết bị và hệ thống. Mỗi thiết bị của các hãng khác nhau thường có thông tin trao đổi khác nhau, và thậm chí các thiết bị khác nhau của cùng 1 hãng cũng có những thông tin trao đổi khác nhau. 1.5. Kết luận chương 1 Chương 1, luận văn đã giới thiệu các yêu cầu về an ninh mạng, các dạng tấn công trong an ninh mạng, các bài toán cơ bản trong xác thực mạng và các kỹ thuật xác thực đã và đang được áp dụng trong thực tế. Các vấn đề đưa ra trong chương này làm cơ sở để phân tích và xem xét các kỹ thuật xác thực mạng được sử dụng trong các mạng vô tuyến phổ biến hiện nay. 43 44 Chương 2: Xác thực trong các mạng vô tuyến thế hệ sau Ở các phần trước, luận văn đã trình bay các khái niệm cơ bản về mật mã học, các dịch vụ an ninh và các mô hình xác thực trong truyền thông vô tuyến. Trong chương này, học viên xin trình bày cụ thể các vấn đề an ninh và các phương pháp xác thực đã được áp dụng trong các mạng vô tuyến thế hệ sau, đó là các mạng GSM 2G, mạng 3G, mạng WLAN. Tương ứng với mỗi mạng, học viên sẽ nêu ra các nguy cơ tiềm ẩn của hệ thống đối với vấn đề xác thực trong mạng. 2.1. Xác thực trong mạng GSM 2.1.1 Giới thiệu mạng GSM Hệ thống thông tin di động toàn cầu ( Global System for Mobile Communication ) được viết tắt là GSM, là một chuẩn công nghệ cho mạng thông tin di động được phê chuẩn bởi Viện tiêu chuẩn viễn thông Châu Âu (European Telecommunications Standards Institute - ETSI), GSM là một chuẩn phổ biến đã được áp dụng và triển khai tại hơn 212 quốc gia trên khắp thế giới, với số lượng người sử dụng là hơn 2 tỷ người. Hình 2.1 : Hạ tầng mạng GSM 45 Các thành phần chính trong hạ tầng mạng GSM được mô tả trong hình 2.1, bao gồm [14]:  Trạm di động (MS - Mobile station): Trạm di động được mang theo bởi các thuê bao sử dụng, nó bao gồm 1 chiếc thiết bị di động - thường là chiếc điện thoại di động - và một thành phần định danh thuê bao đó còn được gọi là SIM (Subcriber indentity Module). SIM thường được tích hợp vào 1 khe cắm của chiếc điện thoại, cho phép người sử dụng có thể thực hiện cuộc gọi, gửi nhận tin nhắn và các dịch vụ dữ liệu khác được cung cấp bởi các nhà cung cấp dịch vụ viễn thông. Trong thẻ SIM thường chứa những thông tin về thuê bao di động đó, gồm :  Mã số định danh quốc tế cho thuê bao (IMSI – International Mobile Subcriber Identity ): Là mã số định danh duy nhất cho thuê bao di động trên toàn thế giới để định danh khi sử dụng các dịch vụ của mạng GSM.  Thuật toán mã hóa A3, A8 và khóa xác thực bí mật, được sử dụng để mã hóa cuộc gọi, tin nhắn, cũng như xác thực thuê bao.  Các dữ liệu tạm thời  Thông tin xác thực chủ sở hữu thẻ SIM (CHVI – Card Holder Verification Information ) : Là thông tin để xác thực tính chất sở hữu của người sử dụng với thẻ SIM, thường đó là mã PIN của thẻ SIM  Hệ thống trạm gốc ( BSS- Base Station Subsystem): BSS cung cấp các kết nối truyền thông giữa các trạm di động với hệ thống mạng thông qua sóng vô tuyến. BSS bao gồm 2 thành phần chính là các trạm thu phát gốc (BTS - Base Tranceivers Station) và trạm điều khiển gốc (BSC – Base Station Controller ). Các trạm BTS thiết lập các kênh truyền thông vô tuyến với các trạm di động thông qua các trạm thu phát được tổ chức dưới dạng các ô tổ ong. Trong khi đó trạm BSC sẽ quản lý các kết nối truyền thông, và thực hiện các thao tác điều khiển các trạm BTS.  Trung tâm chuyển mạch di động (MSC – Mobile Switching Center): Đây là thành phần chính của hệ thống quản lý mạng GSM, MSC có nhiệm vụ điều khiển số lượng lớn các BSC và hoạt động như một nút chuyển đổi. Ngoài ra nó còn cung cấp tất cả các chức năng quản lý đối với thiết bị đầu cuối như đăng ký, xác thực, định vị, bàn giao (handover), và định tuyến cuộc gọi. Comment [u11]: Noureddine Boudriga (2009), “Security of mobile communications”, Auerbach Publications, pp 166-169 46  Trung tâm khai thác và bảo dưỡng (OMC – Operation and Maintenance Center) : OMC được kết nối với tất cả các thiết bị trong hệ thống chuyển mạch và với các BSC. Mục đích của OMC là cung cấp các dịch vụ hỗ trợ khách hàng hiệu quả việc vận hành và các hoạt động bảo trì của mạng GSM.  Bộ ghi địa chỉ thường trú (HLR – Home Location Register) : Là một cơ sở dữ liệu lưu trữ một số thông tin quản lý của tất cả các thuê bao hoạt động trong mạng GSM, mỗi một thuê bao sẽ tương ứng với duy nhất 1 địa chỉ thường trú. Thông tin quan trọng nhất được lưu trong HLR là khóa chia sẻ xác thực với thuê bao và mã IMSI của thuê bao. Ngoài ra ra HLR đóng vai trò quan trọng trong việc chuyển cuộc gọi của thuê bao sang một mạng bên ngoài.  Bộ ghi địa chỉ tạm trú (VLR – Visitor Location Register) : VLR là cơ sở dữ liệu thứ hai trong mạng GSM, được nối với một hay nhiều MSC, có nhiệm vụ lưu trữ tạm thời số liệu thuê bao của các thuê bao nằm trong vùng phục vụ của MSC, đồng thời lưu trữ thông tin về vị trí của thuê bao để cập nhật cho MSC một cách nhanh và chính xác hơn HLR  Trung tâm chứng thực (AuC – Authentication Center): AuC là một thành phần quan trọng của HLR, lưu trữ những thông tin chứng thực của các thuê bao. Ngoài ra, AuC có nhiệm vụ sinh ra các khóa phiên phục vụ để mã hóa cho mỗi cuộc gọi của thuê bao.  Bộ ghi định danh thiết bị (EIR – Equipment Identity Register): Việc đánh cắp thiết bị hoặc đánh cắp thẻ SIM đề có thể sử dụng trái phép tài khoản của chủ thuê bao là việc khá phổ biến và thường xảy ra trong cuộc sống. Để ngăn chặn điều này, mạng GSM sử dụng một bộ ghi định danh các thiết bị, thực chất là một cơ sở dữ liệu định danh các thiết bị được phân loại bởi các chính sách khác nhau. Thường có 3 danh sách, đó là danh sách trắng, danh sách đen và danh sách xám. Danh sách trắng lưu các định danh thiết bị hợp lệ được phép hoạt động, danh sách đen lưu các định danh thiết bị không hợp lệ nên không được phép hoạt động, và danh sách xám lưu các định danh thiết bị cần được theo dõi. 2.1.2. Mô hình an ninh của mạng GSM Mạng GSM có cung cấp cơ chế chứng thực thuê bao và mã hóa thông tin truyền trong môi trường. Các cơ chế đó được xây dựng để đáp ứng những yêu cầu về mặt an ninh trong mạng GSM. Trong phần tiếp theo, học viên xin trình bày các 47 yêu cầu an ninh trong mạng GSM và mô hình an ninh của GSM xây dựng để đáp ứng các yêu cầu đó. Các yêu cầu về mặt an ninh cho mạng GSM được phần ra làm 2 loại chính: Yêu cầu về đảm bảo an ninh thông tin cá nhân của thuê bao và yêu cầu về an ninh thông tin truyền trong mạng. Các yêu cầu về an ninh trong mạng GSM có thể được liệt kê như sau [15]:  Bảo mật thông tin cuộc gọi và thông tin truyền thông: Khi thuê bao thiết lập một cuộc gọi, thiết bị di động sẽ truyền thông tin thiết lập cuộc gọi cho tổng đài, như số gọi đến, loại dịch vụ và các thông tin quan trọng khác. Các thông tin này phải được đảm bảo chống được kiểu tấn công nghe lén. Hơn thế nữa, mọi thông tin truyền thông (Bao gồm dữ liệu âm thanh của cuộc gọi, hay dữ liệu truyền ) cũng phải được mã hóa để những thông tin đó không bị nghe lén bởi người không có trách nhiệm.  Bảo mật thông tin vị trí, và tính toàn vẹn dữ liệu truyền: Khi thiết lập một cuộc gọi, thông tin về vị trí của thuê bao sẽ được lưu trữ tạm trong bộ ghi địa chỉ tạm trú. Thông tin này cũng rất quan trong và cần được bảo mật để đảm bảo hacker không truy cập và tìm ra được ví trí thuê bao. Đồng thời phải có cơ chế để bên nhận có thể kiểm tra được tính toàn vẹn của dữ liệu nhận được (Thường là các dữ liệu văn bản – chữ).  Chống nhân bản trái phép: Hành động nhân bản trái phép là việc 1 người sử dụng nhân bản thông tin của thuê bao được lưu trong thẻ SIM và nhân bản nó sang một thẻ SIM khác để sử dụng dịch vụ với mục đích xấu. Mạng GSM phải có cơ chế phòng vệ trước hành động trái phép này. Mạng GSM sử dụng an ninh dựa trên mật khẩu khóa đối xứng, cụ thể là giữa người sử dụng và mạng GSM có chia sẻ một khóa dùng chung Ku. Khóa chia sẻ này có chiều dài 128 bit được lưu trong thẻ SIM của người dùng và người sử dụng không thể truy cập trực tiếp được. Hình 2.2 mô tả mô hình an ninh của mạng GSM. Theo mô tả, khi thuê bao di động kết nối tới mạng, hệ thống sẽ sinh ra một số ngẫu nhiên RAND và gửi lại cho thuê bao. Sau khi nhận được số ngẫu nhiên RAND, thẻ SIM sẽ sử dụng khóa chia sẻ Ku lưu trong SIM để tạo ra mã xác thực SRES và khóa phiên Ks. Mã xác thực SRES sẽ được gửi lại cho hệ thống mạng, ở trên hệ thống, do cũng có khóa chia sẻ Ku và số ngẫu nhiên RAND, hệ thống sẽ tính ra mã xác thực SRES và khóa phiên Kc một cách độc lập với thuê bao ở dưới. Thuê bao sẽ được xác thực nếu 2 mã SRES trùng Comment [u12]: Noureddine Boudriga (2009), “Security of mobile communications”, Auerbach Publications, pp 175-179 48 nhau, và khóa phiên chia sẻ Kc sẽ được sử dụng để mã hóa dữ liệu truyền thông trong phiên làm việc đó. Trong hình mô hình 2.2 :  A3: Là thuật toán mã hóa sinh mã xác thực SRES  A8: Là thuật toán mã hóa sinh khóa phiên Ks  A5: Là thuật toán mã hóa đối xứng, bảo mật thông tin trên đường truyền. Mô hình an ninh của mạng GSM cung cấp các dịch vụ an ninh: Xác thực người dùng, bảo mật thông tin. Ta sẽ xem xét lần lượt từng dịch vụ an ninh của mạng GSM. 2.1.3. Dịch vụ xác thực trong mạng GSM Xác thực các thuê bao sử dụng trong mạng là việc hết sức quan trọng, nhờ đó mà mạng GSM xác định được thuê bao hợp lệ của mạng và phòng chống được những thuê bao sử dụng trái phép như tin tặc hay các thuê bao từ thẻ SIM nhân bản. Tham gia giao thức xác thực giữa mạng GSM và thuê bao di động có 2 thành phần đó là thẻ SIM của thuê bao di động và thành phần xác thực AuC (Authentication Center) thuộc bộ ghi địa chỉ thường trú HLR của mạng GSM. Hình 2.2 : Mô hình an ninh mạng GSM 49 Giao thức xác thực giữa mạng GSM và thuê bao được thực hiện theo minh họa ở hình 2.3 gồm các buớc sau:  Thiết bị di động MS yêu cầu kết nối tới mạng  MSC nhận được yêu cầu kết nối thông qua trạm BTS nó quản lý, MSC sẽ gửi yêu cầu xác thực tới HLR  Thành phần xác thực AuC của HLR sẽ sinh ra số ngẫu nhiên RAND, đồng thời tính ra mã xác thực SRES, khóa phiên Kc và gửi lại cho MSC  MSC gửi lại cho MS số ngẫu nhiên RAND  MS dựa vào khóa chia sẻ Ku trong thẻ SIM để tính ra mã xác thực SRES và khóa phiên Kc. Sau đó MS sẽ gửi cho MSC mã xác thực SRES.  MSC nhận được mã xác thực SRES do MS gửi lên sẽ so sanh với mã SRES trước dấy HLR gửi. Nếu 2 mã trùng nhau, thì thuê bao được xác thực và ngược lại. Nếu có một địch thủ nghe lén được đường truyền, anh ta có thể xây dựng được bộ từ điển (RAND, SRES) chứa các ánh xạ tương ứng giữa RAND và SRES, các giá trị này được thu lại từ các phiên xác thực trước đó của thuê bao và mạng GSM. Tuy nhiên, ngay cả khi bộ tử điển này của địch thủ đủ lớn thì địch thủ cũng rất khó để có thể giả mạo và qua mặt được AuC. Bởi vì 2 nguyên nhân, thứ nhất là do không gian số RAND là rất lớn (Có 2128 số RAND), do vậy địch thủ sẽ có rất ít cơ hội để AuC gửi lại số ngẫu nhiên RAND trước đó đã được sử dụng và nằm trong từ Hình 2.3 : Mô hình xác thực trong mạng GSM 50 điển của địch thủ. Thứ hai là AuC thực hiện việc xác thực liên tục đối với các thuê bao sử dụng dịch vụ, do vậy địch thủ có thể may mắn vượt qua lần xác thực thứ nhất, nhưng xác xuất để vượt qua lần xác thức thứ hai, thứ ba một cách liên tiếp là nhỏ. Ngay cả khi địch thủ vượt qua được bước xác thực của AuC, nếu không có khóa phiên Ks thì địch thủ cũng không thể giao tiếp được với mạng GSM, bởi sau khi xác thực được với thuê bao, mạng GSM sẽ giao tiếp với thuê bao qua kênh truyền được mã hóa bởi khóa phiên Ks. Nhưng khóa Ks chỉ được tính độc lập từ trên thẻ SIM và trên AuC dựa vào số ngẫu nhiên RAND và khóa chia sẻ Ku thông qua thuật toán A8. 2.2. Xác thực trong mạng 3G 2.2.1. Giới thiệu mạng thông tin di động 3G Mạng thông tin di động thế hệ 3, hay con gọi là mạng 3G là thế hệ tiếp theo của mạng di động thế hệ 2, cung cấp nhiều khả năng vượt trội mà mạng 2G chưa làm được như chuyển vùng quốc tế trên toàn cầu (Bao gồm cả dịch vụ thoại và dịch vụ dữ liệu), dịch vụ truyền dữ liệu tốc độ cao, và nhiều dịch vụ giá trị gia tăng trên nền tảng 3G. Do nhận thức rất sớm về tầm quan trọng của mạng thông tin di động 3G, việc nghiên cứu và xây dựng mạng 3G đã được thực hiện rất sớm với sự tham gia của nhiều tổ chức. Có rất nhiều đề xuất được đưa lên, nhưng cuối cùng liên minh viễn thông quốc tế (ITU - International Telecommunications Union) đã tổng hợp và đưa ra bộ đặc tả của mạng thông tin di động thế hệ thứ 3 có ký hiệu là IMT-2000 ( International Mobile Telecommunications for the year 2000). IMT-2000 hướng tới xây dựng mạng thông tin động 3G hướng tới những mục tiêu sau:  Cung cấp đa dạng các dịch vụ bằng vùng phủ sóng lớn với chất lượng thoại tốt hơn và băng thông dữ liệu lớn hơn.  Cung cấp tốc độ truyền dữ liệu cao hơn: 2Mbps đối với môi trường cố định, 384Kbps đối với người đi bộ, và 144Kbps đối với người di chuyển trên xe.  Khắc phục và tăng cường mức độ an ninh so với mạng thông tin di động thế hệ thứ 2.  Cho phép kết nối và chuyển vùng linh hoạt. 51 Do có sự đa dạng trong các chuẩn công nghệ 3G, nên trong phần này ngoài những đặc điểm chung, học viên xin xét cụ thể mô hình UMTS để nghiên cứu giải pháp bảo mật trong mạng 3G. Hệ thống UMTS được Châu Âu nghiên cứu và phát triển như là một giải pháp áp dụng 3G của Châu Âu với mong muốn kế thừa và phát triển từ hệ thống GSM. Mạng 3G sử dụng kết hợp 2 phương thức chuyển mạch là: Chuyển mạch theo kênh (CS – Circuit Switched), và chuyển mạch theo gói (PS – Package Switched). Miền chuyển mạch theo kênh được sử dụng trong các dịch vụ thoại, theo đó khi thực hiện thiết lập được cuộc gọi, kênh thoại đó được giữ và nó chỉ được giải phóng khi cuộc gọi đó kết thúc. Miền chuyển mạch theo gói được dùng trong các dịch vụ truyền dữ liệu, theo đó dữ liệu sẽ được truyền trong các gói tin và được định tuyến trong mạng. Việc truyền dữ liệu theo gói giúp tăng tốc độ truyền dữ liệu, đảm bảo tận dụng được kênh truyền tốt hơn, do đó đã khắc phục được những nhược điểm của mạng GSM 2G. Kiến trúc của mạng UMTS đươc thể hiện ở hình 2.4. Mạng UMTS gồm các thành phần chính sau [16]: Hình 2.4 : Kiến trúc mạng 3G UMTS Comment [u13]: Noureddine Boudriga (2009), “Security of mobile communications”, Auerbach Publications, pp 208-212 52  Trạm di động (Mobile Station) : Tương tự như mạng GSM, trạm di động trong mạng 3G là thiết bị di động (Điện thoại di động hoặc máy tính xách tay) và thẻ USIM (Universal Subcriber Identity Mobile) – Là thiết bị tương đương với thẻ SIM của mạng GSM nhưng được thiết kế đặc biệt theo chuẩn 3GPP sử dụng trong mạng 3G.  Mạng truy cập vô tuyến (UTRAN – UMTS Terrestrial Radio Access Network): UTRAN là thành phần quản lý các tài nguyên vô tuyến và các giao tiếp với các trạm di động trong miền quản lý. UTRAN đóng vai trò tương tự như các trạm thu phát BTS trong mạng GSM. UTRAN gồm 2 thành phần:  Node B : Chức năng chính của Node B là xử lý ở tầng vật lý cho việc thu phát tín hiệu giao tiếp với MS bao gồm việc mã hóa kênh, trải phổ, điều chế … Ngoài ra Node B còn có một số chức năng như kiểm soát chất lượng tín hiệu vô tuyến, báo cáo tỷ lệ lỗi dữ liệu, hay điều khiển công suất thu phát giúp MS có thể tiết kiệm điện năng.  Bộ điều kiển truy cập vô tuyên (RNC – Radio Network Controller) : RNC quản lý một hay nhiều Node B, thông qua Node B RNC quản lý được các tài nguyên vô tuyến, điều khiển truy cập, điều khiển kênh, điều khiển dịch chuyển của các MS từ tế bào này sang tế bào khác (handoff control), điều khiển công suất và mã hóa kênh truyền. RNC được kết nối với mạng lõi (Core Network) thông qua 2 giao diện là IuPS và IuCS tương ứng với miền chuyển mạch theo gói và miền chuyển mạch theo kênh.  Mạng lõi (CN – Core Network): Mạng lõi có nhiệm vụ chuyển dữ liệu của người dùng đến đích, mạng lõi bao gồm các thiết bị chuyển mạch và các cổng kết nối ra ngoài (Như kết nối sang mạng khác, hoặc kết nối ra mạng Internet). Ngoài ra trong mạng lõi còn có các thành phần quản lý thông tin thuê bao như bộ ghi địa chỉ thường trú (HLR) và bộ ghi địa chỉ tạm trú (VLR). Các thành phần trong miền chuyển mạch gói của UMTS được phát triển nâng cấp từ hệ thống mạng GPRS. Các thành phần đó bao gồm:  Nút hỗ trợ chuyển mạch gói phục vụ (SGSN – Serving GPRS Support Node): Là thành phần quản lý chuyển mạch các gói tin dữ liệu của người dùng. SGSN có nhiệm vụ định tuyến các gói tin dữ liệu từ mạng truy cập vô tuyển tới các mạng khác thông qua các cổng kết nối GPRS. Đồng thời 53 SGSN cũng ghi lại lưu lượng sử dụng dữ liệu của người sử dụng để phục vụ cho việc tính toán cước phí sử dụng cho thuê bao. SGSN trợ giúp trong việc điều kiển truy cập tài nguyên mạng, phòng tránh các truy cập trái phép và trong một số dịch vụ đặc biệt khác. SGSN được nối với RNC của UTRAN qua cổng IuPS.  Cổng hỗ trợ chuyển mạch gói (Gateway GPRS Support Node): GGSN là cổng kết nối giữa mạng vô tuyến di động và mạng chuyển mạch gói. 2.2.2. Mô hình an ninh trong mạng 3G Tượng tự như trong phần nghiên cứu an ninh trong mạng GSM, trong phần này ta sẽ xét phương pháp xác thực và bảo mật trọng mạng UTMS Kiến trúc an ninh của mạng UMTS (Hình 2.5) được xây dựng dựa trên tập các đặc điểm an ninh và các cơ chế bảo vệ đối với mạng UMTS. Các nhà thiết kế đã xây dựng mạng UMTS với 5 lớp an ninh, mỗi lớp an ninh được thiết kế để đáp ứng những mục tiêu phòng vệ cụ thể, 5 lớp an ninh bao gồm:  Lớp an ninh truy cập mạng (Lớp 1): Cung cấp cơ chế truy cập an toàn các dịch vụ 3G và phòng chống được các hình thức tấn công qua kênh vô tuyến.  Lớp an ninh miền mạng (Lớp 2) : Cung cấp cơ chế bảo mật dữ liệu truyền giữa các nút mạng của cùng 1 nhà cung cấp dịch vụ, đồng thời đảm bảo an ninh chống lại các loại tấn công trên mạng hữu tuyến của hệ thống UMTS. Hình 2.5 : Mô hình an ninh mạng UMTS 54  Lớp an ninh miền người sử dụng (Lớp 3): Cung cấp cơ chế an ninh cho người sử dụng trong việc truy cập mạng 3G và các dịch vụ từ MS  Lớp an ninh miền ứng dụng (Lớp 4): Cung cấp cơ chế bảo mật trong việc trao đổi dữ liệu giữa các thuê bao.  Lớp cấu hình an ninh (Lớp 5): Cung cấp cơ chế cho người sử dụng có thể biết được những cấu hình an ninh và thiết lập được những cấu hình an ninh của mạng hay của dịch vụ mạng hỗ trợ. Mỗi lớp an ninh khác nhau của UMTS có cách giải pháp khác nhau để đáp ứng được những yêu cầu an ninh đặt ra của lớp đó. Trong phạm vi chủ đề của luận văn, học viên xin được tập trung nghiên cứu và nêu lên giải pháp xác thực giữa MS và mạng UMTS cho lớp an ninh mạng truy cập (Lớp 1). 2.2.3. Dịch vụ xác thực và trao đổi khóa Khác với cơ chế xác thực trong mạng GSM, cơ chế xác thực trong mạng UTMS là cơ chế xác thực 2 chiều. Cơ chế xác thực trong mạng UTMS được xây dựng trên cơ sở giao thức xác thực sử dụng khóa chung chia sẻ giữa thành phần xác thực AuC của HLR và USIM của MS. Ngoài chia sẻ một khóa chung, AuC và USIM còn sử dụng chung 1 biến đếm, biến đếm được lưu trên AuC được gọi là SQNHE, ứng với mỗi thuê bao AuC sẽ lưu một biến đếm cho riêng thuê bao đó. Ở dưới MS, USIM cũng lưu và duy trì 1 biến đếm khác ký hiệu là SQNMS, biến đếm này sẽ lưu số thứ tự đã đếm cao nhất được USIM 55 . Giao thức xác thực và trao đổi khóa trong mạng UMTS (UMTS AKA – UMTS – Authentication and Key Agreement) được minh họa ở hình 2.6 gồm các bước sau:  MS trước khi truy cập mạng hoặc sử dụng các dịch vụ của mạng sẽ gửi yêu cầu kết nối.  Tùy thuộc miền sử dụng thuộc loại nào (miền chuyển mạch theo kênh, hay chuyển mạch theo gói) mà thành phần VRL hoặc SGSN gửi yêu cầu AuC sinh ra các vector xác thực cho thuê bao.  AuC căn cứ vào khóa chia sẻ và biến đếm ứng với thuê bao đó sẽ sinh ra các vector xác thực AVs= {AV1, AV2, … AVn} và gửi lại cho VLR/SGSN. Mỗi vector xác thực gồm các thành phần sau:  RAND: Là 1 số ngẫu nhiên có độ dài 16 byte, được AuC sinh ra dựa vào thuật toán giả ngẫu nhiên. MS VLR/SGSN AuC 1. Gửi yêu cầu kết nối 2. Y/c sinh vector xác thực 3. Các vector xác thực AVs 4. M = RAND || AUTN Sinh vector xác thực AVs Chọn vector xác- thực AV = RAND || XRES || CP || CI || AUTN Sinh vector xác thực, được kết quả RES, XMAC, CP, CI. Xác thực mạng dựa vào XMAC 5. Gửi mã xác thực RES So sánh XRES và RES để xác thực MS Hình 2.6 : Giao thức xác thực 2 chiều mạng UMTS 56  XRES: Là trường có độ dài từ 4 byte đến 16 byte, chứa mã xác thực cần so sánh với mã xác thực USIM gửi lên.  CK : Có chiều dài 16 byte, dùng là khóa để mã hóa.  CI : Là trường có chiều dài 16 byte, sử dụng là khóa để bảo vệ tính toàn vẹn dữ liệu truyền.  AUTN : Là trường 16 byte, chứa mã xác thực giúp MS có thể xác thực ngược lại tổng đài UMTS. Ta có thể viết AV = RAND || XRES || CK || CI || AUTN  VLR/SGSN nhận được các vector xác thực VAs sẽ chọn ngẫu nhiên 1 vector xác thực VAi, VLR/SGSN sẽ lấy ra số RAND và AUTN gửi lại cho MS.  MS nhận được thông điệp M= RAND || AUTN, MS sẽ gửi cho USIM, USIM sẽ chạy lại thuật toán đã chạy trên AuC với tham số là RAND và 1 phần của AUTN và cho ra các tham số vector xác thực gồm: RES, XMAC, CK và IK. Nếu XMAC trùng với 8 byte cuối của AUTN thì mạng UMTS được MS xác thực. Mã RES sẽ được gửi lại cho VLR/SGSN để xác thực với tổng đài. Các tham số CK và IK được lưu lại và sử dụng với mục đích bảo mật và toàn vẹn các thông tin truyền sau này.  VLR/SGSN nhận được mã xác thực RES từ phía người sử dụng, sẽ so sánh với mã xác thực XRES của vector xác thực của phiên đó. Nếu 2 mã xác thực trùng nhau thì thuê bao được xác thực. Hình 2.7a : Sinh vector xác thực tại AuC 57 Hình 2.7a mô tả phương thức AuC sinh ra vector xác thực AV. Các thành phần của vector xác thực được sinh ra như sau:  Tham số đầu vào: Số ngẫu nhiên RAND, khóa chia sẻ K, số ngẫu nhiên SQN, và tham số AMF (Authentication Management Field)  Số ngẫu nhiên RAND được sinh trực tiếp từ thuật toán sinh số giả ngẫu nhiên PRNG  Trường xác thực 2 ( , )XRES f RAND K  Các trường 3( , )CP f RAND K , 4 ( , )IK f RAND K  Trường cuối cùng AUTN là một trường đặc biệt || AMF||AUTN SQN AK MAC  Với 5( , )AK f RAND K là trường trung gian, AMF là trường quản lý xác thực (Authentication Management Field) nhằm tăng tính hiệu quả của thuật toán xác thực, 1( , , , AMF)MAC f RAND K SQN là trường mã xác thực thông báo. Hình 3.7b mô tả phương thức USIM sinh được ra các tham số xác thực AV từ giá trị ||M RAND AUTN mà VLR/SGSN gửi cho MS. Hình 2.7b: Thuật toán sinh xác thực tại USIM 58 Các hàm 1 2 3 4 5, , , ,f f f f f được cài đặt chạy bởi AuC của hệ thống và ở tại USIM của các thuê bao, nên việc lựa chọn các thuật toán đó phụ thuộc vào mỗi nhà cung cấp dịch vụ, miễn là đảm bảo được những yêu cầu chung của hệ thống. 2.3. Xác thực trong mạng cục bộ không dây WLAN 2.3.1. Giới thiệu về mạng cục bộ không dây WLAN Mạng cục bộ không dây WLAN (Wireless Local Area Network) hay còn gọi là mạng không dây Wifi là hệ thống mạng cho phép có thiết bị đầu cuối có thể truy cập mạng cục bộ, mạng Internet thông qua môi trường truyền sóng Radio. Để các thiết bị không dây có thể kết nối nhau, và kết nối với các thiết bị trong mạng cục bộ như một mạng cục bộ thống nhất. Tổ chức IEEE đã thiết kế chuẩn kết nối không dây 802.11 thừa kế mô hình Ethernet – Là chuẩn kết nối mạng cục bộ có dây đã rất thành công và phố biến được sử dụng trong mạng LAN – Theo đó IEEE 802.11 thiết kế đặc tả tầng vật lý (PHY – Physical ), và tầng điều khiển truy cập trung gian (MAC – Medium Access Control ) nằm dưới lớp điều kiển logic (LLC – Logical Link Control):  Tầng vật lý PHY : Đặc tả phương thức truyền dữ liệu qua sóng radio, tầng PHY là tầng thường được thay đổi trong mỗi phiên bản sửa đổi của IEEE 802.11 nhằm nâng cao chất lượng truyền dữ liệu bằng việc cải tiến các phương pháp truyền.  Tầng điều khiển truy cập trung gian MAC: Là tầng nằm trên tầng vật lý PHY, chạy giao thức điều khiển truy cập cảm ứng đa sóng mang và chống tắc nghẽn (CSMA/CA) – Đây là giao thức thiết kế riêng cho việc truyền frame dữ liệu giữa các thiết bị không dây – Giao thức CSMA/CA là cải tiến của giao thức CSMA/CD được sử dụng trong mạng Ethernet có dây nhằm đáp ứng được những vấn đề trong truyền dữ liệu mạng không dây. 59 Công nghệ mạng WLAN có nhiều ứu điểm như: Tiện lợi, linh động, gia thành rẻ, tiết kiệm chi phí triển khai. Tuy nhiên cũng có rất nhiều nhược điểm, như phạm vi áp dụng hẹp, tốc độ truyền vẫn chưa bằng tốc độ mạng có dây và đặc biệt là mạng WLAN phải đối mặt với rất nhiều nguy cơ an ninh. Một mạng WLAN theo chuẩn 802.11, gồm những thành phần chính sau:  Máy trạm (STA – Station) : Là các thiết bị đầu cuối, có hỗ trợ giao diện truy cập mạng không đây, ví dụ như máy tính xách tay, điện thoại thông minh, máy tính bảng …  Điểm truy cập (AP – Access Point) : Điểm truy cập AP là một thiết bị có nhiệm vụ chính là chuyển frame dữ liệu 802.11 thành frame dữ liệu của Ethernet và ngược lại. Mỗi điểm truy cập có một vùng phủ sóng được gọi là vùng phục vụ cơ bản (BSA – Basic Service Area), một thiết bị di động trong Hình 2.8 : Tham chiếu giữa mô hình IEEE 802.1và mô hình OSI 60 BSA có thể truy cập mạng cục bộ và các thiết bị khác. Tập các thiết bị trong BSA được gọi là BSS (Basic Service Set). 2.3.2. Mô hình an ninh mạng WLAN 2.3.2.1. Các vấn đề an ninh trong mạng WLAN Trước khi nghiên cứu các phương pháp an ninh trong mạng WLAN, ta cần xem xét những vấn đề an ninh mang mạng WLAN có thể gặp. Do đặc điểm truyền dữ liệu thông qua sóng radio, các vấn đền an ninh của mạng WLAN cũng có nhiều điểm khác so với mạng LAN. Với mạng LAN, để có tấn công được hệ thống địch thủ phải kế nối được mạng đó. Nếu địch thủ có thể nằm vùng trong mạng thì địch thủ chỉ việc cắm đầu dây mạng vào cổng LAN của mạng, vấn đề này thuộc về chính sách an ninh vật lý nên ta không xét ở đây. Nếu địch thủ tấn công từ mạng bên ngoài, địch thủ sẽ phải vượt qua được hệ thống tường lửa của doanh nghiệp trước khi xâm nhập được vào trong, điều này là cực kỳ khó khăn. Nhưng mới mạng WLAN thì khác, địch thủ khi năm trong vùng phủ sóng của một điểm truy cập AP, nếu không được bảo vệ địch thủ đó có thể dễ dàng xâm nhập được vào mạng nội bộ, từ đó có thể tiến hành được nhiều cuộc tấn công nguy hiểm khác. Mặt khác, do mạng WLAN truyền dữ liệu bằng sóng radio, nên địch thủ càng dễ dàng có thể thực hiện các hành vi nghe trộm, hoặc giả mạo hoặc sửa đổi thông tin truyền của các thực thể hợp lệ trrong mạng. Do vậy mạng nội bộ không dây an toàn phải đảm bảo được những yêu cầu về an ninh sau:  Tính xác thực : Chỉ máy trạm STA hợp lệ mới được phép truy cập vào mạng WLAN.  Tính bảo mật : Kênh dữ liệu truyền thông giữa máy trạm STA và AP phải được bảo mật, tức là không có bên thứ ba nào có thể nghe lén được dữ liệu truyền.  Tính toàn vẹn : Dữ liệu truyền phải đảm bảo tính toàn vẹn, chống được tấn công sửa đổi. 2.3.2.2. Giải pháp an ninh trong mạng WLAN Trong chuẩn IEEE 802.11ban đầu không nêu ra một biện pháp an ninh nào áp dụng cho mạng WLAN. Tuy nhiên một số nhà sản xuất cung cấp cơ chế lọc địa chỉ MAC để xác định quyền truy cập của người sử dụng, theo đó thiết bị AP sẽ chỉ chấp 61 nhận những thiết bị nào có địa chỉ MAC năm trong danh sách cho phép được cài đặt bởi người quản trị. Tuy nhiên phương pháp này gặp nhiều vấn đề khi mở rộng mạng, khi đó người quản trị phải quản lý bằng thủ công danh sách nhưng thiết bị được truy cập, điều này là rất khó khăn và bất tiện khi trong mạng có nhiều thiết bị. Hơn nữa, phương pháp này cũng kém an toàn bởi địa chỉ MAC của thiết bị có thể bị địch thủ giả mạo để vượt quả sử kiểm soát của AP. Phương pháp bảo mật WEP (Wired equivalent privacy) được đưa vào chuẩn 802.11b như một giải pháp để kiểm soát an ninh, tuy nhiên các nhà khoa học đã nhận thấy nhiều lỗ hổng bảo mật trong WEP, giúp địch thủ có thể dễ dàng phá khóa và truy cập bất hợp pháp một cách dễ dàng. Ngay sau đó, tổ chức IEEE đã nghiên cứu và đưa ra chuẩn cải 802.11i để khắc phục những lỗ hổng an ninh của chuẩn WEP trong 802.11b. Trong chuẩn 802.11i, IEEE đã đưa ra các đặc tả cho một giải pháp an ninh mạng mạnh (RSNA – Robust Security Network Association) cho mạng WLAN bao gồm 3 dịch vụ chính:  Xác thực  Quản lý và phân phối khóa  Bảo mật và toàn vẹn dữ liệu Năm 2003, hiệp hội Wi-Fi (WiFi Alliance ) – Là hiệp hội của các tổ chức, các nhà sản suất, công công ty phần mềm nghiên cứu và sản suất các thiết bị không dây trên toàn thế giới – đã giới thiệu một giải pháp an ninh WPA (Wifi Protected Access ) để thay thế cho giải pháp WEP. Mục đích của WPA là khắc phục những lỗ hổng an ninh của WEP và đưa ra một phương pháp an ninh an toàn hơn trong khi chuẩn 802.11i đang được chỉnh sửa và chưa được thông qua. Đến năm 2004, khi chuẩn 802.11i được thông qua, hiệp hội Wi-Fi cũng đồng thời phát hành chuẩn WPA2. Có một điểm đáng chú ý là chuẩn 802.11i bao gồm cả những giải an ninh trước đó hay giải pháp an ninh thế hệ trước (PRE-RSNA) bên cạnh những giải pháp an ninh mạnh (RSNA). Chuẩn 802.11i đặc tả các giải pháp an ninh được mô tả trong hình 2.9. Trong phần tiếp theo, học viên xin giới thiệu các đặc tả an ninh của chuẩn 802.11i, cụ thể là các giải pháp an ninh thế hệ trước PRE-RSNA, và giải pháp an ninh mạng mạnh (RSNA) . Do phạm vi giới hạn chủ đề của luận văn, học viên xin được phép đi sâu về các vấn đề xác thực. 62 2.3.3. PRE-RSNA Giải pháp an ninh thế hệ trước PRE-RSNA là giải pháp WEP đã được giới thiệu trong chuẩn 802.11b. WEP sử dụng kỹ thuật mã hóa RC4 của hãng bảo mật RSA để mã hóa dữ liệu, sử dụng kỹ thuật kiểm tra CRC (cyclic redundancy check) để đảm bảo tính toàn vẹn dữ liệu. Để đảm xác thực ngươi sử dụng, WEP sử dụng 2 phương thức: xác thực mở (OSA – Open system authentication) và hệ thống xác thực khóa chia sẻ (SKA – Shared key authentication ) Hiện nay các giải pháp an ninh PRE-RSNA đã bộc lộ nhiều yếu điểm và có thể bị tấn công hoàn toàn. Tuy vậy học viên xin được giới thiệu để làm mô hình tham khảo cho các giải pháp xác thực tro

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN- XÁC THỰC TRONG CÁC MẠNG VÔ TUYẾN.pdf
Tài liệu liên quan