Quy trình hoạt động của hệ thốngBioPKI

Một phần của tài liệu Nghiên cứu triển khai thử nghiệm và ứng dụng giải pháp tích hợp sinh trắc vào PKI (Trang 64)

Trong phần này, tác giả sẽ trình bày quy trình của hệ thống đối với 3 hoạt động chính là thiết lập hệ thống, cấp phát chứng thư số mới và hủy chứng thư số theo yêu cầu. 2.5.1 Thiết lập hệ thống ban đầu 2.5.1.1 Thiết lập 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 2.9 Kch bn thiết lp CA Operator

(1) Quản trị viên CA chọn setup CA Operator

(2) Quản trị viên CA đượ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 CA Operator, chứng thư số của RA. (3) Quản trị viên CA nhập các thông tin cần thiết

(4) CA Operator Setup 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, CA Operator Setup yêu cầu Quản trị viên nhập lại thông tin

65 (6) Quản trị viên nhập lại các thông tin

(7) CA Operator Setup 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) CA Operator Setup lưu lại các thông tin về cấu hình.

2.5.1.2 Thiết lập RA

RA Setup CA : RAadmin

Request Creator

1 : Select setup RA() 2 : Query infomation()

3 : Enter infomation()

4 : Store RA config() 5 : Create Request()

6 : Send Request file

7 : Create Certificate()

8 : Send RA,CA Certificate 9 : Store certificates()

Hình 2.10 Kch bn thiết lp RA

Chức năng thiết lập RA là chức năng thực hiện quá trình RA tạo cơ sở dữ liệu, xin cấp chứng thư, đồng thời lưu trữ các thông tin cần thiết để có thể liên kết với cơ sở dữ liệu và tạo kênh SSL với CA sau này.

(1) Quản trị viên tại RA chọn setup RA từ giao diện chương trình.

(2) Quản trị viên được yêu cầu nhập các thông tin cần thiết (bao gồm thông tin profile, thông tin kết nối CA, thông tin kết nối cơ sở dữ liệu).

(3) Quản trị viên nhập thông tin theo yêu cầu. (4) RA Setup lưu trữ các thông tin này.

66

(5) RA Setup gọi hàm Create Request của đối tượng Request Creator. (6) Yêu cầu cấp chứng thưđược gửi đến CA.

(7) CA tạo chứng thư theo yêu cầu.

(8) Chứng thư của RA và CA được gửi cho RA thông qua kênh mật (trong trường hợp này là gửi offline).

(9) RA Setup lưu lại các chứng thưđể tạo kênh SSL sau này.

2.5.1.3 Thiết lập LRA

Thiết lập LRA có nhiệm vụđăng kí một đơn vị LRA mới với các dữ liệu đầu vào: chứng thư của LRA do CA cấp, chứng thư của RA- nơi mà LRA trực thuộc, chứng thư của CA, khóa cá nhân của LRA (dùng để kí lên các file gửi đi), các thông tin đăng kí của LRA như RA code, LRA code, email, phone…

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 2.11 Kch bn thiết lp LRA

67 (1) Quản trị viên tại LRA 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 quản trị viên (có thểđược thay thế bằng sinh trắc)

(3) Quản trị viên 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

Sau quá trình thiết lập, LRA sẽ kết nối tới RA mà nó trực thuộc để bắt đầu giao dịch.

2.5.2 Cấp phát chứng thư số mới

Toàn bộ quy trình cấp chứng thư mới được biểu diễn trong hình 2.12. Các bước cụ thể như sau:

(1) Người dùng muốn có chứng thư sốđể sử dụng đến chi nhánh đăng kí chứng thư số (LRA), điền thông tin vào mẫu đơn đăng kí xin cấp chứng thư số nộp cho nhân viên chi nhánh.

(2) Nhân viên chi nhánh tiếp nhận đơn đăng kí, kiểm tra thông tin người dùng cung cấp. Nếu các thông tin chính xác, yêu cầu người dùng nhập mẫu sinh trắc đúng chuẩn. Mẫu sinh trắc được chuyển thành đặc trưng sinh trắc. Đặc trưng này được mã hóa với chứng thư số chuyên dùng của CA..

(3) Lưu vào cơ sở dữ liệu quản lý thông tin sau:

− Thông tin người dùng (cảđặc trưng sinh trắc đã mã hóa). − Ngày nhận đăng kí, ngày trả kết quả.

68

: LRA_Admin : User

LRA RA CA Operator CA

