HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
NGUYỄN CÔNG SƠN
NGHIÊN CỨU HẠ TẦNG CƠ SỞ KHÓA CÔNG KHAI
CHUYÊN NGÀNH: KỸ THUẬT VIỄN THÔNG
Mã số: 60.52.02.08
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI - NĂM 2014
Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: GS-TS. NGUYỄN BÌNH
Phản biện 1:…………………………………………….
Phản biện 2:…………………………………………….
Luận văn sẽ được bảo vệ trước hội đồng chấm luận văn thạc sĩ tại
Học viện Công nghệ Bưu chính Viễn thông
Vào lúc:….giờ… ngày….tháng….năm…
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
24
KẾT LUẬN
Qua các vấn đề đã trình bày ở trên ta thấy rằng tất cả vấn đề
đều liên quan đến an ninh bảo mật thông tin một vấn đề hết sức nhạy
cảm, có liên quan mật thiết đến chính trị, an ninh, tình báo, kinh tế và
đối ngoại… Hiện nay nước ta đang nghiên cứu, xây dựng và triển
khai một hệ thống PKI gồm một số CA. Về CA có khóa tập trung dự
kiến đặt Roof CA tại Ban Cơ yếu thuộc Bộ nội vụ, nó được sử dụng
chủ yếu cho các cơ quan Nhà ước hoặc cơ quan ban ngành liên quan.
Còn CA không mang khoá tập trung phục vụ cho tất cả lĩnh vực kinh
tế - xã hội như thương mại điện tử, thì sẽ được đặt tại Bộ Thông tin
và Truyền thông. Một câu hỏi tự nhiên đặt ra là: vậy ai sẽ chịu trách
nhiệm kiểm soát, giám sát về sự an toàn thông tin khi PKI đi vào hoạt
động? Để kiếm soát, giám sát an toàn thông tin trên hệ thống PKI,
trước hết chúng ta cần nghiên cứu ngay từ bây giờ, những lỗ hổng
của hệ thống và cách thức giám sat/kiểm soát như thế nào để đảm
bảo yêu cầu đặt ra.
Đây là nhiệm vụ rất khó khăn ví nó liên quan đến các kỹ
thuật cao cũng như kiến thức toán học sâu sắc. Do đó chúng ta nên
chuẩn bị trước như nhân lực, công nghệ và tổ chức thực hiện.
Trên đây là một số ý kiến của em về vấn đề nghiên cứu hạ
tầng khóa công khai tại Việt Nam. Tuy nhiên trong luận văn này vẫn
còn nhiều điểm cần phải nghiên cứu và hoàn thiện hơn, nhưng do
thời gian và trình độ nghiên cứu và tìm hiểu của bản thân có hạn nên
không tránh khỏi những nhược điểm và sai sót. Vì thế em rất mong
nhận được sự góp ý của các Thầy, Cô, Anh, Chị và các bạn.
Cuối cùng em xin chân thành cảm ơn GS.TS Nguyễn Bình
đã tận tình chỉ bảo, giúp đỡ em hoàn thành luận văn này.
Em xin chân thành cảm ơn!
1
LỜI MỞ ĐẦU
1. Lý do chọn đề tài
Chúng ta đã biết rằng hiện này Nhà nước ta đang tiến hành cải
cách hành chính, trong đó việc xây dựng một chính phủ điện tử đóng
một vai trò trọng tâm. Nói đến chính phủ điện tử là nói đến những
vấn đề như về hạ tầng máy tính, về con người, về tổ chức, về chính
sách, về an toàn – an ninh thông tin….
Trong đó đảm bảo an toàn – an ninh thông tin cho các dịch vụ
đóng một vai trò quan trọng vì nếu thông tin mà không đảm bảo an
ninh – an toàn, đặc biệt là những thông tin nhạy cảm thì việc xây
dựng chính phủ điện tử, thương mại điện tự trở nên vô nghĩa vì lợi
bất cập hại. Xây dựng một chính sách, đảm bảo an ninh – an toàn
thông tin liên quan chặt chẽ đến việc xây dựng một hệ thống cơ sở hạ
tầng mật mã khoá công khai, viết tắt là PKI (Public Key
Infrastrueture).
Trong thời đại công nghệ thông tin thì giấy tở không phải là
cách duy nhất chứng nhận thoả thuận giữa các bên. Ở nhiều nước tiên
tiến, các thoả thuận thông qua hệ thống thông tin điện tử giữa các bên
đã được hợp pháp hoá và có giá trị tương đương với các thoả thuận
thông thường về mặt pháp lý. Sự kiện này đánh dấu một bước nhảy
quan trọng trong việc phát triển chính phủ điện tử, thương mại điện
tử. Tuy nhiên cho đến nay các dự án vẫn chưa được triển khai rộng
rãi, do nhiều nguyên nhân khác nhau. Một trong những nguyên nhân
quan trọng đó là người dùng vẫn luôn cảm thấy không an tâm khi sử
dụng hệ thống. Chẳng hạn khi gửi mẫu tin có thể là văn bản, hình
ảnh, video….người nhận có quyền nghi ngờ: Thông tin đó có phải là
của đối tác không, nó có bị xâm phạm và những người khác có thể
giải mã nó được không…. Những vấn đề đặt ra này thu hút sự chú ý
của nhiều nhà khoa học trong lĩnh vực nghiên cứu bảo mật thông tin.
2
Đây cũng chính là nguyên nhân giải thích tại sao PKI ngày càng
được chú trọng nghiên cứu, phát triển.
Đến nay các nước tiên tiến trên thế giới đã ứng dụng thành công
PKI. Ở châu Á nhiều nước cũng đã có những ứng dụng tuy mức độ khác
nhau như ở Singapore, Hàn Quốc, Trung Quốc, Thái Lan… Trong đó
Sigapore, Hàn Quốc sẵn sàng tài trợchính, kỹ thuật, chuyên gia trong
lĩnh vực mật mã sang giúp Việt Nam xây dựng hệ thống PKI.
Do đây là một vấn đề mới, nhạy cảm, gắn liền với bảo mật
thông tin nên chúng ta cần những tìm hiểu sâu sắc và thận trọng về
vấn đề này. Đây là vấn đề cấp thiết nên chúng ta không thể không
tiến hành nghiên cứu.
Xuất phát từ lý do trên, được sự nhất trí của nhà trường và
thầy giáo hướng dẫn, em đã chọn đề tài “Nghiên cứu hạ tầng khóa
công khai” làm đề tài khoá luận tốt nghiệp của mình.
2. Mục đích nghiên cứu
- Tìm hiểu vài trò, cấu trúc, chức năng của PKI trong thương
mại điện tử.
- Tìm hiểu các chuẩn thông dụng của PKI
3. Đối tượng và phạm vi nghiên cứu
- Hạ tầng khóa PKI và các chuẩn
4. Phương pháp nghiên cứu
- Nghiên cứu các lý thuyết cơ bản liên quan đến mã hoá, mật
mã.
- Tham khảo tài liệu, tổng hợp, đánh giá.
5. Kết cấu luận văn
Ngoài phần mở đầu, kết luận và danh mục tài liệu tham khảo,
luận văn được kết cấu gồm 3 chương:
Chương 1: Tổng quan về PKI
Chương 2: Cấu trúc của các PKI
Chương 3: Các chuẩn và ứng dụng của khóa công khai
PKI
23
3.4.4 Liên bang nhận dạng (Federate identity)
3.4.5 Sự không từ chối (non-repudiation)
3.4.6 Các nghi thức
3.5 Kết luận chương III
Chương III đã trình bầy những khái niệm cơ bản, các phương
pháp, công nghệ và kỹ thu ật sử dụng mã hóa khóa công khai để
cung cấp một cơ sở hạ tầng bảo mật. Một cơ sở hạ tầng khóa công
khai cho phép một tổ chức tận dụng tốc độ của mạng Internet trong
khi vẫn bảo vệ các thông tin quan trọng khỏi việc nghe trộm, giả
mạo, và truy cập trái phép.
22
đường đi từ một trong những chìa khóa gốc của hệ thống vào một
khóa EE không phải là một vấn đề khó khăn miễn là số lượng giấy
chứng nhận tổ chức trong bộ nhớ của RP vẫn còn nhỏ.
Vấn đề khó khăn hơn có thể là làm sao để nhận được tất cả các
chứng chỉ trong đường dẫn mong muốn vào bộ nhớ của RP để nó có thể
làm phát hiện chuỗi. Có ba phương pháp cơ bản để làm điều này:
1. Có yêu cầu đi vào là một chuỗi hoàn chỉnh.
2. Có một thư mục giấy chứng nhận riêng nơi người ta có thể
tìm kiếm tất cả các giấy chứng nhận cho một khóa EE nhất định, để
cho phép lấy các chuỗi mong muốn từ dưới lên.
3. Có một URL trong một chứng chỉ trỏ đến một dịch vụ mà
sẽ cung cấp giấy chứng nhận mẹ
3.3.9 Multiple Roots, Cross-Certification, và Bridge Cas
3.3.10 EV certificate
Giấy chứng nhận Extended Validation (EV) là một trong những giấy
chứng nhận mà tổ chức phát hành đã được chăm chút hơn về mặt
xác minh danh tính của một EE muốn được chứng nhận.
Giấy chứng nhận EV không làm tăng các rào cản để đăng
nhập đối với giấy chứng nhận phát hành kinh doanh. Đây là mối quan
tâm của những người trong kinh doanh cấp giấy chứng nhận và do đó
chứng chỉ EV có giá trị kinh doanh. Giấy chứng nhận EV được công
nhận bởi các trình duyệt và có một dấu hiệu hiển thị được đưa ra cho
người dùng khi một chứng chỉ EV được sử dụng. Điều này cũng làm
tăng giá trị kinh doanh của nó bởi vì người dùng thích thấy chỉ dẫn có
thể nhìn thấy.
3. 4 Những thành phần cơ bản
3. 4. 1 Sự thu hồi
3. 4. 2 Các ID có ý nghĩa
3.4.3 Phân loại chứng nhận ID bằng sự chỉ định của ID
3
CHƯƠNG I
TỔNG QUAN VỀ PKI
1.1 Tìm hiểu mật mã học khóa công khai
1.1.1 Mật mã học khóa công khai
Để giải quyết vấn đề phân phối và thoả thuận khoá của mật
mã khoá đối xứng, năm 1976 Diffie và Hellman đã đưa ra khái niệm
về hệ mật mã khoá công khai và một phương pháp trao đổi công khai
để tạo ra một khoá bí mật chung mà tính an toàn được bảo đảm bởi
độ khó của một bài toán toán học cụ thể (là bài toán tính “logarit rời
rạc”). Hệ mật mã khoá công khai hay còn được gọi là hệ mật mã phi
đối xứng sử dụng một cặp khoá, khoá mã hoá còn gọi là khoá công
khai (public key) và khoá giải mã được gọi là khoá bí mật hay khóa
riêng (private key). Trong hệ mật này, khoá mã hoá khác với khoá
giải mã. Về mặt toán học thì từ khoá công khai rất khó tính được
khoá riêng. Biết được khoá này không dễ dàng tìm được khoá kia.
Khoá giải mã được giữ bí mật trong khi khoá mã hoá được công bố
công khai. Một người bất kỳ có thể sử dụng khoá công khai để mã
hoá tin tức, nhưng chỉ có người nào có đúng khoá giải mã mới có khả
năng xem được bản rõ.
Ưu và nhược điểm của hệ mật mã khoá công khai
Vấn đề còn tồn đọng của hệ mật mã khoá đối xứng được giải
quyết nhờ hệ mật mã khoá công khai. Chính ưu điểm này đã thu hút
nhiều trí tuệ vào việc đề xuất, đánh giá các hệ mật mã công khai.
Nhưng do bản thân các hệ mật mã khoá công khai đều dựa vào các
giả thiết liên quan đến các bài toán khó nên đa số các hệ mật mã này
đều có tốc độ mã dịch không nhanh lắm. Chính nhược điểm này làm
cho các hệ mật mã khoá công khai khó được dùng một cách độc lập.
Một vấn đề nữa nảy sinh khi sử dụng các hệ mật mã khóa
công khai là việc xác thực mà trong mô hình hệ mật mã đối xứng
không đặt ra. Do các khoá mã công khai được công bố một cách công
4
khai trên mạng cho nên việc đảm bảo rằng “khoá được công bố có
đúng là của đối tượng cần liên lạc hay không?” là một kẽ hở có thể bị
lợi dụng. Vấn đề xác thực này được giải quyết cũng chính bằng các
hệ mật mã khoá công khai. Nhiều thủ tục xác thực đã được nghiên
cứu và sử dụng như Kerberos, X.509… Một ưu điểm nữa của các hệ
mật mã khoá công khai là các ứng dụng của nó trong lĩnh vực chữ ký
số, cùng với các kết quả về hàm băm, thủ tục ký để bảo đảm tính toàn
vẹn của một văn bản được giải quyết.
1.1.2. Ứng dụng
1.2 Thuật toán và phân tích thuật toán
1.2.1 Thuật toán
1.2.2 Phân tích thuật toán
1.3 . Cơ sở hạ tầng khóa công khai (PKI)
1.3.1 PKI là gì?
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ã hóa công khai trong trao đổi thông tin.
Một cơ sở hạ tầng khóa công khai bao gồm:
Một nhà cung cấp chứng thực số (Certificate Authority: CA)
chuyên cung cấp và xác minh các chứng chỉ số. Một chứng chỉ bao
gồm khóa công khai hoặc thông tin về khóa công khai.
Một nhà quản lý đăng ký (Registration Authority: RA)
đóng vai trò như người thẩm tra cho CA trước khi một chứng chỉ số
được cấp phát tới người yêu cầu.
Một hoặc nhiều danh mục nơi các chứng chỉ số (với khóa
công khai của nó) được lưu giữ, phục vụ cho các nhu cầu tra cứu, lấy
khóa công khai của đối tác cần thực hiện giao dịch chứng thực số.
Một hệ thống quản lý chứng chỉ.
21
Hình 3.9 minh họa một hệ thống phân cấp giấy chứng nhận
X.509 bình thường Nó là một cấu trúc cây, với một phím chữ ký vào
thư mục gốc của cây. Các lá của cây là chứng chỉ EE những cấp
không - CA Ở giữa có thể là số lượng bất kì các lớp chứng chỉ trung
gian. Những trung gian CA có thể được triển khai vì lý do an ninh,
khả năng chịu lỗi, hoặc cả hai.
An ninh: Một CA gốc (trong đó chứa chìa khóa riêng cho
phím chữ ký gốc trong hình 3.9) cần bảo vệ khoá đó khỏi bị tổn hại.
Nếu nó đã bị tổn hại thì chữ ký đó phải bị huỷ bỏ, hiệu qủa nhất là
thu hồi các chứng chỉ ở tất cả các nhánh cây dưới nó. Nó là cách phổ
biến để một phím chữ ký gốc của một CA lớn được lưu giữ trong các
lớp của phần cứng và bảo vệ vật lý, không có kết nối mạng và được
truy cập bởi nhiều người. Mặt khác, CA áp chót có thể hoạt động như
một dịch vụ web trực tuyến. Nếu một trong số đó bị tổn hại, những
chứng chỉ EE đã ban hành sẽ phải được phát hành lại từ một CA thay
thế. Bằng cách trải tải ra trong số các CA áp chót, việc phục hồi lại
các tổn thương sẽ dễ dàng hơn.
Khả năng chịu lỗi: Một CA chạy trên phần cứng máy tính
(thường là một máy chủ, nhưng đôi khi một thiết bị phần cứng đặc
biệt) và giữ khóa riêng của mình trong bảo vệ lưu trữ. Nó dễ bị một số
sự cố: mất điện, mất mạng, hỏng hóc, và một loạt các sự cố khác,
những thảm hoạ môi trường (động đất, lửa, lũ lụt, tấn công quân sự…)
3.3.6 Những chi tiết của chứng chỉ X.509
3.3.8 Chuỗi Discovery
Mặc dù vấn đề chung của việc gửi một con đường mạch hở thông
qua một đồ thị có hướng tùy ý là một vấn đề khoa học máy tính phức
tạp, trong thực tế người ta thường có một số lượng nhỏ giấy chứng
nhận trong một cửa hàng địa phương. Mỗi chứng chỉ tạo thành một
cạnh trong đồ thị có hướng và các nút là chìa khóa. Khám phá một
20
ASN.1 DER có lợi thế là một định dạng nhị phân. Để so sánh
XML được mã hóa trong ASCII và bất kỳ dữ liệu nhị phân thực trong
XML phải được mã hóa thành ASCII (ví dụ, bằng Base64). CSEXP
là một định dạng nhị phân nhưng vẫn giữ được các yếu tố ngữ nghĩa
của ngôn ngữ S – expression.
3.3.3 Cơ sở dữ liệu X.500
X.500 là một cấu trúc dữ liệu hình cây, nơi mỗi nút được xác
định tại địa phương bằng một tập hợp các thuộc tính được đặt tên và
trên toàn cầu bởi trình tự của những thuộc tính đặt từ thư mục gốc
của cơ sở dữ liệu xuống nút đó. Chuỗi các bộ thuộc tính đó được gọi
là tên phân biệt của nút. nội dung của một mục X.500 được xác định
bằng giản đồ của nó. Một giản đồ đủ linh hoạt để ta có thể xây dựng
một cơ sở dữ liệu X.500 mà các thành phần của nó mang bất kì một
dạng thông tin nào, không chỉ văn bản mà còn là hình ảnh, âm
thanh…
3.3.5 Những cấp của X.509
root
CA1 CA2
CA3
CA4
EE1 EE2 EE3
Hình 3.9: Chuỗi chứng chỉ
5
1.3.2 Nhà cung cấp chứng thực số CA (Certificate Authority)
1.3.3 Chứng chỉ số
1.4 Một vài kiến trúc PKI hiện hành
1.4.1 Một số ứng dụng
1.4.2 Một số hệ thống PKI
1.5 Kết luận
Một vài năm trở lại đây PKI là một chủ đề nóng đối với các
doanh nghiệp lớn. Ở Việt Nam đây vẫn là một đề tài khá mới mẻ. Do
vậy tìm hiểu và xây dựng hạ tầng cơ sở xác thực khóa công khai
(PKI) là một cách tiếp cận cho một nền tảng mới. Từ đó nêu rõ vai
trò và ứng dụng của hạ tầng khóa công khai trong thương mại điện
tử. Tìm hiểu về các thuật toán sinh số ngẫu nhiên trong việc tạo khóa,
hàm băm, mã hóa, tạo chữ ký số
Trong chương này em đã trình bày về mật mã hóa khóa công
khai, ứng dụng và thuật toán từ đó khái quát hạ tầng khóa công khai
và một số ứng dụng. Đó là nội dung chính em trình bày ở trên.
6
CHƯƠNG II
CẤU TRÚC CỦA PKI
2.1. Hàm băm mật mã học
2.1.1. Hàm băm
Một hàm h được gọi là hàm băm nếu nó thỏa mãn một trong hai tính
chất sau:
a) Tính chất nén: h sẽ ánh xạ một đầu vào x có độ dài bit
hữu hạn tùy ý tới một đầu ra h(x) có độ dài bit n hữu hạn.
b) Tính chất dễ dàng tính toán: với h cho trước và một đầu
vào x, có thể dễ dàng tính được h(x).
2.1.2. Hàm băm mật mã học
2.1.3. Đảm bảo tính toàn vẹn dữ liệu
2.1.4. Một số hàm băm thông dụng
2.1.4.1 Hàm băm MD4
Hàm băm MD4 (Message Digest Algorithm 4): Là một hàm
băm 128bit được thiết kế bởi Ronald Rivest vào năm 1990. Mục tiêu
thiết kế của MD4 là để tìm được hai thông điệp có cùng mã băm thì
cần khoảng 2
64
phép toán, và để tìm được tiền ảnh của một hàm băm
thì cần khoảng 2
128
phép toán. Nhưng đến nay mục tiêu đó đã bị thất
bại. Xung đột của MD4 có thể tìm thấy với khoảng 2
20
phép toán.
2.1.4.2 Hàm băm MD5
Hàm băm MD5 là một hàm băm có độ dài 128 bit. Nó là hàm
băm cải tiến của MD4. Đầu vào là những khối 512bit, được chia cho
16 khối con 32bit. Đầu ra của thuật toán là một thiết lập của 4 khối
32bit để tạo thành một hàm băm 128bit duy nhất.
2.1.4.3 Họ hàm băm SHA
Thuật toán SHA là thuật toán băm mật được phát triển bởi
cục an ninh quốc gia Mỹ và được xuất bản thành chuẩn của chính
phủ Mỹ bởi viện công nghệ và chuẩn quốc gia Mỹ. Họ hàm băm
SHA bao gồm 5 thuật toán băm an toàn là: SHA – 1, SHA – 224,
19
X.500 đã được sản xuất như một thư mục đơn trên toàn thế
giới của tất cả mọi người và các thiết bị có thể tiếp cận được bởi các
mạng lưới thông tin liên lạc khác nhau. Có những sản phẩm khác
nhau được xây dựng trên cơ sở dữ liệu của X.500.
Tiêu chuẩn X.509 đã được tạo ra để chuẩn hóa các chứng chỉ
ID trong các thư mục X.500 toàn cầu. Nó đã vượt qua những giấc mơ
của một thư mục X.500 toàn cầu và được sử dụng phổ biến hiện nay,
mặc dù một số giả định thiết kế của nó đã được vô hiệu bởi sự thiếu
hụt của thư mục toàn cầu.
3.3.1 Ngôn ngữ cấu trúc dữ liệu
X.509 và cấu trúc dữ liệu có liên quan được phân loại trong
bảng tóm tắt ký hiệu cú pháp ASN.1. ASN1 nắm bắt được cấu trúc
của các kiểu dữ liệu phức tạp (SET, SQUENCE, dãy các loại, vv)
trong một hình thức nhỏ gọn. ASN1 khác biệt với kiểu ngôn ngữ S -
expresion ở chỗ nó chỉ nắm bắt cú pháp. Hai cấu trúc chuẩn này,
dành cho các ngữ nghĩa khác nhau có sự diễn đạt gần giống nhau.
Dạng ngôn ngữ S expression xác định những cấu trúc có tên mà
những tên này có thể truyền tải những ý nghĩa về mặt ngữ nghĩa. Một
hiệu quả cụ thể của sự khác biệt này là người ta có thể viêt một cú
pháp duy nhất cho một ngôn ngữ S - epression, tạo ra một mã trong
bộ nhớ có thể sử dụng trực tiêp trong khi một phân tích cú pháp cho
ASN phải được tạo ra đặc biệt cho một đơn vị giao thức giữ liệu. Khi
các định dạng PDU thay đổi, phân tích cú pháp ASN.1 phải được
thay đổi theo và khi một thông báo ASN.1 được nhận và được phân
tích, phân tích cú pháp chính xác phải được đưa ra.
3.3.2 Mã hoá cấu trúc dữ liệu.
Một tập hợp các quy tắc mã hóa cho ASN.1 bao gồm một cú
pháp trừu tượng đối với một số PDU vào một trình tự cụ thể của byte.
Quy định mã hóa phân biệt (DER) được sử dụng cho chứng chỉ X509
và các cấu trúc liên quan. Tiền đề của DER là chỉ có một mã hóa cho
bất kỳ đối tượng nào.
18
3.2.5 Các phạm vi
Một phạm vi là một tập hợp các nguồn lực (hay phạm vi
khác) mà các chính sách kiểm soát truy cập giống nhau áp dụng, có
nghĩa là các chủ thể giống nhau thì được cấp quyền truy cập giống
nhau. Như một định nghĩa nhóm, một định nghĩa phạm vi có thể
được duy trì trong một cơ sở dữ liệu hoặc thể hiện như các chứng
nhận. Các đồ họa đại diện của một phạm vi thành viên tương tự như
đối với một nhóm (hình 3.5), nhưng nơi mà nhóm trải từ trái sang
phải, phạm vi tách ra, như minh họa trong hình 3.6.
3.2.6 Ưu điểm của các nhóm và các phạm vi
3.2.7 Thống nhất ký hiệu và các quy tắc bảo mật
3.2.8 quyết định ủy quyền
3.3 Chứng nhận X.509
Ngày nay hầu hết mọi người cho rằng PKI được giới hạn trong
các chứng nhận X.509 và các giao thức khác nhau và các dịch vụ hỗ
trợ sử dụng của nó.
7
SHA – 256, SHA – 384 và SHA – 512. Bốn thuật giải sau thường
được gọi chung là SHA – 2.
2.2 Chữ ký số
2.2.1 Giới thiệu
2.2.2 Định nghĩa
2.3 Mô hình PKI
2.3.1 Mô hình đơn
Đây là một mô hình tổ chức CA cơ bản và đơn giản nhất.
Trong mô hình CA đơn chỉ có một CA xác nhận tất cả các thực thể
cuối trong miền PKI. Mỗi người sử dụng trong miền nhận khóa công
khai của CA gốc (root CA) theo một số cơ chế nào đó. Trong mô
hình này không có yêu cầu xác thực chéo. Chỉ có một điểm để tất cả
người sử dụng có thể kiểm tra trạng thái thu hồi của chứng chỉ đã
được cấp. Mô hình này có thể được mở rộng bằng cách có thêm các
RA ở xa CA nhưng ở gần các nhóm người dùng cụ thể.
Hình 2.8: Mô hình CA đơn
Ưu điểm:
Mô hình này dễ triển khai và giảm tối thiểu được những vấn
đề về khả năng tương tác.
8
Nhược điểm:
- Không thích hợp cho miền PKI lớn vì một số người sử
dụng ở những miền con có những yêu cầu khác nhau
đối với những người ở miền khác.
- Có thể không có tổ chức nào tình nguyện vận hành CA đơn
hoặc một sô tổ chức lại có thể không tin tưởng vào
những người vận hành CA này vì một vài lý do nào đó.
- Việc quản trị và khối lượng công việc kỹ thuật của việc vận
hành CA đơn sẽ rất cao trong cộng đồng PKI lớn.
- Chỉ có 1 CA sẽ gây ra thiếu khả năng hoạt động và CA này
có thể trở thành mục tiêu tấn công.
2.3.2 Mô hình phân cấp
Mô hình này tương ứng với cấu trúc phân tầng với CA gốc
và các CA cấp dưới. CA gốc xác nhận với CA cấp dưới, các CA này
lại xác nhận các CA cấp thấp hơn. Các CA cấp dưới không cần xác
nhận các CA cấp trên.
Hình 2.9: Mô hình phân cấp PKI
17
cơ bản nhất là của người giữ khóa cá nhân – định danh rõ ràng là đại
diện tiện lợi của khóa công khai.
3.2.4 Các nhóm
Vì các hệ thống mở rộng, các định danh của những người giữ
khóa riêng lẻ không còn đủ nữa. Quản trị viên và người dùng bình
thường không có khả năng lưu giữ trong tâm trí hàng trăm, ít hơn
nhiều hàng ngàn người giữ khóa cá nhân. Không phải là họ sẵn sàng
tham gia tất cả các yêu cầu chỉnh sửa cá nhân để có một lớp đồ thị
logic kiểm soát truy cập đơn – với mỗi cá thể được liệt kê trong một
ACL cho mỗi tài nguyên mà cá nhân có thể cần phải truy cập. Để
việc quản lý dễ dàng hơn, hầu hết hệ thống sử dụng các nhóm có
tên(tập hợp các chủ thể/ người giữ khóa) và sử dụng một số tên phạm
vi (tập hợp các tài nguyên chia sẻ một chính sách kiểm soát truy cập).
Một nhóm được định nghĩa như một tập hợp các ID. Tập hợp
đó có thể được duy trì trong một cơ sở dữ liệu tại địa phương trên
máy tính của RP hoặc trong một số thư mục thường có sẵn hoặc nó
có thể được thể hiện bằng một tập hợp chứng nhận, mỗi chứng nhận
chỉ rõ một thành viên. Trong văn bản, cả chứng nhận thành viên hoặc
mục nhập cơ sở dữ liệu có thể được biểu diễn như sau:
Bằng đồ thị:
Sự khác biệt duy nhất giữa một định nghĩa định danh (hình 3.
5) và một nhóm thành viên (hình 3.5) là có sự đặc trưng hơn là lập
bản đồ cho cùng một nhóm ID. Tuy nhiên, đó là một hạn chế nhân
tạo, và chương này bỏ qua sự phân biệt đó từ đây.
(K
1
,N)
(K
A
,G)
(K
1
, N)
(K
A,
G)
Hình 3.5: Nhóm thành viên
16
cập hay không và nó cũng sẽ đi cùng yêu cầu khi việc truy cập được
cho phép. Mô hình này giả định mọi thứ có giá trị trong nguồn tài
nguyên, vì vậy chỉ có nguồn được bảo vệ.
3.2.1 Những suy luận logic kiểm soát truy cập
Một quyết định kiểm soát truy cập dựa trên một chuỗi suy
luận logic từ PoP của chủ thể tới cách giải quyết của máy tính đưa ra
quyết định.
Chuỗi logic đơn giản nhất chỉ có một bước, trong đó chính
sách bảo mật cho một số tài nguyên trực tiếp liệt kê các khóa công
khai của các công ty cho phép truy cập. Những mẫu như vậy được sử
dụng trong ANSI X9. 59, trong đó, một ngân hàng lưu trữ trực tiếp
từng khóa công khai của khách hàng trong chính cơ sở dữ liệu tài
khoản của chính khách hàng đó và từ những khóa công khai đó để
nhận thực khách hàng.
Với cách đặc thù hơn, chuỗi suy luận cũng dài hơn, bao gồm
cả tên cho những người giữ khóa hay thuộc tính của người giữ khóa
hay tên của các nhóm. Điều này nhằm hỗ trợ những chuỗi suy luận
dài hơn đó, mà PKI được sử dụng.
3.2.2 Kiểm soát truy cập tại nguồn
Có rất nhiều cách để mô tả cách thực hiện để đưa tới một
quyết định ủy quyền, nhưng chương này sẽ bắt đầu với cơ chế cơ bản
nhất: danh sách kiểm soát truy cập (ACL). Có hai dạng thông thường
của ACL: mặc định từ chối và mặc định cho phép. Sự lựa chọn giữa
hai dạng này có liên quan trực tiếp tới PKI được sử dụng để hỗ trợ
chúng.
3.2.3 Các ID
Bất kỳ chính sách bảo mật nào cũng đều được tạo ra bởi con
người. Cả những người quản trị và những người dùng thông thường
đều không có khả năng xử lý những khóa công khai như các chuỗi số
và có ý nghĩa trong số chúng. Người sử dụng cần một định danh có
thể tiêu hóa được để xử trí trong khi thiết lập chính sách. Định danh
9
Trong mô hình này, mỗi thực thể sẽ giữ bản sao khóa công
khai của Root CA và kiểm tra đường dẫn của chứng chỉ bắt đầu từ
chữ ký của CA gốc. Đây là mô hình PKI tin cậy sớm nhất.
Ưu điểm:
- Mô hình này có thể dùng được trực tiếp cho những doanh
nghiệp phân cấp và độc lập, cũng như những tổ chức chính phủ quân
đội.
- Cho phép thực thi chính sách và chuẩn thông qua hạ tầng
cơ sở.
- Dễ vận hành giữa các tổ chức khác nhau.
Nhược điểm:
Có thể không thích hợp đối với môi trường mà mỗi miền
khác nhau cần có chính sách và giải pháp PKI khác nhau.
Có thể không thích hợp cho những mối quan hệ ngang
hàng giữa chính phủ và doanh nghiệp.
Những tổ chức thiết lập CA trước có thể không muốn trở
thành một phần của mô hình.
Có thể gây ra sự trội hơn của sản phẩm đối với vấn đề
khả năng tương tác.
Chỉ có một CA gốc nên có thể gây ra một số vấn đề như
thiếu khả năng hoạt động. Thêm vào đó, trong trường hợp khóa bí
mật của CA bị xâm phạm, khóa công khai mới của CA gốc phải được
phân phối đến tất cả các người sử dụng cuối trong hệ thống theo một
số cơ chế khác nhau.
Mặc dù có những nhược điểm song mô hình này vẫn thích
hợp với yêu cầu của tổ chức chính phủ vì cấu trúc phân cấp tự nhiên
sẵn có.
2.3.3. Mô hình mắt lưới
Mô hình mắt lưới là một mô hình đưa ra sự tin tưởng giữa
hai hoặc nhiều CA. Mỗi CA có thể ở trong mô hình phân cấp hoặc
trong mô hình mắt lưới khác. Trong mô hình này không chỉ có một
10
CA gốc mà có nhiều hơn một CA gốc phân phối sự tin cậy giữa các
CA với nhau. Thông qua việc xác thực chéo giữa các CA gốc, các
CA có thể tin tưởng lẫn nhau. Xác thực chéo liên kết các miền khác
nhau bằng việc sử dụng thuộc tính BasicConstraints, Name
Constraints, PolicyMapping và PolicyConstraints của X.509 v3 mở
rộng.
Hình 2.10: Mô hình mắt lưới
Ưu điểm:
Linh hoạt hơn và phù hợp hơn với nhu cầu giao dịch hiện
nay.
Cho phép những nhóm người sử dụng khác nhau có thể tự do
phát triển và thực thi những chính sách và chuẩn khác nhau.
Cho phép cạnh tranh.
Không phải là mô hình phân cấp và khắc phục được những
nhược điểm của mô hình phân cấp tin cậy ở trên.
Nhược điểm:
Phức tạp và khó để quản lý vì việc xác thực chéo.
15
CHƯƠNG III
CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI
3.1 Giới thiệu
Vai trò và thuật ngữ
Trong một PKI có 3 vai trò của các thực thể và chúng được
nhắc đến bởi tên gọi và từ viết tắt như sau:
Người phát hành (Issuer) – người phát hành các
chứng nhận hay người lập ra một thư mục hay cơ sở
dữ liệu mà bao gồm ID hay thuộc tính có thể được
bao hàm trong chứng nhận.
End Entity (EE) – chủ thể của chứng nhận – người
nắm giữ chìa khóa mật, người mà có khóa lien kết
công khai ở trong chứng chỉ được cấp.
Relying party (RP) – thực thể đọc các chứng nhận
(hay lấy thông tin từ một thư mục tương đương hay
cơ sở dữ liệu nhập vào) và sử dụng các thông tin đó
để làm ra một quyết định bảo mật.
3.2 Các quyết định bảo mật
Mục đích của một PKI là thúc đẩy việc tạo ra các quyết định
bảo mật. Cấu trúc mà trong đó các quyết định trên được tạo ra, được
thể hiện bởi mô hình kiểm soát truy cập
Một yêu cầu truy cập vào một nguồn sẽ được đưa tới một cửa
bảo vệ của mã nguồn đó, chính cửa này sẽ quyết định cho phép truy
Yêu
cầu
Bảo
vệ
Tài nguyên
Hình 3.1: Mô hình kiểm soát truy cập
14
này, hệ thống chứng thư số của Hàn Quốc đã phát triển rất nhanh
trong những năm gần đây, đạt 11 triệu thuê bao vào năm 2005 và hơn
18 triệu thuê bao vào năm 2008, đến nay đã có khoảng gần 20 triệu
chữ số được cấp phát trên tổng số dân là 50 triệu người.
Hình 2.11: Mô hình hệ thống chứng thực số tại Hàn Quốc [TL số 3]
2.5 Kết luận chương II
11
Khó có khả năng thực hiện và có thể không hoạt động vì
những lý do giao tác.
Phần mềm người sử dụng có thể gặp phải một số vấn đề khi
tìm chuỗi chứng chỉ.
Để tìm chuỗi chứng chỉ CRLs với những mô hình khác thì
việc sử thư mục có thể trở nên khó hơn.
2.4. Ứng dụng của hạ tầng khóa công khai
2.4.1. Mã hóa
Khi người gửi đã mã hóa thông tin bằng khóa công khai của
một người thì chắc chắn chỉ có người đó mới giải mã được thông tin
để đọc. Trong quá trình truyền thông tin qua internet, dù có đọc được
các gói thông tin đã mã hóa này kẻ xấu cũng không thể biết được
trong gói tin có thông tin gì. Đây là một tính năng rất quan trọng,
giúp người sử dụng hoàn toàn tin cậy về khả năng bảo mật thông tin.
Những trao đổi thông tin cần bảo mật cao, chẳng hạn giao dịch liên
ngân hàng, ngân hàng điện tử, thanh toán bằng thẻ tín dụng đều cần
phải có chứng chỉ số để đảm bảo an toàn.
2.4.2. Chống giả mạo
Khi một người gửi đi một thông tin có thể là một dữ liệu
hoặc một Email, có sử dụng chứng chỉ số, người nhận sẽ kiểm tra
được thông tin của người gửi có bị thay đổi hay không. Bất kỳ một sự
sửa đổi hay thay thế nội dung của thông điệp gốc đều sẽ bị phát hiện.
Địa chỉ mail, tên domain… đều có thể bị kẻ xấu làm giả để đánh lừa
người nhận ăn cắp thông tin quan trọng. Tuy nhiên, chứng chỉ số thì
không thể làm giả nên việc trao đổi thông tin có kèm chứng chỉ số
luôn đảm bảo an toàn.
2.4.3. Xác thực
Khi sử dụng một chứng chỉ số, người nhận – có thể là đối tác
kinh doanh, tổ chức hoặc cơ quan chính quyền – sẽ xác định rõ được
danh tính của bạn. Có nghĩa là dù không nhìn thấy bạn nhưng qua hệ
thống chứng chỉ số mà bạn và người nhận cùng sử dụng, người nhận
12
sẽ biết chắc chắn đó là bạn chứ không phải ai khác. Xác thực là một
tính năng rất quan trọng trong việc giao dịch điện tử qua mạng, cũng
như các thủ tục hành chính với cơ quan pháp quyền. Các hoạt động
này cần phải xác minh rõ người gửi thông tin để sử dụng tư cách
pháp nhân. Đây chính là nền tảng của một chính phủ điện tử, môi
trường cho phép công dân có thể giao tiếp. Có thể nói chứng chỉ số là
một phần không thể thiếu, là phần cốt lõi của chính phủ điện tử.
2.4.4 Chống chối bỏ nguồn gốc
Khi sử dụng một chứng chỉ số, người sử dụng phải chịu trách
nhiệm hoàn toàn về những thông tin mà chứng chỉ số đi kèm. Trong
trường hợp người gửi chối cãi, phủ nhận một thông tin nào đó không
phải do mình gửi (chẳng hạn qua mạng) chứng chỉ số mà người nhận
có được sẽ là bằng chứng khẳng định người gửi là tác giả của thông
tin đó. Trong trường hợp chối bỏ, CA cung cấp chứng chỉ số cho hai
bên sẽ chịu trách nhiệm xác minh nguồn gốc thông tin chứng tỏ
nguồn gốc thông tin được gửi.
2.4.5 Chữ ký điện tử
Email đóng vai trò khá quan trọng trong trao đổi thông tin
hàng ngày của chúng ta vì ưu điểm nhanh, rẻ và dễ sử dụng. những
thông điệp có thể gửi đi nhanh chóng qua internet đến khách hàng,
đồng nghiệp, nhà cung cấp và đối tác. Tuy nhiên, email rất dễ bị đọc
bởi các hacker. Những thông điệp có thể bị đọc hay giả mạo trước
khi đến người nhận. Bằng việc sử dụng chứng chỉ cá nhân, người sử
dụng sẽ ngăn ngừa được các nguy cơ này mà vẫn không làm giảm
những lợi thế của Email. Với chứng chỉ số cá nhân, người sử dụng có
thể tạo thêm một chữ ký điện tử vào email như một bằng chứng xác
nhận của mình. Chữ ký điện tử cũng có tính năng xác thực thông tin,
toàn vẹn dữ liệu và chống chối bỏ nguồn gốc.
Ngoài ra, chứng chỉ số cá nhân còn cho phép người dùng có
thể chứng thực mình với một web server thông qua giao thức bảo mật
SSL. Phương pháp chứng thực dựa trên chứng chỉ số được đánh giá
13
là tốt, an toàn bảo mật hơn phương pháp chứng thực truyền thống
dựa trên mật khẩu.
2.4.6. Bảo mật website
Khi website sử dụng cho mục đích thương mại điện tử hay
cho những mục đích quan trọng khác, những thông tin trao đổi giữa
bạn và khách hàng có thể bị lộ. Để tránh nguy cơ này bạn có thể dùng
chứng chỉ số SSL server để bảo mật cho website.
Chứng chỉ số SSL server sẽ cho phép bạn lập cấu hình
website của mình theo giao thức bảo mật SSL. Các tính năng nổi bật:
Thực hiện mua bán bằng thẻ tín dụng
Bảo vệ những thông tin cá nhân nhạy cảm của khách hàng
Đảm bảo Hacker không thể dò tìm được mật khẩu
2.4.7 Đảm bảo phần mềm
Chứng chỉ số nhà phát triển phần mềm sẽ cho phéo bạn ký
vào các script, ActiveX control, các file dạng EXE, CAB, DLL…
như vậy, thông qua chứng chỉ số bạn sẽ đảm bảo tính hợp pháp cũng
như nguồn gốc xuất xứ của sản phẩm. Hơn nữa người dùng có thể
xác thực được bạn là nhà cung cấp, phát hiện được sự thay đổi của
chương trình (virus, crack, bản lậu,…).
2.5 Ví dụ hệ thống PKI của Hàn Quốc
Hàn Quốc là một quốc gia đi đầu trong việc sử dụng mô hình
hệ thống Chứng thực số phân cấp. Họ đã đầu tư 9,3 triệu USD để xây
dựng lên hệ thống PKI cho quốc gia. Trong đó có sự đóng góp của
các đơn vị: Korea Telecom, Kosscom, KFTC, MIC. Mô hình này
được thiết kế dựa trên quy hoạch và định hướng của nhà nước. Các
CA chịu sự quản lý và giám sát từ các cơ quan nhà nước, cụ thể là Bộ
thông tin truyền thông và Bộ nội vụ. Đối với những CA công cộng,
Bộ thông tin truyền thông quy hoạch 1 root CA (KISA) và 6 CA
công cộng (SignGate, SignKorea, Yesign, NCASign, CrossCert,
TradeSign). Bộ nội vụ phụ trách root CA Chính phủ, quản lý và cấp
phép cho các CA cung cấp dịch vụ cho khối Chính phủ. Với mô hình