Xây dựng mô-đun đăng ký người dùng trên nền web trong hệ thống an ninh thông tin BK_BIOPKI dựa trên công nghệ PKI

MỤC LỤC

TÌM HIỂU TỔNG QUAN VỀ PKI - OPENCA VÀ SINH TRẮC HỌC

Khái niệm và các cơ sở lý thuyết của hạ tầng cơ sở khóa công khai

  • Các cơ sở lý thuyết của hệ thống PKI
    • Các thành phần trong hệ thống PKI
      • Các hoạt động chính trong hệ thống PKI
        • Một số chuẩn PKI trong thực tế
          • Một số vấn đề an toàn của hệ thống PKI
            • Tổng quan về OpenCA 1. Định nghĩa
              • Tổng quan về Sinh trắc học 1. Khái niệm

                Theo RFC 2828 [4]: hạ tầng cơ sở khoá công khai ( Public Key Infrastructure – PKI ) là một tập hợp phần cứng, phần mềm, chính sách, thủ tục cần thiết để tạo, quản lý và lưu trữ, phân phối và thu hồi các chứng chỉ số dựa trên công nghệ mã hoá khoá công khai. Đặc điểm của chữ ký điện tử rất đa dạng, đó có thể là tên hoặc hình ảnh cá nhân kèm theo dữ liệu điện tử, một mã bí mật, hay một dữ liệu sinh trắc học (chẳng hạn như hình ảnh mặt, dấu vân tay, hình ảnh mống mắt ..). Sau khi server đã được xác thực, tức là client đã khẳng định rằng chứng thư số của server là hợp lệ, client và server sẽ sử dụng kĩ thuật mã hoá đối xứng để mã hoá toàn bộ thông tin trao đổi trong một phiên SSL, đồng thời sử dụng công nghệ chữ kí số để phát hiện bất cứ sự giả mạo dữ liệu nào.

                Khi một chứng chỉ được yêu cầu huỷ bỏ, hoặc do một nguyên nhân nào đó mà việc sử dụng chứng chỉ không còn an toàn, thì CA phải thu hồi chứng chỉ đó và phải thông báo cho toàn bộ hệ thống biết danh sách các chứng chỉ bị thu hồi cho toàn hệ thống thông qua các CRL (Certificate Revocation List ). Trong trường hợp CA phát hiện ra các dấu hiệu khả nghi việc sử dụng chứng chỉ là không còn an toàn nữa thì CA sẽ phải treo chứng chỉ, tức là chứng chỉ đó bị thu hồi tạm thời, nhưng nếu CA tìm được thông tin chứng minh rằng việc sử dụng chứng chỉ vẫn đảm bảo an toàn thì chứng chỉ sẽ được thay đổi lại trạng thái bị thu hồi. Là đối tượng được CA cấp phát chứng chỉ để chứng nhận những thông tin định danh về đối tượng, đồng thời còn chứng minh rằng đối tượng sở hữu một khoá bí mật tương ứng khoá công khai trong chứng chỉ.

                Nên trong thực tế nhiều mô hình PKI còn áp dụng mô hình sinh khóa tại máy khách, tức là đối tượng sở hữu chứng chỉ có thể tự sinh và chọn lựa cặp khóa công khai/bí mật được ghi nhận trong chứng chỉ. 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…Riêng với khóa cá nhân của CA gốc cần phải được bảo vệ rất chặt chẽ (mất khóa đó thì toàn bộ hệ thống không còn giá trị), nên được chứa trong một thiết bị phần cứng đặc biệt, có khả năng chống truy nhập và tự phá hủy khóa trong trường hợp bị tấn công.  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 đó.

                 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. 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.

                Hình 1.1 Mô hình mã hóa sử dụng khóa công khai
                Hình 1.1 Mô hình mã hóa sử dụng khóa công khai

                HỆ THỐNG BK-BioPKI VÀ GIẢI PHÁP TÍCH HỢP SINH TRẮ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.

                1.Khái quát hệ thống BK-BioPKI

                • Các thành phần của hệ thống BKBio-PKI dựa trên OpenCA
                  • Xây dựng phương án về quy trình hệ thống BK-BioPKI 1. Cấp phát chứng chỉ
                    • 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
                      • KHẢO SÁT VÀ PHÂN TÍCH XÂY DỰNG ỨNG DỤNG TRÊN NỀN WEB-BASED

                        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…. 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.  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ị.

                        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. 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. 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.

                        Với các ứng dụng desktop, chúng ta có thể thực hiện được các chương trình lớn, đòi hỏi việc sử dụng tài nguyên lớn của hệ thống: yêu cầu về tốc độ xử lý hay yêu cầu về bộ nhớ lớn, làm việc với các dữ liệu lớn. Tuy nhiên đối với những nhiệm vụ không đòi hỏi việc sử dụng tài nguyên của hệ thống lớn, mà lại đề cao những yếu tố khác như tính phổ dụng, thuận tiện khi sử dụng…thì các ứng dụng web là một lựa chọn giải pháp rất tốt và thực tế ngày càng phát triển nhất là vào thời kỳ hoàng kim của Internet như hiện nay. Tuy nhiên, xét thấy để có thể triển khai hệ thống một cách rộng rãi ra thực tế, em đã nghiên cứu đưa công nghệ web vào hệ thống, bước đầu là xây dựng ứng dụng người dùng module đăng ký trên nền web- based.

                         Ứng dụng web cho phép người dùng truy cập vào một file bất kỳ trên máy local thông qua trình duyệt web.(đó là lấy file ảnh để làm một nội dung đăng ký và truy cập vào file chứa private key để ký vào dữ liệu). Nó chứa tập các API phục vụ cho các thao tác về chữ ký số (digital signature), các bản tóm lược (message digest), chứng chỉ và xác thực chứng chỉ, mã hóa (đối xứng, bất đối xứng, mã hóa luồng), sinh và quản lý khóa.

                        Sơ đồ về mô hình hệ thống BK-BioPKI được trình bày trong hình dưới đây
                        Sơ đồ về mô hình hệ thống BK-BioPKI được trình bày trong hình dưới đây

                        1.Thiết kế kịch bản ứng dụng

                        Thiết kế chi tiết ứng dụng

                          Trên form này, cho phép LRA Operator chọn file chứng chỉ PKCS#12 (file chứa khóa riêng để ký dữ liệu) do CA cấp và được lưu ở máy LRA. Như đã trình bày ở trên, để Applet có thể đọc hay ghi file trên máy local thì các Applet đó cần phải được ký và được người dùng chấp nhận khi load Applet đó. Thông thường chứng chỉ chứa khóa riêng để ký applet do một bên đáng tin thứ ba cung cấp, và phải trả tiền cho chứng chỉ đó.

                          Một số trang chuyên cung cấp chứng chỉ phổ biến trên thế giới và Việt Nam hiện nay như: verisign.com, chungchiso.com,. Câu lệnh trên sinh ra 1 cặp khóa với tên bí danh là signFiles, với password truy nhập khóa riêng chứa trong cặp khóa vừa sinh ra là –keypass abcabc. Cặp khóa sinh ra được lưu trong keystore file: bienstore (-keystore bienstore), password truy cập bienstore là – storepass defdef.

                          Khi chạy trên trình duyệt lần đầu tiên, chúng ta sẽ được hỏi xem có tin tưởng vào chứng chỉ dùng để ký vào applet không. Để RA server xác thực chữ ký thì LRA phải gửi cho RA server dữ liệu, chữ ký số và khóa công khai tương ứng với khóa riêng mà LRA dùng để ký dữ liệu. Ở bước này, RA server đã nhận được file chứa đối tượng bao gồm thông tin người đăng ký và chữ ký số của LRA.

                          Hình 4.2 Form đăng ký.
                          Hình 4.2 Form đăng ký.