Các chức năng trong phần mềm

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu xây dựng bảo mật và xác thực tài liệu điện tử dựa trên PKI và ứng dụng vào trường đại học hạ long​ (Trang 47 - 48)

5. Bố cục của luận văn

3.3. Các chức năng trong phần mềm

Phần mềm bao gồm các chức năng: ký file, xác minh chữ ký trên file, mã hóa file, giải mã file, gửi mail và nhận mail.

3.3.1. Ký file: Cho phép người sử dụng chọn một file bất kì để ký số lên file đó. Dữ

liệu gốc, và private key sẽ được truy xuất để tạo chữ ký.

Tên file được lưu lại, public key cũng được truy xuất để phục vụ cho quá trình phục hồi dữ liệu gốc ở người nhận. Một file xml (Có tên <tên file gốc>.sign) sẽ được tạo ra để lưu trữ dữ liệu gốc, chữ ký, tên file, public key, tất cả các dữ liệu này đều được mã hóa dưới dạng Base64. Cấu trúc của file như sau:

Hình 3.1. Quá trình ký tài liệu

3.3.2. Mã hóa file: Cho phép người sử dụng mã hóa một file bất kỳ. Giải thuật mã hóa được lựa chọn ở đây là AES, một giải thuật mã hóa đối xứng được xem là an toàn nhất hiện nay. Tương tự như chức năng ký file, private key và nội dung file gốc sẽ được tải lên, tên file cũng được lưu trữ lại phục vụ cho việc phục hồi lại dữ liệu gốc bên phía người nhận. Thêm vào đó người dùng cần chọn đúng public key của người nhận.

Dựa vào private key của mình và public key của người nhận, phần mềm sẽ tạo ra một key ECDH với mục đích sử dụng để mã hóa dữ liệu. Nhưng do key ECDH không thỏa mãn độ dài của giải thuật AES, vì vậy, key ECDH sẽ được đưa vào một hàm băm SHA-256. Kết quả đầu ra sẽ được sử dụng làm key để mã hóa

<?xml version=\"1.0\" encoding=\"UTF-8\"?> <signedfile>

<signature>

< !-- Nội dung chữ ký được mã hóa Base64 --> </signature>

<publickey>

< !-- Nội dung public key được mã hóa Base64 --> </publickey>

<data>

< !-- Nội dung dữ liệu gốc được mã hóa Base64--> </data>

<filename> < !-- Tên file --> <filename> </signedfile>

AES. Dữ liệu sau khi mã hóa, public key. Cấu trúc của file như sau :

Hình 3.2 : Quá trình mã hóa tài liệu

3.3.3. Xác minh chữ ký trên file: Người dùng cần lựa chọn file chứa chữ ký. Các thẻ publickey, signature, data và filename sẽ được đọc lên. Phần mềm sẽ sử dụng dữ liệu gốc trong thẻ data và public key để xác minh.

Sau quá trình xác minh chữ ký. Dữ liệu trong thẻ data sẽ được decode Base64 và ghi ra một file, nội dung thẻ filename sẽ được lấy làm tên file nhằm đảm bảo định dạng ban đầu. Người dùng có thể đọc file bằng các ứng dụng khác nhau tùy thuộc vào loại file.

3.3.4. Giải mã file: Người dùng cần chọn file đã được mã hóa. Để giải mã file, phần

mềm cần tạo lại được key sử dụng để mã hóa, nó tương đương với việc tạo lại key ECDH (key này sẽ được đưa vào hàm băm SHA256 để sinh ra key giải mã). Để thực hiện việc này, phần mềm sẽ sử dụng private key của người dùng và public của người gửi (lấy ra từ thẻ senderpublic key). Dữ liệu (Trong thẻ Data) sau khi giải mã sẽ được lưu vào một file, tên file được đặt theo filename để đảm bảo định dạng gốc. Người dùng sau đó có thể dùng các ứng dụng tương ứng với định dạng file để đọc.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu xây dựng bảo mật và xác thực tài liệu điện tử dựa trên PKI và ứng dụng vào trường đại học hạ long​ (Trang 47 - 48)

Tải bản đầy đủ (PDF)

(64 trang)