Mô hình lai ghép

Một phần của tài liệu Xây dựng mô hình trung tâm xác thực chứng chỉ số và ứng dụng trong việc trao đổi thông tin số của doanh nghiệp vừa và nhỏ (Trang 37)

Có 3 loại mô hình lai ghép bao gồm:

CA 1 PKI Client 1.3 CA 1.1 CA 1.2 CA 1.1.1 PKI CA 1.2.1 Client 1.1.2 PKI Client 1.2.1..1 CA 1.2.2 CA 1.2.1... PKI Client 1.2.2… PKI Client 1.2.1..2 PKI Client 1.2.1..n Root CA CA 1 PKI Client 2.2 CA (1-2) PKI Client (1-2).1 PKI Client(1-2).2 CA 2 CA m PKI Client 1.1 PKI Client m.k

Mô hình web mở rộng: Ở loại cấu trúc này, tất cả các PKI client lƣu trữ một danh sách mở rộng của tất cả các điểm ủy thác (trust points) trong cấu trúc của những tổ chức khác và cũng để ủy thác các điểm cho chính mình. Một điểm ủy thác trong cấu trúc các tổ chức khác có thể là một CA đơn, nhiều hơn một CA, hoặc là tất cả những CA của các tổ chức khác.

Hình 2.5 Mô hình Web mở rộng

Lai ghép cấu trúc: CA gốc của một cơ sở hạ tầng của tổ chức nắm giữ mối quan hệ ngang hàng với những gốc CA của các tổ chức khác.

Hình 2.6. Lai ghép cấu trúc PKI Client 2.1 CA 2 PKI Client 2.1 CA 1 PKI Client1.1 PKI Client1.2 CA m1 PKI Client CA m PKI Client CA m2 CA 1 PKI Client1.1 PKI Client1.2 CA 21 PKI Client CA 2 PKI Client CA 22

Hệ thống đƣợc thiết kế với 3 khối chức năng chính. - Chức năng dành cho nhà cung cấp:

+ Duyệt cấp, thu hồi chứng chỉ + Kiểm tra chứng chỉ trực tiếp

+ Thực hiện một số nghiệp vụ khác nhƣ: kích hoạt chứng chỉ, đổi mật khẩu, phân phối chứng chỉ trực tiếp.

- Chức năng dành cho người dùng: + Giao dịch với các tài khoản khác

+ Gửi yêu cầu đến nhà cung cấp: yêu cầu xác thực, tạm dừng, hay hủy bỏ chứng chỉ…

+ Đổi mật khẩu chứng chỉ - Dịch vụ (Service):

Chức năng này đảm nhận nhiệm vụ giao tiếp với các nhà cung cấp khác hoặc với ngƣời dùng. Đây là chức năng này chạy ngầm định và luôn luôn sẵn

sàng đáp ứng các yêu cầu: đăng ký, xác thực, thông báo cho các nhà cung cấp khác và ngƣợc lại.

3.2. Hoạt động của mô hình

3.2.1. Trung tâm CA

a. Quá trình đăng ký và duyệt, cấp chứng chỉ

Khi nhận đƣợc yêu cầu đăng ký cấp chứng chỉ từ ngƣời dùng hoặc từ trung tâm CA cấp dƣới, hệ thống thực hiện các nghiệp vụ nhƣ sau:

+ Kiểm tra xem còn tài nguyên để cấp không?

+ Kiểm tra thông tin yêu cầu cấp chứng chỉ có hợp lệ không?

+ Tạo ra cặp khóa sử dụng cho yêu cầu (Private Key và Public Key) + Lƣu thông tin yêu cầu cấp chứng chỉ vào cơ sở dữ liệu

+ Tạo chứng chỉ số cho ngƣời yêu cầu

+ Lƣu một bản chứng chỉ ở kho lƣu trữ của hệ thống + Gửi chứng chỉ cho ngƣời yêu cầu.

Cụ thể các công việc nhƣ sau:

- Kiểm tra tài nguyên: Trong mô hình phân cấp, CA cấp trên quản lý CA cấp dƣới bằng cách cấp cho các CA cấp dƣới của nó một dải địa chỉ nào đó. Tài nguyên ở đây là chuỗi Serial (Mã số tài khoản chứng chỉ) mà nhà cung cấp này đƣợc phép cấp, nó giống nhƣ dải địa chỉ IP do nhà cung cấp dịch vụ Internet cấp.

