Rate this post

Trong mật mã, một cuộc tấn công kênh phụ được sử dụng để trích xuất dữ liệu bí mật từ một số thiết bị an toàn (chẳng hạn như thẻ thông minh , “hộp đen” chống giả mạo hoặc mạch tích hợp ). Phân tích kênh bên thường cố gắng trích xuất không xâm phạm các khóa mật mã và thông tin bí mật khác từ thiết bị. Một ví dụ đơn giản về vấn đề này là vấn đề xe tăng của Đức : số sê-ri của xe tăng cung cấp thông tin chi tiết về dữ liệu sản xuất xe tăng. Về bảo mật vật lý, một cuộc tấn công không xâm nhập sẽ tương tự như một cuộc tấn công khóa , trong đó một cuộc tấn công thành công không để lại  dấu vết nào về sự hiện diện của kẻ tấn công.

Quan sát các bit khóa RSA bằng cách sử dụng Power analysis: Đỉnh bên trái hiển thị mức tiêu thụ điện năng trong bước chỉ bình phương , đỉnh bên phải (rộng hơn) hiển thị bước nhân, cho phép phân biệt các bit 0 và 1 theo số mũ.

Các bài viết liên quan:

     Power analysis là một dạng tấn công kênh phụ , trong đó kẻ tấn công nghiên cứu mức tiêu thụ điện năng của một thiết bị phần cứng mật mã. Các cuộc tấn công này dựa trên các đặc tính vật lý cơ bản của thiết bị: các thiết bị bán dẫn chịu sự điều chỉnh của các định luật vật lý, quy luật này ra lệnh rằng sự thay đổi điện áp trong thiết bị yêu cầu chuyển động rất nhỏ của các điện tích (dòng điện). Bằng cách đo các dòng điện đó, có thể biết được một lượng nhỏ thông tin về dữ liệu đang được thao tác.

     Power analysis đơn giản ( SPA ) liên quan đến việc giải thích trực quan các dấu vết power hoặc biểu đồ của hoạt động điện theo thời gian. Power analysis vi sai ( DPA ) là một dạng Power analysis tiên tiến hơn, có thể cho phép kẻ tấn công tính toán các giá trị trung gian trong các phép tính mật mã thông qua phân tích thống kê dữ liệu được thu thập từ nhiều hoạt động mật mã. SPA và DPA đã được giới thiệu với cộng đồng mật mã mở vào năm 1998 bởi Paul Kocher , Joshua Jaffe và Benjamin Jun.

Power analysis đơn giản

Power analysis đơn giản ( SPA ) là một cuộc tấn công kênh phụ liên quan đến việc kiểm tra trực quan các biểu đồ của dòng điện được sử dụng bởi một thiết bị theo thời gian. Sự thay đổi trong mức tiêu thụ điện năng xảy ra khi thiết bị thực hiện các hoạt động khác nhau. Ví dụ: các lệnh khác nhau được thực hiện bởi bộ vi xử lý sẽ có các cấu hình tiêu thụ điện năng khác nhau.

