Tải bản đầy đủ (.pdf) (39 trang)

Tiểu luận nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên openca

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (864.23 KB, 39 trang )

HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA AN TOÀN THÔNG TIN

ĐỀ TÀI:
NGHIÊN CỨU, XÂY DỰNG HẠ TẦNG KHÓA CÔNG KHAI PKI
DỰA TRÊN OPENCA

Giảng viên

: Cao Minh Tuấn

Sinh viên: Vũ Hoàng Đạt

Hà Nội, Tháng 3-2015


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

MỤC LỤC
LỜI MỞ ĐẦU .................................................................................................................. 4
CHƯƠNG I : MẬT MÃ KHÓA CÔNG KHAI VÀ CHỮ KỸ SỐ ................................. 5
I.

Mật mã khóa công khai ........................................................................................ 5
1.

Khái niệm ......................................................................................................... 5

2.

Các thuật toán sử dụng trong mật mã khóa công khai ..................................... 5


2.1. Thuật toán RSA ......................................................................................... 5
2.2. Thuật toán thỏa thuận khóa Diffie-Hellman .............................................. 6

II.

Chữ ký số ............................................................................................................. 6

CHƯƠNG 2: TỔNG QUAN VỀ PKI ............................................................................. 8
I.

Giới thiệu ............................................................................................................. 8
1.

Lịch sử .............................................................................................................. 8

2.

Khái niệm ......................................................................................................... 9

3.

Mục tiêu chức năng ........................................................................................ 10

4.

Các khía cạnh an toàn .................................................................................... 10

II.

Mô hình PKI và các thành phần ........................................................................ 12

1.

Các thành phần ............................................................................................... 12
1.1. Tổ chức chứng thực (CA) ........................................................................ 13
1.2. Trung tâm đăng ký (RA).......................................................................... 14
1.3. Thực thể cuối (End Entity) ...................................................................... 15
1.4. Hệ thống lưu trữ (Repositories) ............................................................... 15

2.

Các mô hình PKI (các loại mô hình) ............................................................. 16
1


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

2.1. Mô hình phân cấp CA chặt chẽ (Strict hierachy of CAs) ........................ 16
2.2. Mô hình phân cấp CA không chặt chẽ (loose hierarchy of CAs)............ 17
2.3. Mô hình kiến trúc tin cậy phân tán (distributed trust architecture) ......... 17
2.4. Mô hình 4 bên (Four – Coner Model) ..................................................... 19
2.5. Mô hình Web (Web Model) .................................................................... 20
2.6. Mô hình tin cậy lấy người dùng làm trung tâm (User – Centric Trust) .. 21
3.

Các kiểu kiến trúc........................................................................................... 22
3.1. Kiến trúc kiểu Web of Trust .................................................................... 23
3.2. Kiến trúc kiểu CA đơn (Single CA) ........................................................ 24
3.3. Kiến trúc CA phân cấp ............................................................................ 26
3.4. Kiến trúc kiểu chứng thực chéo (Cross – certificate) .............................. 27
3.5. Kiến trúc Bridge CA (BCA) .................................................................... 28


III. Cơ chế làm việc ................................................................................................. 29
1.

Khởi tạo thực thể cuối .................................................................................... 29

2.

Tạo cặp khóa công khai/ khóa riêng .............................................................. 29

3.

Áp dụng chữ ký để định danh người gửi ....................................................... 30

4.

Mã hóa thông báo ........................................................................................... 30

5.

Truyền khóa đối xứng .................................................................................... 30

6.

Kiểm tra định danh người gửi thông qua một CA ......................................... 31

7.

Giải mã thông báo và kiểm tra nội dung thông báo ....................................... 31


CHƯƠNG 3: XÂY DỰNG HẠ TẦNG KHÓA CÔNG KHAI PKI DỰA TRÊN
OPENCA........................................................................................................................ 33
I.

Giới thiệu về OpenCA ....................................................................................... 33

II.

Hệ thống PKI với OpenCA ................................................................................ 34
2


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

DANH MỤC HÌNH ẢNH
Hình 1: Sơ đồ tạo và kiểm tra chữ ký số ......................................................................... 7
Hình 2: Các thành phần PKI .......................................................................................... 13
Hình 3:Mô hình phân cấp CA chặt chẽ ......................................................................... 16
Hình 4: Mô hình kiến trúc tin cậy phân tán ................................................................... 18
Hình 5: mô hình 4 bên ................................................................................................... 19
Hình 6: Mô hình web ..................................................................................................... 20
Hình 7: Mô hình tin cậy lấy người dùng làm trung tâm ................................................ 22
Hình 8: Chuỗi tin cậy ..................................................................................................... 23
Hình 9: Kiến trúc kiểu Web of Trust ............................................................................. 24
Hình 10: Kiến trúc CA đơn ............................................................................................ 25
Hình 11: Kiến trúc CA phân cấp ................................................................................... 26
Hình 12: Kiến trúc kiểu chứng thực chéo ...................................................................... 27
Hình 13: Kiến trúc Brigde CA ....................................................................................... 28

