Các chức năng cơ bản của Module Setup hệ thống

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 76)

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

4.3Các chức năng cơ bản của Module Setup hệ thống

Hình 4.1: Các chức năng của Module Setup Hệ Thống

Setup CA Operator : Nhiệm vụ của Setup Operator là thiết lập các thông tin để

kết nối với cơ sở dữ liệu của máy chủ OpenCA, thông tin về mật khẩu đăng nhập của CA Operator. Xác thực và thiết lập các thông tin chứng thư số của CA và các RA để phục vụ cho các quá trình cấp phát, thu hồi chứng thư sau này. Các chứng

thư số được lưu trong cơ sở dữ liệu, các thơng tin về cấu hình và đường dẫn hệ thống được lưu trong file XML.

Setup RA: Setup RA thực hiện thiết lập các thông tin để kết nối với cơ sở dữ liệu

RA, Các thông tin dùng cho việc đăng nhập của người quản trị RA. Thiết lập và xác thực các thông tin về chứng thư số của CA, CA Operator, RA và các LRA để phục vụ cho các quá trình giao dịch chứng thư số với CA Operator và các LRA, thiết lập kênh giao tiếp SSL cho RA Server.

Setup LRA: Setup LRA tương tự như của RA, nhằm thiết lập kết nối cơ sở dữ

liệu, nhập các chứng thư cần thiết để tạo kênh SSL cho LRA Client và xác thực trong các giao dịch. 4.4 Xây dựng kịch bản 4.4.1 Setup CA Operator CAOperator Setup : CA_Operator_Admin OpenCA DB 1 : Select setup() 2 : Query information() 3 : Enter information() 4 : Verify certificates() 5 [failed] : Requery certificates()

6 : Re-enter certificates()

7 : Connect to DB()

8 : Connect OK() 9 : Save configs()

Hình 4.2: Biểu đồ diễn tiến quá trình Setup CA Operator

Kịch bản setup CAOperator

(2) CAOperatorAdmin được yêu cầu cung cấp các thơng tin cấu hình cơ sở dữ liệu của OpenCA, thông tin về chứng thư số của CAOperator, chứng thư số của RA.

(3) CAOperatorAdmin nhập các thông tin cần thiết

(4) CAOperator tiến hành kiểm tra xác thực chứng thư và khóa cá nhân. (5) Nếu có lỗi, CAOperator yêu cầu người dùng nhập lại thông tin (6) Người dùng nhập lại các thông tin

(7) CAOperator tiến hành kiểm tra kết nối tới cơ sở dữ liệu của OpenCA (8) Nếu kết nối thành công, thông báo thành công

(9) CAOperator lưu lại các thơng tin về cấu hình.

4.4.2 Setup RA

• Đăng ký 1 máy chủ RA với các thông tin đầu vào là: Thông tin kết nối đến cơ sở dữ liệu, thông tin đăng nhập, thơng tin của RA Server, cặp khố và chứng thư của RA Admin, chứng thư của CA và CA Operator.

• Đăng ký các máy LRA Client với đầu vào là chứng thư và mã LRA

Hình là biểu đồ diễn tiến quá trình đăng ký RA

Hình 4.3: Biểu đồ diễn tiến quá trình Setup RA

(1) RA Admin chọn Setup RA

(3) RA Admin nhập thông tin

(4) RA Setup xác thực thông tin: kiểm tra kết nối đến cơ sở dữ liệu, đọc khoá cá nhân của RA Admin

(5) Nếu các thơng tin chính xác, RASetup yêu cầu import chứng thư (6) RA Admin import chứng thư của CA, CA Operator, RA

(7) RASetup xác thực các chứng thư đã nhập

(8) Nếu xác nhận chứng thư thành công, lưu chứng thư vào cơ sở dữ liệu, khởi tạo SSL server

(9) RAServer start để lắng nghe các Client

(11) Server start thành công, RASetup lưu các thơng tin cấu hình (adsbygoogle = window.adsbygoogle || []).push({});

Sau khi đăng ký RA thành công, RA Admin chọn chức năng Register LRA để đăng ký các máy khách LRA sẽ giao dịch.

Hình 4.4: Biểu đồ diễn tiến quá trình đăng ký một LRA

(1) RA Admin chọn đăng ký 1 LRA client

(2) Register LRA yêu cầu nhập thông tin của LRA

