Privastead - ระบบกล้องรักษาความปลอดภัยภายในบ้านส่วนตัวแบบโอเพนซอร์ส (รองรับการเข้ารหัสแบบ End-to-End)
(github.com/privastead)- Secluso คือระบบกล้องรักษาความปลอดภัยภายในบ้านแบบ DIY ส่วนตัวที่ใช้ Raspberry Pi เป็นฐาน ช่วยให้ดูภาพสด การแจ้งเตือน และวิดีโอที่บันทึกไว้ได้จากโทรศัพท์ โดยไม่ต้องส่งภาพให้ผู้ให้บริการคลาวด์
- การเข้าถึงจากระยะไกลรองรับ การเข้ารหัสแบบ End-to-End และในเส้นทางการตั้งค่าทั่วไป Secluso Deploy จะจัดการการสร้างอิมเมจ การจับคู่ และการตั้งค่ารีเลย์ โดยตั้งเป้าให้ตั้งค่าเสร็จภายใน 5 นาที
- ฮาร์ดแวร์ที่รองรับคือ Raspberry Pi Zero 2W, Raspberry Pi Camera Module V1/V2 หรือกล้องที่ใช้เซนเซอร์ Sony OV5647·IMX219, โทรศัพท์ Android หรือ iPhone, บัญชีรีเลย์บน Linux VPS หรือบริการโฮสต์รีเลย์เบต้าฟรีสำหรับการทดสอบ
- วิธีการติดตั้งคือฉีดข้อมูลรับรองเฉพาะที่สร้างจากเครื่องของผู้ใช้ลงในอิมเมจ Secluso OS ที่พรีบิลด์ไว้ล่วงหน้า พร้อมให้บิลด์แบบทำซ้ำได้ของไบนารีรันไทม์ เครื่องมือดีพลอย แอป Android และ Secluso OS
- โมเดลความปลอดภัยประกอบด้วยการออกแบบรีเลย์ที่ไม่ต้องเชื่อถือ, forward secrecy และ post-compromise security แต่จำเป็นต้องตรวจสอบกฎหมายท้องถิ่นเกี่ยวกับการใช้การเข้ารหัส และผู้ใช้ต้องรับผิดชอบการใช้งานเอง
สิ่งที่ Secluso มอบให้
- Secluso คือระบบกล้องรักษาความปลอดภัยภายในบ้านส่วนตัวสำหรับ Raspberry Pi
- ผู้ใช้สามารถใช้ฟีเจอร์ต่อไปนี้บนโทรศัพท์ได้
- ดูภาพสด
- รับการแจ้งเตือน
- เปิดดูวิดีโอที่บันทึกไว้
- เป้าหมายคือการเข้าถึงวิดีโอรักษาความปลอดภัยภายในบ้านจากระยะไกลโดยไม่ต้องฝากไว้กับผู้ให้บริการคลาวด์
- โปรเจ็กต์นี้พัฒนาโดย Secluso, Inc. และระบุผู้ร่วมก่อตั้งคือ Ardalan Amiri Sani และ John Kaczman
ฟีเจอร์หลัก
-
การเข้าถึงจากระยะไกลแบบเข้ารหัส End-to-End
- รองรับการเข้าถึงภาพสด การแจ้งเตือน และวิดีโอที่บันทึกไว้จากโทรศัพท์
-
ตั้งค่าใน 5 นาที
- ในเส้นทางการตั้งค่าทั่วไป Secluso Deploy จะจัดการการสร้างอิมเมจ การจับคู่ และการตั้งค่ารีเลย์
-
โอเพนซอร์ส
- สามารถตรวจสอบโค้ด โฮสต์เอง และร่วมพัฒนาได้
-
รีลีสที่ทำซ้ำได้อย่างสมบูรณ์
- สามารถตรวจสอบไบนารีรันไทม์ เครื่องมือดีพลอย แอปมือถือ Android และ Secluso OS ได้จากซอร์สโค้ดสาธารณะ
ข้อกำหนด
-
Raspberry Pi
- Raspberry Pi Zero 2W
-
กล้อง
- Raspberry Pi Camera Module V1 หรือ V2
- หรือกล้องที่ใช้เซนเซอร์ Sony OV5647·IMX219
-
รีเลย์
- การเข้าสู่ระบบ Linux VPS ของผู้ใช้
- หรืออีเมลเพื่อขอใช้บริการโฮสต์รีเลย์เบต้าฟรีระหว่างการทดสอบ
-
โทรศัพท์
- Android หรือ iPhone สำหรับการจับคู่ การแจ้งเตือน และการเล่นกลับ
ขั้นตอนการตั้งค่าอย่างรวดเร็ว
- ดาวน์โหลด Secluso Deploy จากรีลีสล่าสุด
- สร้าง อิมเมจ Secluso OS แบบปรับให้เหมาะกับผู้ใช้และ QR code ความลับของกล้องในเครื่องโลคัล
- ให้ Secluso Deploy โปรวิชันรีเลย์ของผู้ใช้ผ่าน SSH หรือส่งอีเมลเพื่อขอใช้บริการโฮสต์รีเลย์เบต้าฟรีสำหรับการทดสอบ
- บูต Raspberry Pi และจับคู่ในแอปมือถือ
- หากต้องเลือกฮาร์ดแวร์หรือ VPS, Build Your Own Guide จะให้คำแนะนำฮาร์ดแวร์และเส้นทางเริ่มต้นแบบง่าย
แอปมือถือ
- หลังตั้งค่าแล้ว สามารถใช้แอปมือถือเพื่อตรวจสอบจากระยะไกล ทบทวนเหตุการณ์ล่าสุด และเปิดคลิปที่เข้ารหัสไว้ได้
- ลิงก์แอปมือถือ
ความปลอดภัยและบิลด์ที่ทำซ้ำได้
- โมเดลความปลอดภัยประกอบด้วย การออกแบบรีเลย์ที่ไม่ต้องเชื่อถือ, forward secrecy และ post-compromise security
- วิธีรายงานช่องโหว่อยู่ใน SECURITY.md
- โปรเจ็กต์นี้แจกจ่าย Secluso OS ซึ่งเป็นอิมเมจ Raspberry Pi ที่พรีบิลด์ไว้ล่วงหน้า
- Secluso Deploy จะสร้างข้อมูลรับรองเฉพาะบนเครื่องของผู้ใช้ และฉีดลงในอิมเมจที่พรีบิลด์ไว้
- Secluso OS, เครื่องมือดีพลอย, ไบนารีรันไทม์ และแอป Android สามารถทำซ้ำได้อย่างสมบูรณ์
- เอกสารสำหรับการตรวจสอบมีดังนี้
- releases/README.md: ตัวตรวจสอบความทำซ้ำได้ของไบนารีและเครื่องมือดีพลอย
- mobile_client/tool/repro/README.md: ตัวตรวจสอบความทำซ้ำได้ของแอปมือถือ Android
- os/README.md: ตัวตรวจสอบความทำซ้ำได้ของ Secluso OS
- ควรตรวจสอบอิมเมจก่อนที่เครื่องมือดีพลอยจะแก้ไข และต้องดาวน์โหลดโดยตรงจากรีลีส
การมีส่วนร่วมและข้อควรระวัง
- สามารถส่งคำถามและร่วมพัฒนาได้ โดยการมีส่วนร่วมจะเป็นไปตามไลเซนส์ของโปรเจ็กต์
- ช่องทางติดต่อคือ secluso@proton.me
- โปรเจ็กต์นี้ใช้ การเข้ารหัส จึงจำเป็นต้องตรวจสอบกฎหมายท้องถิ่นก่อนใช้งาน
- ผู้ใช้ต้องใช้งานด้วยความรับผิดชอบของตนเอง และผู้สร้างโปรเจ็กต์ไม่ได้ให้การรับประกันเกี่ยวกับความเป็นส่วนตัวหรือความปลอดภัยภายในบ้าน
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
เป็นโปรเจกต์ที่เจ๋งมาก ก่อนหน้านี้ไม่ได้ติดตั้ง กล้องรักษาความปลอดภัย ที่บ้านด้วยเหตุผลที่กล่าวไว้ข้างต้น แต่พอเห็นสิ่งนี้ก็ทำให้ต้องคิดใหม่
ถ้ารวมกับเฟิร์มแวร์โอเพนซอร์ส https://github.com/openmiko/openmiko น่าจะเป็นชุดที่ทรงพลังสำหรับ คนที่ให้ความสำคัญกับความเป็นส่วนตัว
แบบนั้นจะไม่ต้องมีเครื่องแยกต่างหากมาทำหน้าที่เป็นฮับ ทำให้ตั้งค่าง่ายขึ้นมาก
ถ้าต้องการดีไซน์ ฮาร์ดแวร์+เฟิร์มแวร์โอเพนซอร์ส สำหรับกล้องที่มีเซ็นเซอร์ตรวจจับการเคลื่อนไหว มีอยู่ที่นี่:
https://github.com/maxlab-io/tokay-lite-pcb
ซื้อได้ด้วย:
https://www.mouser.ca/ProductDetail/Maxlab/TOKAY-LITE-01?qs=...
ผลิตภัณฑ์แบบปิดที่ผมเคยเห็นทั้งหมดตั้งค่ารูรับแสง/ค่าแสงตามค่าเฉลี่ยของเฟรม ทำให้ป้ายทะเบียนออกมาเป็นสี่เหลี่ยมสีขาวล้วน
เวลาบันทึกตอนกลางคืนควรทำให้มันไล่สแกนทั้งค่าแสงสว่างและค่าแสงมืด
ถ้าใช้ KEM[1] เพื่อสร้างโครงสร้างแบบ sealed_box[2] ก็จะปกป้อง ความเป็นส่วนตัว ได้แม้ในสถานการณ์ที่ฮาร์ดแวร์กล้องถูกยึดไปทางกายภาพ
ยังสามารถให้ ความทนทานต่อควอนตัม ได้ด้วยการใช้ ML-KEM หรือ Kyber ร่วมกับ McEliece-KEM, ECDH หรือ RSA-KEM
ในระบบแบบนี้ แนวทางคีย์สมมาตรแบบดั้งเดิมเองก็ทนทานต่อควอนตัมอยู่แล้ว แต่ฮาร์ดแวร์กล้องจะมีคีย์สมมาตรระยะยาวอยู่ ซึ่งอาจถูกดึงออกมาได้หลังถูกยึด
กลไกแรตเชตที่แฮชคีย์ทุกช่วงเวลาหนึ่งอาจช่วยได้ แต่ไม่มีการกู้คืนตัวเอง และยังมีความเสี่ยงที่คีย์ในอดีตจะถูกกู้คืนจากที่จัดเก็บถาวร
[1] <https://en.wikipedia.org/wiki/Key_encapsulation_mechanism>
[2] <https://libsodium.gitbook.io/doc/public-key_cryptography/sea...>
เมื่อหลายปีก่อนเคยอยากสร้าง ระบบรักษาความปลอดภัยภายในบ้านแบบอธิปไตยตนเอง สำหรับทั้งชุมชนและ HOA พูดคุยกับวิศวกร IBM เกี่ยวกับแนวทางสแกนวิดีโอด้วยโมเดลแมชชีนเลิร์นนิงใกล้กับอุปกรณ์
ซื้อกล้องที่ใช้ RTMP และ RTSP แล้วส่งให้เหล่านักพัฒนา จากนั้นการสตรีมไปที่ใดสักแห่งด้วย WebRTC ก็ไม่ได้ยาก WebRTC มีการเข้ารหัสแบบ end-to-end
แต่ use case ของผมคือการเก็บวิดีโอที่เข้ารหัสไว้ และต้องใช้คีย์คนละชุดในแต่ละนาทีต่อกล้องแต่ละตัว พร้อมกำหนดโปรโตคอลถอดรหัสให้ชัดเจน
ผมมองว่าปัญหาความปลอดภัยไม่ได้มีแค่ปลายด้านหนึ่ง คือการบันทึกอาชญากรรมเท่านั้น แต่ยังรวมถึงปลายอีกด้าน คือ การสอดส่องจำนวนมาก และคำถามว่า “ใครจะเฝ้าดูผู้เฝ้าดู” ด้วย
บทความที่ยาวกว่านี้อยู่ที่นี่: https://community.qbix.com/t/balancing-privacy-and-accountab...
ถ้าอยากร่วมทำสตาร์ทอัพที่ขายให้เจ้าของบ้านและ gated community ติดต่อ greg ที่โดเมน qbix.com ได้
ถ้าพูดว่าเข้ารหัสแบบ end-to-end ผมคงเข้าใจว่าหมายถึงทราฟฟิกระหว่างกล้องกับแอปถูกเข้ารหัส แต่ในความเป็นจริงไม่ใช่แบบนั้น
ถ้าจะทำแบบนั้น แอปในตัวกล้องต้องรองรับระบบ และในกล้องจำนวนมากก็ทำได้อยู่
โดยเฉพาะเมื่อเพิ่มบริบทว่ามีการใช้เซิร์ฟเวอร์และบริการแจ้งเตือนที่ไม่น่าเชื่อถือ
วางอุปกรณ์ทุกตัวที่ไม่น่าเชื่อถือ รวมถึงกล้อง ไว้ใน VLAN ที่ไม่มีการเข้าถึงอินเทอร์เน็ต และให้ main VLAN เข้าถึงได้ แต่ปิดกั้นทิศทางย้อนกลับ
ใน main VLAN รัน Frigate และ Home Assistant เพื่อเชื่อมต่อกับกล้อง จากนอกบ้านก็เชื่อมต่อผ่าน WireGuard
สงสัยว่าการใส่องค์ประกอบ “เซิร์ฟเวอร์” ที่ไม่น่าเชื่อถือมีจุดประสงค์อะไร ตั้งใจจะรันในที่อื่นที่ไม่ใช่ “camera hub” ที่เชื่อถือได้ เช่น เซิร์ฟเวอร์คลาวด์ หรือเปล่า?
ประเด็นนี้เป็นหัวใจของข้ออ้างที่ว่า Privastead มีความเป็นส่วนตัวดีกว่าโซลูชันอื่น แต่ไม่มีคำอธิบาย
NVR ของผม [1] ใช้เฉพาะเซิร์ฟเวอร์ที่เชื่อถือได้ซึ่งอยู่ในอาคารเดียวกับกล้อง ผมก็แนะนำไม่ให้กล้องเข้าถึงอินเทอร์เน็ตเหมือนกัน เพราะซอฟต์แวร์แบบปิดมักเป็นฝันร้ายโดยสมบูรณ์ทั้งด้านความเป็นส่วนตัวและความปลอดภัย
[1] https://github.com/scottlamb/moonfire-nvr
ส่วนตัวผมใช้ VM ราคาถูกของ DigitalOcean อยู่
ส่วนที่ว่า “รับประกันว่ามีเพียงฮับและแอปมือถือเท่านั้นที่เข้าถึงวิดีโอที่ไม่ได้เข้ารหัสได้” น่าสนใจ
ในแง่ของการใช้งาน OpenMLS ด้วย Rust, การจัดเก็บแบบ end-to-end ที่ปลอดภัย และ TLS vectors ถ้าชุดกล้องบ้านแบบ DIY เชื่อมต่ออินเทอร์เน็ตผ่าน Privastead hub ก็จะไม่ต้องมี secure tunneling
ดูเหมือนว่ายังสามารถใส่เทคโนโลยี การจดจำใบหน้า และการมอนิเตอร์แบบเรียลไทม์เข้าไปได้ด้วย
ถ้าเคยเห็น eigenfaces จะรู้สึกว่ามันดูเหมือนมนุษย์ยุคแรก วิธีหนึ่งคือการวิเคราะห์องค์ประกอบหลัก (PCA) ซึ่งแยกคุณลักษณะหลักของใบหน้ามนุษย์ออกจากนอยส์ที่เกี่ยวข้องกับลักษณะที่เป็นแก่นที่สุดของใบหน้า
ในเมื่อเน้นเรื่องความปลอดภัยกันมาก การที่มีกล้องที่รองรับ Secure Boot ก็น่าจะเป็นประเด็นที่น่าสนใจได้เช่นกัน เท่าที่ทราบ Axis เป็นหนึ่งในผู้ผลิตที่ให้ความสำคัญกับฟีเจอร์นี้