Galaxus විසින් ඕනෑම කෙනෙකුට ප්රවේශ විය හැකි බේබි කැමරා පටිගත කිරීම් ගැන වාර්තා කළ අතර, The Verge විසින් බලපෑමට ලක් වූ Meari උපාංග සංඛ්යාව දළ වශයෙන් මිලියන 1.1ක් බව වාර්තා කළේය. මට මෙයින් ලැබෙන පැහැදිලි පාඩම මෙයයි: පසුබිම් වේදිකාව පණිවිඩ, රූප හෝ යතුරු එක් එක් උපාංගය අනුව පැහැදිලිව වෙන් නොකරන්නේ නම්, පිවිසුම් ක්රියාවලියකින් දරුවාගේ කාමරය ආරක්ෂා නොවේ. Timmy ලෝකයේ සෑම ආරක්ෂක ගැටලුවක්ම විසඳන්නේ නැත. එහෙත් Timmy හි ආරක්ෂාවට අත්යවශ්ය මාධ්ය සහ pairing රහස් cloud-camera වේදිකාවක් තුළ ගබඩා නොවේ.
Meari සිද්ධියේ අසාර්ථක වූ බව පෙනෙන දේ
ප්රසිද්ධ වාර්තාවල විස්තර වන්නේ white-label වේදිකාවකි. විවිධ වෙළඳ නාම රැසක් එකම Meari/CloudEdge යටිතල පහසුකම මත රඳා පැවති කැමරා අලෙවි කර ඇත. මේ සිද්ධිය වැදගත් වන්නේ එබැවිනි: හවුල් වේදිකාවක් අවසර සීමාවක් වැරදි ලෙස නිර්ණය කළ විට, අවදානමට ලක් වන්නේ එක් කැමරාවක් පමණක් නොව මුළු උපාංග සමූහයමයි.
වාර්තා වූ රටාව දුර්වල පෙරනිමි මුරපද පිළිබඳ ගැටලුවකට පමණක් සීමා නොවේ. මූලාශ්රවල විස්තර වන්නේ එක් එක් උපාංගය සඳහා ප්රමාණවත් subscription පාලන නොමැති MQTT පණිවිඩ, ප්රසිද්ධියේ ප්රවේශ විය හැකි රූප URL, දුර්වල රූප සැඟවීම සහ ස්ථාවර හෝ යෙදුමෙන් උකහාගත හැකි යතුරු පිළිබඳවයි. මෙය වේදිකාවේ අසාර්ථකත්වයකි: වෙනත් ගිණුමකට කිසිසේත්ම ලබාගත නොහැකි විය යුතු දත්ත යටිතල පහසුකම හරහා හෙළි විය හැකිව තිබිණි.
| Cloud-camera අවදානම | Timmy හි ප්රතිවිරුද්ධ සැලසුම |
|---|---|
| පසුබිම් සේවාව රූප සිදුවීම් ගබඩා කරයි හෝ බෙදාහරියි. | Timmy හි දරුවාගේ කාමරයේ රූප සඳහා cloud archive එකක් නොමැත; මාධ්ය සම්ප්රේෂණය සජීවී WebRTC හරහා සිදුවේ. |
| broker එකක් හෝ bucket එකක් සෑම උපාංගයකටම නිවැරදිව අවසර ලබාදිය යුතුය. | Firestore තුළ ගෙන යන්නේ pairing සහ signaling දත්ත පමණි; SDP/ICE ලියන්නට පෙර සංකේතනය කරයි. |
| ස්ථාවර යතුරු මුළු උපාංග සමූහයකටම බලපෑ හැක. | සෑම pairing එකක් සඳහාම උපාංග තුළ P-256 ECDH මගින් ව්යුත්පන්න කළ වෙනම යතුරක් නිර්මාණය වේ. |
| relay මාර්ගයක් මාධ්යයට ප්රවේශයක් ලෙස වරදවා තේරුම් ගත හැක. | TURN සංකේතනය කළ SRTP පැකට් ඉදිරියට යවයි, නමුත් මාධ්ය යතුරු නොලැබේ. |
Timmy රහස සෑදෙන ආකාරය
අක්ෂර හතරක Timmy කේතය හිතාමතාම රහස නොවේ. කේතයේදී එය හමුවන ස්ථානයක් පමණි: යෙදුම එයින් meetingKey ලබාගනී, එවිට උපාංග දෙකටම එකම Firestore public-key හුවමාරුව සොයාගත හැක. පුද්ගලික ECDH යතුරු කිසිවිටෙක උපාංගවලින් පිටතට යන්නේ නැහැ.
පසුව උපාංග දෙකම එකම P-256 ECDH හවුල් රහස ගණනය කරයි. pairing යතුර එක් එක් උපාංගය තුළම ව්යුත්පන්න කරයි. ඉලක්කම් දෙකක SAS අගය හවුල් රහස සහ අනුපිළිවෙළට සකස් කළ public keys දෙක ඇසුරෙන් ව්යුත්පන්න කරයි. එම යතුරු හුවමාරුවට අතපෙවීමක් සිදු වුවහොත්, උපාංග දෙකෙහි වෙනස් අංක පෙන්වයි. එය pairing එක තහවුරු නොකළ යුතු බව පරිශීලකයන්ට දැනුම් දෙයි.
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 හමුවීම සහ signaling ප්රවාහනය සඳහාය; TURN relay එකක් පමණි; මාධ්යය WebRTC සංකේතනයෙන් ආරක්ෂිතව පවතී.
WebRTC මාධ්යය හොරෙන් නැරඹිය නොහැක්කේ ඇයි
WebRTC යනු "වීඩියෝ යවන්න" පමණක් නොවේ. මාධ්යය ගලායෑමට පෙර උපාංග DTLS handshake එකක් සිදු කරයි. ශ්රව්ය සහ වීඩියෝ සඳහා SRTP යතුරු එම ආරක්ෂිත ප්රවාහනයෙන් ලබාගනී. පසුව මාධ්ය පැකට් SRTP ලෙස සංකේතනය කරයි. TURN සේවාදායකයකට ඒ පැකට් ඉදිරියට යැවිය හැකි නමුත්, ශ්රව්යය හෝ වීඩියෝව විවෘත කිරීමට අවශ්ය යතුරු එයට නොලැබේ.
Timmy ඊට පෙර තවත් ස්ථරයක් එක් කරයි: SDP offers, SDP answers සහ ICE candidates වැනි signaling දත්ත Firestore වෙත ළඟා වීමට පෙර AES-256-GCM මගින් සංකේතනය කරයි. Firestore උපාංගවලට සම්බන්ධතාව ගැන එකඟ වීමට උදව් කරයි; එය පැහැදිලි පෙළ වීඩියෝ, ශ්රව්ය හෝ පැහැදිලි පෙළ signaling තබන ස්ථානයක් නොවේ.
Timmy තවමත් නොකියන දේ
කිසිදු වගකීම් සහගත බේබි මොනිටරයක් තමන් hack කළ නොහැකි බව ප්රකාශ නොකළ යුතුය. දුරකථනයක් අනවසර පාලනයට ලක් වුවහොත් ඕනෑම යෙදුමකට ප්රහාර එල්ල කළ හැක. ද්වේෂසහගත යෙදුම් build එකක් අවදානම් ආකෘතිය වෙනස් කරයි. සේවාදායක සැකසුම් නිවැරදිව පවත්වාගත යුතුය. Timmy කරන වඩා සීමිත ප්රකාශය එහි ව්යුහය පිළිබඳවයි: එය පසුබිම් සේවාවට කියවිය හැකි දරුවාගේ කාමරයේ මාධ්ය ගොනු හෝ දත්ත ඇතිවීම වළක්වන අතර, ආරක්ෂාවට අත්යවශ්ය pairing logic එක public core project එක තුළ පරීක්ෂා කළ හැකි ලෙස තබයි.
ඕනෑම බේබි කැමරාවක් ගැන අසන්නට ප්රශ්න
- විකුණන්නා රූප හෝ clips ගබඩා කරනවාද?
- මාධ්ය URL පෞද්ගලික, කෙටි කාලීන සහ එක් එක් උපාංගයට අනුව අවසර ලබා දී ඇතිද?
- යතුරු යෙදුමක් තුළ ස්ථාවරව තිබෙනවා වෙනුවට එක් එක් උපාංගයට හෝ pairing එකකට සාදනවාද?
- broker එකට පණිවිඩ ලබා දිය හැක්කේ ඔබට සැබැවින්ම අයිති උපාංගය සඳහා පමණක්ද?
- pairing මගින් man-in-the-middle උත්සාහයක් මනුෂ්යයෙකුට හඳුනාගත හැකිද?
කේතය කියවන්න
- Timmy Core හි ECDH සහ SAS
- Meeting key, document key සහ AES-GCM
- sessions සහ pairing සඳහා Firestore නීති
- core project එකේ ආරක්ෂක ලේඛන
මූලාශ්ර
- බේබි කැමරාවල පටිගත කිරීම් නිදහසේ ප්රවේශ විය හැකි විය · Galaxus
- බේබි මොනිටර් සහ ආරක්ෂක කැමරා මිලියනයක් හැකර්වරුන්ට පහසුවෙන් නැරඹිය හැකි විය · The Verge
- කිසිවෙකු බේබිව කොනකට දමන්නේ නැහැ · Sammy Azdoufal
- එම සිද්ධිය සඳහා දෙමාපිය මාර්ගෝපදේශය · Baby Monitor Timmy