Proton ana sayfası

Şifreleme > Şifreleme türleri > AES şifrelemesi

AES şifrelemesi nedir?

Kriptografide AES, ABD Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) tarafından onaylanmış hızlı, verimli ve güvenli bir şifreleme algoritması olan Gelişmiş Şifreleme Standardı (Advanced Encryption Standard) anlamına gelir. Verileri hem şifrelemek hem de şifresini çözmek için aynı anahtarı kullanan simetrik anahtarlı bir şifreleme yöntemidir. Bu işlem nispeten hızlıdır ve durağan haldeki büyük miktarda veriyi şifrelemek için idealdir.

Gücü ve güvenilirliği nedeniyle AES; kablosuz ağ güvenliği, veri ve disk şifreleme, çevrim içi ödeme sistemleri, bulut depolama alanı, parola yönetimi ve hatta devlet ile askeri uygulamalarda kullanılan en popüler ve yaygın şifreleme türlerinden biridir. ABD hükümetinin gizli bilgilerini güvence altına almak için AES şifrelemesi kullanması, bu yöntemin popülerliğine katkıda bulunmuştur.

AES algoritması güvenli midir?

Evet. 2000 yılında, son derece kapsamlı(yeni pencere) ve açık bir seçim sürecinin ardından NIST, AES'in (o zamana kadar Vincent Rijmen ve Joan Daemen tarafından geliştirilen Rijndael algoritması olarak biliniyordu) hassas devlet bilgilerini gelecek yüzyıla kadar koruma kapasitesine sahip, önerilen(yeni pencere) "gizli sınıfına girmeyen, kamuya açıklanmış şifreleme algoritması" olarak DES'in yerini alacağını duyurdu.

NIST'e göre, tüm AES algoritması anahtar uzunlukları, "Gizli" (Secret) seviyesine kadar olan sınıflandırılmış bilgileri korumak için "yeterli" kabul edilmektedir. "Çok Gizli" (Top Secret) bilgiler için AES-192 veya AES-256 gereklidir.

Kaba kuvvet saldırıları

Herhangi bir şifreleme algoritmasına yapılabilecek en temel saldırı biçimi, doğru anahtar bulunana kadar olası her anahtar kombinasyonunu denemeyi içeren bir kaba kuvvet saldırısıdır

Frontier(yeni pencere), kamuoyunca bilinen dünyanın en güçlü süper bilgisayarıdır. Tüm gücünü AES-128'e kaba kuvvet uygulamaya adasaydı bile, AES-128 için tüm olası kombinasyonları tüketmek yaklaşık 10-12 trilyon yıl sürerdi. Bu süre, evrenin yaşından çok daha uzundur. Bu nedenle, düşük bit boyutlarında bile AES, geleneksel bilgisayarların kaba kuvvet saldırılarına karşı son derece dirençlidir. 

AES-256'ya kaba kuvvet saldırısı uygulamak, AES-128'e kıyasla 340 milyar milyar milyar milyar (2¹²⁸) kat daha zordur.

Grover algoritması(yeni pencere), kuantum tehditlerine karşı simetrik anahtarların güvenliğini teorik olarak yarıya indirse de özellikle 256 bitlik bir anahtar kullanıldığında bu anahtarlar kuantuma karşı hâlâ nispeten dirençlidir.

Anahtar saldırıları

Yıllar içinde, kriptograflar tarafından AES anahtarlarına yönelik çeşitli teorik saldırılar yayımlanmıştır; ancak bunların tümü ya pratikte uygulanamaz ya da yalnızca azaltılmış tur sayısı kullanan AES uygulamalarında etkilidir (aşağıya bakın). 

En başarılı girişim, 2011 yılında yayımlanan ve AES'e kaba kuvvet uygulamak için gereken süreyi dörtte bire indirebilen teorik biclique saldırısı(yeni pencere) olmuştur. Ancak yine de, mevcut veya öngörülebilir herhangi bir bilgisayar donanımında AES'e kaba kuvvet uygulamak milyarlarca yıl gerektirirdi. 

Bilindiği kadarıyla, düzgün şekilde uygulanmış AES-128 veya üstüne karşı pratik bir anahtar saldırısı yoktur. 

Yan kanal saldırıları

Bir yan kanal saldırısı, şifreleme hesaplamalarını yapan bilgisayardan ipuçları arayarak başarılı bir kaba kuvvet saldırısı için gereken kombinasyon sayısını azaltmaya çalışır. Şunlar incelenerek ipuçları elde edilebilir:

  • Zamanlama - bir bilgisayarın bir işlemi gerçekleştirmesinin ne kadar sürdüğü
  • Elektromanyetik sızıntılar
  • Sesli ipuçları
  • Görsel ipuçları (yüksek çözünürlüklü bir kamera kullanılarak elde edilir).

