Nghiên cứu và ứng dụng thuật toán mật mã bảo vệ thiết kế FPGA

39 81 0
Nghiên cứu và ứng dụng thuật toán mật mã bảo vệ thiết kế FPGA

Đ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

MỤC LỤC MỤC LỤC BẢNG VIẾT TẮT DANH SÁCH BẢNG DANH SÁCH HÌNH TÓM TẮT LUẬN VĂN MỞ ĐẦU CHƢƠNG MỘT SỐ PHƢƠNG PHÁP TẤN CÔNG VÀ BẢO VỆ THIẾT KẾ FPGA 1.1 Một số phƣơng pháp công 9 1.1.1 Nhân bản, dán nhãn sai sản xuất vượt số lượng 1.1.2 Kỹ thuật đảo ngược 10 1.1.3 Kỹ thuật công đọc lại 11 1.2 Một số phƣơng pháp 1.2.1 1.2.2 ct 1.2.3 1.3 ả 12 Mã hóa bitstream c ận tstr 16 c t c 17 hƣơng 18 ng t 13 CHƢƠNG GIẢI PHÁP BẢO VỆ THIẾT KẾ FPGA BẰNG IC XÁC THỰC 19 2.1 h n th nh phần ự 2.2 Thi t 2.3 Thi t 2.4 giải pháp ần bảo v Thi t 2.4.1 i ộ t 2.6 ng đ Giao thức 1-wire ưu đ t uật to n c 2.5 -bit 22 22 Bộ tạo số ngẫu nhiên ấu tr c ản t n s 2.4.4 20 thự uật to n t 22 23 c t c 24 25 ng tr n c n 26 ả ận 19 26 27 CHƢƠNG GIẢI PHÁP MÃ HÓA THIẾT KẾ FPGA 28 3.1 Giải pháp thực hi n 3.2 Thuật toán GOST 28147-89 28 28 3.2.1 Ký hiệu 28 3.2.2 Phép biến đổi Sbox 30 3.2.3 Các biến đổi 30 3.2.4 Thuật to n lược đ khóa 31 3.2.5 Thuật to n ã ó c ản 31 3.3 Xây dựng phần mềm mã hóa 32 3.4 Thi t k giải mã 33 3.5 Thi t k lõi mật mã GOST 28147-89 34 3.6 Mô thử nghi m 35 3.7 K t luận 37 KẾT LUẬN 38 TÀI LIỆU THAM KHẢO 39 BẢNG VIẾT TẮT hi ngh Ti ng Anh ngh Ti ng Vi t AE AES Authenticated Encryption Advanced Encryption Standard Mã hóa chứng th c Chuẩn mã hóa tiên tiến ASIC Application Specific Integrated Circuit Mạch tích hợp chuyên d ng AXI Advanced eXtensible Interface Giao tiếp mở rộng tiên tiến BRAM Block Random Access Memory Khối nhớ truy cập ngẫu CMAC CPLD Cipher-based MAC Complex Programmable Logic Device nhiên Mã xác th c d a mã hóa Linh kiện logic lập trình CRC Cyclic Redundancy Check ã tr t ừa tuần hoàn EEPROM FIPS Electrically Erasable Programmable Read-Only Memory Federal Information Processing Bộ nhớ đọc có th xóa đ ện Tiêu chuẩn x lý thông tin liên FPGA Standards Field Programmable Gate Array bang Mảng cổng lập trình HDL Hardware Description Language Ngơn ngữ mơ tả phần cứng IC Integrated Circuit Mạch tích hợp ICAP Internal Configuration Access Port Cổng cấu hình IO Input Output Cổng vào LFSR Linear Feedback Shift Register Thanh ghi dịch phản h i tuyến LUT MAC Look-Up Table Message Authentication Code tính Bảng tra Mã tin xác th c PCB Printed Circuit Board Bảng mạch in RAM Random Access Memory Bộ nhớ truy cập ngẫu nhiên RNG Random Number Generator Bộ tạo số ngẫu nhiên DANH SÁCH BẢNG ảng ảng - c ố s ng t uật to n ữ l ệu s ng đ t n g trị Bảng 2-3: Thông số tài nguyên s d ng sau tổng hợp -1 25 26 29 DANH SÁCH HÌNH n u tr n từ D đến bitstream 10 n ết ợp qu tr n ã o v ct c tstr 16 n ô n p ng t ức s ng c t c 10] 18 n ết ế l c t c v ứng ng 20 n u tr n oạt động c l c t c 21 n ết ế c n ộ đế t 22 n n ết ế ộ tạo số ngẫu n 22 n ản đ sóng c g o t ức -Wire 25 n ưu đ t uật to n lu ng đ u n c n 26 Hình 3.3 Phần m m mã hóa tệp cấu hình FPGA 33 Hình 3.4 Giải thuật th c phần m m 33 Hình 3.5 Cấu trúc giải mã tệp cấu hình 34 Hình 3.6 Giải thuật th c Microblaze 34 Hình 3.7 Cấu trúc lõi mật mã GOST 28147-89 35 n Đóng gó P c a lõi mật mã GOST 28147-89 s d ng Xilinx Vivado 35 Hình 3.9 Mơ th nghiệm lõi mật mã GOST 28147-89 36 Hình 3.10 Th nghiệm sau nạp thiết kế cộng 37 TÓM TẮT LUẬN VĂN Luận văn ô tả số p ng p p cơng nhằm chép phân tích trái phép thiết kế FPGA (Field-Programmable Gate Array) p ng pháp bảo vệ tích c c nhằm bảo vệ thiết kế FPGA Hai giải pháp mã hóa bitstream giải pháp s d ng vi mạch xác th c l a chọn đ th c nghiệm Giải pháp s d ng vi mạch xác th c ướng đến cho vi mạch FPGA giá thấp khả t cấu n động, khơng có t n ảo vệ c a nhà sản xuất FPGA Giải pháp xây d ng d a vi x lý m m Picoblaze vi mạch xác th c DS28E01 Vi x lý Picoblaze tiến hành trình xác th c với DS28E01, từ qu ết định cho phép thiết kế cần bảo vệ phép hoạt động Kết th c nghiệm giải pháp thiết kế đ p ứng yêu cầu đặt ra: chiếm tài nguyên c a linh kiện FPGA, s d ng chân linh kiện, giao thức đ n g ản giá thành mua linh kiện rẻ Giải pháp thứ hai mã hóa bitstream, thiết kế FP tổng hợp, ánh xạ thiết kế vào tài nguyên FP , s u tạo tệp liệu cấu n v mã hóa phần m m tn u truy n xuống bo mạc , giải mã lõi thuật toán GOST 28147-89 cấu n v o vùng t ngu n FP địn trước Đ th c giải pháp, giả ã tstr FP xây d ng d a vi x lý m m Microblaze lõi IP GOST 28147-89 Th c nghiệm cho thấy, giải p p đ xuất đ p ứng m c tiêu bảo vệ thiết kế FPGA mà không s d ng giải pháp bảo vệ c a nhà sản xuất vi mạch FPGA MỞ ĐẦU Lý lựa ch n ề tài FPGA linh kiện bán ẫn đ ng, có th lập trình tái lập tr n được, t ường s d ng đ mô tả hàm logic c người thiết kế Từ nă 000, nhà sản xuất FPGA đư t cc ối chức năng, trước ngoại vi bên ngoài, vào FPGA Hiện nay, linh kiện FPGA có th chứa x lý nhúng, khối x lý tín hiệu số, thu truy n liệu gigabit, khối quản lý ung đ ng h chuy n đổ tư ng t số (ADC)… Các thành phần sẵn có khả t lập tr n làm cho FPGA có th sánh ngang với vi mạch tích hợp chuyên d ng (ASIC: Application Specific Integrated Circuit) so sánh v hiệu năng, chi phí thời gian phát tri n Phần lớn FPGA hệ mớ đ u sản xuất d a công nghệ đ cạnh tranh so với ASIC v hiệu suất, đ ện v c p n cấu hình lại, khả có th th c chức n o khả t n to n song song l c o FP có ưu t ế vượt trội so với vi x lý tuần t S phát tri n khả v ông g n ứng d ng c a FPGA tạo nên hai vấn đ v bảo mật Thứ thiết kế FPGA ngày tiêu tốn nhi u ngu n l c đầu tư, cần phả bảo vệ Thứ hai, s tăng n n s d ng FPGA ứng d ng yêu cầu t n ảo mật, vậ t n ảo mật thiết kế FP qu n tâ lĩn v c quân độ , đ u n-t động, công nghiệp tiêu dùng, nghiên cứu cộng đ ng, ặc ù mỗ lĩn v c có yêu cầu qu n đ m bảo mật riêng Đ giải vấn đ bảo mật, hãng sản xuất FP t c hợp giải pháp bảo mật vào thiết bị c a họ Tuy nhiên, việc th c giải p p n t ường tri n khai dòng sản phẩ đắt ti n có th t n lỗ hổng làm lộ khóa Do đó, luận văn đ v o ng n cứu biện pháp công bảo vệ thiết kế cho FPGA d a công nghệ SRAM từ t nghiệm giải pháp cho phép thay biện pháp bảo vệ c a nhà sản xuất FPGA Một thuận lợi c a học v n l đ tài luận văn l ột phần nhiệm v nghiên cứu c a học viên tạ c qu n cơng t c Do đó, ọc v n có đ u kiện tiếp xúc, khai thác trang thiết bị sẵn có tạ đ n vị Mụ tiê ề tài - Nghiên cứu, tìm hi u c c p ng p p công bảo vệ thiết kế FPGA -Th c nghiệm tri n khai hai giải pháp bảo vệ thiết kế FPGA giải pháp s d ng cho thiết bị giá thấp s d ng vi mạch xác th c giải pháp s d ng thuật tốn mật ã đ mã hóa bitstream c a thiết kế FPGA Giải pháp s d ng vi mạch xác th c cần n ỏ gọn c ế t t ngu n c l n ện FPGA, giao tiếp vớ v ạc c t c ngo cần s ng t c ân l n ện Giải pháp mã hóa bitstream tri n khai d a hệ nhúng với vi x lý Microblaze, giải mã thuật tốn GOST 28147- mơ hình hóa mức truy n ghi RTL Phƣơng pháp nghiên ứu Đ th c m c t u tr n, p ng p p ng n cứu s d ng g m: - Phương pháp nghiên cứu lý thuyết: Nghiên cứu tìm hi u p ng p công bảo vệ thiết kế FPGA, thuật to n ă p SHA-1, mã khối GOST 28147-89, kỹ thuật lập trình cho hệ vi x lý, kỹ thuật mơ hình hóa chức p ần cứng mức RTL ngôn ngữ mô tả phần cứng Verilog từ nghiên cứu tri n khai giải pháp bảo vệ thiết kế FPGA - Phương pháp thiết kế: Phát tri n xây d ng giải pháp d a hệ vi x lý lõi IP mức RTL Tổng hợp phần cứng với công nghệ FPGA; - Phương pháp mô kiểm chứng: Mô thiết kế lõi IP mật mã phần m m ISE Simulator Vivado Simulator nhằm ki m tra chức đ n gệu c a lõi mật mã - Phương pháp kiểm thực: Ki m nghiệm thiết kế bo mạch phát tri n K t cấu luận ăn Cấu trúc c a luận văn bố c c t n c ng ng đ cập đến số p ng p p công bảo vệ thiết kế FP ng đ cập đến giải pháp bảo vệ thiết kế FPGA thông qua vi mạch xác th c Giải pháp mã hóa thiết kế FPGA tr n ng Cuối số kết luận v ướng phát tri n Chƣơng MỘT SỐ PHƢƠNG PHÁP TẤN CÔNG VÀ BẢO VỆ THIẾT KẾ FPGA 1.1 Một số phƣơng pháp công 1.1.1 Nhân bản, dán nhãn sai sản xuất ƣợt số ƣợng FPGA c p đ năng, có ng ĩ liệu cấu hình (bitstream) cung cấp cho thiết bị có th s d ng cấu hình cho linh kiện FPGA họ v có c t ước tư ng đ ng N vậy, kẻ cơng có th việc ghi lại bitstream c ng truy n tả đến FPGA s d ng hệ thống sản phẩm khác, việc làm nhái rẻ n n u so với gốc Việc nhân không yêu cầu nhi u tài nguyên so với việc phân tích logic không yêu cầu kỹ sư c o cấp Đ u có th coi lỗ hổng bảo mật c a FPGA SRAM Kẻ công, người khơng cần hi u chi tiết v thiết kế, có th coi thiết kế n l ột hộp đ n v c ỉ cần đầu tư v o v ệc chép bảng mạch mà FP gắn đó, nên tiết kiệ khoản chi phí phát tri n Nhà thiết kế phát tri n hệ thống t ường có hai mối lo ngại liên qu n đến nhân Thứ nhất, hệ thống nhái gây tổn hại v doanh thu sau đầu tư lớn cho trình nghiên cứu phát tri n sản phẩm Thứ hai, sản phẩm nhái ln có chất lượng é n n u so với sản phẩm gốc, nên hệ thống giả giống n ệ thống gốc, làm danh tiếng tăng c p hỗ trợ khách hàng Do vậy, p ng p p ệu đ chống lại kẻ cơng tăng g t n c o v ệc công nhân thành công, vớ p ng p p n , lợi nhuận t u từ việc nhân thiết kế tiến đến không Ngành công nghiệp đ ện t đối mặt với việc làm giả phần cứng nhi u thập kỷ qua, hầu hết đến từ khu v c Châu Á Bên cạnh việc chép trộm thiết kế, sản xuất vượt định mức mối quan tâm lớn cho nhi u công ty Khi sản phẩ sản xuất bên thứ ba, trình sản xuất, lắp ráp ki m tra phần cứng trước đư đến người tiêu dùng th c bên thứ ba, o sản phẩm có th sản xuất nhi u n số lượng đặt ng v n vượt q mà khơng phải chịu chi phí phát tri n Thậm chí, mẫu thiết kế có th bị bán cho đối th cạnh tranh (P l out, tstr ) Đ tr n đ u này, công ty sản xuất phải đ đ u kiện c sở vật chất, đ ng t n cậy cần “g s t” họ, n ưng đ u khó có th th c nhi u quốc gia không khả thi cho nhi u công ty nhỏ Dán nhãn sai FP phát tri n hệ thống S l vấn đ lớn nhà sản xuất FPGA đổi ó đ n ấu gó l đ u bình t ường nhà thiết kế hệ thống l n nhi u nă , đ khiến cho kỹ thuật đảo ngược hệ thống t ó ăn Tuy nhiên, FPGA ông mua thông qua nhà phân phố y quy n, người dùng khó có th chắn thành phần n đóng gó t o đ ng n bao bì Nếu thiết bị hoàn toàn khác nhau, thành viên họ FPGA n ưng nhỏ n, đ u l đ n g ản đ ki m tra, sau mua Mức tốc độ (speed grade) c a thiết bị c o p ép c định tần số tố đ t ết bị có th hỗ trợ, tu n n đâ l t ông số khó có th đo m, nên FPGA có mức tốc độ thấp n có th ghi nhãn sai mức c o n bán với giá co n so với giá trị thật ơng có c c n o c o người mua người bán th c s biết đóng gó n c p, ngồi việc cấu hình chúng quan sát kết Đối với công t t ng , p ng t ức an toàn mua thiết bị từ nhà cung cấp từ nhà phân phối mua mạng, nhiên số người cần số lượng nhỏ với giá rẻ, có ngu c p ả đối diện với s gian dối 1.1.2 Kỹ thuật ảo ngƣợc Có th địn ng ĩ ỹ thuật đảo ngược (reverse engineering) bitstream th c biến đổi thông tin bitstream thành mô tả chức c a thiết kế n đầu kỹ thuật đảo ngược trình x lý biến đổi bitstream quay trở lại ngôn ngữ mô tả phần cứng (Hardware decription language – HDL) netlist HDL Netlist Tổng hợp thiết kế Placelist Ánh xạ định tuyến H nh 1.1: Quy trình từ HD Bitstream Lập mã n bitstream Từ liệu đảo ngược có th c định liệu quan trọng từ bitstream, n khóa, nội dung BRAM/LUT trạng thái cell nhớ, mà không cần khôi ph c đầ đ chức ỹ thuật đảo ngược hợp pháp nhi u nước với số hạn chế đ th c tư ng t c oặc phát hành vi xâm phạm sáng chế quy n c Đảo ngược toàn bitstream biết toàn thiết kế liệu có th s d ng đ sản xuất bitstream hoàn toàn khác so vớn đầu, n khó chứng n hành vi xâm phạm quy n Ngồi ra, ữ l ệu bí mật ẩn bitstream bị phát kẻ công 10 M8 page_data28 page_data29 page_data30 page_data31 M9 scratchpad2 scratchpad3 M10 0x40 0x33 M11 0xFF 0xFF serial_num0 serial_num1 serial_num2 serial_num3 serial_num4 serial_num5 M12 secret4 secret5 secret6 secret7 M13 scratchpad4 scratchpad5 scratchpad6 0x80 M14 0x00 0x00 0x00 0x00 M15 0x00 0x00 0x01 0xB8 Đ t ến n t n to n g trị p cv co l ệu cần t ết g ép vớ n ut n ột ố ữ l ệu đệm thêm byte đ đ 448 bit, thêm t c t ước khố đ 512 bit Dữ liệu tổ chức n ảng 2.2 c t c, c c ữ t, s u tạo thành khối 2.4.4 Giao thức 1-wire 1-Wire chuẩn bus giao tiếp với thiết bị ngoại vi thiết kế Dallas Semiconductor Corp Chuẩn cung cấp việc truy n liệu tốc độ thấp ngu n ni qua chân tín hiệu đ n Thiết bị ch th c khởi tạo v đ u n qu tr n tr o đổi thông tin với nhi u thiết bị giao thức đ u n mô tả n Hình 2.5 H nh 2.5 Giản ng gi thứ 1-Wire (https://mysite.du.edu/~etuttle/electron/elect74.htm ) 25 2.4.5 ƣ th ật t án hƣơng t nh h nh Bộ vi x lý m m Picoblaze trung tâm c a lõi xác th c, th c đ u n tr o đổi thông tin với DS28E01 qua bus 1-Wire, tính tốn giá trị đ th c xác th c C ng tr n đ P co l lập trình theo giải thuật có lưu đ miêu tả Hình 2.6 TĐ U RESET DS28E01 &Đ C ID Đ CD IOC NV U M N A DS28E01 NG RESET DS28E01 &Đ C ID KHÔNG CHO T NH T Đ NG Đ C RESET DS28E01 &Đ C ID T Ả NH NH MAC R MAC Sai Đ C N U NHIÊN 8-BIT SO NH T Ả ng GHI N CHO P U NHIÊN V O P T Y DS20E01 Sai ng < BYTE? H nh 2.6 2.5 t ƣ NH th ật t án T ồng iề C hi n h nh ả Thiết kế lõi xác th c d tr n p co l tổng hợp công nghệ FPGA Spartan (XC6SLX9) công c thiết kế ISE c a hãng Xilinx Tài nguyên Flip-Flop LUT phần cứng c c p FP s d ng cho th c lõi xác th c Bảng 2-3, với tỷ lệ s d ng tư ng ứng 1% 3% Vớ lượng tài nguyên s d ng thấp n vậy, khả thi thiết kế s d ng vi mạch FPGA có tài ngun u tổng ợp, t ết ế n ạ, tr n v nạp v o o ạc t ng ệ v t ết ế c ổn địn ô-đun c t c gắn tr n o ạc , s u t ến n c t c, ộ đế 26 t ến n đế v n t ị ết tr n ã đ n l ô-đun t o r o t ết ế ị t đổ , ộ đế ông oạt động Bảng 2-3 Thông số tài nguyên s d ng sau tổng hợp Loại tài nguyên Tài nguyên sử dụng Tài nguyên có sẵn Tỷ l sử dụng Flip-Flop 121 11440 1% 199 5720 3% LUT 2.6 t ận rong c ng n , luận văn tr n ccc t ết t ết ế l ct c t ết ế ết ế đạt ột số u cầu nư g t n rẻ v l ct cs ng t t ngu n c l n ện u n n, t ết ế n ột số ạn c ế n ết ế ơng có ả c ống lạ công p ân t c ngược o ơng có c c ế ã o lu ng ữ l ệu cấu n ết ế đ n g ản n n ơng có c ng tr n ị t đổ c ộ tạo số ngẫu n n c - ả p t tr đ n g v ện ã ngu n độ ngẫu n n 27 Chƣơng GIẢI PHÁP MÃ HÓA THIẾT KẾ FPGA 3.1 Giải pháp thực hi n Toàn hệ thống thiết kế chia làm hai phần: thiết kế cần bảo vệ lõi giả ã N n u c ng trước, thiết kế cần bảo vệ s d ng ch yếu ph c v m c tiêu th nghiệm cho giải pháp bảo vệ, nên tác giả chọn cộng đ làm thiết kế giả định Dữ liệu cấu hình thiết kế th c mã hóa thuật tốn GOST 28147-89 Thiết kế cần bảo vệ cấu hình sau q trình giải mã thành cơng Bộ giải mã th c nhiệm v giải mã thiết kế thiết kế nhận Sau đó, cấu hình thiết bị FPGA phần tài nguyên địn trước thiết bị ết ế l giải mã xây d ng d a vi x lý Microblaze lõi thuật tốn GOST 28147-89 Quy trình th c hiện: ước 1: Xây d ng thiết kế lập trình, tổng hợp thiết kế, tri n khai thiết kế FPGA tạo tệp cấu hình c a thiết kế cần bảo vệ ước 2: S d ng phần m m mã hóa tệp cấu hình thiết kế cần bảo vệ, lưu v o t ết bị nhớ flash, thẻ sd hay NVRAM ước 3: Khởi tạo thiết bị với lõi giải mã xác th c thiết kế ước 4: Tải thiết kế mã hóa, giải mã xác th c tệp cấu hình u t ến hành cấu hình FPGA vượt qu q trình xác th c 3.2 Thuật tốn GOST 28147-89 uật to n t ã ó tr n c uẩn t uật to n l t uật to n GOST 28147- n c u n t n uật to n ột c uẩn ã ó c uẩn 34.12-2015 [14]) ế tr n cấu tr c F st l vớ c t ết ó l ts v t ước ố t, độ có số vòng l vòng 3.2.1 Ký hi u rong c uẩn n cc ý ệu s u s ng V* ập ợp tất c c c uỗ c uỗ trống n ị p ân độ ữu ạn, g Vs ập tất c c c uỗ n ị p ân độ s, s l số ngu n ơng â v ệc đ n số c c c uỗ v t n p ần c c uỗ t c ện từ p ả qu tr đầu từ 28 c t ẳng đ -c c) c tập U v tập W; ố t n p ần độ ) c c uỗ A  V* A – c uỗ UW |A| trống, t |A| = 0); Nố c c uỗ A, B  V*, tức l A||B ột c uỗ từ V|A| + |B|, c uỗ c c t n p ần có c ỉ số lớn từ n V|A| trùng vớ c uỗ A v c uỗ vớ c c t p ần có c ỉ số n ỏ từ V|B| trùng vớ vớ c uỗ B; Dịc vòng c c uỗ A  V32 đ t n p ần v p c c t n p ần có c ỉ số lớn P ép cộng o ulo t o t n p ần c c uỗ A

Ngày đăng: 09/10/2019, 09:29

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan