Trong các công trình này, tính đúng đắn của giao thức MHCTCT đã được chứng minh, tuy nhiên các chứng minh về tính an toàn và chối từ của một giao thức MHCTCT theo định nghĩa của Canetti
Trang 1LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn của tập thể cán bộ hướng dẫn khoa học Các nội dung, số liệu và kết quả trình bày trong Luận án là hoàn toàn trung thực và chưa có tác giả nào công bố trong bất cứ một công trình nào khác, các dữ liệu tham khảo được trích dẫn đầy đủ
Tác giả Luận án
Trang 2LỜI CẢM ƠN
Luận án được nghiên cứu sinh thực hiện tại Học viện Kỹ thuật mật mã - Ban Cơ yếu Chính phủ Nghiên cứu sinh xin bày tỏ lòng biết ơn sâu sắc tới các nhà khoa học: Phó Giáo sư Tiến sĩ Lê Mỹ Tú và Tiến sĩ Nguyễn Nam Hải, các Thầy đã tận tình giúp đỡ, trang bị phương pháp nghiên cứu, kinh nghiệm, kiến thức khoa học và kiểm tra, đánh giá các kết quả trong suốt quá trình thực hiện Luận án
Nghiên cứu sinh xin trân trọng cảm ơn Học viện Kỹ thuật mật mã là cơ
sở đào tạo và đơn vị quản lý chuyên môn, các Đồng chí lãnh đạo Học viện Kỹ thuật mật mã - Ban Cơ yếu Chính phủ, nơi nghiên cứu sinh đang công tác đã tạo mọi điều kiện thuận lợi, hỗ trợ và giúp đỡ nghiên cứu sinh trong suốt quá trình học tập, nghiên cứu và thực hiện Luận án Xin chân thành cảm ơn các nhà giáo, các nhà khoa học, các đồng chí và đồng nghiệp thuộc Khoa Mật mã, Phòng Sau Đại học - Học viện Kỹ thuật mật mã; các nhà khoa học tại Viện Khoa học Công nghệ mật mã - Ban Cơ yếu Chính phủ đã giúp đỡ, hỗ trợ nghiên cứu sinh trong quá trình thực hiện Luận án
Nghiên cứu sinh chân thành cảm ơn sự động viên, giúp đỡ to lớn từ phía gia đình, đồng nghiệp đã hỗ trợ nghiên cứu sinh trong suốt quá trình thực hiện và hoàn thành Luận án này
Nghiên cứu sinh
Nguyễn Đức Tâm
Nguyễn Đức Tâm
Trang 3MỤC LỤC
trang
DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT vi
BẢNG ĐỐI CHIẾU THUẬT NGỮ viii
DANH MỤC CÁC BẢNG ix
DANH MỤC CÁC HÌNH VẼ x
MỞ ĐẦU 1
Chương 1 TỔNG QUAN VỀ MÃ HÓA CÓ THỂ CHỐI TỪ 8
1.1 Tổng quan về mã hóa có thể chối từ 8
1.1.1 Khái niệm mã hóa có thể chối từ 8
1.1.2 Ứng dụng của mã hóa có thể chối từ 10
1.1.3 Khái niệm không phân biệt được về mặt tính toán 10
1.1.4 Tính đúng đắn, an toàn, chối từ của mã hóa có thể chối từ 11
1.1.5 Một số định nghĩa phân loại lược đồ mã hóa có thể chối từ 13
1.1.6 Tấn công cưỡng ép trong mã hóa có thể chối từ 20
1.1.7 Thẩm quyền của đối phương khi thực hiện cưỡng ép 22
1.2 Các hướng nghiên cứu về mã hóa có thể chối từ 23
1.2.1 Các công trình nghiên cứu về mà hóa có thể chối từ 23
1.2.2 Nhận xét các công trình nghiên cứu về mã hóa có thể chối từ 27
1.3 Phương thức gài đặt mã hóa có thể chối từ dựa trên mã hóa xác suất 29
1.3.1 Mã hóa xác suất và ứng dụng mã hóa xác suất để gài đặt MHCTCT 29
1.3.2 Hai chế độ hoạt động của giao thức mã hóa có thể chối từ 31
1.4 Mô tả bài toán cần giải quyết của Luận án 32
1.5 Kết luận chương 1 33
Chương 2 ĐỀ XUẤT PHƯƠNG PHÁP MÃ HÓA CÓ THỂ CHỐI TỪ DỰA TRÊN GIAO THỨC BA BƯỚC SHAMIR 34
2.1 Giao thức ba bước Shamir 34
Trang 42.1.1 Thuật toán mã hóa giao hoán 34
2.1.2 Giao thức ba bước Shamir 34
2.2 Phương pháp mã hóa có thể chối từ dựa trên giao thức ba bước Shamir 35
2.2.1 Phương pháp thực hiện MHCTCT và ngữ cảnh tấn công 35
2.2.2 Một số thuật toán sử dụng 37
2.3 Đề xuất một số giao thức mã hóa có thể chối từ dựa trên giao thức ba bước Shamir 38
2.3.1 Giao thức 2.1: giao thức mã hóa có thể chối từ sử dụng thuật toán Pohlig-Hellman 38
2.3.2 Giao thức 2.2: giao thức MHCTCT sử dụng thuật toán SRA 53
2.3.3 Giao thức 2.3: giao thức mã hóa có thể chối từ sử dụng mã hóa Vernam kết hợp thuật toán ElGamal 62
2.4 Nhận xét và khuyến nghị sử dụng các giao thức đề xuất 72
2.4.1 Đánh giá độ phức tạp thời gian tính toán của các giao thức đề xuất 72
2.4.2 So sánh các giao thức đề xuất với một số công trình cùng hướng nghiên cứu 73
2.4.3 Nhận xét và khuyến nghị sử dụng các giao thức đề xuất 76
2.5 Kết luận chương 2 78
Chương 3 ĐỀ XUẤT PHƯƠNG PHÁP MÃ HÓA CÓ THỂ CHỐI TỪ DỰA TRÊN MÃ KHỐI 79
3.1 Mô hình truyền tin, ngữ cảnh tấn công và tiêu chí thiết kế 79
3.2 Phương pháp mã hóa xác suất dựa trên mã khối 81
3.2.1 Lược đồ tổng quát của mã hóa xác suất dựa trên mã khối 81
3.2.2 Lược đồ mã hóa xác suất dựa trên mã khối với hai giai đoạn mã hóa 83
3.3 Đề xuất phương pháp mã hóa có thể chối từ dựa trên mã khối 84
3.3.1 Lược đồ gài đặt mã hóa có thể chối từ dựa trên mã khối 84
Trang 53.3.2 Thuật toán mã hóa có thể chối từ dựa trên mã khối 93
3.4 Kết luận chương 3 108
KẾT LUẬN 109
DANH MỤC CÁC CÔNG TRÌNH CÔNG BỐ 111
TÀI LIỆU THAM KHẢO 113
PHỤ LỤC A: MỘT SỐ THUẬT TOÁN SỬ DỤNG 118
PHỤ LỤC B: MỘT SỐ KẾT QUẢ THỰC NGHIỆM VÀ MÃ NGUỒN CHƯƠNG TRÌNH THỰC NGHIỆM 121
Trang 6DANH M ỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT
AES Chuẩn mã hóa tiên tiến (Advanced Encryption Standard)
CA Đơn vị cấp phát chứng thư (Certificate Authority)
CPA T ấn công bản rõ chọn lựa (CPA: Chosen Plaintext Attack) ( )
k
D c Hàm giải mã D, giải mã bản mã c C với khóa k K
DES Chuẩn mã hóa dữ liệu (Data Encryption Standard)
ĐPTC Đối phương tấn công
e T ập khóa mã riêng của mã hóa khóa bất đối xứng
IND-CPA Không phân biệt được về mặt tính toán khi tấn công lựa chọn
b ản rõ (Indistinguishability under chosen-plaintext attack)
I Khối mã trung gian
K T ập các tham số, khóa mã bí mật của người dùng
MHCTCT Mã hóa có th ể chối từ
m m Phép nối chuỗi bit m1 với chuỗi bit m 2
m K ích thước theo bit của m
M Tập các thông điệp
Tập các số tự nhiên NIST Viện công nghệ và chuẩn quốc gia Hoa Kỳ (National Institute
of Standards and Technology)
Trang 7OTP Mã hóa khóa sử dụng một lần (one-time pad)
RSA Rivest -Shamir-Adlerman
SRA Shamir-Rivest -Adlerman
SKE Mã hóa khóa bí m ật (Secret-key encryption)
XOR hoặc Phép toán cộng modulo 2
{X }n n Tập phân bố xác suất của biến ngẫu nhiên X n
{X }n n c{Y }n n {X }n n và {Y }n n không phân biệt được về mặt tính toán
Tập các số nguyên
p Trường p: tập hợp các số nguyên nhỏ hơn số nguyên p
*
p Nhóm nhân các số nguyên theo modulo p
z Tham số bí mật dùng chung được hai bên A và B sử dụng
một giao thức trao đổi khóa an toàn để thống nhất ( )n
Hàm phi Eurler của n
Trang 8B ẢNG ĐỐI CHIẾU THUẬT NGỮ
Nghĩa tiếng Anh Nghĩa tiếng Việt
Active coercives T ấn công chủ động (cưỡng ép chủ động) Bi-deniable encryption Mã hóa có thể chối từ đồng thời hai bên
Computational indistinguishability Không phân bi ệt được về mặt tính toán Correctness Tính chính xác
Coercive adversary T ấn công cưỡng ép
Coercer adversary Đối phương cưỡng ép
Deniability Tính ch ối từ
Deniable Encryption Mã hóa có th ể chối từ
Flexible-deniable encryption Mã hóa có th ể chối từ linh hoạt
Fully-deniable encryption Mã hóa có th ể chối từ hoàn toàn
Passive coercives T ấn công bị động (cưỡng ép bị động) Plan-ahead deniable encryption Mã hóa có thể chối từ kế hoạch trước Probabilistic encryption Mã hóa xác su ất
Sender-deniable encryption Mã hóa có thể chối từ bên gửi
Receiver-deniable encryption Mã hóa có thể chối từ bên nhận
Shamir three-pass protocol Giao thức ba bước Shamir
Trang 9DANH M ỤC CÁC BẢNG
trang
Bảng 1.1 Phân loại MHCTCT theo bên chối từ 14
Bảng 2.1 Độ phức tạp tính toán của giao thức 2.1 ở chế độ gài đặt MHCTCT 73
Bảng 2.2 Độ phức tạp tính toán của giao thức 2.2 ở chế độ gài đặt MHCTCT 73
Bảng 2.3 Độ phức tạp tính toán của giao thức 2.3 73
Bảng 2.4 So sánh 3 giao thức Luận án đề xuất và các công trình nghiên cứu tương tự trước đó về MHCTCT dựa trên giao thức ba bước Shamir 73
Bảng 2.5 So sánh giao thức 2.3 và công trình nghiên cứu tương tự về MHCTCT sử dụng hệ mã khóa bí mật OTP 75
Bảng B.1 Kết quả thực nghiệm về tính đúng đắn và hiệu năng tính toán của giao thức 2.1 122
Bảng B.2 Kết quả thực nghiệm về tính đúng đắn và hiệu năng tính toán của Lược đồ MHCTCT dựa trên mã khối 140
Trang 10DANH M ỤC CÁC HÌNH VẼ
trang Hình 1.1 Mô hình tấn công nghe lén EAV (Eavesdropping Attack) 20 Hình 1.2 Mô hình tấn công cưỡng ép trong mã hóa thông thường 21 Hình 1.3 Mô hình tấn công cưỡng ép trong MHCTCT 21 Hình 2.1 Quá trình thực hiện giao thức ba bước Shamir bằng thuật toán mã hóa giao hoán 35 Hình 2.2 Phương pháp tổng quát thực hiện gài đặt MHCTCT dựa trên giao thức ba bước Shamir 36 Hình 2.3 Giao thức 2.1 hoạt động ở chế độ mã hóa xác suất (dùng để chối từ khi bị cưỡng ép) 41 Hình 2.4 Giao thức 2.1 hoạt động ở chế độ gài đặt mã hóa có thể chối (dùng để mã hóa truyền tin mật) 42 Hình 2.5 Giao thức 2.2 hoạt động ở chế độ mã hóa xác suất (dùng để chối từ khi bị cưỡng ép) 56 Hình 2.6 Giao thức 2.2 hoạt động ở chế độ gài đặt MHCTCT (dùng để mã hóa truyền tin mật) 57 Hình 2.7 Giao thức 2.3: giao thức mã hóa Vernam kết hợp thuật toán ElGamal gài đặt mã hóa có thể chối từ 65 Hình 3.1 Lược đồ tổng quát của mã hóa xác suất dựa trên mã khối 81 Hình 3.2 Lược đồ mã hóa xác suất dựa trên mã khối với hai giai đoạn mã hóa 83 Hình 3.3 Mã hóa xác suất dựa trên mã khối và MHCTCT dựa trên mã khối (với hai giai đoạn mã hóa) 84 Hình 3.4 Giải mã ở MHCTCT dựa trên mã khối ở chế độ chối từ khi bị cưỡng ép 87 Hình 3.5 Giải mã ở MHCTC dựa trên mã khối ở chế độ mã hóa truyền tin mật 88 Hình 3.6 Lược đồ mã hóa xác suất dựa trên mã khối và Lược đồ MHCTCT dựa trên
mã khối kết hợp với hệ phương trình đồng dư 90 Hình 3.7 Giải mã ở lược đồ mã hóa xác suất dựa trên mã khối và giải mã ở lược đồ MHCTCT dựa trên mã khối kết hợp với hệ phương trình đồng dư 91 Hình 3.8 Giải mã ở MHCTCT dựa trên mã khối (chế độ mã hóa truyền tin mật) 92 Hình 3.9 Lược đồ cải tiến MHCTCT dựa trên mã khối kết hợp với hệ phương trình đồng dư 103
Trang 11mã trên kênh truyền, tiến hành cưỡng ép A hoặc B hoặc cả hai bên trình ra
bản rõ, các khóa bí mật, thuật toán mã hóa và thuật toán giải mã Nếu sử dụng MHCTCT, cho phép các bên bị tấn công có thể trình ra các tham số và khóa
mã giả mạo (hoặc thuật toán giả mạo) giải mã bản mã cho ra một bản rõ giả
mạo ĐPTC không thể phát hiện hoặc chứng minh được vẫn tồn tại một bản
rõ nào khác Ngữ cảnh này xuất hiện khi ở một số quốc gia, luật pháp quy định khi các cơ quan chức năng của chính quyền yêu cầu, công dân hoặc các
tổ chức có sử dụng mật mã phải trình ra khóa mật mã Một ngữ cảnh khác là hoạt động truyền tin tình báo bị phát hiện, khi đó điệp viên sẽ bị cưỡng ép
phải trình ra khóa mật, bản rõ, thuật toán và thậm chí cả thiết bị mật mã
Một tình huống khác cần đến MHCTCT, trong các giao thức bầu cử điện tử [7, 24, 32, 66], một trong những tính chất cần có của giao thức bầu cử điện tử là bên gửi không có khả năng chứng minh nội dung bỏ phiếu cho bên
thứ ba Điều này nhằm chống lại việc mua phiếu bầu, vì không có bằng chứng cho thấy người nhận hối lộ đã bỏ phiếu theo yêu cầu của kẻ mua phiếu Một ứng dụng hữu ích khác của MHCTCT đó lưu trữ dữ liệu có thể chối từ, đây là một cơ chế lưu trữ dữ liệu mà người dùng có thể lưu trữ các dữ liệu bí mật (khi được giải mã) trên một hoặc nhiều lớp ngụy trang dưới các lớp dữ liệu
giảo mạo nhằm che dấu dữ liệu nhạy cảm trong các hệ thống lưu trữ như ổ
cứng, máy chủ hoặc mô hình lưu trữ điện toán đám mây [15]
Trang 12Mục đích chính của MHCTCT là làm cho đối phương không thể tìm ra
sự tồn tại của thông điệp mật mà không có khóa giải mã thích hợp (hoặc thuật toán giải mã thích hợp), đặc trưng căn bản nhất của MHCTCT là từ một bản
mã cho phép giải mã ra hai bản rõ hợp lý khác nhau Các lược đồ mã hóa thông dụng hiện nay không có tính chất này, do các thuật toán mã hóa thường hình thành từ một quá trình cam kết theo nghĩa một bản rõ là một kết quả duy
nhất khi giải mã một bản mã và khóa mã sử dụng [26, 27, 45, 68]
Tính chối từ của một thuật toán mã hóa được Julian Assange và cộng
sự đề cập lần đầu khi phát triển ứng dụng lưu trữ tập tin mã hóa Rubberhose filesystem [4] Tuy nhiên khái niệm “mã hóa có thể chối từ” (deniable
encryption) thực sự được định nghĩa, phân loại và mô tả tính chất một cách rõ ràng trong công trình nghiên cứu về MHCTCT của Canetti và cộng sự [10]
Trên thế giới hiện nay, có hai hướng nghiên cứu chính về MHCTCT: hướng thứ nhất là nghiên cứu đề xuất các lược đồ MHCTCT dựa trên các hệ
mật khóa công khai [5, 8, 17, 38, 43, 47, 52, 53, 59], hướng thứ hai là nghiên
cứu đề xuất các lược đồ MHCTCT dựa trên các hệ mật khóa bí mật [2, 48, 55, 70] Tuy nhiên phần lớn các công trình nghiên cứu về MHCTCT mang tính lý thuyết hoặc thuật toán mã hóa thực hiện theo từng bit và chỉ có tính minh họa cho phương pháp đề xuất mà không có tính ứng dụng thực tiễn [5, 8, 10, 14,
20, 25, 34, 59, 65] Chưa có nhiều công trình nghiên cứu về MHCTCT có thể
thực thi ứng dụng được trên thực tế, cụ thể:
V ới MHCTCT khóa công khai: đã có một số đề xuất mang tính ứng
dụng khả thi trong thực tế: như của Klonowski và cộng sự [43], Moldovyan
và các cộng sự [47, 50, 52, 53, 54, 59]
Với MHCTCT khóa bí mật: một số đề xuất đã công bố mang tính khả
thi chỉ dùng trong việc lưu trữ ngụy trang dữ liệu, không áp dụng cho việc mã hóa truyền tin giữa hai bên [3, 36, 44, 71] Một lược đồ MHCTCT sử dụng
mã hóa OTP được đề xuất trong [2] khó có thể triển khai được trong thực tế
do tính phức tạp trong việc quản lý khóa bí mật và đáp án chối từ chia sẻ
Trang 13trước Mã khối là hệ mã khóa bí mật phổ biến hiện nay có nhiều ưu điểm về
bảo mật, tính chuẩn hóa, tính phổ dụng và tốc độ mã hóa, tuy nhiên chưa có công trình nghiên cứu đề xuất MHCTCT dựa trên mã khối
Ngoài hai hướng nghiên cứu chính ở trên, có một số nghiên cứu khác
về việc thực hiện MHCTCT dựa trên giao thức ba bước Shamir của tác giả Moldovyan và các cộng sự trong [49, 53, 56] Trong các công trình này, tính đúng đắn của giao thức MHCTCT đã được chứng minh, tuy nhiên các chứng minh về tính an toàn và chối từ của một giao thức MHCTCT theo định nghĩa của Canetti chưa được nhóm tác giả đề cập; Ngoài ra, vấn đề xây dựng một phương pháp tổng quát thực hiện MHCTCT dựa trên giao thức ba bước Shamir với cách thức mã hóa xác suất, để từ đó dùng các hệ mật khác nhau
tạo ra các phiên bản giao thức MHCTCT khác nhau; Và vấn đề chống tấn công chủ động trong MHCTCT dựa trên giao thức ba bước Shamir cũng cần quan tâm Đây là những vấn đề mở cần được nghiên cứu
Tại Việt nam, theo khảo sát của nghiên cứu sinh, MHCTCT chưa có các công trình nghiên cứu về mặt lý thuyết cũng như ứng dụng triển khai trong thực tế
Có thể nói, việc nghiên cứu về MHCTCT nhằm đề xuất một số phương pháp MHCTCT cụ thể dựa trên mã hóa xác suất là một nhiệm vụ có ý nghĩa khoa học và thực tiễn trong lĩnh vực bảo mật và an toàn thông tin
Xuất phát từ cách đặt vấn đề như trên, nghiên cứu sinh đã chọn đề tài
“Một số phương pháp mã hóa có thể chối từ dựa trên mã hóa xác suất”
Nhằm mục đích nghiên cứu và đề xuất một số phương pháp thực hiện gài đặt MHCTCT dựa trên mã hóa xác suất, các phương pháp đề xuất đảm bảo tính đúng đắn, an toàn và chối từ trong ngữ cảnh các bên truyền tin bị tấn công cưỡng ép và có khả năng ứng dụng trong thực tiễn Cũng xin nói thêm là, phần thực nghiệm trong Luận án chỉ tập trung thực thi bằng phần mềm
Trang 142 M ục tiêu nghiên cứu
Mục tiêu nghiên cứu của Luận án gồm:
- Nghiên cứu và đề xuất phương pháp MHCTCT khóa bất đối xứng dựa trên giao thức ba bước Shamir sử dụng các thuật toán mã hóa có tính chất giao hoán với cách thức mã hóa xác suất
- Nghiên cứu và đề xuất phương pháp MHCTCT khóa đối xứng dựa trên mã khối với cách thức mã hóa xác suất
3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của Luận án là các lược đồ mã hóa có thể chối từ
khóa bất đối xứng, các lược đồ mã hóa có thể chối từ khóa đối xứng, giao thức ba bước Shamir, các thuật toán mã hóa giao hoán, các lược đồ mã hóa xác suất, các lược đồ mã hóa xác suất dựa trên mã khối, các giao thức và lược
đồ MHCTCT dựa trên mã hóa xác suất
Phạm vi nghiên cứu của Luận án là: phương pháp xây dựng các giao
thức, lược đồ và thuật toán mã hóa có thể chối từ khóa bất đối xứng hoặc khóa đối xứng dựa trên mã hóa xác suất
4 N ội dung nghiên cứu
Nội dung nghiên cứu cơ bản được trình bày trong Luận án bao gồm:
1 Nghiên cứu cách thức gài đặt MHCTCT dựa trên mã hóa xác suất
2 Xuất phát từ cách thức thực hiện MHCTCT cụ thể được đề xuất trong [49, 56] của tác giả Moldovyan và các cộng sự, Luận án đi nghiên cứu, tổng hợp và đề xuất một phương pháp tổng quát thực hiện MHCTCT dựa trên giao thức ba bước Shamir bằng cách thức mã hóa xác suất, sử dụng thuật toán
mã hóa có tính chất giao hoán và không cần quá trình trao đổi khóa trước Từ phương pháp tổng quát này, nghiên cứu đề xuất ba giao thức MHCTCT cụ thể
sử dụng các hệ mật khác nhau: giao thức thứ nhất sử dụng trao đổi khóa
Diffie-Hellman kết hợp với thuật toán mã hóa lũy thừa modulo Hellman; giao thức thứ hai sử dụng trao đổi khóa Diffie-Hellman kết hợp với
Trang 15Pohlig-thuật toán mã hóa SRA; giao thức thứ ba sử dụng mã hóa khóa bí mật sử
dụng một lần Vernam kết hợp thuật toán mã hóa khóa công khai ElGamal
3 Nghiên cứu cách thức mã hóa xác suất dựa trên mã khối, cách thức kết hợp mã khối với thuật toán giải hệ phương trình đồng dư tạo thành mã hóa xác suất dựa trên mã khối Từ đó đề xuất xây dựng phương pháp mã hóa có thể chối từ dựa trên mã khối
5 Phương pháp nghiên cứu
Phương pháp nghiên cứu được sử dụng trong Luận án bao gồm:
- Phân tích, so sánh, tổng hợp, khái quát hóa và hệ thống hóa các tài liệu khoa học đã công bố trên thế giới và trong nước, kết hợp với tự nghiên cứu
- Sử dụng phương pháp luận liên ngành: toán ứng dụng, lý thuyết số, lý thuyết mật mã và mật mã học ứng dụng, độ phức tạp tính toán
- Sử dụng các công cụ phần mềm để mô phỏng, cài đặt thử nghiệm một
số thuật toán đã nghiên cứu, đề xuất
6 Ý nghĩa khoa học và thực tiễn
Ý nghĩa khoa học:
1 Về mặt lý thuyết, Luận án đóng góp một số kết quả nghiên cứu mới
về đề xuất một số phương pháp MHCTCT khóa bất đối xứng và MHCTCT khóa đối xứng Cụ thể, Luận án đã:
- Đề xuất phương pháp tổng quát thực hiện MHCTCT khóa bất đối xứng dựa trên giao thức ba bước Shamir sử dụng các thuật toán mã hóa có tính chất giao hoán kết hợp với cách thức mã hóa xác suất Trên cơ sở phương pháp tổng quát này, đề xuất ba giao thức MHCTCT cụ thể sử dụng các hệ mật khác nhau, các giao thức đề xuất được chứng minh đầy đủ các tính chất của một giao thức MHCTCT
- Đề xuất phương pháp thực hiện MHCTCT khóa đối xứng dựa trên mã khối, bằng cách sử dụng mã khối kết hợp với thuật toán giải hệ phương trình đồng dư Phương pháp đề xuất được được chứng minh đầy đủ các tính chất của một giao thức MHCTCT
Trang 162 Về mặt ứng dụng mật mã, Luận án đề xuất ba giao thức và một lược
đồ MHCTCT cụ thể với các đặc tính kỹ thuật khác nhau phù hợp cho các ngữ cảnh truyền tin khác nhau, cụ thể:
Ba giao thức MHCTCT khóa bất đối xứng dựa trên giao thức ba bước Shamir, sử dụng các thuật toán mã hóa giao hoán:
- Giao thức MHCTCT sử dụng thuật toán mã hóa khóa bất đối xứng giữ bí mật khóa Pohlig-Hellman
- Giao thức MHCTCT sử dụng thuật toán mã hóa khóa bất đối xứng giữ bí mật khóa SRA
- Giao thức MHCTCT sử dụng mã hóa khóa bí mật dùng một lần Vernam kết hợp thuật toán mã hóa khóa công khai ElGamal
Một lược đồ MHCTCT khóa đối xứng dựa trên mã khối:
- Lược đồ MHCTCT dựa trên mã khối, thực hiện theo cách kết hợp mã khối với thuật toán giải hệ phương trình đồng dư
Ý nghĩa thực tiễn:
Các giao thức và lược đồ MHCTCT được đề xuất trong luận án sử
dụng các thuật toán mã hóa thông dụng và an toàn, đáp ứng yêu cầu về tính đúng đắn, an toàn và chối từ của một lược đồ MHCTCT, có khả năng ứng dụng trong thực tiễn truyền tin mật
7 C ấu trúc của Luận án
Ngoài phần mở đầu, kết luận, tài liệu tham khảo, danh mục từ viết tắt
và các ký hiệu toán học, bảng đối chiếu thuật ngữ, danh mục bảng, danh mục hình vẽ, nội dung chính của Luận án gồm 3 chương sau đây
Chương 1 Tổng quan về mã hóa có thể chối từ
Tổng quan về MHCTCT, ứng dụng của MHCTCT; định nghĩa cơ bản phân loại MHCTCT, tính chất của một giao thức MHCTCT; tổng quan về tình hình nghiên cứu MHCTCT trong nước và quốc tế từ trước đến nay; nghiên cứu tổng hợp cách thức tổng quát thực hiện gài đặt MHCTCT dựa trên
mã hóa xác suất; đề xuất nội dung nghiên cứu của Luận án
Trang 17Chương 2 Đề xuất phương pháp mã hóa có thể chối từ dựa trên giao thức ba bước Shamir
Phân tích quá trình mã hóa bằng giao thức ba bước Shamir với quá trình mã hóa không cần trao đổi khóa trước; Sử dụng thuật toán mã hóa giao hoán để thực hiện giao thức Shamir; Đề xuất phương pháp tổng quát thực hiện MHCTCT dựa trên giao thức ba bước Shamir với cách thức mã hóa xác suất; Đề xuất ba giao thức MHCTCT cụ thể sử dụng các hệ mật khác nhau;
Chứng minh tính đúng đắn, an toàn, chối từ của các giao thức đề xuất (Nội
dung này được đăng trên các bài báo CT1, CT4, CT5, CT7)
Chương 3 Đề xuất phương pháp mã hóa có thể chối từ dựa trên mã khối
Phân tích các lược đồ mã hóa xác suất dựa trên mã khối và ứng dụng để
đề xuất phương pháp MHCTCT dựa trên mã khối với cách thức mã hóa xác suất; Đề xuất lược đồ MHCTCT dựa trên lược đồ mã hóa xác suất dựa trên
mã khối bằng cách sử dụng mã khối kết hợp với thuật toán giải hệ phương trình đồng dư; Chứng minh tính đúng đắn, an toàn và chối từ của lược đồ đề
xuất (Nội dung này được đăng trên các bài báo CT2, CT3, CT6, CT8)
Trang 18Chương 1 TỔNG QUAN VỀ MÃ HÓA CÓ THỂ CHỐI TỪ 1.1 Tổng quan về mã hóa có thể chối từ
1.1.1 Khái niệm mã hóa có thể chối từ
Trong mật mã hiện đại, việc sử dụng mã hóa xác suất nhằm đạt được an toàn ngữ nghĩa [29] là yêu cầu an toàn quan trọng nhằm chống lại một số
dạng tấn công mật mã [11, 19, 57, 61] Về cơ bản, an toàn ngữ nghĩa có nghĩa
rằng việc thu được bản mã trên kênh truyền không giúp kẻ tấn công có thêm được thông tin gì về bản rõ, khóa mã và quá trình mã hóa Để một hệ mật đạt được an toàn ngữ nghĩa trước hết nó phải là một hệ mã hóa xác suất Thông thường, để mã hóa có tính xác suất, thuật toán mã hóa sẽ sử dụng khóa mã dùng một lần hoặc sử dụng thêm một tham số ngẫu nhiên cục bộ ở mỗi lần mã hóa Với việc sử dụng kênh truyền công cộng để truyền tin mật phổ biến hiện nay, ĐPTC có khả năng chặn thu được các bản mã và theo dõi được toàn bộ quá trình truyền tin Do vậy việc đảm bảo an toàn của quá trình truyền tin phụ thuộc vào việc bảo mật khóa mã và tham số ngẫu nhiên cục bộ
Nhưng, trong một kịch bản tấn công: nếu ĐPTC có thẩm quyền ép
buộc các bên truyền tin tiết lộ khóa mã, thuật toán mã dịch và các tham số bí mật khác dùng trong quá trình mã dịch, lúc này tính an toàn của quá trình truyền tin không còn nữa Trong các hệ mật thông dụng hiện nay, mỗi bản mã khi giải mã chỉ cho một bản rõ phù hợp với khóa mã sử dụng Liệu rằng có
một cách nào để trình ra một bản rõ giả mạo vô hại (cùng khóa giả mạo) phù hợp với bản mã mà ĐPTC có trong tay? Từ câu hỏi này, Cannetti cùng các cộng sự trong công trình [10] đã đề xuất một cài đặt mã hóa đặc thù khác với
mã hóa thông thường Với kịch bản trong đó A truyền tin mật cho B, sau khi bản mã được truyền đi ĐPTC E thu được bản mã, có sức mạnh tiếp cận và
thẩm quyền cưỡng ép A (hoặc B, hoặc cả hai) trình ra tất cả những thông tin
bí mật gồm: bản rõ, khóa mã, thuật toán mã dịch, các tham số bí mật khác dùng trong quá trình mã hóa Trong trường hợp E không có quyền truy cập
Trang 19vật lý trực tiếp vào bộ nhớ của thiết bị mật mã, hoặc thiết bị mật mã có cơ chế
tự vệ an toàn khi E cố ý truy xuất trực tiếp bộ nhớ vật lý A (hoặc B) hoàn
toàn có thể trình ra bản rõ giả mạo, khóa mã giả mạo, tham số ngẫu nhiên giả
mạo phù hợp với bản mã và thuật toán mã dịch để bảo vệ cho bản tin thật
Lược đồ mã hóa có tính chất mà từ một bản mã có thể giải mã thành hai
bản rõ khác nhau (đều có ý nghĩa - trong đó có một bản rõ thực sự có nội dung cần truyền tải) gọi là lược đồ mã hóa có thể chối từ [10]
Lược đồ MHCTCT được mô tả sơ lược như sau:
Giả sử, A cần gửi thông điệp mật m1 cho B và ngụy trang bằng một thông điệp giả mạo m2 (có cùng kích thước):
MHCTCT khóa bí m ật
1 A mã hóa: cE m k r( , , )1 1 E m k r( , , ),2 2 với E là thuật toán mã hóa, k
là khóa mã, r1 là ngẫu nhiên bí mật, r2 ngẫu nhiên giả mạo
2 B nhận được bản mã ,c B giải mã ở chế độ truyền tin mật để khôi
phục thông điệp mật m1 D c k r( , , ) 1 , với D là thuật toán giải mã
3 Trong trường hợp A hoặc B hoặc cả hai bên A, B bị tấn công cưỡng
ép A hoặc B hoặc cả A, B sẽ trình ra khóa mã k, ngẫu nhiên giả mạo r2 , bản
mã cE m k r( , , )2 2 và thông điệp giả mạo:m2 D c k r( , , ) 2
MHCTCT khóa công khai
1 A sử dụng khóa công khai của B là pk B mã hóa:
2 B nhận được bản mã ,c B giải mã ở chế độ truyền tin mật để khôi
phục thông điệp mật m1 D c r sk( , ,B1 B), với D là thuật toán giải mã, sk B là khóa riêng của B, r B1 là ngẫu nhiên cục bộ bí mật của B dùng để giải mã ứng với bản rõ mà A sử dụng r A để mã hóa
Trang 203 Trong trường hợp A hoặc B hoặc cả hai bên bị cưỡng ép (ĐPTC đã
có trong tay bản mã c) A sẽ trình ra ngẫu nhiên giả mạo r A2, thông điệp giả
mạo m2 hoàn toàn phù hợp với bản mã c E m r pk ( , ,2 A2 B) B sẽ trình ra r B2
dùng để giải mã để có thông điệp giả mạo m2 D c r sk( , ,B2 B) hoàn toàn ăn khớp với bản mã c E m r pk ( , ,2 A2 B) Ở đây r B2 là ngẫu nhiên cục bộ giả mạo của B
1.1.2 Ứng dụng của mã hóa có thể chối từ
- MHCTCT là giải pháp mật mã chống lại tấn công cưỡng ép, tạo thêm một lớp bảo vệ trong truyền tin mật [10, 65]
- MHCTCT có thể ứng dụng để ngăn chặn sự ép buộc gian lận hoặc thông đồng nội dung trong các lược đồ bỏ phiếu hoặc đấu giá điện tử [32, 33, 46], chống việc đưa hối lộ để đổi lấy bằng chứng về nội dung phiếu bầu cùng bản mã tương ứng, như trong các bài toán chống cưỡng ép trong bỏ phiếu đã được nghiên cứu trước đây [7, 24, 42, 46, 66], với đặc tính từ một bản mã cho phép giải mã ra hai bản rõ hợp lý khác nhau thì kẻ cưỡng ép hoặc kẻ lôi kéo
việc thông đồng sẽ không thể chắc chắn được rằng đối tác có thực sự chọn bản rõ theo ý đồ của họ để mã hóa và truyền đi hay không Ứng dụng khác là các giao thức tính toán đa bên theo cách không thể cưỡng ép, hoặc ứng dụng
để đảm bảo an toàn cho giao thức tính toán đa bên, khi có sự hiện diện của ĐPTC thích nghi (đối phương ẩn dưới vị thế là thành phần tham gia quá trình tính toán đa bên) [9, 72]
- Một ứng dụng quan trọng của MHCTCT khóa bí mật là nhằm bảo vệ thông tin, chống lại tấn công cưỡng ép hoặc tấn công truy cập trái phép vào máy tính và các hệ thống lưu trữ dữ liệu [16, 23, 36, 71]
1.1.3 Khái niệm không phân biệt được về mặt tính toán
Trang 21Một hàm không đáng kể quan trọng thường được sử dụng là: 2n
[41]
Định nghĩa 1.2 [10]: không phân biệt được về mặt tính toán
Cho X = X n n và Y = Y n n là hai tập phân bố xác suất và
: 0,1
Chúng ta nói X và Y là không phân biệt được về mặt tính toán ( ký hiệu X Yc ), nếu với mọi bộ phân biệt thời gian đa thức D và n đủ lớn, ta có: Prob( (D X n) 1) Prob( ( ) 1) D Y n n , với ( ) n là hàm không đáng kể
Trong đó X n và Y n có thể là các đại lượng ngẫu nhiên
1.1.4 Tính đúng đắn, an toàn, chối từ của mã hóa có thể chối từ
MHCTCT cần đáp ứng 3 tính chất: đúng đắn, an toàn và chối từ [10]:
a) Tính đúng đắn của việc mã hóa và giải mã
Bên nhận luôn giải mã khôi phục được chính xác thông điệp do bên gửi
mã hóa và truyền sang bên nhận
b) Tính an toàn
An toàn cho mục đích chối từ: Một lược đồ MHCTCT thỏa mãn tính
chất an toàn khi mà bản mã của quá trình mã hóa thông điệp bí mật m1 không phân biệt được về mặt tính toán với bản mã của quá trình mã hóa thông điệp giả mạo m2[10]
An toàn về mật mã: MHCTCT cũng là một phương pháp mật mã để
truyền tin, do vậy đương nhiên cần đảm bảo an toàn về mật mã, khi xét đến
độ an toàn của một hệ mật, có hai quan niệm chính về độ an toàn [45], đó là:
+ An toàn không điều kiện (unconditional security): là độ an toàn xem
xét dưới điều kiện ĐPTC không có giới hạn về năng lực tính toán, đây là cơ
sở Shannon đưa ra khái niệm độ an toàn hoàn hảo (perfect secrecy) [67] Một
hệ mật có độ an toàn hoàn hảo nếu ĐPTC không có giới hạn về năng lực tính toán, khi có trong tay bản mã, cũng không phát hiện thêm được thông tin gì
về bản rõ Mật mã học hiện đại ngày nay không đi theo hướng thiết kế các hệ
Trang 22mật có độ an toàn không điều kiện Hầu hết các hệ mật đều được đánh giá về
độ an toàn theo khái niệm độ an toàn tính toán
+ An toàn tính toán (computational security): hệ mật có độ an toàn tính toán nếu phương pháp tối ưu nhất phá được hệ mật với thời gian tính toán lớn đến mức không thể chấp nhận được Do cần lượng hóa khái niệm này, dẫn
đến khái niệm độ an toàn ngữ nghĩa (semantical security) hay độ an toàn chứng minh được (provable security) Trong [29] Goldwasser và Micali định nghĩa một hệ mật được gọi là an toàn ngữ nghĩa nếu với một bản mã c cho trước của một bản rõ m nào đó (chưa biết trong không gian bản rõ) có cùng
kích thước của bản rõ, xác suất để ĐPTC xác định được bất kỳ một phần
thông tin nào của m trong thời gian đa thức là hàm không đáng kể
An toàn ngữ nghĩa có ý nghĩa thực tế rất lớn trong mật mã nhưng lại chưa có công cụ tường minh để đánh giá Trong [29] Goldwasser và Micali đã
có một chứng minh quan trọng và có tính ứng dụng thực tiễn rất lớn, đó là độ
an toàn ngữ nghĩa tương đương với độ an toàn không thể phân biệt
(indistinguishability security) khi đánh giá độ an toàn của hệ mật trong chống lại những tấn công nghe lén hoặc tấn công lựa chọn bản rõ [28, 29, 41]
c) Tính chối từ
- Tính chối từ thuyết phục về quá trình thực hiện giao thức [10, 65]:
quá trình mã dịch khi hai bên mã hóa thông điệp bí mật m1 không phân biệt được về mặt tính toán với quá trình mã dịch khi hai bên mã hóa thông điệp giả mạo m2 Cụ thể, sau khi bản mã được gửi đi (bản mã này là đầu ra của quá trình mã hóa thông điệp bí mật), ĐPTC chặn thu được bản mã và tiến hành cưỡng ép Các bên trình ra thông điệp giả mạo, khóa mã, thuật toán mã dịch và trình diễn lại quá trình mã dịch, toàn bộ quá trình này phải hoàn toàn phù hợp với bản mã đang có trong tay đối phương Đối phương không có khả năng chứng minh sự bất hợp lý của tiến trình và kết quả đầu ra với bản mã đang có trong tay đối phương Tức là, khi chối từ bên gửi, tồn tại một bộ tham
số giả mạo (hoặt thuật toán giả mạo) để thực hiện việc mã hóa thông điệp giả
Trang 23mạo tạo ra bản mã không phân biệt được về mặt tính toán với bản mã tạo ra từ quá trình mã hóa thông điệp bí mật bằng bộ tham số bí mật (hoặc thuật toán bí mật mà bên gửi đã thật sự dùng để mã hóa) Khi chối từ bên nhận, tồn tại một
bộ tham số giả mạo (hoặc thuật toán giả mạo) thực hiện giải mã bản mã (do bên gửi mã hóa thông điệp bí mật truyền đi và ĐPTC đã chặn thu được) khôi phục thông điệp giả mạo phù hợp với bản mã, khóa mã và thuật toán trình ra
- Tính chối từ thuyết phục về mặt nội dung [6, 62]: nội dung thông điệp
giả mạo phải có ý nghĩa phù hợp với ngữ cảnh truyền tin và tính thời sự
1.1.5 Một số định nghĩa phân loại lược đồ mã hóa có thể chối từ
Các lược đồ MHCTCT được phân loại theo các tiêu chí: khóa sử dụng, thuật toán mã hóa, vị trí bên bị tấn công cưỡng ép, đặc tính chối từ [10]
Phân loại lược đồ MHCTCT thông dụng nhất là theo khóa sử dụng:
gồm lược đồ MHCTCT khóa bí mật (shared-key deniable encryption) và lược
đồ MHCTCT khóa công khai (public-key deniable encryption) Do lược đồ
mã hóa khóa bí mật đòi hỏi hai bên phải có sự trao đổi khóa trước khi thực
hiện truyền tin Như trong hệ mã dòng dùng khóa OTP: bản mã cm1 k1 ,với m1 : chuỗi bit thông điệp bí mật, k1 :chuỗi bit khóa ngẫu nhiên dùng một
lần Nếu muốn chối từ bằng thông điệp giả mạo m2, thì khóa giả mạo k2 sẽ
phải được tạo một cách có chủ ý từ c m, 2 : k2 c m2. Như vậy, hai bên phải dàn xếp trước thông điệp giả mạo m2 , ngoài việc phức tạp phân phối khóa và thông điệp giả mạo trước khi truyền tin Lược đồ này còn bị hạn chế về tính linh hoạt về đáp án chối từ, bởi hai bên không thể dự đoán được thời điểm nào
họ bị tấn công cưỡng ép Do vậy thông điệp giả mạo dàn xếp trước có thể không phù hợp về tính thời sự tại thời điểm bị cưỡng ép Với lược đồ MHCTCT khóa công khai, ngoài ưu điểm hai bên không cần quá trình tương tác trước khi thực hiện phiên truyền tin mật, hai bên cũng có thể quyết định đáp án chối từ tại thời điểm bị cưỡng ép, việc thực hiện chối từ được thực hiện theo cách “bắt đầu từ đầu” làm tăng tính linh hoạt cho các bên trong
Trang 24chọn đáp án chối từ Do vậy đa phần các lược đồ MHCTCT đã công bố trong các công trình trước đây thường sử dụng hệ mã hóa khóa công khai
Cách phân loại thông dụng thứ hai là theo vị trí bên bị cưỡng ép, gồm có: lược đồ MHCTCT chối từ bên gửi (sender-deniable encryption), lược đồ
MHCTCT chối từ bên nhận (receiver-deniable encryption), lược đồ MHCTCT chối từ bên gửi hoặc bên nhận (sender or receiver deniable
encryption), lược đồ MHCTCT chối từ đồng thời hai bên (bi-deniable
Chối từ hai bên, chống lại tấn công cưỡng ép đồng thời hai bên, thông điệp giả mạo hai bên trình ra là giống nhau
Thời điểm quyết định đáp án chối từ cũng là yếu tố quan trọng trong việc thiết kế các lược đồ MHCTCT, lược đồ mà đáp án chối từ được xác lập
tại thời điểm lập mã được gọi là chối từ kế hoạch trước (plan-ahead deniable
encryption), lược đồ mà đáp án chối từ được xác lập tại thời điểm bị cưỡng ép
được gọi là lược đồ chối từ tự thiết lập (ad-hoc deniable) [12]
Một phân loại nữa là dựa vào việc sử dụng một hay hai thuật toán trong quá trình truyền tin Lược đồ mà hai bên dùng một thuật toán ở cả chế độ mã
hóa truyền tin mật và chế độ chối từ khi bị cưỡng ép (với bộ tham số khác
nhau) gọi là lược đồ MHCTCT hoàn toàn (fully-deniable encryption) Lược
đồ mà hai bên dùng hai thuật toán, một thuật toán giả mạo trình ra cho kẻ tấn công ở chế độ chối từ khi bị cưỡng ép và một thuật toán bí mật mà hai bên
Trang 25thực sự dùng ở chế độ mã hóa truyền tin mật, lược đồ này được gọi là MHCTCT linh hoạt (flexible-deniable encryption) [65]
Một số định nghĩa quan trọng về các loại lược đồ MHCTCT sử dụng trong Luận án được trình bày chi tiết ở phần kế tiếp
Các ký hiệu sau được sử dụng thống nhất trong các định nghĩa:
- m1 là thông điệp bí mật, m2 là thông điệp giả mạo, r A là giá trị ngẫu nhiên cục bộ của bên gửi A, r B là giá trị ngẫu nhiên cục bộ của bên nhận B, c
là bản mã truyền giữa hai bên trên kênh truyền công cộng; là thuật toán giả
mạo sử dụng đầu vào là thông điệp bí mật, thông điệp giả mạo, bản mã và giá trị ngẫu nhiên đã sử dụng tạo ra giá trị ngẫu nhiên giả mạo.
- M là tập tất cả các thông điệp có thể được gửi đi từ A đến B
- ( Gen Enc Dec, , ) là giao thức bảo mật thông điệp m M , gồm các
thủ tục tạo khóa Gen, thủ tục mã hóa Enc, thủ tục giải mã Dec
- COM m r r( , , )A B biểu diễn quá trình mã hóa thông điệp m mà A gửi cho B, dùng r A là giá trị ngẫu nhiên của A và r B là giá trị ngẫu nhiên của B
- COM m( ) biểu diễn COM m r r( , , )A B trong trường hợp r A và r B được lựa chọn một cách ngẫu nhiên đều và độc lập nhau
1.1.5.1 Mã hóa có th ể chối từ khóa công khai
Định nghĩa 1.3 [10]: giao thức mã hóa khóa công khai có thể chối từ bên gửi
Một giao thức mã hóa khóa công khai với bên gửi A, bên nhận B và tham số an toàn n , được gọi là một giao thức mã hóa khóa công khai có thể chối từ bên gửi nếu thỏa mãn:
Tính đúng đắn: Bên nhận luôn giải mã khôi phục được đúng đắn bản
rõ do bên gửi mã hóa và truyền sang bên nhận
Tính an toàn : Với m m1, 2M, thỏa mãn COM m( )1 c COM m( )2
Trang 26Tính chối từ: Tồn tại một thuật toán giả mạo hiệu quả sử dụng các tham số m m1 , 2 M cùng các tham số r r A, B được hai bên lựa chọn ngẫu nhiên đều và độc lập làm đầu vào, với bản mã cCOM m r r( , , ) 1 A B và tham số
Như vậy, ( , ,m r COM m r r2 A ( , , )) 2 A B là nhận thức của đối phương về việc
A mã hóa bản tin giả mạo m2 bằng giao thức mã hóa ( , , )m r c2 A là nhận
thức của ĐPTC khi thu được bản mã cCOM m r r( , , ) 1 A B (do A mã hóa m1 và
gửi cho B qua kênh truyền), tiến hành ép buộc A, được A trình ra một trình diễn của quá trình mã hóa với c là bản mã đầu ra của tiến trình mã hóa thông điệp m2 Định nghĩa làm rõ đối phương không phân biệt được về mặt tính toán quá trình mã hóa thông điệp bí mật m1 sử dụng r A với quá trình mã hóa thông điệp giả mạo m2 sử dụng r A.
Định nghĩa 1.4 [10]: giao thức mã hóa khóa công khai có thể chối từ bên nhận
Một giao thức mã hóa khóa công khai với bên gửi A, bên nhận B và tham số an toàn n , được gọi là một giao thức mã hóa khóa công khai có thể chối từ bên nhận nếu thỏa mãn có tính đúng đắn, tính an toàn giống như Định nghĩa 1.3 và có:
Tính chối từ: Tồn tại một thuật toán giả mạo hiệu quả sử dụng các tham số m m1 , 2 M cùng các tham số r r A, B được hai bên lựa chọn ngẫu nhiên đều và độc lập làm đầu vào, với bản mã cCOM m r r( , , ), 1 A B và tham số
Trang 27chối từ đồng thời hai bên nếu thỏa mãn có tính đúng đắn, tính an toàn giống như Định nghĩa 1.3 và có:
Tính chối từ: Tồn tại hai thuật toán giả mạo hiệu quả A, B sử dụng các tham số m m1 , 2 M cùng các tham số r r A, B được hai bên lựa chọn ngẫu nhiên đều và độc lập làm đầu vào, với bản mã cCOM m r r( , , ), 1 A B và các tham số r AA( , , ,m r c m1 A 2 ),r B B( , , ,m r c m1 B 2 ), khi đó:
( , , , ) ( , , ,m r r c A B c m r r COM m r r A B ( , , )).A B
1.1.5.2 Mã hóa có thể chối từ khóa bất đối xứng giữ bí mật khóa
Đa phần các hệ mật khóa bất đối xứng cũng là hệ mật khóa công khai, tuy nhiên có một số hệ mật khóa bất đối xứng đặc biệt có tính chất giữ bí mật khóa (như hệ mật Pohlig-Hellman hoặc hệ mật SRA) Định nghĩa 1.6 về giao thức mã hóa khóa bất đối xứng giữ bí mật khóa có thể chối từ đồng thời hai bên được phát biểu dựa vào Định nghĩa 1.5 như sau:
Định nghĩa 1.6: giao thức mã hóa khóa bất đối xứng giữ bí mật khóa có thể chối từ đồng thời hai bên
Một giao thức mã hóa khóa bất đối xứng giữ bí mật khóa với bên gửi A, bên nhận B và tham số an toàn n , được gọi là một giao thức mã hóa khóa bất đối xứng giữ bí mật khóa có thể chối từ đồng thời hai bên nếu thỏa mãn có tính đúng đắn, tính an toàn giống như Định nghĩa 1.3 và có:
Tính chối từ: Tồn tại hai thuật toán giả mạo hiệu quả A, B sử dụng các tham số m m1 , 2 M cùng các tham số r r A, B được hai bên lựa chọn ngẫu nhiên đều và độc lập làm đầu vào, với bản mã cCOM m r r( , , ), 1 A B và các tham số r AA( , , ,m r c m1 A 2 ),r B B( , , ,m r c m1 B 2 ), khi đó:
( , , , ) ( , , ,m r r c A B c m r r COM m r r A B ( , , )).A B
1.1.5.3 Mã hóa có thể chối từ khóa bí mật
Trong lược đồ MHCTCT khóa bí mật, bên gửi và bên nhận chia sẻ một khóa bí mật ngẫu nhiên mà đối phương không có thông tin tiên nghiệm nào
Trang 28Do đó, các bên cũng có thể đưa cho đối phương một khóa bí mật giả mạo, cùng với các giá trị ngẫu nhiên cục bộ giả mạo Quá trình mã hóa và giải mã giữa hai bên phụ thuộc vào khóa bí mật ,k và được ký hiệu
Tính đúng đắn: Bên nhận luôn giải mã khôi phục được đúng đắn bản
rõ do bên gửi mã hóa và truyền sang bên nhận
Tính an toàn : Với m m1 , 2 M và với một khóa bí mật k được chọn ngẫu nhiên, thỏa mãn:
Trang 29Định nghĩa 1.8: giao thức mã hóa khóa bí mật có thể chối từ bên nhận
Một giao thức mã hóa khóa bí mật với bên gửi A, bên nhận B và tham số bí mật n được gọi là một giao thức mã hóa khóa bí mật có thể chối từ bên nhận nếu thỏa mãn tính đúng đắn, tính an toàn giống như Định nghĩa 1.7
và có:
Tính chối từ: Tồn tại một thuật toán giả mạo hiệu quả sử dụng các tham số m m1 , 2 M cùng với các tham số k r r, ,A B được hai bên chọn thống nhất làm đầu vào của hai bên, với bản mã cCOM m k r r( , , , ) 1 A B và các tham
số ( , )k r B ( , , , , ),m k r c m1 B 2 khi đó:
( , , , ) ( , , ,m k r c B c m k r COM m k r r B ( , , , )).A B
Định nghĩa 1.9: giao thức mã hóa khóa bí mật có thể chối từ đồng
th ời hai bên
Một giao thức mã hóa khóa bí mật với bên gửi A, bên nhận B và tham số bí mật n được gọi là một giao thức mã hóa khóa bí mật có thể chối từ đồng thời hai bên nếu thỏa mãn có tính đúng đắn, tính an toàn giống như Định nghĩa 1.6 và có:
Tính chối từ: Tồn tại hai thuật toán giả mạo hiệu quả A, B sử dụng các tham số m m1 , 2 M cùng với các tham số k r r, ,A B được hai bên chọn thống nhất làm đầu vào của hai bên, với bản mã cCOM m k r r( , , , ) 1 A B và các tham số ( , )k r A A( , , , , ),m k r c m1 A 2 ( , )k r B B( , , , , ),m k r c m1 B 2 khi đó:
( , , , , ) ( , , , ,m k r r c A B c m k r r COM m k r r A B ( , , , )).A B
Định nghĩa 1.10 về giao thức mã hóa khóa bí mật có thể chối từ linh hoạt đồng thời hai bên được phát biểu dựa vào định nghĩa định nghĩa 1.5 về giao thức mã hóa khóa công khai có thể chối từ đồng thời hai bên, định nghĩa 1.7 về giao thức mã hóa khóa bí mật có thể chối từ bên gửi bên trên và dựa vào định nghĩa về giao thức mã hóa khóa công khai có thể chối linh hoạt bên gửi trong [10]:
Trang 30Định nghĩa 1.10: giao thức mã hóa khóa bí mật có thể chối từ linh hoạt đồng thời hai bên
Một giao thức mã hóa khóa bí mật với bên gửi A và bên nhận B, sử dụng một bit trạng thái P (với hai trạng thái ký hiệu P P T, C ) và tham số bí mật
,
n được gọi là là một giao thức mã hóa khóa bí mật có thể chối từ linh hoạt đồng thời hai bên nếu thỏa mãn:
Tính đúng đắn: Bên nhận luôn giải mã khôi phục được đúng đắn bản
rõ do bên gửi mã hóa và truyền sang bên nhận
Tính an toàn : Với m m1 , 2 M và bất kỳ bit trạng thái P { , }P P T C và một khóa bí mật ngẫu nhiên , k ta có:
Trang 31Trong truyền thông hiện nay, môi trường truyền tin mật đa phần sử
dụng kênh truyền công cộng, do vậy việc bị tấn công nghe lén chặn thu bản
mã trên kênh truyền là rất phổ biến Kiểu tấn công như vậy trong mã hóa thông thường được thể hiện trong hình 1.1
Hình 1.2 Mô hình tấn công cưỡng ép trong mã hóa thông thường
Mã hóa thông thường không có khả năng an toàn khi bị tấn công cưỡng
ép, trong kịch bản mà đối phương có đủ thẩm quyền cưỡng ép các bên phải trình ra bản rõ, khóa mã và thuật toán mã dịch đã sử dụng (hình 1.2)
Bên gửi
Kẻ tấn công
Bên nhận
Thông điệp mật
Thông điệp mật
Thông điệp giả
Thông điệp giả
Thông điệp giả
K giả
Mã hóa
K giả
Giải mã Kênh truyền công cộng
Hình 1.3 Mô hình tấn công cưỡng ép trong MHCTCT
Trang 32Cũng như mã hóa thông thường, MHCTCT cũng cần phải đảm bảo an toàn khi bị tấn công nghe lén Nhưng đặc trưng quan trọng nhất của MHCTCT là nó phải đảm bảo an toàn khi bị tấn công cưỡng ép Ngữ cảnh tấn công cưỡng ép như sau:
1 Đối phương đã chặn được bản mã gửi trên kênh truyền
2 Đối phương cưỡng ép các bên sau khi bản mã đã được gửi/nhận
3 Mỗi bên hoặc cả hai bên đều buộc phải trình ra: thông điệp rõ, khóa
mã bí mật sử dụng, thuật toán mã dịch và chứng minh các thành phần này phù hợp với bản mã có trong tay đối phương
Phân lo ại các kiểu tấn công cưỡng ép trong MHCTCT:
Phân loại theo bên truyền tin bị đối phương cưỡng ép, có các kiểu tấn công: cưỡng ép bên gửi, cưỡng ép bên nhận, cưỡng ép đồng thời hai bên
Phân loại theo cách thức đối phương tiến hành tấn công vào giao thức MHCTCT, có hai dạng tấn công: tấn công bị động và tấn công chủ động:
- T ấn công bị động: sau khi bản mã được gửi, đối phương chặn thu
được bản mã trên kênh truyền và tiến hành cưỡng ép ĐPTC cưỡng ép mỗi bên (hoặc cả hai bên) phải trình ra thuật toán mã hóa và các tham số bí mật phù hợp với bản mã đang có trong tay ĐPTC
- Tấn công chủ động: đối phương giả mạo là một bên truyền tin và sau
quá trình giả mạo, đối phương có thể tiếp tục cưỡng ép bên còn lại
1.1.7 Thẩm quyền của đối phương khi thực hiện cưỡng ép
Đối với bên nhận (ngữ cảnh tấn công cưỡng ép bên nhận): đối phương
có thẩm quyền cưỡng ép bên nhận phải trình ra: thuật toán giải mã, khóa bí mật, bản rõ đầu ra của thuật toán giải mã khi đầu vào là bản mã có trong tay đối phương
Đối với bên gửi (ngữ cảnh tấn công cưỡng ép bên gửi): đối phương có
thẩm quyền cưỡng ép bên gửi phải trình ra: bản rõ, thuật toán mã hóa, khóa bí mật, bản mã đầu ra của thuật toán mã hóa
Trang 33Đối với đồng thời hai bên (ngữ cảnh tấn công cưỡng ép đồng thời hai bên): đối phương có thẩm quyền cưỡng ép bên gửi trình ra: bản rõ, thuật toán
mã hóa, khóa mã, bản mã đầu ra của thuật toán mã hóa đồng thời cưỡng ép bên nhận trình ra: thuật toán giải mã, khóa giải mã, bản rõ đầu ra của thuật toán giải mã khi đầu vào là bản mã mà đối phương đưa cho bên nhận
Luôn có giả thiết hợp lý với thực tế là: các bên sử dụng tệp thực thi chương trình mã dịch hoặc thiết bị mật mã đã cứng hóa, ĐPTC không thể tiếp cận được tệp mã nguồn chương trình và không thể thực hiện biên dịch ngược tệp thực thi ra tệp mã nguồn chương trình Khi bị cưỡng ép, các bên chỉ trình
ra cho ĐPTC thiết kế của thuật toán mã dịch
1.2 Các hướng nghiên cứu về mã hóa có thể chối từ
1.2.1 Các công trình nghiên cứu về mà hóa có thể chối từ
MHCTCT và khả năng ứng dụng được chú ý từ công trình của Beaver [6] khi đưa ra khái niệm lược đồ mã hóa không cam kết và đề xuất khả năng ứng dụng trong đấu thầu điện tử [11] Các công trình nghiên cứu và các lược
đồ MHCTCT về sau đều dựa trên những khái niệm được Canetti và cộng sự đưa ra vào năm 1997 [10] Trong [10], nhóm tác giả định nghĩa về lược đồ MHCTCT; yêu cầu đặt ra về tính đúng đắn, an toàn, chối từ của một lược đồ MHCTCT; đặc trưng và phân loại theo các tiêu chí cơ bản của các loại lược
đồ MHCTCT Nhóm tác giả cũng đề xuất một lược đồ thực thi minh họa MHCTCT theo cách thức mã hóa từng bit một
Các nghiên cứu về MHCTCT tập trung vào hai hướng chính, đó là MHCTCT khóa công khai và MHCTCT khóa bí mật:
V ề mã hóa có thể chối từ khóa công khai:
Do ưu điểm của tính linh hoạt và không cần tương tác trước của lược
đồ mã hóa khóa công khai, các nghiên cứu triển khai MHCTCT đa phần đều
sử dụng hệ mật khóa công khai, cụ thể:
Klonowski và cộng sự [43] vào năm 2008 đã công bố một lược đồ sử dụng mã hóa khóa công khai ELGamal thực thi MHCTCT Năm 2009,
Trang 34Ibrahim đã đề xuất hai lược đồ MHCTCT, một lược đồ MHCTCT bên gửi linh hoạt [37] dựa trên các thặng dư bậc hai, một lược đồ MHCTCT bên nhận [39] dựa trên định danh dùng thuật toán Mediated RSA, tuy nhiên những lược
đồ này không có ý nghĩa nhiều về mặt ứng dụng, do chỉ mã hóa từng bit một Howlader và Basu [34] năm 2009 đã xây dựng một lược đồ mã hóa khóa công khai có thể chối từ bên gửi dựa trên mã hóa xác suất của Goldwasser và Micali [29] Gasti và cộng sự [23] năm 2010 đề xuất một lược đồ MHCTCT khóa công khai áp dụng trong mô hình lưu trữ dữ liệu kiểu điện toán đám mây với đáp án chối từ chuẩn bị trước Năm 2011, Dürmuth và Freeman [20] đề xuất một lược đồ MHCTCT bên gửi không cần tương tác trước giữa hai bên Tuy nhiên, một lỗ hổng của lược đồ họ đề xuất đã được Peikert và Waters phát hiện Vì vậy, lược đồ này không được sử dụng sau này O’Neill và cộng
sự [59] đã đề xuất hai lược đồ MHCTCT linh hoạt đồng thời hai bên: một lược đồ dựa trên lược đồ mã hóa có thể mô phỏng, lược đồ còn lại phát triển
dựa trên các nghiên cứu về lý thuyết lưới Euclid của Gentry và cộng sự [25] Bendlin và cộng sự [8] đã xây dựng lược đồ MHCTCT linh hoạt dựa trên đa
thức nghịch đảo, khi thực hiện chối từ bên nhận thì lược đồ này là mới, còn chối từ bên gửi thì lược đồ này chỉ là sự lặp lại mô hình của Canetti, lược đồ này không thực hiện được chối từ đồng thời hai bên Chong-zhi và cộng sự [14] năm 2012 cũng đã đề xuất một lược đồ MHCTCT bên gửi dựa trên đa
thức nghịch đảo có thể an toàn trước tấn công lựa chọn bản mã
Sahai và cộng sự [65] trong năm 2013 giới thiệu một kỹ thuật mới,
được gọi là các punctured programs, sử dụng để thực hiện phương pháp che
giấu thông tin mật không phân biệt được về mặt tính toán khi che giấu các thông tin giả mạo Cùng với quá trình thực hiện nghiên cứu này, họ tập trung vào giải quyết câu hỏi mở về MHCTCT, được đặt ra bởi Canetti và cộng sự vào năm 1997, đó là: trong MHCTCT, khi bên gửi bị ĐPTC cưỡng ép (đã có trong tay bản mã), buộc phải trình ra thuật toán và tham số ngẫu nhiên cục bộ dùng để mã hóa, có cách nào để có thể trình ra bất cứ thông điệp giả mạo nào
Trang 35phù hợp với thuật toán mã hóa, khóa mã và bản mã có trong tay đối phương?
Họ đã giải quyết câu hỏi đó bằng cách đưa ra cấu trúc MHCTCT mà không yêu cầu bất kỳ một tương tác trước nào của các bên Tuy nhiên lược đồ đề
xuất mới thực hiện được MHCTCT bên gửi
Tác giả Barakat [5] vào năm 2014 đã đề xuất xây dựng lược đồ mã hóa khóa công khai có thể chối từ bên gửi từ việc khắc phục các nhược điểm của các lược đồ đề xuất trước đó [34, 38] Phương pháp đề xuất được nhóm tác
giả chứng minh đảm bảo an toàn ngữ nghĩa với bài toán mật mã dựa trên các thặng dư bậc 2, tốc độ lập mã và giải mã cũng nhanh hơn các lược đồ trước
đó, tuy nhiên lược đồ mới chỉ dừng lại ở chối từ bên gửi
Năm 2014, Moldovyan và cộng sự [54] sử dụng hệ mật mã xác suất khóa công khai an toàn đã biết của Rabin để thực hiện MHCTCT Nhóm tác
giả đã đề xuất lược đồ MHCTCT bên gửi, bản mã được tính dựa vào hệ phương trình đồng dư đa thức bậc hai, mã hóa song song, một bản mã là của thông điệp giả mạo còn bản kia là của thông điệp bí mật Tiếp đó một số lược
đồ chối từ cụ thể khóa công khai khả thi về mặt thực hành được đề xuất tại [47, 50] Trong đó nhóm tác giả sử dụng hai thuật toán, một thuật toán bí mật thực hiện MHCTCT, một thuật toán giả mạo trình ra khi bị cưỡng ép, phương pháp đề xuất thỏa mãn tính không phân biệt được về mặt tính toán giữa bản
mã được tạo ra bởi thuật toán mã hóa giả mạo và bản mã tạo ra bởi thuật toán MHCTCT Giao thức đề xuất có thể thực hiện chối từ bên gửi hoặc bên nhận hoặc đồng thời hai bên Nhóm tác giả cũng đã đề cập tới việc xác thực hai bên trước khi truyền tin để chống lại tấn công giả mạo Tiếp tục hướng mã hóa khoá công khai có thể chối từ, trong các công trình [49, 52, 53, 56] được công
bố vào các năm 2016, 2017, Moldovyan và cộng sự đề xuất một số phương pháp mới trong thiết kế các giao thức MHCTCT: trong [53] đề xuất một phương pháp sử dụng thuật toán mã hóa khóa công khai xác suất tựa thuật toán RSA, đồng thời đề xuất ba lược đồ MHCTCT bên gửi, MHCTCT bên
nhận, MHCTCT hoặc bên gửi hoặc bên nhận Trong đó, để đảm bảo chối từ
Trang 36hai bên chống lại tấn công giả mạo, thủ tục xác thực được sử dụng trong các giao thức này Trong [52], nhóm tác giả đề xuất một giao thức MHCTCT thực
hiện chối từ đồng thời hai bên, sử dụng hạ tầng khóa công khai PKI để mã hóa, giao thức MHCTCT thực hiện theo cách hai bên không cần tương tác trước Trong [49, 56] đề xuất giao thức MHCTCT có tính thực thi cao dựa trên việc sử dụng thuật toán mã hóa giao hoán với quá trình mã hóa theo giao
thức ba bước Shamir
Năm 2018, trong [12] Canetti và các cộng sự đã phát triển mô hình chối
từ đầy đủ hai bên, và đưa ra khái niệm “chối từ ngoài hồ sơ”, theo đó mô hình này cho phép khi bị truy vấn, bên gửi đưa ra một bản rõ, bên nhận đưa ra một
bản rõ khác thì người truy vấn không có cách nào chứng minh ai đang nói dối
hoặc cả hai đang nói dối Mô hình này rất hữu ích trong mô hình mạng tính toán đa bên, mà các bên cần chối từ nội dung lẫn nhau hoặc một bên cần chối
từ nội dung với các bên còn lại (như ứng dụng đấu thầu điện tử - nhằm chống
lại việc thông thầu) Tuy nhiên, mô hình này không áp dụng cho ngữ cảnh truyền tin mật và cần chống lại tấn công cưỡng ép
V ề mã hóa có thể chối từ khóa bí mật:
Tác giả Anderson và cộng sự [3] năm 1998 đề xuất cách lưu trữ hai hệ
thống tệp để có thể ngụy trang và thực hiện chối từ Đề xuất này được phát triển và thực thi trong các hệ thống lưu trữ ngụy trang dữ liệu có thể chối từ,
và các cải tiến sau này được thực hiện trong [16, 36, 44, 71]
Trong [48] nhóm tác giả đề xuất phương pháp MHCTCT sử dụng hệ
mã dòng Phương pháp này sử dụng bộ tạo khóa tạo ra hai khóa dòng Một khóa dòng được tạo phụ thuộc vào mầm khóa bí mật và khóa dòng còn lại được tạo ra phụ thuộc vào mầm khóa giả mạo Một phương pháp MHCTCT
sử dụng hệ mã Vernam được đề xuất trong [2], sử dụng hai chuỗi bit khóa ngẫu nhiên OTP khác nhau, một chuỗi bit khóa bí mật để thực hiện phép toán
với chuỗi bit thông điệp bí mật, một chuỗi bit khóa giả mạo để thực hiện
phép toán với chuỗi bit thông điệp giả mạo, tạo ra hai bản mã giống nhau
Trang 371.2.2 Nhận xét các công trình nghiên cứu về mã hóa có thể chối từ
Qua tìm hiểu và phân tích các nghiên cứu về MHCTCT, có thể đưa ra
một số nhận xét sau:
1 Cơ sở toán học của các lược đồ MHCTCT dựa trên các lược đồ mã hóa khóa công khai và khóa bí mật thông thường [2, 10, 47, 52, 59, 65], nhằm
tạo thêm một lớp bảo vệ nữa MHCTCT ngoài việc chống lại các tấn công
mật mã phổ biến như: nghe lén, tấn công kẻ đứng giữa, tấn công lựa chọn bản
rõ, tấn công vét cạn, tấn công lựa chọn thích nghi bản mã, thám mã, vv, có thêm đặc trưng quan trọng nhất là chống lại tấn công cưỡng ép
2 Khi thiết kế các giao thức MHCTCT, tiêu chí thiết kế quan trọng
nhất được đặt ra là giao thức phải đảm bảo an toàn chống lại các ngữ cảnh tấn công cưỡng ép Các ngữ cảnh cưỡng ép được đặt ra là:
- Đối phương chặn được mọi bản mã gửi trên kênh
- Đối phương cưỡng ép một bên hoặc cả hai bên sau khi các bản mã đã được gửi đi Mỗi bên hoặc cả hai bên đều phải trình ra: thông điệp rõ, khóa
mã sử dụng, thuật toán mã/dịch, và phải đảm bảo các bản mã có trong tay đối phương phù hợp hoàn toàn với những thành phần này
- Đối phương có thể chủ động đóng giả là một trong các bên để tiến hành tấn công chủ động giả mạo [47, 50]
- Luôn có giả định hợp lý rằng, sau khi mã hóa (hoặc giải mã), các biến trung gian của quá trình hình thành bản mã (hoặc khôi phục bản rõ) không lưu nhớ trong bộ nhớ của máy mã để ĐPTC không thể truy cập được các giá trị trung gian này khi thực hiện cưỡng ép [10]
3 Khả năng chối từ linh hoạt, tính chối từ thuyết phục của đáp án chối
từ là vấn đề luôn được quan tâm khi thiết kế các giao thức MHCTCT [62]
Những lược đồ chối từ một bên, hoặc chối từ hai bên độc lập nhau sẽ không
an toàn trong ngữ cảnh bị cưỡng ép đồng thời, vì khi đó hai bên trình ra hai đáp án chối từ không đảm bảo trùng khớp nhau
Trang 384 Thời điểm lập đáp án chối từ càng linh hoạt càng tối ưu, nếu đáp án
chối từ được xác lập tại thời điểm lập mã, có khả năng xuất hiện sự thiếu thuyết phục về tính thời sự của thông điệp giả mạo tại thời điểm bị cưỡng ép (thời điểm này không thể dự đoán), ngoài ra nó làm lược đồ MHCTCT thêm phức tạp, vì hai bên sẽ phải tương tác trước với nhau để thể thống nhất đáp án
chối từ Lược đồ MHCTCT lý tưởng nhất là hai bên không cần tương tác trước mà vẫn chủ động được đáp án chối từ [59, 65, 72] Tức là thời điểm xác
lập đáp án chối từ có thể trùng với thời điểm bị cưỡng ép, việc thực hiện chối
từ được thực hiện theo cách “bắt đầu từ đầu” Một số lược đồ MHCTCT khóa công khai đã có tính chối từ “bắt đầu từ đầu” dù vẫn phải kết hợp với việc chia sẻ tham số bí mật dùng chung [5, 20, 40]
5 MHCTCT được phân chia thành hai loại cơ bản: MHCTCT khóa công khai và MHCTCT khóa bí mật Với MHCTCT khóa công khai: vấn đề phân phối khóa, độ phức tạp tính toán, thiết kế của các giao thức mã hóa cơ
bản tương đương với mã hóa thông thường [38, 43, 47, 53] Tuy nhiên với mã hóa khóa bí mật, việc phân phối và quản lý khóa là vấn đề khó khăn khi thực
hiện MHCTCT, một bản mã có khả năng giải mã thành hai bản rõ khác nhau tức là sẽ phải có hai khóa khác nhau, vấn đề phân phối và quản lý khóa cũng như quản lý các đáp án chối từ phức tạp lên nhiều Nên về mặt ứng dụng thực
tế, MHCTCT khóa bí mật khả thi cho việc lưu trữ dữ liệu cục bộ, không thuận
lợi cho truyền tin mật Trường hợp hệ mã dòng Vernam sử dụng bộ tạo chuỗi bit khóa giả ngẫu nhiên (hai bên đồng bộ trạng thái khởi tạo mỗi khi mã hóa/giải mã), việc triển khai MHCTCT trên dạng mã hóa này cũng là điều khó khả thi khi đi giải bài toán ngược là từ một chuỗi bit giả ngẫu nhiên cho trước (được tạo ra từ bản mã và bản rõ giả mạo) các bên phải thiết kế bộ tạo chuỗi và trạng thái tương ứng ăn khớp để thực hiện chối từ khi bị cưỡng ép
Để triển khai MHCTCT khóa bí mật, phương án khả thi và tối ưu vẫn
là dùng mã khối để có thể tận dụng các ưu điểm của hệ mã này
Trang 396 Cách thức mã hóa truyền tin mật dựa trên giao thức ba bước Shamir
có hai tính chất nổi bật đó là: hai bên không cần trao đổi khóa trước và thuật toán mã hóa (khóa công khai hoặc khóa bí mật) có tính chất giao hoán Việc
đề xuất xây dựng các giao thức MHCTCT cụ thể dựa trên giao thức ba bước Shamir sử dụng các thuật toán mã hóa khác nhau là một đề xuất có tính thực
tiễn và làm đa dạng thêm các cách thức thực thi MHCTCT
7 Vấn đề liên hệ với mã hóa xác suất: Trong MHCTCT, đầu vào của giao thức mã hóa là ( , ):m m với m là thông điệp giả mạo dùng để trình ra khi
bị cưỡng ép, m là thông điệp bí mật và được gài đặt ẩn giấu dưới dạng một hàm gài đặt mã hóa ( ).f m ( )f m lúc này ngụy trang đóng vai trò là ngẫu nhiên r thêm vào nguồn tin trước khi mã hóa ở các giao thức mã hóa xác suất [29] Do vậy, thiết kế của giao thức MHCTCT thường dựa trên giao thức mã hóa xác suất tương ứng [49, 53, 56]
1.3 Phương thức gài đặt mã hóa có thể chối từ dựa trên mã hóa xác suất
1.3.1 M ã hóa xác suất và ứng dụng mã hóa xác suất để gài đặt MHCTCT
Mã hóa xác suất được giới thiệu lần đầu bởi Goldwasser và Micali
nhằm tăng cường tính an toàn cho các hệ mã Mã hóa xác suất đảm bảo tính ngẫu nhiên cho bản mã đầu ra của thuật toán mã hóa, bằng cách bổ sung thêm một giá trị ngẫu nhiên, khi thực hiện mã hóa một thông điệp với các lần mã hóa khác nhau sẽ tạo ra các bản mã khác nhau [29] Thuật ngữ "mã hóa xác
suất" thường được sử dụng để chỉ các thuật toán mã hóa khóa công khai (ví
dụ như thuật toán ElGamal hoặc phiên bản cải tiến OAEP của RSA) Tuy nhiên, các thuật toán mã hóa khóa bí mật cũng có thuộc tính tương tự (như là
mã khối hoạt động ở chế độ CBC) Trong thực tế sử dụng các hệ mã hiện nay, đặc biệt là mã hóa khóa công khai, để đạt được độ an toàn chấp nhận được thì thuật toán mã hóa phải là mã hóa xác suất
Để một hệ mã có tính chất xác suất, một kỹ thuật thường dùng là bổ sung ngẫu nhiên r kết hợp cùng thông điệp m làm đầu vào của quá trình mã
Trang 40hóa (như cách làm của mã hóa Padding RSA [41], mã hóa xác suất dựa trên
mã khối [51]) Lúc này đầu vào của quá trình mã hóa sẽ là ( , ),m r khi đó cùng một thông điệp rõ ,m mỗi lần mã hóa khác nhau dùng ngẫu nhiên r khác nhau, sẽ tạo ra các bản mã đầu ra c E m r ( , ) khác nhau
Khi thay thế ngẫu nhiên r một cách có chủ đích bằng một hàm gài đặt
mã hóa thông điệp bí mật : ( )m f m (với ( )f m là hàm mã hóa có đầu ra có tính ngẫu nhiên) để ẩn giấu một thông điệp bí mật Sau bước xử lý này, ( )f m
đóng vai trò là tham số ngẫu nhiên r để kết hợp với một thông điệp giả mạo ,
m tạo thành đầu vào của quá trình mã hóa là ( , ( )).m f m Nếu phân bố xác suất của các bản mã E m f m k( , ( )) và phân bố xác suất của các bản mã ( , )
k
E m r thỏa mãn tính chất không phân biệt được về mặt tính toán thì phương pháp mã hóa xác suất lúc này trở thành mã hóa có thể chối từ, khi mà tùy ngữ cảnh mà các bên giải mã khôi phục m hoặc m.
Như vậy, yêu cầu quan trọng nhất của giao thức MHCTCT là bản mã đầu ra cE m f m k( , ( )), thỏa mãn tính chất không phân biệt được về mặt tính toán với bản mã cE m r k( , ) là đầu ra của giao thức mã hóa xác suất tương ứng, nghĩa là sai khác giữa hai phân bố xác suất của hai tập bản mã là hàm không đáng kể
Khi bị cưỡng ép, các bên sẽ trình ra: thông điệp giả mạo ,m các khóa
mã, và chứng minh tính phù hợp của các thành phần này với bản mã c (đang
có trong tay ĐPTC) bằng thuật toán mã hóa xác suất Tức là thuật toán của giao thức mã hóa thực hiện gài đặt MHCTCT được giữ bí mật, thuật toán trình ra là thuật toán của giao thức mã hóa xác suất tương ứng (lúc này đóng vai trò là thuật toán giả mạo)
Phương pháp MHCTCT với cách thức như vừa trình bày được Luận án đặt tên là “MHCTCT dựa trên mã hóa xác suất” hoặc “MHCTCT giả xác suất” (do một số trường hợp, f m( ) có thể không đảm bảo tính ngẫu nhiên
hoàn toàn như r) và khái niệm này sẽ được dùng xuyên suốt trong Luận án