हे कसे सुरक्षित आहे, सोप्या शब्दांत.
ज्यांना नीट समजून घ्यायचे आहे त्यांच्यासाठी. आधी थोडक्यात, मग तांत्रिक माहिती.
सोप्या शब्दांत
तुमच्या प्रत्येक उपकरणावर स्वतःची एक जोडी किल्ली तयार होते. तुम्ही संदेश पाठवता तेव्हा तुमचा phone तो एका नव्या एकवेळच्या किल्लीने बंद करतो, आणि ती किल्ली गप्पांमधील प्रत्येक उपकरणासाठी वेगळी बंद केली जाते. फक्त त्याच उपकरणांना तो उघडता येतो. तुमचा phone संदेशावर सही पण करतो, त्यामुळे वाचणाऱ्याच्या phone ला कळते की हा संदेश खरोखर तुमच्याकडून आला आहे आणि वाटेत बदलला गेलेला नाही.
तांत्रिक माहिती थोडक्यात
- उपकरणाच्या किल्ल्या: किल्ली जुळवण्यासाठी X25519 आणि सहीसाठी Ed25519, उपकरणावरच तयार होतात. खाजगी किल्ल्या उपकरणाच्या सुरक्षित जागी साठवल्या जातात, कधीही upload होत नाहीत.
- संदेश: एक यादृच्छिक 256-bit मजकूर किल्ली ChaCha20-Poly1305 ने मजकूर बंद करते. ही मजकूर किल्ली प्रत्येक प्राप्तकर्त्याच्या उपकरणासाठी ephemeral X25519 + HKDF-SHA256 वापरून वेगळी गुंडाळली जाते. लिफाफ्याचा मथळा (संभाषण, पाठवणारा, उपकरण, संदेश ओळख, प्राप्तकर्त्यांची यादी) associated data म्हणून जोडला जातो आणि Ed25519 ने सही केली जाते.
- फाइल्स: उपकरणावरच एका एकवेळच्या किल्लीने बंद केल्या जातात, ती किल्ली बंद संदेशाच्या आतच जाते. सर्व्हरवर फक्त बंद केलेला मजकूर साठवला जातो.
- कॉल्स: DTLS-SRTP माध्यमासह WebRTC. ऑफर, उत्तर आणि ICE candidates त्याच सही केलेल्या, बंद लिफाफ्यांमधून जातात, त्यामुळे सर्व्हर कॉल जोडणी वाचू किंवा बदलू शकत नाही.
- सुरक्षा क्रमांक: दोन्ही व्यक्तींच्या उपकरण किल्ल्यांचा ठसा. मध्ये कोणी नाही याची खात्री करण्यासाठी समोरासमोर तपासा. एखाद्या संपर्काच्या किल्ल्या बदलल्या तर app सूचना देते.
- प्रवेश: scrypt password हॅश, ऐच्छिक TOTP दोन-टप्पी पडताळणी हॅश केलेल्या पुनर्प्राप्ती कोडसह, 5 चुकांनंतर बंद, 12 तासांची निष्क्रियता आणि जास्तीत जास्त 24 तासांचे सत्र, HttpOnly SameSite=Strict cookie. SMS कुठेही नाही.
- Web: कडक Content-Security-Policy, कोणत्याही बाहेरच्या स्रोताला परवानगी नाही, दुसऱ्या साइटमध्ये हे पान उघडता येत नाही, production मध्ये HSTS लागू.
- Android: स्क्रीन कॅप्चरपासून संरक्षणासाठी FLAG_SECURE, माहिती उघड्या स्वरूपात पाठवणे बंद, app चा backup बंद.
सर्व्हरला काय दिसते
कोण कोणाशी आणि केव्हा बोलते, संदेश आणि फाइलचा आकार, गटाचे नाव आणि सदस्य, आणि कॉल जोडला जात आहे हे. कार्ये, करार आणि अहवालाचे मसुदे सर्व्हरवर साठवले जातात, ते टोकापासून टोकापर्यंत बंद नसतात. हे आम्ही Privacy पानावर उघडपणे सांगतो.
आम्ही चाचणी कशी करतो
प्रत्येक आवृत्ती 40 पेक्षा जास्त स्वयंचलित तपासण्यांमधून जाते, यात समाविष्ट आहे: Python मध्ये लिहिलेली protocol ची स्वतंत्र आवृत्ती जी app सोबत काम करणे आवश्यक आहे; बदललेल्या, बनावट आणि पुन्हा वापरलेल्या लिफाफ्यांवर हल्ल्यांची चाचणी; सर्व्हर डेटाबेसमध्ये उघड मजकूराचा शोध; कालबाह्य नाहीसे होणारे संदेश त्यांच्या किल्ल्यांसह खरोखर मिटवले जातात याची पडताळणी; आणि web app कोणतीही तृतीय पक्षाची विनंती करत नाही याची browser तपासणी.
ज्ञात मर्यादा
- अद्याप forward secrecy ratchet नाही: चोरलेली उपकरण किल्ली त्या उपकरणाला पाठवलेले जुने संदेश उघडू शकते. double-ratchet रचना येणाऱ्या आवृत्त्यांमध्ये येणार आहे.
- वर सांगितल्याप्रमाणे, metadata सर्व्हरला दिसते.
- वेब आवृत्तीची सुरक्षितता ब्राउझरवर आणि आमच्या सर्व्हरने पाठवलेल्या कोडवर अवलंबून असते. याच कारणामुळे वेब आवृत्ती फक्त आमंत्रण असलेल्या छोट्या चाचणीपुरती मर्यादित आहे: Google Play वरील अॅप आधी येईल, आणि त्याचे signing certificate आम्ही Namaskara मिळवा या पानावर प्रकाशित करू.
सुरक्षाविषयक समस्या कळवा
एखादी त्रुटी आढळली? कृपया ती प्रसिद्ध करण्यापूर्वी आम्हाला खाजगीरित्या कळवा — विषयात "Security" लिहून Contact द्वारे. आम्ही उत्तर देऊ, दुरुस्ती करू आणि तुम्हाला हवे असल्यास श्रेय देऊ. कृपया इतरांच्या खात्यांवर चाचणी करू नका.