1 : Request new cert()

2 : New request()

3 : Store request() 4 : create request file() 5 : Send request()

6 : Store request() 7 : Create request file() 8 : Send request() 9 : Submit request() 10 : Issue certificate() 11 : Get certificate() 12 : Return cert() 13 : CreateToken()

14 : Create cert file() 15 : Send cert, token()

16 : Update DB() 17 : Create result file() 18 : Send result, token()

19 : Update DB() 20 : Send Token()

21 : Send Token()

22 : Create update request file() 23 : Send update()

24 : Update DB()

69

− Sinh mã đăng kí: 3 kí tựđầu mã LRA, 6 kí tự sau phiên đăng kí (tựđộng tăng)

− Lưu trạng thái yêu cầu: đã đăng kí.

(4) Đưa giấy hẹn trả lời cho người dùng (có mã đăng kí).

(5) LRA kí và gửi thông tin đăng kí xin cấp chứng thư số cho RA: − Thông tin đăng kí.

− Mã đăng kí.

(6) RA nhận yêu cầu từ LRA, tách lấy mã LRA, căn cứ vào mã LRA để kiểm tra chữ kí LRA, nếu kiểm tra thấy không đúng thông báo cho LRA , còn nếu đúng lưu vào CSDL:

−Mã đăng kí. −Thông tin đăng kí

−Trạng thái yêu cầu: đang xét duyệt tại RA.

LRA nhận được trả lời từ RA thì cập nhật lại trạng thái yêu cầu (nếu cần) và hủy các thông tin sinh trắc của đăng kí tương ứng.

− Trạng thái yêu cầu Đang chờ duyệt.

(7) RA duyệt yêu cầu, nếu không cấp nhận yêu cầu gửi thông báo không chấp nhận cho LRA, hủy đăng kí trong CSDL.Nếu LRA nhận được thông báo không chấp nhận từ RA thì cập nhật trạng thái yêu cầu là Không hợp lệ.

(8) Nếu RA chấp nhận yêu cầu thì kí lên yêu cầu và gửi lên CA (kèm mã đăng kí), chuyển trạng thái yêu cầu thành đã gửi CA (offline).

(9) CA Operator kiểm chữ kí của RA trên dữ liệu đăng kí (sử dụng ứng dụng trên nền Windows). Nếu sai thì thông báo (offline), đưa thông tin vào vào CSDL của CA.

(10) CA phát hành chứng thư số

− Ghi khóa cá nhân, chứng thư số, đặc trưng sinh trắc vào thiết bị nhúng. − Chuyển thiết bị nhúng, chứng thư số, và mã yêu cầu cho RA

(11) RA nhận dữ liệu từ CA:

70

− Căn cứ vào mã yêu cầu, cập nhật trạng thái yêu cầu: đã được cấp, điền mã thẻ vào yêu cầu tương ứng

− Ghi thông tin thiết bị nhúng vào CSDL: mã thiết bị, ID người dùng, serial number của chứng thư số, trạng thái của thiết bị (delivered to LRA – false, delivered to User – false), mã yêu cầu tương ứng với thiết bị.

(12) RA trả thiết bị nhúng cho LRA, mã yêu cầu, cập nhật lại trạng thái của thiết bị nhúng (Delivered to LRA – True)

(13) LRA nhận thiết bị nhúng từ RA kèm mã yêu cầu. Dựa vào mã yêu cầu, cập nhật trạng thái yêu cầu là đã có thẻ và điền mã thẻ vào yêu cầu tương ứng

(14) Người đăng kí cầm giấy hẹn đến LRA để lấy chứng thư số. LRA căn cứ vào mã đăng kí để lấy thiết bị nhúng trả cho người đăng kí và cập nhật trạng thái yêu cầu là đã trả thẻ. Đồng thời LRA thông báo cho RA người dùng đã nhận thẻ (kèm mã thẻ).

(15) RA nhận được thông báo người đăng kí đã nhận thẻ. Dựa trên mã thẻ cập nhật lại trạng thái thẻ (Delivered to User – True).

2.5.3 Hủy chứng thư theo yêu cầu

Toàn bộ quy trình cấp chứng thư mới được biểu diễn trong hình 2.13. Các bước cụ thể như sau:

(1) Người dùng đến LRA báo mất thẻ và viết đơn yêu cầu hủy chứng thư số. (2) LRA kiểm tra thông tin người dùng để xác minh nhân thân.