- Kiểm tra thông tin người dùng: đó là những thông tin cá nhân về ngƣời đăng ký và xin cấp chứng chỉ, bao gồm họ tên, địa chỉ, email,…Những thông tin này đƣợc kiểm tra thông qua một số giấy tờ (CMTND) hoặc thông qua cơ quan quản lý của ngƣời đó.

-Tạo ra cặp khóa: Hệ thống sử dụng thuật toán RSA [1]

- Tạo chứng chỉ số : Chứng chỉ yêu cầu có 2 loại

Chứng chỉ cấp cho nhà cung cấp cấp dƣới: Ngoài các thông tin chung về chứng chỉ theo chuẩn X.509 nhƣ trên ta đã biết, ngƣời cấp còn bổ sung thêm thông tin về dải tài nguyên cho phép nhà cung cấp này cấp cho ngƣời sử dụng hoặc các nhà cung cấp mức thấp hơn.

Chứng chỉ cấp cho ngƣời sử dụng (End User): thông tin nhƣ chứng chỉ X.509, tất nhiên chứng chỉ ngƣời dùng không thể sử dụng cấp tiếp cho các thành viên khác hoặc nếu dùng hệ thống cấp chứng chỉ khác để cấp thì cũng không có giá trị sử dụng.

Quá trình tạo chữ ký chứng chỉ đƣợc thực hiện nhƣ trong hình dƣới đây:

Hnh 3 .1: Quá trình tạo chữ ký chứng chỉ[4]

B1. Chọn 2 số nguyên tố lớn p và q với p ≠ q B2. Tính n=pq và (n)=(p-1)(q-1)

B3. Chọn số b là nguyên tố cùng nhau với (n) và 1< b < (n) B4. Tính a sao cho ab 1 (mod (n))

Thành phần công khai bao gồm: n và b(khóa công khai) Thành phần bí mật bao gồm: p, q, a(khóa bí mật)

Toàn bộ quá trình đăng ký và duyệt cấp chứng chỉ đƣợc thể hiện bằng sơ đồ nghiệp vụ dƣới đây:

Hnh 3 .2. Lượcđồ đăng ký và duyệt cấp chứng chỉ

b. Thu hồi chứng chỉ

Thông thƣờng chứng chỉ sẽ hợp lệ trong khoảng thời gian có hiệu lực. Nhƣng trong một số trƣờng hợp chứng chỉ lại không hợp lệ trƣớc thời gian hết hạn, ví dụ nhƣ:

Khóa riêng của chủ thể bị xâm phạm

Thông tin chứa trong chứng chỉ bị thay đổi Khóa riêng của CA cấp chứng chỉ bị xâm phạm

Do đó, cần phải có một cơ chế cho phép ngƣời sử dụng chứng chỉ kiểm tra đƣợc trạng thái thu hồi chứng chỉ và cơ chế để thông báo đến những ngƣời sử dụng khác.

Một giải pháp đƣợc đƣa ra để thông báo đến ngƣời sử dụng về trạng thái của chứng chỉ là công bố danh sách chứng chỉ bị thu hồi (Certificate Revocation Lists –CRLs) định kỳ hoặc khi cần thiết.

Cơ chế thu hồi X.509 là sử dụng danh sách thu hồi chứng chỉ (CRLs). X.509 đƣa ra sự phân biệt giữa ngày, thời gian chứng chỉ bị CA thu hồi và ngày, thời gian trạng thái thu hồi đƣợc công bố đầu tiên. Ngày thu hồi thực sự đƣợc

ghi cùng với đầu vào chứng chỉ trong CRL. Ngày thông báo thu hồi đƣợc xác định trong header của CRL khi nó đƣợc công bố. Ngƣời sử dụng chứng chỉ có thể biết thƣ mục, kho lƣu trữ hay cơ chế để lấy đƣợc thông tin thu hồi dựa trên những thông tin cấu hình đƣợc thiết lập trong quá trình khởi sinh.

Certificate Revocation Lists (CRLs)

CRLs là cấu trúc dữ liệu đƣợc ký nhƣ chứng chỉ. CRLs chứa danh sách các chứng chỉ đã bị thu hồi và những thông tin cần thiết khác của ngƣời sử dụng. CRL thƣờng do một CA cấp. Những thông tin này đƣợc chứa trong trƣờng mở rộng CRLScope.

