Đề tài Mã hóa bảo mật trong wimax

Tài liệu Đề tài Mã hóa bảo mật trong wimax: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Khoa Viễn thông 1 ------------o0o------------ BÀI TẬP LỚN MẠNG TRUY NHẬP MÃ HÓA BẢO MẬT TRONG WIMAX Giáo viên hướng dẫn : Th.S Nguyễn Việt Hùng Sinh viên : Văn Thị Ngân Bùi Thị Huyền Lê Thanh Bình Nguyễn Thành Tiến Nhóm : Nhóm 3 Lớp : D05VT2 Hà Nội, 11- 2008 LỜI NÓI ĐẦU Viễn thông là một lĩnh vực phát triển mạnh mẽ, không chỉ gia tăng về mặt dịch vụ mà vấn đề công nghệ cũng được quan tâm nhằm đáp ứng nhu cầu ngày càng cao của người sử dụng, đặc biệt là vấn đề bảo mật thông tin của người sử dụng trong môi trường truyền dẫn không dây wireless. Thông tin không dây (wireless-hay còn được gọi là vô tuyến) đang có mặt tại khắp mọi nơi và phát triển một cách nhanh chóng, các hệ thống thông tin di động tế bào sử dụng công nghệ GSM và CDMA đang dần thay thế các hệ thống mạng điện thoại cố định hữu tuyến.Các hệ thống mạng LAN không dây- còn được biết với tên thông dụng hơn là Wi-fi cũng đang hiện hữu trên rất nhiều tòa nhà văn phòng, c...

