Kiến trúc và các thành phần của PKI

Một phần của tài liệu (Luận văn thạc sĩ) Nghiên cứu về chữ ký số, PKI và ứng dụng cho bảo mật hệ thống quản lý tài liệu (Trang 48 - 56)

5. Phương pháp nghiên cứu

2.3.2.Kiến trúc và các thành phần của PKI

2.3.2.1 Thẩm quyềnhchứng thực (CA)

Mật mã khóa công khai ra đời giúp con người có thể liên lạc an toàn trong môi trường mạng. Để liên lạc an toàn, mỗi người tham gia sẽ có một cặp khóa, một khóa công khai có thể chia sẻ cho mọi người tham gia hệ thống liên lạc, một khóa bí mật được giữ bí mật, không chia sẻ cho bất kỳ ai.

Ví dụ người A muốn gửi một thông báo bí mật cho người B, hai người hoàn toàn không biết nhau trước đó, A sẽ phải lấy chính xác khóa công khai của người B để mã hóa thông báo gửi cho người B. Vấn đề nảy sinh ở đây là khóa công khai của người B được chia sẻ trên mạng có chính xác là của người B hay không? Với một mạng liên lạc lớn, chẳng hạn như Internet, thì việc phân phối khóa, xác định chủ sở hữu chính xác của khóa công khai trên mạng thực hiện như thế nào? Để giải quyết vấn đề này, một bên thứ 3 được tin cậy sẽ làm nhiệm vụ gắn kết danh tính vào khóa công khai của người dùng. Khái niệm tin cậy có thể hiểu là bên thứ 3 được pháp luật công nhận, cấp phép cho hoạt động gắn kết danh tính và khóa công khai của người dùng (ví dụ như các công ty CA công cộng được Bộ Thông tin và Truyền thông cấp phép cho hoạt động). Bên thứ 3 như vậy được gọi là “Thẩm quyền chứng thực” (CA – Certification Authority), đối với cấp độ quốc gia, “Thẩm quyền chứng thực” cũng có thể coi là “Cơ quan chứng thực”. Công việc của một CA đó là chứng nhận việc

40

gắn kết khóa công khai và danh tính (định danh) bằng cách ký số lên một cấu trúc dữ liệu biểu diễn định danh và khóa công khai tương ứng, cấu trúc dữ liệu được ký này được gọi là chứng thư khóa công khai hay chứng thư số. Hình 2.3 Thể hiện một mô hình tổng thể của hệ thống PKI.

Người dùng A Người dùng B

Danh sách chứng thư số còn hiệu lực Danh sách chứng thư số đã thu hồi

Tài liệu đã ký bằng chứng thư số Chứng thư số của người dùng A Chứng thư số của người dùng A

Khóa công khai Khóa bí mật Phát hành chứng thư số và CRL - Kiểm tra tính hợp lệ của chữ ký số - Kiểm tra tính hợp lệ của chứng thư số Yêu cầu kiểm

tra tính hợp lệ chứng thư số người dùng A Bộ phận chứng thực - CA Bộ phận đăng ký - RA Bộ phận xác nhận - VA Yêu cầu cấp phát chứng thư số Yêu cầu cấp phát chứng thư số Hình 2. 3 Mô hình tổng thểmột hệ thống PKI 2.3.2.2. Thẩm quyền đăng ký

Đối với một mô hình PKI lớn, trải rộng về địa lý cần thiết phải mở các đại lý, các cơ quan được ủy quyền bởi Thẩm quyền chứng thực để tiếp nhận, xử lý các yêu cầu về chứng thư số của người sử dụng tại địa phương, các đại lý, các cơ quan được ủy quyền này được gọi là Thẩm quyền đăng ký (RA) hay Cơ quan đăng ký, một số mô hình PKI còn phân cấp thấp hơn nữa các Thẩm quyền đăng ký các bộ phận thấp hơn được gọi là Thẩm quyền đăng ký địa phương (LRA). Các Thẩm quyền đăng ký

