Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 39 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
39
Dung lượng
2,05 MB
Nội dung
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ẢOVỆTHIẾTKẾ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ẢOVỆTHIẾTKẾ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ẾTKẾFPGA 28 3.1 Giải pháp thực hi n 3.2 Thuậttoá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ậtmã 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ậtmã GOST 28147-89 35 n Đóng gó P c a lõi mậtmã GOST 28147-89 s d ng Xilinx Vivado 35 Hình 3.9 Mơ th nghiệm lõi mậtmã GOST 28147-89 36 Hình 3.10 Th nghiệm sau nạp thiếtkế 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ếtkếFPGA (Field-Programmable Gate Array) p ng pháp bảovệ tích c c nhằm bảovệthiếtkế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ếtkế cần bảovệ phép hoạt động Kết th c nghiệm giải pháp thiếtkế đ 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ếtkế FP tổng hợp, ánh xạ thiếtkế 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ậttoá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ảovệthiếtkếFPGAmà không s d ng giải pháp bảovệ 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ếtkế 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ảomật Thứ thiếtkếFPGA ngày tiêu tốn nhi u ngu n l c đầu tư, cần phả bảovệ 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ậtthiếtkế FP qu n tâ lĩn v c quân độ , đ u n-t động, công nghiệp tiêu dùng, nghiêncứu cộng đ ng, ặc ù mỗ lĩn v c có yêu cầu qu n đ m bảomậ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ảomậ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ảovệthiếtkế 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ảovệ 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êncứ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ảovệthiếtkếFPGA -Th c nghiệm tri n khai hai giải pháp bảovệthiếtkế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ếtkế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êncứu lý thuyết: Nghiêncứu tìm hi u p ng p công bảovệthiếtkế 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êncứu tri n khai giải pháp bảovệthiếtkế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ếtkế lõi IP mậtmã phần m m ISE Simulator Vivado Simulator nhằm ki m tra chức đ n gệu c a lõi mậtmã - Phương pháp kiểm thực: Ki m nghiệm thiếtkế 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ảovệthiếtkế FP ng đ cập đến giải pháp bảovệthiếtkếFPGA thông qua vi mạch xác th c Giải pháp mã hóa thiếtkế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ẢOVỆTHIẾTKẾ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ảomậ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ếtkế 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ếtkế 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êncứ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ếtkế 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ếtkế 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ếtkế 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ếtkế 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ếtkế 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ànthiếtkế 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ếtkế 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ếtkế 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ếtkế 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ếtkế 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ẾTKẾFPGA 3.1 Giải pháp thực hi n Toàn hệ thống thiếtkế chia làm hai phần: thiếtkế cần bảovệ lõi giả ã N n u c ng trước, thiếtkế cần bảovệ 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ếtkế giả định Dữ liệu cấu hình thiếtkế th c mã hóa thuật tốn GOST 28147-89 Thiếtkế cần bảovệ 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ếtkếthiếtkế 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ếtkế lập trình, tổng hợp thiết kế, tri n khai thiếtkếFPGA tạo tệp cấu hình c a thiếtkế cần bảovệ ước 2: S d ng phần m m mã hóa tệp cấu hình thiếtkế 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ếtkế ước 4: Tải thiếtkế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 U× W 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ỗ |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