Khả Năng Phủ Nhận Hợp Lý Trong Ứng Dụng: Là Gì và Tại Sao Quan Trọng

Khả Năng Phủ Nhận Hợp Lý Trong Ứng Dụng: Là Gì và Tại Sao Quan Trọng

Khả năng phủ nhận hợp lý có nghĩa là sự tồn tại của dữ liệu ẩn không thể được chứng minh.


Phủ nhận hợp lý trong mã hóa là thuộc tính lưu trữ cho phép người dùng tiết lộ một tập dữ liệu mà không để lại dấu vết cấu trúc nào chứng minh có tập dữ liệu khác. Tuyên bố đó phải nêu rõ mô hình mối đe dọa của nó: ảnh chụp tĩnh của một két mã hóa được đệm đúng cách khác với một thiết bị đang chạy và bị xâm nhập, siêu dữ liệu dịch vụ đám mây hay các bản sao giữ ở nơi khác. Đây không chỉ là một tính năng ẩn. Nó phụ thuộc vào việc mã hóa, bố cục, phần đệm và thiết kế vận hành cùng phối hợp.

Hướng dẫn này giải thích cách khả năng phủ nhận hợp lý hoạt động trong ứng dụng, sự khác biệt giữa khả năng phủ nhận mật mã thực sự và chế độ giả mạo hình thức, các tình huống thực tế mà nó quan trọng và cách đánh giá các tuyên bố về khả năng phủ nhận.

Khả Năng Phủ Nhận Hợp Lý Có Nghĩa Là Gì Trong Mã Hóa

Trong ngôn ngữ hằng ngày, phủ nhận hợp lý nghĩa là bạn có thể phủ nhận điều gì đó một cách đáng tin. Trong mật mã lưu trữ, mục tiêu hữu ích hẹp hơn: người kiểm tra két mã hóa không thể phân biệt nội dung bị che giấu với vùng đệm chưa dùng, trong mô hình mối đe dọa đã nêu. Không ứng dụng nào có thể mở rộng lời hứa đó tới một két đã mở, đầu vào bị ghi lại, bản sao bên ngoài hay mọi dạng xâm nhập thiết bị.

Khái niệm này bắt nguồn từ mã hóa đĩa. TrueCrypt (và người kế thừa VeraCrypt) tiên phong trong ổ đĩa ẩn: một ổ đĩa mã hóa trong một ổ đĩa mã hóa khác. Một mật khẩu hiển thị ổ đĩa ngoài với tệp vô hại. Mật khẩu khác hiển thị ổ đĩa ẩn bên trong với tệp nhạy cảm. Nhà điều tra pháp y không thể xác định liệu có ổ đĩa ẩn tồn tại hay không vì không gian chưa sử dụng trong ổ đĩa ngoài được lấp đầy bằng dữ liệu ngẫu nhiên không thể phân biệt với dữ liệu mã hóa.

Đối với ứng dụng, khả năng phủ nhận hợp lý có nghĩa là các thông tin xác thực khác nhau (mật khẩu, PIN, hình mẫu) mở ra các tập dữ liệu khác nhau, và không có siêu dữ liệu, sổ đăng ký, cờ cấu hình hay tạo vật cấu trúc nào tiết lộ sự tồn tại của các tập dữ liệu bổ sung.

Khả Năng Phủ Nhận Thực Sự vs. Chế Độ Giả Mạo Hình Thức

Đây là điểm phân biệt quan trọng mà hầu hết ứng dụng hiểu sai.

Chế Độ Giả Mạo Hình Thức (Không Phải Khả Năng Phủ Nhận Thực Sự)

Nhiều ứng dụng két cung cấp tính năng "giả mạo" hoặc "PIN giả". Bạn đặt PIN thứ cấp mở ra không gian riêng biệt với ảnh khác nhau. Vấn đề: các ứng dụng này thường lưu cờ boolean, mục nhập cơ sở dữ liệu hoặc tệp cấu hình cho biết chế độ giả mạo tồn tại và được cấu hình.

Nhà điều tra pháp y hiểu ứng dụng có thể tìm thấy cờ này. Tìm thấy chế độ giả mạo được cấu hình chứng minh dữ liệu ẩn tồn tại. Khả năng phủ nhận là hình thức -- nó hoạt động chống lại kẻ tò mò bình thường nhưng thất bại dưới kiểm tra pháp y.

Dấu hiệu của khả năng phủ nhận hình thức:

  • Ứng dụng có nút bật/tắt "chế độ giả mạo" trong cài đặt
  • Tệp cấu hình lưu xem chế độ giả mạo có được bật không
  • Bảng cơ sở dữ liệu liệt kê ID két với chỉ số loại (chính/giả mạo)
  • Cấu trúc lưu trữ của ứng dụng thay đổi khi chế độ giả mạo được bật
  • Gỡ cài đặt và cài đặt lại ứng dụng tiết lộ hành vi khác nhau khi chế độ giả mạo được cấu hình

Khả Năng Phủ Nhận Mật Mã Thực Sự

Khả năng phủ nhận thực sự là thuộc tính kiến trúc, không phải nút tính năng. Bộ nhớ mã hóa phải được thiết kế sao cho:

  1. Thông tin xác thực thay thế chỉ tiết lộ tập dữ liệu của chính nó. Hệ thống không giữ một cờ mồi riêng để đánh dấu thông tin xác thực nào là ngụy trang. Thông tin xác thực không hợp lệ có thể thất bại, nhưng lỗi đó không tiết lộ tập dữ liệu chưa công khai có tồn tại hay không.

  2. Không có sổ đăng ký két. Ứng dụng không thể liệt kê có bao nhiêu két tồn tại. Không có số đếm, không có chỉ mục, không có danh sách ID két. Nhà điều tra pháp y kiểm tra bộ nhớ của ứng dụng tìm thấy một nhóm dữ liệu mã hóa không phân biệt.

  3. Không có cờ cấu hình tiết lộ két ẩn. Không có boolean, không có mục nhập cơ sở dữ liệu, không có tệp ưu tiên nào cho biết có bao nhiêu két tồn tại.

  4. Bộ nhớ được đệm. Tổng dung lượng lưu trữ không thay đổi dựa trên số lượng két hoặc tệp. Nếu không có đệm, nhà điều tra có thể ước tính số lượng két từ tổng dữ liệu mã hóa so với nội dung hiển thị.

  5. Dữ liệu mã hóa không thể phân biệt với nhiễu ngẫu nhiên. Không có ranh giới tệp, không có tiêu đề, không có dấu cấu trúc nào tiết lộ nơi dữ liệu của két này kết thúc và két khác bắt đầu.

Thuộc tính Giả mạo hình thức Phủ nhận thực sự
Dữ liệu riêng biệt theo thông tin xác thực Có Có
Không có sổ đăng ký két Không (cơ sở dữ liệu theo dõi két) Có
Không có cờ cấu hình Không (lưu nút bật giả mạo) Có
Đệm lưu trữ Hiếm khi Có
Che giấu vùng lưu trữ thay thế trong ảnh chụp tĩnh Không Có, trong mô hình mối đe dọa lưu trữ đã nêu
Kiến trúc vs. tính năng Nút tính năng Thuộc tính kiến trúc

Các Tình Huống Thực Tế Mà Điều Này Quan Trọng

Khả năng phủ nhận hợp lý không phải là mối quan tâm lý thuyết. Nó giải quyết các tình huống thực tế được ghi nhận, tái diễn.

Vượt Biên Giới

Tại cửa khẩu, người kiểm tra có thể xem thiết bị và đòi thông tin xác thực. Nếu một thiết kế thật sự có khả năng phủ nhận ở cấp lưu trữ, một thông tin xác thực có thể tiết lộ một tập dữ liệu vô hại, trong khi ảnh chụp tĩnh không có dấu vết cấu trúc nào để phân biệt nội dung ẩn với phần đệm. Bố cục mỗi két một tệp chỉ mục hiện nay của Vaultaire không đưa ra bảo đảm đó trước người kiểm tra có quyền truy cập vùng chứa ứng dụng.

Lạm Dụng Gia Đình Và Mối Quan Hệ Cưỡng Bức

Ai đó trong mối quan hệ lạm dụng có thể cần lưu trữ bằng chứng (ảnh chấn thương, tin nhắn đe dọa, tài liệu pháp lý) trên thiết bị mà kẻ lạm dụng theo dõi. Nếu kẻ lạm dụng yêu cầu xem két, người dùng có thể mở két với nội dung không nhạy cảm. Nếu không có khả năng phủ nhận thực sự, cờ "chế độ giả mạo" trong cấu hình ứng dụng sẽ tiết lộ sự tồn tại của nội dung ẩn.

Trộm Cắp Thiết Bị

Kẻ trộm có kỹ năng kỹ thuật có thể tìm cách trích xuất dữ liệu từ điện thoại bị đánh cắp. Một két có thể phủ nhận được đệm đúng cách nhằm che giấu số tập dữ liệu đang chiếm vùng lưu trữ, dù tổng dung lượng cấp phát, trạng thái thiết bị, bản sao lưu và dấu vết hoạt động vẫn thuộc mô hình mối đe dọa. Vaultaire hiện mã hóa nội dung nhưng để lộ một thư mục lưu trữ đếm được cho mỗi két đã thiết lập.

