Tải bản đầy đủ (.pdf) (86 trang)

Luận văn thạc sĩ khoa học máy tính: Nghiên cứu hai hệ mật mã hạng nhẹ giành chiến thắng trong cuộc thi CAESAR ACORN và ASCON

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.88 MB, 86 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

KHUẤT QUANG DUY

NGHIÊN CỨU HAI HỆ MẬT MÃ HẠNG NHẸ GIÀNH
CHIẾN THẮNG TRONG CUỘC THI CAESAR
ACORN VÀ ASCON

LUẬN VĂN THẠC SĨ
Ngành: Khoa học máy tính

HÀ NỘI - 2019


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

KHUẤT QUANG DUY

NGHIÊN CỨU HAI HỆ MẬT MÃ HẠNG NHẸ GIÀNH
CHIẾN THẮNG TRONG CUỘC THI CAESAR
ACORN VÀ ASCON

Ngành: Khoa học máy tính
Chuyên ngành: Khoa học máy tính
Mã số: 8480101.01

LUẬN VĂN THẠC SĨ
Ngành: Khoa học máy tính


CÁN BỘ HƯỚNG DẪN
TS. Lê Phê Đô

HÀ NỘI - 2019


i

TÓM TẮT
Tóm tắt: Mật mã có xác thực và mật mã nhẹ đang là những chủ đề nóng trong cộng đồng
mật mã những năm gần đây. Nhu cầu về mật mã nhẹ, có xác thực xuất phát từ sự phát
triển bùng nổ của hệ thống vạn vật kết nối (Internet of Things – IoT), nơi mà rất nhiều
thiết bị nhỏ gọn, năng lực tính toán thấp và giới hạn về tài nguyên được kết nối với nhau.
Cùng với đó là sự xuất hiện của các lỗ hổng bảo mật trên các giao thức phổ biến hiện nay.
Một số cuộc tấn công thực tế được đưa vào các giao thức (bao gồm SSL/TLS) là do thiếu
xác thực và kiểm tra tính toàn vẹn của dữ liệu. Do đó, cần có những tiêu chuẩn mật mã
mới để đảm bảo được tính xác thực dữ liệu, đồng thời có khả năng thực thi trên những
thiết bị hạn chế về tài nguyên. Cuộc thi CAESAR nhằm kêu gọi cộng đồng mật mã thiết
kế các chương trình mật mã có xác thực mới đã được khởi xướng năm 2013. Trong đó có
rất nhiều ứng viên là các hệ mật mã nhẹ. Luận văn này sẽ tập trung nghiên cứu hai ứng
viên giành chiến thắng ở hạng mục mật mã nhẹ của cuộc thi CAESAR là ACORN và
Ascon. Phân tích, đánh giá các đặc trưng an toàn và hiệu suất của các thuật toán. Đồng
thời cài đặt thực nghiệm những thuật toán này trên điện thoại thông minh chạy hệ điều
hành Android.
Từ khóa: mật mã nhẹ, mật mã có xác thực, ACORN, Ascon, CAESAR


ii

LỜI CẢM ƠN

Đầu tiên, tôi muốn gửi lời cảm ơn chân thành nhất tới tiến sĩ Lê Phê Đô, người đã
luôn tận tình hướng dẫn tôi nghiên cứu đề tài này. Nếu không có sự định hướng, những
lời dạy bảo của thầy thì luận văn này tôi rất khó có thể hoàn thiện được.
Tôi xin cảm ơn Khoa công nghệ thông tin, Trường Đại học Công nghệ đã tạo điều
kiện, môi trường thuận lợi cho học viên trong quá trình học tập, nghiên cứu và hoàn thiện
luận văn thạc sĩ.
Tôi xin bày tỏ lòng kính trọng và biết ơn sâu sắc tới các thầy, cô, bạn bè trong khoa
Công nghệ thông tin, ngành Khoa học máy tính, đã luôn nhiệt tình giúp đỡ tôi trong suốt
quá trình học tập và nghiên cứu.
Cuối cùng, tôi muốn gửi lời cảm ơn tới gia đình, người thân, những người luôn quan
tâm, động viên để giúp tôi có động lực học tập, nghiên cứu và hoàn thiện đề tài nghiên
cứu này.
Bước đầu đi vào nghiên cứu, tìm hiểu các vấn đề về An toàn thông tin với kiến thức
còn hạn chế, do vậy tôi không tránh khỏi những thiếu sót trong luận văn này. Tôi rất
mong nhận được những ý kiến đóng góp của các thầy cô và bạn bè để hoàn thiện luận văn
hơn nữa.
Tôi xin chân thành cảm ơn!


iii

LỜI CAM ĐOAN
Tôi xin cam đoan các kết quả trong luận văn này là do tôi thực hiện dưới sự hướng
dẫn của tiến sĩ Lê Phê Đô.
Tất cả các tham khảo từ những nghiên cứu liên quan đều được trích dẫn nguồn gốc
một cách rõ ràng từ danh mục tài liệu tham khảo trong luận văn. Luận văn không sao chép
tài liệu, công trình nghiên cứu của người khác mà không chỉ rõ về mặt tài liệu tham khảo.
Các kết quả thực tế của luận văn đều được tiến hành thực nghiệm.
Nếu phát hiện có bất kỳ sự gian lận nào, tôi xin hoàn toàn chịu trách nhiệm trước hội
đồng, cũng như kết quả luận văn tốt nghiệp của mình.

