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

tìm hiểu mật mã hộp trắng (whitebox cryptography) và ứng dụng trong hệ thống thu phát thông tin số

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 (1.76 MB, 80 trang )

®¹i häc th¸i nguyªn
Tr-êng ®¹i häc C¤NG NGHÖ TH¤NG TIN Vµ TRUYÒN TH¤NG



NGUYỄN THIÊN PHI

TÌM HIỂU MẬT MÃ HỘP TRẮNG
(WHITEBOX CRYPTOGRAPHY) VÀ ỨNG DỤNG
TRONG HỆ THỐNG THU PHÁT THÔNG TIN SỐ



LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH


th¸i nguyªn - n¨m 2014
®¹i häc th¸i nguyªn
Tr-êng ®¹i häc C¤NG NGHÖ TH¤NG TIN Vµ TRUYÒN TH¤NG




NGUYỄN THIÊN PHI












TÌM HIỂU MẬT MÃ HỘP TRẮNG
(WHITEBOX CRYPTOGRAPHY) VÀ ỨNG DỤNG
TRONG HỆ THỐNG THU PHÁT THÔNG TIN SỐ


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ố: 60 48 01

Người hướng dẫn khoa học: PGS.TS. TRỊNH NHẬT TIẾN

Thái Nguyên, 2014
i

Số hóa bởi Trung tâm Học liệu

LỜI CAM ĐOAN

Học viên xin cam đoan, toàn bộ nội dung liên quan tới đề tài đƣợc trình
bày trong luận văn là bản thân học viên tự tìm hiểu và nghiên cứu, dƣới sự
hƣớng dẫn khoa học của thầy PGS.TS.Trịnh Nhật Tiến.
Các tài liệu, số liệu tham khảo đƣợc trích dẫn đầy đủ nguồn gốc. Học
viên xin chịu hoàn toàn trách nhiệm và chịu mọi hình thức kỷ luật theo quy
định cho lời cam đoan của mình.



Thái Nguyên, 29 tháng 09 năm 2014
Học viên thực hiện


Nguyễn Thiên Phi
ii

Số hóa bởi Trung tâm Học liệu

LỜI CẢM ƠN
Luận văn này đƣợc thực hiện tại trƣờng Đại học Công nghệ Thông tin
và Truyền thông - Đại học Thái Nguyên dƣới sự hƣớng dẫn của thầy PGS.
TS. Trịnh Nhật Tiến.
Trƣớc tiên, Học viên xin đƣợc bày tỏ lòng cảm ơn và sự kính trọng của
mình đến các thầy, cô giáo đã tận tình truyền đạt các kiến thức quý báu cho
học viên trong suốt quá trình học tập.
Đặc biệt học viên xin bày tỏ lòng biết ơn sâu sắc tới thầy PGS.TS.
Trịnh Nhật Tiến, ngƣời định hƣớng, hƣớng dẫn học viên trong quá trình thực
hiện luận văn này, những lời động viên chỉ bảo giúp học viên vƣợt qua những
khó khăn để học viên hoàn thành tốt luận văn của mình. Bên cạnh những kiến
thức khoa học, thầy giáo đã giúp học viên nhận ra những bài học về phong
cách học tập, làm việc và những kinh nghiệm sống quý báu.
Nhân dịp này, học viên cũng xin gửi lời cảm ơn đến gia đình, bạn bè,
đồng nghiệp và những ngƣời thân đã tạo điều kiện giúp đỡ, động viên, trợ
giúp về tinh thần, vật chất để học viên hoàn thành luận văn này.

iii

Số hóa bởi Trung tâm Học liệu



MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC HÌNH v
DANH MỤC TỪ VIẾT TẮT vii
MỞ ĐẦU 1
1. Lý do chọn đề tài 1
2. Đối tƣợng và phạm vi nghiên cứu 2
3. Hƣớng nghiên cứu của đề tài 3
4. Những nội dung nghiên cứu chính 3
5. Phƣơng pháp nghiên cứu 3
6. Ý nghĩa khoa học và thực tiễn của đề tài 4
CHƢƠNG 1. VẤN ĐỀ AN TOÀN TRONG HỆ THỐNG THU PHÁT
THÔNG TIN SỐ 5
1.1. HỆ THỐNG THU PHÁT THÔNG TIN SỐ 5
1.1.1. Các khái niệm cơ bản 5
1.1.2. Những thách thức về an toàn bảo mật 6
1.2. PHƢƠNG PHÁP MÃ HOÁ KHỐI 6
1.2.1. Mật mã học 6
1.2.2. Mã hóa khối 8
1.2.3. Một số cách tấn công vào hệ mã hóa hiện đại 16
1.3. MÃ HÓA HỘP TRẮNG TRÊN NỀN MÃ HÓA KHỐI 18
1.3.1. Giới thiệu về mã hóa hộp trắng. 18
1.3.2. Các khái niệm cơ bản 19
1.3.3. Đề xuất sử dụng mật mã hộp trắng 21
iv


Số hóa bởi Trung tâm Học liệu