Özellikle önbellek zamanlama saldırılarının, AES'i başarıyla kırmada oldukça etkili olduğu kanıtlanmıştır. Bunun en dikkat çekici örneğinde, araştırmacılar 2016 yılında “yalnızca yaklaşık 6 - 7 blok düz metin veya şifreli metin ile (teorik olarak tek bir blok bile yeterli olurdu)” bir AES-128 anahtarını kurtarabildi(yeni pencere).

Bununla birlikte, yan kanal saldırıları tehdidini azaltmak için bir dizi önlem alınabilir:

  • Düzgün şekilde uygulanmış AES, verilerin sızdırılabileceği yolları önleyebilir.
  • AES komut kümesini entegre eden donanım, AES'in yan kanal saldırı yüzeyini daha da azaltır.
  • Rastgeleleştirme teknikleri, AES tarafından korunan veriler ile bir yan kanal saldırısı kullanılarak toplanabilecek sızdırılmış veriler arasındaki ilişkiyi bozmak için kullanılabilir. 

Birçok durumda yan kanal saldırıları, verilerin şifresini çözmekte olduğu sırada saldırganın aygıta fiziksel olarak erişmesini veya aygıta yakın olmasını gerektirir; ancak özellikle zamanlama saldırılarında, bir aygıta kötü amaçlı yazılım yüklenmişse uzaktan saldırılar da mümkündür.

AES nasıl çalışır

AES, verileri 128 bitlik bloklar hâlinde 128 bit, 192 bit veya 256 bit anahtarlar kullanarak şifreleyen ve şifreyi çözen bir blok şifresidir. Daha önce belirtildiği gibi, verileri şifrelemek ve şifreyi çözmek için aynı anahtar kullanılır. 128 bitlik anahtar kullanan AES, genellikle AES-128 olarak adlandırılır; aynı durum AES-192 ve AES-256 için de geçerlidir.

Veriler, her biri bir dizi matematiksel işlemden oluşan birden fazla tur kullanılarak şifrelenir. 

Süreç, orijinal gizli anahtardan bir dizi yeni tur anahtarı türetmek için Rijndael'in anahtar planlama algoritmasının kullanılmasıyla başlar. Bu işlem, anahtar genişletme olarak bilinir.

Ardından her tur, aşağıdaki işlemlerden bir veya daha fazından (veya bunların bir kombinasyonundan) oluşur:

1. Tur Anahtarı Ekleme (Add Round Key): Şifrelenecek verileri (şifreli metin) her bir tur anahtarıyla birleştirmek için bir XOR işlemi(yeni pencere) gerçekleştirilir.

2. Sub Bytes: Verileri daha da karıştırmak için bir yerine koyma tablosu kullanılır. İlke olarak bunu, çocukken kullandığınız basit yerine koyma şifreleri gibi düşünün; burada bir iletideki her harfi alfabede belirli sayıda sonrasında gelen başka bir harfle değiştirirdiniz.

3. Shift Rows: Her 128 bitlik veri bloğu, 16 baytlık 4x4'lük bir bloktan oluşur. Bu işlem, bir blok satırındaki her baytı belirli bir kaydırmayla sola kaydırır.

4. Sütunları Karıştırma (Mix Columns): Bloktaki her bir sütun üzerinde ek bir ters çevrilebilir doğrusal dönüşüm gerçekleştirilir.

Bu dönüşüm dizisi bir turu oluşturur; ardından bu tur, anahtar boyutuna bağlı olarak belirli sayıda kez veriler üzerinde tekrarlanır:

  • AES-128 — 10 tur
  • AES-192 — 12 tur
  • AES 256 — 14 tur

Verilerin şifresini çözmek için, bunları şifrelemek amacıyla kullanılan tüm adımlar ters sırada uygulanır. Bu, süreci her ters tur anahtarını kullanarak geri çevirmek için özgün gizli anahtarı gerektirir.

Neden AES-256, AES-192 veya AES-128'e tercih edilir?

Mevcut ve öngörülebilir teknoloji göz önüne alındığında, AES-128'e kaba kuvvet uygulamak evrenin yaşından daha uzun sürerdi. Efsanevi kriptograf Bruce Schneier, daha güçlü bir anahtar planlamasına (orijinal gizli anahtardan tüm tur anahtarlarını hesaplayan algoritma) sahip olması sayesinde AES-128'in AES-256'dan daha güçlü olabileceğini bile savunmuştur(yeni pencere).

Yine de AES-256, simetrik anahtarlı şifrelemede fiili altın standart haline gelmiştir. Daha büyük anahtar boyutunun ek bir güvenlik marjına işaret etmesi ve böylece algoritmayı önemli ölçüde zayıflatacak bir yol bulunsa bile şifrelenmiş verilerin güvende kalmasını sağlaması nedeniyle genellikle (biraz tartışmalı olsa da) daha güçlü bir seçenek olarak görülmektedir. Kuantum sonrası direnç ihtiyacı daha acil hale geldikçe bu argüman daha da güçlenmiştir. 