(3) RA Admin nhập mã và chứng thư của LRA cần đăng ký (4) Register LRA xác thực thông tin đăng ký

(5) Nếu q trình xác thực thành cơng lưu chứng thư và mã LRA tương ứng vào cơ sở dữ liệu

LRA Setup

: LRA_Admin

RA

1 : Select setup LRA() 2 : Query information()

3 : Enter information()

4 : Verify certificates() 5 [failed] : Requery certificates()

6 : Re-enter certificates()

7 : Connect to RA()

8 : Connect OK() 9 : Save configs()

Hình 4.5: Biểu đồ diễn tiến quá trình setup LRA

(1) LRA Admin chọn setup LRA

(2 ) LRA Admin được yêu cầu cung cấp các thơng tin cấu hình bao gồm: thơng tin profile LRA, LRA code, thông tin CSDL, thông tin về RA chủ quản, các chứng thư (CA, RA, LRA), khóa cá nhân của LRA, mật khẩu đăng nhập của LRA Admin (có thể được thay thế bằng sinh trắc)

(3) LRA Admin nhập các thông tin cần thiết

(4) LRA Setup tiến hành kiểm tra, xác thực các chứng thư, khóa cá nhân (5) Nếu có lỗi xác thực, LRA Setup yêu cầu người dùng nhập lại

(6) Người dùng nhập lại các thông tin chứng thư (7) LRA Setup thiết lập kênh SSL tới RA

(8) RA trả lời kết nối đã được thiết lập

(9) LRA Setup lưu các thơng số cấu hình, import các chứng thư vào CSDL

4.4.4 Kịch bản khởi động

Hình mơ tả q trình khởi động chung cho cả 3 thành phần CA Operator, RA và LRA. Việc chạy chương trình chính bắt đầu bằng quá trình đăng nhập hệ thống, hiện nay do chưa tích hợp sinh trắc nên việc đăng nhập mới chỉ dùng password, sau này khi đăng nhập chương trình có thêm một bước là kiểm tra đặc trưng sinh trắc của người dùng.

CHƯƠNG 5

THỬ NGHIỆM KỊCH BẢN ỨNG DỤNG TRONG HỆ THỐNG BIOPKI-OPENCA

Sau khi từng thành phần của hệ thống được xây dựng, ghép nối và chạy thử, cần thử nghiệm một kịch bản ứng dụng trong hệ thống BioPKI-OpenCA để kiểm tra, đánh giá hệ thống, xem xét các khối chương trình đã chạy đúng như yêu cầu hay chưa. Ứng dụng được thử nghiệm ở đây chính là kịch bản ứng dụng chữ kí số.

Ứng dụng chữ kí số là một thành phần trong nhóm xây dựng các ứng dụng của hệ thống BioPKI-OpenCA. Hai chức năng chính hệ thống cung cấp liên quan tới ứng dụng này là chức năng kí và chức năng kiểm tra chữ kí.

Trong phần dưới sẽ trình q trình thử nghiệm kịch bản ứng dụng trong toàn bộ hệ thống BioPKI-OpenCA Ver.1, trong đó sẽ thử nghiệm và đánh giá kết quả của phân hệ phần mềm LRA của đồ án này trong hoạt động của hệ thống chung (adsbygoogle = window.adsbygoogle || []).push({});

Application Digital Signature Encrypt Message User Remote Authentication Sign Verify Signature <<extend>> <<extend>>

Hình 5.1: Biểu đồ usecase nhóm các chức năng liên quan tới ứng dụng trên nền PKI

Trong phạm vi đề tài này, ứng dụng chữ kí số sẽ được xây dựng nhằm xác thực nội dung thông điệp và xác thực người dùng. Ứng dụng được xây dựng nằm thành phần user

applications của hệ thống BioPKI-OpenCA. Mục tiêu của việc xác thực trong ứng dụng này là :

• Xác thực sự tồn vẹn thơng điệp.

• Xác thực người kí thơng điệp.

• Chống phủ nhận đối với người kí.

5.1 Thiế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() (adsbygoogle = window.adsbygoogle || []).push({});

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()

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() (adsbygoogle = window.adsbygoogle || []).push({});

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

Các thành phần hệ thống đều chạy đúng chức năng thiết kế, ứng dụng chữ kí số hoạt động tốt trên các nền tảng dịch vụ mà hệ thống cung cấp. Thành phần Setup hệ thống hoạt động đúng với yêu cầu, khởi tạo được đầy đủ các thông số ban đầu để hệ thống có thể hoạt động được.

