ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN MINH PHÚ THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT Chuyên ngành: Kỹ Thuật Điện Tử Mã số: 8520203 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng năm 2021 THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT Cơng trình hồn thành tại: Trường Đại học Bách Khoa – ĐHQG-HCM Cán hướng dẫn khoa học: PGS TS Hoàng Trang (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét 1: TS Nguyễn Minh Sơn (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét 2: TS Bùi Trọng Tú (Ghi rõ họ, tên, học hàm, học vị chữ ký) Luận văn thạc sĩ bảo vệ Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 28 tháng 01 năm 2021 Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị Hội đồng chấm bảo vệ luận văn thạc sĩ) PGS.TS Hà Hoàng Kha Chủ tịch hội đồng TS Nguyễn Minh Sơn Phản biện TS Bùi Trọng Tú Phản biện TS Nguyễn Lý Thiên Trường Thư ký TS Trương Quang Vinh Ủy viên Xác nhận Chủ tịch Hội đồng đánh giá LV Trưởng Khoa quản lý chuyên ngành sau luận văn sửa chữa (nếu có) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA ĐIỆN – ĐIỆN TỬ PGS.TS Hà Hoàng Kha …………………………………………………… I THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên : Nguyễn Minh Phú Ngày, tháng, năm sinh : 26/10/1996 Chuyên ngành : Kỹ Thuật Điện Tử MSHV: 1970051 Nơi sinh: Quảng Nam Mã số: 8520203 I TÊN ĐỀ TÀI: THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT NHIỆM VỤ VÀ NỘI DUNG: Nhiệm vụ Nhiệm vụ 1: Khảo sát cơng trình nghiên cứu liên quan Nhiệm vụ : Nghiên cứu so sánh phương pháp bảo mật an toàn liệu Nhiệm vụ : Nghiên cứu lổ hổng bảo mật cơng trình nghiên cứu trước Nội dung Mục tiêu: Thu thập thông tin thiết kế USB bảo mật liệu bao gồm phương pháp xác thực, phương pháp lưu trữ, phương pháp mã hóa, phương pháp giao tiếp phần mềm phần cứng, tốc độ xử lý, lõi điều khiển, chi phí cho sản phẩm, độ phức tạp thiết kế Kết dự kiến: Tập hợp cơng trình nghiên cứu cơng bố có liên quan đến đề tài Cơng việc thực hiện: Tìm tài liệu thông qua thư viện, internet tiến hành phân tích để lọc tài liệu cần thiết Mục tiêu: So sánh phương pháp bảo mật an tồn liệu dựa tiêu chí tam giác CIA (CIA triad): tính bí mật, tính tồn vẹn tính sẵn sàng liệu u cầu thiết kế đại, quan phủ đề xuất đánh giá cao Kết dự kiến: Tập hợp cơng trình nghiên cứu cơng bố có liên quan đến đề tài, tìm hiểu tiêu chuẩn quốc tế tổ chức phủ NIST, TCVN… Cơng việc thực hiện: Tìm tài liệu thông qua thư viện, internet tiến hành thảo luận nhóm để lọc tài liệu cần thiết Mục tiêu: Chứng nghiên cứu trước chưa thực bảo mật cách phương pháp khai thác liệu nghiên cứu Kết dự kiến: Tập hợp cơng trình nghiên cứu cơng bố có liên quan đến đề tài, thực thủ thuật để truy cập liệu vào hệ thống nghiên cứu trước Cơng việc thực hiện: Tìm nghiên cứu thiết bị USB bảo mật, thực phương pháp để lấy liệu từ thiết bị II THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT Nhiệm vụ : Xây dựng mơ hình nhớ Nhiệm vụ : Thiết kế lõi IP giao tiếp với nhớ Nhiệm vụ : Thiết kế lõi IP giao tiếp USB với máy tính Nhiệm vụ : Thiết kế IP mã hóa liệu Nhiệm vụ : Thiết kế khối điều khiển IP Mục tiêu: Xây dựng mơ hình nhớ Samsung Nand Flash K9F1G08X0C có dung lượng GB ngôn ngữ Verilog HDL Kết dự kiến: Mơ hình nhớ Samsung Nand Flash K9F1G08X0C dung lượng 1GB, thực đầy đủ nhiệm vụ: đọc, ghi, xóa theo hành vi tài liệu hãng Tên thiết kế: MNDF Cơng việc thực hiện: Tìm tài liệu mô tả hành vi nhớ Samsung Nand Flash K9F1G08X0C, dùng ngơn ngữ Verilog để mơ hình hóa Nand Flash Sau xây dựng mơi trường để kiểm định mơ hình Mục tiêu: Thiết kế lõi IP giao tiếp với nhớ Samsung Nand Flash K9F1G08X0C ngôn ngữ Verilog HDL Kết dự kiến: Lõi IP NFIF giao tiếp với nhớ Samsung Nand Flash K9F1G08X0C gồm có nhiệm vụ: ghi, đọc xóa liệu nhớ Cơng việc thực hiện: Phân tích kiến trúc nhớ nội dung 4, tìm hiểu giao thức giao tiếp, thiết kế lõi IP chuyển từ yêu cầu giao tiếp dạng lệnh sang yêu cầu giao tiếp dạng vật lý – điều mà nhớ hiểu Mục tiêu: Thiết kế lõi IP kết hợp với module CP2112 để thực giao tiếp với máy tính qua giao thức USB Kết dự kiến: Lõi IP I2C giao tiếp với ngõ module CP2112, module CP2112 chuyển từ USB sang I2C Công việc thực hiện: Phân tích gói tin từ máy tính gửi qua cổng USB, từ giải mã gói tin đó, tìm nội dung nhiệm vụ liệu cần đọc/ghi Từ thiết kế phần cứng có nhiệm vụ slave/device để nhận/truyền liệu có tín hiệu từ master/host Mục tiêu: Thiết kế lõi IP thực mã hóa AES 128-bit để mã hóa liệu lưu trữ Tên lõi IP: AES128 Kết dự kiến: IP mã hóa liệu AES-128 bit có kiến trúc đường ống (pipeline), 40 clock cho mã hóa 128-bit, chuỗi liệu thiết mã hóa theo dạng CTR Cơng việc thực hiện: Tìm hiểu thuật tốn mã hóa AES, liệt kê bước thuật tốn dạng cơng việc mà phần cứng thực Cuối cùng, chuyển bước liệt kê sang ngôn ngữ mô tả phần cứng Mục tiêu: Kết nối lõi IP thiết kế lại với thông qua bus giao tiếp Các luồng liệu điều khiển giao tiếp module có tên gọi SYSCON Kết dự kiến: Khối SYSCON điều khiển luồng liệu chạy IP thiết kế Công việc thực hiện: Phân chia trình tự thực cho lõi IP, xếp IP theo thứ tự thích hợp cho luồng chạy liệu, điều khiển tín hiệu đầu vào cho IP, lái tín hiệu đầu từ IP đến IP khác để đạt mục đích đề tài III THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT Nhiệm vụ : Kiểm định thiết kế Nhiệm vụ 10 : Viết ứng dụng người dùng máy tính Mục tiêu: Kiểm định bước thiết kế có hoạt động mong đợi Kết dự kiến: Môi trường kiểm định, testcase đảm bảo u cầu mã hóa Cơng việc thực hiện: Xây dựng môi trường kiểm định việc đưa ngõ vào giám sát ngõ ra, viết testcase để kiểm tra thiết kế Mục tiêu: Viết ứng dụng máy tính để người dùng giao tiếp với thiết bị Kết dự kiến: Ứng dụng ANSOFT cho phép người dùng thực thao tác: xác thực người dùng, nhập mật khẩu, yêu cầu đọc/ghi/xóa liệu Cơng việc thực hiện: Viết chương trình PERL đọc yêu cầu người dùng, tùy thuộc vào yêu cầu mà cần có đáp ứng phù hợp: chuyển nội dung dạng mã ASCII sang dạng mã hex ngược lại, hiển thị nội dung liệu, hiển thị nội dung metadata… II NGÀY GIAO NHIỆM VỤ: 21/09/2020 III NGÀY HOÀN THÀNH NHIỆM VỤ: 03/01/2021 IV CÁN BỘ HƯỚNG DẪN: PGS.TS Hoàng Trang Tp HCM, ngày 18 tháng 03 năm 2021 CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên chữ ký) (Họ tên chữ ký) PGS.TS Hoàng Trang TS Trần Hoàng Linh TRƯỞNG KHOA ĐIỆN – ĐIỆN TỬ (Họ tên chữ ký) …………………………………………………… Ghi chú: Học viên phải đóng tờ nhiệm vụ vào trang tập thuyết minh LV IV THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT LỜI CẢM ƠN Sau năm học tập nghiên cứu trường Đại học Bách Khoa Thành Phố Hồ Chí Minh em giao đề tài đề cương luận văn tốt nghiệp: Thiết kế thiết bị lưu trữ liệu giao tiếp USB tích hợp chức bảo mật Trong thời gian thực đề cương em nhận hỗ trợ, giúp đỡ q thầy cơ, anh chị khóa bạn bè xung quanh Dù cho giúp đỡ hay nhiều, trực tiếp hay gián tiếp, với lòng biết ơn chân thành nhất, cho phép em gửi lời cảm ơn sâu sắc đến tất quý thầy cô, anh chị, bạn bè tạo điều kiện giúp đỡ em trình học tập hoàn thành đề cương luận văn Trước hết, em xin gửi tới thầy cô khoa Điện - Điện Tử trường Đại học Bách Khoa Thành Phố Hồ Chí Minh lời chào trân trọng, lời chúc sức khỏe cảm ơn sâu sắc Nhờ quan tâm, dạy dỗ bảo nhiệt tình chu đáo q thầy cơ, em hồn thành đầy đủ yêu cầu đặt đề tài Đặc biệt, em xin gửi lời cảm ơn chân thành đến PGS.TS Hoàng Trang người quan tâm, giúp đỡ, tạo điều kiện tốt để em hoàn thành luận văn tốt nghiệp Con xin chân thành cảm ơn ông bà, cha mẹ, anh chị em động viên ủng hộ vật chất lẫn tinh thần suốt thời gian qua Và cuối cùng, em xin bày tỏ lòng biết ơn sâu sắc đến ban lãnh đạo nhà trường, khoa, phòng, ban chức tạo điều kiện giúp đỡ em suốt trình học tập làm đề tài Với điều kiện khả vốn kiến thức hạn chế, đề tài tránh nhiều thiếu sót Vì em mong nhận bảo, đóng góp q thầy để kịp thời nhận khuyết điểm, rút kinh nghiệm cho đề tài sau công việc tương lại Tp Hồ Chí Minh, ngày 03 tháng 01 năm 2021 Học viên cao học Nguyễn Minh Phú V THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT TÓM TẮT LUẬN VĂN THẠC SĨ (Tiếng Việt) Đề tài trình bày việc nghiên cứu thiết kế thiết bị lưu trữ liệu giao tiếp với máy tính thơng qua chuẩn giao tiếp USB Thiết bị có tích hợp chức bảo mật liệu Nhiều cơng trình nghiên cứu trước sản phẩm thị trường tồn số lỗ hổng bảo mật Điều làm tính an tồn cho liệu người dùng Đề tài tập trung phân tích kẽ hỡ, khuyết điểm cơng trình, đề tài có trước Sau đó, tác giả đưa thiết kế ưu việt hơn, nhanh hơn, gọn đặc biệt chi phí thấp điều kiện tính khả thi cho việc thương mại hóa Đó thiết bị đảm bảo ba yêu cầu tam giác bảo mật CIA: tính bí mật, tính tồn vẹn tính sẵn sàng liệu Bên cạnh đó, thao tác bảo mật mã hóa/giải mã liệu, xóa bảo mật, xác thực người dùng… thực phần cứng thay thực phần mềm trước Về phần mềm, tác giả lập trình phần mềm giúp người dùng thực thao tác đọc, ghi, xóa trực tiếp liệu thiết bị thay dùng ứng dụng có sẵn hệ điều hành Cuối cùng, qua thử nghiệm, đánh giá dựa tiêu chí bảo mật, so sánh với cơng trình có trước, đề tài chứng minh tính bảo mật tuyệt mật cho liệu quan trọng Đề tài hứa hẹn sản phẩm giúp người giữ riêng tư cho thông tin cá nhân, giúp tổ chức giữ bí mật cho liệu VI THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT ABSTRACT OF MASTER THESIS (English) This topic presents the research and design of a data storage device that communicates with a computer via a USB standard This device has integrated data security function Many previous studies and products on the market have some vulnerability Thieves can exploit data from these vulnerabilities This study focuses on analyzing and pointing out the gaps of previous research Then, the author propose a new method to design a storage device that faster, more compact and especially lower cost which is a condition of the feasibility of commercialization The device in this study met the three requirements of CIA triad: confidentiality, integrity and availability In addition, security operations on data encryption/decryption, security deletion, user authentication are done on hardware instead of on software as before Regrading software, the author has programmed a tool to help users can read, write, delete data directly on the device instead of using an available application of the operating system Finally, through verifications and evaluations based on security criteria, compared to previous works, the topic has been proven to be confidential to important data The topic promises to be a product that helps people keep personal information private, helping organizations keep data confidential VII THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT LỜI CAM ĐOAN Về đề tài “Thiết kế thiết bị lưu trữ liệu giao tiếp USB tích hợp chức bảo mật”, em xin cam đoan điều sau: Ý tưởng đề tài hình thành trình học tập nghiên cứu em trường Đại Học Bách Khoa Thành Phố Hồ Chí Minh Đề tài cơng trình nghiên cứu độc lập em hướng dẫn PGS.TS Hoàng Trang Nội dung báo cáo sản phẩm mà em nỗ lực nghiên cứu trình học tập trường Đại Học Bách Khoa Thành Phố Hồ Chí Minh Dựa nguyên tắc thành thật tri thức, số liệu, kết trình bày báo cáo hồn tồn trung thực, khách quan, có độ tin cậy, kiểm chứng rõ ràng chưa công bố hình thức Các trích dẫn, nội dung tham khảo khai báo rõ ràng phần tài liệu tham khảo Em xin cam đoan nội dung đề tài “Thiết kế thiết bị lưu trữ liệu giao tiếp USB tích hợp chức bảo mật” viết cá nhân em Ngồi khơng có chép bên thứ ba Em xin chịu hoàn toàn trách nhiệm kỷ luật mơn, nhà trường có vấn đề xảy việc đề tài chép từ đề tài nghiên cứu khác Tp Hồ Chí Minh, ngày 03 tháng 01 năm 2021 Tác giả đề tài Nguyễn Minh Phú VIII THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT MỤC LỤC MỞ ĐẦU 1 1.1 Tên đề tài 1.2 Đặt vấn đề 1.3 Mục đích nghiên cứu 1.4 Tổng quan tài liệu 1.5 Mục tiêu nghiên cứu 1.6 Đối tượng phạm vi nghiên cứu CƠ SỞ LÝ THUYẾT 2.1 Thiết bị USB 2.2 Bảo mật liệu thiết bị lưu trữ USB 2.3 Giao tiếp USB 10 2.4 Mã hóa AES 10 2.5 Bộ nhớ Nand Flash 11 2.6 Giao tiếp I2C 12 2.7 Siêu liệu (metdata) 12 2.8 Xóa bảo mật 12 2.9 Tam giác CIA 16 NGHIÊN CỨU THỰC NGHIỆM 19 Tổng quan thiết kế 19 3.1 3.1.1 Sơ đồ khối tổng quan thiết kế 19 3.1.2 Tổ chức nhớ 21 Thiết kế phần cứng 22 3.2 3.2.1 Thiết kế IP giao tiếp I2C Slave 22 3.2.2 Thiết kế module mã hóa AES128 Encryption 28 3.2.3 Thiết kế IP giao tiếp nhớ Memory Interface 38 3.2.4 Thiết kế khối điều khiển liệu System controller 40 3.2.5 Xây dựng mơ hình nhớ Nand Flash 46 Lập trình phần mềm 49 3.3 3.4 3.3.1 Tổng quan chương trình tương tác với người dùng 49 3.3.2 Sơ đồ giải thuật phần mềm 50 Kiểm định thiết kế 54 3.4.1 Cấu trúc môi trường kiểm định 54 IX THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT Tốc độ xử lý 50 Mbps cho n/a n/a n/a 37.6 Mbps IP mã hóa cho IP mã giải mã hóa giải mã Bảng 4.2: Bảng so sánh kết Theo kết so sánh trên, đề tài luận văn có nhiều ưu điểm việc bảo mật liệu xóa bảo mật, mã hóa liệu, thiết kế tiêu tốn tài nguyên (thiết kế chuyên dụng cho đề tài, không dùng lõi CPU điều khiển), tốc độ mã hóa nhanh so với nghiên cứu [41] 68 THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU Đề tài luận văn thiết kế đáp ứng 10 nhiệm vụ đặt từ đầu, điểm đề tài: - Xác thực mật khẩu, mã hóa liệu thực phần cứng - Dữ liệu mã hóa giải mã theo mã khóa người dùng, mã khóa khơng lưu thiết bị USB - Thiết kế có khả đảm bảo tính bí mật liệu nhiều người dùng (multi-user) - Xóa bảo mật thực theo tiêu chuẩn NIST.SP.800-88 thay DoD 5220.22-M - IP mã hóa AES thiết kế theo kiến trúc pipeline 40 tầng Những tồn hướng nghiên cứu: Tồn Nhược điểm Hướng nghiên cứu Đề tài sử dụng chip Tốc độ truyền nhận Thiết kế tìm lõi IP CP2112 để chuyển từ I2C tối đa 400 USB Device thay giao tiếp USB sang giao kbps (dùng chip cho IP I2C Slave tiếp I2C CP2112), làm tốc độ truyền tải liệu bị chậm Phần mềm ANSOFT Khó khăn cho người Chuyển sang giao diện giao tiếp với người dùng dùng phổ thông GUI cho trực quan với thực dạng người dùng lệnh Dữ liệu truyền khơng Ln tồn rị rỉ Đưa giải pháp mã hóa liệu đường bảo mật cáp USB truyền USB [40] [40] Mật truy cập Hacker dị tìm Nghiên cứu không lưu nhớ mật nhớ gian lưu trữ, mã hóa, 69 THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT dùng hàm băm… để giữ mật nhớ không bị lộ phương pháp cơng nêu Chưa có chức kiểm Lỗi liệu lúc đọc Thực tích hợp tra ECC nhớ xảy gây hậu kiểm tra sửa lỗi nghiêm trọng ECC Độ bao phủ (coverage) Có thể tồn Tăng cường viết nhiều kiểm định lỗi tiềm tàng testcase (verification) chưa cao Xuất báo cáo kết coverage Bảng 5.1: Hướng phát triển đề tài 70 THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT DANH MỤC CÁC CƠNG TRÌNH KHOA HỌC [1] Bao Bui Quoc, Phu Nguyen and Trang Hoang “A Design of DSP, CPU architecture on FPGA for secure routers,” presented at 2020 International Conference on Advanced Technologies for Communications (ATC), Nha Trang, Vietnam, Vietnam, 2020 71 THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT TÀI LIỆU THAM KHẢO [1] Byunghee Lee, Kyungho Son, Dongho Won and Seungjoo Kim, "Secure Data Deletion for USB Flash Memory" Journal of Information Science and Engineering 27, p933-952 (2011) [2] Hanjae Jeong, Younsung Choi, Woongryel Jeon, Fei Yang, Yunho Lee, Seungjoo Kim, Dongho Won," Vulnerability Analysis of Secure USB Flash Drives" 2007 IEEE International Workshop on Memory Technology, Design and Testing, 20 June 2008 [3] Poorva Tiwari, Skanda C S, Sanjana U, Aruna S, Prasad Honnavalli, “Secure Wipe Out in BYOD Environment", 2020 International Workshop on Big Data and Information Security (IWBIS), 17-18 Oct 2020 [4] J Reardon, D Basin and S Capkun, “SoK: Secure Data Deletion,”2013 IEEE Symposium on Security and Privacy, Berkeley, CA, 2013,pp 301-315, doi: 10.1109/SP.2013.28 [5] Kingspin, “Attacks on and Countermeasures for USB Hardware Token Devices”, Proceedings of the Fifth Nordic Workshop on Secure IT Systems Encouraging Co-operation, pp 35-57, 2000, Oct [6] Wala’a M AlOmari & Hesham Abusaimeh, “Modified USB Security Token for User Authentication”, Computer and Information Science; Vol 8, No 3; 2015 [7] Mohamed Hamdy Eldefrawy, Muhammad Khurram Khan, Hassan Elkamchouchi, “The Use of Two Authentication Factors to Enhance the Security of Mass Storage Devices”, 2014 11th International Conference on Information Technology: New Generations, 7-9 April 2014 [8] Wikipedia, “USB - Wikipedia”, [Online] https://vi.wikipedia.org/wiki/USB, Dec.20, 2020 [9] Wikipedia, “Bộ nhớ flash - Wikipedia”, [Online] https://vi.wikipedia.org/wiki/B%E1%BB%99_nh%E1%BB%9B_flash, Dec.20, 2020 72 THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT [10] Wikipedia, “Advanced Encryption Standard - Wikipedia”, Internet: https://en.wikipedia.org/wiki/Advanced_Encryption_Standard, Dec.20, 2020 [11] Daniel Noyes, Hong Liu, Paul Fortier, “Security analysis and improvement of USB technology”, 2016 IEEE Symposium on Technologies for Homeland Security (HST), 10-11 May 2016 [12] IEEE, “1484.12.1-2020 - IEEE Standard for Learning Object Metadata”, IEEE Std 1484.12.1-2002, 16 Nov 2020 [13] USB Implementers “USB 2.0 Specification | USB-IF.” Internet: https://www.usb.org/document-library/usb-20-specification, Dec 21, 2018 [14] NIST.gov NIST “ADVANCED ENCRYPTION STANDARD (AES).” Internet: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197.pdf, Nov 26, 2001 [15] NXP Semiconductors “UM10204 I2C-bus specification and user manual.” Internet: http://www.nxp.com/docs/en/user-guide/UM10204.pdf, April 2014 [16] Robert V White “System Management Bus (SMBus)Specification.” Internet: http://smbus.org/specs/SMBus_3_1_20180319.pdf, 19 Mar 2018 [17] insideGadgets, “K9F1G08X0C_0.1.fm - K9F1G08X0C.pdf”, Internet: https://www.insidegadgets.com/wpcontent/uploads/2013/03/K9F1G08X0C.pdf, Mar.2013 [18] NIST.gov NIST “Recommendation for Block Cipher Modes of Operation”, Internet: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication80038a.pdf, 2001 [19] Menezes, Alfred J.; van Oorschot, Paul C.; Vanstone, Scott A Handbook of Applied Cryptography CRC Press 2018 p.228 [20] BrainKart “AES Key Expansion”, Internet: http://www.brainkart.com/article/AES-Key-Expansion_8410,12, 2020 73 THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT [21] Lifewire “Wipe vs Shred vs Delete vs Erase: What's the Difference?” Internet: https://www.lifewire.com/wipe-vs-shred-vs-delete-vs-erase-whatsthe-difference-2619146, 05/20/2020 [22] Michael Wei, Laura M Grupp, Frederick E Spada, Steven Swanson, "Reliably Erasing Data From Flash-Based Solid State Drives", 9th USENIX Conference on File and Storage Technologies, San Jose, CA, USA, February 15-17, 2011 [23] Richard Kissel, Andrew Regenscheid, Matthew Scholl, Kevin Stine,, “Secure Deletion of Data from Magnetic and Solid-State Memory”, Sixth USENIX Security Symposium Proceedings, San Jose, California, July 22-25, 1996 [24] Richard Kissel, Andrew Regenscheid, Matthew Scholl, Kevin Stine, “NIST Special Publication Revision 800-88 1”, Internet: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-88r1.pdf, December 2014 [25] ISO/IEC "Information technology – Security techniques – Information security management systems – Overview and vocabulary." ISO/IEC 27000:2009 (E), 2009 [26] CNSS, Committee on National Security Systems: National Information Assurance (IA) Glossary, CNSS Instruction No 4009, 26 April 2010 [27] Andress, J "The Basics of Information Security: Understanding the Fundamentals of InfoSec in Theory and Practice." Syngress p 240 ISBN 9780128008126 2014 [28] Boritz, J Efrim "IS Practitioners' Views on Core Concepts of Information Integrity" International Journal of Accounting Information Systems Elsevier p260–279 2005.07.001 [29] Georgios Loukas, Gülay Öke (September 2010) The Computer Journal (2nd edition) [Online] Volume 53, Issue Available: https://doi.org/10.1093/comjnl/bxp078 [30] Parker, Donn B (2002) "Toward a New Framework for Information Security" In Bosworth, Seymour; Kabay, M E (eds.) The Computer Security 74 THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT Handbook (4th ed.) New York, NY: John Wiley & Sons ISBN 0-471-412589 [31] A J Neumann, N Statland and R D Webb (1977) "Post-processing audit tools and techniques" (PDF) US Department of Commerce, National Bureau of Standards pp 11-3 11-4 [32] OECD “OECD Guidelines for the Security of Information Systems and Networks”, Internet: https://web.archive.org/web/20110516085505/http://www.oecd.org/dataoecd /16/22/15582260.pdf, 2014-01-17 [33] NIST “Engineering Principles for Information Technology Security” Internet: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication80027ra.pdf, June 2004 [34] Jason Andress, Steven Winterfeld (2014) The Basics of Information Security: Understanding the Fundamentals of InfoSec in Theory and Practice (2nd edition) [Online] Syngress p 240 ISBN 9780128008126 [35] Yulia Cherdantseva, Jeremy Hilton "Information Security and Information Assurance The Discussion about the Meaning, Scope and Goals" In: Organizational, Legal, and Technological Dimensions of Information System Administrator Almeida F., Portela, I (eds.) IGI Global Publishing (2013) [36] ISO/IEC "Information technology – Security techniques – Information security management systems – Requirements." ISO/IEC ISO/IEC 27001:2013, 2019 [37] Samsung “K9F1G08U0C MEMORY” Internet: https://datasheetspdf.com/pdf/785586/Samsung/K9F1G08U0C/1, April 25th, 2008 [38] Hyo-Joon Choi, Ho Seong Lee, Dongjoo Sim, Jong-Gwan Yook, Kyuhong Sim “Reconstruction of leaked signal from USB keyboards” 2016 URSI Asia-Pacific Radio Science Conference (URSI AP-RASC), 20 October 2016 75 THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT [39] Chi Zhang, Hongxin Zhang, Jiaqi Luo, Yulei Du "TEMPEST in USB" 2017 IEEE 5th International Symposium on Electromagnetic Compatibility (EMCBeijing), 18 January 2018 [40] Noura Hamoud Alotaibi, Arwa Mohammed Alotaibi, Amjad Hassan Alshaiban "Usability Testing and Cognitive Walkthrough for Evaluate USB Cable (SMART Universal Serial Bus (USB))",2019 2nd International Conference on Computer Applications & Information Security (ICCAIS),25 July 2019 [41] Hanlin Chen “The single-chip solution of embedded USB encryptor” 2010 IEEE International Conference on Information Theory and Information Security, 17-19 Dec 2010 [42] Sipicorp “NIST 800-88 VS DoD 5220.22-M What Is The Best Method?” Internet: https://www.sipicorp.com/wpcontent/uploads/2019/09/NIST_vs_DoD_V3.pdf, Jan 7, 2020 76 THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT PHỤ LỤC Mã nguồn thiết kế tổng (andat201.v): //////////////////////////////////////////////////////////////////////////////// // Project name: ANDAT201 (ANDAT USB2.0 MEMORY 1GB) // // File name : andat201.v // // Description : ANDAT Design Top // // Time: 22:47 12/14/2019 // // Copyright © 2019 by phunnmm // //////////////////////////////////////////////////////////////////////////////// module andat201 ( clk , rst_n, authn, // pass/FAIL authen SCL , // I2C Interface SDA , // I2C Interface IO8 , // NF Interface CLE , // NF Interface ALE , // NF Interface CEn , // NF Interface REn , // NF Interface WEn , // NF Interface WPn , // NF Interface RBn // NF Interface ); parameter PORT_SIZE = 8; parameter FLASH_SIZE = 32; input clk; input rst_n; output authn; inout SCL; inout SDA; inout [PORT_SIZE-1:0] IO8; output CLE; output ALE; output CEn; output REn; output WEn; output WPn; input RBn; wire en; wire [FLASH_SIZE-1:0] saddr; wire [FLASH_SIZE-1:0] eaddr; wire [3:0] cmd; wire [7:0] wdat; wire [7:0] rdat; wire dne; assign en = 1; // SYSCON signal declare wire syscon_clk wire syscon_rst_n wire [ 31:0] syscon_nexus wire [ 7:0] syscon_iic_rdatr wire [ 7:0] syscon_iic_sttr wire [ 7:0] syscon_iic_shfr wire [ 7:0] syscon_iic_bcr wire [ 7:0] syscon_iic_isr wire [ 7:0] syscon_iic_err wire [ 7:0] syscon_iic_ffcr wire [ 7:0] syscon_iic_lfcr wire [ 7:0] syscon_nf_rdat wire syscon_nf_rbn wire syscon_nf_cle_ale wire [ 31:0] syscon_nf_saddr ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 77 THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT wire [ 31:0] syscon_nf_eaddr wire [ 3:0] syscon_nf_cmd wire [ 7:0] syscon_nf_wdat wire syscon_nf_wen wire syscon_nf_ren wire syscon_nf_dne wire syscon_nf_ino wire syscon_authn wire wire wire wire wire wire wire wire ; ; ; ; ; ; ; ; syscon_aes_en ; [127:0] syscon_aes_ciphertext; syscon_aes_done ; [ 4:0] syscon_aes_mode ; syscon_aes_encrypt ; syscon_aes_start ; [127:0] syscon_aes_key ; [127:0] syscon_aes_plaintext ; wire [ 31:0] syscon_iic_tdatr wire [ 7:0] syscon_iic_clrr wire [ 7:0] syscon_iic_iscr ; ; ; // IIC signal declare wire uipca1giic_iic_clk ; wire uipca1giic_iic_rst_n; wire [15:0] uipca1giic_iic_nexus; wire [31:0] uipca1giic_iic_enar ; wire [ 7:0] uipca1giic_iic_modr ; wire [ 7:0] uipca1giic_iic_ackr ; wire [ 7:0] uipca1giic_iic_ctlr ; wire [ 7:0] uipca1giic_iic_pscr ; wire [ 7:0] uipca1giic_iic_brhr ; wire [ 7:0] uipca1giic_iic_brlr ; wire [ 7:0] uipca1giic_iic_funcr; wire [15:0] uipca1giic_iic_tmor ; wire [ 7:0] uipca1giic_iic_rmitr; wire [15:0] uipca1giic_iic_addrr; wire [31:0] uipca1giic_iic_tdatr; wire [ 7:0] uipca1giic_iic_ier ; wire [ 7:0] uipca1giic_iic_clrr ; wire [ 7:0] uipca1giic_iic_rlar ; wire [ 7:0] uipca1giic_iic_iscr ; wire wire wire wire wire wire wire wire [ [ [ [ [ [ [ [ 7:0] 7:0] 7:0] 7:0] 7:0] 7:0] 7:0] 7:0] uipca1giic_iic_rdatr; uipca1giic_iic_sttr ; uipca1giic_iic_shfr ; uipca1giic_iic_bcr ; uipca1giic_iic_isr ; uipca1giic_iic_err ; uipca1giic_iic_ffcr ; uipca1giic_iic_lfcr ; // AES128 signal declare wire aes128_clk ; wire aes128_rst_n ; wire [ 15:0] aes128_nexus ; wire aes128_enable ; wire [ 4:0] aes128_mode ; wire aes128_encrypt ; wire [ 63:0] aes128_nonce ; wire aes128_start ; wire aes128_start_auto; wire [127:0] aes128_key ; wire [127:0] aes128_plaintext ; wire [127:0] aes128_ciphertext; wire aes128_done ; wire [ 63:0] aes128_counter ; // GNFIF1 signal declare wire gnfif1_01_clk; wire gnfif1_01_rst_n; wire [ 15:0] gnfif1_01_nexus; wire gnfif1_01_en; 78 THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT wire [FLASH_SIZE-1:0] gnfif1_01_saddr; wire [FLASH_SIZE-1:0] gnfif1_01_eaddr; wire [3:0] gnfif1_01_cmd; wire [7:0] gnfif1_01_wdat; wire [7:0] gnfif1_01_rdat; wire gnfif1_01_wencon; wire gnfif1_01_rencon; wire gnfif1_01_dne; wire gnfif1_01_ino; wire wire wire wire wire wire wire wire [7:0] gnfif1_01_IO8; gnfif1_01_CLE; gnfif1_01_ALE; gnfif1_01_CEn; gnfif1_01_REn; gnfif1_01_WEn; gnfif1_01_WPn; gnfif1_01_RBn; // SYSCON connection assign syscon_clk assign syscon_rst_n assign syscon_en assign syscon_iic_rdatr assign syscon_iic_sttr assign syscon_iic_shfr assign syscon_iic_bcr assign syscon_iic_isr assign syscon_iic_err assign syscon_iic_ffcr assign syscon_iic_lfcr assign syscon_nf_rdat assign syscon_nf_rbn assign syscon_nf_cle_ale assign syscon_nf_dne assign syscon_nf_ino = = = = = = = = = = = = = = = = clk ; rst_n; en ; uipca1giic_iic_rdatr; uipca1giic_iic_sttr ; uipca1giic_iic_shfr ; uipca1giic_iic_bcr ; uipca1giic_iic_isr ; uipca1giic_iic_err ; uipca1giic_iic_ffcr ; uipca1giic_iic_lfcr ; gnfif1_01_rdat ; gnfif1_01_RBn ; ~(gnfif1_01_CLE || gnfif1_01_ALE); gnfif1_01_dne ; gnfif1_01_ino ; assign syscon_aes_ciphertext = aes128_ciphertext; assign syscon_aes_done = aes128_done; // IIC assign assign assign assign assign assign assign assign assign assign assign assign assign assign assign assign assign assign connection uipca1giic_iic_clk uipca1giic_iic_rst_n uipca1giic_iic_enar uipca1giic_iic_modr uipca1giic_iic_ackr uipca1giic_iic_ctlr uipca1giic_iic_pscr uipca1giic_iic_brhr uipca1giic_iic_brlr uipca1giic_iic_funcr uipca1giic_iic_tmor uipca1giic_iic_rmitr uipca1giic_iic_addrr uipca1giic_iic_tdatr uipca1giic_iic_ier uipca1giic_iic_clrr uipca1giic_iic_rlar uipca1giic_iic_iscr // AES128 assign aes128_clk assign aes128_rst_n assign aes128_enable assign aes128_mode assign aes128_encrypt assign aes128_nonce assign aes128_start assign aes128_start_auto assign aes128_key assign aes128_plaintext // GNFIF1 connection assign gnfif1_01_clk = = = = = = = = = = = = = = = = = = = = = = = = = = = = clk ; rst_n; 32'h1; 8'h00; 8'h00; 8'h00; 8'h00; 8'h00; 8'h00; 8'h00; 16'h0000; 8'h00; 16'h0096; syscon_iic_tdatr; 8'h1F; syscon_iic_clrr; 8'h00; syscon_iic_iscr; clk ; rst_n; syscon_aes_en; syscon_aes_mode; syscon_aes_encrypt; 64'h1020304050607080; syscon_aes_start; 1'b0; syscon_aes_key; syscon_aes_plaintext; = clk ; 79 THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT assign assign assign assign assign assign assign assign assign assign gnfif1_01_rst_n = rst_n; gnfif1_01_en = en ; gnfif1_01_saddr = syscon_nf_saddr ; gnfif1_01_eaddr = syscon_nf_eaddr ; gnfif1_01_cmd = syscon_nf_cmd ; gnfif1_01_wdat = syscon_nf_wdat ; gnfif1_01_IO8 = (gnfif1_01_ino == 1'b1) ? IO8 : 8'hZZ; gnfif1_01_RBn = RBn ; gnfif1_01_wencon = syscon_nf_wen; gnfif1_01_rencon = syscon_nf_ren; // SYSCON design syscon syscon_01 ( clk rst_n nexus en iic_rdatr iic_sttr iic_shfr iic_bcr iic_isr iic_err iic_ffcr iic_lfcr nf_rdat nf_rbn nf_cle_ale nf_saddr nf_eaddr nf_cmd nf_wdat nf_wen nf_ren nf_dne nf_ino (syscon_clk (syscon_rst_n (syscon_nexus (syscon_en (syscon_iic_rdatr (syscon_iic_sttr (syscon_iic_shfr (syscon_iic_bcr (syscon_iic_isr (syscon_iic_err (syscon_iic_ffcr (syscon_iic_lfcr (syscon_nf_rdat (syscon_nf_rbn (syscon_nf_cle_ale ), ), ), ), ), ), ), ), ), ), ), ), ), ), ), (syscon_nf_saddr (syscon_nf_eaddr (syscon_nf_cmd (syscon_nf_wdat (syscon_nf_wen (syscon_nf_ren (syscon_nf_dne (syscon_nf_ino ), ), ), ), ), ), ), ), aes_ciphertext(syscon_aes_ciphertext), aes_done (syscon_aes_done ), aes_en aes_mode aes_encrypt aes_start aes_key aes_plaintext iic_tdatr iic_clrr iic_iscr authn ); (syscon_aes_en (syscon_aes_mode (syscon_aes_encrypt (syscon_aes_start (syscon_aes_key (syscon_aes_plaintext ), ), ), ), ), ), (syscon_iic_tdatr (syscon_iic_clrr (syscon_iic_iscr (syscon_authn ), ), ), ) // IIC design uipca1giic_iic uipca1giic_iic_01 ( clk (uipca1giic_iic_clk ), rst_n (uipca1giic_iic_rst_n), nexus (uipca1giic_iic_nexus), enar (uipca1giic_iic_enar ), modr (uipca1giic_iic_modr ), ackr (uipca1giic_iic_ackr ), ctlr (uipca1giic_iic_ctlr ), pscr (uipca1giic_iic_pscr ), brhr (uipca1giic_iic_brhr ), brlr (uipca1giic_iic_brlr ), funcr (uipca1giic_iic_funcr), tmor (uipca1giic_iic_tmor ), rmitr (uipca1giic_iic_rmitr), addrr (uipca1giic_iic_addrr), tdatr (uipca1giic_iic_tdatr), ier (uipca1giic_iic_ier ), 80 THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT clrr rlar iscr (uipca1giic_iic_clrr ), (uipca1giic_iic_rlar ), (uipca1giic_iic_iscr ), rdatr sttr shfr bcr isr err ffcr lfcr scl sda ); (uipca1giic_iic_rdatr), (uipca1giic_iic_sttr ), (uipca1giic_iic_shfr ), (uipca1giic_iic_bcr ), (uipca1giic_iic_isr ), (uipca1giic_iic_err ), (uipca1giic_iic_ffcr ), (uipca1giic_iic_lfcr ), (SCL ), (SDA ) uipea1gaes_aes128 uipea1gaes_aes128_01 ( clk (aes128_clk ), rst_n (aes128_rst_n ), nexus (aes128_nexus ), enable (aes128_enable ), mode (aes128_mode ), encrypt (aes128_encrypt ), nonce (aes128_nonce ), start (aes128_start ), start_auto (aes128_start_auto), key (aes128_key ), plaintext (aes128_plaintext ), ciphertext (aes128_ciphertext), done (aes128_done ), counter (aes128_counter ) ); // GNFIF1 design gnfif1 gnfif1_01 ( clk (gnfif1_01_clk ), rst_n (gnfif1_01_rst_n ), nexus (gnfif1_01_nexus ), en (gnfif1_01_en ), saddr (gnfif1_01_saddr ), eaddr (gnfif1_01_eaddr ), cmd (gnfif1_01_cmd ), wdat (gnfif1_01_wdat ), rdat (gnfif1_01_rdat ), wencon (gnfif1_01_wencon), rencon (gnfif1_01_rencon), dne (gnfif1_01_dne ), ino (gnfif1_01_ino ), IO8 CLE ALE CEn REn WEn WPn RBn ); (gnfif1_01_IO8 (gnfif1_01_CLE (gnfif1_01_ALE (gnfif1_01_CEn (gnfif1_01_REn (gnfif1_01_WEn (gnfif1_01_WPn (gnfif1_01_RBn ), ), ), ), ), ), ), ) // output signal assign IO8 = (gnfif1_01_ino == 1'b0) ? gnfif1_01_IO8 : 8'hZZ; assign CLE = gnfif1_01_CLE; assign ALE = gnfif1_01_ALE; assign CEn = gnfif1_01_CEn; assign REn = gnfif1_01_REn; assign WEn = gnfif1_01_WEn; assign WPn = gnfif1_01_WPn; assign authn = syscon_authn; endmodule 81 THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT LÝ LỊCH TRÍCH NGANG Họ tên: Nguyễn Minh Phú Ngày, tháng, năm sinh: 26/10/1996 Nơi sinh: Quảng Nam Địa liên lạc: Quế Minh, Quế Sơn, Quảng Nam QUÁ TRÌNH ĐÀO TẠO (Bắt đầu từ Đại học đến nay) o 05/09/2014 – 06/11/2018: Sinh viên khoa Điện – Điện tử Đại Học Bách Khoa Thành Phố Hồ Chí Minh o 19/08/2019 – nay: Học viên cao học khoa Điện – Điện tử Đại Học Bách Khoa Thành Phố Hồ Chí Minh Q TRÌNH CƠNG TÁC (Bắt đầu từ làm đến nay) o 01/03/2018 – nay: Kỹ sư thiết kế phần cứng Công ty TNHH Thiết Kế Renesas Việt Nam 82 ... confidential VII THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT LỜI CAM ĐOAN Về đề tài ? ?Thiết kế thiết bị lưu trữ liệu giao tiếp USB tích hợp chức bảo mật? ??, em xin cam... triển chức bảo mật khác để bảo vệ liệu lưu trữ THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT 1.3 Mục đích nghiên cứu Thiết bị USB bảo mật phát triển để bảo vệ liệu thiết. .. (hoặc USB flash) kèm theo THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU GIAO TIẾP USB TÍCH HỢP CHỨC NĂNG BẢO MẬT 2.2 Bảo mật liệu thiết bị lưu trữ USB Một cách tổng quát, bảo mật thông tin hoạt động bảo vệ