3



Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

LỜI MỞ ĐẦU
Trong một vài năm lại đây, hạ tầng truyền thông công nghệ thông tin càng ngày
càng được mở rộng khi mà người sử dụng dựa trên nền tảng này để truyền thông và
giao dịch với các đồng nghiệp, các đối tác kinh doanh cũng như việc bán hàng trên các
mạng công cộng. Hầu hết các thông tin kinh doanh nhạy cảm và quan trọng được lưu
trữ và trao đổi dưới hình thức điện tử. Sự thay đổi trong các hoạt động truyền thông
doanh nghiệp này đồng nghĩa với việc chúng ta phải có biện pháp bảo vệ tổ chức,
doanh nghiệp của mình trước các nguy cơ lừa đảo, can thiệp, tấn công, phá hoại hoặc
vô tình tiết lộ các thông tin đó.
Cấu trúc cơ sở hạ tầng mã khóa công khai cùng các tiêu chuẩn và các công nghệ
ứng dụng của nó có thể được coi là một giải pháp tổng hợp và độc lập có thể được sử
dụng để giải quyết vấn đền này.
PKI đang trở thành một phần trung tâm của các kiến trúc an toàn doành cho các
tổ chức kinh doanh. PKI được xem là một điểm trọng tâm trong nhiều khía cạnh quản
lý an toàn. Hầu hết các giao thức chuẩn đảm bảo an toàn mail, truy cập Web, mạng
riêng ảo và hệ thống xác thực người dùng đăng nhập đơn đều sử dụng chứng chỉ khóa
công khai.
PKI hiện nay càng thể hiện rõ vai trò của mình trong lĩnh vực an toàn thông tin.
Hiện nay, có rất nhiều cách thức xây dựng PKI. Một trong những các cách thức xây
dựng PKI đó là dựa trên mã nguồn mở OpenCA.
Chính điều này là mục đích chúng em chọn đề tài “Nghiên cứu xây dựng hệ
thống PKI dựa trên mã nguồn mở OpenCA”.

4



Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

CHƯƠNG I : MẬT MÃ KHÓA CÔNG KHAI VÀ CHỮ KỸ
SỐ
I. Mật mã khóa công khai
1. Khái niệm
- Mật mã khóa công khai là một dạng mật mã cho phép người sử dụng trao đổi
các thông tin mật mà không cần phải trao đổi các khóa bí mật trước đó. Trong
mật mã khóa công khai sử dụng một cặp khóa là khóa công khai và khóa riêng
(khóa bí mật). Khóa công khai dùng để mã hóa còn khóa riêng dùng để giải mã.
- Điều quan trọng đối với hệ thống là không thể tìm ra khóa bí mật nếu chỉ biết
khóa công khai.
- Hệ thống mật mã khóa công khai có thể sử dụng với các mục đích :
• Mã hóa: giữ bí mật thông tin và chỉ có người có khóa bí mật mới giải mã
được.
• Tạo chữ kí số: cho phép kiểm tra một văn bản có phải đã được tạo bởi một
khóa bí mật nào đó không.
• Thỏa thuận khóa: cho phép thiết lập khóa dùng để trao đổi thông tin mật giữa
2 bên.
2. Các thuật toán sử dụng trong mật mã khóa công khai
2.1.

Thuật toán RSA

- Thuật toán RSA được Ron Rivest, Adi Shamir và Len Adleman mô tả lần đầu
tiên vào năm 1977 tại học viện công nghệ Massachusetts (MIT).
- RSA là một thuật toán mã hóa khóa công khai.

5



Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

- Đây là thuật toán đầu tiên phù hợp với việc tạo ra chữ ký điện tử đồng thời với
miệc mã hóa. Nó đánh dấu một sự tiến bộ vượt bậc của lĩnh vực mật mã trong
việc sử dụng khóa công khai. RSA đang được sử dụng phổ biến trong thương
mại điện tử và được cho là đảm bảo an toàn với điều kiện độ dài khóa đủ lớn.
- RSA có tốc độ thực hiện chậm hơn đáng kể so với DES và các thuật toán mã
hóa đối xứng khác. Trên thực tế, người ta sử dụng một thuật toán mã hóa đối
xứng nào đó để mã hóa văn bản cần gửi và chỉ sử dụng RSA để mã hóa khóa để
giải mã (thông thường khóa ngắn hơn nhiều so với văn bản).
2.2.

Thuật toán thỏa thuận khóa Diffie-Hellman

