Tải bản đầy đủ

luận văn thạc sĩ nghiên cứu về các hệ mã khối trong mật mã nhẹ

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

ĐỖ HUY YÊN

NGHIÊN CỨU VỀ CÁC HỆ MÃ KHỐI
TRONG MẬT MÃ NHẸ

LUẬN VĂN THẠC SĨ
Ngành: Kỹ thuật phần mềm

HÀ NỘI - 2019


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

ĐỖ HUY YÊN

NGHIÊN CỨU VỀ CÁC HỆ MÃ KHỐI
TRONG MẬT MÃ NHẸ


Ng nh

: Kỹ thuật phần mềm

Chuy n ng nh

: Kỹ thuật phần mềm

Mã số

: 8480103.01

LUẬN VĂN THẠC SĨ
Ngành: Kỹ thuật phần mềm

NGƢỜI HƢỚNG DN KHO HỌC:
TS. HỒ VĂN C NH

Hà Nội - 2019


i
LỜI CẢM ƠN
Tôi xin chân th nh 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 th nh luận văn thạc sĩ.
Với lòng biết ơn sâu sắc nhất, tôi xin gửi đến Tiến sĩ Hồ Văn Canh, Cục
KTNV, Bộ Công an, định hƣớng phƣơng pháp nghi n cứu khoa học cho tôi,
đồng thời cung cấp nhiều t i liệu v tạo điều kiện thuận lợi trong suốt quá trình
học tập v nghi n cứu. Nếu không có sự định hƣớng, những lời dạy bảo của các
thầy thì luận văn của tôi rất khó có thể ho n thiện đƣợc. Một lần nữa, tôi xin
chân th nh cảm ơn các thầy.
Tôi xin đƣợc gửi lời cảm ơn đến các thầy, cô trong bộ môn Kỹ thuật phần
mềm v Khoa Công nghệ thông tin, Trƣờng Đại học Công nghệ - Đại học Quốc
gia H Nội đã nhiệt tình giảng dạy v truyền đạt những kiến thức, kinh nghiệm
quý giá trong suốt thời gian tôi học tập tại trƣờng.
Tôi xin đƣợc gửi lời cảm ơn đến các bạn học vi n lớp K22-KTPM, những
ngƣời đồng h nh trong suốt khóa học v có nhiều góp ý bổ ích cho tôi. Cảm ơn
gia đình bạn bè đã quan tâm động vi n giúp tôi có nghị lực phấn đấu để ho n th


nh tốt luận văn n y
Bƣớc đầu đi v o thực tế, tìm hiểu về lĩnh vực chuy n sâu trong An to n
thông tin, kiến thức của tôi còn hạn chế v còn nhiều bỡ ngỡ. Do vậy, không tránh
khỏi những thiếu sót trong luận văn. Tôi rất mong nhận đƣợc những ý kiến đóng
góp quý báu của thầy cô v các bạn để ho n thiện luận văn hơn nữa.
Một lần nữa xin gửi lời cảm ơn chân th nh v sâu sắc.
H Nội, Ng y

tháng

Học vi n thực hiện

Đ Hu Y n

năm 2019


ii
LỜICMĐO N
Luận văn thạc sĩ đánh dấu những th nh quả, kiến thức tôi đã tiếp thu đƣợc
trong suốt quá trình rèn luyện, học tập tại trƣờng. Tôi xin cam đoan luận văn
“Nghi n cứu về các hệ mã khối trong mật mã nhẹ” đƣợc ho n th nh bằng quá
trình học tập v nghi n cứu của tôi dƣới sự hƣớng dẫn của TS. Hồ Văn Canh.
Trong to n bộ nội dung nghi n cứu của luận văn, các vấn đề đƣợc trình b y
đều l những tìm hiểu v nghi n cứu của cá nhân tôi, hoặc trích dẫn các nguồn t i
liệu đều đƣợc đƣa ra ở phần t i liệu tham khảo.
Tôi xin cam đoan những lời tr n l sự thật v chịu trách nhiệm trƣớc thầy cô v
hội đồng bảo vệ luận văn thạc sĩ.
H nội, Ng y

tháng

Đ Hu Y n

năm 2019


iii
MỤC LỤC
LỜI CẢM ƠN........................................................................................................i
LỜI CAM ĐOAN.................................................................................................ii
MỤC LỤC...........................................................................................................iii
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT............................................v
DANH MỤC HÌNH VẼ.......................................................................................vi
DANH MỤC CÁC BẢNG.................................................................................vii
MỞ ĐẦU...............................................................................................................1
CHƢƠNG I: TỔNG QUAN VỀ MẬT MÃ KHỐI TRONG MẬT MÃ NHẸ.....4
1.1. Mật mã nhẹ.................................................................................................4
1.1.1. Khái niệm về mật mã nhẹ................................................................... 4
1.1.2. Quá trình hình th nh v phát triển của mật mã nhẹ............................ 4
1.1.3. Nguy n lý thiết kế thuật toán mật mã nhẹ...........................................5
1.1.4. Một số hệ mật trong mật mã nhẹ.........................................................8
1.1.5. Một số đặc trƣng của mật mã nhẹ.................................................... 13
1.2. Mật mã khối hạng nhẹ..............................................................................14
CHƢƠNG II. NHỮNG HỆ MẬT MÃ KHỐI HẠNG NHẸ ĐIỂN HÌNH.........21
2.1. Những hệ mật mã khối hạng nhẹ điển hình............................................. 21
2.1.1. Hệ mật PRESENT.............................................................................21
2.1.2. Hệ mật SIMON v SPECK...............................................................21
2.1.3. Hệ mật KATAN/KTANTAN.............................................................22
2.1.4. Hệ mật LED......................................................................................23
2.1.5. Hệ mật TEA...................................................................................... 23
2.1.6. Hệ mật KLEIN..................................................................................24
2.1.7. Hệ mật HIGHT..................................................................................24
2.1.8. Hệ mật SEA...................................................................................... 25
2.1.9. Hệ mật NEOKEON...........................................................................25
2.2. Hệ mật KLEIN.........................................................................................25
2.2.1. Ý tƣởng thiết kế................................................................................25
2.2.2. Quá trình mã hóa của KLEIN...........................................................26
2.2.3. Tính toán khóa...................................................................................32
2.2.4. Điểm yếu của KLEIN....................................................................... 33