Hnh 3 .3: Khuôn dạng danh sách chứng chỉ bị thu hồi [3]

Trong đó:

Version number: Chỉ ra phiên bản của CRL

Signature: Nhận biết loại hàm băm và thuật toán ký đƣợc sử dụng danh sách thu hồi CRL

Issuer: tên của thực thể cấp và ký CRL

This Update: Chỉ ra ngày và thời gian CRL đƣợc công bố

Next Update: chỉ ra ngày và thời gian danh sách thu hồi kế tiếp đƣợc cấp

List of revoked certificates: Chứa danh sách cùng với serial của những chứng chỉ bị thu hồi

Những chứng chỉ đã bị CA thu hồi đƣợc ghi vào danh sách theo thứ tự của revokedCertificates. Mỗi đầu vào nhận biết chứng chỉ thông qua số serial và ngày thu hồi trên đó có ghi rõ thời gian và ngày khi chứng chỉ bị CA thu hồi.

Khi nhận đƣợc yêu cầu thu hồi một chứng chỉ, hệ thống thực hiện các nghiệp vụ nhƣ sau:

+ Đặt lại trạng thái chứng chỉ trong cơ sở dữ liệu + Cập nhật danh sách thu hồi chứng chỉ

+ Gửi yêu cầu cho dịch vụ (Service) thông báo cho nhà cung cấp cấp trên và các nhà cung cấp cấp dƣới về trạng thái của chứng chỉ.

Quá trình thu hồi chứng chỉ đƣợc thể hiện nhƣ lƣợc đồ dƣới đây:

Hnh 3.4: Lượcđồ thu hồi chứng chỉ

c.Xác thực chứng chỉ:

Khi nhận yêu cầu xác thực chứng chỉ hệ thống thực hiện các nghiệp vụ nhƣ sau:

- Đầu tiên, trung tâm CA mà nhận đƣợc yêu cầu xác thực từ ngƣời dùng sẽ tìm trong cơ sở dữ liệu của mình.

+Nếu có thông tin đƣợc yêu cầu thì tiến hành kiểm tra tính hợp lệ của chứng chỉ và trả lời ngƣời dùng.

+Nếu không có thì CA này sẽ gửi yêu cầu lên trung tâm cấp cao hơn theo mô hình phân cấp để nhờ xác thực. Sau đó kết quả sẽ đƣợc trả về theo đƣờng ngƣợc lại.

-Quá trình xác thực chứng chỉ chính là quá trình kiểm tra tính hợp lệ hay không hợp lệ của chứng chỉ. Thông tin cần kiểm tra bao gồm thời gian hiệu lực của chứng chỉ, chữ ký số của CA cấp chứng chỉ để đảm bảo chứng chỉ đúng là do CA của hệ thống cấp, đồng thời cũng cần đƣa ra đƣợc thông tin về chủ sở hữu của chứng chỉ nếu chứng chỉ là hợp lệ. Thuật toán kiểm tra chữ ký số của CA đƣợc chỉ ra trong hình dƣới đây:

Hnh 3.5: Quá trình kiểm tra chữ ký chứng chỉ [4]

Hnh 3.6: Minh họa quá trình xác thực chứng chỉ

Khi Client 1.1.2 thuộc cây phân cấp CA 1.1 muốn trao đổi thông tin với

Client 1.2.1.m thuộc cây phân cấp CA 1.2.1.1. Quá trình thực hiện nhƣ sau: - Client 1.1.2 gửi yêu cầu theo phân cấp để lấy thông tin. Bắt đầu từ Trung tâm CA 1.1. CA 1.1 tìm trong cơ sở dữ liệu của mình không có thông tin về

Client 1.2.1.m -> CA 1.1 sẽ gửi yêu cầu lên Trung tâm cấp cao hơn là CA 1 để nhờ xác thực.

- Trung tâm CA 1 là cấp cao nhất sẽ biết đƣợc chứng chỉ của Client 1.2.1.m

là do CA1.2 cấp. CA1 biết đƣợc điều này thông qua việc quản lý dải địa chỉ mà nó cấp phát cho các CA cấp dƣới. Mỗi chứng chỉ sẽ có một định danh duy nhất, đó chính là địa chỉ mà CA cấp cho nó, và định danh này đƣợc lƣu trong trƣờng serial number của chứng chỉ.

