Analisis Daya Diferensial

Serangan analisis daya diferensial (DPA) adalah jenis serangan analisis daya yang paling populer. Hal ini berdasarkan fakta bahwa serangan DPA tidak memerlukan pengetahuan rinci tentang perangkat target. Selain itu, DPA juga dapat mengungkapkan kunci rahasia dari perangkat bahkan jika trace daya tercatat sangat penuh noise. Berbeda dengan serangan SPA, serangan DPA memerlukan sejumlah besar trace daya. Oleh karena itu biasanya diperlukan kontak fisik langsung terhadap perangkat kriptografi untuk beberapa waktu dengan tujuan melakukan serangan DPA kepadanya. Sebagai contoh, misalnya pemilik sebuah electronic purse. orang tersebut dapat merekam sejumlah besar trace daya dengan mentransfer sejumlah kecil uang ke dan dari electronic purse. Trace ini kemudian dapat digunakan untuk mengungkapkan kunci kriptografi yang digunakan oleh electronic purse.

DPA bermaksud untuk mengambil keuntungan dari ketergantungan data pada pola konsumsi daya. Ilustrasi ketergantungan ini dapat dilihat pada Gambar 10.

Ilustrasi ketergantungan data bobot atau jarak Hamming pada jejak-jejak konsumsi daya pada smart-card yang menggunakan bus data 8-bit

Gambar 10. Ilustrasi ketergantungan data bobot atau jarak Hamming pada jejak-jejak konsumsi daya pada smart-card yang menggunakan bus data 8-bit.

Dapat dilihat bahwa kurva konsumsi daya sesuai dengan model kebocoran bobot atau jarak Hamming sederhana.

Kelebihan Utama Analisis Daya Diferensial #

Kelebihan utama dari serangan DPA dibanding SPA adalah tidak dibutuhkan pengetahuan rinci tentang perangkat kriptografi. Faktanya, DPA hanya perlu mengetahui algoritma kriptografi yang dijalankan perangkat tersebut.

Perbedaan penting lainnya antara kedua serangan tersebut adalah bahwa trace yang direkam/simpan dianalisis dengan cara yang berbeda. Pada serangan SPA konsumsi daya dari sebuah perangkat dianalisis sepanjang sumbu/poros waktu. Penyeranga mencoba untuk menemukan pola atau mencoba untuk mencocokkan template dalam sebuah trace tunggal. Dalam kasus serangan DPA, bentuk trace sepanjang sumbu/poros waktu tidak terlalu penting. Serangan DPA menganalisis bagaimana konsumsi daya pada waktu yang ditetapkan bergantung kepada data yang diproses.

Strategi Serangan Analisis Daya Diferensial #

Berikut adalah strategi serangan secara umum yang digunakan oleh semua serangan DPA. Strategi ini terdiri dari lima langkah.

Langkah 1 #

Memilih Hasil Menengah (intermediate result) dari Algoritma yang Dijalankan. Langka pertama dari sebuah serangan DPA adalah memilih sebuah hasil menengah dari algoritma kriptografi yang dijalankan perangkat target. Hasil menengah ini menjadi fungsi f (d, k), di mana d merupakan sebuah nilai non-konstan, dan k adalah bagian kecil kunci. Hasil menengah yang memenuhi kondisi ini dapat digunakan untuk mengungkapkan k. Dalam kebanyakan skenario serangan, d merupakan plainteks atau cipherteks.

Langkah 2 #

Mengukur Konsumsi Daya. Langkah kedua dari serangan DPA adalah mengukur konsumsi daya dari perangkat kriptografi saat mengenkripsi atau mendekripsi D blok data yang berbeda. Untuk setiap enkripsi atau dekripsi yang berjalan ini, penyerang perlu mengetahui nilai data d yang terlibat dalam penghitungan hasil menengah yang dipilih dalam langkah 1. Kita menulis nilai-nilai data yang dikenal sebagai vektor , di mana di menandakan nilai data pada enkripsi atau dekripsi ke-i yang berjalan. Selama masing-masing proses yang berjalan ini, penyerang mencatat trace daya. Kita mengacu pada trace daya yang sesuai dengan blok data di sebagai  di mana T menunjukkan panjang trace.

