Model bobot Hamming lebih sederhana dibanding model jarak Hamming. Model ini sering diaplikasikan jika penyerang tidak memiliki informasi mengenai netlist sama sekali, atau jika penyerang tidak mengetahui nilai data konsekutif untuk beberapa bagian netlist yang diketahui. Yang terakhir bisa terjadi jika penyerang hanya tahu satu nilai data yang ditransfer melalui bus. Untuk menerapkan model jarak Hamming, perlu untuk diketahui nilai bus baik sebelum maupun sesudah. Jika tak satu pun dari nilai-nilai ini diketahui, model jarak Hamming tidak dapat digunakan untuk mensimulasikan konsumsi daya dari bus.
Asumsi #
Dalam kasus model bobot Hamming, penyerang berasumsi bahwa konsumsi daya seimbang dengan jumlah bit yang diset dalam nilai data yang diproses. Nilai data yang diproses sebelum dan sesudah nilai ini diabaikan. Oleh karena itu, model ini pada umumnya sangat tidak cocok untuk menggambarkan konsumsi daya dari rangkaian CMOS. Konsumsi daya dari rangkaian CMOS lebih tergantung pada fakta apakah terjadi transisi di rangakaian atau tidak, dan bukan pada nilai yang diproses.
Praktik #
Namun dalam praktiknya, bobot Hamming dari sebuah nilai data biasanya sama sekali tidak berhubungan dengan konsumsi daya yang disebabkan oleh pengolahan nilai ini. Hal ini ditunjukkan dengan melihat beberapa skenario konkrit. Untuk semua skenario ini, kita berasumsi bahwa beberapa bagian dari proses pertama perangkat yang diserang, kemudian v1, dan akhirnya v2. Dalam semua skenario, tujuannya adalah untuk mensimulasikan konsumsi daya yang disebabkan oleh pemrosesan v1 tanpa mengetahui v0 atau v2⋅v1 terlibat dalam dua transisi, diantaranya v0→v1 dan v1→v2. Skenario berikut berfokus hanya pada transisi v0→v1. Semua pertimbangan yang dibuat untuk transisi ini juga berlaku untuk transisi v1→v2.
Skenario Pertama #
Skenario pertama kita perhatikan adalah bahwa semua bit v0 sama setiap kali transisi v0→v1 terjadi. Sebuah contoh skenarionya adalah bus n-bit yang selalu memproses nilai v0=0 (misal n bit diset 0) sebelum memproses nilai v1. Dalam kasus ini, model bobot Hamming ekuivalen dengan model jarak Hamming, contohnya
bobot Hamming (v0 ⊕ v1) = n - bobot Hamming (v1)
Untuk serangan analisis daya tidak masalah apakat konsumsi daya yang disimulasikan secara langsung atau secara invers proporsional dengan konsumsi daya aktual. Hal tersebut penting hanya bahwa hal tersebut proporsional. Oleh karena itu model jarak Hamming dan bobot Hamming setara dalam hal serangan analisis daya, jika semua bit v0 diset 0 atau menjadi 1 sebelum transisi v0→v1 terjadi.
Skenario Kedua #
Skenario kedua adalah bahwa semua bit v0 konstan, tapi tidak diset ke nilai yang sama. Hal ini berarti v0 merupakan sebuah nilai konstan yang tidak diketahui penyerang. Dalam skenario ini, kita tidak dapat membuat pengamatan sebagus pengamatan sebelumnya, kecuali kita fokus hanya pada satu bit transisi v0→v1. Jika kita hanya mempertimbangkan 1 bit, model jarak Hamming dan bobot Hamming ekuivalen dalam hal serangan analisis daya dengan argumen yang sama seperti dalam skenario sebelumnya. Konsumsi daya yang disebabkan oleh sebuah bit v1 karenanya langsung atau terbalik proporsional dengan nilai bit ini jika v0 selalu diset ke nilai yang sama sebelum transisi v0→v1 terjadi. Dalam hal tidak hanya satu tapi semua bit dari v0 dan v1 dipertimbangkan, model bobot Hamming biasanya menggambarkan konsumsi daya dari transisi v0→v1 tidak sangat baik. Namun, jelas semakin banyak bit v0 diset ke nilai yang sama, semakin terkait bobot Hamming v1 dengan jumlah transisi yang terjadi, dengan kata lain simulasi daya penyerang semakin baik.
Skenario Terakhir #
Skenario terakhir adalah skenario terburuk bagi penyerang menggunakan model bobot Hamming. Dalam skenario ini, bit v0 tidak konstan, tapi acak untuk setiap simulasi yang dijalankan penyerang. Jelas bahwa bobot Hamming (v1) independen dari bobot Hamming (v0 ⊕ v1) jika v0 merupakan sebuah variabel acak yang terdistribusi rata dan independen dari v1. Output dari simulasi berdasarkan model bobot Hamming dan jarak Hamming oleh karenanya tidak terkait dalam skenario ini. Perhatikan bahwa hal ini tidak berarti bahwa simulasi daya berdasarkan model bobot Hamming tidak berguna. Konsumsi daya perangkat kriptografi hanya kira-kira sebanding dengan jumlah transisi yang terjadi dalam perangkat tersebut. Model jarak Hamming antara lain mengasumsikan bahwa transisi 0→1 dan 1→0 menuju kepada konsumsi daya yang sama. Namun, asumsi ini hanya bertahan pada tingkatan tertentu. Dalam praktiknya, transisi 0→1 dan 1→0 tidak menyebabkan konsumsi daya yang persis sama.
Contoh #
Sebagai contoh, konsumsi daya transisi 0→1 bisa lebih besar dari konsumsi daya transisi 1→0. Dalam kasus ini, konsumsi daya berada pada nilai rata-rata yang lebih tinggi dengan sebuah bobot Hamming yang tinggi dibanding nilai dengan sebuah bobot Hamming yang rendah. Perbedaan antara transisi 0→1 dan 1→0 ada karena jaringan pull-up dan jaringan pull-down sel CMOS memiliki sedikit perbedaan karakteristik konsumsi daya. Selanjutnya, kapasitansi parasitis antara output dari sebuah sel dan VDD seperti kapasitansi parasitis antara output dari sebuah sel dan GND pada umumnya tidak sama. Namun perbedaannya biasanya kecil, dan karenanya model jarak Hamming jauh lebih sesuai dibanding model bobot Hamming dalam skenario ini. Model bobot Hamming hanya mengandalkan perbedaan kecil.
Pada praktiknya, ada lebih banyak sekenario dibandingkan skenario-skenario yang dibahas sebelumnya. Secara khusus, ada skenario dimana v0 dan v1 bergantung satu sama lain, dan ada skenario dimana bit v0 tidak terdistribusi merata. Karena fakta bahwa transisi 0→1 dan 1→0 selalu menyebabkan sedikit perbedaan konsumsi daya, bobot Hamming (v1) secara tipikal, setidaknya, entah bagaimana terkait dengan konsumsi daya yang aktual/sebenarnya. Hubungan ini tentu saja dapat menjadi sangat lemah. Oleh karena itu penyerang menggunakan model jarak Hamming saat memungkinkan.
Referensi #
- 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.
- F.-X. Standaert, “Introduction to Side-Channel Attacks,” pp. 27–42, 2010.
- S. Mangard, E. Oswald, and T. Popp, Power Analysis Attack: Revealing the Secrets of Smart Cards. 2007.
- 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.
- R. Velegalati and P. S. V. V. K. Yalla, “Differential Power Analysis Attack on FPGA Implementation of AES,” pp. 1–5, 2008.
- 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.
- H. Bar-El, “Introduction to Side Channel Attacks,” Secure Integrated Circuits and Systems, 2010.
- 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