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

Luận văn thạc sĩ hàm băm trong mật mã hạng nhẹ

56 97 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 56
Dung lượng 2,28 MB

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

Nội dung

Hàm băm nhẹ là một trong những nhánh của mật nhẹ mà được ứng dụng nhiềunhất, do đó tác giả sẽ trình bày các khái niệm cơ bản, đồng thời trình bày một số hàmbăm phổ biến, ứng dụng …Phần c

Trang 1

LỜI CẢM ƠN

Trước tiên, tôi xin gửi lời cảm ơn sâu sắc nhất đến thầy TS Lê Phê Đô và thầy TS.Phùng Văn Ổn, người thầy đã tận tâm, tận lực hướng dẫn, định hướng phương phápnghiê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ậnlợi trong suốt quá trình học tập và nghiên cứu để tôi có thể hoàn thành luận văn này

Tôi xin được gửi lời cảm ơn đến các thầy, cô trong bộ môn Hệ thống thông tin 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ốtthời gian tôi học tập tại trường

Tôi xin gửi lời cảm ơn đến các bạn học viên lớp K22-QLHTTT, những người đồnghà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 và động viên giúp tôi có nghị lực phấn đấu để hoàn thành tốt luận vănnày

Do kiến thức và thời gian có hạn nên luận văn chắc chắn không tránh khỏi nhữngthiếu sót nhất định

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, tháng 12 năm 2017Học viên thực hiện

Nguyễn Khắc Hưng

Trang 2

LỜI CAM ĐOAN

Luận văn thạc sĩ đánh dấu cho 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 “Hàm

băm trong mật mã hạng 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 Lê Phê Đô và TS Phùng Văn Ổn

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 là 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 mọi 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, tháng 12 năm 2017

Nguyễn Khắc Hưng

Trang 3

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

Từ viết tắt Thuật ngữ tiếng anh Thuật ngữ tiếng việt

RFID Radio Frequency Identification Nhận dạng đối tượng bằng

Trang 4

DANH MỤC BẢNG

Bảng 1.1: Một số hệ mật nhẹ và một số hệ mật “nặng” truyền thống 16

Bảng 1.2: Thông tin về yêu cầu phần cứng của một vài hệ mật nhẹ 17

Bảng 2.1: Hộp S-Box 4 bit của hệ mật PRESENT trong hệ thập lục phân. 23

Bảng 2.2: Hoán vị bit sử dụng trong PRESENT 24

Bảng 2.3: Hộp S-Box 4 bit nghịch đảo của hệ mật PRESENT trong hệ thập lục phân 25 Bảng 2.4: Nghịch đảo việc hoán vị bit trong hệ mật PRESENT 25

Bảng 2.5: S-Box và vị trí của từng thành phần trong S-Box 28

Bảng 2.6: S-Box sau khi thực hiện quá trình gây nhiễu theo công thức Caesar 29

Bảng 3.1: Một số hàm băm nhẹ 34

Trang 5

DANH MỤC HÌNH ẢNH

Hình 1.1: Cấu trúc của một thiết bị RFID 8

Hình 1.2: Thiết kế sự hoán đổi các yếu tố trong mật mã nhẹ 13

Hình 1.3: Đồ thị so sánh theo thông số bề mặt của một số hàm băm nhẹ 17

Hình 1.4: Đồ thị so sánh theo thông số thông lượng của một số hàm băm nhẹ 18

Hình 1.5: Đồ thị so sánh năng lượng sử dụng ở mức cao của một số hàm băm nhẹ 18 Hình 1.6: Đồ thị so sánh năng lượng sử dụng ở mức thấp của một số hàm băm nhẹ 19 Hình 2.1: Quy trình mã hóa của PRESENT 22

Hình 2.2: Tính toán khóa cho PRESENT-80 26

Hình 2.3: Tính toán khóa cho PRESENT-128 27

Hình 3.1: Tạo chữ ký điện tử 32

Hình 3.2: Xác thực chữ ký điện tử 32

Hình 3.3: Cấu trúc băm sử dụng công thức Davies-Mayer 35

Hình 3.4: Kiến trúc của hàm băm PRESENT theo cấu trúc Davies Mayer với đầu vào 64 bit và khóa 80 bit 36

Hình 3.5: Cấu trúc Merkle Damgard 36

Hình 3.6: Sơ đồ tuần tự hàm băm của hệ mật PRESENT theo công thức DaviesMayer và cấu trúc Merkle Damgard 38

Hình 4.1: Sử dụng Jni như cầu nối để gọi qua lại giữa Java và C/C++ 41

Hình 4.2: Cài đặt chương trình bảo mật của hàm PRESENT 42

Hình 4.3: Cài đặt chương trình bảo mật của hàm PRESENT 42

Hình 4.4: Sơ đồ tuần tự phần mật khẩu của chương trình bom báo 43

Trang 6

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

DANH MỤC BẢNG iv

DANH MỤC HÌNH ẢNH v

MỞ ĐẦU 1

Chương 1: TỔNG QUAN VỀ MẬT MÃ NHẸ 4

1.1 Mật mã nhẹ 4

1.1.1 Khái niệm mật mã nhẹ 4

1.1.2 Đặc điểm của mật mã nhẹ 5

1.2 Động lực thúc đẩy mật mã nhẹ phát triển 6

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

1.2.2 Công nghệ nhận dạng tần số sóng vô tuyến (RFID) 8

1.2.3 Thiết bị gia dụng điện và TiVi thông minh 9

1.2.4 Bộ cảm biến nông nghiệp thông minh 10

1.2.5 Cảm biến y tế 11

1.3 Chiến lược thiết kế cho mật mã nhẹ 12

1.4 Một số mật mã nhẹ 16

Chương 2: HỆ MẬT PRESENT VÀ CẢI TIẾN S-BOX 20

2.1 Hệ mật PRESENT 20

2.1.1 Ý tưởng thiết kế 20

2.1.2 Quá trình mã hóa 21

2.1.3 Quá trình giải mã 24

2.1.4 Tính toán khóa 25

2.2 Cải tiến S-Box 28

