Tƣơng tự với 2 ứng dụng trên, Secure Mail và Secure SMS, Signtool cũng cần kết nối với Token (Soft hoặc Hard) qua lớp PKCS#11 Wrapper. Cũng cần các thƣ viện mã hóa nhƣ OpenSSL và BouncyCastle trong lớp Crypto Libs để thực hiện các chức năng ký số.
Lớp các thƣ viện OOXML Lib và PDF Lib cho phép ứng dụng phân tích và đóng gói các tài liệu OOXML (Office là một trong số đó) và PDF, lấy ra các thông tin cần thiết để tạo chữ ký số.
b. Các chuẩn và thƣ viện áp dụng
- PKCS#11: Bộ API giao tiếp với Token và SmartCard.
- PKCS#1 :Chuẩn cung cấp các định nghĩa, khuyến nghị cơ bản để thực hiện thuật toán RSA cho mã hóa công khai.
- PKCS#7: Chuẩn định dạng tin nhắn mã hóa.
- OOXML: Open Office XML, chuẩn định dạng dữ liệu của Microsoft cho các tài liệu Office: Word, Excel, PowerPoint,…
3.3. Các mô hình thiết kế UseCase
3.3.1.Thiết kế Usecase tổng quan cho Soft Token
Để có thể thao tác với Soft Token, tất cả các chức năng đều yêu cầu ngƣời dùng đăng nhập trƣớc, trừ trƣờng hợp ngƣời dùng chọn chức năng Unlock Token (Quên mật khẩu)
Tạo mới chứng thư
Thanh toán
Liệt kê chứng thư
Đổi PIN
Mở khóa Token
Sao lưu Token
Khôi phục Token Gia hạn chứng thư Đăng nhập precedes precedes precedes precedes precedes precedes precedes
- Phân rã chức năng Tạo mới chứng thƣ số
Chức năng Tạo mới chứng thƣ số đƣợc thực hiện bởi ngƣời dùng, đƣợc chia thành 3 use-case nhỏ là: Nhập thông tin khách hàng, Chọn gói chứng thƣ số và Xác thực thông tin khách hàng.
Tạo mới chứng thư Nhập thông tin khách hàng Chọn gói chứng thư Xác thực thông tin khách hàng <<extend>> <<extend>> <<extend>>
- Phân rã chức năng Thanh toán
Chức năng Thanh toán cho phép ngƣời dùng có thể chọn: thanh toán bằng thẻ cào và thanh toán bằng tài khoản ngân hàng.
Thanh toán
Thanh toán thẻ cào
Thanh toán e-Banking <<extend>>
<<extend>>
- Phân rã chức năng Gia hạn chứng thƣ
Tƣơng tự nhƣ Tạo mới chứng thƣ số, Gia hạn chứng thƣ số đều có các use case nhỏ là: Nhập thông tin chứng thƣ số và Xác thực thông tin chứng thƣ số. Tuy nhiên chức năng này dựa trên gói chứng thƣ số mà ngƣời dùng đang có, vì vậy không có use case con: Chọn gói chứng thƣ số.
Gia hạn chứng thư
Sửa thông tin khách hàng
Xác thực thông tin khách hàng <<extend>>
<<extend>>
- Phân rã chức năng Mở khóa Token
Chức năng mở khóa Token đƣợc sử dụng khi ngƣời dùng mất mã PIN của Token, không thể đăng nhập. Use case này đƣợc chia thành các use case con là: Tạo yêu cầu mở khóa và Đặt lại mật khẩu
Mở khóa Token
Tạo yêu cầu mở khóa
Đặt lại mật khẩu <<extend>>
<<extend>>
Kích hoạt <<include>>
Trong use case Đặt lại mật khẩu, ứng dụng yêu cầu ngƣời dùng phải nhập mã kích hoạt từ Server gửi về.
Người dùng
Liệt kê tin nhắn
Gửi tin nhắn Đọc tin nhắn Quản lý bảo mật Tìm kiếm người dùng Quản lý hiển thị Cập nhật Đăng ký Đăng nhập Máy chủ
- Phân rã chức năng Gửi tin nhắn
Ứng dụng cho phép ngƣời dùng gửi tin nhắn SMS hoặc tin nhắn Internet, tin nhắn có mã hóa hoặc không.
Gửi tin nhắn
Gửi tin mã hóa
Gửi tin thường <<extend>>
<<extend>>
- Phân rã chức năng đọc tin nhắn
Tin nhắn khi nhận có thể là tin mã hóa hoặc không. Use case này đƣợc chia thành 2 use case nhỏ: Đọc tin nhắn mã hóa và Đọc tin nhắn thƣờng.
Đọc tin nhắn
Đọc tin mã hóa
Đọc tin thường <<extend>>
<<extend>>
- Phân rã chức năng Quản lý bảo mật
Ứng dụng hỗ trợ ngƣời dùng mã hóa, giải mã với chứng thƣ số, đồng thời cung cấp tính năng sử dụng mật khẩu để truy cập vào trong ứng dụng.
Quản lý bảo mật Quản lý truy cập ứng dụng Quản lý chứng thư số <<extend>> <<extend>> Xác thực mật khẩu ứng dụng Xác thực mật khẩu Token <<include>> <<include>>
User
Liệt kê email
Gửi email Đọc email Quản lý bảo mật Quản lý hiển thị Đăng nhập hòm mail Server
- Phân rã chức năng Gửi email
Use case này đƣợc chia thành 2 use case nhỏ là: Gửi email thƣờng và Gửi email bảo mật
Gửi email
Gửi email thường
Gửi email bảo mật <<extend>> <<extend>> Gửi có ký số Gửi có mã hóa <<extend>> <<extend>> Đăng nhập Token <<include>>
Đọc email
Đọc email thường
Đọc email bảo mật <<extend>>
<<extend>> Giải mã email
Xác thực email <<extend>>
<<extend>>
Đăng nhập Token <<include>>
- Phân rã chức năng Quản lý bảo mật
Ứng dụng hỗ trợ ngƣời dùng mã hóa, giải mã với chứng thƣ số, đồng thời cung cấp tính năng sử dụng mật khẩu để truy cập vào trong ứng dụng.
Quản lý bảo mật Quản lý truy cập ứng dụng Quản lý chứng thư số <<extend>> <<extend>> Xác thực mật khẩu ứng dụng Xác thực mật khẩu Token <<include>> <<include>>
3.3.4. Mô hình Usecase tổng quan ứng dụng Signtool
Ứng dụng cho phép ngƣời dùng sử dụng chứng thƣ số từ Soft token để ký số văn bản, đƣợc chia thành các use case nhƣ hình dƣới.
User List file List Certificate Sign document Send document 3.4. Một số thiết kế màn hình
3.4.1. Một số màn hình thiết kế Soft Token
- Giao diện đăng nhập Soft token