41

này sẽ tiếp nhận những yêu cầu đăng ký, cấp phát, hủy bỏ,… chứng thư số tại vùng mình quản lý để gửi lên Thẩm quyền đăng ký để xử lý.

2.3.2.3. Thẩm quyền xác thực

Trở lại bài toán A giao dịch với B, bây giờ A và B đã có chứng thư số được chứng thực bởi Thẩm quyền chứng thực (CA). Người dùng A gửi một hợp đồng có chữ ký số của mình cho B, B phải làm cách nào đó để xác định xem chữ ký số của A trên hợp đồng có hợp lệ không? Để xác thực chữ ký số trên hợp đồng, việc đầu tiên B làm đó là kiểm tra xem chứng thư số của A có hợp lệ tại thời điểm A ký hợp đồng hay không. Để kiểm tra chứng thư số của A còn hiệu lực hay không B sẽ gửi yêu cầu kiểm tra lên CA để hỏi xem chứng thư số của A đã bị hủy bỏ hay chưa (vì một lý do nào đó, chứng thư số của A bị hủy bỏ). Quy trình kiểm tra một chứng thư số còn hiệu lực hay không là một quy trình phức tạp, đó là một yêu cầu bắt buộc đối với mỗi giao dịch, do vậy các CA đều thiết lập một dịch vụ kiểm tra chứng thư số độc lập để phục vụ các giao dịch của người dùng trong quá trình sử dụng chứng thư số. Dịch vụ kiểm tra chứng thư số này được gọi là Thẩm quyền xác thực (VA - Validation Authority). Đối với một hệ thống lớn, Thẩm quyền xác thực VA là bộ phận quan trọng phải được đầu tư mạnh về phần cứng, thiết kế phân tải để đáp ứng một lượng lớn các yêu cầu kiểm tra của người dùng khi tham gia giao dịch.

2.3.2.4. Kho chứng thư số

Khi A và B thực hiện các giao dịch điện tử được xác thực và bảo mật bởi hạ tầng khóa công khai PKI, A và B đều phải lấy chứng thư số liên kết với khóa công khai của nhau để thực hiện các giao dịch. Đối với mô hình mạng giao dịch nhỏ, ít người dùng chứng thư số của người dùng có thể được công bố và phân phối tùy ý người sử dụng, trước khi giao dịch thì người dùng phải thực hiện tìm kiếm chứng thư số của đối tác để thực hiện các giao dịch an toàn. Đối với mô hình mạng giao dịch lớn, nhiều người dùng phân tán, việc công bố và phân phối chứng thư số phải được thực hiện tập trung có sự quản lý chặt chẽ qua Kho chứng thư số. Vì vậy, kho chứng thư số là một thành phần quan trọng trong các mô hình PKI trong thực tế. Có rất nhiều

42

dạng Kho chứng thư số (X.500, LDAP, Active Directory, Web, Cơ sở dữ liệu, các máy chủ FTP,…).

2.3.2.5. Huỷ bỏ chứng thư

Thẩm quyền chứng thực CA ký lên một chứng thư để gắn một cặp khoá công khai với định danh của người sử dụng. Trong quá trình sử dụng chứng thư số có thể người sử dụng làm mất khóa bí mật, thay đổi một số thuộc tính định danh, khóa bí mật bị đánh cắp,… Cần phải có một cách để cảnh báo cho những người sử dụng khác trong hệ thống để họ không tiếp tục sử dụng chứng thư số đó để giao dịch. Cơichếi cảnh báo này trongimột PKI được gọi làohuỷ bỏichứng thư.

2.3.2.6. Sao lưu và khôi phục khoá

