Correlation Power Analysis¶
Ölçülen power trace'lerini her key hypothesis için Hamming-weight/distance tahminleriyle korele ederek bir cryptographic key'i geri çıkarır (Brier, Clavier, Olivier, CHES 2004).
Mechanism¶
Bir cihazın anlık power consumption'ı işlediği data'ya bağlıdır. CPA bu leakage'ı lineer olarak W ≈ a·H(D ⊕ R) + b şeklinde modeller; burada H, bir intermediate D'nin bir reference state R'ye olan Hamming distance'ıdır (Hamming-weight modeli R = 0 özel durumudur).
Note
Seçilen bir intermediate için (örn. plaintext ⊕ key'in AES SBox çıktısı), key'in sadece küçük bir alt-parçası bilinmez — byte başına 256 tahmin. CPA, tahmin edilen leakage (her key hypothesis için trace başına bir değer) ile birçok trace boyunca ölçülen power örnekleri arasındaki Pearson correlation coefficient'ini hesaplar. Doğru hypothesis keskin bir correlation peak'i üretir, çünkü tahmini gerçek data-bağımlı power'la eşleşir; yanlış tahminler sıfıra yakın korele olur. Bu, tek bir bit yerine tüm lineer ilişkiyi kullandığı için DPA'nın difference-of-means'inden daha sağlam ve istatistiksel olarak daha sağlam temellidir.
Walkthrough¶
- Collect. Cihaz
Nbilinen plaintext'i şifrelerkenNpower trace kaydet; bunları zamanda hizala. - Bir intermediate seç. İlk SBox'tan sonra: plaintext byte'ı
p_ive key-byte tahminikiçinv = SBox(p_i ⊕ k). - Predict. Her
k ∈ {0..255}ve traceiiçinL[i,k] = HW(SBox(p_i ⊕ k))hesapla. - Correlate. Her time sample
tiçin, tüm trace'ler boyuncaL[·,k]sütunu iletanındaki ölçülen power arasında Pearsonr'yi hesapla. - Select. Maksimum
|r|'ye sahip(k, t)key byte'ını ve leakage anını açığa çıkarır. Byte başına tekrarla.
Korumasız AES üzerinde tipik olarak birkaç yüz ila birkaç bin trace (scope veya ChipWhisperer tarzı bir rig) yeterli olur.
Mitigation¶
Masking (HW'nin key'den decorrelate olması için intermediate'leri randomize etme), hiding (shuffling, dummy operation'lar, constant-power/dual-rail logic) ve amplitude/temporal noise injection.