(3) LRA gửi yêu cầu hủy chứng thư số (chứa ID người dùng) cho RA (offline) và lưu yêu cầu vào cơ sở dữ liệu, trạng thái yêu cầu là đã gửi RA.

(4) RA nhận yêu cầu từ LRA, lưu yêu cầu vào CSDL, căn cứ vào ID người dùng tìm các thẻ tương ứng và báo lại cho LRA (nếu cần).

(5) Sau khi xác định chính xác mã thẻ cần hủy, dựa trên mã thẻ − Tìm serial number của chứng thư số chứa trong thẻ. − Cập nhật trạng thái chứng thư số: thu hồi.

71 − Thông báo lại cho LRA.

(6) LRA nhận thông tin từ RA báo cho người dùng, cập nhật lại trạng thái yêu cầu đã xử lý.

(7) Cuối ngày, RA tìm trong CSDL các yêu cầu hủy (chứa serial number của chứng thư số) gửi cho CA.

(8) CA nhận được thông tin từ RA, căn cứ vào các serial number để cập nhật lại trạng thái chứng thư số. : LRA_Admin : User LRA RA CA Operator : RA Admin 1 : Revoke cert() 2 : New revoke() 3 : Revoke cert() 4 : Update DB() 5 : Store revoke() 6 : create revoke file()

7 : Send revoke()

8 : Update DB() 9 : Create new revoke() 10 : Send revoke file()

11 : Update DB() 12 : Send revoke status()

13 : Update DB()

72

Chương 3- GIẢI PHÁP XÂY DỰNG ỨNG DỤNG CHỮ KÍ SỐ TRÊN NỀN

TẢNG HỆ THỐNG BIOPKI

3.1 Khái quát chung về chữ kí số

3.1.1 Khái niệm chữ kí số

Chữ kí số ra đời cùng với kĩ thuật mã hóa bất đối xứng, nó giải quyết được vấn đề kí dấu đặc trưng trước đó không thể thực hiện được trong hệ mã hóa đối xứng. Ngày nay đã nó trở thành một ứng dụng phổ biến trong các giao dịch điện tử. Mục này sẽ trình bày một số khái niệm có liên quan tới chữ kí số.

Chữ kí số ra đời bắt nguồn từ ý tưởng của các nhà khoa học Diffie và Hellman. Hai ông đã đề xuất ra phương pháp “kí” vào các văn bản điện tử, sử dụng hệ mã khoá công khai như sau [8]:

1. Người gửi kí vào văn bản sẽ gửi đi bằng cách mã hoá văn bản đó với khoá riêng của mình trước khi gửi nó tới cho người nhận.

2. Người nhận sử dụng khoá công khai của người gửi để giải mã văn bản mật nhận được.

Với cách làm trên thì chữ kí số đã đảm bảo được các tính chất sau của chữ kí viết tay:

− Khẳng định rằng văn bản được gửi đi là do chủđịnh của người gửi vì người đó đã kí bằng khóa cá nhân của mình.

− Khẳng định chủ nhân của văn bản đó là người có khóa cá nhân cùng cặp với khóa công khai dùng để giải mã văn bản mã hoá tương ứng.

− Chữ kí trên văn bản mã hoá không thể tái sử dụng được bởi người khác vì họ không có khóa cá nhân tương ứng.

− Văn bản đã kí không thể thay đổi được vì một khi văn bản đó đã được giải mã thì sẽ không ai ngoài chủ nhân của chữ kí có thể mã hoá lại được vì chỉ người đó mới có khóa cá nhân tương ứng.

73

− Người kí văn bản không thể phủ nhận chữ kí của mình vì chỉ có mình anh ta biết khóa cá nhân để mã hoá văn bản đó.

Chữ kí số được tạo ra bằng cách áp dụng thuật toán băm một chiều lên văn bản gốc để tạo ra mã băm (hay còn được gọi là bản tin tóm lược của văn bản đó), sau đó mã hóa mã băm bằng khóa cá nhân rồi đính kèm với văn bản gốc để gửi đi. Tại phía nhận, văn bản thu được sẽ được phục hồi và tách làm 2 phần là văn bản gốc và mã băm. Một mã băm mới sẽ được tính lại từ văn bản gốc, sau đó đem so sánh với mã băm cũ. Dựa vào kết quả so sánh mà ta có thể xác định được dữ liệu gửi đi có sửa đổi hay can thiệp trong quá trình truyền hay không.

