MỤC LỤC
LỜI NÓI ĐẦU 1
CHƯƠNG I: TÌM HIỂU TỔNG QUAN VỀ PKI - OPENCA VÀ SINH TRẮC HỌC 10
1. Khái niệm và các cơ sở lý thuyết của hạ tầng cơ sở khóa công khai 10
1.1. Khái niệm hạ tầng cơ sở khóa công khai 10
1.2. Các cơ sở lý thuyết của hệ thống PKI 10
1.2.1. Công nghệ mã hóa bất đối xứng (Mã hóa công khai) 10
1.2.1.1. Mô hình mã hóa bất đối xứng 10
1.2.1.3. Đánh giá công nghệ mã hóa công khai 11
1.2.2. Chữ ký điện tử 12
1.2.2.3. Khái niệm chữ kí điện tử (Electronic Signature) 12
1.2.2.4. Khái niệm chữ kí số (Digital Signature) 12
1.2.2.5. Ý nghĩa của chữ kí số 12
1.2.2.6. Hàm băm 12
1.2.2.7. Quy trình tạo và thẩm định chữ kí số 13
1.2.3. Chứng thư số 14
1.2. Các thành phần trong hệ thống PKI 15
1.2.1. Nhà phát hành chứng chỉ - CA 16
1.2.2. Cơ quan đăng ký chứng thực – RA 18
1.2.3. Thực thể đầu cuối (End –Entity) 18
1.2.4. Kho chứa chứng chỉ 19
1.3. Kiến trúc của PKI 19
1.4. Các hoạt động chính trong hệ thống PKI 21
1.4.1. Cấp phát chứng chỉ 21
1.4.2. Phân phối chứng chỉ 22
1.4.3. Thu hồi chứng chỉ 22
1.4.4. Quản lý khóa cá nhân 22
1.6. Một số vấn đề an toàn của hệ thống PKI 23
1.6.1. Lộ khóa cá nhân 23
1.6.2. Giả mạo khóa công khai 23
1.7. Tổng quan về OpenCA 24
1.7.1. Định nghĩa 24
1.7.2. Các thành phần cơ bản của OpenCA 24
1.7.2.1. Module Pub 24
1.7.2.2. Module RA 25
1.7.2.3. Module CA 25
1.8. Tổng quan về Sinh trắc học 26
1.8.1. Khái niệm 26
1.8.2. Các giải pháp tích hợp sinh trắc vào hệ thống PKI 27
1.8.2.1. Hướng dùng sinh trắc để thẩm định người dùng 27
1.8.2.2. Hướng dùng sinh trắc để sinh khóa cá nhân 28
1.8.2.3. Hướng sinh khóa sinh trắc mã hóa bảo vệ khóa cá nhân 28
CHƯƠNG 2: HỆ THỐNG BK-BioPKI VÀ GIẢI PHÁP TÍCH HỢP SINH TRẮC 30
1.Khái quát hệ thống BK-BioPKI 30
1.1.Mô hình thiết kế tổng thể hệ thống BK-BioPKI 30
1.2. Các thành phần của hệ thống BKBio-PKI dựa trên OpenCA 31
1.2.1. CA 31
1.2.1.1.CA Operator 31
1.2.1.2. Linux-OpenCA 32
1.2.2. RA 32
1.2.2.1.Bộ phận dịch vụ phát hành chứng chỉ 32
1.2.2.2.Bộ phận dịch vụ chứng chỉ 32
1.2.3.LRA 32
1.2.4.User Applications 33
1.3. Xây dựng phương án về quy trình hệ thống BK-BioPKI 33
1.3.1. Cấp phát chứng chỉ 33
1.3.2.Hủy chứng chỉ tức thời 35
1.3.3.Sử dụng chứng chỉ 35
2. Thiết kế tích hợp mã hóa sinh trắc bảo vệ khóa cá nhân vào hệ thống BK-BioPKI 36
2.1.Phân tích yêu cầu 36
2.2.Phân tích thiết kế 37
2.2.1.Phân hệ sinh trắc sinh khóa bảo vệ khóa cá nhân 37
2.2.2.Thiết kế tích hợp 37
2.2.2.1.Kịch bản xin cấp chứng chỉ 38
2.2.2.2.Kịch bản sử dụng chứng chỉ 38
CHƯƠNG 3: KHẢO SÁT VÀ PHÂN TÍCH XÂY DỰNG ỨNG DỤNG TRÊN NỀN WEB-BASED 40
1. Giới thiệu công nghệ Web 40
2. Phân tích và lựa chọn giải pháp công nghệ xây dựng ứng dụng 40
2.1. Phân tích yêu cầu ứng dụng 40
2.2. Giới thiệu một số giải pháp công nghệ web hiện nay 42
2.2.1. Web plug-in 42
2.2.2. Web Service 43
2.2.3. Java Applet 43
2.3. Lựa chọn giải pháp công nghệ 44
2.4. Triển khai sử dụng công nghệ 44
2.5. Mô hình ứng dụng 45
2.5. Một số điểm cần chú ý 45
CHƯƠNG 4: THIẾT KẾ CHI TIẾT MODULE ĐĂNG KÝ TRÊN WEB 46
1.Thiết kế kịch bản ứng dụng 46
2. Thiết kế chi tiết ứng dụng 48
2.1. Xây dựng form đăng ký 48
2.2. Xây dựng form ký dữ liệu 54
2.3. Ký vào Applet [10] 56
2.4. RA Server xác thực chữ ký của LRA 59
2.5.Cấu hình SSL cho Tomcat server[11] 61
KẾT LUẬN 65
TÀI LIỆU THAM KHẢO 67
67 trang |
Chia sẻ: lynhelie | Lượt xem: 1223 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng module đăng ký người dùng trên nền web-Based trong hệ thống an ninh thông tin BK-BioPKI, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
người dùng.
Chứng chỉ số sau khi phát hành cần được công bố rộng rãi cho bất kỳ ai có nhu cầu trao đối thông tin với chủ thể của chứng chỉ số đó.
1.4.2. Phân phối chứng chỉ
PKI thường dùng một số phương pháp công bố chứng chỉ số như sau:
Dịch vụ thư mục: Phương pháp này dành cho các chứng chỉ số theo chuẩn X.509. Dịch vụ thư mục dành cho PKI phổ biến là X.500/LDAP theo chuẩn của IETF.
Trang web: các chứng chỉ số được đưa lên trang web để mọi người có thể truy cập.
Các phương tiện khác như email ..
1.4.3. Thu hồi chứng chỉ
Các chứng chỉ số bị thu hồi khi hết thời gian sử dụng, CA chứng thực cho chứng chỉ đó không còn tin cậy hoặc chứng chỉ số đó không còn được dùng nữa Chỉ có CA mới có quyền thu hồi chứng chỉ.
Sau khi thu hồi phải công bố rộng rãi. Có hai cách công bố là: đưa thông báo lên một máy chủ để cảnh báo mọi người hoặc đưa chứng chỉ số bị hủy bỏ vào một danh sách chứng chỉ hết hiệu lực (Certificate Revocation Lists - CRL) và sau đó sẽ được xóa bỏ.
1.4.4. Quản lý khóa cá nhân
Khóa cá nhân ở đây bao gồm cả khóa cá nhân của người dùng và khóa cá nhân của CA. Việc quản lý gồm 3 hoạt động như sau:
Bảo vệ khóa cá nhân: khóa cá nhân được lưu trong phương tiện lưu trữ an toàn như smart card hay file đã mã hóa. Truy cập tới khóa cá nhân cần phải có thông tin xác thực như PIN, mật khẩu hay đặc trưng sinh trắc học
Cập nhật khóa: Do người sử dụng đã được định danh từ trước nên quá trình này đơn giản chỉ là tạo thêm một chứng chỉ số và cặp khóa mới. Để cập nhật chứng chỉ số cho CA gốc, quá trình sẽ phức tạp hơn, vì một số người dùng vẫn có thể đang tin cậy chứng chỉ số cũ trong khi một số chuyển sang tin cậy chứng chỉ số mới. Giải pháp cho vấn đề này là tạo ra và phát hành ba chứng chỉ số chuyển tiếp tạm thời như sau:
Một chứng chỉ số có chứa khóa công khai cũ của CA, được ký bằng khóa cá nhân mới của CA. Thời gian hoạt động của chứng chỉ số này tính từ ngày tạo cho tới ngày hết hạn của chứng chỉ số cũ.
Một chứng chỉ số có chứa khóa công khai mới của CA, được ký bằng khóa cá nhân cũ của CA. Chứng chỉ số này có hiệu lực từ ngày ký cho tới ngày hết hạn của chứng chỉ số cũ.
Một chứng chỉ số có chứa khóa công khai mới của CA, được ký bằng khóa cá nhân mới của CA. Đây là chứng chỉ số có tính ổn định, hoạt động cho tới khi cần phải cập nhật khóa cho CA lần tiếp theo.
Sao lưu/phục hồi: Chức năng này cho phép người dùng lấy lại khóa cá nhân trong trường hợp bị mất. Việc sao lưu và phục hồi khóa phải được tiến hành bằng một đối tác tin tưởng (như một CA), có trách nhiệm giữ bí mật các khóa cá nhân.
1.6. Một số vấn đề an toàn của hệ thống PKI
Hệ thống PKI được xây dựng với mục đích chính là để cung cấp các dịch vụ an toàn, tuy nhiên như bất cứ một hệ thống nào PKI cũng tồn tại một sô vấn đề an toàn [1].
1.6.1. Lộ khóa cá nhân
Vấn đề đầu tiên được nhắc tới của hệ thống PKI chính là việc lộ khóa cá nhân của người dùng. Khóa cá nhân của người dùng được lưu trữ trên các phương tiện khác nhau mà các phương tiện này thông thường chỉ được bảo vệ bởi một password nên khả năng mất an toàn là rất cao. Vấn đề này có thể được giải quyết khi áp dụng sinh trắc học để bảo vệ khóa riêng.
1.6.2. Giả mạo khóa công khai
Trường hợp khóa này được bảo vệ bằng chữ ký của CA, tức là kiểm tra được bằng khóa công khai của CA, có nguy cơ kẻ tấn công thay thế khóa của CA trên máy người dùng, sau đó tiến hành thay thế khóa công khai của người dùng bằng khóa giả.
1.7. Tổng quan về OpenCA
1.7.1. Định nghĩa
OpenCA là một mô hình PKI mã nguồn mở, được viết bằng Perl, sử dụng phần nhân là OpenSSL và được viết bởi PKI Lab. Hệ thống này được xây dựng với mục đích cung cấp một hạ tầng cơ sở khóa công khai mã nguồn mở với đầy đủ các chức năng quản lý chứng chỉ bao gồm cấp phát, thu hồi, gia hạn chứng chỉ cho người dùng. Phiên bản mới nhất tính đến thời điểm hiện nay (tháng 5 năm 2009) là OpenCA PKI v1.0.2 (ten-ten2) .
1.7.2. Các thành phần cơ bản của OpenCA
Hình 1.9 Các thành phần cơ bản của OpenCA
Các thành phần cơ bản của OpenCA gồm:
1.7.2.1. Module Pub
Module Pub trong OpenCA là giao diện trực tiếp với người sử dụng thực hiện các chức năng sau :
Tiếp nhận yêu cầu cấp và thu hồi chứng chỉ của người dùng : để thực hiện chức năng này, Pub thực hiện thu thập các thông tin cơ bản của người dùng đặc biệt là 1 số PIN dùng cho việc xác thực yêu cầu của người dùng. Sau đó gửi yêu cầu đó cho RA.
Pub cũng là nơi thực hiện việc cấp các chứng chỉ do CA duyệt thông qua trả về cho người dùng.
Pub cung cấp 1 số tiện ích như kiểm tra các chứng chỉ, quản lý các yêu cầu cấp và thu hồi chứng chỉ cho người dùng.
Điểm còn hạn chế của module Pub trong OpenCA là chưa có một hệ thống quản lý người dùng hoàn chỉnh. Đồng thời Pub được truy nhập , tiếp nhận yêu cầu và cấp chứng chỉ tự do tuy nhiên với một hệ thống nguồn mở thì đây vẫn còn là một điều chấp nhận được.
1.7.2.2. Module RA
Module RA trong OpenCA được sử dụng để thực hiện việc quản lý các yêu cầu cấp và thu hồi các chứng chỉ dùng cho quản trị RA.
Chức năng chính của RA :
Quản lý và xét duyệt các yêu cầu về cấp và thu hồi chứng chỉ từ Pub rồi gửi lên cho CA : chức năng này cho phép quản trị RA biên soạn lại các yêu cầu cấp chứng chỉ, xác thực thông tin người dùng sử dụng mã PIN của người dùng đó.
Duyệt các chứng chỉ do CA trả về cho người dùng.
Một chức năng quan trọng của RA là thực hiện việc sinh khóa riêng cho người dùng sau đó sử dụng mã PIN để mã hóa bảo vệ và khóa riêng và gửi lên cho CA.
Trong mô hình PKI phổ biến thì RA thường đứng ở vai trò giao tiếp với người dùng. Nhưng trong OpenCA thì module Pub cộng với RA mới tạo thành một RA đúng nghĩa. Việc phân thành hai lớp quản lý như vậy tạo ra sự linh hoạt và mềm dẻo trong việc quản lý quy trình cấp chứng chỉ.
1.7.2.3. Module CA
Module CA trong OpenCA thực hiện các chức năng quản lý việc cấp và thu hồi các chứng chỉ.
Chức năng chính của CA:
Quản lý các yêu cầu cấp phát và thu hồi chứng chỉ do RA gửi lên : ở chức năng này CA hỗ trợ việc duyệt các yêu cầu cấp chứng chỉ đồng thời thực hiện các chức năng như cấp và thu hồi chứng chỉ cho người dùng.
Quản lý các danh sách chứng chỉ bị thu hồi.
1.8. Tổng quan về Sinh trắc học
1.8.1. Khái niệm
Sinh trắc (Biometric) là đặc tính hay thuộc tính vật lý hay sinh học mà có thể định lượng được. Nó có thể được dùng là phương tiện chứng minh định danh của người dùng. Một vài đặc tính sinh trắc học như: chiều cao, cân nặng, mùi cơ thể, vân tay, mống mắt, khuôn mặt, hình dạng bàn tay hay ngón tay, giọng nói, chữ ký
Hình 1.10 Các thuộc tính sinh trắc học
Các thuộc tính sinh trắc được phân loại thành các tập nhỏ hơn và không phải tất cả các thuộc tính này đều phù hợp cho mục đích nhận dạng, thẩm định. Các tiêu chuẩn để đánh giá một thuộc tính sinh trắc có thể được sử dụng cho mục đích này hay không như sau:
Tính phổ dụng (Universality): Tất cả mọi người đều phải có đặc tính sinh trắc học này, như: mống mắt, vân tay, khuôn mặt
Tính duy nhất (Uniqueness): Đặc trưng sinh trắc học này của từng người phải khác nhau và là duy nhất.
Tính bề vững (Permanence): Những đặc tính sinh trắc học phải khá ổn định trong suốt cuộc đời con người.
Tính khả dụng (Collectability): Đặc trưng sinh trắc học này phải được thu thập một cách dễ dàng và khá nhanh chóng cho mục đích nhận dạng.
Tính hiệu quả (Performance): Mức độ chính xác phải khá cao sao cho các hệ thống có thể được triển khai tin cậy trong thực tế.
Tính chấp nhận được (Acceptability): Các đặc trưng sinh trắc học này phải được con người chấp nhận trên thực tế.
Tính an toàn (Resistance to Circumvention): Hệ thống có dễ dàng bị giả mạo hay không.
1.8.2. Các giải pháp tích hợp sinh trắc vào hệ thống PKI
Vấn đề bảo vệ khóa cá nhân luôn được chú trọng vì khóa cá nhân đóng vai trò bảo mật trung tâm cho toàn bộ hoạt động khác. Nếu khóa cá nhân của người dùng bị mất trộm thì đương nhiên những tài liệu mật gửi cho anh ta sẽ không còn an toàn. Trong trường hợp khóa cá nhân của một CA bị mất thì toàn bộ các CA và người dùng cấp dưới của nó sẽ không đảm bảo độ tin cậy, vì người lấy được khóa cá nhân đó có thể cấp chứng chỉ số cho bất kỳ một CA hay người dùng giả mạo nào đó nhân danh CA này. Nếu CA gốc bị mất khóa cá nhân thì toàn bộ hệ thống PKI trở nên vô nghĩa và sụp đổ. Có thể thấy, vấn đề bảo vệ khóa cá nhân mang ý nghĩa rất lớn.
Vấn đề xác thực và thẩm định chủ thể, điểm yếu của PKI, lại là điểm mạnh của sinh trắc học. Do đó xu thế kết hợp sinh trắc học với PKI thành BioPKI là xu thế tất yếu. Hệ thống BioPKI được xây dựng sẽ đảm bảo định danh chính xác người dùng, bảo vệ an toàn tuyệt đối khóa cá nhân, đồng thời mang lại sự tiện lợi cho người sử dụng.
Sau đây ta sẽ trình bày về các hướng tiếp cận của hệ thống sinh trắc học vào PKI để tạo nên một hệ thống có tính an toàn cao, hệ thống BioPKI [6].
1.8.2.1. Hướng dùng sinh trắc để thẩm định người dùng
Theo hướng này, người dùng mỗi khi sử dụng hệ thống PKI cần gửi kèm theo thông tin sinh trắc học để chứng minh bản thân. Nói cách khác, thông tin sinh trắc học đó chính là một dạng chứng nhận kèm theo chứng chỉ số anh ta được cấp. Hoạt động của hướng này có thể hình dung như sau: Alice muốn yêu cầu một chứng chỉ số tại CA. Trước hết, Alice phải có mẫu sinh trắc học lưu tại cơ sở dữ liệu trong hệ thống. Khi đăng ký chứng chỉ số, ngoài các thông tin thông thường Alice còn phải gửi kèm theo thông tin sinh trắc học của mình. Ngoài các thủ tục xác minh thông thường, hệ thống còn thực hiện thêm việc đối sánh thông tin sinh trắc học kèm theo đó với mẫu đã lưu. Alice chỉ được cấp chứng chỉ khi kết quả đối sánh là khẳng định. Một tình huống khác: Bob đang dùng khóa cá nhân B, hệ thống muốn kiểm tra tính hợp lệ, xem Bob có đúng là chủ của khóa cá nhân đó không. Lúc đó, hệ thống sẽ yêu cầu Bob gửi thông tin sinh trắc học đến để đối sánh với mẫu của chủ khóa cá nhân B đã lưu trong cơ sở dữ liệu. Kết quả đối sánh đúng hoặc sai sẽ quyết định Bob có quyền được sử dụng tiếp không hay phải dừng lại. Hướng này làm tăng tính tin cậy của hệ thống khá nhiều, nhưng lại vấp phải một số nhược điểm sau [6]:
Mẫu sinh trắc học được lưu trữ tập trung, do vậy đặt ra vấn đề bảo đảm an toàn cho máy chủ lưu trữ.
Thực hiện đối sánh sinh trắc học và quyết định quyền sử dụng dịch vụ là hai công việc tách rời nhau. Kết quả của đối sánh sinh trắc được gửi qua môi trường truyền thông, do vậy có nảy sinh nguy cơ bị tấn công vào kênh truyền thông nhằm làm sai lệch kết quả trả lời.
Đặc trưng sinh trắc học được gửi từ người dùng tới máy chủ để đối sánh nên có thể bị mất trộm và dẫn đến tấn công giả mạo.
1.8.2.2. Hướng dùng sinh trắc để sinh khóa cá nhân
Theo hướng này, khóa cá nhân được sinh trực tiếp dựa trên đặc trưng sinh trắc học và được dùng để ký các dữ liệu. Ưu điểm lớn nhất của giải pháp này là nó không cần nơi để lưu trữ, do vậy loại bỏ nguy cơ tấn công khóa cá nhân. Mặt khác, hệ thống rất thuận tiện khi bản thân người dùng đã “mang” theo khóa cá nhân để sử dụng ở bất kỳ đâu, không cần thiết phải có đĩa lưu trữ hoặc smartcard. Khóa công khai sẽ được sinh tương ứng với khóa cá nhân này theo thuật toán DSA.
Trong trường hợp người dùng có nhu cầu có nhiều khóa cá nhân để dùng trong các hệ thống khác nhau, ta sẽ dùng các hàm băm khác nhau để băm khóa cá nhân. Do tính chất của các hàm băm, mỗi giá trị băm ra có thể được coi là một khóa cá nhân mới để dùng cho các hệ thống khác. Giải pháp này gồm hai pha:
Thu nhận mẫu đặc trưng sinh học có độ ổn định cao.
Sinh khóa cá nhân từ mẫu này.
Khó khăn chính của quá trình này là sự đảm bảo tuyệt đối duy nhất của khóa từ mẫu sinh trắc học, trong khi mẫu này thường có đặc tính thiếu ổn định, có sai số. Chính vì nhược điểm này mà giải pháp này mặc dù rất tốt về mặt lý thuyết nhưng lại rất khó thực hiện được trong thực tế. Vì vậy phương pháp này vẫn chưa được triển khai trong thực tế.
1.8.2.3. Hướng sinh khóa sinh trắc mã hóa bảo vệ khóa cá nhân
Theo hướng này, khóa cá nhân sẽ được bảo vệ bởi khóa mã sinh ra từ mẫu sinh trắc học. Người dùng sẽ được lấy mẫu sinh trắc học, từ mẫu sinh trắc học này, hệ thống tạo ra một tập khóa mã, các khóa mã này sẽ được dùng để mã hóa khóa cá nhân, tập khóa cá nhân được mã hóa bởi các khóa mã khác nhau sẽ được lưu lại (trên Smartcard hay trong CSDL tập trung). Và, tập khóa mã cũng như khóa cá nhân sẽ được xóa bỏ sau quá trình mã hóa này, như vậy, ở giải pháp này, rõ ràng đã tránh được nhược điểm sợ mất cắp khóa cá nhân cũng như mất cắp các thông tin về đặc điểm người dùng (đặc trưng sinh trắc học). Khi người dùng muốn lấy khóa cá nhân, họ cũng sẽ phải cung cấp mẫu sinh trắc học và hệ thống cũng tạo ra tập khóa mã từ mẫu sinh trắc học đó, hệ thống sẽ lần lượt thử các khóa mã xem có giải mã được các khóa cá nhân đã được mã hóa. Nếu có khóa mã giải mã thành công, thì khóa cá nhân sẽ được lấy ra cho người dùng.
Hệ thống BK-BioPKI sẽ tích hợp sinh trắc theo hai hướng đó là hướng dùng sinh trắc để thẩm định người dùng và hướng sinh khóa sinh trắc mã hóa bảo vệ khóa cá nhân.
CHƯƠNG 2: HỆ THỐNG BK-BioPKI VÀ GIẢI PHÁP TÍCH HỢP SINH TRẮC
1.Khái quát hệ thống BK-BioPKI
1.1.Mô hình thiết kế tổng thể hệ thống BK-BioPKI
Hệ thống BK-BioPKI thuộc đề tài nghiên cứu cấp nhà nước KC01110 của khoa công nghệ thông tin nhằm nghiên cứu thử nghiệm một số giải pháp tích hợp sinh trắc học vào hệ thống PKI. Hệ thống được xây dựng dựa trên nền tảng OpenCA. Đây là hệ thống được phát triển tiếp theo hệ thống BK-BioPKI trong môi trường OpenSSL của đề tài theo Nghị định thư hợp tác với Malaysia 2008. Mục đích của hệ thống BK-BioPKI là tạo một môi trường cơ sở hạ tầng khóa công khai trong phòng thí nghiệm với mạng cục bộ từ đó phát triển thử nghiệm tích hợp sinh trắc học vào PKI để nghiên cứu một số vấn đề về an toàn an ninh dựa trên sinh trắc học.
Mô hình hệ thống BioPKI dựa trên môi trường OpenCA thuộc về công trình của đề tài KC0111 nghiên cứu và xây dựng, phiên bản hệ thống hiện nay đang được thiết kế triển khai bởi nhóm sinh viên K49, bao gồm các bạn: Nguyễn Văn Toàn, Nguyễn Đức Toàn, Bùi Đức Khánh, Trần Anh Mỹ, Nguyễn Thúy Hằng, Trần Hoàn Vũ Hiệp, Ngô Xuân Tùng, Nguyễn Tư Hoàn.
Sơ đồ về mô hình hệ thống BK-BioPKI được trình bày trong hình dưới đây
Hình 2.1 Mô hình thiết kế tổng thể hệ thống BK-BioPKI.
Trong mô hình này, yếu tố sinh trắc sẽ được sử dụng trong các hoạt động : cấp chứng chỉ và sử dụng chứng chỉ.
1.2. Các thành phần của hệ thống BKBio-PKI dựa trên OpenCA
Theo phân tích của nhóm đề tài KC0111, hệ thống BK-BioPKI gồm có các thành phần và chức năng của chúng như sau:
1.2.1. CA
CA là nơi cấp phát chứng chỉ (hay còn gọi là chứng thư số). Các chứng chỉ này tuân theo chuẩn X509 đã trình bày ở trên. Theo sơ đồ trên, CA gồm có hai bộ phận: CA Operator là máy của người điều hành CA, và máy Linux-OpenCA.
1.2.1.1.CA Operator
Là một máy Windows kết nối với một máy chủ Linux-OpenCA.
CA Operator là một công cụ quản trị cho người điều hành CA.
CA Operator cung cấp ứng dụng cho phép người điều hành CA nhập thông tin yêu cầu vào cơ sở dữ liệu của OpenCA
CA Operator cung cấp ứng dụng để có thể xuất ra thiết bị nhúng giao tiếp với PC qua cổng USB (gọi là Etoken). Thiết bị nhúng Etoken sẽ chứa chứng chỉ, khóa riêng, đặc trưng vân tay của người đăng ký (đã mã hóa) (thiết bị nhúng này có vai trò như thẻ giao dịch điên tử).
1.2.1.2. Linux-OpenCA
Là một máy chủ Linux.
Quản lý yêu cầu, phát hành chứng chỉ.
Cung cấp một giao diện web cho phép người điều hành CA quản trị được các yêu cầu từ đó phát hành chứng chỉ.
1.2.2. RA
RA giao dịch với CA offline. RA bao gồm 2 bộ phận: bộ phận phát hành chứng chỉ và bộ phận cung cấp các dịch vụ cho phép người dùng sử dụng chứng chỉ đối với các ứng dụng cụ thể.
1.2.2.1.Bộ phận dịch vụ phát hành chứng chỉ
Cung cấp các dịch vụ về chứng chỉ. Bộ phận này bao gồm các chức năng :
Phát hành thiết bị nhúng Etoken chứa chứng chỉ (Phát hành chứng chỉ )
xử lý mất thiết bị nhúng Etoken (hủy chứng chỉ theo yêu cầu)
xử lý cấp thiết bị nhúng Etoken (cấp mới chứng chỉ).
1.2.2.2.Bộ phận dịch vụ chứng chỉ
Cung cấp các dịch vụ để sử dụng chứng chỉ tương ứng với từng ứng dụng cụ thể như chữ ký số, mã hóa thông điệp... Chẳng hạn:
Dịch vụ xác thực chứng chỉ: kiểm tra thông tin, tính hợp lệ của chứng chỉ.
Dịch vụ cung cấp chứng chỉ theo serial number
1.2.3.LRA
LRA là nơi giao tiếp trực tiếp với người dùng các vấn đề về cấp thiết bị nhúng Etoken, bao gồm các chức năng sau:
Phát hành thiết bị nhúng Etoken (chứng chỉ) mới: nơi tiếp nhận yêu cầu, mẫu sinh trắc, đồng thời là nơi trả thẻ cho khách hàng.
Xử lý mất thiết bị nhúng Etoken (chứng chỉ): nơi khách hàng đến để yêu cầu hủy chứng chỉ trong trường hợp mất thẻ.
Cấp mới thiết bị nhúng Etoken (chứng chỉ).
1.2.4.User Applications
User Application là các ứng dụng cho phép người dùng truy cập đến trung tâm dịch vụ chứng chỉ của RA để sử dụng chứng chỉ của mình vào một số ứng dụng như chữ ký sô, mã hóa thông điệp
1.3. Xây dựng phương án về quy trình hệ thống BK-BioPKI
1.3.1. Cấp phát chứng chỉ
Quy trình để cấp phát mới một chứng chỉ cho một người dùng gồm có:
Khi một người dùng muốn có một chứng chỉ để sử dụng, anh ta sẽ đến chi nhánh đăng ký chứng chỉ (LRA), điền thông tin vào mẫu đơn đăng ký xin cấp chứng chỉ (xem mẫu) nộp cho nhân viên chi nhánh. Các thông tin bao gồm: họ tên, giới tính, ngày sinh, nơi sinh, quốc tịch, số CMND/hộ chiếu, ngày cấp, nơi cấp, địa chỉ thường trú, nơi công tác, điện thoại, fax, điện thoại, email, chức vụ, thời hạn đề nghị cấp.
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 chỉ chuyên dùng cho user của CA.
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ả.
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ý
Đưa giấy hẹn trả lời cho người dùng (có mã đăng ký).
LRA ký và gửi thông tin đăng ký xin cấp chứng chỉ cho RA gồm các thông tin sau:
Thông tin đăng ký.
Mã đăng ký.
RA nhận yêu cầu từ LRA, lọc 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 những thông tin sau vào cơ sơ dữ liệu:
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. Nếu trả lời chữ kí hợp lệ thì cập nhật trạng thái: Đang chờ duyệt.
RA duyệt yêu cầu, nếu không chấ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. Duyệt yêu cầu gồm: Đã có chứng chỉ hay chưa
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ệ
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).
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), nếu đúng sử dụng application insert vào CSDL của CA.
CA phát hành chứng chỉ, bao gồm các công việc sau:
Ghi khóa riêng, chứng chỉ, đặc trưng sinh trắc vào thiết bị nhúng.
Chuyển thiết bị nhúng, chứng chỉ, và mã yêu cầu cho RA
RA nhận dữ liệu từ CA, sau đó làm các công việc sau:
Insert chứng chỉ vào CSDL chứng chỉ của RA.
Căn cứ vào mã yêu cầu, update trạng thái yêu cầu: đã được cấp, điền mã thẻ vào yêu cầu tương ưng
Insert 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 chỉ, 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ị.
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).
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.
Người đăng ký cầm giấy hẹn đến LRA để lấy chứng chỉ. 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ẻ).
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).
1.3.2.Hủy chứng chỉ tức thời
Vì một lý do nào đó, người dùng bị mất Etoken, khi đó anh ta phải đến trung tâm dịch vụ thẻ để báo cho giao dịch viên để hủy chứng chỉ tức thời. Quy trình gồm có các bước sau:
Người dùng đến LRA báo mất thẻ và yêu cầu hủy chứng chỉ.
LRA kiểm tra thông tin người dùng để xác minh nhân thân.
LRA gửi yêu cầu hủy chứng chỉ (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.
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).
Sau khi xác định chính xác mã thẻ cần hủy, dựa trên mã thẻ, RA sẽ làm các công việc sau:
Tìm serial number của chứng chỉ chứa trong thẻ.
Update trạng thái chứng chỉ: thu hồi.
Update trạng thái thẻ: đã hủy.
Thông báo lại cho LRA.
LRA nhận thông tin từ RA báo cho người dùng, update lại trạng thái yêu cầu đã xử lý.
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 chỉ) gửi cho CA.
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 chỉ.
1.3.3.Sử dụng chứng chỉ
Ở đây, ta sẽ đề cập đến hai ứng dụng của chứng chỉ là kí và xác thực chữ kí. Quy trình của chúng như sau:
Quy trình kí:
Đưa thiết bị nhúng vào ứng dụng (đã chứa đặc trưng sinh trắc)
User cung cấp số PIN để xác thực (1 lần)
Mỗi lần sử dụng, ứng dụng yêu cầu người dùng cung cấp dấu hiệu sinh trắc
Thẩm định sinh trắc được thực hiện trên máy local : đọc dấu hiệu sinh trắc từ thiết bị nhúng, thẩm định dấu hiệu sinh trắc nhận được với dấu hiệu trong thiết bị nhúng
Nếu kết quả thẩm định tốt hiện giao diện cho phép sử dụng chứng chỉ (ký số)
Module ký số thực hiện.
Quy trình xác thực chữ ký số:
Nhận dữ liệu đã được ký, SN của chứng chỉ
Tách chữ ký, SN của chứng chỉ
Gửi SN cho RA để lấy chứng chỉ của bên gửi
Xác thực chữ ký.
2. Thiết kế tích hợp mã hóa sinh trắc bảo vệ khóa cá nhân vào hệ thống BK-BioPKI
Trong các qui trình hoạt động của hệ thống đã nêu trên, nhiệm vụ của đồ án tập trung vào phát triển mô đun xác thực sinh trắc vân tay sống, trực tuyến để bảo vệ khóa cá nhân người dùng. Mô đun sinh trắc sẽ được tích hợp vào trong các qui trình hoạt động “cấp phát chứng chỉ”, “Sử dụng chứng chỉ” và “Hủy bỏ chứng chỉ”. Trong phân dưới đây sẽ tập trung trình bày về phân tích xây dựng giải pháp tích hợp mô đun xác thực sinh trắc vân tay vào hạ tầng hệ thống BK-BioPKI, tuy nhiên trên thực tế, hạ tầng hệ thống BioPKI hiện nay còn đang phát triển, chưa hoàn thiện, nên trong phân tích dưới đây có sử dụng các phương án kịch bản với giả thiết khi hệ thống đã được xây dựng xong.
2.1.Phân tích yêu cầu
Yêu cầu tích hợp mã hóa sinh trắc vào hệ thống BK-BioPKI bao gồm vào các thành phần sau:
Cấp phát chứng chỉ và sử dụng chứng chỉ có tích hợp sinh trắc vân tay để bảo vệ khóa cá nhân trong các giao dịch và ứng dụng.
2.2.Phân tích thiết kế
2.2.1.Phân hệ sinh trắc sinh khóa bảo vệ khóa cá nhân
Đầu vào của phân hệ sinh trắc sinh khóa bảo vệ khóa là vân tay được lấy sống của người dùng. Người dùng cho vân tay vào thiết bị quét vân tay, ảnh vân tay được thu nhận và xử lý, sau đó đặc trưng vân tay của người dùng sẽ được trích chọn. Đặc trưng vân tay sẽ được dùng để mã hóa khóa cá nhân, riêng khóa cá nhân được băm, tất cả được lưu vào cơ sở dữ liệu. Trong pha thẩm định, đặc trưng vân tay cũng được trích chọn, các đặc trưng này sẽ được dùng để giải mã khóa cá nhân, sau đó băm kết quả, nó sẽ được so sánh với khóa đã băm lưu trong cơ sở dữ liệu. Từ đó đưa ra kết quả thẩm định. Giải pháp cụ thể của phân hệ này được trình bày trong chương “Phân tích thiết kế hệ thống”. Sau đây là mô hình chung của phân hệ đó:
Hình 2.2 Phân hệ mã hóa sinh trắc bảo vệ khóa cá nhân.
2.2.2.Thiết kế tích hợp
Phân hệ mã hóa sinh trắc tích hợp vào hệ thống được chia làm hai thành phần: thành phần quét vân tay, xử lý trích chọn đặc trưng và thành phần mã hóa khóa cá nhân bao gồm mã hóa, giải mã khóa, và đối sánh. Quá trình đăng kí sẽ được tích hợp vào phần xin cấp chứng chỉ, quá trình thẩm định sẽ được tích hợp vào phần sử dụng chứng chỉ của hệ thống. Kết quả của quá trình thẩm định sẽ là khóa cá nhân nếu quá trình giải mã khóa là thành công, ngược lại sẽ là NULL.
2.2.2.1.Kịch bản xin cấp chứng chỉ
Sau đây là kịch bản quá trình xin cấp chứng chỉ có tích hợp phân hệ mã hóa sinh trắc.
Hình 2.3 Kịch bản quá trình xin cấp chứng chỉ.
Khi người dùng yêu cầu xin cấp chứng chỉ, quá trình xin cấp chứng chỉ được thực hiện.
Yêu cầu cấp chứng được chuyển tới đối tượng giao tiếp với cơ sở dữ liệu.
Yêu cầu cấp chứng chỉ được lưu vào cơ sở dữ liệu.
Người dùng được yêu cầu quét vân tay.
Xử lý trích chọn đặc trưng sinh trắc vân tay.
Lấy khóa mật từ đối tượng Request Creator.
Khóa mật được truyề
Các file đính kèm theo tài liệu này:
- 2543.doc