- Phương thức này được phát minh bởi Whitfield Diffie và Matty Hellman ở
Stanford.
- Đây là sơ đồ khóa công khai đầu tiên. Tuy nhiên, đó không phải là một sơ đồ mã
hóa khóa công khai thực sự, mà chỉ dùng cho trao đổi khóa. Các khóa bí mật
được trao đổi bằng cách sử dụng các trạm trung gian tin cậy. Phương pháp này
cho phép các khóa bí mật được truyền an toàn thông qua các môi trường không
bảo mật.
- Trao đổi khóa Diffie-Hellman dựa trên tính hiệu quả của bài toán logarit rời rạc.
- Tính bảo mật của trao đổi khóa Diffie-Hellman nằm ở chỗ: tính hàm mũ modulo
của một số nguyên tố là khá dễ dàng nhưng tính logarit rời rạc là rất khó.
II. Chữ ký số
- Chữ ký số là thông tin đi kèm theo dữ liệu (văn bản, hình ảnh, video,… ) nhằm
mục đích xác định người chủ của dữ liệu đó.
- Để sử dụng chữ ký số thì dữ liệu cần phải được mã hóa bằng hàm băm (dữ liệu
được “băm” ra thành chuỗi, thường có độ dài cố định và ngắn hơn văn bản) sau

đó dùng khóa bí mật của người chủ khóa để mã hóa, khi đó ta được chữ ký số.
6


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

Khi cần kiểm tra, bên nhận giải mã với khóa công khai để lấy lại chuỗi gốc
(được sinh ra qua hàm băm ban đầu) và kiểm tra lại với hàm băm vừa nhận
được. Nếu 2 giá trị này khớp nhau thì bên nhận có thể tin tưởng rằng dữ liệu
xuất phát từ người sở hữu khóa bí mật.
- Chữ ký số khóa công khai dựa trên nền tảng mật mã khóa công khai. Để có thể
trao đổi thông tin trong môi trường này, mỗi người sử dụng có một cặp khóa:
khóa công khai và khóa bí mật. Khóa công khai được công bố rộng rãi còn khóa
bí mật phải được giữ kín và không thể tìm được khóa bí mật nếu chỉ biết khóa
công khai.
- Toàn bộ quá trình gồm 3 thuật toán:
• Thuật toán tạo khóa
• Thuật toán tạo chữ ký số
• Thuật toán kiểm tra chữ ký số

Hình 1: Sơ đồ tạo và kiểm tra chữ ký số

7


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

CHƯƠNG 2: TỔNG QUAN VỀ PKI
I. Giới thiệu
1. Lịch sử

- Việc Diffie, Hellman, Rivest, Shamir, và Adleman công bố công trình nghiên
cứu về trao đổi khóa an toàn và thuật toán mật mã hóa khóa công khai vào
năm 1976 đã làm thay đổi hoàn toàn cách thức trao đổi thông tin mật. Cùng với
sự phát triển của các hệ thống truyền thông điện tử tốc độ cao (Internet và các hệ
thống trước nó), nhu cầu về trao đổi thông tin bí mật trở nên cấp thiết. Thêm vào
đó một yêu cầu nữa phát sinh là việc xác định định dạng của những người tham
gia vào quá trình thông tin. Vì vậy ý tưởng về việc gắn định dạng người dùng
với chứng thực được bảo vệ bằng các kỹ thuật mật mã đã được phát triển một
cách mạnh mẽ.
- Nhiều giao thức sử dụng các kỹ thuật mật mã mới đã được phát triển và phân
tích. Cùng với sự ra đời và phổ biến của World Wide Web, những nhu cầu về
thông tin an toàn và nhận thực người sử dụng càng trở nên cấp thiết. Chỉ tính
riêng các nhu cầu ứng dụng cho thương mại (như giao dịch điện tử hay truy cập
những cơ sở dữ liệu bằng trình duyệt web) cũng đã đủ hấp dẫn các nhà phát triển
lĩnh vực này. Taher ElGamal và các cộng sự tại Netscape đã phát triển giao thức
SSL (https trong địa chỉ web) trong đó bao gồmthiết lập khóa, nhận thực máy
chủ... Sau đó, các thiết chế PKI được tạo ra để phục vụ nhu cầu truyền thông an
toàn.
- Các nhà doanh nghiệp kỳ vọng vào một thị trường hứa hẹn mới đã thành lập
những công ty hoặc dự án mới về PKI và bắt đầu vận động các chính phủ để
8


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

hình thành nên khung pháp lý về lĩnh vực này. Một dự án của American Bar
Association đã xuất bản một nghiên cứu tổng quát về những vấn đề pháp lý có
thể nảy sinh khi vận hành PKI (xem thêm: các hướng dẫn chữ ký số ABA).
Không lâu sau đó, một vài tiểu bang của Hoa kỳ mà đi đầu là Utah (năm 1995)
đã thông qua những dự luật và quy định đầu tiên. Các nhóm bảo vệ quyền lợi

người tiêu dùng thì đặt ra các vấn đề về bảo vệ quyền riêng tư và các trách
nhiệm pháp lý.
- Tuy nhiên, các luật và quy định đã được thông qua lại không thống nhất trên thế
giới. Thêm vào đó là những khó khăn về kỹ thuật và vận hành khiến cho việc
thực hiện PKI khó khăn hơn rất nhiều so với kỳ vọng ban đầu.
- Tại thời điểm đầu thế kỷ 21, người ta nhận ra rằng các kỹ thuật mật mã cũng
như các quy trình/giao thức rất khó được thực hiện chính xác và các tiêu
chuẩn hiện tại chưa đáp ứng được các yêu cầu đề ra.
- Thị trường PKI thực sự đã tồn tại và phát triển nhưng không phải với quy mô đã
được kỳ vọng từ những năm giữa của thập kỷ 1990. PKI chưa giải quyết được
một số vấn đề mà nó được kỳ vọng. Những PKI thành công nhất tới nay là các
phiên bản do các chính phủ thực hiện.
2. Khái niệm
- Trong mật mã học, hạ tầng khóa công khai (tiếng Anh: public key infrastructure,
viết tắt PKI) là một cơ chế để cho một bên thứ 3 (thường là nhà cung cấp chứng
thực số) cung cấp và xác thực định danh các bên tham gia vào quá trình trao
đổi thông tin. Cơ chế này cũng cho phép gán cho mỗi người sử dụng trong hệ
thống một cặp khóa công khai/khóa bí mật. Các quá trình này thường được thực
hiện bởi một phần mềm đặt tại trung tâm và các phần mềm phối hợp khác tại các
địa điểm của người dùng. Khóa công khai thường được phân phối trong chứng
thực khóa công khai.
9


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

- Khái niệm hạ tầng khóa công khai (PKI) thường được dùng để chỉ toàn bộ hệ
thống bao gồm nhà cung cấp chứng thực số (CA) cùng các cơ chế liên quan
đồng thời với toàn bộ việc sử dụng các thuật toán mật mã hóa khóa công
khai trong trao đổi thông tin. Tuy nhiên phần sau được bao gồm không hoàn

toàn chính xác bởi vì các cơ chế trong PKI không nhất thiết sử dụng các thuật
toán mã hóa khóa công khai.
3. Mục tiêu chức năng
PKI cho phép những người tham gia xác thực lẫn nhau và sử dụng thông tin từ
các chứng thực khóa công khai để mật mã hóa và giải mã thông tin trong quá trình
trao đổi. Thông thường, PKI bao gồm phần mềm máy khách (client), phần
mềm máy chủ (server), phần cứng (như thẻ thông minh) và các quy trình hoạt động
liên quan. Người sử dụng cũng có thể ký các văn bản điện tử với khóa bí mậtcủa
mình và mọi người đều có thể kiểm tra với khóa công khai của người đó. PKI cho
phép các giao dịch điện tử được diễn ra đảm bảo tính bí mật, toàn vẹn và xác
thực lẫn nhau mà không cần phải trao đổi các thông tin mật từ trước.
4. Các khía cạnh an toàn
PKI cung cấp một cơ sở hạ tầng an ninh rộng khắp. Cơ sở hạ tầng dành cho các
mục đích an ninh phải chấp nhận một quy tắc nhất quán và phải cung cấp các lợi
ích cơ bản như nhau . Cơ sở hạ tầng an ninh rộng khắp phải đảm bảo an toàn cho
toàn bộ tổ chức và tất cả các đối tượng, ứng dụng trong tổ chứ. Các khía cạnh an
toàn mà PKI cung cấp bao gồm:
a) Đăng nhập an toàn
-

Tiến trình đăng nhập liên quan tới người dùng nhập định danh của mình

(ID của user hoặc username), xác thực thông tin (password hoặc giá trị bí mật
nào đó).
10


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

b) Đăng nhập một lần an toàn