Hà Nội, ngày

tháng
Học viên

năm

,


iv

MỤC LỤC
TÓM TẮT .........................................................................................................................i
LỜI CẢM ƠN ................................................................................................................. ii
LỜI CAM ĐOAN ........................................................................................................... iii
MỤC LỤC ....................................................................................................................... iv
DANH MỤC HÌNH VẼ...................................................................................................vi
DANH MỤC BẢNG BIỂU ............................................................................................vii
DANH MỤC VIẾT TẮT .............................................................................................. viii
MỞ ĐẦU .......................................................................................................................... 1
Chương 1: TỔNG QUAN ................................................................................................. 3
1.1.

Mật mã nhẹ .......................................................................................................... 3

1.1.1.

Khái niệm ..................................................................................................... 3


1.1.2.

Nguyên lý thiết kế ......................................................................................... 3

1.1.3.

Quá trình phát triển ....................................................................................... 5

1.2.

Mã hóa có xác thực .............................................................................................. 6

1.2.1.

Khái niệm ..................................................................................................... 6

1.2.2.

Nguyên lý thiết kế ......................................................................................... 7

1.2.3.

Quá trình phát triển ....................................................................................... 8

1.3.

Cuộc thi CAESAR ............................................................................................. 10

Chương 2: HAI HỆ MẬT MÃ HẠNG NHẸ GIÀNH CHIẾN THẮNG TRONG CUỘC
THI CAESAR: ACORN VÀ ASCON ............................................................................ 16

2.1.

Hệ mã ACORN ................................................................................................. 16

2.1.1.

Tổng quan về thuật toán .............................................................................. 16

2.1.2.

Các đặc trưng an toàn trong thiết kế của thuật toán ..................................... 23

2.1.3.

Một số cuộc tấn công lên hệ mã ACORN .................................................... 26

2.1.4.

Hiệu suất của thuật toán .............................................................................. 32

2.2.

Hệ mã Ascon ..................................................................................................... 32

2.2.1.

Tổng quan về thuật toán .............................................................................. 32

2.2.2.


Các đặc trưng an toàn của thuật toán ........................................................... 40

2.2.3.

Một số cuộc tấn công lên hệ mã Ascon ....................................................... 44


v
2.2.4.

Hiệu suất của thuật toán .............................................................................. 50

Chương 3: CÀI ĐẶT THỰC NGHIỆM TRÊN THIẾT BỊ ANDROID ........................... 53
3.1.

Mô tả bài toán .................................................................................................... 53

3.2.

Cài đặt ............................................................................................................... 53

3.2.1.

Môi trường thực nghiệm ............................................................................. 53

3.2.2.

Cài đặt thuật toán ACORN (v3), Ascon-128 (v1.2) và AES-128-GCM ....... 54

3.2.3.


Ứng dụng truyền dữ liệu đa phương tiện ..................................................... 56

3.3.

Kết quả và đánh giá ........................................................................................... 59

3.3.1.

Thời gian thực thi ........................................................................................ 60

3.3.2.

Kích thước bộ nhớ RAM sử dụng ............................................................... 61

3.3.3.

Truyền video trong thời gian thực ............................................................... 62

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ....................................................................... 63
TÀI LIỆU THAM KHẢO............................................................................................... 65


vi

DANH MỤC HÌNH VẼ
Hình 1.1: Nguyên lý thiết kế của mật mã nhẹ .................................................................... 4
Hình 1.2: Số lượng mật mã nhẹ đối xứng tính đến 2017.................................................... 6
Hình 1.3: Mã hóa có xác thực ........................................................................................... 7
Hình 1.4: Nguyên lý thiết kế mật mã có xác thực .............................................................. 7

Hình 2.1: Kiến trúc thanh ghi dịch của ACORN [19] ...................................................... 16
Hình 2.2: Lược đồ mã hóa của ACORN [20] .................................................................. 20
Hình 2.3: Cơ chế hoạt động của Ascon [32] .................................................................... 34
Hình 2.4: Cấu trúc từ thanh ghi trạng thái của Ascon [32] ............................................... 37
Hình 2.5: Cấu trúc lớp thay thế của Ascon [32]............................................................... 38
Hình 2.6: Triển khai bitsliced của S-box 5 bit S(x) [32] .................................................. 39
Hình 2.7: Lớp khuếch tán tuyến tính của Ascon, trộn các bit trong các từ thông qua hàm
∑𝑖 (𝑥𝑖 ) [32]...................................................................................................................... 40
Hình 3.1: Java Native Interface trong Android ................................................................ 56
Hình 3.2: Kiến trúc ứng dụng CryptoCamera .................................................................. 57
Hình 3.3: Giao tiếp socket thông qua giao thức UDP ...................................................... 58
Hình 3.4: Ứng dụng CryptoTest để đánh giá thời gian thực thi ....................................... 59
Hình 3.5: Ứng dụng CryptoCamera truyền video mã hóa thời gian thực ......................... 60
Hình 3.6: Thời gian thực thi của các thuật toán ............................................................... 61
Hình 3.7: Kích thước bộ nhớ RAM bị chiếm khi thực hiện mã hóa – giải mã.................. 62


vii

