TIÊU CHUẨN QUỐC GIA TCVN 12212:2018 ISO/IEC 17825:2016CÔNG NGHỆ THÔNG TIN - CÁC KỸ THUẬT AN TOÀN - PHƯƠNG PHÁP KIỂM THỬ GIẢM THIỂU CÁC LỚP TẤN CÔNG KHÔNG XÂM LẤN CHỐNG LẠI CÁC MÔ ĐUN MẬT
Trang 1TIÊU CHUẨN QUỐC GIA TCVN 12212:2018 ISO/IEC 17825:2016
CÔNG NGHỆ THÔNG TIN - CÁC KỸ THUẬT AN TOÀN - PHƯƠNG PHÁP KIỂM THỬ GIẢM THIỂU
CÁC LỚP TẤN CÔNG KHÔNG XÂM LẤN CHỐNG LẠI CÁC MÔ ĐUN MẬT MÃ
Information technology - Security techniques - Testing methods for the mitigation of non-invasive
attack classes against cryptographic modules
8.2 Chiến lược kiểm thử
8.3 Lưu đồ phân tích kênh kề
9 Phân tích kênh kề của các hệ mật khóa đối xứng
10.2 Chi tiết khung công việc kiểm thử kháng kênh kề
10.3 Các tấn công tương quan thời gian
Phụ lục A (Quy định) Các yêu cầu đối với dụng cụ đo lường
Phụ lục B (Tham khảo) Các tấn công khả thi
Phụ lục C (Tham khảo) Các tiêu chí chất lượng đối với các thiết lập phép đo
Phụ lục D (Tham khảo) Phương pháp đầu vào được lựa chọn để thúc đẩy phân tích rò rỉ
Thư mục tài liệu tham khảo
Lời nói đầu
TCVN 12212: 2018 hoàn toàn tương đương với ISO/IEC 17825:2016.
Trang 2TCVN 12212 : 2018 do Cục Quản lý mật mã dân sự và Kiểm định sản phẩm mật mã biên soạn, Ban
Cơ yếu Chính phủ đề nghị Tổng cục Tiêu chuẩn Đo lường Chất lượng thẩm định, Bộ Khoa học và Công nghệ công bố
CÔNG NGHỆ THÔNG TIN - CÁC KỸ THUẬT AN TOÀN - PHƯƠNG PHÁP KIỂM THỬ GIẢM THIỂU
CÁC LỚP TẤN CÔNG KHÔNG XÂM LẤN CHỐNG LẠI CÁC MÔ ĐUN MẬT MÃ
Information technology - Security techniques - Testing methods for the mitigation of
non-invasive attack classes against cryptographic modules
1 Phạm vi áp dụng
Tiêu chuẩn này quy định phép đo kiểm thử giảm thiểu tấn công không xâm lấn để xác định mức độ tuân thủ các yêu cầu được quy định trong TCVN 11295:2016 (ISO/IEC 19790) đối với các mức an toàn 3 và 4 Phép đo kiểm thử được kết hợp với các chức năng an toàn được quy định trong TCVN 11295:2016 (ISO/IEC 19790) Việc kiểm thử sẽ được tiến hành trong giới hạn định nghĩa của mô-đun mật mã và các giới hạn Vào/Ra (l/O)
Các phương pháp kiểm thử được sử dụng bởi các phòng thí nghiệm kiểm thử để kiểm thử xem đun mật mã có tuân thủ các yêu cầu được quy định trong TCVN 11295:2016 (ISO/IEC 19790) hay không và phép đo kiểm thử được quy định trong tiêu chuẩn này đối với từng chức năng an toàn kết hợp được quy định trong TCVN 11295:2016 (ISO/IEC 19790) có được quy định trong ISO/IEC 24759 hay không Cách tiếp cận kiểm thử được vận dụng trong tiêu chuẩn này là cách tiếp cận “nhấn nút” hiệu quả: các kiểm thử là mạnh về mặt kỹ thuật, được lặp đi lặp lại và có chi phí vừa phải
mô-2 Tài liệu viện dẫn
Các tài liệu sau đây, toàn bộ hoặc một phần, được dùng để tham chiếu trong tiêu chuẩn này và là không thể thiếu được đối với ứng dụng của nó Đối với các tài liệu viện dẫn ghi năm công bố thì áp dụng phiên bản được nêu Đối với các tài liệu viện dẫn không ghi năm công bố thì áp dụng phiên bản mới nhất, bao gồm cả các sửa đổi, bổ sung (nếu có)
TCVN 11295 (ISO/IEC 19790), Công nghệ thông tin - Các kỹ thuật an toàn - Yêu cầu an toàn cho mô đun mật mã.
TCVN 12211 (ISO/IEC 24759), Công nghệ thông tin - Các kỹ thuật an toàn - Yêu cầu kiểm thử cho mô đun mật mã.
CHÚ THÍCH 1 đối với đầu vào: Một CSP có thể để ở dạng rõ hoặc mã hóa
[Nguồn: TCVN 11295:2016 (ISO/IEC 19790):2012 định nghĩa 3.18]
3.4
Trang 3Lớp CSP (CSP class)
Lớp trong danh mục phân loại CSP
Ví dụ: Các khóa mật mã, thông tin xác thực như mật khẩu, PIN, dữ liệu xác thực sinh trắc
Trang 4Khai thác dựa trên thực tế các kênh kề tức thời phát ra bởi một mô-đun mật mã phụ thuộc vào dữ liệu
mà nó thực hiện xử lý và hoạt động để khôi phục lại các tham số bí mật
HMAC Mã xác thực thông báo dựa trên hàm băm có khóa
IFC Mật mã dựa trên phân tích số nguyên
RBG Bộ sinh bit ngẫu nhiên
Điều 8 quy định các phương pháp kiểm thử tấn công không xâm lấn
Điều 9 quy định các phương pháp kiểm thử đối với phân tích kênh kề của các hệ mật khóa đối xứng
Trang 5Điều 10 quy định các phương pháp kiểm thử đối với phân tích kênh kề của các hệ mật khóa phi đối xứng.
Điều 11 quy định các phép đo kiểm thử giảm thiểu tấn công không xâm lấn là đạt/không đạt đối với từng phương pháp tấn công không xâm lấn theo TCVN 11295:2016 (ISO/IEC 19790)
Tiêu chuẩn này cần được sử dụng cùng với TCVN XXXX (ISO/IEC 24759) để chứng tỏ tuân thủ theo TCVN 11295:2016 (ISO/IEC 19790)
6 Các phương pháp tấn công không xâm lấn
Điều này quy định các phương pháp tấn công không xâm lấn cần phải được đề cập nhằm tuân thủ TCVN 11295:2016 (ISO/IEC 19790)
Các tấn công không xâm lấn sử dụng các kênh kề (thông tin có được từ cài đặt vật lý của một hệ mật)phát ra bởi một cài đặt kiểm thử IUT như là:
- Tiêu thụ năng lượng,
- Phát xạ điện từ,
- Thời gian tính toán
Số lượng các kênh kề khả dụng có thể tăng lên trong tương lai (ví dụ: phát xạ phô-tôn [49], các phát
YYY tham chiếu đến khảo sát thống kê được sử dụng trong tấn công (chẳng hạn “S” là đơn giản, “C”
là tương quan, “MI” là thông tin tương hỗ, “ML" là hợp lý cực đại, “D” là hiệu các giá trị trung bình, ).CHÚ THÍCH 1: Các khảo sát thống kê khác có thể được chèn vào như "dOC" tương ứng với một khảo sát tương quan khai thác các mô-men bậc d (kết quả thu được bằng cách nâng mỗi điểm mục tiêu trong các vết lèn lũy thừa d hoặc bằng cách kết hợp d điểm bởi mỗi vết trước khi xử lý tương quan)
XXX tham chiếu đến kiểu kênh kề được quan sát: Ví dụ “PA” là phân tích điện năng, “EMA” là phân
tích điện từ trường, “TA” là phân tích thời gian,
ZZZ có thể tham chiếu đến đặc tính tấn công có lập hồ sơ (“P”) hoặc không lập hồ sơ (“UP”) Đây chỉ
là tùy chọn và giá trị ngầm định là “UP”
Ngoài ra một tính từ có thể làm tiền tố cho tên tấn công để tham chiếu đến thủ đoạn phạm tội tấn công Có thể là: “phương thẳng đứng” (kiểu ngầm định và cổ điển), “phương ngang” (xem [43] để có thêm thông tin chi tiết hơn về điều này) hoặc “Hình chữ nhật”
Hình 1 - Phân loại các tấn công không xâm lấn
Trang 6CHÚ THÍCH 2: Các tấn công va chạm có thể được xem như một tấn công CPA cổ điển với một sai khác duy nhất các giả thiết không được suy ra từ một giả thuyết về cách thức mà thông tin rò rỉ từ mộtthiết bị, mà là các phép đo thực chỉ được sắp xếp lại để kiểm tra hợp lệ một giả thuyết về một lượng sai khóa.
CHÚ THÍCH 3: Thay vì chính phân rã ASCA thành các trường hợp đơn biến và đa biến, sự phân loại hiện đã có thể được cải thiện bằng việc phân tách các tấn công dựa trên “các bộ phân biệt biến” (tập trung vào một thời điểm cụ thể của phân bố của biến mục tiêu) từ các tấn công dựa trên “các bộ phân biệt pdf” (cố gắng phân biệt một tệp pdf với một tệp pdf khác) Trong phân loại thứ nhất chúng ta có ASCA dựa trên tương quan hay trên các kỹ thuật hồi quy tuyến tính Trong trường hợp thứ hai chúng
ta có tấn công hợp lý cực đại và các tấn công MI
CHÚ THÍCH 4: (Cung cấp thông tin nhưng không áp dụng) Các phương pháp tấn công SEMA và SPA bao gồm một số mở rộng đối với các tấn công SEMA và SPA cơ bản, hay còn gọi là tấn công mẫu Các phương pháp tấn công DEMA và DPA bao gồm một số mở rộng đối với các tấn công DEMA và DPA cơ bản, hay còn gọi là phân tích năng lượng tương quan CPA và các tấn công DPA bậc cao Không bắt buộc phải kiểm thử chúng trong tiêu chuẩn này
Các biến được sử dụng trong mô tả của ASCA là:
(o_i)_i khoảng quan sát thứ i
t_i thời gian vòng lặp lần thứ i
x1_i lặp lần thứ i của x1
x2_i lặp lần thứ i của x2
ASCA được mô tả trong các bước sau đây:
a) Đo N quan sát (o_i) liên quan đến một xử lý mật mã A được tham số hóa bởi một đầu vào đã biết X
và một bí mật K.
b) [Tùy chọn] Chọn một mô hình M đối với sự rò rỉ thiết bị.
c) [Tùy chọn] Chọn một xử lý quan sát C [mặc định C được thiết lập là hàm định danh].
d) Tạo ra giả thuyết h về giá trị của K hoặc một phần của nó.
e) Từ A,h,(o_i)_i và có thể là M suy ra N dự đoán pred_i (đối với mỗi giá trị của X mà một quan sát
được đo)
f) Chọn kiểm thử thống kê D và tính D (pred_i,C(o_i))
g) Nếu D (pred_i,C(o_i)) lớn hơn một ngưỡng nào đó thì h hợp lệ Ngược lại thì h không hợp lệ và quay lại bước 4 đối với một giá trị h mới.
CHÚ THÍCH 5: Một cách tổng quát hóa, một giá trị ngưỡng được thêm vào bước 7 Ngưỡng này cần được chọn cẩn thận đối với một tấn công có thể có một cơ hội thành công bất kỳ Cách cổ điển để
chọn một ngưỡng như vậy là lấy giá trị cực đại của D (pred_i,C(o_i)) trên tất cả các giả thuyết khóa.
Trang 7CHÚ THÍCH 6: Các quan sát o _i có thể là đơn biến hay đa biến Trong trường hợp đa biến, mỗi tọa
độ của o _i được xem như một vectơ tương ứng với một thời gian khác t _i Chiều của o _i được ký hiệu bởi d _0 trong phần còn lại của chú thích này.
CHÚ THÍCH 7: Xử lý quan sát C(.) có thể luôn luôn được xác định như một hàm đa thức trên tập các vectơ giá trị thực kích cỡ d _o (được ký hiệu là R^{d_ o} ) như sau Bậc đa biến của đa thức này được
ký hiệu là d _C Tiếp theo hàm D(pred _i,.) : X → D(pred _i, X) cũng có thể được xem như một đa thức theo X Bậc đa biến của nó được ký hiệu là d _D Giá trị d _C*d _ D được định nghĩa là bậc d của tấn công Đối với các tấn công dựa vào thông tin tương hỗ chỉ có bậc d _C được sử dụng để định nghĩa bậc tấn công: ta có d = d _C.
CHÚ THÍCH 8: Trong các tấn công va chạm chống lại mã khối, bước thứ hai bị bỏ qua và bước thứ
ba chỉ đơn giản bao gồm lựa chọn điểm trên các vết o _i Vì thế giả thuyết h đặc trưng tương ứng với một giả thuyết giữa hiệu (k1 - k2) của hai phần của khóa mục tiêu K (ví dụ: hai khóa con trong một cài đặt mã khối) Cuối cùng, các dự đoán được suy ra từ các quan sát (o _i)_i (o_i)_i và hiệu h: Nếu tấn công nhằm mục đích đến thao tác của giá trị F(x1_i+k1) [tức là C(o_i) tương ứng với một phần của quan sát liên quan đến thao tác của F(x1_i+k1)], thì tấn công sẽ trích xuất từ các quan sát o _i trong quá trình thao tác của các giá trị khác F(x2_i+k2) và các quan sát đó sẽ được sắp xếp lại sao cho x2_i-x1_i = h Do đó, h_i tương ứng với phần của quan sát liên quan đến thao tác của F(x2_i+k2) = F(x1_i+k1) nếu h là đúng Để kiểm tra tính hợp lệ giả thuyết, hệ số tương quan thường được sử dụng đối với D Ngoài ra, tất cả các tấn công được mô tả trong mục này có thể là thẳng đứng hoặc nằm
ngang hoặc chữ nhật (tức là vừa thẳng đứng vừa nằm ngang) Một tấn công được gọi là thẳng đứng
nếu mỗi quan sát o _i tương ứng với một xử lý thuật toán khác nhau Nếu tất cả các o _i tương ứng với cùng một xử lý thuật toán thì tấn công được gọi là nằm ngang Nếu chỉ có một số o _i chia sẻ
cùng một xử lý thuật toán thì tấn công được gọi là chữ nhật Các tấn công cổ điển trong tài liệu tham khảo là thẳng đứng và thủ đoạn này từ đó được định nghĩa như là một ngầm định.Các ví dụ của tấn công được thực hiện ở hình thức nằm ngang có thể được tìm thấy trong [43] và [44]
CHÚ THÍCH 9: Trong tiêu chuẩn này chỉ bắt buộc dựng lên các tấn công thẳng đứng
CHÚ THÍCH 10: Một thẩm quyền phê chuẩn có thể sửa đổi, thêm vào hoặc xóa đi các phương pháp tấn công không xâm lấn, việc kết hợp với các hàm an toàn (xem Bảng 1) và các phép đo kiểm thử giảm thiểu tấn công xâm lấn được quy định trong tiêu chuẩn này
7 Các hàm an toàn liên kết
Trong tấn công mục tiêu, các phương pháp tấn công không xâm lấn được đặc tả trong Điều 6 được kết hợp với các hàm an toàn cụ thể sử dụng các CSP Các hàm an toàn được liệt kê trong TCVN 11295:2016 (ISO/IEC 19790), các phụ lục C, D và E
Các kết hợp được chỉ ra trong Bảng 1 Các tấn công không xâm lấn khác và các kết hợp khác giữa các phương pháp tấn công và các hàm an toàn có thể tồn tại nhưng cách chống lại chúng chưa được
đề cập trong tiêu chuẩn này
Bảng 1 - Kết hợp giữa các phương pháp tấn công không xâm lấn và các hàm an toàn được
bao hàm bởi tiêu chuẩn này
Trang 8Dẫn xuất khóa từ mật khẩu A NA NA
Ghi chú: A: Áp dụng được, NA: Không áp dụng.
CHÚ THÍCH 1: Áp dụng được có nghĩa là các hàm an toàn là nhạy cảm với các đang tấn công này.CHÚ THÍCH 2: Không áp dụng được có nghĩa là các hàm an toàn là không nhạy cảm với các dạng tấn công này
CHÚ THÍCH 3: Một cài đặt HMAC có thể bị tổn hại bằng áp dụng DPA/DEMA, tuy nhiên, mã khối dựa trên MAC sẽ được bao hàm bởi AES và/hoặc DES bội ba
CHÚ THÍCH 4: Tất cả các hàm an toàn sử dụng các S-hộp như là AES, Triple DES, có thể bị tổn hại bằng áp dụng TA, chính xác hơn là các tấn công thời gian-bộ nhớ cache đối với các cài đặt phần mềm[50]
CHÚ THÍCH 5: RSA PKCS#1 v1.5 có thể bị tổn hại bằng áp dụng DPA/DEMA bởi vì đệm thông báo được sử dụng là tất định
CHÚ THÍCH 6: Các tấn công thời gian lên RSA PKCS#1 v2.1 là không thực hành được bởi vì đệm thông báo được sử dụng là bất định RSA PKCS#1 v2.1 không thể bị tổn hại bằng áp dụng
DPA/DEMA bởi vì đệm thông báo được sử dụng là bất định (các số ngẫu nhiên khác nhau được sử dụng đối với mỗi chữ ký số mới của thông báo)
CHÚ THÍCH 7: Có hai phép toán trong DSA (tương ứng là ECDSA) liên quan đến khóa bí mật hay khóa (bí mật) tức thời:
- Phép lũy thừa mô-đun (nhân vô hướng) của một giá trị bí mật với một tham số đã biết Phép toán này bị tổn thương đối với phân tích kênh kề đơn giản và các tấn công lượng sai nằm ngang
- Phép nhân mô-đun của một giá trị đã biết và khóa bí mật Nếu phép nhân được cài đặt theo cách mà
số nhân là khóa bí mật và phép nhân được thực hiện với một biến thể của thuật toán nhị phân thì cài đặt này là về mặt nguyên tắc bị tổn thương đối với phân tích kênh kề
CHÚ THÍCH 8: SHA có thể được sử dụng đối với băm mật khẩu, ví dụ: trong hàm dẫn xuất khóa dựa trên mật khẩu, vì thế trong trường hợp này một SHA không được bảo vệ chống lại SPA/SEMA hay DPA/DEMA cũng có thể dẫn đến mật khẩu
8 Các phương pháp kiểm thử tấn công không xâm lấn
8.1 Giới thiệu
Điều này giới thiệu tổng quan về các phương pháp kiểm thử tấn công không xâm lấn đối với các phương pháp tấn công không xâm lấn tương ứng được quy định trong Điều 6
8.2 Chiến lược kiểm thử
Mục đích của kiểm thử tấn công không xâm lấn là để đánh giá xem một mô-đun mật mã sử dụng các
kỹ thuật giảm thiểu tấn công không xâm lấn có thể cung cấp khả năng kháng lại các tấn công tại mức
an toàn mong muốn không Không có chương trình kiểm thử được chuẩn hóa có thể đảm bảo bảo vệ hoàn toàn chống lại các tấn công Thay vào đó, các chương trình tối ưu xác nhận rằng việc thiết kế vàthực hiện đã tuân thủ đầy đủ các kỹ thuật, biện pháp để giảm thiểu tấn công không xâm lấn
Các tấn công không xâm lấn khai thác độ sai số tiềm ẩn trong các đại lượng vật lý được đo theo cách không xâm lấn trên hoặc xung quanh các cài đặt IUT Các sai lệch được sinh ra và phụ thuộc và thôngtin bí mật mà các tấn công có chủ đích hướng đến Đối với kiến thức nền tảng, xem tài liệu tham khảo[16] Độ sai lệch có thể là thay đổi nhưng nói chung là ổn định Trong tiêu chuẩn này, thông tin bị sai lệch phụ thuộc vào thông tin bí mật được tham chiếu đến như là độ rò rỉ từ đây trở đi Một thiết bị có thể thất bại với một hoặc nhiều hơn các kiểm thử nếu bằng chứng thực nghiệm đề ra rằng thông tin rò
rỉ vượt quá các ngưỡng cho phép Điều này hàm ý rằng rò rỉ chứng tỏ có một tổn thương tiềm tàng Ngược lại, khi rò rỉ được phát hiện các tấn công sẽ thất bại và phép kiểm thử đạt Kiểm thử sự tồn tại của rò rỉ sẽ được gọi là phân tích rò rỉ (phân tích thất thoát)
Trang 9Mục đích là thu thập và phân tích các phép đo bên trong các giới hạn kiểm thử nào đó chẳng hạn nhưcác dạng sóng cực đại thu được, thời gian kiểm thử đã trôi qua và xác định mức độ của rò rỉ thông tin CSP Bởi vậy, các giới hạn kiểm thử và các ngưỡng rò rỉ tạo thành các tiêu chí kiểm thử.
Xem xét kiểm thử tấn công thời gian Nếu kiểm thử tiết lộ ra rằng thời gian tính toán bị sai lệch liên quan đến CSP thì IUT thất bại Đối với DPA nếu kiểm thử tiết lộ ra rằng tiêu thụ điện năng trong các quá trình liên quan đến CSP bị sai lệch liên quan đến CSP thì IUT thất bại Cách tiếp cận kiểm thử sử dụng kiểm thử giả thuyết thống kê để xác định khả năng xảy ra khi có độ sai lệch Bởi vậy tiêu chuẩn này cung cấp một ngưỡng rò rỉ thông qua ý nghĩa thống kê Kiểm thử sẽ thất bại nếu một độ sai lệch vượt quá ngưỡng rò rỉ
8.3 Lưu đồ phân tích kênh kề
8.3.1 Luồng kiểm thử lõi
Người kiểm thử thu thập dữ liệu đo đạc từ IUT và áp dụng một bộ các phép thử thống kê trên dữ liệu được thu thập Phép kiểm thử lõi tham chiếu đến kiểm thử đối với hàm an toàn đơn với lớp CSP đơn, với các lớp CSP bao gồm các khóa mật mã, các dữ liệu sinh trắc hay các số PIN Nếu một số hàm antoàn thỏa thuận với nhiều hơn một lớp CSP thì phân tích rò rỉ cho mỗi lớp áp dụng được CSP sẽ được thực hiện đối với mỗi hàm an toàn Phương pháp kiểm thử đòi hỏi lặp lại các phép kiểm thử lõi với các lớp CSP khác nhau cho đến khi phép kiểm thử đầu tiên không đạt xảy ra hoặc tất cả các lớp CSP đều đạt yêu cầu Nếu phép kiểm thử lõi không thể tiếp tục thì nếu IUT hạn chế số phép toán lặp lại thì kết quả là đạt và phép kiểm thử lõi được tiếp tục với một lớp CSP tiếp theo Phép kiểm thử lõi được chỉ ra trên Hình 2 Khung công việc kiểm thử kháng lại tấn công kênh kề được mô tả trên Hình
3 Phân tích rò rỉ đối với TA được chỉ ra trên Hình 4 SPA/SEMA trên Hình 5 và DPA/DEMA trên Hình 6
Hình 2 - Luồng kiểm thử lõi
Hình 2 chỉ ra luồng của một phép kiểm thử lõi Đầu tiên, tài liệu của nhà cung cấp được kiểm tra đối với lớp CSP cụ thể Thứ hai là xác định tính thực hành của việc đo đặc trưng vật lý Nếu phép đo không thực hiện được thì kết quả kiểm thử là đạt Thứ ba là tập các CSP được xác định bởi phòng thínghiệm kiểm thử sẽ được cấu thành IUT Cuối cùng là phần quan trọng của phép kiểm thử lỗi, đó là phân tích được chỉ ra trên các hình tiếp theo, được thực hiện và rò rỉ đáng kể có thể được phát hiện hoặc không
8.3.2 Khung công việc kiểm thử kháng kênh kề
Như được giải thích trong điều 7, một phòng thí nghiệm kiểm thử phải kiểm tra độ an toàn của các IUT chống lại TA, SPA và DPA
Kiểm thử tuần tự của ba tấn công dẫn đến khung tấn công được mô tả trong Hình 3 Phòng thí nghiệm kiểm thử nên tuân theo thứ tự các bước thực hiện Ví dụ SPA có thể được kiểm thử chỉ khi TAđạt
Trang 10Hình 3 - Khung công việc kiểm thử kháng kênh kề
Phương pháp luận đề xuất đối với đánh giá chống lại tấn công kênh kề không cần đến trích xuất khóađầy đủ để làm thất bại một thiết bị: Một IUT có thể thất bại nếu có thể chứng tỏ một lượng thông tin nhạy cảm bị rò rỉ đáng kể
8.3.3 Thông tin nhà cung cấp
Nhà cung cấp cần cung cấp thông tin sau đây về các thuật toán và các biện pháp đối phó được triển khai trong IUT:
a) Các thuật toán mật mã được cài đặt
b) Thiết kế của cài đặt
c) Các điều kiện/chế độ sử dụng khi IUT là nhạy cảm đối với phân tích tấn công kênh kề
Ngoài ra, phòng thí nghiệm kiểm thử cần có khả năng sửa đổi các CSP và bản mã khi thực hiện kiểm thử tấn công kênh kề
Khi thực hiện phân tích tấn công kênh kề, thông thường thực hiện sắp xếp tín hiệu sao cho các vết khác nhau có thể được so sánh tại cùng một điểm trong quá trình tính toán mật mã Đối với các mục đích kiểm thử tấn công kênh kề nhà cung cấp cần cung cấp cho phòng thí nghiệm kiểm thử tín hiệu đồng bộ tốt nhất đối với lúc bắt đầu của hoạt động mật mã Ví dụ trong thức kiểm thử thiết bị có thể cung cấp một điểm khởi sự bên ngoài để chỉ ra lúc bắt đầu và kết thúc của hoạt động mật mã Nếu thông tin bắt đầu và kết thúc như vậy không có sẵn thì phòng thí nghiệm kiểm thử cần tiếp nhận các
kỹ thuật xử lý tín hiệu chuẩn và dựa trên sự trùng khớp để thực hiện sắp xếp Trong các trường hợp khi các vết được sắp xếp tốt tại lúc bắt đầu của hoạt động mật mã, phòng thí nghiệm có thể được yêucầu sử dụng trùng khớp tín hiệu dựa trên sự trùng hợp bình phương tối thiểu chuẩn để thực hiện sắp xếp tốt hơn trên các đoạn cụ thể của thuật toán; số lượng và định vị của các điểm sắp xếp này sẽ được quy định bởi phòng thí nghiệm kiểm thử
Nhà cung cấp khi đó cần cung cấp cái gọi là “hàm kiểm chuẩn” sẽ cho phép phòng thí nghiệm kiểm thử thực hiện;
a) Đồng bộ các phép đo,
b) Kiểm tra chất lượng của các phép đo (xem 8.3.5 để có thông tin chi tiết hơn)
8.3.4 Phân tích rò rỉ TA
Trang 11Hình 4 - Phân tích rò rỉ đối với các tấn công thời gian
Hình 4 chỉ ra luồng phân tích rò rỉ đối với các tấn công thời gian Luồng có thể được chia làm hai giai đoạn Đối với giai đoạn thứ nhất, các thời gian thực hiện đối với một số CSP khác nhau và văn bản cốđịnh được đo đạc Nếu thời gian thực hiện được đo đạc không chỉ ra sự phụ thuộc với CSP được sử dụng thông qua phân tích thống kê thì kiểm thử tiếp tục sang giai đoạn thứ hai Ngược lại, phép kiểm thử không đạt Đối với giai đoạn hai, các thời gian thực hiện với một số văn bản khác nhau và một CSP cố định được đo đạc Nếu thời gian thực hiện được đo đạc không chỉ ra sự phụ thuộc với văn bản đã sử dụng thì phép kiểm thử đạt Ngược lại, phép kiểm thử không đạt Nếu thời gian thực hiện làkhó để thực hiện đo thì cần sử dụng một giá trị dung sai ε bằng một chu kỳ xung của con chip mục
tiêu Để so sánh hai giá trị thời gian (hay hai giá trị thời gian trung bình) T 1 và T 2, phép kiểm thử đạt
nếu |T 1 - T 2| < ε và ngược lại là không đạt
Không chỉ hiệu số các giá trị trung bình, mà cả các giá trị phương sai cần được tính toán để có thể phát hiện rò rỉ tấn công thời gian bậc hai Thực vậy, các tấn công thời gian bậc hai là các mối đe dọa thực hành [58],
8.3.5 Phân tích rò rỉ SPA/SEM
Hình 5 - Phân tích rò rỉ SPA (SEMA)
Hình 5 chỉ ra luồng phân tích rò rỉ SPA/SEMA Luồng có thể được chia thành hai giai đoạn
Trang 12Đầu tiên, phòng thí nghiệm kiểm thử cần bắt được số các phép đo tấn công thứ cấp liên quan đến mức an toàn mong muốn (xem Mục 11).
Mật mã phi đối xứng lặp đi lặp lại sử dụng các phép toán sơ cấp Đối với RSA các phép toán này là mô-đun bình phương (ký hiệu là “S”) và phép toán nhân (ký hiệu là “M”) Đối với ECC chúng là các phép toán nhân đôi và cộng điểm Vì khóa có thể nhận được từ thứ tự của các phép toán nên điều quan trọng đối với phòng thí nghiệm kiểm thử phân biệt được các phép toán này Khi các phép đo tấn công kênh kề có thể bị nhiễu thì khó có thể nhận diện các phép toán này một cách trực quan Một phương pháp tốt để nhận biết phép toán lặp được gọi là “tương quan chéo” Phương pháp này cũng giúp loại bỏ được đánh giá chủ quan từ phòng thí nghiệm kiểm thử Khi tương quan là yếu đến mức không có công bố rõ ràng được đưa ra thì phòng thí nghiệm kiểm thử có thể sắp đặt một phân tích cụm
Đối với tất cả các phép đo tấn công kênh kề, nếu quá trình tương quan chéo dẫn đến một dãy hoạt động bất thường, là nguyên nhân dẫn đến CSP thì kết quả kiểm thử là không đạt
8.3.6 Phân tích rò rỉ DPA/DEMA
Hình 6 - Phân tích rò rỉ DPA (DEMA)
Hình 6 chỉ ra luồng phân tích rò rỉ DPA/DEMA Kết quả thu được chỉ ra xem một rò rỉ đáng kể có đượcphát hiện hay không Trong trường hợp nghi ngờ, cần sử dụng hộp rõ hoặc hộp trắng để làm rõ sự không rõ ràng (xem [45]) Thực vậy, nếu phép kiểm thử là t-kiểm thử thì không phải tất cả các rò rỉ đều là nhạy cảm: Một kịch bản kiểm tra điểm yếu đầy đủ thường bao gồm cả các biến không phải CSP chẳng hạn như bản rõ hay bản mã của một mã khối Bởi vậy, dựa trên phân tích của lập tài liệu IUT có thể quyết định được xem các vi phạm kiểm thử có phụ thuộc vào CSP hay không Lưu ý rằng kiểm thử NICV không đưa ra đặc tính không rõ ràng như vậy Các phát biểu tương tự được áp dụng cho Hình 6
Theo thông lệ, thường đề xuất rằng các hoạt động mật mã luôn xảy ra trong cùng một thời điểm trong mỗi phép đo (các tiêu thụ hay phát xạ) Mặc dù, người phát triển có khả năng thay đổi đồng hồ nội tại
để sửa đổi tần số vận hành hay đưa ra trạng thái chờ không vận hành ngẫu nhiên trong thực hiện cácthuật toán, do đó thời gian sẽ không còn là hằng số và các hoạt động mật mã không được thực hiện trong cùng một lúc Điều này sinh ra các sắp xếp sai đã biết rõ trong tập các vết làm cho phân tích khókhăn và tốn chi phí hơn nhiều theo số các vết cần thiết để được xử lý Các sửa đổi này của hành vi ban đầu là các biện pháp được triển khai bởi những người phát triển để đối phó với khả năng thu được thông tin thông qua các kênh kề phá vỡ các giả thuyết đặc trưng cho các tấn công đã biết.Trong các triển khai mật mã không có các biện pháp đo đạc cụ thể, sự sắp xếp sai đến từ các lỗi trong cấu hình đo khi bắt đầu thu được tiêu thụ điện năng (hay phát xạ) Trong trường hợp này, các vết có thể được sắp xếp lại nếu việc sắp xếp có thể được xác định khi thực hiện phép đo, thay thế đúng đắn các vết Quá trình này được gọi là “sắp xếp tĩnh” Tính áng chừng này cũng có thể được
Trang 13giảm thiểu hoặc ít nhất là làm cho sắp xếp dễ nếu một trigger được cung cấp (hoặc tồn tại) tín hiệu khihoạt động bắt đầu.
Khi triển khai một cách tích cực đưa ra những chậm trễ tính thời gian ngẫu nhiên hoặc những biến thiên tần số xung thì sự dịch chuyển tĩnh không thể đạt được sắp xếp đầy đủ của các vết Trong trường hợp này, cái được gọi là “sắp xếp động”, sẽ được áp dụng bằng cách kết hợp các phần của vết với các vị trí khác nhau và thực hiện lấy mẫu phi tuyến của vết Sau quá trình này, các phần khác nhau dọc theo các vết được đặt tại cùng vị trí (Chẳng hạn, vị trí của các vòng khác nhau trùng khớp trong tất cả các vết)
Nhà cung cấp khi đó cần hợp tác với phòng thí nghiệm kiểm thử bằng cách triển khai tại IUT “hàm hiệu chỉnh” giúp cho phòng thí nghiệm kiểm thử đồng bộ các dạng sóng (bằng cách cung cấp một tín hiệu trigger để bắt đầu hoạt động mật mã) và kiểm tra chất lượng của các phép đo chống tấn công kênh kề của nó Điều này cũng giúp để kiểm thử các phương pháp làm giảm nhiễu bên ngoài (lọc tần
số, tính toán giá trị trung bình, v.v ) Hàm hiệu chỉnh có thể đơn giản là xử lý, lưu trữ một biến công
khai đã biết (không nhạy cảm) trong IUT (ví dụ, khóa bí mật e trong RSA) Phòng thí nghiệm kiểm thử
cần khôi phục giá trị đã biết này Nếu SNR của phần các phép đo chống tấn công kênh kề tương ứng với xử lý của giá trị đã biết này là đủ thì phòng thí nghiệm kiểm thử cần thực hiện các kiểm thử Nếu không, phòng thí nghiệm kiểm thử cần tìm ra một cách để cải tiến chất lượng của các phép đo của nó trước khi thực hiện các kiểm thử
Phòng thí nghiệm kiểm thử khi đó cần tính các giá trị trung gian trong hàm an toàn Điều đó là khả thi bởi vì phòng thí nghiệm kiểm thử thu thập các phép đo chống tấn công kênh kề sử dụng một tập chỉ định trước các véctơ kiểm thử Các véctơ kiểm thử này được lựa chọn cẩn thận bởi phòng thí nghiệmkiểm thử để vạch trần và cô lập các rò rỉ tiềm năng
Bước cuối cùng bao gồm thực hiện các kiểm thử thống kê đối với rò rỉ trên các vết được xử lý trước và/hoặc được sắp xếp Phòng thí nghiệm kiểm thử cần áp dụng một kiểm định thống kê đơn giản (gọi
là phép kiểm định Welch) cho nhiều tệp dữ liệu được chỉ định trước để phát hiện rò rỉ thông tin nhạy cảm trong kênh kề
Điều 9 và 10 tương ứng mô tả các hướng dẫn đối với đánh giá kháng DPA/DEMA của các hệ mật phi đối xứng và đối xứng
9 Phân tích kênh kề của các hệ mật khóa đối xứng
9.1 Giới thiệu
Điều này tập trung vào phân tích kênh kề của các hệ mật khóa đối xứng Khung công việc mô tả trên Hình 3 được sử dụng: chống lại các tấn công tương quan thời gian, phân tích kênh kề đơn giản và phân tích kênh kề lượng sai cần được đánh giá
9.2 Các tấn công tương quan thời gian
Đối với các hệ mật khóa đối xứng (phần mềm), chỉ một hiểm họa đã biết có liên quan đến các tấn công tương quan thời gian, các tấn công thời gian bộ nhớ cache [50] Chúng dựa trên các tính chất vi cấu trúc của CPU (chẳng hạn, cấu trúc bộ nhớ cache, bộ dự báo phân nhánh) Các tấn công bộ nhớ cache khai thác hành vi (tức là thống kê trúng/trượt bộ nhớ cache) của các hệ mật Kiến trúc bộ nhớ cache làm rò rỉ thông tin về các mẫu truy cập bộ nhớ Thời gian thực hiện là một nguồn rò rỉ (các hàm
đã nằm trong cache có thời gian thực hiện nhanh hơn so với các hàm không nằm trong cache).Các hệ mật có các mẫu truy cập bộ nhớ phụ thuộc Một khi các mẫu truy cập được trích xuất thì phòng thí nghiệm kiểm thử có thể khôi phục khóa bí mật
Nếu IUT là một cài đặt phần mềm/phần sụn của các hệ mật khóa đối xứng và nếu IUT chứa bộ nhớ cache thì phòng thí nghiệm kiểm thử có thể kiểm thử IUT chống lại các tấn công tương quan thời giantheo khung công việc được mô tả trong [50], Trong trường hợp ngược lại, kết quả kiểm thử là đạt
9.3 SPA/SEMA
9.3.1 Các tấn công lên quá trình dẫn xuất khóa
Đối với các hệ mật khóa đối xứng, chỉ có đe dọa đã biết liên quan đến SPA hoặc SEMA liên quan đến quá trình dẫn xuất khóa (Lược đồ khóa) Nếu phòng thí nghiệm kiểm thử có thể xác định các trọng số Hamming của các giá trị trung gian xảy ra trong một hệ mật khóa đối xứng thì nguy cơ lộ khóa là khả thi Ví dụ, đối với AES [53], phòng thí nghiệm kiểm thử có thể sử dụng các tính phụ thuộc giữa các byte của các khóa vòng bên trong lược đồ khóa AES để làm giảm đi số lượng các giá trị khóa có thể Sau đó khóa được xác định bằng cách sử dụng một cặp bản rõ - bản mã đã biết
Nếu IUT chứa quá trình dẫn xuất khóa thì phòng thí nghiệm kiểm thử có thể thử áp dụng một số phương pháp đã biết để trích xuất ra khóa (ví dụ [53] đối với AES) hay bất kỳ phương pháp liên quan khác
9.3.2 Các tấn công va chạm
Trang 14Các tấn công va chạm cũng sử dụng thực tế là các phép đo tấn công kênh kề của IUT phụ thuộc vào
dữ liệu đã được xử lý Các hàm an toàn mật mã sẽ bao gồm một số bước để sinh ra các giá trị trung gian từ giá trị đầu vào và khóa mật mã Nếu các giá trị trung gian trở thành như nhau về giá trị đối với các giá trị đầu vào khác nhau thì tiêu thụ điện năng hoặc phát xạ điện tử tổng hợp cần phải hoàn toàn tương tự Kiểu “va chạm” này có thể được khai thác để làm giảm đi không gian khóa (xem [38-42]).Phòng thí nghiệm kiểm thử có thể kiểm tra xem IUT có nhạy cảm đối với các tấn công va chạm như vậy không bằng cách tuân theo một khung công việc đã biết (chẳng hạn [39] đối với AES) hoặc phương pháp khác liên quan bất kỳ
9.4 DPA/DEMA
9.4.1 Giới thiệu
Kiểm thử thống kê cần được thực hiện tuân theo sau đây Các vết kênh kề sẽ được chia thành hai tậpcon sao cho thông tin nhạy cảm được xử lý là khác nhau đáng kể giữa hai tập con [20] Phân hoạch này là khả thi vì rằng các thuật toán mật mã được thực hiện với các tham số và dữ liệu đã biết và tất
cả các trạng thái trung gian là đã biết
Nếu các vết kênh kề trong hai tập con là khác nhau về mặt thống kê với độ tin cậy cao thì xuất hiện rò
rỉ thông tin và thiết bị không đạt Ngược lại, rò rỉ thông tin hoặc là không xuất hiện hoặc là bị triệt tiêu.Công cụ thống kê được sử dụng là t-kiểm thử Welch Giá trị âm hoặc dương cao của giá trị thống kê
t-kiểm thử T (được định nghĩa dưới đây) tại một thời điểm chỉ ra một bậc tin cậy cao rằng giả thuyết
không (tức là các giá trị trung bình của hai tập con là bằng nhau) là không đúng Mức tin cậy là bất kỳ giữa 0 và 1, nhưng thông thường được chọn gần với 1 chỉ ra độ tin cậy cao dựa trên các tiêu chí
mong muốn là 0.99 (hay 99%) Mức độ tin cậy xác định giá trị ngưỡng C đối với ngưỡng âm và dương (+C/-C) đối với T với phân bố t Ví dụ, mức tin cậy 99.99% tương ứng với C = 3.9 và 99.999% tương ứng với C = 4.5.
t-kiểm thử cần được lặp lại bởi vì một số giá trị dương sai có thể xuất hiện trong một thực nghiệm Haithực nghiệm độc lập có thể được yêu cầu và một thiết bị có thể bị từ chối chỉ khi thống kê t-kiểm thử
vượt quá +/-C tại cùng thời điểm trong cùng một chiều trong cả hai thực nghiệm.
Đối với mỗi thuật toán nhiều t-kiểm thử cần được thực hiện mỗi cái có mục đích hướng đến một dạng
rò rỉ khác nhau Mỗi kiểm thử cần được lặp lại hai lần với hai tập dữ liệu khác nhau Hình 7 mô tả quy trình kiểm thử thống kê chung
Trước xử lý kiểm thử thống kê, phòng thí nghiệm kiểm thử cần quy định tập nào của các vết sẽ được
sử dụng để kiểm thử Tập các vết được chia thành hai nhóm là nhóm 1 và nhóm 2 Các nhóm này là các tập dữ liệu tách rời để thực hiện hai t-kiểm thử Welch độc lập
Chúng ta định nghĩa như sau:
N A , N B Kích cỡ của các tập con A và B
μA Giá trị trung bình của tất cả các vết trong nhóm A
μB Giá trị trung bình của tất cả các vết trong nhóm B
σA Độ lệch chuẩn mẫu tất cả các vết trong nhóm A
σB Độ lệch chuẩn mẫu tất cả các vết trong nhóm B
T1
1
2 1 1
2 1
1 1
B
B A
A
Ν
+ Ν
Α
σ σ
µ µ
2
2 2 2
2 2
2 2
B
B A A A
Ν
+ Ν
σ σ
µ µ
Ngoài t-kiểm thử, NICV (phương sai liên lớp được chuẩn hóa, cũng được biết là hệ số xác định) [60], [61] có thể được sử dụng Các lợi thế là:
a) Có thể là đa bit
b) Cũng có thể so sánh được giữa các cài đặt khi nó bị chặn giữa 0 và 1
c) Quan hệ với hệ số tương quan Pearson ρ theo 0 ≤ ρ 2 ≤ NICV ≤ 1
d) Tổng quát hóa một cách tự nhiên đối với rò rỉ bậc cao
Trang 15Hình 7 - Quy trình kiểm thử thống kê chung 9.4.2 Các véctơ kiểm thử
Phòng thí nghiệm thống kê cần thu thập hai tập dữ liệu DATA-SET 1 và DATA-SET 2 từ quá trình mã hóa của mã khối với khóa công khai và một tập dữ liệu cụ thể như sau:
a) DATA-SET 1:
1) Khóa K được đặt là:
i) 0x0123456789abcdef đối với các hệ mật 64 bit
ii) 0x0123456789abcdef123456789abcdef0 đối với các hệ mật 128 bit
III) 0x0123456789abcdef123456789abcdef023456789abcdef01 đối với các hệ mật 192 bit
iV) 0x0123456789abcdef123456789abcdef023456789abcdef013456789abcdef012 đối với các hệ mật
256 bit
2) Gọi n là số các mẫu phân biệt được cho là hợp lý đối với một kẻ tấn công để thu thập trong đó
j là chỉ số
l 0 là đầu vào của phép mã hóa 0
l 1 là đầu vào của phép mã hóa 1
l 2n là đầu vào của phép mã hóa 2n
2n phép mã hóa cần được thực hiện với các đầu vào: l 0 , l 1 , l 2 , , l 2n trong đó đầu vào đối với phép mã hóa đầu tiên tất cả bằng 0 và mỗi phép mã hóa tiếp theo sử dụng đầu ra của phép mã hóa trước đó
như là đầu vào của nó, tức là, nếu hệ mật được ký hiệu là f, l j +1 = f(K, l j ) đối với 0 < j < 2n.
b) DATA-SET 2:
1) Khóa K được đặt là:
i) 0x0123456789abcdef đối với các hệ mật 64 bit
ii) 0x0123456789abcdef123456789abcdef0 đối với các hệ mật 128 bit
iii) 0x0123456789abcdef123456789abcdef023456789abcdef01 đối với các hệ mật 192 bit
iv) 0x0123456789abcdef123456789abcdef023456789abcdef013456789abcdef012 đối với các hệ mật
256 bit
2) Dữ liệu (bản rõ hoặc bản mã) J được lựa chọn sao cho các điều kiện sau đây được đáp ứng tại
vòng giữa của hệ mật:
i) Có ít nhất một byte của round_in XOR round_out bằng 0 (đối với Kiểm thử 1)
ii) Có ít nhất một đầu ra phần thay thế (Sbox) bằng 0 (đối với Kiểm thử 2)
Trang 16iii) Có ít nhất một byte dữ liệu XOR khóa vòng bằng 0, ví dụ: phép AddRoundKey trong AES (đối với Kiểm thử 3).
iv) Có ít nhất một byte dữ liệu bằng 0 (đối với Kiểm thử 4)
Phòng thí nghiệm kiểm thử tùy chọn phương pháp bất kỳ để sinh ra một J thuận tiện Vòng giữa R
(trừ vòng đầu và cuối) được lựa chọn bởi phòng thí nghiệm kiểm thử mà không cần thông tin cho nhà cung cấp
c) Thực hiện n phép mã hóa với đầu vào J.
DATA-SET 2 sử dụng cùng một khóa với DATA-SET 1 nhưng lặp đi lặp lại thực hiện phép mã hóa với chỉ một giá trị dữ liệu cố định Cả hai DATA-SET 1 và DATA-SET 2 yêu cầu đo tất cả hoạt động của hệmật, được ghi lại và được kiểm tra
9.4.3 Quy trình chi tiết
Dựa trên thu thập dữ liệu được đề xuất đối với AES, các kiểm thử sau đây được mô tả dưới đây cần được thực hiện: Kiểm thử 0, Kiểm thử 1, Kiểm thử 2, Kiểm thử 3, Kiểm thử 4, Kiểm thử 5 Nếu IUT thất bại ít nhất đối với một trong các kiểm thử này thì kết quả kiểm thử là thất bại
Kiểm thử 0: Mã hóa với chỉ một giá trị dữ liệu cố định đối với các phép mã hóa ngẫu nhiên Trong
kiểm thử này, khu vực quan tâm là 1/3 ở giữa của phép mã hóa
Hình 8 - Kiểm thử 0 Kiểm thử 1: Kiểm thử rò rỉ 1 XOR của đầu vào và đầu ra vòng.