CHƢƠNG 2. MÃ HÓA RIJNDAEL VÀ MÃ HOÁ HỘP TRẮNG AES 21
2.1. PHƢƠNG PHÁP MÃ HÓA RIJNDAEL 22
2.1.1. Giới thiệu 22
2.1.2. Quy trình mã hóa 22
2.1.3. Phát sinh khóa của mỗi chu kỳ 34
2.2. KỸ THUẬT XÂY DỰNG MÃ HÓA HỘP TRẮNG 42
2.2.1. Khái niệm và các ký hiệu trong mô tả thuật toán. 42
2.2.2. Kỹ thuật mã hóa hộp trắng trên AES 43
2.2.3. Hiệu suất của mật mã hộp trắng 51
CHƢƠNG 3. CHƢƠNG TRÌNH MÃ HÓA HỘP TRẮNG AES VÀ ỨNG
DỤNG TRONG HỆ THỐNG IPTV 54
3.1. BÀI TOÁN THỰC TẾ 54
3.2. SET TOP BOX VÀ GIẢI PHÁP HIỆN NAY 55
3.3. SỬ DỤNG MÃ HÓA HỘP TRẮNG MỀM HÓA SET-TOP BOX 57
3.3.1. Cài đặt chƣơng trình mã hóa trên AES 57
3.3.2. Đề xuất mềm hóa Set-top box 66
3.3. NHẬN XÉT 68
KẾT LUẬN 70
TÀI LIỆU THAM KHẢO 71

v

Số hóa bởi Trung tâm Học liệu


DANH MỤC HÌNH
Hình 1.1 Quá trình truyền tin trong hệ thống thông tin số 5
Hình 1.2 Mô hình cơ bản của truyền tin bảo mật 7

Hình 1.3 Cấu trúc thuật toán Feistel dùng trong DES 10
Hình 1.4 Hàm F (F-function) dùng trong DES 11
Hình 1.5 Mô tả thuật toán tạo khóa con cho các chu trình 13
Hình 1.6 Biến đổi của hàm SubBytes 14
Hình 1.7 Biến đổi của hàm ShiftRows. 15
Hình 1.8 Biến đổi của hàm MixColumns 15
Hình 1.9 Biến đổi của hàm AddRoundKey 16
Hình 1.10 Phƣơng pháp Entropy Attack 17
Hình 1.11 Mô hình hộp đen truyền thống 19
Hình 1.12 Kẻ thù công tấn công trong mô hình hộp trắng 20
Hình 1.13 Mô hình Mật mã hộp trắng 20
Hình 2.1. Biểu diễn dạng ma trận trạng thái (Nb = 6) và mã khóa (Nk = 4) 23
Hình 2.2 Quy trình mã hóa Rijndael 24
Hình 2.3 Thuật toán Mã hóa và giải mã Rijndael 26
Hình 2.4 Thao tác SubBytes tác động trên từng byte của trạng thái 27
Hình 2.5 Bảng thay thế S-box qua phép biến đổi SubBytes 28
Hình 2.6 Thao tác ShiftRows tác động trên từng dòng của trạng thái 28
Hình 2.7 Giá trị di số shift(r,Nb) 29
Hình 2.8 Các thao tác MixColumns tác động lên mỗi cột của trạng thái 31
Hình 2.9 Các thao tác AddRoundKey tác động lên mỗi cột của trạng thái 34
Hình 2.10 Bảng mã khóa mở rộng và cách xác định mã khóa của chu kỳ 36
Hình 2.11 Thao tác InvShiftRows tác động lên từng dòng của state 38
Hình 2.12 Bảng thay thế S-box qua phép biến đổi InvSubBytes 40
vi

Số hóa bởi Trung tâm Học liệu

Hình 2.13 Cấu trúc mỗi bảng tra cứu sau khi biến đổi 43
Hình 2.14 Khối MC 45
Hình 2.15 Bảng loại IV 46

Hình 2.16 Bảng loại II 47
Hình 2.17 Bảng loại III 49
Hình 2.18 Bảng loại Ia 50
Hình 2.19 Bảng loại Ib 51
Hình 3.1 Minh họa việc phân chia bảng thành 2 phần dạng 1 59
Hình 3.2 Minh họa việc phân chia bảng thành 2 phần dạng 2 60
Hình 3.3 Giao diện viết chƣơng trình DEV C++ 64
Hình 3.4 Giao diện phần mềm mã hóa hộp trắng 65
Hình 3.5 Phần mềm mã hóa hộp trắng thực hiện mã hóa 66
Hình 3.6 Phần mềm mã hóa hộp trắng thực hiện giải mã 66
Hình 3.7 Sơ đồ khối phần mềm thay thế Set-top box 68

vii

Số hóa bởi Trung tâm Học liệu


DANH MỤC TỪ VIẾT TẮT

AES
:
Advanced Encryption Standard
DES
:
Data Encryption Standard
DVD
:
Digital Video Disc
FIPS
:

Federal Information Processing Standards
FP
:
Final permutation
IBM
:
International Business Machines
ICME
:
International Congress on Mathematical Education
IP
:
Initial permutation
IPTV
:
Internet Protocol Television
NIST
:
National Institute of Standards and Technology
NSA
:
National Security Agency
STB
:
Set-top box