Trang 7

Chương 3: HÀM BĂM NHẸ 30

3.1 Khái niệm 30

3.1.1 Các yêu cầu cơ bản của hàm băm nhẹ 30

3.1.2 Động lực phát triển của hàm băm nhẹ 30

3.2 Ứng dụng của hàm băm nhẹ 31

3.3 Thách thức của hàm băm nhẹ 33

3.4 Một số hàm băm nhẹ 33

3.5 Hàm Băm của hệ mật PRESENT 34

Chương 4: THỰC NGHIỆM 39

4.1 Mục đích thực nghiệm 39

4.2 Tiến hành thực nghiệm 39

4.2.1 Xây dựng chương trình băm PRESENT 39

4.2.2 Tích hợp vào app di động 41

4.3 Kết quả thực nghiệm 41

KẾT LUẬN 44

CÔNG TRÌNH ĐÃ CÔNG BỐ 45

TÀI LIỆU THAM KHẢO 46

PHỤ LỤC 48

Trang 9

MỞ ĐẦU

Cơ sở khoa học và thực tiễn của đề tài:

Ngày nay, chúng ta có thể dễ dàng bắt gặp thuật ngữ IoT ở bất cứ nơi nào

Thuật ngữ này là viết tắt của cụm từ “Internet of Things”, ám chỉ những vật được kết

nối internet và có khả năng trao đổi dữ liệu IoT trong những năm gần đây rất phổbiến, phổ biến đến mức nó đã được thêm vào từ điển Oxford [14] dưới dạng một danh

từ Đặc điểm chung của những thiết bị này là kích thước nhỏ gọn và năng lượng tiêuthụ thấp Ví dụ như các thiết bị cảm biến môi trường, cảm biến y tế … Phần lớn cácthiết bị IoT đang gặp phải vấn đề về bảo mật, là làm sao để thông tin không bị sửa đổitrong khi trao đổi dữ liệu, làm sao để thông tin không bị đánh cắp …? Trong năm

2004, thuật ngữ “Lightweight cryptography” được đưa ra thảo luận tại nhiều hội nghị

và cuối cùng nó đã được đem vào sử dụng trong thực tế[6] Thuật ngữ này ám chỉ

những hệ mật “nhẹ” có khả năng cài đặt trên các thiết bị bị giới hạn bởi năng lượng

tiêu thụ và khả năng lưu trữ Như vậy, mật mã nhẹ rất phù hợp để áp dụng vào bảo

mật cho các thiết bị IoT Do đó, việc phát triển nhanh và mạnh của internet of things

cũng chính là động lực để thúc đẩy mật mã nhẹ phát triển

Từ khi khái niệm mật mã nhẹ được đưa vào sử dụng cho đến nay thì mật mãnhẹ phát triển rất nhanh và mạnh Thể hiện bởi số lượng và chất lượng các công trìnhnghiên cứu Trong luận văn này, tác giả nghiên cứu về mật mã nhẹ và đi sâu vào mộtnhánh con của nó là hàm băm Bên cạnh đó, tác giả sẽ trình bày đề xuất cải tiến hệmật của mình, đó là cải tiến S-Box Đề xuất này được in trong hội thảo Quốc Gia lần

thứ XX, là một phần của bài báo: “Cải tiến mã khối hạng nhẹ họ LED và Neokeon” Với cải tiến này, nếu chương trình cài đặt theo hướng tối ưu hóa về mặt thời gian thì

cải tiến sẽ không làm tăng bất cứ chi phí nào cả nhưng lại tăng được độ mật của thuậttoán

IoT phát triển là một lợi thế rất lớn cho mật mã nhẹ Tuy nhiên, đây đồng thời

là thách thức không hề nhỏ dành cho ngành nghiên cứu này Làm sao để độ bảo

Trang 10

mật phù hợp? Làm sao để năng lượng tiêu thụ thấp? Làm sao để không gian lưu trữ 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ã nhẹ

- Đi sâu nghiên cứu một nhánh nhỏ trong mật mã nhẹ là hàm băm

- Cải tiến S-Box, nâng cao hiệu quả bảo mật nhưng không làm phát sinh thêm chi phí

- Xây dựng ứng dụng xác thực mật khẩu trong chương trình trên điện thoại thông minh

Nội dung nghiên cứu

Ngoài phần mở đầu và kết luận, luận văn được trình bày theo 3 chương với cácnội dung như sau:

Chương 2: Hệ mật PRESENT và một số cải tiến Noekeon, LED

Tác giả trình bày những tìm hiểu của mình về hệ mật PRESENT và một số cảitiến Trong đó, tác giả đề xuất phương án cải tiến S-Box 4 bit mà LED sử dụng Vớicải tiến này, ta có thể áp dụng cho tất cả các hệ mật khác sử dụng S-Box nói chung vàS-Box 4 bit nói riêng

Chương 3: Hàm băm nhẹ

Trang 11

Hàm băm nhẹ là một trong những nhánh của mật nhẹ mà được ứng dụng nhiềunhất, do đó tác giả sẽ trình bày các khái niệm cơ bản, đồng thời trình bày một số hàmbăm phổ biến, ứng dụng …

Phần cuối cùng của chương, tác giả sẽ trình bày hàm băm của hệ mậtPRESENT theo công thức Davies Mayer và cấu trúc Merkle Damgard

Chương 4: Thực nghiệm

Xây dựng chương trình xác thực mật khẩu cho ứng dụng trên điện thoại thôngminh nền tảng Android

Hiện tại, việc ứng dụng xác thực mật khẩu trên dòng điện thoại thông minh

chưa làm nổi bật được tính “nhẹ” của hệ mật này Tuy nhiên, đây là tiền đề để tác giả

có thể ứng dụng vào các thiết bị bị giới hạn sau này

Kết quả đạt được

Sau thời gian tìm hiểu và nghiên cứu, luận văn đã đạt được một số kết quả banđầu Đó là việc nghiên cứu một cách tổng quan nhất về mật mã nhẹ và hàm băm nhẹ.Sau đó là việc tập trung nghiên cứu hệ mật PRESENT, hàm băm của PRESENT theocông thức Davies Mayer Trong luận văn, tác giả cũng trình bày phương án cải tiếncủa mình để tăng tính bảo mật cho hệ mật Đặc điểm của phương án này là làm tăng

