Chuyển đến nội dung

Danh tính và tư cách thành viên

Không có hệ thống tài khoản ở bất cứ đâu trong bae. Danh tính của một thiết bị là cặp khóa Ed25519 do nó tự tạo và giữ trong keyring của hệ điều hành; khóa công khai chính là danh tính. Ai thuộc về một thư viện là tập bản ghi đã ký trong nhà trên đám mây, bất kỳ ai giữ chúng đều xác minh được, không máy chủ nào cấp. Bộ máy này là của coven; trang này là cách bae dùng nó.

Bản ghi thành viên

Liên kết đến phần này

Mỗi owner ghi một stream chỉ thêm gồm các mục thành viên đã ký vào nhà trên đám mây: khóa này đã được thêm với vai trò này, khóa này đã bị xóa. Mỗi mục liên kết tới mục trước đó, và mỗi owner ký một head khai báo đầu stream của họ, nên nhà cung cấp bỏ hoặc sắp xếp lại bản ghi sẽ bị phát hiện thay vì được tin. Thư viện chấp nhận hợp của mọi stream owner đã xác minh.

Ở mỗi lần pull, tác giả của từng changeset được kiểm tra với bản ghi này: được ký bởi thành viên hiện tại, với vai trò được ghi. Changeset từ thiết bị đã bị xóa, từ khóa chưa từng được thêm, hoặc có chữ ký không hợp lệ không được áp dụng. Nhà cung cấp lưu bản ghi nhưng không thể giả mạo chúng; chỉ người giữ khóa owner mới đổi được tư cách thành viên.

OwnerMember đều đọc và ghi thư viện; owner còn phê duyệt và xóa thiết bị. Thiết bị sáng lập của bae là owner và mọi thiết bị nó phê duyệt tham gia dưới vai trò member. (Một vai trò thứ ba tồn tại trong bộ máy bên dưới, follower chỉ đọc, mà bae hiện không gán.)

Việc thêm thiết bị là một phiên ghép nối cục bộ có xác minh rõ ràng của con người:

  1. Chủ sở hữu khởi động Thêm thiết bị. bae nghe ngắn gọn trên mạng cục bộ và hiển thị một mã ghép nối. Nó chứa địa chỉ người nghe, khóa phiên tạm thời, tên thư viện, nhà cung cấp và thời hạn sử dụng — không có khóa thư viện hoặc thông tin xác thực lưu trữ lâu dài.
  2. Thiết bị tham gia quét mã, tạo cặp khóa thiết bị, đăng nhập vào nhà cung cấp khi được yêu cầu và gửi khóa công khai đã ký và danh tính tài khoản nhà cung cấp thông qua kết nối cục bộ được mã hóa. Cả hai thiết bị đều hiển thị cùng một dấu vân tay.
  3. Chủ sở hữu đối chiếu dấu vân tay và xác nhận danh tính chính xác đó. Phê duyệt cấp quyền truy cập tài khoản đám mây của nó khi được yêu cầu, ký tên vào mục nhập thành viên và niêm phong khóa thư viện cũng như quyền truy cập bộ nhớ cuối cùng vào khóa chung của thiết bị mới.
  4. Gói hàng được niêm phong sẽ quay trở lại thông qua cùng một kết nối cục bộ đã được xác thực. Thiết bị tham gia sẽ mở nó, khởi động từ bộ lưu trữ đám mây và bắt đầu đồng bộ hóa.

Việc ghép nối đã hết hạn, bị gián đoạn hoặc bị từ chối sẽ không mang lại kết quả gì.

Xóa một thành viên thêm một mục xóa đã ký và xoay khóa thư viện sang thế hệ mới mà khóa bị xóa không bao giờ nhận (xem Mã hóa). Trên lưu trữ có thể thu hồi truy cập, quyền truy cập cũng bị rút. Những gì đã đồng bộ tới thiết bị bị xóa vẫn ở đó; dữ liệu không thể được lấy lại. Mọi thứ sau lần xoay khóa nằm ngoài tầm với của nó.

Mã khôi phục cố ý đi vòng qua tư cách thành viên: đó là tọa độ nhà trên đám mây cộng khóa thư viện, trong một chuỗi mang quyền truy cập, để khôi phục thư viện của chính bạn khi không còn người phê duyệt sống sót. Nó được tạo theo yêu cầu, tự động lưu trong iCloud Keychain trên nền tảng Apple, và nhạy cảm đúng bằng chính thư viện.