c. Chức năng xác minh chữ ký.
Quá trình này được bắt đầu khi người dùng nhấn nút: xác minh chữ ký trên file. Người dùng cần chọn file chứa chữ ký cần xác minh (file *.sign được tạo ra từ q trình ký). Nếu người dùng chọn file khơng đúng định dạng hoặc dữ liệu các thẻ bị thay đổi, thơng báo xác minh chữ ký sai:
Hình 3.18: Thông báo xác minh chữ ký sai
Nếu người dùng chọn file có đúng định dạng. Các thẻ sẽ được trích xuất nội dung, có thể thấy được khi xem log.
Hình 3.19: Trích xuất nội dung khi xem log
Hình 3.20: Trích xuất nội dung khi xem log
Nội dung các thẻ sẽ được sử dụng cho việc xác minh chữ ký. Sau quá trình xác minh chữ ký. Nội dung trong thẻ data sẽ được ghi ra file được đặt tên như filename để phục hồi file gốc. Khi đó, trong thư mục chứa file chứa chữ ký sẽ có thêm một file có tên như thẻ filename. Kết thúc quá trình xác minh chữ ký.
Hình 3.21: file phục hồi file gốc d. Chức năng mã hóa. d. Chức năng mã hóa.
Q trình mã hóa bắt đầu khi người dùng chọn nút “Mã hóa ECDH”. Để thực hiện chức năng mã hóa, phần mềm cần tạo ra một key nhờ giải thuật ECDH từ public key của người nhận. Vì vậy, bước tiếp theo người dùng cần thực hiện là chọn file public key của người nhận. Nếu người dùng chọn không đúng file định dạng publickey, phần mềm sẽ thông báo lỗi:
Hình 3.22: Thơng báo lỗi file định dạng publickey
Nếu người dùng chọn đúng file public key, phần mềm sẽ tiến hành tạo key bằng giải thuật ECDH, sau đó đưa vào hàm băm SHA 256 để tạo key phục vụ cho việc mã hóa. Kết quả có thể theo dõi qua log:
Hình 3.23: Tạo key phục vụ
Bước tiếp theo sẽ là chọn file sẽ được mã hóa. Ta có thể chọn một file bất kì. Phần mềm sẽ mã hóa, kết quả có thể theo dõi qua log :
Hình 3.24: Tải dữ liệu từ file gốc lên và tiến hành mã hóa
Sẽ có thơng báo cho người dùng về việc q trình mã hóa đã hồn tất.
Hình 3.25: Thơng báo mã hóa thành cơng
Public key, tên file, dữ liệu đã mã hóa sẽ được đưa vào các thẻ tương ứng trong file định dạng xml và đặt tên theo định dạng: filename.encrypt. Định dạng file như sau :
Hình 3.26: Định dạng file
Kết thúc q trình mã hóa file.
e. Chức năng giải mã file.
Quá trình giải mã file bắt đầu bằng việc chọn nút « Giải mã ECDH» . Để giải mã được file. Phần mềm cần tạo lại key ECDH, nên cần có private key và public key của người gửi. Public key của người gửi sẽ được trích xuất và tạo ra
ECDH key, key này sẽ được đưa vào hàm băm SHA 256 để tạo key giải mã. Q trình có thể theo dõi qua log :
Hình 3.27: Nội dung thẻ Senderpubkey
Hình 3.298: Tạo lại key ECDH
Chúng ta có thể so sánh key vừa rồi với key được tạo ra trong q trình mã hóa để thấy rằng q trình trao đổi key ECDH đã được thực hiện đúng. Key được sinh ra sẽ được sử dụng để giải mã ra dữ liệu gốc. Ta có thể theo dõi kết quả giải mã qua file log :
Hình 3.29: Kết quả giải mã
So sánh với dữ liệu gốc trong phần mã hóa có thể thấy là giống nhau. Điều này chứng tỏ q trình giải mã đã thành cơng. Người dùng sẽ nhận được thơng báo :
Hình 3.30: Thơng báo giải mã thành công
Dữ liệu sau khi giải mã sẽ được lưu vào một file và đặt tên theo filename trong file encrypt, file sẽ được đặt trong cùng thư mục với file mã hóa. Việc này cũng được ghi lại trong log :
Hình 3.31: Lưu file
Truy cập vào thư mục chứa file mã hóa ta sẽ thấy có thêm file đã giải mã :
Hình 3.32: File đã giải mã
Nếu người dùng chọn những file không đúng định dạng của file đã mã hóa. Phần mềm sẽ khơng thể giải mã và có thơng báo cho người dùng :
Hình 3.33: Thơng báo giải mã thất bại
Ngun nhân có thể là do khơng thể đọc được nội dung các thẻ trong file mã hóa. Việc này có thể theo dõi qua log :
Hình 3.34: Giải mã thất bại xem qua log
Như vậy, kết thúc quá trình giải mã.
3.7. Kết luận chương 3
Trong chương 3 này luận văn đã xây dựng một ứng dụng cụ thể như đi : phân tích, thiết kế, xây dựng các biểu đồ usecase, biểu đồ phân cấp chức năng, sau đó tập trung đi xây dựng giao diện và các lớp triển khai ứng dụng. Kết quả đã mô phỏng được ứng dụng bảo mật vào việc xác thực tài liệu điện tử dựa trên hạ tầng khóa cơng khai PKI như là chức năng ký file, chức năng xác minh chữ ký, chức năng mã hóa file và chức năng giải mã file.
KẾT LUẬN
Việc ứng dụng công nghệ thông tin đã và đang là một lĩnh vực đem lại nhiều lợi ích cho xã hội, nó khơng thể thiếu trong nền kinh tế hội nhập và tồn cầu hóa. An tồn và bảo mật thơng tin là một trong những yếu tố quan trọng cho nhiều ứng dụng trong thực tiễn. Trong quá trình nghiên cứu tìm hiểu các giải pháp bảo mật em nhận thấy rằng hệ mã hóa cơng khai dựa trên đường cong elliptic cho đến nay được xem là hệ mã hóa an tồn và hiệu quả nhất so với các hệ mã hóa cơng khai khác, ECDSA được xem là ưu việt hơn bởi ở cùng độ bảo mật như nhau thì độ dài khóa trong ECDSA nhỏ hơn nhiều so với các hệ mã hóa khác. Điều này dẫn tới khả năng thực thi nhanh hơn, hiệu quả hơn. Với mục tiêu nghiên cứu bảo mật và xác thực tài liệu điện tử, luận văn đã đạt được:
Quan nghiên cứu và thử nghiệm, luận văn đã đạt được những kết quả chính sau:
- Hiểu được các vấn đề liên quan đến mật mã
- Nghiên cứu và đánh giá được một số thuật tốn mã hóa cơng khai
- Nghiên cứu và hiểu rõ được các vấn đề liên quan bảo mật dữ liệu bằng cơ chế xác thực hạ tầng khóa cơng khai PKI.
- Tìm hiểu về lập trình với hạ tầng khóa cơng khai, sử dụng giải thuật ECDSA qua thư viện java.security
- Thử nghiệm được tính xác thực bảo mật tài liệu điện tử dựa trên PKI.
Các kết quả đạt được của luận văn bước đầu đã chứng tỏ hiệu quả của việc ứng dụng hạ tầng khóa cơng khai PKI trong việc xác thực các tài liệu điện tử một cách an toàn và bảo mật.
Hướng phát triển tiếp theo của đề tài:
Nghiên cứu một số giải pháp bảo mật CSDL, ứng dụng cơ sở hạ tầng khóa cơng khai PKI, mở rộng một số thuật tốn mã hóa cơng khai và áp dụng bảo mật, xác thực tài liệu điện tử như: thuật toán RSA, tiêu chuẩn chữ ký số DSS, trao đổi khóa Diffie - Hellman, hệ mật mã Elgamal, hệ thống mật mã Paillier,…
Trong quá trình tìm hiểu và thực hiện đề tài, do kiến thức còn nhiều hạn chế đồng thời đây là một lĩnh vực còn khá mới cả trên thế giới và ở Việt Nam nên
khơng thể tránh những thiếu sót. Rất mong nhận được sự góp ý và hướng dẫn để kiến thức được hoàn thiện hơn. Em xin gửi lời cảm ơn chân thành đến TS Hồ Văn Hương, người đã truyền đạt cho em các kiến thức quý báu đồng thời giúp đỡ em hoàn thành đề tài này.
Xin chân thành cảm ơn!
Học viên thực hiện
TÀI LIỆU THAM KHẢO
[1]. Hồ Văn Hương, Đào Thị Ngọc Thuỳ, Ứng dụng hệ thống kiểm soát truy nhập mạng
theo mơ hình truy nhập một lần, Tạp chí An tồn thơng tin, số 1 (025) 2013.
[2]. Hồ Văn Hương, Hoàng Chiến Thắng, Ký số và xác thực trên nền tảng web, Tạp chí An tồn thơng tin, số 2 (026) năm 2013,
[3]. Hồ Văn Hương, Nguyễn Quốc Uy, Giải pháp bảo mật cơ sở dữ liệu, Tạp chí An tồn thơng tin, số 3 (027) năm 2013.
[4]. Hồ Văn Hương, Hoàng Chiến Thắng, Nguyễn Quốc Uy, Giải pháp bảo mật và
xác thực cho văn phòng điện tử, Hội nghị Quốc gia về điện tử và truyền thông (REV 2013-KC01).
[5]. Hồ Văn Hương, Hoàng Chiến Thắng, Nguyễn Quốc Uy, Giải pháp bảo mật và
xác thực thư điện tử, Tạp chí An tồn thơng tin số 04 (028), 2013.
[6]. Hồ Văn Hương, Nguyễn Quốc Uy, Nguyễn Anh Đồn, Tích hợp giải pháp bảo
mật và xác thực cho mạng riêng ảo, Tạp chí nghiên cứu Khoa học và Cơng nghệ
Quân sự số 28, 2013.
[7] Giáo trình Lý Thuyết Cơ Sở Mật Mã, Học Viện Kỹ Thuật Mật Mã, 2006.
[8] Phan Đình Diệu, Lý thuyết mật mã và an tồn thơng tin, Đại học Quốc gia Hà
Nội, 1999.
[9] Dương Anh Đức, Trần Minh Triết, Mã hóa và ứng dụng, Đại học Khoa học Tự nhiên, Đại học Quốc gia TP Hồ Chí Minh, 2005.
[10] Alfred J. Menezes, Paul C. Van Oorschot, Scott A. Vanstone, Handbook of Applied Cryptography, CRC Press, 1997.
[11] Harvey M.Deitel& Paul J.Deitel,Java How to Programdan, 2003 [12] Jonathan B. Knudsen,Java Cryptography ,May 1998
[13] Jason Weiss, Java Cryptography Extensions,2004