Phân tích tiêu thụ điện năng của thiết bị mật mã

Tài liệu Phân tích tiêu thụ điện năng của thiết bị mật mã: Nghiờn cứu khoa học cụng nghệ Tạp chớ Nghiờn cứu KH&CN quõn sự, Số 34, 12 - 2014 87 PHâN TíCH TIêU thụ đIệN NăNG của THIếT Bị MậT Mã NGUYỄN HỒNG QUANG Túm tắt: Tiờu thụ điện năng của thiết bị mật mó kốm theo nhiều thụng tin về hoạt động và dữ liệu đang được xử lý. Tấn cụng bằng cỏch phõn tớch điện năng tiờu thụ nhằm trớch xuất khúa mó của thuật toỏn mật mó là chủ đề rất sụi động hiện nay. Đó cú nhiều bài bỏo về vấn đề này nhưng cỏc nghiờn cứu khụng bắt đầu từ nền tảng lý thuyết mà DPA dựa vào nờn người đọc nhiều khi bối rối. Bài bỏo này lý giải những cơ sở lý thuyết đú, cú minh họa bằng thực nghiệm và cuối cựng là mụ tả một tấn cụng DPA lờn AES-128. Từ khúa: Phõn tớch năng lượng vi sai, Tấn cụng phõn tớch năng lượng, Tấn cụng side-channel, DPA. 1. GIỚI THIỆU Tiờu thụ điện năng EPC (electrical power consumption) của một mạch điện phụ thuộc vào dữ liệu mạch đang xử lý, nú cung cấp nhiều thụng tin về hoạt động và cỏc thụng số của mạch[2]. Đối với thiết b...