độ mật nhưng lại không làm tăng độ phức tạp của thuật toán và cũng không làm phátsinh thêm bất kỳ chi phí nào

Với kết quả hiện tại của mình, tác giả chưa cài đặt được trên các thiết bị IoT bị

hạn chế bởi năng lượng tiêu thụ và khả năng lưu trữ để đánh giá độ “nhẹ” của hệ mật.

Tuy nhiên, đây là tiền đề để tác giả có thể áp ụng hệ mật vào các thiết bị như Arduino,hoặc các thiết bị bị giới hạn khác Từ đó, có thể ứng dụng vào các lĩnh vực trong thực

tế như bảo mật cho các thiết bị đo thời tiết, bảo mật cho các thiết bị gia dụng thôngminh

Trang 12

Chương 1: TỔNG QUAN VỀ MẬT MÃ NHẸ 1.1 Mật mã nhẹ

Như tác giả đã trình bày ở phần mở đầu, mật mã nhẹ ra đời hướng tới các thiết

bị bị giới hạn bởi năng lượng tiêu thụ và không gian lưu trữ do đó mục tiêu của các hệ

mật nhẹ là vừa “bảo mật”, vừa “chi phí thấp”, vừa “hiệu suất cao” Ta có thể dễ

thấy, ba yếu tố này không thể cùng đi lên nên việc duy nhất có thể làm là cân bằng bayếu tố này trong trường hợp áp dụng cụ thể

Đối với mỗi ngành, mỗi nghề, mỗi lĩnh vực, tùy theo độ quan trọng của bảomật mà ta lựa chọn thiết kế cho phù hợp Nếu như an ninh cần thắt chắt thì buộc taphải tăng yếu tố chi phí để có được một mã an toàn và hiệu suất cao Nếu như yêucầu bảo mật ở mức thấp, ta nên thiết kế một thuật toán đủ nhẹ để chi phí ở mức thấp

và cũng để có thể áp dụng vào trong thực tế

1.1.1 Khái niệm mật mã nhẹ

Không có một ranh giới rõ ràng nào để phân biệt sự nhẹ của một hệ mật vớicác hệ mật thông thường [4] Mật mã nhẹ là một nhá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êncác thiết bị vô cùng nhỏ bé và bị giới hạn bởi năng lượng tiêu thụ và khả năng lưutrữ Ví dụ như các thẻ chip, thẻ từ dùng gắn trên các bao bì sản phẩm hay có thể gắnvào bất cứ vật nào chúng ta muốn theo dõi

Các công trình nghiên cứu mật mã nhẹ đã tăng rất nhanh chóng trong nhữngnăm gần đây, cả về số lượng và chất lượng Nhiều hệ thống đã được đề xuất trong cáccuộc họp, đồng thời nhiều hội nghị diễn ra xoay quanh chủ đề này Năm 2004, tạichâu âu đã diễn ra chương trình khung thứ 6 và 7 với tên gọi ENCRYPT I vàENCRYPT II và chủ đề là mật mã nhẹ [6], đây cũng là tiền đề, là động lực để mật mãnhẹ phát triển Nhật bản không phải nước đi đầu nhưng lại là nước có những bướctiến rất lớn trong những năm trở lại đây với những nghiên cứu nhỏ gọn và việc triểnkhai mật mã nhẹ trên các hệ thống của họ trong thực tiễn

Trang 13

Hiện nay, các hệ thống đánh giá mật mã nhẹ vẫn đang trong quá trình hoànthiện Năm 2015 viện tiêu chuẩn và công nghệ quốc gia Hoa Kỳ cũng đã bắt tay vàođánh giá và chuẩn hóa kỹ thuật mã hóa nhẹ Đến thời điểm hiện tại, chưa có một

thông báo chính thức như thế nào mới được coi là “mật mã nhẹ” Tuy nhiên trong

ISO/IEC 29192 đã định nghĩa một số thuật toán nhẹ cho một vài lĩnh lực kỹ thuật vàISO/IEC 29167 đã mô tả công nghệ mã hóa cho các thiết bị RFID Đo đó, khi ápdụng vào lĩnh vực cụ thể, ta có thể tham chiếu để lựa chọn thuật toán cho phù hợp

các dịch vụ mạng thế hệ tiếp theo như IoT và hệ thống mạng không gian

Nhiều phương pháp đã được đề xuất cho công nghệ mã hóa nhẹ Trong đó, một

số tìm kiếm sự “nhẹ” trong kích thước cài đặt trên các thiết bị phần cứng và giảm thiểu sự tiêu thụ điện năng, một số khác tìm kiếm sự “nhẹ” trong kích thước bộ nhớ

yêu cầu của phầm mềm nhúng Tuy nhiên, đây không phải là hai hướng đi duy nhấttrong mảnh đất màu mỡ này, các nhà mật mã học vẫn đang ngày đêm để nghiên cứutạo ra các thuật toán mới và cải tiến những thuật toán hiện có

1.1.2 Đặc điểm của mật mã nhẹ

Tuy không có một khái niệm rõ ràng về mật mã nhẹ nhưng ta có thể nhận dạng

nó thông qua một vài thông số như kích thước khối, kích thước khóa, số vòng mãhóa, và pha tính toán khóa của hệ mật

Kích thước khối nhỏ: Để tiết kiệm bộ nhớ, mã khối nhẹ thông thường sử dụngkhối nhỏ, chẳng hạn như 64 bit hoặc 80 bit [11]

Kích thước khóa nhỏ: Một vài mã khối nhẹ sử dụng khóa nhỏ, kích thước nhỏhơn 96 bit Tuy nhiên nó vẫn đảm bảo tính hiệu quả trong việc mã hóa [11] Ví dụnhư PRESENT 80 bit khóa

Trang 14

