Trang /
Tiêu chuẩn TCVN 12212:2018 Kiểm thử giảm thiểu lớp tấn công các mô đun mật mã
- Thuộc tính
- Nội dung
- Tiêu chuẩn liên quan
- Lược đồ
- Tải về
Lưu
Theo dõi văn bản
Đây là tiện ích dành cho thành viên đăng ký phần mềm.
Quý khách vui lòng Đăng nhập tài khoản LuatVietnam và đăng ký sử dụng Phần mềm tra cứu văn bản.
Báo lỗi
Đang tải dữ liệu...
Đang tải dữ liệu...
Tiêu chuẩn Việt Nam TCVN 12212:2018
Tiê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ã
Số hiệu: | TCVN 12212:2018 | Loại văn bản: | Tiêu chuẩn Việt Nam |
Cơ quan ban hành: | Bộ Khoa học và Công nghệ | Lĩnh vực: | Khoa học-Công nghệ, Thông tin-Truyền thông |
Năm ban hành: | 2018 | Hiệu lực: | |
Người ký: | Tình trạng hiệu lực: | Đã biết Vui lòng đăng nhập tài khoản gói Tiêu chuẩn hoặc Nâng cao để xem Tình trạng hiệu lực. Nếu chưa có tài khoản Quý khách đăng ký tại đây! | |
Tình trạng hiệu lực: Đã biết
Ghi chú: Thêm ghi chú cá nhân cho văn bản bạn đang xem.
Hiệu lực: Đã biết
Tình trạng: Đã biết
TIÊ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
Mục Lục
Lời nói đầu
1 Phạm vi áp dụng
2 Tài liệu viện dẫn
3 Thuật ngữ và định nghĩa
4 Ký hiệu và thuật ngữ viết tắt
5 Bố cục tài liệu
6 Các phương pháp tấn công không xâm lấn
7 Các hàm an toàn liên kết
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
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
9.1 Giới thiệu
9.2 Các tấn công tương quan thời gian
9.3 SPA/SEMA
9.4 DPA/DEMA
10 ASCA trên mật mã phi đối xứng
10.1 Giới thiệu
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
10.4 SPA/SEMA
10.5 DPA/DEMA
11 Các phép đo kiểu đạt/không đạt giảm thiểu tấn công không xâm lấn
11.1 Giới thiệu
11.2 Mức an toàn 3
11.3 Mức an toàn 4
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.
TCVN 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 mô-đ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.
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ã.
3 Thuật ngữ và định nghĩa
Tiêu chuẩn này áp dụng các thuật ngữ và định nghĩa trong TCVN 11295:2016 (ISO/IEC 19790) và dưới đây:
3.1
SCA nâng cao (advanced SCA)
ASCA
Là khai thác nâng cao so với thực tế là các kênh kề tức thời được phát xạ bởi một thiết bị mật mã phụ thuộc vào dữ liệu mà nó xử lý và vào hoạt động mà nó thực hiện để khôi phục các tham số bí mật.
3.2
Phân tích năng lượng tương quan (correlation power analysis)
CPA
Phân tích mà tại đó hệ số tương quan được sử dụng như là một phương pháp thống kê.
3.3
Tham số an toàn quyết định (critical security parameter)
CSP
Thông tin liên quan đến an toàn mà việc làm lộ hay sửa đổi nó có thể gây tổn hại đến an toàn của mô-đun mật mã.
Ví dụ: Các khóa mật mã riêng và bí mật, dữ liệu xác thực như mật khẩu, PIN, các chứng thư số hay các bằng chứng tin cậy khác.
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
Lớ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.
3.5
Phân tích vi sai điện từ trường (differential electromagnetic analysis)
DEMA
Phân tích các biến thiên của trường điện từ phát ra từ một mô-đun mật mã, sử dụng các phương pháp thống kê trên một số lượng lớn các giá trị phát xạ điện từ trường đo được để xác định xem giả thiết về các tập con được phân chia của một tham số bí mật có đúng hay không với mục đích trích xuất ra thông tin tương quan với hoạt động của chức năng an toàn.
3.6
Phân tích vi sai năng lượng (differential power analysis)
DPA
Phân tích các biến thiên tiêu thụ năng lượng điện của một mô-đun mật mã với mục đích phân tách ra thông tin tương quan với hoạt động mật mã.
3.7
Phân tích điện từ (electromagnetic analysis)
EMA
Phân tích của trường điện từ phát ra từ một mô-đun mật mã như là kết quả của chuyển mạch logic của nó đối với mục đích trích xuất ra thông tin tương quan với hoạt động của chức năng an toàn và liên quan đến giá trị của các tham số bí mật như các khóa mật mã.
3.8
Tấn công theo phương ngang (horizontal attack)
HA
Thủ đoạn phạm tội trong đó thông tin nhạy cảm thu được từ chỉ một phép đo được phân tách thành nhiều phần.
3.9
Triển khai kiểm thử (implementation under test)
IUT
Cài đặt mà được kiểm thử dựa vào các phương pháp được quy định trong tiêu chuẩn này.
3.10
Phân tích thông tin tương hỗ (mutual information analysis)
MIA
Phân tích sự phụ thuộc lẫn nhau của hai biến ngẫu nhiên.
3.11
Phân tích năng lượng (power analysis)
PA
Phân tích tiêu thụ điện năng của một mô-đun mật mã với mục đích phân tách ra thông tin tương quan với hoạt động của chức năng an toàn và liên quan đến giá trị của các tham số bí mật như các khóa mật mã.
3.12
Tấn công hình chữ nhật (rectangle attack)
RA
Thủ đoạn phạm tội mà trong đó pha thu nhận các quan sát trộn lẫn các tấn công thẳng đứng và các tấn công nằm ngang.
3.13
Phân tích kênh kề (side-channel analysis)
SCA
Khai 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.
3.14
Phân tích điện từ trường đơn giản (simple electromagnetic analysis)
SEMA
Phân tích trực tiếp (chủ yếu dựa trên quan sát) của các mẫu thực hiện lệnh hay các hoạt động mạch logic, thu được qua giám sát các biến thiên trong trường điện từ phát ra từ một mô-đun mật mã với mục đích tiết lộ các đặc tính và cài đặt của các thuật toán mật mã và liên quan đến giá trị của các tham số bí mật.
3.15
Phân tích điện năng đơn giản (simple power analysis)
SPA
Phân tích trực tiếp (chủ yếu dựa trên quan sát) của các mẫu thực hiện lệnh (hay thực hiện các lệnh riêng biệt) liên quan đến tiêu thụ điện năng của một mô-đun mật mã đối với mục đích phân tách ra thông tin tương quan với một hoạt động mật mã.
3.16
Phân tích tương quan thời gian (timing analysis)
TA
Phân tích các biến thiên của thời gian trả lời hoặc thực hiện một hoạt động trong một chức năng an toàn mà có thể tiết lộ tri thức về một tham số an toàn như một khóa mật mã hay số PIN.
3.17
Tấn công theo phương thẳng đứng (vertical attack)
VA
Thủ đoạn phạm tội mà trong đó thông tin nhạy cảm thu được từ các thực hiện thuật toán khác nhau.
4 Ký hiệu và chữ viết tắt
Với mục đích của tiêu chuẩn này, các ký hiệu và chữ viết tắt được quy định trong TCVN 11295:2016 (ISO/IEC 19790) và dưới đây được áp dụng:
DLC |
Mật mã logarit rời rạc |
ECC |
Mật mã đường cong elliptic |
EM |
Điện-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 |
MAC |
Mã xác thực thông báo |
PC |
Máy tính cá nhân |
PCB |
Bảng mạch in |
RBG |
Bộ sinh bit ngẫu nhiên |
RNG |
Bộ sinh số ngẫu nhiên |
USB |
Bus nối tiếp đa năng |
* |
Ký hiệu phép nhân |
^ |
Ký hiệu phép lũy thừa |
5 Bố cục tiêu chuẩn
Điều 6 quy định các phương pháp tấn công không xâm lấn mà một mô-đun mật mã cần có giải pháp chống lại theo TCVN 11295:2016 (ISO/IEC 19790).
Điều 7 quy định đối với mỗi phương pháp tấn công không xâm lấn các chức năng an toàn liên quan được quy định trong TCVN 11295:2016 (ISO/IEC 19790).
Đ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.
Đ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 xạ âm thanh,...).
Để phân loại các tấn công, một phương pháp hình thức hóa được sử dụng nhấn mạnh mối quan hệ giữa các tấn công khác nhau để mô tả một tấn công mới một cách hệ thống.
Một tấn công được mô tả theo cách sau đây:
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
CHÚ 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ột thiế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à:
A |
xử lý mật mã |
C |
xử lý quan sát |
D |
số các dự đoán |
d_C |
bậc đa biến |
d_D |
bậc đa biến |
d_o |
chiều của quan sát |
F |
hàm, tức là, thao tác |
h |
quan sát |
i |
chỉ số |
K |
khóa bí mật |
k1 |
khóa con 1 |
k2 |
khóa con 2 |
M |
mô hình rò rỉ |
N |
số lượng quan sát |
o_i |
khoảng quan sát |
(o_i)_i |
khoảng quan sát thứ i |
pred _i |
dự đoán |
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 |
X |
văn bản đầu vào |
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.
CHÚ 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
Các hàm an toàn |
Các phương pháp tấn công không xâm lấn |
|||
SPA/SEMA |
DPA/DEMA |
TA |
||
Khóa đối xứng |
AES |
A |
A |
A |
DES-bội ba |
A |
A |
A |
|
Mã dòng |
A |
A |
A |
|
Khóa bất đối xứng |
RSA nguyên thủy (Bọc khóa) |
A |
A |
A |
RSA PKCS#1 v1.5 |
A |
A |
A |
|
RSA PKCS#1 v2.1 |
NA |
NA |
A |
|
DSA |
A |
A |
A |
|
ECDSA |
A |
A |
A |
|
Các cơ chế băm |
SHA |
A |
NA |
NA |
RNG và RBG |
Tất định |
A |
NA |
NA |
|
Bất định |
A |
NA |
NA |
Các cơ chế xác thực dữ liệu |
HMAC |
A |
A |
A |
Sinh khóa |
A |
NA |
NA |
|
Dẫn xuất khóa từ khóa khác |
A |
A |
NA |
|
Dẫn xuất khóa từ mật khẩu |
A |
NA |
NA |
|
Thiết lập khóa |
DLC |
A |
NA |
NA |
|
IFC |
A |
NA |
NA |
Đầu vào và đầu ra khóa |
NA |
NA |
NA |
|
Các cơ chế xác thực hoạt động |
PIN/Mật khẩu |
A |
A |
A |
|
Khóa |
NA |
NA |
A |
|
Sinh trắc học |
A |
NA |
A |
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ông tin 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).
Mụ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 an toà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.
Hì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êu cầ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
Hì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) T1 và T2, phép kiểm thử đạt nếu |T1 - T2| < ε="" và="" ngược="" lại="" là="" không="">
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.
Đầ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ó được phá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ác thuậ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 giả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 khi hoạ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ệm kiể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 gian theo 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
Cá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ập con 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. Hai thự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:
NA, NB |
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 |
|
T2 |
|
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.
Hì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ố
l0 là đầu vào của phép mã hóa 0
l1 là đầu vào của phép mã hóa 1
l2n 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: l0, l1, l2, ..., l2n 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, lj +1 = f(K, lj) đối với 0 < j=""><>.
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)
iii) 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.
Hình 9 - Kiểm thử 1 (trong đó RIRObitR_i = đầu vào vòng R XOR đầu ra vòng R) đối với i từ 0 đến 127
Kiểm thử 2: Kiểm thử rò rỉ 2. Đầu ra S-box đối với mỗi vòng.
Hình 10 - Kiểm thử 2 (trong đó SoutR là đầu ra được nối lại của 16 bảng tra S-Hộp), đối với i từ 0 đến 127
Kiểm thử 3: Kiểm thử rò rỉ 3. Đầu ra của vòng.
Hình 11 - Kiểm thử 3 (trong đó Rout_N = Đầu ra của vòng N) đối với i từ 0 đến 127
Kiểm thử 4: Kiểm thử rò rỉ 4. Phân tích byte của đầu ra vòng (mỗi giá trị đối với byte đầu tiên).
Hình 12 - Kiểm thử 4 (trong đó Rout_0_N là byte đầu tiên của vòng N) đối với i từ 0 đến 127
Kiểm thử 5: Kiểm thử rò rỉ 5. Phân tích byte của đầu ra vòng (mỗi giá trị đối với byte thứ hai).
Hình 13 - Kiểm thử 5 (trong đó Rout_1_N là byte thứ hai của vòng N), đối với i từ 0 đến 127
CHÚ THÍCH 1: Áp dụng OPA/DEMA lên quá trình dẫn xuất khóa (ví dụ: lược đồ khóa) của một IUT cũng có thể cho phép khôi phục khóa. 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 phương pháp liên quan bất kỳ để trích xuất ra khóa.
CHÚ THÍCH 2: Tấn công các hệ mã dòng cũng có thể thực hiện bằng việc áp dụng phương pháp luận tổng quát được mô tả trong 9.3.
10 ASCA trên mật mã phi đối xứng
10.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 phi đối xứng.
Các thuật toán phi đối xứng có thể hoàn thành ba nhiệm vụ khác nhau: ký số, mã hóa và thỏa thuận khóa. Như được chỉ ra trên Bảng 1, các thuật toán phi đối xứng được sử dụng nhiều nhất là RSA và các hệ mật đường cong elliptic (ECC).
Đối với ký số, mã hóa hay thỏa thuận khóa, hoạt động chính là tính toán:
a) Lũy thừa mô-đun trong trường hợp của RSA; tức là tính md mod n đối với số nguyên m, khóa bí mật d và số nguyên n, và
b) Phép nhân vô hướng đường cong elliptic trong trường hợp của ECC; tức là tính d.p đối với một điểm trên đường cong elliptic cho trước và khóa bí mật d.
Có nhiều khả năng để tính lũy thừa mô-đun và phép nhân vô hướng đường cong elliptic. Các thuật toán lũy thừa thực tế phụ thuộc vào biểu diễn của các số nguyên; vào phép toán mô-đun số học.
CHÚ THÍCH: Các cài đặt thuật toán lũy thừa thực tế cũng phụ thuộc vào hiệu suất, độ phức tạp, tính gọn nhẹ và mức độ an toàn được đặt đích hướng đến và bởi vậy là kết quả của một sự thỏa hiệp cần thiết.
Giao diện mô tả trong hình 3 được sử dụng: Đánh giá 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ề riêng biệt.
Đối với ECC, khảo sát tổng quát đầy đủ của các tấn công kênh kề có trong [59].
10.2 Chi tiết khung công việc kiểm thử kháng kênh kề
Hình 14 - Khung công việc kiểm thử kháng kênh kề
So với các hệ mật khóa đối xứng, tồn tại nhiều cách tấn công các hệ mật khóa phi đối xứng hơn do các tính đa dạng của chúng về cấu trúc và số học nằm phía dưới. Hình 14 mô tả khung công việc kiểm thử kháng kênh kề đối với các hệ mật khóa phi đối xứng. Các kiểm thử an toàn nhằm mục đích kiểm tra tính an toàn chống lại các tấn công thông thường như TA, SPA, DPA nhưng cũng với cả nhiều hơn các tấn công phức tạp (các tấn công DPA địa chỉ-bit, SPA Markov, nhân đôi điểm) và trong mỗi các tấn công này là một tấn công cụ thể lên các hệ mật khóa phi đối xứng. Các chi tiết được giải thích trong 10.3, 10.4 và 10.5.
10.3 Các tấn công tương quan thời gian
10.3.1 Giới thiệu
Theo Hình 14, phòng thí nghiệm kiểm thử cần đánh giá độ an toàn của các hệ mật khóa phi đối xứng chống lại phân tích tính thời gian chuẩn và kiến trúc vi mô.
10.3.2 Phân tích tính thời gian chuẩn
Bởi vì các hệ mật khóa phi đối xứng tính các phép toán phụ thuộc khóa và có thể sử dụng các phép toán toán học cơ bản với các tính toán biến thiên thời gian (ví dụ: phép nhân mô-đun) nên chúng có thể bị tổn thương đối với tấn công tương quan thời gian. Phần sau đây diễn tả chi tiết phương pháp được mô tả trong [2] để tấn công RSA với tấn công tương quan thời gian.
Trong [2] các tấn công được thực hiện trên một IUT cài đặt:
- Phép nhân mô-đun (phương pháp Montgomery) chỉ rõ các biến thiên thời gian tính toán,
- Chương trình con tính lũy thừa nhân và bình phương chuẩn cho phép các biến thiên này có thể bị khai thác.
Kết quả của mỗi phép nhân nằm trong [0, 2N - 1] trong đó N là mô-đun.
Theo chương trình con tính lũy thừa, IUT tính một bước nhân khi bit khóa bí mật hiện tại d _ I bằng 1. Nếu kết quả của bước nhân là lớn hơn N thì phép trừ đi N được tính toán.
Trong [2] phòng thí nghiệm kiểm thử cần có hiểu biết về các bit khóa bí mật d _ k - 1 đến d _ k - i+1 khi tấn công d _ k. Biết thông báo, giá trị trung gian sau bước bình phương (được gọi là s) tại lặp k - i được tính toán. Cho dù phép trừ trong bước nhân được yêu cầu hay không cũng cần được nêu rõ.
Tấn công dựa trên một oracle. Oracle là một nhân bản của IUT mà trong đó người kiểm thử có thể thay đổi CSP. Phòng thí nghiệm kiểm thử cần phải:
a) Ký số với cùng (d, N) đối với nhiều thông báo ngẫu nhiên,
b) Giả thuyết rằng d _ k - i = 1,
c) Xây dựng 2 tập thông báo phụ thuộc vào thực tế là phép trừ xảy ra (tập A) hay không (tập B) trong quá trình nhân.
Trong trường hợp:
- d _ k - i = 0, các thời gian toàn cục đối với các tập A và B là không phân biệt được về mặt thống kê (phân tách là dựa trên một phép nhân mà nó không xảy ra);
- d _ k - i = 1, các thời gian toàn cục đối với các tập A và B chỉ ra một sự khác biệt thống kê liên quan đến phép trừ không bắt buộc (phép nhân thì chắc chắn xảy ra).
Các phép đo thời gian xác nhận hợp lệ hay không hợp lệ oracle. Phòng thí nghiệm kiểm thử cần tính giá trị trung bình của khoảng thời gian toàn cục đối với mỗi tập con (tương ứng ) là khoảng thời gian toàn cục trung bình đối với các thông báo A(B). Tiêu chí oracle là sau đây:
- Nếu - > 0 thì oracle là đúng (d _k - i = 1);
- Nếu - = 0 thì oracle là sai (d[k - i] = 0).
Nếu phòng thí nghiệm kiểm thử cuối cùng khôi phục được toàn bộ khóa với phương pháp này (nhận được từ [2]) hay phương pháp liên quan khác bất kỳ thì kết quả kiểm thử là không đạt. Ngược lại thì kết quả kiểm thử là đạt.
CHÚ THÍCH: RSA PKCS#1 v2.1, DSA và ECDSA là không bị tổn thương đối với phân tích tính thời gian chuẩn bởi vì:
- Phương pháp đệm được sử dụng đối với RSA PKCS81 v2.1 là xác suất và kẻ tấn công không thể đoán trước được về các giá trị trung gian.
- DSA và ECOSA sử dụng số mũ và số vô hướng tồn tại ngắn hạn tương ứng thế nên kẻ tấn công không thể hướng mục đích đến một bit cụ thể.
10.3.3 Phân tích tính thời gian kiến trúc vi mô
Các hệ mật khóa phi đối xứng (các phần mềm) cũng bị tổn thương đối với các tấn công kiến trúc vi mô. Kênh thư cấp này được làm cho có thể bởi khả năng dự đoán nhánh chung cho tất cả các CPU hiện đại. Cái giá phải trả (Các chu kỳ xung phụ trội) đối với một rẽ nhánh được dự đoán sai có thể được sử dụng đối với phân tích mã của các nguyên thủy mật mã mà chúng sử dụng một luồng chương trình phụ thuộc dữ liệu. Các hệ mật khóa phi đối xứng (các phần mềm) bởi vậy là nhạy cảm đối với cái gọi là “phân tích dự đoán rẽ nhánh” [52]. Phòng thí nghiệm kiểm thử cần kiểm thử IUT chống lại các tấn công thời gian (kiến trúc vi mô) theo khung công việc được mô tả trong [52] hay phương pháp liên quan khác bất kỳ.
10.4 SPA/SEMA
10.4.1 Giới thiệu
Theo Hình 14, phòng thí nghiệm kiểm thử cần đánh giá độ an toàn của các hệ mật khóa phi đối xứng chống lại SPA chuẩn, cái gọi là “SPA-Markov” và tấn công nhân đôi điểm.
Ở đây có ba kiểu chính các tấn công khác nhau:
- Bởi vì các hệ mật khóa phi đối xứng thực hiện một dãy các phép toán phụ thuộc khóa thì một cách tự nhiên là bị tổn thương đối với SPA/DEMA “chuẩn” (xem 10.4.2);
- Một số biện pháp SPA/SEMA dẫn đến một dãy các phép toán có thể mang đến đủ thông tin để khôi phục khóa. Khi đó “SPA/SEMA-Markov” có thể cho phép xóa sự phụ thuộc giữa dãy và khóa (xem 10.4.3).
- Trong một số trường hợp, một phòng thí nghiệm kiểm thử có thể gửi các véctơ đầu vào cụ thể đến IUT nó sẽ cho phép chúng ta khôi phục khóa với SPA/SEMA sử dụng một số lượng nhỏ các dạng sóng. Đó là nguyên lý của “các tấn công nhân đôi điểm”.
10.4.2 SPA/SEMA chuẩn
Phòng thí nghiệm kiểm thử cần sử dụng khung công việc được mô tả trong 8.3.5 (xem thêm Hình 3).
Đối với tất cả các phép đo kênh kề, nếu tương quan chéo dẫn đến một dãy phép toán bình thường, chẳng hạn, với một RSA (Ở đây “M” biểu diễn một phép toán nhân và “S” một phép toán bình phương):
- “MMMMMM...”
- “MSMSMS...”
Từ đó kết quả kiểm thử là đạt.
CHÚ THÍCH 1: Thay vì các đầu vào và các khóa ngẫu nhiên, phòng thí nghiệm kiểm thử có thể chọn các đầu vào và các khóa cụ thể:
- Các khóa: ngẫu nhiên, 0x80...01, 0xff...ff, 0x aa...aa (biểu diễn nhị phân: 1010 1010 ...).
- Các đầu vào: ngẫu nhiên, trọng số Hamming thấp, trọng số Hamming cao.
Trong một hệ mật phi đối xứng, các bit của số mũ/số vô hưởng ảnh hưởng lớn đến kiểu phép toán hay dữ liệu được thao tác. Các khóa cụ thể có thể giúp phân biệt được sự khác nhau phụ thuộc vào bit hiện tại, ví dụ, phân biệt bình phương với nhân (nhân đôi từ cộng điểm đối với ECC), sử dụng tồi các lệnh nhảy phụ thuộc vào bit hiện tại,....
CHÚ THÍCH 2: Một IUT sử dụng một số biện pháp SPA/SEMA như “thuật toán nhân đôi và cộng nguyên tử” có thể rò rỉ trọng số Hamming của khóa bí mật. Trong một số điều kiện thì nó là đủ để làm rò rỉ toàn bộ khóa [57]. Phòng thí nghiệm kiểm thử khi đó có thể tùy chọn tuân theo phương pháp luận trong [57].
10.4.3 SPA/SEMA Markov
Nếu tương quan chéo dẫn đến các dãy phép toán không bình thường và nếu liên kết giữa các thao tác không bình thường này và khóa không rõ ràng trong quan sát đầu tiên thì phòng thí nghiệm kiểm thử có thể áp dụng các tấn công cụ thể để cuối cùng khôi phục được khóa. Phòng thí nghiệm kiểm thử có thể ví dụ đối mặt với một phép lũy thừa mô-đun được ngẫu nhiên hóa có sai sót (tương ứng là phép nhân vô hướng) và khi đó nó có thể sử dụng những điểm yếu đã biết để cuối cùng khôi phục được khóa bằng cách xét thuật toán lũy thừa (hay phép nhân vô hướng) như là một quá trình Markov [51]. Tấn công được đề xuất trong [51] lên ECC thực hiện trong bốn bước:
- Pha tính trước: Tìm mô hình Markov. Phòng thí nghiệm kiểm thử cần phải tính các xác suất điều kiện đối với các dãy bit và các dãy các phép toán được thực hiện.
- Pha thu thập dữ liệu: Phòng thí nghiệm kiểm thử cần phải suy ra dãy các phép toán bình phương và nhân (nhân đôi và cộng điểm).
- Pha phân tích dữ liệu: Phòng thí nghiệm kiểm thử cần phân tách dãy thành một số các dãy con.
- Pha kiểm thử khóa: Phòng thí nghiệm kiểm thử cần phải kiểm tra tất cả các khóa có thể bằng bản mã đã biết.
Phòng thí nghiệm kiểm thử cần kiểm thử IUT chống lại SPA/SEMA (đặc biệt khi quan hệ giữa các bit của khóa và các phép toán là khó tìm) tuân theo khung công việc được mô tả trong [51] hoặc một phương pháp liên quan khác bất kỳ. Nếu nó khôi phục được khóa thì kết quả kiểm thử là Thất bại.
10.5 DPA/DEMA
10.5.1 Giới thiệu
Theo Hình 14, phòng thí nghiệm kiểm thử cần đánh giá độ an toàn của các hệ mật khóa phi đối xứng chống lại DPA và DPA địa chỉ - bit chuẩn.
10.5.2 DPA/DEMA chuẩn
Trong trường hợp chung, kiểm thử kháng DPA/DEMA đối với các hệ mật khóa phi đối xứng là tương tự với các hệ mật khóa đối xứng trừ khi ở đây có quá nhiều các mô hình rò rỉ. Đối với RSA, các mô hình rò rỉ được liệt kê trong bảng sau đây.
Bảng 2 - Các mô hình rò rỉ đối với RSA
Biểu diễn số nguyên |
Thuật toán tính lũy thừa |
Kích thước từ |
Chế độ RSA |
Cổ điển |
Luôn luôn bình phương và nhân từ trái sang phải |
8 |
Không CRT |
Biểu diễn Montgomery |
Luôn luôn bình phương và nhân từ phải sang trái |
16 |
CRT |
- |
Thang Montgomery |
32 |
- |
- |
Trượt các cửa sổ có kích cỡ cửa sổ cỡ 2 |
64 |
- |
- |
Trượt các cửa sổ có kích cỡ cửa sổ cỡ 3 |
- |
- |
- |
Trượt các cửa sổ có kích cỡ cửa sổ cỡ 4 |
- |
- |
- |
Phương pháp bình phương và nhân của Joye |
- |
- |
Đối với kiểm thử DPA địa chỉ-bit chuẩn và kiểm thử CPA, các kiểm thử phụ thuộc vào một mô hình rò rỉ cụ thể. Mặc dù, mỗi mô hình rò rỉ bao gồm sự kết hợp của các cột khác nhau. Có tổng cộng 2x7x4x2 = 112 các mô hình rò rỉ. Đối với ECC, các khía cạnh khác nhau cần được xem xét: các công thức cộng/nhân đôi khác nhau, các biểu diễn khác nhau của các điểm,... Còn có nhiều các mô hình rò rỉ nữa. Bởi vậy áp dụng kiểm thử kháng DPA/DEMA chuẩn là không tương thích với cách tiếp cận “nhấn phím”.
Cũng như đối với trường hợp mật mã đối xứng, cách tiếp cận t-kiểm thử hậu quả là kém tiện ích hơn đối với xây dựng một tấn công chống lại một IUT: có thể giải quyết rò rỉ mà không cần phải biết hay đoán bản chất tự nhiên của rò rỉ trước.
Đó là tại sao cách tiếp cận được giới thiệu đối với mật mã đối xứng lại được mở rộng để bao hàm cả các thuật toán khóa công khai:
- Phòng thí nghiệm kiểm thử cần phải sử dụng một tập tính trước các véctơ kiểm thử để làm lộ và cách ly các rò rỉ tiềm năng,
- Phòng thí nghiệm kiểm thử khi đó cần áp dụng t-kiểm thử của Welch cho nhiều tập dữ liệu được quy định trước để phát hiện rò rỉ thông tin nhạy cảm trong kênh kề.
Các véctơ kiểm thử trải dài từ các véctơ hướng mục đích đến các điểm yếu rất cụ thể mà chúng có thể xảy ra đối với các lựa chọn cài đặt nhất định đến các kiểm thử rất tổng quát, cho phép lấy một tập rất rộng các rò rỉ. Các rò rỉ DPA/DEMA tổng quát có thể xuất hiện trong các thuật toán khóa phi đối xứng trong:
- Phép toán chính (lũy thừa mô-đun hay nhân vô hướng), tức là, trong lúc các phép bình phương, các phép nhân hay nhân đôi và cộng điểm,
- Các phép toán khởi tạo (rút gọn ban đầu, tính nghịch đảo Montgomery, tính các tham số giống như p^{-1} mod q đối với RSA -CRT hay R = 2^{k} mod p đối với phép nhân Montgomery) và các phép toán trung gian (các rút gọn trung gian, các bước tái kết hợp của CRT, nhân (không lấy mô-đun) bởi p hoặc q trong RSA-CRT).
- Bộ xử lý số học.
Các véctơ kiểm thử được chia thành bốn loại (xem Bảng 3).
Bảng 3 - Các véctơ kiểm thử RSA và căn cứ
Tập số |
Các thuộc tính vector kiểm thử |
Căn cứ cho phép kiểm thử |
Tập 1 |
Khóa cố định, Bản mã cố định |
(Vạch chuẩn. Khóa và bản mã là ngẫu nhiên.) |
Tập 2 |
Các khóa biến thiên, Bản mã cố định |
Mục đích của phép kiểm thử này là để làm nổi bật mối quan hệ có hệ thống giữa điện năng tiêu thụ và dữ liệu khóa bí mật. Có thể tiết lộ các biến thể dựa vào các giá trị khóa khác nhau đang được xử lý |
Tập 3 |
Khóa cố định, Các bản mã từ một tập “các giá trị đặc biệt” (mô tả trong 10.5.2) |
Mục đích của phép kiểm thử này là tìm ra IUT với các giá trị đặc biệt để kích hoạt tiêu thụ điện năng đặc biệt trong quá trình cài đặt nhất định. |
Tập 4 |
Khóa cố định, Các bản mã biến thiên |
Mục đích của phép kiểm thử này là để làm nổi bật mối quan hệ có hệ thống giữa các phép đo kênh kề và dữ liệu bản mã. Có thể tiết lộ các phép đo kênh kề một cách có hệ thống dựa vào thực tế là các giá trị bản mã đang thay đổi. |
Các vết từ các tệp 2 và 3 cần được so sánh với các vết trong tập 1 sử dụng kiểm thử Welch. Phụ thuộc vào ngữ cảnh sử dụng IUT, các vết từ tập 4 cũng cần được so sánh với các vết trong tập 1. Mỗi t-kiểm thử được lặp lại hai lần với các tập con véctơ kiểm thử độc lập (Tập con A và tập con B). IUT thất bại nếu ở đây có một thời điểm mà tại đó t-giá trị đối với cả tập con A và tập con B vượt quá +4.5 hay -4.6 đối với ít nhất một kiểm thử.
Mũi nhọn biên độ cao trong t-kiểm thử làm lộ quan hệ thống kê đáng kể giữa tiêu thụ điện năng (trạng thái của IUT) và các giá trị cần được xử lý, tức là, t-kiểm thử đã làm lộ ra một rò rỉ.
Tập 4 bao gồm các véctơ được chọn để sinh các giá trị trung gian ngoại lệ đối với đa dạng các thuật toán lũy thừa mô-đun hay nhân vô hướng và các lựa chọn cài đặt. Bảng 4 mô tả một số ví dụ các loại khác nhau (hay “các giá trị đặc biệt”) của các véctơ kiểm thử mà chúng có thể được sử dụng bởi phòng thí nghiệm kiểm thử khi IUT sử dụng phép nhân Montgomery đối với nhân mô-đun. Một số kiểm thử cơ bản liên quan đến RSA-CRT với khóa 1024 bit (khi chúng ta xét các bản mã mô-đun p hay q) nhưng một số trong chúng cũng có thể được sử dụng đối với không-CRT-RSA và ECC.
Bảng 4 - Mô tả các bộ phân loại đối với tập 4
Bộ phân loại số |
Giá trị bản mã |
00 |
0 |
01 |
1 |
02 |
2 |
03 |
3 |
04 |
n-1 (bản mã đồng dư với -1 mô-đun N, mô-đun p và mô-đun q) |
05 |
n-2 (bản mã đồng dư với -2 mô-đun N, mô-đun p và mô-đun q) |
06 |
n-3 (bản mã đồng dư với -3 mô-đun N, mô-đun p và mô-đun q) |
07 |
2^{-512} mod p (số có biểu diễn Montgomery là 1 mod p) |
08 |
2^{-256} mod p (số có bình phương được biểu diễn Montgomery là 1 mod p) |
09 |
2^{-1024} mod n (số có biểu diễn Montgomery là 1 mod N) |
10 |
Số có biểu diễn Montgomery là 2 mod p, q và N |
11 |
Số có biểu diễn Montgomery là 3 mod p, q và N |
12 |
Số có bình phương được biểu diễn Montgomery là 2^{511}-1 mod p, q và N |
13 |
Số có biểu diễn Montgomery của giá trị bình phương là 2^{511}-1 mod p, q và N |
14 |
Số có giá trị lập phương được biểu diễn Montgomery nhỏ hơn nhiều so với p và q |
15 |
Số có biểu diễn Montgomery mô-đun N gần bằng 2^{1023}-1 |
16 |
Số có biểu diễn Montgomery của giá trị bình phương mô-đun N gần bằng 2^{1023}-1 |
17 |
Số có biểu diễn Montgomery của giá trị lập phương mô-đun N nhỏ |
Tập 4 có thể được mở rộng để bao gồm các giá trị đặc biệt khác được mô phỏng phù hợp hơn cho IUT. Ví dụ, cái này sau đây có thể sử dụng rút gọn Barret. Trong trường hợp này, phòng thí nghiệm kiểm thử có thể thêm vào các giá trị chi tiết của véctơ kiểm thử trong Bảng 4 một số giá trị đặc biệt khác, ví dụ tạo ra một số giá trị trung gian bằng 0 hoặc có trọng số Hamming cao hoặc thấp. Hơn thế nữa, các bản mã có thể được lựa chọn để tạo ra các tính chất đặc biệt trên kết quả của hoạt động hoạt động mật mã (Chẳng hạn, sinh ra các đầu ra giải mã có giá trị rất nhỏ).
Phòng thí nghiệm kiểm thử tối thiểu cần sử dụng danh sách các bản mã được chi tiết hóa trong Bảng 4 và một số bản mã không bắt buộc mà chúng dẫn đến các rò rỉ biên độ cao tiềm năng trong IUT.
RSA PKCS#1 v2.1, DSA và ECDSA không bị tổn thương đối với DPA/DEMA chuẩn bởi vì:
- Đệm thông báo được sử dụng đối với RSA PKCS#1 v2.1 là tất định và kẻ tấn công không thể đoán trước về các giá trị trung gian;
- DSA và ECDSA sử dụng số mũ và số vô hướng tồn tại ngắn hạn tương ứng thế nên kẻ tấn công không thể hướng mục đích đến một bit cụ thể.
10.5.3 DPA/DEAM địa chỉ - bit
DPA/DEMA địa chỉ - bit [14] khai thác thực tế là các địa chỉ bên trong của các vị trí thanh ghi hay bộ nhớ là kiểu khác của dữ liệu được xử lý bởi CPU. Từ đó các phép đo kênh kề của hai đoạn của một thuật toán mà trong đó cùng một câu lệnh truy cập các địa chỉ khác nhau sẽ là ít tương quan hơn nếu lệnh đó truy cập đến cùng một địa chỉ. Tấn công là dễ dàng hơn nếu số các vị trí thanh ghi hay bộ nhớ được truy cập trong quá trình thuật toán phụ thuộc vào các bit của khóa bí mật là nhỏ.
Kẻ tấn công tính các phép đo kênh kề trung bình đối với hai khóa đã biết: 0xfff...f và 0x80...01. Nếu hiệu của hai giá trị trung bình (c0 và c1) chỉ ra các đỉnh nhọn thì các bít khóa rò rỉ và vì vậy kết quả kiểm thử là thất bại.
CHÚ THÍCH: DSA và ECDSA là không bị tổn thương đối với DPA/DEMA địa chỉ - bit bởi vì chúng sử dụng số mũ và số vô hướng tồn tại ngắn hạn tương ứng.
Hình 15 - DPA/DEMA địa chỉ - bit
DSA và ECDSA có thể bị tổn thương đối với DPA/DEMA cụ thể khi khóa bí mật được nhân với một số đã biết.
Khi khóa bí mật d được sử dụng đối với một phép nhân với r, trong trường hợp này, kẻ tấn công có thể thực hiện một DPA/DEMA trong quá trình tính d.r.
Một phép nhân nói chung được thực hiện theo từng từ. Mô hình rò rỉ có thể là trọng số Hamming của từ thứ nhất của d (d[0]) được nhân với từ thứ nhất của r (r[0]), tức là HW(d[0].r[0]).
Cũng như đối với mã hóa đối xứng, thực hiện một t-kiểm thử với giả thuyết tốt và một giả thuyết sai ngẫu nhiên.
Các kiểm thử có thể được thực hiện với các kích cỡ kiến trúc khác nhau: 8, 16, 32 và 64.
Không cần thiết phải thực hiện phép kiểm thử này với tất cả các từ của d: Một suy luận có thể được tiến hành để các từ khác được khôi phục với cùng cách thức trong trường hợp thành công và các từ khác cũng được bảo vệ trong trường hợp thất bại.
11 Các phép đo kiểu đạt/không đạt giảm thiểu tấn công không xâm lấn
11.1 Giới thiệu
Mục này quy định các phép đo kiểm thử và các tiêu chí đạt/không đạt đối với mỗi tổ hợp kết hợp của phương pháp tấn công và hàm an toàn được chỉ ra trong Bảng 1.
Trong các mục con sau đây, phép đo kiểm thử được cung cấp trong thời gian thu thập, thời gian phân tích và khối lượng của dữ liệu. Khi kiểm thử ý nghĩa thống kê áp dụng, mức rủi ro 5% được sử dụng để đặt ngưỡng.
Tham chiếu năng suất đối với phân tích tính toán sẽ được cho như là quy định của máy tính tham chiếu bởi thẩm quyền xác nhận hợp lệ để cung cấp các tiêu chí công bằng về thời gian phân tích.
11.2 Mức an toàn 3
11.2.1 Giới hạn thời gian
Thời gian lấy mẫu tối đa cần là không nhiều hơn 6 giờ đối với mỗi kiểm thử sơ cấp đối với mức an toàn 3. Khi giới hạn này đạt đến thì phép đo sẽ được kết thúc thậm chí cả khi số các đo đạc không đáp ứng tối đa được chỉ định. Dãy tổng thể thời gian nhận được cần là không nhiều hơn 72 giờ.
11.2.2 SPA và SEMA
Để hoàn thành kiểm thử SPA hay SEMA tại Mức an toàn 3, bộ kiểm thử được cung cấp cần thu thập:
- 11 dạng sóng sử dụng các mẫu dữ liệu đầu vào mỗi mẫu bao gồm một CSP và bản rõ được cung cấp bởi bộ kiểm thử (một mẫu dữ liệu đầu vào được xác định trước được sử dụng đối với đầu vào cặp dữ liệu như nhau; một cặp xác định trước và 4 cặp dữ liệu ngẫu nhiên được sử dụng đối với các đầu vào cặp dữ liệu khác nhau);
- Theo chu kỳ thời gian tương ứng với một bit CSP, độ phân giải của mỗi dạng sóng là 100 điểm hoặc lớn hơn.
Tính tương tự của các vết tổng hợp đối với kiểm thử lõi sẽ được kiểm tra cả trực quan và với một kiểm thử thống kê. Để thỏa mãn kiểm thử lõi, cả hai các kết quả kiểm thử cần là đạt. Kiểm thử sẽ không đạt nếu ngược lại.
11.2.3 DPA và DEMA
Để hoàn thành kiểm thử DPA và DEMA tại Mức an toàn 3, bộ kiểm thử được cung cấp cần thu thập:
- 10.000 dạng sóng của một kiểu của rò rỉ kênh kề từ các mẫu dữ liệu đầu vào khác nhau đối với mỗi CSP trong một tập các CSP được cung cấp.
Nếu mức rò rỉ được tính toán được xác định là đáng kể so với mức rò rỉ được định nghĩa trong tài liệu, thì kiểm thử không đạt. Ngược lại Kiểm thử đạt.
Mỗi tấn công biến thể DPA được quy định trong tài liệu sẽ được áp dụng tuần tự.
11.2.4 Phân tích thời gian
Để hoàn thành kiểm thử phân tích tính thời gian tại Mức an toàn 3, bộ kiểm thử được cung cấp cần thu thập:
- 1.000 phép đo thời gian đối với các CSP ngẫu nhiên và một bản rõ xác định trước đối với khối đo đạc đầu tiên và
- 1.000 phép đo thời gian đối với một CSP xác định trước và bản rõ ngẫu nhiên đối với khối đo đạc thứ hai.
11.2.5 Các điều kiện tiền xử lý trong phân tích lượng sai
Để hoàn thành phân tích phát xạ hay điện năng lượng sai tại Mức an toàn 3, các nhân tố sau đây được áp dụng:
- Một tín hiệu đồng bộ có mặt đánh tín hiệu bắt đầu của hoạt động mật mã.
- Làm giảm nhiễu sẽ được thực hiện bởi người kiểm thử tính giá trị trung bình của các vết khác nhau (10 hoạt động mật mã cần được tiến hành đối với cùng một tập các đầu vào để thu được chỉ một vết).
11.2.6 Điều kiện đạt/không đạt
a) Nếu các vết thu được bằng cách sử dụng tín hiệu đánh dấu không được sắp xếp từ những lần thực hiện khác nhau các bài kiểm tra thành công và không thực hiện phép thử thống kê cho thuật toán mật mã.
b) Nếu các vết thu được bằng cách sử dụng tín hiệu đánh dấu được sắp xếp thì giá trị trung bình sẽ được tính toán và quyết định sẽ là cái thu được từ kiểm thử thống kê cho thuật toán mật mã và các vết.
11.3 Mức an toàn 4
11.3.1 Giới hạn thời gian
Thời gian lấy mẫu tối đa cần là không nhiều hơn 24 giờ đối với mỗi kiểm thử sơ cấp đối với mức an toàn 4. Khi giới hạn này đạt đến thì phép đo sẽ được kết thúc thậm chí cả khi số các đo đạc không đáp ứng tối đa được chỉ định. Dãy tổng thể thời gian nhận được cần là không nhiều hơn 288 giờ.
11.3.2 SPA và SEMA
Để hoàn thành kiểm thử SPA hay SEMA tại Mức an toàn 4, bộ kiểm thử được cung cấp cần thu thập:
- 21 dạng sóng sử dụng các mẫu dữ liệu đầu vào mỗi mẫu bao gồm một CSP và bản rõ được cung cấp bởi bộ kiểm thử (một mẫu dữ liệu đầu vào được xác định trước được sử dụng đối với đầu vào cặp dữ liệu như nhau; 5 cặp xác định trước và 15 cặp dữ liệu ngẫu nhiên được sử dụng đối với các đầu vào cặp dữ liệu khác nhau);
- Theo chu kỳ thời gian tương ứng với một bit CSP, độ phân giải của mỗi dạng sóng là 1000 điểm hoặc lớn hơn.
Tính tương tự của các vết tổng hợp đối với kiểm thử lõi sẽ được kiểm tra cả trực quan và với một kiểm thử thống kê. Để thỏa mãn kiểm thử lõi, cả hai các kết quả kiểm thử cần là đạt. Kiểm thử sẽ không đạt nếu ngược lại.
113.3 DPA và DEM A
Để hoàn thành kiểm thử DPA và DEMA tại Mức an toàn 4, bộ kiểm thử được cung cấp cần thu thập:
- 100.000 dạng sóng của một kiểu của rò rỉ kênh kề từ các mẫu dữ liệu đầu vào khác nhau đối với mỗi CSP trong một tập các CSP được cung cấp.
Nếu mức rò rỉ được tính toán được xác định là đáng kể so với mức rò rỉ được định nghĩa trong tài liệu, thì kiểm thử sẽ không đạt. Ngược lại Kiểm thử đạt.
Mỗi tấn công biến thể DPA được quy định trong tài liệu sẽ được áp dụng tuần tự.
11.3.4 Phân tích tính thời gian
Để hoàn thành kiểm thử phân tích tính thời gian tại Mức an toàn 4, bộ kiểm thử được cung cấp cần thu thập:
- 10.000 phép đo thời gian đối với các CSP ngẫu nhiên và một bản rõ xác định trước đối với khối đo đạc đầu tiên và
- 10.000 phép đo thời gian đối với một CSP xác định trước và bản rõ ngẫu nhiên đối với khối đo đạc thứ hai.
11.3.5 Các điều kiện tiền xử lý trong phân tích lượng vi sai
Để hoàn thành phân tích phát xạ hay điện năng lượng sai tại Mức an toàn 4, ngoài các các nhân tố được chỉ định đối với Mức an toàn 3, những nhân tố sau đây được áp dụng:
- Làm giảm nhiễu sẽ được thực hiện bởi người kiểm thử bằng cách áp dụng một phân tích phổ và lọc các vết theo tần số (bộ lọc băng thông phù hợp với tần số hoạt động của mô-đun).
- Sắp xếp động và tĩnh sẽ được thực hiện để bỏ qua biện pháp trực tiếp bất kỳ hay các sắp đặt sai đến từ các lỗi trong phép đo cấu hình khi bắt đầu thu nhận tiêu thụ điện năng (hay phát xạ).
11.3.6 Điều kiện đạt/không đạt
Áp dụng bộ lọc theo tần số.
a) Nếu các vết đưa ra kết luận về độ trễ tính thời gian ngẫu nhiên hay biến thiên tần số xung sao cho chúng không thể được sắp xếp đầy đủ với một sắp xếp tĩnh thì kiểm thử đạt và kiểm thử thống kê đối với thuật toán mật mã sẽ không được thực hiện.
b) Nếu sắp xếp tĩnh thành công thì sẽ nhận được kết quả từ việc kiểm thử thống kê được áp dụng cho các thuật toán mật mã, các vết được lọc và được sắp xếp.
Phụ lục A
(Quy định)
Các yêu cầu đối với dụng cụ đo lường
A.1 Tổng quan
Các phát biểu trong phụ lục này được yêu cầu đối với dụng cụ đo lường [20].
A.2 Tốc độ
a) Độ rộng băng thông tối thiểu của 50% tốc độ xung nhịp thiết bị đối với các cài đặt phần mềm và ít nhất 80% tốc độ xung nhịp đối với các cài đặt phần cứng.
b) Khả năng thu được các mẫu tại 5x băng thông.
A.3 Độ phân giải
a) Độ phân giải mẫu nhỏ nhất là 8-bit.
A.4 Dung lượng
a) Dung lượng đủ lớn để thu được toàn bộ tín hiệu đối với các yêu cầu để kiểm thử và phân tích.
A.5 Đầu đo
Đầu đo là cần thiết để đo các dòng IUT.
Nếu kênh kề được sử dụng là tiêu thụ điện năng của IUT thì điện trở cần được đặt giữa dòng VCC cung cấp IUT và IUT. Phòng thí nghiệm kiểm thử cần chọn điện trở giá trị cao nhất cho phép IUT hoạt động chức năng.
Nếu kênh kề được sử dụng là phát xạ điện từ của IUT thì khảo nghiệm từ trường gần cần được sử dụng với điều kiện băng thông của phép khảo nghiệm ít nhất là băng thông của tốc độ xung IUT.
Phụ lục B
(Tham khảo)
Các tấn công khả thi
B.1 Tổng quan
Phụ lục này liệt kê các tấn công không xâm lấn và các kênh kề mà các phép đo kiểm thử đạt/không đạt còn chưa được định nghĩa.
B.2 Tấn công mẫu
Tấn công mẫu sử dụng thực tế là tiêu thụ điện năng hay phát xạ điện từ của IUT phụ thuộc vào dữ liệu được xử lý. Hành vi này được đặc trưng bởi cái gọi là “mẫu” và dữ liệu được xử lý kể cả IUT nếu có có thể được nhận biết bằng so sánh trùng khớp với mẫu (xem [35-37]).
Một khi mẫu được xây dựng thì tấn công này sẽ là tấn công mạnh nhất ít nhất là về mặt lý thuyết. Tuy nhiên, để xây dựng mẫu đối khi các mẫu mở được cần đến cho phép những người kiểm thử đưa vào hàng loạt các giá trị khác nhau. Cũng được biết rằng trong đó còn có biến thiên nào đó trong các mẫu tổng hợp phụ thuộc vào hoạt phiên của IUT. Bởi vậy tính ứng dụng được và các phép đo kiểm thử đạt/không đạt không được định nghĩa trong tiêu chuẩn này.
B.3 Tấn công va chạm
Tấn công va chạm cũng sử dụng thực tế là tiêu thụ điện năng hay phát xạ điện từ 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 ngược với các giá trị đầu vào khác nhau thì tiêu thụ điện năng hay phát xạ điện từ tổng hợp có thể là hoàn toàn tương tự. Kiểu “va chạm” này có thể được khai thác để làm suy giảm không gian khóa (xem [38-42]).
B.4 Tấn công nhân đôi điểm
Tấn công nhân đôi điểm dựa trên thực tế là các giá trị trung gian tương tự được thao tác khi làm việc với điểm P và điểm gấp đôi của nó [2]P [54]. Nếu phòng thí nghiệm kiểm thử có thể nhận biết các phép toán nhân đôi điểm với dữ liệu đồng nhất trong hai phép đo kênh kề thì nó có thể suy ra các bit khóa. Trong các điều kiện lý tưởng tấn công này chỉ cần hai phép đo kênh kề. Nếu phòng thí nghiệm kiểm thử khôi phục được khóa thì kết quả kiểm thử là không đạt.
ECDSA là giao thức mật mã duy nhất dựa trên các đường cong elliptic trong tiêu chuẩn này. Bởi vậy tấn công nhân đôi điểm là không thực hành được bởi vì điểm cơ sở là cố định.
B.5 SPA/SEMA được cải tiến
Liên quan đến ECC nếu các tọa độ xạ ảnh được sử dụng trong một IUT thì chúng có thể được sử dụng để làm ngẫu nhiên dữ liệu trung gian; SPA/SEMA chuẩn như được mô tả trong các mục trước không thể được sử dụng trực tiếp. Tuy nhiên, dưới giả thuyết rằng khóa bí mật là không ngẫu nhiên, khai thác các tính chất của các gọi là các điểm đặc biệt có thể dẫn đến một tấn công; xem [55]. Một điểm đặc biệt P0 (không bằng vô hạn) là một điểm có tính chất là một trong các tọa độ affine hay xạ ảnh là 0. Từ đó, ngẫu nhiên hóa của các tọa độ xạ ảnh không ảnh hưởng đến tính chất này và tính chất đặc biệt của điểm này vì vậy có thể được lấy từ một vài phép đo kênh kề bằng cách lấy trung bình trên các phép đo.
Trong [56] mở rộng cho [55] được mô tả. Tấn công mở rộng này là dựa trên quan sát rằng thậm chí khi một điểm không có tọa độ 0 thì một số giá trị trung gian xảy ra trong quá trình cộng điểm (hay nhân đôi điểm) cũng có thể là 0.
Phòng thí nghiệm kiểm thử có thể kiểm thử IUT đối chọi lại SPA/SEMA đã cải tiến tuân theo khung công việc được mô tả trong [55] và/hoặc [56] hay phương pháp liên quan bất kỳ nào khác. Nếu nó khôi phục được CSP thì kết quả kiểm thử là không đạt.
ECDSA là giao thức mật mã duy nhất dựa trên các đường cong elliptic trong tiêu chuẩn này. Bởi vậy SPA/SEMA được cải tiến là không thực hành được bởi vì điển cơ sở là cố định.
B.6 Sử dụng các kênh kề khả thi mới
Số lượng các kênh kề khả thi có thể tăng lên trong tương lai (chẳng hạn, các phát xạ phô-tôn [49], phát xạ âm thanh, v.v...). Tại thời điểm viết tiêu chuẩn này chưa có đủ kiến thức về các kênh kề mới này để định nghĩa một độ đo đạt/không đạt.
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
C.1 Các khía cạnh
C.1.1 Nhiễu điện tử
C.1.1.1 Nhiễu của nguồn cung cấp điện
Để làm giảm nhiễu sinh ra bởi nguồn cung cấp điện, một nguồn cung cấp điện ổn định cao cần được sử dụng. IUT cần phải không bao giờ được cấp điện trực tiếp bởi một máy tính PC (chẳng hạn, thông qua cổng USB).
C.1.1.2 Nhiễu của bộ tạo dao động
Là nguồn cung cấp điện, một xung cần phải ổn định. Một mặt, chúng ta không thể đòi hỏi các cài đặt cung cấp một xung bên trong ổn định thời gian vì rằng nó có thể là cách để làm mất đồng bộ các thực hiện và từ đó là biện pháp chống lại các kênh kề. Mặt khác, xung bên trong biên độ ổn định là bắt buộc bởi vì một xung không ổn định có thể mang đến hiệu ứng kép. Nói chung, tín hiệu xung hình sin phải được chú trọng hơn so với tín hiệu vuông góc. Chất lượng của bộ tạo xung (chẳng hạn, bộ dao động tinh thể) cần được đánh giá.
C.1.1.3 Các phát xạ (bức xạ và truyền dẫn)
Ngoại trừ đối với IUT, các thành phần khác có mặt trong bảng IUT có thể mang đến các phát xạ truyền dẫn và vì vậy mang đến nhiễu trong các phép đo kênh kề. Lý tưởng là thiết lập phép đo cần được xây dựng với hai PCB: Một bảng đo đạc và một bảng giao diện. Bảng đo đạc chỉ chứa thiết bị bị tấn công và mạch đo điện năng. Bảng giao diện quan tâm đến liên lạc với máy tính PC. Hai bảng này lý tưởng là cách ly bởi các mắc nối từ hoặc quang trong các đường liên lạc. Các nguồn phát xạ truyền dẫn bởi vậy được tối thiểu hóa.
Ảnh hưởng của các phát xạ bức xạ lên một thiết lập phép đo có thể được làm giảm đi bằng lá chắn. PCB đặc trưng cho thiết bị bị tấn công có thể được đặt trong lồng Paraday. Các đường liên lạc và đo đạc được nối đến thiết bị bị tấn công cần phải được che chắn hay mắc nối tương ứng.
C.1.1.4 Nhiễu lượng tử hóa
Nhiễu này là hậu quả của chuyển đổi tương tự sang số được thực hiện bởi máy hiện sóng. Độ phân giải bắt buộc là 8 bit. Trong trường hợp này, hiệu ứng của nhiễu lượng tử hóa là điển hình nhỏ hơn nhiều so với hiệu ứng của các dạng khác của nhiễu.
C.1.2 Nhiễu chuyển mạch
Tham chiếu đến nhiễu chuyển mạch như là biến thiên của các phép đo kênh kề được gây ra bởi các tế bào không liên quan đến tấn công. Ví dụ, trong phân tích kênh kề của một cài đặt phần cứng AES 128 bit, chúng ta tập trung vào kênh kề được phát xạ bởi một phần của IUT (chẳng hạn một SBox). Tuy nhiên, nếu nhiều phần của IUT phát xạ các kênh kề tại cùng một lúc thì kẻ tấn công buộc phải phân biệt rõ tất cả các phần để khôi phục phần của IUT khi lựa chọn nó để tấn công. Phát xạ kênh kề của tất cả các phần khác của thiết bị là “nhiễu” từ quan điểm của kẻ tấn công.
Vì rằng tiêu thụ điện năng của IUT kênh kề toàn cục và phát xạ điện từ (EM) của IUT là kênh kề cục bộ nên EM cần phải là được yêu thích hơn đối với xác nhận hợp lệ kháng kênh kề.
Lượng nhiễu chuyển mạch cũng phụ thuộc vào tần số của tín hiệu xung được sử dụng để vận hành thiết bị mật mã. Nếu chẳng hạn, một tín hiệu xung cao được sử dụng đối với thiết bị bị tấn công thì có thể là các tín hiệu tiêu thụ điện năng của các chu kỳ xung liên tiếp đã cản trở lẫn nhau.
Theo thông lệ, để làm giảm nhiều chuyển mạch trong các vết điện năng, tần số xung cần được giảm đi đến mức mà nó dẫn đến các đỉnh tách biệt trong vết điện năng đối với mỗi đường biên xung. Điều này chỉ có thể khi thiết bị cho phép một tần số xung thấp như vậy.
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ỉ
D.1 Tổng quan
Vấn đề thực hành trong phân tích rò rỉ DPA/DEMA là số lượng lớn các vết (các dạng sóng) điện năng/EM để có được các kết quả kiểm thử liên quan. Phụ lục này mô tả một cách tiếp cận khả thi gọi là “phương pháp đầu vào được lựa chọn” để kiểm thử nghiêm ngặt rò rỉ kênh kề và làm giảm đáng kể số lượng cần thiết các vết điện năng/EM (xem [46], [47], [48]).
D.2 Phác thảo phương pháp
Phương pháp thông thường sử dụng các văn bản đầu vào ngẫu nhiên cho mô-đun mật mã. Tập các văn bản là độc lập với giá trị đã cho của CSP. Kịch bản này là giống như kịch bản được tiến hành bởi các kẻ tấn công.
Tuy nhiên, nếu người kiểm thử biết giá trị của CSP thì người kiểm thử có thể lựa chọn một tập các văn bản “tốt” đối với phân tích rò rỉ đối với CSP đã biết. Khi đó người kiểm thử vận hành mô-đun mật mã với CSP đầu vào là các văn bản trong tập.
Ví dụ, để triển khai một kiểm thử rò rỉ đối với AES khóa 128 bit bởi CPA đối với vòng cuối cùng (thứ mười), người kiểm thử a) tìm dữ liệu trung gian để được xử lý bởi vòng thứ mười với khoảng cách Hamming nhỏ trong tất cả các bộ tám bit hoặc khoảng cách Hamming lớn trong tất cả các bộ tám bit đối với các đầu ra sau đó b) chuyển đổi chúng thành các văn bản đầu vào sử dụng CSP đã biết.
Thư mục tài liệu tham khảo
[1] KOCHER P. C. Timing Attacks on Implementations of Diffie-Hellman, RSA.DSS, and other Systems, CRYPTO '96.
[2] DHEM J.-F., KOEUNE F., LEROUX P.-A., MESTRE P., QUISQUATER J.-J., WILLEMS J.-L. A Practical Implementation of the Timing Attack, UCL Report, 1998.
[3] SCHINDLER W. A Timing Attack against RSA with the Chinese Remainder Theorem, CHES '00.
[4] WALTER C. D. Sliding Windows Succumbs to Big Mac Attack, CHES1 01.
[5] WALTER C. D., & THOMPSON S. Distinguishing Exponent Digits by Observing Modular Subtractions", CT-RSA'01.
[6] NOVAK R. SPA-Based Adaptive Chosen-Ciphertext Attack on RSA Implementation, PKC'02.
[7] SCHINDLER W. Combined Timing and Power Attack", PKC'02.
[8] DEN BOER B., LEMKE K., WICHE G. A DPA Attack Against the Modular Reduction with a CRT Implementation of RSA, CHES2002.
[9] KLIMA V., & ROSA T. Further Results and Considerations on Side Channel Attacks on RSA, CHES2002.
[10] SAKAI Yasuyuki Kouichi Sakurai, On the Side Channel Attacks Against a Parallel Algorithm of the Exponentiation, SCIS2003.
[11] Hideyuki Miyake, Yuuki Tomoeda, Atsuhi Shimbo, Shinichi Kawamura, New timing attack against RSA implementation with Montgomery multiplication, SCIS2003 (Japanese).
[12] Masanobu Koike, Shinichi Kawamura, Tsutomu Matsumoto, Side-Channel Attacks on RSA Implementation in RNS Representation and Their Countermeasures, SCIS2003 (Japanese).
[13] Pierre-Alain Fouque, Gwenaelle Martinet, and Guillaume Poupard, Attacking Unbalanced RSACRT Using SPA, CHES2003.
[14] ProH K., & IzU T. Address-bit Differential Power Analysis of Cryptographic Schemes OK-ECDH and OK-ECDSA, CHES2002.
[15] KOCHER P., JAFFE J., JUN B. Differential Power Analysis, Springer-Verlag, CRYPTO 99. SpringerVerlag, 1999, pp. 388-97.
[16] MANGARD S., OSWALD E., POPP T. Power Analysis Attacks - Revealing the Secrets of Smartcards. Springer -Verlag, 2007
[17] GANDOLFI K., MOURTEL C., OLIVIER F. Electromagnetic Analysis: Concrete Results, CHES 2001. Springer-Verlag, 2001, pp. 251-61.
[18] BATINA L., HOGENBOOM J., MENTENS N., MOELANS J., VLIEGEN J. Side-channel evaluation of FPGA implementations of binary Edwards curves, ICECS 2010. IEEE, 2010
[19] KATASHITA T., HORI Y., SAKANE H., SATOH A. Side-Channel Attack Standard Evaluation Board SASBBO-Wfor Smartcard Testing, NIAT2011, 2011.
[20] GOODWILL G., JUN B., JAFFE J., ROHATGI P. A testing methodology for side-channel resistance validation, NIAT2011, 2011.
[21] JAFFE J., ROHATGI P., WITTEMAN M. Efficient side-channel testing for public key algorithms: RSA case study, NIAT2011, 2011.
[22] Robert McEVoy, Micheal Tunstall, Colin C. Murphy, William P. Marnane, Differential power analysis of HMAC based on SHA-2, and countermeasures, WISA’07.
[23] MANGARD S. A Simple Power Analysis (SPA) Attack on Implementation of the AES Key Expanstion, LNCS 2587. Springer-Verlag, 2003, pp. 343-58.
[24] MESSERGES T.S., DABBISH E.A., SLOAN R.H. Examining Smart-Card Security under the Threat of Power Analysis Attacks. IEEE Trans. Comput. 2002 May, 51 (5) pp. 541-552
[25] BEVAN R., & KNUDSEN E. Ways to Enhance DPA, International Converence on Information Security and Cryptology (ICISC 2002), LNCS 2587, pp.32342, Springer-Verlag, Dec. 2003.
[26] WADDLE J., fit. WAGNER D. Towards Efficient Second-Order Power Analysis, CHES 2004, LNCS 3156. Springer-Verlag, 2004, pp. 1-15.
[27] MESSERGES T.S. Using Second-Order Power Analysis to Attack DPA Resistant Software, CHES 2000, LNCS 1965. Springer-Verlag, 2000, pp. 238-51.
[28] BRIER E., CLAVIER C.. OLIVIER F. Correlation Power Analysis with a Leakage Model, CHES 2004, LNCS 3156, pp. 16-29, Springer-Verlag, Aug. 2004.
[29] LE T., CLEDIERE J.. CANOVAS C., ROBISSON B, SERVIERE C., LACOUME J. A Proposition for Correlation Power Analysis Enhancement, CHES2006, LNCS 4249, pp. 14-186, Springer-Verlag, Oct. 2006.
[30] GIERLICHS B. Lejla Batina, Pirn Tuyls and Bart Preneel, Mutual Information Analysis, A Generic Side-Channel Distinguisher, CHES2008, LNCS 5154. Springer-Verlag, 2008, pp. 426-42.
[31] BATINA Lejla, GIERLICHS Benedikt, PROUFF Emmanuel, RIVAIN Matthieu, STANDAERT FrancoisXavier, VEYRAT-CHARVILLON Nicolas Mutual Information Analysis: a Comprehensive Study, Journal of Cryptology, Vol. 24, No. 2 (2011), pp 269-291, Springer-Verlag, 2011.
[32] MEYNARD O. Denis Real, Florent Flament, Sylvain Guilley, Naofumi Homma, Jean-Luc Danger, Enhancement of simple electro-magnetic attacks by pre-characterization in frequency domain and demodulation techniques. DATE, 2011, pp. 1004-9.
[33] DOGET Julien, PROUFF Emmanuel, RIVAIN Matthieu, STANDAERT Francois-Xavier Univariate side channel attacks and leakage modeling, Journal of Cryptographic Engineering, Vol. 1, No. 2 (2011), pp 123-144, Springer-Veriag, 2011.
[34] Youssef Souissi, Nicolas Debande, Sami Mekki, Sylvain Guilley, Jean-Luc Danger and Ali Maalaoui, On the Optimality of Correlation Power Attack on Embedded Cryptographic Systems, WISTP2012.
[35] CHART S. Josyula R. Rao and Pankaj Rohatgi, Template Attacks, CHES2002, LNCS 2523. SpringerVeriag, 2002, pp. 51-62.
[36] CHRISTIAN RECHBERGER AND ELISABETH OSWALD. Practical Template Attacks, LNCS 3325. Springer-Veriag, 2005, pp. 440-56.
[37] AGRAWAL D. Josyula R. Rao, Pankaj Rohatgi, and Kai Schramm. Templates as Master Keys, CHES 2005. Springer-Veriag, 2005, pp. 15-29.
[38] SCHRAMM K. Thomas Wollinger, and Chiristof Paar, A New Class of Collision Attacks and its Application to DES, LNCS 2887. Springer, 2003, pp. 206-22.
[39] SCHRAMM K. Gregor Leander, Patrick Felke, and Christof Paar. A Collision-Attack on AES combining Side Channel- and Differential-Attack. CHES 2004, LNCS 3156. Springer-Veriag, 2004, pp. 163-75.
[40] LEDIG H. Frederic Muller, and Frederic Valette. Enhancing Collision Attacks, CHES 2004, LNCS 3156. Springer, 2004, pp. 176-90.
[41] CLAVIER C. Benoit Feix, Georges Gagnerot, Mylene Roussellet and Vincent Verneuil, Improved Collision-Correlation Power Analysis on First Order Protected AES, CHES 2004, LNCS 3156. Springer, 2004, pp. 176-90.
[42] HOMMA N., MIYAMOTO A., AOKI T., SATOH A., SHAMIR A. Comparative Power Analysis of Modular Exponentiation Algorithms. IEEE Trans. Comput. 2010 June, 59 (6) pp. 795-807
[43] CLAVIER C. Benoit Feix, Georges Gagnerot, Mylene Roussellet, Vincent Verneuil: Horizontal Correlation Analysis on Exponentiation. ICICS 2010:46-61.
[44] COLIN D. Walter: Sliding Windows Succumbs to Big Mac Attack. CHES, 2001, pp. 286-99.
[45] FRANcOIS-XAVIER STANDAERT. Tal Malkin, Moti Yung: A Unified Framework for the Analysis of Side-Channel Key Recovery Attacks. EUROCRYPT 2009:443-461.
[46] KISHIKAWA Takeshi, SAITO Shohei, TSUCHIYA Yuu, TOYAMA Tsuyoshi, MATSUMOTO Tsutomu How to Accelerate Side-Channel Security Evaluation, poster presentation at CHES 2012, Leuven, 09-12 Sept. 2012.
[47] KISHIKAWA Takeshi, SAITO Shohei, TSUCHIYA Yuu, TOYAMA Tsuyoshi, MATSUMOTO Tsutomu An Efficient Method of Strictly Evaluating Side-Channel Security, IEICE Technical Report, ISEC2012-56, Tokyo, 21 Sept. 2012.
[48] KISHIKAWA T., & MATSUMOTO T. Applying Chosen-Input Method to Electromagnetic Side- Channel Analysis, The 30th Symposium on Cryptography and Information Security, 3E4-E, IEICE, Kyoto, Japan, Jan. 22-25, 2013.
[49] SCHLoSSER A. Dmitry Nedospasov, Juliane Kramer, Susanna Orlic and jean-Pierre Seifert. Simple Photonic Emission Analysis of AES - Photonic side channel analysis for the rest of us. CHES, 2012, pp. 41-57.
[50] DANIEL J. Bernstein. Cache-Timing Attacks on AES. Available on cryp.to/antiforgery/ cachetiming-20 050414.pdf
[51] OSWALD E. Enhancing Simple Power-Analysis Attacks on Elliptic Curve Cryptosystems. CHES, 2002, pp. 82-97.
[52] ACIIcMEZ O., Koc C.K., SEIFERT J.-P. Predicting Secret Keys via Branch Prediction. RSA Conference, Cryptographer's Track (CT-RSA) 2007. pp. 225-242.
[53] MANGARD S. A Simple Power-Analysis (SPA) Attack on Implementation of the AES Key Expansion. ICISC 2002, LNCS 2587, pp. 343-358.
[54] FOUQUE P.-A., & VALETTE F. The Doubling Attack - Why Upwards is Better than Downwards. CHES 2003, pp- 269-280.
[55] GOUBIN L. A Refined Power-Analysis Attack on Elliptic Curve Cryptosystems. PKC, 2003, pp. 199-210.
[56] AKISHITA T., & TAKAGI T. 0-value point attacks on elliptic curve cryptosystem. In Information Security 2003, LNCS 2851, pp. 218-233.
[57] CATHALO J., KOEUNE F., QUISQUATER J.-J. A New Type of Timing Attack: Application to GPS. CHES, 2003, pp. 291-303.
[58] Jean-Luc Danger, Nicolas Debande, Sylvain Guilley and Youssef Souissi, "High-order Timing Attacks", Proceedings of the First Workshop on Cryptography and Security in Computing Systems, CS2 '14, ISBN: 978-1-4503-2484-7, Vienna, Austria, pages 7-12, ACM. http://d1.acm,orgicitation.cfm?id=2556316
[59] DANGER J.-L., GUILLEY S., HOOGVORST P., MURDICA C., NACCACHE D. A synthesis of side-channel attacks on elliptic curve cryptography in smart-cards", Journal of Cryptographic Engineering, volume 3, number 4, 2013, Springer Berlin Heidelberg, pages 241-265. http://link.springer.com/article/10.1007%2Fs13389-013-0062-6
[60] BHASIN S. Jean-Luc Danger, Sylvain Guilley and Zakaria Najm. "NICV: Normalized Inter-Class Variance for Detection of Side-Channel Leakage". International Symposium on Electromagnetic Compatibility, EMC'14, Tokyo, Japan.
[61] BHASIN S., DANGER J.-L., GUILLEY S., NAJM Z. NICV: Normalized Inter-Class Variance for Detection of Side-Channel Leakage". Cryptology ePrint Archive, 2013. http://eprint.iacr.org/2013/17
Click Tải về để xem toàn văn Tiêu chuẩn Việt Nam nói trên.