BÁO CÁO MÔN AN TOÀN CƠ SỞ DỮ LIỆU ĐỀ TÀI: QUẢN LÝ KHÓA VÀ MÃ HÓA (KEY MANAGEMENT AND ENCRYPTION) Trong bối cảnh chuyển đổi số diễn ra mạnh mẽ, dữ liệu đã trở thành tài sản cốt lõi của mọi tổ chức, doanh nghiệp và cơ quan quản lý. Đi cùng với đó là sự gia tăng nhanh chóng các mối đe dọa về an toàn thông tin, từ tấn công mạng, đánh cắp dữ liệu đến xâm nhập trái phép. Các sự cố rò rỉ dữ liệu trong những năm gần đây cho thấy hậu quả nghiêm trọng đối với hoạt động của hệ thống và uy tín của tổ chức. Mặc dù các thuật toán mã hóa ngày càng hiện đại và mạnh mẽ hơn, nhưng thực tế cho thấy hiệu quả bảo mật không chỉ phụ thuộc vào thuật toán mà phụ thuộc rất lớn vào cách quản lý khóa mã hóa. Một khóa bị lộ hoặc bị sử dụng sai cách có thể làm vô hiệu hóa toàn bộ cơ chế bảo vệ dữ liệu. Do đó, quản lý khóa được xem là yếu tố trung tâm, quyết định mức độ an toàn của hệ thống mã hóa trong cơ sở dữ liệu.
Trang 1BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ
-*** -BÁO CÁO MÔN AN TOÀN CƠ SỞ DỮ LIỆU
LỚP L05
ĐỀ TÀI: QUẢN LÝ KHÓA VÀ MÃ HÓA (KEY MANAGEMENT AND ENCRYPTION)
Sinh viên thực hiện: Hoàng Thị Hà – AT200317
Nguyễn Thanh Huyền – AT200328
Lê Thị Mỹ Linh – AT200334Phạm Thu Phương – AT200347
Trang 2LỜI CẢM ƠN Trong quá trình thực hiện báo cáo với đề tài “Quản lý khóa và mã hóa trong
cơ sở dữ liệu”, chúng em đã chủ động tìm hiểu, thu thập tài liệu và tiến hành nghiên
cứu các nội dung liên quan Quá trình thực hiện báo cáo đã giúp chúng em củng cốkiến thức, rèn luyện khả năng phân tích cũng như nâng cao kỹ năng tự học và làmviệc độc lập
Chúng em xin gửi lời cảm ơn đến cô đã dành thời gian đọc và xem xét báo cáo.Mặc dù đã cố gắng hoàn thành bài báo cáo một cách đầy đủ và chính xác nhất, nhưng
do kiến thức và kinh nghiệm còn hạn chế, bài làm khó tránh khỏi những thiếu sót.Chúng em kính mong cô thông cảm và góp ý để nhóm có thể cải thiện tốt hơn trongtương lai
Xin chân thành cảm ơn!
Trang 3LỜI CAM ĐOAN Chúng em xin cam đoan rằng toàn bộ nội dung trong báo cáo “Quản lý khóa
và mã hóa trong cơ sở dữ liệu” là kết quả nghiên cứu, tổng hợp và thực hiện của
chính nhóm sinh viên Các thông tin, hình ảnh, mô hình, số liệu và tài liệu tham khảođược trích dẫn đầy đủ từ các nguồn hợp lệ
Chúng em không sao chép hay sử dụng bất kỳ nội dung nào vi phạm quy định
về học thuật Nếu có bất kỳ sai sót hay vi phạm nào được phát hiện, chúng em xinhoàn toàn chịu trách nhiệm trước nhà trường và bộ môn
Trang 4LÝ DO LỰA CHỌN ĐỀ TÀI
Trong bối cảnh chuyển đổi số diễn ra mạnh mẽ, dữ liệu đã trở thành tài sản cốtlõi của mọi tổ chức, doanh nghiệp và cơ quan quản lý Đi cùng với đó là sự gia tăngnhanh chóng các mối đe dọa về an toàn thông tin, từ tấn công mạng, đánh cắp dữ liệuđến xâm nhập trái phép Các sự cố rò rỉ dữ liệu trong những năm gần đây cho thấyhậu quả nghiêm trọng đối với hoạt động của hệ thống và uy tín của tổ chức
Mặc dù các thuật toán mã hóa ngày càng hiện đại và mạnh mẽ hơn, nhưng thực
tế cho thấy hiệu quả bảo mật không chỉ phụ thuộc vào thuật toán mà phụ thuộc rất lớn vào cách quản lý khóa mã hóa Một khóa bị lộ hoặc bị sử dụng sai cách có
thể làm vô hiệu hóa toàn bộ cơ chế bảo vệ dữ liệu Do đó, quản lý khóa được xem làyếu tố trung tâm, quyết định mức độ an toàn của hệ thống mã hóa trong cơ sở dữ liệu
Xuất phát từ tầm quan trọng đó, nhóm quyết định chọn đề tài “Quản lý khóa và
mã hóa trong cơ sở dữ liệu” nhằm:
Tìm hiểu các khái niệm nền tảng về mã hóa và khóa mật mã
Hiểu rõ mô hình quản lý khóa trong các hệ quản trị CSDL hiện đại (SQLServer, Oracle, …)
Nhận diện các thách thức bảo mật và cách tổ chức vòng đời của khóa theochuẩn NIST
Thực hành áp dụng thử nghiệm mô hình mã hóa và quản lý khóa trong cơ sở
dữ liệu
Đề tài góp phần trang bị kiến thức quan trọng trong lĩnh vực an toàn thông tin, đồng thời giúp người thực hiện hiểu rõ hơn cách bảo vệ dữ liệu một cách toàn
diện trong môi trường thực tế
LỜI NÓI ĐẦU
Trang 5Trong thời đại công nghệ số phát triển mạnh mẽ, dữ liệu đã trở thành tài sảnquan trọng nhất của mọi tổ chức, doanh nghiệp Song song với sự mở rộng củainternet và các hệ thống thông tin, các mối đe dọa về tấn công mạng cũng gia tăngnhanh chóng với mức độ tinh vi ngày càng cao Trong số đóâ các vụ tấn công nhằmđánh cắp dữ liệu được xem là một trong những nguy cơ nghiêm trọng nhất bởi tầnsuất xảy ra liên tục và mức độ thiệt hại lớn mà chúng gây ra Theo báo cáo của IBM
năm 2023, chi phí trung bình của một vụ rò rỉ dữ liệu trên toàn thế giới đã đạt đến 4,4
5 triệu USD, tăng 15% trong vòng ba năm Riêng trong lĩnh vực tài chính và chăm
sóc sức khỏe, con số này còn cao hơn nhiều, cho thấy dữ liệu thực sự là mục tiêu hấpdẫn đối với tội phạm mạng
Sự gia tăng cả về tốc độ lẫn độ phức tạp của các cuộc tấn công khiến các tổchức có rất ít thời gian để phát hiện và phản ứng trước các sự cố an ninh Thực tế chothấy, chỉ cần khóa mã hóa bị lộ hoặc được quản lý không đúng cách, toàn bộ hệ thống
dù có sử dụng thuật toán mã hóa mạnh đến đâu cũng hoàn toàn vô hiệu Do đó, vấn đềlàm thế nào để bảo vệ dữ liệu khỏi việc truy cập và khai thác trái phép, cũng như cáchquản lý khóa mã hóa an toàn, đang trở thành một yêu cầu cấp thiết
Xuất phát từ những vấn đề trên, báo cáo với đề tài “Quản lý Khóa và Mã Hóa trong Cơ Sở Dữ Liệu” được lựa chọn nhằm nghiên cứu những kiến thức cốt lõi về
mã hóa, các thuật toán phổ biến, cũng như các mô hình quản lý khóa hiện đại Đồngthời, báo cáo cũng tìm hiểu cách tích hợp mã hóa vào hệ quản trị cơ sở dữ liệu, từ đógóp phần nâng cao hiểu biết về an toàn dữ liệu và các kỹ thuật bảo vệ thông tin trongthực tế
Ngoài phần mở đầu và kết luận, nội dung báo cáo được chia thành bốn chươngchính như sau:
Chương 1: Cơ sở lý thuyết về mã hóa và khóa mật mã.
Trang 6 Chương 2: Quản lý khóa mã hóa cho cơ sở dữ liệu.
Chương 3: So sánh các thuật toán mã hóa và đề xuất lựa chọn tích hợp vào
CSDL
Chương 4: Thử nghiệm mã hóa và quản lý khóa trên Oracle 19c
Mặc dù đã cố gắng nghiên cứu và hoàn thiện nội dung một cách đầy đủ nhất cóthể, nhưng do kiến thức về mật mã học và cơ sở dữ liệu rất rộng, trong khi thời gianthực hiện báo cáo có hạn, chắc chắn không tránh khỏi những thiếu sót Chúng em rấtmong nhận được sự đóng góp của các thầy cô và các bạn học viên để báo cáo đượchoàn thiện hơn
Trang 7MỤC LỤC
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT VỀ MÃ HÓA VÀ KHÓA MẬT MÃ 1
1.1Tổng quan về Mã hóa và Khóa mật mã 1
1.1.1 Mã hóa (Encryption) 1
1.1.2 Khóa Mật mã (Cryptographic Key) 3
1.2 Phân loại mã hóa và khóa mật mã (Classification of Encryption and Cryptographic Keys) 4
1.2.1 Phân loại thuật toán mã hóa 4
1.2.2 Phân loại khóa mật mã 9
1.2.2.1 Phân loại theo Bản chất Mật mã (By Cryptographic Nature) 9
1.2.2.1.1 Khóa đối xứng (Symmetric Key) 10
1.2.2.1.2 Khóa bất đối xứng (Asymmetric Key / Public Key) 11
1.2.2.2 Phân loại theo Chức năng và Cấu trúc Phân cấp (By Functionality and Hierarchy) 13
1.2.2.3 Phân loại theo phạm vi tác động và thời gian tồn tại của khóa (By Scope and Lifespan) 16
1.3 Vai trò của mã hóa trong bảo vệ cơ sở dữ liệu 18
1.4 Giới thiệu các thuật toán cơ bản 21
CHƯƠNG 2 QUẢN LÝ KHÓA MÃ HÓA CHO CƠ SỞ DỮ LIỆU 22
2.1 Tổng quan về khóa mã hóa trong cơ sở dữ liệu 22
2.1.1 Khóa mật mã trong bối cảnh mã hóa dữ liệu cơ sở dữ liệu 22
2.1.2 Vai trò của khóa đối với bảo mật CSDL 23
2.1.3 Quan hệ giữa dữ liệu mã hóa và khóa (DEK, MEK) 23
2.2 Khái niệm quản lý khóa trong CSDL (Database Key Management) 23
2.2.1.Quản lí khóa(Key Management) 23
2.2.2.Quản lí khóa trong CSDL(Database Key Management) 24
2.3 Các thách thức trong quản lý khóa của hệ quản trị CSDL 24
2.3.1 Lưu trữ khóa an toàn 25
Trang 82.3.2 Phân quyền truy cập 26
2.3.3 Xoay vòng khóa khi DB đang hoạt động 26
2.3.4 Bảo vệ khóa trong backup và log 27
2.3.5 Nguy cơ lộ khóa từ cấu hình hệ thống 28
2.4 Chu kỳ sống của khóa trong cơ sở dữ liệu 30
2.4.1 Tạo khóa (Key Generation) 30
2.4.2 Lưu trữ khóa (Key Storage) 31
2.4.3 Phân phối khóa (Key Distribution) 33
2.4.4 Sử dụng khóa (Key Usage) 33
2.4.5 Xoay vòng khóa (Key Rotation) 34
2.4.6 Thu hồi và hủy khóa (Key Revocation & Destruction) 35
2.5 Các mô hình quản lý khóa trong hệ quản trị CSDL 35
2.5.1 Mô hình lưu khóa trong DB (kém an toàn) 35
2.5.2 Mô hình lưu khóa ngoài DB (Wallet, HSM, KMS) 38
2.5.3 Mô hình lai (Hybrid) 41
2.5.4.So sánh ba mô hình quản lý khóa 46
CHƯƠNG 3 SO SÁNH CÁC THUẬT TOÁN MÃ HÓA VÀ ĐỀ XUẤT TÍCH HỢP VÀO CƠ SỞ DỮ LIỆU 48
3.1 Các tiêu chí so sánh thuật toán mã hóa 48
3.1.1 Tốc độ mã hóa - giải mã ( Encryption/Decryption Throughput ) 48
3.1.2 Độ an toàn của thuật toán 52
3.1.3 Độ dài khóa (Key Length) 64
3.1.4 Dễ triển khai & hiệu năng (Implementation & Performance) 64
3.1.5 Khả năng tích hợp vào hệ quản trị CSDL (Integration into DBMS) 65
3.2 So sánh thuật toán đối xứng: AES – DES/3DES – Blowfish 66
3.2.1 Nguyên lý hoạt động 66
3.2.2 Bảng so sánh thuật toán đối xứng 69
3.2.3 Đánh giá các thuật toán 70
Trang 93.3 So sánh thuật toán bất đối xứng (RSA – ECC) 70
3.3.1 Nguyên lý hoạt động 71
3.3.2 Bảng so sánh dựa trên các tiêu chí 72
3.3.3 Đánh giá tổng quát 72
3.4 Đề xuất lựa chọn thuật toán mã hóa 72
3.4.1 Thuật toán mã hóa dữ liệu (Data Encryption) 73
3.4.2 Thuật toán bảo vệ khóa (Key Protection) 73
3.5 Đề xuất mô hình tích hợp vào CSDL 74
3.6 Kết luận chương 76
CHƯƠNG 4: THỬ NGHIỆM MÃ HÓA VÀ QUẢN LÝ KHÓA TRÊN ORACLE 19C 77
4.1 Môi trường thực nghiệm 77
4.2 Mô tả bài toán demo 78
4.2.1 Bài toán 78
4.2.2 Yêu cầu 79
4.3 Cấu hình Oracle Wallet và TDE 80
4.3.1 Giới thiệu về Transparent Data Encryption(TDE) 80
4.3.2 Các bước cấu hình 81
4.4 Mã hóa cột trong cơ sở dữ liệu bằng TDE 84
4.5 Mã hóa không gian bảng trong cơ sở dữ liệu bằng TDE 88
4.6 Kiểm tra 91
4.7 Nhận xét ưu điểm và nhược điểm TDE 93
4.7.1 Ưu điểm của TDE 94
4.7.2 Nhược điểm của TDE 95
TÀI LIỆU THAM KHẢO 97
DANH MỤC HÌNH VẼ
Trang 10Hình 1.1.1 Mô hình mã hóa đối xứng 5
Hình 1.1.2 Mô hình mã hóa bất đối xứng 7
Hình 1.2.1 Chu kỳ mã hóa khóa đối xứng 10
Hình 1.2.2 Sơ đồ minh họa hệ thống phân cấp khóa đơn giản 14
Hình 2.1.Hình minh họa quan hệ giữa DEK và MEK 23
Hình 2.2 Mô hình minh họa cơ chế bảo vệ khóa trong DBMS 25
Hình 2.3.1 Tạo Oracle Wallet 30
Hình 2.3.2 Mở Wallet 30
Hình 2.3.3 Tạo Master Key 31
Hình 2.4.1 Thực hiện xem key store 31
Hình 2.4.2 Hình ảnh kết quả 32
Hình 2.4.3 Xem thông tin DEK của tablespace 33
Hình 2.5.1.Mã hóa một cột bằng TDE 34
Hình 2.5.2 Hình ảnh kết quả mã hóa 34
Hình 2.6: Lưu khóa trong DB(In-DB Storage) 37
Hình 2.7.Mô hình lưu khóa ngoài DB 41
Hình 2.8.Hình minh họa mô hình lai 45
Hình 3.1 Mô hình mã hóa đối xứng 49
Hình 3.2 Mô hình mã hóa bất đối xứng 50,70 Hình 3.3 Hình minh họa tấn công vét cạn 52
Hình 3.4 Mô hình đơn giản hóa một vào vòng mã khối phục vụ giải thích tấn công vi sai 54
Hình 3.5 Mô phỏng tấn công tuyến tính 55
Hình 3.5 phỏng tấn công phân tích cấu trúc S-box 56
Hình 3.6 Mô phỏng Side-Channel Attack 57 Hình 3.7 Cấu trúc các vòng mã hóa và giải mã của thuật toán AES-128 gồm 10 vòng lặp 58,67
Trang 11Hình 3.8 Sơ đồ mã hóa và giải mã của thuật toán 3DES với 2 khóa 59,69
Hình 3.9 Minh họa hiệu ứng thác lũ 60
Hình 3.10 Minh họa Ciphertext trông ngẫu nhiên 61
Hình 3.11 Hình minh họa không lộ cấu trúc bản rõ 61
Hình 3.12 Mô tả thuật toán Des 68
Hình 3.13 Mô hình mã hóa tích hợp 3 lớp 75
Hình 4.3.1 Đường dẫn đến ví 81
Hình 4.3.2 Cấu hình wallet 82
Hình 4.3.3 Đăng nhập vào Oracle bằng / as sysdba 83
Hình 4.3.4 Khởi tạo Master Key 83
Hình 4.3.5 Trạng thái Wallet 84
Hình 4.3.6 Tạo user QuanTriDL 84
Hình 4.4.1 Tạo tablespace CSDL1 không được cấu hình mã hóa 84
Hình 4.4.2 Tạo bảng NhanVien1 và ràng buộc khóa chính cho bảng 85
Hình 4.4.3 Thêm dữ liệu cho bảng NhanVien1 85
Hình 4.4.4 Kiểm tra tablespace và trường mã hóa 86
Hình 4.4.5 Dữ liệu trong CSDL1.dbf khi chưa được mã hóa 86
Hình 4.4.6 Mã hóa cột Luong ở bảng NhanVien1 87
Hình 4.4.7 Kiểm tra cấu hình sau khi mã hóa 87
Hình 4.4.8 Dữ liệu trong CSDL1.dbf khi đã được mã hóa 87
Hình 4.5.1 Tạo tablespace CSDL2 được mã hóa 88
Hình 4.5.2 Tạo bảng NhanVien2 và ràng buộc khóa chính cho bảng 89
Hình 4.5.3 Thêm dữ liệu cho bảng NhanVien2 89
Hình 4.5.4 Kiểm tra tablespace được mã hóa 90
Trang 12Hình 4.5.5 Dữ liệu trong CSDL2.dbf khi được mã hóa 90
Hình 4.6.1 Tạo user nv001 91
Hình 4.6.2 Trao quyền cho user nv001 91
Hình 4.6.3 sysdba xem được dữ liệu của bảng NhanVien2 92
Hình 4.6.4 nv001 xem được dữ liệu của bảng NhanVien2 92
Hình 4.6.5 sysdba, QuanTriDL, nv001 không xem được dữ liệu của bảng NhanVien2 93
Trang 13DANH MỤC BẢNG
Bảng 2.1.So sánh các mô hình quản lí 47
Bảng 3.1 Bảng so sánh thuật toán mã hóa 63
Bảng 3.2 Ví dụ về độ dài khóa ảnh hưởng tới khả năng chống lại tấn công brute-force 64
Bảng 3.3 Ví dụ về hiệu năng và tốc độ xử lý của từng thuật toán 65
Bảng 3.4 Ví dụ khả năng tích hợp vào CSDL 66
Bảng 3.5 Bảng so sánh thuật toán đối xứng 69
Bảng 3.6 So sánh RSA-ECC dựa trên các tiêu chí 72
Trang 14CHƯƠNG 1 CƠ SỞ LÝ THUYẾT VỀ MÃ HÓA VÀ KHÓA MẬT MÃ
1.1Tổng quan về Mã hóa và Khóa mật mã
Trong kỷ nguyên số hiện nay, dữ liệu trở thành tài sản quan trọng của mỗi tổchức, doanh nghiệp và cá nhân Sự gia tăng các mối đe dọa từ tấn công mạng, truycập trái phép và rò rỉ thông tin cá nhân đã đặt ra nhu cầu cấp thiết về bảo mật dữ liệu.Trong đó, mã hóa (encryption) và khóa mật mã (cryptographic key) là hai thành phầntrung tâm trong việc bảo vệ dữ liệu, đảm bảo tính bí mật, toàn vẹn và xác thực thôngtin
1.1.1 Mã hóa (Encryption)
Mã hóa là quá trình biến đổi dữ liệu từ dạng bản rõ (plaintext) sang dạng bản
mã (ciphertext) thông qua một thuật toán mã hóa và sự tham gia của khóa mật mã.Quá trình này giúp dữ liệu trở nên không thể đọc hoặc hiểu được nếu không có khóagiải mã thích hợp
Theo D.E Denning (1990), mã hóa là “quá trình chuyển dữ liệu từ dạng có thể đọc được sang dạng không thể hiểu được nếu không có khóa thích hợp” [1].
Mã hóa đối xứng (Symmetric Encryption) (còn gọi là mã hóa khóa đồng bộ)
là một thuật toán mà trong đó cả hai quá trình mã hóa và giải mã đều dùng một khóa.
Mã hóa bất đối xứng (Asymmetric Encryption) (còn gọi là mã hóa khóa công khai) là một thuật toán sử dụng hai khóa khác nhau, trong đó mã hóa dùng khóa công khai và giải mã dùng khóa bí mật tương ứng.
Trang 15Mã hóa không chỉ bảo vệ dữ liệu khỏi truy cập trái phép mà còn đóng vai tròquan trọng trong việc đảm bảo:
Tính bảo mật (Confidentiality): Chỉ những người sở hữu khóa mới có thể
đọc dữ liệu
Tính toàn vẹn (Integrity): Ngăn chặn dữ liệu bị thay đổi trái phép trong quá
trình lưu trữ hoặc truyền tải
Xác thực (Authentication): Kết hợp với các kỹ thuật như chữ ký số, HMAC
để xác minh nguồn gốc dữ liệu
Trong cơ sở dữ liệu (CSDL), mã hóa thường được triển khai để bảo vệ các thông tin
nhạy cảm như:
Thông tin cá nhân (tên, địa chỉ, số CMND/CCCD)
Thông tin tài chính (số thẻ, số tài khoản, giao dịch)
Hồ sơ y tế và dữ liệu sức khỏ
Để đảm bảo an toàn toàn diện, mã hóa thường được triển khai theo nhiều lớp:
Lớp mã hóa dữ liệu (Data Encryption Layer): Mã hóa trực tiếp các cột,
bảng hoặc toàn bộ cơ sở dữ liệu
Lớp bảo vệ khóa (Key Protection Layer): Khóa mã hóa được bảo vệ bằng
các thiết bị chuyên dụng như HSM (Hardware Security Module) hoặc kho lưutrữ an toàn (vault)
Lớp chứng thực và phân quyền (Authentication & Access Control): Chỉ
những người dùng được cấp quyền mới có thể truy xuất khóa và dữ liệu
Trang 16Việc triển khai nhiều lớp bảo mật này giúp giảm thiểu rủi ro từ các lỗ hổng hệthống, ngăn ngừa truy cập trái phép và đảm bảo dữ liệu luôn được bảo vệ kể cả khimột lớp bảo mật bị xâm phạm.
1.1.2 Khóa Mật mã (Cryptographic Key)
Trong lĩnh vực an ninh thông tin và mật mã học, khóa mật mã (cryptographic key) là một chuỗi bit có giá trị xác định, được sử dụng làm tham số điều khiển trong quá trình mã hóa và giải mã dữ liệu Khóa mật mã quyết định cách thức dữ liệu được chuyển đổi từ trạng thái có thể đọc được (plaintext) sang trạng thái không thể hiểu được (ciphertext) và ngược lại.
Bản chất của khóa mật mã là yếu tố quyết định độ an toàn của hệ thống mã hóa, vì độ mạnh của khóa ảnh hưởng trực tiếp đến khả năng chống lại các cuộc tấn công như brute-force hay cryptanalysis Ngay cả khi thuật toán mã hóa được thiết
kế tốt và được chứng minh về mặt lý thuyết, dữ liệu vẫn không thể bị giải mã nếu
khóa bị giữ bí mật và đủ phức tạp.
Theo Teresa F Lunt (2007), “Khóa là yếu tố quyết định mức độ an toàn của bất kỳ thuật toán mã hóa nào Thuật toán mạnh nhưng khóa yếu vẫn không bảo vệ được dữ liệu” [3] Đây là lý do tại sao các hệ thống mã
hóa hiện đại đặt quản lý khóa như một thành phần quan trọng ngang
tầm thuật toán
Một cách học thuật hơn, khóa mật mã có thể được coi là tham số kiểm soát chính trong một hàm toán học đảo ngược một chiều, mà chỉ với khóa thích hợp
mới có thể thực hiện phép nghịch đảo để khôi phục dữ liệu ban đầu Khái niệm này áp
dụng cho cả mã hóa đối xứng (symmetric encryption), nơi cùng một khóa dùng cho mã hóa và giải mã, và mã hóa bất đối xứng (asymmetric encryption), nơi cặp
Trang 17khóa công khai và khóa bí mật phối hợp với nhau theo các nguyên lý toán học phứctạp (như lý thuyết số hoặc đường cong elliptic) để đảm bảo bảo mật.
Như vậy, khóa mật mã không chỉ là một chuỗi bit, mà còn là trung tâm kiểm soát tính bảo mật, toàn vẹn và xác thực của dữ liệu trong bất kỳ hệ thống
thông tin nào Việc hiểu rõ bản chất và vai trò của khóa là bước đầu tiên để triển khaicác biện pháp bảo mật hiệu quả, từ cơ sở dữ liệu, giao tiếp mạng đến lưu trữ đám mây
1.2 Phân loại mã hóa và khóa mật mã (Classification of Encryption and Cryptographic Keys)
Trong lĩnh vực mật mã học, việc phân loại mã hóa (encryption) và khóa mật
mã (cryptographic key) giúp người nghiên cứu và triển khai hệ thống an toàn thông tin hiểu rõ cơ chế hoạt động, phạm vi áp dụng, ưu nhược điểm của từng loại 1.2.1 Phân loại thuật toán mã hóa
Thuật toán mã hóa được phân loại chủ yếu theo cơ chế sử dụng khóa:
1.2.1.1 Mã hóa đối xứng (Symmetric Encryption)
1.2.1.1.1 Mô hình hoạt động của mã hóa đối xứng
Mã hóa đối xứng (Symmetric Encryption) (còn gọi là mã hóa khóa đồng bộ
) là một thuật toán mà trong đó cả hai quá trình mã hóa và giải mã đều dùng một khóa
Trang 18Hình 1.1.1 Mô hình mã hóa đối xứng
Mô hình mã hóa trên gồm 05 yếu tố:
- Bản rõ P (Plaintext)
- Thuật toán mã hóa E (encrypt algorithm) - Khóa bí mật K (secret key) - Bản mã C (ciphertext)
- Thuật toán giải mã D (decrypt algorithm)
Trong đó: C = E(P,K); P = D(C,K) Có thể viết gọn: P = K(K(P))
Điều này có nghĩa là khóa đóng vai trò duy nhất trong việc điều khiển cả haiphép biến đổi Như Schneier (1996) từng nhận xét, bản chất của mã hóa đối xứng là
“bí mật được chia sẻ”, và chỉ khi bí mật này được bảo vệ hoàn hảo, hệ thống mới đạtđược mức độ an toàn tương đương với độ mạnh thuật toán
1.2.1.1.2 Đặc điểm của mã hóa đối xứng
Mã hóa đối xứng có ưu điểm lớn nhất là tốc độ rất cao, phù hợp với các ứngdụng yêu cầu xử lý thời gian thực hoặc mã hóa khối lượng dữ liệu lớn như hệ thống
Trang 19lưu trữ, truyền tải video hoặc cơ sở dữ liệu Những thuật toán hiện đại như AES(Advanced Encryption Standard) hay 3DES đều thuộc nhóm này và được chuẩn hóabởi NIST, đảm bảo tính bảo mật và hiệu năng cao Tuy nhiên, hạn chế quan trọngnhất của mã hóa đối xứng là vấn đề phân phối khóa Khóa phải được chia sẻ giữa bêngửi và bên nhận trước khi có thể mã hóa an toàn, và việc truyền khóa qua các kênhkhông bảo mật có thể dẫn đến rò rỉ toàn bộ thông tin Amoroso (1994) nhấn mạnhrằng quản lý khóa chính là “điểm yếu truyền thống” của mã hóa đối xứng, và điềunày khiến nó khó sử dụng trong các hệ thống phân tán lớn Ví dụ: AES, DES, 3DES[1][2].
Trong thực tiễn, mã hóa đối xứng được sử dụng phổ biến trong các tình huống
mà dữ liệu chỉ cần được bảo vệ tại một phía, chẳng hạn như mã hóa dữ liệu cá nhântrên thiết bị, bảo vệ file mật, hay trong các hệ thống không yêu cầu chia sẻ khóa rộngrãi Đây cũng là lựa chọn phù hợp để chống lại sự xâm nhập của phần mềm độc hạinhư spyware hay trojan bởi thuật toán hoạt động hoàn toàn cục bộ
Trong các hệ quản trị cơ sở dữ liệu như Microsoft SQL Server, mô hình mãhóa đối xứng được hỗ trợ một cách đầy đủ thông qua các câu lệnh như:
CREATE SYMMETRIC KEY để tạo khóa,
OPEN SYMMETRIC KEY để sử dụng khóa cho quá trình mã hóa
Hàm EncryptByKey – DecryptByKey (Mã hóa – Giải mã ) cho việc thực thi
biến đổi dữ liệu
Điều này cho thấy mã hóa đối xứng không chỉ mang tính lý thuyết mà cònđược tích hợp sâu vào môi trường bảo mật dữ liệu thực tế
Trang 201.2.1.2.1 Mô hình hoạt động của mã hóa bất đối xứng
Mã hóa bất đối xứng, hay mã hóa khóa công khai, là bước tiến quan trọng củamật mã học hiện đại được phát triển công khai vào thập niên 1970 với công trình củaDiffie và Hellman (1976) Khác với mã hóa đối xứng, hệ mã hóa bất đối xứng sửdụng hai khóa khác nhau và có quan hệ toán học đặc biệt: khóa công khai (publickey) dùng để mã hóa và khóa bí mật (private key) dùng để giải mã Điểm mấu chốt làkhóa bí mật không thể suy ra được từ khóa công khai, một tính chất được đảm bảobằng các bài toán số học khó, chẳng hạn như phân tích thừa số lớn trong RSA hoặcbài toán logarit rời rạc trong thuật toán Diffie–Hellman và Elliptic CurveCryptography (ECC)
Hình 1.1.2 Mô hình mã hóa bất đối xứng
Mô hình mã hóa trên gồm 05 yếu tố:
- Bản rõ P (Plaintext)
- Thuật toán mã hóa E (encrypt algorithm)
- Khóa công khai 𝐾1 (Public key)
- Khóa bí mật 𝐾2 (Private key)
Trang 21- Bản mã C (ciphertext)
- Thuật toán giải mã D (decrypt algorithm)
Trong đó: C = E(P,K1) và P = D(C,K2)
Vì khóa công khai có thể được công bố rộng rãi mà không gây nguy hiểm đến
an toàn của hệ thống, mã hóa bất đối xứng giải quyết triệt để vấn đề phân phối khóa –điều mà mã hóa đối xứng gặp nhiều khó khăn Đây cũng là lý do Stallings (2017)nhận định rằng sự ra đời của mã hóa bất đối xứng đã “cách mạng hóa hoàn toàn cáchthức trao đổi dữ liệu an toàn”
1.2.1.2.2 Đặc điểm của mã hóa bất đối xứng
Ưu điểm rõ rệt nhất của mã hóa bất đối xứng nằm ở khả năng phân phối khóa
an toàn và hỗ trợ các chức năng bảo mật quan trọng như xác thực, chữ ký số, trao đổikhóa, và thiết lập kênh liên lạc an toàn Tuy nhiên, các hệ mã hóa bất đối xứng thường
có tốc độ xử lý chậm hơn rất nhiều so với mã hóa đối xứng, vì các phép toán số họcphức tạp như lũy thừa mô-đun với số nguyên hàng trăm hoặc hàng nghìn bit Do đó,trong thực tế, mã hóa bất đối xứng thường được dùng để bảo vệ khóa phiên đối xứnghoặc để xác thực danh tính, thay vì mã hóa dữ liệu dung lượng lớn
Trong môi trường cơ sở dữ liệu, đặc biệt như SQL Server, các chức năng làmviệc với khóa bất đối xứng được cung cấp thông qua các câu lệnh
CREATE ASYMMETRIC KEY tạo một khoá bất đối xứng mới
ALERT ASYMMETRIC KEY thay đổi các thuộc tính của khoá bất đối xứng.DROP ASYMMETRIC KEY loại bỏ một khoá bất đối xứng hiện có
Hàm EncryptByAsymKey để mã hoá và hàm DecryptByAsymKey để giải mã
Trang 22Việc mã hóa và giải mã được thực hiện thông qua các hàmEncryptByAsymKey và DecryptByAsymKey Sự tích hợp này cho phép các hệ quảntrị cơ sở dữ liệu tăng cường an toàn trong quản lý khóa, tránh việc lưu trữ khóa bí mậttrực tiếp trong mã nguồn hoặc ứng dụng.
Nhờ các thuộc tính toán học mạnh mẽ, mã hóa bất đối xứng đã trở thành nềntảng của hầu hết các giao thức bảo mật hiện đại như SSL/TLS, SSH, PGP, và đượccoi là thành phần không thể thiếu trong các hệ thống an toàn thông tin
1.2.2 Phân loại khóa mật mã
Trong hệ thống cơ sở dữ liệu (CSDL) hiện đại, việc bảo vệ dữ liệu không chỉđược thực hiện thông qua các cơ chế kiểm soát truy cập truyền thống, mà còn phụ
thuộc lớn vào các kỹ thuật mã hóa Trọng tâm của mọi hệ thống mã hóa là khóa mật mã (cryptographic keys) Chất lượng đảm bảo an toàn của hệ thống phụ thuộc
vào việc phân loại, thiết kế, lưu trữ và quản lý các khóa này Theo chuẩn quốc tế như
NIST SP 800-57, việc phân loại khóa mật mã giúp xác định phạm vi sử dụng, chức
năng và mức độ bảo vệ cần thiết cho từng loại khóa, đảm bảo tính bí mật, toàn vẹn vàsẵn sàng của dữ liệu
1.2.2.1 Phân loại theo Bản chất Mật mã (By Cryptographic Nature)
Trong lĩnh vực an toàn thông tin, việc phân loại hệ thống khóa dựa trên bản chấtmật mã là phương pháp nền tảng và quan trọng nhất Cách phân loại này dựa trên sốlượng khóa được sử dụng cũng như mối quan hệ toán học giữa các khóa trong quá trình
mã hóa và giải mã dữ liệu Hai nhóm lớn được công nhận và sử dụng rộng rãi trong mọi
hệ thống bảo mật hiện đại là khóa đối xứng (symmetric key) và khóa bất đối xứng(asymmetric key) Mỗi nhóm không chỉ khác nhau ở nguyên lý hoạt động mà còn phù
Trang 23hợp với những mục đích ứng dụng khác nhau, từ mã hóa dữ liệu dung lượng lớn đến xácthực và phân phối khóa trong mạng.
1.2.2.1.1 Khóa đối xứng (Symmetric Key)
Khóa đối xứng được hiểu là loại khóa chỉ sử dụng một khóa duy nhất cho cả quátrình mã hóa và giải mã Khi bên gửi sử dụng khóa này để biến đổi dữ liệu sang dạngmật, bên nhận muốn giải mã phải sở hữu chính khóa đó Điều này tạo ra một mối quan
hệ chặt chẽ: bất kỳ ai biết khóa đối xứng đều có khả năng truy cập toàn bộ dữ liệu.
Đây chính là lý do các hệ thống sử dụng mã hóa đối xứng luôn phải đặc biệt coi trọngvấn đề trao đổi khóa
Hình 1.2.1 Chu kỳ mã hóa khóa đối xứng
Về mặt kỹ thuật, mã hóa đối xứng hoạt động dựa trên các hàm biến đổi có thể đảongược, trong đó khóa đóng vai trò như tham số điều khiển Các thuật toán đối xứng hiện
đại thường được chia thành hai dạng chính: mã hóa khối (block cipher) và mã hóa
dòng (stream cipher) Trong số này, chuẩn được sử dụng rộng rãi nhất hiện nay là AES (Advanced Encryption Standard) Năm 2001, Viện Tiêu chuẩn và Công nghệ Quốc
gia Hoa Kỳ (NIST) đã lựa chọn AES để thay thế chuẩn DES vốn đã trở nên lỗi thời AES
hỗ trợ các độ dài khóa 128, 192 và 256 bit, trong đó AES-256 hiện được nhiều tổ chứclớn, bao gồm chính phủ Hoa Kỳ, khuyến nghị sử dụng cho dữ liệu tuyệt mật
Trang 24Ngược lại, DES (Data Encryption Standard) – một thuật toán nổi tiếng trong
thập niên 1980 và 1990 – sử dụng khóa dài 56 bit Độ dài này từng được coi là đủ antoàn, nhưng vào năm 1998, tổ chức Electronic Frontier Foundation (EFF) đã chế tạo cỗmáy “DES Cracker” có khả năng phá DES chỉ trong 56 giờ Đây được xem như bằngchứng quan trọng cho thấy DES không còn đáp ứng được yêu cầu bảo mật Để khắc
phục, 3DES (Triple DES) ra đời với cơ chế mã hóa ba lần bằng ba khóa khác nhau,
nâng độ an toàn lên đáng kể Tuy vậy, tốc độ xử lý chậm cùng nguy cơ tấn công in-the-middle" khiến 3DES dần bị loại khỏi các hệ thống hiện đại Năm 2017, NISTchính thức tuyên bố 3DES không còn phù hợp cho các ứng dụng mới
"meet-Mã hóa đối xứng có ưu điểm nổi bật nhất là tốc độ rất nhanh, nhờ đó được sử
dụng trong các hệ thống cần xử lý lượng dữ liệu lớn như VPN, đĩa cứng mã hóa(BitLocker), sao lưu dữ liệu, truyền tải video và lưu trữ đám mây Tuy nhiên, hạn chế
lớn nhất của phương pháp này là vấn đề phân phối và quản lý khóa Việc phải chuyển
khóa bí mật qua một kênh an toàn là điều không hề đơn giản trong môi trường mạng toàncầu Nếu khóa bị lộ hoặc bị đánh cắp, toàn bộ dữ liệu đã mã hóa bằng khóa đó sẽ rơi vàotay kẻ tấn công, dẫn đến hậu quả không thể khắc phục
1.2.2.1.2 Khóa bất đối xứng (Asymmetric Key / Public Key)
Khác với mô hình khóa đối xứng, khóa bất đối xứng sử dụng một cặp khóa gồm
khóa công khai (public key) và khóa bí mật (private key) Khóa công khai có thể đượcchia sẻ tự do, trong khi khóa bí mật phải được giữ an toàn tuyệt đối Điểm cốt lõi của cơ
chế này là: dữ liệu được mã hóa bằng khóa công khai chỉ có thể được giải mã bằng
khóa bí mật tương ứng, và ngược lại Đây chính là nền tảng của hầu hết các hệ thống
bảo mật Internet hiện nay
Nguyên lý hoạt động của mã hóa bất đối xứng dựa trên các bài toán toán học được
xem là “khó một chiều” Một trong những thuật toán nổi tiếng nhất là RSA, được công
bố vào năm 1977 bởi Rivest, Shamir và Adleman RSA dựa trên độ khó của bài toán
Trang 25phân tích một số nguyên lớn thành các thừa số nguyên tố – một bài toán mà đến nay chưa
có thuật toán khả thi để giải quyết nhanh đối với số có hàng nghìn bit Thực tế, RSAthường sử dụng khóa dài 2048 bit hoặc 4096 bit để đảm bảo an toàn trước các tấn cônghiện đại RSA đã trở thành nền tảng của nhiều giao thức Internet, bao gồm TLS/SSL,SSH và các hệ thống chữ ký số
Bên cạnh RSA, một xu hướng quan trọng trong những năm gần đây là Elliptic
Curve Cryptography (ECC) – mật mã dựa trên đường cong elliptic ECC khai thác bài
toán logarit rời rạc trên đường cong elliptic, một bài toán được đánh giá là còn khó hơn
nhiều so với phân tích số nguyên Ưu điểm lớn nhất của ECC là độ dài khóa ngắn hơn
nhưng độ an toàn tương đương RSA Chẳng hạn, khóa ECC 256 bit có mức bảo mật
tương đương RSA 3072 bit Nhờ vậy, ECC tiêu tốn ít tài nguyên tính toán, rất phù hợpcho thiết bị di động, IoT và hệ thống nhúng Từ năm 2015 trở lại đây, ECC được sử dụngphổ biến trong các chứng chỉ HTTPS (ECDSA, ECDH) và là lựa chọn ưu tiên của cácnhà cung cấp dịch vụ đám mây
Khóa bất đối xứng khắc phục triệt để nhược điểm của khóa đối xứng trong việcphân phối khóa Người gửi chỉ cần biết khóa công khai của người nhận để mã hóa dữliệu; mọi kẻ tấn công nghe lén đều không thể giải mã vì không sở hữu khóa bí mật Đây
là lý do hệ thống PKI (Public Key Infrastructure) – nền tảng cho chữ ký số, chứng chỉ
số và giao thức HTTPS – được xây dựng dựa trên mô hình khóa bất đối xứng
Tuy nhiên, phương pháp này không hoàn hảo Nhược điểm lớn nhất của mã hóa
bất đối xứng là tốc độ xử lý chậm hơn nhiều so với mã hóa đối xứng Theo các đánh giá thực nghiệm, RSA có thể chậm hơn AES từ 100 đến 1000 lần tùy tình huống Vì vậy, trên thực tế, khóa bất đối xứng thường chỉ được dùng để trao đổi khóa đối xứng, ký số
và xác thực, chứ không được dùng để mã hóa khối dữ liệu lớn
Trang 26Phân loại khóa theo bản chất mật mã giúp chúng ta hiểu rõ lý do tại sao
hầu hết các hệ thống hiện đại đều sử dụng kết hợp cả hai loại khóa Khóa đối
xứng đảm nhiệm mã hóa dữ liệu khối lớn nhờ tốc độ nhanh, trong khi khóa bất đối xứng giải quyết bài toán phân phối khóa và xác thực danh tính Sự kết hợp này tạo nên mô hình bảo mật hỗn hợp (hybrid cryptosystem), được áp dụng trong TLS, VPN, email bảo mật, hệ thống tài chính và nhiều môi trường đòi hỏi an toàn cao khác Đây là minh chứng rõ ràng cho thấy mỗi loại khóa có ưu – nhược điểm riêng, nhưng khi được kết hợp đúng cách sẽ tạo thành nền tảng vững chắc cho an toàn thông tin trong thời đại số.
1.2.2.2 Phân loại theo Chức năng và Cấu trúc Phân cấp (By Functionality and Hierarchy)
Trong các hệ thống bảo mật dữ liệu hiện đại, việc phân loại khóa theo chứcnăng và cấu trúc phân cấp đóng vai trò đặc biệt quan trọng, vì nó quyết định khả năngkiểm soát, xoay vòng, khôi phục và giới hạn thiệt hại khi sự cố rò rỉ khóa xảy ra.Nhiều mô hình quản trị khóa kinh điển, được mô tả bởi Denning [1], Castano và
Fugini [5], hay Lunt [3], đều nhấn mạnh rằng không thể sử dụng một loại khóa duy nhất cho mọi nhiệm vụ Thay vào đó, hệ thống phải tổ chức khóa theo dạng phân cấp, trong đó mỗi lớp đảm nhiệm một trách nhiệm cụ thể và mức độ rủi ro khác nhau.
Tiếp cận phân cấp này được chuẩn hóa rõ nhất trong bộ tiêu chuẩn NIST SP
800-57 về quản lý khóa mật mã [6], nơi khóa được chia thành ba cấp: khóa mã hóa
dữ liệu (DEK), khóa mã hóa khóa (KEK), và khóa chủ (Master Key/Root Key)
Đây cũng là mô hình được áp dụng trong các hệ quản trị CSDL thương mại, các thiết
bị HSM, cũng như hệ thống bảo vệ dữ liệu theo tiêu chuẩn PCI DSS [7]
Trang 27Hình 1.2.2 Sơ đồ sau minh họa hệ thống phân cấp khóa đơn giản
Ở lớp thấp nhất của hệ thống là khóa mã hóa dữ liệu – DEK (Data Encryption Key) DEK là khóa thực hiện nhiệm vụ mã hóa trực tiếp các bản ghi, cột,
file hoặc đối tượng dữ liệu trong CSDL Theo phân tích của Teresa Lunt [3], DEKthường được sinh động trong quá trình vận hành và có vòng đời ngắn để giảm thiểumức độ thiệt hại nếu khóa bị lộ Ngoài ra, các nghiên cứu về bảo mật CSDL tại Họcviện Kỹ thuật Mật mã [2] khẳng định rằng DEK gần như luôn dùng thuật toán đốixứng như AES-256 để đảm bảo tốc độ và tính ổn định trong môi trường xử lý dữ liệulớn Các tiêu chuẩn như PCI DSS 4.0 cũng yêu cầu DEK phải được xoay vòng định
kỳ và không được lưu ở dạng thuần văn bản [7] Việc bảo vệ DEK có tính chất bắtbuộc, vì DEK bị xâm phạm đồng nghĩa dữ liệu người dùng bị giải mã trực tiếp
Trang 28Ở lớp thứ hai là khóa mã hóa khóa – KEK (Key Encryption Key) Đây là
tầng trung gian được Denning [1] mô tả như lớp bảo vệ thứ hai trong kiến trúc "bảo
vệ từng lớp" (layered protection) KEK được dùng để mã hóa (wrap) các DEK trướckhi lưu trữ, đảm bảo rằng ngay cả khi file chứa DEK bị truy cập trái phép, kẻ tấn côngvẫn không có khả năng sử dụng Các nghiên cứu của Castano – Fugini [5] cho thấyKEK giúp giảm đáng kể phạm vi tổn thất khi một DEK bị lộ, vì hệ thống chỉ cần tạolại những DEK bị ảnh hưởng mà không phải đổi toàn bộ kiến trúc khóa Theo NIST
SP 800-57 [6], KEK thường có vòng đời dài hơn DEK và được bảo vệ bằng nhiềubiện pháp kỹ thuật hơn, trong đó có phân quyền người vận hành, giám sát truy cập,hoặc lưu trữ trong thiết bị chuyên dụng
Ở lớp cao nhất là Khóa Chủ – Master Key (hoặc Root Key), được xem là
gốc rễ của toàn bộ hệ thống tin cậy (root of trust) Castano và Fugini [5] mô tả MasterKey là yếu tố quyết định tính toàn vẹn của mọi lớp khóa bên dưới, bởi nó được dùng
để bảo vệ hoặc dẫn xuất các KEK Vì mức độ quan trọng này, Master Key thường
được lưu trữ và xử lý trong Hardware Security Module (HSM) – thiết bị bảo mật
phần cứng đạt chuẩn FIPS 140-3 [8], đảm bảo khóa không bao giờ rời khỏi bộ nhớbảo vệ Tiêu chuẩn ISO/IEC 11770-3 [9] cũng nhấn mạnh yêu cầu quản lý MasterKey bằng các nghi thức nghiêm ngặt như chia sẻ khóa theo mô hình nhiều người giữ(M-of-N control), nghi thức tạo khóa (key ceremony), và kiểm soát nhật ký truy cập.Một sự cố liên quan đến Master Key có thể làm mất khả năng bảo vệ mọi KEK vàDEK, nên loại khóa này có vòng đời dài và chỉ được thay đổi khi thực sự cần thiết
Mô hình phân cấp ba lớp này mang lại ưu điểm chiến lược: giảm thiểu tác động dây chuyền khi một lớp khóa bị xâm phạm Khi DEK lộ, chỉ dữ liệu liên
quan bị ảnh hưởng; khi KEK lộ, chỉ cần thay KEK và rewrap các DEK; còn MasterKey luôn được bảo vệ trong HSM để tránh mọi nguy cơ thảm họa Theo Denning [1]
Trang 29và Lunt [3], chính khả năng "hạn chế phạm vi tổn thất" (damage containment) khiến
mô hình phân cấp trở thành nền tảng trong mọi hệ thống quản lý khóa hiện đại
1.2.2.3 Phân loại theo phạm vi tác động và thời gian tồn tại của khóa (By Scope and Lifespan)
Trong các hệ quản trị cơ sở dữ liệu hiện đại, việc phân loại khóa không chỉ dựa
trên chức năng toán học hay cấu trúc phân cấp, mà còn dựa trên phạm vi tác động trong hệ thống và thời gian tồn tại của khóa Đây là cách tiếp cận được trình bày
trong nhiều tài liệu giáo trình CSDL, đặc biệt bởi Alfred Basta và David Kroenke –những người nhấn mạnh rằng mỗi loại khóa phải được xem xét trong bối cảnh hoạtđộng thực tế của DBMS và các cơ chế bảo mật đi kèm [10][11] Hai tiêu chí quan
trọng nhất trong nhóm này là (i) phạm vi quản lý trong hệ thống CSDL, và (ii) vòng đời của khóa trong quá trình vận hành.
Trong phạm vi tác động, các hệ quản trị như SQL Server và Oracle thường tổ
chức khóa thành hai lớp chính: khóa cấp hệ thống (SMK – Service Master Key) và khóa cấp cơ sở dữ liệu (DMK – Database Master Key) Mặc dù mỗi nền tảng sử
dụng tên gọi khác nhau, kiến trúc tổng thể đều tương thích với mô hình phân cấpkhóa được trình bày trong các tài liệu của Castano – Fugini [5] và phù hợp với chuẩnquản lý khóa của NIST SP 800-57 [6] Khóa cấp hệ thống (SMK) hoạt động ở phạm
vi toàn bộ máy chủ CSDL, được xem như Master Key cấp cao nhất trong một môitrường DBMS SMK có nhiệm vụ bảo vệ các khóa cấp dưới, đặc biệt là DMK, vàthường gắn chặt với các cơ chế bảo mật của hệ điều hành Vì SMK chi phối toàn bộinstance CSDL, nên việc bảo vệ nó phải tuân thủ các nguyên tắc an ninh vật lý vàlogic nghiêm ngặt; sự xâm phạm SMK thường dẫn đến nguy cơ lộ toàn bộ dữ liệuđược mã hóa tại cấp instance
Trang 30Ở cấp thấp hơn, khóa DMK đại diện cho KEK trong phạm vi một cơ sở dữ liệu
cụ thể DMK có nhiệm vụ bảo vệ các chứng chỉ, các khóa nội bộ, và đặc biệt là cáckhóa mã hóa dữ liệu Theo mô hình của Basta [10], DMK được thiết kế để cho phépnhiều cơ sở dữ liệu trên cùng một máy chủ hoạt động độc lập về bảo mật, nhờ đó một
sự cố tại một database không ảnh hưởng đến database khác Sự tách bạch này giúptừng CSDL có thể tự quản lý quy trình sinh khóa, xoay vòng và phục hồi mà khôngphụ thuộc toàn bộ vào SMK
Mối quan hệ giữa các khóa này thể hiện rõ nhất trong công nghệ Transparent Data Encryption (TDE) Khi TDE được triển khai, dữ liệu trong CSDL được mã
hóa bằng DEK DEK sau đó được mã hóa bởi DMK, và DMK lại được mã hóa bằngSMK Chuỗi bảo vệ nhiều tầng này thể hiện mô hình “xếp lớp khóa” được Denningphân tích như một phương pháp bảo vệ hiệu quả nhằm giới hạn mức độ thiệt hại khimột tầng bị xâm phạm [1] Ở góc độ thực hành, việc sử dụng SMK → DMK → DEKcho phép bảo vệ dữ liệu ngay cả khi file vật lý của database bị sao chép trái phép, vì
để giải mã, kẻ tấn công cần truy cập cả chuỗi khóa liên kết
Bên cạnh phạm vi tác động, vòng đời khóa (lifespan) là yếu tố thứ hai ảnhhưởng lớn đến mức độ an toàn Khóa trong DBMS có thể được chia thành hai loại
chính: khóa tĩnh/dài hạn (Persistent Key) và khóa phiên (Session Key).
Khóa tĩnh, như DEK, KEK hoặc Master Key, là những khóa tồn tại lâu dài trên
hệ thống và được lưu trữ trên đĩa dưới dạng mã hóa Theo NIST SP 800-57 [6], cáckhóa này yêu cầu cơ chế sao lưu và phục hồi chuyên biệt, kèm theo quy trình xoayvòng khóa định kỳ để hạn chế nguy cơ tấn công do lộ khóa hoặc phân tích mật mãhọc Các tác giả như Kroenke [11] cũng nhấn mạnh rằng khóa tĩnh cần được đồng bộvới cơ chế sao lưu của toàn bộ hệ thống để tránh tình trạng “không thể giải mã dữliệu” sau khi phục hồi
Trang 31Khác với khóa tĩnh, Session Key là khóa chỉ tồn tại trong thời gian phiên giao
dịch hoặc kết nối đang diễn ra Khi phiên kết thúc, khóa bị hủy hoàn toàn và khônglưu lại trên hệ thống Đây là cơ chế được áp dụng trong các giao thức truyền thông antoàn như SSL/TLS, dùng để mã hóa dữ liệu truyền giữa ứng dụng và CSDL Theotiêu chuẩn TLS 1.3 [12], session key được sinh ra bằng cơ chế bắt tay mật mã(cryptographic handshake) và được thay đổi liên tục trong quá trình truyền nhằmchống lại tấn công phân tích lưu lượng Khả năng “tự hủy” sau khi phiên kết thúcgiúp session key trở thành một trong những yếu tố bảo mật quan trọng nhất đối với
dữ liệu đang truyền (data in transit)
Sự kết hợp giữa khóa dài hạn và khóa phiên tạo nên một kiến trúc an toàn cânbằng: khóa dài hạn thiết lập nền tảng tin cậy và quản lý hệ thống, trong khi khóaphiên bảo vệ tính bí mật trong quá trình trao đổi dữ liệu Điều này phù hợp với quanđiểm của Lunt [3], người cho rằng an toàn CSDL không chỉ dựa vào một lớp kỹ thuật
mà phải là sự phối hợp của nhiều cơ chế khóa với phạm vi và vòng đời khác nhau
1.3 Vai trò của mã hóa trong bảo vệ cơ sở dữ liệu
Mã hóa là công cụ cơ bản để bảo vệ bí mật dữ liệu trong cơ sở dữ liệu.
“Encryption converts data from a readable format into an unreadable format, whichcan only be reversed using the correct decryption key” (Mã hóa chuyển đổi dữ liệu từdạng có thể đọc được sang dạng không thể hiểu được, và chỉ có thể phục hồi bằngkhóa giải mã đúng) [1] Khi dữ liệu trong cơ sở dữ liệu được mã hóa, chỉ người sởhữu khóa hợp lệ mới có thể truy cập thông tin, từ đó ngăn chặn truy cập trái phép từhacker hoặc nhân viên nội bộ không được phân quyền [2][3] Điều này đặc biệt quantrọng đối với các dữ liệu nhạy cảm như thông tin tài chính, hồ sơ y tế hoặc dữ liệukinh doanh chiến lược, đảm bảo rằng ngay cả khi dữ liệu bị rò rỉ, nội dung thực vẫnđược bảo vệ [5]
Trang 32Mã hóa trong thực tiễn cơ sở dữ liệu hiện đại giúp bảo vệ dữ liệu tại mọi mức độ lưu trữ Trong SQL Server, cơ chế Transparent Data Encryption (TDE)
“protects data at rest by encrypting the database, associated backups, and transactionlog files” (bảo vệ dữ liệu khi lưu trữ bằng cách mã hóa cơ sở dữ liệu, các bản sao lưu
và các file nhật ký giao dịch) [7] Tương tự, Oracle TDE “encrypts table andtablespace data to prevent unauthorized access to sensitive information” (mã hóa dữliệu bảng và tablespace nhằm ngăn chặn truy cập trái phép vào dữ liệu nhạy cảm) [8]
Cả hai cơ chế này đều cho thấy hiệu quả của mã hóa trong việc giảm thiểu rủi ro khi
dữ liệu vật lý bị xâm nhập
Mã hóa bảo vệ tính toàn vẹn của dữ liệu “By combining encryption with
digital signatures or integrity checks, one can verify that data has not been alteredduring storage or transmission” (Bằng cách kết hợp mã hóa với chữ ký số hoặc kiểmtra tính toàn vẹn, người ta có thể xác minh dữ liệu chưa bị thay đổi trong quá trình lưutrữ hoặc truyền tải) [3] Khi dữ liệu được truyền qua mạng, giao thức TLS 1.3
“ensures both confidentiality and integrity of the data transmitted between client andserver” (đảm bảo cả tính bí mật và toàn vẹn dữ liệu khi truyền giữa client và server)[12] Như vậy, mã hóa vừa bảo vệ dữ liệu khỏi truy cập trái phép vừa bảo vệ dữ liệukhỏi bị thay đổi trái phép, đồng thời tạo cơ sở tin cậy cho các giao dịch điện tử
Mã hóa kết hợp với quản lý khóa giúp kiểm soát truy cập dữ liệu một cách hiệu quả “Proper key management ensures that only authorized users can decrypt
and access the encrypted data, and keys can be rotated or revoked as needed” (Quản
lý khóa đúng cách đảm bảo rằng chỉ người dùng được ủy quyền mới có thể giải mã vàtruy cập dữ liệu mã hóa, và khóa có thể được thay thế hoặc thu hồi khi cần) [6] Cơchế này cho phép phân quyền truy cập dữ liệu theo vai trò, từ đọc, ghi đến xóa dữliệu, và quản lý thời gian hiệu lực của khóa để hạn chế truy cập sau khi quyền sử dụnghết hạn Trong SQL Server, “the encryption hierarchy with master keys, database
Trang 33encryption keys, and certificates allows for role-based access control and centralizedkey protection” (cấu trúc phân cấp mã hóa với master key, database encryption key
và certificate cho phép kiểm soát truy cập theo vai trò và bảo vệ khóa tập trung) [7]
Mã hóa giảm thiểu rủi ro trong các trường hợp dữ liệu bị xâm nhập hoặc
rò rỉ “Encrypted data remains protected even if the storage medium is
compromised” (Dữ liệu được mã hóa vẫn được bảo vệ ngay cả khi phương tiện lưutrữ bị xâm nhập) [10] Ngay cả khi hacker hoặc nhân viên trái phép có quyền truy cậpvào file cơ sở dữ liệu hoặc bản sao lưu, nội dung thực vẫn không thể đọc được Điềunày giúp tổ chức tuân thủ các quy định về bảo mật dữ liệu như GDPR hoặc HIPAA,đồng thời bảo vệ uy tín và quyền lợi của khách hàng, đối tác [11]
Mã hóa cũng là cơ sở để triển khai các phương thức bảo mật nâng cao khác Các cơ chế mã hóa đối xứng và bất đối xứng có thể kết hợp để tối ưu hóa bảo
mật Mã hóa đối xứng (symmetric encryption) sử dụng cùng một khóa cho việc mãhóa và giải mã, thích hợp cho việc mã hóa dữ liệu trong bảng lớn nhờ tốc độ xử lýcao Trong khi đó, mã hóa bất đối xứng (asymmetric encryption) sử dụng cặp khóacông khai và riêng tư, thuận tiện cho việc trao đổi khóa an toàn và xác thực người gửi
Sự kết hợp này giúp các hệ thống cơ sở dữ liệu hiện đại cân bằng giữa hiệu quả xử lý
và an toàn thông tin [1][2][6]
Tóm lại, Mã hóa là yêu cầu bắt buộc trong bảo vệ cơ sở dữ liệu Vai trò của
mã hóa được thể hiện rõ ràng qua ba phương diện chính: bảo mật dữ liệu, bảo vệ tínhtoàn vẹn và kiểm soát truy cập Việc triển khai mã hóa hiệu quả, kết hợp với quản lýkhóa và các chính sách bảo mật, giúp giảm thiểu rủi ro, tuân thủ các quy định phápluật và nâng cao niềm tin của người dùng và đối tác Trong môi trường cơ sở dữ liệu
hiện đại, mã hóa không chỉ là lựa chọn mà là yêu cầu bắt buộc để bảo vệ dữ liệu nhạy cảm và duy trì an toàn thông tin [1][2][6][7][8].
Trang 341.4 Giới thiệu các thuật toán cơ bản
AES(AdvancedEncryptionStandard)AES là thuật toán mã hóa đối xứng
hiện đại được chuẩn hóa bởi NIST vào năm 2001 để thay thế DES [6] “AES is asymmetric block cipher that encrypts and decrypts data in fixed-size blocks using ashared secret key” (AES là thuật toán mã hóa khối đối xứng, mã hóa và giải mã dữliệu theo các khối cố định với một khóa bí mật chung) [6] AES hoạt động trên cáckhối dữ liệu 128-bit và sử dụng khóa có độ dài 128, 192 hoặc 256 bit Nguyên lý củaAES dựa trên nhiều vòng tuần tự gồm các bước thay thế byte (SubBytes), hoán vịhàng (ShiftRows), hoán vị cột (MixColumns) và kết hợp khóa vòng(AddRoundKey) Ưu điểm nổi bật của AES là tốc độ xử lý cao, bảo mật mạnh và hiệuquả trong cả phần mềm lẫn phần cứng Nhược điểm là do là thuật toán đối xứng, việcphân phối khóa an toàn vẫn là thách thức lớn trong môi trường mạng [1][6]
DES(DataEncryptionStandard)vs3DES DES là một thuật toán mã hóa khối
đối xứng tiêu chuẩn được sử dụng rộng rãi từ những năm 1970 “DES encrypts datausing a 56-bit key and operates on 64-bit data blocks through 16 rounds ofsubstitution and permutation” (DES mã hóa dữ liệu sử dụng khóa 56-bit và thực hiệntrên các khối dữ liệu 64-bit qua 16 vòng thay thế và hoán vị) [1] Nguyên lý hoạtđộng của DES là áp dụng mạng Feistel với 16 vòng biến đổi, mỗi vòng sử dụng cácphép toán thay thế và hoán vị kết hợp với khóa vòng khác nhau Nhược điểm chínhcủa DES là độ dài khóa quá ngắn, dễ bị tấn công brute-force 3DES ra đời để khắcphục vấn đề này bằng cách thực hiện DES ba lần với ba khóa khác nhau, tăng cườngbảo mật nhưng làm giảm tốc độ xử lý [5]
RSA(Rivest–Shamir–Adleman) RSA là thuật toán mã hóa bất đối xứng nổi
tiếng, được phát triển vào năm 1977 “RSA is an asymmetric algorithm that uses apair of keys – a public key for encryption and a private key for decryption” (RSA làthuật toán bất đối xứng sử dụng cặp khóa: khóa công khai để mã hóa và khóa riêng để
Trang 35giải mã) [1] Nguyên lý hoạt động của RSA dựa trên tính khó khăn của bài toán phântích các số nguyên lớn thành các thừa số nguyên tố RSA thường được sử dụng đểtrao đổi khóa trong các hệ thống mã hóa đối xứng, chữ ký số và xác thực Đặc điểmnổi bật của RSA là bảo mật cao, dễ triển khai trong việc trao đổi khóa, nhưng nhượcđiểm là tốc độ xử lý chậm hơn nhiều so với các thuật toán đối xứng và yêu cầu khóadài để đạt mức bảo mật cao [1][3][6].
ECC(EllipticCurveCryptography) ECC là thuật toán mã hóa bất đối xứng
dựa trên toán học đường cong elliptic, được phát triển vào cuối thập niên 1980 “ECCuses properties of elliptic curves over finite fields to provide strong security withsmaller keys compared to RSA” (ECC sử dụng các tính chất của đường cong elliptictrên trường hữu hạn để cung cấp bảo mật mạnh với khóa nhỏ hơn so với RSA) [6].Nguyên lý hoạt động của ECC dựa trên bài toán logarit rời rạc trên đường congelliptic, giúp tạo ra các cặp khóa công khai và riêng tư Ưu điểm chính của ECC làbảo mật tương đương RSA nhưng với kích thước khóa nhỏ hơn, giúp giảm băngthông, tăng tốc và tiết kiệm tài nguyên Nhược điểm là phức tạp hơn trong triển khai
và đòi hỏi phần mềm/hardware hỗ trợ đúng chuẩn để tránh lỗ hổng bảo mật [6][9]
2.1 Tổng quan về khóa mã hóa trong cơ sở dữ liệu
2.1.1 Khóa mật mã trong bối cảnh mã hóa dữ liệu cơ sở dữ liệu
Trong bối cảnh mã hóa dữ liệu cơ sở dữ liệu,khóa mật mã được sử dụng để bảo
vệ dữ liệu lưu trữ,nơi các khóa mã hóa dữ liệu (như khóa mã hóa tablespace hoặc dữliệu) đóng vai trò trực tiếp mã hóa thông tin, còn các khóa chủ được dùng để mã hóalại các khóa này
Trang 362.1.2 Vai trò của khóa đối với bảo mật CSDL
Khóa giữ vai trò trung tâm trong bảo mật dữ liệu, đặc biệt trong các hệ thống
sử dụng TDE, nơi khóa chủ chịu trách nhiệm bảo vệ toàn bộ các khóa mã hóa dữliệu.Nếu khóa chủ bị lộ, tất cả các khóa con và dữ liệu được mã hóa đều mất an toàn
2.1.3 Quan hệ giữa dữ liệu mã hóa và khóa (DEK, MEK)
Trong các hệ quản trị cơ sở dữ liệu hiện đại, dữ liệu thường được mã hóa bằngData Encryption Key (DEK) Để tăng cường bảo mật, các DEK này không được lưutrữ trực tiếp mà được mã hóa lại bởi Master Encryption Key (MEK) Quan hệ hai lớpkhóa này đảm bảo rằng ngay cả khi DEK bị truy cập trái phép, dữ liệu vẫn không thểgiải mã nếu không có MEK
Hình 2.1.Hình minh họa quan hệ giữa DEK và MEK 2.2 Khái niệm quản lý khóa trong CSDL (Database Key Management)
2.2.1.Quản lí khóa(Key Management)
Quản lí khóa( Key Management) là quá trình toàn diện liên quan đến việc xử lícác khóa mã hóa(cryptographic keys) trong suốt vòng đời của chúng.Mục tiêu chínhcủa quản lí khóa là đảm bảo các khóa được bảo mật, sẵn có và sử dụng đúng cách đểbảo vệ dữ liệu và hệ thống
Trang 372.2.2.Quản lí khóa trong CSDL(Database Key Management)
Quản lí khóa trong cơ sở dữ liệu là tập hợp các cơ chế và chính sách được thiết
kế nhằm bảo vệ các khóa mã hóa sử dụng để đảm bảo an toàn cho dữ liệu trongCSDL Khác với quản lí khóa thông thường, quản lí khóa trong CSDL phải tươngthích chặt chẽ với cấu trúc dữ liệu, cơ chế truy vấn và các ràng buộc của hệ quản trị
Hệ thống quản lí khóa trong CSDL chịu trách nhiệm cho toàn bộ vòng đời củakhóa, bao gồm tạo lập, phân phối, lưu trữ an toàn, xoay vòng và thu hồi khóa Đồngthời, nó phải đảm bảo rằng việc sử dụng khóa không gây suy giảm hiệu năng truyvấn, không phá vỡ tính toàn vẹn dữ liệu và hỗ trợ môi trường truy cập nhiều ngườidùng với các mức phân quyền khác nhau
Các mô hình quản lí khóa trong CSDL thường được triển khai cùng với các cơchế mã hóa như TDE, mã hóa cột hoặc Always Encrypted, nhằm bảo vệ dữ liệu cả khilưu trữ lẫn khi xử lý, đồng thời duy trì khả năng kiểm soát tập trung đối với các khóa
mã hóa
2.3 Các thách thức trong quản lý khóa của hệ quản trị CSDL
Trong hệ quản trị cơ sở dữ liệu (DBMS), việc quản lí khóa là một thành phầnthen chốt để đảm bảo an toàn dữ liệu Tuy nhiên, quá trình này đối mặt với nhiềuthách thức phức tạp chủ yếu xuất phát từ yêu cầu bảo mật nghiêm ngặt, môi trườngtruy cập đa người dùng và sự phức tạp của cơ chế mã hóa Các thách thức chính baogồm việc lưu trữ khóa an toàn, kiểm soát truy cập, xoay vòng khóa trong khi hệ thốngđang hoạt động, bảo vệ khóa trong quá trình sao lưu và log, và hạn chế rò rỉ khóa từcấu hình hệ thống
Trang 382.3.1 Lưu trữ khóa an toàn
Một trong những thách thức lớn nhất là đảm bảo khóa được lưu trữ trong môitrường tách biệt và an toàn, tránh bị truy cập trái phép Các khóa mã hóa, đặc biệt làMEK/KEK, cần được lưu trữ trong các mô-đun bảo mật phần cứng (HSM) hoặc hệthống quản lý khóa chuyên dụng hoặc hệ thống quản lý khóa chuyên dụng (KMS)thay vì lưu trực tiếp trên máy chủ cơ sở dữ liệu
Nếu khóa bị lưu cùng vị trí với dữ liệu được mã hóa, nguy cơ tấn công sẽ tăngcao do kẻ tấn công chỉ cần xâm nhập một điểm để lấy cả dữ liệu và khóa Việc táchbiệt này còn đảm bảo nguyên tắc tách biệt nhiệm vụ, ngăn chặn người quản trị cơ sở
dữ liệu (DBA) có thể truy cập khóa mã hóa chính, từ đó giới hạn rủi ro từ các mối đedọa nội bộ
Hình 2.2 Mô hình minh họa cơ chế bảo vệ khóa trong DBMS
Trang 392.3.2 Phân quyền truy cập
Trong môi trường hệ quản trị cơ sở dữ liệu (DBMS) đa người dùng, kiểm soáttruy cập (Access Control) vào các khóa mã hóa là một yêu cầu bắt buộc (MandatoryRequirement) Chỉ các thực thể (Principals) hoặc tài khoản dịch vụ đã được cấpquyền rõ ràng (ví dụ: các ứng dụng, dịch vụ mã hóa chuyên dụng, hoặc nhân viên vậnhành bảo mật) mới được cấp quyền thao tác với khóa
Thách thức cốt lõi nằm ở việc:
Thực thi phân tách nhiệm vụ (Separation of Duties) hiệu quả giữangười quản trị hệ thống (SA), người quản trị cơ sở dữ liệu (DBA), và ngườiquản trị bảo mật (Security Administrator)
Ngăn chặn tình trạng tập trung quyền lực (Excessive Authority), đặc biệt làviệc một cá nhân hoặc thực thể có khả năng truy cập cả dữ liệu và khóa mã hóacấp cao( Master Key)
Xây dựng và duy trì các cơ chế kiểm soát truy cập dựa trên nguyên tắc Ít Đặcquyền nhất (Least Privilege) và mô hình Kiểm soát Truy cập Dựa trên Vai trò(Role-Based Access Control - RBAC)
2.3.3 Xoay vòng khóa khi DB đang hoạt động
Xoay vòng khóa (key rotation) là một yêu cầu bắt buộc trong quản lý khóanhằm giảm thiểu rủi ro lộ lọt hoặc suy yếu khóa mật mã theo thời gian Tuy nhiên,việc thực hiện key rotation trong môi trường cơ sở dữ liệu hoạt động liên tục lại phátsinh nhiều thách thức
Cụ thể:
Trang 40 Đảm bảo tính liên tục dịch vụ: Quá trình re-encryption phải đượctriển khai mà không gây gián đoạn truy cập hoặc làm gián đoạn luồng xử lý dữliệu đang diễn ra.
Hạn chế suy giảm hiệu năng: Việc mã hóa lại dữ liệu ở quy môlớn có thể tiêu tốn tài nguyên tính toán, dẫn đến tăng độ trễ truy vấn hoặc giảmnăng lực phục vụ của hệ thống
Duy trì tính toàn vẹn và nhất quán dữ liệu: Trong giai đoạnchuyển đổi giữa khóa cũ và khóa mới, hệ thống phải đảm bảo dữ liệu không bịhỏng, mất mát hoặc rơi vào trạng thái không đồng bộ
Đồng bộ khóa trong môi trường phân tán: Các hệ thống cơ sở dữliệu có nhiều replica hoặc node phân tán cần cơ chế phân phối khóa an toàn vàthống nhất, tránh việc các node dùng khóa không đồng nhất
Để giảm thiểu tác động của quá trình xoay vòng khóa, một số hệ quản trị
cơ sở dữ liệu triển khai kỹ thuật mã hóa từng phần (incremental encryption) hoặc
mã hóa nền (background encryption), cho phép hệ thống mã hóa lại dữ liệu theo
lô nhỏ hoặc thực hiện ở chế độ nền nhằm hạn chế ảnh hưởng đến hiệu năng tổngthể
2.3.4 Bảo vệ khóa trong backup và log
Các tệp backup, file log và đặc biệt là transaction log là những thành phần thiếtyếu trong quá trình đảm bảo khả năng phục hồi của hệ quản trị cơ sở dữ liệu Tuynhiên, do thường được lưu trữ tại các lớp lưu trữ thứ cấp hoặc môi trường tách biệtkhỏi hệ thống vận hành chính, các tệp này sở hữu mức độ bảo vệ mặc định thấp hơn
so với dữ liệu đang hoạt động Điều này làm gia tăng nguy cơ trở thành điểm tấn