.4 Mô hình RSA-AES để giải mã dữ liệu trong CSDL

Một phần của tài liệu Nghiên cứu xây dựng giải pháp bảo vệ tính bí mật và tính riêng tư dữ liệu trong cơ sở dữ liệu bằng phương pháp mã hóa (Trang 36 - 39)

DBMS

Table USER-EAES

USER-ID C1-USR C2-USR

USER1 CP CKAES ... ... Table USER-KPU USER-ID KPU USER1 KPU-USR1 ... APPLICATION Plain Text (P) KPR DAES (CP , KAES) DRSA ( CKAES , KPR) KAES

Cipher Text CKAES Cipher Text CP

STORAGE LAYER

Cipher Text CP

Cipher Text CKAES

Public Key KPU

Cipher Text CP , CKAES Public Key KPU NETWORK USER Private Key KPR Plain Text (P) Private Key KPR Plain Text (P)

39

2.2.2 Giải pháp kết hợp RSA-AES để mã hóa dữ liệu trong CSDL

Phương pháp kết hợp hệ mã RSA và AES đã mã hóa được dữ liệu bí mật riêng tư của người dùng (hay chủ sở hữu dữ liệu khi thuê dịch vụ CSDL bên ngoài). Với phương thức này đã bảo vệ được dữ liệu mật, ngay cả người quản trị CSDL. Một vấn đề đặt ra là dữ liệu mật này đã được mã hóa và chỉ giải mã bởi khóa bí mật của người dùng, trong trường hợp người dùng quên hay làm mất khóa bí mật thì dữ liệu này được xử lý giải mã ra sao? Câu trả lời là không giải mã được. Để giải quyết trường hợp này, chúng tôi đề xuất các giải pháp cụ thể như sau:

Đề xuất một số nguyên tắt thực hiện:

- Khóa đối xứng KAES sau khi mã hóa trong hệ mã AES đã được mã hóa bằng hệ mã RSA, sẽ được hủy (không lưu) để bảo vệ dữ liệu mật đã được mã hóa AES. - Trên nguyên tắc mỗi lần mã hóa dữ liệu khác nhau có thể sinh ra cặp khóa RSA

mới (KPU, KPR ). Trong nội dung đề tài này, chúng tôi đề xuất sử dụng duy nhất một cặp khóa (KPU, KPR ) tương ứng với một User cho tất cả các lần mã hóa. - Xây dựng thêm một bộ khóa RSA dự phòng (backup) để backup tất cả người

dùng (user). Bộ khóa RSA dự phòng là (KPU-BKK, KPR-BKK ), bộ khóa RSA cho user là (KPU-USR, KPR-USR ). Khóa bí mật KPR-BKKđược lưu trong két sắt hoặc được quản lý bởi lãnh đạo cơ quan, công ty nhằm bảo vệ dữ liệu mật đã được mã hóa, ngay cả người quản trị CSDL (hay dịch vụ thuê CSDL bên ngoài). Khóa KPR-BKK

chỉ được sử dụng giải mã khi cần thiết, chẳng hạn như trong trường hợp cần giải mã dữ liệu nhưng khóa bí mật KPR-USR của người dùng bị mất,...

Các thuật toán được đề xuất thực hiện như sau:

- Thuật toán 1: Sinh ra khóa KAES mới cho mỗi lần mã hóa P. Như vậy khi User mã hóa KAES thì Backup cũng mã hóa KAES để dự phòng.

User mã hóa KAES : ERSA(KAES, KPU-USR ) Backup mã hóa KAES : ERSA(KAES, KPU-BKK )

40 Quá trình mã hóa và giải mã:

+ Đối với User: Mã hóa:

C1-USR1 = EAES (P, KAES)

C2-USR1 = ERSA (KAES, KPU-USR1) Giải mã:

KAES = DRSA (C2-USR1, KPR-USR1) P = DAES (C1-USR1, KAES)

+ Đối với Backup: Mã hóa:

C2-BKK = ERSA (KAES, KPU-BKK) Giải mã:

KAES = DRSA (C2-BKK, KPR-BKK) P = DAES (C1-USR1, KAES)

41

Một phần của tài liệu Nghiên cứu xây dựng giải pháp bảo vệ tính bí mật và tính riêng tư dữ liệu trong cơ sở dữ liệu bằng phương pháp mã hóa (Trang 36 - 39)

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

(49 trang)