Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 56 trang
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
Nội dung
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 q trình học tập nghiên cứu để tơi hồn thành luậnvă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ậnvăn Do kiến thức thời gian có hạn nên luậnvă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ậnvănthạcsĩ đánh dấu cho thành quả, kiến thức tiếp thu suốt trình rèn luyện, học tập trường Tơi xin cam đoan luậnvăn “Hàm bămmậtmã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ậnvănthạcsĩ 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 Authentication Code Hàmbăm dựa vào mã xác thực thơng điệp MD Message-Digest Tóm lược thơng điệp MD5 Message-Digest Algorithm Hàmbă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ậtnhẹ 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ậtnhẹ 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àmbămnhẹ 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ậtmãnhẹ 13 Hình 1.3: Đồ thị so sánh theo thông số bề mặt số hàmbămnhẹ 17 Hình 1.4: Đồ thị so sánh theo thông số thông lượng số hàmbămnhẹ 18 Hình 1.5: Đồ thị so sánh lượng sử dụng mức cao số hàmbămnhẹ 18 Hình 1.6: Đồ thị so sánh lượng sử dụng mức thấp số hàmbămnhẹ 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àmbă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àmbă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ậthàm PRESENT 42 Hình 4.3: Cài đặt chương trình bảo mậthà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ẬTMÃNHẸ 1.1 Mậtmãnhẹ 1.1.1 Khái niệm mậtmãnhẹ 1.1.2 Đặc điểm mậtmãnhẹ 1.2 Động lực thúc đẩy mậtmã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ậtmãnhẹ 12 1.4 Một số mậtmã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 Q 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ÀMBĂMNHẸ 30 3.1 Khái niệm 30 3.1.1 Các yêu cầu hàmbămnhẹ 30 3.1.2 Động lực phát triển hàmbămnhẹ 30 3.2 Ứng dụng hàmbămnhẹ 31 3.3 Thách thức hàmbămnhẹ 33 3.4 Một số hàmbămnhẹ 33 3.5 HàmBă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ậtmã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ậtmãnhẹ phát triển Từ khái niệm mậtmãnhẹ đưa vào sử dụng mậtmãnhẹ phát triển nhanh mạnh Thể số lượng chất lượng cơng trình nghiên cứu Trongluậnvăn này, tác giả nghiên cứu mậtmãnhẹ sâu vào nhánh hàmbă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ạngnhẹ 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ậtmã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ậtmãnhẹ - Đi sâu nghiên cứu nhánh nhỏ mậtmãnhẹhàmbă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ậnvăn trình bày theo chương với nội dung sau: Chương 1: Tổng quan mậtmãnhẹTrong chương này, tác giả giới thiệu cách tổng quan mậtmã nhẹ, khái niệm bản, động lực thúc đẩy mậtmãnhẹ phát triển Sau giới thiệu tổng quan mậtmã nhẹ, tác giả trình bày hệ mật PRESENT Phần tiền đề để tác giả trình bày hàmbăm tương ứng chương 2, hàmbămnhẹ 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àmbămnhẹ 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àmbămnhẹ 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àmbămnhẹ thông số kèm Dễ thấy, hàmbă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 80 40 collission 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 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àmBăm hệ mật PRESENT Có nhiều lựa chọn để xây dựng hàmbă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àmbă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àmmã 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àmbăm hệ mật PRESENT với khóa 80 bit Hàmbă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àmbă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ămhàmbăm PRESENT, ta theo dõi hình 3.4: Kiến trúc hàmbă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àmbă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àmbă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àmbă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 SBox bit) // ****************************************************************************** for(int round=0;round>60; //S-Box keyhigh &= 0x0FFFFFFFFFFFFFFF; temp = sBox4[temp]; keyhigh |= temp