DANH MỤC BẢNG BIỂU
Bảng 1.1: Số lượng ứng viên tham dự CAESAR............................................................. 11
Bảng 1.2: Các ứng viên bị loại và rút khỏi cuộc thi ......................................................... 11
Bảng 1.3: Một số cuộc tấn công trên các ứng viên của CAESAR .................................... 13
Bảng 2.1: Sự khác nhau giữa ACORN-v1 và ACORN-v2,v3 .......................................... 19
Bảng 2.2: Một số cuộc tấn công lên hệ mã ACORN ....................................................... 26
Bảng 2.3: Tốc độ (cpb) của ACORN với các độ dài bản rõ khác nhau ............................ 32
Bảng 2.4: Các tham số cài đặt đề xuất cho Ascon [32] .................................................... 33
Bảng 2.5: Hằng số vòng sử dụng trên các hoán vị pa và pb [32] ....................................... 37
Bảng 2.6: S-box 5 bit của Ascon [32] ............................................................................. 38
Bảng 2.7: Tuyến bố bảo mật của Ascon [32] ................................................................... 40

Bảng 2.8: Đặc trưng vi sai của S-box trong Ascon. [32].................................................. 41
Bảng 2.9: Đặc trưng tuyến tính của S-box trong Ascon [32] ........................................... 42
Bảng 2.10: Số lượng S-box hoạt động trong 4 vòng của hoán vị ..................................... 44
Bảng 2.11: Vi sai không thể trên 5 vòng của Ascon [32] ................................................. 44
Bảng 2.12: Một số cuộc tấn công lên Ascon ................................................................... 45
Bảng 2.13: Độ lệch đầu ra x0[i+1] tương ứng với vi sai ở bit đầu vào x3[i] và x4[i] của Sbox [41] .......................................................................................................................... 48
Bảng 2.14: Hiệu suất phần mềm (cycles per byte - cpb) trong trường hợp....................... 51


viii

DANH MỤC VIẾT TẮT
Dạng đầy đủ

Ký hiệu
AES

Advanced Encryption Standard: là một
thuật toán mã hóa khối được chính phủ Hoa
kỳ áp dụng làm tiêu chuẩn mã hóa

GCM

Galois/Counter Mode: là một chế độ điều
khiển trong mã hóa khối khóa đối xứng

IoT

Internet of Things – Vạn vật kết nối: Một
kịch bản của thế giới, khi mà mỗi đồ vật,

con người được cung cấp một định danh
của riêng mình, và tất cả có khả năng
truyền tải, trao đổi thông tin, dữ liệu qua
một mạng duy nhất mà không cần đến sự
tương tác trực tiếp giữa người với người,
hay người với máy tính

CAESAR

Competition for Authenticated Encryption:
Security, Applicability and Robustness:
cuộc thi lựa chọn một thuật toán mã hóa có
xác thực đảm bảo ba yếu tố là tính bảo mật,
khả năng ứng dụng và độ mạnh

RFID

Radio Frequency Identification: Hệ thống
nhận dạng bằng tần số của sóng vô tuyến

RAM

Random Access Memory: một loại bộ nhớ
khả biến cho phép truy xuất đọc-ghi ngẫu
nhiên đến bất kỳ vị trí nào trong bộ nhớ dựa
theo địa chỉ bộ nhớ

PC

Personal Computer: máy tính cá nhân


NIST

National

Institute

of

Standards

and

Technology: Viện tiêu chuẩn và Công nghệ


ix
của Mỹ
AE

Authenticated Encryption: mã hóa có xác
thực

AEAD

Authenticated encryption with associated
data: mã hóa có xác thực với dữ liệu liên
kết

MAC


Message authentication code: Mã xác thực
thông báo

SSL/TLS

Secure

Sockets

Layer/Transport

Layer

Security: là các giao thức mật mã được thiết
kế để cung cấp truyền thông an toàn qua
một mạng máy tính
IND-CPA

Indistinguishability under chosen-plaintext
attack: định nghĩa về an toàn cho hệ khóa
công khai

WPA

Wifi Protected Access: Phương thức được
liên minh Wifi đưa ra để thay thế WEP

WEP


Wired Equivalent Privacy: Cơ chế bảo mật
được định nghĩa trong tiêu chuẩn 802.11
được thiết kế để tạo sự liên kết toàn vẹn của
mạng không dây tương đương như mạng có
dây

Ethernet

Một công nghệ mạng cục bộ nhằm chuyển
thông tin giữa các máy tính với tốc độ từ
10-100 triệu bít một giây (Mbps)

OpenVPN

Một phần mềm mạng riêng ảo mã nguồn
mở dành cho việc tạo các đường ống
(tunnel) điểm-tới-điểm được mã hóa giữa
các máy chủ


x
LUTs

Lookup table - bảng tra cứu

GE

Gate equivalence: Cổng tương đương - một
đơn vị đo lường cho phép xác định độ phức
tạp độc lập về công nghệ sản xuất của các

mạch điện tử kỹ thuật số

UDP

User Datagram Protocol: giao thức giúp
chương trình trên mạng máy tính có thể gửi
những dữ liệu ngắn tới máy khác. UDP
không cung cấp sự tin cậy và thứ tự truyền
nhận

MSB

Most significant bit: bit có trọng số cao
nhất

LSB

Least significant bit: bit có trọng số thấp
nhất


1

MỞ ĐẦU
1.

