Kiến trúc Bảo mật: Ngăn xếp kỹ thuật đầy đủ

Vaultaire không dựa vào một thuật toán hay một thủ thuật thông minh nào. Nó sử dụng kiến ​​trúc mật mã phân lớp trong đó mỗi thành phần đều có một công việc cụ thể và sự thất bại của bất kỳ lớp nào cũng không ảnh hưởng đến các lớp khác. Đây là mọi quyết định về mật mã, giao thức và thiết kế đứng giữa dữ liệu riêng tư của bạn và phần còn lại của thế giới. Ngăn xếp bảo mật của

Vaultaire sử dụng AES-256-GCM để mã hóa tệp, PBKDF2 với 600.000 lần lặp để dẫn xuất khóa, ChaCha20 để bảo vệ siêu dữ liệu và Apple Secure Enclave để quản lý khóa được hỗ trợ bằng phần cứng. Mỗi tệp đều có vectơ khởi tạo riêng, mỗi vault có muối riêng và các khóa sẽ bị xóa khỏi bộ nhớ khi ứng dụng khóa.

Ngăn xếp mật mã

Hầu hết các ứng dụng bảo mật đều chọn một thuật toán mã hóa và kết thúc một ngày. Vaultaire sử dụng sáu cơ chế mã hóa riêng biệt hoạt động đồng bộ, mỗi cơ chế được chọn cho một mô hình mối đe dọa cụ thể. Nội dung tập tin được mã hóa bằng một mật mã. Siêu dữ liệu được mã hóa bằng một siêu dữ liệu khác. Các khóa được lấy thông qua một hàm tốn kém về mặt tính toán. Bảo mật phần cứng lưu trữ kết quả. Và kiến ​​trúc không có kiến ​​thức đảm bảo rằng ngay cả những người đã xây dựng Vaultaire cũng không thể truy cập dữ liệu của bạn.

Điều này không hề phức tạp vì lợi ích riêng của nó. Mỗi lớp xử lý một bề mặt tấn công khác nhau.AES-256-GCMxử lý mã hóa tệp hàng loạt vì nó nhanh và được tăng tốc phần cứng trên silicon Apple.ChaCha20bảo vệ siêu dữ liệu vì siêu dữ liệu này hoạt động liên tục và có khả năng chống lại các cuộc tấn công định thời vào bộ đệm.PBKDF2lấy được khóa thông qua hàng trăm nghìn lần lặp, khiến cho các cuộc tấn công bạo lực trở nên khó khăn về mặt tính toán. cácSecure Enclavelưu trữ tài liệu quan trọng vì chỉ bảo vệ phần mềm là không đủ khi ai đó có quyền truy cập vật lý vào thiết bị của bạn.

Cùng với nhau, các lớp này tạo thành một kiến ​​trúc phòng thủ chuyên sâu. Kẻ tấn công sẽ cần phải đồng thời phá vỡ nhiều nguyên tắc mã hóa độc lập, , một kịch bản chắc chắn nằm trong lĩnh vực không thể thực hiện được về mặt toán học.

Phòng thủ theo chiều sâu

Hãy coi tính bảo mật của Vaultaire giống như một loạt cửa kho tiền ngân hàng, mỗi cửa yêu cầu một loại chìa khóa khác nhau. Vượt qua một cánh cửa không giúp ích được gì cho cánh cửa tiếp theo. các Mã hóa tệpMật mã siêu dữ liệu, Hàm dẫn xuất khóa, và Vỏ phần cứnglà mỗi rào cản độc lập. Kẻ tấn công phải đánh bại tất cả chúng chứ không chỉ một.

AES-256-GCM: Mã hóa tệp

Mọi ảnh, video và tài liệu được lưu trữ trong Vaultaire đều được mã hóa bằng AES-256-GCM, Tiêu chuẩn mã hóa nâng cao với khóa 256 bit trongGalois/Chế độ đếm. Đây chính là mật mã được chính phủ Hoa Kỳ sử dụng cho thông tin mật tuyệt mật. Nó không phải là một so sánh tiếp thị. Theo nghĩa đen, nó có cùng một thuật toán, cùng kích thước khóa và cùng một phương thức hoạt động.

