intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Tấn công mẫu dựa trên khoảng cách tuyến tính

Chia sẻ: ViColor2711 ViColor2711 | Ngày: | Loại File: PDF | Số trang:8

32
lượt xem
2
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài viết đề xuất một phương pháp tấn công mẫu có hiệu quả, trong đó việc xác định giá trị bí mật dựa trên tính toán khoảng cách tuyến tính rò rỉ của kênh kề với bộ mẫu của thiết bị. Thí nghiệm tấn công mẫu trong bài báo được thực hiện trên thẻ thông minh ATMEGA8515 được cài đặt thực thi thuật toán mật mã AES-128.

Chủ đề:
Lưu

Nội dung Text: Tấn công mẫu dựa trên khoảng cách tuyến tính

Công nghệ thông tin & Cơ sở toán học cho tin học<br /> <br /> TẤN CÔNG MẪU DỰA TRÊN KHOẢNG CÁCH TUYẾN TÍNH<br /> Trần Ngọc Quý*<br /> Tóm tắt: Tấn công mẫu đối là một trong những tấn công kênh kề hiệu quả nhất đối<br /> với thiết bị mật mã. Tấn công này xây dựng bộ mẫu của thiết bị thông qua các rò rỉ<br /> kênh kề thu thập được trong quá trình thiết bị hoạt động. Các cuộc tấn công mẫu hiện<br /> tại việc xác định giá trị bí mật cần tìm của thiết bị tấn công dựa trên nguyên tắc xác<br /> suất lớn nhất của rò rỉ kênh kề đối với bộ mẫu của thiết bị. Trong bài báo này, tác giả<br /> đề xuất một phương pháp tấn công mẫu có hiệu quả, trong đó việc xác định giá trị bí<br /> mật dựa trên tính toán khoảng cách tuyến tính rò rỉ của kênh kề với bộ mẫu của thiết<br /> bị. Thí nghiệm tấn công mẫu trong bài báo được thực hiện trên thẻ thông minh<br /> ATMEGA8515 được cài đặt thực thi thuật toán mật mã AES-128.<br /> Từ khóa: Tấn công kênh kề; Tấn công mẫu; Khoảng cách tuyến tính; Ma trận hiệp phương sai chung.<br /> <br /> 1. ĐẶT VẤN ĐỀ<br /> Điện năng tiêu thụ của thiết bị mật mã phụ thuộc vào các lệnh và giá trị trung gian nó<br /> xử lý. Bằng cách phân tích điện năng tiêu thụ của thiết bị mật mã, ta có thể tìm được các<br /> thông tin bí mật, ví dụ như là khóa mã, của thiết bị và đây là ý tưởng của tấn công kênh kề<br /> dựa trên phân tích điện năng tiêu thụ của thiết bị [4,2].<br /> Kể từ khi Kocher và các cộng sự [4] đề xuất phương pháp tấn công phân tích điện năng<br /> tiêu thụ vi sai (DPA), một số phương pháp tấn công kênh kề đã được đề xuất như tấn công<br /> mẫu (TA) [5], tấn công phân tích điện năng tiêu thụ tương quan (CPA) [6], tấn công dựa<br /> trên phân tích lượng thông tin tương hỗ [8], tấn công phân tích điện năng tiêu thụ dựa trên<br /> mô hình ngẫu nhiên [11],...Trong các dạng tấn công trên, TA được cho rằng là phương<br /> pháp tấn công kênh kề hiệu quả nhất [5]. Lý do là, trong TA, chúng ta sử dụng một thiết bị<br /> mẫu giống với thiết bị tấn công để mô hình chính xác rò rỉ điện năng tiêu thụ của thiết bị<br /> cần tấn công, và mô hình rò rỉ này được sử dụng để cải thiện khả năng khôi phục khóa của<br /> tấn công mẫu. Trong tấn công mẫu, chúng ta khai thác rò rỉ điện năng tiêu thụ tại các điểm<br /> quan trọng, ta gọi các điểm là POI, là những điểm có mà điện năng tiêu thụ phụ thuộc vào<br /> giá trị bí mật hay khóa chúng ta cần tìm, trên vết điện năng tiêu thụ để khôi phục khóa của<br /> thiết bị. Do đó, hiệu quả của việc khôi phục khóa phụ thuộc lớn vào lượng rò rỉ điện năng<br /> tiêu thụ tại các điểm POI khác nhau. Dựa vào [5], một số công trình nghiên cứu tiếp theo<br /> tìm cách lựa chọn các điểm POI để nâng cao hiệu quả của tấn công.<br /> Chari [5], đề xuất giải pháp chọn POI là các điểm trên vết điện năng tiêu thụ có có độ<br /> lệch lớn nhất so với vết điện năng tiêu thụ trung bình, còn gọi là DoM. Công trình [9] tính<br /> độ lệch giữa các cặp giá trị trung bình của các vết điện năng tiêu thụ rồi tổng lại và các<br /> mẫu có có độ lệch lớn nhất có được sử dụng là các POI. Mangard và Oswald [10], sử dụng<br /> phương pháp tấn công CPA để xác định những điểm có hệ số tương quan lớn nhất làm các<br /> giá trị POI. Trong [11], Gierlichs sử dụng phương pháp T-Test để xác định các POI và sự<br /> hiệu quả của phương pháp đã được kiểm chứng bởi Batina trong [8].<br /> Các công trình nghiên cứu tấn công mẫu trên, mặc dù có sử dụng các phương pháp<br /> giảm chiều số liệu để lựa chọn POI, tuy nhiên, việc phức tạp tính toán vẫn còn khi vẫn<br /> phải tính ma trận hiệp phương sai cho từng trường hợp giả thiết về khóa. Một khía cạnh<br /> khác, độ đo để xác định khóa đúng trong pha tấn công sử dụng xác suất khóa đúng theo<br /> công thức Bayes dựa trên nguyên tắc khả năng đúng lớn nhất, (MLP – Maximum<br /> Likelihood Principle). Trong bài báo này, tác giả đề xuất một độ đo mới dựa trên khoảng<br /> cách tuyến tính để xác định khóa đúng. Để đánh giá hiệu quả tấn công, bài báo sử dụng<br /> tham số tỷ lệ thành công và lượng thông tin ước đoán sau tấn công.<br /> <br /> <br /> 168 Trần Ngọc Quý, “Tấn công mẫu dựa trên khoảng cách tuyến tính.”<br /> Nghiên cứu khoa học công nghệ<br /> <br /> Bài báo này được tổ chức như sau. Nguyên lý chung của phương pháp tấn công mẫu<br /> được trình bày trong phần 2. Phần 3 trình bày về đề xuất phương pháp thực hiện tấn công<br /> mẫu hiệu quả sử dụng độ đo khoảng cách tuyến tính sau khi đã phân tích một số vấn đề<br /> gặp phải khi thực thi tấn công mẫu hiện tại. Phần 4, trình bày phương pháp tiến hành thực<br /> nghiệm và kết quả được mô tả và so sánh theo độ đo tỷ lệ thành công và lượng thông tin<br /> ước đoán.<br /> 2. NGUYÊN LÝ TẤN CÔNG MẪU<br /> Tấn công mẫu cơ bản được thực hiện qua hai pha: pha lập mẫu và pha tấn công. Trong<br /> pha lập mẫu, chúng ta sử dụng giá trị trung bình và ma trận hiệp phương sai của để mô<br /> hình rò rỉ điện năng tiêu thụ của thiết bị. Trong pha tấn công, ta sử dụng nguyên tắc MLP<br /> để tìm khóa đúng của thiết bị tấn công.<br /> 2.1. Pha lập mẫu<br /> Để thực thi tấn công mẫu chúng ta cần một cặp thiết bị giống nhau được gọi tương ứng<br /> là thiết bị mẫu và thiết bị để tấn công. Với tấn công mẫu, chúng ta mong muốn tìm được<br /> thông tin về khóa ∈ được xử lý bởi thiết bị tấn công tại một thời điểm nào đó. Với<br /> bộ vi điều khiển 8 bít, = {0,1, … ,255} là tập các giá trị có thể có của được xử lý bởi<br /> một lệnh của vi điều khiển.<br /> Chúng ta giả sử rằng có thể biết được thời điểm giá trị bí mật được xử lý bởi thiết bị<br /> để tấn công và đo được các vết điện năng tiêu thụ, còn gọi là trace, của thiết bị khi nó xử<br /> lý với giá trị bí mật này. Có thể coi các trace là các vector rò rỉ của thiết bị, , mỗi vector<br /> có độ dài , ứng với giá trị điện năng tiêu thụ tại các thời điểm { , , … , }. Như<br /> vậy, ta có ∈ ℝ vector mô tả trace của thiết bị tấn công tại các thời điểm quanh thời<br /> điểm nó xử lý giá trị .<br /> Trong quá trình xây dựng bộ mẫu từ thiết bị mẫu, chúng ta đo vector rò rỉ ∈<br /> ℝ tương ứng với mỗi giá trị ∈ , được thiết bị xử lý với một hoặc nhiều lệnh, kết hợp<br /> ×<br /> chúng thành ma trận rò rỉ ∈ℝ .<br /> Thường thì, các vector rò rỉ chứa một số lượng mẫu lớn do tốc độ lấy mẫu lớn<br /> của các thiết bị đo. Do đó, ta thường phải nén hay làm giảm số lượng mẫu này trước khi<br /> đưa vào xử lý bằng cách chỉ lựa chọn ≪ mẫu. Như vậy, sau khi nén ta có các vector<br /> rò rỉ là ∈ ℝ , kết hợp thành ma trận ∈ ℝ × .<br /> Bây giờ, ta sử dụng để tính các tham số cho mẫu tương ứng với thiết bị xử lý giá trị<br /> ∈ đó là ̅ ∈ ℝ và ∈ ℝ × như sau:<br /> <br /> 1<br /> = (1)<br /> <br /> 1<br /> = ( − )( − )′ (2)<br /> −1<br /> Giá trị mẫu của các vết điện năng tiêu thụ có thể xấp xỉ theo phân bố chuẩn đa biến<br /> [15]. Như vậy, các giá trị trung bình mẫu ̅ và là đủ để mô tả thống kê cho giá trị điện<br /> năng tiêu thụ của thiết bị theo hàm mật độ xác suất (3).<br /> 1 1<br /> ( | , ) = exp − ( − ) ( − ) (3)<br /> (2 ) det( ) 2<br /> <br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số 59, 02 - 2019 169<br /> Công nghệ thông tin & Cơ sở toán học cho tin học<br /> <br /> Nói tóm lại, trong pha lập mẫu, ta sẽ lập | | bộ mẫu, mỗi bộ mẫu tương ứng với một<br /> giá trị trung bình và ma trận hiệp sai: , tương ứng với | | giá trị bí mật của thiết bị.<br /> 2.2. Pha tấn công<br /> Trong pha tấn công, chúng ta tìm giá trị bí mật ∈ được xử lý bởi thiết bị để tấn<br /> công. Chúng ta thu thập vector rò rỉ ∈ ℝ từ thiết bị để tấn công, sử dụng cùng kỹ<br /> thuật thu thập và phương pháp nén với pha lập mẫu. Như vậy, ta sẽ có ma trận rò rỉ<br /> ∈ ℝ × . Để xác định giá trị bí mật được xử lý bởi thiết bị khi biết được một<br /> vector rò rỉ ∈ , chúng ta có thể áp dụng công thức Bayes. Điều này dẫn tới luật<br /> quyết định như sau [9,10,11,13]:<br /> (4)<br /> = argmax ( | ) = argmax ( | ). ( )<br /> ∈ ∈ <br /> <br /> Trong đó, ( | ) = ( | ̅ , ), được tính bởi (3), và ( ) là xác suất tiên nghiệm<br /> của giá trị bí mật . Luật quyết định này cho ta biết vector rò rỉ thuộc một trong các bộ<br /> mẫu có giá trị với xác suất hậu nghiệm lớn nhất. Trong trường hợp tổng quát, ta có<br /> ( ) = | | . Cách quyết định khóa đúng dựa trên nguyên tắc khả năng đúng lớn nhất.<br /> Ta ký hiệu tấn công mẫu kiểu này là .<br /> 3. PHƯƠNG PHÁP TẤN CÔNG MẪU HIỆU QUẢ<br /> Trong phần này, bài báo sẽ đề xuất một phương pháp xác định khóa đúng trong pha tấn<br /> công của tấn công mẫu dựa trên khoảng cách xác suất ở hai dạng sử dụng hàm LOG và<br /> tuyến tính. Các tấn công mẫu dựa trên luật quyết định này được ký hiệu là và<br /> .<br /> 3.1. Một số vấn đề khi thực hiện tấn công mẫu<br /> Bây giờ chúng ta sẽ đề cập đến vấn đề có thể xảy ra khi thực hiện tấn công mẫu, đặc<br /> biệt là khi số chúng ta sử dụng số lượng mẫu lớn. Một số tác giả [15,14] đã đề cập tới<br /> vấn đề tính ma trận đảo của ma trận hiệp phương sai có thể dẫn tới vấn đề số học với<br /> giá trị lớn khi định thức ma trận có thể xấp xỉ bằng 0. Một vấn đề thực tế đối với<br /> việc tính ( − ) ( − ) trong biểu thức của khi giá trị của lớn có thể dẫn tới<br /> các giá trị mà dẫn tới phép toán mũ sau đó bị tràn. Ví dụ, độ chính xác của exp ( ) theo<br /> IEEE chỉ an toàn khi | | < 710, điều này dễ dàng vượt qua với giá trị lớn.<br /> Một vấn đề khác khi giá trị lớn là giá trị định thức | | cũng có thể tràn. Ví dụ, do<br /> | | là tích của các vector riêng của , các giá trị vector riêng có thể vượt 10 và được<br /> nhân với một số sẽ làm tràn số theo định dạng IEEE. Các vấn đề số học trên có thể được<br /> loại bỏ nếu không tính (4) trực tiếp, mà giải quyết bài toán xác định giá trị bí mật thông<br /> qua xắp xếp theo điểm số của từng ứng viên sử dụng bộ quyết định định được trình đề<br /> xuất trong phần 3.2.<br /> 3.2. Xây dựng luật quyết định cho tấn công mẫu<br /> Trong pha tấn công, giá trị bí mật của thiết là giá trị ứng viên ∈ sao cho xác<br /> suất hậu nghiệm trong biểu thức (4) cho giá trị lớn nhất. Việc tính toán (4) thực chất là ước<br /> lượng hàm mật độ xác suất (3) ứng với các giá trị khác nhau, và trong bài báo này giới<br /> thiệu độ đo mới còn gọi là điểm số tách biệt tuyến tính, cho phép xác định giá trị bí mật<br /> hiệu quả hơn. Thay vì tính xác suất hậu nghiệm như (4), ta tính khoảng cách của ứng<br /> viên khi biết một vector rò rỉ theo (5):<br /> ( | )= ( | , ) (5)<br /> Việc tính khoảng cách này thực chất là ước lượng hàm mật độ xác suất (3), và khi lấy<br /> logarit hai vế ta có (6).<br /> <br /> <br /> 170 Trần Ngọc Quý, “Tấn công mẫu dựa trên khoảng cách tuyến tính.”<br /> Nghiên cứu khoa học công nghệ<br /> 1 1<br /> log ( | ̅ , ) = − log 2 − log| | − ( − ̅ ) ( − ̅ ) (6)<br /> 2 2 2<br /> Để loại bỏ vấn đề về số học khi tính định thức của , chúng ta tính logarit của định<br /> thức theo phân tích Cholesky = của ma trận đối xứng . Do là ma trận tam giác<br /> nên định thức của nó là tích các phần tử trên đường chéo.<br /> log| | = 2 (7)<br /> ∈ ( )<br /> Do thành phần đầu trong (6) là giống nhau với mọi , ta có thể tính khoảng cách dựa<br /> trên hàm log như nhau:<br /> 1 1<br /> ( | ) = − log| | − ( − ̅ ) ( − )<br /> 2 2 (8)<br /> = log ( | , ) + log 2 = log ( | ) +<br /> 2<br /> Khi các rò rỉ đến từ các giá trị khác nhau của ta có các giá trị trung bình của các trace<br /> khác nhau tuy nhiên phương sai giữa các điểm thuộc trace gần giống nhau ∑ ≈ ∑ ≈<br /> 2≈…≈ , ta có thể sử dụng một ma trận hiệp phương sai chung cho tất cả các giá trị của<br /> bởi công thức (9).<br /> <br /> 1<br /> = ( − ̅ )( − ̅ )′ (9)<br /> | |. −1<br /> ∈<br /> Đây có thể coi là giá trị hiệp phương sai trung bình từ (2). Ưu điểm lớn nhất của<br /> việc sử dụng so với là nó biểu diễn ước lượng hiệp phương sai tốt hơn so với giá trị<br /> hiệp phương sai thật ∑, bởi là ước lượng hiệp phương sai thông qua | | trace trong<br /> khi đó chỉ tính đối với vết điện năng tiêu thụ. Điều này có nghĩa là điều kiện để ma<br /> trận không kỳ dị thỏa mãn khi | | > hay > | | . Do đó, số trace phải có đối với<br /> mỗi ứng viên giảm đi bởi một hệ số | |, là một ưu điểm lớn trong thực tế khi thực hiện<br /> tấn công. Mặc dù, chất lượng của việc ước lượng giá trị trung bình ̅ vẫn còn phụ thuộc<br /> trực tiếp vào .<br /> Chúng ta giả sử rằng các giá trị hiệp phương sai là bằng nhau và đúng cho nhiều tấn<br /> công kênh kề, bởi thu thập các thông tin về lượng nhiễu, có giá trị của nó thay đổi<br /> không phụ thuộc vào giá trị của , tương quan đối với các mẫu của trace. Kết quả là giá trị<br /> tín hiệu phụ thuộc vào dữ liệu ̅ đã được trừ đi. Và chúng ta không mong muốn sự khác<br /> biệt đáng kể giữa các của các giá ứng viên khác nhau, trừ khi thiết bị của chúng ta<br /> chứa các cơ chế khiến giá trị tương quan giữa các ứng mẫu đối với các ứng viên của<br /> khác nhau.<br /> Sử dụng chúng ta có thể loại bỏ 2 thành phần đầu tiên trong (6) và sử dụng khoảng<br /> cách Mahalanobis để so sánh giá trị của các ứng viên khác nhau của khóa dựa trên<br /> nguyên tắc khoảng cách nhỏ nhất là giống nhất.<br /> ̅ , =( − ̅ ) ( − ̅ ) (10)<br /> Từ các công thức (8,10) ta có thể xác định công thức tính khoảng cách như sau:<br /> 1<br /> ( | )=− , = ( | )+ (11)<br /> 2<br /> Trong đó, thành phần không đổi không phục thuộc vào . Khi sử dụng ma trận hiệp<br /> phương sai chung , ta có thể viết lại công thức (10) như sau:<br /> <br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số 59, 02 - 2019 171<br /> Công nghệ thông tin & Cơ sở toán học cho tin học<br /> <br /> ̅ , = −2 ̅ + ̅ ̅ (12)<br /> Và nhận thấy rằng thành phần đầu tiên là không đổi với mọi giá trị của , nên có thể bỏ<br /> qua thành phần này. Điều này có nghĩa là có thể sử dụng công thức sau khi tính điểm số<br /> tách biệt tuyến tính.<br /> 1<br /> ( | )= − = ( | )+ (13)<br /> 2<br /> Điểm số này chỉ phụ thuộc vào tuyến tính vào . Mặc dù là tương đương, nhưng việc<br /> tính toán điểm số tách biệt tuyến tính là hiệu quả hơn nhiều so với tính khoảng cách .<br /> Trong trường hợp này chúng ta sẽ kết hợp vết điện năng tiêu thụ từ để tính<br /> khoảng cách tuyến tính cuối cùng ( | ).<br /> <br /> ( | )= ( | ) (14)<br /> ∈<br /> Lấy logarit cả hai vế phương trình trên chúng ta có:<br /> log ( | ) = log ( | ) (15)<br /> ∈<br /> Chúng ta có điểm số tách biệt như sau:<br /> 1<br /> ( | )=− log| |− ( − ̅ ) ( − ̅ ) (16)<br /> 2 2<br /> ∈<br /> 1<br /> ( | )=− ( − ̅ ) ( − ̅ ) (17)<br /> 2<br /> ∈<br /> <br /> <br /> ( | )= ̅ − ̅ ̅ (18)<br /> 2<br /> ∈<br /> <br /> Với trace ∈ , và cần thời gian ( ) trong khi đó chỉ<br /> cẩn ( + ), là do các phép tính ̅ và ̅ ̅ chỉ cần thực hiện một lần. Đây<br /> là một ưu điểm có ý nghĩa lớn trong thực tế.<br /> 3.3. Quy trình tấn công TA<br /> Các bước thực hiện tấn công TA dựa trên tính khoảng cách LOG và tuyến tính được đề<br /> xuất như sau:<br /> Bước 1: Đo và lưu lại vết điện năng tiêu thụ , , … , khi thiết bị thực hiện tao tác<br /> mã hóa lần.<br /> Bước 2: chọn điểm tấn công, sử dụng phương pháp nén cụ thể để tìm điểm quan trọng<br /> nhất POI trên vết điện năng tiêu thụ.<br /> Bước 3: Chia tập vết điện năng tiêu thụ thành | | lớp theo giá trị của .<br /> Bước 4: Sử dụng công thức (1,2) để lập bộ mẫu cho thiết bị: ( ̅ , )<br /> Bước 5: Đo và lưu lại vết điện năng tiêu thụ của thiết bị tấn công. Sử dụng phương<br /> pháp đo và nén như bước 2 để tìm điểm POI.<br /> Bước 6: Tính giá trị hoặc theo công thức (16,18) để xác định khoảng cách tới<br /> từng bộ mẫu (| | bộ mẫu) ứng với từng khóa khác nhau.<br /> Bước 7. So sánh | | giá trị khoảng cách ở bước 6, giá trị nào nhỏ nhất tương ứng với khóa<br /> đúng nhất của thiết bị tấn công.<br /> <br /> <br /> <br /> 172 Trần Ngọc Quý, “Tấn công mẫu dựa trên khoảng cách tuyến tính.”<br /> Nghiên cứu khoa học công nghệ<br /> <br /> 4. THỰC NGHIỆM<br /> 4.1 Phương pháp tiến hành thực nghiệm<br /> Thiết bị sử dụng trong thí nghiệm là smartcard ATmega8515, thực thi thuật toán AES-<br /> 128. Trong thí nghiệm này, điểm tấn công chúng tôi lựa chọn ở vị trí lối ra của S-hộp vòng<br /> thứ nhất. Sử dụng phương pháp tấn công mẫu, chúng tôi xây dựng tập 256 mẫu tương ứng<br /> với 256 giá trị của byte tại lối ra S-hộp vòng thứ nhất. Ứng với mỗi giá trị ∈<br /> {0,1,2, … 255} chúng tôi ghi lại 1000 vết điện năng tiêu thụ, tương ứng với tổng số<br /> 256 × 1000 = 256000 vết điện năng tiêu thụ, mỗi vết có độ dài 2500 mẫu được thu thập<br /> trong khoảng thời gian thiết bị thực thi thao tác thế S-hộp tại vòng thứ nhất của thuật toán<br /> AES-128. DoM là phương pháp được lựa chọn để xác định các POI. Sơ đồ thu thập vết<br /> điện năng tiêu thụ sử dụng trong [3] phần 4.1. Các trace này sẽ được sử dụng để thực hiện<br /> 02 thí nghiệm.<br /> Thí nghiệm 1: sử dụng 200 trace, ứng với một giá trị bí mật của thiết bị, cho tập huấn<br /> luyện và 100 trace cho tập dữ liệu tấn công. Thí nghiệm 2: sử dụng 400 trace, ứng với một<br /> giá trị bí mật của thiết bị, cho tập huấn luyện và 100 trace cho tập dữ liệu tấn công. Trong<br /> cả hai thí nghiệm trên chúng tôi thực hiện 03 dạng tấn công , , .<br /> 4.2. Tham số đánh giá kết quả<br /> Bài báo này sử dụng tham số tỷ lệ thành công, ký hiệu là SR, và lượng thông tin ước<br /> đoán, ký hiệu là GE như được đề xuất trong [16] để đánh giá hiệu quả của tấn công TA<br /> dựa trên việc tính toán xác suất hậu nghiệm và TA dựa trên việc đánh giá khoảng cách<br /> tuyến tính và khoảng cách LOG như được trình bày trong phần 3.2. Tỷ lệ thành công được<br /> định nghĩa là tỷ số giữa số lần thí nghiệm khôi phục khóa thành công so với tổng số lần<br /> thực hiện thí nghiệm tấn công. GE được định nghĩa là của thứ tự xếp hạng khóa đúng<br /> trong số tất cả các khóa giả thiết. Tham số này, cho ta biết, công việc ước đoán còn lại<br /> phải thực hiện sau khi tấn công để tìm được khóa đúng. Giá trị GE nhỏ là điều mong muốn<br /> sau khi thực hiện tấn công.<br /> 4.3. Kết quả thực nghiệm<br /> So trace lap mau np=200 So trace lap mau np=200<br /> 1 5<br /> DLinear<br /> 0.9 4.5<br /> DLog<br /> 0.8 4 MLP<br /> Ty le thanh cong - SR<br /> <br /> <br /> <br /> <br /> 0.7 3.5<br /> <br /> 0.6 3<br /> GE (bits)<br /> <br /> <br /> <br /> <br /> 0.5 2.5<br /> <br /> 0.4 2<br /> <br /> 0.3 1.5<br /> <br /> 0.2 1<br /> DLinear<br /> 0.1 DLog 0.5<br /> MLP<br /> 0 0 1 2<br /> 0 0 1 2<br /> 10 10 10 10 10 10<br /> So trace tan cong na (log) So trace tan cong na (log)<br /> <br /> Hình 1a. So sánh SR với = 200. Hình 1b. So sánh GE với = 200.<br /> Kết quả của thí nghiệm 1 được chỉ ra trên hình 1. , , cần khoảng 20<br /> vết để có tỷ lệ khôi phục khóa thành công đạt 50%, 70%. Trong khi cần 20 vết để<br /> có tỷ lệ thành công 48 % như trên hình 1a. hình 1b, chỉ ra kết quả tính toán tham số GE<br /> của tấn công. cần khoảng 50 vết để có giá trị GE gần bằng 1,5, cần cỡ 10<br /> vết để có giá trị GE nhỏ hơn 1. Trong khi cần vết để có giá trị GE nhỏ hơn 2. Từ<br /> kết quả này thấy rằng hiệu quả tấn công mẫu sử dụng MLP và khoảng cách LOG là tương<br /> đương nhau. Tuy nhiên, khi sử dụng khoảng cách tuyến tính, hiệu quả tăng lên đáng kể.<br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số 59, 02 - 2019 173<br /> Công nghệ thông tin & Cơ sở toán học cho tin học<br /> So trace lap mau np=400 So trace lap mau np=400<br /> 1 5<br /> DLinear<br /> 0.9 4.5 DLog<br /> 0.8 4 MLP<br /> Ty le thanh cong - SR<br /> <br /> <br /> <br /> <br /> 0.7 3.5<br /> <br /> 0.6 3<br /> <br /> <br /> <br /> <br /> GE (bits)<br /> 0.5 2.5<br /> <br /> 0.4 2<br /> <br /> 0.3 1.5<br /> <br /> 0.2 1<br /> DLinear<br /> 0.1 DLog 0.5<br /> MLP<br /> 0 0 0 0 1 2<br /> 1 2<br /> 10 10 10 10 10 10<br /> So trace tan cong na (log) So trace tan cong na (log)<br /> <br /> <br /> Hình 2a. So sánh SR với = 400. Hình 2b. So sánh GE với = 400.<br /> Trong thí nghiệm 2, chúng tôi sử dụng để đánh giá sự ảnh hưởng của số vết điện năng<br /> tiêu thụ trong quá trình lập mẫu đối với hiệu quả của tấn công. Kết quả, được thể hiện trên<br /> hình 2, cũng chỉ ra rằng hiệu quả của là tốt hơn so với và . Tuy<br /> nhiên, khi số trace sử dụng để lập mẫu nhiều lên khả năng thành công của tấn công rất lớn<br /> đạt xấp xỉ 98% khi số lượng trace dùng để tấn công là 10. Kết quả này có được là bởi khi<br /> số trace lập mẫu lớn, khả năng đặc tính hóa thiết bị bởi bộ mẫu của chúng ta càng chính<br /> xác. Cũng trong cả hai thí nghiệm với tấn công mẫu ta thấy rằng nó cần cỡ từ 10 đến 20<br /> trace để tìm được khóa đúng của thiết bị với tỷ lệ thành công gần 100%. Đây là số lượng<br /> trace nhỏ hơn nhiều so với số trace để thực hiện thành công các tấn công DPA, và CPA<br /> như được trình bày trong [15]. Tuy nhiên, với tấn công DPA và CPA ta không cần sử dụng<br /> thiết bị mẫu trong khi đó các dạng tấn công TA thì đây là điều kiện bắt buộc.<br /> Cũng từ kết quả ta thấy TA dựa trên khoảng cách tuyến tính hiệu quả hơn TA dựa trên<br /> khoảng cách hàm LOG, nguyên nhân là trong thí nghiệm , được tính riêng với<br /> từng khóa giả thiết, và giá trị này khác nhau do sự ảnh hưởng của nhiễu tại các điểm trên<br /> trace sử dụng để tấn công, còn với , được dùng chung cho tất cả các khóa giả<br /> thiết, nó không chỉ giúp việc tính nhanh hơn mà ma trận hiệp phương sai chung còn biểu<br /> diễn tương quan giữa các điểm trên vết tốt hơn do nhiễu đã được loại bỏ bởi phép lấy<br /> trung bình trong (9).<br /> 5. KẾT LUẬN<br /> Bài báo trình bày cơ sở lý thuyết của phương pháp tấn công mẫu trên thiết bị mật mã<br /> đồng thời đề xuất phương pháp mới để quyết định khóa đúng trong pha tấn công dựa trên<br /> khoảng cách LOG và tuyến tính. Kết quả cho thấy rằng hiệu quả tấn công mẫu được cải<br /> thiện rõ rệt, đặc biệt trong trường hợp sử dụng khoảng cách tuyến tính còn giúp giảm thời<br /> gian tính toán. Các kết quả tấn công TA trong bài báo sử dụng phương pháp lựa chọn POI<br /> là DoM, tuy nhiên vẫn còn một số phương pháp khác đã được đề xuất. Trong các công<br /> trình tiếp theo, tác giả sẽ đánh giá tấn công TA được đề xuất đối với các phương pháp lựa<br /> chọn POI khác nhau.<br /> TÀI LIỆU THAM KHẢO<br /> [1]. Nguyễn Hồng Quang, “Trace năng lượng trong DPA”, Tạp chí Nghiên cứu Khoa<br /> học và Công nghệ quân sự, 2013.<br /> [2]. Nguyễn Hồng Quang, “Phân tích tiêu thụ điện năng của thiết bị mật mã”, Tạp chí<br /> Nghiên cứu Khoa học và Công nghệ quân sự, 2014.<br /> [3]. Trần Ngọc Quý, “Tấn công phân tích điện năng tiêu thụ lên AES-128,” Tạp chí<br /> Nghiên cứu Khoa học và Công nghệ quân sự, 2015.<br /> <br /> <br /> 174 Trần Ngọc Quý, “Tấn công mẫu dựa trên khoảng cách tuyến tính.”<br /> Nghiên cứu khoa học công nghệ<br /> <br /> [4]. Kocher P, Jaffe J, Jun B. “Differential Power Analysis”, CRYPTO 1999, LNCS<br /> 1666. Springer: Heidelberg, 1999; 388–397.<br /> [5]. Chari S, Rao JR, Rohatgi P. “Template Attacks”, CHES 2002, LNCS 2523. Springer:<br /> Heidelberg, 2002; pp.13–28.<br /> [6]. Brier E, Clavier C, Olivier F. “Correlation Power Analysis with a Leakage Model”,<br /> CHES 2004, LNCS 3156. Springer: Heidelberg, 2004; 16–29.<br /> [7]. E. Cagli, C. Dumas, and E. Prouff, “Enhancing dimensionality reduction methods for<br /> side-channel attacks,” in CARDIS 2015.<br /> [8]. Girelichs B, Batina L, Tuyls P, Preneel B. “Mutual Information Analysis”, CHES<br /> 2008, LNCS 5154. Springer: Heidelberg, 2008; 426–442.<br /> [9]. Rechberger C, Oswald E. “Practical Template Attacks”, WISA 2004, LNCS 3325.<br /> Springer: Heidelberg, 2004; 440–456.<br /> [10]. Oswald E, Mangard S. “Template Attacks on MasingResistance is Futile”, CT- RSA<br /> 2007, LNCS 4377. Springer: Heidelberg, 2007; 243–256<br /> [11]. Gierlichs B, Lemke-Rust K, Paar C. “Template vs. Stochastic Methods—A<br /> Performance Analysis for Side Chennel Cryptanalysis”, CHES 2006.<br /> [12]. Abdelaziz Elaabid M, Meynard O, Guilley S, Danger JL. “Combined Side-Channel<br /> Attacks”, WISA 2010, LNCS 6513. Springer: Heidelberg, 2010;<br /> [13]. Standaert F-X, Archambeau C. “Using SubspaceBased Template Attacks to Compare<br /> and Combine Power and Electromagnetic Information Leakage”, CHES 2008,<br /> LNCS 5154. Springer: Heidelberg, 2008; 411–425.<br /> [14]. Fukunaga K. “Introduction to Statistical Pattern Recognition”. Elsevier: New York,<br /> 1990.<br /> [15]. S. Mangard, E. Oswald, and T. Popp, “Power Analysis Attacks: Revealing<br /> the Secrets of Smart Cards”. 1st ed. New York, NY, USA: Springer, 2010.<br /> [16]. Standaert F-X, Malkin TG, Yung M. “A Unified Framework for the Analysis of Side-<br /> Channel Key Recovery Attacks”, EUROCRYPT 2009.<br /> [17]. V. Lomné, E. Prouff, and T. Roche, “Behind the scene of side channel attacks,”<br /> ASIACRYPT 2013.<br /> ABSTRACT<br /> LINEAR DISTANCE BASED PROFILED ATTACKS<br /> Profiled attacks are one of the most effective side channel attacks against the<br /> cryptographic devices. This attack builds a template set of the device through the<br /> side channel leaks collected during the operation of the device. At present,<br /> determining of correct key in profiled attack is based on the maximum probability<br /> principle of side channel leakages of attack device with the template set. In this<br /> paper, the author proposes an effective method of attack in which the determination<br /> of the secret key is based on calculating the linear distance of the side channel<br /> leakage to the template set of the profiled device. In this paper, TA was done on<br /> ATMEGA8515 smartcards installed with AES-128 cryptographic algorithm.<br /> Keywords: Side channel attack; Profiled attack; Linear distance; Common covariance matrix.<br /> <br /> Nhận bài ngày 29 tháng 11 năm 2018<br /> Hoàn thiện ngày 19 tháng 12 năm 2018<br /> Chấp nhận đăng ngày 19 tháng 02 năm 2019<br /> <br /> Địa chỉ: Học viện Kỹ thuật Mật mã.<br /> *<br /> Email: quyhvm@gmail.com.<br /> <br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số 59, 02 - 2019 175<br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2