1

Số hóa bởi Trung tâm Học liệu


MỞ ĐẦU
1. Lý do chọn đề tài
Không thể phủ nhận lợi ích của sự phát triển của Internet, nó là động
lực thúc đẩy phát triển của xã hội. Giúp chúng ta trao đổi, nắm bắt thông tin
một các nhanh chóng. Nhiều hoạt động của chúng ta nhƣ đọc báo, mua bán
hay thậm chí giao khoản có thể thông qua Internet. Những hoạt động truyền
tin này đều tiềm ẩn nguy cơ về bảo mật thông tin. Sự đảm bảo an toàn thông
tin ảnh hƣởng đến sự phát triển xã hội, nhƣ nhiều bản nhạc, bộ phim có thể
đƣợc chuyển đổi dƣới dạng số và chia sẻ một cách nhanh chóng mà không
phải trả một loại phí nào cho tác giả. Vâng, đây chính là vấn đề bản quyền
cũng vấn đề này rất nhiều văn bản đã ra đời nhằm bảo vệ quyền sở hữu trí tuệ
và chất xám của tác giả một cách mạnh mẽ. Mới đây nhất nhà nƣớc đã ban
hành Thông tƣ số 07/2012/TTLT-BTTTT-BVHTTDL, ngày 19-6 giữa Bộ
Thông tin - Truyền thông và Bộ Văn hóa - Thể thao và Du lịch (VH-TT-DL).
Thực hiện Thông tƣ số 07/2012/TTLT-BTTTT-BVHTTDL, các doanh
nghiệp cung cấp dịch vụ internet, viễn thông, lƣu trữ trực tuyến, mạng xã
hội… là nguồn khởi đầu đăng tải, truyền đƣa hoặc cung cấp nội dung thông
tin số (tác phẩm, cuộc biểu diễn, bản ghi âm, ghi hình, chƣơng trình phát
sóng) qua mạng viễn thông và internet mà không đƣợc phép của chủ thể
quyền; sửa chữa, cắt xén, sao chép nội dung thông tin số dƣới bất kỳ hình
thức nào mà không đƣợc phép của chủ thể quyềnthì sẽ phải chịu trách nhiệm
bồi thƣờng thiệt hại theo quy định của pháp luật về sở hữu trí tuệ và pháp luật
khác có liên quan.
Mặc dù Thông tƣ có nhiều quy định chặt chẽ hơn đối với việc vi phạm
bản quyền trên mạng Internet song nhiều doanh nghiệp cung cấp dịch vụ,
ngƣời dùng vẫn rất băn khoăn về khả năng thực thi của nó khi vẫn còn tồn tại
nhiều rào cản, vƣớng mắc.
2

Số hóa bởi Trung tâm Học liệu


Các nội dung số của ngƣời dùng đƣa lên theo phƣơng thức tự nguyện
chia sẻ thì rất khó kiểm tra sản phẩm đó có bản quyền hay không.Chủ thể có
quyền tác giả hay không và việc truy tìm nguồn gốc cũng rất vất vả để các cơ
quan chức năng xử lý các vi phạm bản quyền khi các nội dung số đƣợc đƣa
lên website, mạng xã hội, dịch vụ lƣu trữ có máy chủ ở nƣớc ngoài. “Muốn
xử lý các vi phạm thì cơ quan chức năng phải liên hệ với chủ quản của
website, mạng xã hội ở nƣớc ngoài” việc này là rất khó khăn vì quá trình liên
hệ phức tạp, kéo dài. Đồng thời, nếu muốn xử lý đƣợc các nội dung số vi
phạm thì chúng phải là các sản phẩm có đăng ký bản quyền quốc tế và quốc
gia quản lý các website, mạng xã hội lƣu trữ các sản phẩm này phải có tham
gia công ƣớc quốc tế về bản quyền”.
Tuy nhiên hiện nay các nhà cung cấp dịch vụ IPTV đã sử dụng thiết bị đầu
cuối là hộp Set-top box[7] để đảm bảo quyền lợi của họ, nhƣng việc làm đó lại
gây cho khách hàng những quan ngại nhƣ họ đã trả tiền nhƣng lại chỉ đƣợc xem
cố định tại nhà, mà không phải là trên các thiết bị cầm tay nhƣ Tablet,
Mobiphone…, vậy có cách nào đó để các nhà cung cấp dữ liệu có thể đảm bảo
rằng việc họ chỉ có thể chuyển nội dung của họ cho những ngƣời mà họ xác định
(những ngƣời nhận dữ liệu hợp pháp) còn những ngƣời khác không thể biết
chính xác đƣợc nội dung cho dù họ vẫn thu đƣợc các tín hiệu đó.
Xuất phát từ ý tƣởng đó, đồng thời dƣới sự hƣớng dẫn và gợi ý của thầy
giáo PGS TS Trịnh Nhật Tiến, học viên đã chọn đề tài cho luận tốt nghiệp
Cao học ngành khoa học máy tính là
“TÌM HIỂU MẬT MÃ HỘP TRẮNG (WHITEBOX CRYPTOGRAPHY)
VÀ ỨNG DỤNG TRONG HỆ THỐNG THU PHÁT THÔNG TIN SỐ”
2. Đối tƣợng và phạm vi nghiên cứu
Đề tài “Tìm hiểu mật mã hộp trắng (Whitebox Cryptography) và ứng
dụng trong hệ thống thu phát thông tin số” nghiên cứu phƣơng pháp mã hóa
bảo vệ thông tin số trong đó tập trung nghiên cứu: mã hóa khối, chi tiết thuật
3


