Viện Công Nghệ Thông Tin Và Truyền Thông
ĐẠI HỌC BÁCH KHOA HÀ NỘI
Luận Văn Thạc Sĩ
Nghiên Cứu Chế Độ Mã Hóa Có Xác
Thực Hạng Nhẹ Jambu
Nguyen Thanh Long
Ha Noi, 2023
ii
MỤC LỤC
LỜI CẢM ƠN ................................................................................................. i
LỜI CAM ĐOAN .......................................................................................... ii
MỤC LỤC .................................................................................................... iii
CÁC KÝ HIỆU, CHỮ VIẾT TẮT ................................................................. v
DANH MỤC BẢNG BIỂU .......................................................................... vii
DANH MỤC HÌNH VẼ .............................................................................. viii
LỜI MỞ ĐẦU ................................................................................................ 1
CHƯƠNG 1: TỔNG QUAN VỀ MÃ HÓA CÓ XÁC THỰC VÀ MẬT MÃ
HẠNG NHẸ ................................................................................................... 6
1.1. Mã hóa có xác thực.................................................................................. 6
1.1.1. Khái niệm mã hóa có xác thực .............................................................. 6
1.1.2. Các phương pháp mã hóa có xác thực .................................................. 7
1.1.3. Mã hóa có xác thực với dữ liệu liên kết............................................... 12
1.2. Mật mã hạng nhẹ ................................................................................... 14
1.2.1. Khái quát về mật mã hạng nhẹ............................................................ 14
1.2.2. Mật mã khối hạng nhẹ ........................................................................ 20
CHƯƠNG 2: CHẾ ĐỘ MÃ HĨA CĨ XÁC THỰC HẠNG NHẸ JAMBU VÀ
THUẬT TỐN AES – JAMBU ................................................................... 25
2.1. Chế độ mã hóa có xác thực hạng nhẹ JAMBU ....................................... 25
2.1.1. Giới thiệu về chế độ JAMBU .............................................................. 25
2.1.2. Các kí hiệu.......................................................................................... 25
2.1.3. Chế độ hoạt động của JAMBU............................................................ 27
2.1.4. Sự an toàn của chế độ JAMBU ........................................................... 30
2.2. Thuật tốn mã hóa có xác thực hạng nhẹ AES-JAMBU......................... 43
2.2.1. Thuật toán .......................................................................................... 43
2.2.2. Sự an tồn của thuật tốn ................................................................... 44
CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH MƠ PHỎNG THUẬT TỐN MÃ
HĨA CĨ XÁC THỰC HẠNG NHẸ AES – JAMBU................................... 49
iii
3.1. Cài đặt thuật toán AES-JAMBU ............................................................ 49
3.1.1. Cài đặt quá trình khởi tạo ................................................................... 50
3.1.2. Cài đặt quá trình nạp dữ liệu liên kết.................................................. 51
3.1.3. Cài đặt quá trình mã hóa bản rõ ......................................................... 52
3.1.4. Cài đặt q trình tạo thẻ xác thực ....................................................... 54
3.1.5. Cài đặt quá trình giải mã và xác thực ................................................. 55
3.2. Kết quả quá trình cài đặt thuật tốn AES-JAMBU ................................. 56
3.3. Đánh giá hiệu suất thực thi của thuật toán AES-JAMBU ....................... 58
KẾT LUẬN .................................................................................................. 62
TÀI LIỆU THAM KHẢO ............................................................................ 63
iv
CÁC KÝ HIỆU, CHỮ VIẾT TẮT
Viết tắt
Tiếng Anh
AE
Authenticated Encryption
CEASAR
Competition for Authenticated
Tiếng Việt
Mã hóa có xác thực
Cuộc thi mã hóa có xác
Encryption:Security,Applicability, thực: an tồn, tính ứng
and Robustness
NIST
National Institute of Standards
and Technology
dụng và tính mạnh mẽ
Viện tiêu chuẩn và cơng
nghệ quốc gia
Mã xác thực thông báo
MAC
Message Authentication Code
MtE
MAC then Encrypt
Xác thực rồi mã hóa
E&M
Encrypt and MAC
Mã hóa và mã xác thực
EtM
Encrypt then MAC
Mã hóa rồi xác thực
INT-CTXT
Integrity of Ciphertext
Tính tồn vẹn của bản
mã
Tính tồn vẹn của bản rõ
INT-PTXT
Integrity of Plaintext
IND-CPA
Indistinguishability under a
Khả năng không phân
Chosen Plaintext Attack
biệt dưới tấn công lựa
chọn bản rõ
IND-CCA
Indistinguishability under a
Khả năng không phân
Chosen Ciphertext Attack
biệt dưới tấn công lựa
chọn bản mã
SPN
Substitution and Permutation
Network
AEAD
AD
Authenticated Encryption with
Mạng lưới thay thế và
hốn vị
Mã hóa có xác thực với
Associated Data
dữ liệu liên kết
Associated Data
Dữ liệu liên kết
v
Viết tắt
Tiếng Anh
AES
Advanced Encryption Standard
Tiếng Việt
Chuẩn mã hóa dữ liệu
tiên tiến
RFID
Radio Frequency identification
Cơng nghệ nhận dạng
đối tượng bằng sóng vố
tuyến
SE
Symmetric Encryption scheme
Lược đồ mã hóa đối
xứng
ECRYPT
VoIP
European Network of Excellence
Mạng lưới mật mã xuất
for Cryptology
sắc của Châu Âu
Voice over Internet Protocol
Truyền giọng nói trên
giao thức IP
1
LỜI MỞ ĐẦU
1. Tính cấp thiết của đề tài
Ngày nay, với sự phát triển nhanh chóng của khoa học kĩ thuật, nhiều
cơng nghệ mới ra đời với mục đích thỏa mãn những nhu cầu ngày càng cao
của con người trong mọi lĩnh vực. Những phát minh khoa học làm cho mọi
việc trở nên đơn giản và tiện lợi hơn. Sự đa dạng về các sản phẩm công
nghiệp hiện đại nay là kết quả hoạt động sáng tạo không ngừng của con
người. Từ những máy mọc cồng kềnh với đường dây kết nối để hoạt động thì
cơng nghệ mới ngày nay càng hướng đến khả năng không dây giúp con người
được giải phóng và thoải mái hơn. Nhận dạng tự động là một trong những
công nghệ được phát minh để đáp ứng nhu cầu đó. Các cơng nghệ nhận dạng
tự động như: các mã vạch (Bar codes), thẻ thông minh, công nghệ sinh trắc
học, nhận dạng tần số sóng vơ tuyến RFID,… Trong đó RFID hiện nay đã và
đang được phát triển mạnh ở nhiều nước trên thế giới với những ứng dụng rất
đa dạng của nó như: sản xuất kinh doanh, an ninh, y tế…
Trong năm 2004, thuật ngữ “Lightweight cryptography” được đưa ra
thảo luận tại nhiều hội nghị. Thuật ngữ này dùng để chỉ những thuật toán mật
mã “nhẹ” có khả năng cài đặt trên các thiết bị bị giới hạn bởi năng lượng tiêu
thụ và khả năng lưu trữ. Như vậy, mật mã hạng nhẹ rất phù hợp để áp dụng
vào bảo mật cho công nghệ nhận dạng tần số sóng vơ tuyến (RFID). Do
đó,việc phát triển nhanh và mạnh của cơng nghệ RFID cũng chính là một
trong những động lực để thúc đẩy mật mã hạng nhẹ phát triển. Bên cạnh đó,
có rất nhiều thiết bị bị giới hạn về tài nguyên cũng cần đến sự bảo mật ví dụ
như các thiết bị trong lĩnh vực quân sự, y tế, nông nghiệp …nên tiềm năng của
mật mã hạng nhẹ là rất lớn [3].
2
Các chế độ mã hóa có xác thực là một trong những phương pháp được
sử dụng phổ biến trong thiết kế thuật tốn mã hóa có xác thực. Chuẩn
ISO/IEC 19772:2009 đã công bố một số chế độ tiêu chuẩn cho mã hóa có xác
thực bao gồm EAX, CCM, GCM và OCB 2.0 [8]. Bên cạnh đó có một số
lượng lớn các chế độ mã hóa có xác thực khác được đề xuất trong 2 thập kỷ
qua. Ví dụ: IAPM , CWC, HBS, BTM và McOE.
Một xu thế quan trọng đối với sự phát triển hiện nay của mật mã đó là
thiết kế các nguyên thủy mật mã hạng nhẹ vì nhu cầu tăng lên đối với các hệ
thống nhúng (hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bài
tốn chun dụng trong nhiều lĩnh vực cơng nghiệp, tự động hố điều khiển,
truyền tin), ví dụ như Thẻ RFID, mạng cảm biến và thẻ thông minh. Rất nhiều
thuật tốn mã hóa có xác thực hạng nhẹ đã được đề xuất như là: ALE, và
FIDES.
Tuy nhiên, những thuật tốn mã hóa có xác thực ở trên là thiết kế
chuyên dụng và không thể được sử dụng như là một cách thức hoạt động để
chuyển đổi một thuật toán mã hóa thành một thuật tốn mã hóa có xác thực.
Khơng những thế, điều đó chỉ ra rằng việc chuyển đổi đó sẽ rất khó khăn để
xây dựng một thuật tốn mã hóa có xác thực hạng nhẹ an tồn. Những vấn đề
về an toàn đã được khám phá ngay sau khi các thuật tốn ALE và FIDES được
cơng bố. Vì thế, cần có một chế độ mã hóa có xác thực hạng nhẹ có thể áp
dụng cho các mã khối, như chế độ mã hóa có xác thực hạng nhẹ JAMBU. Sau
đó, sử dụng các mật mã khối SIMON, AES,... để xây dựng một thuật tốn mã
hóa có xác thực: SIMON-JAMBU và AES-JAMBU [8]. Hiện nay, viện tiêu
chuẩn NIST (National Institute of Standards and Technology) đã tổ chức cuộc
thi CAESAR nhằm chọn ra chuẩn thuật toán, chế độ mã hóa có xác thực. Chế
độ mã hóa có xác thực hạng nhẹ JAMBU là một ứng viên của cuộc thi này.
Kết thúc vòng 2, ngày 15/8/2016, Ban tổ chức đã thông báo các thuật
3
tốn tham gia được vào vịng 3 của cuộc thi CEASAR trong đó có chế độ mã
hóa có xác thực hạng nhẹ JAMBU.
2. Tổng quan về tình hình nghiên cứu
Cuộc thi mật mã mới với tên gọi CAESAR (Competition for
Authenticated Encryption: Security, Applicability and Robustness) đang được
tổ chức nhằm đáp ứng nhu cầu thiết thực cho các giải pháp mã hoá được xác
thực chuyên dụng dễ sử dụng, hiệu quả và an toàn hơn. Cuộc thi CEASAR
bắt đầu khởi động từ năm 2012, đến ngày 15/01/2013 cuộc thi được chính
thức thông báo tại hội thảo Early Symmetric Crypto (Mondorf - les - Bains,
Luxemburg), Thơng qua các vịng đánh giá, xét duyệt, ngày 07/7/2015, Ban tổ
chức đã thông báo danh sách 28 thuật tốn ứng cử được vào vịng 2.
Kết thúc vịng 2, ngày 15/8/2016, Ban tổ chức đã thơng báo các thuật
tốn tham gia được vào vịng 3 của cuộc thi CEASAR trong đó có chế độ mã
hóa có xác thực hạng nhẹ JAMBU.
Chế độ mã hóa có xác thực hạng nhẹ JAMBU của hai tác giả Hongjun
Wu, Tao Huang là một ứng cử viên tại cuộc thi CEASAR. Chế độ JAMBU
được giới thiệu lần đầu tiên vào 15/03/2014. Các nhà mật mã trên thế giới đã
có nhiều nghiên cứu về sự an tồn và các tấn cơng lên chế độ mã hóa có xác
thực JAMBU.
4
- “JAMBU Lightweight Authenticated Encryption Mode and AESJAMBU (v1),2014” của hai tác giả Hongjun Wu, Tao Huang [6]. Tài liệu này
mơ tả về chế độ JAMBU và sự an tồn của thuật toán mật mã xác thực AES –
JAMBU.
- “The JAMBU Lightweight Authentication Encryption Mode (v2),
2015” của hai tác giả Hongjun Wu, Tao Huang [7]. Tài liệu này mô tả về chế
độ JAMBU và sự an tồn của thuật tốn mật mã xác thực AES – JAMBU.
- “ The JAMBU Lightweight Authentication Encryption Mode (v2.1),
2016” của hai tác giả Hongjun Wu, Tao Huang [8]. Tài liệu này mô tả về chế
độ mã hóa có xác thực hạng nhẹ JAMBU bao gồm cơ chế hoạt động, sự an
toàn của JAMBU.
- “Report on Lightweight Cryptography” của nhóm tác giả Kerry A.
McKay Larry Bassham Meltem Sonmez Turan Nicky Mouha [3]. Tài liệu này
giới thiệu về mật mã hạng nhẹ và mã hóa hạng nhẹ.
- “Authenticated encryption: Relations among notions and analysis of
the generic composition paradigm, 2007 “của tác giả Bellare và Namprempre
[2]. Tài liệu này mơ tả cấu trúc chung của mã hóa có xác thực và đánh giá sự
an tồn của các phương thức trong mã hóa có xác thực.
3. Mục tiêu nghiên cứu
- Tìm hiểu chế độ mã hóa có xác thực hạng nhẹ JAMBU.
- Cài đặt chương trình mơ phỏng thuật toán AES-JAMBU.
4. Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Chế độ mã hóa có xác thực hạng nhẹ JAMBU.
- Phạm vi nghiên cứu: Đề tài nghiên cứu các vấn đề chung về mã hóa
có xác thực; mật mã hạng nhẹ; chế độ mã hóa có xác thực hạng nhẹ JAMBU;
cài đặt chương trình mã hóa có xác thực AES-JAMBU.
5. Phương pháp nghiên cứu
Đề tài sử dụng các phương pháp nghiên cứu như phương pháp thống kê,
phương pháp tổng hợp, phương pháp so sánh, phương pháp phân tích, kế
5
thừa một số kết quả nghiên cứu đã có, đồng thời thu thập thông tin, tài liệu để
phục vụ cho q trình nghiên cứu.
6. Những đóng góp của đồ án
Về lý thuyết: Đồ án trình bày các vấn đề trọng tâm về chế độ mã hóa có
xác thực như khái niệm, cấu trúc, các phương thức mã hóa có xác thực. Trình
bày về các quá trình hoạt động, sự an toàn của chế độ JAMBU và mật mã
hạng nhẹ, mã khối hạng nhẹ.
Về tính ứng dụng vào thực tiễn: Đồ án trình bày quá trình cài đặt
chương trình phần mềm thực thi thuật tốn mã hóa có xác thực AES-JAMBU.
Từ đó đánh giá được hiệu suất thực thi của thuật tốn AES-JAMBU khi so với
các thuật tốn mã có xác thực khác.
7. Kết cấu của đồ án tốt nghiệp
Nội dung đồ án tốt nghiệp gồm 3 chương:
Chương 1: Tổng quan về mã hóa có xác thực và mật mã hạng nhẹ
Trình bày những kiến thức tổng quan về mã hóa có xác thực và mật mã
hạng nhẹ bao gồm: khái niệm về mã hóa có xác thực, các phương pháp mã
hóa có xác thực, mã hóa có xác thực với dữ liệu liên kết, khái quát về mật mã
hạng nhẹ và mật mã khối hạng nhẹ.
Chương 2: Chế độ mã hóa có xác thực hạng nhẹ JAMBU và chế độ
AES-JAMBU
Trình bày về chế độ mã hóa có xác thực hạng nhẹ JAMBU, thuật tốn
mã hóa có xác thực hạng nhẹ AES-JAMBU, sự an tồn của chế độ JAMBU
và thuật tốn AES-JAMBU.
Chương 3: Cài đặt chương trình mơ phỏng thuật tốn mã hóa cóxác
thực AES-JAMBU
Trình bày chi tiết q trình và kết quả cài đặt chương trình phần mềm
thực thi thuật tốn mã hóa có xác thực hạng nhẹ AES-JAMBU, so sánh hiệu
suất thực thi của thuật toán AES-JAMBU với thuật tốn mã hóa có xác thực
AES-GCM-128.
6
CHƯƠNG 1: TỔNG QUAN VỀ MÃ HÓA CÓ XÁC THỰC VÀ MẬT
MÃ HẠNG NHẸ
Chương này trình bày những kiến thức tổng quan về mã hóa có xác thực
và mật mã hạng nhẹ bao gồm: các khái niệm và các phương pháp mã hóa có
xác thực; các khái niệm, các nguyên thủy mật mã hạng nhẹ và mật mã khối
hạng nhẹ.
1.1. Mã hóa có xác thực
1.1.1. Khái niệm mã hóa có xác thực
Thuật ngữ mã hóa có xác thực để chỉ một biến đổi dựa trên khóa chia
sẻ có mục tiêu là cung cấp cả quyền riêng tư và tính xác thực của dữ liệu được
đóng gói. Trong một lược đồ như vậy, người gửi sẽ sử dụng hàm mã hóa để
biến đổi một bản rõ thành một bản mã với khóa đã chia sẻ, trong khi người
nhận sẽ sử dụng hàm giải mã để biến đổi bản mã trở về bản rõ ban đầu với
khóa đã chia sẻ hoặc cho ra một ký hiệu đặc biệt cho biết bản mã không hợp
lệ hoặc không xác thực [2].
Mục tiêu của mã hóa đối xứng thường là cung cấp quyền riêng tư, nhưng
một lược đồ mã hóa có xác thực chỉ đơn giản là một lược đồ mã hóađối xứng
đáp ứng các mục tiêu quyền riêng tư và xác thực.
Một lược đồ mã hóa có xác thực có thể được tổng quát cấu trúc bằng
việc kết hợp một lược đồ mã hóa đối xứng (Symmetric Encryption scheme –
SE) với mã một mã xác thực thông báo (Message Authentication Code MAC).
Cấu trúc của lược đồ mã hóa đối xứng. Một lược đồ mã hóa đối xứng
SE = (K
,E,D)
bao gồm ba thuật tốn. Thuật tốn tạo khóa ngẫu nhiên K với
mỗi khóa K K . Thuật tốn mã hóa
E với quy tắc mã hóa E E , thuật tốn
K
này lấy một khóa K và một bản rõ M để tạo ra một bản mã C. Thuật toán giải
7
mã D với quy tắc giải mã DK D , thuật tốn này lấy một khóa K và một bản
mã C để tạo lại một bản rõ tương ứng hoặc biểu tượng ⊥;
M D(K,C).
Cấu trúc của mã xác thực thông báo (MAC – Message Authentication
Codes). Một mã xác thực thông báo MA = (K ,T ,tf bao gồm ba thuật tốn.
)
Thuật tốn tạo khóa ngẫu nhiên K với mỗi khóa K K . Thuật toán gắn thẻ
T với quy tắc gắn thẻ T T . Lấy khóa K và một thơng báo M để trả về một
thẻ τ. Thuật tốn xác minh tf với quy tắc xác thực thẻ V tf . Lấy khóa K,
một thơng báo M, và một thẻ τ cho M để trả về một giá trị v. Yêu cầu
tf = (K,M,T (K,M)) =1 với xác suất cho tất cả
vượt quá sự lựa chọn của K
M 0,1*, trong đó xác suất
và giá trị T . Đối với tất cả K, τ, có
tf (K,M, ) = 0 nếu M = ⊥. Một lược đồ được gọi là mã xác thực thơng báo
(MAC) nếu thuật tốn gắn thẻ là xác định, không trạng thái và tf (K,M, ) trả
về 1 khi và chỉ khi =T (K, M) .
Hiện nay, việc xây dựng các thuật toán, các chế độ mã hóa có xác thực
có sự an tồn cao, khả năng triển khai dễ dàng trên nền tảng phần mềm cũng
như phần cứng đang là vấn đề được cộng đồng khoa học mật mã trên thế giới
quan tâm mạnh mẽ. Viện tiêu chuẩn NIST (National Institute of Standards and
Technology) đã tổ chức cuộc thi CAESAR nhằm chọn ra chuẩn thuật tốn, chế
độ mã hóa có xác thực. Chế độ mã hóa có xác thực hạng nhẹ JAMBU trình bày
sau đây là một ứng viên tại vòng chung kết của cuộc thi này.
1.1.2. Các phương pháp mã hóa có xác thực
1.1.2.1. Mã hóa và xác thực (E&M)
Lược đồ mã hóa có xác thực
cách kết hợp lược đồ mã hóa đối xứng
thực thông báo
sau:
AE = (K ,E,D) được xây dựng bằng
SE = (Ke
,E,D)
với Lược đồ mã xác
MA = (Km,T ,tf ) theo phương pháp mã hóa và xác thực như
8
*. Thuật tốn tạo khóa K
$
- Ke ⎯
⎯Ke ;
$
- Km ⎯
⎯ Km ;
- Return Ke || Km .
*. Thuật toán mã hóa E (Ke || Km,M)
- C' E (K e,M );
-T
(Km,M);
- C C '|| ;
- Return C.
*. Thuật toán giải mã D (Ke || K m ,C)
-
Phân tích C thành C'|| .
- M D (K e,C ');
- v tf (Km,M,);
- Nếu v=1 thì return M, ngược lại return Fail.
Thẻ xác thực được tạo ra từ thơng báo M. Thơng báo được mã hóa để
tạo ra bản mã C. Thẻ xác thực và bản mã C được gửi cùng nhau tới nơi nhận.
Tại nơi nhận, người nhận sẽ giải mã bản mã để tìm ra thơng báo M. Sau đó xác
minh thẻ với thơng báo M vừa giải mã. Phương pháp này được sử dụng trong
giao thức SSH.
Phương pháp mã hóa và xác thực cung cấp tính tồn vẹn của bản rõ. Nó
thừa hưởng tính tồn vẹn của MAC một cách trực tiếp, khơng có sự suy giảm
về tính bí mật. Điều này độc lập với lược đồ mã hóa đối xứng: cho dù lược đồ
mã hóa an tồn hay khơng khơng ảnh hưởng đến tính tồn vẹn của lược đồ mã
hóa có xác thực.
9
1.1.2.2. Xác thực rồi mã hóa (MtE)
Lược đồ mã hóa có xác thực
AE = (K ,E,D) được xây dựng bằng
cách kết hợp lược đồ mã hóa đối xứng
thơng báo
sau:
SE = (Ke
,E,D)
với lược đồ xác thực
MA = (Km,T ,tf bằng phương pháp xác thực rồi mã hóa như
)
*. Thuật tốn tạo khóa K
$
- Ke ⎯
⎯Ke ;
$
- Km ⎯⎯ K m ;
- Return Ke || Km .
*. Thuật tốn mã hóa E (Ke || K m,M)
- T (Km,M );
- C E (K e,M || );
- Return C.
*. Thuật toán giải mã D (Ke || Km,C)
- M ' D (Ke,C);
- Phân tích M ' thành M || .
- v tf
(Km,M,);
- Nếu v=1 thì trả về M, ngược lại trả về Fail.
Thẻ xác thực được tạo ra dựa trên thông báo ban đầu, sau đó thực hiện
mã hóa cả thơng báo và thẻ xác thực này bằng một hàm mã hóa để tạo ra bản
mã. Bản mã (chứa cả thẻ xác thực đã được mã hóa) được gửi tới nơi nhận. Tại
nơi nhận, quá trình giải mã và xác thực được thực hiện bằng cách giải mã để
có được thơng báo và thẻ xác thực, sau đó xác minh thẻ. Phương pháp này
được sử dụng trong giao thức bảo mật mạng SSL.
Phương pháp xác thực rồi mã hóa cung cấp tính tồn vẹn của bản rõ và
khả năng khơng phân biệt dưới tấn công lựa chọn bản rõ.
10
1.1.2.3. Mã hóa rồi xác thực (EtM)
AE = (K
,E,D)
cách kết hợp lược đồ mã hóa đối xứng SE = (Ke
,E,D)
Lược đồ mã hóa có xác thực
được xây dựng bằng
với lược đồ mã xác
thực thông báo MA = (Km,T ,tf ) bằng phương pháp mã hóa rồi xác thực như
sau:
*. Thuật tốn tạo khóa K
$
- Ke ⎯⎯ K e ;
$
- Km ⎯⎯ K m ;
- Return Ke || Km .
*. Thuật tốn mã hóa E (Ke || K m,M)
- C' E (K e,M );
- ' T (Km,C');
- C C'|| ';
- Return C.
*. Thuật toán giải mã D (Ke || Km,C)
- Phân tích C thành C'|| ' .
- v tf
(Km,C', ');
- Nếu v=1 thì tiếp tục giải mã, ngược lại return Fail.
- Return M D (K e,C').
Thông báo M sẽ được mã hóa cho ra bản mã C’. Tiếp theo, thẻ xác thực
được tạo ra từ bản mã C’. Bản mã và thẻ xác thực được gửi cùng nhau đến nơi
nhận để đảm bảo tính bí mật và xác thực. Quá trình giải mã và xác thực
được thực hiện bằng cách: đầu tiên xác minh thẻ, nếu thẻ
là chính xác sẽ
tiếp tục giải mã bản mã C’ để được thông báo là M, ngược lại dừng lại và
11
thông báo thẻ không hợp lệ. Đây là phương pháp có thể đạt được sự an tồn
cao nhất trong mã hóa có xác thực. Việc xác minh thẻ có thể cho ta biết được
tính tồn vẹn và xác thực của bản mã mà không cần tới giải mã. Phương pháp
này được sử dụng trong giao thức bảo mật IPsec.
1.1.2.4. So sánh các phương pháp mã hóa có xác thực
*. Phương pháp mã hóa và xác thực
- Đảm bảo tính tồn vẹn của thơng báo.
- Khơng đảm bảo tính tồn vẹn trên các bản mã, vì thẻ xác thực
được
tạo ra từ thơng báo.
- Nếu hệ mật có tính mềm dẻo (Melleable), nội dung của các bản mã có
thể thay đổi, nhưng khi giải mã, mã thám phải tìm ra thơng báo là hợp lệ.
- Trên lý thuyết, việc tiết lộ thông tin về thơng báo trong thẻ xác thực
là có thể, nhưng điều này chỉ xảy ra với điều kiện là các thông điệp rõ được lặp
đi lặp lại và các dữ liệu được xác thực không bao gồm một bộ đếm.
*. Phương pháp xác thực rồi mã hóa
- Đảm bảo tính tồn vẹn của thơng báo.
- Khơng đảm bảo tính tồn vẹn trên các bản mã, vì khơng thể biết được
liệu bản mã là giả mạo hay không cho đến khi thực hiện giải mã.
- Nếu hệ mật có tính mềm dẻo, nó có thể tạo ra thơng báo hợp lệ với
một thẻ xác thực
hợp lệ.
- Thẻ xác thực
không thể cung cấp bất kỳ thông tin nào về thông
báo.
*. Phương pháp mã hóa rồi xác thực
- Đảm bảo tính tồn vẹn của thơng báo.
- Đảm bảo tính tồn vẹn của bản mã. Với thẻ xác thực
, có thể suy ra
được liệu một bản mã là xác thực hoặc đã bị giả mạo.
- Nếu hệ mật có tính mềm dẻo, khơng cần phải quá quan tâm vì thẻ xác
thực
sẽ lọc ra các bản mã không hợp lệ này.
12
- Thẻ xác thực không cung cấp bất kỳ thông tin về thơng báo.
Tóm lại, mã hóa rồi xác thực là phương pháp lý tưởng nhất. Bất kỳ sự
sửa đổi bản mã mà có một thẻ xác thực khơng hợp lệ đều được lọc ra trước khi
giải mã. Thẻ xác thực không thể được sử dụng để suy ra bất cứ điều gì về
thơng báo. Cả 2 phương pháp mã hóa và xác thực và xác thực rồi mã hóa
cung cấp mức độ an tồn khác nhau, nhưng khơng phải là phương pháp hồn
chỉnh như mã hóa rồi xác thực.
Theo các chứng minh về sự an tồn được trình bày trong tài liệu [3], có
thể đưa ra sự an tồn của các phương pháp mã hóa có xác thực như sau:
Bảng 1.1. Sự an tồn của phương pháp mã hóa có xác thực
Tính bí mật
Phương pháp
Mã hóa và xác thực
Tính tồn vẹn
IND-
IND-
NM-
INT-
INT-
CPA
CCA
CPA
PTXT
CTXT
Khơng
Khơng
Khơng
an tồn
an tồn
an tồn
Khơng
Khơng
an tồn
an tồn
An tồn
An tồn
Xác thực rồi mã hóa An tồn
Mã hóa rồi xác thực An tồn
An tồn
An tồn
An tồn
Khơng
an tồn
Khơng
an tồn
An tồn
Trong đó :
- IND-CPA: Khả năng không phân biệt dưới tấn công lựa chọn bản rõ.
- IND-CCA: Khả năng không phân biệt dưới tấn cơng lựa chọn bản mã.
- NM-CPA: Tính khơng mềm dẻo dưới tấn cơng lựa chọn bản rõ.
- INT-PTXT: Tính tồn vẹn của bản rõ.
- INT-CTXT: Tính tồn vẹn của bản mã.
1.1.3. Mã hóa có xác thực với dữ liệu liên kết
Mã hố có xác thực với dữ liệu liên kết (AEAD - Authentiacted
Encryption with Associated Data) là một lược đồ mã hố cung cấp cả tính bí
13
mật và tính xác thực. Là phần mở rộng của mã hóa có xác thực với phần dữ
liệu liên kết khơng được mã hóa mà chỉ có chức năng bảo tồn tính tồn vẹn và
xác thực của thơng báo nhằm ngăn chặn các gói tin giả mạo.
Dữ liệu liên kết thông thường chứa các thông tin như:
- Định danh phiên liên lạc hoặc liên kết bảo mật.
- Địa chỉ nguồn và địa chỉ đích của thơng báo.
- Số thứ tự và các thông tin khác được gắn thêm.
Thông tin này có thể được truyền đi dưới dạng rõ, nhưng nội dung củanó
vẫn phải được đảm bảo tồn vẹn.
Người gửi A
Dữ liệu liên kết
Truyền
rõ
Giá trị
Nonce
Thơng báo
Khóa bí mật
Lƣợc đồ mã hóa
AEAD
Bản mã
Thẻ xác thực
Lƣợc đồ giải mã
AEAD
Thông báo
Hoặc
Giải mã thất bại
Người nhận B
Hình 1.1. Mã hóa có xác thực với dữ liệu liên kết
Dữ liệu đầu vào của lược đồ AEAD bao gồm thông báo là phần thông
tin cần gửi, phần thơng tin này u cầu phải được bảo đảm bí mật và xác thực;
phần liên kết dữ liệu – Associated Data cần được xác thực; giá trị Nonce ngẫu
14
nhiên, nó thường là duy nhất đối với mỗi thơng báo, nó có thể tùy biến gửi
hoặc khơng khi truyền bản mã từ nơi gửi đến nơi nhận; phần cuối cùng là
khóa bí mật. Khóa bí mật khơng truyền cùng với bản mã, nó được phân phối
trước tới các người sử dụng
Thơng báo M được mã hóa qua lược đồ AEAD tạo ra bản mã xác thực
gồm một bản mã C và một thẻ xác thực . Phần dữ liệu liên kết AD được gửi
cùng với bản mã xác thực trên được truyền dưới dạng rõ. Ba phần(AD || C || )
được truyền tới người nhận B. B sẽ tiến hành giải mã thơng báo, xác thực với
khóa bí mật được phân phối trước. Kết quả thu được là M’. Nếu q trình xác
thực được thơng qua thì M’ được chấp nhận là gửi từ chính người gửi A, ngược lại
nếu xác thực thất bại thì xác định thơng báo không phải được gửi từ A.
1.2. Mật mã hạng nhẹ
Một xu hướng phát triển mới của ngành CNTT ngày nay là việc triển
khai mở rộng các thiết bị tính tốn nhỏ. Các thiết bị này không chỉ thường
xuyên được sử dụng trong các mặt hàng tiêu dùng mà còn tạo thành một phần
không thể thiếu của cơ sở hạ tầng truyền thông phổ biến. Tuy nhiên, việc triển
khai như vậy rõ ràng sẽ mang lại một loạt các nguy cơ mất an tồn. Vì vậy,
cần có các giải pháp mật mã cho việc triển khai trên các thiết bị tính tốn nhỏ.
Chính sự phát triển của tính tốn khắp nơi, mà người ta cần những thuật
tốn hạng nhẹ để có thể cài đặt trong các thiết bị thâm nhập khắp nơi với kích
thước nhỏ và và năng lực tính tốn ở mức độ thích hợp. Mật mã hạng nhẹ
hướng tới việc tạo ra các giải pháp cài đặt rất gọn nhẹ nhưng khơng làm giảm
q nhiều về tính an tồn.
1.2.1. Khái quát về mật mã hạng nhẹ
1.2.1.1. Một số khái niệm cơ bản
Trong phần tổng quan chung của tiêu chuẩn ISO/IEC 29192 đã đưa ra
khái niệm cơ bản về mật mã hạng nhẹ. Mật mã hạng nhẹ là một loại mật mã
15
dùng cho mục đích bảo mật, xác thực, nhận dạng và trao đổi khóa, phù hợp
cài đặt cho những mơi trường hạn chế [3]. Những hạn chế đó dựa trên các
đánh giá về diện tích chip (chiparea), năng lượng tiêu thụ (energy
consumpiton), kích cỡ mã nguồn chương trình (program code size) kích cỡ
RAM, băng thơng (communication bandwidth) và thời gian thực thi
(execution time). Trong những trường hợp này, sử dụng các thuật toán mã
khối hạng nhẹ là phù hợp và cần được quan tâm nghiên cứu. Mật mã hạng nhẹ
là một nhánh nghiên cứu con của mật mã, hướng tới việc tối ưu sự tinh gọn của
hệ mật để có thể cài đặt và chạy hiệu quả trên các thiết bị vô cùng nhỏ bé và
bị giới hạn bởi năng lượng tiêu thụ và khả năng lưu trữ. Ví dụ như các thẻchip,
thẻ từ dùng gắn trên các bao bì sản phẩm hay có thể gắn vào bất cứ vật nào
chúng ta muốn theo dõi.
Hiện nay, các hệ thống đánh giá mật mã hạng nhẹ vẫn đang trong q
trình hồn thiện. Năm 2015 viện tiêu chuẩn và công nghệ quốc gia Hoa Kỳ
cũng đã bắt tay vào đánh giá và chuẩn hóa kỹ thuật mã hóa hạng nhẹ
1.2.1.2. Các khía cạnh của mật mã hạng nhẹ
- Thiết bị mục tiêu: Mật mã hạng nhẹ hướng đến một loạt các thiết bị
khác nhau có thể được thực hiện trên nhiều loại phần cứng và phần mềm. Trên
những thiết bị đắt tiền là máy chủ và máy tính để bàn, tiếp theo là máy tính
bảng và điện thoại thơng minh. Thuật tốn mật mã thơng thường có thể hoạt
động tốt trong các thiết bị này, do đó các nền tảng này có thể khơng u cầu
các thuật tốn hạng nhẹ. Cuối cùng, các thiết bị rẻ tiền là các thiết bị như các
hệ thống nhúng, các thiết bị RFID và các mạng cảm biến. Phương pháp mã
hóa hạng nhẹ chủ yếu tập trung vào các thiết bị bị hạn chế tài nguyên cao có
thể được tìm thấy ở các thiết bị rẻ tiền.
16
Bảng 1.2. Thiết bị mục tiêu
Máy chủ và Máy tính để bàn
Máy tính bảng và điện thoại thơng minh
Những hệ thống nhúng
RFID và Mạng cảm biến
Mật mã truyền thống
Mật mã hạng nhẹ
- Chỉ số hiệu suất: Trong thiết kế thuật tốn mật mã, có một sự cân
bằng giữa hiệu suất và các nguồn lực cần thiết cho một mức an tồn nhất
định. Hiệu suất có thể được thể hiện dưới dạng năng lượng, tiêu thụ năng
lượng, độ trễ và thông lượng.
- Chỉ số về phần cứng: Các yêu cầu tài nguyên cho nền tảng phần cứng
thường được mô tả trong các khu vực cổng. Khu vực thực hiện phụ thuộc vào
công nghệ và thư viện tiêu chuẩn và được đo bằng
m2 . Diện tích có thể được
biểu diễn theo dạng các trang cho FPGA, hoặc bằng các cổng tương đương
(GEs) để thực hiện ASIC.
- Chỉ số dành riêng cho phần mềm: Đối với các ứng dụng phần mềm,
các yêu cầu về tài nguyên có thể được đo bằng số thanh ghi, cũng như sốlượng
byte RAM và ROM được yêu cầu. Chức năng của chúng là sử dụng một số
lượng nhỏ các thanh ghi có giá trị gọi thấp hơn, vì ít biến hơn phải được xếp
chồng trước khi thanh ghi có thể bị ghi đè. ROM được sử dụng đểlưu trữ mã và
có thể bao gồm cả dữ liệu cố định.
1.2.1.3. Nguyên lý thiết kế thuật toán mật mã hạng nhẹ
Vấn đề chính của mật mã hạng nhẹ là “thỏa hiệp” giữa độ an tồn và
tính hiệu quả trong cài đặt của các thuật toán mật mã và được thể hiện trong
Hình 1.2.
Về độ an tồn, mục tiêu xây dựng các hệ mật mã hạng nhẹ là thiết kế
một hệ mật khơng q yếu (và khơng với mục đích thay thế các thuật toán
mật mã truyền thống khác), nhưng phải đủ an tồn (tất nhiên khơng thể kháng
17
lại được các đối phương có đủ mọi điều kiện), chi phí (cài đặt, sản xuất) thấp
và một yêu cầu quan trọng đối với các thiết bị kiểu này là tính gọn nhẹ. Tóm
lại, cần xây dựng một hệ mật không phải tốt nhất, mà phải cân bằng giữa giá
thành, hiệu suất và độ an tồn. Tuy nhiên, rất khó để có thể tối ưu hóa cả 3 khí
cạnh dưới đây.
Hình 1.2. Ba ngun lý thiết kế thuật tốn mật mã hạng nhẹ
Về hiệu quả trong cài đặt, thường được đánh giá qua các độ đo sau: diện
tích bề mặt (Area), điện năng tiêu thụ và thơng lượng. Trong đó, tỷ lệ thơng
lượng với diện tích, được dùng làm độ đo cho tính hiệu quả phần cứng.
1.2.1.4. Các nguyên thủy mật mã hạng nhẹ
ECRYPT (European Network of Excellence for Cryptology) là một
sáng kiến nghiên cứu về mật mã ở châu Âu [3], được bắt đầu vào năm 2004.
ECRYPT đã giới thiệu 4 loại nguyên thủy mật mã hạng nhẹ tương tự với mật
mã truyền thống là mã khối, mã dòng, hàm băm và mã xác thực thông báo.
18
Mã
khối
Mã xác
thực
thơng báo
Mật mã
hạng
nhẹ
Mã
dịng
Hàm
băm
Hình 1.3. Các ngun thủy mật mã hạng nhẹ
*. Mã khối hạng nhẹ
Một số lượng lớn mật mã khối hạng nhẹ được đề xuất để đạt đượcnhững
ưu điểm về hiệu suất so với Tiêu chuẩn mã hóa nâng cao của NIST (AES), đặc
biệt là AES-128. Một số mật mã được thiết kế bằng cách đơn giản hoá các mật
mã khối thơng thường, mật mã được phân tích tốt để nâng cao hiệu quả của
chúng. Các lợi ích hiệu suất của mật mã khối hạng nhẹ đối với mật mã khối
thông thường được thực hiện bằng cách sử dụng các lựa chọn thiết kế hạng
nhẹ, chẳng hạn như: kích thước khối nhỏ hơn, kích thước khóa nhỏ hơn, các
vịng đơn giản, lược đồ khóa đơn giản.
*. Hàm băm hạng nhẹ
Các hàm của Hash thơng thường có thể khơng phù hợp với các môi
trường bị hạn chế, chủ yếu là do kích thước các lệnh lớn và yêu cầu tiêu thụ
năng lượng cao. Điều này đã dẫn tới sự phát triển các hàm băm hạng nhẹ,
chẳng hạn như Photon, Quark, Spongent, và Lesamnta-LW. Việc sử dụng hàm
băm thông thường và hạng nhẹ sẽ khác nhau trong nhiều khía cạnh như: Kích
thước đầu ra và trạng thái bên trong nhỏ hơn, kích thước thơng báo nhỏ hơn.
*. Mã xác thực thông báo hạng nhẹ
19
Một mã xác thực thông báo (MAC) tạo ra một thẻ từ một thơng báo và
một khóa bí mật, được sử dụng để xác minh tính xác thực của thơng báo. Kích
thước thẻ ít nhất là 64 bit cho các ứng dụng điển hình. Đối với một số ứng
dụng nhất định như VoIP (Voice over IP), đôi khi chấp nhận một thơng báo
khơng bảo đảm có thể có tác động hạn chế đến tính bảo mật của ứng dụng, do
đó các thẻ ngắn hơn có thể được sử dụng sau khi xem xét cẩn thận. Chaskey,
TuLP và LightMAC là một số ví dụ về các thuật tốn MAC hạng nhẹ.
*. Mật mã dòng hạng nhẹ
Mật mã dòng cũng đáp ứng các ngun thủy cho các mơi trường có
nguồn tài ngun bị hạn chế. Cuộc thi eSTREAM, được tổ chức bởi Mạng
lưới Châu Âu về tính hồn hảo của mật mã, nhằm xác định các mật mã dịng
mới có thể phù hợp để áp dụng rộng rãi. Các vòng chung kết của cuộc thi đã
được công bố trong năm 2008 và bao gồm ba mật mã dòng cho các ứng dụng
phần cứng với các nguồn tài nguyên hạn chế:
Grain được phân tích rộng rãi, cung cấp sự thực hiện linh hoạt và có
một phiên bản hỗ trợ xác thực.
Trivium là một thiết kế phân tích tốt, linh hoạt; tuy nhiên, nó chỉ hỗ trợ
các khóa 80-bit.
Mickey ít được phân tích hơn so với Grain và Trivium, và tính bảo mật
của nó chủ yếu phụ thuộc vào độ khó của phân tích. Nó cung cấp sự linh hoạt
ít hơn và dễ bị phân tích về thời gian và cơng suất do xung nhịp bất thường.
1.2.1.5. Ứng dụng mật mã hạng nhẹ
Hầu hết các thuật toán mật mã hạng nhẹ đều ra đời và phát triển cho
từng yêu cầu cụ thể. Chúng phù hợp với những ứng dụng, thiết bị có cấu hình
nhỏ gọn, tốc độ xử lý nhanh và nhiều trong một khoảng thời gian cố định, yêu
cầu bảo mật không quá cao.
20
Với những thiết kế riêng của mình, mật mã hạng nhẹ có những lợi ích
đặc trưng:
- u cầu nguồn tài nguyên thấp, năng lượng tiêu thụ nhỏ, phù hợp với
những trang thiết bị cấu hình nhỏ. Vì các giải pháp trong mật mã hạng nhẹ
đều hướng đến việc cài đặt rất gọn nhẹ trên những thiết bị có năng lực tính
tốn thấp.
- Giá thành rẻ. Mật mã hạng nhẹ thường được ứng dụng trong những
thiết bị có tính thâm nhập khắp nơi, dẫn đến việc triển khai hàng loạt, làm
giảm giá thành của công nghệ được sử dụng.
- Hoạt động rất nhanh, thực hiện đầy đủ và hiệu quả công việc mà nó
cần hồn thành.
1.2.2. Mật mã khối hạng nhẹ
1.2.2.1. Ý tưởng thiết kế thuật toán mã khối hạng nhẹ
Một câu hỏi mà tất cả các nhà thiết kế cần giải quyết trong khi thiết kế
bất kỳ mã pháp nào là “độ an tồn bao nhiêu thì được coi là đủ an tồn”. Do
đó, nếu một cơ chế an tồn được triển khai không được sử dụng đầy đủ khả
năng của nó sẽ dẫn tới việc lãng phí tài ngun. Một ví dụ, đều biết rằng AES
đã được phân tích rộng rãi đối với độ an tồn của nó. Cho đến nay, nó đã được
chứng minh kháng lại rất nhiều tấn cơng. Do đó, thật lý tưởng khi các nhà cung
cấp phát triển được thuật toán AES trong các thiết bị. Tuy nhiên, một vấn đề
gặp phải đối với AES là nó rất cồng kềnh và cần rất nhiều tài ngun cho việc
cài đặt. Ngồi ra, nó cung cấp độ an tồn nhiều hơn những gì cần thiết cho
việc sử dụng. Vì vậy, cần thấy rằng để thiết kế một nguyên thủy mật mã phù
hợp với các tài nguyên bị hạn chế của các thiết bị nhỏ và cùng lúc các nguyên
thủy này cũng cung cấp độ an toàn đầy đủ cho việc sử dụng. Đây cũng chính
là một trong những nguyên nhân chính thúc đẩy mật mã hạng nhẹ phát triển.