Các vòng mã hóa đơn giản: Nhìn vào sơ đồ mã hóa của mã nhẹ, ta có thể dễthấy các công thức tính toán tương đối đơn giản Ví dụ trong mật mã nhẹ, S-Box được

đề xuất sử dụng để tăng cường tính bảo mật cho hàm mã hóa Có nhiều S-Box được

đề xuất nhưng S-Box 4 bit lại được yêu thích hơn cả bởi tính hữu dụng và tiết kiệmchi phí Ví dụ với PRESENT sử dụng S-Box 4 bit chỉ yêu cầu 28 GEs còn AES sửdụng S-Box khác yêu cầu 295 GEs [11]

Tính toán khóa đơn giản: Pha tính toán khóa nếu sử dụng một công thức thứctạp sẽ dẫn đến việc tăng chi phí về lưu trữ, tăng độ trễ và năng lượng tính toán [11].Như vậy, nhìn vào sơ đồ tính toán khóa của một mã nhẹ không thể nào lại là mộtcông thức rối ren, phức tạp được

Cài đặt đơn giản: Tổng thể mà nói, một mã nhẹ bao gồm các phần tử, các vònglặp rất đơn giản nên sơ đồ mã hóa tổng thể của nó không thể nào phức tạp được Do

đó, khi xem xét một mã có là nhẹ hay không ta có thể tìm xem nó có bao hàm thànhphần nào phức tạp hay không Nếu phần lớn các mô đun trong nó đều phức tạp thìchắc chắn mã đó không phải là mã nhẹ, ngược lại nếu các mô đun này chứa nhữngphần tử, những công thức cực kỳ đơn giản và sáng sủa thì khả năng rất cao nó là mãnhẹ Trong trường hợp sơ đồ mã hóa chứa một vài thành phần phức tạp ta có thể đặtlên bàn cân để xem xét Tuy nhiên, chưa có một khái niệm nào vạch ra ranh giới rõràng giữa nhẹ và nặng, do đó ta không nên quá cứng nhắc Nhiệm vụ hiện tại là chọn

và thiết kế, cài đặt những mã phù hợp với yêu cầu sử dụng

1.2 Động lực thúc đẩy mật mã nhẹ phát triển

Hiện nay, mọi người có thể kết nối mạng ở bất cứ nơi đâu khi sử dụng thiết bịđiện thoại thông minh, máy tính bảng hay laptop cá nhân của mình Có thể chia sẻhình ảnh, chia sẻ thông điệp hay gửi tin nhắn … bất cứ lúc nào mong muốn Điều tanên đặt ra câu hỏi là việc gửi và nhận như vậy có đảm bảo an toàn? Manh nha ở đâu

đó, chúng ta có thể nghe những thuật ngữ như “nhà thông minh”, thẻ chíp, thẻ từ …

Và khi bắt tay vào tìm hiểu, chúng ta sẽ đặt ra câu hỏi, làm sao để một ngôi

Trang 15

nhà được gọi là thông minh trước mối nguy hại phá hoại và tấn công từ nhiều phía?Làm sao để những thẻ chíp, thẻ từ có thể sống sót trước sự nhòm ngó của kẻ thù?

Đáp ứng những yêu cầu này, “mật mã nhẹ” là một ứng cử viên đầy hứa hẹn Chúng ta không cần phải dữ dội phòng thủ bằng những mật mã “nặng” thông thường,

vì những mã này bảo vệ thì tốt thật nhưng nó sẽ làm tốn kha khá chi phí của ta, vàcòn chiếm một lượng lớn tài nguyên hệ thống của thiết bị Chưa kể, đối với nhữngthiết bị bị hạn chế về tài nguyên thì những mã nặng có thể làm chậm, đơ hệ thống vàtiêu tốn năng lượng

Đặc điểm của phần lớn những thiết bị IoT là bị giới hạn về dung lượng lưu trữ

và năng lượng tiêu thụ Do đó nếu áp dụng các hệ mật truyền thống sẽ dẫn đến việcchậm hệ thộng và sự bảo mật quá lớn là không cần thiết Ví dụ với các thẻ chip thẻ từtrong siêu thị thì không cần thiết bảo mật đến mức quá lớn

Trong thực tế, có rất nhiều thiết bị sử dụng năng lượng của pin, do đó chúng tacàng tiết kiệm năng lượng được bao nhiêu càng tốt Ví dụ, các thiết bị đo môi trườngthường được cài đặt tại các vị trí không có nguồn điện có sẵn Thiết bị cấy ghép y họcchỉ dựa vào năng lượng pin và được yêu cầu càng nhỏ càng tốt để giảm tác động lên

cơ thể con người Thuật toán mật mã nhẹ được mong đợi sẽ phục vụ các ứng dụngnày Một số ứng dụng đòi hỏi tính trôi nổi tốt và độ trễ thấp Để giữ mức tiêu thụ pincàng thấp càng tốt, một số thiết bị được bật ngay trước khi gửi dữ liệu, chỉ hoạt độngtrong quá trình truyền dữ liệu và sau đó tắt Phương pháp mã hóa nhẹ với độ trễ thấprất hữu ích cho mục đích này Nó cũng có thể thích hợp để điều khiển ô tô, nơi thờigian đáp ứng chậm có thể làm ảnh hưởng đến an ninh

Các phần sau, tác giả sẽ trình bày các ví dụ cụ thể trong thực tế nên áp dụngmật mã nhẹ để đảm bảo an toàn cho thông tin và thiết bị như: TV thông minh, công

nghệ RFID (tác giả trình bày ở phần 1.2.2, công nghệ này là một trong những công nghệ rất được quan tâm trong những năm gần đây bởi khả năng áp dụng trong thực

tế của nó), thiết bị đo môi trường trên đất nông nghiệp, thiết bị y tế, thiết bị kiểm soát

công nghiệp và ô tô

Trang 16

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

Những năm gần đây, thuật ngữ “Internet of things” [7] (IoT) rất phổ biến mà aitrong chúng ta đều có thể gặp ở bất cứ nơi đâu Thuật ngữ này bắt đầu xuất hiện từcuối những năm 90 của thế kỷ trước Nhưng đến năm 1999 khi Keven Ashton đưa rathì cụm từ này mới thực sự được xác nhận tồn tại [9]