“256” trong AES-256 đề cập đến độ dài khóa tính bằng bit. Khóa 256 bit có 2 Các giá trị có thể có của256. Để dễ hình dung con số đó: có khoảng 10 Các nguyên tử80trong vũ trụ quan sát được. Nếu mỗi nguyên tử là một siêu máy tính đang kiểm tra một tỷ khóa mỗi giây, chạy kể từ Vụ nổ lớn, thì chúng sẽ khám phá chưa đến một phần nghìn tỷ của một phần nghìn tỷ của một phần trăm không gian khóa.AES-256 Mã hóasẽ không bị ép buộc một cách thô bạo. Không phải hôm nay. Không phải thế kỷ này. Không phải trước khi các ngôi sao cháy hết.

Tại sao Chế độ GCM lại quan trọng

AES là mật mã khối, , nó mã hóa dữ liệu theo khối 128 bit. “mode” xác định cách kết hợp các khối đó. GCM (Chế độ Galois/Bộ đếm) cung cấp hai thứ mà các chế độ đơn giản hơn như CBC không có: mã hóa song song và xác thực tích hợp.

Phần xác thực rất quan trọng. GCM tạo thẻ mật mã cho mọi tệp được mã hóa. Thẻ này hoạt động như một con dấu giả mạo. Nếu ngay cả một bit của văn bản mã hóa bị sửa đổi, cho dù do tác nhân độc hại hay khu vực đĩa bị hỏng, thì thẻ xác thực sẽ không khớp và quá trình giải mã sẽ không thành công. Bạn không nhận được dữ liệu bị hỏng. Bạn nhận được một tín hiệu rõ ràng rằng có điều gì đó không ổn. Thuộc tính này được gọi là mã hóa xác thực và nó ngăn chặn toàn bộ lớp tấn công trong đó đối thủ sửa đổi dữ liệu được mã hóa để thao túng đầu ra được giải mã.

PBKDF2: Đạo hàm chính

Khóa mã hóa của bạn không đến từ đâu cả. Nó bắt nguồn từ mẫu (hoặc cụm từ bí mật) của bạn thông qua hàm phái sinh khóa, , một thuật toán được thiết kế đặc biệt để biến đầu vào do con người cung cấp thành khóa mật mã. Vaultaire sử dụng PBKDF2 (Chức năng dẫn xuất khóa dựa trên mật khẩu 2) với HMAC-SHA512, một tiêu chuẩn được NIST khuyến nghị sử dụng trong các hệ thống chính phủ và tài chính trên toàn thế giới.

PBKDF2 bảo vệ mẫu của bạn như thế nào

Ý tưởng cốt lõi đằng sau PBKDF2 là sự chậm chạp có chủ ý. Nó lấy mẫu của bạn và chạy qua hàng trăm nghìn vòng băm mật mã. Mỗi vòng mất một phần rất nhỏ của một giây. Đối với bạn, việc vẽ mẫu và chờ giải mã gần như là ngay lập tức. Đối với kẻ tấn công đang cố gắng đoán các mẫu bằng vũ lực, phần giây đó sẽ nhân với mỗi lần đoán.

Vaultaire định cấu hình PBKDF2 với số lần lặp cao được hiệu chỉnh riêng cho phần cứng hiện đại. Với các tham số này, mỗi nỗ lực phái sinh khóa đều thực hiện công việc tính toán có ý nghĩa. Kẻ tấn công thử đoán hàng tỷ mẫu sẽ cần nhiều năm tính toán liên tục, để Kho tiềnKho tiền. Và điều đó giả định rằng họ biết muối, loại muối duy nhất cho mỗi kho và được lưu trữ trên thiết bị của bạn.

Mỗi kho tiền đều có muối ngẫu nhiên bằng mật mã riêng. Điều này có nghĩa là hai người dùng vẽ cùng một mẫu sẽ tạo ra các khóa mã hóa hoàn toàn khác nhau. Các bảng tra cứu được tính toán trước (bảng cầu vồng) là vô dụng vì muối làm cho mỗi dẫn xuất khóa của vault’ là duy nhất. Kẻ tấn công phải bắt đầu lại từ đầu cho mọi kho tiền mà chúng nhắm mục tiêu.

256-bit Độ dài khóa mã hóa
Lớp mật mã
6
Khóa
0
được lưu trữ trên máy chủ

ChaCha20: Bảo vệ siêu dữ liệu

Mã hóa nội dung tệp là chưa đủ. Tên tệp, ngày tạo, kích thước hình thu nhỏ và cấu trúc vault đều là siêu dữ liệu, và siêu dữ liệu có thể hiển thị giống như chính dữ liệu đó. Tệp có tên “tax-return-2025.pdf” cho kẻ tấn công biết chính xác những gì bên trong ngay cả khi nội dung được mã hóa. Dấu thời gian hiển thị khi bạn sử dụng vault. Kích thước hình thu nhỏ cho biết nội dung nào đó là ảnh hay video.

Vaultaire mã hóa tất cả siêu dữ liệu bằng ChaCha20, một mật mã luồng được thiết kế bởi Daniel J. Bernstein. ChaCha20 được sử dụng cùng với AES thay vì thay vì nó vì một lý do cụ thể: tính đa dạng của mật mã.

Tại sao phải sử dụng mật mã riêng cho siêu dữ liệu?

Sử dụng cùng một thuật toán cho cả nội dung tệp và siêu dữ liệu có nghĩa là một bước đột phá về mặt lý thuyết chống lại thuật toán đó sẽ phơi bày mọi thứ cùng một lúc. Bằng cách sử dụng AES-256-GCM cho nội dung tệp và ChaCha20 cho siêu dữ liệu, Vaultaire đảm bảo rằng ngay cả trong trường hợp cực kỳ khó xảy ra là một mật mã bị xâm phạm thì lớp kia vẫn nguyên vẹn.

ChaCha20 cũng có những lợi thế thiết thực cho siêu dữ liệu. Đây là một mật mã phần mềm thuần túy, , nó không dựa vào các hướng dẫn AES phần cứng, , giúp hiệu suất của nó hoàn toàn không đổi bất kể dữ liệu được mã hóa. Điều này giúp loại bỏ các kênh bên định thời gian trong bộ nhớ đệm, một loại tấn công trong đó kẻ thù đo lường thời gian mã hóa cần thiết để suy ra thông tin về khóa hoặc bản rõ. Đối với dữ liệu nhỏ, có cấu trúc như siêu dữ liệu, thuộc tính thời gian không đổi này đặc biệt quan trọng.

Mã hóa

Đây là câu hỏi đáng đặt ra về bất kỳ ứng dụng bảo mật nào: điều gì sẽ xảy ra nếu công ty đứng sau ứng dụng đó bị hack, bị triệu tập hoặc đơn giản là trở nên độc hại?

Với hầu hết các ứng dụng, câu trả lời là không thoải mái. Chúng chứa dữ liệu, chìa khóa của bạn hoặc cả hai. Lệnh của tòa án buộc họ phải giao nó. Một vi phạm dữ liệu cho thấy nó. Một nhân viên lừa đảo truy cập nó. Bảo mật của ứng dụng’ chỉ mạnh bằng bảo mật hoạt động ’ của công ty, và lịch sử cho thấy các công ty thường xuyên bị vi phạm.

Vaultaire được xây dựng trên kiến ​​trúc không có kiến ​​thức. Điều này có nghĩa là công ty sản xuất Vaultaire không bao giờ có quyền truy cập vào khóa mã hóa, mẫu, cụm từ bí mật hoặc dữ liệu chưa được mã hóa của bạn. Không phải trong quá trình đồng bộ hóa. Không phải trong quá trình sao lưu. Không bao giờ. Các hoạt động mã hóa diễn ra hoàn toàn trên thiết bị của bạn. Những gì còn lại trên thiết bị của bạn, nếu có bất cứ điều gì, đã được mã hóa bằng các khóa mà chỉ bạn sở hữu.

Ý nghĩa của việc không có kiến thức trong thực tế

Nếu cơ quan thực thi pháp luật gửi trát đòi hầu tòa cho Vaultaire yêu cầu dữ liệu của bạn, công ty có thể tuân thủ đầy đủ và không cung cấp thông tin gì hữu ích. Không có chìa khóa để đầu hàng. Không có mật khẩu chính. Không có cửa sau. Các đốm màu được mã hóa được lưu trữ trong iCloud về mặt toán học không thể phân biệt được với nhiễu ngẫu nhiên nếu không có khóa của bạn và khóa của bạn chỉ tồn tại trong đầu bạn (dưới dạng mẫu) và tạm thời trong thiết bị’s Secure Enclave của bạn (trong khi ứng dụng đang mở).

Đây không phải là một quyết định chính sách. Nó là một công trình kiến ​​trúc. Vaultairekhông thểtruy cập dữ liệu của bạn, bất kể mục đích, động cơ hoặc áp lực pháp lý. Hệ thống được thiết kế sao cho khả năng đó không tồn tại.

Không tin ai, theo thiết kế

có nghĩa là bạn không cần phải tin tưởng Vaultaire với tư cách là một công ty. Bạn không cần phải tin tưởng rằng các máy chủ được an toàn, rằng các nhân viên trung thực hoặc chính phủ sẽ không đến gõ cửa.Toán học bảo vệ bạn khỏi mọi người, bao gồm cả những người viết toán. Tích hợp

Secure Enclave

Bảo mật chỉ dành cho phần mềm có mức trần. Cho dù ứng dụng xử lý các khóa mã hóa trong bộ nhớ cẩn thận đến đâu thì về mặt lý thuyết, hệ điều hành, các ứng dụng khác hoặc công cụ truy cập vật lý đều có thể đọc được bộ nhớ đó. Apple’s Secure Enclave loại bỏ lỗ hổng này bằng cách cung cấp môi trường cách ly phần cứng cho các hoạt động chính.

Secure Enclave là bộ đồng xử lý chuyên dụng được tích hợp trong mọi iPhone hiện đại. Nó có bộ nhớ được mã hóa riêng, quy trình khởi động riêng và ranh giới bảo mật riêng. Các khóa được lưu trữ trong Secure Enclave không bao giờ rời khỏi nó, ngay cả bộ xử lý chính cũng không thể đọc được chúng. Thay vào đó, ứng dụng sẽ gửi dữ liệu đến Secure Enclave, thực hiện các hoạt động mã hóa nội bộ và chỉ trả về kết quả.

Vaultaire sử dụng Secure Enclave để quản lý khóa. Khi bạn vẽ mẫu của mình và hàm phái sinh khóa tạo ra khóa mã hóa, khóa đó sẽ được chuyển đến Secure Enclave. Tất cả các hoạt động mã hóa và giải mã tiếp theo được ủy quyền cho phần cứng. Khóa không bao giờ tồn tại trong không gian bộ nhớ của app’ ở dạng có thể được trích xuất bằng trình gỡ lỗi, công cụ bẻ khóa hoặc hệ thống hình ảnh pháp y.

Điều này có nghĩa là ngay cả khi kẻ tấn công có quyền truy cập root vào iPhone, của bạn thì một tình huống yêu cầu bẻ khóa phức tạp, thì các khóa mã hóa vẫn không thể truy cập được. Secure Enclave là một con chip riêng biệt có silicon riêng. Thỏa hiệp iOS không ảnh hưởng đến Enclave. Các vectơ khởi tạo

cho mỗi tệp

Khi bạn mã hóa hai tệp giống hệt nhau bằng cùng một khóa, việc triển khai đơn giản sẽ tạo ra văn bản mã hóa giống hệt nhau. Đây là một vấn đề. Kẻ tấn công nhìn thấy hai đốm màu được mã hóa giống hệt nhau sẽ biết, mà không cần giải mã bất cứ điều gì, rằng hai tệp gốc giống nhau. Trong một kho chứa đầy ảnh, kiểu phân tích mẫu này có thể tiết lộ thông tin ngay cả khi thông qua mã hóa.

Vaultaire loại bỏ điều này bằng cách tạo ra một vectơ khởi tạo ngẫu nhiên bằng mật mã (IV) duy nhất cho mỗi tệp. IV được kết hợp với khóa mã hóa trong quá trình hoạt động AES-256-GCM, đảm bảo rằng ngay cả các tệp giống nhau từng byte cũng tạo ra văn bản mã hóa hoàn toàn khác nhau. Hai bản sao của cùng một bức ảnh, được mã hóa bằng cùng một khóa, sẽ trông giống như dữ liệu ngẫu nhiên hoàn toàn không liên quan.

Các IV được lưu trữ cùng với các tệp được mã hóa nhưng không bí mật, tính bảo mật của chúng đến từ tính duy nhất chứ không phải tính bảo mật. Mỗi IV được tạo bằng cách sử dụng trình tạo số ngẫu nhiên mã hóa của thiết bị’, lấy entropy từ các nguồn nhiễu phần cứng. Xác suất tạo ra cùng một IV hai lần là rất nhỏ về mặt thiên văn: khoảng 1 trên 296dành cho GCM’ IV 96-bit. Đường ống mã hóa

Đầu vào lưới
Mẫu của bạn Đường dẫn lưới
5×5
→ Lưu trữ
PBKDF2
KDF lặp lại cao
→ Lưu trữ
Secure Enclave
Lưu trữ khóa phần cứng
→ Lưu trữ
AES-256-GCM + IV
Mã hóa trên mỗi tệp Quản lý bộ nhớ

: Chìa khóa tự hủy

Một lỗi phổ biến trong phần mềm bảo mật là để lại dữ liệu nhạy cảm trong bộ nhớ sau khi không còn cần thiết nữa. Khóa mã hóa, mật khẩu phái sinh và dữ liệu được giải mã có thể tồn tại trong RAM rất lâu sau khi ứng dụng sử dụng xong chúng. Các công cụ pháp y có thể kết xuất bộ nhớ thiết bị và tìm kiếm những phần còn sót lại, , một kỹ thuật được gọi là tấn công khởi động nguội hoặc phân tích kết xuất bộ nhớ.

Vaultaire áp dụng cách tiếp cận tích cực để dọn dẹp bộ nhớ. Khi bạn đóng ứng dụng hoặc khóa vault của mình, điều sau đây sẽ xảy ra ngay lập tức: Khóa mã hóa

  • bị ghi đè.Các vị trí bộ nhớ chứa vật liệu chính được lấp đầy bằng số 0, sau đó là dữ liệu ngẫu nhiên, rồi lại bằng 0. Đây không phải là một sự phân bổ đơn giản, , bộ nhớ được xóa tích cực để ngăn chặn việc phục hồi.
  • Vật liệu chính có nguồn gốc được thanh lọc.Các giá trị trung gian từ quá trình tính toán PBKDF2, bộ đệm tạm thời và mọi dữ liệu được giải mã được lưu trong bộ nhớ đệm đều bị loại bỏ. Các khóa
  • Secure Enclave không hợp lệ.Các tham chiếu chính trong Secure Enclave được đánh dấu để hủy, đảm bảo chúng không thể được sử dụng lại nếu không lấy lại từ mẫu.
  • Hình thu nhỏ và bản xem trước được giải mã sẽ bị xóa.Mọi dữ liệu hình ảnh được lưu trong bộ nhớ đệm sẽ bị ghi đè trước khi ứng dụng đóng hoàn toàn.

Lần tiếp theo khi bạn mở Vaultaire, bạn sẽ bắt đầu lại từ đầu. Bạn vẽ mẫu của mình, khóa sẽ được lấy mới và Secure Enclave nhận được tham chiếu khóa mới. Không có mã thông báo phiên, không có thông tin xác thực được lưu trong bộ nhớ đệm và không có lối tắt. Mỗi lần khởi chạy ứng dụng đều độc lập về mặt mật mã so với lần khởi chạy trước.

Câu hỏi thường gặp

AES-256 có thực sự không thể phá vỡ được không?

Không có thuật toán mã hóa nào có thể được chứng minh là không thể phá vỡ theo nghĩa toán học tuyệt đối. Tuy nhiên, AES-256 đã chịu đựng được hơn hai thập kỷ phân tích mật mã công khai của cộng đồng nghiên cứu toàn cầu. Cuộc tấn công nổi tiếng nhất chống lại AES-256 làm giảm cường độ khóa hiệu quả từ 256 bit xuống còn khoảng 254,4 bit, , mức giảm không đáng kể và không có tác động thực tế. Phá vỡ AES-256 bằng vũ lực sẽ đòi hỏi nhiều năng lượng hơn mức tồn tại trong hệ mặt trời. Đối với tất cả các mục đích thực tế, nó không thể bị phá vỡ bởi bất kỳ công nghệ nào hiện có hoặc có thể đoán trước được về mặt lý thuyết.

