Plausible Deniability ในแอป: คืออะไรและทำไมจึงสำคัญ

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 พื้นที่จัดเก็บที่เข้ารหัสต้องออกแบบให้:

  1. ข้อมูลประจำตัวสำรองจะเปิดเผยเฉพาะชุดข้อมูลของตนเองเท่านั้น ระบบจะไม่เก็บธงล่อแยกต่างหากที่ระบุใบรับรองหนึ่งใบว่าเป็นลายพราง ข้อมูลประจำตัวที่ไม่ถูกต้องอาจล้มเหลวได้ แต่ความล้มเหลวนั้นจะต้องไม่เปิดเผยว่ามีชุดข้อมูลที่ยังไม่เปิดเผยอยู่หรือไม่

  2. ไม่มี vault registry แอปไม่สามารถนับ vault ที่มีอยู่ ไม่มีรายการ vault ID
  3. ไม่มี configuration flags เปิดเผย hidden vault ไม่มี boolean ไม่มี database entry ไม่มี preference file
  4. Storage ถูก pad ขนาด storage รวมไม่เปลี่ยนแปลงตามจำนวน vault หรือไฟล์
  5. ข้อมูลเข้ารหัสแยกแยะไม่ออกจากสัญญาณรบกวนสุ่ม ไม่มี file boundaries ไม่มี headers ไม่มี structural markers
คุณสมบัติ Cosmetic Decoy Genuine Deniability
ข้อมูลแยกต่อ credentialใช่ใช่
ไม่มี vault registryไม่ (database ติดตาม vault)ใช่
ไม่มี configuration flagsไม่ (เก็บ decoy toggle)ใช่
Storage paddingไม่ค่อยมีใช่
ปกปิดที่เก็บข้อมูลสำรองในภาพนิ่งไม่ใช่ ภายในโมเดลภัยคุกคามการจัดเก็บข้อมูลที่ระบุไว้
Architectural vs. featureFeature toggleArchitectural property

สถานการณ์จริงที่นี่สำคัญ

การผ่านชายแดน

ที่จุดผ่านแดน ผู้ตรวจสอบอาจตรวจสอบอุปกรณ์และขอข้อมูลประจำตัว หากการออกแบบให้ความสามารถในการปฏิเสธระดับพื้นที่จัดเก็บได้จริง ข้อมูลรับรองหนึ่งรายการสามารถเปิดเผยชุดข้อมูลที่ไม่เป็นอันตรายได้ ในขณะที่ภาพนิ่งไม่มีเครื่องหมายโครงสร้างที่แยกความแตกต่างระหว่างเนื้อหาที่ถูกปกปิดจากการขยาย รูปแบบหนึ่งไฟล์ดัชนีต่อห้องนิรภัยในปัจจุบันของ Vaultaire ไม่ได้ให้การรับประกันดังกล่าวแก่ผู้ตรวจสอบที่มีสิทธิ์เข้าถึงคอนเทนเนอร์ของแอป

ความรุนแรงในครอบครัวและความสัมพันธ์แบบบีบบังคับ

คนที่อยู่ในความสัมพันธ์ที่ถูกทำร้ายอาจต้องการเก็บหลักฐาน (รูปภาพบาดแผล ข้อความคุกคาม เอกสารทางกฎหมาย) บนอุปกรณ์ที่ผู้ทำร้ายตรวจสอบ ถ้าผู้ทำร้ายขอดู vault ผู้ใช้สามารถเปิด vault ที่มีเนื้อหาไม่สำคัญได้

การคุ้มครองทางกฎหมายและวารสารศาสตร์

นักข่าวที่ปกป้องแหล่งข่าว ทนายความที่ปกป้องไฟล์ลูกค้า และนักกิจกรรมในระบอบเผด็จการเผชิญสถานการณ์ที่เนื้อหาอุปกรณ์อาจถูกบังคับให้เปิดเผย

สิ่งที่ห้องนิรภัยนำไปใช้ในปัจจุบัน

ห้องนิรภัย ใช้การเข้าถึงแบบแยกรูปแบบและอินเทอร์เฟซปกติโดยไม่มีรายการห้องนิรภัยที่มองเห็นได้ คุณสมบัติเหล่านั้นช่วยได้ในระหว่างการใช้งานแอปทั่วไป แต่ไม่เป็นไปตามข้อกำหนดทุกประการในรายการตรวจสอบการปฏิเสธของแท้ด้านบน

รูปแบบที่กำหนดค่าไว้จะเปิดห้องนิรภัยที่เข้ารหัสแยกต่างหาก PBKDF2 ได้รับคีย์ vault จากรูปแบบและเกลือทั่วทั้งอุปกรณ์ คีย์ที่กำหนดค่าจะตรวจสอบความถูกต้องของดัชนีที่เข้ารหัสและแกะคีย์หลักแบบสุ่ม รูปแบบที่ไม่ได้กำหนดค่าจะแสดงสถานะว่างเปล่าแทนที่จะเป็นข้อความ "รูปแบบที่ไม่ถูกต้อง"

ไม่มี vault registry แอปไม่มี database ที่แสดง vault, ชื่อ vault หรือจำนวน vault นักตรวจสอบ forensic ที่มีสิทธิ์เข้าถึง file system ของอุปกรณ์จะพบ encrypted block ที่ไม่มี structural markers บ่งชี้ vault boundaries