Penyerang mengukur trace untuk tiap D blok data, dan karenanya, trace dapat ditulis sebagai matriks T dengan ukuran D x T. Hal ini penting bagi serangan DPA bahwa trace yang diukur benar dan selaras. Hal ini berarti bahwa nilai-nilai konsumsi daya dari tiap kolom dari matriks T harus disebabkan oleh operasi yang sama. Dalam rangka untuk mendapatkan trace daya yang selaras, sinyal pemicu osiloskop perlu dihasilkan dalam sebuah cara dimana osiloskop mencatat konsumsi daya persis sama dengan urutan operasi pada setiap enkripsi atau dekripsi yang berjalan. Pada kasus sebuah sinyal pemicu/trigger tidak tersedia, trace daya perlu diselaraskan menggunakan teknik tertentu.

Langkah 3 #

Menghitung Nilai Menengah Hipotetis (intermediate hypotetical values). Langkah berikutnya dari serangan DPA adalah menghitung nilai peralihan hipotetikal untuk setiap kemungkinan pilihan k. Kita menulis kemungkinan pilihan ini sebagai vektor , di mana K menunjukkan jumlah total kemungkinan pilihan k. Dalam konteks serangan DPA, kita biasanya merujuk pada unsur-unsur vektor ini sebagai hipotesis kunci. Diberikan vektor data d dan hipotesis kunci k, seorang penyerang dapat dengan mudah menghitung nilai menegah hipotetis f (d, k) untuk semua D enkripsi yang berjalan dan untuk semua

K hipotesis kunci. Perhitungan ini (7) dihasilkan dalam sebuah matriks V ukuran D x K. Bagian pertama dari Gambar 12 mengilustrasikan langkah perhitungan berikut.

Persamaan nilai hipotesis menengah

Kolom j dari matriks V berisi hasil menengah yang telah dikalkulasi berdasarkan hipotesis kunci . Jelas bahwa satu kolom V berisi nilai menengah tersebut yang telah dikalkulasi pada perangkat selama D enkripsi atau dekripsi yang berjalan. Ingat, k berisi semua pilihan kemungkinan untuk k. Oleh karena itu, nilai yang digunakan pada perangkat adalah sebuah unsur dari k. Kita mengacu pada indeks elemen ini sebagai ck. Oleh karena itu, kck mengacu pada kunci perangkat. Tujuan serangan DPA adalah untuk mengetahui kolom V yang telah diproses selama D enkripsi atau dekripsi yang berjalan. Segera setelah diketahui kolom V mana yang diproses pada perangkat target, kita juga akan segera mengetahui kck.

Langkah 4 #

Memetakan Nilai Menengah kepada Nilai Konsumsi Daya. Langkah berikutnya dari sebuah serangan DPA adalah untuk memetakan nilai menengah hipotetikal V ke sebuah matriks H dari nilai konsumsi daya hipotetikal, lihat . Untuk tujuan ini, penyerang menggunakan teknik simulasi. Menggunakan salah satu teknik ini, konsumsi daya perangkat untuk tiap nilai menengah hipotetikal vi,j disimulasikan dalam rangka memperoleh sebuah nilai konsumsi daya hipotetikal hi,j. Kualitas simulasi sangat bergantung pada pengetahuan penyerang tentang perangkat yang dianalisis. Semakin baik simulasi cocok dengan karakteristik konsumsi daya yang terjadi pada perangkat, semakin efektif serangan DPA. Model daya yang paling sering digunakan untuk memetakan V ke H adalah jarak Hamming (HD) dan bobot Hamming (HW). Namun, ada banyak cara lain juga untuk memetakan nilai data ke nilai konsumsi daya.

Blok Diagram yang Menggambarkan Serangan DPA Langkah 3 Sampai 5

Gambar 11. Blok Diagram yang Menggambarkan Serangan DPA Langkah 3 Sampai 5

Langkah 5 #

Membandingkan Nilai Konsumsi Daya Hipotetikal dengan Trace Daya. Setelah memetakan V ke H, langkah terakhir dari serangan DPA dapat dilakukan. Pada langkah ini, tiap kolom hi dari matriks H dibandingkan dengan tiap kolom tj dari matriks T. Ini berarti bahwa penyerang membandingkan nilai konsumsi daya hipotetikal dari hipotesis kunci dengan trace yang direkam/dicatat pada tiap posisi. Hasil dari perbandingan ini adalah sebuah matriks R dengan ukuran K x T, dimana tiap elemen ri,j mengandung hasil perbandingan antara kolom hi dan tj. Pembandingan ini berdasarkan algoritma tertentu.

Semua algoritma memiliki sifat bahwa semakin tinggi ri,j, semakin tinggi kecocokan kolom hi dan tj. Kunci dari perangkat yang diserang dapat diungkapkan berdasarkan pengamatan berikut. Trace daya berkorespondensi dengan konsumsi daya perangkat saat menjalankan algoritma kriptografi menggunakan input data yang berbeda, hasil nilai menengah yang telah dipilih pada tahap 1 merupakan bagian dari algoritma ini. Hasil menengah. Namun, penagkat harus mengkalkulasi nilai menengah vck selama algoritma berjalan. Rekaman/catatan daya bergantung pada nilai vck. Nilai konsumsi daya hipotetikal hck telah disimulasikan oleh penyerang berdasarkan nilai vck. Maka dari itu kolom hck dan tct sangat berhubungan. Faktanya, kedua kolom ini membawa kepada nilai tertinggi pada R, misalnya nilai tertinggi dari matriks R adalah nilai rck,ct. Semua nilai R lain adalah rendah karena kolom H dan T tidak kuat secara hubungan.

Membongkar Indeks Kunci #

Seorang penyerang dapat membongkar indeks kunci yang tepat ck dan momen ct yang dengan sederhana mencari nilai tertinggi pada matriks R. Indikasi nilai ini kemudian menjadi hasil serangan DPA. Penting untuk menggarisbawahi meskipun itu juga bisa terjadi dalam praktek yang semua nilai R yang kurang lebih sama. Dalam hal ini, penyerang memiliki trace daya yang tidak diukur secara cukup untuk memperkirakan hubungan antara kolom H dan T. biasanya tidak diukur daya yang cukup jejak untuk memperkirakan hubungan Antara kolom H dan T. Semakin banyak penyerang melakukan pengukuran, lebih banyak elemen yang ada pada kolom H dan T, dan semakin tepat penyerang dapat menentukan hubungan antar kolom. Ini juga menyiratkan bahwa lebih banyak pengukuran dilakukan, semakin kecil hubungan antar kolom dapat ditentukan.

Referensi #

  1. T. S. Messerges, E. A. Dabbish, and R. H. Sloan, “Examining Smart-Card Security Under The Threat of Power Analysis Attacks,” Computers, IEEE Transactions on, vol. 51, no. 5, pp. 541–552, 2002.
  2. F.-X. Standaert, “Introduction to Side-Channel Attacks,” pp. 27–42, 2010.
  3. S. Mangard, E. Oswald, and T. Popp, Power Analysis Attack: Revealing the Secrets of Smart Cards. 2007.
  4. S. Sun, Z. Yan, and J. Zambreno, “Experiments in attacking FPGA-based embedded systems using differential power analysis,” 2008 IEEE International Conference on Electro/Information Technology, pp. 7–12, 2008.
  5. R. Velegalati and P. S. V. V. K. Yalla, “Differential Power Analysis Attack on FPGA Implementation of AES,” pp. 1–5, 2008.
  6. H. Li, K. Wu, B. Peng, Y. Zhang, X. Zheng, and F. Yu, “Enhanced correlation power analysis attack on smart card,” Proceedings of the 9th International Conference for Young Computer Scientists, ICYCS 2008, pp. 2143–2148, 2008.
  7. H. Bar-El, “Introduction to Side Channel Attacks,” Secure Integrated Circuits and Systems, 2010.
  8. Messerges and T. S., “Power analysis attacks and countermeasures for cryptographic algorithms,” 2000.

Since you've made it this far, sharing this article on your favorite social media network would be highly appreciated 💖! For feedback, please ping me on Twitter.

Published