- Cứ tiếp tục nhƣ vậy, yêu cầu đƣợc gửi đến Trung tâm CA 1.2.1.1. CA này tìm trong CSDL của mình và biết rằng Client 1.2.1.m là do mình cấp và tiến hành kiểm tra thông tin trong cơ sở dữ liệu. Thông tin về Client 1.2.1.m và chứng chỉ của ngƣời này sẽ đƣợc gửi đến ngƣời yêu cầu ban đầu (Client 1.1.2)

theo đƣờng ngƣợc lại. Trong qúa trình gửi lên, thông tin sẽ đƣợc hệ thống lƣu lại tại từng cấp để phục vụ cho quá trình truy vấn về sau.

Hnh 3.7: Lược đồ xác thực chứng chỉ

3.2.2. Ngƣời sử dụng (End User) Đăng ký Đăng ký

Thông tin đăng ký là những thông tin cá nhân của chủ thể bao gồm họ tên, địa chỉ, đơn vị, email, số điện thoại (nếu có)…

Giao dịch

Khi cần trao đổi thông tin với một tài khoản khác, nếu chƣa có chứng chỉ số ngƣời nhận thì ngƣời dùng yêu cầu dịch vụ (Service) cung cấp chứng chỉ.

Xác thực

Khi cần xác thực một chứng chỉ đang có, ngƣời sử dụng gửi chứng chỉ đó lên trung tâm thông qua dịch vụ (Service) nhờ xác thực.

Khi chứng chỉ của ngƣời dùng có vấn đề ngƣời sử dụng có thể yêu cầu trung tâm tạm dừng, thu hồi hoặc yêu cầu khôi phục…

3.2.3. Dịch vụ

Với chức năng là giữ liên lạc và giải đáp các yêu cầu cụ thể nhƣ sau: Dịch vụ là hệ thống chạy ngầm định và luôn luôn ở trang thái online sẵn sàng nhận yêu cầu từ: ngƣời dùng, từ nhà cung cấp cấp dƣới, từ một nhà cung cấp bạn (nếu đây là cấp cao nhất trong mô hình phân cấp) và từ chính hệ thống giao tiếp của nhà cung cấp này.

Khi nhận đƣợc một yêu cầu hệ thống sẽ thực hiện các thao tác nhƣ sau: - Bắt tay

- Xác thực ngƣời yêu cầu - Nhận yêu cầu

- Tra cứu thông tin yêu cầu trong dữ liệu (nếu có) hoặc gửi thông tin yêu cầu lên trung tâm xác thực cao hơn hoặc các trung tâm bạn.

- Quảng bá yêu cầu đến các nhà cung cấp khác nếu là yêu cầu (thu hồi, tạm dừng, khôi phục, nhà cung cấp mới)

- Trả lời lại nơi yêu cầu - Kết thúc giao dịch

3.3. Xây dựng hệ thống cơ sở dữ liệu

Dữ liệu hệ thống chia thành 2 loại chính

Hệ thống cơ sở dữ liệu quan hệ

Hệ thống sử dụng hệ quản trị cơ sở dữ liệu SQL Server 2005 Thông tin quản lý gồm:

+ Thông tin các nhà cung cấp

+ Thông tin ngƣời dùng đăng ký và xin cấp chứng chỉ

+ Thông tin về chứng chỉ ngƣời dùng, nhƣ trạng thái, số serial, đƣờng dẫn lƣu trữ…

Hnh 3.8: Bảng dữ liệu

Hệ thống lƣu trữ chứng chỉ

Đây là danh sách các thƣ mục:

Hnh 3.9: Hệ thống thư mục lưu trữ thông tin của hệ thống

Hệ thống thƣ mục chia thành 4 nhóm chính:

+ CA: lƣu trữ các chứng chỉ số của các nhà cung cấp mà trung tâm CA này đã từng trao đổi (trong mô hình phân cấp)

+ User: Lƣu trữ tất cả các chứng chỉ số và cặp khóa của các End User do trung tâm cấp.

+ CRLs: Đây là thƣ mục lƣu trữ danh sách các chứng chỉ bị thu hồi.

+ Chứng chỉ chờ xác thực: Khi có các yêu cầu xác thực một chứng chỉ số từ trên xuống hoặc từ dƣới lên, thông tin về chứng chỉ sẽ đƣợc lƣu trữ tạm thời ở đây. Chứng chỉ sẽ đƣợc chuyển vào thƣ mục đăng ký hoặc nhà cung cấp nếu có thông tin phản hồi tích cực, trái lại chứng chỉ sẽ bị xóa bỏ.