iv
2.3. Hệ mật KATAN.......................................................................................34
2.3.1. Ý tƣởng thiết kế................................................................................34
2.3.2. Quá trình mã hóa KATAN.................................................................35
2.3.3. Tính toán khóa...................................................................................37
2.3.4. Điểm yếu của KATAN......................................................................38
2.4. Hệ mật SIMON.......................................................................................38
2.4.1. Quá trình mã hóa...............................................................................38
2.4.2. Tính toán khóa...................................................................................40
2.4.3. Điểm yếu của Simon.........................................................................41
2.5. Hệ mật Speck..........................................................................................42
2.5.1. Quá trình mã hóa...............................................................................42
2.5.2. Tính toán khóa...................................................................................43
2.5.3. Điểm yếu của Speck..........................................................................43
CHƢƠNG III: XÂY DỰNG CHƢƠNG TRÌNH MÃ HÓA VÀ GIẢI MÃ MÃ
KHỐI TRONG MẬT MÃ NHẸ..........................................................................45
3.1. Mô hình hệ thống..................................................................................... 45
3.2. Phân tích hệ thống....................................................................................46
3.2.1. Mã hóa đầu cuối................................................................................46
3.2.2. Cảm biến nhiệt độ - độ ẩm DHT21...................................................47
3.2.4. Phần mềm Station............................................................................. 51
3.2.5. Phần mềm Server..............................................................................52
3.3. Kết quả thực hiện..................................................................................... 54
3.3.1. Quy trình hoạt động.......................................................................... 54
3.3.2. Kết quả..............................................................................................56
3.4. Kết luận v hƣớng phát triển................................................................... 59
3.4.1. Kết luận.............................................................................................59
3.4.2. Hƣớng phát triển...............................................................................60
TÀI LIỆU THAM KHẢO...................................................................................61
PHỤ LỤC............................................................................................................64


v
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
T viết tắt

Thuật ngữ tiếng anh

Thuật ngữ tiếng việt

AES

Advanced Encryption
Standard

Chuẩn mã hóa nâng cao
Hệ mật AES

DES

Data Encryption
Standard

Chuẩn mã hóa dữ liệu
Hệ mật DES

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 kỹ thuật số

IEC

International
Electrotechnical
Commission

Ti u chuẩn International
Electrotechnical
Commission

IoT

Internet of thing

Internet kết nối vạn vật

ISO

International
Organization for
Standardization

Ti u chuẩn hóa
International
Organization for
Standardization.

LFSR

Linear feedback shift
register

Thanh ghi dịch hồi tuyến
tính

LSB

Least Significant Bit

Bit ngo i cùng b n phải
l bit có trọng số nhỏ
nhất

MSB

Most Significant Bit

Bit ngo i cùng b n trái l
bit có trọng số lớn nhất


vi
DANH MỤC HÌNH VẼ
Hình 1.1: Sự thỏa hiệp trong thiết kế mật mã nhẹ [1]…………………………5
Hình 1.2: Các hệ mật trong mật mã nhẹ………………………………………. 8
Hình 1.3: Đồ thị so sánh theo thông số bề mặt của một số mã khối hạng nhẹ
[3] ........................................................................................................................ 19
Hình 1.4: Đồ thị so sánh thông số thông lƣợng của một số mã khối hạng nhẹ
[3]………………………………………………………………………………19
Hình 1.5: Đồ thị so sánh năng lƣợng sử dụng ở mức cao của một số mã khối
hạng nhẹ [3] ......................................................................................................... 20
Hình 1.6: Đồ thị so sánh năng lƣợng sử dụng ở mức thấp của một số mã khối
hạng nhẹ [3] ......................................................................................................... 20
Hình 2.1: Quy trình mã hóa của KLEIN [9] ...................................................... 27
Hình 2.2: Phép biến đổi vòng mã hóa của KLEIN [9] ....................................... 28
Hình 2.3: RotateNibbles của KLEIN [9] ............................................................ 31
Hình 2.4: Thuật toán tính toán khóa KLEIN có độ d i khóa 64 bit [9] ............. 34
Hình 2.5: Quá trình mã hóa họ mật mã Katan [16] ............................................ 37
Hình 2.6: Quá trình mã hóa của hệ mật Simon [8] ........................................... 39
Hình 2.7: Mở rộng khóa của simon với m=2, m=3 v m=4 [8] ......................... 41
Hình 2.8: H m tròn của Speck( x 2 i +1, x2i ) biểu thị mật mã con sau các bƣớc mã