- Đăng nhập một lần an toàn là sự mở rộng của đăng nhập an toàn. Sự đăng nhập
này có thể kết nối tớ rất nhiều các thiết bị ở xa, do đó sẽ loại bỏ được yếu tố cần
phải đăng nhập lại nhiều lần.
- Đăng nhập an toàn một lần cũng đủ để truy cập tới các thiết bị, miền, máy chủ,
các hệ thống và ứng dụng. Tuy nhiên chúng ta cũng cần chú ý rằng, sự kiện
đăng nhập an toàn vẫn có thể được kết hợp với các cơ chế kiểm soát truy cập
khác. Do đó, đứng trên quan điềm về t ính tiện dụng thì sự kiện đăng nhập an
toàn một lần là điều rất được mong muốn bởi vì người dùng thường chỉ phải nhớ
một vài mật khẩu và chỉ cần phải biết thủ tục một lần để truy cập tới nhiều hệ
thống. Đứng trên quan điểm về an ninh thì đây cũng là điều rất được mong
muốn bởi vì các mật khẩu truyền qua mạng với tần suất ít hơn
- Lợi ích an toàn quan trọng trong đó là một cơ sở hạ tầng được thiết kế tốt có thể
đảm bảo rằng người dùng chỉ cần đăng nhập tới máy cục bộ mà họ đang làm
việc. Do đó, mật khẩu sẽ không phải truyền qua vùng mạng dễ bị khai thác,
giảm được những rủi ro lớn như các rủi ro bị đánh cắp mật khẩu.
c) Trong suốt với người dùng cuối
- Một đặc tính rất quan trọng của cơ sở hạ tầng rộng khắp đó chính là tình trong
suốt với người dùng cuối. Nghĩa là người dùng không cần biết về phần header
của gói tin IP hoặc các gói Ethernet. Các dịch vụ của cơ sở hạ tầng sẽ được
chuyển tới người dùng trong cơ sở hạ tầng thông qua một “hộp đen” hoàn toàn.
Người dùng không cần phải biết tất cả về an ninh và không cần phải can thiệp
thủ công. Người dùng cũng không cần phải biết về các thuật toàn và khóa.
11


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

- Người dùng cũng không cần phải biết về cơ sở hạ tầng đảm bảo an ninh ra sao.
Sự an toàn không nên gây khó khăn cho người dùng đề cản trở họ thực hiện tác
vụ của mình. An toàn không yêu cầu người dùng phải có hiểu biết đặc biệt,

không yêu cầu người dùng phải có những thủ tục đặc biệt.
d) An ninh toàn diện:
- Lợi ích quan trọng nhất của hạ tầng an ninh rộng khắp là: Nó đảm bảo rằng một
công nghệ an toàn tin cậy, như công nghệ khóa công khai, luôn sẵn sàng trong
môi trường. Số lượng các ứng dụng, thiết bị v à các máy chủ có thể hoạt động
liên tục cùng nhau đề đảm bảo an toàn trong khi truyền, lưu trữ và truy xuất dữ
liệu, các quá trình giao dịch, và truy cập máy chủ.
- Một trong những cơ chế chủ yếu để đạt được an ninh toàn diện trong cơ sở hạ
tầng là khả năng đảm bảo khóa được sử dụng, được hiểu và được xử lý theo
một cách chặt chẽ thông qua một phạm vi rộng lớn của các thức thể và thiết bị
trong tổ chức.
II. Mô hình PKI và các thành phần
1. Các thành phần
Một hệ thống PKI gồm các thành phần sau:
- Certificate Authorites (CA): Cấp và thu hồi chứng chỉ.
- Registration Authorites (RA): gắn kết giữa khóa công khai và định danh của
người giữ chứng chỉ.
- Clients: Người sử dụng cuối hoặc hệ thống là chủ thể của chứng chỉ PKI.
- Repositories: Hệ thống lưu trữ chứng chỉ và danh sách các chứng chỉ bị thu hồi.
Cung cấp cơ chế phân phối chứng chỉ và CRLs đến các thực thể cuối.
Các thành phần PKI và các mối quan hệ giữa chúng ch ỉ ra như trong hình sau đây:

12


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

Hình 2: Các thành phần PKI
1.1.


Tổ chức chứng thực (CA)

- Trong hạ tầng cơ sở khóa công khai, chứng chỉ có vai trò gắn kết giữa định danh
với khóa công. Một Certificate Authorites (CA) là một thực thể PKI có trách
nhiệm cấp chứng chỉ cho các thực thể khác trong hệ thống.
- Tổ chức chứng thực – CA cũng được gọi là bên thứ 3 được tin tưởng vì người sử
dụng cuối tin tưởng vào chữ ký số của CA trên chứng chỉ trong khi thực hiện
những hoạt động mã hóa khóa công khai cần thiết CA thực hiện chức năng xác
thực bằng cách cấp chửng chỉ cho các CA khác và cho thực thể cuối (Người giữ
chứng chỉ) trong hệ thống. Nếu CA nằm ở đỉnh của mô hình phân cấp PKI và
chỉ cấp chứng chỉ cho những CA ở mức thấp hơn thì chứng chỉ này gọi là chứng
chỉ gốc “root certificate”.

13


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

1.2.
-

Trung tâm đăng ký (RA)
Mặc dù CA có thể thực hiện những chức năng đăng ký cần thiết nhưng đôi khi