Cơ sở khoa học và tính thực tiễn của đề tài
Trong thời đại phát triển bùng nổ của cuộc cách mạng công nghiệp 4.0, nhu cầu về

kết nối và trao đổi thông tin ngày càng trở nên mạnh mẽ. Đi cùng với đó là yêu cầu về vấn

đề đảm bảo an toàn thông tin.
Hiện nay, phương pháp chủ yếu được sử dụng để đảm bảo được tính bí mật và an
toàn cho thông tin là mã hóa dữ liệu. Tuy nhiên, trong nhiều trường hợp, mã hóa đơn
thuần là không đủ mạnh trước các cuộc tấn công phát lại, hay tấn công người đứng giữa
(man-in-the-middle). Đòi hỏi cần có cơ chế xác thực để chống lại các dạng tấn công này.
Kể từ năm 2017, AES-GCM đã trở thành thuật toán mã hóa được sử dụng phổ biến với
mục đích đảm bảo đồng thời tính bí mật và tính xác thực cho dữ liệu. Tuy nhiên những lỗ
hổng bảo mật được phát hiện gần đây đã đặt ra yêu cầu định nghĩa một tiêu chuẩn mật mã
có xác thực mới.
Bên cạnh vấn đề về tăng cường bảo mật thông qua các hệ mật mã có xác thực, yêu
cầu về các hệ mật mã nhẹ cũng phản ánh nhu cầu của thời đại. Trong bối cảnh mạng kết
nối vạn vật IoT đang phát triển ngày càng nhanh, không chỉ những thiết bị truyền thống
với khả năng xử lý mạnh mẽ như PC, laptop, điện thoại di động, mà còn có rất nhiều các
thành phần khác, với khả năng tính toán và cơ sở phần cứng hạn chế được kết nối vào các
mạng IoT (như các cảm biến, thẻ thông minh, thiết bị y tế, …). Do đó, cần xây dựng
những mật mã có khả năng thực thi trên môi trường tài nguyên giới hạn trong khi vẫn
đảm bảo được độ an toàn cần thiết.
Mật mã có xác thực và mật mã nhẹ là những chủ đề mới đang thu hút sự quan tâm
của cộng đồng mật mã. Hiện nay, vẫn chưa có những tiêu chuẩn được đặt ra cho các dạng
mật mã này. Các cuộc thi được tổ chức ở thời điểm hiện tại mới chỉ nhằm mục đích thúc
đẩy cộng đồng xây dựng những hệ mật mã mới, lựa chọn ra các mật mã xuất sắc nhất để
tạo tiền đề cho các quá trình tiêu chuẩn hóa. Trong bối cảnh đó, luận văn lựa chọn nghiên
cứu về hai hệ mật mã có xác thực hạng nhẹ ACORN và Ascon. Phân tích, đánh giá và cài
đặt thực nghiệm, so sánh với mật mã đang được sử dụng phổ biến hiện nay là AES-GCM.


2
Từ đó, đưa ra những kết quả về tính khả thi cũng như ưu điểm trong việc ứng dụng các hệ
mật mã mới này.
2.


Nội dung nghiên cứu
Nội dung chính của luận văn được trình bày trong 3 chương:
Chương 1: Giới thiệu tổng quan về mật mã nhẹ, mật mã có xác thực (một số khái

niệm, nguyên lý thiết kế, quá trình phát triển) và cuộc thi CAESAR.
Chương 2: Nghiên cứu hai hệ mật mã nhẹ giành chiến thắng trong cuộc thi
CAESAR: ACORN và Ascon. Trình bày tổng quan thuật toán. Đánh giá các thuật toán
trên phương diện đặc trưng an toàn và hiệu suất trong cài đặt.
Chương 3: Cài đặt và so sánh hiệu suất của các thuật toán ACORN, Ascon và AESGCM trên điện thoại thông minh chạy hệ điều hành Android. Xây dựng và đánh giá tính
khả thi của ứng dụng truyền video thời gian thực sử dụng các thuật toán mã hóa nói trên.


3

Chương 1: TỔNG QUAN
1.1. Mật mã nhẹ
1.1.1.

Khái niệm

Hiện nay, vẫn chưa có một định nghĩa chính thức nào về mật mã nhẹ được công bố
bởi các hệ thống đánh giá mật mã tiêu chuẩn. Tuy nhiên, trong nhiều nghiên cứu, mật mã
nhẹ có thể được hiểu là những thuật toán và giao thức mật mã được thiết kế để phù hợp
cho việc cài đặt trên các môi trường bị hạn chế về tài nguyên như các thẻ RFID, cảm biến,
thẻ thông minh, các hệ thống nhúng, …
Các đặc trưng của mật mã nhẹ được mô tả trong tiêu chuẩn ISO/IEC 29192 [1].
Theo đó, độ an toàn tối thiểu của mật mã nhẹ là 80 bit. Đặc tính “nhẹ” phụ thuộc vào nền
tảng cài đặt. Đối với triển khai phần cứng, đặc tính này được tính toán và đo lường thông
qua diện tích chip và năng lượng tiêu thụ. Đối với triển khai phần mềm, kích thước mã

nguồn, kích thước RAM lại là các tiêu chí đánh giá. Ngoài ra, một số đặc trưng khác như
hiệu suất đối với bản tin ngắn hay độ trễ cũng được sử dụng để đánh giá các mật mã nhẹ.
1.1.2.

