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

56 61 0
Luận văn Thạc sĩ: Hàm băm trong mật mã hạng nhẹ

Đ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

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ác nội dung như sau: Chương 1 - Tổng quan về mật mã nhẹ, trong chương này, tác giả giới thiệu một cách tổng quan nhất về mật mã nhẹ, các khái niệm cơ bản, động lực thúc đẩy mật mã nhẹ phát triển; 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ải tiến; chương 3 - Hàm băm nhẹ; 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ông minh nền tảng Android.

Trang |i LỜI CẢM ƠN Trước tiên, xin gửi lời cảm ơn sâu sắc đến thầy TS Lê Phê Đô 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áp nghiên cứu khoa học cho tôi, đồng thời cung cấp nhiều tài liệu tạo điều kiện thuận lợi suốt trình học tập nghiên cứu để tơi hồn thành luận văn Tơi xin gửi lời cảm ơn đến thầy, cô môn Hệ thống thông tin 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 truyền đạt kiến thức, kinh nghiệm quý giá suốt thời gian học tập trường Tôi xin gửi lời cảm ơn đến bạn học viên lớp K22-QLHTTT, người đồng hành suốt khóa học có nhiều góp ý bổ ích cho tơi Cảm ơn gia đình, bạn bè quan tâm động viên giúp tơi có nghị lực phấn đấu để hồn thành tốt luận văn Do kiến thức thời gian có hạn nên luận văn chắn khơng tránh khỏi thiếu sót định Một lần xin gửi lời cảm ơn chân thành sâu sắc Hà Nội, tháng 12 năm 2017 Học viên thực Nguyễn Khắc Hưng T r a n g | ii LỜI CAM ĐOAN Luận văn thạc sĩ đánh dấu cho thành quả, kiến thức tiếp thu suốt q trình rèn luyện, học tập trường Tơi xin cam đoan luận văn “Hàm băm mật mã hạng nhẹ” hồn thành q trình học tập nghiên cứu hướng dẫn TS Lê Phê Đơ TS Phùng Văn Ổn Trong tồn nội dung nghiên cứu luận văn, vấn đề trình bày tìm hiểu nghiên cứu cá nhân tơi trích dẫn nguồn tài liệu đưa phần tài liệu tham khảo Tôi xin cam đoan lời thật chịu trách nhiệm trước thầy cô 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 T r a n g | iii 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 IoT Internet of Things Internet kết nối vạn vật HMAC Hash-based Message Hàm băm dựa vào mã xác Authentication Code thực thơng điệp MD Message-Digest Tóm lược thông điệp MD5 Message-Digest Algorithm Hàm băm MD5 SHA Secure Hash Algorithm Thuật tốn băm an tồn RFID Radio Frequency Identification Nhận dạng đối tượng sóng vơ tuyến NFC Near Field Communication Kết nối không dây phạm vi tầm ngắn DES Data Encryption Standard Chuẩn mã hóa liệu/ Hệ mật DES T r a n g | iv DANH MỤC BẢNG Bảng 1.1: Một số hệ mật nhẹ số hệ mật “nặng” truyền thống 16 Bảng 1.2: Thông tin yêu cầu phần cứng vài hệ mật nhẹ 17 Bảng 2.1: Hộp S-Box bit hệ mật PRESENT hệ thập lục phân 23 Bảng 2.2: Hoán vị bit sử dụng PRESENT 24 Bảng 2.3: Hộp S-Box bit nghịch đảo hệ mật PRESENT hệ thập lục phân 25 Bảng 2.4: Nghịch đảo việc hoán vị bit hệ mật PRESENT 25 Bảng 2.5: S-Box vị trí thành phần S-Box 28 Bảng 2.6: S-Box sau thực q 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 |v DANH MỤC HÌNH ẢNH Hình 1.1: Cấu trúc thiết bị RFID Hình 1.2: Thiết kế hoán đổi yếu tố mật mã nhẹ 13 Hình 1.3: Đồ thị so sánh theo thông số bề 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 số hàm băm nhẹ 18 Hình 1.5: Đồ thị so sánh lượng sử dụng mức cao số hàm băm nhẹ 18 Hình 1.6: Đồ thị so sánh lượng sử dụng mức thấp số hàm băm nhẹ 19 Hình 2.1: Quy trình mã hóa PRESENT 22 Hình 2.2: Tính tốn khóa cho PRESENT-80 26 Hình 2.3: Tính tố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 hàm băm PRESENT theo cấu trúc Davies Mayer với đầu vào 64 bit khóa 80 bit 36 Hình 3.5: Cấu trúc Merkle Damgard 36 Hình 3.6: Sơ đồ hàm băm hệ mật PRESENT theo công thức DaviesMayer cấu trúc Merkle Damgard 38 Hình 4.1: Sử dụng Jni cầu nối để gọi qua lại Java C/C++ 41 Hình 4.2: Cài đặt chương trình bảo mật hàm PRESENT 42 Hình 4.3: Cài đặt chương trình bảo mật hàm PRESENT 42 Hình 4.4: Sơ đồ phần mật chương trình bom báo 43 T r a n g | vi MỤC LỤC DANH MỤC TỪ VIẾT TẮT iii DANH MỤC BẢNG iv DANH MỤC HÌNH ẢNH v MỞ ĐẦU Chương 1: TỔNG QUAN VỀ MẬT MÃ NHẸ 1.1 Mật mã nhẹ 1.1.1 Khái niệm mật mã nhẹ 1.1.2 Đặc điểm mật mã nhẹ 1.2 Động lực thúc đẩy mật mã nhẹ phát triển 1.2.1 Internet kết nối vạn vật 1.2.2 Công nghệ nhận dạng tần số sóng vơ tuyến (RFID) 1.2.3 Thiết bị gia dụng điện TiVi thông minh 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 tốn khóa 25 2.2 Cải tiến S-Box 28 T r a n g | vii 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 hàm băm nhẹ 30 3.1.2 Động lực phát triển hàm băm nhẹ 30 3.2 Ứng dụng hàm băm nhẹ 31 3.3 Thách thức hàm băm nhẹ 33 3.4 Một số hàm băm nhẹ 33 3.5 Hàm Băm 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 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 |0 Trang |1 MỞ ĐẦU Cơ sở khoa học thực tiễn đề tài: Ngày nay, dễ dàng bắt gặp thuật ngữ IoT nơi Thuật ngữ viết tắt cụm từ “Internet of Things”, ám vật kết nối internet có khả trao đổi liệu IoT năm gần phổ biến, phổ biến đến mức thêm vào từ điển Oxford [14] dạng danh từ Đặc điểm chung thiết bị kích thước nhỏ gọn lượng tiêu thụ thấp Ví dụ thiết bị cảm biến môi trường, cảm biến y tế … Phần lớn thiết bị IoT gặp phải vấn đề bảo mật, để thông tin không bị sửa đổi trao đổi liệu, để thông tin không bị đánh cắp …? Trong năm 2004, thuật ngữ “Lightweight cryptography” đưa thảo luận nhiều hội nghị cuối đem vào sử dụng thực tế[6] Thuật ngữ ám hệ mật “nhẹ” có khả cài đặt thiết bị bị giới hạn lượng tiêu thụ khả lưu trữ Như vậy, mật mã nhẹ phù hợp để áp dụng vào bảo mật cho thiết bị IoT Do đó, việc phát triển nhanh mạnh internet of things động lực để thúc đẩy mật mã nhẹ phát triển Từ khái niệm mật mã nhẹ đưa vào sử dụng mật mã nhẹ phát triển nhanh mạnh Thể số lượng chất lượng cơng trình nghiên cứu Trong luận văn này, tác giả nghiên cứu mật mã nhẹ sâu vào nhánh hàm băm Bên cạnh đó, tác giả trình bày đề xuất cải tiến hệ mật mình, cải tiến S-Box Đề xuất in hội thảo Quốc Gia lần thứ XX, phần báo: “Cải tiến mã khối hạng nhẹ họ LED Neokeon” Với cải tiến này, chương trình cài đặt theo hướng tối ưu hóa mặt thời gian cải tiến khơng làm tăng chi phí lại tăng độ mật thuật toán IoT phát triển lợi lớn cho mật mã nhẹ Tuy nhiên, đồng thời thách thức không nhỏ dành cho ngành nghiên cứu Làm để độ bảo Trang |2 mật phù hợp? Làm để lượng tiêu thụ thấp? Làm để không gian lưu trữ nhỏ? Nội dung đề tài vấn đề cần giải quyết: Hướng nghiên cứu - Nghiên cứu cách tổng quan mật mã nhẹ - Đi sâu nghiên cứu nhánh nhỏ mật mã nhẹ hàm băm - Cải tiến S-Box, nâng cao hiệu bảo mật không làm phát sinh thêm chi phí - Xây dựng ứng dụng xác thực mật chương trình điện thoại thơng minh Nội dung nghiên cứu Ngồi phần mở đầu kết luận, luận văn trình bày theo chương với nội dung sau: Chương 1: Tổng quan mật mã nhẹ Trong chương này, tác giả giới thiệu cách tổng quan mật mã nhẹ, khái niệm bản, động lực thúc đẩy mật mã nhẹ phát triển Sau giới thiệu tổng quan mật mã nhẹ, tác giả trình bày hệ mật PRESENT Phần tiền đề để tác giả trình bày hàm băm tương ứng chương 2, hàm băm nhẹ Chương 2: Hệ mật PRESENT số cải tiến Noekeon, LED Tác giả trình bày tìm hiểu hệ mật PRESENT số cải tiến Trong đó, tác giả đề xuất phương án cải tiến S-Box bit mà LED sử dụng Với cải tiến này, ta áp dụng cho tất hệ mật khác sử dụng S-Box nói chung S-Box bit nói riêng Chương 3: Hàm băm nhẹ T r a n g | 34 SPONGENT 80 280 240 240 0.13 µm 738/1127 0.81/17.78 1.57/2.31 Bảng 3.1: Một số hàm băm nhẹ Thông qua bảng 3.1 (các thông sô tham khảo từ tài liệu [8]) ta thấy số hàm băm nhẹ thơng số kèm Dễ thấy, hàm băm có độ bảo mật thể qua thơng số “cryptographic properties” Ví dụ với hệ mật Armadillo, khối băm 80 bit thơng số preimage second preimage 280 collission 240 Kế đến, ta tham khảo thông số bề mặt thông lượng hàm tương ứng 4030/2923 GE 109/27 Kb/s 100 kHz để biết yêu cầu cài đặt không lớn việc áp dụng vào thiết bị IoT khả thi 3.5 Hàm Băm hệ mật PRESENT Có nhiều lựa chọn để xây dựng hàm băm 64 bit từ mã khối 64 bit Trong phần này, tìm hiểu dựa cơng thức Davies-Mayer Trong vài tài liệu lấy tiền tố DM- đặt trước hàm PRESENT gọi DM-PRESENT ám hàm băm hệ mật PRESENT sử dụng Davies-Mayer Cơng thức tính tốn là: H = E (Hi, M)  Hi Trong H chuỗi băm đầu ra, E hàm mã hóa, Hi chuỗi đầu vào, khóa Trong phần này, tác giả trình bày tìm hiểu DMPRESENT-80, tức hàm băm hệ mật PRESENT với khóa 80 bit Hàm băm với khóa 128 bit tương tự Qua hình 3.3 ta thấy chuỗi đầu vào khóa qua khối “Block cipher encryption” qua PRESENT để thực q trình mã hóa Kết thu ta tiếp tục đem XOR với chuỗi đầu vào để thu chuỗi băm T r a n g | 35 Hình 3.3 cho thấy nhìn trực quan kiến trúc hàm băm hệ mật PRESENT theo cấu trúc Davies Mayer Đầu vào 64 bit, khóa 80 bit đầu 64 bit Hình 3.3: Cấu trúc băm sử dụng cơng thức Davies-Mayer Để có nhìn trực quan kiến trúc băm hàm băm PRESENT, ta theo dõi hình 3.4: Kiến trúc hàm băm PRESENT theo cấu trúc Davies Mayer với đầu vào 64 bit khóa 80 bit hình 3.6 Sơ đồ hàm băm hệ mật PRESENT theo công thức DaviesMayer cấu trúc Merkle Damgard Trong trường hợp đầu vào có kích thước nhỏ 64 bit, ta phải thực thao tác nối chiều dài vào đầu vào cho kích thước khối sau 64 bit Giả sử thơng điệp H có chiều dài len(H) < 64 ta thực thêm bit vào sau chuỗi 64 – – len (H) bit sau bit vừa thêm vào T r a n g | 36 Hình 3.4: Kiến trúc hàm băm PRESENT theo cấu trúc Davies Mayer với đầu vào 64 bit khóa 80 bit Trong trường hợp đầu vào có kích thước lớn 64 bit, ta phải sử dụng thêm cấu trúc phổ biến Merkle Damgard để tóm tắt thơng điệp Hình 3.5: Cấu trúc Merkle Damgard Qua hình 3.5 ta thấy, thông điệp đầu vào chia thành thông điệp nhỏ có chiều dài 64 bit Nếu thơng điệp cuối có chiều dài nhỏ 64 bit gắn thêm chuỗi bit vào đằng sau trường hợp phía bên IV vector khởi tạo, khóa người dùng cung cấp Sau vòng mã hóa đầu tiên, IV cập nhật 64 bit đầu gắn liền phía sau 16 bit cuối khóa Cứ thực băm đến hết chiều dài chuỗi đầu vào, ta thu chuỗi băm đầu có kích thước 64 bit Ví dụ: Băm chuỗi x = “NguyenKhacHung” T r a n g | 37 DM-PRESENT (x) = 0011 0001 0011 1111 1000 1001 1010 0011 0101 0111 1011 1000 0100 1011 1001 1110 Trong hệ thập lục phân DM-PRESENT (x) = 313f89a357b84b9e Với hàm PRESENT 80 bit khóa, khối 64 bit số vòng khối 32 Cài đặt phần cứng tính tốn là: thơng lượng: 200 Kbps 100KHz, sử dụng công nghệ 0.18 micromet số vòng đạt 1570 [5] Như hàm PRESENT thuận lợi để cài đặt phần cứng thiết bị IoT bị giới hạn nhiều lượng tiêu thụ khả lưu trữ Với độ bảo mật đại diện preimage second preimage hàm nén PRESENT 264 việc áp dụng hàm vào thực tế khả thi T r a n g | 38 Hình 3.6: Sơ đồ hàm băm hệ mật PRESENT theo công thức DaviesMayer cấu trúc Merkle Damgard T r a n g | 39 Chương 4: THỰC NGHIỆM Ở chương 4, tác giả tiến hành cài đặt thuật toán băm PRESENT theo cấu trúc Merkle Damgard sau ứng dụng vào xác thực mật app di động tảng Android 4.1 Mục đích thực nghiệm Cài đặt ứng dụng chương trình băm PRESENT vào app di động Tương lai áp dụng vào thiết bị bị giới hạn lượng tiêu thụ khả lưu trữ Arduino 4.2 Tiến hành thực nghiệm 4.2.1 Xây dựng chương trình băm PRESENT Chương trình PRESENT bao gồm pha tính tốn khóa, addRoundKey, … mã nguồn bên Chương trình tham khảo [15] Ngồi ra, trang lightweightcrypto.org chứa mã nguồn khác PRESENT theo hướng cài đặt tối ưu phần cứng với khóa 64 bit, 128 bit (có mã nguồn bổ sung S-Box bit) // ****************************************************************************** for(int round=0;round>60; //S-Box keyhigh &= 0x0FFFFFFFFFFFFFFF; temp = sBox4[temp]; keyhigh |= temp

Ngày đăng: 18/01/2020, 14:41

Tài liệu cùng người dùng

Tài liệu liên quan