Mã hóa bằng Hình mẫu: Cách vẽ hình bảo vệ tệp của bạn
Bạn vẽ một mẫu bằng ngón tay của bạn. PBKDF2 biến cử chỉ đó thành một khóa vault, mở khóa một khóa ngẫu nhiên riêng biệt bảo vệ các tệp của bạn bằng AES-256-GCM. Không có trường mật khẩu, không có mã PIN ngắn. Chỉ cần mẫu của bạn và hệ thống phân cấp khóa được phân lớp có chủ ý.
Vaultaire tuần tự hóa một hình được vẽ trên lưới 5×5 và xử lý nó bằng PBKDF2-HMAC-SHA512, 600.000 lần lặp và một lượng muối trên toàn thiết bị được lưu trữ trong iOS Keychain. Kết quả 256-bit là một khóa vault: nó mã hóa chỉ mục vault và mở khóa chính ngẫu nhiên riêng biệt mà AES-256-GCM sử dụng cho nội dung tập tin và siêu dữ liệu.
Mã hóa bằng Hình mẫu là gì?
Hầu hết các ứng dụng vault đều ẩn sau mã PIN hoặc mật khẩu. Bạn nhập bốn chữ số và ảnh của bạn sẽ xuất hiện. Nghe có vẻ đủ an toàn phải không?
Đây là vấn đề: mã PIN gồm bốn chữ số có chính xác 10.000 kết hợp có thể. Một máy tính có thể thử từng cái một trong chưa đầy một giây. Sáu chữ số? Một triệu sự kết hợp. Vẫn nhanh chóng tầm thường đối với phần cứng hiện đại. Ngay cả mật khẩu tám ký tự, nếu chỉ sử dụng chữ cái viết thường, cũng mang lại cho bạn khoảng 200 tỷ khả năng. Nghe có vẻ nhiều cho đến khi bạn biết rằng một chiếc máy tính xách tay tiêu chuẩn có thể kiểm tra hàng tỷ lần băm mật khẩu mỗi giây. Mã hóa mẫu
Mã hóa mẫu có một cách tiếp cận cơ bản khác. Thay vì nhập các ký tự vào hộp, bạn vẽ một hình dạng hình học trên một mạng lưới các dấu chấm. Đường dẫn cụ thể mà bạn theo dõi — bạn chạm vào những điểm nào, theo thứ tự nào, với hình học nào — sẽ trở thành đầu vào cho hàm dẫn xuất khóa dựa trên mật khẩu. Kết quả không chỉ được kiểm tra bởi giao diện: nó phải mở khóa một chỉ mục được mã hóa đã được xác thực và khóa chính ngẫu nhiên bên trong nó.
Sự khác biệt quan trọng. Khi bạn nhập mã PIN vào một số ứng dụng, ứng dụng chỉ kiểm tra xem bạn đã nhập đúng số hay chưa. Nếu bạn làm vậy, nó sẽ mở ra, mặc dù các tệp có thể được bảo vệ chủ yếu bằng kiểm soát truy cập. Thay vào đó, Vaultaire đưa mẫu đã vẽ vào PBKDF2 để lấy được khóa vault 256-bit. Khóa đó phải xác thực và giải mã chỉ mục vault trước khi có thể mở khóa chính ngẫu nhiên được sử dụng trên các tệp. Một mẫu không được nhận dạng được trình bày dưới dạng một vault trống, nhưng cơ bản AES-GCM xác thực vẫn phân biệt khóa đúng với khóa không chính xác.
Cổng truy cập dựa trên mã PIN có thể giống như một cánh cửa bị khóa được đặt phía trước các tệp có thể đọc được. Mô hình của Vaultaire gần giống với sự kết hợp trên một chiếc két sắt: nó lấy ra chìa khóa để mở một chỉ mục được mã hóa, từ đó giải phóng chìa khóa riêng bảo vệ nội dung. Giao diện không thể đơn giản bỏ qua chuỗi mật mã đó.
Cách hoạt động, Từng bước
Đây là những gì xảy ra kể từ thời điểm ngón tay của bạn chạm vào màn hình cho đến thời điểm những người khác không thể đọc được tệp của bạn.
Bước 1: Bạn vẽ mẫu của mình
Vaultaire trình bày một lưới các dấu chấm có kích thước 5 × 5. Bạn vẽ một đường liên tục nối ít nhất 6 điểm với ít nhất hai lần đổi hướng. Ứng dụng ghi lại chính xác những điểm bạn đã truy cập và theo thứ tự. Trình tự này là mẫu của bạn.
Không giống như lưới 3×3 thường được sử dụng cho màn hình khóa Android, Vaultaire sử dụng lưới 5×5. Đây không phải là một sự lựa chọn thẩm mỹ. Hai mươi lăm vị trí cho phép có nhiều đường đi, giao cắt, bỏ qua và thay đổi hướng hơn nhiều so với chín vị trí. Không gian lý thuyết rộng hơn sẽ giúp ích, nhưng tính bảo mật thực tế vẫn phụ thuộc vào tính khó đoán của con đường bạn chọn. Một chữ cái quen thuộc hoặc hình dạng đơn giản vẫn có thể đoán được ngay cả khi lưới có thể thể hiện hàng tỷ lựa chọn thay thế.
Bước 2: Mẫu lấy được khóa Vault
Mẫu vẽ của bạn được tuần tự hóa với kích thước lưới và được đưa vào PBKDF2 (Hàm dẫn xuất khóa dựa trên mật khẩu 2) với HMAC-SHA512, 600.000 lần lặp và một lượng muối ngẫu nhiên trên toàn thiết bị. Muối là một giá trị không bí mật được lưu trữ trong iOS Keychain dưới dạng mục WhenUnlockedThisDeviceOnly. Nó làm cho thiết bị phái sinh cục bộ bị ràng buộc; nó không phải là duy nhất cho mỗi kho tiền và không thêm entropy vào mẫu do con người chọn.
Quá trình phái sinh khóa là cố tình tốn kém. PBKDF2 chạy 600.000 HMAC-SHA512 lặp đi lặp lại cho từng mẫu ứng cử viên, làm tăng chi phí của một cuộc tấn công đoán. Điều này không biến mẫu entropy thấp thành 256 bit bảo mật và thời gian tấn công phụ thuộc vào phần cứng của kẻ tấn công. Mục đích của nó hẹp hơn và có thể đo lường được: làm cho mỗi lần đoán đắt hơn đáng kể so với một hàm băm đơn giản.
Bước 3: Tệp của bạn được mã hóa
Khi vault được tạo lần đầu tiên, Vaultaire sẽ tạo khóa chính 256 bit ngẫu nhiên. Khóa vault có nguồn gốc từ mẫu sẽ mã hóa chỉ mục và bao bọc khóa chính đó; nó không mã hóa trực tiếp mọi tập tin. Khóa chính được sử dụng với AES-256-GCM dành cho tiêu đề tệp, nội dung, hình thu nhỏ và siêu dữ liệu liên quan. Các nonces mới đảm bảo bản rõ lặp lại không tạo ra bản mã lặp lại dưới cùng một khóa.
GCM bổ sung một lớp quan trọng: xác thực. Nó không chỉ xáo trộn dữ liệu của bạn, mà còn tạo ra một thẻ phát hiện bất kỳ sự giả mạo nào. Nếu một bit của tệp mã hóa bị sửa đổi, quá trình giải mã sẽ thất bại. Không ai có thể giả mạo các tập tin của bạn mà bạn không biết.
Bước 4: Trạng thái khóa hoạt động bị xóa
Khi Vaultaire khóa, nó sẽ xóa trạng thái vault đang hoạt động và khóa chính, đồng thời yêu cầu một buổi lễ mở khóa khác trước khi hiển thị lại các tập tin. Trong khi vault mở, các byte khóa đối xứng đó nhất thiết phải tồn tại trong quy trình ứng dụng, vì vậy CryptoKit có thể biểu diễn AES-GCM hoạt động. Vaultaire cũng lưu giữ thông tin khôi phục, bao gồm phong bì khôi phục được mã hóa theo mẫu và cụm từ, bên trong một AES-GCM cơ sở dữ liệu được mã hóa được lưu trữ trong iOS Keychain. Điều đó khác biệt đáng kể so với việc tuyên bố rằng mẫu và mọi bản sao khóa không được lưu trữ ở đâu cả.
Toán học đằng sau nó (Bằng tiếng Anh đơn giản)
Bạn không cần bằng khoa học máy tính để hiểu lý do tại sao tính năng này hoạt động. Tính bảo mật bao gồm ba con số: có thể có bao nhiêu mẫu, mỗi lần đoán mất bao lâu và kẻ tấn công có thể thực hiện bao nhiêu lần đoán. Không gian khóa
Entropy: Thước đo tính không thể đoán trước
Entropy là một từ hoa mỹ dành cho “. Điều này khó đoán đến mức nào.” Một lần lật đồng xu có 1 bit entropy (hai kết quả). Mã PIN gồm bốn chữ số có khoảng 13 bit entropy (10.000 kết quả). Một mẫu được lựa chọn tốt trên lưới 5×5, kết nối 8 điểm trở lên, có thể vượt quá 30 bit entropy, hơn một tỷ mẫu có thể có.
Entropy của mô hình đặt ra giới hạn cho một cuộc tấn công đoán. PBKDF2 không thể tạo ra entropy mà cử chỉ không chứa, nhưng nó có thể khiến việc kiểm tra mỗi ứng viên trở nên tốn kém hơn nhiều.
Nguồn gốc chính: Làm cho việc đoán trở nên đắt đỏ
PBKDF2 lấy mẫu tuần tự và chạy 600.000 vòng HMAC-SHA512. Ước tính tấn công phải sử dụng chi phí đo được trên phần cứng đang thực hiện việc đoán: với chính xác 1 mili giây cho mỗi ứng viên hoàn chỉnh, 1.000.000.000 ứng viên sẽ mất 1.000.000 giây, hay khoảng 11,6 ngày, trên 1 nhân viên. Chi phí ứng viên được đo chậm hơn sẽ tăng thời gian đó; phần cứng song song làm giảm nó. Độ dài đầu ra 256 bit không thay đổi kích thước của không gian tìm kiếm mẫu.
Muối trên toàn thiết bị được lưu trữ trong Keychain và không được thiết kế để giữ bí mật. Keychain và iOS Bảo vệ dữ liệu có thể khiến việc trích xuất khó khăn hơn trong trường hợp thu giữ thiết bị, nhưng phân tích mật mã phải giả định rằng người kiểm tra lấy được các tệp được mã hóa cũng có thể lấy được muối. Muối ngăn chặn việc tính toán trước trên các thiết bị; nó không phải là sự thay thế cho một khuôn mẫu mạnh mẽ.
AES-256: Tiêu chuẩn được các chính phủ tin tưởng
AES-256 là tiêu chuẩn mã hóa được chính phủ Hoa Kỳ sử dụng cho thông tin mật. “256” đề cập đến độ dài khóa tính bằng bit. Khóa 256 bit có 2256 giá trị có thể có, một con số lớn đến mức nếu mọi nguyên tử trong vũ trụ quan sát được là một máy tính và mỗi máy tính có thể kiểm tra một nghìn tỷ khóa mỗi giây, thì chúng vẫn không thể bẻ khóa nó trước cái chết nhiệt của vũ trụ.
Sự an toàn của AES-256 không phụ thuộc vào việc giữ bí mật thuật toán. Nhưng toàn bộ hệ thống không chỉ được bảo vệ bởi không gian khóa AES: giới hạn đoán thực tế đến từ entropy của mẫu, PBKDF2 yếu tố hoạt động cũng như khả năng bảo vệ muối xung quanh thiết bị và bộ lưu trữ được mã hóa. AES-256-GCM cung cấp mã hóa được xác thực mạnh mẽ sau khi khóa chính ngẫu nhiên chính xác đã được mở khóa.
Tại sao không ai có thể vượt qua
Chúng ta hãy xem xét những cách chính mà ai đó có thể cố gắng truy cập vào các tệp được mã hóa của bạn, Vaultaire làm gì để tăng chi phí và giới hạn vẫn còn ở đâu.
Brute Force: Thử mọi mẫu
PBKDF2 khiến mọi ứng viên mẫu phải trả 600.000 HMAC-SHA512 lần lặp lại. Đó là một lời biện hộ có ý nghĩa, nhưng không phải là lời hứa hẹn về một số năm cố định: kết quả phụ thuộc vào việc lựa chọn mẫu, tốc độ đạo hàm đo được, độ song song và liệu người kiểm tra có thu hồi được muối của thiết bị hay không. Những con đường dài hơn, ít dự đoán hơn rất quan trọng vì PBKDF2 làm tăng chi phí dự đoán thay vì tạo ra entropy mới.
: Đọc màn hình của bạn
Trên lưới 3×3, các vết nhòe trên màn hình có thể thu hẹp đáng kể các mẫu có thể có. Trên lưới 5×5, mẫu vết nhòe cho biết những chấm nào được chạm vào nhưng không hiển thị thứ tự, hướng hoặc kết nối giữa chúng. Sự bùng nổ tổ hợp làm cho cách tiếp cận này không thực tế.
Lướt vai: Xem bạn vẽ
Các mẫu được vẽ nhanh trên màn hình điện thoại nhỏ cực kỳ khó ghi nhớ bằng cách quan sát, đặc biệt là trên lưới 5×5. Nghiên cứu cho thấy rằng những người quan sát gặp khó khăn hơn nhiều trong việc sao chép các mẫu phức tạp so với việc nghe lén mã PIN hoặc mật khẩu được nói to. Thu giữ thiết bị
: Lấy điện thoại của bạn
Nếu ai đó lấy điện thoại của bạn, nội dung và chỉ mục tệp của Vaultaire vẫn giữ nguyên AES-GCM bản mã cho đến khi có đủ khóa cần thiết. Ứng dụng không lưu trữ bản ghi xác minh mật khẩu thông thường nhưng điều đó không xóa xác minh ngoại tuyến. Tên tệp của mỗi chỉ mục vault được mã hóa chứa hàm băm rút gọn của khóa vault và AES-GCM giải mã được xác thực cũng thành công hoặc thất bại đối với khóa ứng viên. Do đó, khả năng bảo vệ thiết bị và cường độ mẫu vẫn là một phần của mô hình mối đe dọa.
Không cần phải có hàm băm mật khẩu riêng biệt để kiểm tra dự đoán đối với văn bản mã hóa đã được xác thực. Vaultaire's AES-GCM các thẻ cung cấp kết quả thành công hay thất bại có độ tin cậy cao và tên tệp chỉ mục cung cấp khả năng kiểm tra sơ bộ rẻ hơn. Việc bảo vệ là chi phí và tính không thể đoán trước của thông tin xác thực cộng với iOS bảo vệ tài liệu địa phương, chứ không phải là không có lời tiên tri xác minh.
Chọn mẫu mạnh
Mã hóa chỉ mạnh bằng mẫu bạn chọn. Đây là cách tối đa hóa bảo mật của bạn với nỗ lực tối thiểu.
Điều gì tạo nên một mô hình mạnh mẽ
- Sử dụng nhiều dấu chấm hơn.Kết nối ít nhất 8 trong số 25 điểm có sẵn. Mỗi dấu chấm bổ sung sẽ nhân số lượng mẫu có thể có.
- Hãy vượt qua con đường của riêng bạn.Các mẫu lặp lại, bỏ qua dấu chấm hoặc thay đổi hướng đột ngột khó tái tạo hơn nhiều từ bộ nhớ hoặc quan sát.
- Tránh các hình dạng rõ ràng.Các chữ cái (L, Z, S), các hình dạng hình học đơn giản (hình vuông, hình tam giác) và các đường thẳng là những điều đầu tiên kẻ tấn công sẽ thử.
- Sử dụng toàn bộ lưới.Các mẫu nằm ở một góc hoặc dọc theo một cạnh sẽ lãng phí entropy có sẵn. Trải ra.
Những điều cần tránh
- Các mẫu có độ dài tối thiểu. Vaultaire yêu cầu ít nhất 6 dấu chấm và hai lần thay đổi hướng, nhưng việc đáp ứng mức tối thiểu không khiến đường đi trở nên khó đoán. Sử dụng nhiều lưới hơn khi bạn có thể nhớ kết quả một cách đáng tin cậy.
- Hình dạng hình học đơn giản.Hình chữ L, đường ngoằn ngoèo hoặc đường chéo thẳng là các mẫu tương đương với “password123.”
- Luôn xuất phát từ cùng một góc.Nghiên cứu về kiểu khóa Android cho thấy hầu hết mọi người đều bắt đầu từ dấu chấm trên cùng bên trái. Những kẻ tấn công biết điều này.
Điểm ngọt ngào
Một mẫu kết nối các chấm 8–12 với ít nhất hai lần thay đổi hướng mang lại khả năng bảo mật tuyệt vời trong khi vẫn giúp bạn dễ dàng ghi nhớ thông qua bộ nhớ cơ. Bạn không cần phải ghi nhớ nó như mật khẩu, bàn tay của bạn ghi nhớ chuyển động, giống như cách nó ghi nhớ cách viết chữ ký của bạn.
Tại sao bạn nên cảm thấy an toàn
Mã hóa mẫu trong Vaultaire không chỉ đơn thuần là một bảng mã PIN đẹp hơn. Cử chỉ được xử lý bằng chức năng phái sinh khóa thực và phải mở khóa dữ liệu được mã hóa đã xác thực. Sức mạnh của nó vẫn phụ thuộc vào cử chỉ bạn chọn, vì vậy Vaultaire kết hợp lưới lớn hơn với độ cao PBKDF2 hệ số công việc thay vì trình bày độ dài đầu ra 256 bit dưới dạng 256 bit entropy bí mật của con người.
Mẫu và khóa vault cục bộ của bạn không được gửi tới Vaultaire. Nếu sao lưu tùy chọn được bật, khóa sao lưu có nguồn gốc từ mẫu riêng biệt sẽ mã hóa CloudKit bản ghi và bảng kê khai khôi phục được mã hóa cho phép cụm từ khôi phục khôi phục kho lưu trữ và khóa dự phòng. Vaultaire không giữ khóa của nhà cung cấp để giải mã những bản ghi đó nhưng thông tin xác thực về thiết bị và khôi phục vẫn là những phần quan trọng về bảo mật của thiết kế.
Bạn vẽ một hình. Hình dạng đó bảo vệ các tập tin của bạn. Toán học làm phần còn lại.
Câu hỏi thường gặp
Điều gì xảy ra nếu tôi quên hình của mình?
Khi bạn tạo vault, Vaultaire sẽ tạo một tùy chỉnh chứa 9 câu khôi phục từ riêng biệt. PBKDF2 lấy khóa khôi phục từ câu đó, khóa này sẽ mở một phong bì được mã hóa chứa khóa vault. Nếu bạn mất cả mẫu và cụm từ khôi phục, Vaultaire không có khóa phía máy chủ nào có thể khôi phục vault.
Mẫu có thực sự an toàn hơn mật khẩu không?
Một mẫu được chọn tốt trên lưới 5×5 có thể khớp hoặc vượt quá entropy của một mật khẩu thông thường. Ưu điểm là dễ sử dụng: mọi người chọn mật khẩu yếu vì mật khẩu mạnh khó nhớ. Các mẫu thúc đẩy trí nhớ của cơ, khiến việc sử dụng một mẫu phức tạp trở nên tự nhiên mà không cần ghi nhớ có ý thức.
Ai đó có thể chụp màn hình hoặc ghi lại mẫu của tôi không?
Vaultaire áp dụng lá chắn ảnh chụp màn hình nỗ lực cao nhất vào lưới mẫu và phản ứng khi iOS báo cáo chụp màn hình đang hoạt động. iOS không cung cấp cờ màn hình bảo mật công khai cho nội dung ứng dụng tùy ý, vì vậy các biện pháp kiểm soát này làm giảm việc chụp nhầm nhưng không thể đảm bảo rằng mọi phương pháp chụp đều bị chặn.
Vaultaire sử dụng thuật toán mã hóa nào?
sử dụng Vaultaire PBKDF2-HMAC-SHA512 với 600.000 lần lặp lại để lấy khóa vault từ mẫu và toàn bộ thiết bị Keychain muối. Khóa vault đó mã hóa chỉ mục vault và bao bọc khóa chính 256 bit ngẫu nhiên. AES-256-GCM dưới khóa chính sẽ bảo vệ nội dung tệp, tiêu đề, siêu dữ liệu và hình thu nhỏ bằng mã hóa xác thực.
Mẫu này có được lưu trên thiết bị của tôi không?
Vaultaire lưu trữ thông tin khôi phục, bao gồm cả mẫu, bên trong một AES-GCM cơ sở dữ liệu khôi phục được mã hóa được lưu giữ trong iOS Keychain. Mẫu không được gửi đến Vaultaire hoặc được lưu trữ trong các tệp văn bản gốc. Khi kho tiền được mở, các byte khóa sẽ tồn tại trong quy trình ứng dụng; khóa làm giảm trạng thái khóa hoạt động của Vaultaire.
Vaultaire có thể truy cập các tệp được mã hóa của tôi không?
Vaultaire không vận hành dịch vụ nhận mẫu, cụm từ khôi phục, khóa giải mã hoặc nội dung vault có thể đọc được của bạn. Đã mã hóa iCloud bản sao lưu vẫn ở chế độ riêng tư của bạn CloudKit cơ sở dữ liệu. Ranh giới của nhà cung cấp này không bảo vệ vault mở khỏi bản dựng ứng dụng, hệ điều hành hoặc thiết bị bị xâm phạm.
Hãy thử Mã hóa bằng Hình mẫu
Vẽ mẫu đầu tiên của bạn và xem cảm giác như thế nào khi các tệp của bạn thực sự được bảo vệ.
Tải xuống Vaultaire miễn phí