Tấn công phân tích điện năng tiêu thụ lên aes-128

Tài liệu Tấn công phân tích điện năng tiêu thụ lên aes-128: Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 39, 10 - 2015 57 TẤN CÔNG PHÂN TÍCH ĐIỆN NĂNG TIÊU THỤ LÊN AES-128 Trần Ngọc Quý* Tóm tắt: Tấn công phân tích điện năng tiêu thụ là một dạng của tấn công kênh kề, dựa trên việc phân tích điện năng tiêu thụ của thiết bị mật mã. Tấn công phân tích điện năng tiêu thụ tương quan (CPA-Correlation Power Analysis), một dạng của tấn công phân tích điện năng tiêu thụ, là kỹ thuật thám mã có hiệu quả và sức mạnh. Nó khai thác mối quan hệ tuyến tính giữa điện năng tiêu thụ giả định và điện năng tiêu thụ thực tế của thiết bị mật mã để thể tìm ra khóa. Điện năng tiêu thụ giả định của thiết bị mật mã được quyết định bằng cách sử dụng mô hình điện năng tiêu thụ thích hợp. Trong bài báo này, một số mô hình điện năng tiêu thụ của thiết bị mật mã được trình bày và việc áp dụng một mô hình điện năng tiêu thụ trong tấn công CPA lên AES-128 cũng được trình bày chi tiết cùng với các kết quả đạt được. Từ khóa: DPA, ...

