Plausible Deniability ในแอป: คืออะไรและทำไมจึงสำคัญ
Plausible deniability หมายความว่าไม่สามารถพิสูจน์ได้ว่าข้อมูลที่ซ่อนมีอยู่
Plausible deniability ในการเข้ารหัสคือคุณสมบัติที่ให้ผู้ใช้สามารถปฏิเสธการมีอยู่ของข้อมูลเข้ารหัสบางอย่างได้อย่างน่าเชื่อถือ พื้นที่จัดเก็บที่เข้ารหัสจะดูเหมือนมีเพียงข้อมูลที่ผู้ใช้เลือกที่จะเปิดเผย นักตรวจสอบ forensic ฝ่ายที่ใช้การบังคับ หรือใครก็ตามที่เข้าถึงอุปกรณ์ไม่สามารถพิสูจน์ได้ว่ามีข้อมูลที่ซ่อนเพิ่มเติมอยู่ นี่ไม่ใช่ feature การซ่อน แต่เป็นคุณสมบัติทางคณิตศาสตร์ของ encryption scheme เอง
Plausible Deniability ในการเข้ารหัสหมายความว่าอะไร?
แนวคิดนี้เกิดขึ้นจากการเข้ารหัส disk TrueCrypt (และผู้สืบทอด VeraCrypt) บุกเบิก hidden volume: volume ที่เข้ารหัสภายใน volume ที่เข้ารหัสอีกชั้น รหัสผ่านหนึ่งเปิดเผย outer volume ที่มีไฟล์ไม่สำคัญ รหัสผ่านอีกชั้นเปิดเผย inner hidden volume ที่มีไฟล์ที่ละเอียดอ่อน นักตรวจสอบ forensic ไม่สามารถระบุได้ว่ามี hidden volume อยู่หรือไม่เพราะพื้นที่ว่างใน outer volume ถูกเติมด้วยข้อมูลสุ่มที่แยกแยะไม่ออกจากข้อมูลเข้ารหัส
การปฏิเสธจริงเทียบกับโหมด Decoy แบบผิวเผิน
โหมด Decoy แบบผิวเผิน (ไม่ใช่การปฏิเสธจริง)
แอป vault หลายตัวเสนอ feature "decoy" หรือ "fake PIN" คุณตั้ง PIN รองที่เปิดพื้นที่แยกต่างหากที่มีรูปภาพต่างกัน ปัญหา: แอปเหล่านี้มักเก็บ boolean flag, database entry หรือ configuration file ที่บ่งชี้ว่า decoy mode มีอยู่และถูกกำหนดค่า
นักตรวจสอบ forensic ที่เข้าใจแอปสามารถค้นหา flag นี้ได้ การค้นหา decoy mode ที่กำหนดค่าไว้พิสูจน์ว่ามีข้อมูลที่ซ่อนอยู่ deniability เป็นเพียง cosmetic
สัญญาณของ cosmetic deniability:
- แอปมีปุ่มสลับ "decoy mode" ในการตั้งค่า
- configuration file เก็บว่า decoy mode เปิดใช้งานหรือไม่
- database table แสดง vault IDs พร้อม type indicators (primary/decoy)
- โครงสร้างพื้นที่จัดเก็บของแอปเปลี่ยนแปลงเมื่อเปิด decoy mode
การปฏิเสธด้วยการเข้ารหัสอย่างแท้จริง
Genuine deniability คือคุณสมบัติทางสถาปัตยกรรม ไม่ใช่ feature toggle พื้นที่จัดเก็บที่เข้ารหัสต้องออกแบบให้:
- ทุก credential เปิด data set ที่ valid ได้ ไม่มี "wrong password" error สำหรับ credential ที่เปิด hidden vault ใดๆ
- ไม่มี vault registry แอปไม่สามารถนับ vault ที่มีอยู่ ไม่มีรายการ vault ID
- ไม่มี configuration flags เปิดเผย hidden vault ไม่มี boolean ไม่มี database entry ไม่มี preference file
- Storage ถูก pad ขนาด storage รวมไม่เปลี่ยนแปลงตามจำนวน vault หรือไฟล์
- ข้อมูลเข้ารหัสแยกแยะไม่ออกจากสัญญาณรบกวนสุ่ม ไม่มี file boundaries ไม่มี headers ไม่มี structural markers
| คุณสมบัติ | Cosmetic Decoy | Genuine Deniability |
|---|---|---|
| ข้อมูลแยกต่อ credential | ใช่ | ใช่ |
| ไม่มี vault registry | ไม่ (database ติดตาม vault) | ใช่ |
| ไม่มี configuration flags | ไม่ (เก็บ decoy toggle) | ใช่ |
| Storage padding | ไม่ค่อยมี | ใช่ |
| รอดจาก forensic examination | ไม่ | ใช่ |
| Architectural vs. feature | Feature toggle | Architectural property |
สถานการณ์จริงที่นี่สำคัญ
การผ่านชายแดน
ในสหรัฐอเมริกา Customs and Border Protection สามารถบังคับให้เข้าถึงอุปกรณ์ที่ชายแดนได้ตามกฎหมาย ผู้ใช้ที่มี genuine plausible deniability สามารถให้ pattern/password ที่เปิด vault ที่มีเนื้อหาไม่สำคัญ ผู้ตรวจสอบไม่สามารถพิสูจน์ได้ว่ามี vault อื่นอยู่
ความรุนแรงในครอบครัวและความสัมพันธ์แบบบีบบังคับ
คนที่อยู่ในความสัมพันธ์ที่ถูกทำร้ายอาจต้องการเก็บหลักฐาน (รูปภาพบาดแผล ข้อความคุกคาม เอกสารทางกฎหมาย) บนอุปกรณ์ที่ผู้ทำร้ายตรวจสอบ ถ้าผู้ทำร้ายขอดู vault ผู้ใช้สามารถเปิด vault ที่มีเนื้อหาไม่สำคัญได้
การคุ้มครองทางกฎหมายและวารสารศาสตร์
นักข่าวที่ปกป้องแหล่งข่าว ทนายความที่ปกป้องไฟล์ลูกค้า และนักกิจกรรมในระบอบเผด็จการเผชิญสถานการณ์ที่เนื้อหาอุปกรณ์อาจถูกบังคับให้เปิดเผย
วิธีที่ Vaultaire ใช้ Plausible Deniability
Vaultaire บรรลุ genuine cryptographic plausible deniability ผ่านการออกแบบสถาปัตยกรรม:
ทุก pattern เปิด vault ที่แตกต่างกัน Grid 5x5 สร้าง key ผ่าน PBKDF2 Pattern ที่แตกต่างสร้าง key ที่แตกต่าง ไม่มี master key ไม่มี vault list ไม่มีทางให้แอปนับ vault ที่มีอยู่ การวาด pattern ที่ไม่มี vault ที่เกี่ยวข้องจะเปิดพื้นที่ vault ว่างเปล่า ไม่มี "incorrect pattern" error
ไม่มี vault registry แอปไม่มี database ที่แสดง vault, ชื่อ vault หรือจำนวน vault นักตรวจสอบ forensic ที่มีสิทธิ์เข้าถึง file system ของอุปกรณ์จะพบ encrypted block ที่ไม่มี structural markers บ่งชี้ vault boundaries
Storage padding ขนาด storage รวมยังคงคงที่ไม่ว่าจำนวน vault หรือไฟล์จะเป็นเท่าไร ทำให้การวิเคราะห์การใช้ disk ไม่สามารถบอกจำนวน vault ได้
Duress mode ผู้ใช้สามารถกำหนด vault เป็น duress vault การวาด pattern นั้นเปิด vault ตามปกติพร้อมกับทำลาย cryptographic salt ของ vault อื่นทั้งหมดอย่างเงียบและทันที
วิธีประเมินข้อเรียกร้อง Deniability
- มีปุ่มสลับ "decoy mode" หรือไม่? ถ้ามี มันเป็น cosmetic นักตรวจสอบ forensic สามารถค้นหาปุ่มสลับได้
- แอปมี vault list หรือ database หรือไม่? ถ้ามี การมีอยู่ของ vault สามารถพิสูจน์ได้
- มี "wrong password" error หรือไม่? ถ้ามี แอปสามารถแยกแยะ credential ที่ valid และ invalid ได้
- การใช้ storage เปลี่ยนแปลงตามจำนวน vault หรือไม่? ถ้าเป็นเช่นนั้น การวิเคราะห์ disk สามารถประมาณจำนวน vault ได้
- แอปสามารถแสดงรายการ vault ของคุณได้หรือไม่? ถ้าแอปสามารถแสดงรายการ vault ของคุณ รายการนั้นมีอยู่บนอุปกรณ์และค้นพบได้
คำถามที่พบบ่อย
Plausible deniability ถูกกฎหมายหรือไม่?
การใช้การเข้ารหัสที่มี plausible deniability ถูกกฎหมายในประชาธิปไตยส่วนใหญ่ ไม่มีกฎหมายที่ห้ามมีข้อมูลเข้ารหัสบนอุปกรณ์ที่ไม่สามารถพิสูจน์การมีอยู่ได้
Forensic tools สามารถตรวจจับ plausible deniability ได้หรือไม่?
Forensic tools (Cellebrite, GrayKey, Magnet AXIOM) สามารถตรวจจับได้ว่า Vaultaire ติดตั้งอยู่และมีข้อมูลเข้ารหัสอยู่ พวกเขาไม่สามารถระบุได้ว่ามี vault กี่ตัว vault มีอะไร หรือมี vault เพิ่มเติมนอกจากที่เปิดเผยหรือไม่ ข้อมูลเข้ารหัสแยกแยะไม่ออกจากสัญญาณรบกวนสุ่ม
ความแตกต่างระหว่าง plausible deniability และ hidden vault คืออะไร?
Hidden vault คือ vault ที่ไม่แสดงใน interface ของแอป Plausible deniability คือคุณสมบัติที่การมีอยู่ของ hidden vault ไม่สามารถพิสูจน์ได้ Vaultaire มีทั้งสอง: vault ถูกซ่อนโดยค่าเริ่มต้น และการมีอยู่ของมันพิสูจน์ไม่ได้โดยการออกแบบ