Trong một số trường hợp, thiết bị lưu khóa của người dùng bị hỏng, khóa cài trên máy tính và máy tính gặp sự cố, khóa bị xóa, người dùng không thể sử dụng khóa để giải mã các dữ liệu đã mã trước đó. Một số trường hợp người dùng sử dụng khóa mã mã hóa các tài liệu vi phạm đến an ninh quốc gia, các cơ quan an ninh yêu cầu CA phải giải mã tài liệu. Một số tài liệu mã được lưu trữ lâu dài, khi đó chứng thư số đã hết hạn sử dụng, người dùng muốn lấy lại các khóa cũ để giải mã tài liệu lưu trữ…. Giải pháp sao lưu và phục hồi khóa là rất cần thiết, giải pháp này chỉ phù hợp với khóa mã tương ứng với chứng thư số sử dụng để mã dữ liệu, các loại chứng thư số khác không cần sao lưu (chứng thư số ký, xác thực). Một số quốc gia đưa yêu cầu sao lưu và phục hồi khóa vào luật để xử lý các vấn đề về an ninh quốc gia.

2.3.2.7. Cập nhật khoáitự động

Một chứng thư có thời gian sống hữu hạn. Khi chứng thư số hết hạn, để tiếp tục sử dụng người dùng phải yêu cầu cấp một chứng thư số khác. Phần lớn các thủ tục cấp phát lại, cấp mới chứng thư số khá phức tạp, mất một số thời gian làm gián đoạn công việc của người dùng, của các cơ quan, công ty… do vậy một số hệ thống PKI cho phép cập nhật khóa và chứng thư theo cách hoàn toàn tự động. Khiangày hết hạngđếnggần, thao táchđổi mới xảy ra, một chứng thưimới được tạo ra. Sau đó, chứng thưimới được sửudụng thay choichứng thưicũ vàogiao dịch được yêu cầu bởi người sửadụng cứ tiếp tục.

43

Việc cập nhật khóa tự động là khá thuận tiện cho người sử dụng, tuy nhiên nó sẽ chỉ phù hợp với một số chứng thư số như chứng thư số ký, xác thực, đối với chứng thư số mã, khi thay khóa mới sẽ có nhiều vấn đề phát sinh với các dữ liệu mã với khóa cũ, với chứng thư số mã đã công khai… Hơn nữa việc cập nhật khóa tự động cũng có thể là kẽ hở an ninh để tội phạm mạng có thể khai thác chặn bắt khóa trong quá trình cập nhật.

2.3.2.8. Lịch sử khoá

Một người dùng trong quá trình sử dụng chứng thư số có thể cập nhật khóa nhiều lần (do chứng thư số hết hạn, hủy bỏ,…), việc cập nhật có thể thủ công hoặc tự dộng, kéo theo rằng, trên toàn bộ diễn biến thời gian, một người sử dụng đã cho có nhiều chứng thư “cũ” và ít nhất một chứng thư “hiện tại đang sử dụng”. Tập hợp cách chứng thưi này và cáchkhoá bí mật tương ứngiđược gọi làn“lịch sử khoá” (key history) củaingười dùng (một cách đúng hơn lànlịch sửuchứng thưivà khoá, nhưng thôngithường tênhngắn hơn được sử dụng). Việc lưu giữi vết của toàn bộ lịch sử khoá này lànrất quang trọng bởi vì dữ liệu màingười dùng A đãimã hoá choichính anh ta hoặc mộtdai đó đã mãi hoá cho người dùng Aivào thời điểm 5 năm trước đây không thểugiải mãiđược bằng khoái giải mãibí mật hiện thời của anh ta. (Chú ý rằng việc mã lại toàn bộ dữ liệu mỗi khi khoá được cập nhật là giải pháp hoàn toàn không thực tế trong phần lớn các môi trường). Người dùng A cần sử dụng lịch sử khóa của anh ta để chọn khoá giải mã đúng có thể tìm thấy nhằm giải mã dữ liệu yêu cầu. Tương tự, một sốichứng thưitrong lịch sửakhoá này cóithể cần thiết để kiểm chứng cáchchữ ký của người dùng iA trong 5 nămatrước đây.

