Kiến trúc bảo mật
Trang này mô tả các cơ chế bảo mật và cách chúng được sử dụng trong kiến trúc HieraChain. Phạm vi của từng kiểm tra phụ thuộc vào luồng thực thi và cách caller tích hợp.
Các trụ cột bảo mật chính
Phòng thủ được chia thành sáu nhóm phối hợp với nhau:
-
Authorization và kiểm soát truy cập:
hierachain/security/{msp.py, identity.py}quản lý tổ chức, người dùng, vai trò và chứng chỉ nội bộ đơn giản.hierachain/security/policy_engine.pyxử lý kiểm soát quyền (ABAC).hierachain/security/verify/api_key_verifier.pyxử lý xác thực API key.
-
Logging và tính toàn vẹn:
hierachain/security/secure_logging.pyghi log JSON có cấu trúc và che các trường nhạy cảm theo tên; nó không có cơ chế xác minh log bị sửa.hierachain/risk_management/audit_logger.pyghi sự kiện kiểm toán vận hành và hỗ trợ xác minh bằng manifest đáng tin cậy được lưu riêng.
-
Fault tolerance và tính toàn vẹn:
hierachain/error_mitigation/{consensus_validator.py, resource_validator.py}vàhierachain/cluster/lockdown_types.pycung cấp validation, kiểm tra tài nguyên và HMAC lockdown. Không cósecurity/resource_guard.pyhaysecurity/integrity.py, các đường dẫn này đã bị xóa hoặc chưa từng tồn tại.
-
Làm sạch input:
hierachain/security/sanitization.pygiúp ngăn injection bằng cách trung hòa HTML/template và áp allowlist cho tên file.
-
Encryption và khóa:
hierachain/security/{key_manager.py, key_provider.py}vàhierachain/security/msp.py(Certificate/CertificateAuthority) cung cấp hỗ trợ Ed25519 vàFileVaultProvider(Fernet/PBKDF2, chỉ dùng cho dev). Không cókey_backup_manager.pyhaycertificate.pyvà không có mTLS.
-
Zero-knowledge proof phi tập trung:
hierachain/security/zk_prover.pyvàhierachain/security/verify/zk_verifier.pychỉ cung cấp mock phát triển. Tạo/xác minh ZK production chưa triển khai.
Xác thực, CORS và giới hạn tốc độ được cấu hình trong hierachain/config/settings.py. HSTS được khai báo ở đó nhưng không thêm HTTP header; hãy cấu hình HSTS tại reverse proxy HTTPS.
Tích hợp vào hệ thống
- API Server (
hierachain/api/server.py) dùng payload/rate-limit middleware,CORSMiddlewarevàAPIKeyVerifierkhi bật xác thực. Không có middleware kiểm tra CPU/RAM trên mọi request. - Xác thực API key và scope áp dụng tại HTTP handler. Lời gọi Python trực tiếp cần caller tin cậy và không tự đi qua middleware HTTP; policy domain/channel được kiểm tra tại từng đường xử lý.
- Logging an toàn:
security/secure_logging.pyvàsecurity/sanitization.pygiúp giảm rò rỉ dữ liệu nhạy cảm.
Cấu hình liên quan (trích)
Các biến trong settings.py (đều dùng tiền tố HRC_*):
HRC_AUTH_ENABLED,HRC_API_KEY_LOCATION,HRC_API_KEY_NAMEHRC_CORS_ALLOW_ALL,HRC_CORS_ORIGINSHRC_HSTS_ENABLED,HRC_HSTS_MAX_AGEHRC_RATE_LIMIT,HRC_RATE_LIMIT_RPM,HRC_RATE_LIMIT_BACKEND,HRC_TRUSTED_PROXIES
Luồng tiêu biểu
sequenceDiagram
participant Client
participant API as FastAPI
participant Auth as APIKeyVerifier
participant Handler as Route handler
Client->>API: Request
API->>API: Payload/rate limits and CORS
API->>Auth: Verify API key when authentication enabled
Auth-->>API: Verified user or rejection
API->>Handler: Route permission and domain checks
Handler-->>Client: Result or error
- Giới hạn payload/rate và xác thực API key chạy ở API; kiểm tra scope/role phụ thuộc route. Rate-limit Redis lỗi trả 503 cho request không được miễn.
- Block có chữ ký được kiểm tra bằng trusted key. ZK chỉ được kiểm tra khi bật cấu hình; mock không chứng minh tính đúng đắn nghiệp vụ.
Liên quan
- Mô‑đun Security: Security
- Tham chiếu Config: Config
- API Ledger: API Ledger