cần có những thực thể độc lập thực hiện chức năng này. Thực thể này gọi là
“Registration Authorities” – Trung tâm đăng ký. Ví dụ khi số lượng thực thể cuối
trong miền PKI tăng lên và số thực thể này được phân tán khắp nơi về mặt địa lý thì
việc đăng ký tại 1 CA trung tâm trở thành vấn đề khó giải quyết. Để giải quyết vấn
đề này cần thiết phải có 1 hoặc nhiều RAs (trung tâm đăng ký địa phương).
-


Mục đích chính của RA là để giảm tải công việc của CA. Chức năng thực hiện

một RA cụ thể sẽ khác nhau tùy nhu cầu triển khai PKI nhưng chủ yếu bao gồm
những chức năng sau:


Xác thực cá nhân, chủ thể đăng ký chứng chỉ.



Kiểm tra tính hợp lệ của thông tin do chủ thể cung cấp.



Xác nhận quyền của chủ thể đối với những thuộc tính chứng chỉ được yêu

cầu.


Kiểm tra xem chủ thể có thực sự sở hữu khóa riêng hay đang được đăng

ký hay không – điều này thường được đề cập đến như sự chứng minh sở hữu
(Proof of possesion – POP).


Tạo cặp khóa bí mật, công khai.




Phân phối bí mật được chi sẻ đến thực thể cuối (Ví dụ: Khóa công khai

của CA).


Thay mặt chủ thể thực thể cuối khởi tạo quá trình đăng ký với CA.



Lưu trữ khóa riêng.



Khởi sinh quá trình khôi phục hóa.



Phân phối thẻ bài vật lý (thẻ thông minh).

14


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

1.3.

Thực thể cuối (End Entity)

Thực thể cuối trong PKI có thể là con người, thiết bị, và thậm chí là một chương
trình phần mềm nhưng thường là người sử dụng hệ thống. Thực thể cuối sẽ thực

hiện những chức năng mật mã (mã hóa, giải mã và ký số).
1.4.

Hệ thống lưu trữ (Repositories)

Chứng chỉ (khóa công khai) và thông tin thu hồi chứng chỉ phải được phân phối
sao cho những người cần đến chứng chỉ đều có thể truy cập và lấy được. Có 2
phương pháp phân phối chứng chỉ:


Phân phối cá nhân: Đây là các phân phối cơ bản nhất. Trong phương pháp

này thì mỗi các nhân sẽ được trực tiếp đưa chứng chỉ của họ cho người dùng
khác. Việc này có thể thực hiện theo một số cơ chế khác nhau. Chuyển giao
bằng tay chứng chỉ được lưu trong đĩa m ềm hay một số các môi trường lưu
trữ khác. Cũng có thể phân phối bằng cách gắn chứng chỉ trong email để gửi
cho người khác. Cách này thực hiện tốt trong một nhóm ít người dùng nhưng
khi số lượng người dùng tăng lên thì có thể xảy ra vấn đề về quản lý.


Phân phối công khai: Một phương pháp khác phổ biến hơn để phân phối

chứng chỉ (và thông tin thu hồi chứng chỉ) là công bố các chỉ rộng rãi. Các
chứng chỉ này có thể sử dụng bằng cách công khai và được đặt ở vị trí có thể
truy cập dễ dàng. Những vị trí này được gọi là cơ sở dữ liệu. Dưới đây là ví
dụ về một số hệ thống lưu trữ:
o

X.500 Directory System Agents (DSAs)


o

Lightweight Directory Access Protocol (LDAP) Server

o

Online Certificate Status Protocol (OCSP) Responder

o

Domain Name System (DNS) và Web Server

o

File Transfer Protocol (FTP) Server và Corporate Databases
15


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

2. Các mô hình PKI (các loại mô hình)
2.1.

Mô hình phân cấp CA chặt chẽ (Strict hierachy of CAs)

- Trong mô hình này, có 1 CA đóng vai trò là CA gốc ở trên cùng, phía dưới là
các nhánh mở rộng và các lá ở cuối cùng.
- RootCA đóng vai trò như là gốc tin cậy (nguồn tin cậy) cho toàn bộ miền
của các thực thể PKI dưới nó. Ở dưới Root CA có thể không có hoặc có một
vài lớp Intermidiate CA (hay còn được gọi là subCA).


Hình 3:Mô hình phân cấp CA chặt chẽ

- Root CA không đơn giản là điểm khởi đầu của một mạng, hay các kết nối, nó
còn là điểm khởi đầu của sự tin cậy. Tất cả các thực thể trong miền đều nắm
giữ khóa công khai của CA.
- Trong mô hình này, tất cả các thực thể trong kiến trúc tin cậy rootCA, sự
phân cấp được thiết lập như sau:
- RootCA được xây dựng và tự cấp chứng chỉ cho mình.
- RootCA sẽ chứng thực (tạo và ký chứng chỉ) cho các CA trực tiếp
dưới nó.
16


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

