Differential Power Analysis¶
Anlık power-consumption trace'lerini key-dependent intermediate değerleriyle istatistiksel olarak korele ederek secret key'leri çıkarır (Kocher, Jaffe, Jun, CRYPTO 1999).
Mechanism¶
Bir cihazın anlık power draw'u işlediği data ve operation'lara bağlıdır — CMOS switching, manipüle edilen bit'lerin Hamming weight/distance'ıyla orantılıdır. Simple Power Analysis (SPA), operation sequence'ını inceleyerek (örn. RSA'da square-vs-multiply) key'leri doğrudan bir veya birkaç trace'ten okur. DPA çok daha güçlüdür.
Note
DPA, farklı input'lar üzerinde birçok trace toplar ve tahmin edilen bir intermediate'in tek bir hedef bit'i (örn. bir DES S-box çıktısı) üzerinde bir difference-of-means testi uygular. Doğru key tahmini için selection function trace'leri doğru sıralar ve differential trace'te bir spike belirir; yanlış tahminler noise'a ortalanır. Bu, single-trace leakage'ı gizleyecek noise'u etkisiz kılar ve DES smartcard'larından key recovery'yi pratik hâle getirerek modern side-channel alanını kurdu.
Walkthrough¶
- Instrument. Supply'a bir shunt resistor / current probe ekle; encryption başlangıcına senkronize power trace'leri yakala.
- Collect. Random bilinen plaintext'lerle
Ntrace kaydet. - Selection bit. Plaintext artı bir 6-bit subkey tahmininin function'ı olarak
D= bir intermediate'in bir bit'i (örn. DES round-1 S-box çıktısı) seç. - Partition. 64 tahminin her biri için trace'leri
D = 0/D = 1ile ayır vemean(D=1) − mean(D=0)hesapla. - Select. En büyük differential peak'e sahip tahmin doğru subkey'dir; S-box başına tekrarla.
Modern pratik, single-bit difference-of-means yerine sık sık CPA'yı (Hamming-weight modeli) kullanır.
Mitigation¶
Masking / secret-sharing, hiding (constant-power/dual-rail logic, shuffling), noise injection, leakage-resilient tasarımlar ve supply decoupling.