Kiến trúc hệ thống

Một phần của tài liệu Mật mã khóa công khai và ứng dụng (Trang 68 - 73)

nhằm nâng cao hiệu quả kinh doanh.

2. Kiến trúc hệ thống I I Vip Customer VTP Employer VTP RA Admin Internet Signature Service EJBCA DataBase VTP HTTPS HTTPS VTP Portal

OCSP Responder External RA Interface

Sync Account Service

Hình 20:Đề xuất mô hình triển khai hạ tầng khóa công khai tại Viettel Post

Một số yêu cầu đặt ra cho quá trình tích hợp chữ ký số vào hệ thống hiện tại của Viettel Post là cần kế thừa tối đa những chức năng, tiện ích của hệ thống thông tin hiện tại, hạn chế những thay đổi trên hệ thống nhằm giảm thiểu chi phí nâng cấp và những ảnh hƣởng lên hệ thống, công tác triển khai cần đơn giản. Luận văn đề xuất kiến trúc tích hợp chữ ký số nhƣ một phân hệ, hệ thống độc lập, với khả năng tích hợp dựa trên nguyên lý “cắm và chạy” (plug and play) để tăng khả năng mở rộng khi có nhu cầu triển khai cho một hệ thống thông tin tƣơng tự nhƣ hệ thống của Viettel Post.

2.1. Thành phần hệ thống.

 Thành phần EJBCA: là máy chủ cài đặt mã nguồn mở EJBCA, đóng vai trò làm Root CA của Viettel Post.

69

 Thành phần OCSP Responder: là máy chủ triển khai thành phần OCSP của EJBCA giúp các client kiểm tra chứng thƣ online.

 Thành phần giao diện đăng ký chứng thƣ (External RA Interface): là máy chủ cài đặt ứng dụng web cho phép cán bộ quản trị tạo ra chứng thƣ cho khách hàng và nhân viên của Viettel Post.

 Dịch vụ đồng bộ tài khoản ngƣời dùng (Sync Account Service): là webservice đồng bộ thông tin chứng thƣ của ngƣời dùng sang cơ sở dữ liệu của hệ thống quản trị khách hàng của Viettel Post.

 Dịch vụ ký vận đơn (Sign Service): là webservice tiếp nhận và xác thực yêu cầu vận đơn từ khách hàng, xử lý yêu cầu ký và xác thực vận đơn từ khách hàng và nhân viên nhận vận đơn Viettel post.

 Thành phần client: bao gồm các ứng dụng cho phép khách hàng tạo yêu cầu vận đơn, ký giao bƣu phẩm trong vận đơn. Ứng dụng client bao gồm các ứng dụng trên điện thoại di động (smart phone), ứng dụng windows hoặc ứng dụng web.

2.2. Các tác nhân tham gia hệ thống

 Khách hàng (VIP Customer): bao gồm khách hàng “thân thiết” đã đƣợc cấp chứng thƣ trên hệ thống CA của Viettel Post và có khóa cá nhân cho các giao dịch cần ký số trên hệ thống.

 Nhân viên nhận vận đơn (VTP Employer, hay còn gọi là bƣu tá): là nhân viên Viettel Post trực tiếp nhận và kiểm kê bƣu phẩm trong vận đơn, đƣợc cấp chứng thƣ và khóa cá nhân phục vụ cho các giao dịch ký xác nhận vận đơn cùng khách hàng.

 Nhân viên cấp chứng thƣ (VTP RA Admin): là cán bộ Viettel Post đƣợc cấp quyền truy cập giao diện đăng ký chứng thƣ, để yêu cầu CA cấp chứng thƣ cho ngƣời dùng.

70

Hình 21:Biểu đồ use chính trong hệ thống

2.3. Luồng ký trên hệ thống 2.3.1. Ký trên sim CA 2.3.1. Ký trên sim CA

Chữ ký số trên sim CA là giải pháp sử dụng thiết bị di động có gắn SIM CA (smart phone, máy tính bảng…) nhƣ một thiết bị để ký (“bút ký”). Khóa bí mật đƣợc sinh và lƣu trữ trên SIM (đảm bảo an toàn). Luồng tuần tự quá trình ký số thực hiện trên SIM CA nhƣ sau:

Đầu tiên, ngƣời dùng gửi yêu cầu ký lên Signature Service từ ứng dụng client trên thiết bị di động. Signature Service nhận yêu cầu, sẽ tiến hành kiểm tra tính hợp lệ của yêu cầu dựa trên chứng thƣ và chữ ký gửi kèm yêu cầu. Khi xác nhận yêu cầu hợp lệ, máy chủ này sẽ tiến hành băm dữ liệu ký (tệp PDF) và trả về kết quả băm cho ứng dụng client. Ứng dụng client nhận đƣợc bản băm sẽ ký lên bản băm và gửi trả cho máy chủ. Máy chủ thực kiểm tra và đính chữ ký vào dữ liệu cần ký rồi trả về kết quả cho ứng dụng client.

71 Client App (Iphone, Ipad)

Signature Service MSSP SIM CA

Kiểm tra điều kiện ký và băm dữ liệu

Kiểm tra dữ liệu ký và gửi dữ liệu yêu cầu ký

Thực hiện ký tại SIM

Ghi thao tác ký

Kiểm tra dữ liệu ký, đính dữ liệu ký vào dữ liệu ban đầu

Thông báo kết quả cho người dùng Yêu cầu ký (adsbygoogle = window.adsbygoogle || []).push({});

Gửi bản băm dữ liệu

Gửi bản băm cần ký xuống SIM

Trả về dữ liệu ký

Dữ liệu ký

Kết quả ký

Hình 22: Luồng ký sử dụng SIM CA

2.3.2. Ký trên thiết bị ký

Chữ ký số trên thiết bị ký là giải pháp sử dụng thiết bị có cài sẵn ứng dụng để lƣu trữ khóa bí mật một cách an toàn để thực hiện ký. Quá trình ký sử dụng thiết bị này đƣợc mô tả đơn giản nhƣ sau:

Khi phát sinh nhu cầu ký, thiết bị ký gửi yêu cầu ký lên máy chủ dịch vụ ký. Máy chủ tiến hành kiểm tra tính hợp lệ của yêu cầu ký, sau đó băm dữ liệu cần ký và gửi về bản băm cho thiết bị ký. Thiết bị ký thực hiện ký lên bản băm này và gửi chữ ký cho máy chủ. Máy chủ tiến hành đính chữ ký vào dữ liệu ký ban đầu, và trả về kết quả của quá trình ký cho thiết bị ký.

72

Thiết bị ký Signature Service

Yêu cầu ký

Gửi chữ ký lên server

Kiểm tra điều kiện ký dữ liệu, thực hiện băm dữ liệu ký.

Đính chữ ký vào dữ liệu Ký lên bản băm

Trả về bản băm dữ liệu ký

Trả về bản băm dữ liệu ký

Hình 23: Luồng ký trên thiết bị ký

2.3.3. Ký trên USB

Các loại “bút ký” nhƣ USB token, USB bluetooth đƣợc dùng phổ biến hiện nay bởi các nhà cung cấp dịch vụ chữ ký số. Trong giải pháp này, khóa bí mật dùng để ký đƣợc lƣu trữ an toàn trong USB. Các nhà sản xuất USB cung cấp sẵn các API cho phép ứng dụng client gọi tới trong quá trình ký.

Quá trình ký USB đƣợc biểu diễn nhƣ hình 24. Cụ thể, khi ngƣời dùng có nhu cầu ký họ sẽ thực hiện kết nối usb với máy tính cài ứng dụng client. Ứng dụng client gửi yêu cầu ký lên máy chủ dịch vụ ký. Máy chủ tiến hành kiểm tra tính hợp lệ của yêu cầu, sau đó tiến hành băm dữ liệu ký và gửi trả bản băm cho ứng dụng client. Ứng dụng client thực hiện ký lên dữ liệu băm bằng cách gọi API ký của USB với tham số truyền vào là bản băm của dữ liệu cần ký. USB thực hiện ký và trả về

73

kết quả cho ứng dụng client. Ứng dụng client chuyển tiếp chữ ký cho máy chủ để máy chủ thực hiện đính chữ ký vào tệp dữ liệu ban đầu. Kết quả quá trình ký đƣợc máy chủ gửi về cho ứng dụng client.

USB App Client Signature Service

Yêu cầu ký

Gọi API ký

Gửi chữ ký

Kiểm tra dữ liệu ký, băm dữ liệu

Đính chữ ký vào dữ liệu ký Ký lên dữ liệu băm

Trả về chữ ký (adsbygoogle = window.adsbygoogle || []).push({});

Trả về bản băm dữ liệu

Trả về kết quả ký

Hình 24:Luồng ký sử dụng USB

Một phần của tài liệu Mật mã khóa công khai và ứng dụng (Trang 68 - 73)