- Mỗi một CA như trên lại chứng thực cho CA trực tiếp dưới nó.
- Tại mức gần cuối cùng, CA sẽ chứng thực cho thực thể cuối.
- Mỗi thực thể trong phân cấp phải được cung cấp bản sao khóa công khai của
rootCA. Quá trình tạo khóa công khai này là cơ sở cho quá trình chứng thực
tất cả các kết nối sau đó, do đó, quá trình này phải được thực hiện một cách
an toàn.
- Chú ý rằng trong mô hình phân cấp chặt chẽ đa mức (Multilevel Strict
Hierarchy), các thực thể cuối được chứng thực (Nghĩa là được cấp chứng chỉ)
bởi CA trực tiếp ngay trên đó, nhưng gốc tin cậy là rootCA.
2.2.

Mô hình phân cấp CA không chặt chẽ (loose hierarchy of CAs)

- Trong mô hình phân cấp CA không chặt chẽ, các bên được chứng thực bởi

cùng một CA để giải quyết vấn đề đường dẫn tin cậy mà không liên quan tới
bất kì CA nào mức cao hơn, bao gồm cả rootCA. Nghĩa là nếu 2 thực thể (Ví
dụ thực thể A và B) được chứng thực bởi cùng 1 CA, thì thực thể A và B có
thể kiểm tra tính hợp lệ của nhau mà không cần phải tạo 1 đường dẫn chứng
thực tới rootCA. Về cơ bản, thực thể A và B cùng thuộc về phân cấp chủ thể
tin cậy của cả 2. Tuy nhiên, giả sử rằng có 1 thực thể C nào đó được chứng
thực bởi 1 CA khác (không phải CA chứng thực cho A và B) thì thực thể A
và B phải thực hiện 1 đường dẫn chứng thực hoàn toàn thông qua rootCA
trước khi tin cậy chứng chỉ của C.
2.3.

Mô hình kiến trúc tin cậy phân tán (distributed trust architecture)

- Kiến trúc tin cậy phân tán sẽ phân phối sự tin cậy giữa 2 hay nhiều CA.
Nghĩa là thực thể 1 có thể giữ bản sao khóa công khai của CA1 như nguồn tin
cậy của mình, thực thể 2 có thể giữ bản sao khóa công khai của CA2 như
nguồn tin cậy của mình. Bởi vì những khóa công khai của những CA này
17


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

đóng vai trò như nguồn tin cậy (CA1 là gốc (root) của hệ thống phân cấp chứa
thực thể 1, CA2 là gốc của hệ thống phân cấp có chứa thực thể 2).
- Nếu mỗi cấu trúc phân cấp này là kiến trúc phân cấp không chặt chẽ thì cấu
hình của kiến trúc đó được gọi là kiến trúc được chia điểm (peered
architeture) bởi vì tất cả các CA đều là những điểm hoàn toàn độc lập
(Không có SubCA trong kiến trúc). Trái lại, nếu kiến trúc đó là phân cấp đa
mức thì kiến trúc đó được gọi là kiến trúc hình cây (Treed Architeture).


Hình 4: Mô hình kiến trúc tin cậy phân tán

18


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

2.4.

Mô hình 4 bên (Four – Coner Model)

Hình 5: mô hình 4 bên
- Trong mô hình này minh họa 4 góc của mô hình tin cậy là người thuê bao
(subcriber), bên tin cậy (Relying party), thuê bao của CA (Subcriber’s CA)
và bên tin cậy của CA (Relying party’s CA).
- Mô hình 4 bên này thường được triển khai trong các giao dịch thanh toán
điện tử.
- Trong mô hình này, thuê bao sử dụng chứng chỉ được cấp bởi CA của nó.
- Thuê bao và bên tin cậy tương tác và ràng buộc nhau trong các giao dịch điện
tử.
- Bên tin cậy tương tác với miền CA (CA domain) của nó để xác thực cho mỗi
bên giao dịch.
- Miền CA tương tác khi có yêu cầu xác minh tính hợp lệ/cấp quyền phiên
giao dịch.
19


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

2.5.


Mô hình Web (Web Model)

- Mô hình Web – đúng như tên gọi của nó, phụ thuộc vào các trình duyệt web
nổi tiếng như Netscape Navigator và Microsoft Internet Explorer. Trong mô
hình này, số lượng khóa công khai của CA sẽ được cài đặt sẵn vào một số
các trình duyệt. Các khóa này sẽ định nghĩa tập hợp các CA mà trình người
dùng trình duyệt ban đầu sẽ tin tưởng và xem như các root cho việc xác minh
chứng chỉ.

Hình 6: Mô hình web

