Mobile-ID · Bảo quản bằng chứng số dài hạn
Khách hàng và đối tácDemo quy trìnhLiên hệ
Trusted LTANS
Đăng ký thử
MOBILE-ID · TRUSTED LTANS

Kiến trúc hệ thống

Theo dõi ranh giới giữa kênh sử dụng, định danh, dịch vụ lõi, sự kiện, kho dữ liệu và hạ tầng tin cậy.

Tra thuật ngữ Việt–Anh

01

Kênh và ứng dụng

Ứng dụng nghiệp vụ · Năm portal

02

Cổng API và bảo mật

WSO2 API Manager · HTTPS + OAuth2

03

Định danh và phân quyền

Keycloak IAM · Token / claims

04

Dịch vụ và adapter

Archive · Evidence

05

Sự kiện và điều phối

Kafka · Outbox / Inbox

06

Dữ liệu và bản sao

MariaDB / metadata · Object / evidence stores

07

Nguồn tin cậy và mật mã

TSA / RFC 3161 · CA / OCSP / CRL

08

Vận hành và thay đổi

Java / WildFly · Observability

Sơ đồ kiến trúc và ranh giớiREST và Core LTANS Adapter

01 · Kênh và ứng dụng

Năm portal, hệ thống hồ sơ nguồn, REST client và đầu nối lô. Kênh không tự cấp quyền nghiệp vụ.

Luồng và ranh giới

Tham chiếu tệp và thông tin hồ sơ đã chốt; biên nhận và kết quả được trả về nguồn.

Cổng dịch vụ
Góc nhìnRanh giới lớp
Đầu vào / luồngLệnh từ người dùng hoặc ứng dụng, không mang quyền mặc định.
Quyền sở hữuTrả biên nhận/tác vụ và kết quả được phép; UI không quyết định quyền backend.
Lỗi / phục hồiĐứt kết nối: giữ khóa chống lặp, truy vấn kết quả gốc trước gửi mới.

02 · Cổng API và an toàn truy cập

Kiểm tra token, scope, mTLS theo môi trường, hạn mức và correlationId trước chuyển lệnh.

Luồng và ranh giới

Request hợp lệ đi tới dịch vụ sở hữu; lỗi xác thực không được biến thành tác vụ nghiệp vụ thành công.

Xác thực và bảo mật API
Góc nhìnRanh giới lớp
Đầu vào / luồngToken/mTLS, scope và correlation; dữ liệu tệp dùng kênh được cấp.
Quyền sở hữuXác thực ở biên chưa thay quyền đối tượng trong dịch vụ sở hữu.
Lỗi / phục hồiTimeout không chứng minh backend thất bại; chẩn đoán TLS tách khỏi HTTP Problem.

03 · Định danh và phân quyền

GoPaperless SSO theo OIDC là kết nối mục tiêu; quyền LTANS kiểm soát tổ chức, đối tượng và tác vụ riêng.

Luồng và ranh giới

Danh tính được xác thực là đầu vào quyết định quyền, không tin tenant tùy ý trong request body.

GoPaperless SSO và kết nối định danh
Góc nhìnRanh giới lớp
Đầu vào / luồngIssuer/khóa xác minh được cấp và mapping tổ chức.
Quyền sở hữuDanh tính khác quyền; tenant trong request không tự là tenant có quyền.
Lỗi / phục hồiHết phiên/đổi quyền đánh giá lại; lỗi nguồn khóa không cho phép chấp nhận khóa lạ.

04 · Dịch vụ bảo quản

Chín nhóm logic chia quyền sở hữu; tác vụ theo dõi xử lý dài hạn và không thay trạng thái bằng chứng.

Luồng và ranh giới

Dịch vụ cập nhật giao dịch cục bộ và outbox; không ghi trực tiếp vào kho nghiệp vụ của nhau.

Trách nhiệm các dịch vụ thành phần
Góc nhìnRanh giới lớp
Đầu vào / luồngLệnh chuẩn, policy snapshot và tham chiếu dữ liệu.
Quyền sở hữuMột nhóm sở hữu một quyết định/trạng thái; không ghi DB của nhóm khác.
Lỗi / phục hồiChốt điểm giao dịch và checkpoint; không giả rollback toàn cục cho các kho ngoài.

05 · Sự kiện và điều phối

