Ngữ cảnh của tấn công cưỡng ép là khi bên gửi A mã hóa mộtthông điệp gửi cho bên nhận B và đối phương tấn công ĐPTC thu được bản mã trên kênh truyền, tiến hành cưỡng ép A hoặc B hoặc cả
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
Nguyễn Đức Tâm
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ớicá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ựchiệ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ácnhà 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ệnKhoa 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ựchiện và hoàn thành Luận án này
Nghiên cứu sinh
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
AES
A
a | b
B
C
CA
CPA
Dk ( c)
DES
ĐPTC
e
Ek ( m)
gcd( a, b)
fr ( Z )
f ( m) H ( x)
IND-CPA
I
K
MHCTCT
m m
m1 m2
m M
mod p
NIST
Trang 6Tập khóa mã riêng của mã hóa khóa bất đối xứng Hàm mã hóa E , mã hóa thông điệp mM với khóa kK
Ước chung lớn nhất của a và b (greatest common divisor)
Hàm trích một chuỗi bit con từ chuỗi bit của z theo một thuật toán bí mật.
Hàm gài đặt mã hóa thông điệp bí mật m
Hàm băm của x
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) Khối mã trung gian
Tập các tham số, khóa mã bí mật của người dùng
Mã hóa có thể chối từ Thông điệp giả mạo Thông điệp bí mật Phép nối chuỗi bit m1 với chuỗi bit m2 Kích thước theo bit của m
Tập các thông điệp Phép toán modulo p
Tập các số tự nhiên Viện công nghệ và chuẩn quốc gia Hoa Kỳ (National Institute
of Standards and Technology)
Trang 8BẢNG ĐỐI CHIẾU THUẬT NGỮ
Mã hóa có thể chối từ
Mã hóa có thể chối từ linh hoạt
Mã hóa có thể chối từ hoàn toàn Không đáng kể
Tấn công bị động (cưỡng ép bị động)
Mã hóa có thể chối từ kế hoạch trước
Mã hóa xác suất
Mã hóa có thể chối từ bên gửi
Mã hóa có thể chối từ bên nhận Tính an toàn
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 10mã 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Ở ĐẦU
1 Lý do chọn đề tài
Các kỹ thuật mật mã hiện nay nhằm bảo vệ tính bí mật và xác thựctrong quá trình truyền tin, chống lại các tấn công nghe lén, đánh cắp bí mậthoặc cố tình sửa đổi thông tin Mã hóa có thể chối từ (MHCTCT) là một kỹthuật mật mã đặc biệt nhằm chống lại dạng tấn công khác, đó là tấn côngcưỡng ép Ngữ cảnh của tấn công cưỡng ép là khi bên gửi A mã hóa mộtthông điệp gửi cho bên nhận B và đối phương tấn công (ĐPTC) thu được bản
mã 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 rabả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ụngMHCTCT, 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 épphả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ênthứ 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ứngcho 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ệugiả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ậttoá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óathô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ườnghì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ả duynhấ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êncứ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ọacho 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ứngminh về tính an toàn và chối từ của một giao thức MHCTCT theo định nghĩacủa Canetti chưa được nhóm tác giả đề cập; Ngoài ra, vấn đề xây dựng mộtphương pháp tổng quát thực hiện MHCTCT dựa trên giao thức ba bướcShamir với cách thức mã hóa xác suất, để từ đó dùng các hệ mật khác nhautạo ra các phiên bản giao thức MHCTCT khác nhau; Và vấn đề chống tấncông chủ động trong MHCTCT dựa trên giao thức ba bước Shamir cũng cầnquan 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 khaitrong thực tế
Có thể nói, việc nghiên cứu về MHCTCT nhằm đề xuất một số phươngpháp MHCTCT cụ thể dựa trên mã hóa xác suất là một nhiệm vụ có ý nghĩakhoa 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 đặtMHCTCT 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ôngcưỡ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ựatrê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 giaohoá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, giaothức ba bước Shamir, các thuật toán mã hóa giao hoán, các lược đồ mã hóaxá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ấttrong [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êngiao 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
Pohlig-Hellman; giao thức thứ hai sử dụng trao đổi khóa Diffie-Hellman kết hợp với
Trang 15thuậ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ứckế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ácsuấ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:
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 đốixứ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ínhchấ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áptổ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 giaothức MHCTCT
Trang 16đồ MHCTCT cụ thể với các đặc tính kỹ thuật khác nhau phù hợp cho các ngữ cảnhtruyề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ụngcá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ụngtrong 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ụchì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ảnphâ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 giaohoán để thực hiện giao thức Shamir; Đề xuất phương pháp tổng quát thực hiệnMHCTCT 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ácsuấ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ươngtrì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 antoà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ĩarằ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ôngthườ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ệnnay, Đ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ộccá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ậtkhá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ềntin không còn nữa Trong các hệ mật thông dụng hiện nay, mỗi bản mã khigiả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ộtcá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ợpvớ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ẩmquyề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ậtgồ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 trongquá 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àntoà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 haibản rõ khác nhau (đều có ý nghĩa - trong đó có một bản rõ thực sự có nộidung 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ộtthô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 ( m1 ,k ,r1 ) E (m2 ,k ,r2 ), 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,r1 ) , 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ã c
E ( m2 ,k ,r2 ) và thông điệp giả mạo: m2 D(c, k ,r2 ).
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:
c E ( m1 , r A1 , pk B ) E ( m2 , r A2 , pk B ) , với E là thuật toán mã hóa, r A1
là ngẫu
nhiên cục bộ bí mật của A, r A2 là ngẫu nhiên cục giả mạo của 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 m D (c, r , sk ) , với D là thuật toán giải mã, sk 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 A1 để 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 ( m2 , r A2 , pk 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 B2 , sk B ) hoàn toàn ănkhớp với bản mã c E ( m2 , r A2 , pk B ) Ở đây r B2 là ngẫu nhiên cục bộ giả mạocủ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ặcthô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êncứ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ã rahai 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êntheo cách không thể cưỡng ép, hoặc ứng dụng để đảm bảo an toàn cho giao thứctí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áytí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 Định nghĩa 1.1 [41]: hàm không đáng kể
Một hàm ( n) được gọi là không đáng kể (negligible) theo biến n, nếu với mọi hằng số c, luôn tồn tại một số nguyên n0 sao cho ( n) n c khi n n0
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
và n đủ lớn, ta có:
Prob(D
(X n ) 1) Prob(D
(Y n ) 1) 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ôngphâ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ệpgiả 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 đếnmứ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ạichư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]
- 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ànhcưỡ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ã (dobên gửi mã hóa thông điệp bí mật truyền đi và ĐPTC đã chặn thu được) khôiphụ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ựchiện truyền tin Như trong hệ mã dòng dùng khóa OTP: bản mã
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ộtlầ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, m2 : k 2 c m2 Như vậy, hai bên phảidà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ínhlinh 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ươngtá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ựchiện theo cách “bắt đầu từ đầu” làm tăng tính linh hoạt cho các bên trong
c m1 k1 ,
Trang 24chọn đáp án chối từ Do vậy đa phần các lược đồ MHCTCT đã công bố trongcá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 encryption) [12].
Bảng 1.1 Phân loại MHCTCT theo bên chối từKiểu MHCTCT Khả năng chống lại tấn công cưỡng ép
1 Sender-deniable Chối từ bên gửi, chống tấn công cưỡng ép bên gửi,
không có khả năng chống lại tấn công bên nhận
2 Receiver-deniable Chối từ bên nhận, chống tấn công cưỡng ép bên nhận,
không có khả năng chống lại tấn công bên gửi.
3 Sender-or-receiver deniable
Chối từ bên gửi hoặc bên nhận, chống tấn công cưỡng ép bên gửi hoặc bên nhận, không có khả năng chống lại tấn công đồng thời hai bên.
4 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 trongviệ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ẫunhiê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, rA , rB ) 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, rA , rB ) trong trường hợp rA và rB đượ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.
c
Tính an toàn: Với m1 ,m2 M, thỏa mãn COM ( m1 ) COM ( m2 )
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ố m1 , m2 M cùng các tham số r A , r 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ã c COM ( m1 , r A , r B ) và tham số r A ( m1 , r A , c, m2 ), khi đó:
c
( m2 , rA , c ) ( m2 , rA , COM ( m2 , rA , rB ))
Như vậy, (m2 ,r A,COM (m2 ,r A,r 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 ( m2 , r A , c) là nhậnthức của ĐPTC khi thu được bản mã c COM ( m1 , r A , r 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ễncủ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ínhtoá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óathô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ố m1 ,m2 M cùng các tham số r A , r 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ã c COM (m1 ,r A,r 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ố m1 , m2 M cùng các tham số r A , r 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ã c COM ( m1 , r A , r B ), và các tham số r A A ( m1 , r A , c, m2 ), r B B ( m1 , r B, c, m2 ), khi đó:
c
( m2 , rA , rB , c ) ( m2 , rA , rB , COM ( m2 , rA , rB )).
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ậtkhóa (như hệ mật Pohlig-Hellman hoặc hệ mật SRA) Định nghĩa 1.6 về giaothứ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 haibê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ố m1 , m2 M cùng các tham số r A , r 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ã c COM ( m1 , r A , r B ), và các tham số r A A ( m1 , r A , c, m2 ), r B B ( m1 , r B, c, m2 ), khi đó:
c
( m2 , rA , rB , c ) ( m2 , rA , rB , COM ( m2 , rA , rB )).
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ộtkhó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 28r B được lựa chọn một cách ngẫu nhiên đều và độc lập nhau.
Định nghĩa 1.7 [10]: giao thức mã hóa khóa bí mật có thể chối từ bên gửi
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 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 m1 , m2 M và với một khóa bí mật k được chọn
ngẫu nhiên, thỏa mãn:
c COM ( m1 , k ) COM ( m2 , k)
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ố m1 , m2 M cùng với các tham số k , r A , r 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ã c COM ( m1 , k , r A , r B ), và các tham số (k, r A )( m1,k ,r A, c, m2), khi đó:
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ố m1 , m2 M cùng với các tham số k , r A , r 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ã c COM ( m1 , k , r A , r B ) và các tham số (k, r B )( m1,k ,r B, c, m2), khi đó:
tham số m1 ,m2 M cùng với các tham số k ,r A ,r 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ã c COM ( m1 ,k,r A,r B ) và các tham số (
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 ) 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,mM và bất kỳ bit trạng thái P {P , P } và
một khóa bí mật ngẫu nhiên k, ta có:
c COM ( P, m1 , k ) COM ( P, m2 , k)
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ố m1 , m2 M cùng các tham số ( k , r A , r B) được hai bên lựa chọn thống nhất, ( r ' , r ' ) được hai bên chọn ngẫu nhiên đều và độc lập, làm đầu
Trang 32Trong 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)
Trang 33Hình 1.3 Mô hình tấn công cưỡng ép trong MHCTCT
Trang 34Cũng như mã hóa thông thường, MHCTCT cũng cần phải đảm bảo antoàn khi bị tấn công nghe lén Nhưng đặc trưng quan trọng nhất củaMHCTCT là nó phải đảm bảo an toàn khi bị tấn công cưỡng ép Ngữ cảnh tấncô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ợpvớ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ứcMHCTCT, 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ỗibê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ậtphù 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 35Đố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 épbê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ậttoá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 thichương trình mã dịch hoặc thiết bị mật mã đã cứng hóa, ĐPTC không thể tiếpcận được tệp mã nguồn chương trình và không thể thực hiện biên dịch ngượctệ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ọaMHCTCT 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 36Ibrahim đã đề xuất hai lược đồ MHCTCT, một lược đồ MHCTCT bên gửilinh 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ôngkhai 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 đồ MHCTCTkhó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âyvớ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à Watersphá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ộtlược đồ dựa trên lược đồ mã hóa có thể mô phỏng, lược đồ còn lại phát triểndự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 đathứ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ònchố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 đathứ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ácthô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 trungvà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 37phù 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ôngyê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óakhó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ủacác lược đồ đề xuất trước đó [34, 38] Phương pháp đề xuất được nhóm tácgiả 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ácthặ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ấtkhóa công khai an toàn đã biết của Rabin để thực hiện MHCTCT Nhóm tácgiả đã đề 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ủathô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ậtthực hiện MHCTCT, một thuật toán giả mạo trình ra khi bị cưỡng ép, phươngphá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ánMHCTCT Giao thức đề xuất có thể thực hiện chối từ bên gửi hoặc bên nhậnhoặ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êntrước khi truyền tin để chống lại tấn công giả mạo Tiếp tục hướng mã hóakhoá 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ươngpháp mới trong thiết kế các giao thức MHCTCT: trong [53] đề xuất mộtphươ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ậttoán RSA, đồng thời đề xuất ba lược đồ MHCTCT bên gửi, MHCTCT bênnhận, MHCTCT hoặc bên gửi hoặc bên nhận Trong đó, để đảm bảo chối từ
Trang 38hai 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ácgiao thức này Trong [52], nhóm tác giả đề xuất một giao thức MHCTCT thựchiệ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áctrước Trong [49, 56] đề xuất giao thức MHCTCT có tính thực thi cao dựatrê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 giaothứ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ìnhnà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ộtbả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ốihoặ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ínhtoá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ốnglại việc thông thầu) Tuy nhiên, mô hình này không áp dụng cho ngữ cảnhtruyề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áttriể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ộtkhó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óangẫ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ệnphé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 391.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ạothê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étcạ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 quantrọ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ọngnhấ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ấncô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ếntrung 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ưunhớ 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ữnglượ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 trongngữ 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 404 Thời điểm lập đáp án chối từ càng linh hoạt càng tối ưu, nếu đáp ánchố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ếuthuyế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êmphứ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 ánchối từ Lược đồ MHCTCT lý tưởng nhất là hai bên không cần tương táctrước mà vẫn chủ động được đáp án chối từ [59, 65, 72] Tức là thời điểm xáclậ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óacô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ệcchia 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óacô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ựchiện MHCTCT, một bản mã có khả năng giải mã thành hai bản rõ khác nhautứ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ũngnhư 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ậnlợi cho truyền tin mật Trường hợp hệ mã dòng Vernam sử dụng bộ tạo chuỗibit 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