Chương 3 Ứng dụng chữ ký số trong bài toán xác thực gửi và nhận văn bản Ứng dụng chữ ký số trong bài toán xác thực gửi và nhận văn bản
3.4. Phân tích các đối tượng
- Người dùng: Là nhóm người trong nội bộ cơ quan có nhu cầu trao đổi gửi và nhận văn bản với nhau. Cần bảo mật nội dung bên trong file và xác nhận đúng người gửi.
- Quản trị hệ thống: Là những người quản lý hệ thống, tạo mới người dùng, cấp khóa bảo mật theo 3 cấp độ, sửa đổi và xóa bỏ thông tin về người dùng.
3.4.2. Mô hình usecase tổng quát
Hình 3.1 Mô hình ca sử dụng tổng quát
3.4.3. Chức năng cho người dùng 3.4.3.1. Mô hình usecase
Hình 3.2 Sơ đồ ca sử dụng người dùng
3.4.3.2. Mô tả chi tiết các chức năng chính - Mã hoá:
Description Người dùng cần mã hoá vào file chứa nội dung cần bảo mật Input File text chứa dữ liệu
Process Hệ thống kiểm tra file đầu vào, lấy khóa công khai từ server của người nhận để mã hóa file rồi gửi đi.
Output - Mã hóa thành công sẽ tạo file dữ liệu đã mã hóa sẵn sàng cho việc gửi đi.
- Ký số :
Description Người dùng cần ký xác thực vào file chứa nội dung cần bảo mật Input File text chứa dữ liệu
Process
Hệ thống kiểm tra file đầu vào, cho file đi qua hàm băm một chiều tạo đại diện file sau đó lấy khóa riêng của người gửi để ký lên file đại diện rồi lấy khoá công khai của người nhận từ server để mã hoá file và chữ ký rồi gửi đi.
Output
Phần mềm sẽ thông báo lỗi nếu dữ liệu trong file không phù hợp. Mã hóa thành công sẽ tạo file dữ liệu đã được ký và mã hóa sẵn sàng cho việc gửi đi.
- Giải mã và xác thực file :
Description
Người dùng nhận được file đã mã hóa, cần giải mã để xem nội dung và xác thực đúng người gửi, dữ liệu có bị thay đổi hay không.
Input File text chứa dữ liệu
Process
- Hệ thống kiểm tra file đầu vào.
- Lấy khóa riêng của người nhận để giải mã file và lấy khoá công khai của người gửi từ server giải mã chữ ký.
- Cho file nhận được sau khi được giải mã file qua hàm băm tạo đại diện file mới rồi so sánh với đại diện file nhận được, nếu trùng nhau thì xác thực được nội dung file và người gửi. Ngược lại thì thông báo nội dung file hoặc người gửi đã bị thay đổi trên đường truyền.
Output Phần mềm sẽ thông báo lỗi nếu dữ liệu trong file đã bị thay đổi, người dùng không đúng.
- Gửi và nhận file:
Description Cho phép Người dùng gửi file và nhận các file đã mã hóa trong
hệ thống mạng nội bộ với tính bảo mật cao.
Input File đã mã hóa
Process Hệ thống kiểm tra file dữ liệu đầu vào.
Output Thông báo lỗi nếu dữ liệu file không hợp lệ. Thông báo kết quả gửi và nhận file
- Xác thực và cấp quyền truy nhập:
Description Người dùng nhập thông tin tiến hành đăng nhập, hệ thống cấp quyền và mở giao diện tương ứng cho người dùng.
Input Username, Password
Process Hệ thống kiểm tra thông tin đầu vào trong CSDL Output
Phần mềm sẽ thông báo lỗi nếu nhập sai, sau khi xác nhận thông tin đầy đủ và chính xác, chuyển người dùng vào giao diện phần mềm tương ứng.
3.4.4. Quản trị hệ thống 3.4.4.1. Mô hình usecase
Hình 3.3 Sơ đồ ca sử dụng Quản trị hệ thống 3.4.4.2. Chi tiết các chức năng
• Xác thực và cấp quyền:
Description Người dùng nhập thông tin tiến hành đăng nhập, hệ thống cấp quyền và mở giao diện tương ứng cho người dùng.
Input Username, Password
Process Hệ thống kiểm tra thông tin đầu vào trong CSDL
Output Phần mềm sẽ thông báo lỗi nếu nhập sai, sau khi xác nhận thông tin đầy đủ và chính xác, chuyển người dùng vào giao diện phần
mềm tương ứng.
• Quản lý người dùng:
Description Cho phép người quản tạo mới người dùng mới, cấp khóa theo 3 cấp độ bảo mật, sửa đổi và xóa bỏ thông tin người dùng
Input Thông tin người dùng
Process Hệ thống kiểm tra file dữ liệu đầu vào, tự sinh khóa. Ghi dữ liệu vào CSDL
Output Thông báo lỗi nếu dữ liệu không hợp lệ.
3.4.5. Sơ đồ logic
3.4.5.1. Đăng nhập
3.4.5.2. Tạo mới Người dùng
3.4.5.3. Sinh cặp khóa bí mật - công khai
3.4.5.4. Ký xác nhận và mã hóa file
Bắt đầu Chọn p,q nguyên tố
(p≠q) Tính n=p*q Tính ф(n)=(p-1)(q-
1)
Chọn khóa công khai e (e,ф(n)=1 Chọn khóa riêng d
ed ≡ 1 mod ф(n) (d nguyên dương)
Bản rõ m
C=memod n Bản mã C m= cd mod n
Bản gốc m
Kết thúc
3.4.5.5. Giải mã và xác thực file
3.4.6. Sơ đồ trình tự 3.4.6.1. Đăng nhập
3.4.6.2. Mã hóa file
3.4.6.3. Ký số
3.4.6.4. Giải mã file
3.4.5. Sơ đồ ERD (Entity Relationship Diagram)
3.4.6. Sơ đồ triển khai hệ thống