IoT là một thuật ngữ đại diện cho một mạng lưới các vật tham gia kết nốiinternet Ở đó, các vật có thể thu thập thông tin và truyền tải dữ liệu Đây cũng chính

là một điểm sáng rất lớn, là kỳ vọng cho lĩnh vực tự động hóa trong hầu hết các ngànhnghề

Như tác giả đã trình bày ở phần mở đầu, triển vọng của IoT là rất lớn nhưngkéo theo thách thức không hề nhỏ về mặt bảo mật Do đó, khi mật mã nhẹ tham giavào mạng lưới này thì đây chính là cơ hội, là thách thức Nhiệm vụ của những nhàmật mã học là nghiên cứu để tìm ra các hệ mật mới phù hợp và cải tiến những hệ mật

đã có

1.2.2 Công nghệ nhận dạng tần số sóng vô tuyến (RFID)

Như đã nhắc ở phần 1.2.1, ở phần này tôi sẽ trình bày kỹ hơn một chút về côngnghệ RFID [8] Công nghệ nhận dạng (hay còn gọi là nhận diện dùng để đọc dữ liệu

từ chip, thẻ hoặc là thu lấy hình ảnh của đối tượng để mang về máy tính xử lý) khôngtiếp xúc, sử dụng tần số sóng vô tuyến

Hình 1.1: Cấu trúc của một thiết bị RFID

RFID là một công nghệ điển hình của nhận dạng không dây Nếu như chỉ lướtqua thôi thì ta rất khó phân biệt nó với các công nghệ khác như NFC hay là mã

Trang 17

QR Điểm khác nhau giữa các công nghệ này là hình thức nhận diện thiết bị RFIDgiao tiếp thông qua tần số sóng vô tuyến NFC giao tiếp thong qua từ trường Ưuđiểm của tần số sóng vô tuyến là có thể phát đi được rất xa, do đó triển vọng của việc

áp dụng trong thực tế của công nghệ này rất lớn Tuy nhiên, thách thức mà RFIDđang gặp phải là khi phạm vi này càng lớn thì độ nhiễu sóng càng cao dẫn tới kết quảnhận diện bị sai lệch nhiều hoặc có thể không còn chính xác nữa Và một điểm làphạm vi phủ sóng càng cao thì chi phí chi cho việc phát sóng càng lớn Do đó phảitính toán và cân nhắc thật kỹ khi áp dụng loại hình công nghệ này

Hiện nay, RFID đang được nghiên cứu rất nhiều để áp dụng trong lĩnh vực tựđộng hóa Ví dụ như ô tô tự động hóa, tự động hóa trả phí đường bộ …

1.2.3 Thiết bị gia dụng điện và TiVi thông minh

Khi nhắc tới thuật ngữ TiVi thông minh, chúng ta ám chỉ những TiVi có thể càiđặt ứng dụng, kết nối internet và chạy trên một giao diện thân thiện, thông minh vớingười dùng Ngày nay để giảm thiểu chi phí khi sản xuất nên hầu hết các TiVi được rađời trong điều kiện CPU ở mức thấp [6] Như vậy, nó vừa đảm nhiệm nhiệm vụ củamột chiếc TiVi thông thường, vừa đảm nhiệm chức năng của một chiếc máy vi tính

Do đó, giống như hầu hết các thiết bị IoT thông thường, việc tích hợp thêm bất cứmột chương trình nào lên TiVi thông minh là điều đáng cân nhắc, làm sao để khônglàm nặng chương trình Thông thường, người dùng rất khó để nhận biết xem thiết bịnày có bảo mật hơn thiết bị kia hay không nhưng rất dễ mẫn cảm với sự chậm chạpcủa thiết bị Như vậy, nếu chương trình gây chậm hệ thống thì không một nhà sảnxuất nào chấp nhận áp dụng Tuy nhiên, do yêu cầu của việc bảo mật nên các TiVithông minh không tránh khỏi việc phải áp dụng Làm sao để vừa đảm bảo được tínhnăng bảo mật, vừa không gây chậm hệ thống, lại vừa không ngốn tài nguyên Đứngtrước yêu cầu cấp thiết này, sự ra đời và phát triển của mật mã nhẹ là rất kịp thời vàđúng lúc Vừa đảm bảo được yếu tố bảo mật, vừa đảm bảo thêm các yếu tố về tàichính và hiệu suất

Trang 18

Trong thời gian sắp tới, nhiều thiết bị gia dụng sẽ tham gia mạng lưới nàygiống như một phần của công nghệ IoT Do đó, việc ta cần làm là làm sao để các thiết

bị này không bị truy cập trái phép, làm sao để sự riêng tư không bị xâm phạm? Đâycũng chính là điểm thuận lợi để có thể triển khai mật mã nhẹ trong thực tế, nhưngđồng thời cũng là thách thức vô cùng lớn

1.2.4 Bộ cảm biến nông nghiệp thông minh

Trong nông nghiệp, để có được sản phẩm năng suất và chất lượng cao, điềuquan trọng nhất là thời tiết phải ổn định và điều hòa Từ trước đến thời điểm hiện tại,phần lớn người nông dân ở nước ta vẫn đang canh tác dựa trên kinh nghiệm Nhữngnăm mưa thuận, gió hòa năng suất của người dân ở mức ổn định và đáp ứng được nhucầu sống Tuy nhiên, nước ta là nước nằm trong vành đai lửa thái bình dương nên sẽkhông tránh khỏi sự thất thường của thời tiết, từ việc lượng mưa và nắng thất thườngcho tới kiểu thời tiết khô hoặc bão Do đó mà cuộc sống của người nông dân bìnhthường đã ở mức thấp, thêm yếu tố phụ thuộc tự nhiên nên rất bấp bênh

Hiện nay, với sức mạnh của công nghệ thông tin, việc áp dụng công nghệ sẽ

điều hòa được “khí hậu” của vườn ươm và ruộng nuôi trồng Khi cần ánh sáng ta có

thể tăng sáng, khi cần nhiệt ta có thể thay đổi nhiệt độ … mà không phụ thuộc vàoyếu tố tự nhiên nữa

Để điều hòa thời tiết trong vườn, ruộng ta cần thu thập các thông tin về thờitiết ở địa điểm hiện tại để phân tích Độ chính xác của việc phân tích dữ liệu tăng lêncùng với độ phân giải của giám sát Vì vậy, tốt hơn là chia một nông trại lớn thànhcác phần và thu thập dữ liệu từ từng phần Nông dân có thể mong đợi các thiết bịgiám sát có thể vận hành với một lượng lao động nhỏ với chi phí thấp trong một thờigian dài Để đáp ứng nhu cầu này, việc sử dụng các mạng lưới cảm biến môi trườngđang dần dần lan rộng

Các cảm biến của các mạng như vậy có các yêu cầu sau [6]:

Trang 19

- Tự điều khiển,

- Quy mô nhỏ,

- Tiêu thụ điện năng thấp, và

- Được sử dụng với số lượng lớn

Đối với việc thu thập dữ liệu tốt, cần có nhiều bộ cảm biến, thuật toán trọnglượng nhẹ chi phí thấp phù hợp với mục đích này

Ngoài việc giám sát thời tiết, việc quan sát các chuyển động của vỏ trái đất cóthể góp phần dự đoán kịp thời các trận động đất, núi lửa phun trào và sạt lở đất Bộcảm biến phục vụ các mục đích này thường được lắp đặt tại các địa điểm không dễtiếp cận được bởi người dân hoặc nơi không có nguồn điện Hơn nữa, vì dữ liệu vềphòng ngừa thiên tai là rất quan trọng đối với an ninh của công dân, nên phải ngănchặn việc giả mạo, nghiêm trọng hơn nhiều so với nghe trộm Nếu dữ liệu bị giả mạothì có thể đưa ra cảnh báo sai Mật mã hóa nhẹ với xác thực là phù hợp để ngăn chặn

dữ liệu nhạy cảm không bị giả mạo

1.2.5 Cảm biến y tế

Khi một người nhập viện, một số loại cảm biến có thể gắn liền với bệnh nhân

để đo điện tâm đồ, huyết áp, mạch, đường trong máu, và nồng độ trong máu và oxy.Những cảm biến thường được kết nối với các đơn vị chính với cáp để mang dữ liệu

và nhận điện năng, mà ức chế chuyển động của bệnh nhân Bệnh nhân được phép rakhỏi bệnh viện có thể cần phải có các điều kiện theo dõi tại nhà và tại nơi làm việc vàcần phải có dụng cụ đo được cấy ghép vào cơ thể của họ Các thiết bị bên ngoài vànội bộ này được sử dụng để thường xuyên đo lường dữ liệu và xác định thời giandùng thuốc Thiết bị cấy ghép thường được để lại trong cơ thể trong một thời gian dài,

do đó nó phải có khả năng truyền dữ liệu mà không cần dây và chạy trên pin trongmột khoảng thời gian dài Ngay cả trong trường hợp các thiết bị gắn ngoài, kết nốikhông dây cung cấp sự tự do di chuyển đòi hỏi bộ cảm biến chạy trong thời gian dàitrên pin

Trang 20

Những cảm biến thu thập rất nhiều dữ liệu cá nhân phải được che giấu để bảođảm tính riêng tư của người dùng Hiện nay, đặc biệt trong lĩnh vực cảm biến cấyghép, các nhà nghiên cứu đang tiến hành nghiên cứu và phát triển quá trình thu nhỏcảm biến và các thiết bị (các thiết bị tính trên đơn vị nano mét đang được phát triển).

Do đó việc ta tích hợp mật mã cũng phải cải thiện để làm giảm chi phí nhưng vẫnđảm bảo được bảo mật và hiệu suất

Với sự tiến bộ của những năm gần đây đối với các thiết bị đeo, một khái niệmmới gọi là "mHealth" đã nổi lên, là thuật ngữ viết tắt của "Mobile Health" Thuật ngữnày hàm ý người dùng sẽ đeo thiết bị để thiết bị thu thập dữ liệu về sinh học ví dụnhư nhịp tim, hơi thở để đảm bảo sức khỏe của người đeo Dữ liệu được tích lũy hàngngày và có thể được nộp trong quá trình kiểm tra vật lý hoặc khám sức khoẻ tại bệnhviện Không chỉ dữ liệu sinh học mà cả các hoạt động tiến hành cải thiện sức khoẻcũng được ghi lại Ngày nay, các thiết bị quảng cáo y tế [6] thông thường như máy đobước chân có thể phát hiện thông tin cá nhân như vị trí của một người từ GPS tíchhợp sẵn

Tùy thuộc vào việc sử dụng của nó, truyền dẫn không dây có thể được yêu cầuđối với thiết bị liên tục thu thập dữ liệu được nhận, biên soạn và phân tích bởi cácthiết bị khác Vì những dữ liệu này rất cá nhân nên chúng phải được che giấu hoàntoàn để bảo vệ sự riêng tư của một người

1.3 Chiến lược thiết kế cho mật mã nhẹ

Mật mã nhẹ là một nhánh nghiên cứu khá trẻ, là sự giao thoa giữa các ngành

kỹ thuật điện, mật mã học và khoa học máy tính Nó tập trung vào việc nghiên cứu ranhững thiết kế mới, khả năng thích ứng và việc cài đặt hiệu quả Đứng trước tháchthức bởi sự vô cùng hạn chế về chi phí và mô hình tấn công mạnh mẽ, đặc biệt đángchú ý là khả năng tấn công bởi các tác nhân vật lý Như vậy, sự cải thiện và tăngcường bảo mật mật mã nhẹ là vô cùng cần thiết trong những mô hình tính toán phổbiến

Trang 21