pdf6 trang | Chia sẻ: quangot475 | Lượt xem: 370 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Tấn công phân tích điện năng tiêu thụ lên aes-128, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 39, 10 - 2015 57 TẤN CÔNG PHÂN TÍCH ĐIỆN NĂNG TIÊU THỤ LÊN AES-128 Trần Ngọc Quý* Tóm tắt: Tấn công phân tích điện năng tiêu thụ là một dạng của tấn công kênh kề, dựa trên việc phân tích điện năng tiêu thụ của thiết bị mật mã. Tấn công phân tích điện năng tiêu thụ tương quan (CPA-Correlation Power Analysis), một dạng của tấn công phân tích điện năng tiêu thụ, là kỹ thuật thám mã có hiệu quả và sức mạnh. Nó khai thác mối quan hệ tuyến tính giữa điện năng tiêu thụ giả định và điện năng tiêu thụ thực tế của thiết bị mật mã để thể tìm ra khóa. Điện năng tiêu thụ giả định của thiết bị mật mã được quyết định bằng cách sử dụng mô hình điện năng tiêu thụ thích hợp. Trong bài báo này, một số mô hình điện năng tiêu thụ của thiết bị mật mã được trình bày và việc áp dụng một mô hình điện năng tiêu thụ trong tấn công CPA lên AES-128 cũng được trình bày chi tiết cùng với các kết quả đạt được. Từ khóa: DPA, CPA, Phân tích điện năng tiêu thụ, Tấn công phân tích năng lượng tương quan, Tấn công phân tích năng lượng vi sai. 1. GIỚI THIỆU Các thiết bị mật mã được sử dụng để đảm bảo tính bí mật của thông tin. Các thiết bị này thường lưu trữ khóa bí mật và được sử dụng cùng với một thuật toán mật mã. Các thuật toán mật mã được phân tích và thiết kế đảm bảo chống lại các tấn công về phương diện toán học. Một điều không may, thiết bị thực thi các thuật toán mật mã được xác nhận an toàn về mặt toán học lại có thể rò rỉ một lượng thông tin nhất định, được gọi là thông tin kênh kề, ví dụ như thời gian thực hiện [16], bức xạ điện từ trường [9], điện năng tiêu thụ [5]. Các thông tin này có thể được sử dụng để khám phá ra khóa của thiết bị mật mã. Tấn công phân tích điện năng tiêu thụ (PAA: Power Analysis Attacks) khai thác mối quan hệ giữa thông tin bên trong và điện năng tiêu thụ của thiết bị mật mã. Tấn công phân tích năng lượng đơn giản (SPA – Simple Power Analysis) [8], dựa trên những hiểu biết chi tiết về thuật toán mật mã và quan sát hình ảnh của vết điện năng tiêu thụ của thiết bị mật mã để qua đó tìm ra khóa bí mật. Tấn công phân tích năng điện năng tiêu thụ vi sai (DPA – Differential Power Analysis) [8], có hiệu quả hơn, yêu cầu hiểu biết về thuật toán mật mã được được cài đặt ít hơn, sử dụng phương pháp phân tích thống kê để khai thác mối quan hệ giữa điện năng tiêu thụ thực tế và điện năng tiêu thụ giả định của thiết bị mật mã qua đó tìm ra khóa. CPA [7], một biến thể của DPA, trong đó, hệ số tương quan được sử dụng để so sánh điện năng tiêu thụ thực tế và điện năng tiêu thụ giả định. Cơ sở lý thuyết của PAA dựa trên việc phân tích điện năng tiêu thụ của thiết bị mật mã bởi điện năng tiêu thụ của mạch điện phụ thuộc vào dữ liệu mà nó xử lý [2]. Trong trường hợp thuật toán mật mã thì đó là dữ liệu khóa và rõ. Và, nếu ta biết được dữ liệu rõ và điện năng tiêu thụ của mạch điện thì có thể biết được dữ liệu khóa. Hai yếu tố cơ bản trong quá trình PAA đó là đo điện năng tiêu thụ của thiết bị mật mã và mô hình công suất tiêu thụ giả định của thiết bị mật mã. Điện năng tiêu thụ thực tế có được bằng cách đo điện năng tiêu thụ tức thời của thiết bị mật mã trong khi nó hoạt động. Quá trình đo có thể thực hiện bằng cách đo trực tiếp dòng điện qua dây nguồn hay đất, hay điện áp trên một điện trở xác định. Một bước quan trọng trong DPA là người tấn công giả định điện năng tiêu thụ lý thuyết của thiết bị từ kết quả trung gian thông qua mô điện năng tiêu thụ giả định. Điện năng tiêu thụ giả định này được so sánh với điện năng tiêu thụ thực tế đo được để tìm ra khóa bí mật. Chất lượng của mô hình điện năng tiêu thụ có ảnh hưởng lớn tới hiệu quả của quá trình tấn công [14]. Mục tiêu bài báo này là nghiên cứu một số mô hình điện năng tiêu thụ của thiết bị mật mã và thực hiện tấn công CPA lên AES-128 dựa vào một mô hình điện năng tiêu thụ. Công nghệ thông tin & Khoa học máy tính T. N. Quý, “Tấn công phân tích diện năng tiêu thụ lên AES-128.” 58 2. MÔ HÌNH ĐIỆN NĂNG TIÊU THỤ Hầu hết các thiết bị mật mã hiện đại dựa trên công nghệ CMOS. Các NMOS và PMOS được kết hợp với nhau theo các cách khác nhau để tạo thành các phần tử logic. Điện năng tiêu thụ của một mạch, bằng tổng điện nay tiêu thụ của các phần tử logic, nó bao gồm hai phần chính: tĩnh và động [2]. Phần điện năng tiêu thụ tĩnh do dòng rò trong mạch gây nên và thường rất nhỏ. Trong PAA, việc mô hình điện năng tiêu thụ, hay chính là phần điện năng tiêu thụ động, của thiết bị cần tấn công là cần thiết. Tùy thuộc vào mức độ hiểu biết của người tấn công về thiết bị, độ chính xác của mô hình điện năng tiêu thụ sẽ thay đổi. Trong hầu hết các trường hợp, thông tin về thuật toán sử dụng và phần nào đó kiến trúc tổng quan của thiết bị là đủ để xác định điện năng tiêu thụ giả định theo lý thuyết dựa vào mô hình điện năng tiêu thụ của thiết bị [5]. Những thông tin này, có thể có trong datasheet của thiết bị và được công khai. Phần điện năng tiêu thụ động, đóng vai trò quan trọng trong điện năng tiêu thụ của mạch, nó phụ thuộc vào hoạt động của mạch [2]. Khi xem xét mạch tại mức các lệnh thi hành, số lệnh được sử dụng có thể là thước đo điện năng tiêu thụ động. Khi thực thi các hệ mật mã công khai như ECC và RSA, các thao tác như cộng và nhân được điều khiển bởi các bít khóa riêng biệt [15]. Trong những trường hợp này, số các lệnh thực thi thay đổi, do đó, điện năng tiêu thụ cũng thay dổi. Tại mức truyền thanh ghi (RTL: Register Transfer Level), số lần đảo giá trị từ 0 thành 1 và ngược lại là một thước đo chính của điện năng tiêu thụ. Như đã được phân tích trong [2], điện năng tiêu thụ của logic CMOS phụ thuộc vào sự chuyển trạng thái từ 0 →1 và 1→0. Mô hình dựa vào việc đếm số lần chuyển trạng thái như trên còn được gọi là mô hình khoảng cách Hamming (HD). Mô hình HD được sử dụng thành công trong thực hiện DPA trong [7]. Một mô hình cũng được sử dụng phổ biến ở mức RTL là trọng số Hamming (HW). Mô hình HW đếm số logic 1 của dữ liệu xử lý. Trong công trình đầu tiên công bố về DPA, Kocher [8] và các đồng nghiệp sử dụng mô hình HW đối với 1 bít và sử dụng một hàm lựa chọn để tính kết quả trung gian của 1 bít. Dựa vào giá trị trung gian này, Kocher, chia các vết điện năng tiêu thụ thành hai tập và rồi tìm ra khóa thông qua vi sai của hai tập đó. Trên thực tế, mô hình này hoạt động là bởi năng lượng sử dụng để lưu trữ logic 1 khác so với logic 0. Mô hình HW một bít chỉ quan tâm đến điện năng tiêu thụ sai khác do một bít của dữ liệu đang được xử lý tạo ra, và đã được sử dụng để thực hiện DPA trên thuật toán DES thực thi trên một thẻ thông minh [8]. Tuy nhiên, để tăng sự phụ thuộc của điện năng tiêu thụ vào dữ liệu đang được xử lý, có thể sử dụng mô hình HW của tất cả các bít đang được xử lý, hay HW nhiều bít [17][5]. Sự hiệu quả của tấn công phân tích điện năng tiêu thụ dựa trên mô hình HW nhiều bít so với mô hình HW một bít được thể hiện ở sự tương quan giữa điện năng tiêu thụ và dữ liệu xử lý lớn hơn và sẽ được trình bày ở bài báo này thông thực nghiệm. 3. QUÁ TRÌNH THỰC HIỆN CPA Tấn công CPA là một phương pháp hiệu quả để tìm khóa của thiết bị mật mã và là một trong những hiểm họa lớn đến tính an toàn của thiết bị mật mã. CPA khai thác sự tương quan giữa dữ liệu và điện năng tiêu thụ tức thời của thiết bị. Khi sự tương quan này nhỏ vẫn có thể khám phá được khóa nhờ sử dụng các công cụ thống kê. Trong quá trình CPA, người tấn công sử dụng mô hình lý tuyết của thiết bị cần tấn công, sau đó phân tích thống kê sự tương quan của điện năng tiêu thụ của thiết bị thực tế với điện năng tiêu thụ giả định, được xác định qua mô hình lý thuyết, để tìm ra khóa. CPA sử dụng để tìm ra khóa bí mật của thiết bị mật mã. Độ dài của khóa bí mật phụ thuộc vào thuật toán thực thi trong thiết bị. Trong CPA, chỉ một phần của khóa được tìm ra tại một thời điểm, chứ không phải toàn bộ khóa. Phần khóa này, thường được gọi là khóa con trong thuật ngữ sử dụng với CPA. Việc lựa chọn khóa con phụ thuộc vào thuật toán, Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 39, 10 - 2015 59 kiến trúc của thiết bị và những hiểu biết của người tấn công về thiết bị. Nếu ta muốn tìm toàn bộ khóa cùng một lúc, chi phí cho CPA giống với tấn công vét cạn. Tuy nhiên, nếu tiến hành CPA cho từng khóa con, chi phí sẽ giảm đi rất nhiều [5]. Quá trình thực hiện một CPA đối với một mô-đun mật mã sẽ được trình bày dưới đây. Thiết bị mật mã có chiều dài khóa bí mật là S và khóa con được lựa chọn cho CPA có độ dài K bít. Quá trình được mô tả dưới đây giả sử người tấn công có thể điều khiển dữ liệu vào của thiết bị và thiết bị đang thực hiện mã hóa. Bước 1: Chọn điểm cần tấn công trong thuật toán mật mã. Điểm tấn công phải là nơi mạch điện xử lý dữ liệu có liên quan tới dữ liệu rõ và khóa. Bước 2: Đo điện năng tiêu thụ thực tế của thiết bị mật mã. Cho thiết bị mật mã thực thi thuật toán mật mã với D khối dữ liệu từ d1 đến dD. Vết điện năng tiêu thụ ứng với khối dữ liệu di là ' 1,1 ,2 ,( , ,..., )i i i Tt t t t , với T là chiều dài của vết. Với D khối dữ liệu tương ứng có ma trận vết là T có kích thước DxT. Bước 3: Tính toán giá trị trung gian giả thiết. Gọi 1 2( , ,..., )Kk k k k là vector tất cả các khóa con giả thiết. Với D lần thực hiện mã hóa với tất cả các khóa giả thiết, cùng với hàm lựa chọn (, ) ta có ma trận V (DxK) với mỗi phần tử được xác định bởi: , ( , ) 1, 2,..., ; 1, 2,...,i j i jv f d k i D k K   (1) Bước 4: Ánh xạ giá trị trung gian giả thiết thành điện năng tiêu thụ giả thiết. Lựa chọn một mô hình điện năng tiêu thụ của thiết bị cần tấn công như HW, HD để chuyển , thành điện năng tiêu thụ giả thiết ,i jh . Kết quả, ta có ma trận điện năng tiêu thụ giả thiết H (DxK). Bước 5. So sánh giá trị điện năng tiêu thụ giả thiết với điện năng tiêu thụ thực tế đo được. Trong bước này, tất cả các cột của ma trận H được so sánh với các cột của ma trận T. Kết quả, cho ta ma trận R (KxT), có phần tử được xác định bởi: , , 1 , 2 2 , , 1 1 ( ).( ) ( ) . ( ) D d i i d j j d i j D D d i i d j j d d h h t t r h h t t            (2) ih là giá trị điện năng tiêu thụ giả thiết, còn jt là điện năng tiêu thụ thực tế đo được. Nếu cả hai cùng được tạo ra khi thiết bị xử lý đối với cùng một khóa thì chúng sẽ tương quan mạnh với nhau, còn khi chúng được tạo ra từ các khóa khác nhau thì rất ít tương quan với nhau. Vậy, ma trận R, được gọi ma trận hệ số tương quan, nó mô tả mối tương quan giữa điện năng tiêu thụ giả định và điện năng tiêu thụ thực tế đo được. 4. THỰC NGHIỆM TẤN CÔNG CPA LÊN AES-128. 4.1. Sơ đồ thực hiện Trong Hình 1, DUA (Device Under Attack) là thiết bị mã cần tấn công. Trong bài báo này đó là một card, thành phần chính trên đó là một vi xử lý họ 8051, thuật toán AES-128 được thực thi trên đó, có giao diện RS-232 để kết nối với máy tính (PC). Các bước thực hiện như sau: (1) PC cấu hình, cũng như đặt chế độ cho máy hiện sóng. (2) PC gửi bản rõ tới DUA và yêu cầu mã hóa. Công nghệ thông tin & Khoa học máy tính T. N. Quý, “Tấn công phân tích diện năng tiêu thụ lên AES-128.” 60 (3) DUA gửi tín hiệu Trigger tới máy hiện sóng để bắt đầu thực hiện quá trình đo. (4) DUA thực hiện quá trình mã hóa bản rõ. (5) Máy hiện sóng thu dạng sóng biểu diễn điện áp thu được tại điểm tấn công. (6) Máy hiện sóng gửi dữ liệu thu được tới PC để xử lý, phân tích. (7) DUA gửi bản mã cho PC. (8) Các bước từ 2 tới 7 được lặp lại với tất cả các bản rõ. (9) Quá trình phân tích dữ liệu trên PC để tìm ra khóa bí mật. Hình 1. Sơ đồ thực hiện CPA. 4.2. Quá trình tấn trên thuật toán AES 128 Chọn điểm trung gian cần tấn công là lối ra của S-Box ở vòng thứ nhất. Tiếp theo, ghi lại giá trị điện năng tiêu thụ khi cho DUA chạy thuật toán AES với 200 bản rõ, cho ta ma trận các vết T (200x5000). Mỗi vết có độ dài 5000. Sau đó, xây dựng ma trận V với các phần tử được tính theo (1). Sử dụng mô hình điện năng tiêu thụ là HW một bít của ,i jv để tính ,i jh , cụ thể là , ,( )i j i jh LSB v , bít có trọng số thấp nhất của ,i jv . Kết quả tính toán cho ma trận H (200x256). Bước cuối cùng là tính toán ma trận R với các số hạng tính theo (2) và biểu diễn nó thông qua biểu đồ. Kết quả đạt được, ta có 256 biểu đồ tương ứng với 256 khóa giả thiết. Hình 2. Biểu đồ tương quan với các khóa giả thiết 41,42,43,44 cho trường hợp mô hình HW cho một bít. Máy hiện sóng DUA AES-128 PC (1) Thiết lập tham số (2) (3) - Trigger (4) Mật mã dữ liệu (5) – Đo điện áp (6) – Gửi kết quả đo (7) (8) – Lặp: (2) – (7) (9) – Phân tích kết quả Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 39, 10 - 2015 61 Hình 2, biểu diễn các biểu đồ ứng với khóa giả thiết từ 41 đến 44. Chỉ có biểu đồ tương ứng với khóa giả thiết là K =43 xuất hiện các đỉnh có hệ số tương quan lớn hơn tất cả các biểu đồ còn lại, có hệ số tương quan nhỏ hơn 0,2. Điều này chứng tỏ K=43 là khóa giả thiết đúng nhất. Sau khi tìm được byte khóa đầu tiên, lặp lại các bước trên để tìm 15 byte khóa còn lại. Với cách thực hiện như trên, nhưng áp dụng mô hình H để tính HW cho toàn bộ các bít của ,i jv , ta có được biểu đồ ứng với các khóa giả thiết từ 41 đến 44 như trên Hình 3. Hình 3. Biểu đồ tương quan với các khóa giả thiết 41,42,43,44 cho trường hợp mô hình HW cho nhiều bít. Ở đây ta vẫn tìm được byte khóa là K=43, tuy nhiên ta dễ nhận biết hơn do các đỉnh xuất hiện cao hơn với hệ số tương quan gần bằng 1. Điều này chứng tỏ mô hình HW cho nhiều bít mô tả DUA tốt hơn so với mô hình HW áp dụng cho một bít. 5. KẾT LUẬN Bài báo đã trình bày quá trình thực hiện tấn công CPA thành công lên thuật toán AES- 128 được thực thi trên hệ vi điều khiển với mô hình điện năng tiêu thụ HW. Với cùng một tập các vết điện năng tiêu thụ thu thập được, mô hình HW áp dụng cho nhiều bít, cho kết quả tính hệ số tương quan gần với 1 hơn, chứng tỏ sự hiệu quả hơn so với mô hình HW áp dụng cho một bít. Điều này phù hợp với lý thuyết khi càng nhiều bít được xem xét, khả năng mô tả điện năng tiêu thụ của thiết bị càng chính xác. TÀI LIỆU THAM KHẢO [1]. Nguyễn Hồng Quang, “Trace năng lượng trong DPA”, Tạp chí Nghiên cứu Khoa học và Công nghệ quân sự, 2013. [2]. Nguyễn Hồng Quang, “Phân tích tiêu thụ điện năng của thiết bị mật mã”, Tạp chí Nghiên cứu Khoa học và Công nghệ quân sự, 2014 [3]. P. Kocher, J. Jaffe, B. Jun, “Introduction to differential power analysis,” J Cryptogr Eng 2011. [4]. W. Hnath, J. Pettengill, “Differential Power Analysis Side-Channel Attacks in Cryptography”, Worcester Polytechnic Institute 2010. [5]. Stefan Mangard, Elisabeth Oswald, Thomas Popp, “Power Analysis Attacks Re- vealing the Secrets of Smart Cards”, Springer Science Business Media, LLC, 2007. [6]. D. Suzuki, “DPA Leakage Models for CMOS Logic Circuits”, CHES ’05, Springer- Verlag, 2005. Công nghệ thông tin & Khoa học máy tính T. N. Quý, “Tấn công phân tích diện năng tiêu thụ lên AES-128.” 62 [7]. E. Brier, C. Clavier và F. Olivier, “Correlation Power Analysis with a Leakage Model”, Cryptographic Hardware and Embedded Systems - CHES 2004: 6th International Workshop. 2004. [8]. Paul C. Kocher, J. Jaffe, Benjamin Jun, “Differential Power Analysis”, CRYPTO '99, 1999. [9]. E. Peeters, F.-X. Standaert, and J.-J.Quisquater, “Power and electromagnetic analysis: Improved model, consequences and comparisons,” Integration, the VLSI Journal, Elsevier, vol. 40, 2007, pp. 52–60, 2007. [10]. T.H. Le, C. Canovas, and J. Clédière, “An overview of side channel analysis attacks,” Proceedings of the 2008 ACM symposium on Information, computer and communications security (ASIACCS 2008) , pp. 33-43, 2008. [11]. N. Benhadjyoussef, M. Machhout and R. Tourki, “Optimized power trace numbers in CPA attacks,” 8th International Multi-Conference on Systems, Signals & Devices, 2011. [12]. S. Mangard, E. Oswald, F.-X. Standaert, “One for all – all for one: unifying standard differential power analysis attacks”, IEEE transactions on instrumentation and measurement, vol.61, no.10, 2012. [13]. E.Oswald, “On Side-Channel Attacks and the Application of Algorithmic Countermeasures,” Ph.D Dissertation, IAIK, University of Technology Graz, Austria, 2003 [14]. K.Tiri and I.Verbauwhede, “Simulation models for side – channel information leaks,” in DAC'05: Proceedings of the 42nd annual conference on Design automation. NewYork, NY, USA: ACM, 2005, pp.228 - 233. [15]. V.S.Miller, “Use of elliptic curves in cryptography,” in CRYPTO 85, 1985 [16]. Oscar Reparaz, Benedikt Gierlichs, Ingrid Verbauwhed, “Selecting time samples for multivariate DPA”, C 2012 - Leuven, Belgium2012. [17]. T. S. Messerges, E. A. Dabbish, R. H. Sloan: Investigations of Power Analysis Attacks on Smartcards. In proceedings of the USENIX Workshop on Smart Card Technology 1999. ABSTRACT POWER COMSUMPTION ANALYSIS ATTACK ON AES-128 Power comsumption analysis attack, a side-channel attacks, are based on analyzing the power comsumption of cryptographic devices. CPA attacks, a power consumption analysis attacks, is a powerful and efficient cryptoanalytic technique. It exploits the linear relation between predicted power consumption and the real power consumption of cryptographic devices in order to recover the correct key.The prediction of power comsumption is determined by a fit power comsumption model. This paper presents the power comsumption models of cryptographic devices and the implementation of CPA on AES-128 by using one of power comsumption model. Keywords: DPA, CPA, Power Analysis Attacks, Correlation Power Analysis, Differiential Power Analysis. Nhận bài ngày 06 tháng 8 năm 2015 Hoàn thiện ngày 31 tháng 8 năm 2015 Chấp nhận đăng ngày 22 tháng 10 năm 2015 Địa chỉ: Học viện Kỹ thuật mật mã – Ban Cơ yếu Chính phủ. * Email: quyhvm@gmail.com.

Các file đính kèm theo tài liệu này:

  • pdf08_quy_4673_2149197.pdf