क्या वे डिस्क में एन्क्रिप्टेड हैं? कैसे? क्या वे सुरक्षित हैं, उदाहरण के लिए, किसी के लाइव सीडी से बूट करने और हार्ड डिस्क को माउंट करने की स्थिति में?
एन्क्रिप्शन कुंजी कैसे उत्पन्न होती है? क्या यह विंडोज और लिनक्स में अलग है?
क्या वे डिस्क में एन्क्रिप्टेड हैं? कैसे? क्या वे सुरक्षित हैं, उदाहरण के लिए, किसी के लाइव सीडी से बूट करने और हार्ड डिस्क को माउंट करने की स्थिति में?
एन्क्रिप्शन कुंजी कैसे उत्पन्न होती है? क्या यह विंडोज और लिनक्स में अलग है?
जवाबों:
आप Chrome में पासवर्ड एन्क्रिप्ट करने के लिए उपयोग की जाने वाली कुंजी के बारे में विशेष रूप से उत्सुक हैं।
उत्तर है:
हर पासवर्ड एक अलग यादृच्छिक कुंजी के साथ एन्क्रिप्ट किया गया है।
और फिर एन्क्रिप्टेड पासवर्ड SQLite डेटाबेस फ़ाइल में संग्रहीत किया जाता है:
%LocalAppData%\Google\Chrome\User Data\Default\Login Data
इसे देखने के लिए आप SQLite Database Browser या SQLite Maestro जैसी किसी चीज़ का उपयोग कर सकते हैं । यहाँ मेरी Login Data
फ़ाइल से एक स्निपेट है :
origin_url username_value password_value
======================================== ============== ========================
http://thepiratebay.org/register JolineBlomqvist@example.com 01000000D08C9DDF0115D1118C7A00C04FC297EB01000000BB0E1F4548ADC84A82EC0873552BCB460000000002000000000003660000C0000000100000006811169334524F33D880DE0C842B9BBB0000000004800000A00000001000000043C8E23979F5CC5499D73610B969A92A08000000EE07953DEC9F7CA01400000098B5F0F01E35B0DC6BBAFC53A9B1254AC999F4FA
आप देखेंगे कि पासवर्ड डेटा का एक एन्क्रिप्टेड ब्लॉब है। एक नया पासवर्ड एन्क्रिप्ट करने के लिए अनुमानित एल्गोरिदम है:
और Chrome उस बूँद को अपने SQLite डेटाबेस में सहेजता है।
लेकिन आपके प्रश्न का उत्तर देने के लिए: एन्क्रिप्शन कुंजी कहां से आती है?
प्रत्येक पासवर्ड एक अलग यादृच्छिक रूप से उत्पन्न कुंजी के साथ एन्क्रिप्ट किया गया है
बेशक मैंने तकनीकी विवरण छोड़ दिया है। Chrome आपके पासवर्ड को स्वयं एन्क्रिप्ट नहीं करता है। Chrome में किसी भी चीज़ को एन्क्रिप्ट करने के लिए उपयोग की जाने वाली मास्टर कुंजी नहीं है। Chrome एन्क्रिप्शन नहीं करता है। विंडोज करता है।
एक विंडोज फ़ंक्शन है, CryptProtectData
जिसका उपयोग किसी भी मनमाने डेटा को एन्क्रिप्ट करने के लिए किया जाता है। इसे कॉल करने का विवरण कम महत्वपूर्ण नहीं है। लेकिन अगर मैं एक छद्म भाषा का आविष्कार करता हूं, जो कि किसी भी प्रोग्रामिंग की कमी के रूप में समझने योग्य हो सकती है, तो क्रोम कॉल:
CryptProtectData(
{ cbData: 28, pbData: "correct battery horse staple" },
"The password for superuser.com and all the glee therein",
null, //optional entropy
null, //reserved
null, //prompt options
0, //flags
{ cbData: pbData: }); //where the encrypted data will go
तो पासवर्ड:
correct battery horse staple
01000000D08C9DDF0115D1118C7A00C04FC297EB01000000BB0E1F4548ADC84A82EC0873552BCB460000000002000000000003660000C0000000100000006811169334524F33D880DE0C842B9BBB0000000004800000A00000001000000043C8E23979F5CC5499D73610B969A92A08000000EE07953DEC9F7CA01400000098B5F0F01E35B0DC6BBAFC53A9B1254AC999F4FA
आप देखेंगे कि मुझे पासवर्ड की आपूर्ति करने की आवश्यकता नहीं है। ऐसा इसलिए है क्योंकि विंडोज उस सभी का ख्याल रखता है। अंततः:
तो किसी के लिए आपका पासवर्ड जानने का एकमात्र तरीका यह है कि क्या वह आपका पासवर्ड जानता है।
%LocalAppData%\Google\Chrome\User Data\Default\Login Data
पासवर्ड एन्क्रिप्ट और SQLite डेटाबेस में संग्रहीत हैं:
यहां महत्वपूर्ण टुकड़ा है
CryptProtectData
, जो डेटा एन्क्रिप्ट करने के लिए एक विंडोज एपीआई फ़ंक्शन है। इस फ़ंक्शन के साथ एन्क्रिप्ट किया गया डेटा बहुत ठोस है। इसे केवल उसी मशीन और उसी उपयोगकर्ता द्वारा डिक्रिप्ट किया जा सकता है जिसने इसे पहली बार एन्क्रिप्ट किया था।
CryptProtectData
कुंजी के रूप में आपके विंडोज क्रेडेंशियल्स (पासवर्ड नहीं, बल्कि कुछ अन्य डेटा) का उपयोग करता है। AFAIK, यह वही फ़ंक्शन है जिसका उपयोग आपके प्रमाणपत्र, नेटवर्क क्रेडेंशियल्स और उस सभी सामान की सुरक्षा के लिए किया जाता है।
Encryptor::EncryptString
कुछ भी नहीं करता है । लगता है कि गनोम कीरिंग और केडीई वॉलेट का उपयोग करने के लिए कोड है।
वे "एन्क्रिप्टेड" हैं लेकिन यह एक प्रतिवर्ती एन्क्रिप्शन है। क्रोम को कच्चे पासवर्ड को उस साइट पर भेजना होगा जिसके लिए इसे संग्रहीत किया गया था, इसलिए यदि क्रोम इसे डिक्रिप्ट और उपयोग कर सकता है, तो अन्य लोग कर सकते हैं। पासवर्ड संग्रहीत करना कभी भी 100% सुरक्षित नहीं है।
CryptProtectData
एक विंडोज एपीआई है, विंडोज वास्तव में सभी एन्क्रिप्शन और पुनर्प्राप्ति करता है, एन्क्रिप्शन कुंजी आपके उपयोगकर्ता खाते और सिस्टम पर निर्भर है।
Google Chrome पासवर्ड को एन्क्रिप्ट करता है और उन्हें SQLite DB में संग्रहीत करता है लेकिन उन्हें आसानी से विशेष पासवर्ड रिकवरी एप्लिकेशन जैसे ChromePass ( http://www.nirsoft.net/utils/chromepass.html ) या SecurePassword Kit ( http: // के साथ देखा जा सकता है। www.getsecurepassword.com/ )
मैक पर, विंडोज में CryptProtectData फ़ंक्शन के बराबर ओएस एक्स के कीचैन में "क्रोम सेफ स्टोरेज" के लिए पासवर्ड का उपयोग करना है।