Hassas verileriniz askeri düzeyde şifreleniyor
AES-256 (Advanced Encryption Standard) ile hassas verileri şifreliyoruz. Şifreler, API anahtarları, ödeme bilgileri... Hepsi çözülemez formatta saklanıyor.
256 bit şifreleme demek: Evrendeki tüm bilgisayarlar bir araya gelse, bu şifreyi kırmak evrenin yaşından daha uzun sürer. Askeri standart, bankalar da bu seviyeyi kullanır.
Hassas veriler kaydedilirken ve okunurken sistem otomatik şifreleme/çözme işlemi yapar. İşte AES-256 şifrelemenin teknik süreci:
APP_KEY değeri .env dosyasından okunur. base64:... formatında 32 byte gizli anahtar sisteme yüklenir.
random_bytes(16) ile 16 byte rastgele IV (Initialization Vector) üretilir. Her şifreleme için farklı IV kullanılır.
openssl_encrypt($data, 'aes-256-cbc', $key, 0, $iv) ile veri şifrelenir. CBC mode her bloğu öncekine bağlar.
Şifreli veri, IV ve MAC {"iv":"...", "value":"...", "mac":"..."} JSON formatında base64 encode edilir.
Eloquent model'de $casts = ['secret' => 'encrypted'] tanımı ile otomatik şifrelenerek TEXT alanına yazılır.
Veri okunurken Crypt::decrypt($value) ile MAC doğrulanır, IV ile birlikte şifre çözülür.
(Advanced Encryption Standard)
En güçlü simetrik şifreleme algoritması. ABD hükümeti standardı.
(Şifreleme Anahtarı)
32 byte gizli anahtar. .env dosyasında APP_KEY olarak saklanır.
(Başlangıç Vektörü)
Her şifreleme için rastgele üretilen değer. Tekrarı önler.
(Cipher Block Chaining)
Her blok önceki bloğa bağlı. Daha güvenli şifreleme.