Security Architecture

RSA-2048 là lớp ký của Identity Key.

Trong backend hiện tại, cAuth chuẩn hóa public key PEM, kiểm tra đúng 2048 bit, gắn key fingerprint với identity fingerprint và ghi nhận thuật toán chữ ký RSA-SHA256. Mục tiêu là biến “ai ký” thành một phần có thể kiểm tra của Evidence, thay vì chỉ lưu một tên hiển thị.

RSA-2048RSA-SHA256Public Key PEMIdentity Binding
What is enforced

Những gì backend thực sự kiểm tra.

Đây là mô tả theo code path hiện tại, không phải lời hứa về một mô-đun HSM hay một chứng thư đủ điều kiện.

Đúng kích thước 2048 bit

Public key được parse và kiểm tra bit length. Key khác 2048 bit bị từ chối với lỗi RSA-2048.

Key fingerprint

Public key được fingerprint thành chuỗi SHA-256 để dùng trong binding và truy xuất lịch sử.

Identity fingerprint

Identity fingerprint đại diện cho revision định danh; thay đổi identity có thể dẫn tới key/revision mới.

Active / Superseded

Key cũ có thể chuyển sang SUPERSEDED trong luồng re-verification và rotation; Evidence cũ vẫn giữ fingerprint lịch sử.

RSA-SHA256

Database binding hiện tại ghi rõ key_algorithm=RSA-2048 và signature_algorithm=RSA-SHA256.

Không đưa private key vào public evidence

Evidence Package chứa public-key.pem và binding metadata; private key của người dùng không nằm trong package công khai.

Threat model

Bảo mật chữ ký không chỉ là RSA.

RSA bảo vệ phép ký; toàn bộ trust model còn phụ thuộc vào quản lý khóa, eKYC, session security, endpoint authorization và kiểm chứng artifact.

Được bao phủ

  • Constant-time compare cho bridge secret.
  • Bearer token + scope cho API Gateway v1.
  • Request ID để truy vết giao dịch.
  • Audit log cho các thao tác quản trị.
  • Key rotation tạo revision mới khi re-verify.

Cần được tăng cường ở production cao cấp

  • HSM/KMS hoặc secure enclave cho private key nếu mô hình cần ký server-side.
  • Key ceremony và dual-control cho quản trị CA.
  • Giám sát credential, secret rotation và incident response.
  • Pen-test và đánh giá bên thứ ba cho deployment cụ thể.
Tham chiếu mật mã.

NIST mô tả RSA 2048 kết hợp SHA-256 ở mức tối đa khoảng 112-bit security strength theo SP 800-57; mức phù hợp thực tế phụ thuộc vào use case và toàn bộ hệ sinh thái khóa.

Verification recipe

Kiểm tra một Identity Key bằng tay.

1

Đọc public-key.pem

Không cần private key để xác thực signature.

2

Tính fingerprint

So sánh với key_fingerprint trong binding.

3

Đối chiếu Identity

Kiểm tra identity_fingerprint + revision.

4

Kiểm signature

Xác nhận RSA-SHA256 trên payload.

5

Đọc Evidence

So chain root, artifacts, timestamp, OTS.