Bảo Vệ Pháp Lý Và Báo Chí

Nhà báo bảo vệ nguồn tin, luật sư bảo vệ tệp khách hàng và nhà hoạt động trong chế độ độc tài phải đối mặt với các tình huống nội dung thiết bị có thể bị bắt buộc. Khả năng phủ nhận thực sự cung cấp biện hộ đáng tin cậy chống lại thu giữ dữ liệu.

Những gì Vaultaire triển khai hiện nay

Vaultaire triển khai truy cập tách biệt theo mẫu hình, và giao diện thông thường không hiển thị danh sách két. Các thuộc tính đó hữu ích khi dùng ứng dụng thông thường, nhưng không đáp ứng mọi yêu cầu trong danh sách kiểm tra khả năng phủ nhận thật sự ở trên.

Các mẫu hình đã thiết lập mở các két mã hóa riêng biệt. PBKDF2 tạo khóa két từ mẫu hình và muối chung của thiết bị. Khóa đã thiết lập xác thực chỉ mục đã mã hóa của nó và mở lớp bọc của khóa chính ngẫu nhiên. Mẫu hình chưa thiết lập hiện trạng thái trống thay vì thông báo “mẫu hình không đúng”.

Định dạng cục bộ đếm được. Vaultaire lưu mỗi két một tệp vault_index_<fingerprint>.bin. Dấu vân tay không để lộ mẫu hình hay tên két, nhưng người có quyền truy cập vùng chứa ứng dụng có thể đếm thư mục lưu trữ của từng két. AES-GCM có xác thực và tên tệp tất định cũng cho phép thử ngoại tuyến các khóa két ứng viên.

Lưu trữ cục bộ không có kích thước cố định. Nội dung tệp và siêu dữ liệu được mã hóa, và các khối sao lưu đám mây dùng phần đệm kích thước cùng bản ghi giả. Vùng chứa ứng dụng cục bộ không cấp sẵn một nhóm cố định các ô két thật và giả, nên tổng dung lượng lưu trữ và số thư mục lưu trữ két có thể làm lộ cấu trúc.

Có trạng thái khôi phục và trạng thái ép buộc. Vaultaire giữ thông tin khôi phục trong một cơ sở dữ liệu Keychain mã hóa AES-GCM. Chế độ ép buộc xóa chỉ mục cục bộ và bản kê khôi phục của các két không phải két mồi, và tách thiết bị đó khỏi đồng bộ. Nó không xóa bản sao lưu đám mây, bản sao trên thiết bị ngang hàng hay mọi blob mã hóa đã chia sẻ, và thời gian hoàn tất tùy vào khối lượng việc cục bộ cần làm.

Vì vậy, Vaultaire cung cấp sự tách biệt trong giao diện và lưu trữ đã mã hóa, không phải bằng chứng theo lý thuyết thông tin rằng không có két nào khác. Để che số két cục bộ trước ảnh chụp ngoại tuyến của vùng chứa ứng dụng, cần một két dung lượng cố định trong tương lai với các ô thật và giả không phân biệt được.

Cách Đánh Giá Tuyên Bố Về Khả Năng Phủ Nhận

Khi ứng dụng tuyên bố có khả năng phủ nhận hợp lý, hãy hỏi:

  1. Có nút bật/tắt "chế độ giả mạo" không? Nếu có, đó là hình thức. Nhà điều tra pháp y có thể tìm thấy nút bật.
  2. Ứng dụng có danh sách két hoặc cơ sở dữ liệu không? Nếu có, sự tồn tại của két có thể chứng minh được.
  3. Có thể xác minh các lần đoán ngoại tuyến không? Bản mã có xác thực có thể xác thực khóa ứng viên mà không cần hàm băm mật khẩu riêng. Hãy hỏi điều gì giới hạn chi phí đoán, và bố cục lưu trữ có cho phép kiểm tra khóa rẻ hơn không.
  4. Mức tiêu thụ lưu trữ có thay đổi theo số lượng két không? Nếu có, phân tích đĩa có thể ước tính số lượng két.
  5. Ứng dụng có thể liệt kê két không? Nếu ứng dụng có thể hiển thị danh sách két của bạn, danh sách đó tồn tại trên thiết bị và có thể khám phá được.

Câu Hỏi Thường Gặp

Khả năng phủ nhận hợp lý có hợp pháp không?

