सुरक्षा आर्किटेक्चर
Rust/Tauri स्टैक, .rkvey v5 फ़ॉर्मैट, compartments, विलंबित डिक्रिप्शन और threat model।
QubKey की सुरक्षा लेयर्ड आर्किटेक्चर और defense in depth सिद्धांत पर आधारित है: फ़ाइल सिस्टम, .rkvey v5 फ़ॉर्मैट, क्रिप्टोग्राफ़ी और Rust एप्लिकेशन कोर हर चरण में आपके secrets की रक्षा करते हैं — storage से unlock तक।
हर layer एक पूरक guarantee देती है। अगर system-level सुरक्षा न हो (जैसे disk encryption न हो), तब भी application और crypto layers आपके vault की रक्षा करती हैं। v5 फ़ॉर्मैट में किसी entry के secrets तभी decrypt होते हैं जब आप उन्हें देखें या copy करें — vault unlock या list में नहीं।
इंटरफ़ेस (प्रतिक्रिया + तौरी)
- मेहराब
- फ़ोल्डर
- खोज
- जनक
- एक बार के कोड
- डैशबोर्ड
- साथ-साथ करना
- शेयरिंग
- ब्राउज़र एक्सटेंशन
जंग कोर (क्यूबकी कोर)
- .rkvey v5 प्रारूप
- आर्गन2आईडी व्युत्पत्ति
- प्रमाणित एन्क्रिप्शन
- सूचकांक खोजें
- सुरक्षित प्रतिबद्ध
- मेमोरी वाइप
- क्रैश रिकवरी
फ़ाइल सिस्टम पर .rkvey v5 फ़ाइल
- प्रस्तावना
- एन्क्रिप्टेड हेडर
- एन्क्रिप्टेड सूचकांक
- गुप्त डिब्बे
- संलग्नक
- इतिहास प्रतिबद्ध करें
सुरक्षा layers
Unlock flow
Unlock एक strict pipeline follow करता है: master password Rust core में जाता है, Argon2id master key derive करता है, subkeys header और B-Tree index decrypt करते हैं। Entry compartments (secrets, attachments) encrypted रहते हैं और केवल ज़रूरत पर read होते हैं। Lock पर सारी keys और secrets memory से wipe हो जाते हैं।
मास्टर पासवर्ड + नमक
.rkvey प्रस्तावना (सादा पाठ)
- रस्ट कोर (टौरी आईपीसी) में दर्ज किया गया - वेबव्यू के संपर्क में कभी नहीं आया
- प्रस्तावना में संग्रहित यादृच्छिक नमक (16 बाइट्स)
आर्गन2आईडी
- 64 एमबी रैम · 3 इटर · पी=4 (डिफ़ॉल्ट `KdfParams`)
- जीपीयू/एएसआईसी प्रतिरोध
- प्लेटफ़ॉर्म के आधार पर कैलिब्रेटेड ~250-500 एमएस
सर्व - कुंची
256 बिट्स · `कीमैनेजर::व्युत्पन्न_मास्टर_की`
उपकुंजी व्युत्पत्ति
HKDF-SHA256(मास्टर, नमक=फ़ाइल∥प्रविष्टि, जानकारी=प्रकार)
हेडर_कुंजी
सुरक्षित शीर्षलेख
अनुक्रमणिका_कुंजी
बी-ट्री इंडेक्स
कम्पार्टमेंट_कुंजी
डिब्बों
एईएडी डिक्रिप्शन
- AES-256-GCM या XChaCha20-Poly1305
- हेडर · इंडेक्स · कम्पार्टमेंट (मांग पर)
अनलॉक के बाद मेमोरी
- सूची/दृश्य: केवल मेटाडेटा
- रहस्य और अनुलग्नक केवल मांग पर ही डिक्रिप्ट किए जाते हैं
ताला
- `KeyManager::clear_keys()` + शून्यीकरण
- रहस्य मिटा दिया गया और क्लिपबोर्ड साफ़ कर दिया गया
Threat model
QubKey local password manager के सबसे common threat scenarios के लिए बनाया गया है। तालिका attack vector और built-in countermeasure (.rkvey-v5 फ़ॉर्मैट) बताती है।
| Threat | Vector | QubKey response |
|---|---|---|
| Unauthorized file access | .rkvey theft या copy | AEAD encryption + Argon2id derivation |
| Network exfiltration | Cloud intercept / MITM | Local-first: QubKey आपके secrets upload नहीं करता |
| Data corruption | write के दौरान crash | Validated append-only commits + startup recovery |
| Vault tampering | manual file edit | प्रति compartment AEAD authentication + checksums |
| Memory snapshot (browsing) | vault open, list / view | secrets तब तक encrypted जब तक आप reveal न करें |
| Weak master password | offline attempts | Calibrated Argon2id (~500 ms) + entropy meter |
| Password reuse | दूसरी sites पर leaks | Security dashboard (local detection) |
| Clipboard leaks | secret copy | Clipboard timeout (30 s) + lock पर wipe |
| Side-channel attack | crypto ops timing | Constant-time implementations (RustCrypto) |
Best practices
यह model उन threats को cover करता है जिन्हें QubKey अपने architecture से directly address करता है। optimal protection के लिए QubKey को system best practices के साथ combine करें: disk encryption on, updated OS और strong master password।
Built-in protection
| Domain | QubKey आपके data की रक्षा कैसे करता है |
|---|---|
| Data at rest | AEAD (AES-256-GCM / XChaCha20), Argon2id key, प्रति compartment अलग key |
| Vault integrity | Validated append-only commits, checksums और atomic writes |
| Confidentiality | Zero-knowledge: secrets आपके device पर encrypted रहते हैं |
| Deferred decryption | list और view में secrets नहीं; view / copy केवल ज़रूरत पर |
| Key derivation | Master password की रक्षा के लिए calibrated Argon2id (~500 ms, 64 MB) |
| Application | Isolated Rust core, Tauri IPC UI, lock पर zeroization |
| Browser extension | Local Native Messaging — extension को master password कभी नहीं मिलता |
| Sync | Optional encrypted multi-device sync (cloud या self-host) या encrypted .rkvey file (cloud, USB, NAS) |
Trust architecture
Zero-knowledge
QubKey trust को कई complementary levels पर organize करता है:
-
आप access control करते हैं — master password और optional recovery key vault access control करते हैं। QubKey उन्हें read या reset नहीं कर सकता।
-
System integration — QubKey आपकी OS security use करता है: file permissions, disk encryption (FileVault, BitLocker, LUKS), secure storage (Keychain, Credential Manager) और process isolation।
-
Rust / UI separation — सारी cryptography Rust core में compile-time memory safety के साथ चलती है। React UI Tauri IPC से communicate करती है; WebView को master password direct access नहीं।
-
Cautious memory handling (v5) — unlock पर केवल header और index decrypt होते हैं। Secrets और attachments explicit action (view, copy, download) तक encrypted रहते हैं। Lock पर: zeroization और empty clipboard।
-
Browser extension — Local Native Messaging; extension को master password कभी नहीं मिलता।
Protection features
Auto-lock
Configurable inactivity के बाद vault lock (default: 5 min)। Zeroization और clipboard wipe trigger करता है।
Deferred decryption
Entry secrets केवल view या copy पर decrypt होते हैं। List और view protected fields नहीं दिखाते।
Zeroization
Lock पर RAM से secrets wipe (Rust zeroize crate); caches clear, केवल on-demand ephemeral decryption।
Clipboard timeout
30 seconds बाद clipboard auto-clear। Vault settings में configurable।