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...
7 trang |
Chia sẻ: quangot475 | Lượt xem: 529 | Lượt tải: 0
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.18m 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:
- 12_nguyen_hong_quang_87_93_1501_2149230.pdf