3.1.2.1. Sơ đồ đăng kí
Người dùng muốn đăng ký tài khoản sử dụng phải mang Usb token đến nhà cung cấp để đăng ký và Database do Server (Web Server) quản lý sẽ lưu trữ tài khoản tên đăng nhập, mật khẩu và khóa công khai của từng Token. Sau khi Server kiểm tra tài khoản đăng ký, nếu tài khoản chưa tồn tại thì cho phép tạo tài khoản và được lưu trữ tại server. Nếu tài khoản đã tồn tại thì việc đăng
ký là thất bại. Sau khi đăng ký thành công thì người dùng mới có thể sử dụng trên máy client cá nhân của mình và sử dụng phần mềm kèm theo. Điều này giúp đăng ký và quản lý token một cách tập trung tránh người dùng đăng ký tại client. Server có chức năng chứng thực quyền hợp pháp truy cập hệ thống khi Client có sử dụng Usb Token đã đăng ký với Server và được Server quản lý.
Hình 3.1: Sơ đồ đăng kí tài khoản bằng token
3.1.2.2. Sơ đồ đăng nhập
3.1.2.3. Trao đổi giữa Client và Client
Hình 3.3: Trao đổi giữa Client A và Client B
Ở đây ta xét trường hợp tổng quát. Chat hay gửi file giữa các Client với nhau qua socket đều quy thành các “gói”. Server quản lý tất cả Public Key của các Client đang online. Client A lấy khóa công khai của Client B và mã hóa gói tin cần gửi. Client B khi nhận gói tin, lấy khóa bí mật của mình để giải mã gói tin. Như vậy ai cũng có thể mã hóa gói tin nhưng muốn giải mã thì chỉ có thể giải mã bằng khóa bí mật, nằm trong Token của người nhận.
3.1.2.4. Trao đổi giữa Server – Client
Về vấn đề trao đổi file giữa Server và Client có đôi chút khác biệt khi trao đổi file giữa Client và Client. Ở đây khi trao đổi file, ta không mã hóa bằng token vì hai lý do sau:
- Do Server bật liên tục và là duy nhất, không cần phải sử dụng eToken - Sử dụng thuật toán mã hóa RSA như đã trình bày ở trên.
Với những lý do đó, khi trao đổi giữa Server và Client, em sử dụng một file key.dat có lưu trữ 3 giá trị e, p, q để phục vụ cho thuật toán RSA tự viết.
Việc sử dụng key.dat hay Token là tương đương nhau. Tùy theo nhu cầu của người dùng mà ta có thể chuyển giữa việc dùng Token hay dùng key.dat.
Xác thực thành công
Hình 3.4: Trao đổi giữa Server – Client