Nguyên lý thiết kế

Có nhiều cách tiếp cận trong việc tìm kiếm giải pháp để giải quyết các vấn đề cần
đến mật mã nhẹ:
-

Sử dụng các mật mã truyền thống, nếu có thể

-

Điều chỉnh các mật mã truyền thống để thích nghi với các thành phần phần
cứng và những giới hạn của hệ thống với chi phí thấp.

-

Xây dựng, phát triển các giải pháp, thuật toán mới, chuyên dụng trên cả phần
cứng và phần mềm.

Cho đến nay, hầu hết các nghiên cứu đều tập trung vào hướng tiếp cận thứ 3 và đã
đạt được những kết quả tốt. Tuy nhiên việc xây một thuật toán mật mã thực thi được trên
cơ sở phần cứng hạn chế cũng có thể phải đánh đổi bằng độ bảo mật hoặc độ bền tổng thể
suy giảm.
Do đó, để thiết kế được một thuật toán mật mã nhẹ trong khi vẫn đảm bảo mức độ
an toàn cần thiết, người thiết kế phải cân đối giữa 3 tiêu chí: an toàn, hiệu suất và chi phí
(Hình 1.1)



4

An toàn
48 vòng

256 bit

Kích thước khóa

Số vòng

80 bit

8 vòng

Chi phí

Hiệu suất
Kiến trúc
Nối tiếp

Song song

Hình 1.1: Nguyên lý thiết kế của mật mã nhẹ
Trên thực tế, có thể dễ dàng đạt được hai trong số ba mục tiêu thiết kế. Trong khi
đảm bảo được cả ba mục tiêu lại là một nhiệm vụ khá khó khăn. Ví dụ, có thể thiết kế
được một thuật toán có độ an toàn và hiệu suất tốt, nhưng để thực thi thuật toán lại yêu
cầu phần cứng với diện tích mạch lớn, dẫn đến tăng chi phí.
Một số phương pháp thường được các nhà mật mã học sử dụng để đạt được các mục

tiêu trong thiết kế mật mã nhẹ:
-

Giảm kích thước các tham số chính của thuật toán: kích thước khối dữ liệu,
kích thước khóa, hay kích thước trạng thái của thuật toán.

-

Bù đắp sự mất mát không mong muốn về độ an toàn do thiết kế của thuật
toán, dựa trên các nghiên cứu đáng tin cậy đã có. Thông thường được thực
hiện bởi các chuyển đổi tuyến tính/phi tuyến cơ bản.

-

Lựa chọn những kỹ thuật đơn giản nhưng vẫn đạt hiệu quả tốt, ví dụ như các
bit điều khiển hoán vị (lựa chọn hoán vị phù hợp phụ thuộc vào giá trị của bit
điều khiển), hay các thanh ghi dịch.


5
-

Sử dụng các phép biến đổi (transformations) phù hợp với tài nguyên của từng
bộ mã hóa cụ thể (ví dụ: yêu cầu giảm bộ nhớ nhưng phải trả giá bằng tốc độ
mã hóa và ngược lại).

1.1.3.

Quá trình phát triển


Nhu cầu về mật mã nhẹ xuất phát từ một thực tế rằng mạng lưới kết nối vạn vật
(IoT) ngày càng phát triển mạnh. Số lượng lớn thiết bị được kết nối với nhau đồng nghĩa
với việc những rủi ro về bảo mật sẽ tăng lên. Hơn nữa, không phải chỉ những thiết bị
truyền thống với khả năng xử lý mạnh mẽ như PC, laptop, điện thoại di động, mà còn có
rất nhiều các thành phần khác, với khả năng tính toán và cơ sở phần cứng hạn chế được
kết nối vào các mạng IoT (như các cảm biến, thẻ thông minh, thiết bị y tế, …). Do đó, yêu
cầu đặt ra là cần xây dựng những mật mã có khả năng thực thi trên môi trường tài nguyên
giới hạn trong khi vẫn đảm bảo được được độ an toàn cần thiết.
Nghiên cứu về mật mã nhẹ trở nên phát triển từ năm 2004 với dự án đầu tiên được
chọn làm chủ đề cho Chương trình Khung (Framework Programmes) lần thứ 6 và 7 của
Liên minh Châu Âu. Quá trình tiêu chuẩn hóa vẫn đang được hoàn thiện, bao gồm tiêu
chuẩn ISO/IEC 29192, trong đó định nghĩa các thuật toán mật mã nhẹ cho từng lĩnh vực
kỹ thuật và ISO/IEC 29167, mô tả công nghệ mật mã nhẹ cho các thiết bị nhận dạng tần
số vô tuyến (RFID). Viện Tiêu chuẩn và Kĩ thuật Quốc gia (NIST) Hoa Kỳ cũng đã tổ
chức những hội thảo về mật mã nhẹ từ năm 2015 và chính thức phát động chương trình
“Lightweight Cryptography” để thu hút, đánh giá và chuẩn hóa mật mã nhẹ vào năm 2017
[2].
Trong vòng 25 năm qua, đặc biệt từ năm 2011, rất nhiều thuật toán mã hóa theo
khuynh hướng “nhẹ” đã ra đời. Dưới đây là thống kê số lượng mật mã nhẹ đối xứng tính
đến năm 2017 (Hình 1.2) [3]


