Encryption at Rest
- Türkçe karşılığı
- bekleyen veri şifrelemesi
- Okunuşu
- inkripşın et rest
Günlük kullanımda çoğunlukla İngilizcesi tercih edilir.
Kısaca
Encryption at rest, diskler, veritabanları ve yedekler gibi depolanan verileri şifreli tutar; çalınan bir disk ya da kopyalanan bir dosya anahtarsız okunamaz.
Encryption at rest (beklemedeki veri şifreleme) nedir?
Beklemedeki veri (data at rest), depolamada duran veridir: diskteki dosyalar, veritabanındaki satırlar, bulut depolamadaki nesneler, yedekler ve anlık görüntüler (snapshot). Encryption at rest bu veriyi orada, genellikle AES ile şifreli tutar ve yalnızca yetkili bir program okuduğunda çözer. Kaybolan bir dizüstü bilgisayar, çalınan ya da atılan bir disk, sızdırılan bir yedek veya bir veri merkezine fiziksel erişimi olan biri gibi depolamanın kendisine yönelik tehditlere karşı korur.
Birkaç düzeyde uygulanabilir. BitLocker, FileVault ya da LUKS gibi tam disk şifreleme bütün bir cihazı korur; bulut servisleri de diskleri ve nesneleri şifreler, örneğin Amazon S3 2023'ten beri bütün yeni nesneleri varsayılan olarak şifreliyor. Veritabanları, sorguları değiştirmeden veri dosyalarını şifreleyen saydam veri şifreleme (transparent data encryption, TDE) sunar; uygulama düzeyinde şifreleme ise kimlik numaraları gibi hassas alanları daha veritabanına ulaşmadan şifreler.
Zor olan kısım anahtarları yönetmektir. Çoğu sistem zarf şifreleme (envelope encryption) kullanır: her veri parçası kendi veri anahtarıyla şifrelenir, o anahtar da bir anahtar yönetim servisinden (KMS) ya da donanım güvenlik modülünden (HSM) hiç çıkmayan bir ana anahtarla şifrelenir, yani sarmalanır. Korunan tek bir anahtar dolabında duran ofis anahtarları gibi, veri anahtarları da ana anahtar olmadan işe yaramaz; ana anahtarın her kullanımı kaydedilir ve onu yok etmek veriyi kalıcı olarak okunamaz hâle getirir. PCI DSS gibi standartlar saklanan kart numaralarının okunamaz olmasını şart koşar ve encryption at rest bunu karşılamanın yaygın bir yoludur.
Encryption at rest sıklıkla aktarım hâlindeki şifrelemeyle (encryption in transit) karıştırılır. TLS veriyi ağ üzerinde taşınırken korur, encryption at rest ise depolanırken; arada uygulama bellekte çözülmüş veriyle çalışır, bu yüzden sistemlerin ikisine de ihtiyacı vardır. Disk ve veritabanı şifrelemesi, veritabanı parolasını çalan ya da SQL injection istismar eden bir saldırganı da durdurmaz; çünkü veritabanı kabul ettiği her sorgu için veriyi çözer. Uygulama düzeyinde ya da uçtan uca şifreleme bu açığı daraltır.
Önemli noktalar
- Encryption at rest, disklerde, veritabanlarında ve yedeklerde saklanan veriyi korur.
- Çalınan disklere, sızdırılan yedeklere ve fiziksel erişime karşı savunur.
- Disk, depolama, veritabanı ya da uygulama düzeyinde çalışabilir.
- Zarf şifreleme ana anahtarları bir KMS'te ya da HSM'de tutar.
- Aktarım hâlindeki şifrelemeyi tamamlar ve çalışan uygulama üzerinden gelen saldırıları durdurmaz.
Örnek
import os, boto3
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
kms = boto3.client("kms")
# KMS returns a fresh data key twice: in plaintext and wrapped by the master key
key = kms.generate_data_key(KeyId="alias/app-data", KeySpec="AES_256")
nonce = os.urandom(12)
ciphertext = AESGCM(key["Plaintext"]).encrypt(nonce, b"passport U1234567", None)
# Store only the wrapped key next to the data; the plaintext key is discarded
record = {"data": ciphertext, "nonce": nonce, "wrapped_key": key["CiphertextBlob"]}
# Reading it later: KMS unwraps the key, checks permissions and logs the call
data_key = kms.decrypt(CiphertextBlob=record["wrapped_key"])["Plaintext"]
print(AESGCM(data_key).decrypt(record["nonce"], record["data"], None))Sık sorulan sorular
Encryption at rest ile aktarım hâlindeki şifreleme arasındaki fark nedir?
Genellikle TLS ile yapılan aktarım hâlindeki şifreleme, veriyi sistemler arasında taşınırken korur. Encryption at rest ise veriyi disklerde, veritabanlarında ya da yedeklerde saklanırken korur. Farklı anları kapsarlar; bu yüzden hassas sistemler ikisini de kullanır.
Encryption at rest saldırganlara karşı korur mu?
Yalnızca bazı saldırılara karşı. Çalınan diskleri, yedekleri ve anlık görüntüleri korur; ama uygulama üzerinden ya da geçerli veritabanı kimlik bilgileriyle içeri giren bir saldırgan veriyi zaten çözülmüş hâlde görür. Bu yüzden erişim kontrolü, en az ayrıcalık ve güvenli kod yine gereklidir.
Buluttaki veriler varsayılan olarak şifreli mi saklanır?
Büyük bulut platformlarında evet: Amazon S3, Google Cloud Storage ve Azure Storage gibi servisler saklanan veriyi sağlayıcının yönettiği anahtarlarla otomatik olarak şifreler. Bir KMS'teki müşteri tarafından yönetilen anahtarlar, anahtarları kimin kullanabileceği üzerinde ek kontrol ve her kullanımın kaydını sağlar.
İlgili sayfalar
- ŞifrelemeGüvenlik, s. 49Şifreleme, veriyi bir anahtarla karıştırarak yalnızca doğru anahtara sahip olanın onu özgün ve okunabilir hâline geri çevirebilmesini sağlama işlemidir.
- TLSGüvenlik, s. 51TLS, ağda gönderilen veriyi şifreleyen ve sunucunun kimliğini doğrulayan, HTTPS, e-posta ve birçok başka bağlantıyı güvenceye alan kriptografik protokoldür.
- Simetrik ŞifrelemeGüvenlik, s. 43Simetrik şifreleme, şifrelemek ve çözmek için aynı gizli anahtarı kullanır; hızlı olduğundan saklanan ve aktarılan verinin çoğunu, genellikle AES ile korur.
- Secrets ManagementGüvenlik, s. 40Secrets management, parola, API anahtarı ve token gibi hassas kimlik bilgilerini güvenle saklama, dağıtma, döndürme ve denetleme pratiğidir.
- Uçtan Uca ŞifrelemeGüvenlik, s. 52Uçtan uca şifreleme (E2EE), mesajları gönderenin cihazında şifreler; yalnızca hedeflenen alıcılar çözebilir, mesajı taşıyan servis bile çözemez.
- VeritabanıVeritabanları, s. 40Veritabanı, bilgisayarda düzenli biçimde saklanan ve uygulamaların verimlice kaydedip arayıp güncelleyebildiği, bir yazılımla yönetilen veri topluluğudur.
Kaynaklar
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin