Phủ nhận hợp lý và các két tách biệt theo mẫu hình
Có người yêu cầu bạn mở Vaultaire. Bạn vẽ một mẫu hình, và một két đã mã hóa mở ra mà không có menu liệt kê các két khác. Một mẫu hình khác có thể mở một két khác. Điều này cho bạn sự phân tách thực tế trong giao diện, với giới hạn rõ ràng trước người kiểm tra có thể xem vùng chứa ứng dụng.
Tính năng phủ nhận hợp lý của Vaultaire dùng các mẫu hình riêng để tìm tới các chỉ mục két đã mã hóa riêng, mà không hiện danh sách tất cả các két. Điều này có thể giấu các két khác khi giao diện bị kiểm tra thông thường, nhưng bố cục trên ổ đĩa để lộ số két cho người kiểm tra truy cập được vùng chứa ứng dụng.
Phủ nhận hợp lý thực sự có nghĩa là gì
Theo nghĩa mật mã chặt chẽ nhất, phủ nhận hợp lý nghĩa là bộ lưu trữ quan sát được không chứng minh có thêm nội dung được bảo vệ nào tồn tại. Trong ngôn ngữ sản phẩm thường ngày, cụm từ này cũng được dùng cho thông tin xác thực giả, hiện ra một chế độ xem trong khi giấu chế độ xem khác. Đó là những tiêu chuẩn khác nhau, và cách triển khai hiện tại của Vaultaire đạt mục tiêu phân tách giao diện, không phải khả năng phủ nhận ở mức lý thuyết thông tin.
Hầu hết ứng dụng két cho bạn một két sau một mật khẩu. Nếu ai đó buộc bạn mở nó, mọi thứ đều lộ ra. Một số ứng dụng có “chế độ mồi”, cho phép đặt mật khẩu thứ hai để hiện một màn hình giả. Nhưng các cách làm đó thường chỉ là bề ngoài. Người giám định pháp y có thể xem dữ liệu của ứng dụng, thấy các cờ cấu hình, nhận ra kích thước dữ liệu mã hóa không khớp với các tệp hiển thị, hoặc tìm siêu dữ liệu để lộ sự tồn tại của một lớp ẩn.
Vaultaire tìm két theo mẫu hình. Mỗi mẫu hình hợp lệ trên lưới 5×5 tạo ra một khóa két ứng viên khác nhau. Ứng dụng băm khóa đó để tính tên tệp chỉ mục đã mã hóa dự kiến, rồi mở và xác thực chỉ mục đó nếu nó tồn tại. Ứng dụng không có sổ đăng ký dạng bản rõ liên kết mẫu hình hay tên két hiển thị cho người dùng, dù chính các tệp chỉ mục đã mã hóa có thể bị liệt kê và đếm.
Nếu chỉ mục tương ứng tồn tại và AES-GCM xác thực thành công, bạn sẽ thấy các tệp của két đó. Nếu không, Vaultaire hiện trạng thái trống và có thể tạo một két mới cho mẫu hình đó. Màn hình khóa không báo lỗi nêu tên một két khác và không hiện danh sách nào. Giao diện kín tiếng đó có ích khi bị kiểm tra thông thường, nhưng không xóa được bằng chứng trong hệ thống tệp mô tả bên dưới.
Các ứng dụng két truyền thống thường mở ra một danh sách các vùng chứa hiển thị. Vaultaire thì để mỗi mẫu hình trỏ tới một chỉ mục đã mã hóa. Người dùng giao diện thấy két đã chọn, không thấy danh mục các két khác. Người kiểm tra hệ thống tệp thấy nhiều hơn và có thể đếm số két qua các thư mục lưu trữ của chúng.
Cách hoạt động bên trong
Nền tảng kỹ thuật kết hợp địa chỉ tạo từ mẫu hình với mã hóa có xác thực. Các mẫu hình khác nhau tạo ra các khóa và tên tệp khác nhau. AES-GCM sau đó kiểm tra tính toàn vẹn rõ ràng: khóa đúng xác thực được chỉ mục đã mã hóa, còn khóa sai thì thất bại. Kết quả xác thực đó có ích cho an toàn, nhưng cũng có nghĩa là dữ liệu bị sao chép cho phép kiểm tra phỏng đoán ngoại tuyến.
Mẫu hình khác nhau, khóa khác nhau
Khi bạn vẽ mẫu hình, Vaultaire chuyển chuỗi điểm và kích thước lưới thành dữ liệu, rồi chạy 600.000 vòng PBKDF2-HMAC-SHA512 với muối ngẫu nhiên chung của thiết bị lưu trong Keychain. Hàm này cho ra khóa két 256 bit. Đầu vào mẫu hình khác nhau được kỳ vọng tạo ra các khóa không liên quan, nhưng độ an toàn của thông tin xác thực vẫn bị giới hạn bởi việc mẫu hình dễ đoán đến đâu. Đầu ra 256 bit không cho mẫu hình do con người chọn 256 bit entropy.
Mỗi khóa giải mã đúng khối dữ liệu của nó
Vaultaire lưu bản đồ tệp và khóa chính ngẫu nhiên đã bọc của mỗi két trong một chỉ mục mã hóa bằng AES-256-GCM. Khi bạn vẽ mẫu hình, ứng dụng tạo khóa két tương ứng và kiểm tra tên tệp theo dấu vân tay của khóa đó. Nếu tệp tồn tại, việc giải mã có xác thực sẽ thành công hoặc thất bại; AES-GCM không chấp nhận bản rõ vô nghĩa. Nếu không có chỉ mục hợp lệ nào mở ra, giao diện ở trạng thái trống và không liệt kê các két khác.
Không có danh mục két dạng bản rõ
Vaultaire không giữ bảng cơ sở dữ liệu hiển thị cho người dùng để liên kết mẫu hình với tên két đọc được. Luồng mở khóa thông thường tìm tới một chỉ mục qua khóa được tạo ra. Trên ổ đĩa, mỗi két có một tệp gốc `vault_index_<locator>.bin` nằm trong một nhóm được đệm theo dải 64 bằng các tệp che ngẫu nhiên, cộng với một thư mục lưu trữ mang cùng tên định vị. Chính ứng dụng liệt kê các mục này để bảo trì bộ lưu trữ. Tên định vị không để lộ mẫu hình gốc, nhưng số thư mục cho biết số két và cho thấy tệp gốc nào là thật.
Cả hai két đều thật như nhau. Cả hai được mã hóa bằng cùng một thuật toán. Cả hai tạo ra cùng một loại dữ liệu mã hóa. Không có cờ, dấu hiệu hay siêu dữ liệu nào gắn nhãn một két là “thật” và két kia là “mồi”. Về mặt toán học, chúng giống hệt nhau.
Chiến lược két mồi
Khả năng từ chối hợp lý chỉ có tác dụng nếu bạn có điều gì đó muốn thể hiện. Một két trống là đáng ngờ. Một két rõ ràng không có gì đáng bảo vệ là điều đáng nghi ngờ. Cách phòng thủ mạnh nhất là một căn két trông giống hệt như những gì ai đó mong đợi tìm thấy.
Thiết lập mồi nhử của bạn
Chọn mẫu hình thứ hai — một mẫu hình bạn có thể vẽ nhanh và tự nhiên khi bị áp lực. Tạo một két bằng mẫu hình đó. Đặt vào đó nội dung hợp lý với người dùng ứng dụng két: có thể là vài ảnh cá nhân bạn muốn giữ riêng nhưng không nhạy cảm, vài tài liệu tài chính, vài ghi chú. Nội dung nên đáng tin và hơi ngại ngùng — vừa đủ để người lục điện thoại của bạn nghĩ rằng họ đã tìm thấy thứ bạn đang giấu.
Tạo nên sự thuyết phục
Một két mồi tốt có vài đặc điểm. Nó nên chứa số tệp hợp lý — không quá ít (trống trơn thì đáng ngờ) và không quá nhiều (sao phải bảo vệ nhiều nội dung bình thường như vậy?). Các tệp nên đủ mới để cho thấy két đang được dùng. Lý tưởng nhất, nội dung nên cho một lý do hợp lý giải thích vì sao bạn cài ứng dụng két.
Người chỉ thấy giao diện đã mở khóa sẽ thấy két đã chọn và không có bộ chọn két. Điều đó có thể giảm việc vô tình để lộ. Người truy cập được hệ thống tệp có thể đếm số két và biết rằng trên máy có hơn một két, dù họ vẫn không thể liên kết một chỉ mục với mẫu hình hay đọc nội dung của nó.
Khi bị ép buộc
Nếu bạn bị ép mở khóa thiết bị, hãy vẽ mẫu hình mồi. Két mở ra. Các tệp hiện ra. Trong giao diện thông thường, không có menu ẩn hay danh sách két nào để khám phá. Người cầm điện thoại của bạn thấy một két đã mở khóa. Điều đó giúp việc giao nộp trông nhất quán khi bị kiểm tra thông thường, còn kiểm tra hệ thống tệp vẫn có thể để lộ thêm các chỉ mục đã mã hóa.
Két nhạy cảm của bạn không xuất hiện trong giao diện trừ khi mẫu hình của nó được vẽ. Nó không được liệt kê sau một menu ẩn. Chỉ mục đã mã hóa của két vẫn nằm trong vùng chứa ứng dụng, nên không nên coi tính năng này là biện pháp bảo vệ trước mọi hình thức buộc giao nộp hay phân tích pháp y.
Ranh giới bảo mật, nói chính xác
Vaultaire có thể đưa ra những khẳng định mạnh về nội dung đã mã hóa và những khẳng định hẹp hơn về giao diện. AES-GCM bảo vệ những gì một chỉ mục và các tệp của nó chứa. Việc tìm két theo mẫu hình giữ các két khác ngoài luồng mở khóa hiển thị. Không đặc tính nào trong hai đặc tính này giấu được số két trước người kiểm tra đọc được vùng chứa ứng dụng.
Nội dung đã mã hóa vẫn được giữ kín
AES-256-GCM được thiết kế để giấu bản rõ và phát hiện sửa đổi khi khóa và nonce được xử lý đúng. Người kiểm tra có thể nhận ra tệp chỉ mục và tệp khối dữ liệu của Vaultaire qua tên và vị trí, nhưng không thể đọc bản đồ tệp được bảo vệ, khóa chính đã bọc, tên tệp, siêu dữ liệu, ảnh thu nhỏ hay nội dung tệp nếu không có khóa tương ứng.
Đếm được chỉ mục, nhưng không có bản đồ mẫu hình dạng bản rõ
Hệ thống tệp cho biết có bao nhiêu két, vì mỗi két có thư mục lưu trữ riêng. Điều nó không cho biết là bản đồ dạng bản rõ từ các dấu vân tay đó tới mẫu hình đã tạo ra chúng, nhãn két hiển thị cho người dùng hay nội dung đã giải mã. Đó là một ranh giới có ích, nhưng không phải là giấu số lượng.
Vẫn có thể kiểm tra phỏng đoán ngoại tuyến
Kẻ tấn công sao chép muối của thiết bị và dữ liệu ứng dụng đã mã hóa có thể tạo khóa từ một mẫu hình phỏng đoán. Dấu vân tay chỉ mục tương ứng cho kẻ tấn công biết có tệp khớp tên hay không, và việc giải mã có xác thực AES-GCM xác nhận phỏng đoán với độ tin cậy cao. PBKDF2 khiến mỗi lần đoán tốn kém hơn; nó không loại bỏ việc thử ngoại tuyến này và không thêm entropy cho một mẫu hình yếu.
Trạng thái trống đạt được gì
Trên màn hình khóa, Vaultaire không báo “sai mẫu hình” và không hiện các két khác đang có. Mẫu hình không khớp dẫn tới luồng trống hoặc luồng tạo két, nên người chỉ tương tác được với giao diện không nhận được danh sách két. Không nên suy rộng lợi ích về giao diện này cho kẻ tấn công đã sao chép và phân tích các tệp bên dưới.
Luật về buộc giao nộp khác nhau tùy khu vực tài phán và hoàn cảnh. Giao diện của Vaultaire không quyết định được cơ quan chức năng có thể suy ra, yêu cầu hay chứng minh điều gì, và riêng số thư mục lưu trữ két có thể đã cho thấy trên máy có nhiều két. Hãy hỏi một luật sư có chuyên môn về trường hợp của bạn, thay vì coi một tính năng sản phẩm là kết luận pháp lý.
Ai cần phủ nhận hợp lý
Bạn có thể nghĩ phủ nhận hợp lý chỉ dành cho gián điệp và người tố giác. Thực tế, hàng triệu người bình thường gặp những tình huống mà khả năng bảo vệ thông tin khi bị ép buộc không phải là điều xa xỉ — mà là điều cần thiết.
Nhà báo và nguồn tin của họ
Các nhà báo điều tra thường mang theo tài liệu nhạy cảm: danh tính nguồn tin, tài liệu bị rò rỉ, đoạn ghi âm phỏng vấn. Ở nhiều quốc gia, các nhà báo thường xuyên bị bắt giữ và thiết bị của họ bị khám xét ở biên giới, trạm kiểm soát hoặc trong các cuộc đột kích. Một két mồi chứa các ghi chú vô thưởng vô phạt và các bức ảnh được công bố mang lại vỏ bọc, trong khi két thật bảo vệ các nguồn mà mạng sống của họ có thể phụ thuộc vào sự ẩn danh.
Nhà hoạt động và người tổ chức
Nhà hoạt động chính trị, người tổ chức công đoàn và người bảo vệ nhân quyền có thể làm việc trong môi trường mà điện thoại của họ là mục tiêu giám sát. Các mẫu hình riêng có thể tách biệt những gì hiện ra khi dùng ứng dụng thông thường, nhưng điện thoại bị thu giữ hoặc bị xâm nhập có thể để lộ số két và cho phép đoán mẫu hình ngoại tuyến. Bảo mật trong hoạt động phải vượt ra ngoài ứng dụng.
Những người trong hoàn cảnh bị lạm dụng
Người ghi lại bằng chứng lạm dụng có thể cần tách bằng chứng nhạy cảm khỏi tài liệu mà họ có thể đưa ra một cách an toàn. Một két thứ hai có thể giảm việc để lộ trước người chỉ thấy được giao diện ứng dụng. Nó không thể bảo đảm an toàn trước việc giám sát thiết bị, phần mềm gián điệp, ép buộc hay kiểm tra hệ thống tệp, nên người dùng đang gặp nguy hiểm nên làm theo hướng dẫn của các tổ chức hỗ trợ địa phương có chuyên môn.
Người đi qua biên giới
Quyền kiểm tra ở biên giới và nghĩa vụ của người đi lại khác nhau. Mở một mẫu hình Vaultaire không hiện danh sách tất cả các két, nhưng không khiến các két khác hoàn toàn không thể bị phát hiện khi giám định pháp y. Hãy hạn chế dữ liệu nhạy cảm mang theo và hỏi ý kiến pháp lý cập nhật cho lộ trình và hoàn cảnh của bạn.
Bất cứ ai coi trọng quyền riêng tư
Bạn không cần phải gặp nguy hiểm mới cần quyền riêng tư. Có thể bạn viết nhật ký riêng. Có thể bạn có thông tin y tế không muốn ai tình cờ nhìn thấy. Có thể bạn chỉ đơn giản tin rằng không phải mọi phần trong đời sống số của bạn đều nên mở cho bất kỳ ai cầm điện thoại lên. Các két tách biệt theo mẫu hình tăng quyền riêng tư của giao diện bằng cách hạn chế những gì một lần mở khóa thông thường để lộ, còn số két vẫn thấy được với người kiểm tra hệ thống tệp.
So sánh với các ứng dụng két khác
Nhiều ứng dụng két coi bảo mật là chuyện kiểm soát truy cập: một thông tin xác thực mở một vùng chứa hiển thị. Một số sản phẩm thêm mã PIN giả hoặc chế độ mồi. Độ mạnh của các tính năng đó phụ thuộc vào thiết kế lưu trữ, không phải nhãn tiếp thị; một cờ cấu hình dễ thấy hay một cơ sở dữ liệu mồi riêng có thể để lộ rằng còn một chế độ khác.
Vấn đề của mô hình một két
Thiết kế một vùng chứa gặp vấn đề rõ ràng khi bị ép buộc: một khi thông tin xác thực duy nhất bị lộ, mọi nội dung đằng sau nó đều bị mở. Các sản phẩm có bộ tính năng hiện tại khác nhau, nên hãy đánh giá cách triển khai lưu trữ và chế độ mồi thực tế, thay vì cho rằng một đối thủ cụ thể dùng một mô hình cố định.
Chế độ mồi chỉ mang tính bề ngoài
Tính năng mật khẩu giả có thể có ích khi bị kiểm tra thông thường, nhưng giá trị trước giám định pháp y phụ thuộc vào việc thiết bị có lưu cờ mồi dễ phát hiện, cơ sở dữ liệu thứ hai hay kích thước tệp dễ phân biệt hay không. Nếu không có thiết kế hoặc kết quả kiểm toán công bố, riêng cái nhãn không chứng minh được khả năng phủ nhận mạnh, cũng không chứng minh được điều ngược lại.
Cách làm của Vaultaire khác về kiến trúc
Vaultaire đưa việc phân tách theo mẫu hình vào luồng mở khóa thông thường. Không cần một cờ mã PIN giả đặc biệt để quyết định két có phải là két mồi hay không; mỗi mẫu hình đã thiết lập dẫn tới một két mã hóa bình thường. Các tệp chỉ mục riêng vẫn thấy được dưới dạng vùng chứa đã mã hóa, nên khác biệt về kiến trúc rõ nhất ở giao diện người dùng và sự tách biệt nội dung, không phải ở việc giấu số lượng trước giám định pháp y.
Kết quả là một trải nghiệm nhất quán: không két nào được gắn nhãn “thật” hay “giả”, và mỗi két cần đường mở khóa hoặc khôi phục có xác thực riêng. Nếu không có khóa két và khóa chính cần thiết, nội dung đã mã hóa không dùng được. Sự tồn tại của vùng chứa không bị xóa bằng mật mã.
Câu hỏi thường gặp
Tôi có thể tạo bao nhiêu két?
Vaultaire không đặt giới hạn nhỏ về số két bạn có thể tạo. Mỗi mẫu hình hợp lệ có thể trỏ tới một chỉ mục mã hóa riêng. Dung lượng lưu trữ, không gian mẫu hình dùng được, tính năng của gói đăng ký và tài nguyên thiết bị vẫn là giới hạn thực tế, và số két trên ổ đĩa có thể đếm được qua thư mục lưu trữ của từng két, ngay cả khi ứng dụng không hiện bộ chọn két.
Giám định viên pháp y có thể xác định xem tôi có bao nhiêu két không?
Có, nếu người kiểm tra đọc được vùng chứa ứng dụng của Vaultaire. Các tệp `vault_index` gốc được gộp theo dải 64 ô cùng các tệp che ngẫu nhiên, nhưng mỗi két thật còn có thư mục lưu trữ riêng, nên có thể đếm được số két. Tên định vị không để lộ mẫu hình hay nội dung đọc được, nhưng Vaultaire không khẳng định số két được giấu khỏi phân tích hệ thống tệp.
Điều gì xảy ra nếu ai đó biết về tính năng phủ nhận hợp lý của Vaultaire?
Biết thiết kế không cho biết mẫu hình nào mở chỉ mục đã mã hóa hay két đó chứa gì. Nó cho thấy giới hạn: người kiểm tra vùng chứa ứng dụng có thể đếm số két và có thể thử các mẫu hình đoán ngoại tuyến bằng dấu vân tay khóa và kết quả xác thực AES-GCM. Vì vậy, độ mạnh của mẫu hình và bảo mật thiết bị vẫn rất cần thiết.
Việc có nhiều két có ảnh hưởng đến việc lưu trữ hoặc hiệu suất không?
Mỗi két chiếm dung lượng tương ứng với các tệp nó chứa. Chi phí mã hóa và giải mã như nhau dù bạn có một hay nhiều két. Ứng dụng chỉ giải mã két ứng với mẫu hình bạn vẽ, nên các két khác không ảnh hưởng tới hiệu suất.
Vaultaire có thể buộc phải tiết lộ tất cả các két thông qua bản cập nhật phần mềm không?
Một bản cập nhật phần mềm chạy với quyền truy cập của ứng dụng và có thể liệt kê các tệp chỉ mục đã mã hóa hoặc thay đổi cách hoạt động trong tương lai. Nó vẫn không thể giải mã một két chưa mở nếu không có khóa tạo từ mẫu hình của két đó, nhưng việc phân phối phần mềm là một phần của mô hình tin cậy. Người dùng có rủi ro cao nên xem xét các bản cập nhật và bằng chứng kiểm toán độc lập.
Điều gì xảy ra nếu tôi vô tình tạo một két có mẫu mà tôi đã sử dụng?
Nếu bạn vẽ một mẫu hình khớp với một két đã có trên cùng thiết bị, ứng dụng sẽ mở két đó. Việc tạo khóa trên máy cho cùng một kết quả với cùng mẫu hình, kích thước lưới và muối của thiết bị, nên ứng dụng tìm tới cùng một chỉ mục chứ không tạo bản trùng.
Bảo vệ những gì quan trọng nhất
Thiết lập két mồi đầu tiên của bạn trong chưa đầy một phút. Quyền riêng tư vững chắc bắt đầu từ việc biết chính xác giao diện giấu được gì và bộ lưu trữ đã mã hóa vẫn có thể để lộ gì.
Tải Vaultaire miễn phí