Outbox/inbox, eventId, tương quan, khử trùng, retry có giới hạn và phát lại có quyền.

Luồng và ranh giới

Sự kiện mang metadata, định danh và tham chiếu; dữ liệu nhị phân đi qua đầu nối kho được cấp.

Danh mục sự kiện
Góc nhìnRanh giới lớp
Đầu vào / luồngOutbox cục bộ sau giao dịch, envelope và tham chiếu.
Quyền sở hữuTách sự kiện nghiệp vụ khỏi lần gửi webhook; không chuyển byte lớn qua event theo mặc định.
Lỗi / phục hồiInbox khử trùng; sự kiện trễ truy vấn nguồn hiện hành trước tác động không đảo ngược.

06 · Dữ liệu, bằng chứng và bản sao

Tách metadata, dữ liệu gốc, bằng chứng và backup. Custody quyết định bên giữ byte và quyền đọc lại.

Luồng và ranh giới

Từng loại dữ liệu có quyền, khóa và tiêu chí khôi phục riêng; mã băm không thay nội dung.

Mô hình quản lý dữ liệu
Góc nhìnRanh giới lớp
Đầu vào / luồngByte gốc, metadata, bằng chứng, replica và khóa liên quan.
Quyền sở hữuCustody phân định bên giữ kho/khóa và quyền đọc; HASH_ONLY không chứa bản gốc.
Lỗi / phục hồiKhôi phục theo cùng điểm nhất quán và kiểm băm; byte đủ nhưng thiếu khóa vẫn chưa đọc được.

07 · Nguồn tin cậy và mật mã

CA/TSA, chuỗi chứng thư, OCSP/CRL và HSM/KMS theo hồ sơ triển khai; kiểm chứng giữ ngữ cảnh lịch sử.

Luồng và ranh giới

Phản hồi ngoài được kiểm tra trước sử dụng; dự phòng không bỏ qua policy hoặc dữ liệu trạng thái.

Hạ tầng tin cậy
Góc nhìnRanh giới lớp
Đầu vào / luồngMessageImprint, token, chứng thư và dữ liệu trạng thái.
Quyền sở hữuNguồn mạng/CA/TSA có profile; UNKNOWN và thiếu vật liệu không thành GOOD.
Lỗi / phục hồiTSA dự phòng qua cùng kiểm soát; giữ token và ngữ cảnh cũ khi luân chuyển.

08 · Vận hành và quản trị thay đổi

Quan sát trace/job, cảnh báo gia hạn, quản lý bí mật, phiên bản cấu hình và diễn tập phục hồi.

Luồng và ranh giới

Đây là lớp kiểm soát xuyên suốt, không chỉ bước cuối của luồng tiếp nhận; không suy ra SLA từ sơ đồ.

Vận hành và bảo đảm dịch vụ
Góc nhìnRanh giới lớp
Đầu vào / luồngTrace, checkpoint, cấu hình phiên bản và cảnh báo.
Quyền sở hữuControl plane có đặc quyền riêng, không làm đường tắt bỏ qua phê duyệt nghiệp vụ.
Lỗi / phục hồiMở lại sau đối soát dữ liệu/bằng chứng/lịch/outbox; ghi phần chưa phục hồi.

Các giao dịch xuyên lớp

Tiếp nhận và bằng chứng

Tiếp nhận và bằng chứngTrusted LTANS · Tiếp nhận và bằng chứngTHIẾT KẾ MỤC TIÊU · CHƯA CHẠY BACKENDNguồnAPI / ArchiveBằng chứngTrust Adapter / TSAKho1. POST /v1/archives · quyền,băm, chống lặp2. 202 · archiveId/jobId; chưahoàn tất3. EvidenceGenerationRequested· outbox4. Đọc byte theo custody5. Dấu thời gian cho liên kếtbăm6. Token và dữ liệu kiểm chứng7. Lưu phiên bản sau kiểm chứng8. Đối soát tác vụ và trạngthái bằng chứngKhông suy trạng thái VALID từ HTTP thành công.
Trình tự mục tiêu; lời gọi nội bộ không phải API công khai mới.
Tải sơ đồ SVG
BướcBên gửi → nhậnHành động
1Nguồn → API / ArchivePOST /v1/archives · quyền, băm, chống lặp
2API / Archive → Nguồn202 · archiveId/jobId; chưa hoàn tất
3API / Archive → EvidenceEvidenceGenerationRequested · outbox
4Evidence → KhoĐọc byte theo custody
5Evidence → Trust Adapter / TSADấu thời gian cho liên kết băm
6Trust Adapter / TSA → EvidenceToken và dữ liệu kiểm chứng
7Evidence → KhoLưu phiên bản sau kiểm chứng
8Nguồn → API / ArchiveĐối soát tác vụ và trạng thái bằng chứng

