Thiết kế kịch bản thử nghiệm ứng dụng chữ kí số

Một phần của tài liệu xây dựng phân hệ setup trong hệ thống an ninh dựa trên sinh trắc học biopki-openca (Trang 87 - 91)

b. Các giải pháp tích hợp sinh trắc để bảo vệ khoá cá nhân

5.1Thiết kế kịch bản thử nghiệm ứng dụng chữ kí số

Hai người dùng của hệ thống tham gia vào một giao dịch thơng điệp có sử dụng chữ kí số. Tạm gọi hai người đó là A và B. A gửi cho B thông điệp M ( là một file dữ liệu), A đồng thời dùng một chứng thư số của mình để tạo chữ kí số. Chính xác là A dùng khóa riêng PrA (ứng với chứng thư CertA của A đã được CA xác nhận) để kí lên M tạo thành chữ kí SA. Cả M, số Serial của CertA và SA được gắn lại và gửi cho B.

Khi B nhận được file đã được kí và B muốn kiểm tra chữ kí có đúng khơng thì trước tiên, hệ thống sẽ tách nội dung file và các thơng tin liên quan tới chữ kí ra.

Tiếp theo B sẽ dùng dịch vụ do hệ thống cung cấp, connect đến bộ phận dịch vụ

chứng thư số của RA để lấy chứng thư CertA và kiểm tra xem có đúng là chứng thư hợp

lệ hay khơng. Sau đó nếu chứng thư hợp lệ thì B lấy khóa cơng khai PbA của A từ chứng

thư. B dùng PbA để kiểm tra lại chữ kí và file M để xác thực xem có phải đúng là A đã kí chữ kí này khơng.

Nếu chứng thư khơng hợp lệ hoặc nếu M khơng tồn vẹn hoặc khơng phải A kí chứng thư thì kết quả việc kiểm tra sẽ biết được ngay. Trái lại chữ kí là hợp lệ và file M không bị thay đổi trên đường truyền.

Về cơ bản hoạt động kí và kiểm tra chữ kí diễn ra như minh họa trong hình biểu diễn ở chương 1.

Điểm cẩn lưu ý ở đây là: cả A, B là người dùng của hệ thống BioPKI-OpenCA và mỗi bên đã được cấp một chứng thư số, tức mỗi bên đều đã có thẻ token. Bên A lúc kí muốn lấy được khóa cá nhân phải dùng token để xác thực, bên B khi connect tới RA cũng cần được xác thực và cần đến token.

: User

Digital signature app

1 : Request sign a file() 2 : Dialog select file()

3 : Choose file() 4 : Private key file path()

5 : Choose file() 6 : Password() 7 : Enter password() 8 : Sign file() 9 : Signed file 10 : Send file()

11 : Connect to partner and send file()

Hình 5.2: Biểu đồ diễn tiến q trình kí

Trong biểu đồ trên, khi cần lấy khóa cá nhân để kí, ứng dụng hỏi người dùng đường dẫn đến file khóa và password (passpharse). Nếu dùng thẻ token đã tích hợp sinh trắc để mã hóa khóa cá nhân thì hai lời gọi trên được thay thế bằng việc yêu cầu user đưa thẻ vào và ứng dụng tiến hành đọc thẻ, giải mã để lấy khóa cá nhân.

Biểu đồ diễn tiến q trình xác thực chữ kí:

: User

Digital signature app RA

1 : Verify a file() 2 : Select a file() 3 : Choose file()

4 : Extract signature info() 5 : Private key file path()

6 : choose file() 7 : Require password() 8 : Enter password() 9 : Connect() 10 : ConnectOK 11 : Get cert() 12 : Partner cert 13 : Get public key()

14 : Verify()

15 : Send verify result()

Hình 5.3: Biểu đồ diễn tiến q trình xác thực chữ kí

Trong biểu đồ trên, ứng dụng cần khóa riêng của user để thiết lập kênh SSL đến bộ phận cung cấp dịch vụ chứng thư số của RA, ứng dụng sẽ hỏi đường dẫn đến file private key và password (passpharse). Nếu hệ thống sử dụng thẻ nhúng, thì việc này sẽ được thay thế bằng các hành động: yêu cầu user đưa thẻ vào, đọc thẻ và giải mã để lấy khóa cá nhân

: User

LRA Digital signature app RA CA Operator CA

1 : request new cert()

2 : New request file() 3 : send request() (adsbygoogle = window.adsbygoogle || []).push({});

4 : New request file() 5 : Send request()

6 : Submit()

7 : Issue cert() 8 : New Cert()

9 : CreateToken()

10 : Export cert to file()

11 : Send new token() 12 : Send new token()

13 : Send new token() 14 : Sign a file() 15 : Get private key()

16 : Input token()

17 : Decrypt, get priv key()

18 : Sign file()

Hình 5.4: Q trình kí có thử nghiệm hoạt động tất cả các thành phần của hệ thống BioPKI-OpenCA

: User

LRA Digital signature app RA CA Operator CA

1 : request new cert()

2 : New request file() 3 : send request()

4 : New request file()

5 : Send request()

6 : Submit()

7 : Issue cert()

8 : New Cert()

9 : CreateToken()

10 : Export cert to file()

11 : Send new token() 12 : Send new token()

13 : Send new token()

14 : Verify a file() 15 : Get private key()

16 : Input token()

17 : Decrypt, get priv key()

18 : Connect() 19 : ConnectOK 20 : GetCert() 21 : PartnerCert 22 : GetPublicKey() 23 : Verify()

24 : Send verify result()

Hình 5.5: Q trình xác thực có thử nghiệm hoạt động tất cả các thành phần của hệ thống (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu xây dựng phân hệ setup trong hệ thống an ninh dựa trên sinh trắc học biopki-openca (Trang 87 - 91)