Lain Vault: Recursive Cryptographic API
Hedef dizinleri yinelemeli (recursive) olarak şifrelemek; dosya içeriklerini ve topolojik meta verileri AES-256 CBC ile tamamen karartmak (obfuscate) için tasarlanmış RESTful API.
Teknoloji yığını
- Diller
- Çatılar & kütüphaneler
- Araçlar
Performans & metrikler
- Dosya içeriklerini şifreleme işlemi öncesinde doğrudan RAM'e tamponlayarak (buffering) yürütülen yüksek hızlı bellek içi (in-memory) kriptografik dönüşümler
- ASP.NET Core'un thread tabanlı istek yönetimini kullanan deterministik ve senkron dosya sistemi taraması
Neden geliştirdim?
Standart şifreleme araçları genellikle dosya sistemi meta verilerini (isimler, uzantılar ve klasör hiyerarşisi) açıkta bırakır ve bu durum kritik bağlamsal bilgilerin sızmasına neden olabilir. Bu API'yi, mutlak inkar edilebilirlik (absolute deniability) sağlamak amacıyla geliştirdim. Sistem, hedef yolu yinelemeli olarak tarar, hem dosya içeriklerine hem de yapısal meta verilere kriptografik mutasyonlar uygulayarak orijinal bağlama dair hiçbir iz bırakmaz.
Mimari & kararlar
ASP.NET Core üzerinde inşa edilen API; hedef yolları, hariç tutma listelerini ve ham Key/IV değerlerini JSON olarak kabul eden /encrypt ve /decrypt uç noktalarını sunar. Kriptografik motor, PKCS7 dolgusu (padding) ve Cipher Block Chaining (CBC) modu ile yapılandırılmış Aes sınıfını kullanır. Katı blok şifreleme kısıtlamalarını zorlamak için, ham Key ve IV değerleri Array.Resize aracılığıyla sırasıyla 32 byte (256-bit) ve 16 byte (128-bit) boyutlarına dinamik olarak sabitlenir. Dosya içerikleri ReadAllBytes ile tamamen belleğe alınır ve MemoryStream üzerindeki bir CryptoStream aracılığıyla dönüştürülür. Meta veri karartması; dizin ve dosya isimlerinin şifrelenip Base64 formatına çevrilmesi ve dosya sistemi uyumluluğu için özel karakterlerin (/ ve +) temizlenmesiyle sağlanır.
Temel özellikler
- 01PKCS7 blok dolgusu kullanan AES-256 CBC mimarisi ile veri yükü (payload) şifrelemesi
- 02Tam topolojik karartma: Tüm dosya ve dizin isimlerinin yinelemeli olarak şifrelenip dosya sistemine uygun (sanitized) Base64 dizilerine dönüştürülmesi
- 03API çağrıları sırasında kriptografik çalışma zamanı (runtime) hatalarını önlemek için dinamik Key/IV boyutu zorlaması
- 04Tarama sırasında kritik sistem dosyalarının kilitlenmesini önlemek için yapılandırılabilir hariç tutma (exclusion) dizileri
Teknik değerlendirme
Not: Yinelemeli dosya şifreleme API'lerinin çift kullanımlı doğası (örneğin fidye yazılımı yürütmesiyle operasyonel benzerlikleri) nedeniyle, kaynak kodu kesinlikle gizli tutulmaktadır ve yalnızca talep üzerine gösterim için mevcuttur.