Kiểm chứng theo ngữ cảnh

Kiểm chứng theo ngữ cảnhTrusted LTANS · Kiểm chứng theo ngữ cảnhTHIẾT KẾ MỤC TIÊU · CHƯA CHẠY BACKENDBên gọiAPI / VerificationKhoTrust AdapterBáo cáo1. POST/v1/archives/{archiveId}/verification2. Lấy đúng phiên bản và dữliệu được cấp3. Chuỗi, trạng thái và policy theo thời điểm4. Kết quả từng bước; evaluatedAt5. GET /v1/jobs/{jobId}6. GET /v1/verifications/{verificationId}Không suy trạng thái VALID từ HTTP thành công.
Trình tự mục tiêu; lời gọi nội bộ không phải API công khai mới.
Tải sơ đồ SVG
BướcBên gửi → nhậnHành động
1Bên gọi → API / VerificationPOST /v1/archives/{archiveId}/verification
2API / Verification → KhoLấy đúng phiên bản và dữ liệu được cấp
3API / Verification → Trust AdapterChuỗi, trạng thái và policy theo thời điểm
4API / Verification → Báo cáoKết quả từng bước; evaluatedAt
5Bên gọi → API / VerificationGET /v1/jobs/{jobId}
6Bên gọi → Báo cáoGET /v1/verifications/{verificationId}

Gia hạn và duy trì liên kết

Gia hạn và duy trì liên kếtTrusted LTANS · Gia hạn và duy trì liên kếtTHIẾT KẾ MỤC TIÊU · CHƯA CHẠY BACKENDNgười duyệtAPI / RenewalKho / dữ liệuEvidence / TSABáo cáo1. POST /v1/renewals ·mode/approvalId2. Cố định phiên bản, quyền đọclại3. HASH_TREE cần dữ liệu gốc4. Tạo bằng chứng tiếp nối theo mode5. Kiểm chứng trước công bố6. Lưu liên kết trước/sau, cậpnhật lịchKhông suy trạng thái VALID từ HTTP thành công.
Trình tự mục tiêu; lời gọi nội bộ không phải API công khai mới.
Tải sơ đồ SVG
BướcBên gửi → nhậnHành động
1Người duyệt → API / RenewalPOST /v1/renewals · mode/approvalId
2API / Renewal → Kho / dữ liệuCố định phiên bản, quyền đọc lại
3API / Renewal → Kho / dữ liệuHASH_TREE cần dữ liệu gốc
4API / Renewal → Evidence / TSATạo bằng chứng tiếp nối theo mode
5Evidence / TSA → Báo cáoKiểm chứng trước công bố
6API / Renewal → Kho / dữ liệuLưu liên kết trước/sau, cập nhật lịch

Xuất gói có thể đối soát

Xuất gói có thể đối soátTrusted LTANS · Xuất gói có thể đối soátTHIẾT KẾ MỤC TIÊU · CHƯA CHẠY BACKENDBên gửiAPI / ArchiveKhoGóiBên nhận1. POST/v1/archives/{archiveId}/exports2. Đọc thành phần đúng quyền3. Manifest, byte, bằng chứng và ngữ cảnh4. GET /v1/exports/{exportId}5. Chuyển qua kênh đã thỏathuận6. Kiểm kê, băm và kiểm chứngđộc lậpKhông suy trạng thái VALID từ HTTP thành công.
Trình tự mục tiêu; lời gọi nội bộ không phải API công khai mới.
Tải sơ đồ SVG
BướcBên gửi → nhậnHành động
1Bên gửi → API / ArchivePOST /v1/archives/{archiveId}/exports
2API / Archive → KhoĐọc thành phần đúng quyền
3API / Archive → GóiManifest, byte, bằng chứng và ngữ cảnh
4Bên gửi → API / ArchiveGET /v1/exports/{exportId}
5Gói → Bên nhậnChuyển qua kênh đã thỏa thuận
6Bên nhận → GóiKiểm kê, băm và kiểm chứng độc lập