Số hóa bởi Trung tâm Học liệu

toán đặc trƣng mã hóa Advanced Encryption Standard- AES, mã hóa hộp
trắng trên nền mã hóa AES từ đó xây dựng chƣơng trình mã hóa hộp trắng
trên AES để bảo vệ thông tin số.
Cùng với việc nghiên cứu về mã hóa hộp trắng trên AES, đề tài tập trung
nghiên cứu đề xuất xây dựng và phát triển hệ thống cho mã hóa hộp trắng
nhằm thay hộp Set-top boxtruyền thống bằng phần mềm.
3. Hƣớng nghiên cứu của đề tài
Đề tài tập trung nghiên cứu thuật toán mã hóa hộp trắng với các mục
tiêu đƣợc đặt ra nhƣ sau:
- Tìm hiểu thuật toán mã hóa khối
- Tìm hiểu kỹ thuật mã hóa hộp trắng trên AES
- Xây dựng các thí dụ minh họa miêu tả các kỹ thuật xử lý trong mã hóa
hộp trắng.
- Xây dựng chƣơng trình mã hóa hộp trắng trên AES
- Đề xuất Set-top box bằng phần mềm có sử dụng mã hóa hộp trắng.
4. Những nội dung nghiên cứu chính
Luận văn tập trung giải quyết các nội dung chính: Giới thiệu hệ thống
thông tin và mã hóa bảo vệ hệ thống thông tin (chương 1), tiếp đó là phân tích
chi tiết thuật toán mã hóa Rijndael[2](một hệ mã hóa điển hình của AES) và
mã hóa hộp trắng trên nền AES (chương 2) và cuối cùng là xây dựng chƣơng
trình mã hóa hộp trắng và đề xuất ứng dụng mã hóa hộp trắng AES trong hệ
thống IPTV.
5. Phƣơng pháp nghiên cứu
Dựa vào mục tiêu, nhiệm vụ của đề tài, các phƣơng pháp nghiên cứu
đƣợc sử dụng trong luận văn là:
- Tổng hợp, phân tích và đánh giá kết quả lý thuyết, các ứng dụng, các
nghiên cứu trong nƣớc và thế giới.

4

Số hóa bởi Trung tâm Học liệu

- Kế thừa tối đa những kết quả nghiên cứu đã có ở trong nƣớc và trên
thế giới.
- Tìm hiểu, nghiên cứu và đề xuất các phƣơng pháp lý thuyết, tiến hành
xây dựng chƣơng trình mã hóa hộp trắng trên AES.
- Kiểm nghiệm chƣơng trình mã hóa hộp trắng.
- Tổ chức báo cáo, thảo luận định kỳ, trao đổi thƣờng xuyên các thông
tin, kết quả trong quá trình nghiên cứu với giáo viên hƣớng dẫn cũng nhƣ
những ngƣời trong ngành có liên quan.
- Nghiên cứu theo đúng kế hoạch đã đề ra.
6. Ý nghĩa khoa học và thực tiễn của đề tài
Chƣơng trình có nghĩa trên cả hai phƣơng diện lý thuyết và thực tiễn
- Về phƣơng diện lý thuyết: Đề tài đóng góp một số diễn giải và minh
họa cho hệ mã hóa hộp trắng trên AES để mã hóa thông tin số nhằm phát triển
công nghệ mã hóa hộp trắng dần khắc phục những nhƣợc điểm của mã hóa
truyền thống nhằm đảm bảo an ninh ngay trong môi trƣờng thực hiện.
- Về phƣơng diện thực tiễn: Cung cấp cho ngƣời dùng một sản phẩm
phầm mềm có tính năng tƣơng đƣơng nhƣ Set-top box làm giảm chi phí sản
xuất thiết bị, dễ dàng sửa chữa nâng cấp khi cần thiết.
5

Số hóa bởi Trung tâm Học liệu


CHƢƠNG 1. VẤN ĐỀ AN TOÀN TRONG HỆ THỐNG THU
PHÁT THÔNG TIN SỐ
1.1. HỆ THỐNG THU PHÁT THÔNG TIN SỐ