hóa)[8] ................................................................................................................. 43
Hình 2.9: Khóa của Speck [8] ............................................................................ 43
Hình 3.1: Mô hình hệ thống ............................................................................... 46
Hình 3.2: Cảm biến nhiệt độ - độ ẩm DHT21 .................................................... 47
Hình 3.3: Kết nối cảm biến DHT21 với Arduino .............................................. 48
Hình 3.4: Bo mạch Arduino Uno ....................................................................... 48
Hình 3.5: Thƣ viện giao tiếp với cảm biến......................................................... 51
Hình 3.6: Thƣ viện mã hóa v giải mã thông qua thuật toán Speck .................. 51
Hình 3.7: Giao diện phần mềm Station .............................................................. 52
Hình 3.8: Giao diện phần mềm Server ............................................................... 53
Hình 3.9: Chọn chế độ hoạt động ....................................................................... 54
Hình 3.10: Kết nối Arduino với cảm biến nhiệt độ - độ ẩm DHT21 ................. 54
Hình 3.11: Kết nối với phần mềm Server .......................................................... 55
Hình 3.12: Chọn cổng COM kết nối với Arduino ............................................. 55
Hình 3.13: Phần mềm Station ở chế độ mã hóa ................................................. 56
Hình 3.14: Phần mềm Server ở chế độ Mã hóa ................................................. 56
Hình 3.15: Tạo tín hiệu điều khiển Bật hệ thống l m mát ................................. 57
Hình 3.16: Tín hiệu trả về t Server đƣợc mã hóa ............................................. 57
Hình 3.17: Đèn Led sáng báo bật hệ thống ........................................................ 58
Hình 3.18: Giao diện phần mềm Station ở chế độ không mã hóa ..................... 58
Hình 3.19: Phần mềm Server ở chế độ không mã hóa ....................................... 59
Hình 3.20: Thời gian thực hiện mã hóa v giải mã (ms) ................................... 60


vii
DANH MỤC CÁC BẢNG
Bảng 1.1: Hiệu quả phần cứng của một số thuật toán mật mã nhẹ...................... 7
Bảng 1.2: Đặc điểm, ƣu điểm, nhƣợc điểm v ứng dụng của hệ mật mã nhẹ.12
Bảng 1.3: Một số thông số của một hệ mật mã nhẹ trong hệ thống...................13
Bảng 1.4: Một số hệ mật mã khối hạng nhẹ ti u biểu.........................................15
Bảng 1.5: Thông tin phần cứng của một số mã khối hạng nhẹ (kiến trúc không
kiểm soát) [3]...................................................................................................... 16
Bảng 1.6: Thông tin phần cứng của một số mã khối hạng nhẹ( kiến trúc tròn) [3]
17
Bảng 1.7: Thông tin phần cứng của một số mã khối hạng nhẹ(kiến trúc nối
tiếp)[3].................................................................................................................18
Bảng 2.1: S-box 4 bit sử dụng trong KLEIN [9]................................................27
Bảng 2.2: Sự phân bố vi phân của S-box của KLEIN [9]..................................30
Bảng 2.3: Bảng tƣơng quan đầu v o-đầu ra S-box của KLEIN [9]...................31
Bảng 2.4: Các tham số cho họ mật mã Katan [16].............................................36
Bảng 2.5: Các tham số của mật mã Simon[8]....................................................39
Bảng 2.6: Các tham số của mật mã Speck [8]....................................................44


1
MỞ ĐẦU
Cơ sở khoa học và thực tiễn của đề tài:
Sự phát triển của khoa học kỹ thuật đã dẫn đến xuất hiện nhiều thiết bị có
năng lực tính toán lớn nhƣ máy tính cá nhân có bộ vi xử lý 64 bit, tốc độ 3-4
GHz, 2 - 8 GB RAM…. Nhƣng, nhu cầu sử dụng các thiết bị có kích cỡ nhỏ,
khả năng tính toán thấp phục vụ các công việc v giải quyết b i toán chuy n dụng,
đơn giản, điển hình nhƣ các thẻ thông minh (smartcard), vi điều khiển
(microcontroller) ng y c ng tăng. Trong khi đó, các mã khối truyền thống hiện có
khó có thể sử dụng đa năng cho mọi kiểu thiết bị (bộ vi xử lý), do sự phức tạp,
sử dụng nhiều t i nguy n, năng lƣợng. Một mã pháp an to n truyền thống cũng
khó có thể c i đặt hiệu quả tr n các thiết bị có năng lực v t i nguy n hạn chế (nhƣ
các bộ vi điều khiển 4 bit, 8 bit, có kích cỡ RAM nhỏ, tần số thấp). Vì vậy, nhu
cầu cần có các hệ mật mã (mã khóa công khai, mã khối, mã dòng, h m băm...) ri
ng, áp dụng cho các thiết bị, hệ thống bị hạn chế (thông tin cần phải bảo vệ
không quá mật) đã v đang đƣợc đặt ra trong những năm qua. Mật mã nhẹ l mật
mã phù hợp với các c i đặt trong những môi trƣờng bị hạn chế. Những hạn chế
đó dựa tr n các đánh giá về diện tích chip (chip area), năng lƣợng ti u thụ
(energy consumption), 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.
Trong những năm gần đây, chúng ta có thể dễ d ng bắt gặp thuật ngữ IoT
(Internet of Thing) ở bất cứ nơi n o. “Internet of Things” l thuật ngữ để chỉ
những vật đƣợc kết nối internet v có khả năng trao đổi dữ liệu. Đặc điểm chung
của những thiết bị IoT l có kích thƣớc nhỏ gọn v có khả năng ti u thụ điện thấp.
Phần lớn các thiết bị IoT đang gặp phải l vấn đề bảo mật.
Thuật ngữ “Lightweight cryptography” đƣợc đƣa ra thảo luận tại nhiều hội
nghị. Thuật ngữ để chỉ những hệ mật nhẹ có khả năng c i đặt tr n các thiết bị giới
hạn bởi năng lƣơng ti u thụ v khả năng lƣu trữ. Chính vì vậy mật mã nhẹ rất phù
hợp để áp dụng v bảo mật cho các thiết bị IoT. Do đó sự phát triển nhanh v mạnh
của “Internet og Things” cũng chính l nhân tố để thúc đẩy sự phát triển của mật
mã nhẹ. B n cạnh đó có rất nhiều thiết bị giới hạn về năng lƣợng ti u thụ v khả
năng lƣu trữ cần đến sự bảo mật ví dụ nhƣ các thiết bị


