1. Trang chủ
  2. » Luận Văn - Báo Cáo

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ố

95 178 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 95
Dung lượng 3,12 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đề 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óabảo vệ thông tin số trong đó tập trung nghiên cứu:

Trang 1

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

Trang 2

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

Trang 3

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ìnhbà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ọcviê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

Trang 4

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 - Ư dưới sự hướng dẫn của thầy PGS TS Trịnh NhậtTiế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ủamì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 chohọ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ựchiệ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ữngkhó 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ếnthức khoa học, thầy giáo đã giúp học viên nhận ra những bài học về phongcá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

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

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

Trang 9

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

AES : Advanced Encryption Standard

DES : Data Encryption Standard

DVD : Digital Video Disc

FIPS : d e r alFe I n f o r m a ti o n Pr o c e s s i n g S t a n d a r d s

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

Trang 10

1

Trang 11

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 đã banhà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 doanhnghiệ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ôngtin số (tác phẩm, cuộc biểu diễn, bản ghi âm, ghi hình, chương trình phátsó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ìnhthức nào mà không được phép của chủ thể quyềnthì sẽ phải chịu trách nhiệmbồ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ậtkhá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ạmbả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ạinhiều rào cản, vướng mắc

Trang 12

Các nội dung số của người dùng đưa lên theo phương thức tự nguyệnchia 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 đưalê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ủawebsite, 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ố viphạ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ốcgia 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ó thamgia 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 taynhư 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ườikhác không thể biết chính xác được nội dung cho dù họ vẫn thu được các tínhiệu đó

Xuất phát từ ý tưởng đó, đồng thời dưới sự hướng dẫn và gợi ý của thầygiáo PGS TS Trịnh Nhật Tiến, học viên đã chọn đề tài cho luận tốt nghiệpCao 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

Trang 13

Đề 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

Trang 14

toán đặc trưng mã hóa Advanced Encryption Standard- AES, mã hóa hộptrắng trên nền mã hóa AES từ đó xây dựng chương trình mã hóa hộp trắngtrê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 trungnghiên cứu đề xuất xây dựng và phát triển hệ thống cho mã hóa hộp trắngnhằ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ụctiê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óahộ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

Trang 15

- Kế thừa tối đa những kết quả nghiên cứu đã có ở trong nước và trênthế 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ànhxâ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ôngtin, 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à minhhọ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ểncô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óatruyề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ẩmphầm mềm có tính năng tương đương như Set-top box làm giảm chi phí sảnxuất thiết bị, dễ dàng sửa chữa nâng cấp khi cần thiết

Trang 16

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.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ằngtí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

Trang 17

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, nghelé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ệchnộ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:

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ể

Trang 18

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ềntin 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ầntruyề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

Trang 19

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ỡ.

Trang 20

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ụngthê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 bitcùng với khóa để trả về khối 128 bit bản rõ ban đầu.Để mã hóa những vănbản có độ dài vượt quá độ dài của khối, người ta sử dụng thuật toán theomộ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êntừ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ộtphươ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

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ã

Trang 21

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 nghingờ 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

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ànhkhối thông tin của bản mã có độ dài không thay đổi Trong trường hợp củaDES, độ 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 bitthực sự được sử dụng; 8 bit còn lại chỉ dùng cho việc kiểm tra Vì thế, độ dàithự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ộtphương pháp nào đó

Trang 22

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 chutrì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ì IPtrướ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 tinvà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

Trang 23

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ántrở 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ửacủ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ì 2nử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.

Trang 24

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 theomột chuyển đổi phi tuyến được thực hiện bằng một bảng tra Khối S-box đảmbả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ộctừ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 2gồm 24 bit từ mỗi phần

Trang 25

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áckhóa con sử dụng các bit khác nhau của khóa chính; mỗi bit được sử dụngtrung 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ỗichu 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ạpcủa DES, NIST (National Institute of Standards and Technology - Viện Tiêuchuẩn và Kỹ thuật Quốc gia - Hoa Kỳ) công bố một cuộc thi cho một tiêuchuẩ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ã đốixứng

Thuật toán AES

Trang 26

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àmviệ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óacon sử dụng trong các chu trình được tạo ra bởi quá trình tạo khóa conRijndael 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ántrong 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 4cộ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ựchiệ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

đượ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

Trang 27

2 ShiftRows - Hàm sử dụng , xử các trạngthá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ácnhau, 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 phatrộ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

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ếthợ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

Trang 28

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 nhaumột chìa khóa bí mật Trong trường hợp mã hóa đối xứng, hai bên sử dụngchung một chìa khóa Do đó, khóa bí mật cần được thực hiện một cách ngẫunhiê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ếngAnh, ký tự e là được xuất hiện nhiều nhất trong các văn bản Dùng phươngphá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áccủa tin nhắn

Trang 29

Hình 1.10Phương pháp Entropy Attack

1.2.3.2 Tấn công Vét cạn (Brute-force)

Đối với bất cứ phương pháp mã hóa nào, kiểu tấn công cơ bản và đơngiản nhất là tấn công bằng bạo lực: thử lần lượt tất cả các khóa có thể cho đếnkhi tìm ra khóa đúng Độ dài của khóa sẽ xác định số lượng phép thử tối đacần thực hiện và do đó thể hiện tính khả thi của phương pháp

1.2.3.3 Tấn công kênh bên (Side-channel cryptanalysis)

Cuộc tấn công kênh bên là cuộc tấn công dựa trên thông tin thu được từviệc thực hiện nguyên tắc vật lý hệ thống mật mã , chứ không phải là bạolực hoặc những điểm yếu trong lý thuyết thuật toán Ví dụ, thông tin thờigian, điện năng tiêu thụ, điện rò rỉ hoặc thậm chí âm thanh có thể cung cấpthêm một nguồn thông tin có thể được khai thác để phá vỡ hệ thống

Tấn công kênh bên không tấn công trực tiếp vào thuật toán mã hóa màthay vào đó, tấn công lên các hệ thống thực hiện thuật toán có sơ hở làm lộ dữ

Trang 30

liệu Tháng 4 năm 2005, Daniel J Bernstein công bố một tấn công lên hệthống mã hóa AES trong OpenSL Một máy chủ được thiết kế để đưa ra tối đathông tin về thời gian có thể thu được và cuộc tấn công cần tới 200 triệu bản

rõ lựa chọn Tuy nhiên tấn công kênh bên không thể thực hiện được trênInternet với khoảng cách mạng Một số người cho rằng tấn công không thểthực hiện được trên Internet với khoảng cách vài điểm mạng

1.3 MÃ HÓA HỘP TRẮNG TRÊN NỀN MÃ HÓA KHỐI

1.3.1 Giới thiệu về mã hóa hộp trắng.

Thuật toán mã hóa được thiết kế để bảo vệ dữ liệu hoặc thông tin liênlạc ngay trong môi trường thực hiện thuật toán Các thuật toán mã hóa đốixứng thường sử dụng một khóa bí mật, sau đó việc mã hóa/giải mã dựa trêncác bí mật của khóa đó Do đó, mục tiêu chính của kẻ tấn công thường là làmthế nào để lấy được khóa bí mật đó Trong môi trường hộp đen truyền thống,những kẻ tấn công chỉ có truy cập vào các yếu tố đầu vào và đầu ra của mộtthuật toán mã hóa Vì vậy, môi trường “hộp trắng” thực tế mới được giớithiệu trong đó kẻ tấn công có quyền truy cập đầy đủ đến phần mềm thực hiệnthuật toán mã hóa và hơn nữa có toàn quyền kiểm soát môi trường thực thicủa nó Ví dụ thực tế của một môi trường hộp trắng có thể được tìm thấytrong hệ thống bảo vệ nội dung kỹ thuật số như quản lý quyền kỹ thuật số(Digital Rights Management – DRM) hoặc các hệ thống Truyền hình trả tiền(Pay-TV systems) như một điện thoại thông minh, máy tính bảng hay Set-topbox được cài đặt thuật toán mã hóa

Mật mã hộp trắng nhằm bảo vệ tính bảo mật của khóa bí mật của mộtthuật toán mã hóa trong một môi trường hộp trắng Nó là một kỹ thuật để xâydựng triển khai phần mềm của một thuật toán mã hoá đủ an toàn chống lạimột kẻ tấn công hộp trắng Việc thiết kế triển khai thuật toán mã hóa hộp

Trang 31

những người khởi xướng đề xuất việc thực hiện mã hóa hộp trắng đầu tiêncủa AES[5], một trong những thuật toán mã hóa khối nổi bật nhất tại thờiđiểm này Tuy nhiên, hai năm sau đó, Billet, Gilbert và Ech-Chatbi trình bàythành công việc tấn công hộp trắngvào hệ mã AES, tiếp theo đó thành côngcủa là Bringer, Chabanne và Dottax năm 2006, Xiao và Lai trong năm 2009

và Karroumi trong năm 2010[4]

1.3.2 Các khái niệm cơ bản

1.3.2.1 Mô hình hộp đen truyền thống

Mô hình hộp đen là mô hình mà thuật toán mã hóa và khóa được giấukín hoặc được “bọc” kín, kẻ thù không thể tiếp cận được, để thâm nhập vào

mô hình này kẻ thù chỉ có thể thu thập thông tin thông qua đầu vào hoặc đầu

ra của hệ thống

Hình 1.11Mô hình hộp đen truyền thống

Ví dụ: Hộp đen ở đây được hiểu là ta không biết hệ thống P hoạt độngthế nào, chỉ biết rằng cho bất kỳ đầu vào là x thì ta biết kết quả đầu rà là P(x)tương ứng của hệ thống P, nhưng không biết được hệ thống P làm thế nào đểcho ra kết quả P(x) Ví dụ như smart card, Set-top box

1.3.2.2 Mô hình hộp trắng

Mô hình hộp trắng là mô hình mà kẻ thù biết được thuật toán mã hóa và

có mọi quyền kiểm soát trên môi trường mà thuật toán thực hiện Khóa tuyđược giấu kín, nhưng do kẻ thù quyền kiểm soát trên môi trường thuật toán

Trang 32

thực hiện nên kẻ thủ có thể sử dụng quyền kiểm tra bộ nhớ, gọi ngắt CPU, gỡlỗi, đảo mã để tìm ra khóa một cách dễ dàng.

Hình 1.12Kẻ thù công tấn công trong mô hìnhhộp trắng

1.3.2.3 Mật mã hộp trắng

Mật mã hộp trắng là một kỹ thuật nhằm mục đích chuyển một thuậttoán mã hóa mật mã nguyên thủy vào trong phần mềm biến nó như một chứcnăng của phần mềm thực hiện và hoạt động như một "hộp đen ảo", tức là, một

kẻ có đầy đủ quyền truy cập vào phần mềm cũng như toàn quyền kiểm soátmôi trường thực thi cũng không có khả năng khai thác bổ sung sửa đổi dữ liệu

để đạt được mục tiêu của mình

Hình 1.13Mô hình Mật mã hộp trắng

Hình 1.13 mô tả một cái nhìn tổng quan về khái niệm của mã hóa hộptrắng Trong quá trình thực hiện chìa khóa sẽ được mã hóa cứng vào mã Ởphía bên tay trái là mô tả của một thuật toán mã hóa mật mã và chìa khóa

Trang 33

1.3.3 Đề xuất sử dụng mật mã hộp trắng

Với mong muốn giải quyết các vấn đề thuật toán mã hóa trong một

mô hình hộp trắng Các nghiên cứu về mật mã trong một mô hình hộp trắngnhư vậy được gọi là mật mã hộp trắng, và triển khai mật mã nguyên thủy chomột mô hình như vậy được gọi là triển khai hộp trắng

Do đótác giả tập trung vào việc triển khai mô hình hộp trắng của mật

mã khối, vì nó phổ và nhiều lợi ích thiết thực Hơn nữa, mật mã hộp trăngđược hình thành trên mã khối

Vấn đề đặt ra là: Có thể thực hiện mật mã nguyên thủy một cách "antoàn" ngay trên một môi trường không an toàn hay không ? nếu “an toàn” thìcác kỹ thuật nào sử dụng để xây thực hiện? Điều gì sẽ tác động lên trên thiết

kế của mật mã khối và việc triển khai các mật mã nguyên thủy trong các ứngdụng? làm thế nào để sử dụng các kỹ thuật xây dựng triển khai thực hiện?Íchlợi của những việc làm trên?Nếu có thì hệ mã đó nên sử dụng ở đâu?

Để thực hiện được điều đó tác giả cần giải quyết những vấn đề sau: Thứ nhất, thông tin khóa bí mật cần phải được phân tán trong suốt quátrình thực hiện, để ngăn chặn truy nhập tầm thường thông qua phân tích tĩnh

Thứ hai, các hoạt động mật mã phải được ngẫu nhiên hóa, để ngăn chặncác cuộc tấn công giả mạo và mục tiêu của việc thực hiện mã hóa

Trong quá trình thực hiện các yêu cầu trên tác giả vẫn giữ lại các điềukiện đầu vào-đầu ra của thuật toán mã hóa khối Do đó, hộp trắng mật mã sẽchủ yếu là giải quyết các chiến lược làm thế nào để biên dịch một thuật toán

mã hóa khối một cách an toàn

CHƯƠNG 2 MÃ HÓA RIJNDAEL VÀ MÃ HOÁ HỘP

TRẮNG AES

Trang 34

Trong chương này, tập trung vào tìm hiểu chi tiết thuật toán mã hóaRijndael, thuật toán mã hóa hộp trắng trên AES, nhận xét những điểm mạnh,điểm yếu của thuật toán, từ đó ứng dụng vào xây dựng mã hóa hộp trắng đểbảo đảm an toàn thông tin số.

2.1 PHƯƠNG PHÁP MÃ HÓA RIJNDAEL

2.1.1 Giới thiệu

Với tốc độ và khả năng xử lý ngày càng được nâng cao của các bộ vi

xử lý hiện nay, phương pháp mã hóa chuẩn Data Encryption Standard – DEStrở nên không an toàn trong bảo mật thông tin Do đó, Viện Tiêu chuẩn vàCông nghệ Hoa Kỳ – NIST đã quyết định chọn một chuẩn mã hóa mới với độ

an toàn cao nhằm phục vụ nhu cầu bảo mật thông tin liên lạc của Chính phủ

nhà mật mã học người Bỉ: V đượcchọn làm chuẩn mã hóa nâng cao từ ngày 02 tháng 10 năm 2000)