Loại file Định dạng

Khóa bí mật (Private Key) (.epk) Khóa công khai (Public Key) (.pub) Chứng chỉ số (Certificate) (.cer)

File mã hóa (.p7m)

File chữ ký số (.bin)

Danh sách thu hồi chứng chỉ (CRLs)

(.crl)

Hnh 3.10: Các định dạng file dữ liệu

Nhƣ vậy, chƣơng 3 của báo cáo tập trung giải quyết nhiệm vụ chính của đồ án, đó là xây dựng mô hình hệ thống xác thực chứng chỉ số. Các giải pháp, chính sách và quy trình hoạt động của hệ thống đã đƣợc đƣa ra, đảm bảo cho hệ thống đƣợc hoạt động theo chuẩn công nghệ PKI. Tiếp theo chƣơng 4 của báo cáo sẽ trình bày kết quả cài đặt thử nghiệm.

Chƣơng 4 - GIỚI THIỆU GIAO DIỆN VÀ CHỨC NĂNG HỆ THỐNG

4.1. Khối chức năng cơ bản

Hình 4.1. Khối chức năng nhà cung cấp - Các chức năng cơ bản:

Cập nhật hồ sơ đăng ký Duyệt hồ sơ cấp chứng chỉ Tạo cặp khóa

Tạo chứng chỉ cho ngƣời dùng Kiểm tra chứng chỉ

Thu hồi chứng chỉ

4.2. Mô tả các chức năng chính

- Cập nhật hồ sơ đăng ký: Cho phép ngƣời quản lý cập nhật bổ sung, xóa bỏ thông tin đăng ký.

Hình 4.2. Giao diện cập nhật danh sách đăng ký cấp chứng chỉ

Giao diện này cho phép nhà cung cấp thực hiện việc cập nhật ngƣời dùng đăng ký sử dụng. Nhà cung cấp sẽ gán Mã đăng ký cho mỗi ngƣời dùng khác nhau, nhập thông tin cá nhân của ngƣời dùng và xác thực thông tin đó có chính xác hay không?

Dữ liệu sau khi đƣợc cập nhật thành công sẽ đƣợc thêm vào bảng DANGKY trong cơ sở dữ liệu.

- Duyệt hồ sơ cấp chứng chỉ

Dựa vào thông tin đăng ký ngƣời quản lý tiến hành duyệt thông tin để cấp chứng chỉ, thông tin cấp chứng chỉ đƣợc bổ sung thêm:

+ Thời hạn hiệu lực của chứng chỉ: Số năm tính từ thời điểm cấp + Ngày xét duyệt:

+ Trạng thái xét duyệt: cho biết chứng chỉ này đã đƣợc xét cấp hay chƣa. Sau khi nhấn Accept, dữ liệu sẽ đƣợc cập nhật thêm thông tin vào bảng dữ liệu DANGKY.

- Tạo cặp khóa:

Hình 4.4: Giao diện tạo cặp khóa

Giao diện giúp các ngƣời dùng tự tạo ra cặp khóa Private-Public theo thuật toán mã hóa khóa công khai RSA với độ dài khóa 1024bit cho mình, sau đó ngƣời sử dụng sẽ tiến hành gửi cặp khóa này cho Nhà cung cấp kèm theo yêu cầu đăng ký cấp chứng chỉ số.

Hình 4.5: Giao diện tạo chứng chỉ cho ngƣời sử dụng

Với giao diện này cho phép nhà cung cấp thực hiện chức năng cấp chứng chỉ cho ngƣời sử dụng sau khi yêu cầu đăng ký của ngƣời sử dụng đã đƣợc duyệt (qua chức năng Duyệt hồ sơ cấp chứng chỉ) và nhà cung cấp đã nhận đƣợc khóa công khai của ngƣời đó (qua chức năng Tạo khóa cho ngƣời sử dụng).

Chức năng này sẽ tiến hành cập nhật thông tin của ngƣời sử dụng và tiến

Một phần của tài liệu Xây dựng mô hình trung tâm xác thực chứng chỉ số và ứng dụng trong việc trao đổi thông tin số của doanh nghiệp vừa và nhỏ (Trang 37)

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

(59 trang)