เอกสารทางเทคนิค
สถาปัตยกรรมระบบ
ศึกษาเชิงลึกเกี่ยวกับสถาปัตยกรรมที่ให้ความสำคัญกับความเป็นส่วนตัวของ NuDefndr การใช้งานจริง โค้ดที่ตรวจสอบได้
ภาพรวมระบบ
ไปป์ไลน์การประมวลผลบนอุปกรณ์
NEURAL ENGINE
การประมวลผล ML แบบเร่งด้วยฮาร์ดแวร์บนชิป A12+ ไม่มีโอเวอร์เฮด CPU ระหว่างการวิเคราะห์
SANDBOXED
iOS App Sandbox ป้องกันการรั่วไหลข้อมูล คำขอเครือข่ายถูกบล็อกระหว่างการวิเคราะห์
INCREMENTAL
การข้ามประทับเวลาอัจฉริยะวิเคราะห์เฉพาะรูปภาพใหม่/แก้ไขในการสแกนซ้ำ
ซอร์สโค้ด
เอ็นจิ้นสแกนแบบเพิ่มหน่วย
/// Incremental scanning with timestamp-based skip logic
/// Delivers 5-15x performance gains on repeated scans
func performIncrementalScan(range: ScanRangeOption) async throws {
guard let lastScanDate = getLastSuccessfulScanDate() else {
// First scan - analyze everything
return try await fullScan(range: range)
}
var skippedCount = 0
var analyzedCount = 0
for asset in photoAssets {
// SKIP LOGIC: Photo hasn't been modified since last scan
if let modDate = asset.modificationDate,
modDate < lastScanDate {
skippedCount += 1
continue // Skip this photo (already analyzed)
}
// Analyze photo (new or modified since last scan)
let result = try await analyzer.analyze(asset)
analyzedCount += 1
if result.isSensitive {
await notifyUser(asset)
}
}
#if DEBUG
print("[Incremental] Analyzed: \(analyzedCount), Skipped: \(skippedCount)")
print("[Performance] Skip ratio: \(Double(skippedCount)/Double(total) * 100)%")
#endif
// Update timestamp for next scan
saveLastSuccessfulScanDate(Date())
}
/// Performance metrics (real-world data)
/// v1.7 (Full Scan): 28.4s for 20 photos
/// v2.x (Incremental): 1.9s for 20 photos (99% cache hit)
/// Improvement: 15x faster, 87% battery savings
การสแกนแบบเพิ่มหน่วย
- ✓ วิเคราะห์เฉพาะรูปภาพใหม่/แก้ไข
- ✓ ตรรกะการข้ามตามประทับเวลา
- ✓ ประหยัดเวลาอย่างมากในการสแกนซ้ำ
- ✓ ใช้แบตเตอรี่น้อยลง
- ✓ การใช้หน่วยความจำที่มีประสิทธิภาพ
ตรรกะการข้าม
- ✓ การเปรียบเทียบประทับเวลาที่รวดเร็ว
- ✓ การติดตามวันที่แก้ไข
- ✓ การตรวจสอบขอบเขตช่วง
- ✓ โอเวอร์เฮดการประมวลผลน้อยที่สุด
- ✓ เหมาะสำหรับการใช้งานประจำวัน
การเข้ารหัสห้องนิรภัย
การเข้ารหัส ChaCha20-Poly1305
import CryptoKit
/// ChaCha20-Poly1305 encryption for vault storage
/// Keys stored in iOS Keychain with Secure Enclave protection
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)
let decryptedData = try ChaChaPoly.open(sealedBox, using: key)
return decryptedData
}
/// Generates 256-bit encryption key with entropy validation (v2.1.8+)
static func generateVaultKey() throws -> SymmetricKey {
let maxRetries = 3
for attempt in 0..= 7.5 {
return key
}
#if DEBUG
print("[Crypto] Low entropy detected, retry \(attempt + 1)/\(maxRetries)")
#endif
}
throw CryptoError.insufficientEntropy
}
}
ทำไมต้อง CHACHA20-POLY1305?
- ✓ เร็วกว่า AES บน ARM (ไม่ต้องใช้ AES ฮาร์ดแวร์)
- ✓ การเข้ารหัสที่ตรวจสอบแล้ว (ตรวจจับการงัดแงะ)
- ✓ ใช้โดย Signal, WireGuard, TLS 1.3
- ✓ ต้านทานการโจมตีด้านเวลา
- ✓ มาตรฐาน IETF (RFC 8439)
การปกป้องคีย์
- ✓ คีย์ 256 บิต (2^256 การรวมกัน)
- ✓ iOS Keychain ด้วยการสนับสนุนฮาร์ดแวร์
- ✓ ไม่เคยเก็บแบบไม่เข้ารหัส
- ✓ เฉพาะอุปกรณ์ (ไม่มีสำรองข้อมูล/ซิงค์)
- ✓ การตรวจสอบเอนโทรปี (v2.1.8+)
ข้อมูลจำเพาะ
รายละเอียดทางเทคนิค
| ส่วนประกอบ | การใช้งาน | ระดับความปลอดภัย |
|---|---|---|
| ML Framework | Apple SensitiveContentAnalysis (iOS 18+) | เร่งด้วยฮาร์ดแวร์ |
| อัลกอริทึมการเข้ารหัส | ChaCha20-Poly1305 AEAD | คีย์ 256 บิต |
| การจัดเก็บคีย์ | iOS Keychain (Secure Enclave) | สนับสนุนด้วยฮาร์ดแวร์ |
| การปกป้องไฟล์ | .completeFileProtection | การจัดเก็บที่ปลอดภัยของ iOS |
| ประสิทธิภาพการสแกน | แบบเพิ่มหน่วย (v2.0+) พร้อมการข้ามประทับเวลา | เร็วกว่า 15 เท่า |
| การประมวลผลพร้อมกัน | รับรู้อุปกรณ์ (A17+: 6 เธรด, A15: 3, เก่ากว่า: 1) | ปรับตัว |
| กิจกรรมเครือข่าย | ไม่มี (100% ออฟไลน์) | การเปิดเผยคลาวด์เป็นศูนย์ |
| การตรวจจับ Jailbreak | การวิเคราะห์ 10 เวกเตอร์พร้อมการให้คะแนนความเชื่อมั่น | รับรู้แพลตฟอร์ม |
โมเดลภัยคุกคาม
การรับประกันความปลอดภัย
ได้รับการปกป้อง
ห้องนิรภัยเข้ารหัสขณะพัก ไม่สามารถอ่านได้โดยไม่มี FaceID
กิจกรรมเครือข่ายเป็นศูนย์ รูปภาพไม่เคยออกจากอุปกรณ์
ไม่มีที่เก็บข้อมูลคลาวด์ ทุกอย่างในเครื่อง
คีย์ผูกกับอุปกรณ์ ไม่สามารถแยกจากสำรองข้อมูล
ต้องใช้ชีวมิติ + PIN ล็อคอัตโนมัติหลังจาก 30 วินาที
นอกขอบเขต
ห้องนิรภัยต้องใช้ FaceID เพิ่มเติมแม้โทรศัพท์จะปลดล็อก
ไม่สามารถป้องกันการปลดล็อกชีวมิติแบบบังคับได้
โมเดลความปลอดภัย iOS ถูกบุกรุก (ตรวจพบ ไม่ถูกบล็อก)
ช่องโหว่ iOS ที่ไม่ทราบ (ส่งผลกระทบต่อแอปทั้งหมด)
โค้ดที่ตรวจสอบได้
ความปลอดภัยแบบโอเพนซอร์ส
ตรวจสอบการอ้างสิทธิ์ของเรา
ส่วนประกอบความเป็นส่วนตัวหลักของ NuDefndr เป็น โอเพนซอร์สบน GitHub นักวิจัยด้านความปลอดภัยสามารถตรวจสอบอย่างอิสระ:
- • กิจกรรมเครือข่ายเป็นศูนย์ ระหว่างการวิเคราะห์ (ตรวจสอบได้)
- • การใช้งานการเข้ารหัส ChaCha20-Poly1305
- • อัลกอริทึมการสแกนแบบเพิ่มหน่วยและตรรกะการข้าม
- • วิธีการตรวจจับ jailbreak
- • การผสานรวม Keychain และวงจรชีวิตคีย์
สิ้นสุดการส่ง
สถาปัตยกรรมที่ให้ความสำคัญกับความเป็นส่วนตัว การใช้งานที่ตรวจสอบได้
← กลับไปที่หน้าหลัก