Mỗi một chiến lược thiết kế mật mã nhẹ đều phải đối phó với sự đánh đổi giữabảo mật, chi phí và hiệu suất Đối với mã khối thì chiều dài khóa là sự đánh đổi lẫnnhau giữa độ bảo mật và chi phí Trong khi số lượng vòng là sự hoán đổi lẫn nhaugiữa độ bảo mật và hiệu suất Và kiến trúc phần cứng là sự hoán đổi giữa chi phí vàhiệu suất [10] Ta hãy xem hình 1.2 bên dưới:

Hình 1.2: Thiết kế sự hoán đổi các yếu tố trong mật mã nhẹ

Luôn luôn, chúng ta chỉ có thể đạt được hai trong số ba chiến lược trong khithiết kế Lựa chọn bảo mật tốt và chi phí thấp nhưng như vậy thì hiệu suất lại thấp.Lựa chọn bảo mật tốt và hiệu suất cao thì lúc này chi phí của ta buộc phải cao Haycuối cùng ta chọn chi phí thấp và hiệu suất cao thì sự bảo mật lại lỏng lẻo

Như vậy, chúng ta có ba hướng tiếp cận để tối ưu hóa một hệ mật khi xây dựngứng dụng [10]:

- (1) Tối ưu hóa chi phí cài đặt trên phần cứng theo chuẩn và thuật toán tintưởng

- (2) Sử đổi một chút theo một nghiên cứu tốt và mã tin tưởng

- (3) Thiết kế các mã mới để đạt được chi phí cài đặt phần cứng thấp theo yêu cầu thiết kế

Ngày nay, phần lớn mã khối được thiết kế chủ yếu với thuộc tính cài đặt phầnmềm tốt Và không cần quan tâm nhiều tới đặc điểm kỹ thuật của phần cứng Cáchtiếp cận này là đúng đắn vì phần lớn các thuật toán được cài đặt vào phần

Trang 22

mềm và chạy trên môi trường máy tính hoặc các thiết bị nhúng hay chạy trên cácthiết bị không tốn kém nhưng lại có hiệu suất rất cao Bây giờ, khi IoT phát triển, cácthiết bị phần cứng bị giới hạn rất nhiều nên những thuật toán này không còn phù hợpnữa Do vậy, với cách tiếp cận thứ nhất chúng ta phải tối ưu hóa chi phí cài đặt trêncác thiết bị phần cứng để làm sao những thuật toán cũ hoạt động hiệu quả.

Ý tưởng chính là sử dụng một thuật toán đã được chứng minh về độ mật vàđang được sử dụng Sau đó, ta sẽ tối ưu hóa việc cài đặt của hệ mật này trên phầncứng hoặc tạo ra biến thể của hệ mật [10] Các hướng bước của chiến lược này là:

- Sử dụng một cấu trúc phần cứng nối tiếp làm giảm sự phức tạp của cổng:Với ý tưởng đầu tiên, nếu chúng ta áp dụng với thuật toán DES, chúng ta phảiđạt được cài đặt nhỏ hơn 35% cổng so với AES (thuật toán được biết tới với sự hiệuquả cài đặt nhất)

Trong báo cáo về DES khi thực hiện cài đặt tối ưu hóa trên phần cứng, thông

số bề mặt phải hoán đổi cho thông lượng Việc thực hiện cũng yêu cầu khoảng 86%chu kỳ xung nhịp cho việc mã hóa một khối so với việc thực hiện AES tuần tự (1032chu kỳ so với 144) làm cho nó dễ dàng sử dụng hơn trong các giao thức chuẩn RFID.Tuy nhiên, bảo mật cung cấp bị giới hạn bởi các khóa 56-bit Do đó, việc thực hiệnnày chỉ nên áp dụng trong trường hợp cần an ninh ngắn hạn, hoặc khi các giá trị đượcbảo vệ tương đối thấp Tuy nhiên, chúng ta có thể tưởng tượng rằng trong một số ứngdụng chi phí thấp như vậy mức độ bảo mật là đủ

Với cách tiếp cận thứ hai: để có một mã nghiên cứu tốt, thì thiết kế của nócũng phải thực thi tốt với phần cứng có chi phí rẻ Một mã phổ biến nhưng lại đápứng được yêu cầu này là DES (như đã đề cập ở phần trên) DES được thiết kế nửađầu những năm 1970 và mục tiêu là cài đặt trên môi trường phần cứng Do đó, so vớitiêu chuẩn phần cứng ngày nay thì phần cứng những năm đó vô cùng hạn chế Đếnnhững năm 2000 thì thuật toán này không được áp dụng nhiều nữa do công nghệ phầncứng quá phát triển trên các thiết bị thời đó Tuy nhiên, từ khi khái niệm IoT ra đời,các thiết bị bị giới hạn đồng loạt bùng nổ thì thuật toán này lại tỏ ra hữu

Trang 23

ích một lần nữa Và vì thế, tuy DES không được sử dụng nhiều nữa trong các chươngtrình trên vi tính hay những chương trình trên các thiết bị có năng lượng tính toán vàdung lượng lớn nhưng nó lại có đóng góp không nhỏ đối với những thiết bị bị giớihạn nhiều mặt.

Hướng đi của ý tưởng này là:

- Tùy chọn áp dụng khóa trắng để làm cho các cuộc tấn công brute-force không thể

- Tùy chọn thay thế cho 8 S-Box ban đầu bởi một thành phần đơn giản hơn làm giảm hơn nữa mức độ phức tạp cổng

Trong trường hợp đầu vào cần phải có mức độ bảo mật cao vừa phải chúng tacần khóa trắng, với DES ta xác định ở đây như sau, kí hiệu là DESX:

Để tăng cường độ mạnh của hệ mật, khóa trắng có thể áp dụng với mật độDESXL Câu hỏi quan trọng là sức mạnh của DESL và DESXL là gì đối với các cuộctấn công phân tích Ta nhận thức rõ rằng bất kỳ thay đổi nào đối với mật mã đều cóthể mở ra cánh cửa để tấn công, ngay cả khi những thay đổi đã được thực hiện rất cẩnthận và kiểm tra chống lại các cuộc tấn công đã biết Tuy nhiên, trong từng trườnghợp cụ thể ta có thể lựa chọn để dùng