Luồng mã phụ thuộc vào một giá trị bí mật do đó sẽ làm rò rỉ luồng mã thông qua giám sát mức tiêu thụ điện năng (và do đó cũng làm rò rỉ giá trị bí mật). Ví dụ đơn giản, hãy xem xét kiểm tra mật khẩu như sau:

     Kiểm tra mật khẩu này có khả năng chứa một cuộc tấn công Định thời , vì thời gian thực hiện không cố định. Tuy nhiên, hàm có thể không xuất cho người dùng một kết quả có thể khai thác được, chẳng hạn như có thể có độ trễ bù trước khi phản hồi được trả về. Quan sát mức tiêu thụ điện năng sẽ làm rõ số vòng lặp được thực hiện.

     Tương tự, các phép toán bình phương và phép nhân trong triển khai RSA thường có thể được phân biệt, cho phép kẻ thù tính khóa bí mật. Ngay cả khi độ lớn của các biến thể trong mức tiêu thụ điện năng là nhỏ, các máy hiện sóng kỹ thuật số tiêu chuẩn có thể dễ dàng hiển thị các biến thể do dữ liệu gây ra. Các bộ lọc tần số và chức năng lấy trung bình (chẳng hạn như các chức năng tích hợp trong máy hiện sóng) thường được sử dụng để lọc ra các thành phần tần số cao.

     Phương pháp phân tích nguồn điện cung cấp được thực hiện dựa trên việc so sánh giữa nguồn mẫu cơ bản với nguồn sử dụng thực tế tại thời điểm phân tích. Việc phân tích bao gồm các phép đo về vật lý (meansurements), thông qua các máy dò vật lý (probe) trên nguồn điện tiêu thụ của thiết bị phần cứng tại thời điểm phân tích. Tấn công phân tích nguồn điện dựa trên sự tương quan giữa dòng điện do bộ vi xử lý tạo ra và các lệnh hoặc dữ liệu đang được xử lý.

     Trong tấn công phân tích nguồn điện đơn giản  (Simple Power Anlysis – SPA), kẻ tấn công tiến hành quan sát vết (trace) của nguồn điện tiêu thụ trong một khoảng thời gian và cố gắng áp dụng nó trực tiếp vào nguyên lý hoạt động của thiết bị mật mã. Một ví dụ thể hiện các vết thu được từ một SPA trên một smartcard chạy thuật toán mã hóa DES được thể hiện trong Hình 1.

     Trong tấn công thời gian (trình bày ở phần trên), thời gian dùng để thực hiện phép tính có thể làm lộ ra thông tin để đoán được bit khóa bí mật. Còn trong tấn công SPA, một ví dụ so sánh năng lượng điện tiêu thụ trên smartcard để thực hiện hai phép tính được thể hiện như Hình 2.

     Sự khác nhau chỉ xuất hiện tại vòng 6, điều này cho biết thông tin về chu trình các phép tính đã được thực hiện trên  smartcard, với một số phép tính cụ thể thì các thông tin này có thể làm tiết lộ khóa.

     Tấn công SPA đã từng phá vỡ hoạt động của RSA do nó chỉ ra sự khác nhau giữa phép nhân và phép lũy thừa sử dụng trong biểu thức lấy giá trị modular hàm mũ. Trong trường hợp tấn công SPA độc lập không thể lấy được khóa bí mật, thì nó cũng có thể cung cấp các tham số là đầu mối quan trọng cho các cuộc tấn công khác.
Power analysis vi sai

     Power analysis vi sai ( DPA ) là một cuộc tấn công kênh phụ liên quan đến việc phân tích thống kê các phép đo tiêu thụ điện năng từ một hệ thống mật mã . Cuộc tấn công khai thác thành kiến ​​mức tiêu thụ điện năng khác nhau của bộ vi xử lý hoặc phần cứng khác trong khi thực hiện các hoạt động sử dụng khóa bí mật. Các cuộc tấn công DPA có các thuộc tính xử lý tín hiệu và sửa lỗi có thể trích xuất bí mật từ các phép đo chứa quá nhiều nhiễu cần được phân tích bằng cách sử dụng Power analysis đơn giản. Sử dụng DPA, kẻ thù có thể lấy khóa bí mật bằng cách phân tích các phép đo tiêu thụ điện năng từ nhiều hoạt động mật mã được thực hiện bởi thẻ thông minh dễ bị tấn công hoặc thiết bị khác.

Quy trình thực hiện DPA

     Tấn công DPA là một phương pháp hiệu quả để tìm khóa của thiết bị mật mã và là một trong những hiểm họa lớn đến tính an toàn của thiết bị mật mã. DPA khai thác sự tương quan giữa dữ liệu và điện năng tiêu thụ tức thời của thiết bị. Khi sự tương quan này nhỏ vẫn có thể khám phá được khóa nhờ sử dụng các công cụ thống kê. Trong quá trình DPA, người tấn công sử dụng mô hình lý tuyết của thiết bị cần tấn công, sau đó phân tích thống kê sự tương quan của điện năng tiêu thụ của thiết bị thực tế với điện năng tiêu thụ giả định, được xác định qua mô hình lý thuyết, để tìm ra khóa.  DPA sử dụng để tìm ra khóa bí mật của thiết bị mật mã. Độ dài của khóa bí mật phụ thuộc vào thuật toán thực thi trong thiết bị. Trong DPA, chỉ một phần của khóa được tìm ra tại một thời điểm, chứ không phải toàn bộ khóa. Phần khóa này, thường được gọi là khóa con trong thuật ngữ sử dụng với DPA. Việc lựa chọn khóa con phụ thuộc vào thuật toán, kiến trúc của thiết bị và những hiểu biết của người tấn công về thiết bị. Nếu ta muốn tìm toàn bộ khóa cùng một lúc, chi phí cho CPA giống với tấn công vét cạn. Tuy nhiên, nếu tiến hành CPA cho từng khóa con, chi phí sẽ giảm đi rất nhiều.

     Quá trình thực hiện một DPA đối với một mô-đun mật mã sẽ được trình bày dưới đây. Thiết bị mật mã có chiều dài khóa bí mật là S và khóa con được lựa chọn cho DPA có độ dài K bít. Quá trình được mô tả dưới đây giả sử người tấn công có thể điều khiển dữ liệu vào của thiết bị và thiết bị đang thực hiện mã hóa.