2
trong lĩnh vực quân sự, y tế, ngân h ng…n n tiềm năng của mật mã nhẹ l rất lớn.
Trong luận văn n y tác giả trình b y những nghi n cứu về mật mã nhẹ v đi
sâu v o một nhánh con l mật mã khối hạng nhẹ, Luận văn trình b y những tìm
hiểu của bản thân về các hệ mã khối hạng nhẹ trong đó đi sâu một số hệ mật cụ
thể v xây dựng ứng dụng demo giám sát điều khiển thiết bị l m mát nh thông
minh áp dụng thuật toán mã khối hạng nhẹ.
Nội dung đề tài và những vấn đề cần giải quyết:
Hướng nghiên cứu
- Nghi n cứu một cách tổng quan nhất về mật mã khối trong mật mã nhẹ
- Nghi n cứu những hệ mật mã khối hạng nhẹ điển hình
- Xây dựng chƣơng trình mã hóa, giải mã mã khối trong mật mã nhẹ (xây
dựng ứng dụng demo giám sát, điều khiển thiết bị l m mát nh thông minh
áp dụng thuật toán mã khối hạng nhẹ)
Nội dung nghiên cứu:
Ngo i phần mở đầu v kết luận, nội dung của luận văn đƣợc trình b y trong
3 chƣơng:
CHƢƠNG I: TỔNG QUAN VỀ MẬT MÃ KHỐI TRONG MẬT MÃ
NHẸ
Trong chƣơng n y tác giả giới thiệu tổng quan về mật mã nhẹ v mật mã
khối hạng nhẹ, một số khái niệm quan trọng, quá trình hình th nh v phát triển
của mật mã nhẹ, nguy n lý thiết kế thuật toán của mật mã nhẹ, giới thiệu về một
số hệ mật trong mật mã nhẹ, một số đặc trƣng của mật mã nhẹ v giới thiệu về
mật mã khối.
CHƢƠNG II: NHỮNG HỆ MẬT MÃ KHỐI HẠNG NHẸ ĐIỂN
HÌNH
Chƣơng n y của luận văn, trình b y sơ lƣợc một số mã khối hạng nhẹ điển
hình hiện nay, phần tiếp theo của chƣơng n y tác giả trình b y những hiểu biết
sâu hơn của mình về một số hệ mật điển hình nhƣ hệ mật Klein, hệ mật Katan,
Simon v Speck.


3
CHƢƠNG III: XÂY DỰNG CHƢƠNG TRÌNH MÃ HÓ VÀ GIẢI
MÃ MÃ KHỐI TRONG MẬT MÃ NHẸ
Chƣơng n y xây dựng demo hệ thống giám sát, điều khiển hệ thống l m mát
cho nh thông minh t xa thông qua Internet có tích hợp thuật toán mã hóa
v giải mã mã khối trong mật mã nhẹ nhằm đảm bảo an to n thông tin, nâng cao
độ tin cậy của hệ thống.
Kết quả đạt đƣợc
Sau thời gian tìm hiểu nghi n cứu, luân văn đã đạt đƣợc một số kết quả ban
đầu. Về lý thuyết nghi n cứu tổng quan nhất về mật mã nhẹ v mã khối hạng nhẹ.
Sau đó tập chung nghi n cứu những hệ mật mã khối hạng nhẹ điển hình. Về thực
nghiệm tôi xây dựng demo hệ thống giám sát, điều khiển hệ thống l m mát cho
nh thông minh t xa thông qua Internet có tích hợp thuật toán mã hóa v giải mã
mã khối trong mật mã nhẹ nhằm đảm bảo an to n thông tin, nâng cao độ tin cậy
của hệ thống.


4
CHƢƠNG I: TỔNG QUAN VỀ MẬT MÃ KHỐI TRONG MẬT MÃ
NHẸ 1.1. Mật mã nhẹ
1.1.1. Khái niệm về mật mã nhẹ
Không có ranh giới rõ r ng n o để phân biệt sự nhẹ của các hệ mật với các
hệ mật thông thƣờng [2]. Cũng nhƣ hiện nay chƣa có khái niệm chính xác hay
định lƣợng cụ thể n o về mật mã nhẹ. Vì vậy có rất nhiều phi n bản để định
nghĩa mật mã nhẹ [3]. Mật mã nhẹ l một ng 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 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ẻ t , thẻ chip gắn tr n các sản phẩm hay có thể gắn v o bất
kỳ vật n o m chúng ta muốn theo dõi. Còn theo ti u chuẩn ISO/IEC 29192-1thì
mật mã nhẹ l mật mã đƣợc 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 môi trƣờng t i nguy n hạn chế [4].Theo ti u
chuẩn ISO IEC 29192, tính chất nhẹ đƣợc mô tả dựa tr n nền tảng
c i đặt.Trong triển khai phần cứng, diện tích chip v năng lƣơng ti u thụ l những
ti u chí quan trọng để đánh giá tính nhẹ của hệ mật.Trong triển khai phần mềm
thì kích thƣớc mã nguồn, kích thƣớc RAM l ti u chí cho một hệ mật đƣợc coi l
nhẹ.
1.1.2. Quá trình hình thành và phát triển của mật mã nhẹ
Mật mã nhẹ đƣợc nhiều nh nghi n cứu tìm hiểu t rất lâu, cách đây 19 năm
đã ra đời v áp dụng chính thức của những mật mã nhẹ đầu ti n: Neokeon (2000),
Grain, trivium v mCrypton (2005), Sea (2006), Present, desl, desxl
(2007), Katan (2009), Klein (2011), Led (2011), LBlock (2011), Simon (2013),
Speck (2013) v Sprout (2015), … ng y c ng có nhiều thuật toán mật mã nhẹ
đƣợc ra đời v nhiều ứng dụng hữu ích [5].
B n cạnh đó mạng lƣới vạn vật kết nối cũng chứa đựng nhiều điểm yếu cơ
hội cho những kẻ tấn công thực hiện những mục đích, h nh động xấu. Nhất l ứng
dụng trong quân đội, công an, ngân h ng hay tự động hóa y u cầu độ bảo mật v
an to n cao. Ngo i những tấn công tr n đƣờng truyền vật lý, mạng lƣới tính toán
vạn vật kết nối còn bị đe dọa bởi những cuộc tấn công chiếm quyền kiểm soát,
tấn công lấy dữ liệu tr n đƣờng truyền…


