1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Hàm băm trong mật mã hạng nhẹ luận văn ths công nghệ thông tin

54 232 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 54
Dung lượng 2,15 MB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN KHẮC HƢNG HÀM BĂM TRONG MẬT HẠNG NHẸ LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội - 2017 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN KHẮC HƢNG HÀM BĂM TRONG MẬT HẠNG NHẸ Ngành: Công nghệ thông tin Chuyên ngành: Quản lý hệ thống thông tin số: Chuyên ngành thí điểm LUẬN VĂN THẠC SĨ CƠNG NGHỆ THƠNG TIN GIẢNG VIÊN HƢỚNG DẪN KHOA HỌC: TS LÊ PHÊ ĐÔ TS PHÙNG VĂN ỔN Hà Nội - 2017 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ậ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 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 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 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 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 toà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 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 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 Hash-based Message Hàm băm dựa vào 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 toán băm an toàn RFID Radio Frequency Identification NFC Near Field Communication DES Data Encryption Standard HMAC Nhận dạng đối tượng sóng vơ tuyến Kết nối khơng dây phạm vi tầm ngắn Chuẩn hóa liệu/ Hệ mật DES 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ẹ 16 Bảng 2.1: Một số hàm băm nhẹ 24 Bảng 2.2: Hộp S-Box bit hệ mật PRESENT hệ thập lục phân 28 Bảng 2.3: Hoán vị bit sử dụng PRESENT .28 Bảng 2.4: Hộp S-Box bit nghịch đảo hệ mật PRESENT hệ thập lục phân 29 Bảng 2.5: Nghịch đảo việc hoán vị bit hệ mật PRESENT 30 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 nhẹ 12 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ẹ .17 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ẹ 18 Hình 2.1: Tạo chữ ký điện tử 22 Hình 2.2: Xác thực chữ ký điện tử 23 Hình 2.3: Quy trình hóa PRESENT 26 Hình 2.4: Tính tốn khóa cho PRESENT-80 31 Hình 2.5: Tính tốn khóa cho PRESENT-128 32 Hình 2.6: Cấu trúc băm sử dụng cơng thức Davies-Mayer .33 Hình 2.7: Sơ đồ hàm băm hệ mật PRESENT theo công thức DaviesMayer cấu trúc Merkle Damgard 34 Hình 2.8: 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 35 Hình 2.9: Cấu trúc Merkle Damgard 35 Hình 3.1: Sử dụng Jni làm cầu nối để gọi qua lại Java C/C++ 39 Hình 3.2: Ứng dụng Bom Báo chức bảo vệ 40 Hình 3.3: Chức khóa ứng dụng Bom Báo 41 Hình 3.4: Sơ đồ phần mật chương trình Bom Báo 43 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 NHẸ 1.1 Mật nhẹ 1.1.1 Khái niệm mật nhẹ 1.1.2 Đặc điểm mật nhẹ 1.2 Động lực thúc đẩy mật 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 1.2.5 Cảm biến y tế 10 1.3 Chiến lược thiết kế cho mật nhẹ 11 1.4 Một số mật nhẹ 15 Chương 2: HÀM BĂM NHẸ 20 2.1 Khái niệm 20 2.1.1 Các yêu cầu hàm băm nhẹ 20 2.1.2 Động lực phát triển hàm băm nhẹ 20 vii 2.2 Ứng dụng hàm băm nhẹ 21 2.3 Thách thức hàm băm nhẹ 23 2.4 Một số hàm băm nhẹ 23 2.5 Hàm băm hệ mật PRESENT 24 2.5.1 Hệ mật PRESENT 24 2.5.2 Hàm Băm hệ mật PRESENT 32 Chương 3: THỰC NGHIỆM 37 3.1 Mục đích thực nghiệm 37 3.2 Tiến hành thực nghiệm 37 3.2.1 Xây dựng chương trình băm PRESENT 37 3.2.2 Tích hợp vào app di động 39 3.3 Kết thực nghiệm 39 KẾT LUẬN 44 TÀI LIỆU THAM KHẢO 45 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”, để vật kết nối internet có khả trao đổi liệu IoT năm gần phổ biến, năm 2017 thêm vào từ điển Oxford [11] dạng danh từ Đặc điểm chung thiết bị IoT kích thước nhỏ gọn lượng tiêu thụ thấp Ví dụ: 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 Trong năm 2004, thuật ngữ “Lightweight cryptography” đưa thảo luận nhiều hội nghị Thuật ngữ dùng để 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 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 nhẹ phát triển Bên cạnh IoT, có nhiều thiết bị bị giới hạn cần đến bảo mật ví dụ thiết bị lĩnh vực quân sự, y tế, nông nghiệp … Nên tiềm mật nhẹ lớn Trong luận văn mình, tác giả trình bày nghiên cứu mật nhẹ sâu vào nhánh hàm băm nhẹ Ngồi ra, tác giả trình bày tìm hiểu hệ mật cụ thể PRESENT hàm băm tương ứng theo công thức Davies Mayer cấu trúc Merkle Damgard 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 nhẹ - Đi sâu nghiên cứu nhánh nhỏ mật nhẹ hàm băm - Nghiên cứu hệ mật cụ thể PRESENT hàm băm tương ứng theo cơng thức Davies Mayer 31 Hình 2.4: Tính tốn khóa cho PRESENT-80 Ta dễ dàng thấy, 61 bit phía bên trái dịch 19 bit bên phải, 19 bit phía bên phải dịch 61 bit phía bên trái Sau bit ngồi phía bên trái qua S-Box Và bit k19k18k17k16k15 sau phép dịch bit K XOR trực tiếp với vòng Để trực quan hơn, hình 2.4 mơ tả rõ dịch chuyển Tính tốn khóa cho PRESENT-128 Tính tốn khóa cho 128 bit tương tự khóa 80 bit Ban đầu, khóa người dùng cung cấp lưu trữ lại, ký hiệu K và biểu diễn dạng k127k126 … k0 Tại vòng thứ i vòng khóa 64 bit Ki = κ63κ62 … κ0 bao gồm 64 bit trái khóa lưu trữ Vì thế, vòng thứ i ta có: Ki = κ63κ62 … κ0 = k127k126 … k64 Sau tách vòng khóa Ki, khóa đăng ký K = k127k126 … k0 cập nhật sau: [k127k126 … k1k0] = [k66k65 … k68k67] [k127k126k125k124] = S[k127k126k125k124] [k123k122k121k120] = S[k123k122k121k120] [k66k65k64 k63k62] = [k66k65k64 k63k62]  round_counter 32 Hình 2.5: Tính tốn khóa cho PRESENT-128 Ta dễ dàng thấy, 61 bit phía bên trái dịch 67 bit bên phải, 67 bit phía bên phải dịch 61 bit phía bên trái Sau ta có cặp bit bit ngồi phía bên trái qua S-Box Và bit k66k65k64k63k62 sau phép dịch bit K XOR trực tiếp với vòng Để trực quan hơn, hình 2.5 mô tả rõ dịch chuyển 2.5.2 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ừ 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à: = E (Hi, M)  Hi Trong chuỗi băm đầu ra, E hà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ự 33 Qua hình 2.6 ta thấy chuỗi đầu vào khóa qua khối “Block cipher encryption” qua PRESENT để thực q trình hóa Kết thu ta tiếp tục đem XOR với chuỗi đầu vào để thu chuỗi băm Hình 2.6 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 2.6: 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 2.7: Sơ đồ hàm băm hệ mật PRESENT theo công thức DaviesMayer cấu trúc Merkle Damgard hình 2.8: 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 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 64 bit Trong sơ đồ hình 2.7 ta có hàm Append () thực thao tác nối chuỗi 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 34 Hình 2.7: Sơ đồ hàm băm hệ mật PRESENT theo công thức DaviesMayer cấu trúc Merkle Damgard 35 Hình 2.8: 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 2.9: Cấu trúc Merkle Damgard Qua hình 2.9 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 hóa đầu tiên, IV cập nhật 64 bit đầu gắn liền phía sau 16 36 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” 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 [1] 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 37 Chƣơng 3: 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 3.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 3.2 Tiến hành thực nghiệm 3.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, … nguồn bên Chương trình tham khảo [12] Ngồi ra, trang lightweightcrypto.org chứa 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ó 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: 07/03/2018, 09:35

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w