1.1.1. Các khái niệm cơ bản
1.1.1.1. Hệ thống
Hệ thống là tập hợp các phần tử có quan hệ hữu cơ với nhau, tác động
chi phối lẫn nhau theo các quy luật nhất định để trở thành một chỉnh thể. Từ
đó xuất hiện thuộc tính mới gọi là tính trội của hệ thống mà từng phần tử
riêng lẻ không có hoặc có không đáng kể.
1.1.1.2. Hệ thống thông tin
Hệ thống thông tin là một hệ thống bao gồm các yếu tố có quan hệ với
nhau cùng làm nhiệm vụ thu thập, xử lý, lƣu trữ và phân phối thông tin và dữ
liệu và cung cấp một cơ chế phản hồi để đạt đƣợc một mục tiêu định trƣớc.
1.1.1.3. Hệ thống thông tin số
Hệ thống thông tin số là tập hợp các thiết bị (bao gồm: phần cứng,
phần mềm, môi trƣờng truyền) dùng để truyền tin từ nơi này đi nơi khác bằng
tín hiệu số.
1.1.1.4. Mô hình hệ thống thu phát thông tin số
Đây là sơ đồ tiêu biểu cho các hệ thống thông tin số, trong thực tế có
thể nhiều hơn, có thể ít hơn hoặc có thể thay thế bằng một số khối khác.

Hình 1.1 Quá trình truyền tin trong hệ thống thông tin số
6

Số hóa bởi Trung tâm Học liệu

1.1.2. Những thách thức về an toàn bảo mật
1.1.1.1. Thông tin bị rò rỉ, lộ bí mật
Thông tin, dữ liệu trong hệ thống bị lộ, lọt, truy nhập, lấy cắp, nghe
lén và sử dụng trái phép.
1.1.1.2. Thông tin thiếu xác thực, toàn vẹn và thiếu tin cậy
Thông tin, dữ liệu trong hệ thống bị thay thế hoặc sửa đổi làm sai lệch
nội dung.

1.1.1.3. Tính pháp lý và an ninh hệ thống
Thông tin, dữ liệu không bảo đảm hoặc không đƣợc cam kết về pháp
lý của ngƣời cung cấp; thông tin, dữ liệu không mong muốn bị tán phát hoặc
hệ thống bị tấn công mà không đƣợc kiểm soát hoặc không thể kiểm soát.
1.1.1.4. Tính kém sẵn sàng của hệ thống
Thông tin, dữ liệu không đảm bảo tính thời gian thực, hệ thống hay bị
sự cố, ngừng trệ, hỏng hóc; truy cập, khai thác khó khăn
1.2. PHƢƠNG PHÁP MÃ HOÁKHỐI
1.2.1. Mật mã học
Ngành mật mã học bao gồm hai lĩnh vực:
Mã hóa là việc nghiên cứu các thuật toán ứ bảo đảm
tính bí mật xác thực của thông tin. Các sản phẩm của lĩnh vực này là các hệ
mã mật, các hàm băm, các hệ chữ ký điện tử, các cơ chế phân phối, quản lý
khóa và các giao thức mật mã.
Thám là việc nghiên cứucác phƣơngpháp hoặc tạo .
Sản phẩm của lĩnh vực này là các phƣơng pháp giải mã, các phƣơng pháp giả
mạo chữ ký, các phƣơng pháp tấn công các hàm băm và các giao thức mật mã.
1.2.1.1. Khái niệm hệ mã hóa.
a) Khái niệm
Hệ mã hóa là bộ gồm 5 thành phần (P, C, K, E, D) trong đó
P – Plaintext Tập hữu hạn các bản rõ có thể.
7

Số hóa bởi Trung tâm Học liệu

C – Ciphertext Tập hữu hạn các bản mã có thể
K – Key Tập hữu hạn các khóa có thể
E – Encryption Tập các hàm lập mã có thể.
D – Decryption Tập các hàm giải mã có thể.
Với mỗi k ∈K, có hàm lập mã ∈E, P → C và hàm giải mã

∈D, C → P sao cho ( (x)) = x , ∀x ∈P.
Mã hóa cho ta bản mã (P)= C.
Giải mã cho ta bản rõ (C)= P.
1.2.1.2. Mô hình truyền tin cơ bản
Trong mô hình truyền tin thông thƣờng, thông tin đƣợc truyềntừ ngƣời
gửi đến ngƣời nhận đƣợc thực hiện một kênh vật ợ toàn.
Trong khi đó mô hình cơ bản của truyền tin có bảo mật khác với truyền tin thông
thƣờng, có các yếu tố mới đƣợc thêm vào nhƣ khái niệm kẻ thù, các khóa mã
hóa, khóa giải mã để đảm bảo tính bảo mật của thông tin cần truyền đi.

Hình 1.2Mô hình cơ bản của truyền tin bảo mật
1.2.1.3. Luật Kerckhoffs
Trong quá khứ, mật mã đƣợc sử dụng chủ yếu cho các ứng dụng quân sự
và thông tin liên lạc ngoại giao. Để làm đƣợc điều này, chính phủ các nƣớc phát
triển toán mã hóa và hoàn toàn bí mật việc thiết kế này. Trong thực tế, những
thuật toán mã hóa này ngay sau khi thiết kế đã bị rò rỉ hoặc đã bị phá vỡ.
8

Số hóa bởi Trung tâm Học liệu

