Lộ trình Tink

(Lần cập nhật gần đây nhất vào tháng 7 năm 2023)

Trang này trình bày chi tiết các mục tiêu cấp cao của nhóm Tink. Trang này sẽ được cập nhật định kỳ khi bạn đạt được hoặc thay đổi mục tiêu.

Nhiều kho lưu trữ GitHub

Chúng tôi sẽ chia dự án thành nhiều kho lưu trữ GitHub, được phân tách theo ngôn ngữ. Điều này mang lại các lợi ích sau:

  • Các bản phát hành tách riêng cho từng ngôn ngữ (ví dụ: vấn đề trong C++ không ngăn cản việc thực hiện bản phát hành cho Java)
  • bản phát hành thường xuyên hơn
  • một tập hợp các phần phụ thuộc giảm xuống cho mỗi thư viện (ví dụ: SDK cho một số nhà cung cấp dịch vụ đám mây)

Cải tiến tài liệu

Chúng tôi đang nỗ lực cải thiện tài liệu về Tink. Để làm được điều này, chúng tôi sẽ tổng hợp các nguồn tài liệu của Tink (biến trang web này thành nguồn tài liệu đáng tin cậy cho các tài liệu của Tink), đưa ra các ví dụ cập nhật và dễ làm theo, cũng như bổ sung mọi lỗ hổng tài liệu có thể còn tồn tại. Chúng tôi hoan nghênh mọi đề xuất cải thiện tài liệu. Vui lòng sử dụng bản khảo sát được liên kết bên dưới hoặc gửi yêu cầu về lỗi hay tính năng như được nêu trên trang Gói đề xuất.

Thiết kế lại bộ khoá và sổ đăng ký

Chúng tôi muốn cung cấp cho người dùng một cách hiệu quả hơn để quản lý các khoá trong một tập hợp khoá. Điều này sẽ giúp bạn dễ dàng triển khai các hệ thống quản lý chính và hỗ trợ toàn diện hơn cho việc nhập và xuất khoá sang các định dạng khác nhau như PEM hoặc JWK (trong khi vẫn đảm bảo API ngăn chặn các lỗi phổ biến có thể dẫn đến lỗ hổng bảo mật). Công việc này đang trong quá trình thực hiện.

Chúng tôi cũng đang nỗ lực cho phép nhiều hệ thống tên miền trong Tink. Điều này sẽ giúp bạn dễ dàng phát triển các thư viện dựa trên Tink hơn, đồng thời cho phép dễ dàng xoá và ngừng sử dụng các thuật toán không an toàn. Xem thêm trên trang Hệ thống tên miền.

Hỗ trợ giám sát

Chúng tôi đã thêm các hook giám sát vào Tink. Người dùng có thể sử dụng các hook này để thu thập và phân tích dữ liệu không nhạy cảm về các hoạt động mã hoá, chẳng hạn như loại khoá đang được sử dụng hoặc số lệnh gọi mã hoá được thực hiện bằng một khoá cụ thể.

Loại thông tin này rất hữu ích trong việc đảm bảo xoay vòng khoá đầy đủ hoặc để tạo danh sách các khoá có thể dễ bị máy tính lượng tử tấn công. Chúng tôi sẽ cung cấp hướng dẫn về cách sử dụng các hook này ngay lập tức.

Mật mã học hậu lượng tử (PQC)

Chúng tôi đang tích cực triển khai các thuật toán PQC do NIST chọn ở cấp thấp. Các cơ chế này bao gồm cơ chế đóng gói khoá (KEM), cụ thể là Kyber/ML-KEM và chữ ký số, cụ thể là Dilithium/ML-DSA và SPHINCS+/SLH-DSA. Khi đã sẵn sàng, chúng tôi sẽ cung cấp các API chính thức cho các thuật toán hậu lượng tử này trong Tink. Đối với những ai quan tâm đến việc bắt đầu sử dụng PQC, Tink đã cung cấp các thuật toán PQC thử nghiệm trong C++, bao gồm các chữ ký số do NIST chọn và NTRU-HRSS KEM (một ứng viên NIST KEM mà cuối cùng không được chọn).

Hiệu suất

Chúng tôi dự định tinh chỉnh các phép đo lường hiệu suất của Tink và cung cấp các điểm chuẩn hiệu suất phù hợp cho người dùng. Chúng tôi cũng đang bắt đầu điều tra các tính năng nâng cao hiệu suất có thể có cho Tink.

Cho chúng tôi biết bạn nghĩ gì

Chúng tôi rất muốn biết cách bạn sử dụng Tink hoặc những tính năng nào sẽ hữu ích nhất cho quá trình triển khai của bạn. Hãy cho chúng tôi biết bằng cách tham gia bản khảo sát.