6

Hình 1.2: Số lượng mật mã nhẹ đối xứng tính đến 2017
Tháng 4/2019, NIST đã công bố danh sách 56 thành viên (trên tổng số 57 yêu cầu
được gửi đến) cho vòng đầu tiên của dự án “Lightweight Cryptography” [2]. Chương
trình hứa hẹn sẽ tìm ra được những ứng viên chiến thắng, trở thành tiêu chuẩn mật mã nhẹ
và được sử dụng rộng rãi trên toàn bộ thị trường.
1.2. Mã hóa có xác thực

1.2.1.

Khái niệm

Cũng tương tự như mật mã nhẹ, mã hóa có xác thực đang là một hướng đi mới trong
cộng đồng mật mã hiện nay. Trong các nghiên cứu được công bố, nhìn chung mã hóa có
xác thực (AE – Authenticated Encryption) có thể được hiểu là một hình thức mã hóa đảm
bảo đồng thời tính bảo mật, tính toàn vẹn và tính xác thực của dữ liệu.
Biến thể phổ biến nhất của AE là mã hóa có xác thực với dữ liệu liên kết (AEAD –
Authenticated encryption with associated data). AEAD gắn dữ liệu liên kết (AD) với bản
mã và bối cảnh nơi nó xuất hiện, do đó giúp phát hiện và ngăn chặn những nỗ lực “cắt và
dán” (copy-and-paste) bản mã hợp lệ sang một ngữ cảnh khác.


7
Bản rõ

Khóa

Dữ liệu liên kết

Mã hóa có xác thực

Nonce

Bản mã

Dữ liệu liên kết

Thẻ xác thực


Hình 1.3: Mã hóa có xác thực
1.2.2.

Nguyên lý thiết kế

Cách tự nhiên nhất để xây dựng các lược đồ mã hóa xác thực là kết hợp các nguyên
thủy mã hóa hiện có. Phương pháp này được gọi là “generic composition” [4]. Có ba cách
tiếp cận chính, bao gồm: Encrypt-and-MAC, Encrypt-then-MAC và MAC-then-Encrypt.

Bản rõ

Bản rõ

Bản rõ

Khóa

Hàm băm
Mã hóa

Khóa 1

Mã hóa

Khóa

Hàm băm
Bản rõ


Hàm băm

Bản mã

MAC

a) EtM

Khóa 2

MAC

Mã hóa
Bản mã

MAC

b) E&M
Hình 1.4: Nguyên lý thiết kế mật mã có xác thực

Bản mã

c) MtE


8

Encrypt-and-MAC (E&M)
MAC được tạo ra dựa vào bản rõ và bản rõ được mã hóa mà không cần MAC. MAC
và bản mã được gửi đi cùng nhau. Cách tiếp cận này được sử dụng trong lớp vận chuyển

(transport layer) của SSH
Encrypt-then-MAC (EtM)
Đầu tiên, bản rõ được mã hóa, sau đó MAC được sinh ra dựa trên bản mã kết quả.
Bản mã và MAC được gửi đi cùng nhau. Cách tiếp cận này được sử dụng trong giao thức
IPsec.
MAC-then-Encrypt (MtE)
MAC được tạo ra dựa vào bản rõ. Sau đó bản rõ và MAC cùng được mã hóa để thu
được bản mã. Bản mã (chứa MAC đã mã hóa) được gửi đi. MtE được sử dụng trong giao
thức SSL/TLS
Thông qua nghiên cứu của mình, Ballare và Namprempre cũng đã chứng minh rằng
mã hóa một bản tin, sau đó áp dụng MAC vào bản mã (EtM) là tối ưu hơn so với hai
phương pháp còn lại [4].
Ngoài các cách tiếp cận tự nhiên như trên, cũng có nhiều cách khác để xây dựng mật
mã có xác thực. Trong những năm qua , nhiều lược đồ mã hóa xác thực hiệu quả hơn đã
được xây dựng bằng các kỹ thuật khác nhau [5, 6], bao gồm hoán vị không sử dụng khóa
(keyless permutations) [7] và mật mã dòng [8]. Những cách tiếp cận mới này đã thay đổi
hiểu biết của các nhà mật mã học về AE từ việc pha trộn các nguyên thủy mật mã sang
xây dựng một một khối thống nhất ngay từ đầu.
1.2.3.

Quá trình phát triển

Nhu cầu về mã hóa xác thực được hình thành từ việc chúng ta nhận thấy rằng một số
cuộc tấn thực tế được đưa vào các giao thức (bao gồm SSL/TLS) là do thiếu xác thực và
kiểm tra tính toàn vẹn của dữ liệu.
Giao thức Needham-Schroeder được Roger Needham và Michael Schroeder phát
minh vào năm 1978, là một giao thức vận chuyển hướng tới sử dụng trên các mạng không
an toàn. Bao gồm giao thức Needham-Schoroeder khóa đối xứng, nhằm mục đích thiết



