açık kaynak · Apache-2.0 · Apple Silicon

macOS için donanım seviyesinde kriptografi. Sıfır performans kaybı.

Kuytu, Apple'ın kendi temelleri üzerine kurulu yerel bir şifreli kasadır: native APFS, donanım ivmelendirmeli AES-256-XTS ve Secure Enclave'e mühürlenmiş anahtarlar. macFUSE yok. FUSE-T yok. Çekirdek uzantısı yok. Touch ID ile açılır — parmak izi seti değişirse donanım yuvayı kullanılamaz kılar; kalıcılığı Kuytu uygular: yuva kaydı ilk geçersizleşmede silinir, kasa parola ve kurtarma anahtarıyla açılmaya devam eder.

macOS 26+ · Swift · üçüncü parti kriptografik ilkel yok

kuytu — zsh
$ kuytu create ~/Vaults/main --with touch-id
✓ APFS sparsebundle · AES-256-XTS · hardware accelerated
✓ DEK: 32 bytes from hardware TRNG — never stored in plaintext
✓ sealed 3 slots → vault.keyslots
$ kuytu open ~/Vaults/main
◆ Touch ID verified · biometryCurrentSet intact
✓ mounted /Volumes/main — native APFS · no FUSE · no KEXT
$
APFS sparsebundle· AES-256-XTS· Argon2id· Secure Enclave P-256· AES-256-GCM + AAD· Touch ID

TASARIM İLKELERİ

Apple'ın silikonunun üzerinde değil, içinde.

Kuytu kendi kriptografisini yazmaz ve düz metne hiç dokunmaz. Blok şifreleme, disk formatı ve bütünlük Apple'ın işidir. Kuytu'nun işi anahtar yönetimi, kurtarılabilirlik ve saldırı altındaki davranıştır.

FUSE-Free: sıfır eklenti

macFUSE yok. FUSE-T yok. Çekirdek uzantısı yok. Kasa, APFS şifreli bir sparse bundle'dır — şifrelemeyi macOS çekirdeği, donanım ivmelendirmesiyle yapar. Kuytu'nun kodu verinizi hiç görmez.

sıfır kext · sıfır userspace fs · sıfır ek yük

Secure Enclave mührü

Touch ID yuvası, Secure Enclave'ten hiç çıkmayan bir P-256 anahtarıyla sarmalanır ve biometryCurrentSet ile kapılanır. Parmak izi seti değişirse — zorla bile olsa — yuva donanımda kullanılamaz hâle gelir. Bu geçersizlik geri alınabilir olduğundan kalıcılığı Kuytu uygular: ilk geçersizleşmede biyometrik yuva kaydı silinir; kasa parola ve kurtarma anahtarıyla açılmaya devam eder (SECURITY.md ↗).

p-256 · ecies · biometryCurrentSet

Şeffaf ve fail-secure

Şüphe duyduğunda Kuytu sızdırmak yerine kilitler. Her anahtar sarmalama, bağlı bağlamla kimlik doğrulamalı AES-256-GCM'dir; kurtarma ise Kuytu'ya hiç güvenmeden çalıştırabileceğiniz bir betiktir.

aes-256-gcm · aad-bound · recover.sh

KAPUTUN ALTINDA

Tek veri anahtarı. Üç bağımsız yuva.

Data Encryption Key (DEK) kasayı şifreler ve hiçbir yerde düz metin saklanmaz — her yuva aynı DEK'in kendi sarmalamasını tutar, hiçbir yuva diğerini açamaz.

Touch ID

SEP P-256
ECIES wrap

Parola

Argon2id → KEK
AES-GCM wrap

Kurtarma

256-bit anahtar
HKDF-SHA256

DEK — 32 BAYT

donanımsal TRNG · asla düz metin yazılmaz

APFS sparsebundle · AES-256-XTS

macOS çekirdeği şifreler · donanım ivmelendirmeli

vault.keyslots format v1 (temsili)
{
  "format": 1,
  "slots": [
    { "id": "touch-id",
      "seal": "SEP P-256 · biometryCurrentSet",
      "wrap": "ECIES-X963-SHA256-AESGCM" },
    { "id": "passphrase",
      "kdf":  "argon2id(m=256MiB, t=3, p=4)",
      "wrap": "AES-256-GCM" },
    { "id": "recovery",
      "kdf":  "HKDF-SHA256",
      "wrap": "AES-256-GCM" }
  ],
  "aad": "vault_id ‖ slot_id ‖ format_version"
}
  • Parolanızı değiştirmek yalnızca bir yuvayı yeniden yazar — disk imajı asla yeniden şifrelenmez.
  • AAD, her sarmalamayı kasasına, yuvasına ve format sürümüne bağlar — yuvalar taşınamaz, sürüm düşürülemez.
  • Kurtarma anahtarı 256 bit Crockford Base32 — elle yazılabilir, karışan karakter yok. recover.sh, Kuytu kurulu olmadan da çalışır.

DÜRÜST TASARIM

Neyi korur. Neyi korumaz.

Sınırlarını söylemeyen bir güvenlik aracı kör güven ister. Kuytu bunun yerine sınırlarını söyler.

Korur

  • Çalınan veya kaybolan Mac — kilitli kasa okunamaz
  • Kapalı ya da kilitli makineye fiziksel erişim
  • Sökülüp başka makineye takılan disk
  • Çalınan yedekler — kopyalar aynı DEK ile mühürlüdür
  • Çalınan vault.keyslots — içinde düz metin gizli bilgi yoktur
  • Zorla parmak izi ekleme — biometryCurrentSet yuvayı kullanılamaz kılar; Kuytu kaydı kalıcı olarak siler

Kapsam dışı — ve bunu açıkça söyler

  • Kasa açıkken (mount'lu) çalışan zararlı yazılım
  • Keylogger ve ekran kaydı — parolanız yine de alınabilir
  • Çalışan makineye bellek saldırıları ve cold-boot
  • Güvensiz bir yere koyduğunuz kurtarma anahtarı
  • Kör inanç gerektiren her şey — tam tehdit modelini README'de okuyun

MÜHENDİSLİK NOTLARI

Kararlar, yazıya döküldü.

Kuytu'daki bariz olmayan her karar, akıl yürütme tazeyken bir mühendislik notu alır.

mimari yazım aşamasında

Neden FUSE-T yerine native APFS tercih ettim?

FUSE-T kapalı kaynak bir binary olarak dağıtılıyor ve kimliği doğrulanmamış bir loopback NFS sunucusu kullanıyor. Bir şifreleme aracı için bu kabul edilemez — işte tam döküm.

reddedilen: fuse-t · macfuse · fskit

saha notu yazım aşamasında

İşletim sistemi sınırında Base64: hdiutil neden hayat kurtarır?

Çekirdeğe tek arayüzünüz bir komut satırı bayrağıysa, kodlama kozmetik değildir. Mount edilmiş bir kasa ile bozulmuş anahtar materyali arasındaki farktır.

hdiutil · anahtar taşıma · köşe durumlar

anahtar yönetimi yazım aşamasında

Üç yuva, tek DEK: fail-secure hiyerarşi

Yatay anahtar yuvaları neden tek bir ana paroladan üstündür — ve donanım "hayır" dediğinde "fail-secure" gerçekte ne demektir.

kek/dek · aad · secure enclave