Phương pháp mã hóa Rijndael là phương pháp mã hóa theo khối (Blockcipher) có kích thước khối và mã khóa thay đổi linh hoạt với các giá trị 128,

192 hay 256 bit Phương pháp này thích hợp ứng dụng trên nhiều hệ thốngkhác nhau từ các thẻ thông minh cho đến các máy tính cá nhân

2.1.2 Quy trình mã hóa

Phương pháp mã hóa Rijndael bao gồm nhiều bước biến đổi đượcthực hiện tuần tự, kết quả đầu ra của bước biến đổi trước là đầu vào củabước biến đổi sau Kết quả trung gian giữa các bước biến đổi được gọi làtrạng thái (state)

Một trạng thái có thể được biểu diễn dưới dạng một ma trận gồm 4dòng và Nb cột với Nb bằng với độ dài của khối chia cho 32

Trang 35

Trong một số tình huống, ma trận biểu diễn một trạng thái hay mã khóa có thểđược khảo sát như mảng một chiều chứa các phần tử có độ dài 4 byte, mỗiphẩn tử tương ứng với một cột của ma trận.

Số lượng chu kỳ, ký hiệu là Nr, phụ thuộc vào giá trị của Nb và Nktheo công thức Nr = max{Nb, Nk} + 6

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)

