Mật mãhọc là ngành khoahọc ứngdụng toánhọc vào việc đảmbảo an toàn
thông tin.Mật mãhọc giữ vai trò quan trọng và có nhiều ứngdụng trong đờisống
xãhội từlĩnh vực an ninh quân sự, đến cáclĩnhvực dânsự như kinhtế,ngân hàng,
thươngmại.
Đốitượng nghiêncứucủamật mãhọc là cáckỹ thuật để mã hóa vàbảomật
thông tin.
169 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 2170 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu và xây dựng ứng dụng bảo mật trên PDA, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Luận văn
Nghiên cứu và xây dựng ứng
dụng bảo mật trên PDA
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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ảo mậ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ề ứng dụng mã hóa và bảo mật trên các thiết bị là cần thiết.
Trên thực tế, việc bảo mật trên thiết bị di động chưa được quan tâm rộng rãi.
Các hệ thống bảo mật trên thiết bị di động chỉ giới hạn ở các chức năng bảo mật
được cung cấp tích hợp trong phần cứng thiết bị. Một số í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 bảo mật trê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ảo mật đồng thời cũng nghiên cứu khả năng đưa chức năng mã hóa
vào ứng dụng trê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ây dự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ảo mật trên thiết bị. Sử dụng thư viện đã xây
dựng, chúng em thực hiện ứng dụ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.
KH
OA
C
NT
T –
Đ
H
KH
TN
iii
Nội dung luậ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à ứng dụ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ề PDA và môi trường phát triển .NET Compact
Framework: Giới thiệu về thiết 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 bảo mật trên
PDA và các giải pháp đề nghị.
· Chương 7. Xây dựng bộ thư viện SPDA Cryptolib: Giới thiệu bộ thư viện
SPDA Cryptolib .
· Chương 8. Xây dựng ứng dụng Pocket Secure Data: Giới thiệu ứng dụng
Pocket Secure Data.
· Chương 9. Cài đặt và triển khai ứng dụ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.
KH
OA
C
NT
T –
Đ
H
KH
TN
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. Ứng dụ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
KH
OA
C
NT
T –
Đ
H
KH
TN
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ề PDA và 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ây dựng ứng dụng bảo mật trên PDA - vấn đề và giải pháp .... 3
6.1. Các vấn đề khi xây dựng ứng dụng bảo mật trên PDA ............................... 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ụng và 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ây dựng bộ thư viện SPDA Cryptolib ............................................... 3
Chương 7. Xây dự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ây dựng ứng dụ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
KH
OA
C
NT
T –
Đ
H
KH
TN
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 ứng dụ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
KH
OA
C
NT
T –
Đ
H
KH
TN
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ảo mậ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 ứng dụ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
KH
OA
C
NT
T –
Đ
H
KH
TN
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à ứng dụng. ....................................................... 3
KH
OA
C
NT
T –
Đ
H
KH
TN
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ảo mật. ................................................................................... 3
Bảng 3-3: So sánh kích thước khóa RSA và ECC với cùng độ bảo mậ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
KH
OA
C
NT
T –
Đ
H
KH
TN
x
Một số khái niệm và thuật ngữ
PDA Thiết bị trợ giúp cá nhân kỹ thuật số - Personal Digital
Assistant.
NIST Viện Tiêu chuẩn và Công nghệ Hoa Kỳ - National
Institute of Standard and Technology.
FIPS Federal Information Processing Standard Publications
NSA National Security Agency.
DES Chuẩn mã hóa dữ liệu – Data Encryption Standard.
AES Chuẩn mã hóa nâng cao – Advanced Encryption
Standard.
SHA Thuật toán băm an toàn – Secure Hash Algorithm.
SHS Chuẩn băm an toàn – Secure Hash Standard.
ECC Phương pháp mã hóa theo đưòng cong elip - Elliptic
Curve Cryptography
ECDH Elliptic Curve Diffie – Hellman.
DSA Thuật toán chữ ký điện tử - Digital Signature Algorithm.
ECDSA Elliptic Curve Digital Signature Algorithm.
SSL Giao thức kết n