ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
KEOTHAVIXAY SOMNEUK
NGHIÊN CỨU VỀ MÃ HÓA TỐC ĐỘ CAO ỨNG DỤNG
CHO CÁC MẠNG CẢM BIẾN KHÔNG DÂY
LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH
THÁI NGUYÊN - 2020
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
KEOTHAVIXAY SOMNEUK
NGHIÊN CỨU VỀ MÃ HÓA TỐC ĐỘ CAO ỨNG DỤNG
CHO CÁC MẠNG CẢM BIẾN KHÔNG DÂY
LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 84 8
66 trang |
Chia sẻ: huong20 | Ngày: 13/01/2022 | Lượt xem: 420 | Lượt tải: 0
Tóm tắt tài liệu Luận văn Nghiên cứu về mã hóa tốc độ cao ứng dụng cho các mạng cảm biến không dây, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
80 101
Người hướng dẫn khoa học: TS. Đỗ Thị Bắc
THÁI NGUYÊN - 2020
I
LỜI CÁM ƠN
Trước tiên tôi bày tỏ lời cảm ơn chân thành đến các thầy, cô giáo đã giảng
dạy, hướng dẫn và giúp đỡ tôi trong thời gian học tập và nghiên cứu hoàn thành
luận văn này.
Xin được bày tỏ lòng biết ơn sâu sắc tới cô giáo TS. Đỗ Thị Bắc đã tận
tình hướng dẫn, giúp đỡ và đóng góp cho tôi nhiều ý kiến quý báu để hoàn thành
luận văn này.
Xin trân thành cảm ơn các thầy, cô giáo trường đại học công nghệ thông
tin và truyền thông, đặc biệt là các thầy cô trong khoa công nghệ thông tin đã
giảng dạy, giúp đỡ và tạo điều kiện thuận lợi cho tôi trong thời gian học tập tại
trường.
Cuối cùng, xin trân thành cảm ơn gia đình và bạn bè đã động viên, quan
tâm, giúp đỡ tôi hoàn thành khóa học và luận văn.
Thái Nguyên, Năm 2020
Học viên
KEOTHAVIXAY Somneuk
II
LỜI CAM ĐOAN
Tôi cam đoan luận văn này là do bản thân tự nghiên cứu và thực
hiện theo sự hướng dẫn khoa học của TS. Đỗ Thị Bắc
Tôi hoàn toàn chịu trách nhiệm về tính pháp lý quá trình nghiên
cứu khoa học của luận văn này.
Thái Nguyên, Năm 2020
Học viên
KEOTHAVIXAY Somneuk
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 BẢNG BIỂU ............................................................................... VI
DANH MỤC CÁC HÌNH VẼ ................................................................................... VII
MỞ ĐẦU ................................................................................................................. VIII
CHƯƠNG 1: TỔNG QUAN VỀ MẬT MÃ VÀ MÃ KHỐI. ..................................... 1
1.1 Giới thiệu ............................................................................................................... 1
1.2 Bảo vệ thông tin trong quá trình truyền trên mạng ............................................... 1
1.2.1. Các loại hình tấn công .................................................................................. 1
1.2.2 Yêu cầu của một hệ truyền thông tin an toàn và bảo mật .............................. 4
1.3 Vai trò của mật mã trong việc bảo mật thông tin trên mạng ................................. 5
1.4 Mã khối ................................................................................................................. 6
1.4.1 Khái niệm ....................................................................................................... 6
1.4.2 Phương pháp thiết kế mật mã khối ................................................................ 6
1.4.3 Tấn công mật mã khối ................................................................................. 11
1.4.4 Các phương thức hoạt động của mật mã khối. ............................................ 12
1.5 Tiểu luận chương 1 ............................................................................................. 17
CHƯƠNG 2 NGUYÊN LÝ THIẾT KẾ MÃ KHỐI TRÊN CSPN ........................ 18
2.1. Nguyên lý thiết kế CSPN ................................................................................... 18
2.1.1. Lớp phần tử nguyên thủy mật mã điều khiển được .................................... 18
2.1.2. Cấu trúc CSPN ............................................................................................ 22
2.2. Nguyên lý thiết kế thuật toán mật mã trên FPGA .............................................. 24
2.2.1 Chiến lược thiết kế ....................................................................................... 24
2.2.2. Cấu trúc thiết kế .......................................................................................... 24
2.2.3. Các thông số và mô hình đánh giá .............................................................. 25
2.3. Nguyên lý đánh giá độ an toàn của các thuật toán ............................................. 27
2.3.1. Đánh giá đặc trưng thống kê theo tiêu chuẩn NESSIE ............................... 27
2.3.2. Đánh giá độ an toàn theo đặc trưng vi sai .................................................. 30
2.4 Nguyên lý đánh giá hiệu quả tích hợp trên FPGA .............................................. 31
IV
2.4.1 Lưu lượng thông tin ..................................................................................... 31
2.4.2. Diện tích (Area) .......................................................................................... 31
2.4.3 Lưu lượng/diện tích ..................................................................................... 32
2.5. Tiểu luận chương 2 ............................................................................................ 32
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM VÀ ĐÁNH GIÁ
KẾT QUẢ ..................................................................................................................... 33
3.1 Mạng cảm biến không dây .................................................................................. 33
3.1.1 Định nghĩa của mạng cảm biến không dây .................................................. 33
3.1.2 Cấu trúc của mạng cảm biến không dây ...................................................... 33
3.1.3 Đặc điểm của mạng cảm biến không dây .................................................... 34
3.2 Mô tả thuật toán mô phỏng ................................................................................. 35
3.2.1 Cấu trúc của các phần từ điều khiển được sử dụng ..................................... 36
3.2.2 Thuật toán mã khối BM-64 .......................................................................... 39
3.3 Đánh giá độ an toàn của BM-64 ......................................................................... 42
3.3.1 Đánh giá về đặc trưng thống kê của BM-64 theo chuẩn NESSIE ............... 42
3.3.2 Đánh giá về thám mã vi sai .......................................................................... 43
3.4. Cài đặt mô phỏng và đánh giá hiệu quả tích hợp của thuật toán ....................... 46
3.4.1 Công cụ cài đặt mô phỏng ........................................................................... 46
3.4.2 Kết quả đánh giá và so sánh hiệu suất trên FPGA ....................................... 48
3.4.2.1 Minh họa một số giao diện mô phỏng trền FPGA: ................................. 48
3.4.2.2 Kết quả đánh giá ...................................................................................... 53
KẾT LUẬN .................................................................................................................. 54
TÀI LIỆU THAM KHẢO ........................................................................................... 55
V
DANH MỤC CHỮ VIẾT TẮT
Chữ viết tắt Chữ đẩy đủ
SPN Substitution Permutation Network
SAC Strict Avalanche Criteria
DDO Data Dependent Operation
ECB Electronic Code Book
CBC Cipher Block Chaining
OFB Output Feed Back
CFB Cipher Feed Back
CTR Counter mode
CSPN Controlled Substitution Permutation Network
FPGA Field-programmable gate array
NL Non Linearity
IL Iterative Looping
LU Loop Unrolling
PP Pipeline
CLB Configurable Logic Block
LUT Look-Up Table
IOB Input/Output Block
New European Schemes for Signatures, Integrity and
NESSIE
Encryption
LC Linear Cryptanalysis
DC Differential Cryptanalysis
Switchable Data Dependent Operation (data-driven
SDDO
operation)
WSNs Wireless sensor networks
ISE Design Integrated Synthesis Environment Design
HDL Hardware Description Languages
IDE Integrated Device Electronics
GUI Graphical user interface
ISE Integrated Synthesis Environment
PLD Programmable Logic Device
CAD Computer Aided Design
MCF Maximum Clock Frequency
LUT Look-Up Table
CPLD Complex Programmable Logic Device
AES Advanced Encryption Standard
SHA Secure Hash Algorithm
VHDL VHSIC Hardware Description Language
PE Primitive Element
VI
DANH MỤC CÁC BẢNG BIỂU
Y X V
Bảng 3.1 XÁC XUẤT PR(IJK)=PR( I / J , K) CỦA ĐẶC TÍNH VI PHÂN CỦA F2/2. .... 37
-1
Bảng 3.2 Miêu tả các phép thế trong hộp S4x4 và S 4x4 ..................................... 39
Bảng 3.3 Lịch biểu sử dụng khóa trong thuật toán BM-64 với khóa mật 128 bits. ... 41
Bảng 3.4 Lịch biểu sử dụng khóa trong thuật toán BM-64 với khóa mật 192 bits. ... 42
Bảng 3.5 Lịch biểu sử dụng khóa trong thuật toán BM-64 với khóa mật 256
bits. ...................................................................................................................... 42
Bảng 3.6 Ảnh hưởng của bit dữ liệu và bit khóa trong thuật toán BM-64. ........ 43
Bảng 3.7 So sánh đặc trưng vi sai của một số mã hóa khối ................................ 46
Bảng 3.8 So sánh kết quả thực hiện các thuật toán khác nhau trên FPGA với BM-64 .. 53
VII
DANH MỤC CÁC HÌNH VẼ
Hình 1. 1 Xem trộm thông tin ............................................................................ 2
Hình 1. 2 Sửa thông điệp .................................................................................... 2
Hình 1. 3 Mạo danh ............................................................................................. 3
Hình 1. 4 Phát lại thông điệp .............................................................................. 4
Hình 1. 5 Mô hình bảo mật thông tin trên mạng ................................................... 5
Hình 1. 6 Cấu trúc mạng Feistel ............................................................................ 7
Hình 1. 7 Cấu trúc SPN ......................................................................................... 8
Hình 1. 8 Các chế độ hoạt động của mã khối ..................................................... 12
Hình 1. 9 Chế độ mã hóa ECB ........................................................................... 13
Hình 1. 10 Chế độ mã hóa CBC .......................................................................... 14
Hình 1. 11 Chế độ mã hóa s-bít CFB .................................................................. 15
Hình 1. 12 Chế độ mã hóa s-bít OFB .................................................................. 16
Hình 1. 13 Chế độ mã hóa CTR ......................................................................... 17
Hình 2.1 Cấu trúc biểu diễn của F2/1 ......................................................................... 19
Hình 2. 2 Cấu trúc biểu diễn của F2/2 ........................................................................ 21
-1
Hình 2. 3 Cấu trúc tổng quát của Fn/m (a) và F n/m (b) xây dựng từ F2/1 .............. 23
Hình 2. 4 Cấu trúc thiết kế mật mã khối trên FPGA, .......................................... 25
-1
Hình 3. 1 Cấu trúc của F4/8 (a) và F 4/8 (b). ....................................................... 38
-1
Hình 3. 2 Cấu trúc của F16/64 (a) và F 16/64(b) ................................................... 38
Hình 3. 3 Sơ đồ cấu trúc của thuật toán BM-64. a). Sơ đồ tổng quát. ................ 41
Hình 3. 4 Thông tin về vi sai sau vòng 2 của thuật toán BM-64. ....................... 45
Hình 3. 5 Sơ đồ thiết kế tổng thể của BM-64 trên FPGA (cấu trúc IL) ............. 50
Hình 3. 6 Sơ đồ thiết kế BM-64 trên FPGA (cấu trúc PP) ................................. 52
VIII
MỞ ĐẦU
Mật mã là một ngành khoa học công nghệ mà nhiều lĩnh vực ứng dụng
phải dùng nhằm đảm bảo an ninh, tính bí mật, tính xác thực, chống từ chối và
toàn vẹn thông tin. Nhất là trong thời đại công nghệ số, thời đại mà mọi hoạt
động, mọi giao dịch của hầu hết các ngành nghề, lĩnh vực đều thông qua môi
trường mạng.
Mã khối là một giải pháp hiện đại trong lĩnh vực mật mã. Nhiều giải pháp
đã được đưa ra thông qua các cuộc thi trên toàn thế giới. Như chuẩn mã hóa dữ
liệu AES, SHA1, SHA2. Và ngay trong năm nay sẽ công bố kết quả của cuộc thi
SHA3.
Việc ứng dụng mạng hoán vị thay thế điều khiển được (CSPN) trong xây
dựng và phát triển các thuật toán mã hóa khối hiện nay là hướng đi của hầu hết
các nhà nghiên cứu với đề tài “ Nghiên cứu về mã hóa tốc độ cao ứng dụng cho
các mạng cảm biến không dây ”
Đây là chủ đề rộng lớn và phức tạp có sự phát triển rất mạnh được giới
khoa học quan tâm, nên cũng là khó khăn cho nghiên cứu sinh. Mặc dù đã chuẩn
bị kỹ nhưng không thể tránh được những khiếm khuyết. Em rất mong nhận được
các ý kiến quý báu của các nhà khoa học và các thầy cô giáo để báo cáo của em
hoàn thiện hơn.
1
CHƯƠNG 1: TỔNG QUAN VỀ MẬT MÃ VÀ MÃ KHỐI.
1.1 Giới thiệu
Trước đây khi công nghệ máy tính chưa phát triển, khi nói đến vấn đề
an toàn bảo mật thông tin (Information Security), chúng ta thường hay nghĩ
đến các biện pháp nhằm đảm bảo cho thông tin được trao đổi hay cất giữ một
cách an toàn và bí mật. Chẳng hạn là các biện pháp như:
Đóng dấu và ký niêm phong một bức thư để biết rằng lá thư có được
chuyển nguyên vẹn đến người nhận hay không.
Dùng mật mã mã hóa thông điệp để chỉ có người gửi và người nhận
hiểu được thông điệp. Phương pháp này thường được sử dụng trong chính trị
và quân sự.
Lưu giữ tài liệu mật trong các két sắt có khóa, tại các nơi được bảo
vệ nghiêm ngặt, chỉ có những người được cấp quyền mới có thể xem tài liệu.
Với sự phát triển mạnh mẽ của công nghệ thông tin, đặc biệt là sự phát
triển của mạng Internet, ngày càng có nhiều thông tin được lưu giữ trên máy
vi tính và gửi đi trên mạng Internet. Và do đó xuất hiện nhu cầu về an toàn và
bảo mật thông tin trên máy tính. Có thể phân loại mô hình an toàn bảo mật
thông tin trên máy tính theo hai hướng chính như sau:
Bảo vệ thông tin trong quá trình truyền thông tin trên mạng (Network
Security). Các giải pháp mật mã được sử dụng.
Bảo vệ hệ thống máy tính, và mạng máy tính, khỏi sự xâm nhập phá
hoại từ bên ngoài (System Security)
1.2 Bảo vệ thông tin trong quá trình truyền trên mạng
1.2.1. Các loại hình tấn công
Để xem xét những vấn đề bảo mật liên quan đến truyền thông
trên mạng, chúng ta hãy lấy một bối cảnh sau: có ba nhân vật tên là
Alice, Bob và Trudy, trong đó Alice và Bob thực hiện trao đổi thông
tin với nhau, còn Trudy là kẻ xấu, đặt thiết bị can thiệp vào kênh
2
truyền tin giữa Alice và Bob. Sau đây là các loại hành động tấn công
của Trudy mà ảnh hưởng đến quá trình truyền tin giữa Alice và Bob:
a. Xem trộm thông tin (Release of Message Content)
Trong trường hợp này Trudy chặn các thông điệp Alice gửi cho
Bob, và xem được nội dung của thông điệp.
Hình 1. 1 Xem trộm thông tin
b. Thay đổi thông điệp (Modification of Message)
Sửa thông diệp của
Alice gửi cho Bob
Hình 1. 2 Sửa thông điệp
Trudy chặn các thông điệp Alice gửi cho Bob và ngăn không cho
các thông điệp này đến đích. Sau đó Trudy thay đổi nội dung của
thông điệp và gửi tiếp cho Bob. Bob nghĩ rằng nhận được thông điệp
nguyên bản ban đầu của Alice mà không biết rằng chúng đã bị sửa đổi.
3
c. Mạo danh (Masquerade)
Trong trường hợp này Trudy giả là Alice gửi thông điệp cho
Bob. Bob không biết điều này và nghĩ rằng thông điệp là của Alice.
Hình 1. 3 Mạo danh
d. Phát lại thông điệp (Replay)
Trudy sao chép lại thông điệp Alice gửi cho Bob. Sau đó một
thời gian Trudy gửi bản sao chép này cho Bob. Bob tin rằng thông
điệp thứ hai vẫn là từ Alice, nội dung hai thông điệp là giống nhau.
Thoạt đầu có thể nghĩ rằng việc phát lại này là vô hại, tuy nhiên trong
nhiều trường hợp cũng gây ra tác hại không kém so với việc giả mạo
thông điệp. Xét tình huống sau: giả sử Bob là ngân hàng còn Alice là
một khách hàng. Alice gửi thông điệp đề nghị Bob chuyển cho Trudy
1000$. Alice có áp dụng các biện pháp như chữ ký điện tử với mục
đích không cho Trudy mạo danh cũng như sửa thông điệp. Tuy nhiên
nếu Trudy sao chép và phát lại thông điệp thì các biện pháp bảo vệ này
không có ý nghĩa. Bob tin rằng Alice gửi tiếp một thông điệp mới để
chuyển thêm cho Trudy 1000$ nữa.
4
Hình 1. 4 Phát lại thông điệp
1.2.2 Yêu cầu của một hệ truyền thông tin an toàn và bảo mật
Phần trên đã trình bày các hình thức tấn công, một hệ truyền tin được
gọi là an toàn và bảo mật thì phải có khả năng chống lại được các hình thức
tấn công trên. Như vậy hệ truyền tin phải có các đặt tính sau:
a) Tính bảo mật (Confidentiality): Ngăn chặn được vấn đề xem trộm
thông điệp.
b) Tính chứng thực (Authentication): Nhằm đảm bảo cho Bob rằng
thông điệp mà Bob nhận được thực sự được gửi đi từ Alice, và không bị thay
đổi trong quá trình truyền tin. Như vậy tính chứng thực ngăn chặn các hình
thức tấn công sửa thông điệp, mạo danh, và phát lại thông điệp.
c) Tính không từ chối (Nonrepudiation): xét tình huống sau:
Giả sử Bob là nhân viên môi giới chứng khoán của Alice. Alice gởi
thông điệp yêu cầu Bob mua cổ phiếu của công ty Z. Ngày hôm sau, giá cổ
phiếu công ty này giảm hơn 50%. Thấy bị thiệt hại, Alice nói rằng Alice
không gửi thông điệp nào cả và quy trách nhiệm cho Bob. Bob phải có cơ chế
để xác định rằng chính Alice là người gởi mà Alice không thể từ chối trách
nhiệm được.
5
Khái niệm chữ ký trên giấy mà con người đang sử dụng ngày nay là
một cơ chế để bảo đảm tính chứng thực và tính không từ chối. Và trong lĩnh
vực máy tính, người ta cũng thiết lập một cơ chế như vậy, cơ chế này được
gọi là chữ ký điện tử.
Hình 1. 5 Mô hình bảo mật thông tin trên mạng
1.3 Vai trò của mật mã trong việc bảo mật thông tin trên mạng
Mật mã hay mã hóa dữ liệu (cryptography), là một công cụ cơ bản thiết
yếu của bảo mật thông tin. Mật mã đáp ứng được các nhu cầu về tính bảo mật
(confidentiality), tính chứng thực (authentication) và tính không từ chối (non-
repudiation) của một hệ truyền tin.
Mã hóa dữ liệu bao gồm mã hóa đối xứng và mã hóa bất đối xứng,
chúng đóng vai trò quan trọng trong mật mã hiện đại. Mã khối là một hình
thức của mã hóa đối xứng.
Ngoài ra, hàm băm (hàm Hash) cũng là một công cụ bảo mật quan
trọng mà có nhiều ứng dụng lý thú, trong đó có chữ ký điện tử.
Trong khuôn khổ của đề tài nghiên cứu, sẽ đi sâu để nghiên cứu về mã
khối và các mạng hoán vị thay thế điều khiển được để xây dựng các mã khối
áp dụng trong các mạng truyền thông tốc độ cao.
6
1.4 Mã khối
1.4.1 Khái niệm
Mật mã khối là phương thức cho phép mã hóa trên một nhóm các bit
(khối) với độ dài nào đó, lần lượt mỗi khối được mã hoặc giải mã. Kích thước
mỗi khối thường là 64 bit hoặc lớn hơn. Các tham số quan trọng của mã hóa
khối là kích thước (độ dài) của mỗi khối, kích thước khóa, cấu trúc của vòng
mã hóa cơ sở, ... Các mã khối đều được xây dựng dựa trên ý tưởng của
Shannon đưa ra năm 1949.
1.4.2 Phương pháp thiết kế mật mã khối
a. Cấu trúc thiết kế
Xuất phát từ ý tưởng của Shannon, một số cấu trúc mã hóa khối cơ sở
đã được đề xuất. Trong số đó, cấu trúc mạng Feistel (Feistel network) và
mạng hoán vị thay thế (Substitution Permutation Network - SPN) là 2 cấu
trúc mã hóa khối được sử dụng phổ biến trong việc phát triển các thuật toán
mã hóa khối hiện nay.
- Cấu trúc Feistel
Horst Feistel đề xuất ra cấu trúc Feistel dựa trên mã tích nghịch đảo
được, tức là kết hợp mã thay thế với mã hoán vị và qui trình mã/giải mã là
giống nhau, quá trình giải mã chỉ cần thay đổi vai trò khối bản mã với khối
bản rõ và thứ tự các khoá con được dùng. Từ khóa chính sẽ sinh ra cho mỗi
vòng mã hóa một khóa con tương ứng. Quy trình thực hiện được mô tả như
trong hình 1.6.
7
Bản rõ (2w bits)
L0 R0
Vòng 1 K1
˷
F
L1 R1
Vòng 2 Ki
˷
F
Li Ri
Vòng n Kn
˷
F
Ln Rn
Ln+1 Rn+1
Bản mã (2w bits)
Hình 1. 6 Cấu trúc mạng Feistel
- Cấu trúc SPN
Cấu trúc SPN là một trong các cấu trúc được sử dụng chung nhất trong
các mã khối. Cấu trúc SPN được dựa trên các nguyên tắc của Shannon về tính
hỗn loạn (confusion) và khuếch tán (diffusion). Các nguyên tắc này được
được thực hiện thông qua việc sử dụng các phép thay thế và các phép hoán vị.
Quy trình thực hiện được mô tả như trong hình 1.7
8
Khóa vòng
K1
S1 S2 Sn
Phép biến đổi tuyến tính
Khóa vòng
K2
S1 S2 Sn
Khóa vòng
Km
S1 S2 Sn
Hình 1. 7 Cấu trúc SPN
b. Tiêu chuẩn thiết kế
b1.Tiêu chuẩn thiết kế chung
Các tiêu chuẩn chung sau được chấp nhận bởi phần lớn các nhà mật mã
học. Nó bao gồm: độ an toàn, tính hiệu quả, tính linh hoạt của khóa và tính đa
dụng. Ngoài ra còn một số các tiêu chuẩn khác như: tính đơn giản, tính đối
xứng (gồm đối xứng qua các vòng, đối xứng trong biến đổi vòng, đối xứng
trong hộp S, đối xứng giữa phép mã và giải mã), tính song song, tính mềm
dẻo đối với thứ tự của các bước, độ dài khối thay đổi, lựa chọn một số phép
toán số học.
Tiêu chuẩn về độ an toàn và tính hiệu quả được áp dụng bởi tất cả các
nhà thiết kế mật mã. Có một số trường hợp tính hiệu quả phải hy sinh để nhận
9
được một ngưỡng an toàn cao. Thách thức được đặt ra cho việc thiết kế mật
mã là đề xuất một ngưỡng an toàn hợp lý trong khi tối ưu tính hiệu quả.
Tiêu chuẩn về độ linh hoạt của khóa và tính đa dụng là ít vạn năng hơn.
Trong một số trường hợp các tiêu chuẩn này là không thích đáng bởi vì mã
pháp được ngụ ý cho một ứng dụng cụ thể và sẽ được cài đặt trên một nền
tảng cụ thể.
b2. Tiêu chuẩn khuếch tán.
Hai nguyên tắc quan trọng đối với việc thiết kế mật mã khối đó là: Tiêu
chuẩn thác lũ chặt (SAC: Strict Avalanche Criteria) và chiến lược vết rộng và
số nhánh (The wide-trail strategy and the branch number).
1) Tiêu chí thác lũ chặt
Về mặt lịch sử, SAC [3] được sử dụng trong các thiết kế mã khối đơn
giản để mô tả sự khuếch tán của chúng. Theo đó, một hộp S được xác định
như hàm logic hoặc như một tập của m hàm logic nhị
phân , . Một hàm logic nhị phân thỏa mãn
SAC nếu một bit của véc tơ đầu vào thay đổi thì có một nửa số bit của đầu ra
thay đổi. Cụ thể hơn, f thỏa mãn SAC nếu là hàm logic cân
bằng .
2) Chiến lược vết rộng và số nhánh
Chiến lược vết rộng [25] là một phương pháp tiếp cận để thiết kế hàm
vòng của thuật toán mật mã khối. Hàm này mang lại hiệu suất tổ hợp và
chống lại các kỹ thuật thám mã. Trong chiến lược vết rộng, một lớp khuếch
tán được xây dựng để cung cấp sự khuếch tán và giải pháp chính để đánh giá
lớp khuếch tán là số nhánh. Tuy nhiên trong vấn đề này, cần hạn chế sự mở
rộng số nhánh theo một phép biến đổi tuyến tính.
b3. Tiêu chuẩn hỗn loạn
Các hộp S thường là phần phi tuyến trong mã hóa khối và là phần quan
trọng đầu tiên cho sự hỗn loạn. Các hộp S được xây dựng từ các hàm logic
10
phức tạp để làm mờ đi mối quan hệ giữa bản rõ, bản mã và khóa. Ta tập trung
vào 3 tiêu chí cần thiết: tính phi tuyến, đặc trưng vi sai và bậc phi tuyến.
Tính phi tuyến
Tính phi tuyến của hàm logic liên quan đến khoảng cách giữa hàm và
tập tất cả các phép xấp xỉ tuyến tính của hàm này. Các phép xấp xỉ của các
hộp S có thể giúp cho kẻ tấn công có khả năng đe dọa độ an toàn của thuật
toán mã hóa khối.
Định nghĩa 1.1 Gọi là hộp S. Khi đó, có thể có
các phép xấp xỉ của hộp S này. Mỗi phép xấp xỉ có 1 xác suất nhất
định p. Ta ký hiệu độ chênh lệch (hay sai số) của 1 phép xấp xỉ tuyến tính là
và nó được tính bằng công thức: . Gọi là giá trị tuyệt đối của
độ chênh lệch và là giá trị tuyệt đối của độ lệch xấp xỉ tuyến tính lớn
nhất. Như thế, thông số phi tuyến của hộp S (ký hiệu là ) sẽ tương đương là
.
Đặc trưng vi sai
Do có thể ước đoán (xấp xỉ) hộp S bằng các hàm logic tuyến tính nên ta
cũng có thể nghiên cứu sự lan truyền vi sai trong các hộp S.
Định nghĩa 1.2 Cho hộp S dưới dạng hàm . Với
hàm này ta có thể có giá trị vi sai đầu vào khác nhau và
tương tự cũng có thể có giá trị vi sai đầu ra . Ta biểu diễn
vi sai của hộp S như sau: , nó được hiểu là với vi sai đầu vào sẽ
tạo ra vi sai đầu ra với xác suất p. Khi đó, thông số vi sai của một hộp S
tương đương với xác suất của vi sai lớn nhất của nó.
Bậc phi tuyến
Lars Knudsen là người đưa ra khái niệm bậc phi tuyến vào năm 1994
và khái niệm này dựa vào mức độ phức tạp đại số của hàm logic. Ta có thể
coi đó là một khái niệm tổng quát của các khái niệm vi sai.
11
Định nghĩa 1.3. Cho là một hàm logic. Đạo hàm
của f tại một điểm được định nghĩa như sau:
Đạo hàm bậc i của f tại điểm: được định nghĩa:
Định nghĩa 1.4 Bậc phi tuyến của , được kí hiệu
là giá trị i lớn nhất mà không phải là một hằng.
Ở đây, yêu cầu véc tơ là độc lập tuyến tính vào đạo hàm
bậc i không có giá trị 0.
1.4.3 Tấn công mật mã khối
Tấn công được xem là việc phân tích bản tin mã hóa để nhận được bản
tin rõ trong điều kiện không biết trước khóa mã. Thực tế, công việc tấn công
gặp nhiều khó khăn hơn khi không biết rõ hệ mật mã nào được sử dụng. Tuy
nhiên, để đơn giản hóa, giả sử người tấn công đã biết rõ hệ mật mã được sử
dụng khi tiến hành phân tích mã. Giả định này đặt ra với mục đích là thiết kế
được một hệ mật mã an toàn bảo mật.
Các mức độ tấn công có thể được phân loại như sau: tấn công chỉ biết
bản mã (ciphertext-only) tức người tấn công chỉ có bản tin mã hóa; tấn công
biết bản rõ (known plaintext) tức người thám mã có bản tin rõ và bản mã; tấn
công chọn bản rõ (chosen plaintext) tức người thám mã tạm thời có quyền
truy xuất tới bộ mã hóa, do đó người tấn công có khả năng chọn bản tin rõ và
xây dựng bản mã tương ứng; tấn công chọn bản mã (chosen ciphertext) tức là
người tấn công tạm thời có quyền truy xuất tới bộ giải mã, do đó có khả năng
chọn bản mã và xây dựng lại bản tin rõ tương ứng
Một số phương pháp phổ biến được sử dụng để tấn công vào mật mã
khối được biết đến cho đến hiện nay bao gồm:
- Tấn công bằng phương pháp vét cạn (brute force).
- Tấn công dựa vào thám mã tuyến tính (linear cryptanalysis).
12
- Tấn công dựa vào thám mã lượng sai (differential cryptanalysis).
Tuy nhiên trong số các phương pháp này, thám mã lượng sai được đánh
giá là giải pháp hiệu quả hơn cả đối với mã khối nói chung và đặc biệt là mã
khối tốc độ cao dựa trên các toán tử DDO ứng dụng trong các hệ thống truyền
thông không dây.
Các điểm yếu sau có thể áp dụng được cho một mã khối để thực hiện
cuộc tấn công:
1. Tồn tại các tấn công khôi phục khóa nhanh hơn tìm kiếm vét cạn.
Khả năng này thường được gọi là các tấn công đường tắt.
2. Các tính chất đối xứng nào đó trong mã khối (ví dụ như tính chất bù).
3. Sự có mặt của các lớp khóa yếu (như trong IDEA).
4. Các tấn công vào khóa liên kết.
1.4.4 Các phương thức hoạt động của mật mã khối.
Với bản tin có độ dài vượt quá độ dài của một khối dữ liệu thì phương
án mã hóa phải được tính đến. Đó chính là các chế độ hoạt động của mật mã
khối. Trong mật mã khối, việc mã hóa chuyển các khối bản rõ thành các khối
bản mã và ngược lại.
Hình 1. 8 Các chế độ hoạt động của mã khối
(a) Electronic Code Book (ECB).
(b) Cipher Block Chaining (CBC).
(c) Output Feed Back (OFB).
(d) Cipher Feed Back (CFB).
(e) Counter mode (CTR).
13
Đứng trên quan điểm thực hiện trên phần cứng, chúng ta có thể chia ra
làm 2 loại chế độ hoạt động chính:
Chế độ không hồi tiếp: bao gồm Electronic Code Book mode (ECB) và
Counter mode (CTR).
Chế độ có hồi tiếp: bao gồm Cipher Block Chaining mode (CBC),
Cipher Feedback Mode (CFB), và Output Feedback Mode (OFB).
Như vậy chỉ có ở chế độ không hồi tiếp mới có thể tận dụng hết khả
năng thực thi mật mã bằng phần cứng. Xem xét các chế độ làm việc của các
sơ đồ mã khối ta có thể nhận thấy một số vấn đề sau:
Chế độ ECB (Chế độ chuyển mã điện tử- Chế độ bảng tra mã điện tử):
là chế độ đơn giản nhất của mã khối, nó thường được sử dụng khi cần truyền
an toàn một thông tin riêng (ví dụ, mã hóa khóa). Chế độ này có nhược điểm
là mức độ an toàn không cao, vì rằng đối thủ có thể dựng lại các bản mã từ
các bản mã gốc. Nhược điểm này không chỉ ảnh hưởng đến độ an toàn mà
còn ảnh hưởng đến hiệu quả năng lượng của sơ đồ mã. Nhưng khi hoạt động
ở chế độ này, sơ đồ mã có khả năng dùng lỗi chống lại lỗi của bản mã (chỗ
các bits bị thay đổi) và lỗi đồng bộ hóa (chỗ các bits có thể được thêm vào
hoặc mất đi).
(a) Encryption
(b) Decryption
Hình 1. 9 Chế độ mã hóa ECB
14
Chế độ CBC (chế độ liên kết khối mã- Chế độ mã móc xích): là chế độ
thường được sử dụng nhất của mã khối, nó thường được sử dụng khi truyền
các khối dữ liệu hoặc dùng để xác thực.
Khi làm việc ở chế độ này, các sơ đồ mã có nguy cơ bị lộ thông tin do
kiểu tấn công “nghịch lý ngày sinh nhật”. Với khả năng chống lại lỗi bản mã
thì một bits lỗi truyền sẽ chỉ ảnh hưởng đến việc giải mã của 2 khối tiếp sau.
Chế độ này không có khả năng chống lại lỗi đồng bộ hóa.
(a) Encryption
(b) Decryption
Hình 1. 10 Chế độ mã hóa CBC
Chế độ CFB (chế độ phản hồi mã- Chế độ Mã phản hồi): thường được
sử dụng khi truyền các dòng dữ liệu hoặc dùng để xác thực. Chế độ này có
khả năng khôi phục chống lại lỗi bản mã và có khả năng khôi phục chống lại
lỗi đồng bộ hóa sau khi truyền một số lượng nào đó các khối.
15
(a) Encryption
(b) Decryption
Hình 1. 11 Chế độ mã hóa s-bít CFB
Chế độ OFB (chế độ phản hồi đầu ra- Chế độ mật mã kết quả phản
hồi): thường được sử dụng khi truyền dòng dữ liệu trên các kênh có nhiễu.
Với chế độ này lỗi trong một bản mã chỉ ảnh hưởng lên lỗi của bản rõ tương ứng.
16
(a) Encryption
(b) Decryption
Hình 1. 12 Chế độ mã hóa s-bít OFB
Chế độ CTR (Chế độ mật mã con đếm): chế độ này giống như chế độ
CBC, độ bảo mật của chế độ này không tồi hơn chế độ CBC.
Sơ đồ của nó đơn giản, sự móc xích (feedback) giữa các khối đã được
loại trừ hoàn toàn, làm cho CTR có những hiệu năng tính toán cao đáng mong
Các file đính kèm theo tài liệu này:
- luan_van_nghien_cuu_ve_ma_hoa_toc_do_cao_ung_dung_cho_cac_ma.pdf