0Pricing
Cryptology Academy · Ders

Karşı Önlemler: Maskeleme, Körleme ve Sabit Zamanlı Kod

Maskeleme, nokta körleme ve sabit zamanlı karşılaştırmaları uygulayın.

Karşı Önlemler: Maskeleme, Körleme ve Sabit Zamanlı Kod, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cryptology Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cryptology Academy kursu toplamda 4 dersten oluşur.

Karşı Önlemlerin Üç Ailesi

Yan kanal karşı önlemleri üç aileye ayrılır: maskeleme (ara değerleri rastgeleleştirme), körleme (girişleri/çıkışları rastgeleleştirme) ve sabit zamanlı kod (veriye bağlı zamanlamayı ortadan kaldırma).

Boole Maskelemesi

Her ara değeri yeni bir rastgele maske r ile XOR'layın. Maskelenmiş x⊕r değerini işleyin ve sonunda maskeyi kaldırın. Böylece güç izi x'e değil, x⊕r'ye bağlı olur.

Çarpımlar için Aritmetik Maskeleme

Çarpımsal işlemler için çarpımsal maskeler kullanın: x yerine x·r mod p koyun. Maskeleme şeması, şifredeki her cebirsel işlemle uyumlu olmalıdır.

RSA Körlemesi

c şifreli metninin şifresini çözmeden önce rastgele bir r seçin ve c' = c·r^e mod n değerini hesaplayın. c''nin şifresini çözerek m·r mod n değerini elde edin, ardından r'yi bölerek ortadan kaldırın. Gerçek üs alma işlemi hiçbir zaman gerçek c değerini görmez.

ECC Nokta Körlemesi

Projektif koordinatları rastgeleleştirin: afin nokta (x,y) yerine rastgele λ için (λx : λy : λ) kullanın. Skaler çarpım rastgeleleştirilmiş koordinatlar üzerinde çalışır ve her seferinde güç izlerini değiştirir.

Sabit Zamanlı Programlama Kuralları

1. Gizli değerlere bağlı dallanma kullanmayın. 2. Gizli değerlere bağlı bellek indisleri kullanmayın. 3. Erken çıkış kullanmayın. 4. Kullanılabildiğinde platforma özgü sabit zamanlı işlemleri kullanın (ör. crypto_verify_32).

Python'da Sabit Zamanlı Karşılaştırma

Zamanlamaya duyarlı yollarda ham baytlar üzerinde hiçbir zaman == veya hmac.compare_digest kullanmayın. Şunu kullanın:

import hmac

def constant_time_compare(a: bytes, b: bytes) -> bool:
    """Uses HMAC double-HMAC trick for constant-time equality."""
    # hmac.compare_digest is constant-time in CPython
    return hmac.compare_digest(a, b)

# Example
secret = b"expected_mac_value"
received = b"attacker_provided__"
print(constant_time_compare(secret, received))  # False, but no timing leak

Derleyici ve Mimari Tuzakları

Derleyiciler sabit zamanlı kodu optimize ederek ortadan kaldırabilir. Uçucu olarak işaretlenmiş yazma işlemleri, bellek engelleri veya assembly içsel işlemleri kullanın. C derleyicilerinde -fno-delete-null-pointer-checks seçeneği vardır, ancak sabit zamanlı çalışma için evrensel bir güvence yoktur.

Karıştırma ve Kukla İşlemler

S kutusu aramalarının sırasını rastgele değiştirin veya sonucu etkilemeden güç tüketen kukla işlemler ekleyin. Bu, DPA için çıtayı yükseltir ancak sızıntıyı ortadan kaldırmaz.

Donanım Karşı Önlemleri

Özel kripto hızlandırıcıları (ARM TrustZone, STM32 donanım AES'i), maskelemeyi silisyum üzerinde uygular. ASIC uygulamaları, fiziksel yoklamayı algılamak için metal yalıtım ve etkin ağ ekler.

Bilgi Kontrolü

Üs alma işleminden önce şifreli metni rastgeleleştirerek RSA zamanlama saldırılarını hangi karşı önlem engeller?

Ders Özeti

Maskeleme ara değerleri rastgeleleştirir; körleme RSA/ECC girişlerini rastgeleleştirir; sabit zamanlı kod zamanlamaya bağlı dallanmaları ortadan kaldırır. Derinlemesine savunma, üçünü birlikte kullanır. Donanım hızlandırıcıları, en güçlü güvenceleri sağlamak için bunları silisyum üzerinde uygular.

Sıkça Sorulan Sorular

“Karşı Önlemler: Maskeleme, Körleme ve Sabit Zamanlı Kod” dersi ücretsiz mi?

Evet — “Karşı Önlemler: Maskeleme, Körleme ve Sabit Zamanlı Kod” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cryptology Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cryptology Academy kursu toplamda 4 dersten oluşur.

“Karşı Önlemler: Maskeleme, Körleme ve Sabit Zamanlı Kod” dersinde ne öğreneceğim?

Maskeleme, nokta körleme ve sabit zamanlı karşılaştırmaları uygulayın. Cryptology Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cryptology Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cryptology Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Karşı Önlemler: Maskeleme, Körleme ve Sabit Zamanlı Kod” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cryptology Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cryptology Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Zamanlama Saldırıları: Anahtarları Çalışma Süresinden Çıkarma
  2. Güç Analizi: SPA ve DPA
  3. Elektromanyetik ve Akustik Yan Kanallar
  4. Karşı Önlemler: Maskeleme, Körleme ve Sabit Zamanlı Kod
← Cryptology Academy Sayfasına Dön