Vào năm 1883, August Kerckhoffs nêu một định nghĩa nhƣ sau: một hệ
thống mật mã đƣợc coi là an toàn khi tất cả mọi thứ về hệ thống (ngoại trừ
khóa bí mật) là kiến thức công cộng (có nghĩa là toàn bộ cơ chế /giả ừ
ật đối với kẻ địch). Nguyên tắc này đƣợc chấp nhận rộng rãi,
bởi vì nó đã đƣợc chứng minh trong nhiều trƣờng hợp bảo mật. Việc áp dụng
các nguyên tắc này là nền tảng cho các nghiên cứu mật mã học hiện đại.
1.2.2. Mã hóa khối
Mã hóa khối là những thuật toán mã hóa đối xứng hoạt động trên
những khối thông tin có độ dài xác định (block) với những chuyển đổi xác
định. Chẳng hạn một thuật toán mã hóa khối có thể xử lý khối 128 bit đầu vào

và biến nó thành khối 128 bit ở đầu ra. Quá trình chuyển đổi còn sử dụng
thêm một tham số khóa bí mật để cá biệt hóa quá trình.
Việc giải mã cũng diễn ra tƣơng tự đó là xử lý khối mã hóa 128 bit
cùng với khóa để trả về khối 128 bit bản rõ ban đầu.Để mã hóa những văn
bản có độ dài vƣợt quá độ dài của khối, ngƣời ta sử dụng thuật toán theo
một chế độ mã hóa khối nào đó.
Phân biệt mã hóa khối với mã hóa dòng. Mã hóa dòng làm việc trên
từng bit của dòng dữ liệu và quá trình biến đổi thay đổi theo quá trình mã hóa.
Tuy nhiên, sự phân biệt giữa 2 phƣơng pháp nhiều khi không rõ ràng vì mã
hóa khối khi hoạt động theo một chế độ nào đó thì có tác dụng nhƣ một
phƣơng pháp mã hóa dòng.
Thuật toán mã hóa khối ra đời sớm và có nhiều ảnh hƣởng là thuật
toán Data Encryption Standard- DES do công ty IBM phát triển và đƣợc ban hành
làm tiêu chuẩn năm 1977.
1.2.2.1. Mã hóa DES
Data Encryption Standard ký hiệu là DES là một phƣơng pháp mật mã
hóa đƣợc FIPS (Federal Information Processing Standards) chọn làm chuẩn
chính thức vào năm 1976. Sau đó chuẩn này đƣợc sử dụng rộng rãi trên phạm
9

Số hóa bởi Trung tâm Học liệu

vi thế giới. Ngay từ đầu, thuật toán của nó đã gây ra rất nhiều tranh cãi, do nó
bao gồm các thành phần thiết kế mật, độ dài khóa tƣơng đối ngắn, và các nghi
ngờ về cửa sau để Cơ quan An ninh quốc gia Hoa Kỳ (NSA) có thể bẻ khóa.
Do đó, DES đã đƣợc giới nghiên cứu xem xét rất kỹ lƣỡng, việc này đã thúc
đẩy hiểu biết hiện đại về mật mã khối (block cipher) và các phƣơng
pháp thám mã tƣơng ứng.
Hiện nay DES đƣợc xem là không đủ an toàn cho nhiều ứng dụng.
Nguyên nhân chủ yếu là độ dài 56 bit của khóa là quá nhỏ.

Đã có rất nhiều kết quả phân tích cho thấy những điểm yếu về mặt lý
thuyết của mã hóa có thể dẫn đến phá khóa, tuy chúng không khả thi trong
thực tiễn. Thuật toán đƣợc tin tƣởng là an toàn trong thực tiễn có dạng Triple
DES (thực hiện DES ba lần), mặc dù trên lý thuyết phƣơng pháp này vẫn có
thể bị phá.
Mô tả thuật toán
DES là thuật toán mã hóa khối: nó xử lý từng khối thông tin của bản
rõ có độ dài xác định và biến đổi theo những quá trình phức tạp để trở thành
khối thông tin của bản mã có độ dài không thay đổi. Trong trƣờng hợp của
DES, độ dài mỗi khối là 64 bit. DES cũng sử dụng khóa để cá biệt hóa quá
trình chuyển đổi. Nhờ vậy, chỉ khi biết khóa mới có thể giải mã đƣợc văn bản
mã. Khóa dùng trong DES có độ dài toàn bộ là 64 bit. Tuy nhiên chỉ có 56 bit
thực sự đƣợc sử dụng; 8 bit còn lại chỉ dùng cho việc kiểm tra. Vì thế, độ dài
thực tế của khóa chỉ là 56 bit. Giống nhƣ các thuật toán mã hóa khối khác, khi
áp dụng cho các văn bản dài hơn 64 bit, DES phải đƣợc dùng theo một
phƣơng pháp nào đó.
10

Số hóa bởi Trung tâm Học liệu