Hình 5.6: Kết thúc q trình kí

Hình 5.7: Kết thúc q trình xác thực chữ kí

Đề tài “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” nằm trong khuôn khổ đề tài nghiên cứu khoa học công nghệ cấp nhà

nước KC01.11/06-10 “Hệ thống an ninh thông tin dựa trên sinh trắc học sử dụng công nghệ nhúng BioPKI”. Trong thời gian nghiên cứu, tìm hiểu, xây dựng ứng dụng đố án đã hoàn thành được các nhiệm vụ được đặt ra, cụ thể là:

• Về mặt lý thuyết: Đồ án đã trình bày được những khái niệm, đặc điểm cơ bản của một

hệ thống PKI, tổng quan về OpenCA, trình bày được khái niệm sinh trắc học (biometric), các hướng tích hợp biometric vào một hệ PKI.

• Về mặt thiết kế: Đồ án đã đóng góp vào thiết kế tổng quan hệ thống BioPKI-OpenCA,

thiết kế thành phần setup hệ thống, thiết kế các quy trình trong hệ thống.

• Về mặt cài đặt thực tế và kết quả thử nghiệm: Đã hoàn thành việc cài đặt module

Setup, tích hợp module vào hệ thống BioPKI dựa trên OpenCA, tiến hành thử nghiệm thành cơng ứng dụng chữ ký số trên phịng thí nghiệm liên mạng

Mặc dù đã hết sức cố gắng nhưng trình độ chun mơn và thời gian thực hiện đồ án còn hạn hẹp, cũng như mức độ phức tạp của đề tài, nên kết quả đạt được còn gặp phải một số khiếm khuyết.

Hướng phát triển đề tài: Tiếp tục hoàn thiện các chức năng, nhằm tăng hiệu quả và độ an tồn. Tích hợp module sinh trắc và quản lý thẻ eToken vào quá trình setup hệ thống, hồn thiện hơn về giao diện để tăng tính chun nghiệp nhằm đáp ứng khả năng ứng dụng thực tế cho hệ thống Bio-PKI dựa trên OpenCA

TÀI LIỆU THAM KHẢO

ứng dụng, Nhà xuất bản Đại học Quốc gia Hà nội.

[2] Phan Đình Diệu (1999), Lý thuyết mật mã và an tồn thơng tin, Đại học Quốc Gia Hà Nội, Hà Nội.

[3] Trịnh Nhật Tiến (2004), Một số vấn đề về an toàn dữ liệu, Hà Nội.

[4] Adams, C. (1999), Understanding Public Key Infrastructures, New Riders Publishing, Indianapolis.

[5] Andrew Nash, William Duance, Celia Joseph, and Derek Brink (2001), PKI

Implementing and managing E-Security, McGraw –Hill Co. (adsbygoogle = window.adsbygoogle || []).push({});

[6] Fegghi, J.(1999), Digital Certificates and Applied Internet Security, Addison-Wesley Longman, Inc.

[7] ITU-T Recommendation X.509 (2000), “The Directory: Public key and Attribute Certificates Framework”.

[8] Rivest, R.L., A.Shamir, and L.M.Adleman (1978), “A method for obtaining digital signatures and public-key cryptosystems”, Communications of the

ACM.

[9] Housley, R. (1999), Internet X.509 Public Key Infrastrure Certificate and

CRL Profile, RFC 2459.

[10] Myers, M. (1999), X.509 Internet Public Key Infrastrure On-line Certificate

Status Protocol, RFC 2560.

[11] Jain, A. K. (28-30 April 2004), "Biometric recognition: how do I know who you

are?", Signal Processing and Communications Applications Conference, 2004.

Proceedings of the IEEE 12th.

[12] Shapiro, Debra Lynn; Puri, Preeti. “Biometric Security For Advanced Traffic

Management System”. ITS America. Meeting (12th : 2002 : Long Beach, Calif.).

Securing our future : ITS America 12th Annual Meeting and Exposition 2002 : conference proceedings.

[13] http://www.openssl.org. [14] http://www.openca.org

[15] BioPKI-OpenCA- design 20-3-09 [16] Đồ án tốt nghiệp Bùi Thành Đạt [17] Đồ án tốt nghiệp Nguyễn Văn Toàn

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 76)