5
1.1.3. Ngu n lý thiết kế thuật toán mật mã nhẹ
Nguy n lý thiết kế các thuật toán mật mã nhẹ l một b i toán chƣa có lời giải
chính xác cho các thiết bị có t i nguy n hạn chế. Mật mã 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 quá nhiều về tính an
to n. Thực tế, vấn đề chính trong thiết kế thuật toán của mật mã nhẹ l “thỏa hiệp”
một cách tối ƣu giữa ba ti u chí: độ an to n, hiệu suất v chi phí c i đặt. (Hình
1.1).

Hình 1.1: Sự thỏa hiệp trong thiết kế mật mã nhẹ [1]
Về độ an toàn, khi thiết kế bất kỳ một hệ mật n o điều kiện đầu ti n cần
đƣợc quan tâm đến l độ an to n của hệ mật. Độ an to n có thể coi l yếu tố sống
còn của một hệ mật. Với mật mã nhẹ, mục ti u xây dựng l thiết kế một hệ mật
không quá yếu v không với mục đích thay thế các thuật toán mã truyền thống
khác, nhƣng phải đủ an to n (tất nhi n không thể kháng 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 to n. Tuy
nhi n rất khó có thể tối ƣu hóa cả 3 khía cạnh tr n.
Về hiệu quả trong cài đặt, thƣờng đƣợc đánh giá qua các độ đo t i nguy n
đƣợc sử dụng bởi thuật toán nhƣ: diện tích bề mặt(Area), Số chu kỳ xung
nhịp(cycles), thời gian thực thi, thông lƣợng, nguồn cung cấp, năng lƣợng, dòng
điện. Tính hiệu quả của phần cứng chính l tỷ lệ thông lƣợng với diện tích sử
dụng của hệ mật mã đó (Bảng 1.1).


6
• Diện tích bề mặt (Area):Có thể tính bằng micro m 2 nhƣng giá trị n y phụ
thuộc v o công nghệ chế tạo v thƣ viện chuẩn. Diện tích tính theo GE
đƣợc tính bằng cách chia diện tích theo micro m 2 cho S cổng NAND 2
đầu v o.
 Số chu kỳ xung nhịp (cycles): l số chu kỳ xung nhịp cần để tính toán
v đọc dữ liệu ra.
 Thời gian: Lƣợng thời gian cần thiết cho một phép tính cụ thể có thể
đƣợc
tính bằng cách chia số chu kỳ xung nhịp cho tần số hoạt động: t = (số chu
kỳ xung nhịp)/tần số. Đơn vị tính theo mi-ni giây (ms).
 Thông lƣợng (throughtout): L số các bit đầu ra chia cho 1 lƣợng thời
gian n o đó. Đơn vị [bps]
 Nguồn (power): Ti u thụ nguồn có thể đƣợc ƣớc lƣợng ở mức cổng
thông qua bộ bi n dịch c i đặt. Đơn vị thƣờng Micro walt. Chú ý việc ƣớc
lƣợng ti u thụ ở mức transitor l chính xác hơn, nhƣng điều n y sẽ y u cầu
nhiều bƣớc hơn khi thiết kế.
 Năng lƣợng (energy): Ti u thụ năng lƣợng đƣợc định nghĩa l ti u thụ
nguồn qua 1 khoảng thời gian cụ thể. Nó thƣờng đƣợc tính toán bằng
cách nhân ti u thụ nguồn với thời gian cần cho phép tính đó, đơn vị Joule
tr n bit.
 Dòng điện( current): L ti u thụ nguồn chia cho điện áp thông thƣờng.
 Tính hiệu quả c i đặt: eff = (diện tích) thông lƣợng


7
Chu

kỳ Thông

Xửlý

Số bít
khóa

Sốbít
Khối

xung
tr n
khối

Present

80

64

32

200

0.18µm

1.570

Hight

128

64

34

188

0.25 µm

3.048

64

13

492

0.13 µm

2.681



nhịp lƣợng

logic
một 100MHZ
(Kpbs)

Diện
tích
(Gec)

Mã khối

mCrypton 96
Mã dòng
Grain

80

1

1

100

0.13 µm

2.599

Trivium

80

1

1

100

0.13 µm

1.294

Bảng 1.1: Hiệu quả phần cứng của một số thuật toán mật mã nhẹ
Giá thành của thuật toán: Thƣờng thì các hệ mật mã nhẹ đƣợc áp dụng tr
n một số lƣợng lớn các thiết bị nhƣ hệ thống IoT. Chính vì vậy giá th nh của
thuật toán đóng vai trò quan trọng trong việc triển khai.
Một hệ mật tốt cần phải cân bằng giữa giá th nh, hiệu suất v độ an to n. Tuy
nhi n việc cân bằng đƣợc cả ba yếu tố n y l một b i toán khó. Vì vậy tùy
v o t ng điều kiện, y u cầu cụ thể, ngƣời thiết kế thuật toán có thể cân đối n n ƣu
ti n khía cạnh n o hơn. Ví dụ khi c i đặt phần cứng có hiệu suất cao thì cần các y
u cầu cao về điện tích, giá th nh cao; Khi thiết kế hệ mã ƣu ti n độ an to n tr n
thiết bị có phần cứng thấp thì hiệu suất sẽ rất thấp.


8
1.1.4. Một số hệ mật trong mật mã nhẹ
Có rất nhiều mật mã nhẹ [3] đƣợc đề xuất trong thời gian gần đây, thay vì
thiết kế ra một mật mã ho n to n mới thì hầu hết các mật mã nhẹ đƣợc lấy ra t
các mật mã truyền thống nhƣng với một v i thay đổi nhỏ.
Mật mã nhẹ gồm có:
Hệ mã khối hạng nhẹ: KLEIN, LED, PRESENT, MINI-AES, KATAN,
KTANTAN, DESL, XTEA, LBLOCK, SIMON, SPECK, SEA,
MCRYPTON, NEOKEON, HIGHT


Hệ mã dòng hạng nhẹ: GRAIN, TRIVIUM



Hệ mã xác thực hạng nhẹ: SQUASH

Hệ h m băm hạng nhẹ: MADE, DM-PRESENT, H-PRESENT,
KECCAK, QUARK, ARMADILLO

Hình 1.2: Các hệ mật trong mật mã nhẹ
Bảng dƣới đây mô tả một số thông số đặc điểm cũng nhƣ ƣu điểm, nhƣợc
điểm v ứng dụng của một hệ mật mã nhẹ:


9
Mật mã

Hệ mật mã

Ngƣời thiết kế

Key(bits)

nhẹ

Block/

Đặc điểm

Ứng dụng

- 32 vòng lặp

Triển khai tr n

- Sử dụng phép toán đơn giản:
XOR, mod 28 v dịch bits
- có thể thực hiện với 3048

các thiết bị hạn
chế nhƣ RFID
hay các thiết bị
phổ biến khắp nơi

IV(bits)

HIGHT

Hong

128

64

cổng, công nghệ 0.25 µm

KATAN/

Mã khối

KTANTAN

Chrstophe de
Canniere,

80

Orr Dunkelman v
Miroslav Knezevic

32/48/
64

DESL,

- kiến trúc rất đơn giản. Bản rõ
đƣợc lƣu bởi 2 thanh ghi.
Sử dụng cho định
Trong mỗi vòng, một số bit
hƣớng phần cứng
với t i nguy n
đƣợc lấy ra v đƣa v o h m
phi tuyến boolean, v LFRS 8 hạn chế
bit để mã hóa
- 16 vòng lặp

DESX v
DESXL

56/184

64

- Des sử dụng lặp lại một Sbox (6*4 bits) 8 lần

SIMON/

National Security

SPECK

Agency

64/72/

32/48/6 SIMON:XOR, AND v phép
4/96 toán dịch chuyển bit trái
96/128/1
/128
44/192/2
SPECK:XOR, cộng mô đun 22

Tr n cả nền tảng
phần mềm v
phần cứng với t i


10
56

v phép toán dịch chuyển
vòng trái v phải
- Gồm 12/16/20 vòng mã hóa

64/80/
KLEIN

Gong, Nikova v Law

64
96

SEA

F.-X. Standaert, G.
Piret

8

N. Gershenfeld
J.-J. Quisquater

48/96/
144

- Mỗi vòng gồm có 4 lớp:
AddRoundKey, SubNibbles,
RotateNibbles v MixNibbles

Phần mềm trong

một số phép toán cơ bản :
XOR, thay thế, dịch trái, đảo

bộ điều kiển, thẻ
thông minh hoặc
bộ vi xử lý

- cấu trúc SPN với 31 vòng
- mỗi vòng thực hiện phép

PRESENT

University Bochum
and the Technical
University of Denmark

80/128

64

KLEIN thích hợp
cho các thiết bị
giới hạn t i
nguy n nhƣ thẻ
RFID v cảm
biến không dây

- Thiết kế của SEA dựa tr n

bit, cộng mod 2b

Orange Labs, Ruhr

nguy n hạn chế

cộng XOR để đƣa v o khóa
vòng
-Tầng phi tuyến sử dụng một
s-box 4 bits duy nhất đƣợc áp
dụng 16 lần song song trong 1
vòng
Cuối cùng l một phép cộng


11
khóa K32
Wenling Wu v
Lblock

- Sử dụng một cấu trúc Feistel
80

64

Lei Zhang
XTEA

Grain

David Wheeler v
Roger Needham

Martin Hell, Thomas
Johansson v Willi

Biến thể với 32 vòng lặp sử
dụng 8 S-box 4 bits

128

64

128

64/96

- Có thể triển khai song song

Meier

Ứng dụng sử
dụng Wlan,
RFID/WSN

Mã dòng

- Ƣu việt cho phần cứng nhẹ

TRIVIUM

Christophe De
Canniere v Bart
Preneel

MAME

Hirotaka Yoshida, Dai
watanabe, Katsuyuki
Okeya, Jun katahara,
Hongjun Wu, Ozgul

Hm
băm

mềm nhƣ vi điều
khiển 8 bits

- Sử dụng 64 vòng lặp

- Mã dòng đồng bộ
- Dựa tr n LFSR v NFSR

64/80/

Áp dụng cho các
nền tảng phần

80

96

80

256

- Sử dụng 3 thanh ghi LFSR
với thanh ghi đầu ti n sử dụng
các s-box để tạo ra các bits
của keystream, sau đó ADD
với hai LFSR còn lại
- Các thao tác logic đơn giản

Ứng dụng y u

v s-box đã đem lại hiệu quả
phần cứng cho MAME

cầu phần cứng
hạn chế


12
Kucuk, Bart preneel
DMPRESENT
HPRESENT

KECCAK

QUARK

Mã xác
thực
thông
báo

Poschmann, Alex

80/

- H m nén sử dụng mã khối

128

PRESENT

Guido bertoni, joan
Daemen, Michael
Peeters v Gilles Van
Assche

256

chuẩn mới của SHA-3 v o
tháng 10 2012

Jean-Philippe

136/

Aumasson, Luca
Henzen, Wili Meier,
Maria Naya-Plasencia

176/
256

- Một hoán vị phần cứng PSponge sử dụng mã hóa
KTANTAN v KATAN cùng
với phần cứng theo định
hƣớng của mã dòng Grain

Adi Shamir

y u cầu h m 1
chiều v 64 bits
bảo mật

- Đƣợc chọn nhƣ một ti u

- Sử dụng h m tuyến tính dựa
SQUARK

Sử dụng trong
những ứng dụng

tr n thuật toán mã hóa công
khai RABIN

Bảng 1.2: Đặc điểm, ƣu điểm, nhƣợc điểm v ứng dụng của hệ mật mã nhẹ.

Mã xác thực
thông báo, sinh số
giả ngẫu nhi n,
mã hóa dòng…


13
1.1.5. Một số đặc trƣng của mật mã nhẹ
Các mật mã nhẹ ra đời v phát triển nhằm đáp ứng một nhu cầu cụ thể của
một thiết bị hay một lớp b i toán n o đó. Chúng phù hợp với những ứng dụng
thiết bị có cấu hình nhỏ gọn, tốt độ xử lý nhanh v nhiều phép tính trong một
khoảng thời gian cố định, y u cầu bảo mật không quá cao.
Hệ mật

GE

Throughput 100KHz(Kbit/s)

Logic (µm)

AES

2400

56.6

0.13

DES

2309

44.4

0.18

DESL

1848

44.4

0.18

DESXL

2168

44.4

0.18

PRESENT

1570

200

0.13

KATAN64

1054

25.1

0.13

GRAIN

1294

100

0.13

TRIVIUM

2599

100

0.13

SPROUT

813

100

0.18

Bảng 1.3: Một số thông số của một hệ mật mã nhẹ trong hệ thống
Với những thiết kế ri ng của mình, mật mã nhẹ đem lại nhiều lợi ích đặc
trƣng nhƣ:
- Y 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ã nhẹ đều
hƣớng đến việc c i đặt gọn nhẹ tr n những thiết bị có năng lực tính toán
thấp hay t i nguy n hạn chế.
- Giá th nh rẻ: mật mã nhẹ thƣờng đƣợc ứng dụng trong những thiết bị có
tính thâm nhập khắp nơi, cần phải triển khai h ng loạt tr n h ng trăm, h ng
ng n, thậm chí h ng tỷ thiết bị. Chính vì thế việc giảm giá th nh của công
nghệ sử dụng đƣợc quan tâm h ng đầu
- Hoạt động rất nhanh, thực hiện đầy đủ v hiệu quả chức năng của nó.


14
B n cạnh những lợi ích rất thực tế, mật mã nhẹ còn chứa đựng nhiều hiểm
họa cũng nhƣ khó khăn trong quá trình áp dụng:
-Độ an to n của mật mã nhẹ không cao nhƣ những mật mã thông thƣờng
khác, vì nó phải cân đối giữa hai yếu tố l tính an to n v tính gọn nhẹ. Về cơ
bản mật mã nhẹ không phù hợp với những ứng dụng y u cầu độ an to n cao
nhƣ các ứng dụng quân sự, t i chính…
-Các mật mã nhẹ chỉ xử lý đƣợc một lƣợng thông tin nhỏ, không có băng
thông cao. Bản thân mật mã nhẹ đƣợc thiết kế chủ yếu không phải cho
phần mềm m để áp dụng nhúng v o các phần cứng. Vì lƣợng thông tin cần
truyền tr n đây không nhiều.
-Khó khăn trong việc tối ƣu hóa các thuật toán mật mã nhẹ hiện có. Bản
thân các hệ mật mã nhẹ đã mất rất nhiều sức đề kháng trong khi t i nguy n
đƣợc sử dụng l hạn chế. Điều n y l m chậm đáng kể việc phát triển một
thuật toán mật mã nhẹ.
Tất cả những điều n y l m cho việc sử dụng mật mã nhẹ trong thực h nh có
chuy n môn cao l khá khó khăn. Tùy t ng nhu cầu của ứng dụng cũng nhƣ phần
cứng m quyết định có n n lựa chọn sử dụng mật mã nhẹ cho vấn đề bảo đảm an
to n của hệ thống hay không.
1.2. Mật mã khối hạng nhẹ
Nếu xét theo số bit xử lý, mật mã khóa đối xứng có hai loại l mã khối
(block cipher) v mã dòng (stream cipher). Mật mã dòng hoạt động với dữ liệu
đầu v o đƣợc mã hóa t ng bit một có thể đáp ứng đƣợc sự biến thi n theo thời
gian tr n những khối bản rõ ri ng biệt. Mã khối l m việc bằng cách chia khối dữ
liệu cần mã hóa th nh những khối có độ d i nhất định v xử lý (mã hóa giải mã) tr
n các khối dữ liệu n y. Y u cầu của mã khối l phải biết kích thƣớc bản rõ. Mã
khối ng y c ng trở n n phổ biến nhất l khi những thiết bị mã hóa điện tử bán dẫn
bắt đầu xuất hiện với dung lƣợng bộ nhớ thấp. Nhất l với tốc độ phát triển của
IoT nhƣ ng y nay. Ngƣời ta ƣớc tính đến năm 2020 sẽ có hơn 50 tỷ thiết bị
tham gia kết nối v o internet. Ngo i máy tính, các thiết bị có cấu hình cao thì còn
có rất nhiều thiết bị chỉ có chip xử lý hạn chế nhƣ tủ lạnh, điều hòa, máy giặt…


15
Mã khối hạng nhẹ l một nhóm thuộc mật mã nhẹ sử dụng trong an to n
thông tin, ở đó thuật toán mã hóa sử dụng đầu v o l các khối B-bit v khóa l K-bit.
Các hệ mã khối hạng nhẹ nhƣ: KLEIN, LED, PRESENT, MINI-AES,
MCRYPTON, KATAN/KTANTAN, DESL/DESX/DESXL, XTEA, LBLOCK,
SIMON, SPECK, SEA, HIGHT, NEOKEON…
Một số hệ mật mã khối hạng nhẹ ti u biểu thƣờng đƣợc sử dụng tr n thế
giới hiện nay:
Hệ mật

Kích thƣớc khối tin

Độ d i khóa

Số vòng mã hóa

KLEIN

64 bits

64 – 80 – 96 bits

12–16–20

LED

64 bits

64 - 128 bits

32–48

PRESENT

64 bits

80 - 128 bits

31

MINI-AES

64 bits

64 bits

10

MCRYPTON

64 bits

64 – 96 - 128 bits

12

KATAN

32 – 48 – 64 bits

80 bits

SIMON

32-48-64-96-128 bits

64-72-96-128-144-

32-36- 42- 44- 52-

192-256 bits
SPECK

32-48-64-96–128
bits

64-72-96-128-144
- 192 - 256 bits

54- 68- 69 – 72
22-23-26-27-2829-32-33–34

Bảng 1.4: Một số hệ mật mã khối hạng nhẹ ti u biểu
Để biết rõ hơn thông tin về năng lƣơng ti u thụ v các chi phí về phần cứng
của các hệ mật mã khối hạng nhẹ, chúng ta có thể theo dõi bảng 1.4; 1.5 v 1.6 [3
]. Nhìn v o những thông tin đƣợc liệt k trong bảng ta có thể nắm đƣợc phần n o
về y u cầu phần cứng của mã khối đó. T đó dựa v o những thông tin đó để đƣa
ra quyết định lựa chọn một hệ mật mã khối hạng nhẹ sao cho phù hợp với thiết
bị nhẹ của mình


16
Algorithm

Block size

Key size

[bit]

[bit]

CyclesFrequency Throughput Area
/block

[MHz]

Peak power

Leak power

[Gbps]

[kgate]

[mW]

[uW]

3.3
1.7
1.0
0.7
3.2
0.4
4.9
0.6
0.4
3.7
1.8
0.5
3.0
2.6
0.5
2.2
1.2
1.6
1.3
0.5

112.4
78.8
60.2
74.6
63.2
44.4
34.6
55.4
74.5
9.8
23.8
19.5
12.3
20.3
18.6
23.9
19.1
19.5
9.0
8.2

175.6
136.5
195.5
172.2
73.0
118.2
111.9
99.1
28.1
71.5
35.6
34.9
56.7
35.4
57.8
61.0
43.8
30.5
17.3

939.6
706.7
891.0
685.9
417.0
446.1
652.2
824.0
107.4
260.4
183.0
149.0
218.1
174.7
259.6
224.8
221.2
97.4
78.0

1.5
0.8
1.0
0.7
1.7
0.1
3.9
0.6
0.2
3.6
1.1
0.2
2.4
1.4
0.2
1.7
1.0
0.8
0.8
0.2

208.4
144.2
63.4
74.3
74.1
69.1
55.6
56.5
215.4
10.1
27.5
29.9
20.6
23.8
28.6
43.8
22.8
25.6
10.4
12.4

337.2
294.3
133.8
195.5
187.0
127.1
123.7
112.9
103.1
29.1
83.2
62.3
37.1
62.9
57.8
127.8
64.8
50.9
30.9
27.5

2612.0
1734.3
754.9
891.0
803.7
672.5
720.2
673.3
815.6
108.2
299.1
290.8
256.4
255.3
278.0
505.4
264.0
292.2
111.8
121.7

Unrolled, Enc

AES(table)(128/128)
AES(comp)(128/128)
Camellia(comp)(128/128)
CLEFIA(128/128)
SIMON(128/128)
SPECK(128/128)
Midori(128/128)
TDES(64/168)
LED(64/128)
PRINCE(64/128)
SIMON(64/128)
SPECK(64/128)
Midori(64/128)
SIMON(64/96)
SPECK(64/96)
PRESENT(64/80)
Piccolo(64/80)
TWINE(64/80)
SIMON(32/64)
SPECK(32/64)

128
128
128
128
128
128
128
64
64
64
64
64
64
64
64
64
64
64
32
32

128
128
128
128
128
128
128
168
128
128
128
128
128
96
96
80
80
80
64
64

AES(table)(128/128)
AES(comp)(128/128)
Camellia(comp)(128/128)
CLEFIA(128/128)
SIMON(128/128)
SPECK(128/128)
Midori(128/128)
TDES(64/168)
LED(64/128)
PRINCE(64/128)
SIMON(64/128)
SPECK(64/128)
Midori(64/128)
SIMON(64/96)
SPECK(64/96)
PRESENT(64/80)
Piccolo(64/80)
TWINE(64/80)
SIMON(32/64)
SPECK(32/64)

128
128
128
128
128
128
128
64
64
64
64
64
64
64
64
64
64
64
32
32

128
128
128
128
128
128
128
168
128
128
128
128
128
96
96
80
80
80
64
64

1
25.7
1
13.4
1
7.8
1
5.7
1
24.7
1
3.2
1
38.5
1
10.0
1
6.9
1
57.1
1
27.8
1
7.3
1
46.5
1
41.3
1
7.6
1
34.3
1
18.0
1
24.8
1
39.4
1
15.3
Unrolled, Enc/Dec
1
11.4
1
6.4
1
7.7
1
5.7
1
13.0
1
1.1
1
30.7
1
9.6
1
3.1
1
56.1
1
16.8
1
2.7
1
37.7
1
21.5
1
2.9
1
26.8
1
16.3
1
13.1
1
23.6
1
6.9

Bảng 1.5: Thông tin phần cứng của một số mã khối hạng nhẹ (kiến trúc không
kiểm soát) [3]


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×