Quy trình mã hóa Rijndael sử dụng bốn phép toán biến đổi chính

Trang 36

Hình 2.2Quy trình mã hóa Rijndael

Trước tiên, toàn bộ dữ liệu đầu vào được chép vào mảng trạng thái hiệnhành Sau khi thực hiện thao tác cộng mã khóa đầu tiên, mảng trạng thái sẽđược trải qua Nr = 10, 12 hay 14 chu kỳ biến đổi (tùy thuộc vào độ dài của

mã khóa chính cũng như độ dài của khối được xử lý) Nr – 1 chu kỳ đầu tiên

là các chu kỳ biến đổi bình thường và hoàn toàn tương tự nhau, riêng chu kỳbiến đổi cuối cùng có sự khác biệt với Nr – 1 chu kỳ trước đó Cuối cùng, nộidung của mảng trạng thái sẽ được chép lại vào mảng chứa dữ liệu đầu ra

Quy trình mã hóa Rijndael được tóm tắt như sau

1 Thực hiện thao tác AddRoundKey đầu tiên trước khi thực hiệncác chu kỳ mã hóa

2 Nr – 1 chu kỳ mã hóa bình thường mỗi chu kỳ bao gồm bốn bước

Trang 37

3 Thực hiện chu kỳ mã hóa cuối cùng trong chu kỳ này thao tácMixColumns được bỏ qua.