Theo chuẩn X.800 của ITU về kiến trúc an ninh cho hệ thống mở, chữ kí số là những dữ liệu được gắn thêm hoặc dạng mã hóa của dữ liệu nhằm giúp cho người nhận có thể chứng thực được nguồn gốc và tính toàn vẹn của thông điệp.

Có thể hiểu chữ kí số giống như chữ kí thông thường, nó được dùng để xác nhận chủ thể kí và nội dung của thông điệp được kí. Muốn đạt được 2 mục đích đó, rõ ràng chữ kí số cần chứa dấu hiệu đặc trưng của người kí cũng như dấu hiệu riêng của thông điệp.

3.1.2 Sơđồ nguyên lý kí số và xác thực chữ kí số

Điều kiện tiền đề là bên gửi có cặp khóa công khai/khóa cá nhân của riêng mình và và bên nhận biết khóa công khai của phía kia. Chữ kí số được tạo ra bằng cách mã hóa mã băm của thông điệp cần gửi (hoặc cả thông điệp) với khóa cá nhân của người gửi. Quá trình tạo và xác thực chữ kí số diễn ra như sau [9]:

Giai đoạn kí tại nơi gửi

Với các yêu cầu nói trên, người ta tạo ra chữ kí số qua các bước:

Bước 1 : áp dụng một hàm băm (ví dụ SHA-1 hoặc MD5) lên văn bản điện tử cần kí M để tạo ra một mã băm HMđặc trưng cho văn bản đó.

Bước 2 : sử dụng khóa cá nhân của người gửi để mã hóa mã băm của văn bản. Chữ kí số SMđặc trưng cho văn bản và người gửi văn bản đó đã được tạo ra. − Bước 3 : Gắn chữ kí số SM lên văn bản M và gửi đi.

74

Hình 3.1 Quá trình to và xác thc ch kí s

Giá trị băm của thông điệp là một chuỗi bit được tạo ra bằng cách cho thông điệp qua một hàm băm một chiều – một thuật toán cho phép dễ dàng tính ra giá trị băm nhưng rất khó để tính ngược từ giá trị băm ra thông điệp đầu vào, đồng thời đảm bảo rất khó để tạo ra 2 giá trị băm giống nhau với 2 thông điệp khác nhau. Sử dụng giá trị băm, ta đã có được đặc trưng của thông điệp cần gửi và đảm bảo tính khó bị giả mạo của chữ kí.

Mã hóa giá trị băm bằng khóa cá nhân của người gửi: đây chính là bước áp dụng thuật toán mã hóa bất đối xứng. Cần nhắc lại rằng với mã hóa bất đối xứng, dữ liệu được mã hóa bằng khóa cá nhân của một người sẽ chỉ có thểđược giải mã băng

75

khóa công khai của người đó, tức là chỉ cần sử dụng khóa công khai là có thể giải mã được chữ kí. Sử dụng khóa cá nhân để mã hóa chính là phương pháp làm cho chữ kí số chứa đặc trưng của người kí, vì hệ PKI chỉ cấp mỗi cặp khóa công khai/khóa cá nhân cho duy nhất một người dùng.

Giai đoạn xác thực chữ kí tại nơi nhận

Tại phía người nhận, sau khi nhận được văn bản, chữ kí số được tách ra khỏi văn bản và quy trình xác thực như sau:

Bước 1 : Giải mã chữ kí số S’M với khóa công khai của người gửi được giá trị H’M.

Bước 2 : Áp dụng hàm băm lên văn bản M, thu được mã băm HM. Trước đó, phía gửi và phía nhận cần thống nhất cùng sử dụng một hàm băm nào đó.

Bước 3 : So sánh HM và H’M. Nếu hai giá trị này bằng nhau, chữ kí số được xác thực thành công, vản bản điện tửđược bên nhận chấp nhận vì đã xác định chính xác người gửi văn bản và nội dung văn bản không bị thay đổi. Ngược lại, nếu HM không khớp với H’M nghĩa là nguồn gốc và/hoặc nội dung của văn bản là không xác thực.

Với sơđồ trên, tác giả nhận thấy có 2 vấn đề khi xác thực chữ kí số :

Th nht: Làm thế nào người nhận chắc chắn nhận ra người gửi thông qua khóa

Một phần của tài liệu Nghiên cứu triển khai thử nghiệm và ứng dụng giải pháp tích hợp sinh trắc vào PKI (Trang 64)

Tải bản đầy đủ (PDF)

(104 trang)