Sử dụng mã hóa với khả năng phủ nhận hợp lý là hợp pháp ở hầu hết các quốc gia dân chủ. Không có luật nào chống lại việc có dữ liệu mã hóa trên thiết bị mà sự tồn tại của nó không thể được chứng minh. Ở một số khu vực pháp lý (Anh theo RIPA, Úc theo Luật Hỗ Trợ và Truy Cập), cơ quan chức năng có thể bắt buộc tiết lộ khóa mã hóa. Câu hỏi pháp lý là liệu việc bắt buộc tiết lộ khóa cho dữ liệu mà sự tồn tại của nó không thể được chứng minh có thể thi hành được không. Đây vẫn là lĩnh vực pháp luật đang phát triển.

Công cụ pháp y có thể phát hiện khả năng phủ nhận hợp lý không?

Người kiểm tra lấy được vùng chứa ứng dụng của Vaultaire có thể thấy vùng lưu trữ đã mã hóa và đếm các tệp vault_index_*.bin. Các tệp không để lộ tên két hay nội dung bản rõ, nhưng số thư mục lưu trữ cho biết số két cục bộ. Vì vậy, thiết kế hiện tại ẩn két khỏi thao tác điều hướng thông thường, không ẩn khỏi mọi đợt kiểm tra lưu trữ giám định pháp y.

Khả năng phủ nhận hợp lý có hiệu quả chống lại quốc gia kiên quyết không?

AES-256-GCM tạo ra một ranh giới mã hóa nội dung mạnh khi khóa, nonce và cách triển khai đều đúng. Điều đó không làm bố cục lưu trữ hiện tại của Vaultaire trở nên có thể phủ nhận trước người kiểm tra cấp nhà nước: số két cục bộ vẫn lộ ra, và xâm nhập trực tiếp có thể nhắm vào mẫu hình, khóa, bản xem trước hoặc bản xuất khi két đang mở. Tính năng hiện tại tách biệt những gì các mẫu hình khác nhau mở trong giao diện; nó không hứa rằng một người giám định kiên trì không thể chứng minh có thêm chỉ mục cục bộ.

Sự khác biệt giữa khả năng phủ nhận hợp lý và két ẩn là gì?

Két ẩn là những két không hiển thị trong giao diện thông thường của ứng dụng. Khả năng phủ nhận mật mã mạnh là một thuộc tính riêng: dữ liệu ẩn không phân biệt được với vùng đệm chưa dùng. Vaultaire hiện cung cấp thuộc tính thứ nhất. Định dạng mỗi két một tệp chỉ mục của nó không cung cấp thuộc tính thứ hai trước người kiểm tra có quyền truy cập vùng chứa ứng dụng.

Tôi có thể sử dụng khả năng phủ nhận hợp lý với sao lưu đám mây không?

Vaultaire ghi các bản kê sao lưu đã mã hóa và các đoạn tệp mã hóa có đệm vào cơ sở dữ liệu CloudKit riêng tư của người dùng. Tên bản ghi ngẫu nhiên, một loại bản ghi thống nhất, phần đệm đoạn 10 MB và bản ghi giả làm giảm việc lộ nội dung trực tiếp. Số bản ghi, tổng dung lượng, thời điểm và kiểu cập nhật vẫn là siêu dữ liệu dịch vụ nhìn thấy được, nên sao lưu đám mây không tạo ra một két có kích thước không đổi, có thể phủ nhận theo lý thuyết thông tin.

Kết Luận

Khả năng phủ nhận lưu trữ mạnh nhằm ngăn người kiểm tra phân biệt dữ liệu bị che giấu với vùng trống có đệm trong một két mã hóa tĩnh. Phần lớn ứng dụng tuyên bố có tính năng này chỉ cung cấp chế độ mồi mang tính hình thức, với các cờ cấu hình có thể phát hiện. Đáp ứng định nghĩa mạnh hơn cần một mô hình mối đe dọa chính xác, không có sổ đăng ký két đếm được, không có cờ cấu hình lộ ra, phần đệm ổn định và các bản ghi mã hóa không cho biết ô nào là thật.

Vaultaire dùng các mẫu hình đã thiết lập để tách các két mã hóa và giữ tên cùng nội dung két ngoài giao diện khi khóa. Bố cục lưu trữ hiện tại của nó vẫn để lộ số két, qua thư mục lưu trữ của từng két, khi kiểm tra vùng chứa ứng dụng. Hãy xem đó là sự che giấu ở cấp giao diện, dựa trên mã hóa có xác thực, không phải bằng chứng rằng không có két nào khác.