9
lập khóa phiên giữa hai bên và Needham-Schoroeder khóa công khai, nhằm cung cấp xác
thực lẫn nhau giữa hai bên. Giao thức này sử dụng một lược đồ mã hóa với độ an toàn
IND-CPA. Tuy nhiên Denning và Sacco đã thực hiện một cuộc tấn công phát lại (replay
attack) lên giao thức này (1981) [9], chứng minh rằng một lược đồ với độ an toàn INDCPA là không đủ mạnh trong nhiều trường hợp.
Giai đoạn 1980-2000, nhiều cuộc tấn công được thực hiện lên các các chế độ hoạt
động của mã hóa khối đã chứng minh tính không an toàn chúng. Cuộc tấn công của
Wagner [10] trên một lớp các lược đồ mật mã sử dụng CBC với kiểm tra dư thừa (CBCmode encryption-with-redundancy) cho thấy chế độ hoạt động này không an toàn bất kể
hàm kiểm tra (checksum) được tính như thế nào. Năm 2001, nghiên cứu của Jee Hea An
and Mihir Bellare cũng chỉ ra rằng hàm kiểm tra không dùng khóa (unkeyed checksum) là
không đủ an toàn [11].
Năm 2004, Tom Yu, Sam Hartman và Kenneth Raeburn đã tìm ra nhiều lỗ hổng
trong thiết kế của giao thức Kerberos 4 (một giao thức dùng để xác thực trong các máy
tính hoạt động trên những đường truyền không an toàn) [12]. Trong đó chỉ ra rằng, việc
đảm bảo tính toàn vẹn dựa vào chế độ PCBC là hoàn toàn thất bại.
Năm 1999, Virgil D. Gligor và Pompiliu Donescu giới thiệu lược đồ mã hóa PCBC
mới (iaPCBC) với tuyên bố đảm bảo tính bảo mật và tính toàn vẹn của bản tin trước các
cuộc tấn công lựa chọn bản mã thích nghi [13]. Tuy nhiên, iaPCBC đã nhanh chóng bị
phá vỡ bởi Jutla (1999) và Ferguson, Whiting, Kelsey, Wagner (1999)
Từ trước năm 2000, hầu hết nỗ lực xây dựng mã hóa có xác thực đều dựa trên những
mật mã đã có, cố gắng kết hợp chúng nhằm giảm chi phí, và đều đem lại kết quả không
tốt. Nó cũng cho thấy một khoảng cách lớn trong nhận thức về AE giữa những người làm
lý thuyết và thực tế. Cho đến năm 2000, Mihir Bellare và Chanathip Namprempre mới có
những nghiên cứu chính thức đầu tiên về AE. Họ đưa ra một số định nghĩa và khái niệm
liên quan. Mở ra một hướng đi mới trong việc xây dựng mật mã có xác thực [4].
Giai đoạn những năm 2000 cũng là thời điểm mà nhu cầu về mã hóa xác thực trở
nên cấp thiết. Năm 1999, WEP trở thành tiêu chuẩn bảo mật IEEE 802.11 cho wi-fi (sử
dụng mã hóa RC4 cùng với hàm kiểm tra toàn vẹn CRC-32). Tuy nhiên, những cuộc tấn
công sau đó đã chứng minh WEP không đủ tính xác thực và đảm bảo tính riêng tư của



10
bản tin. WEP sau đó đã được đổi thành WPA (sử dụng TKIP), bản dự thảo tiếp theo dựa
trên OCB (R, Bellare, Black, Krovetz 2001). Tuy nhiên để tránh các vấn đề về chính trị
và bằng sáng chế, CCM (Whiting, Housley, Ferguson 2002) đã được phát triển và sử
dụng cho WPA2.
Kể từ năm 2017, “Galois Counter Mode” (GCM) [14, 15] đã trở thành kỹ thuật phổ
biến nhất để chuyển đổi một lược đồ mã hóa thông thường sang AE. GCM thường được
áp dụng cho AES, và lược đồ AES-GCM được sử dụng trong rất nhiều cài đặt khác nhau,
ví dụ như các giao thức bảo mật cho Ethernet, OpenVPN, và nhiều dịch vụ giao tiếp web
an toàn khác. Số lượng ứng dụng và bối cảnh cần đến mã hóa có xác thực ngày càng tăng,
cũng như những điểm yếu đã xuất hiện trong GCM [16], đã đặt ra yêu cầu định nghĩa một
tiêu chuẩn cho AE. Vì lý do này, cộng động nghiên cứu mật mã quốc tế đã phát động một
cuộc thi trên toàn thế giới để chọn ra danh mục các thuật toán cho AE, mang tên
CAESAR.
1.3. Cuộc thi CAESAR
Cuộc thi CAESAR bắt đầu từ năm 2013 và được đồng sáng lập bởi NIST và Dan
Berstein. Mục tiêu của cuộc thi là kêu gọi cộng đồng mật mã thiết kế các chương trình AE
an toàn mới. Ứng viên chiến thắng dự kiến sẽ cải thiện AES-GCM với độ bảo mật cao
hơn (với hiệu suất tương đương) hoặc nhanh hơn (với độ bảo mật tương đương). 57 đề án
đã được đề xuất ở vòng đầu tiên của cuộc thi [17, 18].
Các kiến trúc cơ sở cho các ứng viên của CAESAR bao gồm: mật mã khối (Block
Cipher), Sponge, mật mã dòng (Stream Cipher), Hoán vị (Permutation), hàm nén
(Compression Function), và các kiến trúc chuyên dụng (Dedicated)


11
Bảng 1.1: Số lượng ứng viên tham dự CAESAR
Kiến trúc


Số lượng thành viên /56

Block cipher

