Kiến trúc bảo mật
Cơ chế bảo mật ở tầng kiến trúc và cách chúng gắn vào HieraChain. Hệ thống dùng phòng thủ phân tầng bao phủ toàn bộ vòng đời ứng dụng.
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ý Organization, User, Role và định danh PKI.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.
-
Lockdown và logging:
hierachain/security/secure_logging.pyghi log có khả năng phát hiện giả mạo và che PII.hierachain/cluster/lockdown_protocol.pyxử lý phong tỏa khẩn cấp theo quorum và chứaClusterLockdownManager.
-
Fault tolerance và tính toàn vẹn:
hierachain/error_mitigation/{rollback_manager.py, consensus_validator.py, resource_validator.py}vàhierachain/cluster/lockdown_types.pycung cấp kiểm tra toàn vẹn, snapshot rollback 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.
-
Risk analyzer:
hierachain/risk_management/risk_analyzer.pyxử lý chấm điểm rủi ro và dùng các validator tronghierachain/error_mitigation/*.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.pytriển khai zero-knowledge proof để xác minh dữ liệu Sub-Chain ẩn danh.
Cấu hình bảo mật hệ thống được bật tắt trong hierachain/config/settings.py (AUTH, CORS, HSTS, rate limit và các tùy chọn khác).
Tích hợp vào hệ thống
- API Server (
hierachain/api/server.py) thêm middleware (add_payload_limit,add_rate_limit,add_cors_middlewarequaCORSMiddleware) và xác thực API key (verify/api_key_verifier.py) khiHRC_AUTH_ENABLED=true. Không cóResourceGuardMiddleware. - Sub-Chain/Main Chain: mọi thao tác làm thay đổi trạng thái phải qua xác thực khi bật AUTH và được ghi lại để audit.
- 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(không cóRATE_LIMIT_REQUESTS_PER_MINUTE)
Luồng tiêu biểu
sequenceDiagram
participant Client
participant Server as API Server
participant Guard as Resource Guard
participant Auth as API Key Verifier
participant Policy as Policy Engine
participant Logic as Business Logic
participant Audit as Audit Log
Client->>Server: Gửi Request (kèm API Key)
Server->>Guard: Kiểm tra tài nguyên (CPU/RAM)
alt Tài nguyên quá tải
Guard-->>Server: Từ chối (503)
Server-->>Client: 503 Service Unavailable
else Tài nguyên OK
Server->>Auth: Xác thực API Key
alt Key không hợp lệ
Auth-->>Server: Từ chối (401)
Server-->>Client: 401 Unauthorized
else Key hợp lệ
Server->>Policy: Kiểm tra quyền (Role/Policy)
alt Không đủ quyền
Policy-->>Server: Từ chối (403)
Server-->>Client: 403 Forbidden
else Đủ quyền
Server->>Logic: Thực thi nghiệp vụ
Logic-->>Server: Kết quả
Server->>Audit: Ghi log truy cập
Server-->>Client: Trả về kết quả (200/201)
end
end
end
- Request tới API đi qua bước kiểm tra CPU/RAM tùy chọn của ResourceGuard, rồi xác thực API key, rồi kiểm tra policy/role, sau đó thực thi và ghi audit.
- Event và giao dịch mang chữ ký hoặc ZK proof được
verify/*xác minh trước khi chấp nhận.
Liên quan
- Mô‑đun Security: Security
- Tham chiếu Config: Config
- API Ledger: API Ledger