ระบบสำรองข้อมูลแบบปลอดภัยของ Signal
(signal.org)- Signal เปิดตัวฟีเจอร์สำรองประวัติการสนทนาในที่สุด
- ระบบสำรองข้อมูลแบบปลอดภัย เป็นแบบ opt-in โดยเปิดใช้งานได้เฉพาะเมื่อผู้ใช้ต้องการ
- ข้อมูลสำรองทั้งหมดถูก เข้ารหัสแบบต้นทางถึงปลายทาง ทำให้แม้แต่เซิร์ฟเวอร์ของ Signal ก็ไม่สามารถเข้าถึงได้
- สำรองมีเดียย้อนหลัง 45 วันและข้อความทั้งหมดได้ฟรี ส่วนการสำรองมีเดียที่เกินกว่านั้นเป็นแบบสมัครสมาชิกแบบเสียเงิน
- การกู้คืนบทสนทนาทำได้ด้วย คีย์กู้คืน 64 หลัก เท่านั้น และหากทำคีย์หายจะไม่สามารถกู้คืนได้
แนะนำระบบสำรองข้อมูลแบบปลอดภัยของ Signal
ที่ผ่านมา หากโทรศัพท์สูญหายหรือเสียหาย ประวัติข้อความใน Signal ก็จะหายไปทั้งหมดด้วย ทำให้หลายคนกังวลเกี่ยวกับข้อมูลที่ไม่อาจเรียกคืนได้ เช่น รูปถ่ายครอบครัว เอกสารสำคัญ และบทสนทนาที่มีคุณค่า หนึ่งในคำขอที่ผู้ใช้เรียกร้องมากที่สุดก็คือการเพิ่มฟีเจอร์สำรองข้อความ เพื่อแก้ปัญหานี้ Signal จึงได้ออกแบบและพัฒนา secure backups ขึ้นมา ขณะนี้ฟีเจอร์ดังกล่าวเปิดให้ใช้ก่อนใน Signal เวอร์ชันเบต้าสำหรับ Android และจะตามมาบน iOS และเดสก์ท็อปในเร็ว ๆ นี้
Secure Backups 101
- ระบบสำรองข้อมูลแบบปลอดภัย เป็นฟีเจอร์ที่ผู้ใช้ต้องยินยอมเอง (opt-in) เพื่อให้ Signal บันทึกประวัติการสนทนาเป็น คลังข้อมูลที่รักษาความเป็นส่วนตัว แบบอัตโนมัติทุกวัน
- แน่นอนว่าผู้ใช้สามารถเลือกไม่ใช้ฟีเจอร์นี้ได้ และมีเฉพาะผู้ที่ต้องการสำรองข้อมูลเท่านั้นที่ต้องตั้งค่าเพิ่มเติม
- สามารถสำรองและกู้คืนข้อความทั้งหมดพร้อม ข้อมูลมีเดียย้อนหลัง 45 วันล่าสุด ได้ฟรี
- การสำรองมีเดียที่เกิน 45 วันรวมถึงประวัติข้อความทั้งหมดในรูปแบบเต็ม จะให้บริการผ่านแพลนสมัครสมาชิกแบบเสียเงินเดือนละ 1.99 ดอลลาร์
- เนื่องจาก Signal เป็นองค์กรไม่แสวงหากำไรที่ดำเนินงานเองโดยไม่ขายข้อมูลผู้ใช้ ค่าใช้จ่ายสำหรับการจัดเก็บและย้ายข้อมูลมีเดียจำนวนมากจึงครอบคลุมผ่านบริการแบบชำระเงินแยกต่างหาก
Anatomy of Secure Backups: ความเป็นส่วนตัวต้องมาก่อนเสมอ
- ทุกฟีเจอร์ของ Signal ยึดตามหลักการออกแบบที่ให้ ความเป็นส่วนตัวมาก่อน
- ระบบถูกออกแบบด้วย เทคโนโลยี zero-knowledge เพื่อไม่ให้คลังข้อมูลสำรองเชื่อมโยงโดยตรงกับบัญชีผู้ใช้หรือข้อมูลการชำระเงินใด ๆ
- องค์ประกอบด้านความปลอดภัยที่สำคัญคือ คีย์กู้คืน 64 หลัก ซึ่งสร้างขึ้นบนอุปกรณ์และจะไม่ถูกเก็บไว้บนเซิร์ฟเวอร์
- มีเพียง คีย์กู้คืน นี้เท่านั้นที่ใช้ปลดล็อกข้อมูลสำรองและกู้คืนข้อความได้ และหากผู้ใช้ทำคีย์หาย แม้แต่ Signal ก็ไม่สามารถกู้คืนให้ได้
- ควรเก็บคีย์กู้คืนไว้ในที่ปลอดภัย เช่น บันทึกหรือโปรแกรมจัดการรหัสผ่าน และหากต้องการก็สามารถสร้างคีย์ใหม่ได้
- เป้าหมายของ Signal คือ การเก็บข้อมูลให้น้อยที่สุด ความโปร่งใส และการประมวลผลข้อมูลที่ไม่สามารถเชื่อมโยงกลับไปยังบุคคลอื่นได้
- Signal ยังคงยึดหลักให้ ความปลอดภัย สำคัญเหนือทุกเป้าหมายอื่นเสมอ
วิธีเปิดใช้งานระบบสำรองข้อมูลแบบปลอดภัย
- สามารถเปิดใช้งานฟีเจอร์ระบบสำรองข้อมูลแบบปลอดภัยได้จากเมนูตั้งค่าของ Signal
- ขณะนี้ใช้งานได้เฉพาะใน เวอร์ชันเบต้าสำหรับ Android เท่านั้น และมีแผนขยายไปยังทุกแพลตฟอร์มในเร็ว ๆ นี้
- เมื่อเปิดใช้งานแล้ว อุปกรณ์จะสร้าง คลังข้อมูลสำรองแบบปลอดภัยชุดใหม่ทุกวัน โดยอัตโนมัติและเขียนทับของวันก่อนหน้า
- หากจำเป็นต้องกู้คืน จะมี เพียงผู้ใช้เท่านั้นที่เข้าถึงได้ผ่านคีย์กู้คืน
- ในการกู้คืนฐานข้อมูลข้อความ จะไม่รวม ‘ข้อความดูได้ครั้งเดียว’ หรือข้อความที่ตั้งเวลาให้ลบภายใน 24 ชั่วโมง
- เนื่องจากข้อมูลสำรองอัปเดตทุกวัน เนื้อหาที่ถูกลบภายใน 24 ชั่วโมงที่ผ่านมา หรือข้อความที่ตั้งค่าให้หมดอายุ จะไม่ถูกรวมอยู่ในข้อมูลสำรองใหม่
แผนในอนาคตและฟีเจอร์เพิ่มเติม
- Signal มีแผนพัฒนาตัวเลือก การสำรองข้อมูลที่ปลอดภัย รูปแบบอื่นเพิ่มเติม โดยเริ่มจากฟีเจอร์นี้
- ในอนาคต ผู้ใช้จะสามารถเลือกบันทึกข้อมูลสำรองแบบปลอดภัยไว้ในตำแหน่งที่ต้องการได้เอง หรือใช้งานฟีเจอร์ ย้ายประวัติการสนทนาที่เข้ารหัสแล้ว ระหว่าง Android, iOS และเดสก์ท็อป
- แม้ตอนนี้จะรองรับเฉพาะ Android เบต้า แต่ก็มีแผน เปิดใช้อย่างเป็นทางการและปล่อยเต็มรูปแบบบน iOS และเดสก์ท็อป ในเร็ว ๆ นี้
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
รอฟีเจอร์ที่ย้ายประวัติข้อความที่เข้ารหัสระหว่าง Android, iOS และเดสก์ท็อปได้อย่างอิสระมานานแล้ว
ตอนย้ายจาก Android ไป iOS ผมสูญเสียประวัติข้อความทั้งหมดในแอปแชตที่ใช้ E2EE ทุกตัว (Signal, WhatsApp, Threema ฯลฯ) โดยมีแค่ Telegram ที่เป็นข้อยกเว้นเพราะไม่มีการเข้ารหัส
ในกรณีของ WhatsApp มีแอปสำหรับย้ายข้อมูล แต่ล้มเหลวเพราะเกิดข้อผิดพลาดระหว่างการตั้งค่าเริ่มต้นของ iPhone
Signal เองก็มีฟีเจอร์สำรองข้อมูลอยู่แล้ว แต่มีปัญหาเพราะไม่รองรับข้ามเวอร์ชันของระบบปฏิบัติการ
ถ้าตั้งค่าเดสก์ท็อปไว้ล่วงหน้า ก็สามารถย้ายประวัติไปพร้อมกันได้
แม้สื่อที่เก่ากว่า 45 วันจะหายไป แต่ก็น่าจะใช้เป็นทางออกชั่วคราวได้ก่อนที่ระบบสำรองข้อมูลแบบเข้ารหัสใหม่จะเปิดใช้อย่างเป็นทางการ
เท่าที่รู้ ตอนนี้ Signal ก็มีฟีเจอร์โอนย้ายระหว่างอุปกรณ์แล้ว
Signal แจ้งว่าเมื่อเปิดใช้การสำรองข้อมูลแบบปลอดภัย อุปกรณ์จะสร้างไฟล์สำรองใหม่ทุกวันและแทนที่ไฟล์เก่า
ถ้าไม่ใช่ incremental backup แต่เป็นการอัปโหลดไฟล์สำรองทั้งก้อนขนาด 15GB ใหม่ทุกวัน ก็สงสัยว่าทำไมต้องทำแบบนั้น
สงสัยว่ามันมีประเด็นด้านความปลอดภัยหรือไม่
ดูเหมือนว่าทั้ง recovery key และ Signal PIN ถูกใช้เพื่อกู้คืนข้อมูล เลยอยากถามว่าทำไมไม่รวมเข้าด้วยกัน
การให้ผู้ใช้เก็บ recovery key ยาว 64 ตัวอักษรเอง รู้สึกเป็นวิธีที่ค่อนข้างหยาบและไม่ค่อยเป็น Signal เท่าไร
ผู้ใช้ส่วนใหญ่น่าจะถ่ายสกรีนช็อตเก็บไว้ และมีความเสี่ยงที่ภาพนั้นจะถูกสำรองขึ้นคลาวด์แบบไม่เข้ารหัส
ถ้าเป็นการสำรองแบบโลคัล อย่างน้อยก็ยังต้องเข้าถึงเครื่องนั้นทางกายภาพถึงจะได้ข้อมูล เลยอาจน่ากังวลน้อยกว่า แต่ถ้าเก็บบนคลาวด์ก็ดูเหมือนถอยหลังในแง่ความปลอดภัยหรือเปล่า
น่าจะเป็นเพราะฟอร์แมตสำรองข้อมูลเป็นคอนเทนเนอร์ก้อนเดียวคล้าย Veracrypt volume และขนาดจะโตขึ้นเรื่อย ๆ เลยทำ incremental backup ไม่ได้
ผมเคยเจอปัญหาคล้ายกันกับการสำรอง loopback LUKS volume
วิธีที่สวยกว่าคือเข้ารหัสแยกเป็นรายไฟล์แบบ Gocryptfs แล้วค่อยซิงก์เฉพาะที่จำเป็น
ผมคิดว่าน่าจะด้วยเหตุผลเดียวกับที่ประตูหน้าบ้านและประตูหลังบ้านใช้กุญแจคนละดอก
PIN เดาได้ง่ายกว่ามากในกรณีที่เซิร์ฟเวอร์เก็บไฟล์สำรองถูกโจมตี
บนอุปกรณ์ยังป้องกันด้วยการจำกัดจำนวนครั้งในการลอง (throttling) ได้ แต่บนพื้นที่เก็บข้อมูลระยะไกลจะเสี่ยงกว่า
ฟีเจอร์สำรองข้อมูลใหม่นี้ดูดีมากจริง ๆ
หวังว่าจะทดสอบการกู้คืนได้ง่าย
โดยเฉพาะอยากลองกู้คืนบนอุปกรณ์ใหม่ด้วยคีย์ลับ โดยไม่กระทบกับอุปกรณ์หลัก
ตอนติดตั้ง Signal บนพีซีแล้วไม่เห็นประวัติข้อความทำให้ไม่สะดวก
ถ้าฟีเจอร์สำรองข้อมูลช่วยให้ดูประวัติข้อความทั้งหมดบนพีซีได้ก็คงดีมาก
การไล่ดูข้อความบนหน้าจอใหญ่นั้นมีประโยชน์มาก
สามารถกู้คืนไปยังอุปกรณ์ใหม่ได้ และอุปกรณ์เดิมจะถูกยกเลิกการลงทะเบียน แต่ข้อมูลยังคงอยู่
ถ้ามีปัญหากับการกู้คืนบนอุปกรณ์ใหม่ ก็สามารถลงทะเบียนอุปกรณ์เดิมใหม่เพื่อกลับไปใช้เหมือนเดิมได้
ทีมพัฒนาก็ทดสอบแบบนี้กับข้อมูลของตัวเองโดยตรง
ระบบสำรองข้อมูลของ Signal บน Android เดิมทีเป็นแบบออฟไลน์ ฟรี และแทบจะทำได้ตลอดเวลาอยู่แล้ว
มันจะสร้างไฟล์สำรองขนาดหลาย GB ไว้ในโฟลเดอร์ Signal บนโทรศัพท์ แล้วก็แค่นำออกมาใส่ในโทรศัพท์เครื่องใหม่
ไฟล์ถูกเข้ารหัสด้วย passcode และยังสามารถดึง db ออกมาได้
ขอแนะนำ signalbackup-tools
ผมเจอปัญหาสองอย่างกับระบบสำรองแบบเดิม
บางครั้งเขียนไฟล์สำรองจนโทรศัพท์ตัวเองชาร์จไฟไม่เข้าเลยด้วยซ้ำ
หลังจาก SyncThing หายไปจาก PlayStore ก็แทบไม่มีวิธีที่ง่ายเป็นพิเศษแล้ว
ผมอยากได้การสำรองแบบโลคัลที่ดีกว่านี้ แต่ในทางปฏิบัติ คลาวด์แบ็กอัปราคา $2 ต่อเดือนก็เป็นทางเลือกที่ถูกและใช้งานได้จริง
การต้องส่งออกไฟล์เองแล้วเก็บและจัดการแยกต่างหากนั้น ผมไม่รู้สึกว่ามัน "ฟรี" จริง ๆ
ผมคิดว่าราคาของบริการใหม่นี้เหมาะสมแล้ว
สงสัยว่าต่อไปจะยังคงมีการสำรองแบบเดิมอยู่หรือไม่
ทริกนี้ใช้ไม่ได้ผลกับผม
แอปไม่ยอมกู้คืนเลย
แต่ก่อน WhatsApp ก็เป็นแบบเดียวกัน ตอนนี้ทั้งสองแอปต่างก็มีฟีเจอร์ย้ายข้อมูลโดยตรงแล้ว
สงสัยว่าทำไมตัวเลือกสำรองของ Signal ถึงมีแค่แบบโลคัล (ยืดหยุ่นแต่ทำได้เฉพาะบางกรณี) หรือบนเซิร์ฟเวอร์ของ Signal เอง (ไม่ยืดหยุ่น และผู้ใช้บางรายอาจทำไม่ได้ด้วยเหตุผลทางกฎหมาย) แค่สองแบบ
ผมคิดว่าผู้ใช้ Signal จำนวนมากน่าจะอยากใช้คลาวด์สำหรับสำรอง/ซิงก์ที่พิสูจน์แล้วว่าเชื่อถือได้
เมื่อ Signal มีโครงสร้างพื้นฐานอยู่แล้ว ก็น่าจะรองรับการเลือกปลายทางสำรองข้อมูลได้ เช่น iCloud บน iOS หรือ Google Drive บน Android (แม้ Google Drive อาจซับซ้อนในการพัฒนา)
จุดสำคัญคือ Signal แค่ต้องเข้ารหัสข้อมูลทั้งหมดให้สมบูรณ์ก่อนเก็บไว้กับผู้ให้บริการภายนอกเสมอ
สำหรับผู้ใช้แล้ว การสำรองไปยังคลาวด์ภายนอกที่หลากหลายอาจสบายใจกว่าการต้องเชื่อใจเซิร์ฟเวอร์ของ Signal เอง
และยังช่วยลดความเสี่ยงที่วันหนึ่ง Signal จะอยากนำข้อมูลไปสร้างมูลค่าทางธุรกิจด้วย
คิดว่าน่าจะเป็นไปได้
มีข้อความระบุว่า “ในอนาคตมีแผนจะเพิ่มความสามารถในการบันทึกการสำรองข้อมูลแบบปลอดภัยไปยังตำแหน่งที่คุณต้องการ”
ถ้ามีไฟล์สำรองอยู่ในโทรศัพท์แล้ว ก็แค่ใช้บริการสำรองข้อมูลที่ตัวเองใช้อยู่ซิงก์ไฟล์สำรองนั้นอัตโนมัติไม่ใช่หรือ
น่าจะตั้งให้ซิงก์อัตโนมัติทุกวันได้ไม่ใช่หรือ
ถึง Signal จะให้ไฟล์สำรองแบบเข้ารหัสสมบูรณ์ แต่ผมคิดว่าสำหรับผู้ใช้ทั่วไปมันอาจไม่สะดวก
ผู้ใช้จำนวนมากเลือก Signal เพราะต้องการ E2EE ของข้อความ แต่สำหรับส่วนการสำรองบนอุปกรณ์ของตัวเอง กลับอยากเข้าถึงและจัดการได้อย่างอิสระในแบบที่ต้องการ
การมีไฟล์เก็บถาวรแบบเข้ารหัสเป็นตัวเลือกก็ดี แต่ถ้าใช้ได้เฉพาะในแอปหนึ่งและไม่เปิดให้เข้าถึงอย่างอิสระ ผมก็ไม่คิดว่านั่นคือการสำรองข้อมูลแบบทั่วไป
ถ้าผลพลอยได้คือทำให้การย้ายข้อความระหว่าง Android และ iOS ง่ายขึ้นก็คงน่ายินดี
ชวนให้สงสัยว่าทำไมโปรโตคอลการย้ายข้อมูลของสองแพลตฟอร์มนี้ถึงต่างกันโดยสิ้นเชิง
ผมเป็นนักพัฒนา Signal
ฟอร์แมตสำรองข้อมูลใหม่นั้นข้ามแพลตฟอร์มได้จริง
เรากู้คืนไฟล์สำรองบน iPhone สำเร็จแล้ว และตอนนี้กำลังอยู่ในขั้นทำให้เสถียร
เพื่ออ้างอิง ระบบสำรองแบบโลคัลเดิมของ Android ใช้วิธีเก่าเป็น SQLite statement dump (เข้ารหัสด้วย local key ที่แข็งแกร่ง) จึงพกพาข้ามระบบได้ยากมาก
แต่ในไม่ช้าแม้แต่การสำรองแบบโลคัลก็จะรองรับข้ามแพลตฟอร์มด้วย
มีการกล่าวถึงไว้ว่าเป็นฟีเจอร์ในอนาคต
เหตุผลที่โปรโตคอลการย้ายข้อมูลของสองแพลตฟอร์มต่างกัน อาจเป็นเพราะไม่อยากทำให้ย้ายไปแอปคู่แข่งได้ง่ายเกินไป
ผมเปลี่ยนโทรศัพท์ตั้งแต่สมัยที่ Signal ยังไม่มีฟีเจอร์สำรองข้อมูล และประวัติแชต/รูปภาพเก่าของ Signal ก็ยังอยู่แค่ในโทรศัพท์เครื่องเก่า
ตอนนี้ Signal ถูกเปิดใช้งานบนโทรศัพท์เครื่องใหม่แล้ว จึงอยู่ในสถานะที่แม้แต่จะสำรองจากเครื่องเก่าก็ทำไม่ได้
อยากรู้ว่ามีลำดับขั้นหรือวิธีที่ปลอดภัยในการกู้ข้อมูลเหล่านั้นกลับมาหรือไม่
ถ้าหลังลงทะเบียนเครื่องเก่าแล้วเปิดโหมดเครื่องบินทันที ก็น่าจะกู้กลับได้โดยไม่กระทบกับโทรศัพท์หลัก
หรืออีกวิธีก็คือลงทะเบียนโทรศัพท์เครื่องเก่าด้วยหมายเลขใช้ครั้งเดียว
พอได้ไฟล์สำรองแล้ว ก็อาจใช้ signalbackup-tools รวมไฟล์สำรองจากสองเครื่องแล้วติดตั้งกลับไปบนโทรศัพท์หลักได้
ผมยังไม่เคยทำเอง แต่ผู้พัฒนาก็ช่วยซัพพอร์ตอย่างแข็งขัน
อยากให้ฝั่งไคลเอนต์มีอำนาจควบคุมการเก็บสื่อมากกว่านี้
อยากจัดการพื้นที่เก็บข้อมูลได้อย่างมีประสิทธิภาพโดยไม่ต้องลบทั้งประวัติ
อยากดูสื่อจากทุกแชตรวมกันในครั้งเดียว จัดเรียงตามขนาดไฟล์ หรือจัดกลุ่มตามแชต เพื่อให้จัดการได้ง่ายขึ้น
สิ่งที่น่าเสียดายใน Signal คือไม่มีตัวเลือกให้เก็บสื่อไว้แบบโลคัลเสมอ ทำให้ไม่สะดวก
สิ่งที่น่าเสียดายในแอปแชตส่วนใหญ่คือการเก็บถาวรเนื้อหาเก่าแล้วนำออกไปเก็บภายนอกทำได้ยุ่งยาก
ตอนนี้ขนาดแอป Signal ของผมโตถึง 8GB แล้ว แต่ไม่มีทางลดลงได้
บน Android มีฟีเจอร์จัดการสื่ออยู่แล้ว
ไปที่ [การตั้งค่า] → [ข้อมูลและพื้นที่จัดเก็บ] → [จัดการพื้นที่จัดเก็บ] → [ตรวจสอบพื้นที่จัดเก็บ]
สามารถจัดการสื่อทั้งหมด ไฟล์ และเสียง โดยเรียงตามปริมาณพื้นที่ที่ใช้ได้
ยังลบไฟล์แต่ละไฟล์ภายในแชตได้ด้วย
และมีฟีเจอร์เดียวกันนี้ภายในห้องแชตด้วย
ถ้ามีฟีเจอร์ให้ลบเฉพาะสื่อที่มีขนาดเกิน 10MiB ออกจากไฟล์สำรองได้ ก็น่าจะช่วยป้องกันไม่ให้ขนาดไฟล์สำรองพุ่งขึ้นมากเกินไปล่วงหน้าได้
ผมมองในแง่บวกว่า Signal เริ่มมีฟีเจอร์พรีเมียมแบบเสียเงิน
แต่หวังว่าฟีเจอร์ย้ายจากอุปกรณ์ iOS เครื่องหนึ่งไปอีกเครื่องหนึ่งโดยไม่ต้องใช้อุปกรณ์เพิ่ม จะไม่ใช่ฟีเจอร์พรีเมียม
อยากให้มีการเปิดใช้ฟีเจอร์สำรอง/กู้คืนแบบโลคัลสำหรับ Signal instance เดียวบน iOS
เลยสงสัยว่าทำไมถึงต้องใช้อุปกรณ์เครื่องที่สาม