30

Sponge

10

Stream cipher

9

Permutation

3

Dedicated

3

Compression Function

1

(POLAWIS không được xem xét vì kiến trúc rất phức tạp của nó)
Ở vòng 1, có 9 ứng viên được xem là không đạt tiêu chuẩn, và rút khỏi cuộc thi
(bảng 1.2).
Bảng 1.2: Các ứng viên bị loại và rút khỏi cuộc thi

STT

Ứng viên

Tuyên bố bảo mật

1

AES-COBRA

Độ an toàn 64-bit cho cả tính Tấn công giả mạo trên khối

Các cuộc tấn công

riêng tư và tính toàn vẹn; 128-bit mã n-bit chỉ với độ phức tạp
trước tấn công phục hồi khóa và O(n) và xác suất thành công
tấn công dự đoán thẻ xác thực
2

Calico

là 1/2.

Độ an toàn 127-bit cho tính riêng Tấn công giả mạo và phục
tư của bản rõ và 63-bit cho tính hồi khóa, yêu cầu 264 truy
toàn vẹn

vấn trực tuyến với xác suất
thành công bằng 1 để phục
hồi 128 bit khóa


3

CBEAM

Độ an toàn 127-bit cho tính riêng Tấn công vi sai có thể được


khai

thác

để

giả

mạo

(forgery) với xác suất thành
công 2-43, trái với yêu cầu
bảo mật 2-63
4

FASER

Độ bảo mật hoàn toàn cho tính Tấn

công

(2 phiên bản riêng và độ an toàn 64 và 96 bit (correlation


tương
attack)

quan
lên


12
128 và 256 bit)

cho tính toàn vẹn tương ứng cho FASSER-128.
2 phiên bản 128 và 256 bit.

Tấn

công

phân

biệt

(distinguishing attack) lên cả
hai phiên bản 128 và 256 bit
với chỉ 16 và 64 từ khóa
(keystream words).
Tấn công khôi phục khóa
thời gian thực có thể được
thực hiện trên FASER-128
chỉ với 64 từ khóa (key

words) để phục hồi toàn bộ
khóa trên một máy tính cá
nhân.

5

HKC

Độ an toàn 256 bit cho cả tính Tấn công giả mạo lợi dụng
riêng tư và toàn vẹn

6

Marble

hàm cập nhật tuyến tính

Độ an toàn 128-bit cho cả tính Tấn công giả mạo đơn giản
riêng tư và toàn vẹn

trên chế độ hoạt động của
Marble bằng cách sử dụng
264 truy vấn lựa chọn bản rõ

7

McMambo

Độ an toàn 128-bit cho cả tính Tấn công giả mạo với xác
riêng tư và 64-bit cho tính toàn suất 2-24

vẹn
Tuyên bố mật mã Mambo không
thể phân biệt (indistinguishable)
đối với các hệ dự đoán ngẫu
nhiên với một khóa cố định

8

PAES

Độ an toàn 128-bit cho cả tính Tấn công giả mạo phổ quát

(2 phiên bản riêng tư và tính toàn vẹn với cả lên PAES-8 trong trường


13
PAES-4

và hai phiên bản trong mô hình hợp nonce-ignoring setting
nonce-respecting, và chỉ 128-bit với chỉ 211 truy vấn

PAES-8)

toàn vẹn của PAES-8 trong
nonce-ignoring setting
9

Độ an toàn 128-bit cho cả tính Tấn công giả mạo trong

PANDA


(2 phiên bản riêng tư và tính toàn vẹn trong nonce-ignoring setting của
PANDA-s

và nonce-respceting setting, 128-bit PANDA-s với chi phí tính

PANDAb)

cho PANDA-b trong nonce- toán 264 và bộ nhớ không
ignoring setting và chỉ 128-bit đáng kể
cho tính riêng tư của PANDA-b Tấn công giả mạo và tấn
và không có tuyên bố bảo mật công khôi phục trạng thái
trên PANDA-s với độ phức

cho tính toàn vẹn

tạp thời gian là 241
Vòng 2 của cuộc thi được bắt đầu từ tháng 7/2015 với 30 thành viên từ 48 thành
viên được giữ lại của vòng 1. Trong đó có 13 mã khối, 3 mã chuyên dụng, 3 mã dòng, 2
hoán vị, 8 sponge và 1 hàm nén. Vòng 3 bắt đầu từ tháng 8/2016 với 15 thành viên và
vòng cuối cùng bắt đầu từ 3/2018 với 8 thành viên.
Trong quá trình diễn ra cuộc thi, đã có rất nhiều những nghiên cứu phân tích, đánh
giá độ an toàn của các thành viên tham gia, bảng bên dưới tóm tắt một số cuộc tấn công
đã được thực hiện [18]:
Bảng 1.3: Một số cuộc tấn công trên các ứng viên của CAESAR
Kiến trúc

Thành viên
++AE
AES-COPA

AES-JAMBU
AES-CMCC

Mật mã khối
AEZ
AVALANCHE
CBA

Các cuộc tấn công
Tấn công giả mạo
Tấn công giả mạo phổ quát
Tấn công phân biệt
Tấn công phân biệt và tấn công
giả mạo
Tấn công giả mạo và tấn công
khôi phục khóa
Tấn công giả mạo và tấn công
khôi phục khóa
Tấn công phân biệt


×