Cách tiếp cận thứ 3 là thiết kế các mã mới để đạt được độ bảo mật và hiệu suấtphù hợp nhưng lại có chi phí cực kỳ rẻ Cũng là lý do hàng loạt các hệ mật nhẹ

Trang 24

ra đời Trong luận văn này, tác giả sẽ trình bày chi tiết về hệ mật PRESENT, là một

mã mới được nghiên cứu bởi Bogdanov và các cộng sự của ông trong báo cáo [5]

1.4 Một số mật mã nhẹ

Trong những năm gần đây, số lượng và chất lượng mã nhẹ tăng lên rất đáng

kể Rất nhiều nhà mật mã học tại nhiều quốc gia bắt tay vào nghiên cứu Trong vàinăm trở lại đây nổi trội nhất là Nhật Bản và Mỹ Rất nhiều mã đang dần trở nên bổbiến như mã khối có: PRESENT, mCrypton, TEA, HIGHT, DESXL, AES … Và mãdòng có: Grain, Trivium, … Những mã này có độ mật tương đối tốt nhưng chi phí

cho phần cứng lại thấp hơn rất nhiều so với các mã “nặng” truyền thống Ta có thể

theo dõi bảng 1.1

Các thông số thống kê trên tham khảo từ bảng 1 của tài liệu [12] và bảng 2.8của tài liệu [13] Qua đó ta có thể thấy, các mã “nặng” truyền thống yêu cầu phầncứng lớn hơn rất nhiều so với các mã nhẹ Ngay từ đơn vị của dùng để tính đã làGbps và kGE còn mã nhẹ đơn vị sử dụng là Kbps và GE Ví dụ Keccack-1600 làthuật toán dùng để cài đặt SHA3 có thông lượng yêu cầu 22 Gbps và bề mặt là 48kGE, PRSENT-80 yêu cầu thông lượng là 11.4 Kbps và bề mặt là 1075 GE Như vậy,yêu cầu phần cứng của mã nhẹ thấp hơn rất nhiều so với các mã nặng

Trang 25

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 Từ đó, có thểdùng những thông tin này để đưa ra quyết định lựa chọn một hệ mật sao cho phù hợpvới thiết bị nhẹ của mình.

Bảng 1.2: Thông tin về yêu cầu phần cứng của một vài hệ mật nhẹ

Để có một cái nhìn trực quan hơn về các thông số thống kê được, tác giả xinđược liệt kê một vài đồ thị tham khảo từ tài liệu [6]

Hình 1.3: Đồ thị so sánh theo thông số bề mặt của một số hàm băm nhẹ

Trang 26

Hình 1.4: Đồ thị so sánh theo thông số thông lượng của một số hàm băm nhẹ

Hình 1.5: Đồ thị so sánh năng lượng sử dụng ở mức cao của một số hàm băm nhẹ

Trang 27

Hình 1.6: Đồ thị so sánh năng lượng sử dụng ở mức thấp của một số hàm băm nhẹ

Như vậy, thông qua dữ liệu đã được chứng minh về các mật mã nhẹ, ngườiquản lý hệ thống hay thiết bị có thể lựa chọn hệ mật phù hợp với công việc của mình.Cân đối giữa các yếu tố hiệu suất, yếu tố bảo mật và yếu tố chi phí Hình 1.3, 1.4, 1.5

và 1.6 biểu diễn so sánh theo các hướng thông số bề mặt, thông số thông lượng, thông

số năng lượng tiêu thụ ở mức cao, thông số thông lượng tiêu thụ ở mức thấp Từ đó,

ta có thể cân nhắc thêm với các yếu tố bảo mật để lựa chọn thiết bị cho phù hợp

Trang 28

Chương 2: HỆ MẬT PRESENT VÀ CẢI TIẾN S-BOX

2.1 Hệ mật PRESENT

Trong phần này, tác giả sẽ trình bày hiểu biết của mình về hệ mật PRESENT

[5] đã được công bố trong bài báo “Present: An Ultra-Lightweight Block Cipher”

của A Bogdanov và các cộng sự

Tác giả sẽ trình bày từ kế hoạch thiết kế cho tới việc thiết kế chi tiết hệ mật

này Đây cũng là cách tiếp cận thứ 3 đã được đề cập ở mục 1.3 (chiến lược thiết kế cho mật mã nhẹ) là thiết kế một hệ mật mới phù hợp với yêu cầu bảo mật của các

thiết bị bị giới hạn

2.1.1 Ý tưởng thiết kế

Mục tiêu khi Bogdanov và các cộng sự thiết kế PRESENT là muốn xây dựngmột hệ mật thật đơn giản nhưng hiệu quả Trong phần này, tác giả sẽ trình bày quyếtđịnh thiết kế của những nhà mật mã học ấy

Những ý tưởng ban đầu là thiết kế một mã khối phù hợp với các môi trườngcực kỳ hạn hẹp Cân nhắc tới đặc điểm này, các tác giả của bài báo thấy rằng AES đãđảm nhiệm rất tốt, do đó việc tạo ra một mã tương tự là điều không cần thiết Cuốicùng, nhóm Bogdanov đã đi đến quyết định, thiết kế mã mới và nhắm vào những đặcđiểm mà AES chưa đáp ứng được Những đặc điểm này là:

- Mã hóa sẽ được thực hiện trong phần cứng

- Các ứng dụng sẽ chỉ yêu cầu mức bảo mật vừa phải Do đó, khóa 80 bit là một khóa có độ dài phù hợp

- Các ứng dụng sẽ không yêu cầu mã hóa một lượng lớn dữ liệu Do đó, việcthực hiện cài đặt có thể đạt được tối ưu cho hiệu suất hoặc bề mặt mà không bị tácđộng bởi thực tế quá nhiều

- Trong một số triển khai cài đặt cụ thể, có thể khóa sẽ được cố định vào thờiđiểm sản xuất thiết bị Những trường hợp như vậy, ta sẽ không cần phải yêu cầu

Ngày đăng: 06/04/2019, 14:47

w