मुख्य सामग्री पर जाएँ
CrossFly 100% ओपन सोर्सGitHub पर फ़ॉलो करें
CrossFlyCrossFly
शुरू करें

यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।

सुरक्षा

डिवाइस पर डेटा की रक्षा के लिए दो व्यावहारिक स्तंभ: एन्क्रिप्टेड डेटाबेस और प्रवेश द्वार के रूप में बायोमेट्रिक्स।

एन्क्रिप्टेड डेटाबेस (SQLite3MC)

SQLite को एक कुंजी के साथ खोलें — डिफ़ॉल्ट रूप से ChaCha20-Poly1305 सिफ़र (या SQLCIPHER):

byte[] chave = derivarChaveDaSenha(senhaUsuario);   // ⚠️ KDF के साथ पासवर्ड से व्युत्पन्न करें — कभी hardcode न करें
try (SqliteDb db = SqliteDb.open("cofre.db", chave)) {
   // … पारदर्शी रूप से एन्क्रिप्टेड डेटा …
   db.rekey(novaChave);                              // कुंजी बदलता है (उदा.: जब उपयोगकर्ता पासवर्ड बदले)
}
  • कुंजी के बिना शून्य-लागत, कुंजी के साथ पारदर्शी सिफ़र — कुंजी के बिना यह सामान्य SQLite है; कुंजी के साथ, सब कुछ एक्सेस पर सिफ़र/डिसिफ़र होता है, आपके SQL को बदले बिना।
  • कभी भी कुंजी को हार्डकोड न करें। इसे KDF के साथ उपयोगकर्ता के पासवर्ड से व्युत्पन्न करें; प्लेटफ़ॉर्म के keystore में केवल आवश्यक सामग्री रखें।
  • सिफ़र हटाते समय सावधान रहें (असुरक्षित करने के लिए rekey) — फ़ाइल स्पष्ट रूप में पठनीय हो जाती है।

प्रवेश द्वार के रूप में बायोमेट्रिक्स

किसी संवेदनशील क्षेत्र (वित्तीय, व्यक्तिगत डेटा) से पहले, बायोमेट्रिक्स की माँग करें:

if (Biometry.isAvailable()) {
   Biometry.authenticate("Acessar cofre", "Cancelar", false,
      (res, msg) -> Component.onUI(() -> {
         if (res == Biometry.AuthResult.SUCCESS) abrirCofre();
         else loginPorSenha();                 // हमेशा fallback
      }));
} else {
   loginPorSenha();
}
  • बायोमेट्रिक डेटा कभी डिवाइस से बाहर नहीं जाता — ऐप को केवल SUCCESS/FAILURE/आदि प्राप्त होता है।
  • बायोमेट्रिक्स स्थानीय प्रमाणीकरण है: यह एप्लिकेशन प्रमाणीकरण (सर्वर लॉगिन) को पूरक करता है, प्रतिस्थापित नहीं करता।

अन्य सावधानियाँ

  • Clipboard: रहस्यों को क्लिपबोर्ड पर कॉपी न करें (Device.clipboardCopy) — यह अन्य ऐप्स के लिए सुलभ रहता है।
  • फ़ाइलें/homeFolder: Device.homeFolder में डेटा डिफ़ॉल्ट रूप से सिफ़र नहीं होता — जो संवेदनशील है उसके लिए एन्क्रिप्टेड डेटाबेस का उपयोग करें।
  • लॉग: Debug.log के साथ पासवर्ड/टोकन रिकॉर्ड न करें।

अच्छी प्रथाएँ

  • संवेदनशील डेटा → एन्क्रिप्टेड SQLite; पासवर्ड से व्युत्पन्न कुंजी (KDF), कभी कोड में नहीं।
  • स्थानीय gate के रूप में बायोमेट्रिक्स + हमेशा एक एप्लिकेशन fallback।
  • clipboard में, स्पष्ट फ़ाइल में या लॉग में कोई रहस्य नहीं।

आम गलतियाँ

  • कोड में हार्डकोड की गई कुंजी (कोई भी इसे बाइनरी से निकाल सकता है)।
  • बायोमेट्रिक्स को ऐसे मानना जैसे यह सर्वर लॉगिन को प्रतिस्थापित करता हो।
  • homeFolder में गैर-एन्क्रिप्टेड फ़ाइल में टोकन/पासवर्ड रखना।

यह भी देखें

क्या यह पृष्ठ उपयोगी था?