- Mỗi nhà cung cấp trình duyệt đều có root riêng của mình, và nó sẽ chứng
thực root CA mà được nhúng trong trình duyệt.
- Mô hình Web có những ưu điểm rõ rệt để thuận tiện và đơn giản khả năng
liên kết. Tuy nhiên, có một vài vấn đề an toàn cần được quan tâm trong mô
hình này khi quyết định triển khai. Ví dụ, bởi vì người dùng trình duyệt tự
động tin tưởng vào tập hợp các khóa đã được cài sẵn trong trình duyệt, nên
an toàn có thể sẽ bị mất nếu các rootCA đó rơi vào “tình trạng nguy hiểm”.

20


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

- Một vấn đề an toàn nữa cần được quan tâm đó là trong mô hình web, không
có cơ chế thực tế nào có thể thu hồi bất kỳ khóa của root đã được nhúng
trong trình duyệt. Nếu chúng ta phát hiện ra một những những CA “đang
trong tình trạng nguy hiểm” hoặc khóa riêng tương ứng với bất kỳ khóa công
khai của root bị lộ, thì hiển nhiên là không thể tiếp tục sử dụng khóa đó trong

hàng triệu các trình duyệt web trên thế giới.
2.6.

Mô hình tin cậy lấy người dùng làm trung tâm (User – Centric Trust)

- Trong mô hình tin cậy lấy người dùng làm trung tâm, mỗi người dùng sẽ phải
chịu trách nhiệm trực tiếp và toàn bộ để quyết định xem sẽ sử dụng chứng
chỉ nào và từ chối chứng chỉ nào. Mỗi người dùng sẽ giữ 1 vòng khóa và
vòng khóa này sẽ đóng vai trò như CA của họ. Vòng khóa này chứa các khóa
công khai được tin cậy của những người sử dụng khác trong cộng đồng. Mô
hình này được Zimmerman phát triển để sử dụng trong chương trình phát
triển phần mềm bảo mật PGP.
- Quyết định này có thể chịu ảnh hưởng của một số nhân tố, mặc dù ban đầu
tập hợp các khóa tin cậy thông thường bao gồm các nhân tố là bạn bè, gia
đình, đồng nghiệp…

21


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

Hình 7: Mô hình tin cậy lấy người dùng làm trung tâm

- Mô hình này được sử dụng rộng rãi trong phần mềm an ninh nổi tiếng là
Pretty Good Privacy (PGP). Trong PGP, người dùng xây dựng mạng lưới tín
nhiệm (Web of Trust) đóng vai trò là CA (ký tên khóa công khai cho các
thực thể khác).
3. Các kiểu kiến trúc
- Có một vài kiểu kiến trúc mà PKI có thể triển khai để cung cấp “chuỗi tin
cậy” từ một khóa công khai đã biết nhằm xác thực thông qua khóa công khai

cụ thể của người dùng. Ví dụ khi người dùng xác thực họ với các ứng dụng
của e-Government thì phần mềm ứng dụng mật mã sẽ xác minh chữ ký trong
chứng chỉ của người dùng bằng cách sử dụng khóa công khai của CA mà tạo
ra chứng chỉ đó. Nếu khóa của CA không phải khóa của root thì chứng chỉ
chứa nó cũng sẽ phải xác minh tính hợp lệ bằng khóa khai để ký chứng chỉ
22


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

đó. Và tiếp tục đến khi nào chứng chỉ trong “chuỗi tin cậy” có thể được xác
minh bằng khóa của root. Chuỗi xác minh tính hợp lệ có nghĩa là sẽ xác thực
tất c ả các chứng chỉ, bao gồm tất cả chứng chỉ của người dùng cuối.

Hình 8: Chuỗi tin cậy
3.1.

Kiến trúc kiểu Web of Trust

- Đối với kiểu kiến trúc này, mỗi người dùng sẽ tạo và ký chứng chỉ cho người
mà mình đã biết. Do đó không cần phát triển phải có hạ tầng trung tâm.

23


Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA

Hình 9: Kiến trúc kiểu Web of Trust
- Mô hình này hoạt động hiệu quả đối với tổ chức nhỏ, có sự tồn tại mối quan
hệ trước đó, nhưng lại không hiệu quả đối với với tổ chức lớn, nơi cần có sự

đảm bảo (ví dụ phải xác thực được yêu cầu trước khi chứng chỉ được cấp
phát). Sự giao tiếp của trạng thái chứng chỉ đối với các bên tin cậy cũng là rất
khó với mô hình này.
3.2.

Kiến trúc kiểu CA đơn (Single CA)

- Dạng kiến trúc đơn giản nhất là CA đơn. Kiến trúc này cấp chứng chỉ và
cung cấp thông tin trạng thái chứng chi cho mỗi người dùng. Khóa công khai
của CA là điểm tin cậy cơ bản, hay còn gọi là nguồn tin cậy, được dùng để
đánh giá khả năng chấp nhận chứng chỉ. Người dùng có mỗi quan hệ trực
24


×