Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 169 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
169
Dung lượng
6,86 MB
Nội dung
Luận văn Nghiên cứuvàxâydựngứngdụngbảomậttrênPDA KHOA CNTT – ĐH KHTN i Lời cảm ơn Chúng em cảm ơn khoa Công nghệ Thông tin, trường Đại học Khoa học Tự nhiên Thành phố Hồ Chí Minh đã tạo điều kiện cho chúng em thực hiện đề tài. Chúng con gởi tất cả lòng biết ơn và sự kính trọng của chúng con đến cha mẹ cùng toàn thể gia đình, những người đã sinh thành, dưỡng dục và là chỗ dựa vững chắc cho chúng con vượt qua mọi khó khăn. Chúng em trân trọng biết ơn thầy Dương Anh Đức, thầy Trần Minh Triết đã tận tình hướng dẫn, chỉ bảo chúng em để chúng em thực hiện tốt đề tài luận văn tốt nghiệp. Chúng em cảm ơn quý thầy cô đã giảng dạy, trang bị những kiến thức quý báu cho chúng em trong những năm học vừa qua. Xin chân thành cảm ơn các anh chị, bạn bè đã nhiệt tình giúp đỡ, động viên chúng tôi trong thời gian học tập và nghiên cứu. Mặc dù chúng em đã nỗ lực hoàn thành luận văn trong phạm vi và khả năng cho phép nhưng chắc chắn luận văn vẫn còn nhiều thiếu sót. Chúng em rất mong nhận được sự thông cảm, góp ý và tận tình chỉ bảo của quý thầy cô và các bạn. Tp. Hồ Chí Minh, 07/2004 Nhóm sinh viên thực hiện Văn Đức Phương Hồng – Nguyễn Minh Huy KHOA CNTT – ĐH KHTN ii Lời mở đầu Ngày nay, công nghệ thông tin và các sản phẩm công nghệ thông tin đã góp phần giúp cuộc sống của con người thoải mái hơn. Liên lạc giữa các cá nhân và tổ chức trở nên thuận tiện, từ đó lượng thông tin, dữ liệu giao dịch tăng nhanh về số lượng lẫn chất lượng. Trước sự bùng nổ thông tin, việc bảomật các dữ liệu nhạy cảm giữ vai trò rất quan trọng. Với sự ra đời của các thiết bị di động cầm tay và các thiết bị hỗ trợ cá nhân kỹ thuật số, thông tin có thể được quản lý dễ dàng ở mọi lúc mọi nơi. Sự cơ động của các thiết bị đem lại nhiều tiện lợi cho người sử dụng nhưng đồng thời cũng mang lại những rủi ro cao khi dữ liệu trong các thiết bị bị mất hoặc bị lấy cắp. Do đó nhu cầu về ứngdụng mã hóa vàbảomậttrên các thiết bị là cần thiết. Trên thực tế, việc bảomậttrên thiết bị di động chưa được quan tâm rộng rãi. Các hệ thống bảomậttrên thiết bị di động chỉ giới hạn ở các chức năng bảomật được cung cấp tích hợp trong phần cứng thiết bị. Một số ít ứngdụng phần mềm mã hóa bảomậttrên thiết bị di động có giá thành cao nhưng độ bảomật ở mức trung bình. Với lý do trên, chúng em đã thực hiện đề tài "Nghiên cứuvàxâydựngứngdụngbảomậttrên PDA" nhằm nghiên cứu, thử nghiệm về các phương pháp, thuật toán mã hóa bảomật đồng thời cũng nghiên cứu khả năng đưa chức năng mã hóa vào ứngdụngtrên thiết bị hỗ trợ cá nhân kỹ thuật số. Dựa trên cơ sở lý thuyết đã nghiên cứu, chúng em thực hiện xâydựng bộ thư viện SPDA Cryptolib với các thuật toán được xem là mới và hiệu quả hiện nay. Bộ thư viện là công cụ giúp các lập trình viên có thể thực hiện mã hóa bảomậttrên thiết bị. Sử dụng thư viện đã xây dựng, chúng em thực hiện ứngdụng Pocket Secure Data với các chức năng giúp người dùng có thể thực hiện mã hóa, giải mã thông tin, tạo và xác nhận chữ ký điện tử một cách nhanh chóng và thuận tiện. KHOA CNTT – ĐH KHTN iii Nội dungluận văn được trình bày trong 10 chương; trong đó, 6 chương đầu trình bày các vấn đề về lý thuyết mã hóa và giới thiệu về thiết bị trợ giúp cá nhân kỹ thuật số; 4 chương cuối tập trung vào bộ thư viện SPDA Cryptolib vàứngdụng Pocket Secure Data. · Chương 1. Tổng quan: Giới thiệu về mã hóa và xác định mục tiêu đề tài. · Chương 2. Mã hóa quy ước: Giới thiệu tóm tắt một số phương pháp mã hóa quy ước. · Chương 3. Mã hóa khóa công khai.: Trình bày một số phương pháp mã hóa khóa công khai. · Chương 4. Các thuật toán hàm băm và chữ ký điện tử: Trình bày các thuật toán trong chuẩn hàm băm an toàn và giới thiệu về chữ ký điện tử · Chương 5. Tổng quan về PDAvà môi trường phát triển .NET Compact Framework: Giới thiệu về thiết bị PDAvà trình bày về môi trường phát triển .NET Compact Framework. · Chương 6. XâydựngứngdụngbảomậttrênPDA - vấn đề và giải pháp: Trình bày các vấn đề gặp phải khi xâydựngứngdụngbảomậttrênPDAvà các giải pháp đề nghị. · Chương 7. Xâydựng bộ thư viện SPDA Cryptolib: Giới thiệu bộ thư viện SPDA Cryptolib . · Chương 8. Xâydựngứngdụng Pocket Secure Data: Giới thiệu ứngdụng Pocket Secure Data. · Chương 9. Cài đặt và triển khai ứngdụng · Chương 10. Tổng kết: Tóm tắt vấn đề đã nghiên cứu thực hiện và hướng phát triển trong tương lai. KHOA CNTT – ĐH KHTN iv Mục lục Trang Lời cảm ơn i Lời mở đầu ii Mục lục iv Danh sách hình vii Danh sách bảng ix Một số khái niệm và thuật ngữ x Chương 1. Tổng quan 2 1.1. Giới thiệu 2 1.1.1. Khái niệm mật mã học 2 1.1.2. Các định nghĩa 2 1.1.3. Các loại mã hóa 3 1.2. Mục tiêu của đề tài 3 Chương 2. Mã hóa quy ước 3 2.1. Giới thiệu mã hóa quy ước 3 2.1.1. Hệ thống mã hóa quy ước 3 2.1.2. Các thuật toán mã hóa quy ước 3 2.2. Các thuật toán ứng viên AES và Rijndael 3 2.2.1. Các thuật toán ứng viên AES 3 2.2.2. Thuật toán Rijndael 3 2.3. Đánh giá các phương pháp mã hóa quy ước 3 Chương 3. Mã hóa khóa công khai 3 3.1. Giới thiệu mã hóa khóa công khai 3 3.2. Phương pháp RSA 3 3.2.1. Mô hình mã hóa dữ liệu với RSA 3 3.2.2. Mô hình trao đổi khóa theo RSA 3 3.3. Phương pháp ECC (Elliptic Curve Cryptography) 3 3.3.1. Lý thuyết Elliptic Curve 3 3.3.2. Áp dụng lý thuyết Elliptic Curve vào mã hóa 3 3.4. Đánh giá các phương pháp mã hóa khóa công khai 3 3.4.1. Ứngdụng của mã hóa khóa công khai 3 3.4.2. So sánh giữa các phương pháp mã hóa khóa công khai 3 Chương 4. Các thuật toán hàm băm và chữ ký điện tử 3 4.1. Các thuật toán hàm băm 3 4.1.1. Giới thiệu hàm băm 3 4.1.2. Giới thiệu các chuẩn thuật toán hàm băm Secure Hash Standard(SHS) trong FIPS180-2 (02/2004) 3 4.1.3. Giới thiệu đề xuất hàm băm mới AES–HASH của Bram Cohen 3 4.2. Chữ ký điện tử 3 4.2.1. Mô hình chữ ký điện tử theo RSA 3 KHOA CNTT – ĐH KHTN v 4.2.2. Thuật toán chữ ký điện tử DSA 3 4.2.3. Thuật toán chữ ký điện tử trên Elliptic Curve (ECDSA) 3 Chương 5. Tổng quan về PDAvà môi trường phát triển .NET Compact Framework 3 5.1. Tìm hiểu thiết bị PDA 3 5.1.1. Đặc điểm của PDA 3 5.1.2. Các hạn chế của PDA 3 5.2. Tổng quan về WindowCE và Pocket PC 3 5.2.1. Giới thiệu hệ điều hành Windows CE 3 5.2.2. Giới thiệu Pocket PC 3 5.3. Giới thiệu .NET Compact Framework 3 Chương 6. XâydựngứngdụngbảomậttrênPDA - vấn đề và giải pháp 3 6.1. Các vấn đề khi xâydựngứngdụngbảomậttrênPDA 3 6.1.1. Khả năng tính toán 3 6.1.2. Khả năng lưu trữ 3 6.1.3. Khả năng tương tác giữa người sử dụngvà thiết bị 3 6.1.4. Mức độ hỗ trợ của các thư viện lập trình 3 6.2. Các giải pháp cụ thể 3 6.2.1. CryptoAPI 3 6.2.2. Xâydựng bộ thư viện SPDA Cryptolib 3 Chương 7. Xâydựng bộ thư viện SPDA Cryptolib 3 7.1. Phát biểu bài toán 3 7.2. Kiến trúc bộ thư viện 3 7.2.1. Sơ đồ kiến trúc bộ thư viện 3 7.2.2. Danh sách các lớp trong thư viện 3 Chương 8. Xâydựngứngdụng Pocket Secure Data 3 8.1. Phát biểu bài toán 3 8.2. Phân tích yêu cầu 3 8.2.1. Bảng chú giải 3 8.2.2. Các yêu cầu chức năng 3 8.2.3. Các yêu cầu phi chức năng 3 8.3. Sơ đồ Usecase 3 8.3.1. Một số đặc tả Usecase chính 3 8.3.2. Một số sơ đồ tuần tự chính 3 8.4. Sơ đồ lớp 3 8.4.1. Phân hệ client 3 8.4.2. Phân hệ server 3 8.5. Thiết kế dữ liệu 3 8.5.1. Sơ đồ dữ liệu 3 8.5.2. Mô tả dữ liệu 3 8.5.3. Ràng buộc toàn vẹn 3 8.6. Thiết kế giao diện 3 8.6.1. Sơ đồ màn hình 3 KHOA CNTT – ĐH KHTN vi 8.6.2. Màn hình phân hệ server 3 8.6.3. Màn hình phân hệ client 3 Chương 9. Cài đặt và triển khai ứngdụng 3 9.1. Môi trường cài đặt 3 9.2. Mô hình cài đặt 3 9.3. Kết quả thử nghiệm 3 Chương 10. Tổng kết 3 10.1. Kết luận 3 10.2. Hướng phát triển 3 Phụ lục 3 Tài liệu tham khảo 3 KHOA CNTT – ĐH KHTN vii Danh sách hình Hình 2-1: Mô hình hệ thống mã hóa quy ước 3 Hình 2-2: Sơ đồ quá trình mã hóa dữ liệu bằng phương pháp DES 3 Hình 3-1: Mô hình hệ thống mã hóa khóa công khai 3 Hình 3-2: Một ví dụ về elliptic curve 3 Hình 3-3: Điểm ở vô cực 3 Hình 3-4: Phép cộng trên elliptic curve 3 Hình 3-5: Phép nhân đôi trên elliptic curve 3 Hình 3-6: Mô hình CA tập trung 3 Hình 3-7: Mô hình CA phân cấp 3 Hình 3-8: Mô hình CA Web of Trust 3 Hình 3-9: So sánh mức độ bảomật giữa ECC, RSA / DSA 3 Hình 7-1: Class diagram của thư viện SPDA Cryptolib 3 Hình 8-1: Usecase diagram của ứngdụng Pocket Secure Data 3 Hình 8-2: Class diagram trên phân hệ client 3 Hình 8-3: Class diagram trên phân hệ server 3 Hình 8-4: Sơ đồ thiết kế dữ liệu của Pocket Secure Data 3 Hình 8-5: Sơ đồ màn hình phân hệ server 3 Hình 8-6: Sơ đồ màn hình phân hệ client 3 Hình 8-7: Màn hình chính Server 3 Hình 8-8: Màn hình User Registration 3 Hình 8-9: Màn hình User Management 3 Hình 8-10: Màn hình Server Settings 3 Hình 8-11: Màn hình chính Client 3 Hình 8-12: Màn hình Cipher 3 Hình 8-13: Màn hình KeyExchange 3 Hình 8-14:Màn hình Signature 3 Hình 8-15: Màn hình Key Generator 3 KHOA CNTT – ĐH KHTN viii Hình 8-16: Màn hình Group Management 3 Hình 8-17: Màn hình Find Contact 3 Hình 9-1:Mô hình cài đặt thư viện vàứngdụng 3 KHOA CNTT – ĐH KHTN ix Danh sách bảng Bảng 2-1: Các hàm và ký hiệu sử dụng trong phương pháp Rijndael 3 Bảng 3-1: So sánh các phép toán trên elliptic trên tọa độ Affine và tọa độ chiếu 3 Bảng 3-2: So sánh kích thước khóa giữa mã hóa quy ước và mã hóa khóa công khai với cùng mức độ bảomật 3 Bảng 3-3: So sánh kích thước khóa RSA và ECC với cùng độ bảomật 3 Bảng 4-1:Các tính chất của các thuật toán băm an toàn 3 Bảng 7-1: Danh sách các lớp trong thư viện SPDA Cryptolib 3 Bảng 8-1: Danh sách các Usecase 3 Bảng 8-2: Chi tiết các màn hình ở phân hệ client 3 Bảng 9-1: Kết quả mã hóa thử nghiệm trên Desktop vàPDA 3 Bảng 9-2: Kết quả thử nghiệm tạo khóa RSA và ECC 3 [...]... vin mó húa SPDA Cryptolib trờn thit b PDA B th vin SPDA Cryptolib s K H O A cung cp cỏc thut toỏn mó húa thụng dng v mi nht hin nay bờn cnh kh nng h tr lp trỡnh trờn thit b PDA S dng th vin mó húa SPDA Cryptolib, chỳng em ó thc hin ng dng Pocket Secure Data cung cp cỏc chc nng v mó húa, ch ký in t v qun lý khúa cho ngi s dng PDA ng dng s hot ng trờn hai phõn h: mỏy tớnh cỏ nhõn bn v mỏy PDA 4 K H TN... trao i khúa theo RSA Mt trong nhng ng dng ca phng phỏp RSA l dựng nú trong vic trao i khúa Trong mụ hỡnh ny, gi s A cn trao i khúa bớ mt K vi B, A s tin hnh cỏc bc nh sau: K H O A ã A nhn khúa cụng khai (n, e) t B ã A dựng khúa cụng khai ny mó húa khúa bớ mt K bng phng phỏp RSA: Y = K e mod n ã Khúa bớ mt ó c mó húa Y c chuyn cho B ã B dựng khúa riờng d gii mó Y bng phng phỏp RSA: K = Y d mod n 24... bo mt ca cỏc thit b ph thuc rt nhiu vo nh cung cp phn cng D liu ca ngi s dng cha c m bo an ton Nhng gii phỏp phm mm cho cụng vic bo mt trờn PDA hin ti trờn th gii cú chi phớ rt cao cựng vi bo mt ch mc trung H bỡnh ti "Nghiờn cu v xõy dng ng dng bo mt trờn PDA" c thc hin vi mc ớch tỡm hiu, nghiờn cu v th nghim cỏc phng phỏp mó húa quy c v mó húa khúa cụng khai cựng vi cỏc phng phỏp ký v xỏc nhn... trờn Elliptic curve - Elliptic Curve Discrete Logarithm Problem CryptoAPI B th vin cỏc hm mó húa ng dng trờn Windows CE - Cryptographic Application Programming Interface .NET CF NET Compact Framework SPDA Security on Personal Digital Assistant K H O A C N TT H K H TN Ch ký in t xi K H O A C N TT H K H TN Phn 1: M u 1 Chng 1 Tng quan Chng 1 Tng quan 1.1 Gii thiu 1.1.1 Khỏi nim mt mó hc K H TN Mt... toỏn SERPENT c xut bi n v Private, ca cỏc tỏc gi Ross Anderson, Eli Biham and Lars Knudsen.[11] SERPENT l mt h thng 32 chu k thc hin trờn 4 t 32 bit, do ú kớch thc khi ca SERPENT l 128 bit Cỏc giỏ tr dựng trong vic mó húa c xem K H TN nh cỏc dũng bit ng vi mi t 32-bit, ch s bit c ỏnh t 0 n 31, cỏc khi 128-bit cú ch s t 0 n 127 v cỏc khúa 256-bit cú ch s t 0 n 255 SERPENT mó húa mt vn bn ban u P 128... giỏ tr Nk, chi tit hm KeyExpansion c mụ t trong ph lc A í ngha STT Tờn 1 AddRoundKey Thc hin vic cng mó khúa ca chu k vo trng thỏi hin hnh 2 SubBytes Thay th phi tuyn tng byte trong trng thỏi hin hnh Dựng bng thay th SBox 3 InvSubBytes Phộp bin i ngc ca SubBytes 4 MixColumns Trn thụng tin tng ct trong trng thỏi hin hnh 5 InvMixColumn s Phộp bin i ngc ca MixColumn 6 ShiftRows Dch chuyn xoay vũng tng... Elliptic Curve Diffie Hellman DSA Thut toỏn ch ký in t - Digital Signature Algorithm ECDSA Elliptic Curve Digital Signature Algorithm SSL Giao thc kt ni an ton - Socket Secure Layer C N TT H K H TN PDA Khúa cụng khai Public key khúa c cụng b rng rói cho mi ngi, s dng trong mó húa khúa cụng khai Khúa riờng Private key khúa ca mt cỏ nhõn c gi bớ mt, cú quan h vi khúa cụng khai, s dng trong mó húa . cho công việc bảo mật trên PDA hiện tại trên thế giới có chi phí rất cao cùng với độ bảo mật chỉ ở mức trung bình. Đề tài "Nghiên cứu và xây dựng ứng dụng bảo mật trên PDA& quot; được. bị PDA và trình bày về môi trường phát triển .NET Compact Framework. · Chương 6. Xây dựng ứng dụng bảo mật trên PDA - vấn đề và giải pháp: Trình bày các vấn đề gặp phải khi xây dựng ứng dụng. ít ứng dụng phần mềm mã hóa bảo mật trên thiết bị di động có giá thành cao nhưng độ bảo mật ở mức trung bình. Với lý do trên, chúng em đã thực hiện đề tài "Nghiên cứu và xây dựng ứng dụng