Chuyển trách nhiệm có biên nhận

Chuyển trách nhiệm có biên nhậnTrusted LTANS · Chuyển trách nhiệm có biên nhậnTHIẾT KẾ MỤC TIÊU · CHƯA CHẠY BACKENDBên gửiAPI / TransferGóiBên nhậnQuyết định1. POST/v1/archives/{archiveId}/transfers2. Cố định gói và phạm vi3. Giao gói; giữ nguồn trướcxác nhận4. Kiểm tra gói và điều kiệntiếp nhận5. POST /v1/transfers/{transferId}/acknowledgements6. Chốt điểm chuyển trách nhiệm theo thỏa thuận7. Xóa nguồn cần quyết định khácKhông suy trạng thái VALID từ HTTP thành công.
Trình tự mục tiêu; lời gọi nội bộ không phải API công khai mới.
Tải sơ đồ SVG
BướcBên gửi → nhậnHành động
1Bên gửi → API / TransferPOST /v1/archives/{archiveId}/transfers
2API / Transfer → GóiCố định gói và phạm vi
3Gói → Bên nhậnGiao gói; giữ nguồn trước xác nhận
4Bên nhận → Quyết địnhKiểm tra gói và điều kiện tiếp nhận
5Bên nhận → API / TransferPOST /v1/transfers/{transferId}/acknowledgements
6API / Transfer → Quyết địnhChốt điểm chuyển trách nhiệm theo thỏa thuận
7Quyết định → Bên gửiXóa nguồn cần quyết định khác
Công nghệ và triển khai
Lựa chọn tham chiếuVai tròTrạng thái
WSO2Quản lý APITham chiếu từ sơ đồ hiện hành; chưa có build/cấu hình triển khai được cấp.
KeycloakDanh tính/OIDCTham chiếu từ sơ đồ hiện hành; chưa có build/cấu hình triển khai được cấp.
KafkaSự kiệnTham chiếu từ sơ đồ hiện hành; chưa có build/cấu hình triển khai được cấp.
MariaDBKho giao dịch theo dịch vụTham chiếu từ sơ đồ hiện hành; chưa có build/cấu hình triển khai được cấp.
Java / WildFlyRuntime dịch vụTham chiếu từ sơ đồ hiện hành; chưa có build/cấu hình triển khai được cấp.

Cấu hình topology, HA, RTO/RPO và tải phải được đo/nghiệm thu theo môi trường; số nhóm logic không phải số máy chủ.

So sánh mô hình triển khai
Ảnh kiến trúc tham chiếu
Kiến trúc tham chiếu
Kiến trúc tham chiếu · Minh họa giao diện mục tiêu; ảnh tham chiếu có thể còn chữ tiếng Anh.

Giao dịch, byte và điểm nhất quán

Tình huốngQuy tắc thiết kế mục tiêuCách nghiệm thu
Metadata có, outbox chưa giaoDùng giao dịch cục bộ/outbox và đối soát; không nhận lại thành hồ sơ mới.Gây lỗi sau commit trước gửi, khôi phục và đếm tác động.
Byte có, metadata chưa hoàn tấtCách ly đối tượng chưa gắn; chính sách dọn rác phải xét retention và chủ kho.Đối soát bản kê kho với giao dịch nhận, không xóa mù.
Bằng chứng có, projection trễBản ghi sở hữu là nguồn; dashboard thể hiện độ trễ.Khôi phục projection không đổi phiên bản bằng chứng.
Mất khóa, còn bản mãKhôi phục byte và quyền giải mã là hai cổng riêng.Thử đọc đúng byte và kiểm chứng sau phục hồi khóa có quyền.

Ranh giới giữa API, adapter và Core

WSO2 GatewayKiểm soát tại cổngLTANS API ServicesQuyền nghiệp vụ / JobCore LTANS AdapterMap protocol / profile / IDCore LTANSEngine theo profile

Keycloak cấp token và danh tính; không phải bước nghiệp vụ archive trên mọi request. Chín nhóm dịch vụ gồm Webhook Delivery; adapter và các tầng hạ tầng không làm thay số nhóm nghiệp vụ. Topology được chốt theo triển khai.

Bước tiếp theo

Tìm trong tài liệu LTANS

Ảnh minh họa được mở rộng