Cách thức tấn công

  • Bước 1: Lựa chọn,xác định vị trí tấn công.
  • Bước 2: Đo năng lượng tiêu thụ.
  • Cho thiết bị mã hóa D bản rõ ngẫu nhiên ghi lại kết quả thành vector.. 
  • a = (a1,….,aD) với aI là giá trị dữ liệu tại phần mã hóa thứ i ,ghi lại năng lượng tiêu thụ tương ứng với khối dữ liệu  ai,KQ : ti=(ti1,…,tit),với T là chiều dài của vết ( số lần lấy mẫu ),và i chạy từ 1 đến D ,xây dựng thành ma trận [T],có kích thước D x T 
  • Bước 3: Tính các giá trị trung gian giả định khi thiết bị thực hiện thuật toán. Gọi k=(k1,k2,…,kK) là vector tất cả các khóa con giả thiết. Với D lần thực hiện mã hóa với tất cả các khóa giả thiết, cùng với hàm lựa chọn f(d,k) ta có ma trận V(DxK) với mỗi phần tử được xác định bởi: 
  • Bước 4: Ánh xạ giá trị trung gian giả định thành năng lượng tiêu thụ giả định.Lựa chọn một mô hình điện năng tiêu thụ của thiết bị tấn công như HW,HD để chuyển Vi,j thành điện năng tiêu thụ giả thiết hi,j. Kết quả, ta có ma trận điện năng tiêu thụ giả thiết H (DxK).
  • Bước 5: So sánh giá trị điện năng tiêu thụ giả định và giá trị năng lượng thu được, đánh giá kết quả và kết luận khóa bí mật tìm đc. Trong bước này, tất cả các cột của ma trận H được so sánh với các cột của ma trận T. Kết quả, cho ta ma trận R (KxT), có phần tử được xác định bởi:

hi là giá trị điện năng giả thuyết

tj là điện năng tiêu thụ thực tế đo được.

  • Thực nghiệm tấn công DPA lên AES-128
  • Sơ đồ thực hiện
  • (1) PC cấu hình, cũng như đặt chế độ cho máy hiện sóng.
  • (2) PC gửi Plaintext tới DUA và yêu cầu mã hóa.
  • (3) DUA gửi tín hiệu Trigger tới máy hiện sóng để bắt đầu thực hiện quá trình đo.
  • (4) DUA thực hiện quá trình mã hóa Plaintext.
  • (5) Máy hiện sóng thu dạng song biểu diễn điện áp thu được tại điểm tấn công.
  • (6) Máy hiện song gửi dữ liệu thu được tới PC để xử lý, phân tích.
  • (7) DUA gửi bản mã cho PC.
  • (8) Các bước 2 tới 7 lặp lại với tất cả Plaintext.
  • (9) Quá trình phân tích dữ liệu trên PC để tìm ra khóa bí mật.
  • Quá trình tấn công trên thuật toán AES 128
  • Chọn điểm trung gian cần tấn công là lối ra của S-Box ở vòng thứ nhất. Tiếp theo, ghi lại giá trị điện năng tiêu thụ khi cho DUA chạy thuật toán AES với 200 bản rõ, cho ta ma trận các vết T (200×5000). Mỗi vết có độ dài 5000. Sau đó, xây dựng ma trận V với các phần tử được tính theo

     Sử dụng mô hình điện năng tiêu thụ là HW một bít của  Vij để
tính  hi,j , cụ thể là  hi,j =LSB(Vi,j), bít có trọng số thấp nhất của  Vij. Kết quả tính toán cho ma trận H (200×256). Bước cuối cùng là tính toán ma trận R với các số hạng tính theo 