Giống như việc cập nhật khoá, việc quản trị các lịch sử khoá cũng cần phải tự động và hoàn toàn được duy trì bởi PKI. Những người dùng thông thường sẽ không cần duy trì bất kỳ một hệ thống lưu trữ khóa nào để họ có thể chọn khoá bí mật cần thiết, họ cũng có thể thử mỗi khoá bí mật lần lượt cho đến khi được giải mã được dữ liệu. PKI cầngnắm giữitất cả cáchkhoá trong lịch sử, thựchhiện sao lưu vàokhôi phục ởinhững nơi thích hợp, vàotìm được khoáithích hợp tương ứng với bất kỳ dữiliệu nào đãiđược bảo vệ.

44

2.3.2.9. Chứng thực chéo

Việc xây dựng một hệ thống PKI duy nhất trên thế giới để các quốc gia trên thế giới có thể tham gia vào hệ thống là việc không thể và không hợp lý. Ngay cả trong một quốc gia cũng có thể có nhiều hệ thống PKI, tại Việt Nam hiện nay có ít nhất là 02 hệ thống, nước Nhật thì rắc rối hơn, mỗi tỉnh, thành phố một hệ thống PKI. Doivậy thực tế sẽ có nhiều hệuthống PKI được cài đặt vàohoạt động mộticách độc lập, phục vụicác môi trường và cáchcộng đồng người dùng khác nhau.

Trong quá trình sử dụng thực tế sẽ có vấn đề người dùng thuộc hệ thống PKI này giao dịch với người dùng thuộc hệ thống PKI khác, việc một người dùng tham gia nhiều hệ thống PKI và được cấp nhiều khóa và chứng thư số là điều không nên. Khái niệm chứngithực chéo đãinảy sinh trong môi trường PKI đểigiải quyết chính xáchnhu cầu này nhằm tạo raicác quan hệ tin cậy giữa cáchhệ thống PKI độchlập. Chứng thực chéo (hoặc danh sách tin cậy chứng thư- Certificate Trust List) là cơ chế được chấp nhận để cho phép những người dùng của một cộng đồng PKI này kiểm chứng các chứng thư của những người dùng trong một cộng đồng PKI khác. Trong công việc kinh doanh, nhuicầu kết nối các PKI cóithể xảy ra nhưalà kết quảncủa các liênh doanh liên kết, cáchtiếp nhận, thêm cáchbạn hàng và nhàicung cấp mới, ...

2.3.2.10. Hỗ trợichống chối bỏ

Trong môi trường điện tử, một người A có thể sử dụng chứng thư số được cấp phát hợp pháp để ký lên một tài liệu điện tử, điều đó khẳng định rằng người A đồng ý với nội dung tài liệu điện tử này và chữ ký điện tử xác nhận văn bản này được ký bởi người A, tuy nhiên một thời gian sau người A có thể có hành động chối bỏ chữ ký trên tài liệu điện tử mà anh ta đã ký trước đó. Trong thực tế điều này rất dễ xảy ra, ví dụ người A ký hợp đồng mua bán với người B (hợp đồng điện tử), sau một thời gian, người A thấy hợp đồng này bất lợi đối với mình và từ chối chữ ký số trên hợp đồng điện tử này. Khi có tranh chấp như vậy người B sẽ kiện người A ra tòa án. Tòa án phải có các bằng chứng để chứng minh người A đã ký lên hợp đồng điện tử cần thiết phải biết được cả thời điểm ký hợp đồng. Trong trường hợp này hệ thống PKI sẽ cung cấp các bằng chứng kỹ thuật cho tòa án để chứng minh người A đã ký lên

45

