การป้องกันพรีเมี่ยม

สถานที่ศักดิ์สิทธิ์
ดิจิทัล

ช่วงเวลาส่วนตัวของคุณ เฉพาะสำหรับสายตาของคุณเท่านั้น

ล็อก FaceID • เฉพาะอุปกรณ์ • การเข้ารหัสระดับทหาร

SECURE ENCLAVE

การตรวจสอบชีวมิติ

ห้องนิรภัยที่เข้ารหัส

คีย์

256-บิต

คลาวด์

ไม่มีคลาวด์

ที่เก็บข้อมูล

อุปกรณ์

ปกป้องรูปภาพของคุณ

รวมอยู่ใน NUDEFNDR PRO

ไปป์ไลน์การเข้ารหัส

ห้องนิรภัยทำงานอย่างไร

┌────────────────────────────────────────────────────────────┐ │ VAULT ENCRYPTION FLOW │ └────────────────────────────────────────────────────────────┘ SENSITIVE PHOTO │ ├─> [User: Move/Copy to Vault] │ ▼ BIOMETRIC AUTH │ ├─> FaceID / Touch ID / Passcode │ ▼ RETRIEVE KEY │ ├─> iOS Keychain (Secure Enclave) │ └─ Device-bound 256-bit key │ ▼ CHACHA20-POLY1305 │ ├─> AEAD Cipher │ ├─ Confidentiality │ ├─ Authenticity │ └─ Integrity │ ▼ ENCRYPTED FILE (.n11) │ ├─> App Sandbox │ ├─ .completeFileProtection │ └─ Excluded from backups │ ▼ ORIGINAL DELETED (optional)

ซอร์สโค้ด

การใช้งานการเข้ารหัส

> /Vault/VaultCrypto.swift ChaCha20-Poly1305 AEAD
import CryptoKit

final class VaultCrypto {

  /// Encrypts photo data with ChaCha20-Poly1305 AEAD
  static func encryptData(_ data: Data, key: SymmetricKey) throws -> Data {
    // ChaCha20-Poly1305 provides:
    // - Confidentiality (encryption)
    // - Authenticity (HMAC)
    // - Integrity (tampering detection)
    let sealedBox = try ChaChaPoly.seal(data, using: key)

    return sealedBox.combined // Nonce + Ciphertext + Tag
  }

  /// Decrypts vault photo
  static func decryptData(_ encryptedData: Data, key: SymmetricKey) throws -> Data {
    let sealedBox = try ChaChaPoly.SealedBox(combined: encryptedData)

    // Authentication tag verified automatically
    // Throws error if data has been tampered with
    let decryptedData = try ChaChaPoly.open(sealedBox, using: key)

    return decryptedData
  }

  /// Generates vault encryption key with entropy validation
  static func generateVaultKey() throws -> SymmetricKey {
    let key = SymmetricKey(size: .bits256)

    // Validate entropy meets NIST SP 800-90B standards
    let keyData = key.withUnsafeBytes { Data($0) }
    let entropy = calculateEntropy(keyData)

    guard entropy >= 7.5 else {
      throw CryptoError.insufficientEntropy
    }

    return key
  }
}

ฟีเจอร์หลัก

AEAD Cipher

ChaCha20-Poly1305 ให้การเข้ารหัสที่ได้รับการตรวจสอบ มาตรฐานเดียวกันที่ใช้ใน WireGuard, TLS 1.3 และ Signal Protocol

ล็อกชีวมิติ

ห้องนิรภัยต้องใช้ FaceID/Touch ID ทุกครั้งที่คุณเปิด แม้โทรศัพท์จะปลดล็อก ห้องนิรภัยยังคงถูกล็อก

โมเดลความปลอดภัย

สิ่งที่ห้องนิรภัยปกป้อง

ได้รับการปกป้อง

  • การยึดอุปกรณ์ (เข้ารหัสขณะพัก)
  • การเข้าถึงทางกายภาพที่ไม่ได้รับอนุญาต
  • การละเมิดคลาวด์ (ไม่มีที่เก็บข้อมูลคลาวด์)
  • การแยกสำรองข้อมูล (คีย์ผูกกับอุปกรณ์)
  • การสกัดกั้นเครือข่าย (ไม่มีการอัปโหลด)

นอกขอบเขต

  • การปลดล็อกชีวมิติแบบบังคับ (การบังคับทางกายภาพ)
  • อุปกรณ์ที่ถูกเจลเบรก (ความปลอดภัย iOS ถูกบุกรุก)
  • การใช้ประโยชน์จาก OS zero-day (ส่งผลกระทบต่อแอปทั้งหมด)
  • การสูญเสียอุปกรณ์ (ไม่สามารถกู้คืนคีย์ได้)

สำคัญ: ความปลอดภัยที่ล็อกอุปกรณ์

**ไม่สามารถกู้คืนข้อมูลห้องนิรภัยได้หากคุณสูญเสียอุปกรณ์ เปลี่ยนโทรศัพท์ หรือติดตั้ง NuDefndr ใหม่** นี่เป็นเจตนา—เป็นวิธีเดียวที่จะรับประกันความปลอดภัยที่แท้จริง

คีย์การเข้ารหัสถูกผูกกับฮาร์ดแวร์กับ Secure Enclave ของอุปกรณ์ของคุณ หากไม่มีอุปกรณ์จริง เนื้อหาห้องนิรภัยจะเข้าถึงไม่ได้อย่างถาวร—แม้แต่เรา

เรียนรู้เพิ่มเติม

ต้องการดูสถาปัตยกรรมแบบเต็มหรือไม่?

ดูข้อมูลทางเทคนิค