pdf7 trang | Chia sẻ: quangot475 | Lượt xem: 325 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Phân tích tiêu thụ điện năng của thiết bị mật mã, để 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ố 34, 12 - 2014 87 PH©N TÝCH TIªU thô ®IÖN N¨NG cña THIÕT BÞ MËT M· NGUYỄN HỒNG QUANG Tóm tắt: Tiêu thụ điện năng của thiết bị mật mã kèm theo nhiều thông tin về hoạt động và dữ liệu đang được xử lý. Tấn công bằng cách phân tích điện năng tiêu thụ nhằm trích xuất khóa mã của thuật toán mật mã là chủ đề rất sôi động hiện nay. Đã có nhiều bài báo về vấn đề này nhưng các nghiên cứu không bắt đầu từ nền tảng lý thuyết mà DPA dựa vào nên người đọc nhiều khi bối rối. Bài báo này lý giải những cơ sở lý thuyết đó, có minh họa bằng thực nghiệm và cuối cùng là mô tả một tấn công DPA lên AES-128. Từ khóa: Phân tích năng lượng vi sai, Tấn công phân tích năng lượng, Tấn công side-channel, DPA. 1. GIỚI THIỆU Tiêu thụ điện năng EPC (electrical power consumption) của một mạch điện phụ thuộc vào dữ liệu mạch đang xử lý, nó cung cấp nhiều thông tin về hoạt động và các thông số của mạch[2]. Đối với thiết bị mật mã, EPC mang theo thông tin về hoạt động hay thông số của thuật toán mật mã. Tấn công bằng cách đo và phân tích EPC được coi là tấn công không cần chi phí lớn nhưng đặc biệt hiệu quả [9]. Người tấn công sử dụng sự biến động trong tiêu thụ điện năng EPC hay phát xạ RF của thiết bị để tìm ra khóa của thuật toán mật mã [1]. Năm 1999, Kocher và các cộng sự đã lần đầu tiên thông báo khóa mã của smartcard có thể được tìm thấy theo phương pháp này [20]. Kể từ bài báo đầu tiên của Kocher rồi sau đó được mô hình hóa trong [18], đã có rất nhiều nghiên cứu tiếp theo và vấn đề ngày càng trở thành lĩnh vực nghiên cứu sôi động. Kris Tiri và các đồng nghiệp [12] tuyên bố có thể tìm ra khóa của vi xử lý thực hiện AES-128 bằng tấn công DPA trong thời gian ít hơn ba phút;Eric Brier nghiên cứu phương pháp tấn công dựa theo hệ số tương quan CPA giữa mẫu EPC thu được với khoảng cách Hamming của dữ liệu[14].Daisuke Suzuki nghiên cứu mô hình rò rỉcủa mạch CMOS phục vụ tấn công DPA[11].Benedikt Gierlichs nghiên cứu về mối quan hệ giữa DPA dựa theo giải pháp thống kê và DPA dựa theo mẫu [10].Larry Thomas McDaniel III nghiên cứu tấn công DPA lên hệ thống mật mã sử dụng FPGA [16].Marc Joye nghiên cứu về tấn công DPA bậc hai [13].Huiyun Li và đồng nghiệp nghiên cứu đánh giá an toàn không xâm phạm vật lý [6].William Hnath đưa nghiên cứu về tấn công phân tích EPC vào trường đại học [7]. Télécom ParisTech và AIST tổ chức thi tấn công DPA [5], gồm bốn cuộc thi, v1 khởi đầu trong thời gian CHES’08, v2 từ 2009, v3 trong thời gian COSADE’11, v4 từ 2013 và hiện vẫn đang tiếp diễn. Năm 2014 Ban nghiên cứu mật mã của công ty Rambus, do nhà mật mã học nổi tiếng Paul Kocher sáng lập, giới thiệu họ các nhân mật mã có khả năng kháng lại DPA cho phép tích hợp vào các SoC [1]. Ngoài ra, còn rất nhiều nghiên cứu khác liên quan đến EPC [3], [4],[8] Tấn công phân tích EPC gồm hai loại SPA và DPA [2]. Trong tấn công SPA, người tấn công khai thác mối quan hệ giữa lệnh được thực hiện và hình dáng vết EPC. Việc phân tích thực hiện trên trục thời gian. DPA khai thác mối quan hệ giữa Kỹ thuật điện tử & Khoa học máy tính 88 Nguyễn Hồng Quang, “Phân tích tiêu thụ điện năng thiết bị mật mã”. dữ liệu được xử lý và EPC. SPA đòi hỏi phải biết cấu trúc thiết bị và trình tự thực hiện thuật toán mật mã. DPA chỉ cần biết thiết bị sử dụng thuật toán gì là đủ. Phân tích DPA dựa vào số lượng lớn phép đo và dùng thống kê để lọc bỏ nhiễu, còn SPA chỉ dựa vào một hoặc số lượng nhỏ vết tiêu thụ điện năng nên đòi hỏi phép đo sạch [4]. Phân tích DPA cho kết quả là khóa, còn phân tích SPA chỉ cho sự suy đoán về hoạt động hiện tại của thuật toán [9]. Do tính hiệu quả của nó mà DPA được rất nhiều người nghiên cứu, tuy nhiên, các nghiên cứu đó thường chấp nhận phương pháp tấn công do Paul Kocher giới thiệu mà thiếu tìm hiểu sâu về cơ sở lý thuyết của tấn công. Mục đích của bài báo là lý giải cơ sở lý thuyết mà DPA dựa vào, kèm theo thực nghiệm minh họa. Tiếp theo, chúng tôi mô tả các bước tấn công DPA lên thuật toán thuật toán AES. 2. CƠ SỞ LÝ THUYẾT EPC của mạch điện phụ thuộc vào dữ liệu nó xử lý [2]. Trong trường hợp thuật toán mật mã thì đó là dữ liệu rõ và dữ liệu khóa. Ta có quan hệ = (, ), trong đó, P phụ thuộc vào bản rõ C và khóa K. P, C là các dữ kiện đã biết, suy ra có thể tìm được K. Đây là cơ sở của tấn công phân tích EPC. Để thấy EPC phụ thuộc vào dữ liệu đang được xử lý như thế nào, cần đi sâu vào kỹ thuật điện tử. Bài báo sẽ tập trung vào công nghệ CMOS vì điện tử hiện đại đa phần đều sử dụng công nghệ này. Đặc điểm của CMOS là trong chế độ tĩnh nó hầu như không tiêu thụ điện năng mà chỉ có trong chế độ động tức là khi có sự chuyển trạng thái [15]. EPC tổng cộng của mạch CMOS là tổng tiêu thụ EPC của các logic phần tử tạo thành mạch đó, do đó, EPC tổng phụ thuộc vào số lượng các phần tử logic, đường nối giữa chúng và cấu trúc của các phần tử. Các phần tử CMOS làm việc theo tín hiệu vào và tiêu thụ điện năng từ nguồn . Gọi dòng tổng tức thời là (), EPC tức thời là (), thì EPC trung bình của mạch điện trong thời gian T được tính theo công thức (1)[15]: 1 () = () (1) Do các CMOS đều được xây dựng dựa trên mạch bù [15] với các phần tử kéo lên và kéo xuống nên ta sẽ sử dụng mạch đảo, là mạch phổ biến, để phân tích khi nào và vì sao mạch tiêu thụ điện năng. Về bản chất EPC của mạch đảo gồm hai phần: phần tĩnh , là EPC khi phần tử không hoạt động,và phần động , là EPC khi phần tử chuyển mạch bởi tín hiệu trong hoặc ngoài gây ra. EPC tĩnh Cấu trúc bù của các phần tử CMOS khiến các transistor không bao giờ dẫn điện đồng thời. Trong hình 1, khi đầu vào a có mức logic 0 thì P1 dẫn và N1 ngắt, ngược lại khi a bằng ‘1’ thì P1 ngắt và N1 dẫn. Trong cả hai trường hợp đều không có thông mạch trực tiếp từ đến GND, chỉ có dòng rò rất nhỏ cỡ 10 = 1 [15][15] chảy qua transistor cắt dòng, do đó, EPC tĩnh = . rất nhỏ. Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 34, 12 - 2014 89 Hình 1. Mạch đảo CMOS kiểu bù. EPC động Tại mỗi thời điểm chuyển mạch, tín hiệu ra của đảo CMOS thực hiện một trong bốn chuyển mạch (Bảng 1). ở hai trường hợp 0  0 và 1  1, mạch đảo tiêu thụ điện năng tĩnh, hai trường hợp còn lại, mạch tiêu thụ điện năng động. Rõ ràng , ≫ ». Lý do khiến EPC động lớn là do dòng điện cần để nạp cho và do dòng ngắn mạch trong khoảng thời gian khi phần tử chuyển mạch. Bảng 1. EPC các trạng thái chuyển mạch của mạch đảo CMOS. Chuyển mạch EPC Loại EPC 0  0 tĩnh 0  1 tĩnh + động 1  0 tĩnh + động 1  1 tĩnh Dòng nạp Khi chuyển mạch, CMOS tiêu thụ dòng từ nguồn nuôi để nạp cho tụ tải . gồm tụ trong và tụ ngoài. Tụ trong là tụ của mạch CMOS. Tụ ngoài là tụ của đường mạch nối đến các phần tử tiếp theo và tụ vào của chúng. Độ lớn của phụ thuộc nhiều vào tính chất vật lý của công nghệ chế tạo CMOS, vào chiều dài dây nối đến các phần tử tiếp theo và vào số lượng các phần tử đó. Thường thì trong khoảng 10 Farad đến 10 Farad [15]. Hình 1cho thấy được nạp qua PMOS transistor P1. Việc nạp xảy ra khi đầu vào a chuyển từ 1  0 gây ra sự chuyển 0  1 của q ở đầu ra. Khi ấy được nạp và tiêu thụ dòng từ nguồn nuôi. Khi a chuyển từ 0 lên 1, q thay đổi từ 1 xuống 0 gây ra sự phóng của qua NMOS transistor N1. Khi này không có sự tiêu thụ điện năng từ nguồn. EPC cần thiết để nạp trong khoảng thời gian T được tính theo (2)[15], ở đó () là điện năng nạp tức thời, f là tần số clock, a là hệ số hoạt động của phần tử. Hệ số này tương đương với trung bình số lần chuyển 0  1 tại đầu ra của phần tử trong mỗi chu kỳ clock. = 1 () = a××× (2) Dòng ngắn mạch Phần thứ hai của EPC động do dòng ngắn mạch [15] xảy ra trong đảo CMOS tại thời điểm chuyển mạch (Hình 2), đó là khoảng thời gian ngắn cả hai transistor Kỹ thuật điện tử & Khoa học máy tính 90 Nguyễn Hồng Quang, “Phân tích tiêu thụ điện năng thiết bị mật mã”. P1 và N1 cùng dẫn khi có sự chuyển 0  1 và 1  0. EPC ngắn mạch trong trường hợp này được tính như (3). Trong đó () là EPC ngắn mạch tức thời của phần tử. là dòng đỉnh do ngắn mạch gây nên, là thời gian ngắn mạch tồn tại. = 1 () = a×××× (3) Hình 2. Các thành phần của dòng ngắn mạch. phụ thuộc vào hoạt động của mạch, nói cách khác phụ thuộc vào a. Ta sẽ thực nghiệm kiểm chứng điều này trên mạch cụ thể chạy thuật toán mật mã. Cho một vi xử lý thực hiện AES-128. Gọi d là bit MSB của byte ra của S-box vòng thứ nhất. Thực hiện mã hóa 500 lần sao cho d = 0 và 500 lần d = 1. Lấy trung bình các vết EPC ứng với mỗi tậpvà vẽ đồ thị như Hình 3. Sự khác biệt trên biểu đồ cho thấy EPC phụ thuộc vào giá trị của dữ liệu được xử lý. Sai lệch rất nhỏ, có thể không phân biệt được trong nền nhiễu và các vết EPC của các phần khác, nhưng khi tăng số lượng mẫu lên thật nhiều, cỡ hàng ngàn, thì có thể quan sát được sự sai lệch này nhờ thống kê toán học. Hình 3. Các vết EPC đối với d = 1 và d = 0. Việc tiếp theo là chọn điểm tấn công. Điểm tấn công phải là nơi mạch điện xử lý dữ liệu liên quan rõ và khóa. Phân tích thuật toán AES [17] ta thấy điểm tấn công thỏa mãn là đầu ra của S-box. Gọi , là giá trị trung gian sau phép Sub- Bytes của vòng thứ nhất, ở đây i là số lần lấy mẫu, n là thứ tự byte của giá trị trung gian ( Î{0, ,15}); là byte thứ n của khóa vòng đầu tiên; , là byte thứ n củabản rõ thứ i. Ta có quan hệ , = (,Å ). Trong quan hệ này, , là cái đã biết, là khóa cần tìm. S là SubBytes của AES. , là giá trị trung gian phụ Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 34, 12 - 2014 91 thuộc vào . Các biến này đều có giá trị 1 byte. có 256 giá trị có thể nên có thể thử với từng giá trị giả thiết. Với mỗi giả thiết và , ta tính ra giá trị ,. Mỗi lần mã hóa sử dụng bit MSB của , để chia vết EPC thu được vào các tập con tương ứng với giá trị 0 hay 1. Sau đó tính giá trị trung bình của các tập con và trừ chúng cho nhau. Trường hợp đúng, hiệu số có giá trị và trên biểu đồ vi sai xuất hiện gai nhọn. Gai càng rõ khi số lượng mẫu i càng tăng. Trường hợp sai thì , không liên quan đến dữ liệu được xử lý và trên biểu đồ không có gai nhọn. Sau khi đã tìm ra byte khóa đầu tiên, bằng cách tương tự sẽ tìm ra từng byte khóa còn lại cho đến khi được 16 byte khóa. 3. QUÁ TRÌNH TẤN CÔNG DPA Gọi T là tập các vết EPC được, là vết thứ i, [] là trích mẫu EPC tại thời điểm thứ j trong vết ; C là tập các bản rõ ngẫu nhiên, là bản rõ thứ i tương ứng với vết . Ta thiết lập hàm lựa chọn (, )[2][2] với đầu vào và khóa giả thiết . Vi sai ∆ tại mỗi điểm j đối với khóa giả thiết bằng: ∆[]= ∑ (, )[] ∑ (, ) − ∑ (1 − (, ))[] ∑ (1 − (, )) (4) Trước tiên, mã hóa m bản rõ, = (1000÷ 10000) tùy thuộc vào mức độ nhiễu của mạch điện. Đồng thời ghi lại EPC mỗi lần mã hóa tại khoảng thời gian ứng với hoạt động của SubByte vòng thứ nhất. Tính hàm lựa chọn với byte rõ đầu tiên C của state và 256 giả thiết của khóa . Phân các vết EPC thành hai tập ứng với kết quả 0 và 1 của hàm lựa chọn. Tính trung bình EPC của hai tập đó, trừ hai giá trị cho nhau và vẽ biểu đồ vi sai. Xét kết quả 256 biểu đồ, biểu đồ nào có gai nhọn rõ rệt nhất cho kết quả khóa. Hình 4 biểu diễn các đồ thị ứng với các khóa giả thiết = 118, 119và 120. Có thể thấy có các đỉnh nhọn rất phân biệt trong biểu đồ vi sai khóa k = 119, đó chính là byte khóa cần tìm. Sau khi tìm được byte khóa đầu tiên, lặp lại các bước để tìm ra 15 byte khóa còn lại. Hình 4. Biểu đồ vi sai ứng với ba khóa giả thiết 118, 119 và 120. 4. KẾT LUẬN Bài báo đã làm sáng tỏ về tấn công DPA khi nghiên cứu sâu, cả về cơ sở lý thuyết lẫn thực nghiệm. DPA thuộc loại thụ động, không xâm phạm, không cần biết cấu trúc thiết bị và cách thực hiện thuật toán [19], có thể tách được tín hiệu có ích trong nền nhiễu bằng cách tăng số lần lấy mẫu đủ lớn, không cần thiết bị phân Kỹ thuật điện tử & Khoa học máy tính 92 Nguyễn Hồng Quang, “Phân tích tiêu thụ điện năng thiết bị mật mã”. tích đắt tiền. Điều kiện cần thiết cho tấn công loại này là người tấn công phải có thiết bị cần tấn công và biết thuật toán mật mã sử dụng. Các kiến thức cần thiết là điện tử, thống kê toán học và tin học. Khi đã hiểu rõ cơ chế tấn công thì việc tiếp theo cần nghiên cứu là chống tấn công. Như kết quả đã chỉ ra, nếu chỉ gây nhiễu để che đi vết EPC của phần mạch điện xử lý kết quả trung gian, thì bằng cách tăng số lần lấy mẫu đủ lớn kết hợp thống kê toán học vẫn có thể khử được nhiễu và tách được khóa. Bởi vậy nhiệm vụ chống DPA là tìm cách che dấu kết quả trung gian, hoặc phá vỡ mối liên quan giữa giá trị trung gian với EPC, hoặc cơ chế phát nhiễu phải đồng bộ với quá trình xử lý kết quả trung gian đó. TÀI LIỆU THAM KHẢO [1] cryptography-research-division-launches-suite-of-dpa-resistant-cores-addressing- the-continuin.html [2] P. Kocher, J. Jaffe, B. Jun, Introduction to differential power analysis, J Cryptogr Eng 2011. [3] Dr. Sergei Skorobogatov, “Side-channel attacks: new directions and horizons”, Design and Security of Cryptographic Algorithms and Devices (ECRYPT II), 2011. [4] E. Steinkasserer, “Comparison of Classical Power Analysis Attacks and a Sto- chastic Approach for Differential Side-Channel Cryptanalysis”, thesis, Tech- nische Universitọt München, 2011. [5] [6] Huiyun Li, Keke Wu, Fengqi Yu, Hai Yuan. Evaluation Metrics of Physical Non- invasive Security.Security and Privacy of Pervasive Systems and Smart Devices, 2010. [7] W. Hnath, J. Pettengill, Differential Power Analysis Side-Channel Attacks in Cryptography, Worcester Polytechnic Institute 2010. [8] F. Amiel, K. Villegas, Passive and Active Combined Attacks – Combining Fault Attacks and Side Channel Analysis, Workshop on Fault Diagnosis and Tolerance in Cryptography, 2007. [9] Stefan Mangard, Elisabeth Oswald, Thomas Popp, Power Analysis Attacks Re- vealing the Secrets of Smart Cards, Springer Science+Business Media, LLC, 2007. [10] Benedikt Gierlichs, Kerstin Lemke-Rust, và Christof Paar. Templates vs. Stochas- tic Methods, Cryptographic Hardware and Embedded Systems - CHES 2006. [11] D. Suzuki, DPA Leakage Models for CMOS Logic Circuits, CHES ’05, Springer- Verlag, 2005. [12] K. Tiri at al, A Side-Channel Leakage Free Coprocessor IC in 0.18m CMOS for Embedded AES-based Cryptographic and Biometric Processing, DAC, June 2005. [13] Marc Joye, Pascal Paillier, và Berry Schoenmakers, On Second-Order Differen- tial Power Analysis, Cryptographic Hardware and Embedded Systems (CHES), Springer-Verlag, 2005, Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 34, 12 - 2014 93 [14] E. Brier, C. Clavier và F. Olivier. Correlation Power Analysis with a Leakage Model, Cryptographic Hardware and Embedded Systems - CHES 2004: 6th In- ternational Workshop. 2004. [15] Jaume Secura, Charles F. Hawkins, CMOS Electronics, John Wiley & Sons, Inc., 2004. [16] L. McDaniel III, An Investigation of Differential Power Analysis Attacks on FPGA-based Encryption Systems, Blacksburg, Virginia, 2003. [17] NIST. FIPS-197: Advanced Encryption Standard, November 2001. [18] T. Messerges, E. Dabbish, và R. Sloan. Investigation of power analysis attacks on smartcards. In Usenix Workshop on Smartcard Technology 1999. [19] L. Goubin, J. Patarin, DES and Differential Power Analysis, CHES’99, Springer- Verlag, 1999. [20] Paul C. Kocher, J. Jaffe, và Benjamin Jun. Differential Power Analysis, CRYPTO '99, 1999. ABSTRACT POWER COMSUMPTION ANALYSES FOR CRYTOGRAPHIC DEVICE Electrical power comsumption of cryptographic devices contains in- formation about the operations being performed and the data being processed. So attack by analysing the electrical power comsumption to de- rive secret key from crypto algorithms is currently taken a great interest. There are a lot of papers in this topic, however they haven’t shown base theories which DPA stems from therefore it is really difficult to under- stand it for many readers. This paper tries to comprehend the theories, with illustrating by experiment and in the final, describes steps of DPA to the AES-128. Key words: Differential Power Analysis, Oower analysis attacks, Side-channel attacks, DPA. Nhận bài ngày 13 tháng 09 năm 2014. Hoàn thiện ngày 24 tháng 10 năm 2014. Chấp nhận đăng ngày 05 tháng 12 năm 2014. Địa chỉ : Học viện Kỹ thuật Mật mã - Ban Cơ Yếu Chính phủ.

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

  • pdf12_nguyen_hong_quang_87_93_1501_2149230.pdf