doc113 trang | Chia sẻ: haohao | Lượt xem: 1581 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Mã hóa bảo mật trong wimax, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Khoa Viễn thông 1 ------------o0o------------ BÀI TẬP LỚN MẠNG TRUY NHẬP MÃ HÓA BẢO MẬT TRONG WIMAX Giáo viên hướng dẫn : Th.S Nguyễn Việt Hùng Sinh viên : Văn Thị Ngân Bùi Thị Huyền Lê Thanh Bình Nguyễn Thành Tiến Nhóm : Nhóm 3 Lớp : D05VT2 Hà Nội, 11- 2008 LỜI NÓI ĐẦU Viễn thông là một lĩnh vực phát triển mạnh mẽ, không chỉ gia tăng về mặt dịch vụ mà vấn đề công nghệ cũng được quan tâm nhằm đáp ứng nhu cầu ngày càng cao của người sử dụng, đặc biệt là vấn đề bảo mật thông tin của người sử dụng trong môi trường truyền dẫn không dây wireless. Thông tin không dây (wireless-hay còn được gọi là vô tuyến) đang có mặt tại khắp mọi nơi và phát triển một cách nhanh chóng, các hệ thống thông tin di động tế bào sử dụng công nghệ GSM và CDMA đang dần thay thế các hệ thống mạng điện thoại cố định hữu tuyến.Các hệ thống mạng LAN không dây- còn được biết với tên thông dụng hơn là Wi-fi cũng đang hiện hữu trên rất nhiều tòa nhà văn phòng, các khu vui chơi giải trí. Trong vài năm gần đây một hệ thống mạng MAN không dây (Wireless MAN) thường được nhắc nhiều đến như là một giải pháp thay thế và bổ sung cho công nghệ xDSL là Wimax. Wimax còn được gọi là Tiêu chuẩn IEEE 802.16, nó đáp ứng được nhiều yêu cầu kỹ thuật và dịch vụ khắt khe mà các công nghệ truy nhập không dây thế hệ trước nó (như Wi-fi và Bluetooth) chưa đạt được như bán kính phủ sóng rộng hơn, băng thông truyền dẫn lớn hơn, số khách hàng có thể sử dụng đồng thời nhiều hơn, tính bảo mật tốt hơn,… Wimax là công nghệ sử dụng truyền dẫn trong môi trường vô tuyến, tín hiệu sẽ được phát quảng bá trên một khoảng không gian nhất định nên dễ bị xen nhiễu, lấy cắp hoặc thay đổi thông tin do vậy việc bảo mật trong công nghệ này cần được quan tâm tìm hiểu, đánh giá và phân tích trên nhiều khía cạnh. Đề tài: “Mã hóa bảo mật trong Wimax” dưới đây là một phần trong vấn đề bảo mật trong hệ thống Wimax. Đề tài này bao gồm như sau: Chương 1: Giới thiệu tổng quan về hệ thống Wimax, đặc điểm, ưu nhược điểm của hệ thống, một số chuẩn hóa và sơ qua các phương pháp bảo mật trong hệ thống Wimax đang được sử dụng. Chương 2: Giới thiệu,phân loại các phương pháp mã hóa bảo mật như phương pháp mã hóa không dùng khóa, mã hóa bí mật và mã hóa công khai và một số ứng dụng của mã hóa trong thực tế. Chương 3: Tập trung chi tiết về các phương pháp mã hóa được dùng trong bảo mật hệ thống Wimax như tiêu chuẩn mã hóa dữ liệu DES và tiêu chuẩn mã hóa tiên tiến AES. Và cuối cùng là kết luận và xu hướng phát triển tiếp theo của công nghệ Wimax. Công nghệ Wimax vẫn đang được nghiên cứu và phát triển. Bảo mật là một vấn đề tương đối khó cùng với khả năng hiểu biết hạn chế của nhóm về vấn đề mã hóa bảo mật, do đó không tránh được những sai sót trong bài làm.Mong được sự đóng góp ý kiến của mọi người quan tâm đến vấn đề bảo mật. MỤC LỤC LỜI NÓI ĐẦU 1 MỤC LỤC 3 THUẬT NGỮ VIẾT TẮT 6 DANH MỤC HÌNH VẼ 9 DANH MỤC BẢNG BIỂU 11 CHƯƠNG I : GIỚI THIỆU VỀ WIMAX 12 1.1. Giới thiệu về công nghệ Wimax 12 1.1.1. Một số đặc điểm của Wimax 14 1.1.2. Cấu hình mạng trong Wimax 15 1.1.2.1. Cấu hình điểm-đa điểm 15 1.1.2.2. Cấu hình MESH 16 1.2. Giới thiệu các chuẩn Wimax 17 1.2.1. Một số chuẩn Wimax đầu tiên 18 1.2.1.1. Chuẩn IEEE 802.16d-2004 20 1.2.1.2. Chuẩn IEEE 802.16e-2005 20 1.2.2. Một số chuẩn IEEE 802.16 khác 21 1.3. Lớp con bảo mật trong Wimax 26 1.4. Kết luận 27 CHƯƠNG II : CÁC PHƯƠNG PHÁP MÃ HÓA BẢO MẬT 28 2.1. Giới thiệu về mã hóa bảo mật 28 2.2. Các phương pháp mã hóa bảo mật 28 2.2.1.Mã hóa không dùng khóa 28 2.2.1.1. Hàm mũ rời rạc 28 2.2.1.2. Hàm bình phương module 30 2.2.1.3. Bộ tạo bít ngẫu nhiên 30 2.2.2. Mã hóa khóa bí mật 33 2.2.2.1. Mật mã Ceasar 34 2.2.2.2. Mật mã Affine 35 2.2.2.3. Mật mã thay thế (Substitution cipher) 36 2.2.2.4. Các mã hoán vị (Transposition cipher) 37 2.2.2.5. Mật mã Hill 39 2.2.2.6. Mật mã Vigenere 40 2.2.2.7. One time pad 42 2.2.2.8. Mã RC4 43 2.2.2.9. DES (Data Encryption Standard) 44 2.2.2.10. AES (Advanced Encryption Standard) 46 2.2.3. Mã hóa khóa công khai 46 2.2.3.1. Mã RSA 47 2.2.3.2. Hệ mật Rabin 49 2.2.3.3. Hệ mật ElGamal 50 2.2.3.4. Hệ mật Mekle-Hellman 51 2.2.3.5. Hệ mật Mc Elice 51 2.2.3.6. Mật mã đường cong Elip 51 2.2.3.7. Các hàm băm và tính toàn vẹn của dữ liệu 52 2.2.3.8. MD4 và MD5 55 2.2.3.9. SHA và SHA-1 55 2.3. So sánh – Ứng dụng – Xu hướng phát triển của mã hóa bảo mật 55 2.3.1. So sánh mã hóa khóa bí mật và mã hóa khóa công khai 55 2.3.2. Một số ứng dụng tiêu biểu 57 2.3.3. Xu hướng của mã hóa trong tương lai 60 2.4. Kết luận 64 CHƯƠNG III : MÃ HÓA DỮ LIỆU TRONG WIMAX 65 3.1. Tiêu chuẩn mã hóa dữ liệu DES – Data Encryption Standard 65 3.1.1. Giới thiệu về mã hóa DES 65 3.1.2. Thuật toán mã hóa DES 67 3.1.3. DES trong Wimax 85 3.2. Tiêu chuẩn mã hóa tiên tiến AES – Advanced Encryptiom Standard 90 3.2.1. Giới thiệu về mã hóa AES 90 3.2.2. Thuật toán mã hóa AES 93 3.2.3. AES-CCM trong Wimax 102 3.3. Kết luận 106 KẾT LUẬN: 107 TÀI LIỆU THAM KHẢO: 108 THUẬT NGỮ VIẾT TẮT Kí hiệu Từ viết tắt AES Advanced Encryption Standard BPSK Binary Phase Shift Keying BS Base Station CBC Cipher Block Chaining CCA Chosen ciphertext attack CCM Counter with CBC-MAC CPA Chosen- Plaintext attack CRC Cyclic Redundancy Check CS Service-Specific Convergence Sublayer CSMA/CA Carrier Sense Multiple Access/Collision Avoidance CTR Counter DES Data Encryption Standard DSL Digital Subcriber Line ETSI European Telecommunications Standards Institute FDD Frequency Division Duplexing FDM Frequency Division Multiplexing FDMA Frequency Division Multiple Access FEC Forward Error Correction FM Feedback Mode IEEE Institue of Electrical and Electronic Engineers IFFT Inverse Fast Fourier Transform IP Initial Permutation ISI Intersymbol Interference IV Initialization Vector KEK Key Encryption Key LMDS Local Multipoint Distribution Service LOS Line-Of-Sight MAN Metro Area Network MCPS MAC Common Part Sublayer MD Message Digest MPDU MAC Protocol Data Unit NLOS None Line-Of-Sight NNI Network-to-Network Interface NIST National Institute of Standards and Technology NSA National Security Agency OFDM Orthogonal Frequency Division Multiplexing OFDMA Orthogonal Frequency Division Multiple Access OSI Open Systems Interconnection OTP One – time – pad PDU Protocol Data Unit PKM Privacy Key Management PN Packet Number QAM Quadrature Amplitude Modulation QoS Quality of Service QPSK Quadrature Phase Shift Keying RSA Rivest, Shamir, and Adleman SA Security Association SC Single Carrier SHA Secure Hash Algorith SET Secure Electronic Transmission SS Subcriber Station TDD Time Division Duplexing TDM Time Division Multiplexing TDMA Time Division Multiple Access TEK Traffic Encryption Key UNI User-to-Network Interface VoIP Voice over IP WiFi Wireless Fidelity WIMAX Worldwide Interoperability Microwave Access WLAN Wireless Local Area Network WMAN Wireless Metro Area Network DANH MỤC HÌNH VẼ DANH MỤC BẢNG BIỂU Bảng 1.1: Các kiểu truy nhập trong Wimax 19 Bảng 2.1 : Mã hóa Scytale 40 Bảng 2.2: Quá trình phân tích thừa số. 51 Bảng 2.3: Bảng so sánh kích thước khóa một số loại mã. 54 Bảng 2.4: Bảng so sánh kích thước khóa một số loại mã. 57 Bảng 3.1. Hoán vị khởi tạo IP. 71 Bảng 3.2. Bảng lựa chọn E bit. 72 Bảng 3.3. Các hộp S 74 Bảng 3.4. Hàm hoán vị P. 74 Bảng 3.5. Hoán vị khởi tạo ngược IP-1 của DES 75 Bảng 3.1. Hoán vị khởi tạo IP 71 Bảng 3.6: Hàm lựa chọn hoán vị 1: PC1 76 Bảng 3.7 : Hàm lựa chọn hoán vị 2: PC2. 77 Bảng 3.8. Sơ đồ dịch vòng trái (sách FIP) 77 Bảng 3.9 : Khóa - khối bit - số vòng 95 Bảng 3.10: Bảng S-box 97 Bảng 3.12 : Bảng S-box đảo 102 Bảng 3.11: Mở rộng khóa 128bit 101 Bảng 3.13: Mã hóa AES-128 104 CHƯƠNG I: GIỚI THIỆU VỀ WIMAX 1.1. Giới thiệu về công nghệ Wimax Wimax (World Interoperability for Microware Access) – Khả năng khai thác mạng trên toàn cầu đối với mạng truy nhập vi ba. Đây là một kỹ thuật cho phép ứng dụng để truy nhập cho một khu vực đô thị rộng lớn. Ban đầu chuẩn 802.16 được tổ chức IEEE đưa ra nhằm giải quyết các vấn đề kết nối cuối cùng trong một mạng không dây đô thị WMAN hoạt động trong tầm nhìn thẳng (Line of Sight) với khoảng cách từ 30 tới 50 km. Nó được thiết kế để thực hiện đường trục lưu lượng cho các nhà cung cấp dịch vụ Internet không dây, kết nối các điểm nóng WiFi, các hộ gia đình và các doanh nghiệp….đảm bảo QoS cho các dịch vụ thoại, video, hội nghị truyền hình thời gian thực và các dịch vụ khác với tốc độ hỗ trợ lên tới 280 Mbit/s mỗi trạm gốc. Chuẩn IEEE 802.16-2004 hỗ trợ thêm các hoạt động không trong tầm nhìn thẳng tại tần số hoạt động từ 2 tới 11 GHz với các kết nối dạng mesh (lưới) cho cả người dùng cố định và khả chuyển. Chuẩn mới nhất IEEE 802.16e, được giới thiệu vào ngày 28/2/2006 bổ sung thêm khả năng hỗ trợ người dùng di động hoạt động trong băng tần từ 2 tới 6 GHz với phạm vi phủ sóng từ 2-5 km. Chuẩn này đang được hy vọng là sẽ mang lại dịch vụ băng rộng thực sự cho những người dùng thường xuyên di động với các thiết bị như laptop, PDA tích hợp công nghệ Wimax [3]. Thực tế WiMax hoạt động tương tự WiFi nhưng ở tốc độ cao và khoảng cách lớn hơn rất nhiều cùng với một số lượng lớn người dùng. Một hệ thống WiMax gồm 2 phần [5][35]: Trạm phát: giống như các trạm BTS trong mạng thông tin di động với công suất lớn có thể phủ sóng một vùng rộng tới 8000km2 Trạm thu: có thể là các anten nhỏ như các Card mạng cắm vào hoặc được thiết lập sẵn trên Mainboard bên trong các máy tính, theo cách mà WiFi vẫn dùng Hình 1.1: Wimax network architecture Hình 1.2: Mô hình truyền thông của Wimax . Các trạm phát BTS được kết nối tới mạng Internet thông qua các đường truyền tốc độ cao dành riêng hoặc có thể được nối tới một BTS khác như một trạm trung chuyển bằng đường truyền thẳng (line of sight), và chính vì vậy WiMax có thể phủ sóng đến những vùng rất xa. Các anten thu/phát có thể trao đổi thông tin với nhau qua các tia sóng truyền thẳng hoặc các tia phản xạ. Trong trường hợp truyền thẳng, các anten được đặt cố định trên các điểm cao, tín hiệu trong trường hợp này ổn định và tốc độ truyền có thể đạt tối đa. Băng tần sử dụng có thể dùng ở tần số cao đến 66GHz vì ở tần số này tín hiệu ít bị giao thoa với các kênh tín hiệu khác và băng thông sử dụng cũng lớn hơn. Đối với trường hợp tia phản xạ, WiMax sử dụng băng tần thấp hơn, 2-11GHz, tương tự như ở WiFi, ở tần số thấp tín hiệu dễ dàng vượt qua các vật cản, có thể phản xạ, nhiễu xạ, uốn cong, vòng qua các vật thể để đến đích. Một số đặc điểm của Wimax: Wimax đã được tiêu chuẩn hoá theo chuẩn IEEE 802.16. Hệ thống Wimax là hệ thống đa truy cập không dây sử dụng công nghệ OFDMA có các đặc điểm sau: [5][35] Khoảng cách giữa trạm thu và phát có thể từ 30Km tới 50Km. Tốc độ truyền có thể thay đổi, có thể lên tới 70Mbit/s Hoạt động trong cả hai môi trường truyền dẫn: đường truyền tầm nhìn thẳng LOS và đường truyền bị che khuất NLOS. Dải tần làm việc từ 2-11GHz và từ 10-66GHz Độ rộng băng tần của WiMax từ 5MHz đến trên 20MHz được chia thành nhiều băng con 1,75MHz. Mỗi băng con này được chia nhỏ hơn nữa nhờ công nghệ OFDM, cho phép nhiều thuê bao có thể truy cập đồng thời một hay nhiều kênh một cách linh hoạt để đảm bảo tối ưu hiệu quả sử dụng băng tần. Cho phép sử dụng cả hai công nghệ TDD và FDD cho việc phân chia truyền dẫn của hướng lên (uplink) và hướng xuống (downlink). Trong cơ chế TDD, khung đường xuống và đường lên chia sẻ một tần số nhưng tách biệt về mặt thời gian. Trong FDD, truyền tải các khung đường xuống và đường lên diễn ra cùng một thời điểm, nhưng tại các tần số khác nhau. Về cấu trúc phân lớp, hệ thống WiMax được phân chia thành 4 lớp : Lớp con hội tụ (Convergence) làm nhiệm vụ giao diện giữa lớp đa truy nhập và các lớp trên, lớp điều khiển đa truy nhập (MAC layer), lớp truyền dẫn (Transmission) và lớp vật lý (Physical). Các lớp này tương đương với hai lớp dưới của mô hình OSI và được tiêu chuẩn hoá để có thể giao tiếp với nhiều ứng dụng lớp trên như mô tả ở hình dưới đây[35]. Hình 1.3: Mô hình phân lớp trong hệ thống WiMax so sánh với OSI 1.1.2. Cấu hình mạng trong Wimax Công nghệ Wimax hỗ trợ mạng PMP và một dạng của cấu hình mạng phân tán là mạng lưới MESH [5]. 1.1.2.1. Cấu hình mạng điểm- đa điểm (PMP) PMP là một mạng truy nhập với một hoặc nhiều BS có công suất lớn và nhiều SS nhỏ hơn. Người dùng có thể ngay lập tức truy nhập mạng chỉ sau khi lắp đặt thiết bị người dùng. SS có thể sử dụng các anten tính hướng đến các BS, ở các BS có thể có nhiều anten có hướng tác dụng theo mọi hướng hay một cung [5]. Với cấu hình này trạm gốc BS là điểm trung tâm cho các trạm thuê bao SS. Ở hướng DL có thể là quảng bá, đa điểm hay đơn điểm. Kết nối của một SS đến BS được đặc trưng qua nhận dạng kết nối CID [5]. Hình 1.4: Cấu hình điểm-đa điểm (PMP) 1.1.2.2. Cấu hình mắt lưới MESH Với cấu hình này SS có thể liên lạc trực tiếp với nhau. Trạm gốc Mesh BS kết nối với một mạng ở bên ngoài mạng MESH [5]. Kiểu MESH khác PMP là trong kiểu PMP các SS chỉ liên hệ với BS và tất cả lưu lượng đi qua BS trong khi trong kiểu MESH tất cả các node có thể liên lạc với mỗi node khác một cách trực tiếp hoặc bằng định tuyến nhiều bước thông qua các SS khác. Một hệ thống với truy nhập đến một kết nối backhaul được gọi là Mesh BS, trong khi các hệ thống còn lại được gọi là Mesh SS. Dù cho MESH có một hệ thống được gọi là Mesh BS, hệ thống này cũng phải phối hợp quảng bá với các node khác. Hình 1.5: Cấu hình mắt lưới MESH . Backhaul là các anten điểm-điểm được dùng để kết nối các BS được định vị qua khoảng cách xa. Một mạng MESH có thể sử dụng hai loại lập lịch quảng bá: Với kiểu lập lịch phân tán, các hệ thống trong phạm vi 2 bước của mỗi cell khác nhau chia sẻ cách lập lịch và hợp tác để đảm bảo tránh xung đột và chấp nhận tài nguyên. MESH lập lịch tập trung dựa vào Mesh BS để tập hợp các yêu cầu tài nguyên từ các Mesh SS trong một dải bất kì và phân phối các yêu cầu này với khả năng cụ thể. Khả năng này được chia sẻ với các Mesh SS khác mà dữ liệu của người dùng được chuyển tiếp thông qua các Mesh SS đó trao đổi với Mesh BS. Trong kiểu MESH, phân loại QoS được thực hiện trên nền tảng từng gói hơn là được kết hợp với các liên kết như trong kiểu PMP. Do đó chỉ có một liên kết giữa giữa hai node Mesh liên lạc với nhau [5]. . 1.2. Giới thiệu về các chuẩn Wimax Kĩ thuật IEEE 802.16 BWA, với đích hướng tới truy nhập vi ba tương thích toàn cầu để cung cấp một giải pháp BWA chuẩn. Ủy ban chuẩn IEEE đã tiến hành nghiên cứu về nhóm chuẩn 802.16 từ năm 1999, chuẩn bị cho việc phát triển các mạng MAN không dây toàn cầu, thường được gọi là WirelessMAN. Nhóm chuẩn IEEE 802.16, là một khối chuẩn của Ủy ban các chuẩn IEEE 802 LAN/MAN, chịu trách nhiệm về các đặc điểm kĩ thuật của nhóm chuẩn 802.16. Wimax Forum, được thành lập vào năm 2003, với mục đích xúc tiến việc thương mại hóa IEEE 802.16 và MAN vô tuyến hiệu năng cao của viện chuẩn truyền thông Châu Âu. Đặc biệt, IEEE 802.16 còn tiếp tục đưa ra các giải pháp và mở rộng dung lượng để hỗ trợ tài nguyên và phát triển Wimax. Hệ thống IEEE 802.16e được gọi là Mobile Wimax, đây là chuẩn mà có thêm các người sử dụng di động vào trong hệ thống IEEE 802.16 ban đầu [2]. Sau đây là một vài chuẩn IEEE 802.16 cụ thể: Chuẩn 802.16d-2004 Chuẩn 802.16e-2005 Một số chuẩn khác:802.16f, 802.16g, 802.16h, 802.16i, 802.16j, 802.16k Hình 1.6: IEEE 802.16 Wimax . 1.2.1. Một số chuẩn Wimax đầu tiên Wimax là một công nghệ truy nhập không dây băng rộng mà hỗ trợ truy nhập cố định, lưu trú, xách tay và di động. Để có thể phù hợp với các kiểu truy nhập khác nhau, hai phiên bản chuẩn dùng Wimax đã được đưa ra. Phiên bản đầu tiên IEEE 802.16d-2004 sử dụng OFDM, tối ưu hóa truy nhập cố định và lưu trú. Phiên bản hai IEEE 802.16e-2005 sử dụng SOFDMA hỗ trợ khả năng xách tay và tính di động [4][19]. Bảng 1.1: Các kiểu truy nhập trong Wimax . Chuẩn đầu tiên của Wimax Forum CERTIFIED được áp dụng vào cuối năm 2005 và sẽ là chuẩn cho các dịch vụ băng rộng không dây trên nền IP đầu tiên cho cả truy nhập cố định và bán cố định cho các ứng dụng PTP và MTP. Hỗ trợ cho tính di chuyển và di động sẽ đưa ra sau đó trong một chương trình chứng nhận riêng. Wimax Forum chứng nhận chuẩn đầu tiên hỗ trợ tính di động vào đầu năm 2007, các mạng đầu tiên sẽ được triển khai ngay trong năm này.[4] Trong đó, OFDM thêm đặc điểm trực giao vào FDM đa sóng mang. Trực giao nghĩa là không gây ra nhiễu lên nhau. Trong OFDM các sóng mang con được thiết kế để trực giao. Điều này cho phép các sóng mang con chồng lên nhau và tiết kiệm băng tần. Do đó, OFDM đạt được cả tốc độ dữ liệu cao và hiệu suất trải phổ cao. OFDMA cho phép nhiều người dùng truy nhập các sóng mang con cùng một lúc. Ở mỗi đơn vị thời gian, tất cả các người dùng có thể truy nhập. Việc ấn định các sóng mang con cho một người dùng có thể thay đổi ở mỗi đơn vị thời gian. Trong OFDM-TDMA và OFDMA, số lượng sóng mang con thường được giữ bằng nhau với phổ có sẵn. Số sóng mang con không thay đổi dẫn đến không gian sóng mang con thay đổi trong các hệ thống khác nhau. Điều này làm cho việc chuyển giao giữa các hệ thống gặp khó khăn. Ngoài ra, mỗi hệ thống cần một thiết kế riêng và chi phí cao.OFDMA theo tỉ lệ (-SOFDMA) giải quyết các vấn đề này bằng cách giữ cho không gian sóng mang con không thay đổi. Nói cách khác, số sóng mang con có thể tăng hoặc giảm với những thay đổi trong một băng tần cho trước. Ví dụ, nếu một băng tần 5MHz được chia thành 512 sóng mang con, một băng tần 10MHz sẽ được chia thành 1024 sóng mang con [5]. Hình 1.7 : OFDM với 9 sóng mang con . 1.2.1.1. Chuẩn IEEE 802.16d-2004 Chuẩn IEEE 802.16d-2004 hỗ trợ truyền thông LOS trong dải băng từ 11-66GHz và NLOS trong dải băng từ 2-11GHz. Chuẩn này cũng tập trung hỗ trợ các ứng dụng cố định và lưu trú. Hai kĩ thuật điều chế đa sóng mang hỗ trợ cho 802.16d-2004 là OFDM 256 sóng mang và OFDMA 2048 sóng mang. Các đặc tính của WiMAX dựa trên 802.16d-2004 phù hợp với các ứng dụng cố định, trong đó sử dụng các anten hướng tính, bởi vì OFDM ít phức tạp hơn so với SOFDMA. Do đó, các mạng 802.16-2004 có thể được triển khai nhanh hơn, với chi phí thấp hơn [2][4]. 1.2.1.2. Chuẩn IEEE 802.16e-2005 Chuẩn IEEE 802.16e-2005 hỗ trợ SOFDMA cho phép thay đổi số lượng sóng mang, bổ sung cho các chế độ OFDM và OFDMA. Sóng mang phân bổ để thiết kế sao cho ảnh hưởng nhiễu ít nhất tới các thiết bị người dùng bằng các anten đẳng hướng. Hơn nữa, IEEE 802.16e-2005 còn muốn cung cấp hỗ trợ cho MIMO,và AAS cũng như hard và soft handoff. Nó cũng cái thiện được khả năng tiết kiệm nguồn cho các thiết bị mobile và tăng cường bảo mật hơn[2][19]. Hình 1.8: Cấu hình di động chung của 802.16e . OFDMA đưa ra đặc tính của 802.16e như linh hoạt hơn khi quản lý các thiết bị người dùng khác nhau với nhiều kiểu anten và các yếu tố định dạng khác nhau. 802.16e đưa ra các yếu tố cần thiết khi hỗ trợ các thuê bao di động đó là việc giảm được nhiễu cho các thiết bị người dùng nhờ các anten đẳng hướng và cải thiện khả năng truyền NLOS. Các kênh phụ xác định các kênh con để có thể gán cho các thuê bao khác nhau tuỳ thuộc vào các trạng thái kênh và các yêu cầu dữ liệu của chúng. Điều này tạo điều kiện để nhà khai thác linh hoạt hơn trong việc quản lý băng thông và công suất phát, và dẫn đến việc sử dụng tài nguyên hiệu quả hơn [2][4]. 1.2.2 Một số chuẩn 802.16 khác Trong các chuẩn IEEE 802.16 còn một số chuẩn khác liên quan trong Wimax, sau đây là một số chuẩn đó [2][19]. IEEE 802.16f Nhóm nghiên cứu quản lí mạng-NMSG(Network Management Study Group)của IEEE 802.16 được thành lập vào 8/2004. Mục đích của nhóm là định nghĩa thông tin quản lí cơ bản-MIB(Management Information Base)cho lớp MAC và PHY, liên quan tới quá trình xử lí. Nhóm làm việc thực hiện triển khai 802.16f để cung cấp MIB cho hệ thống truy nhập không dây băng rộng vào tháng 9/2005. Hình 1.9: Cơ sở thông tin quản lí Wimax . IEEE 802.16f cung cấp chế độ quản lí tham khảo cho các mạng 802.16-2004 cơ bản. Chế độ này bao gồm một hệ quản lí mạng-NMS(Network Management System), các node mạng, cơ sở dữ liệu luồng dịch vụ. BS và các node quản lí được lựa chọn theo yêu cầu của thông tin quản lí và cung cấp tới các NMS thông qua các giao thức quản lí, như SNMP(Simple Network Management Protocol) qua kết nối quản lí thứ 2 đã định nghĩa trong 802.16-2004. IEEE 802.16f dựa trên các SNMP phiên bản 2, và có thể hướng về các SNMP phiên bản 1, và hiện này đang lựa chọn hỗ trợ SNMP phiên bản 3. IEEE 802.16i Dự án IEEE 802.16i được bắt đầu vào tháng 12/2005 trong NMSG để hoàn thiện hoặc thay thế cho 802.16f. Mục đích của 802.16i là cung cấp cải tiến di động trong MIB 802.16 trong tầng MAC, tầng PHY và các quá trình liên quan tới quản lí. Nó sử dụng phương pháp luận giao thức trung bình (Protocol-neutral Methodology) cho việc quản lí mạng để xác định chế độ tài nguyên và liên hệ thiết lập giải pháp cho quản lí các thiết bị trong mạng di động 802.16 đa nhà cung cấp. IEEE 802.16g Dự án IEEE 802.16g được bắt đầu vào tháng 8/2004 trong NMSG. Mục đích của 802.16g là tạo ra các quá trình và triển khai dịch vụ của 802.16-2004 và 802.16-2005, cung cấp hệ thống quản lí mạng để quản lí tương thích và hiệu quả tài nguyên, tính di động và phổ của mạng; và mặt bằng quản lí chuẩn cho các thiết bị 802.16 cố định và di động. 802.16g định nghĩa các lớp con hội tụ gói chung –GPCS(Generic Packet Convergence Sublayer), là lớp con không phụ thuộc vào giao thức lớp trên, nó hỗ trợ đa giao thức thông qua giao diện không gian 802.16. GPCS được thiết kế cho việc quản lí kết nối linh hoạt hơn bằng các thông tin từ các giao thức của lớp trên mà không cần phân tích tiêu đề. Đây là việc thực hiện cho phép các giao thức lớp trên để xác định rõ thông tin tới các điểm truy nhập dịch vụ-SAP(Service Access Point) và hướng dẫn thông tin tới các kết nối MAC riêng. GPCS cung cấp các cách lựa chọn tới để ghép nhiều mức giao thức qua kết nối 802.16. GPCS không có nghĩa là thay thể các lớp con hội tụ-CS, đã định nghĩa trong chuẩn hoặc các triển khai của 802.16. Đưa tới các thiết bị 802.16 có thể là một phần của một mạng lớn, chúng yêu cầu giao diện với các đối tượng cho mục đích quản lí và điều khiển. Bản tóm tắt 802.16g của một mạng điều khiển và quản lí hệ thống -NCMS (Network Control Management System) mà các gaio diện nối các BS. 802.16g chỉ liên quan tới quan lí và điều khiển tính tương thích giữa các tầng MAC/PHY/CS của các thiết bị 802.16 và NCMS. NCMS bao gồm các đối tượng dịch vụ khác nhau cũng như các dịch vụ bổ sung, dịch vụ định tuyến và cửa ngõ, dịch vụ phiên đa phương tiện quản lí mạng, dịch vụ liên mạng, dịch vụ đồng bộ, dịch vụ đồng bộ, dịch vụ bắt dữ liệu, dịch vụ phân phối, dịch vụ quản lí, dịch vụ bảo mật, dịch vụ quản lí mạng, dịch vụ chức năng chuyển giao độc lập phương tiện. Các đối tượng này có thể tập trung và phân phối qua mạng. Chi tiết của các đối tượng khác nhau mà dạng NCMS cũng tốt như giao thức của NCMS, được lưu trong mục đích của 802.16g. NCMS xử lí một số các inter-BS phối hợp cho phép các lớp 802.16 MAC/PHY/CS mà độc lập với với mạng và do đó, cho phép linh hoạt hơn trong mạng. Hiện nay 802.16g vẫn đang được phát triển. IEEE 802.16k IEEE 802.16k được thành lập vào tháng 3/2006 bởi NMSG để phát triển hàng loạt các chuẩn cho IEEE 802.16 và IEEE 802.1D cho lớp chuyển giao 802.16 MAC. Nhóm nghiên cứu 802.16k làm việc để định nghĩa các quá trình cần thiết và cải tiến lớp MAC để cho phép 802.16-2004 hỗ trợ liên kết các hàm định nghĩa trong 802.1D. Chuyển giao Transparent mà giống như LAN truyền thông của tất cả công nghệ 802.1x, để truyền dẫn một nột từ đầu bởi tất cả các node khác trong mạng LAN. Tuy nhiên, các thiết bị của 802.16-2004 có thể truyền dẫn đệm bởi các địa chỉ, tránh việc tập trung chuyển giao từ các địa chỉ đang học. Vấn đề mà các địa chỉ của 802.16k miêu tả, chính là cách mà dịch vụ lớp con bên trong-ISS(Internal Sublayer Service) được hướng dẫn trong lớp con 802 hội tụ và cách mà các gói tin được xử lí ở phía sau mà dịch vụ phía dưới ISS gần như các chế độ LAN hiệu quả hơn, do đó các liên kết có thể làm việc được. Hơn nữa, 802.16k cung cấp hỗ trợ cho 802.1p đầu cuối tới đầu cuối ưu tiên dữ liệu qua hướng dẫn 1-1 ưu tiên người sử dụng. IEEE 802.16h Nhóm làm việc được miễn đăng kí –LETG(License-Exempt Task Group)của IEEE 802.16 được bắt đầu vào tháng 12/2004 để phát triển chuẩn nhằm cải thiện phương pháp cho hoạt động của phổ miễn đăng kí. Mục đích chính của IEEE 802.16h nhằm phát triển cải thiện các thiết bị 802.16-2004 và tồn tại linh hoạt với các hệ thống khác mà sử dụng cùng băng tần. Việc cải tiến trong xử lí với mục đích nhằm áp dụng các phổ tần số đã định nghĩa trong 802.16-2004. Việc thiết kế 802.16h một giao thức tồn tại mà được định nghĩa trong mức IP và duy trì trong truyền thông BS-BS. Giao thức tồn tại hướng dẫn các phương pháp cho việc tính toán và thỏa thuận của phổ tài nguyên vô tuyến giữa các BS trong dải nhiễu. Việc xử lí được sử dụng các giao thức tồn tại trong nhiễu nhằm giải quyết dựa trên hoạt động nhiễu trong miền tần số và thời gian. Đâu tiên là hoạt động nhiễu trong miền tần số nhận được, sau đó là hoạt động duy trì nhiễu trong miền thời gian. IEEE 802.16j Nhóm làm việc chuyển tiếp –RTG(Relay Task Group) của IEEE 802.16 trong việc tập hợp triển khai phát triển các cải tiến để mở rộng IEEE 802.16e-2005 để hỗ trợ hoạt động chuyển tiếp đa hops. Nhóm nghiên cứu chuyển tiếp đa hops di động-MMRSG(Mobile Multihop Relay Study Group) trong việc chi phí cho dự án IEEE 802.16j kể từ tháng 7/2005. Nhóm nghiên cứu đã giải tán vào tháng 3/2006 và dự án được gán cho nhóm nghiên cứu chuyển tiếp, sẽ tiếp tục để làm việc trong dự án mà vẫn tiếp tục những bản nháp phác thảo đầu tiên. 802.16 được mở rộng nhằm sử dụng tài nguyên của mạng 802.16 về việc hội tụ, thông lượng, và dung lượng của hệ thống. 802.16j mở rộng cấu trúc mạng của tài nguyên 802.16 để lại bao gồm 3 mức chuyển tiếp: các chuyển tiếp cố định, các chuyển tiếp lưu trú, các chuyển tiếp di động. 802.16j yêu cầu các hoạt động của các node chuyển tiếp qua các dải băng đăng kí. Giao diện không gian vật lí của OFDMA trong tầng vật lí chuyên dụng được chọn để tạo nhóm hoạt động 802.16j. 802.16j hỗ trợ để định nghĩa tầng MAC cần thiết để cải tiến tại cùng thời điểm nó không thay đổi các SS chuyên dụng. Tuy nhiên, việc tồn tại loại chuyển tiếp di động yêu cầum xử lí trễ, cho nên sẽ mang bởi các MS. Để cung cấp hiệu quả xử lí khác nhau, MS nên được chọn thật hiệu quả và nên có một số kiến thức về trạng thái của mạng, các đặc điểm di động của MS khác nhau, và lưu lượng. Do đó, MS thông thường không thể phục vụ như một chuyển tiếp đa hops di động-MMR(Mobile Multihop Relay), khi mà trạm chuyển tiếp đã được yêu cầu như là một BS cho MS và như là MS cho BS. Khi đó, 802.16j định nghĩa hỗ trợ 3 loại cáp RS hỗ trợ cho liên kết PMP, liên kết MMR và tập trung lưu lượng từ nhiều RS. Để truyền thông RS linh hoạt hơn với BS, thì yêu cầu thay đổi BS để hỗ trợ liên kết NNR và tập trung lưu lượng từ nhiều RS. Để thực hiện các yêu cầu MMR, 802.16j cải tiến cấu trúc khung thông thường tại tâng PHY và thêm vào các bản tin mới để chuyển tiếp tại lớp MAC. Chúng ta chú thích rằng chế độ lưới 802.16-2004 ngẫu nhiên sẽ khác so với 802.16j. Thường thì, 802.16j bắt đầu trải qua các giới hạn về chế độ lưới, bởi vì việc thay thế các chế độ lưới của cấu trúc khung 802.16-2004 bởi cấu trúc điểm – điểm. Do đó, các thiết bị 802.16-2004 PMP thông thường không liên lạc qua các thiết bị lưới. Do vậy, một trong các mục đích chính của 802.16j là để thiết kế MMR không điều chỉnh các SS. Do vậy, để giữ lại cấu trúc khung phù hợp với hướng về PMP, 802.16j không giống như chế độ lưới định nghĩa kiến trúc mạng dựa trên cấu trúc Tree với các BS là gốc. Hình 1.10: Kiến trúc mạng-MMR thông qua Wimax thông thường . 1.3. Lớp con bảo mật trong Wimax Lớp con bảo mật được định nghĩa trong IEEE 802.16e, và hiệu chỉnh cho các hoạt động của 802.16-2004, có một số hố bảo mật (như việc nhận thực của BS) và các yêu cầu bảo mật cho các dịch vụ di động không giống như cho các dịch vụ cố định. Lớp con này bao gồm hai giao thức thành phần sau[10][13] : Giao thức đóng gói dữ liệu (Data Encapsulation Protocol): Giao thức này dùng cho việc bảo mật gói dữ liệu truyền qua mạng BWA cố định. Giao thức này định nghĩa tạo một tập hợp các bộ mật mã phù hợp, như kết hợp giữa mã hóa dữ liệu và thuật toán nhận thực, và quy luật áp dụng thuật toán cho tải tin PDU của lớp MAC. Giao thức quản lí khóa (Key Management Protocol): Giao thức này cung cấp phân phối khóa bảo mật dữ liệu từ BS tới SS.Qua giao thức quản lí khóa thì SS và BS được đồng bộ về khóa dữ liệu. Thêm vào đó, BS cũng sử dụng giao thức để truy nhập với điều kiện bắt buộc tới các mạng dịch vụ. 802.16e triển khai định nghĩa được PKM phiên bảo 2 với các đặc tính mở rộng. Hình 1.11: Thành phấn của lớp con bảo mật . 1.4. Kết luận Phủ sóng trong phạm vi rộng, tốc độ truyền tin lớn, hỗ trợ đồng thời nhiều thuê bao và cung cấp các dịnh vụ như VoIP, Video mà ngay cả ADSL hiện tại cũng chưa đáp ứng được là những đặc tính ưu việt cơ bản của WiMax. Các đường ADSL ở những khu vực mà trước đây đường dây chưa tới được thì nay đã có thể truy cập được Internet. Các công ty với nhiều chi nhánh trong thành phố có thể không cần lắp đặt mạng LAN của riêng mình là chỉ cần đặt một trạm phát BTS phủ sóng trong cả khu vực hoặc đăng ký thuê bao hàng tháng tới công ty cung cấp dịch vụ. Để truy cập tới mạng, mỗi thuê bao được cung cấp một mã số riêng và được hạn chế bởi quyền truy cập theo tháng hay theo khối lượng thông tin mà bạn nhận được từ mạng. Bên cạnh đó, hệ thống WiMax sẽ giúp cho các nhà khai thác di động không còn phải phụ thuộc vào các đường truyền phải đi thuê của các nhà khai thác mạng hữu tuyến, cũng là đối thủ cạnh tranh của họ. Hầu hết hiện nay đường truyền dẫn giữa BSC và MSC hay giữa các MSC chủ yếu được thực hiện bằng các đường truyền dẫn cáp quang, hoặc các tuyến viba điểm-điểm. Phương pháp thay thế này có thể giúp các nhà khai thác dịch vụ thông tin di đông tăng dung lượng để triển khai các dịch vụ mới với phạm vi phủ sóng rộng mà không làm ảnh hưởng đến mạng hiện tại. Ngoài ra, WiMax với khả năng phủ sóng rộng, khắp mọi ngõ ngách ở thành thị cũng như nông thôn, sẽ là một công cụ hỗ trợ đắc lực trong các lực lượng công an, lực lượng cứu hoả hay các tổ chức cứu hộ khác có thể duy trì thông tin liên lạc trong nhiều điều kiện thời tiết, địa hình khác nhau. Chuẩn mới nhất dành cho WiMAX, IEEE 802.16e mở ra cánh cửa mới cho tính di động trong mạng không dây, nhưng cũng làm tăng thêm các nguy cơ tấn công, bởi giờ đây kẻ tấn công không còn bị ràng buộc về vị trí nữa. Do vậy, nghiên cứu kỹ thuật bảo mật là một quá trình lâu dài. Và nghiên cứu phần nhỏ trong các vấn đề bảo mật Wimax thì chương II sẽ nêu các phương pháp mã hóa bảo mật nói chung [3][35]. CHƯƠNG II: CÁC PHƯƠNG PHÁP MÃ HÓA BẢO MẬT 2.1. Giới thiệu về mã hóa bảo mật Cụm từ “Crytology”-mật mã, được xuất phát từ các từ Hi Lạp “krypto’s”- tạm dịch là “hidden” - bị ẩn, dấu và từ “lo’gos”- tạm dịch là “word”- từ. Do đó, cụm từ “Cryptology” theo nghĩa chuẩn nhất là “hidden word” - từ bị ẩn. Nghĩa này đã đưa ra mục đích đầu tiên của mật mã, cụ thể là làm ẩn nghĩa chính của từ và bảo vệ tính an toàn của từ và bảo mật kèm theo. [10] Hệ thống mã hóa chỉ ra: ”một tập các thuật toán mật mã cùng với các quá trình quản lí khóa mà hỗ trợ việc sử dụng các thuật toán này tùy theo hoàn cảnh ứng dụng”. Các hệ thống mã hóa có thể hoặc không sử dụng các tham số bí mật (ví dụ như: các khóa mật mã,…). Do đó, nếu các tham số bí mật được sử dụng thì chúng có thể hoặc không được chia sẻ cho các đối tượng tham gia. Vì thế, có thể phân tách thành ít nhất 3 loại hệ thống mật mã. Đó là : Hệ mật mã hóa không sử dụng khóa: Một hệ mật mã không sử dụng khóa là một hệ mật mã mà không sử dụng các tham số bí mật Hệ mật mã hóa khóa bí mật: Một hệ mật mã khóa bí mật là hệ mà sử dụng các tham số bí mật và chia sẻ các tham số đó giữa các đối tượng tham gia. Hệ mật mã hóa khóa công khai: Một hệ mật mã khóa công khai là hệ mà sử dụng các tham số bí mật và không chia sẻ các tham số đó giữa các đối tượng tham gia. 2.2. Các phương pháp mã hóa bảo mật 2.2.1. Mã hóa không dùng khóa 2.2.1.1. Hàm mũ rời rạc Từ tập số thực, ta biết rằng các hàm mũ và hàm Logarit là hàm ngược của nhau nên chúng có thể tính nghiệm được cho nhau. Điều này dẫn tới việc chúng ta phải tin tưởng vào quan điểm này trong cấu trúc đại số. Như vậy, tuy rằng với các cấu trúc đại số thì ta có thể tính được nghiệm của hàm mũ, nhưng ta không thể biết được thuật toán được sử dụng để tính nghiệm của hàm Logarit. Theo cách nói thông thường thì hàm f: X ->Y là hàm một chiều nếu tính toán theo chiều X->Y thì dễ nhưng khó tính theo chiều ngược lại. Và ta có định nghĩa hàm một chiều như sau : Một hàm f: X->Y là hàm một chiều nếu f(x) có thể tính được nghiệm với mọi x Є X, nhưng hàm f-1(y) thì không thể tính được nghiệm với y ЄR Y. Hình 2.1 :Mô tả hàm một chiều Ví dụ như, ta có p là một số nguyên tố và g là một hàm sinh (hoặc là gốc) của Z*p . Khi đó: Expp,g : Zp-1 →Zp* x → gx Hàm này được gọi là hàm mũ rời rạc dựa trên g. Nó được định nghĩa là một đẳng cấu từ nhóm cộng (Zp-1, +) tới nhóm nhân (Zp*, .). Nghĩa là Expp,g (x+ y) = Expp,g(x) (.) Expp,g(y). Bởi vì, Exp p.g là một song ánh, nó có hàm ngược được định nghĩa như sau: Logp,g : Z* → Zp-1 x → loggx Hàm này được gọi là hàm logarit rời rạc. Với mỗi x Є Z*p, hàm logarit rời rạc tính được logarit rời rạc của x dựa vào g, được kí hiệu là loggx . [10] 2.2.1.2. Hàm bình phương module Tương tự như hàm mũ, hàm bình phương có thể tính được và kết quả của hàm ngược là các số thực, nhưng không biết cách để tính ngược trong nhóm Cyclic. Nếu ví dụ như ta có Z*n , sau đó các bình phương module có thể tính được, nhưng các gốc của bình phương module thì chỉ tính được nếu tham số cơ bản của n đã biết. Trong thực tế, có thể biểu diễn giá trị mà các gốc bình phương module trong Zn* và hệ số n là các giá trị tính được. Do đó, hàm bình phương module giống như hàm một chiều. Nhưng, hàm bình phương module (không khuôn dạng chung) không là hàm đơn ánh cũng không là hàm toàn ánh. Tuy nhiên, nó có thể là hàm đơn ánh hoặc toàn ánh (sẽ là song ánh) nếu domain và dải đều bị hạn chế (ví dụ như, tập các thặng dư bậc 2 hoặc các bình phương module n, …) với n là số nguyên Blum. Khi đó hàm : Square n : QR n → QR n x → x 2 được gọi là hàm bình phương. Đây là một song ánh, và do đó, hàm ngược của nó là: Sqrt n : QR n → QR n x → x 1/2 được gọi là hàm gốc bình phương. Tương ứng mỗi phần tử trong tập QR n sẽ có một phần tử của QR n . [10] 2.2.1.3. Bộ tạo bít ngẫu nhiên Hình 2.2: Bộ tạo bít ngẫu nhiên Tính ngẫu nhiên là một trong những thành phần cơ bản nhất và là điều kiện trước tiên của tính bảo mật trong một hệ thống bảo mật. Hiện nay, sự hình thành bảo mật và các giá trị ngẫu nhiên không đoán trước được (ví dụ như, các bít ngẫu nhiên hoặc các số ngẫu nhiên, …) là phần trọng tâm của hầu hết các vấn đề liên quan tới hệ thống mật mã. Ví dụ, khi xem xét hệ mật mã khóa bí mật, ta phải biết số lượng khóa bí mật được sử dụng. Ta cần phải có một bit ngẫu nhiên cho mọi bit khác mà ta muốn mã hóa.Còn khi xem xét mã hóa công khai thì ta cần biết số lượng bit ngẫu nhiên để tạo các cặp khóa công khai. Một bộ tạo bit ngẫu nhiên là một thiết bị hoặc thuật toán mà đầu ra là một chuỗi các bit ngẫu nhiên và độc lập thống kê với nhau. Các bộ tạo bít ngẫu nhiên có thể dựa trên phần cứng hoặc phần mềm. Trước tiên, ta cùng tìm hiểu về bộ tạo bit ngẫu nhiên dựa trên phần cứng, khai thác tính ngẫu nhiên của việc xuất hiện các phương pháp và hiện tượng vật lí. Một số phương pháp và hiện tượng như sau: Khoảng thời gian giữa các hạt phóng xạ trong quá trình phân rã phóng xạ. Tạp âm nhiệt từ điện trở và diode bán dẫn Tần số không ổn định trong máy dao động tần số chạy Giá trị của một tụ bán dẫn cách điện kim loại là độ tích điện trong một chu kì cố định. Sự chuyển động hỗn loạn của không khí trong ổ đĩa kín là nguyên nhân dẫn tới thăng giáng ngẫu nhiên trong từng sector của ổ đĩa đọc bị trễ. Âm thanh của microphone hoặc video mà đầu vào từ máy quay phim Tất nhiên là, các phương pháp và hiện tượng vật lí khác có thể được sử dụng bởi các bộ tạo bít ngẫu nhiên dựa trên phần cứng. Bộ tạo bít ngẫu nhiên dựa trên phần cứng có thể dễ dàng tích hợp trong hệ thống máy tính hiện nay. Do bộ tạo bit ngẫu nhiên dựa trên phần cứng chưa được triển khai rộng rãi nên nó chỉ được sử dụng để phục vụ cho các nguồn mang tính ngẫu nhiên. Việc thiết kế bộ tạo bít ngẫu nhiên dựa trên phần mềm là khó hơn so với thực hiện trên phần cứng. Một số phương pháp dựa trên các bộ tạo bít ngẫu nhiên dựa trên phần mềm là: Hệ thống đồng hồ Khoảng thời gian giữa phím gõ và di chuyển chuột Nội dung đầu vào/ đầu ra của bộ đệm Đầu vào cung cấp bởi người sử dụng Giá trị các biến hoạt động của hệ thống, cũng như tải trọng của hệ thống hoặc thống kê mạng Mặt khác, danh sách trên không phải là dành riêng mà nhiều các phương pháp khác cũng có thể sử dụng các bộ tạo bit ngẫu nhiên dựa trên phần mềm. Cũng như vậy, các phương pháp này phụ thuộc vào các hệ số khác nhau, như chủng loại máy tính, hệ điều hành, và phần mềm hiện tại mà máy tính sử dụng. Đây cũng là một vấn đề khó khăn để tránh sự tấn công từ các phương pháp điều khiển và quan sát. Ví dụ, nếu có một tấn công với ý tưởng thô là, khi có một chuỗi bít ngẫu nhiên vừa được tạo ra, thì kẻ tấn công sẽ đoán phần chính mà hệ thống đồng hồ tại thời điểm nào đó, một cách chính xác. Do đó, cần cẩn thận khi hệ thống đồng hồ và các số xác nhận của phương pháp đang dùng mà được sử dụng để tạo chuỗi bít ngẫu nhiên. Vấn đề đầu tiên xuất hiện vào năm 1995, khi mà tìm thấy mã hóa trong trình duyệt Netscape, có thể bị phá vỡ trong vòng mấy phút để giới hạn dải giá trị cung cấp bởi bộ tạo bit ngẫu nhiên. Bởi vì, các giá trị được sử dụng để tạo các khóa thực hiện không quá khó, thậm chí trình duyệt của U.S với 128 bits khóa mang chỉ 47 bits của entropy trong các khóa. Sau một khoảng thời gian ngắn, nhận thấy rằng Kerberos phiên bản 4 của viện công nghệ Massachusetts và cơ cấu tạo bánh cookie của hệ thống Windows X dần trở nên yếu. Thỉnh thoảng, có một số vấn đề dùng cho các nguồn ngoài một cách ngẫu nhiên (ví dụ như, từ ngoài vào hệ thống máy tính thì cần tính ngẫu nhiên). Ví dụ, một nguồn điện áp có tính ngẫu nhiên thì khó đoán được trong thị trường chứng khoán. Tuy nhiên, có một số nhược điểm, ví dụ như, thỉnh thoảng khó dự đoán (như tai nạn xe,…), có thể điều khiển được (như, sự truyền lan các tin đồn hoặc sự sắp đặt lịch cho một kho giao dịch lớn) và điều này không thể bí mật được. Có thể phán đoán rằng chiến lược tốt nhât cho việc đáp ứng yêu cầu của các bit ngẫu nhiên không thể đoán được trong tình trạng thiếu một nguồn tin cậy đơn là cách để tìm được đầu vào ngẫu nhiên từ một lượng lớn của các nguồn mà không tương quan tới nhau, và kết hợp chúng bằng một hàm trộn mạnh. Một hàm trộn mạnh, là một sự kết hợp của hai hoặc nhiều đầu vào và tìm một đầu ra mà bit đầu ra phải là một hàm phi tuyến phức của tất cả các bit đầu vào khác biệt hẳn. Trung bình cứ thay đổi một bit đầu vào sẽ thay đổi một nửa số bit đầu ra. Nhưng bởi vì quan hệ này là phức tạp và phi tuyến nên không riêng bit đầu ra nào được dám chắc sẽ thay đổi khi một số thành phần bit đầu vào đã thay đổi. Một ví dụ đơn thuần như, một hàm mà cộng thêm vào 232 . Các hàm trộn mạnh (với hơn 2 đầu vào) có thể được xây dựng để sử dụng trong các hệ thống mật mã khác, các hàm Hash mật mã hoặc các hệ mật mã đối xứng. [10]. 2.2.2. Mã hóa khóa bí mật Mã hóa khóa bí mật, hay cũng được biết đến là mã hóa đối xứng, được sử dụng từ hàng nghìn năm trước với nhiều phương thức từ đơn giản như mật mã thay thế cho đến những phương pháp phức tạp hơn rất nhiều. Tuy nhiên, sự phát triển của toán học và sự lớn mạnh của các công nghệ máy tính hiện đại ngày nay đã giúp chúng ta có khả năng tạo ra được những loại mật mã khó có thể bị bẻ gãy, và được sử dụng một cách hiệu quả. Hệ thống đối xứng nói chung là rất nhanh nhưng lại dễ bị tấn công do khóa được sử dụng để mã hóa phải được chia sẻ với những người cần giải mã bản tin đã mã hóa đó [25]. Mật mã đối xứng, hay mật mã khóa bí mật gồm có các dạng mật mã mà trong đó sử dựng một khóa duy nhất cho cả hai quá trình mã hóa và giải mã văn bản. Một trong những phương pháp mã hóa đơn giản nhất đó là phương pháp mã hóa thường được biết đến bằng cái tên mật mã Caesar [25] Một sơ đồ mã hóa đối xứng bao gồm có 5 thành phần sau (hình 2.3) : Văn bản gốc : Đây là một bản tin hay một loại dữ liệu có thể hiểu được một cách thông thường, được xem như là đầu vào của giải thuật. Thuật toán mã hóa : Thuật toán mã hóa biểu diễn các phép thay thế và biến đổi khác nhau trên văn bản gốc. Khóa bí mật : Khóa bí mật cũng là đầu vào của thuật toán mã hóa. Khóa có giá trị độc lập với văn bản gốc cũng như với thuật toán. Thuật toán sẽ tính toán được đầu ra dựa vào việc sử dụng một khóa xác định. Những thay thế và biến đổi chính xác được biểu diễn bởi thuật toán sẽ phụ thuộc vào khóa. Văn bản mật mã: Đây là bản tin đã xáo trộn nội dung được tạo ra với tư cách như là đầu ra. Nó phụ thuộc vào văn bản gốc và khóa bí mật. Với một bản tin được đưa ra, hai khóa khác nau sẽ tạo ra hai văn bản mật mã khác nhau. Văn bản mật mã nhìn bên ngoài sẽ như là một luồng dữ liệu ngẫu nhiên không thể xác định được nội dung, khi cố định. Thuật toán giải mã: Về cơ bản thì đây cũng là một thuật toán mã hóa nhưng hoạt động theo chiều ngược lại. Nó được thực hiện với văn bản mã hóa và khóa bí mật và sẽ tạo lại văn bản gốc ban đầu. Hình 2.3 : Mô hình đơn giản của mã hóa thông thường [7-sec2.1] . 2.2.2.1. Mật mã Caesar Một trong những mật mã hóa ra đời sớm nhất là mật mã Caesar, được tạo ra bởi Julius Caecar trong cuộc chiến tranh Gallic, vào thế kỷ thứ nhất trước công nguyên [12-23]. Trong loại mật mã hóa này, mỗi chữ cái từ A đến W được mã hóa bằng cách chúng sẽ được thể hiện bằng chữ cái xuất hiện sau nó 3 vị trí trong bảng chữ cái. Ba chữ cái X, Y, Z tương ứng được biểu diễn bởi A, B, và C. Mặc dù Caesar sử dụng phương pháp dịch đi 3 nhưng điều này cũng có thể thực hiện với bất kì con số nào nằm trong khoảng từ 1 đến 25 [12]. Trong hình 2.4 biểu diễn hai vòng tròn đồng tâm, vòng bên ngoài quay tự do. Nếu ta bắt đầu từ chữ cái A bên ngoài A, dịch đi 2 chữ cái thì kết quả thu được sẽ là C sẽ bên ngoài A… Bao gồm cả dịch 0, thì có tất cả 26 cách phép dịch [12]. Hình 2.4 : “Máy” để thực hiện mã hóa Caesar [12] . Do chỉ có 26 khóa nên mật mã Caesar có thể bị tổn thương dễ dàng. Khóa có thể được xác định chỉ từ một cặp chữ cái tương ứng từ bản tin gốc và bản tin mã hóa. Cách đơn giản nhất để tìm được khóa đó là thử tất cả các trường hợp dịch, chỉ có 26 khóa nên rất dễ dàng [12]. Mỗi chữ cái có thể được dịch đi tối đa lên đến 25 vị trí nên để có thể phá được mã này, chúng ta có thể liệt kê toàn bộ các bản tin có thể có và chọn ra bản tin có nội dung phù hợp nhất [23]. 2.2.2.2. Mật mã Affine Vì mật mã Caesar chỉ có thể đưa ra được 25 cách biến đổi bản tin nhất định, nên đây là phương pháp mã hóa không thực sự an toàn. Mật mã Affine là trường hợp suy rộng của mật mã Caesar, và nó tốt hơn về khả năng bảo mật. Mật mã Affine áp dụng phép nhân và phép cộng vào mỗi chữ cái, sử dụng hàm sau : y = (ax + b) mod m trong đó x là giá trị số của chữ cái trong bản tin chưa mã hóa, m là số chữ cái trong bảng chữ cái bản tin chưa mã hóa, a và b là các số bí mật, và y là kết quả thu được của phép biến đổi. y có thể được giải mã trở lại x bằng các sử dụng biểu thức x = inverse (a)(y-b) mod m , inverse(a) là giá trị mà nếu nó được nhân với kết quả a mod m sẽ cho ta kết quả là 1 ((a * inverse(a)) mod m = 1.) Vì phép tính liên quan đến modulo 26, nên một vài chữ cái có thể không được giải mã ra kết quả duy nhất nếu số nhân có một ước chung với 26. Do đó, ước chung lớn nhất của a và m phải bằng 1, (a,m)=1 Ví dụ : Giả sử bản tin được mã hóa bằng hàm y = (11x+4) mod 26. Để mã hóa bản tin MONEY. Các giá trị số tương ứng với bản tin gốc MONEY là 12,14,13,4 và 24. Áp dụng vào hàm cho mỗi giá trị, ta thu được lần lượt tương ứng y = 6, 2, 17, 22, 28 ( M: y = (11*12 + 4) MOD 26 = 6 ). Và các chữ cái tương ứng là GCRWI, đó là bản tin đã được mã hóa. Để giải mã, ta biến đổi hàm số y thành x = inverse (a) (y-b) mod m. Ta có x = inverse (11)( (y-4) mod 26. Mà inverse (11) mod 26 = 19, do đó x = 19 (y – 4) mod 26. Áp dụng với bản tin mã hóa GCRWI ta thu được các giá trị x = 12, 14, 13, 4, 24. Các chữ cái tương ứng là MONEY. Nhưng do chúng ta biết mỗi chữ cái trong bản tin gốc được mã hóa theo hàm y=(ax+b) mod m, ta có thể phá được mã affine bằng cách giải hai phương trình tuyến tính. Một khi ta xác định được giá trị của a và b, ta có thể giải mã được toàn bộ bản tin đã mã hóa. Ví dụ, giả sử rằng “IF” được mã hóa thành “PQ” I P: 8a + b = 15 MOD 26 F Q: 5a + b = 16 MOD 26 Giải ra ta được a=17, b=9. [23] 2.2.2.3. Mật mã thay thế. Mã hóa thay thế là một trong những phương pháp mã hóa mà bảng chữ cái đã mã hóa là sự sắp xếp lại của bảng chữ cái chưa mã hóa [23]. Mặc dù việc có một số lượng lớn các khóa là yêu cầu cần thiết cho bảo mật, nhưng điều đó không có nghĩa là hệ thống mã hóa là đủ mạnh [12]. Mã hóa thay thế, mặc dù có 26! khả năng thay đổi vị trí sắp xếp, thực tế lại không có khả năng bảo mật cao và có thể bị phá một cách dễ dàng bằng cách sử dụng tần suất xuất hiện của các chữ cái. Mã hóa thay thế là phương pháp tốt để mã hóa các bản tin cần mã hóa về hình thức bề ngoài và dễ dàng phá. Ví dụ, kết hợp bảng chữ cái với các từ khóa keywords: Người gửi và người nhận quyết định tùy thuộc vào từ khóa. Trong trường hợp này, ví dụ ta sử dụng từ khóa “the cows go moo in the field”. Bảng chữ cái chưa mã hóa và bảng chữ cái đã được mã hóa được đưa ra như sau: Plaintext: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Ciphertext: T H E C O W S G M I N F L D A B J K P Q R U V X Y Z Nửa đầu của các chữ cái được mã hóa được chuyển đổi thông qua cụm từ khóa (bỏ qua những chữ cái được lặp lại), và nửa sau được tạo ra bằng cách sử dụng các chữ cái còn lại của bảng chữ cái từ A-Z. Ví dụ, thực hiện mã hóa bản tin “Meet me at five o’clock”. Để mã hóa bản tin này, đơn giản chỉ cần liệt kê mỗi chữ cái trong bản tin tương ứng với mỗi chữ cái được mã hóa trong bảng chữ cái. Từ đó ra thu được bản tin được mã hóa như sau : LOOQLOTQWMUOAEFAEN. Vì người nhận biết được cụm từ khóa, nên họ có thể dễ dàng giải mã đuợc bản tin mã hóa bằng cách liệt kê ngược lại từ các chữ cái trong bảng chữ cái đã mã hóa sang các chữ cái trong bảng chữ cái chưa mã hóa. Từ đó sẽ thu được bản tin giải mã : meetmeatfiveoclock Tuy nhiên việc sử dụng phương pháp mã hóa này cũng có nhiều điểm không thuận lợi. Vấn đề chính của phương pháp mã hóa thay thế chính là tần suất xuất hiện của các chữ cái không được che giấu một chút nào. Nếu bản tin được mã hóa LOOQLOTQWMUOAEFAEN được phân chia ra, người ta có thể xác định được tần suất xuất hiện của mỗi chữ cái và so sánh chúng với tần suất xuất hiện của các chữ cái trong tiếng Anh: ‘O’ được sử dụng 4 lần trong bản tin mã hóa, L,Q,A và A xuất hiện mỗi chữ cái 2 lần. 9 chữ cái có tần suất xuất hiện nhiều nhất trong tiếng Anh là E, T, A, O, N, I, S, R và H. Từ đó có thể suy đoán được bản tin mã hóa [23]. 2.2.2.4. Các mã hoán vị Ý tưởng đằng sau mật mã hoán vị là tạo ra một sự thay đổi vị trí của các chữ cái trong bản tin gốc, điều này sẽ làm xuất hiện bản tin mã hóa. Mã hóa hoán vị không có tính bảo mật cao bởi vì chúng không thay đổi các chữ cái trong bản tin gốc hoặc thậm chí là xuất hiện nhiều lần, nhưng chúng có thể được xây dựng để trở thành phương pháp mã hóa bảo mật hơn. Một ví dụ của mã hoán vị là mã rail fence. Mã Rail fence: là một hoán vị theo cột hết sức đơn giản, lấy một chuỗi và chia nhỏ các chữ cái thành hai nhóm theo đường zigzag như dưới đây: Bản tin gốc : WHEN-DRINKING-WATER-REMEMBER-ITS-SOURCE. Zig : W E D I K N W T R E E B R T S U C Zag: H N R N I G A E R M M E I S O R E. Bản tin mã hóa = zig+zag = WEDIKNWTREEBRTSUCHNRNIGAERMMEIORE Mật mã Scytale: Vào thế kỉ thứ 4 trước công nguyên, một thiết bị tên là Scytale được sử dụng để mã hóa các bản tin của quân đội và chính phủ Spartan. Thiết bị bao gồm một trụ gỗ với một dải giấy cuộn quanh nó. Khi giấy được bỏ đi, nó đơn giản chỉ là một dãy các chữ cái hỗn độn, nhưng trong khi cuốn xung quanh trụ gỗ, bản tin sẽ trở nên rõ ràng. Scytale lấy ý tưởng từ mã hóa rail fence và mở rộng nó bằng cách sử dụng một khóa có độ dài xác định để hỗ trợ việc che giấu bản tin. Ví dụ văn bản gốc là When drinking water, remember its source, độ dài là 34, ta chọn độ dài khóa là 4. Chia bản tin độ dài 34 ra các khóa độ dài 4, ta được 8 còn dư 2. Do đó ta làm tròn độ dài mỗi hàng của Scytale lên 9 và thêm vào bản tin 2 chữ cái Z. W H E N D R I N K I N G W A T E R R E M E M B E R I T S S O U R C E Z Z Bảng 2.1 : Mã hóa Scytale Bằng cách sắp xếp các chữ cái theo từng cột từ trái qua phải ta thu được : WIESHNMSEGEONWMUDABRRTECIERENRIZKRTZ. Để giải mã, ta biết rằng kích thước của khóa là 4, do đó ta viết 4 chữ cái đầu tiên từ trên xuống dưới rồi đến 4 chữ cái tiếp theo. Đọc các chữ cái và bỏ đi các chữ cái cuối cùng ta sẽ nhận được bản tin gốc. Điều không thuận lợi cho phương pháp này là với những bản tin nhỏ, văn bản mã hóa có thể dễ dàng bị phát hiện bằng cách thử các giá trị khóa khác nhau. Mã Rail fence không có tính thực tế cao, do việc thiết kế đơn giản và bất kỳ người nào cũng có thể bẻ gãy. Ngược lại mã Scytale thực tế lại rất hữu dụng cho việc đưa những bản tin nhanh cần thiết để giải mã bằng tay. Vấn đề chính của cả hai loại mã này là các chữ cái không thay đổi, do đó đếm tần suất xuất hiện của các chữ cái có thể giúp khôi phục bản tin gốc. [23] 2.2.2.5. Mật mã Hill Một loại mật mã khác cũng liên quan đến việc chuyển đổi các chữ cái đó là mật mã Hill, được phát triển bởi nhà toán học Lester Hill vào năm 1929 [11]. Mật mã Hill là một ví dụ của mật mã khối. Mật mã khối là một loại mật mã mà các nhóm các chữ cái được mã hóa cùng với nhau theo các khối có độ dài bằng nhau. Để mã hóa một bản tin sử dụng mật mã Hill, người gửi và người nhận trước hết phải thống nhất về ma trận khóa A cỡ n× n. A phải là ma trận khả nghịch. Bản tin gốc sau đó sẽ được mã hóa theo các khối có kích thước n. Ví dụ ta xét ma trận 2×2 và bản tin sẽ được mã hóa theo các khối 2 kí tự. Ma trận A: , bản tin MISSISSIPI Khối đầu tiên MI được tính toán tương ứng:(M~12,I~ 8) Hai chữ cái đầu tiên của bản tin mã hóa tương ứng với 2, 8 là CI. Lặp lại bước này cho toàn bộ bản tin. Nếu không có đủ chữ cái cho khối 2 chữ thì ta chèn thêm vào một vài chữ cái, như Z… Bản tin MI SS IS SI PP IK sẽ được mã hóa thành CI KK GE UW ER OY. Giải mã mật mã Hill: Để giải mã một bản tin, trước hết ta tính ma trận nghịch đảo của ma trận khóa A. Sau đó nhân ma trận nghịch đảo với từng cặp chữ cái trong bản tin đã được mã hóa (theo mod 26) để khôi phục lại bản tin gốc. Ma trận nghịch đảo tính được : Bản tin đã mã hóa : CIKKGEWEROY Phía nhận sẽ tính : để giải mã bản tin. Hai chữ cái đầu tương ứng với 12, 8 là M và I. Lặp lại phép tính như trên ta sẽ giải mã ra được toàn bộ bản tin. [23] 2.2.2.6. Mật mã Vigenère Mật mã Vigenere có lẽ là mật mã nổi tiếng nhất trong số các mật mã đa chữ cái có thể tính toán bằng tay, được sáng tạo bởi Blaise de Vigenere, nhà ngoại giao người Pháp ở thế kỉ 16. Mặc dù mật mã này được sáng lập năm 1586, nhưng nó chỉ thực sự được sử dụng một cách rộng rãi sau gần 200 năm sau đó và cuối cùng cũng bị bẻ gãy bởi Babbage và Kasiski vào giữa thế kỉ 19. Mật mã Vigenère đã từng được sử dụng bởi quân đội liên bang trong cuộc nội chiến ở Mỹ năm 1860 [12]. Mật mã đa thay thế chữ cái tương tự với mật mã thay thế đơn chữ cái ngoại trừ một vấn đề là các chữ cái được mã hóa được thay đổi một cách liên tục trong quá trình mã hóa bản tin. Điều này làm cho loại mật mã này giảm được nguy cơ bị xâm hại bằng cách sử dụng tần suất xuất hiện của các chữ cái [23]. Mật mã Vigenère sử dụng bảng chữ của Vigenere để thực hiện mã hóa [12] Hình 2.5 : The Vigenère Square [12] Có hai phiên bản khác nhau của mã hóa Vigenère, phương pháp khóa tự động và phương pháp từ khóa [23]. Phương pháp khóa tự động: Để mã hóa một bản tin sử dụng phương pháp khóa tự động Vigenere, nguời gửi và người nhận trước hết phải thống nhất với nhau về khóa bí mật. Khóa này là một chữ cái đơn, sẽ được thêm vào đầu của bản tin để tạo khóa. Người gửi sẽ mã hóa bản tin bằng cách viết bản tin gốc trên một dòng và viết khóa ở dòng dưới. Người gửi sẽ sử dụng bản tin chưa mã hóa và khóa để chọn hàng và cột trong bảng Vigenere. Hàng được chọn là hàng mà chữ cái gốc là ở cột đầu tiên và cột được chọn là cột mã chữ cái khóa nằm trên hàng đầu tiên. Một chữ cái mã hóa sẽ là chữ cái mà xuất hiện trong bảng Vigenere tại vị trí giao giữa hàng và cột. Ví dụ, để tìm chữ cái mã hóa, vị trí đầu tiên trong hàng tương ứng với vị trí chữ cái T. Cột sẽ tương ứng với chữ cái L. Chữ cái nằm ở vị trí giao giữa hàng và cột này là chữ cái mã hóa, trong trường hợp này là E. Tiếp tục làm như vậy với mỗi cặp chữ cái sẽ tạo được bản tin được mã hóa. Để giải mã ta làm ngược lại. Ví dụ, với khóa chính là L : Bản tin gốc : T O B E O R N O T T O B E Khóa : L T O B E O R N O T T O B Mã hóa : E H P F S F E B H M H P F Đánh giá độ bảo mật : Phương pháp khóa tự động Vigenere là phương pháp không bảo mật. Chỉ có 26 khóa (26 chữ cái trong bảng chữ cái). Mã có thể bị bẻ gãy một cách dễ dàng với việc thử từng chữ cái. Người nào muốn đọc bản tin được mã hóa sử dụng phương pháp khóa tự động này chỉ cần thử từng chữ cái một trong bảng chữ cái để làm khóa cho đến khi tạo lại đươc bản tin gốc ban đầu. Việc này có thể được thực hiện thậm chí không cần sự giúp đỡ của máy tính, và có thể thực hiện được trong khoảng thời gian ngắn. Tuy nhiên ý tưởng của phương pháp này có thể được sử dụng để tạo ra một loại mã có độ bảo mật cao hơn. Phương pháp từ khóa: Phương pháp này tương tự như phương pháp khóa tự động, nhưng thay vì sử dụng một chữ cái riêng lẻ làm khóa, nó sử dụng một cụm từ khóa. Từ khóa có thể có độ dài bất kì nào lớn hơn 1, nó sẽ cung cấp một số lượng vô hạn các khóa. Để tạo khóa, người gửi viết keyword lặp lại trên một dòng ở phía dưới bản tin gốc. Cặp chữ cái khóa-bản tin gốc trên mỗi cột và hàng sẽ được mã hóa sử dụng bảng Vigenere tương tự như phương pháp khóa tự động.Ví dụ với khóa là từ khóa PUCK ta sẽ viết thành PUCKP UCKPU CKPUC… . Đánh giá độ bảo mật: Mật mã Vigenere sử dụng từ khóa có độ bảo mật cao hơn so với phuơng pháp khóa tự động, nhưng nó vẫn dễ bị xâm hại. Từ khóa càng dài thì mã hóa càng bảo mật. Ví dụ, nếu từ khóa dài bằng bản tin mã hóa, thì mã hóa này là không thể bị bẻ gãy nếu một khóa mới được sử dụng cho mỗi bản tin. Thực tế với mỗi khóa khác nhau có thể nhận được các bản tin khác, do đó nếu sử dụng nhiều khóa, thì không có cách nào có thể xách định chính xác được bản tin. Ví dụ bản tin mã hóa JTLOM FJRCS XM , nếu sử dụng khóa là hfikeniaoitz thì ta sẽ thu được bản tin gốc là CODE IS BROKEN, còn nếu sử dụng khóa hfikenrnaygi thì ta sẽ thu được CODE IS SECURE. [23] 2.2.2.7. One - time pad Mật mã One-time pad (OTP) đã được kiểm nghiệm rằng đây là loại mật mã tuyệt đối bảo mật, không thể bị bẻ gãy trong thực tế. Và người ta đã chứng minh rằng bất kì một loại mật mã không thể bị bẻ gãy hay tuyệt đối bảo mật thì phải được thực hiện theo nguyên lý của one-time pad [21]. OTP được phát minh vào năm 1918 do Gilbert S. Vernam (1890-1960), một nhà mật mã học của công ty AT&T [9]. Mật mã Vernam là một ví dụ nổi tiếng của OTP. Mật mã này rất đơn giản: 1 luồng bit bao gồm bản tin chưa mã hóa, và một luồng bít ngẫu nhiên bí mật có cùng độ dài với bản tin gốc, coi như là khóa. Để mã hóa bản tin với khóa, thực hiện cộng XOR từng cặp bit khóa và bản tin một cách tuần tự để thu được bit mã hóa. Nếu khóa thực sự là ngẫu nhiên thì không người tấn công nào có một cơ sở nào để có thể đoán được bản tin gốc khi chỉ có trong tay bản tin mã hóa mà ko có thông tin gì về bản tin gốc [21]. Ví dụ về OTP : 0010110 0 010...11011100101011: Bản tin gốc 0111011 1 010...10001011101011: Khóa được tạo ngẫu nhiên, có chiều dài bằng bản tin 0101101 1 000...01010111000000: Bản tin mã hóa 0111011 1 010...10001011101011: Sử dụng lại khóa để giải mã 0010110 0 010...11011100101011: Khôi phục lại bản tin gốc ban đầu [25] Vấn đề đặt ra là nếu loại mã này đạt được tính bảo mật hoàn hảo thì tại sao nó không được sử dụng một cách rộng rãi trên toàn cầu và tại sao con người vẫn sử dụng các hệ thống mà vẫn có khả năng bị bẻ gãy. Ở đây ta thấy rằng, một điểm quan trọng cần phải xem xét là các vấn đề liên quan đến việc sử dụng mã hóa đối với dữ liệu lưu trữ có xu hướng rất khác so với các vấn đề liên quan đến việc sử dụng mã hóa để bảo vệ các cuộc truyền thông. Một điều quan trọng cũng cần phải nhận thấy rằng, chúng ta thường tập trung vào truyền thông, bởi vì trường hợp này được cho là đáng để ý hơn trong việc quản lý [12]. Khóa giải mã giống với khóa mã hóa trong khi thuật toán giải mã bao gồm việc loại bỏ đi các kí tự khóa để tạo ra văn bản gốc. Các hệ thống truyền thông ngày nay phải đối mặt với một vấn đề rất khó khăn. Vì dãy bit được tạo ngẫu nhiên nên với người gửi và người nhận việc tạo ra một khóa giống như vậy là không thể. Do đó một trong số họ phải tạo ra khóa và sau đó gửi bí mật cho người kia. Nếu khóa được đảm bảo tính bí mật thì nó là cần thiết cho việc bảo vệ trong suốt quá trình truyền dẫn. Nếu cuộc truyền thông chỉ có một đường truyền thì họ cần phải có một dãy ngẫu nhiên one-time pad khác để bảo vệ dữ liệu truyền. Một cách rõ ràng nguyên nhân kiểu này dẫn đên những yêu cầu không thể thực hiện được việc tạo ra các dãy ngẫu nhiên vô hạn, mỗi dãy tạo ra được sử dụng để bảo vệ một dãy khác trong quá trình truyền dẫn từ người này đến người kia, gây tốn kém. Do đó one-time pad chỉ được sử dụng trong truyền thông khi giữa cuộc truyền thông này còn có một phương tiện thông tin chuyển đổi đảm bảo khác. One-time pad thường được sử dụng cho các liên kết cần mức độ bảo mật cao nhất, như đường hotline Moscow – Washington chẳng hạn [12]. 2.2.2.8. RC4 RC4 là loại mã hóa theo luồng khóa chia sẻ, được thiết kế bởi Ron Rivest tại RSA Data Security, Inc. Thuật toán RC4 được sử dụng một cách đồng nhất với cả quá trình mã hóa và giải mã khi một luồng dữ liệu được XOR với chuỗi khóa được tạo ra. Thuật toán là theo thứ tự vì nó yêu cầu những thay đổi lần lượt của các trạng thái dựa vào chuỗi khóa. Do đó quá trình thực hiện có thể đòi hỏi rất nhiều phép tính toán. Thuật toán này được công bố rộng rãi và được thực hiện bởi nhiều nhà lập trình. Thuật toán mã hóa này được sử dụng theo chuẩn IEEE 802.11 trong WEP (giao thức mã hóa không dây) sử dụng một khóa 20 và 1 khóa 128 bit. Đặc điểm của RC4: RC4 sử dụng khóa có độ dài thay đổi các byte từ 1 đến 256 để tạo một bảng trạng thái 256 byte. Bảng trạng thái được sử dụng cho việc tạo ra chuỗi byte giả ngẫu nhiên và sau đó tạo ra một luồng giả ngẫu nhiên, mà luồng này được XOR với bản tin gốc để tạo ra bản tin mã hóa. Mỗi thành phần trong bảng trạng thái được tráo đổi ít nhất một lần. Khóa RC4 thường được giới hạn 40 bit, bởi vì sự giới hạn của đầu ra nhưng đôi khi cũng được sử dụng với 128 bit. Nó có khả năng sử dụng các khóa từ 1 dến 2048 bit. RC4 được sử dụng trong các gói phần mềm thương mại như là Lotus Notes và Oracle Secure SQL. Thuật toán RC4 làm việc theo hai giai đoạn, thiết lập khóa và mã hóa. Thiết lập khóa là giai đoạn đầu tiên và cũng là khó khăn nhất của thuật toán. Trong quá trình tạo khóa N bit, khóa mã hóa được sử dụng để tạo một biến mã hóa sử dụng hai mảng , trạng thái và khóa, và N phép kết hợp. Các phép kết hợp này bao gồm tráo đổi byte, phép modulo (chia lấy dư ) … RC4 là loại mã hóa có tốc độ nhanh, tốc độ của nó nhanh hơn DES đến 10 lần, các khóa của RC4 được sử dụng chỉ một lần, và khó có thể biết được các giá trị trong bảng trạng thái cũng như là vị trí nào trong bảng được sử dụng để chọn từng giá trị của chuỗi. Tuy nhiên thuật toán RC4 dễ bị tổn thương khi có các cuộc tấn công phân tích bảng trạng thái. Một trong số 256 khóa có thể là khóa yếu. [18] 2.2.2.9. DES Vào năm 1972, tổ chức NIST, sau này được biết đến dưới tên gọi National Bureau of Standards, đã đưa ra yêu cầu đề xuất một thuật toán mã hóa có thể được sử dụng để bảo vệ thông tin. Họ muốn một thuật toán rất bảo mật, rẻ, dễ dàng hiểu được và có khà năng thích ứng với nhiều ứng dụng khác nhau, có thể được sử dụng bởi các tổ chức khác nhau cũng như là dùng công khai [23]. Năm 1974, họ đưa ra yêu cầu một lần nữa khi họ không nhận được một đề xuất nào vào năm 1972. Lúc này IBM đã đưa ra thuật toán Lucifer. Thuật toán này được chuyển đến tổ chức NSA (National Security Agency) để đánh giá độ bảo mật của nó. NSA thực hiện một số thay đổi đối với thuật toán với một thay đổi quan trọng nhất là thay thế khóa 128 bit thành khóa 56 bit. Nhiều người đã nghi ngờ việc thay đổi của NSA làm cho thuật toán yếu đi và thêm vào đó một bí mật nào đó để các nhân viên đặc vụ của họ có thể giải mã và mã hóa các bản tin mà ko cần dùng đến khóa. Xóa bỏ đi những hoài nghi, NIST đã tiếp nhận thuật toán thay đổi đó như là một tiêu chuẩn liên bang vào tháng 11/1976. Và tên thuật toán được chuyển thành DES (Data Encryption Standard) và được công bố vào tháng 1/1977 [23]. DES là mã hóa khối với độ lớn khối 64bit. Nó sử dụng các khóa 56 bit, nhưng nó giống như một khối 64 bit, trong đó các bit vị trí thứ 8, 16, 24… là các bit kiểm tra chẵn lẻ, được sắp xếp vào mỗi khối 8 bit để kiểm tra lỗi của khóa [23]. Điều này khiến DES vẫn có thể bị bẻ khóa với cả những máy tính hiện đại và những phần cứng đặc biệt. Tuy nhiên DES vẫn đủ mạnh để khiến cho hầu hết các hacker hoạt động độc lập cũng như là các cá nhân khó có thể phá được, nhưng nó dễ dàng bị bẻ gãy bởi chính phủ, các tổ chức tội phạm hay các công ty lớn với những phần cứng đặc biệt. DES dần dần trở nên yếu và không nên được sử dụng trong các ứng dụng mới. Và hệ quả tất yếu là vào năm 2004 NIST đã rút lui khỏi chuẩn DES [21]. Một phiên bản biến đổi khác của DES đó là 3DES, dựa trên cơ sở là sử dụng DES lần (thông thường trong một chuỗi mã hóa-giải mã-mã hóa với ba khóa khác nhau, không liên quan đến nhau). 3DES được cho rằng là mạnh hơn nhiều so với DES, tuy nhiên nó lại chậm hơn so với các phương pháp mã khối mới [21]. Tuy nhiên, thậm chí dù DES dường như ít được ưa thích sử dụng trong các ứng dụng mới ngày nay, nhưng vẫn có nhiều lý do để xem xét và đánh giá tính quan trọng của nó. Đó là mật mã khối đầu tiên được triển khai một cách rộng rãi trong các khu vực công cộng. Do đó nó đóng một vai trò quan trọng trong việc tạo ra các phương pháp mã hóa bảo mật được phép công khai [21]. Thậm chí ngày nay DES còn không được xem là giải pháp thực tế nữa, nhưng nó vẫn thường được sử dụng để mô tả những kỹ thuật phân tích và giải mã các phương pháp mã hóa mới [21]. 2.2.2.10. AES Vào năm 1997, NIST đã tiến hành lựa chọn một thuật toán mã hóa đối xứng để sử dụng bảo vệ những thông tin nhạy cảm thuộc liên bang. Năm 1998, NIST đã thông báo chấp nhận 15 thuật toán ứng cử và kêu gọi sự giúp đỡ của cộng đồng nghiên cứu mật mã học trong việc phân tích các thuật toán này. Dựa vào những phân tích này, năm 1999, danh sách cuối cùng còn lại 5 thuật toán, MARS, RC6, Rijndael, Serpent and Twofish [8,9,10]. Tháng 10/2000, một trong số 5 thuật toán này đã được lựa chọn như là một chuẩn của tương lai, đó là : phiên bản được chỉnh sửa của Rijndael [15]. Rijndael là tên kết hợp của hai nhà phát minh người Bỉ, Joan Daemen và Vincent Rijmen; đây là một loại mật mã khối. Nó dùng một khối đầu vào thường có độ lớn 128 bit và tạo ra đầu ra tương ứng một khối cùng kích cỡ. Sự chuyển đổi yêu cầu một đầu vào thứ 2, đó là khóa bí mật. Một đặc điểm quan trọng là khóa có thể có kích thước bất kì, phụ thuộc vào mục đích sử dụng, và AES thường sử dụng 3 loại khóa khác nhau đó là 128, 192 và 256 bit, kí hiệu AES-128, AES-192, AES-256 [15]. Một vấn đề quan trọng đó là đánh giá khả năng của AES trước các cuộc tấn công trên thực tế. NIST đã tiến hành đánh giá và cho rằng kích thước khóa nhỏ nhất của AES 128 bit thì thành công của các cuộc tấn công bằng phương pháp brute-force cùng với công nghệ ngày nay dường như là không khả thi [7]. NIST dự kiến AES sẽ được sử dụng rộng rãi trong các ứng dụng trong thực tế [7]. Theo đánh giá của NIST, thuật toán AES, hay Rijdael rất phù hợp với những môi trường hạn chế về bộ nhớ cho cả hai hoạt động mã hóa và giải mã. Nó yêu cầu bộ nhớ RAM và ROM rất nhỏ [7]. 2.2.3. Mã hóa khóa công khai. Nhược điểm của hệ mật đối xứng là yêu cầu phải có thông tin về khóa giữa bên gửi và bên nhận qua một kênh an toàn, trước khi gửi một bản tin an toàn trước khi gửi một bản mã bất kì. Trên thực tế điều này rất khó đảm bảo an toàn cho khóa bí mật, vì họ có thể ở cách xa nhau và chỉ có thể liên lạc với nhau bằng thư tín điện tử (email). Vì vậy họ khó có thể tạo một kênh bảo mật an toàn cho khóa bí mật được. Ý tưởng xây dựng một hệ mật mã hóa công khai hay bất đối xứng là tìm ra một hệ mật có khả năng tính toán để xác định dk khi biết ek (dk là luật giải mã, ek là luật mã hóa). Nếu thực hiện được như vậy quy tắc mã ek có thể được công khai bằng cách công bố nó trong một danh bạ. Bởi vậy nên có thuật ngữ mã hóa công khai hay mã hóa bất đối xứng. Ưu điểm của hệ mã hóa bất đối xứng là ở chỗ không những chỉ có một người mà bất cứ ai cũng có thể gửi bản tin đã được mã hóa cho phía nhận bằng cách dùng mật mã công khai ek. Nhưng chỉ có người nhận A mới là người duy nhất có thể giải mã được bản mã bằng cách sử dụng luật giải bí mật dk của mình. Ý tưởng về một hệ mật khóa bất đối xứng được Difie và Hellman đưa ra vào năm 1976. Còn việc hiện thực hóa nó thì do Rivest, Shamir và Adleman đưa ra lần đầu tiên vào năm 1977 họ đã tạo nên hệ mật nổi tiếng RSA [17]. Kể từ đó đã công bố một số hệ mật dựa trên các bài toán khác nhau.Sau đây ta sẽ tìm hiểu một số phương pháp mã hóa bất đối xứng hay mật mã công . 2.2.3.1. Mã RSA Hệ thống khoá công cộng đầu tiên được thực hiện vào năm 1977 bởi Rivest, Shamir và Adleman được biết đến với tên gọi là hệ thống mật mã RSA. RSA dựa trên hàm cửa sập một chiều. Lược đồ RSA được chấp nhận một cách rộng rãi để thực hiện mục đích tiếp cận mật mã mã hóa bất đối xứng [7]. Hàm cửa sập một chiều là một hàm có đặc tính một chiều (tức là hàm có thể dễ dàng tính theo chiều thuận,nhưng lại rất khó khăn để tìm ra hàm ngược) và nó trở nên dễ tính ngược nếu biết một cửa sập nhất định. Hình 2.6: Mật mã hóa/ Giải mật mã hệ thống RSA. . Đặc điểm: Quá trình phát triển: năm 1983 hệ số n gồm 69 chữ số và nó thành công trong suốt thập kỉ 80, đến 1989 là 106 chữ số, phương pháp này tạo bởi Lenstra và Manasse. Tháng 4 năm 1994 gồm 129 tạo bởi Atkins, Graff và Lenstra gọi là RSA-129, các mã RSA như RSA -100, RSA -110, …,RSA -500 là danh sách các mã RSA được công khai trên internet [11]. Hạn chế: Có bốn khả năng tiếp cận để tấn công vào thuật toán RSA là: Brute force: Tức là thử tất cả các loại khóa bí mật có thể. Mathematical attacks: Sử dụng một vài giá trị gần đúng trong tất cả các giá trị tương đương để cố gắng phân tích tích của hai số nguyên. Timming attacks: Điều này phụ thuộc vào thời gian chạy thuật toán giải mã. Chosen ciphertext attacks: Loại tấn công này tìm kiếm các đặc tính của thuật toán RSA. [7]. Tấn công lựa chọn bản rõ (CPA: Chosen- Plaintext attack). Kẻ tấn công lựa chọn trong các bản rõ và tiến hành mật mã thành bản mã tương ứng, nhiệm vụ của kẻ tấn công là làm suy yếu hệ thống mật mã bằng cách sử dụng cặp bản mã - bản rõ. (CCA: Chosen ciphertext attack.) Kẻ tấn công có thể giải mã được bản mã bằng cách thử tất cả các hệ số n. Do đó, để hệ thống mật mã RSA được an toàn thì phải đảm bảo n=p.q phải đủ lớn để khó có thể tính toán được ra nó như hiện nay n có thể là một số có 200 số thập phân [11]. Số chữ số thập phân Xấp xỉ số bit Thời gian đạt được MIPS-year Thuật toán 100 332 4/1991 7 Quadratic sieve 110 365 4/1992 75 Quadratic sieve 120 398 6/1993 830 Quadratic sieve 129 428 4/1994 5000 Quadratic sieve 130 431 4/1996 1000 Generalized number 140 465 2/1999 2000 Generalized number 155 512 8/1999 8000 Generalized number 160 530 4/2003 Lattice sieve 174 576 12/2003 Lattice sieve 200 663 5/2005 Lattice sieve Bảng 2.2: Quá trình phân tích thừa số. Hệ thống mật mã mã hóa bất đối xứng được ứng dụng rộng rãi nhất là RSA. Mức độ khó của việc tấn công RSA là dựa vào độ khó của việc tìm ra hệ số nguyên tố [7]. Hệ thống chữ kí theo RSA Hệ thống mật mã RSA thường giữ vị trí kiểm tra số lần truy nhập trong ngân hàng, bảo mật trong thư điện tử đến thương mại điện tử qua Internet [9] … 2.2.3.2. Hệ mật Rabin Michael O. Rabin là người đầu tiên tìm ra và đề xuất một hệ thống mật mã có thể được chứng minh bằng cách tính toán tương đương đối với các bài toán khó (như bài toán tìm thừa số thực) vào năm 1979. Nhược điểm chính của hệ thống mật mã bất đối xứng Rabin là khi tiến hành giải mã thì cần dùng khóa bí mật và bản mã thu được để tìm ra bốn căn bậc hai cần thiết, rồi phải quyết định chọn căn bậc hai nào để biểu diễn đúng bản tin bản rõ. Hạn chế này có thể được khắc phục bằng cách thêm một số dư thừa đối với bản tin bản rõ ban đầu trong quá trình mã hóa. Sau đó với xác suất cao của một trong bốn căn bậc hai với dư thừa này, thì người thu có thể dễ dàng lựa chọn giá trị biểu diễn đúng bản tin bản rõ [10)]. Rabin đã phát triển hệ mật mã hóa bất đối xứng dựa vào độ phức tạp của việc tính toán modul bình phương của một số nguyên. Lý thuyết hệ mật Rabin có ý nghĩa quan trọng trong việc đưa ra chứng minh độ an toàn cho hệ thống mật mã mã hóa bất đối xứng. Thuật toán mã hóa trong hệ mật Rabin đặc biệt hiệu quả và vì vậy nó thích hợp với các ứng dụng cố định như mật mã được thực hiện bởi thiết bị cầm tay [8]. Một điều thú vị đối với hệ mật Rabin là được an toàn trước sự tấn công vào lựa chọn bản rõ. Tuy nhiên hệ thống Rabin lại mất hoàn toàn độ an toàn trước sự tấn công vào lựa chọn bản mã cũng giống như mã RSA có khả năng tấn công vảo bản mã nhưng thuật toán giải mã khó hơn. [11]. 2.2.3.3. Hệ mật El Gamal Năm 1976 Diffie và Hellman giới thiệu hệ thống mật mã khóa công cộng với mục đích trao đổi khóa bí mật giữa 2 thực thể qua một kênh công cộng. Ban đầu giao thức trao đổi khóa Diffie-Hellman có thể được sử dụng cả mã hóa và giải mã dữ liệu hoặc bản tin kí số và kiểm tra chữ kí số. Đến năm 1985 Taher El Gamal đã tìm ra một cách chuyển đổi giao thức trao đổi khóa Diffie-Hellman thành hệ thống khóa công cộng chính thức (được dùng để mật mã và giải mã các bản tin như bản tin chữ kí số và kiểm tra chữ kí số) [10]. Hệ mật El Gamal được công bố lần đầu tiên vào năm 1985 [9]. Hệ mật El Gamal phát triển hệ thống mã hóa công khai dựa vào tính khó giải của bài toán logarit rời rạc trên các trường hữu hạn [11]. Năm 1991 chính phủ Mỹ đã chọn tiêu chuẩn chữ kí số dựa vào lược đồ khóa công cộng El Gamal [34]. El Gamal là một thuật toán mã hóa bất đối xứng là dạng cơ bản của chuẩn chữ kí số DSS-Digital Signature Standard. Kích thước của khóa El Gamal xấp xĩ như RSA, nhưng tính bảo mật được tin tưởng hơn dựa vào độ khó của bài toán logarit rời rạc. [12]. 2.2.3.4. Hệ mật Mekle-Hellman. Hệ mật Mekle-Hellman được mô tả lần đầu tiên bởi Mekle và Hellman vào năm 1978. Tính bảo mật của hệ mật Mekle-Hellman dựa vào tính khó giải của bài toán tổng hợp các bài toán con. Mặc dù hệ mật này, và một vài ứng dụng khác của nó đã bị phá vỡ rất sớm vào năm 1980. Đầu những năm 1980, hệ mật xếp ba lô (knapsack) Mekle-Hellman đã bị phá vỡ bởi Shamir, Shamir có thể sử dụng một thuật toán lập trình số nguyên của Lenstra để phá vỡ hệ thống [12] 2.2.3.5. Hệ mật Mc Elice Hệ mật Mc Elice sử dụng nguyên lý thiết kế giống như hệ mật Mekle-Hellman. Lược đồ Mc Eliece dựa vào mã sửa lỗi. Ý tưởng của lược đồ này là đầu tiên lựa chọn một loại mã đặc biệt với thuật toán giải mã đã biết, sau đó nguỵ trang mã này như một mã tuyến tính nói chung [34]. Trong hệ thống này, bài toán NP được dùng để giải mã một mã sửa lỗi tuyến tính nói chung. Mã sửa lỗi là mã có thể sửa được một số lỗi xuất hiện trong quá trình truyền dẫn dữ liệu qua một kênh nhiễu. Tuy nhiên, đối với nhiều lớp đặc biệt của một số mã, thuật toán đa thức thời gian được thực hiện, một loại trong các loại mã đó là mã Goppa được sử dụng như chuẩn của hệ mật Mc Elice [11]. Hệ mật MC Elice dựa vào lý thuyết đại số và dựa trên bài toán giải mã cho các mã tuyến tính. 2.2.3.6. Mật mã đường cong Ellip. Năm 1985, Neal Koblitz và Victor Miller đã độc lập đưa ra khái niệm về mật mã đường cong Ellip. Nó dựa trên bài toán logarit rời rạc [33]. Hầu hết các chuẩn hóa và sản phẩm sử dụng mật mã bất đối xứng cho mã hóa và chữ kí số sử dụng RSA .Như chúng ta đã biết những năm gần đây,độ dài khóa bảo mật RSA được tăng lên, điều này cũng đồng thời làm cho việc xử lý chậm chạp hơn với các ứng dụng sử dụng RSA . Gánh nặng này được chia ra, đặc biệt là đối với lĩnh vực thương mại điện tử nơi mà quản lý số lượng các phiên giao dịch rất lớn. Nguyên lý hấp dẫn của ECC so với RSA đó là nó cung cấp độ bảo mật ngang nhau cho một kích thước khóa nhỏ hơn rất nhiều, do đó làm giảm được mào đầu sử lý [7]. So sánh kích thước khóa trong điều kiện của kết quả tính toán cho việc giải mã: Bảng 2.3: Bảng so sánh kích thước khóa một số loại mã. Symmetric Scheme (key size in bits) ECC-Based Scheme (size of n in bits) RSA/DSA (modulus size in bits) 56 112 512 80 160 1024 112 224 2048 128 256 3072 92 384 7680 256 512 15360 DSA: Digital signature Algorith. 2.2.3.7. Các hàm băm và tính toàn vẹn dữ liệu. Định nghĩa hàm băm: Hàm băm là một hàm H có ít nhất hai tính chất sau: Tính chất nén: H sẽ ánh xạ một đầu vào X có độ dài bit hữu hạn tùy ý tới một đầu ra H(x) có độ dài bít n hữu hạn. Tính chất dễ dùng tính toán: Với H cho trước và một đầu vào x có thể dễ dàng tính được H(x). Một giá trị băm hệ mật được tạo ra bởi một hàm H có dạng: M là một bản tin có độ dài thay đổi và là giá trị băm có độ dài cố định. Giá trị băm được kết nối đến bản tin của nguồn tại một thời điểm. Khi bản tin được giả định là đúng. Phía thu tiến hành nhận thực bản tin này bằng cách tiến hành tính toán lại giá trị băm. Bởi vì bản thân hàm băm cũng không đảm bảo tính bí mật, nên một vài phương pháp yêu cầu bảo vệ giá trị băm. Các hàm băm đóng vai trò cơ bản trong mật mã hiện đại. Hàm băm sẽ tạo ra một đầu ra từ các bản tin đầu vào. Đầu ra này được định nghĩa là mã hàm băm (kết quả băm, giá trị băm ) hay chính xác hơn hàm băm h sẽ tạo ra ánh xạ các xâu bit có độ dài n cố định. Ý tưởng cơ bản của việc sử dụng các hàm băm trong mật mã là sử dụng chúng như một ảnh biểu diễn rút gọn (đôi khi còn gọi là vết, dấu tay số hay tóm lược thông báo) của xâu vào. Các hàm băm được dùng cho các sơ đồ chữ kí số kết hợp với việc đảm bảo tính toàn vẹn của dữ liệu, khi đó bản tin trước hết được băm và rồi giá trị băm (được xem như đại diện cho bản tin cho bản) sẽ được thay cho vị trí bản tin gốc. Một lớp các hàm băm được gọi là các mã xác thực thông báo (MAC: Message Authentication Codes ) sẽ cho phép xác thực thông báo bằng kĩ thuật đối xứng (mật mã cổ điển). Các thuật toán MAC sử dụng 2 đầu vào (bao gồm bản tin và một khóa bí mật) để tạo ra một đầu ra có kích cỡ cố định (n bit) với ý đồ đảm bảo rằng nếu không biết khóa thì việc tạo ra cùng một đầu ra là không khả thi. MAC có thể được dùng để đảm bảo tính toàn vẹn của dữ liệu, xác thực tính nguyên bản của số liệu. Một ứng dụng điển hình của hàm băm (không dùng khóa ) để đảm bảo tính toàn vẹn của dữ liệu được mô tả như sau: Giá trị băm của một bản tin riêng x sẽ được tính ở thời điểm T1 (tính toàn vẹn của giá trị hàm băm này (chứ không phải bản tin) sẽ được bảo vệ. Thời điểm T2 phép kiểm tra sau sẽ tiến hành kiểm tra xem liệu thông báo có bị sửa đổi hay không, tức là xem số liệu bản tin x’ có giống bản tin gốc hay không. Giá trị băm của x’ sẽ được tính toán và so sánh với giá trị băm đã được bảo vệ, nếu chúng bằng nhau thì bên thu sẽ chấp nhận rằng x=x’ nghĩa là bản tin không bị sửa đổi. Ứng dụng này thường được gọi là mã phát hiện sự sửa đổi MDC-Manipulation Detection Codes) [17]. Những yêu cầu đối với một hàm băm. Mục đích của một hàm băm là để tạo ra “ fingerprint-dấu tay” của một file, một bản tin hoặc khối dữ liệu khác. Để hữu ích đối với nhận thực bản tin, một hàm Hash phải có những đặc điểm sau [7]. H có thể được đặt tới khối dữ liệu có kích thước bất kì. H tạo đầu ra có độ dài cố định. được tính dễ dàng với bất kì x nào bởi cả phần cứng và phần mềm. Với bất kì giá trị h thì rất khó khăn để tìm ra x dựa vào , đôi khi người ta còn gọi tính chất này là thuộc tính một chiều. Với khối x bất kì, rất khó tính toán để tìm ra một giá trị sao cho , đôi khi gọi tính chất này là tính khó tìm nghịch ảnh thứ hai hay tính khó va chạm yếu (weak collision resistance). Hàm băm khó có khả năng tính toán để tìm ra một cặp bất kì (x,y) với x≠y thoả mãn đặc điểm này gọi là tính khó va chạm hay khó va chạm mạnh (strong collision resistance). Ba đặc điểm đầu tiên đầu tiên đáp ứng những ứng dụng thực tiễn của hàm băm đối với nhận thực bản tin . Đặc tính thứ tư, thuộc tính một chiều dễ dàng tạo ra một mã cho một bản tin nhưng hầu như không thể tạo được một bản tin bởi một mã. Đặc điểm này rất quan trọng, vì kĩ thuật nhận thực sử bao gồm việc sử dụng những giá trị bí mật. Giá trị bí mật này không được gửi đi , tuy nhiên, nếu hàm băm không phải là hàm một chiều, kẻ tấn công có thể dễ dàng tìm ra giá trị bí mật, nếu kẻ tấn công có thể quan sát được hoặc chặn được sự truyền giao. Đặc tính thứ năm bảo đảm rằng một bản tin thay đổi băm với giá trị như nhau tạo ra một bản tin không thể tìm được. Điều này ngăn chặn sự giả mạo khi mã hóa hàm băm được sử dụng. Đặc tính thứ sáu xem xét chống lại các loại tấn công của hàm băm như tấn công ngày sinh. Tất cả các hàm băm đều sử dụng một nguyên lý chung. Đầu vào (bản tin, file,…) được quan sát bởi một chuỗi tuần tự các khối n bit. Đầu vào xử lý từng khối một tại một thời điểm trong một khuôn dạng lập đi lập lại để tạo ra một hàm băm n bit [7] 2.2.3.8. MD4 và MD5 MD4 và MD5 là các thuật toán phân loại bản tin (message digest) được phát triển bởi Ron Rivest được sử dụng cho các ứng dụng chữ kí số, nơi mà một bản tin được nén lại thành một loại (digest) và sau đó được mã hóa bởi một khóa riêng. MD4 và MD5 được thiết kế cho các hệ thống máy tính 32 bit. MD4 được phát triển vào năm 1990, và hiện nay được đánh giá là không còn tính an toàn. MD5 được mô tả bởi phòng thí nghiệm RSA được đưa ra năm 1991 như “MD4 với dây an toàn” và mặc dù chậm hơn MD4 nhưng nó được xem là vẫn an toàn. Với MD4, một bản tin bản rõ được chèn thêm để đảm bảo độ dài của nó cộng thêm 448 bit có thể chia được cho 512. Một số nhị phân 64 bit biểu diễn độ dài bản tin ban đầu, sau đó được cộng thêm thành khối 512 bit sử dụng chức năng nén lặp, mỗi khối được xử lý trong bốn vòng khác nhau trong khi MD4 sử dụng 3 vòng lặp [25]. 2.2.3.9. SHA và SHA-1 Thuật toán băm bảo mật SHA (Secure Hash Algorith) được phát triển Viện quốc gia tiêu chuẩn và công nghệ. Tuy nhiên thuật toán này đã trở nên kém bảo mật và thuật toán ban đầu được sửa lại và công bố vào năm 1994 với tên SHA-1. Trái ngược với MD5, SHA-1 tạo ra một tệp bản tin 160 bit và được xem là an toàn hơn, mặc dù chậm hơn trong thực hiện.Nó thực hiện với độ dài bản bản rõ lên đến 264 bit. [25]. 2.3. So sánh - Ứng dụng - Xu hướng phát triển mã hóa bảo mật. 2.3.1. So sánh mã hóa khóa bí mật và mã hóa khóa công khai. Bảng 2.4: Bảng so sánh kích thước khóa một số loại mã. STT Tiêu chí so sánh Mã hóa bất đối xứng. Mã hóa đối xứng 1 Bảo mật security Chỉ cần giữ bí mật một khóa riêng ở một bên, mã hóa bất đối xứng được phân phối rộng rãi Phải chia sẻ và đảm bảo an toàn cho khóa bí mật giữa hai bên tham gia. 2 Độ bền khóa longevity Cặp khóa có thể được sử dụng trong nhiều lần với chu kì thời gian dài. Phải được thay đổi khóa trong mỗi phiên. 3 Quản lý khóa Key management Nếu nhiều người sử dụng trên mạng lớn thì ít khóa riêng hơn được yêu cầu sử dụng so với mã hóa khóa đối xứng. Nếu có n user trên một mạng thì chỉ cần n khóa cho bất kì trao đổi nào giữa hai bên với nhau Nếu có n người sử dụng trên mạng sử dụng DES để trao đổi với nhau. Số lượng khóa cần thiết để cho một phiên giao dịch bất kì là n(n-1)/2 khóa và mỗi user phải chứa n-1 khóa. Điều này gọi là phân phối khóa trước. Vì vậy khóa đối xứng không thể thực hiện được. 4 Trao đổi khóa Key exchange Không cần thiết phải trao đổi khóa giữa các bên truyền thông (chú ý: Ta nói Giao thức trao đổi khóa Diffie- Hellman chứ không phải là hệ thống mật mã mã hóa bất đối xứng, nhưng nó dựa trên những ý tưởng cơ bản ban đầu của mã hóa bất đối xứng). Mã hóa khóa đối xứng xứng rất khó khăn và nguy hiểm để trao đổi khóa. Trên thực tế, một trong các nguyên lý trao đổi khóa là sử dung Mã hóa bất đối xứng để trao đổi khóa bí mật đối xứng. 5 Chữ kí số và nhận thực nói chung Digital signatures and General Authentication Mã hóa mã hóa bất đối xứng cung cấp chữ kí số, vì hầu như chúng chỉ mang ý nghĩa bảo mật. Mã hóa khóa đối xứng dùng để mã hóa khối dữ liệu lớn. 6 Hiệu suất Efficiency Chậm hơn khóa đối xứng. Vídụ: Hệ thống RSA chậm hơn DES hàng nghìn lần. Nhanh hơn khóa bất đối xứng. 7 Kích thước khóa Key sizes Kích thước khóa lớn hơn so với kích thước khóa đối xứng. Ví dụ khóa riêng hệ thống RSA cần 1024 bit, thông thường khóa riêng lớn hơn khóa bí mật 10 lần Kích thước nhỏ hơn. Thông thường khóa có độ dai 128 là đủ 8 Thừa nhận Nonrepudiations Có nghĩa là bản tin của người gửi không thể phủ nhận được gửi đi. Khóa bất đối xứng đảm bảo thừa nhận với chữ kí số. Cần uỷ thác cho một bên thứ ba. Hệ thống mã hóa mã hóa bất đối xứng ra đời không có nghĩa là thay thế được hệ thống mã hóa khóa đối xứng, nhưng chúng có thể bổ xung cho nhau để đạt được hiệu quả và tính an toàn cao nhất. Động cơ thúc chung đẩy sử dụng mã hóa hiện đại, đặc biệt là thương mại điện tử trên mạng, dùng các mã hóa bất đối xứng để chứa các khóa đối xứng và sau đó dùng các mã hóa đổi xứng đó để trao đổi thông tin. Các hệ thống mã hóa như thế gọi là hệ thống Hybrid hoặc phong bì số (digital envenlopes) nó sử dụng các ưu điểm của cả hai loại mã hóa. 2.3.2. Một số ứng dụng tiêu biểu. Chữ kí số - Digital signature. Một thủ tục kiểm tra tính xác thực của bản tin giữa bên gửi và bên nhận sử dụng mật mã đối xứng đó là chữ kí số. Chữ kí số cho một bản tin từ một người gửi riêng biệt là một giá trị mật mã phụ thuộc vào bản tin và người gửi nó. Trong khi đó chữ kí tay chỉ phụ thuộc vào người gửi và giống nhau đối với tất cả các bản tin. Một chữ kí số đảm bảo tính toàn vẹn dữ liệu và kiểm chứng nguồn gốc của nó (không có sự thừa nhận). Nó có thể được lưu giữ bởi người nhận để kiểm định sự nghi ngờ nếu như người gửi phủ nhận nội dung bản tin hoặc phủ nhận đã gửi nó. Hệ mật mã hóa bất đối xứng là công cụ để tạo ra chữ kí số. Lược đồ chữ kí số dựa vào hệ thống khóa như RSA hoặc El Gamal, nguyên lý cơ bản rất đơn giản. Mỗi người sử dụng có một khóa riêng và chỉ duy nhất họ mới có thể sử dụng nó để chấp thuận nhận dạng chúng. Tuy nhiên có một mã hóa bất đối xứng tương ứng mà bất kì ai biết được khóa này có thể kiểm tra khóa riêng tương ứng đã được sử dụng nhưng không thể xác định được khóa riêng. Khóa riêng được sử dụng phải được chấp thuận đưa cho bên nhận để đảm bảo cả nội dung và nguồn gốc của bản tin. Chữ kí được tạo ra từ giá trị băm (tương ứng với bản tin) bằng cách sử dụng các thuật toán bất đối xứng với khóa riêng, vì thế chỉ những người sở hữu khóa riêng mới có thể tạo ra chữ kí. Chữ kí có thể được kiểm tra bởi bất kì ai những người mà biết được mã hóa bất đối xứng tương ứng. Để làm được điều này một giá trị được tạo ra từ chữ kí sử dụng các thuật toán bất đối xứng với mã hóa bất đối xứng. Giá trị này nên là giá trị băm của bản tin, cái mà ai cũng có thể tính toán. Nếu như giá trị này và giá trị băm phù hợp, chữ kí được chấp nhận là chính xác, nếu không phù hợp thì nó không được chấp nhận. Hai thuật toán bất đối xứng được sử dụng rộng rãi nhất trong chữ kí số là RSA và El Gamal. Đối với RSA, quá trình mã và giải mã giống nhau, vì thế quá trình kí và kiểm tra cũng phải giống nhau. Một lựa chọn thay thế RSA trong chuẩn chữ kí số đó là dựa vào El Gamal. Đối với El Gamal, quá trình kí và kiểm tra khác nhau, ngoài ra DSA- Digital Signature Algorith đòi hỏi một bộ tạo số ngẫu nhiên, trong khi RSA không làm được. Tuy nhiên DSA luôn luôn tạo ra chữ kí có độ dài cố định 320 bit, nhưng ngược lại khối chữ kí RSA có cùng kích thước có tính bảo mật cao hơn. Dưới đây là lược đồ của chữ kí số [12] : Hình 2.7: Lược đồ chữ kí số. Kiểu tấn công đầu tiên vừa cố thử phá vỡ thuật toán hoặc thu thập thông tin bằng cách truy nhập vào thiết bị vật lý chứa khóa riêng. Vì vậy cần bảo mật vật lý là một vấn đề quan trọng trong quản lý khóa. Cả hai cách tấn công đều giống nhau ở chỗ sử dụng thuật toán đối xứng để tìm kiếm. Tuy nhiên kiểu tấn công thứ hai là duy nhất đối với hệ thống mã hóa bất đối xứng và hầu như ngày nay vấn đề bảo vệ khóa ‘defence’bao hàm các chứng thực số được ban hành bởi các chuyên gia chứng thực CA – Certification Authorities. Giao dịch điện tử an toàn (SET) Giao thức SET được phát triển bởi ngân hàng MasterCard và Visa giống như phương pháp bảo đảm an toàn trong các phiên giao dịch bằng thẻ ngân hàng qua các hệ thống mạng mở. Nó dựa vào thuật toán DES và Triple DES để mã hóa khối dữ liệu lớn và RSA cho mã hóa mã hóa bất đối xứng của khóa bí mật và số thẻ ngân hàng. SET được đánh giá là cực kì an toàn [25]. Pay TV Bất kỳ người nào sử dụng hệ thống Pay TV đều có thể cho rằng họ có thể xem các chương trình mà họ trả tiền cho và cũng nghĩ rằng những người không trả tiền thì sẽ không thể truy cập được vào những chương trình này. Hệ thống Pay TV là một trong những mạng truyền quảng bá truy nhập được điều khiển. Trong một mạng thông tin như vậy, trong trường hợp này, chương trình TV được phát quảng bá rộng rãi nhưng chỉ có một số lượng hữu hạn người nhận được tín hiệu là có thể hiểu được thông tin một cách đúng đắn. Một phương pháp chung của việc đạt được điều này là cho tín hiệu quảng bá được mã hóa, sử dụng một khóa mà chỉ cho phép người nhận trong dự định tiếp nhận thông tin. Có nhiều phương pháp để thiết lập và quản lý những hệ thống như thế này. Trong một hệ thống Pay TV thông thường, mỗi chương trình được mã hóa với khóa duy nhất của mình ưu tiên cho việc truyền dẫn. Sau đó người ta sẽ phải trả tiền cho một chương trình cụ thể đó để biết được khóa này. Rõ ràng là điều này sẽ dẫn đến một vấn đề là quản lý khóa như thế nào, cụ thể là làm sao để chuyển khóa đến đúng người xem. Một giải pháp chung cho vấn đề này là để cung cấp cho mỗi thuê bao một thẻ Smart Card mà trong đó có chứa khóa bí mật duy nhất của thuê bao đó, sử dụng một thuật toán mã hóa bất đối xứng ( hay mã hóa công khai). Thẻ Smart card này sau đó đặt vào trong một đầu đọc hoặc là một phần của TV, hoặc là phần đi kèm được cung cấp bởi nhà quản lý mạng. Khi một thuê bao trả tiền cho một chương trình cụ thể, khóa đối xứng sử dụng để mã hóa chương trình đó được mã hóa với khóa công khai của thuê bao và truyền đi. Loại hệ thống này sử dụng phương pháp khóa hai tầng với sự lai hóa giữa thuật toán đối xứng và thuật toán bất đối xứng [12]. 2.3.3. Xu hướng của mã hóa bảo mật trong tương lai Trên thế giới ngày nay, việc bảo vệ dữ liệu có tính chất nhạy cảm là một trong những mối quan tâm hàng đầu cho các tổ chức cũng như người tiêu dùng. Điều này, đi kèm với áp lực tăng trưởng quy định, đã buộc các doanh nghiệp phải bảo vệ tính toàn vẹn, riêng tư và bảo mật của các thông tin quan trọng. Kết quả là mật mã hóa đang nổi lên như là nền tảng cho sự phù hợp và tính bảo mật dữ liệu của các doanh nghiệp, và nó nhanh chóng trở thành cơ sở của thực tế bảo mật tốt nhất [16-p1]. Không ai có thể phản đối rằng mật mã và mã hóa là những công nghệ mới. Điều này là đúng đắn từ nhiều thập kỉ trước và vẫn còn đúng cho đến tận ngày nay- mã hóa là phương pháp đáng tin cậy nhất để bảo vệ dữ liệu. Các cơ quan bảo mật quốc gia và đa phần các tổ chức tài chính đều phải thực hiện bảo mật gắt gao dữ liệu mang tính chất nhạy cảm của họ bằng cách sử dụng đến các mật mã và mã hóa. Hiện nay việc sử dụng mã hóa đang lớn mạnh nhanh chóng, được phát triển trong các vùng công nghiệp lớn hơn và thông qua sự tăng lên của một loạt các ứng dụng. Chỉ đưa ra một cách đơn giản, mật mã và mã hóa trở thành một trong những công nghệ hấp dẫn nhất trong ngành công nghiệp bảo mật IT – thử thách hiện nay để đảm bảo rằng các tổ chức IT được trang bị đầy đủ để xử lý sự thay đổi này và đang đặt ra nền móng ngày nay để đáp ứng những nhu cầu trong tương lai. [16-p1] Bước cuối cùng của bảo mật đối với dữ liệu cá nhân: Vì các doanh nghiệp hoạt động nhằm mục đích đáp ứng các tiêu chuẩn bảo mật dữ liệu nghiêm ngặt đối với việc thanh toán qua thẻ (PCI DSS), do đó, điều đầu tiên là cần phải bảo vệ dữ liệu thẻ tín dụng vốn rất nhạy cảm của khách hàng, mà trước hết là trong tư tưởng của họ. Điều này được làm nổi bật trong những nghiên cứu gần đây của chính phủ Canada, rằng việc thiếu phương pháp mã hóa thích hợp được cho là nguyên nhân chính dẫn đến sự vi phạm của TJX (hệ thống cửa hàng bán lẻ của Mỹ) khi làm lộ thông tin của ít nhất 45 thẻ tín dụng của khách hàng. Nhưng nhìn rộng ra, hậu quả không bị giới hạn chỉ trong vấn đề dữ liệu thẻ tín dụng. Vào tháng 9, hơn 800.000 người nộp đơn xin việc vào công ty thời trang Gap Inc. đã được thông báo rằng một laptop chứa các thông tin cá nhân như số bảo hiểm xã hội đã bị đánh cắp, làm lộ thông tin của những người xin việc tại đây với kẻ trộm chưa xác định. [16-p1] Rõ ràng việc bảo vệ dữ liệu cá nhân là vấn đề then chốt đối với sự sống còn của bất kỳ một công ty nào lưu trữ hay xử lý những thông tin này. Mã hóa đã trở thành bước cuối cùng của bảo mật dữ liệu bởi vì một khi dữ liệu được mã hóa, nếu nó bị đánh cắp hay thậm chí đơn giản chỉ là nhầm địa chỉ, thì cũng không thể làm thế nào có thể đọc được nếu không có các khóa giải mã dữ liệu đó. [16-p1] Một cuộc khảo sát độc lập gần đây được thực hiện bởi các chuyên gia phân tích của tập đoàn Aberdeen Group chỉ ra việc sử dụng ngày càng nhiều mã hóa và nhu cầu tăng cao đối với quản lý khóa tự động và tập trung. Họ chỉ ra rằng 81% đối tượng được thăm dò đã tăng số ứng dụng sử dụng mã hóa, 50% đã tăng số vị trí thực hiện mã hóa và 71% tăng số lượng các khóa được quản lý, so với năm trước. Mã hóa là một công cụ đầy sức mạnh, bảo vệ dữ liệu là rất quan trọng, nhưng nếu khóa bị mất, việc truy nhập vào tất cả các dữ liệu gốc được mã hóa bởi khóa đó cũng đều bị mất. Việt thiết lập một chính sách quản lý khóa và tạo một cơ sở hạ tầng bắt buộc là thành phần quan trọng của bảo mật thành công [16-p2]. Ngày nay chúng ta biết rằng phương pháp mã hóa bảo mật đối với các bản tin text được thực hiện bằng cách dịch chuyển mỗi chữ cái đi một số bất kỳ. Và theo thuật ngữ hiện đại, mỗi bit của bản tin phải được cộng XOR với một bit ngẫu nhiên. Sau đó tạo ra bản tin được mã hóa không mang thông tin gì. [29] Vấn đề còn lại là việc quản lý, phân phối khóa, làm thế nào để cả bên nhận và bên thu đều thống nhất được dãy bit ngẫu nhiên đã sử dụng. Các phương pháp hiện đại, các phương pháp được sử dụng cho mã hóa các cuộc truyền thông Internet, thực hiện trên cái gọi là các hàm một chiều – là các hàm số dễ dàng tính toán được nhưng lại rất khó để tính ngược lại. Ví dụ như mã hóa khóa công khai (như RSA) là dựa trên cơ sở sự khó khăn khi làm việc với những hệ số lớn và sử dụng thuật toán rời rạc [29]. Với sức mạnh ngày càng tăng lên của các thuật máy tính cổ điển, các thuật toán hay là một máy tính lượng tử, một mã có thể bị bẻ khóa ngay hoặc cũng có thể sẽ bị bẻ khóa trong tương lai. Do vậy, nếu bản tin mã hóa được lưu lại, thì cuối cùng nó cũng có thể bị giải mã. Đối với hầu hết các bản tin, điều này có thể không quan trọng, nhưng đối với các bản tin thuộc về quân sự, điều này là rất quan trọng, đặc biệt là nếu thời gian yêu cầu là ngắn [29]. Tuy nhiên, hiện tại tính toán lượng tử vẫn còn non trẻ và chi phí tài nguyên cần thiết cho chúng còn quá lớn. Song khi nó xảy ra, liệu đó sẽ là tín hiệu chấm hết cho mật mã truyền thống. [28] Mật mã lượng tử xuất hiện, cùng với phương pháp phân phối khóa lượng tử đến thời điểm này vẫn còn sớm để kết luận rằng nó sẽ đánh dấu chấm hết cho cuộc chiến giữa các nhà mật mã và thám mã. Bởi cho đến thời điểm này, dù đã bắt đầu được dùng trong một số tổ chức quân sự và tình báo, và trên thị trường cũng đã bán những sản phẩm đầu tiên với giá khoảng 100 ngàn euro/sản phẩm ( ngày 12/10/2007, nó cũng đã được dùng trong cuộc bầu cử tạo Geneva, Thụy Sĩ), song theo Vadim Makarov ( Khoa điện tử viễn thông, trường Đại học Khoa học và Công nghệ Norwegian(Mỹ)) trong bản tổng kết các kết quả nghiên cứu về Mật mã lượng tử từ năm 1998 đến 2007, thì “… hiện tại, mật mã lượng tử vẫn phải cạnh tranh với các giải pháp an toàn cổ điển vượt trội hơn hẳn cả về sự tiện dụng lẫn giá cả, và dường như chưa có nhu cầu cấp thiết để thay thế chúng… Đôi khi, trong lĩnh vực an toàn, các giải pháp tiện dụng nhưng kèm theo nhược điểm vẫn được lựa chọn; và đôi khi một phương án không đoán trước được lại xuất hiện. Thậm chí có lúc công nghệ lại bị loại bỏ vì các lý do chính trị. [28] Mật mã lượng tử ngăn cản gián điệp Eve theo dõi cuộc trao đổi giữa Alice và Bob. Hai người này trao đổi thông tin mã hóa theo phân cực của photon. Alice mã hóa chuỗi 0 và 1 tạo nên chìa khóa để gửi đi, chọn tùy ý: cách phân cực dọc (cho 1) và phân cực ngang (cho 0), hoặc phan cực chéo lên ( cho 0) và chéo xuống (cho 1). Eve có thể dùng tấm phân cực dọc để chặn đường theo dõi trộm. Eve giải mã đúng các bit mà photon phân cực dọc hay phân cực ngang mang theo. Nhưng nếu các bit được mang bởi photon phân cực chéo và phản chéo thì tính ra cứ hai lần thì Eve nhầm một lần. Eve lại phát tiếp các photon phân cực dọc hoặc phân cực ngang tùy theo các bit mà Êve theo dõi trộm giải mã được. Điều này làm cho chìa khóa mật mã mà Alice gửi đi bị nhiễu. Còn khi Bob nhận được photon thì Alice cho Bob biết phải giải mã theo cách nào. Như vậy mỗi photon mà sự phân cực đã bị Eve can thiệp , tính ra là cứ hai sai một. Cuối cùng Alice gửi cho Bob một phần của chìa khóa mật mã bởi một phương tiện cổ điển nào đó, sao cho Bob có thể đối chiếu với phân tương ứng đã nhận theo mật mã lượng tử, nếu ko giống nhau thì biết ngay có gián điệp theo dõi trộm. Bob nhận được các q-bit, Alice có thể dùng bất lỳ phương tiện thông tin cổ điển nào đó để tin cho Bob biết cách mã hóa nào đã dùng, nhờ đó Bob đặt đúng hướng tấm lọc phân cực và đo được đúng q-bit. Nếu Eve có bí mật sao chép chìa khóa mật mã gửi đi thì một phần những bit mà Bob giải mã được sẽ bị sai. Chỉ cần Alice chuyển theo cách cổ điển một phần của chìa khóa mật mã để kiểm tra, nếu có Eve sao chép trộm thì hai phần không khớp nhau, Bob biết ngay là có trộm. Việc kiểm tra này làm cho một phần của chìa khóa trở nên vô dụng vì Alice đã tiết lộ theo cách cổ điển, tuy nhiên nó đảm bảo rằng không có nguy cơ bị trộm khóa mật mã. [27] Các nghiên cứu trong tương lai sẽ tập trung vào hai khía cạnh của QKD ( hay mật mã lượng tử) : làm giảm kích thước các thiết bị và tăng tốc độ bit đảm bảo cũng như là khoảng cách đối với phân phối khóa bảo mật, khi mà tốc độ hiện nay của mật mã lượng tử là khá nhỏ, khoảng 300-400 bit/s, và khoảng cách xa nhất đạt được là 67km với tốc độ 60bit/s [29]. Phải cạnh tranh với các giải pháp vượt trội về độ tiện dụng nhưng cho đến nay mật mã lượng tử vẫn đang tận hưởng sự trợ giúp mạnh mẽ của cả chính phủ Mỹ lẫn cộng đồng châu Âu thông qua chương trình cộng tác và nghiên cứu tập trung. Mật mã lượng tử còn cả một khoảng trời rộng rãi để hoàn thiện trong vài năm tới [28] 2.4. Kết luận. Mã hóa mã hóa công khai hay mã hóa bất đối xứng là một phần quan trọng của các kĩ thuật đặc biệt dùng để xác thực thông tin. Chúng không những cải thiện được những hạn chế của các loại mã hóa đối xứng hay mã mật mà còn có thể kết hợp với mã hóa đối xứng để tạo ra các hệ thống có độ an toàn cao hơn, đảm bảo thông tin giữa các người sử dụng với nhau khỏi kẻ tấn công nhằm mục đích xấu. Các phương pháp mật mã tạo ra một lợi ích to lớn trong các lĩnh vực cuộc sống nói chung và đặc biệt quan trọng đối với lĩnh vực viễn thông nhất là các hệ thống vô tuyến như mobile, wifi, wimax … để đảm bảo truyền thông tin người dùng an toàn, tin cậy và chính xác. CHƯƠNG III: MÃ HÓA DỮ LIỆU TRONG WIMAX 3.1. Chuẩn mã hoá dữ liệu DES (Data Encryption Standard) 3.1.1. Giới thiệu về chuẩn mã hoá dữ liệu DES Năm 1972, Viện tiêu chuẩn và công nghệ quốc gia Hoa kỳ (National Institute of Standards and Technology-NIST) đặt ra yêu cầu xây dựng một thuật toán mã hoá bảo mật thông tin với yêu cầu là dễ thực hiện, sử dụng được rộng rãi trong nhiều lĩnh vực và mức độ bảo mật cao. Năm 1974, IBM giới thiệu thuật toán Lucifer, thuật toán này đáp ứng hầu hết các yêu cầu của  NIST. Sau một số sửa đổi, năm 1976, Lucifer được NIST công nhận là chuẩn quốc gia Hoa Kỳ và được đổi tên thành Data Encryption Standard (DES). DES được thông qua bởi cục tiêu chuẩn quốc gia (NBS) với tên là FIPS PUB 46 vào năm 1977. Ngày nay, các FIPS PUB được phát triển và triển khai bởi NIST. Chuẩn được xác nhận lại vào năm 1983, 1988, 1993 và 1999, và chuẩn được chính thức thu hồi vào tháng 7 năm 2004. Tiêu chuẩn DES được xác nhận lại vào năm 1999 có thể được sử dụng để bảo vệ dữ liệu nhạy cảm cao. Chuẩn mã hoá dữ liệu DES bao gồm thuật toán mã hoá dữ liệu DES và thuật toán mã hoá dữ liệu bội ba TDEA như được mô tả trong ANSI X9.52. [20] DES là phương pháp mật mã theo một khối đối xứng, thao tác trên các khối 64 bit có sử dụng một khóa 56 bit. DES mật mã dữ liệu trên các khối 64 bit. Đầu vào của thuật toán là một khối 64 bit chứa thông tin cần mã hóa (plaintext) và đầu ra của thuật toán là một khối 64 bit chứa các thông tin đã được mật mã hóa (ciphertext) sau 16 vòng lặp giống nhau [13]. Chiều dài từ khóa là 56 bit được tạo ra bằng cách bỏ đi 8 bit chẵn lẻ của một từ khóa 64 bit đã cho. Khoá 56 bit tạo ra 16 khoá con 48 bit, và 16 hàm lặp ký hiệu là fkj với j = 1, 2, …, 16.[9] Để thuận tiện ta ký hiệu như sau: L và R là khối các bit, LR biểu thị khối gồm các bit L được theo sau bởi các bit của R. Do sự ghép nối liên kết, ví dụ như B1B2…B8 biểu thị khối gồm các bit của B1 được theo sau bởi các bit của B2… được theo sau bởi các bit của B8.[20] DES là đại diện chính của một mật mã Feistel. Do đó, để hiểu về DES, trước hết ta tìm hiểu sơ qua về mật mã Feistel. Một mật mã Feistel là một mật mã khối với một cấu trúc đặc biệt (được gọi là mạng Feistel). Mẫu tự là và độ dài khối là 2t (với mỗi ). Mật mã Feistel chạy trong các vòng . Với mỗi , r vòng khoá k1,…, kr phải được tạo ra và sử dụng trên mỗi một vòng. Hàm mã hoá Ek khởi đầu bằng việc chia khối bản tin nguyên bản m thành 2 nửa mà mỗi nửa có t bit. Đặt L0 cho nửa bên trái và R0 cho nửa bên phải: m = (L0, R0). Một chuỗi các cặp (Li, Ri) với i = 1,…, r sau đó được tính toán đệ quy như sau: (3.1) Nghĩa là: và . (3.2) Ví dụ, nếu i = 1, thì L1 và R1 được tính như sau Tương tự, nếu i = 2 thì L2 và R2 được tính như sau: Quá trình này được tiếp tục cho đến vòng cuối thì Lr và Rr được tính như sau: Cặp (Lr, Rr) được biểu diễn ngược lại trong khối mật mã. Do đó, mã hoá của bản tin gốc m sử dụng khoá k có thể được biểu diễn theo công thức như sau: (3.3) Công thức đệ quy 3.1 cũng được viết như sau: (3.4) Điều này có nghĩa là có thể tính toán đệ quy Li-1 và Ri-1 từ Li, Ri và ki và để xác định (L0, R0) từ (Rr, Lr) sử dụng khoá vòng theo thứ tự ngược lại (ví dụ như kr,……, k1). Do đó, một mật mã Feistel có thể luôn được giải mã sử dụng thuật toán tương tự và áp dụng các khoá vòng theo thứ tự ngược lại. Đặc tính này làm đơn giản hoá việc thực hiện hàm giải mã đang xét (thực tế, các hàm mã hoá và giải mã là giống nhau). Bây giờ ta chi tiết hoá trên các hàm hoặc các thuật toán mã hoá và giải mã DES.[10] 3.1.2. Thuật toán mã hóa DES. Thuật toán DES được thiết kế để mã hoá và giải mã hoá các khối dữ liệu gồm 64 bit dưới sự điểu khiển của một khoá k. Việc gi

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

  • docNhom 3 D05VT2 Ma hoa bao mat trong Wimax.doc
Tài liệu liên quan