và biểu diễn nó thông qua biểu đồ. Kết quả đạt được, ta có 256 biểu đồ tương ứng với 256 khóa giả thiết. 

  • Hình 2, biểu diễn các biểu đồ ứng với khóa giả thiết từ 41 đến 44. Chỉ có biểu đồ tương ứng với khóa giả thiết là K =43 xuất hiện các đỉnh có hệ số tương quan lớn hơn tất cả các biểu đồ còn lại, có hệ số tương quan nhỏ hơn 0,2. Điều này chứng tỏ K=43 là khóa giả thiết đúng nhất. Sau khi tìm được byte khóa đầu tiên, lặp lại các bước trên để tìm 15 byte khóa còn lại.

Với cách thực hiện như trên, nhưng áp dụng mô hình H để tính HW cho toàn bộ các bít của  vij, ta có được biểu đồ ứng với các khóa giả thiết từ 41 đến 44 như trên Hình 3.

Ở đây ta vẫn tìm được byte khóa là K=43, tuy nhiên ta dễ nhận biết hơn do các đỉnh xuất hiện cao hơn với hệ số tương quan gần bằng 1. Điều này chứng tỏ mô hình HW cho nhiều bít mô tả DUA tốt hơn so với mô hình HW áp dụng cho một bít.

Quá trình thực hiện tấn công DPA thành công lên thuật toán AES-128 được thực thi trên hệ vi điều khiển với mô hình điện năng tiêu thụ HW. Với cùng một tập các vết điện năng tiêu thụ thu thập được, mô hình HW áp dụng cho nhiều bít, cho kết quả tính hệ số tương quan gần với 1 hơn, chứng tỏ sự hiệu quả hơn so với mô hình HW áp dụng cho một bít. Điều này phù hợp với lý thuyết khi càng nhiều bít được xem xét, khả năng mô tả điện năng tiêu thụ của thiết bị càng chính xác. 

Power analysis vi sai bậc cao

     Power analysis chênh lệch bậc cao ( HO-DPA ) là một dạng tấn công DPA nâng cao. HO-DPA cho phép kết hợp nhiều nguồn dữ liệu và các khoảng thời gian khác nhau trong phân tích. HO-DPA ít được thực hành rộng rãi hơn SPA và DPA, vì quá trình phân tích phức tạp và hầu hết các thiết bị dễ bị tổn thương có thể bị hỏng dễ dàng hơn với SPA hoặc DPA.

     Các cuộc tấn công HODPA ngụ ý chi phí cao hơn về số lượng mẫu và độ phức tạp tính toán. Ngoài ra, việc xác định thời điểm để lấy tín hiệu là một vấn đề khó. Một vấn đề thường gặp nữa là bước tiền xử lý: tuy bài toán này đã được nhiều tác giả nghiên cứu nhưng việc tìm ra phép biến hình tối ưu vẫn còn là một bài toán bỏ ngỏ. Hơn nữa, rõ ràng là không có giải pháp nào là chung chung vì mỗi quá trình tiền xử lý được liên kết chặt chẽ với một mô hình rò rỉ, điều này không phải lúc nào cũng được đáp ứng trong thực tế

Power analysis và bảo mật thuật toán

     Phân tích nguồn cung cấp một cách để “xem bên trong” nếu không thì phần cứng ‘chống giả mạo’. Ví dụ, lịch khóa của DES liên quan đến việc xoay các thanh ghi khóa 28-bit. Nhiều triển khai kiểm tra bit ít quan trọng nhất để xem nó có phải là 1. Nếu vậy, thiết bị dịch thanh ghi sang phải và thêm số 1 ở đầu bên trái. Nếu bit là số 0, thanh ghi sẽ được dịch chuyển sang phải mà không cần thêm số 1. Power analysis có thể phân biệt giữa các quá trình này, cho phép kẻ thù xác định các bit của khóa bí mật.

Việc triển khai các thuật toán như AES và 3DES được cho là mạnh về mặt toán học có thể bị phá vỡ một cách đáng kể bằng cách sử dụng các cuộc tấn công Power analysis. Kết quả là, các cuộc tấn công phân tích sức mạnh kết hợp các yếu tố của phân tích mật mã theo thuật toán và bảo mật triển khai.