Hình 1.3 Cấu trúc thuật toán Feistel dùng trong DES
Cấu trúc tổng thể của thuật toán đƣợc thể hiện ở Hình 1.3 có 16 chu
trình giống nhau trong quá trình xử lý. Ngoài ra còn có hai lần hoán vị đầu và
cuối (Initial and final permutation - IP & FP).
Hai quá trình này có tính chất đối nhau (Trong quá trình mã hóa thì IP
trƣớc FP, khi giải mã thì ngƣợc lại). IP và FP không có vai trò xét về mật mã
học và việc sử dụng chúng chỉ có ý nghĩa đáp ứng cho quá trình đƣa thông tin
vào và lấy thông tin ra từ các khối phần cứng có từ thập niên 1970. Trƣớc khi
đi vào 16 chu trình chính, khối thông tin 64 bit đƣợc tách làm hai phần 32 bit

và mỗi phần sẽ đƣợc xử lý tuần tự (quá trình này còn đƣợc gọi là mạng
Feistel).
11

Số hóa bởi Trung tâm Học liệu

Cấu trúc của thuật toán (mạng Feistel) đảm bảo rằng quá trình mã hóa
và giải mã diễn ra tƣơng tự. Điểm khác nhau chỉ ở chỗ các khóa con đƣợc sử
dụng theo trình tự ngƣợc nhau. Điều này giúp cho việc thực hiện thuật toán
trở nên đơn giản, đặc biệt là khi thực hiện bằng phần cứng.
Ký hiệu sau: thể hiện phép toán XOR. Hàm F làm biến đổi một nửa
của khối đang xử lý với một khóa con.
Đầu ra sau hàm F đƣợc kết hợp với nửa còn lại của khối và hai phần
đƣợc tráo đổi để xử lý trong chu trình kế tiếp. Sau chu trình cuối cùng thì 2
nửa không bị tráo đổi; đây là đặc điểm của cấu trúc Feistel khiến cho quá
trình mã hóa và giải mã trở nên giống nhau.
Hàm Feistel (F)

Hình 1.4 Hàm F (F-function) dùng trong DES
Hàm F, hoạt động trên khối 32 bit và bao gồm bốn giai đoạn:
Mở rộng: 32 bit đầu vào đƣợc mở rộng thành 48 bit sử dụng thuật toán
hoán vị mở rộng (expansion permutation) với việc nhân đôi một số bit. Giai
đoạn này đƣợc ký hiệu là E trong sơ đồ.
Trộn khóa: 48 bit thu đƣợc sau quá trình mở rộng đƣợc XOR với khóa
con. Mƣời sáu khóa con 48 bit đƣợc tạo ra từ khóa chính 56 bit theo một chu
trình tạo khóa con (key schedule) miêu tả ở phần sau.
12

Số hóa bởi Trung tâm Học liệu


Thay thế: 48 bit sau khi trộn đƣợc chia làm 8 khối con 6 bit và đƣợc xử
lý qua hộp thay thế S-box. Đầu ra của mỗi khối 6 bit là một khối 4 bit theo
một chuyển đổi phi tuyến đƣợc thực hiện bằng một bảng tra. Khối S-box đảm
bảo phần quan trọng cho độ an toàn của DES. Nếu không có S-box thì quá
trình sẽ là tuyến tính và việc thám mã sẽ rất đơn giản.
Hoán vị: Cuối cùng, 32 bit thu đƣợc sau S-box sẽ đƣợc sắp xếp lại theo
một thứ tự cho trƣớc (còn gọi là P-box).
Quá trình luân phiên sử dụng S-box và sự hoán vị các bit cũng nhƣ quá
trình mở rộng đã thực hiện đƣợc tính chất gọi là sự xáo trộn và khuếch
tán (confusion and diffusion). Đây là yêu cầu cần có của một thuật toán mã
hoá đƣợc Claude Shannon phát hiện trong những năm 1940.
Quá trình tạo khóa con
Đầu tiên, từ 64 bit ban đầu của khóa, 56 bit đƣợc chọn; 8 bit còn lại bị
loại bỏ. 56 bit thu đƣợc chia làm hai phần bằng nhau, mỗi phần đƣợc xử lý
độc lập. Sau mỗi chu trình, mỗi phần đƣợc dịch đi 1 hoặc 2 bit (tùy thuộc
từng chu trình, nêu đó là chu trình 1,2,9,16 thì đó là dịch 1 bit, còn lại thì sẽ
đƣợc dịch 2 bit). Các khóa con 48 bit đƣợc tạo thành bởi thuật toán lựa chọn 2
gồm 24 bit từ mỗi phần.
13

Số hóa bởi Trung tâm Học liệu


Hình 1.5Mô tả thuật toán tạo khóa con cho các chu trình
Quá trình dịch bit (đƣợc ký hiệu là "<<<" trong sơ đồ) khiến cho các
khóa con sử dụng các bit khác nhau của khóa chính; mỗi bit đƣợc sử dụng
trung bình ở 14 trong tổng số 16 khóa con.
Quá trình tạo khóa con khi thực hiện giải mã cũng diễn ra tƣơng tự
nhƣng các khóa con đƣợc tạo theo thứ tự ngƣợc lại. Ngoài ra sau mỗi chu
trình, khóa sẽ đƣợc dịch phải thay vì dịch trái nhƣ khi mã hóa