hợp đồng điện tử, thời điểm người A ký hợp đồng để tòa án đưa ra quyết định cuối cùng. Do vậy PKI chỉ cung cấp các bằng chứng kỹ thuật để hỗ trợ chống chối bỏ, còn quyền quyết định cuối cùng vẫn là do con người hoặc các cơ quan có thẩm quyền.

2.3.2.11. Dấu thời gian

Một phần tử quan trọng trongiviệc hỗ trợ choicác dịch vụ không chối bỏi là việc sử dụngicủa dấu thời giani an toàn trongiPKI. Tức là, nguồn thời gian cần được tinicậy, và giá trị thời gianicần phải được vận chuyểnimột cách an toàni. Cần phải có một nguồnicó thể tin được về thời gian màimột tập hợp nhữngingười dùng PKI sẽotin cậy. Nguồn có thể tingđược về thời gian cho PKI (tức là, máy chủiidấu thời gian angtoàn mà chứng thưicủa nó là được kiểm traibởi cộng đồng cóiliên quan những người dùng PKI) cần không tồn tạiimột cách riêng rẽocho các mụchđích của không chối bỏ; nhiều tình huống nảy sinhitrong đóadấu thời gian cóithể tin cậy được trênhmột văn bản có thể trởinên hữu ích. Tuy nhiên, việc hỗitrợicho các dịch vụikhông chối bỏicó lẽ là người lái quanhtrọng nhất cho dấu thời giangđúng trong nhiều môi trường. Trong trường hợpibất kỳ, dấu thời giangtạo nên một phần của định nghĩa PKI mở rộng.

2.3.2.12. Phần mềm hỗ trợ tích hợp PKI

Một hệ thống PKI có thể cung cấp cho người dùng những thành phần sau: - CA sẽ cung cấppcác dịch vụcchứng thực;

- Kho sẽ lưu giữicác chứng thưivà thông tin huỷ bỏ;

- Máy chủ saoilưu và khôi phụcisẽ quản lý đúng cácilịch sử khoá;

- Máy chủ cấp dấuithời gian sẽ cung cấpithông tin thời gian tinicậy cho các văn bảniđược ký số;

Tuy nhiên, các ứng dụng cần phải yêu cầu các dịch vụ chứng thực khi thực hiện xác thực và bảo mật dữ liệu sử dụng hệ thống PKI. Các ứng dụng cần phải hỏi về các chứng thư số và thông tin huỷ bỏ các chứng thư số này, cần phải thực hiện kiểm traacác lịchhsử khoá vàakhi nào thì yêu cầu thực hiện thao tác cập nhậttkhoá hoặc khôiiphục khoá. Các ứng dụng cũng cần phải biết khi nào nó yêu

46

cầu dấu thời gian cho một văn bản được ký.

Phần mềm hỗ trợ tích hợp PKI là một thành phần cần thiết của một hệ thống PKI. Không có nó, nhiều dịch vụ của PKI sẽ không được triển khai tới người dùng cuối, bởi vì không chương trình nào gọi đến các dịch vụ này. Các phần mềm hỗ trợ tích hợp PKI có thể hoạt động độc lập phục vụ các ứng dụng khác hoặc đơn thuần là các thư viện để các ứng dụng khác gọi tới. Các phần mềm hỗ trợ tích hợp PKI được chuẩn hóa để các ứng dụng khác có thể thông qua các ứng dụng này để giao tiếp với PKI. Các phần mềm hỗ trợ tích hợp PKI có thể ở các dạng sau:

Tương đối lớn, thực hiện nhiều tiến trình chức năng PKI như xử lý đường dẫn chứng thư và kiểm tra chứng thư số trực tuyến, xác thực…;

Tương đối nhỏ, đơn thuần gọi tới các máy chủ để thực hiện các dịch vụ

Một phần của tài liệu (Luận văn thạc sĩ) Nghiên cứu về chữ ký số, PKI và ứng dụng cho bảo mật hệ thống quản lý tài liệu (Trang 48 - 56)