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
1,07 MB
Nội dung
MỤC LỤC MỤC LỤC BẢNG VIẾT TẮT DANH SÁCH BẢNG .4 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 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 ả .12 1.2.1 Mã hóa bitstream 13 ct 1.2.2 tstr ng 1.2.3 1.3 c t ct .16 c .17 ận hƣơng 18 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 19 2.2 Thi t 2.3 Thi t 2.4 Thi t giải pháp 20 ần bảo v ộ -bit .22 i thự 22 2.4.1 Bộ tạo số ngẫu nhiên .22 uật to n ấu tr c ản t n s .23 ng đ ct c 24 2.4.4 Giao thức 1-wire .25 ưu đ t uật to n c ng tr n c n 26 2.5 t ả .26 2.6 t ận 27 CHƢƠNG GIẢI PHÁP MÃ HÓA THIẾTKẾFPGA 28 3.1 Giải pháp thực hi n 28 3.2 Thuậttoán GOST 28147-89 .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 Authenticated Encryption Mã hóa chứng th c AES Advanced Encryption Standard 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 CMAC Cipher-based MAC Khối nhớ truy cập ngẫu nhiên Mã xác th c d a mã hóa CPLD Complex Programmable Logic Device Linh kiện logic lập trình CRC Cyclic Redundancy Check ã hoàn EEPROM Electrically Erasable Programmable Read-Only Memory Bộ nhớ đọc có th xóa đ ện FIPS Federal Information Processing Standards Tiêu chuẩn x lý thông tin liên bang FPGA Field Programmable Gate Array 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 LUT Look-Up Table Thanh ghi dịch phản h i tuyến tính Bảng tra MAC Message Authentication Code 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 tr t ừa tuần DANH SÁCH BẢNG ảng - c ảng - ố s ữ l ệu s ng t uật to n 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 c t 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 ết ế ộ tạo số ngẫu n 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ơng có 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 c c ố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ậttoánmậ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ậttoá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 p công bảovệthiếtkế FPGA, thuật to n ă 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 ngun 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 mà 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á c o 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ế Ánh xạ định tuyến H nh 1.1: Quy trình từ HD Placelist 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 c v c o c t c, c c ữ l ệu cần t ết g ép vớ n u t n ột ố ữ l ệu t, s u đệm thêm byte đ đ 448 bit, thêm t c t ước khố đ tạo thành khối 512 bit Dữ liệu tổ chức n ảng 2.2 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 ƣ 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 2.4.5 RESET DS28E01 &Đ C ID TĐ U I O C Đ CD M NV U N A DS28E01 NG RESET DS28E01 &Đ C ID KHÔNG CHO T NH T Đ NG Đ C Ả T RESET DS28E01 &Đ C ID R MAC NH Đ C N Sai U NHIÊN 8-BIT SO NH MAC NH T Ả ng GHI Sai H nh 2.6 t ƣ th ật t án P T Y T ng < BYTE? 2.5 CHO P N U NHIÊN V O DS20E01 ồng iề NH 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 2.6 Tài nguyên có sẵn Tỷ l sử dụng Flip-Flop 121 11440 1% LUT 199 5720 3% t ận rong c ng n , luận văn tr n c c c t ết t ết ế l c t 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ó ả p t ện ã ngu n c ng tr n ị t đổ c ộ tạo số ngẫu n n c tr đ n g v độ 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 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 trình xác th c 3.2 Thuậttoán GOST 28147-89 uật to n t l t uật GOST 28147- n c u n t 34.12-2015 [14]) uật to n t t ước ố t, độ ó l to n ã ó tr n c uẩn t uật to n n ột c uẩn ã ó c uẩn ết ế tr n cấu tr c F st l vớ c ts v có số vòng l vòng 3.2.1 Ký hi u rong c uẩn n c c ý ệu s u s ng V* ập ợp tất c c c uỗ n ị p ân độ c uỗ trống ữ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 UW tập U v tập W; )c c uỗ A V* A – c uỗ |A| ố t n p ần độ trống, t |A| = 0); A||B Nố c c uỗ A, B V*, tức l ột c uỗ từ V|A| + |B|, c uỗ c c t n p ần có c ỉ số lớn từ V|A| trùng vớ c uỗ A v c uỗ vớ c c t n p ần có c ỉ số n ỏ từ V|B| trùng vớ vớ c uỗ B; A