Plausible Deniability ในแอป: คืออะไรและทำไมจึงสำคัญ
Plausible deniability หมายความว่าไม่สามารถพิสูจน์ได้ว่าข้อมูลที่ซ่อนมีอยู่
การปฏิเสธที่เป็นไปได้ในการเข้ารหัสเป็นคุณสมบัติการจัดเก็บข้อมูลที่ช่วยให้ผู้ใช้เปิดเผยชุดข้อมูลหนึ่งชุดโดยไม่ต้องทิ้งส่วนโครงสร้างที่พิสูจน์ว่ามีชุดข้อมูลอื่นอยู่ การอ้างสิทธิ์จะต้องตั้งชื่อโมเดลภัยคุกคาม: ภาพนิ่งของร้านค้าที่เข้ารหัสอย่างเหมาะสมนั้นแตกต่างจากอุปกรณ์ที่ใช้งานจริงที่ถูกบุกรุก ข้อมูลเมตาของบริการคลาวด์ หรือสำเนาที่เก็บไว้ที่อื่น นี่เป็นมากกว่าคุณสมบัติการซ่อน ขึ้นอยู่กับการเข้ารหัส เค้าโครง ช่องว่างภายใน และการออกแบบการปฏิบัติงานที่ทำงานร่วมกัน
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 พื้นที่จัดเก็บที่เข้ารหัสต้องออกแบบให้:
ข้อมูลประจำตัวสำรองจะเปิดเผยเฉพาะชุดข้อมูลของตนเองเท่านั้น ระบบจะไม่เก็บธงล่อแยกต่างหากที่ระบุใบรับรองหนึ่งใบว่าเป็นลายพราง ข้อมูลประจำตัวที่ไม่ถูกต้องอาจล้มเหลวได้ แต่ความล้มเหลวนั้นจะต้องไม่เปิดเผยว่ามีชุดข้อมูลที่ยังไม่เปิดเผยอยู่หรือไม่
- ไม่มี 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 | ไม่ค่อยมี | ใช่ |
| ปกปิดที่เก็บข้อมูลสำรองในภาพนิ่ง | ไม่ | ใช่ ภายในโมเดลภัยคุกคามการจัดเก็บข้อมูลที่ระบุไว้ |
| Architectural vs. feature | Feature toggle | Architectural property |
สถานการณ์จริงที่นี่สำคัญ
การผ่านชายแดน
ที่จุดผ่านแดน ผู้ตรวจสอบอาจตรวจสอบอุปกรณ์และขอข้อมูลประจำตัว หากการออกแบบให้ความสามารถในการปฏิเสธระดับพื้นที่จัดเก็บได้จริง ข้อมูลรับรองหนึ่งรายการสามารถเปิดเผยชุดข้อมูลที่ไม่เป็นอันตรายได้ ในขณะที่ภาพนิ่งไม่มีเครื่องหมายโครงสร้างที่แยกความแตกต่างระหว่างเนื้อหาที่ถูกปกปิดจากการขยาย รูปแบบหนึ่งไฟล์ดัชนีต่อห้องนิรภัยในปัจจุบันของ Vaultaire ไม่ได้ให้การรับประกันดังกล่าวแก่ผู้ตรวจสอบที่มีสิทธิ์เข้าถึงคอนเทนเนอร์ของแอป
ความรุนแรงในครอบครัวและความสัมพันธ์แบบบีบบังคับ
คนที่อยู่ในความสัมพันธ์ที่ถูกทำร้ายอาจต้องการเก็บหลักฐาน (รูปภาพบาดแผล ข้อความคุกคาม เอกสารทางกฎหมาย) บนอุปกรณ์ที่ผู้ทำร้ายตรวจสอบ ถ้าผู้ทำร้ายขอดู vault ผู้ใช้สามารถเปิด vault ที่มีเนื้อหาไม่สำคัญได้
การคุ้มครองทางกฎหมายและวารสารศาสตร์
นักข่าวที่ปกป้องแหล่งข่าว ทนายความที่ปกป้องไฟล์ลูกค้า และนักกิจกรรมในระบอบเผด็จการเผชิญสถานการณ์ที่เนื้อหาอุปกรณ์อาจถูกบังคับให้เปิดเผย
สิ่งที่ห้องนิรภัยนำไปใช้ในปัจจุบัน
ห้องนิรภัย ใช้การเข้าถึงแบบแยกรูปแบบและอินเทอร์เฟซปกติโดยไม่มีรายการห้องนิรภัยที่มองเห็นได้ คุณสมบัติเหล่านั้นช่วยได้ในระหว่างการใช้งานแอปทั่วไป แต่ไม่เป็นไปตามข้อกำหนดทุกประการในรายการตรวจสอบการปฏิเสธของแท้ด้านบน
รูปแบบที่กำหนดค่าไว้จะเปิดห้องนิรภัยที่เข้ารหัสแยกต่างหาก PBKDF2 ได้รับคีย์ vault จากรูปแบบและเกลือทั่วทั้งอุปกรณ์ คีย์ที่กำหนดค่าจะตรวจสอบความถูกต้องของดัชนีที่เข้ารหัสและแกะคีย์หลักแบบสุ่ม รูปแบบที่ไม่ได้กำหนดค่าจะแสดงสถานะว่างเปล่าแทนที่จะเป็นข้อความ "รูปแบบที่ไม่ถูกต้อง"
ไม่มี vault registry แอปไม่มี database ที่แสดง vault, ชื่อ vault หรือจำนวน vault นักตรวจสอบ forensic ที่มีสิทธิ์เข้าถึง file system ของอุปกรณ์จะพบ encrypted block ที่ไม่มี structural markers บ่งชี้ vault boundaries
ที่จัดเก็บในเครื่องไม่ใช่ขนาดคงที่ เนื้อหาไฟล์และข้อมูลเมตาได้รับการเข้ารหัส และชิ้นส่วนสำรองข้อมูลบนคลาวด์ใช้การขยายขนาดและบันทึกล่อ คอนเทนเนอร์แอปในเครื่องไม่ได้จองพูลคงที่ของสล็อตตู้นิรภัยจริงและจำลอง ดังนั้นพื้นที่จัดเก็บทั้งหมดและจำนวนดัชนีจึงสามารถเปิดเผยโครงสร้างได้
ดังนั้นห้องนิรภัยจึงจัดให้มีการแบ่งส่วนอินเทอร์เฟซและพื้นที่เก็บข้อมูลที่เข้ารหัส ไม่ใช่ข้อพิสูจน์ทางทฤษฎีข้อมูลว่าไม่มีห้องนิรภัยเพิ่มเติม แค็ตตาล็อกความจุคงที่ในอนาคตที่มีช่องจริงและช่องจำลองที่แยกไม่ออกจะต้องซ่อนจำนวนห้องนิรภัยในเครื่องจากสแน็ปช็อตคอนเทนเนอร์แอปออฟไลน์
วิธีประเมินข้อเรียกร้อง Deniability
- มีปุ่มสลับ "decoy mode" หรือไม่? ถ้ามี มันเป็น cosmetic นักตรวจสอบ forensic สามารถค้นหาปุ่มสลับได้
- แอปมี vault list หรือ database หรือไม่? ถ้ามี การมีอยู่ของ vault สามารถพิสูจน์ได้
- สามารถตรวจสอบการเดาแบบออฟไลน์ได้หรือไม่ ไซเฟอร์เท็กซ์ที่ผ่านการรับรองความถูกต้องสามารถตรวจสอบคีย์ตัวเลือกได้โดยไม่ต้องแฮชรหัสผ่านแยกต่างหาก ถามว่าจำกัดค่าใช้จ่ายในการคาดเดาหรือไม่ และรูปแบบการจัดเก็บข้อมูลมีลายนิ้วมือคีย์ที่ถูกกว่าหรือไม่
- การใช้ storage เปลี่ยนแปลงตามจำนวน vault หรือไม่? ถ้าเป็นเช่นนั้น การวิเคราะห์ disk สามารถประมาณจำนวน vault ได้
- แอปสามารถแสดงรายการ vault ของคุณได้หรือไม่? ถ้าแอปสามารถแสดงรายการ vault ของคุณ รายการนั้นมีอยู่บนอุปกรณ์และค้นพบได้
คำถามที่พบบ่อย
Plausible deniability ถูกกฎหมายหรือไม่?
รูปแบบท้องถิ่นมีนับไม่ถ้วน ห้องนิรภัยเก็บอันหนึ่ง vault_index_<fingerprint>.bin ไฟล์ต่อห้องนิรภัย ลายนิ้วมือไม่เปิดเผยรูปแบบหรือชื่อห้องนิรภัย แต่บุคคลที่มีสิทธิ์เข้าถึงคอนเทนเนอร์แอปสามารถนับไฟล์ดัชนีได้ AES-GCM การรับรองความถูกต้องและชื่อไฟล์ที่กำหนดยังจัดให้มีการทดสอบออฟไลน์สำหรับคีย์ห้องนิรภัยของผู้สมัคร
Forensic tools สามารถตรวจจับ plausible deniability ได้หรือไม่?
ผู้ตรวจสอบที่ได้รับคอนเทนเนอร์แอปของ Vaultaire สามารถตรวจจับพื้นที่จัดเก็บข้อมูลที่เข้ารหัสและการนับจำนวนได้ vault_index_*.bin ไฟล์. ไฟล์เหล่านี้ไม่เปิดเผยชื่อห้องนิรภัยหรือเนื้อหาข้อความธรรมดา แต่จำนวนไฟล์เหล่านี้เปิดเผยจำนวนดัชนีที่เข้ารหัสในเครื่อง การออกแบบในปัจจุบันจึงซ่อนห้องนิรภัยจากการนำทางตามปกติ ไม่ใช่จากการตรวจสอบการจัดเก็บทางนิติวิทยาศาสตร์ทุกครั้ง
ความแตกต่างระหว่าง plausible deniability และ hidden vault คืออะไร?
ห้องนิรภัยที่ซ่อนอยู่คือห้องนิรภัยที่ไม่สามารถมองเห็นได้ในอินเทอร์เฟซปกติของแอป การปฏิเสธการเข้ารหัสลับที่แข็งแกร่งเป็นคุณสมบัติแยกต่างหากที่ทำให้ข้อมูลที่ซ่อนอยู่ไม่สามารถแยกความแตกต่างจากที่เก็บข้อมูลเสริมที่ไม่ได้ใช้ ปัจจุบันห้องนิรภัยให้บริการทรัพย์สินแห่งแรก รูปแบบหนึ่งดัชนีต่อไฟล์ต่อห้องนิรภัยไม่ได้ให้รูปแบบที่สองกับผู้ตรวจสอบที่มีสิทธิ์เข้าถึงคอนเทนเนอร์แอป