Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 168 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
168
Dung lượng
1,31 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH ĐẠI HỌC BAÙCH KHOA o0o NGUYỄN HẢI TRIỀU ĐỀ TÀI: Nghiên cứu, thiết kế thực số công cụ BẢO MẬT THÔNG TIN cho hệ thống thương mại điện tử Chuyên ngành: Công Nghệ Thông Tin Mã số ngành: 01.02.10 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng năm 2003 CÔNG TRÌNH ĐƯC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Cán hướng dẫn khoa học: Tiến Só Nguyễn Xuân Dũng Cán chấm nhận xét 1: Tiến Só Nguyễn Văn Hiệp Cán chấm nhận xét 2: Tiến Só Nguyễn Đình Thúc Luận văn thạc só bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 27 tháng năm 2003 Đại Học Quốc Gia Tp Hồ Chí Minh CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc Lập – Tự Do – Hạnh Phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Nguyễn Hải Triều Phái: Nam Ngày tháng năm sinh: 14-07-1975 Nơi sinh: Quảng Ninh Chuyên ngành: Công Nghệ Thông Tin Mã số: 01.02.10 TÊN ĐỀ TÀI: Nghiên cứu, thiết kế thực số công cụ BẢO MẬT THÔNG TIN cho hệ thống thương mại điện tử II- NHIỆM VỤ VÀ NỘI DUNG: Nghiên cứu, phân tích đánh giá mô hình mật mã học đại Từ thiết kế hệ thống bảo mật với thành phần nghi thức mật mã chính, có khả áp dụng cho loại hệ thống giao dịch điện tử Hiện thực ứng dụng minh họa cho hệ thống III- NGÀY GIAO NHIỆM VỤ: 01-05-2003 IV- NGÀY HOÀN THÀNH NHIỆM VỤ: 27-09-2003 V- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Tiến Só Nguyễn Xuân Dũng CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM NGÀNH TS Nguyễn Xuân Dũng TS Dương Tuấn Anh BỘ MÔN QUẢN LÝ NGÀNH Nội dung đề cương luận văn thạc só Hội Đồng Chuyên Ngành thông qua Ngày PHÒN G ĐÀO TẠO SAU ĐẠI HỌC tháng năm KHOA QUẢN LÝ NGÀNH Lời cảm ơn Bản thân hoàn thành luận văn cách tốt giúp đỡ góp ý Thầy động viên bạn đồng nghiệp Xin chân thành cảm ơn TS Nguyễn Xuân Dũng (khoa CNTT, Đại Học Văn Lang) giúp đỡ nhiệt tình trình nghiên cứu phát triển đề tài Xin cảm ơn TS Dương Tuấn Anh, TS Nguyễn Văn Hiệp (khoa CNTT, Đại Học Bách Khoa TP.HCM), TS Nguyễn Đình Thúc (khoa CNTT, Đại Học Khoa Học Tự Nhiên TP.HCM) giúp đỡ góp ý xây dựng cho luận văn hoàn thiện Xin cảm ơn Thầy, Cô giáo khoa Công Nghệ Thông Tin, phòng Quản Lý Sau Đại Học trường Đại Học Bách Khoa TP.HCM cung cấp kiến thức cho suốt thời gian học tập Xin chân thành cảm ơn người thân gia đình, bạn đồng nghiệp công ty động viên, giúp đỡ trình nghiên cứu xây dựng luận văn TP.HCM ngày 27 tháng năm 2003 Nguyễn Hải Triều Tóm tắt Xuất phát từ nhu cầu nghiên cứu phát triển hệ thống bảo mật thông tin ứng dụng giao dịch điện tử nói chung thương mại điện tử nói riêng nước, luận văn nghiên cứu, phân tích, thống kê đánh giá cách chi tiết lĩnh vực khoa học mật mã, bao gồm: mơ hình mã hóa thơng tin đối xứng bất đối xứng (encryption), mơ hình chữ ký điện tử (digital signature), mơ hình chứng thực thành viên (entity authentication), mơ hình quản lý thiết lập khóa bí mật (key management), phương pháp kiểm sốt tồn vẹn thơng tin (data integrity)… xem xét số giải pháp mã hóa sở liệu Từ nghiên cứu đó, luận văn chọn lọc, cải tiến kết hợp mơ hình mật mã lại theo cách thức riêng để thiết kế thành phần nghi thức hệ thống mật mã nền, có khả làm sở để phát triển loại ứng dụng giao dịch điện tử có nhu cầu bảo mật thơng tin, : giao dịch ngân hàng, truyền nhận thông tin an toàn… Cuối cùng, luận văn tiến hành xây dựng ứng dụng đơn giản có dạng client–server giao dịch ngân hàng điện tử, dựa sở hệ thống mật mã thiết kế Ứng dụng cho phép người dùng (là thành viên hệ thống ngân hàng) chứng thực-đăng nhập cách an toàn vào hệ thống, thực số thao tác đơn giản tài khoản như: kiểm tra tài khoản, chuyển tiền, thay đổi thơng số bí mật tài khoản… Tuy nhiên, ứng dụng có vai trị minh họa khả áp dụng hệ thống mật mã Abstract From the local needs of studying and developing of security systems to apply into electronic-transaction generally and e-commerce applications particularly, this thesis aims to study, analyse and value some important fields of cryptography in detail, such as: two types of encryption models (symmetric and asymmetric), digital signature models, entity authentication models, key management models (key distribution, key agreement), data integrity checking methods (message authentication code)…, and also to analyse some applicable database encryption solutions From those studies, we then choose the best models, customise, improve and combine them in a unique way to design some core components and protocol of a cryptographic platform which can be the cryptographic base for developing various upper e-transaction applications which require security, such as: e-banking applications, secure file transmission,… Finally, we proceed to design and implement a simple e-banking client-server application based on the above cryptographic platform This application allows the user, who is a member of the bank, to securely access (by cryptographic authentication) into the server, and to some simple actions on his account such as checking account status, withdrawing money, changing the account’s secret code… However, this e-banking application is merely a demonstration of the cryptographic platform’s application on the real context It needs to be improved more in functionality in order to match the reality’s needs i Mục lục Nhiệm vụ luận văn thạc sĩ Lời cảm ơn Tóm tắt Abstract Mục lục i Danh sách hình iv Các ký hiệu viết tắt v Chương - Giới thiệu 1.1 Phạm vi động lực 1.2 Mục tiêu nội dung đề tài 1.3 Các cơng trình liên quan Chương – Cơ sở lý thuyết mật mã 2.1 Tổng quan mật mã 2.1.1 Các khái niệm 2.1.2 Các loại hệ thống mật mã 2.2 Các mơ hình mã hóa đối xứng 12 2.2.1 DES (Data Encryption Standard) 13 2.2.2 Triple-DES (TDES,3DES) 22 2.2.3 Giải thuật RC5 24 2.2.4 Giải thuật RC6 31 2.1.5 Giải thuật Rijndael (AES) 36 2.3 Các mô hình mã hóa bất đối xứng 42 2.3.1 Các sở toán học 43 2.3.2 Mơ hình mật mã RSA 47 2.3.2.1 Thuật toán RSA 47 2.3.2.2 Phương pháp sinh số nguyên tố ngẫu nhiên 51 2.3.2.3 Các thuật tốn phân tích thừa số (factoring) 52 2.3.2.4 Đánh giá RSA 55 ii 2.3.2.5 Kết luận ứng dụng 56 2.3.3 Mơ hình mật mã ElGamal 56 2.3.3.1 Mơ hình ElGamal tốn logarit 56 2.3.3.2 Các thuật toán giải toán logarit 58 2.3.3.3 Đánh giá ElGamal 60 2.4 Hàm băm chữ ký điện tử 61 2.4.1 Chữ ký điện tử (digital signature) 61 2.4.1.1 Mơ hình chung chữ ký điện tử 62 2.4.1.2 Mơ hình chữ ký điện tử RSA 63 2.4.1.3 Mơ hình chữ ký điện tử ElGamal 64 2.4.1.4 DSA (Digital Signature Algorithm) 65 2.4.1.5 Một số thông tin chuẩn chữ ký điện tử NIST 67 2.4.2 Hàm băm (HASH function) 68 2.4.2.1 Giới thiệu 68 2.4.2.2 MD5 70 2.4.2.3 SHA (Secure Hash Algorithm) 75 2.4.2.4 Mộc thời gian (timestamping) 78 2.4.3 Tóm tắt ứng dụng 79 2.5 Quản lý & trao đổi khóa bí mật (key management) 80 2.5.1 Giới thiệu 82 2.5.2 Các giải thuật trao đổi khóa (key agreement) 82 2.5.2.1 Giải thuật Diffie-Hellman 82 2.5.2.2 Giải thuật Station-to-Station (STS) 83 2.5.3 Tóm tắt kết luận 85 2.6 Chứng thực dùng hệ thống khóa cơng khai (authentication) 85 2.6.1 Giới thiệu 85 2.6.2 Mơ hình chứng thực Schnorr 87 2.6.3 Mô hình chứng thực Guillou-Quisquater 89 2.6.4 Chuẩn chứng thực dùng khóa cơng khai NIST 91 2.6.5 Tóm tắt kết luận 92 iii 2.7 Mã kiểm sốt tồn vẹn liệu (MAC) 93 2.7.1 Giới thiệu 93 2.7.2 Một số phương pháp tính MAC 93 2.7.3 Chuẩn HMAC NIST 94 Chương - Thiết kế mơ hình bảo mật .96 3.1 Mục tiêu ứng dụng 97 3.2 Mục tiêu thiết kế - mơ hình tổng qt 97 3.3 Kiến trúc mật mã chi tiết 99 3.4 Thông tin phiên làm việc (session) 108 3.5 Các giao thức hệ thống (protocols) 109 3.5.1 Giao thức bắt tay (handshake protocol) 110 3.5.2 Giao thức DATA 115 3.5.3 Giao thức ERROR 115 3.6 Bảo mật sở liệu (Database Encryption) 115 3.6.1 Giải pháp mã hóa bên DBMS 117 3.6.2 Giải pháp mã hóa bên DBMS 119 3.6.3 Một cách cài đặt mã hóa DBMS 120 Chương - Hiện thực hệ thống .127 4.1 Hiện thực hệ thống mật mã (cryptographic platform) 127 4.2 Hiện thực giao thức 129 4.3 Thư viện mật mã dạng COM 133 4.4 Hiện thực ứng dụng giao dịch ngân hàng 135 4.4.1 Phần mềm client 136 4.4.2 Phần mềm server 140 Chương - Kết luận (conclusion) 142 Tham khảo (references) 149 Phụ lục (Appendix) Phụ lục A A-1 Phụ lục B B-1 iv Danh sách hình Hình 2.1 – DES, sơ đồ tính tốn vịng lặp 14 Hình 2.2 – DES, hàm f(R,J) 15 Hình 2.3 - DES, sơ đồ tính tốn Ki (key schedule) 16 Hình 2.4 – Sơ đồ mã hóa DES 18 Hình 2.5 – DES, CBC mode 19 Hình 2.6 – DES, CFB mode (stream cipher) 20 Hình 2.7 – Mã hóa words A, B (w bits) RC5 26 Hình 2.8 – Sơ đồ mã hóa RC6 35 Hình 2.9 – State qua q trình mã hóa (Rijndael) 37 Hình 2.10 – Mơ hình mã hóa dùng khóa cơng khai 43 Hình 2.12 – Mơ hình chữ ký điện tử 62 Hình 2.13 – Hàm HASH 69 Hình 2.14 – MD5, Message padding 71 Hình 2.15 – Mộc thời gian cho chữ ký điện tử 79 Hình 2.16 - Giải thuật Diffie-Hellman 82 Hình 2.17 – Mơ hình Station-to-Station (STS) 84 Hình 2.18 – Mơ hình chứng thực chiều 92 Hình 3.1 – Sơ đồ tổng quát hệ thống mật mã 99 Hình 3.2 – Kiến trúc hệ thống mật mã 100 Hình 3.3 - Sơ đồ chứng thực server 105 Hình 3.4 – Sơ đồ chứng thực client 106 Hình 3.5 – Sơ đồ mã hóa bên DBMS 118 Hình 3.6 - Sơ đồ mã hóa bên ngồi DBMS 119 Hình 3.7 - Sơ đồ cài đặt mã hóa MS SQLserver 2000 122 Hình 4.1 – Chứng thực, dựa chữ ký điện tử 138 Hình 4.2 – Cửa sổ client (sau login) 139 Hình 4.3 - Giao diện phần mềm server 141 143 ứng dụng rộng rãi nhất, giải thuật bổ sung vào chuẩn quản lý khóa X9.42 ANSI Kết đạt luận văn Bảo mật chung khoa học mật mã nói riêng lĩnh vực rộng phức tạp, đòi hòi nhiều thời gian nghiên cứu, sáng chế kiểm nghiệm thực tế Thương mại điện tử số nhiều lĩnh vực liên quan đến máy tính có nhu cầu cao bảo mật, đặc biệt bối cảnh công nghệ thông tin nước giai đoạn phát triển sơ khởi, ứng dụng thương mại như: giao dịch ngân hàng điện tử, mua bán trực tuyến, dịch vụ lưu trữ trao đổi liệu an toàn,… chưa có lực lượng nghiên cứu phát triển mạnh Do đó, nghiên cứu ứng dụng khoa học mật mã quan trọng cần thiết Với lượng thời gian hạn hẹp, luận văn đề mục tiêu nghiên cứu phần phương pháp, hình thức, mơ hình bảo mật… tương đối đủ cho việc thiết kế thực số công cụ hữu ích thương mại điện tử Luận văn giới thiệu cụ thể rõ ràng loại mơ hình mật mã đối xứng (hay hệ thống dùng khóa riêng) bất đối xứng (hay dùng khóa cơng khai), với ưunhược điểm ứng dụng thực tế cụ thể Ngoài ra, luận văn sâu nghiên cứu chất toán học thuật tốn mã hóa-giải mã tiêu biểu mạnh khác (như : Rijndael, RC6, RC5, DES/3DES,… mã hóa đối xứng, RSA, ElGamal,… mã hóa bất đối xứng) Đánh giá độ an toàn thuật toán theo số phương pháp thám mã khác nhau, với số thống kê cụ thể đánh giá tốc độ, độ an toàn thuật giải Luận văn nêu yếu tố thiết yếu khác khoa học mật mã, như: mơ hình chữ ký điện tử dựa thuật tốn dùng khóa cơng khai (RSA, DSA, ElGamal), thuật toán băm mạnh để nén tạo mã kiểm soát tính tồn vẹn liệu (như MD5, SHA), mơ hình chứng thực thành viên (RSA, Schnorr), mơ hình phân phối trao đổi khóa bí mật cho mã hóa đối xứng (như DiffieHellman, Station-to-Station,…) … Và chuẩn công nghiệp giới mô hình Dựa nghiên cứu đó, luận văn thiết kế cụ thể mô hình mật mã (cryptographic platform) làm sở cho ứng dụng giao dịch điện 144 tử an toàn, thực hệ thống mật mã dạng thư viện COM, từ xây dựng phần mềm đơn giản giao dịch ngân hàng an toàn, mang tính chất minh họa khả áp dụng hệ thống mật mã thiết kế Bên cạnh bảo mật thơng tin giao dịch, luận văn tìm hiểu, nghiên cứu thử nghiệm kỹ thuật giải pháp mã hóa sở liệu nhằm che dấu thơng tin quan trọng khỏi người dùng khác hệ quản trị sở liệu (như system administrator, database administrator) chí người thiết kế phát triển hệ quản trị sở liệu Ngồi ra, nêu đánh giá khó khăn, ưu-nhược điểm giải pháp thực tế Hướng mở rộng - phát triển Với lượng thời gian giới hạn, mơ hình hệ thống mật mã chưa thiết kế thực cách hoàn chỉnh chưa đáp ứng nhu cầu cao thực tiễn Tuy nhiên, hệ thống mật mã thiết kế với đặc tính mở uyển chuyển cao Có khả sửa đổi, bổ sung dễ dàng, kết hợp với nghiên cứu phần cứng để xây dựng nên sở bảo mật hoàn chỉnh, làm tảng cho việc phát triển nhiều loại ứng dụng giao dịch điện tử khác nhau, với độ an toàn thay đổi linh hoạt Phần mềm giao dịch ngân hàng điện tử thực chi tiết lớp ứng dụng (business application) như: chuyển tiền tài khoản, lưu trữ giao dịch, định thời giao dịch, thay đổi chữ ký điện tử, lưu trữ tiểu sử chữ ký điện tử, khả thu hồi - hủy bỏ chữ ký điện tử hạn hay bị lộ,… để trở thành giải pháp giao dịch ngân hàng điện tử hồn chỉnh, có độ tin cậy cao Về khía cạnh mã hóa sở liệu, luận văn chưa thể thực hoàn chỉnh giải pháp mã hóa DBMS, với kỹ thuật thử nghiệm hồn tồn xây dựng thành cơng Tất nhiên cần cân nhắc việc mã hóa số kiểu liệu, khả ảnh hưởng đến hiệu suất thực thi hệ thống Cuối cùng, với thành đạt luận văn, hạn chế cho thấy khả nghiên cứu - phát triển loại công cụ - hệ thống bảo mật có tính chất ứng dụng thực tiễn cao, với nhiều cấp độ an toàn 145 Tham khảo (References) [1] Cryptography, Theory and Practice CRC Press, 1995 Douglas R Stinson, Computer Science and Engineering Department and Center for Communication and Information Science, University of Nebraska, Lincoln, U.S [2] Cryptography : A new dimension in computer data security, 1982 (A guide for the Design and Implementation of Secure System) Carl H Meyer, Stephen M Matyas Cryptography Competency Center, IBM corp., U.S [3] Authentication and authenticated key exchanges, 1992 (design, code and cryptography) W Diffie, P.C Van Oorschot and M.J Wiener [4] Giáo trình Bảo Mật Thơng Tin, 1998 TS Nguyễn Xuân Dũng, Khoa CNTT, Đại Học Văn Lang, TPHCM, VN [5] The Rijndael block cipher, AES proposal Joan Daemen, Vincent Rijmen, 1999 [6] Report on Development of the Advanced Encryption Standard (AES), NIST, october 2000 [7] FIPS PUB 197, Advanced Encryption Standard (AES), NIST (National Institute of Standards and Technology), U.S Department of Commerce, November 2001 [8] FIPS PUB 46-3, Data Encryption Standard (DES) and TDES NIST, October 1999 [9] FIPS PUB 180-2, Secure Hash Standard (SHS) NIST, August 2002 146 [10] FIPS PUB 196, Entity Authentication Using Public Key Cryptography NIST, February 1997 [11] FIPS PUB 198, Keyed-hash Message Authentication Code (HMAC) NIST, March 2002 [12] FIPS PUB 186, Digital Signature Standard (DSS) NIST, January 2000 [13] One Recent Results for MD2, MD4, and MD5 M.J.B Robshaw, RSA Laboratories Bulletin, 1996 [14] The RC5 Encryption Algorithm, revised version, 1997 Ronal L Rivest, MIT Laboratory for Computer Science [15] The RC6TM Block Cipher, AES proposal, NIST , August 1998 Ronal L Rivest (MIT Laboratory for Computer Science), and M.J.B.Robshaw, R Sidney, Y.L Yin (RSA Laboratories) [16] RC6 and the AES, January 2001 M.J.B Robshaw, RSA Laboratories, UK [17] SSL protocol, Netscape documentation resource [18] RSA Laboratories’ FAQ, RSA Security Inc (www.rsasecurity.com) [19] Oracle Advanced Security (Key management, data encryption, intergrity checking) Oracle Technical White Paper, August 2001 [20] DbEncrypt Technical Paper, 2003 Application Security Inc (www.appsecinc.com) [21] Smartcards and Security overview, www.smartcardbasics.com [22] How ATM, smartcards work www.howstuffworks.com A-1 Phụ lục Phụ lục A Thí nghiệm tốc độ thực thi giải thuật AES Các bảng sau kết thí nghiệm tốc độ thực thi giải thuật lọt vào vòng chung kết chuẩn AES, bao gồm: Rijndael, RC6, Twofish, Mars, Serpent Các kết kiểm tra q trình mã hóa, giải mã, khởi động khóa (key setup) Các thí nghiệm cột có ký hiệu : A Ỉ R Các thí nghiệm ( R) thực hệ phần cứng khác nhau, thí nghiệm có cột thơng tin: • cột (clocks, Mbits/sec) : kết thực thi, clocks Ỉ số chu kỳ máy cần chạy, Mbits/sec Ỉ tốc độ xử lý đạt được, tính theo Megabits/sec, hay Kbits/sec • cột (Norm) : kết “chuẩn hóa”, giá trị tốt 1.00 thể giải thuật có hiệu suất cao (số clocks cần thiết nhất, tốc độ xử lý Mbits/sec cao nhất) Dựa vào số để so sánh dễ dàng hiệu suất giải thuật Thí nghiệm C,D, E, F, G M bao gồm kết cho loại khóa (128, 192, 256 bits) cho giải thuật Phần lại thực nghiệm bao gồm kết cho khóa 128 bits Các thí nghiệm thực ngơn ngữ lập trình khác (C, Assembly, Java) Cấu hình phần cứng cho tables A.1 – A.6: A: B: C: D: E: F: G: H: Intel Pentium II Linux/GCC-2.7.2.2/Pentium 133 MHz MMX Intel Pentium III 600MHz Apple G4 PowerPC Intel Pentium II/III Intel Pentium Pro 200, w/ Symantec Visual Cafe 2.5a, Java Intel Pentium Pro 200, w/ JDK 1.3, JIT, Java UltraSPARC-I, w/JDK1.2, JIT, Java A-2 I: J: K: L: M: N: O: P: Q: R: Hewlett-Packard PA-RISC, ASM Hewlett-Packard IA-64 Comqaq Alpha 21164a 500MHz Comqaq Alpha 21264 SGI 300 MHz R12000, C w/GCC-2.8.1 Motorola 6805 CPU Core Z80 CPU + coprocessor ARM CPU Texas Instruments TMS320c541 DSP Texas Instruments TMS320C6201 DSP Table A.1-A.6: Q trình mã hóa, thực phần mềm Table A.1 32-Bit processors (ngôn ngữ C) A Clocks B C D E Norm Clocks Norm Clocks Norm Mbits/sec Norm Clocks Norm a 0.78 656 0.48 80.6 0.64 364 0.74 MARS 306 0.73 1600 RC6 223 1.00 1436 0.87 318 1.00 125.9 1.00 269 1.00 RIJN 237 0.94 1276 0.98 805 0.40 52.6 0.42 362 0.74 981 0.32 44.3 0.35 428 0.63 1155 0.28 38.2 0.30 503 0.53 SERP 1800 0.70 1261 0.25 50.3 0.40 953 0.28 TWOF 282 0.79 1254 1.00 780 0.41 50.3 0.40 366 0.73 a Giá trị dựa phiên Round cùa MARS (với bảng liệt kê giá trị khóa khác phiên Round 2) Table A.2 32-bit processors (Java) F Kbits/sec G Norm Kbits/sec H Norm Clocks Norm MARS 19,718 0.75 3738 0.77 8840a 0.69 RC6 26,212 1.00 4698 0.97 6110 1.00 RIJN 19,321 0.74 4855 1.00 7770 0.79 16,922 0.65 4664 0.96 14,957 0.57 4481 0.92 SERP 11,464 0.44 1843 0.38 10050 0.61 TWOF 19,265 0.73 1749 0.36 14990 0.41 A-3 a Giá trị dựa phiên Round cùa MARS (với bảng liệt kê giá trị khóa khác phiên Round 2) Table A.3 64-bit processors (C and assembler) Ia J Clocks Norm MARS 540 0.31 511 RC6 580 0.29 RIJN 168 1.00 K Clocks Norm L M Clocks Norm Clocks Norm Kbits/sec Norm 0.24 507 0.97 515 0.57 63581 0.73 490 0.26 559 0.88 428 0.68 86522 1.00 125 1.00 490 1.00 293 1.00 58282 0.67 49080 0.57 42387 0.49 SERP 580 0.29 565/419 0.22/0.30 998 0.49 854 0.34 42174 0.48 TWOF 205 0.82 182 0.69 490 1.00 316 0.93 59947 0.69 a Sử dụng assembler b Giá trị dựa phiên Round MARS Table A.4 8-bit processors (C & Assembler) N Clocks O Norm Clocks Norm MARS 34,163 0.28 45,588 0.56 RC6 32,731 0.29 34,736 0.73 RIJN 9,464 1.00 25,494 1.00 SERP 126,074 0.08 71,924 0.35 26,500 0.36 31,877 0.80 TWOF a Giá trị dựa phiên Round cùa MARS Table A.5 32-bit microprocessor for smartcards (ARM) P Clocks Norm MARS 9425 0.63 RC6 5964 1.00 RIJN 7086 0.84 SERP 15687 0.38 A-4 TWOF 19274 0.31 Table A.6 Digital Signal processors (DSPs) R Q Clocks Norm Clocks Norm a 0.34 406 0.56 RC6 8231 0.43 292 0.78 RIJN 3518 1.00 228 1.00 SERP 14703 0.24 871 0.26 4672 0.75 308 0.74 MARS 8908 TWOF a Giá trị dựa phiên Round cùa MARS Table A.7-A.10: Quá trình giải mã, thực phần mềm Cấu hình phần cứng cho tables A.7 – A.10: B: C: D: E: F: G: I: J: M: Q: R: Linux/GCC-2.7.2.2/Pentium 133 MHz MMX Intel Pentium III 600MHz Apple G4 PowerPC Intel Pentium II/III Intel Pentium Pro 200, w/ Symantec Visual Cafe 2.5a, Java Intel Pentium Pro 200, w/ JDK 1.3, JIT, Java Hewlett-Packard PA-RISC, ASM Hewlett-Packard IA-64 SGI 300 MHz R12000, C w/GCC-2.8.1 Texas Instruments TMS320c541 DSP Texas Instruments TMS320C6201 DSP Table A.7 32-bit processors (C) B Clocks D C Norm Clocks Norm Mbits/sec E Norm Clocks Norm a 0.74 569 0.53 83.9 0.68 371 0.62 RC6 1406 0.83 307 1.00 123.9 1.00 231 1.00 RIJN 1276 0.91 784 0.39 57.1 0.46 358 0.65 955 0.32 47.9 0.39 421 0.55 MARS 1580 A-5 1121 0.23 41.3 0.33 4.92 0.47 SERP 2102 0.55 1104 0.28 52.0 0.42 920 0.25 TWOF 1162 1.00 613 0.50 47.9 0.39 376 0.61 a Giá trị dựa phiên Round MARS Table a.8 32-bit processors (Java) F Kbits/sec G Norm Kbits/sec Norm MARS 19,443 0.80 3965 0.82 RC6 24,338 1.00 4733 0.98 RIJN 18,868 0.78 4819 1.00 16,484 0.68 4624 0.96 14,468 0.59 4444 0.92 SERP 11,519 0.47 1873 0.39 TWOF 18,841 0.77 1781 0.37 Table A.9 64-bit processor (C and assembler) Ia Clocks J Norm Clocks M Norm Kbits/sec Norm MARS 538 0.31 527 0.24 66608.8 0.67 RC6 493 0.34 490 0.28 98737.7 1.00 RIJN 168 1.00 126 1.00 58282.7 0.59 49368.8 0.50 42819.9 0.43 SERP 585 0.29 631 0.20 46113.8 0.47 TWOF 200 0.84 182 0.69 63581.1 0.64 a Sử dụng assembler Table A.10 Digital Signal Processors (DSPs) Q Clocks R Norm Clocks Norm a 0.40 400 0.67 RC6 8487 0.41 281 0.96 RIJN 3500 1.00 269 1.00 SERP 16443 0.21 917 0.29 4328 0.81 290 0.93 MARS TWOF 8826 A-6 a Giá trị dựa phiên Round cùa MARS (với bảng liệt kê giá trị khóa khác phiên Round 2) Table A11-A15 Quá trình cài đặt khóa, thực phần mềm Cấu hình phần cứng cho tables A.11 – A.15: B: C: D: E: F: G: H: I: J: M: O: Q: Linux/GCC-2.7.2.2/Pentium 133 MHz MMX Intel Pentium III 600MHz Apple G4 PowerPC Intel Pentium II/III Intel Pentium Pro 200, w/ Symantec Visual Cafe 2.5a, Java Intel Pentium Pro 200, w/ JDK 1.3, JIT, Java UltraSPARC-I, w/JDK1.2, JIT, Java Hewlett-Packard PA-RISC, ASM Hewlett-Packard IA-64 SGI 300 MHz R12000, C w/GCC-2.8.1 Z80 CPU + coprocessor Texas Instruments TMS320c541 DSP A-7 Table A.11 32-bit processors (C) B Clocks MARS RC6 RIJN SERP TWOF a D C 4708(5548)a 5186 17,742(18,886) 13,154(12,648) 18,864 Norm 1.00(0.85) 0.91 0.27(0.25) 0.36(0.37) 0.25 Clocks Norm E Keys/msec Norm 4934 0.26 76.9 0.30 4997 0.26 75.0 0.30 5171 0.25 73.2 0.29 2278 0.57 111.1 2403 0.54 2514 Clocks Norm 2118 0.10 0.44 1697 0.13 109.2 0.44 2040 0.11 0.51 105.3 0.42 1894 0.11 1289(1724) 1.00(0.75) 250.0(162.3) 1.00(0.65) 215(1334) 1.00(0.16) 2000(2553) 0.64(0.50) 200.0(133.3) 0.80(0.53) 215(1591) 1.00(0.14) 2591(3255) 0.50(0.40) 162.3(107.2) 0.65(0.43) 288(1913) 0.75(0.11) 6944 0.19 58.8 0.24 1300 0.17 8853 0.15 46.9 0.19 16,668 0.12 38.7 0.15 9263 0.14 31.9 0.13 8520 0.03 12,722 0.10 23.3 0.09 11,755 0.02 17,954 0.07 17.4 0.07 15,700 0.01 Giá trị dựa phiên Round cùa MARS (với bảng liệt kê giá trị khóa khác phiên Round 2) A-8 Table A.12 32-bit processors (Java) F C Kbis/sec MARS Kbits/sec Norm 28,680 0.30 2110 0.47 27,680 0.29 3131 0.70 26,683 0.28 4131 0.93 45,603 0.47 2233 0.50 40,625 0.42 3335 0.75 29,683 0.31 4444 1.00 96,234(56017) 1.00(0.58) 1191 0.27 86,773(48324) 0.90(0.50) 1574 0.35 70,494(39963) 0.73(0.42) 1733 0.39 34,729 0.36 487 0.11 33,729 0.35 734 0.17 31,973 0.33 979 0.22 13,469 0.14 286 0.06 10,556 0.11 327 0.07 8500 0.09 361 0.08 RC6 RIJN Norm SERP TWOF Table A.13 64-bit processors (C and assembler) Ia Clocks MARS Norm 0.13 Clocks M Norm 1408 0.11 Keys/sec Norm 60,975.6 0.29 59,171.6 0.28 57,803.5 0.27 RC6 1077 0.22 1581 0.09 147,058.8 0.69 RIJN 239 1.00 148 1.00 212,766(161,290) 1.00(0.76) 163,934(125,000) 0.77(0.59) 142,857(108,696) 0.67(0.51) 47,393.4 0.22 37,878.8 0.17 31,250.0 0.15 31,055.9 0.15 23,255.8 0.11 16,420.4 0.08 SERP TWOF a 1797 J 668 2846 Sử dụng assembler 0.36 0.08 b 475/340 2445 0.31/0.44 0.06 A-9 b Tốc độ cài đặt khóa cho Serpent (khóa 128 bit) Table A.14 8-bit processors O Clocks MARS Norm 21,742 0.47 138,851 0.07 RIJN 10,318 1.00 SERP 147,972 0.07 28,512 0.36 RC6 TWOF Table A.15 Digital Signal Processors (DSPs) Q Clocks 0.49 RC6 40,011 0.67 RIJN 26,642 1.00 SERP 28,913 0.92 TWOF 88,751 0.30 MARS a Norm a 54,427 Giá trị dựa phiên Round MARS B-1 Phụ lục B Cấu trúc loại message giao thức handshake Danh sách loại messages: enum HandshakeType{ client_hello(0), server_hello(1), client_request_cert(2), server_response_cert(3), client_challenge(4), server_response_ds(5), client_response_ds(6), server_authentication_done(7), server_key_exchange_public(8), client_key_exchange_public(9), server_key_exchange_done(10), handshake_finished(11) }; Cấu trúc message handshake: struct Handshake{ HandshakeType msg_type; uint16 length; switch (msg_type){ case client_hello : ClientHello; case server_hello : ServerHello; case client_request_cert : ClientRequestCert; case server_response_cert : ServerResponseCert; … } content; }; struct ClientHello{ byte random[20]; CipherPairs cipher_pairs[]; CompressionMethods compression_methods[]; }; Trong đó: random chuỗi ngẫu nhiên dài 20 bytes, tạo từ số khác (trong có số thời gian) cipher_pairs[] danh sách cặp giải thuật (mã hóa, MAC) mà client hỗ trợ (xếp theo độ ưu tiên giảm dần) Compression_methods[] danh sách giải thuật nén (xếp theo độ ưu tiên giảm dần) enum DataCipher {null(0), AES128(1), TDES168(2)} ; enum MACCipher {null(0), SHA-1(1), SHA-256(2)} ; struct CipherPairs{ DataCipher MACCipher data_cipher; MAC_cipher; B-2 }; enum CompressionMethods{null(0), zip(1)}; struct ServerHello{ byte random[20]; CipherPairs cipher_pair; CompressionMethods compression_method; }; đó: cipher_pair compression_method cặp giải thuật (mã hóa, MAC) server chọn giải thuật nén server chọn //không cần thông tin struct ClientRequestCert{}; struct ServerResponseCert{ uint16 p_length; //số bits p (512 Ỉ 1024) uint16 q_length; //số bits q (160) byte dss_p[128]; //số nguyên tố p DSS byte dss_q[20]; byte dss_g[128]; //phần tử g (512Ỉ1024 bits) //số ngun tố q byte dss_Y[128]; //khóa cơng khai Y (512Ỉ1024 bits) }; struct ClientChallenge{ byte m_challenge[20]; }; struct ServerResponseDS{ //20 bytes = 160 bits byte m_challenge[20]; //server challenge byte signature[40]; //digital signature, 320 bits }; struct ClientResponseDS{ byte //client’s public key (512Ỉ1024) Y[128]; byte signature[40]; //digital signature, 320 bits }; struct ServerAuthenticationDone {} ; Các message trình thiết lập khóa: struct ServerKeyExchangePublic{ byte Q[128]; //số ngun tố cơng khai Q (1024 bits) byte E[128]; //số công khai E byte b[128]; //giá trị công khai server b byte signed[40]; //chữ ký server (Q,E,b) }; struct ClientKeyExchangePublic{ //số công khai y client byte y[128]; byte signed[40]; //chữ ký client (y) } ; struct ServerKeyExchangeDone{} ; struct HandshakeFinished{} ; ... Chuyên ngành: Công Nghệ Thông Tin Mã số: 01.02.10 TÊN ĐỀ TÀI: Nghiên cứu, thiết kế thực số công cụ BẢO MẬT THÔNG TIN cho hệ thống thương mại điện tử II- NHIỆM VỤ VÀ NỘI DUNG: Nghiên cứu, phân tích... giá mô hình mật mã học đại Từ thiết kế hệ thống bảo mật với thành phần nghi thức mật mã chính, có khả áp dụng cho loại hệ thống giao dịch điện tử Hiện thực ứng dụng minh họa cho hệ thống III-... dịch ngân hàng điện tử, dựa sở hệ thống mật mã thiết kế Ứng dụng cho phép người dùng (là thành viên hệ thống ngân hàng) chứng thực- đăng nhập cách an toàn vào hệ thống, thực số thao tác đơn giản