Tiêu chuẩn và các mối quan tâm thực tế về bảo mật

     Đối với các ứng dụng mà thiết bị có thể rơi vào quyền sở hữu vật lý của kẻ thù, bảo vệ chống lại phân tích nguồn điện nói chung là một yêu cầu thiết kế chính. Các Power analysis cũng đã được sử dụng dựa trên các mô-đun truy cập có điều kiện được sử dụng trong các hệ thống truyền hình trả tiền.  

     Các thiết bị cần thiết để thực hiện các cuộc tấn công phân tích sức mạnh được cung cấp rộng rãi. Ví dụ, hầu hết các máy hiện sóng lưu trữ kỹ thuật số đều cung cấp chức năng thu thập dữ liệu cần thiết và việc phân tích dữ liệu thường được thực hiện bằng cách sử dụng PC thông thường. Các sản phẩm thương mại được thiết kế cho phòng thí nghiệm thử nghiệm cũng có sẵn.   Dự án Chip Whisperer nguồn mở là chuỗi công cụ hoàn chỉnh đầu tiên của phần cứng và phần mềm nguồn mở cho các thí nghiệm phân tích điện năng.

Ngăn chặn các cuộc tấn công Power analysis đơn giản và khác biệt

     Các cuộc tấn công phân tích sức mạnh thường không thể được phát hiện bởi một thiết bị, vì việc giám sát của đối thủ thường bị động. Ngoài ra, cuộc tấn công là không xâm lấn. Kết quả là, các vỏ bọc vật lý, khả năng kiểm tra và phát hiện tấn công không hiệu quả. Thay vào đó, các kỹ sư hệ thống mật mã phải đảm bảo rằng các biến thể power của thiết bị không tiết lộ thông tin có thể sử dụng được bởi kẻ thù.

     Power analysis đơn giản có thể dễ dàng phân biệt kết quả của các nhánh có điều kiện trong quá trình thực thi phần mềm mật mã, vì một thiết bị thực hiện những việc khác nhau (tiêu thụ điện năng khác nhau) tùy thuộc vào việc có sử dụng nhánh có điều kiện hay không. Vì lý do này, nên cẩn thận để đảm bảo không có giá trị bí mật nào ảnh hưởng đến các nhánh có điều kiện trong việc triển khai phần mềm mật mã. Các nguồn biến thể khác, chẳng hạn như sự khác biệt về mã vi mô, các nhánh do trình biên dịch giới thiệu và các biến thể tiêu thụ điện năng trong hệ số nhân, cũng thường dẫn đến các lỗ hổng SPA.

     Việc Power analysis chênh lệch khó ngăn chặn hơn, vì ngay cả những sai lệch nhỏ trong mức tiêu thụ điện năng cũng có thể dẫn đến những điểm yếu có thể khai thác được. Một số chiến lược đối phó liên quan đến các sửa đổi thuật toán sao cho các hoạt động mật mã xảy ra trên dữ liệu có liên quan đến giá trị thực bởi một số mối quan hệ toán học tồn tại sau hoạt động mật mã. Một cách tiếp cận liên quan đến các tham số làm mù để ngẫu nhiên hóa giá trị của chúng. Các chiến lược đối phó khác để giảm hiệu quả của các cuộc tấn công DPA liên quan đến sửa đổi phần cứng: thay đổi tần số xung nhịp bên trong chip đã được coi là để khử đồng bộ tín hiệu điện, dẫn đến những cải tiến về thuật toán của DPA truyền thống. 

Tổng kết

     Với sự tìm hiểu về Power Analysis, chúng em đã làm rõ khái niệm về Power Analysis và các nội dung liên quan đến vấn đề Power Analysis. Từ đó nhận thấy được sự rủi ro của cuộc tấn công kênh bên như SPA, DPA, HO-DPA và tìm ra những giải pháp để ngăn chặn các cuộc tấn công.

     Phân tích các cuộc tấn công SPA, DPA để thấy được cách vận hành của chúng như thế nào , từ đó hiểu được bản chất và đưa ra cách ngăn chặn kịp thời.

     Khi có cuộc tấn công SPA, DPA, HO- DPA xảy ra, thì việc bảo mật phải được đề cao hơn bao giờ hết. Vì khi bị tấn công sẽ bị đánh mất những dữ liệu nhạy cảm.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now