Galaxus ले सहजै पहुँचयोग्य बेबी क्यामेरा रेकर्डिङबारे रिपोर्ट गर्यो; The Verge ले करिब 1.1 मिलियन Meari उपकरण प्रभावित भएको जनाएको छ। मेरा लागि यसबाट सिक्ने कुरा स्पष्ट छ: पछाडिको प्लाटफर्मले सन्देश, तस्बिर वा कुञ्जीहरूलाई प्रत्येक उपकरणअनुसार छुट्टाछुट्टै राख्न नसके नर्सरीलाई लगइनले जोगाउँदैन। Timmy ले संसारका सबै सुरक्षा समस्या समाधान गर्दैन। तर Timmy का महत्त्वपूर्ण मिडिया र पेयरिङ गोप्य जानकारी क्लाउड-क्यामेरा प्लाटफर्मभित्र रहँदैनन्।
Meari घटनामा के बिग्रिएको देखिन्छ
सार्वजनिक रिपोर्टहरूले ह्वाइट-लेबल प्लाटफर्मको वर्णन गर्छन्। धेरै देखिने ब्रान्डहरूले एउटै Meari/CloudEdge पूर्वाधारमा निर्भर क्यामेरा बेचेका थिए। यही कारणले यो घटना महत्त्वपूर्ण छ: साझा प्लाटफर्मले पहुँच-अनुमतिको सीमा गलत बनायो भने एउटा कमजोर क्यामेरा मात्र होइन, धेरै उपकरणहरू एकैपटक जोखिममा पर्छन्।
रिपोर्ट गरिएको ढाँचा कमजोर पूर्वनिर्धारित पासवर्डभन्दा पनि गम्भीर छ। स्रोतहरूले पर्याप्त प्रति-उपकरण सदस्यता नियन्त्रणबिनाका MQTT सन्देशहरू, सार्वजनिक रूपमा पुग्न सकिने तस्बिर URLहरू, कमजोर तस्बिर अस्पष्टीकरण, र स्थिर वा एपबाट निकाल्न सकिने कुञ्जीहरू वर्णन गर्छन्। यो प्लाटफर्मको विफलता हो: पूर्वाधारले अर्को खातालाई कहिल्यै उपलब्ध नहुनुपर्ने डेटा देखाउन सक्थ्यो।
| क्लाउड क्यामेराको जोखिम | Timmy को वैकल्पिक डिजाइन |
|---|---|
| ब्याकएन्डले तस्बिरसम्बन्धी घटनाहरू भण्डारण वा वितरण गर्छ। | Timmy मा नर्सरीका तस्बिरहरूको क्लाउड संग्रह छैन; मिडिया प्रत्यक्ष WebRTC हो। |
| ब्रोकर वा बकेटले हरेक उपकरणका लागि पूर्ण रूपमा पहुँच-अनुमति जाँच्नुपर्छ। | Firestore ले पेयरिङ र सिग्नलिङ डेटा मात्र बोक्छ; SDP/ICE लेखिनुअघि नै इन्क्रिप्ट हुन्छ। |
| स्थिर कुञ्जीहरूले पूरै उपकरण समूहलाई असर गर्न सक्छन्। | हरेक पेयरिङले उपकरणमै P-256 ECDH बाट निकालिएको आफ्नै कुञ्जी बनाउँछ। |
| रिले मार्गलाई मिडियामा पहुँच भएको ठानिन सक्छ। | TURN ले इन्क्रिप्ट गरिएका SRTP प्याकेटहरू पठाइदिन्छ, तर मिडिया कुञ्जीहरू पाउँदैन। |
Timmy ले गोप्य कुञ्जी कसरी बनाउँछ
चार-अक्षरको Timmy कोड जानाजानी गोप्य कुरा होइन। कोडमा यो केवल भेट्ने बिन्दु हो: एपले यसबाट एउटा meetingKey निकाल्छ, ताकि दुवै उपकरणले एउटै Firestore सार्वजनिक-कुञ्जी आदानप्रदान भेट्टाउन सकून्। निजी ECDH कुञ्जीहरू कहिल्यै उपकरणबाहिर जाँदैनन्।
त्यसपछि दुवै उपकरणले एउटै P-256 ECDH साझा गोप्य मान गणना गर्छन्। पेयरिङ कुञ्जी स्थानीय रूपमा निकालिन्छ। दुई-अङ्कको SAS साझा गोप्य मान र क्रम मिलाइएका दुवै सार्वजनिक कुञ्जीबाट निकालिन्छ। त्यो कुञ्जी आदानप्रदानमा छेडछाड भएमा उपकरणहरूले फरक नम्बर देखाउँछन्, जसले प्रयोगकर्तालाई पेयरिङ पुष्टि नगर्न संकेत गर्छ।
sequenceDiagram
participant Baby as Baby device
participant Firestore as Firestore meeting point
participant Parent as Parent device
participant Turn as TURN relay
Baby->>Baby: Generate P-256 ECDH keypair
Parent->>Parent: Generate P-256 ECDH keypair
Baby->>Firestore: Write public key only under meetingKey
Parent->>Firestore: Write public key only under meetingKey
Firestore-->>Baby: Parent public key
Firestore-->>Parent: Baby public key
Baby->>Baby: Compute sharedSecret + SAS
Parent->>Parent: Compute sharedSecret + SAS
Baby-->>Parent: Humans compare SAS on both screens
Baby->>Firestore: Write SDP/ICE encrypted with AES-256-GCM
Parent->>Firestore: Write SDP/ICE encrypted with AES-256-GCM
Baby-)Turn: WebRTC media as DTLS/SRTP packets
Turn-)Parent: Relay forwards encrypted packets
Note over Turn: TURN sees network metadata, not media keys
सरलीकृत Timmy सुरक्षा शृङ्खला: Firestore भेट्ने बिन्दु र सिग्नलिङ यातायात हो; TURN केवल रिले हो; मिडिया WebRTC इन्क्रिप्सनमै रहन्छ।
WebRTC मिडिया चुपचाप किन हेर्न सकिँदैन
WebRTC भनेको केवल “भिडियो पठाउनु” होइन। मिडिया आउनुअघि उपकरणहरूले DTLS ह्यान्डशेक गर्छन्। अडियो र भिडियोका SRTP कुञ्जीहरू त्यही सुरक्षित यातायातबाट निकालिन्छन्। त्यसपछि मिडिया प्याकेटहरू SRTP का रूपमा इन्क्रिप्ट हुन्छन्। TURN सर्भरले ती प्याकेटहरू पठाइदिन सक्छ, तर अडियो वा भिडियो खोल्न आवश्यक कुञ्जी उसले पाउँदैन।
Timmy ले त्यसअघि अर्को तह थप्छ: SDP प्रस्ताव, SDP उत्तर र ICE उम्मेदवारजस्ता सिग्नलिङ डेटा Firestore मा पुग्नुअघि AES-256-GCM ले इन्क्रिप्ट हुन्छ। Firestore ले उपकरणहरूलाई सहमति गराउन मद्दत गर्छ; त्यहाँ खुला भिडियो, अडियो वा खुला सिग्नलिङ राख्ने उद्देश्य होइन।
Timmy ले अझै दाबी नगर्ने कुरा
कुनै पनि गम्भीर बेबी मोनिटरले आफू ह्याक हुनै नसक्ने दाबी गर्नुहुँदैन। फोन नै ह्याक भएको वा अरूको नियन्त्रणमा परेको छ भने कुनै पनि एपमाथि आक्रमण हुन सक्छ। दुर्भावनापूर्ण एप बिल्डले जोखिमको ढाँचा बदल्छ। सर्भर कन्फिगरेसन सही नै रहनुपर्छ। Timmy को सीमित दाबी संरचनासम्बन्धी हो: यसले ब्याकएन्डले पढ्न सक्ने नर्सरी मिडिया अवशेषहरूबाट जोगिन्छ र सुरक्षाका हिसाबले महत्त्वपूर्ण पेयरिङ तर्कलाई सार्वजनिक कोर परियोजनामा जाँच्न मिल्ने बनाउँछ।
कुनै पनि बेबी क्यामेराबारे सोध्नुपर्ने प्रश्नहरू
- के विक्रेताले तस्बिर वा क्लिपहरू भण्डारण गर्छ?
- के मिडिया URLहरू निजी, छोटो समयका लागि मान्य र प्रत्येक उपकरणअनुसार अनुमतिप्राप्त छन्?
- के कुञ्जीहरू एपभित्र स्थिर राख्नुको सट्टा हरेक उपकरण वा पेयरिङका लागि बनाइन्छन्?
- के ब्रोकरले तपाईंले वास्तवमै स्वामित्वमा राखेको उपकरणका लागि मात्र सन्देश पठाउन सक्छ?
- के पेयरिङले मानिसलाई बीचमा हस्तक्षेप गर्ने प्रयास थाहा पाउन दिन्छ?
कोड पढ्नुहोस्
- Timmy Core मा ECDH र SAS
- Meeting key, document key, र AES-GCM
- सत्र र पेयरिङका लागि Firestore नियमहरू
- कोर परियोजनाको सुरक्षा दस्तावेज
स्रोतहरू
- बेबी क्यामेराका रेकर्डिङहरू सहजै पहुँचयोग्य · Galaxus
- दस लाख बेबी मोनिटर र सुरक्षा क्यामेरा ह्याकरहरूले सजिलै हेर्न सक्थे · The Verge
- कसैले बेबीलाई कुनामा राख्दैन · Sammy Azdoufal
- यही घटनासम्बन्धी अभिभावक मार्गदर्शिका · Baby Monitor Timmy