Skip to content

Power Side-Channel Analysis of the CVA6 RISC-V Core at RTL Level (VeriSide)

Açık kaynaklı CVA6 RISC-V core'unda çalışan bir software AES implementasyonunun, VeriSide profiling framework'ü kullanılarak daha RTL simülasyon aşamasında tespit edilebilen power side channel'lar üzerinden key material sızdırdığını gösterir.

Mechanism

Correlation Power Analysis (CPA), bir CPU'nun anlık güç çekiminin işlediği veriyle korelasyonlu olduğu gerçeğini suistimal eder: register'larda, bus'larda ve datapath sinyallerinde set edilmiş bit sayısı (Hamming weight) veya iki state arasında toggle eden bit sayısı (Hamming distance). Bir secret key bir ara hesaplamaya katıldığında (ör. bir AES S-box çıktısı), secret bu toggle sayılarını ve dolayısıyla power trace'ini biaslı hale getirir.

Note

Kırılan sınır, general-purpose bir core üzerinde çalışan software'in power-side-channel'a karşı güvenli olduğu varsayımıdır. CVA6 core'u leakage'a dirençli bir crypto unit olarak tasarlanmadı, dolayısıyla üzerinde çalışan bir software AES rutini paylaşılan datapath sinyallerinde data-bağımlı switching aktivitesi üretir. Bu çalışmanın kavramsal katkısı, leakage'ın nerede gözlemlendiğidir: yazarlar bir probe ile imal edilmiş bir çipi ölçmek yerine, silicon var olmadan önce leakage'ı simülasyonda RTL seviyesinde değerlendirir. Bu, aynı CPA key-recovery'nin core'un bir modeline karşı başarılı olmasını sağlar ve sızıntının board layout'unun bir artefaktı değil, microarchitecture/datapath'e içkin olduğunu kanıtlar.

Walkthrough

Public RESCUER-workshop / arXiv yazısını takip eden üst düzey yeniden üretim:

  1. RTL power modelini kur. VeriSide, CVA6'nın bir RTL simülasyonunu enstrümante ederek bir power proxy'sini doğrudan sinyal aktivitesinden çıkarır — her cycle örneklenen seçili sinyallerin Hamming weight veya Hamming distance'ı olarak temsil edilir — "simülasyondan hemen sonra, waveform dosyalarının ek yükü olmadan."
  2. Simüle traces topla. software AES encryption'ını CVA6'da birçok plaintext üzerinde çalıştır, RTL aktivitesinden encryption başına bir sentetik power trace kaydet.

    for each plaintext p in dataset:
        run_rtl_sim(cva6, aes_sw, p)
        trace[p] = hamming_activity(monitored_signals)   # power proxy
    
  3. CPA uygula. Bir leakage noktası için (ör. ilk round S-box çıktısı), her aday key byte'ı hipotez et, tahmin edilen Hamming weight/distance'ı hesapla ve tahmini tüm key tahminleri boyunca trace kümesiyle korele et.

    for kbyte_guess in 0..255:
        pred = hamming_model(sbox(p ^ kbyte_guess))
        corr[kbyte_guess] = pearson(pred, trace[:, t_leak])
    recovered = argmax(corr)     # correct key byte peaks in correlation
    
  4. Key'i recover et. Doğru key byte en yüksek korelasyon tepesini üretir; byte başına tekrarlamak tam AES anahtarını verir. Paper, CPA'nın "önemli leakage açığa çıkardığını, key recovery'yi mümkün kıldığını" raporlar.

RTL-seviyesi değerlendirme savunma açısından neden önemli

Sızıntıyı simülasyonda yakalamak, bir tasarımcının fabrikasyondan sonra düzeltmelerin çok daha pahalı olduğu bir aşamada exploit edilebilir leakage'ı keşfetmek yerine, countermeasure'ları (masking, balanced logic, sertleştirilmiş crypto IP) geliştirme sırasında ekleyebilmesi anlamına gelir.

Detection

  • Burada "detection" yüzeyi pre-silicon leakage değerlendirmesidir. RTL-seviyesi CPA / TVLA tarzı değerlendirme (VeriSide'ın sağladığı gibi) data-bağımlı switching'i tape-out'tan önce işaretler.
  • Deploy edilmiş sistemler için, fiziksel CPA tespiti software'den pratik değildir; savunmacılar bunun yerine general-purpose bir core üzerindeki korunmasız her software crypto'yu varsayım gereği power-sızdıran olarak ele alır ve tehdit modelini doğrular (fiziksel/power-probe erişimi mümkün mü?).
  • Trace-sayısı anomalileri: power enstrümantasyonu olan ortamlarda, attacker-etkili input'lar altında çok sayıda özdeş crypto işlemi klasik CPA önkoşuludur.

Mitigation

  • Side-channel'a sertleştirilmiş crypto kullan. Naif software AES'i masked / constant-power implementasyonlarla değiştir, ya da leakage'a dirençli bir crypto accelerator'a offload et.
  • Algoritmik masking & hiding. Ara değerlerin Boolean masking'i ve activity-balancing, CPA'nın dayandığı korelasyonu azaltır.
  • Tasarım-zamanı değerlendirme. RTL power-leakage analizini (bu paper'ın savunduğu iş akışı) SoC verification akışına entegre et ki RISC-V tasarımları nicelendirilmiş, mitige edilmiş leakage ile ship olsun.
  • Fiziksel-erişim kontrolleri. Power probing fiziksel yakınlık gerektirdiği yerde, tamper resistance ve fiziksel erişimi kısıtlamak çıtayı yükseltir.

References