AES-CBC ve AES-GCM karşılaştırması

Yakın zamana kadar AES, genellikle şifre bloğu zincirleme (CBC) kipinde kullanılıyordu; bu kipte düz metnin her bloğu, şifrelenmeden önce önceki şifreli metin bloğuyla XOR işlemine tabi tutulur. CBC kipinde kullanıldığında, verileri doğrulamak için HMAC-SHA256 gibi bir HMAC(yeni pencere) karma algoritması gerekir.

Bununla birlikte, AES'in şifrelemenin sayaç kipini(yeni pencere) kullanan Galois/sayaç (GCM) kipinde kullanılması giderek yaygınlaşmaktadır. Temel avantajı, verileri harici bir algoritmaya ihtiyaç duymadan doğrulamak için Galois alanını(yeni pencere) kullanmasıdır. Bu nedenle, yüksek hesaplama ek yüküne sahip olabilen ayrı bir kimlik doğrulama algoritması kullanmaktan daha verimlidir.

HMAC kimlik doğrulamalı AES-CBC genel olarak güvenli kabul edilse de CBC, POODLE(yeni pencere) gibi dolgu saldırılarına(yeni pencere) karşı potansiyel olarak savunmasızdır. GCM ise değildir.

Donanım hızlandırmalı AES

Modern işlemcilerin çoğu, AES işlemlerini doğrudan işlemci üzerinde gerçekleştiren bir donanım yönergeleri kümesi olan Gelişmiş Şifreleme Standardı Yeni Yönergelerini (AES-NI(yeni pencere)) içerir. Bu, AES'i çok daha hızlı hale getirir ve ayrıca işlemler işlemcinin güvenli yürütme birimlerinde gerçekleştiği için zamanlamaya dayalı yan kanal saldırılarının önlenmesine yardımcı olur; böylece bir saldırganın kötüye kullanabileceği gözlemlenebilir zamanlama varyasyonları azalır.

Proton ve AES

Proton ürünlerini güvence altına almak için AES'i geniş ölçüde kullanıyoruz:

Etkinlikler ve kişiler, gizliliğinizi uçtan uca şifreleme yoluyla sağlamak için anahtar değişiminde ECC ile birleştirilen AES-256 kullanılarak korunur.

Proton VPN esas olarak hızlı ve verimli WireGuard® VPN protokolüne odaklanır (ChaCha20 kullanır), ancak OpenVPN bağlantıları AES-256 kullanır.

Proton Pass, parolaları, notları, kimlikleri ve diğer ögeleri güvenli kasanızın içinde AES-256 kullanarak depolar.

Proton Drive, yüklenen tüm dosyaları anahtar değişimi için ECC kullanarak AES-256 ile uçtan uca şifreler. Proton Docs ve Proton Sheets de ECC tabanlı anahtar değişimi ile AES-256 kullanır, ancak şifreleme uygulamaları Proton Drive'ın genel dosya şifreleme düzeninden farklıdır.

Proton Mail, e-postaları ve ek dosyaları OpenPGP standardı aracılığıyla AES-256 kullanarak depolar. E-postalarınızın kilidini açan kişisel anahtarınız bile sunucuda depolanmadan önce AES-256 ile şifrelenir.

Proton Meet; ses, video ve sohbet iletilerini şifrelemek için Messaging Layer Security (MLS) kullanır ve tüm iletişimler için ileri gizlilik (PFS) ile ihlal sonrası güvenliği (PCS) sağlar. Tüm toplantı verileri AES-256-GCM kullanılarak uçtan uca şifrelenir.

AES şifreleme saldırılarını azaltma

Güvenlik, ancak en zayıf bağlantısı kadar güçlüdür; bu da genellikle parolanızdır. Bu durum, sosyal mühendislik yöntemlerinin, kimlik avı girişimlerinin ve tuş kaydedicilerin(yeni pencere) (keylogger) de AES ile şifrelenmiş veriler için bir tehdit oluşturduğu anlamına gelir. Bu nedenle, AES kullanılsa bile aşağıdaki önlemleri almalısınız:

Proton

Verilerinizin kontrolünü elinize alın

Proton, başından beri verilerinizi korumak için geliştirildi. Uçtan uca şifreleme, açık kaynaklı uygulamalar ve bağımsız denetimlerle bilgileriniz size ait kalır.

AES şifreleme hakkında sık sorulan sorular

Hangisi daha iyidir: AES ve DES?
Hangisi daha iyidir: AES ve RSA?
AES güvenliği ne kadar güçlüdür?

Şifreleme hakkında ayrıntılı bilgi alın