Tại sao nên sử dụng PBKDF2 cho dẫn xuất khóa?

PBKDF2 với HMAC-SHA512 là tiêu chuẩn được NIST khuyên dùng với nhiều thập kỷ phân tích bảo mật đã được chứng minh. Kết hợp với số lần lặp cao và muối ngẫu nhiên trên mỗi vault của Vaultaire’, các cuộc tấn công bạo lực đòi hỏi nhiều năm tính toán trên mỗi vault. PBKDF2 được triển khai nguyên bản trong khung CommonCrypto của Apple’, tránh sự phụ thuộc của bên thứ ba và đảm bảo quá trình phái sinh chính chạy trong mã hệ thống được kiểm tra, cứng nhắc.

Vaultaire gửi dữ liệu gì đến máy chủ của nó?

Không có. Vaultaire không có máy chủ nhận dữ liệu của bạn. Nếu bạn bật sao lưu iCloud, dữ liệu được mã hóa của bạn sẽ được lưu trữ trong tài khoản iCloud cá nhân của bạn, được mã hóa, trước khi để lại trên thiết bị của bạn các khóa mà Apple không có. Vaultaire công ty không bao giờ nhận, xử lý hoặc lưu trữ bất kỳ dữ liệu người dùng nào, dù được mã hóa hay nói cách khác.

iPhone đã jailbreak có thể xâm phạm kho tiền của tôi không?

Việc bẻ khóa cung cấp cho kẻ tấn công quyền truy cập root vào iOS, nhưng Secure Enclave là một bộ đồng xử lý riêng biệt về mặt vật lý với ranh giới bảo mật riêng. Bẻ khóa iOS không bẻ khóa Secure Enclave. Các khóa mã hóa được lưu trữ ở đó vẫn không thể truy cập được ngay cả khi có toàn quyền kiểm soát hệ điều hành. Tuy nhiên, thiết bị đã bẻ khóa sẽ tăng khả năng tấn công cho hoạt động ghi bàn phím hoặc chụp ảnh màn hình, vì vậy Vaultaire khuyên bạn nên sử dụng thiết bị chưa bẻ khóa để bảo mật tối đa.

Tại sao lại sử dụng hai mật mã khác nhau cho tệp và siêu dữ liệu?

Đa dạng về mật mã. Nếu một lỗ hổng được phát hiện trong AES (rất khó xảy ra nhưng không phải là không thể), siêu dữ liệu của bạn sẽ vẫn được ChaCha20 bảo vệ và ngược lại. Ngoài ra, ChaCha20 cung cấp các đặc tính hiệu suất liên tục, lý tưởng cho dữ liệu nhỏ, có cấu trúc như tên tệp và dấu thời gian, loại bỏ một loạt các cuộc tấn công kênh bên mà về mặt lý thuyết có thể ảnh hưởng đến AES khi triển khai chỉ bằng phần mềm.

Điều gì xảy ra với khóa của tôi nếu ứng dụng gặp sự cố?

iOS lấy lại tất cả bộ nhớ ứng dụng khi chấm dứt, dù có tốt hay không. Các tham chiếu khóa Secure Enclave được liên kết với phiên app’ và tự động bị vô hiệu khi quá trình kết thúc. Ngay cả trong trường hợp có sự cố, tài liệu chính không tồn tại ở dạng có thể truy cập được. Lần khởi chạy tiếp theo yêu cầu nhập mẫu đầy đủ và dẫn xuất khóa mới, không có cách nào để tiếp tục phiên trước đó.

Xem ngăn xếp đang hoạt động

Sáu lớp mật mã. Không cần sự tin tưởng. Tải xuống Vaultaire và trải nghiệm kiến ​​trúc bảo mật bảo vệ bạn khỏi mọi người, , kể cả chúng tôi.

Tải xuống Vaultaire miễn phí