Thuật toán dưới đây, mảng Key[] chứa bảng mã khóa mở rộng; mảngin[] và out[] lần lượt chứa dữ liệu vào và kết quả ra của thuật toán mã hóa

Cipher (byte in[4 * Nb], byte out[4 * Nb], word Key[Nb * (Nr + 1)])

AddRoundKey(state, Key[round]) end for SubBytes(state)

ShiftRows(state)

AddRoundKey(state, Key[Nr])

end

Trang 38

Hình 2.3Thuật toán Mã hóa và giải mã Rijndael

2.1.2.1 Phép biến đổi SubBytes

Thao tác biến đổi SubBytes là phép thay thế các byte phi tuyến và tácđộng một cách độc lập lên từng byte trong trạng thái hiện hành Bảng thay thế(S-box) có tính khả nghịch và quá trình thay thế 1 byte x dựa vào S-box baogồm 2 bước:

Trang 40

2 Áp dụng phép biển đổi affine (trên GF( ) Đối với (giả sử

=

Với là bit thứ I của {63} hay {01100011}

Hình 2.4Thao tác SubBytes tác động trên từng byte của trạng thái

Ngày đăng: 11/02/2019, 19:08

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Trịnh Nhật Tiến (2008), Giáo trình An toàn dữ liệu, Đại học Công nghệ Hà Nội 2008- Tiếng Anh Sách, tạp chí
Tiêu đề: Giáo trình An toàn dữ liệu
Tác giả: Trịnh Nhật Tiến
Năm: 2008
[2] Daemen J., Rijmen V. (1999), AES Proposal: Rijndael, C a t ho l ic Un i v e r s i t y of L e uv e n , Belgium Sách, tạp chí
Tiêu đề: AES Proposal: Rijndael
Tác giả: Daemen J., Rijmen V
Năm: 1999
[3] Plasmans M. (2005), “White box Cryptography for Digital Content Protection”, Eindhoven University of Technology, Netherlands Sách, tạp chí
Tiêu đề: “White box Cryptography for DigitalContent Protection”
Tác giả: Plasmans M
Năm: 2005
[4] Mulder Y. D. (2014),Analysis of White-Box AES Implementations, University of Lueven, Belgium Sách, tạp chí
Tiêu đề: Analysis of White-Box AESImplementations
Tác giả: Mulder Y. D
Năm: 2014
[5] Chow S., Eisen P., Johnson H. , Van O. P.C. (2002), White-Box Cryptography and an AES implementation, Proceedings of the NinthWorkshop on Selected Areas in Cryptography Sách, tạp chí
Tiêu đề: White-BoxCryptography and an AES implementation
Tác giả: Chow S., Eisen P., Johnson H. , Van O. P.C
Năm: 2002
[6] Raymond G. K., William M. D. (1999), Data Encryption Standard, National Institute of Standards and Technology, U.S.Department of Commerce Sách, tạp chí
Tiêu đề: Data EncryptionStandard
Tác giả: Raymond G. K., William M. D
Năm: 1999
[7] Lonczewski F., Jaeger R.(2000), An extensible Set-Top-Box Architecture for interactive and broadcast Services offering sophisticated User Guidance, Proc. In ICME 2000, New York Sách, tạp chí
Tiêu đề: An extensible Set-Top-BoxArchitecture for interactive and broadcast Services offeringsophisticated User Guidance
Tác giả: Lonczewski F., Jaeger R
Năm: 2000

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w