1.2.2.2. Mã hóa AES
Do kích thƣớc khóa nhỏ và việc thực hiện phần mềm chậm chạp của
DES, NIST (National Institute of Standards and Technology - Viện Tiêu chuẩn
và Kỹ thuật Quốc gia - Hoa Kỳ) công bố một cuộc thi cho một tiêu chuẩn mã
hóa mới. Năm 2001, mã khối Rijndael đã đƣợc lựa chọn làm chuẩn mã hóa nâng
cao với kích thƣớc một khối lên đến 128 bit. Ngày nay, Rijndael là một trong
những thuật toán phổ biến nhất đƣợc sử dụng trong mật mã đối xứng.
Thuật toán AES
14

Số hóa bởi Trung tâm Học liệu

Mặc dù 2 tên AES và Rijndael vẫn thƣờng đƣợc gọi thay thế cho nhau
nhƣng trên thực tế thì 2 thuật toán không hoàn toàn giống nhau. AES chỉ làm
việc với các khối dữ liệu (đầu vào và đầu ra) 128 bit và khóa có độ dài 128,
192 hoặc 256 bit trong khi Rijndael có thể làm việc với dữ liệu và khóa có độ
dài bất kỳ là bội số của 32 bít nằm trong khoảng từ 128 tới 256 bít. Các khóa
con sử dụng trong các chu trình đƣợc tạo ra bởi quá trình tạo khóa con
Rijndael. Mỗi khóa con cũng là một cột gồm 4 byte. Hầu hết các phép toán
trong thuật toán AES đều thực hiện trong một trƣờng hữu hạncủa các byte.
Mỗi khối dữ liệu 128 bit đầu vào đƣợc chia thành 16 byte, có thể xếp thành 4
cột, mỗi cột 4 phần tử hay ma trận 4x4 byte,nó đƣợc gọi là ma trận trạng thái,
hay trạng thái. Trong quá trình thực hiện thuật toán các toán tử tác động để
biến đổi ma trận trạng thái này.
Tùy thuộc vào kích thƣớc khóa (128, 192, hoặc 256) mà số vòng thực
hiện trong AES lƣợt là 10, 12, hoặc 14, hoạt động trên một mảng 4 × 4 byte
(đƣợc gọi là trạng thái). Một vòng đƣợc quy định trong bốn bƣớc nhƣ sau:
1. SubBytes - Đây là phép thế trong đó mỗi byte trong trạng thái sẽ
đƣợc thế bằng một byte khác theo bảng tra S-box; Trong đó S-box đƣợc xác
định bởi phƣơng trình S (x) = M (1 / x) + b trênGalois FieldsGF( với M là

đƣợc lựa chọn phù hợpvà b là một hằng số.

Hình 1.6Biến đổi của hàm SubBytes
15

Số hóa bởi Trung tâm Học liệu

2. ShiftRows - Hàm sử dụng , xử các trạng
thái bằng cách dịch vòng ba hàng cuối của trạng thái với số lần dịch khác
nhau, dòng đầu giữ nguyên.

Hình 1.7Biến đổi của hàm ShiftRows.
3. MixColumns –Hàm biến đổi trong thuật toán bằng cách pha
trộn 4 byte của một cột, thông qua việc nhân mỗi cột với một ma trận trên
Galois Fields GF( .

Hình 1.8Biến đổi của hàm MixColumns
4. AddRoundKey –Mỗi cột của trạng thái đầu tiên lần lƣợt đƣợc kết
hợp với một khóa con theo thứ tự từ đầu dãy khóa.Thông qua phép nhân nhị
phân với khóa con 128 bit
16

Số hóa bởi Trung tâm Học liệu


Hình 1.9Biến đổi của hàm AddRoundKey
1.2.3. Một số cách tấn công vào hệ mã hóa hiện đại
1.2.3.1. Tấn công dữ liệu ngẫu nhiên (Entropy Attack)
Khi hai bên muốn giao tiếp với nhau, hai bên thống nhất với nhau
một chìa khóa bí mật. Trong trƣờng hợp mã hóa đối xứng, hai bên sử dụng

chung một chìa khóa. Do đó, khóa bí mật cần đƣợc thực hiện một cách ngẫu
nhiên từ tập hợp các phím có thể để kẻ thù khó tìm hoặc đoán đƣợc.
Tấn công dữ liệu ngẫu nhiên dựa trên việc tìm tần suất xuất hiện ký
tự hoặc những cụm từ có xu hƣớng xuất hiện nhiều. Ví dụ, trong tiếng
Anh, ký tự e là đƣợc xuất hiện nhiều nhất trong các văn bản. Dùng phƣơng
pháp thay thế ngƣời ta sẽ thay thế và đoán ra các ký tự còn lại. Sau đó chúng
ta có thể lặp lại quá trình này sử dụng một số từ phổ biến nhất và chữ cái và
có khả năng để thấy rằng - ngay cả đối với các tin nhắn ngắn đáng ngạc nhiên
- chúng ta có thể nhanh chóng phá vỡ các mã và tìm ra nội dung chính xác
của tin nhắn.

×