ที่จัดเก็บในเครื่องไม่ใช่ขนาดคงที่ เนื้อหาไฟล์และข้อมูลเมตาได้รับการเข้ารหัส และชิ้นส่วนสำรองข้อมูลบนคลาวด์ใช้การขยายขนาดและบันทึกล่อ คอนเทนเนอร์แอปในเครื่องไม่ได้จองพูลคงที่ของสล็อตตู้นิรภัยจริงและจำลอง ดังนั้นพื้นที่จัดเก็บทั้งหมดและจำนวนดัชนีจึงสามารถเปิดเผยโครงสร้างได้

ดังนั้นห้องนิรภัยจึงจัดให้มีการแบ่งส่วนอินเทอร์เฟซและพื้นที่เก็บข้อมูลที่เข้ารหัส ไม่ใช่ข้อพิสูจน์ทางทฤษฎีข้อมูลว่าไม่มีห้องนิรภัยเพิ่มเติม แค็ตตาล็อกความจุคงที่ในอนาคตที่มีช่องจริงและช่องจำลองที่แยกไม่ออกจะต้องซ่อนจำนวนห้องนิรภัยในเครื่องจากสแน็ปช็อตคอนเทนเนอร์แอปออฟไลน์

วิธีประเมินข้อเรียกร้อง Deniability

  1. มีปุ่มสลับ "decoy mode" หรือไม่? ถ้ามี มันเป็น cosmetic นักตรวจสอบ forensic สามารถค้นหาปุ่มสลับได้
  2. แอปมี vault list หรือ database หรือไม่? ถ้ามี การมีอยู่ของ vault สามารถพิสูจน์ได้
  3. สามารถตรวจสอบการเดาแบบออฟไลน์ได้หรือไม่ ไซเฟอร์เท็กซ์ที่ผ่านการรับรองความถูกต้องสามารถตรวจสอบคีย์ตัวเลือกได้โดยไม่ต้องแฮชรหัสผ่านแยกต่างหาก ถามว่าจำกัดค่าใช้จ่ายในการคาดเดาหรือไม่ และรูปแบบการจัดเก็บข้อมูลมีลายนิ้วมือคีย์ที่ถูกกว่าหรือไม่
  4. การใช้ storage เปลี่ยนแปลงตามจำนวน vault หรือไม่? ถ้าเป็นเช่นนั้น การวิเคราะห์ disk สามารถประมาณจำนวน vault ได้
  5. แอปสามารถแสดงรายการ vault ของคุณได้หรือไม่? ถ้าแอปสามารถแสดงรายการ vault ของคุณ รายการนั้นมีอยู่บนอุปกรณ์และค้นพบได้

คำถามที่พบบ่อย

Plausible deniability ถูกกฎหมายหรือไม่?

รูปแบบท้องถิ่นมีนับไม่ถ้วน ห้องนิรภัยเก็บอันหนึ่ง vault_index_<fingerprint>.bin ไฟล์ต่อห้องนิรภัย ลายนิ้วมือไม่เปิดเผยรูปแบบหรือชื่อห้องนิรภัย แต่บุคคลที่มีสิทธิ์เข้าถึงคอนเทนเนอร์แอปสามารถนับไฟล์ดัชนีได้ AES-GCM การรับรองความถูกต้องและชื่อไฟล์ที่กำหนดยังจัดให้มีการทดสอบออฟไลน์สำหรับคีย์ห้องนิรภัยของผู้สมัคร

Forensic tools สามารถตรวจจับ plausible deniability ได้หรือไม่?

ผู้ตรวจสอบที่ได้รับคอนเทนเนอร์แอปของ Vaultaire สามารถตรวจจับพื้นที่จัดเก็บข้อมูลที่เข้ารหัสและการนับจำนวนได้ vault_index_*.bin ไฟล์. ไฟล์เหล่านี้ไม่เปิดเผยชื่อห้องนิรภัยหรือเนื้อหาข้อความธรรมดา แต่จำนวนไฟล์เหล่านี้เปิดเผยจำนวนดัชนีที่เข้ารหัสในเครื่อง การออกแบบในปัจจุบันจึงซ่อนห้องนิรภัยจากการนำทางตามปกติ ไม่ใช่จากการตรวจสอบการจัดเก็บทางนิติวิทยาศาสตร์ทุกครั้ง

ความแตกต่างระหว่าง plausible deniability และ hidden vault คืออะไร?

ห้องนิรภัยที่ซ่อนอยู่คือห้องนิรภัยที่ไม่สามารถมองเห็นได้ในอินเทอร์เฟซปกติของแอป การปฏิเสธการเข้ารหัสลับที่แข็งแกร่งเป็นคุณสมบัติแยกต่างหากที่ทำให้ข้อมูลที่ซ่อนอยู่ไม่สามารถแยกความแตกต่างจากที่เก็บข้อมูลเสริมที่ไม่ได้ใช้ ปัจจุบันห้องนิรภัยให้บริการทรัพย์สินแห่งแรก รูปแบบหนึ่งดัชนีต่อไฟล์ต่อห้องนิรภัยไม่ได้ให้รูปแบบที่สองกับผู้ตรวจสอบที่มีสิทธิ์เข้าถึงคอนเทนเนอร์แอป