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

TÌM HIỂU KỸ THUẬT ĐO TRỄ TÍN HIỆU ĐỂ PHÁT HIỆN MÃ ĐỘC PHẦN CỨNG TRONG VI MẠCH

66 1 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

Nội dung

Khi đánh giá an toàn thiết bị mật mã, thông thường các chuyên gia phần lớn mới tập trung vào an toàn phần mềm hoặc an toàn thông tin trong quá trình xử lý, còn phần cứng thì mặc định được coi là tin cậy. Song những năm gần đây, các vấn đề liên quan đến an toàn phần cứng để đảm bảo hoạt động tin cậy trong các mạch tích hợp (chíp điện tử) đã thu hút được sự quan tâm lớn trên thế giới cũng như Việt Nam. Lý do cho vấn đề này đó là hầu hết các IC hiện đại đều được cung cấp theo chuỗi cung ứng bằng nhiều phân khúc và được chế tạo từ nhiều địa chỉ khác nhau. Các dịch vụ thiết kế, kiểm thử và kiểm tra các sản phẩm điện tử cũng như các công cụ tự động hóa thiết kế điện tử (Electronic Design Automation EDA) cũng được cung ứng bởi nhiều nhà cung cấp khác nhau, đây chính là tiền đề làm cho các thiết bị mật mã luôn đứng trước những nguy cơ bị tấn công, một nguy cơ đặc biệt tiềm ẩn trong các thiết kế đó chính là mã độc phần cứng ̣(Hardware Trojan – HT). HT là một loại mã độc được nhúng vào các mạch tích hợp nhằm mục đích thay đổi chức năng, gây lỗi thiết bị, từ chối dịch vụ (DoS), thậm chí là gây rò rỉ thông tin bí mật từ bên trong chip làm lộ thông tin về tham số bí mật trong quá trình hoạt động sẽ gây hậu quả rất nghiêm trọng trong các ứng dụng an toàn. Hơn nữa, vẫn tồn tại thực trạng trong Ngành Cơ yếu, nhiều linh kiện dùng trong các thiết bị mật mã chuyên dụng vẫn được nhập khẩu từ nước ngoài nên vẫn còn những hạn chế trong đánh giá độ mật của thiết bị mật mã. Hiện nay, theo khải sát 18 các phương pháp phát hiện HT vẫn còn nhiều thách thức, khó khăn với xu thế toàn cầu hóa trong ngành công nghiệp thiết kế vi mạch hướng tới làm giảm độ phức tạp thiết kế và chi phí chế tạo, nhưng đồng thời cũng nảy sinh các vấn đề về bảo đảm an toàn thiết kế, làm tăng độ trễ và giảm tuổi thọ của FPGA.Chính vì vậy, chúng em đã chọn đề tài “Nghiên cứu kỹ thuật đo trễ tín hiệu để phát hiện mã độc phần cứng trong vi mạch” nhằm hiểu rõ về mã độc phần cứng tiềm ẩn trong thiết kế FPGA dựa trên kỹ thuật đo trễ các tín hiệu đường dẫn. Nội dung đề tài gồm có 3 chương với nội dung sau: CHƯƠNG 1: Tổng quan về mã độc phần cứng và lý thuyết đồ hình. 1.1. Tổng quan mã độc phần cứng 1.1.1. Khái niệm về mã độc phần cứng ix 1.1.2. Cấu tạo của mã độc phần cứng 1.1.3. Phân loại mã độc phần cứng 1.2. Tổng quan về lý thuyết đồ hình 1.3. Nguy cơ của HT trong mạch thiết kế thiết bị mật mã CHƯƠNG 2: Phương pháp phát hiện độ trễ tín hiệu đường dẫn. 2.1. Một số phương pháp phát hiện HT 2.2. Phương pháp xác định độ trễ các đường dẫn tín hiệu CHƯƠNG 3: Thực thi phát hiện mã độc phần bằng phương pháp đo độ trễ đường dẫn. 3.1. Thiết kế chèn HT vào mạch FPGA 3.2. Phân tích và thống kê các kết quả 3.3. Kiến nghị và đề xuất

ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ TÌM HIỂU KỸ THUẬT ĐO TRỄ TÍN HIỆU ĐỂ PHÁT HIỆN MÃ ĐỘC PHẦN CỨNG TRONG VI MẠCH Nguyen Thanh Long Hà Nội - 2023 MỤC LỤC LỜI CẢM ƠN Lỗi! Thẻ đánh dấu không được xác định LỜI CAM ĐOAN Lỗi! Thẻ đánh dấu không được xác định MỤC LỤC i DANH MỤC CÁC HÌNH VẼ iii DANH MỤC BẢNG BIỂU v DANH MỤC KÝ HIỆU CHỮ VIẾT TẮT vi LỜI NÓI ĐẦU viii CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC PHẦN CỨNG 1.1 Tổng quan mã độc phần cứng 1.1.1 Khái niệm mã độc phần cứng 1.1.2 Cấu tạo mã độc phần cứng 1.1.3 Phân loại mã độc phần cứng 1.2 Tổng quan lý thuyết đồ hình 12 1.2.1 Thủ tục kiểm tra đồ thị Euler 13 1.2.2 Quy trình mã hóa 13 1.2.3 Quy trình giải mã 14 1.2.4 Kết 14 1.3 Nguy HT mạch thiết kế mật mã 16 1.3.1 Hardware Trojan SoC NoC 16 1.3.2 HT FPGA 22 1.3.3 HT module mật mã 28 CHƯƠNG 2: PHƯƠNG PHÁP PHÁT HIỆN ĐỘ TRỄ TÍN HIỆU ĐƯỜNG DẪN 30 2.1 Một số phương pháp phát HT 30 2.1.1 Phát HT giai đoạn sản xuất 30 2.1.2 Phát HT giai đoạn thiết kế 33 2.2 Phương pháp xác định độ trễ đường dẫn tín hiệu 35 i 2.2.1 Các nguyên tắc phương pháp xác định HT dựa độ trễ 35 2.2.2 Phương pháp phát HT dựa phân tích độ trễ đường dẫn 44 CHƯƠNG 3: THỰC THİ PHÁT HİỆN MÃ ĐỘC PHẦN CỨNG TRONG MẠCH THİẾT KẾ FPGA BẰNG PHƯƠNG PHÁP ĐO ĐỘ TRỄ ĐƯỜNG DẪN 47 3.1 Thiết kế chèn HT vào mạch FPGA 47 3.2 Phân tích thống kê kết 52 3.3 Kiến nghị đề xuất 54 KẾT LUẬN 55 TÀI LIỆU THAM KHẢO 55 ii DANH MỤC CÁC HÌNH VẼ Hình 1 Cấu tạo Trojan cứng Hình Cơ chế hoạt động Trojan cứng Hình Phân loại Trojan Hình Đặc điểm vật lý Trojan Hình Các đặc điểm vật lý Trojan Hình Phân loại Trojan dựa chế kích hoạt Hình Mạch Trojan kết hợp Hình Mạch Trojan Hình Trojan dị Hình 10 Mạch Trojan lai ghép Hình 11 Mạch Trojan tương tự Hình 12 Trojan cấp tải tin tương tự qua Vdd Hình 13 Trojan cấp tải tin qua GND Hình 14 Đặc điểm hoạt động Trojan cứng Hình 15 Trojan phần cứng kích hoạt bên ngồi 11 Hình 16 Mạng chip NoC 19 Hình 17 Mơ hình rủi ro FPGA [10] 23 Hình 18 Trojan phần cứng chèn vào kết cấu FPGA dựa hai thuộc tính 24 Hình 19 Trojan làm xáo trộn kết cấu ban đầu 27 Hình 20 Trojan làm tăng độ trễ 27 Hình 21 Trojan gây dao động điện áp 28 Hình Thủ tục chuẩn kiểm tra độ trễ đường dẫn…………………………36 Hình 2 Thực tế sử dụng flip-flops………………………………………37 Hình (a) Fanout tập trung (b) nguy mạch…………………39 Hình Kỹ thuật đo độ trễ đường dẫn……………………………………….41 Hình Bộ chuyển đổi thời gian sang kỹ thuật số (TDC)…………………43 Hình Đặc điểm “Convex hull” cho thấy phát HT………….45 Hình (a) Kiến trúc định thời đường dẫn chip b) Phương trình độ trễ đường dẫn thực tế…………… …………………………………………….46 iii Hình Mạch HT………………………………………………………….49 Hình Bộ giao tiếp ngoại vi UART………………………………………50 Hình 3 Bộ giao tiếp ngoại vi UART………………………………………51 Hình Tài nguyên sử dụng trước chèn Trojan…………………………52 Hình Tài nguyên sử dụng sau chèn Trojan ………………………… 53 iv DANH MỤC BẢNG BIỂU Bảng Kết trước sau chèn Trojan 54 v DANH MỤC KÝ HIỆU CHỮ VIẾT TẮT Từ viết Nghĩa tiếng anh tắt Nghĩa tiếng Việt AES Advanced Encryption Standard Chuẩn mã liệu tiên tiến AMD Algebraic Manipulation Detection Phát thao tác đại số ATPG Automatic Test Pattern Generation Tạo mẫu thử tự động ASIC The Application Specific Integrated Mạch tích hợp chuyên dụng Circuit BMC Bounded model checking Mơ hình kiểm tra giới hạn CAD Chip Averaged Delay Độ trễ trung bình chip CED Concurrent Error Detection Phát lỗi đồng thời CMOS Complementary Metal Oxide Cơng nghệ chế tạo mạch Semiconductor tích hợp sử dụng chất bán dẫn oxit kim loại CMP A Chemical Mechanical Polishing Đánh bóng – hóa học CRC Cyclic Redundancy Check Mã kiểm tra độ dư vòng DFS Design For Security Thiết kế an toàn DoS Denial of Service Tấn công từ chối dịch vụ EDA Electronic design automation Tự động hóa thiết kế điện tử FPGA Field Programmable Gate Array Các mảng cổng khả trình FSM The Finite State Machine Mơ hình quản lý q trình chuyển trạng thái hữu hạn HT Hardware Trojan Mã độc phần cứng IC Integrated Circuit Mạch tích hợp IP Intellectual Property Modun thiết kế sẵn/Sở hữu trí tuệ LCI Khoảng thời gian bắt đầu Launch-Capture Interval khởi động vi LRT Trojan làm giảm tuổi thọ Life-span Reduction Trojan (của thiết bị) LUT Lookup Table Bảng tra cứu M3D Monolithic Three-Dimensional Kiến trúc khối ba chiều MEM Memory Bộ nhớ MPSoC Multiprocessor system on a chip Hệ thống đa xử lý chip NI Network Interface Giao diện mạng NoC Network On Chip Mạng chip ORA Output response analyzer Bộ phân tích đáp ứng đầu PCC Proof-carrying code Bằng chứng mã PE Processing Element Phần tử xử lý RO Ring Oscillator Dao động vòng RTL Register Transfer Level Chuyển đổi ghi mức cổng RSM Ma trận chuyển mạch định Routing Switch Matrix tuyến SEM A Scanning Electron Microscope Phân tích hình ảnh qt kính hiển vi điện tử SM Security Monitor Giám sát an ninh SoC System on chip Hệ thống chip UWB Ultra Wide Band Băng tần siêu rộng vii LỜI NÓI ĐẦU Khi đánh giá an tồn thiết bị mật mã, thơng thường chuyên gia phần lớn tập trung vào an tồn phần mềm an tồn thơng tin q trình xử lý, cịn phần cứng mặc định coi tin cậy Song năm gần đây, vấn đề liên quan đến an toàn phần cứng để đảm bảo hoạt động tin cậy mạch tích hợp (chíp điện tử) thu hút quan tâm lớn giới Việt Nam Lý cho vấn đề hầu hết IC đại cung cấp theo chuỗi cung ứng nhiều phân khúc chế tạo từ nhiều địa khác Các dịch vụ thiết kế, kiểm thử kiểm tra sản phẩm điện tử cơng cụ tự động hóa thiết kế điện tử (Electronic Design Automation - EDA) cung ứng nhiều nhà cung cấp khác nhau, tiền đề làm cho thiết bị mật mã đứng trước nguy bị công, nguy đặc biệt tiềm ẩn thiết kế mã độc phần cứng ̣(Hardware Trojan – HT) HT loại mã độc nhúng vào mạch tích hợp nhằm mục đích thay đổi chức năng, gây lỗi thiết bị, từ chối dịch vụ (DoS), chí gây rị rỉ thơng tin bí mật từ bên chip làm lộ thông tin tham số bí mật q trình hoạt động gây hậu nghiêm trọng ứng dụng an toàn Hơn nữa, tồn thực trạng Ngành Cơ yếu, nhiều linh kiện dùng thiết bị mật mã chuyên dụng nhập từ nước ngồi nên cịn hạn chế đánh giá độ mật thiết bị mật mã Hiện nay, theo khải sát [1-8] phương pháp phát HT cịn nhiều thách thức, khó khăn với xu tồn cầu hóa ngành cơng nghiệp thiết kế vi mạch hướng tới làm giảm độ phức tạp thiết kế chi phí chế tạo, đồng thời nảy sinh vấn đề bảo đảm an toàn thiết kế, làm tăng độ trễ giảm tuổi thọ FPGA.Chính vậy, chúng em chọn đề tài “Nghiên cứu kỹ thuật đo trễ tín hiệu để phát mã độc phần cứng vi mạch” nhằm hiểu rõ mã độc phần cứng tiềm ẩn thiết kế FPGA dựa kỹ thuật đo trễ tín hiệu đường dẫn Nội dung đề tài gồm có chương với nội dung sau: CHƯƠNG 1: Tổng quan mã độc phần cứng lý thuyết đồ hình 1.1 Tổng quan mã độc phần cứng 1.1.1 Khái niệm mã độc phần cứng viii 1.1.2 Cấu tạo mã độc phần cứng 1.1.3 Phân loại mã độc phần cứng 1.2 Tổng quan lý thuyết đồ hình 1.3 Nguy HT mạch thiết kế thiết bị mật mã CHƯƠNG 2: Phương pháp phát độ trễ tín hiệu đường dẫn 2.1 Một số phương pháp phát HT 2.2 Phương pháp xác định độ trễ đường dẫn tín hiệu CHƯƠNG 3: Thực thi phát mã độc phần phương pháp đo độ trễ đường dẫn 3.1 Thiết kế chèn HT vào mạch FPGA 3.2 Phân tích thống kê kết 3.3 Kiến nghị đề xuất ix Ví dụ: đường dẫn ngắn yêu cầu xung nhịp tần số cao, điều tạo ảnh hưởng thứ cấp không mong muốn, nhiễu nguồn điện, nhiễu gây khó khăn cho việc đo thời gian xác Sơ đồ thứ hai, gọi sơ đồ xung nhịp kép (hoặc nhấp nháy xung nhịp), yêu cầu áp dụng lặp lại chuỗi hai vectơ Trên lần lặp, pha xung nhịp bắt C2 giảm phần nhỏ t so với C1 Hình 2.4b Sơ đồ thời gian thứ ba, gọi sơ đồ RO (Ring Oscillator - dao động vịng), hiển thị Hình 2.4c Các đường dẫn mạch tính thời gian cách thiết lập dao động vòng (RO) đầu đường dẫn kết nối trở lại đầu vào đường dẫn MUX (và tùy chọn cổng NOT hình minh họa) Phép đo thời gian thực cách nối với MUX sau cho phép đường dẫn đến "rung" khoảng thời gian cụ thể Một đếm (Cnter) sử dụng để ghi lại số lượng lần dao động Điều thực cách điều chỉnh tín hiệu đầu từ đường dẫn đến đầu vào xung nhịp đếm Độ trễ đường dẫn thực tế thu cách chia khoảng thời gian cho giá trị đếm (lưu ý, độ trễ cổng NOT hai cổng MUX góp phần vào độ trễ đường dẫn thực) Bởi vậy, nhiễu xung nhịp kết hợp với nhiễu tần số cao sơ đồ xung nhịp đơn bị loại bỏ, trở ngại liên quan đến số lượng đường dẫn bị giới hạn thời gian đo Ví dụ, đường dẫn có nguy phân tích hình 2.3 Các nguy phổ biến mạch logic tổng hợp đó, chúng ảnh hưởng tiêu cực đến phạm vi HT Một giải pháp thay thứ tư, gọi chuyển đổi thời gian sang kỹ thuật số (TDC), trình bày Hình 2.5 Tương tự sơ đồ RO, loại bỏ nhấp nháy xung nhịp đó, thu phép đo độ trễ đường dẫn tốt TDC ví dụ chuyển đổi “flash”, chuyển đổi số hóa độ trễ đường dẫn nhanh Bộ chọn đường dẫn hiển thị bên trái có nhiệm vụ chọn cặp đường dẫn, số tín hiệu xung nhịp Bộ chuỗi trễ hiển thị bên phải chịu trách nhiệm tạo hiển thị số khác biệt tương đối độ trễ hai đường dẫn đầu vào, PAx PBx Sự xuất trình chuyển đổi tăng giảm đường dẫn tạo cạnh chuỗi trễ (được gắn nhãn đầu tiên-“first” hình), 42 chuyển tiếp đường thứ hai tạo cạnh sau (có nhãn thứ hai-“second”) Độ rộng xung ban đầu (ngoài bên trái) hiển thị màu đỏ thể chênh lệch độ trễ hai tín hiệu định thời Xung truyền dọc theo chuỗi trễ thể thích dọc theo phần hình Hình Bộ chuyển đổi thời gian sang kỹ thuật số (TDC) Các đảo chuỗi trễ bao gồm bóng bán dẫn NFET chèn nối tiếp bổ sung hiển thị thích ngồi bên phải Một tín hiệu điều khiển tương tự có nhãn Calx sử dụng để điều khiển cường độ pull-down đảo, với điện áp cổng cao cho phép hoạt động nhanh Chuỗi đảo cấu hình với hai tín hiệu điều khiển vậy, Cal0 Cal1 Sự kết hợp hai cho phép kiểm soát tốc độ lan truyền cạnh thứ cạnh thứ hai Một cách độc lập trình hiệu chỉnh thực trước thực phép đo độ trễ để xác định giá trị tốt Cal0 Cal1 Các tín hiệu điều khiển analog thiết lập phép trường hợp xung xấu (xung rộng nhất) truyền qua hầu hết biến tần trước “biến mất” Xung biến cạnh thứ hai bắt kịp với cạnh thứ Q trình hiệu chỉnh mơ tả phần sau Đầu đảo chuỗi trễ kết nối với chốt "setreset" Sự có mặt xung âm (đối với đảo lẻ) xung dương (đối với đảo chẵn) thay đổi giá trị chốt từ thành Mã nhiệt kế số (TC), tức là, chuỗi số theo sau số nhiều số 0, tạo theo trình tự chốt sau thử nghiệm hồn thành TC chuyển đổi thành giá trị trễ tùy ý (nếu cần) cách sử dụng thông tin độ rộng xung áp 43 dụng q trình hiệu chỉnh Ngồi tốc độ nhanh (dưới 100 ns lần đo), TDC có khả thích ứng với số loại nguy mạch Ví dụ: Một loạt xung giới thiệu nguy cho mạch, nhiên, có xung rộng xác định giá trị TC ( xung ngắn kết thúc sớm chuỗi trễ), thành phần Edge Cut chọn đường dẫn sử dụng để định có mối nguy hiểm Một sơ đồ thứ năm, gọi REBEL, sử dụng chuỗi trễ để thu thông tin thời gian REBEL cấu trúc kiểm tra nhúng với trọng lượng nhẹ kết hợp thành phần chuỗi trễ TDC (khơng có đặc tính co xung) với kỹ thuật clock strobing-nhấp nháy xung nhịp đề cập Hình 2.4 Một lợi ích đáng kể REBEL so với TDC khả phục hồi hoàn toàn nguy mạch Trên thực tế, REBEL cung cấp thông tin thời gian liên quan đến cạnh liên kết với mối nguy hiểm thử nghiệm Launch-capture Như trước đó, cạnh tạo nguy mạch đại diện cho độ trễ số phân đoạn bên trong đơn vị chức Mặc dù thay đổi trình làm tăng thêm khơng chắn làm giảm tính hữu dụng chúng, nhiên điều lại làm tăng khả nhận biết diện HT tăng thêm hiệu cho trình đo độ trễ chứng kiến giúp giảm khả xảy định phát HT sai 2.2.2 Phương pháp phát HT dựa phân tích độ trễ đường dẫn Kỹ thuật phát HT sớm phương pháp đo chip Trong phương pháp phát HT, giả định phép đo độ trễ đường dẫn có độ xác cao Mặc dù khơng nêu rõ ràng, chiến lược tạo vectơ kiểm tra dường dựa mơ hình lỗi độ trễ chuyển tiếp tiêu chuẩn Y.Jin, Y.Markris [2] sử dụng phương pháp phát mơ hình GoldenChip Kỹ thuật thống kê đa biến sử dụng để lấy đặc điểm khác biệt từ tập đầy đủ độ trễ đường dẫn Các chip khơng có HT sử dụng để xây dựng phạm vi khơng có HT, đề cập “fingerprint” “fingerprint” xác định phạm vi có hình dạng "thay đổi độ trễ dọc mật độ chip" 44 Hình Đặc điểm “Convex hull” cho thấy phát HT HT phát cách so sánh độ trễ fingerprints đo từ chip kiểm tra tin cậy với ranh giới xác định fingerprint khơng có HT Y.Jin Y.Markris chứng minh kỹ thuật cách sử dụng mơ hai chuỗi vectơ có nguồn gốc ATPG áp dụng cho chức DES Phân tích thành phần nguyên tắc (PCA) sử dụng để lấy đặc điểm khác biệt từ tập hợp 10,432 độ trễ đường dẫn mô phương tiện để giảm không gian trống HT thành kiến trúc 3D Một kỹ thuật thống kê dựa đặc điểm thân tàu lồi không gian HT sử dụng để xác định ranh giới cho đầu số 64 đầu DES Bốn HT chèn vào tập mơ hình khác, với ba HT đại diện cho payload rõ HT đại diện cho payload ngầm HT Payload rõ HT chèn nhiều cổng bổ sung nối tiếp với đường dẫn thiết kế khơng có HT, payload ngầm HT biểu thị đếm đơn giản khơng có khả thay đổi đặc tính chức DES Chúng cho thấy payload rõ HT dễ dàng phát (xem Hình 2.6), payload ngầm HT phát xấp xỉ 36% thời gian Kỹ thuật đo độ trễ đường dẫn chip có độ xác cao bao gồm chiến lược phát HT dựa GoldenSim Kỹ thuật đo dựa sơ đồ xung nhịp kép mơ tả hình 2.4 Một tập hợp ghi bóng- Shadow Register thêm vào đầu từ thành phần tổ hợp thiết kế, bên cạnh capture FF ghi đích Hình 2.7a Xung nhịp thứ hai 45 sơ đồ đồng hồ kép, CLK2, sử dụng để điều khiển đầu vào xung nhịp ghi bóng CLK2 tạo phiên điều chỉnh "lệch pha" CLK1 cách sử dụng DCM FPGA Quá trình đo độ trễ đường dẫn đường dẫn kết hợp từ Hình 2.7 bắt đầu cách thiết lập độ lệch pha CLK2 thành giá trị âm nhỏ, theo thứ tự 10–100 ps (xem Hình 2.4) Một chuỗi hai vectơ áp dụng cho ghi nguồn cách sử dụng kiểm tra launch-capture Bộ so sánh, thêm vào thiết kế, sử dụng để xác định xem giá trị thu ghi đích bóng giống hay khác Nếu chúng giống nhau, trường hợp hoạt động nhấp nháy xung nhịp bắt đầu, độ lệch pha âm CLK1 CLK2 tăng lên áp dụng chuỗi hai vectơ Quá trình lặp lại so sánh giá trị khác Độ trễ thực tế đường dẫn tính cách nhân số lần dịch pha, n p , với t p cung cấp gia số dịch pha Quá trình trừ giá trị cho khoảng thời gian CLK1 thu ước tính độ trễ đường dẫn, t path , đưa phương trình Hình 2.7b Hình (a) Kiến trúc định thời đường dẫn chip b) Phương trình độ trễ đường dẫn thực tế 46 CHƯƠNG 3: THỰC THI PHÁT HIỆN MÃ ĐỘC PHẦN CỨNG BẰNG PHƯƠNG PHÁP ĐO ĐỘ TRỄ ĐƯỜNG DẪN 3.1 Thiết kế chèn HT vào mạch FPGA Như đề cập chương 1, Trojan phần cứng sửa đổi độc hại chèn vào mạch tích hợp bước thiết kế chế tạo Các HT nhỏ gây hư hỏng chức mạch Chúng khó phát phương pháp kiểm tra thông thường Do tác động nguy hiểm chúng, việc phát Trojan Phần cứng trở thành mối quan tâm lớn bảo mật phần cứng Khi Trojan đặt khu vực mạch, độ trễ khu vực bị thay đổi Quá trình bổ sung gate hay bỏ qua số gate, thay đổi kết nối dây dẫn khu vực lý ảnh hưởng đến trễ đường dẫn Ngày nay, mạch tích hợp thường lớn phức tạp Chúng có nhiều đầu vào, đầu nhiều đường dẫn Ta truy cập tất đường dẫn Vì vậy, q trình tạo vecto kiểm tra cho đường dẫn cần thời gian nỗ lực cách cẩn thận Việc quan sát tất đường dẫn mạch điện khơng thể thực được, cần chọn số đường dẫn để tiến hành phân tích Các phương pháp phát truyền thống thường phân tích độ trễ đường dẫn quan trọng Nhưng nên sử dụng đường dẫn ngắn để phát Trojan phần cứng với lý sau: 1) Kẻ công thông minh không thêm HT vào đường dẫn quan trọng, không thay đổi đường dẫn gây thay đổi đặc tính thời gian mạch dễ bị phát 2) Vì tác động Trojan độ trễ thường nhỏ, khác biệt độ trễ đường dẫn mạch (mạch khơng có HT) mạch có HT lớn hơn, thay đổi độ trễ đường dẫn dễ quan sát 3) Số lượng đầu vào dự kiến đường dẫn ngắn số lượng đầu vào đường dẫn dài Vì vậy, cần tạo vectơ kiểm tra phân tích chế độ khác đường dẫn Trên thực tế, việc tìm vectơ kiểm tra cho đường dẫn nhỏ dễ dàng nhiều 47 Trước hết, ta cần xác định xác đường dẫn dài ngắn Tiếp đến, mô hình hóa mạch điện dạng đồ thị có trọng số có hướng, có nút đầu vào, đầu dây dẫn mạch Gọi nút tương ứng với đầu vào, đầu dây dẫn mạch nút đầu vào, nút đầu nút dây Ngoài ra, lấy cạnh biểu đồ kết nối thực nút (ví dụ cổng mạch) Các cạnh hướng từ đầu vào cổng đến đầu cổng Theo cách này, đường dẫn đầu vào - đầu mạch tương đương với đường dẫn cực đại (có hướng) biểu đồ Nếu P đường biểu đồ, độ trễ định nghĩa là: Trong e ϵ P cạnh đường biểu thị độ trễ cổng Đối với nút đầu vào u nút đầu v, P tập hợp tất đường từ u đến v, độ trễ từ u đến v nhận bằng: Ta xem xét cặp (u; v) với giá trị nhỏ độ trễ (u; v) • Thiết kế HT Để chèn mã độc Trojan phần cứng, điểm đặc biệt quan trọng nằm chỗ thay đổi xảy mạch phỉa mức tối thiểu, Trojan mạch nhỏ kẻ công mong muốn đặt chúng vào mạch theo cách để việc sửa đổi đáp ứng mạch bị ẩn khỏi người dùng Trong bối cảnh này, khơng sử dụng mơ hình cụ thể cho Trojan khơng có hạn chế kiểu Trojan, cách Trojan cài đặt vào mạch, chèn Trojan thực ngẫu nhiên để đạt mục tiêu tốt Chương trình lựa chọn đường dẫn mơ tả trước có tùy chọn khác cung cấp cho ta dây, đầu vào, đầu chọn ngẫu nhiên mạch tùy thích Các thành phần lựa chọn độc lập cách sử dụng phân phối đồng Ví dụ, Hình 3.1 mô tả Trojan cho phép chèn vào mạch điện 48 Hình Mạch HT Coi tín hiệu đích Trojan tín hiệu S (mục tiêu Trojan nhằm vào vị trí mạch điện tổng hợp) Sau đặt thiết kế Trojan vào mạch tích hợp, tín hiệu S' sử dụng thay tín hiệu S Để tạo Trojan này, dây dẫn (wire1 – qua cổng logic đảo INV, wire2 ) đường vào InputPort sử dụng làm đầu vào mạch nhân (AND3) Đồng thời, dẫn khác wire3 cộng XOR2 với đầu AND3, tín hiệu đầu XOR2 lại cộng (OR2) với tín hiệu đầu vào S Tất đầu vào (wire1, 2, 3, InputPort S ) lập trình để chọn ngẫu nhiên Trước tiên, thiết kế nguyên phải hoàn thành tất bước để tổng hợp, mạch nguyên lý kết nối, định vị định tuyến cho mạch ban đầu Sau đó, mở tệp NCD ( tạo sau hồn thành bước trên) cơng cụ FPGA Editor chèn thêm mạch Trojan vào LUT Slices chưa sử dụng để đặt vào mạch thiết kế ban đầu Tệp NCD biểu diễn đáp ứng mạch đặt chip FPGA, Slice LUT chứa thông tin định tuyến Sau chèn Trojan, file bit sau tổng hợp, tạo sẵn sàng nạp trình vào chip FPGA Bằng cách sử dụng phương pháp để chèn Trojan, ta đảm bảo thay đổi tối thiểu thực mạch, với phương pháp chèn này, vị trí tiến trình định tuyến giống hai mạch điện trước sau chèn Trojan phần cứng Nhưng, ta thêm Trojan trước tổng hợp (hoặc chèn vào bước khác trình thiết kế chế tạo), cấu trúc mạch bị biến đổi thuật toán tối ưu hóa (ví dụ, Situs mơi trường thiết kế Altium Designer) sử dụng trình tổng hợp 49 Như đề cập trên, mạch Trojan mạch nhỏ gây ảnh hưởng tối thiểu đến thơng số thiết kế mạch tổng thể • Thiết kế giao tiếp ngoại vi UART Hình Bộ giao tiếp ngoại vi UART 50 • Tiến hành chèn HT vào mạch Hình 3 Bộ giao tiếp ngoại vi UART 51 3.2 Phân tích thống kê các kết • Trước chèn Trojan ta thu kết quả: Hình Tài nguyên sử dụng trước chèn Trojan 52 • Sau chèn Trojan ta thu kết quả: Hình Tài nguyên sử dụng sau chèn Trojan 53 Trước chèn Trojan Sau chèn Trojan 30.308ns 32.247ns -3.775ns -4.018ns Độ trễ đầu tối đa sau xung CLK Thời gian giữ xung CLK tối thiểu Bảng Kết trước sau chèn Trojan Trong bảng trên, chênh lệch độ trễ đầu tối đa sau xung CLK thời gian giữ xung CLK tối thiểu mạch khơng có Trojan mạch có Trojan chứng tỏ có Trojan mạch 3.3 Kiến nghị đề xuất Trong chương 3, tài liệu trình bày thiết kế mạch Trojan cổng giao tiếp ngoại vi UART vào phần mềm Altium Designer Summer 08 thiết kế vào Kit Nanoboard 2, thiết kế Trojan vào mạch thu lại kết Như với nội dung trình bày đồ án sử dụng độ trễ đường dẫn để phát Trojan phần cứng.Trên thực tế, sử dụng phương pháp vậy, ta kiểm tra mạch mà sau sản xuất Phương pháp làm giảm số lượng độ trễ đường dẫn cần đo điều quan trọng tính phức tạp mạch ngày Kết nghiên cứu cho thấy Trojan tác động đến độ trễ đường dẫn ngắn nhiều đường dẫn dài [11] Vì vậy, cần xác định đường dẫn ngắn đầu vào liên quan chúng (để tạo vectơ kiểm tra) số k chọn để quan sát Độ trễ đường dẫn k đường dẫn đo tương ứng so sánh với đường dẫn tương ứng mạch vàng Nếu có khác biệt phát tồn Trojan mạch Xác suất phát phương pháp phụ thuộc vào hai yếu tố: số lượng đường dẫn đo độ xác phép đo độ trễ Trong số trường hợp, thay đổi quy trình che giấu ảnh hưởng Trojan Tuy nhiên cần cải thiện xác suất phát theo thay đổi quy trình Hướng nghiên cứu đồ án tiến hành thực thi mạch thực tế tiếp tục sử dụng thông số kênh kề khác cơng suất dịng điện ( ngồi độ trễ đường dẫn trình bày đồ án) để nâng cao hiểu biết, từ có biện pháp để phịng chống việc chèn Trojan vào thiết bị phần cứng thiết bị mật mã 54 KẾT LUẬN - Tìm hiểu tổng quan khái niệm, cấu tạo mã độc phần cứng; - Nguy mã độc phần cứng thiết bị mật mã; - Một số phương pháp phát mã độc phần cứng; - Thực thi phát mã độc phần cứng mạch thiết kế FPGA phương pháp xác định độ trễ TÀI LIỆU THAM KHẢO [2] Yier Jin and Yiorgos Makris “Hardware Trojan Detection Using Path Delay Fingerprint” , 2018 [3] Tony F.Wu, Karthik Ganesan, Yunqing Alexander Hu, Student Member, H.S Philip Wong, Simon Wong, Subhasish Mitra, Fellow “TPAD: Hardware Trojan Prevention and Detection for Trusted Integrated Circuits” ,2015 [4] Mohammad Tehranipoor and Hassan Salmani Xuehui Zhang “Integrated Circuit Authentication Hardware Trojans and Counterfeit Detection”, 2014 [5] Atieh Amelian and Shahram Etemadi Borujeni “A Side-Channel Analysis for Hardware Trojan Detection Based on Path Delay Measurement”,2017 [6] S.T.King et al “Designing and implementing malicious hardware” LEET, 2008 [7] M Tehranipoor and F Koushanfar “A survey of hardware Trojan taxonomy and detection” IEEE DTC, 2010 [8] S Mal-Sarkar, A Krishna, A Ghosh, S Bhunia, “Hardware Trojan attacks FPGA devices: threat analysis and effective counter measures” [9] M Banga and M.S Hsiao, “A Region Based Approach for the Identification of Hardware Trojans”, HOST, 2009 [10], Swarup Bhunia Mark Tehranipoor, Hardware secuirity: A Hands – on Learning Approach, 2019 [11], Atieh Amelian and Shahram Etemadi Borujeni, A Side-Channel Analysis for Hardware Trojan Detection Based on Path Delay Measurement,2017 55 [12], D.M Ancajas, K Chakraborty, S Roy, Fort-NoCs: mitigating the threat of a compromised NoC, in Proceedings of the 51st Annual Design Automation Conference (ACM, 2014) [13], A Nejat, S M H Shekarian and M S Zamani, A study on the efficiency of hardware trojan detection based on path-delay fingerprinting, Microprocess Microsyst 38 ,2014 [14], S Bhunia, M S Hsiao, M Banga and S Narasimhan, Hardware trojan attacks: Threat analysis and countermeasures, Proc IEEE 102 ,2014 [15], T F Wu, K Ganesan, Y A Hu, H.-S P Wong, S Wong and S Mitra, Tpad: Hardware trojan prevention and detection for trusted integrated circuits, IEEE Trans Comput.- Aided Des Integr Circuits Syst, 2016 [16], G.K Contreras, A Nahiyan, S Bhunia, D Forte, M Tehranipoor “Security vulnerability analysis of design-for-test exploits for asset protection in SoCs”, in 22nd Asia and South Pacific Design Automation Conference (2017), pp 617-622 [17], B Shakya, T He, H Salmani, D Forte, M Tehranipoor, “Benchmarking of hardware Trojan and maliciously affected circuits” J Hardw Syst Secur (HaSS) 1(1), 85-102(2017) [18] A Baumgarten et al, “Embedded Systems Challenge (Iowa State University)”, CSAW Embedded System Challenge, 2008 [Online] Available: http://isis.poly.edu/∼vikram/iowa state.pdf 56

Ngày đăng: 24/08/2023, 19:47