Tải bản đầy đủ (.docx) (64 trang)

Nghiên cứu triển khai hệ thống PKI dựa trên phần mềm mã nguồn mở EJBCA

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 (1.64 MB, 64 trang )

MỤC LỤC

DANH SÁCH HÌNH

DANH MỤC CÁC TỪ VIẾT TẮT
AES
API
APXS
CA
CDP:
CRL
CRR
CPS
1

Advanced Encryption Standard
Tiêu chuẩn mã hóa tiên tiến
Application Programming Interface
Giao diện lập trình ứng dụng
Apache Extention (tool)
Công cụ mở rộng Apache
Certificate Authority
Thẩm quyền chứng thực
CRL Distribution Point
Điểm phân phối CRL
Certificate Revocation List
Danh sách huỷ bỏ chứng chỉ
Certificate Revocation Request
Yêu cầu huỷ bỏ chứng chỉ
Certification Pratice Statement
Hướng dẫn thực hành chứng chỉ


1


CSR
DES
DN
DSO
Email
FTP
HTTP
HTTPS:
IDEA:
IKE:
IMAP
ITU:
LDAP:
MAC
MD:
NCSA
OCSP
OSI
PEM:
PGP:
PKCS:
PKI:
POP:
2

Certificate Signing Request
Yêu cầu ký chứng chỉ

Data Encryption Standard
Tiêu chuẩn Mã hóa Dữ liệu
Distingished Name
Tên phân biệt
Dynamic Shared Object
Đối tượng chia sẻ động
Electronice mail
Thư điện tử
File Transfer Protocol
Giao thức truyền tập tin
Hypertext Transfer Protocol
Giao thức truyền siêu văn bản
Secure Hypertext Transfer Protocol
Giao thức truyền siêu văn bản an toàn
International Data Encryption AlgorithmThuật toán mã hoá dữ liệu quốc tế
Internet Key Exchange
Trao đổi khoá Internet
Internet Message Access Protocol
Giao thức truy cập thông báo Internet
Internet Telecommunication Union
Liên minh viễn thông quốc tế
Lightweight Directory Access Protocol
Giao thức truy cập nhanh các thư mục
Message Authentication Code
Mã xác thực thông báo
Message Degist
Tóm lược thông báo
Online Certificate Status Protocol
Giao thức trạng thái chứng chỉ
Open System Interconnection

Mô hình kết nối các hệ thống mở
Privacy Enhanced Mail
Thư riêng tư tăng cường
Pretty Good Privacy
Public Key CryptoGraphy Standards
Chuẩn mật mã khoá công khai
Pulic Key Infracstructure
Cơ sở hạ tầng khóa công khai
Post Office Protocol
2


RSA:
SCEP:
SHA:
S/MIME
SMTP
SPKC
SSH
TCP/IP
TLS

Rivest Shamir Adleman
Simple Certificate Enrollment Protocol
Giao thức đăng ký chứng chỉ đơn giản
Secure Hash Algorithm
Thuật toán băm
Secure Multipurpose Internet Mail Extensions
Simple Mail Transfer Protocol
Giao thức truyền thư đơn giản

Simple Public Key Certificate
Chứng chỉ khoá công khai đơn giản
Secure Shell
Transmission Control Protocol /Internet Protocol
Giao thức điều khiển truyền thông/giao thức Internet
Transport layer Security
Giao thức đảm bảo an toàn lớp vận chuyển

LỜI NÓI ĐẦ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 khách hàng dùng email trên các mạng công cộng. Hầu hết các thông
3

3


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ã hóa khoá 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ày.
PKI đang trở thành một phần trung tâm của các kiến trúc an toàn dà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 bản chất là một hệ thống công nghệ vừa mang tính tiêu chuẩn, vừa
mang tính ứng dụng được sử dụng để khởi tạo, lưu trữ và quản lý các chứng
thực điện tử cũng như các mã khoá công khai và cá nhân. Sáng kiến PKI ra
đời năm 1995, khi mà các tổ chức công nghiệp và các chính phủ xây dựng các
tiêu chuẩn chung dựa trên phương pháp mã hoá để hỗ trợ một hạ tầng bảo mật
trên mạng Internet. Tại thời điểm đó, mục tiêu được đặt ra là xây dựng một bộ
tiêu chuẩn bảo mật tổng hợp cùng các công cụ và lý thuyết cho phép người sử
dụng cũng như các tổ chức (doanh nghiệp hoặc phi lợi nhuận) có thể tạo lập,
lưu trữ và trao đổi các thông tin một cách an toàn trong phạm vi cá nhân và
công cộng.
PKI ngày 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ách
thức xây dựng PKI đó là dựa trên mã nguồn mở EJBCA.
Đề tài “Nghiên cứu, xây dựng hệ thống PKI dựa trên mã nguồn mở
EJBCA” được thực hiện với mục đích tìm hiểu, nghiên cứu và xây dựng PKI
dựa trên mã nguồn mở EJBCA. Nội dung đề tài bao gồm các khái niệm tổng
quan về mật mã, các khái niệm liên quan tới PKI , các mô hình và các kiểu
kiến trúc của PKI. Về phần EJBCA, đề tài nêu lên được đặc điểm, chức năng
cũng như so sánh giữa EJBCA với phần mềm mã nguồn mở OpenCA.
Với giới hạn về các vấn đề tìm hiểu và nghiên cứu, nội dung tìm hiểu đề
tài của em bao gồm phần.
Chương I: Cơ sở mật mã khoá công khai và khoá bí mật.
4

4


Chương I trình bày về mật mã khoá bí mật và mật mã khoá công khai
cùng các thuật toán được sử dụng trong mật mã. Chương I cũng nêu ra khái

niệm về chữ ký số, hàm băm và bản tóm lược thông báo.
Chương II: Tổng quan về PKI.
Chương này trình bày về các khái niệm của PKI và các khái niệm có liên
quan tới PKI. Chương này nêu lên mục tiêu, chức năng cơ bản của PKI,
những khía cạnh an toàn mà PKI cung cấp. Mục đích của chương này là thể
hiện cái nhìn tổng quan nhất về PKI.
Chương III: Các thành phần và cách thức làm việc của PKI, các mô hình
và các kiểu kiến trúc của PKI. Chương II đã nêu lên những cái nhìn tổng quan
nhất về PKI, còn chương III khai thác sâu hơn về các khía cạnh kỹ thuật được
sử dụng trong PKI, cách thức làm việc của PKI và các kiểu kiến trúc, các mô
hình của PKI.
Chương IV: Xây dựng mô hình PKI dựa trên mã nguồn mở EJBCA
Chương này trình bày về mã nguồn mở EJBCA: Cấu trúc, những đặc điểm
so sánh của EJBCA với OpenCA. Đồng thời là triển khai một hệ thống PKI
đơn giản dựa trên EJBCA.

CHƯƠNG I: CƠ SỞ MẬT MÃ HỌC
Mật mã đã được sử dụng từ rất lâu đời. Các hình thức mật mã sơ khai đã
được tìm thấy từ khoảng bốn nghìn năm trước trong nền văn minh Ai Cập cổ
đại. Mật mã đã và đang tồn tại hàng nghìn năm lịch sử và hiện vẫn đang được
sử dụng rất rộng rãi để giữ bí mật trong truyền tin đặc biệt trong các lĩnh vực
quân sự, chính trị, an ninh và quốc phòng. Mật mã về cơ bản được chia thành
hai loại chính là mật mã khóa bí mật (hay còn gọi là mật mã đối xứng) và mật
mã khóa công khai (hay còn gọi là mật mã phi đối xứng).
Để có thể truyền tin sử dụng mật mã thì hai bên truyền tin phải có khóa
5

5



Một khóa mã hóa là một mẫu thông tin đặc biệt được kết hợp với một
thuật toán để thi hành mã hóa và giải mã. Mỗi khóa khác nhau có thể tạo ra
các văn bản mã hóa khác nhau, và nếu ta không chọn đúng khóa thì không thể
nào mở được dữ liệu đã mã hóa , cho dù biết được mã hóa văn bản dùng thuật
toán gì. Sử dụng khóa càng phức tạp, mã hóa càng mạnh.
Việc chuyển đổi từ bản tin ban đầu thành bản tin mã hoá được gọi là sự
mã hoá, sự chuyển đổi ngược lại từ bản tin mã hoá thành bản tin ban đầu
được gọi là giải mã.
Bản tin ban đầu được gọi là bản rõ, bản tin ban đầu được mã hoá sẽ trở
thành bản mã. Toàn bộ cơ chế bí mật đó được gọi là mật mã.
1.1.Mật mã khoá bí mật
1.1.1.Giới thiệu về mật mã khoá bí mật và các khái niệm có liên quan
Trong mật mã đối xứng các bên tham gia liên lạc sử dụng cùng một khóa
để mã hóa và giải mã. Trước khi truyền tin, hai thực thể A và B cùng thỏa
thuận với nhau một khóa dùng chung (K). Thực thể A dùng khóa đó để mã
hóa bản tin (eK) sau đó gửi cho thực thể B. Thực thể B dùng khóa K, thực hiện
phép giải mã (dK) để giải mã mã nhận được.
Khóa bí mật phải được dữ bí mật.

1.1.2.Một vài các thuật toán sử dụng trong mật mã khoá đối xứng
a. DES
Hệ mật DES được xây dựng tại Mỹ trong những năm 70 theo yêu cầu của
Văn phòng Quốc Gia về chuẩn và được sự thẩm định của an ninh quốc gia.
DES kết hợp cả hai phương pháp thay thế và chuyển dịch.
DES là một mật mã khối. Độ dài của mỗi khối là 64 bit.
Khoá dùng trong DES có độ dài tổng thể là 64 bit, tuy nhiên chỉ có 56 bit
thực sự được dùng, 8 bit còn lại dùng cho việc kiểm tra.
Đây đã từng là thuật toán mật mã được sử dụng rộng rãi nhất .
b.IDEA
IDEA là một thuật toán mã hoá khối.

6

6


IDEA tao thác trên từng khối 64 bit, mã khối 64bit plaintext thành khối
64bit ciphertext.
Độ dài khoá khoá dùng trong thuật toán IDEA là 128 bit.
c. Triple DES

3DES (Triple DES), là thuật toán mã hóa khối trong đó khối thông tin 64
bit sẽ được lần lượt mã hóa 3 lần bằng thuật toán mã hóa DES với 3 khoá
khác nhau. Do đó, chiều dài khóa mã sẽ lớn hơn và độ an toàn sẽ cao hơn so
với DES do 3DES dùng 3 khóa khác nhau để mã hóa dữ liệu. Bộ xử lý thực
hiện các bước sau :
Khóa đầu tiên dùng để mã hóa dữ liệu. Sau đó, khóa thứ hai sẽ dùng để
giải mã dữ liệu vừa được mã hóa. Cuối cùng, khóa thứ ba sẽ mã hóa lần thứ
hai. Toàn bộ quá trình xử lý của 3DES tạo thành một thuật giải có độ an toàn
cao. Nhưng bởi vì đây là một thuật giải phức tạp nên thời gian thực hiện sẽ
lâu hơn, gấp 3 lần so với phương pháp DES.
d.CAST-128
Là một thuật toán mật mã được đặt tên theo tên người phát triển là Carlisle
Adams và Stafford Tavares.
Chiều dài khoá là 128 bit.
e.AES
AES là một thuật toán mã hoá khối.
AES làm việc với khối dữ liệu 128 bít và khóa có độ dài 128, 192 hoặc
256 bít.

7


7


Hình 1: Mật mã khoá bí mật

1.2.Mật mã khoá công khai
1.2.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/khóa
riêng. 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.

8

8


Hình 2: Mật mã khoá công khai

1.2.2. Các thuật toán sử dụng trong mật mã khoá công khai
a. 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.
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
việ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.
Độ an toàn của hệ thống RSA dựa trên 2 vấn đề của toán học: bài toán
phân tích ra thừa số nguyên tố các số nguyên lớn và bài toán RSA.
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).

9

9


b.Phương thức trao đổi khoá Diffie Hellman
Phương thức này được phát minh bởi Whitfield Diffie và Matty Hellman ở
Standford.
Đây là sơ đồ khoá công khai đầu tiên. Tuy nhiên, đó không phải là một sơ
đồ mã hoá khoá công khai thực sự, mà chỉ dùng cho trao đổi khóa.
Các khoá bí mật được trao đổi bằng cách sử dụng các trạm trung gian
riêng tin cậy. Phương pháp này cho phép các khoá 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 khoá Diffie-Hemall 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 khoá 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ó.
1.3. Chữ ký số
Một trong những ứng dụng của mật mã khóa công khai là chữ ký số.
Chữ ký số là một phần dữ liệu được đính kèm với bản tin, dùng để nhận
dạng và xác thực người gửi và dữ liệu của bản tin, sử dụng mã hoá khoá công

khai. Người gửi sử dụng hàm hash một chiều để tạo ra một bản mã hash có độ
dài 32 bit từ dữ liệu của bản tin. Sau đó, người gửi sẽ mã hoá bản mã hash
đó(hash-code) bằng khoá riêng của người gửi. Người nhận sẽ tính toán lại mã
hash đó từ dữ liệu đó và giải mã bản mã hash đó bằng khoá công khai của
người gửi. Nếu hai mã hash đó giống nhau, thì người nhận có thể chắc chắn
rằng dữ liệu đó không bị sửa đổi và dữ liệu đó đúng là của người gửi.
1.3.1.Quá trình ký
Đầu tiên, thông báo được tính toán bởi hàm băm một chiều , hàm này sẽ
tính toán thông báo và trả về một bản tóm lược thông báo (message digest),
hàm băm một chiều đảm bảo rằng bản tóm lược thông báo này là duy nhất và
bất kỳ một sửa đổi dù nhỏ nhất trên thông báo cũng sẽ gây ra thay đổi cho bản
tóm tắt này. Sau đó người gửi sẽ dùng khoá riêng của mình mã hoá bản tóm
tắt này. Nội dùng sau khi được mã hoá chính là chữ ký số (digital signature)
của thông báo đó được ký bởi người gửi. Chữ ký số này sẽ được gửi tới cho
người nhận kèm với thông báo.

10

10


Hình 3: Quá trình ký số
1.3.2.Quá trình kiểm tra chữ ký số
Khi người nhận nhận được thông báo, để kiểm tra tính hợp lệ của nó, đầu
tiên người nhận sẽ dùng khoá công khai của người gửi để giải mã chữ ký số.
Kết quả của quá trình giải mã chữ ký số là bản tóm lược thông báo của người
gửi tạo ra. Sau đó, người nhận dùng hàm băm một chiều để tính toán bản tóm
tắt qua nội dung của thông báo một lần nữa rồi lấy kết quả đem so sánh với
bản tóm lược thông báo vừa được giải mã ở trên, nếu kết quả giống nhau thì
quá trình kiểm tra thành công. Ngược lại có thể kết luận đây là một thông báo

đã bị giả mạo hoặc thông tin đã bị thay đổi trên quá trình gửi đi.

11

11


Hình 4: Quá trình kiểm tra chữ ký số
1.4. Hàm hash
1.4.1.Khái niệm hàm hash
Hàm hash (hash function) là hàm một chiều mà khi ta đưa một khối dữ
liệu có độ dài bất kỳ qua hàm này thì sẽ tạo ra một chuỗi bít có độ dài cố định
ở đầu ra. Kết quả ở đầu ra gọi là bản tóm lược thông báo (message digest)
Hash có thể đảm bảo tính toàn vẹn và xác thực.
Thuật toán hash không thể được dịch ngược trở lại dữ liệu ban đầu vì vậy
được gọi là thuật toán mã hoá một chiều.
1.4.2. Tóm lược thông báo
Bản tóm lược thông báo được coi là một “dấu vân tay” số của bản tin. Bản
tóm lược thông báo được tạo ra từ hàm hash trên dữ liệu của bản tin.
Thuật toán tóm lược thông báo có hai đặc điểm quan trọng.
Đầu vào như nhau thì luôn luôn tạo ra đầu ra như nhau nhưng đầu vào
khác nhau thì có thể không bao giờ tạo ra đầu ra như nhau.
Không thể xác định được bản tin thật sự từ bản tóm lược thông báo
Bản tóm lược thông báo được sử dụng để đảm bảo rằng dữ liệu bản tin
không bị thay đổi trong suốt quá trình truyền. Bản tóm lược thông báo được
mã hoá bằng khoá riêng của người gửi để tạo nên chữ ký số.
12

12



CHƯƠNG II: TỔNG QUAN VỀ PKI VÀ CA
2.1. Lịch sử phát triển PKI
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à xác 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 trong đó bao gồm thiết lập khóa, xác 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ủ
để 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 .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.
13

13


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.
Tới nay, những nỗ lực hoàn thiện PKI vẫn đang được đầu tư và thúc đẩy.
Và để hiện thực hoá ý tưởng tuyệt vời này, các tiêu chuẩn cần phải được
nghiên cứu phát triển ở các mức độ khác nhau bao gồm: mã hoá, truyền thông
và liên kết, xác thực, cấp phép và quản lý. Tuy nhiên, hầu hết các công nghệ
hình thành từ ý tưởng này đã trở nên chín muồi và một số đã bước vào giai
đoạn "lão hoá". Nhiều chuẩn bảo mật trên mạng Internet, chẳng hạn Secure
Sockets Layer/Transport Layer Security (SSL/TLS) và Virtual Private
Network (VPN), chính là kết quả của sáng kiến PKI.
Quá trình nghiên cứu và phát triển PKI là một quá trình lâu dài và cùng
với nó, mức độ chấp nhận của người dùng cũng tăng lên một cách khá chậm
chạp. Cũng giống như với nhiều tiêu chuẩn công cộng khác, tỷ lệ người dùng
chấp nhận sẽ tăng lên chỉ khi các chuẩn đó trở nên hoàn thiện, chứng minh
được khả năng thực sự của nó, và khả năng ứng dụng và hiện thực hoá của nó
là khả thi (cả về khía cạnh chi phí lẫn thực hiện).
2.2. Tình hình PKI tại Việt Nam
Trước nhu cầu sử dụng PKI, ở Việt nam, có một số tổ chức đã triển khai

hoạt động cung cấp dịch vụ chứng thực trong lĩnh vực này. Trong khu vực
Nhà nước Ban Cơ Yếu chính phủ đã xây dựng và thử nghiệm tại hạ tầng
Trung Tâm của một số Bộ, ngành ở quy mô nhỏ , đồng thời sử dụng trong
một số dịch vụ bảo mật và an toàn . Ngân hàng Nhà nước, Bộ Công Thương
cũng đã tổ chức thử nghiệm các CA chuyên dùng đáp ứng hoạt động nghiệp
vụ nội bộ.
Khu vự ngoài nhà nước như các tổ chức VASC, VDC đã cung cấp chứng
thực điện tử cho một số tổ chức và cá nhân. Nhìn chung, nhu cầu sử dụng PKI
ở Việt Nam ngày càng tăng , tuy nhiên việc triển khai thực tế hiện tại chưa
nhiều.
Ở Việt Nam, năm 2007 Ban Cơ Yếu Chính phủ thành lập Trung tâm
Chứng thực điện tử chuyên dùng với các chức năng cung cấp , quản lý chứng
thư số và các dịch vụ chứng thực chữ ký số cho các cơ quan thuộc hệ thống
Chính trị.
14

14


Năm 2008, Bộ Thông tin- Truyền thông đã thành lập Trung tâm chứng
thực chữ ký số quốc gia và giao Cục ứng dụng Công nghệ thông tin tổ chức,
quản lý, cấp phép và cung cấp dịch vụ chứng thực số cho khu vực công cộng.

Hình 5:Mô hình PKI Việt Nam hiện nay
Nhìn chung việc triển khai dịch vụ chứng thực chữ ký số ở nước ta còn
chậm, chưa theo kịp tốc độ phát triển mạng CNTT và các dịch vụ giao dịch
điện tử trên thế giới.
Cơ sở hạ tầng khoá công khai (PKI) là một trong những nhu cầu thiết yếu
của tương lai. Nhưng vấn đề là hầu hết các ứng dụng có thể được đảm bảo an
toàn bằng chứng chỉ và khoá nhưng lại rất khó và đắt đề cài đặt PKI, lý dó là

phần mềm trung tâm tin cậy có tính linh hoạt thì lại rất đắt. Đây là điểm khởi
đầu của các sản phẩm mã nguồn mở. Mục đích là sản phẩm của hệ thống
trung tâm tin cậy nguồn mở để hỗ trợ cộng đồng với các giải pháp tốt, rẻ (chi
phí hợp lý) và mang tính xu hướng trong tương lai.
2.3. Các định nghĩa về PKI và các khái niệm có liên quan
2.3.1. Các định nghĩa về PKI
PKI có rất nhiều định nghĩa. Để hiểu sâu và rõ về PKI, em xin phép được
đưa ra các định nghĩa về PKI.
Định nghĩa 1:
15

15


PKI là cơ sở của một hạ tầng an ninh rộng khắp, các dịch vụ của PKI được
cài đặt và thực hiện bằng cách sử dụng các khái niệm và kỹ thuật của mật mã
khoá công khai.
Định nghĩa 2
PKI là một tập hợp phần cứng, phần mềm, con người, các chính sách và
các thủ tục cần thiết để tạo, quản lý, lưu trữ , phân phối và thu hồi các chứng
chỉ khoá công khai dựa trên mật mã khoá công khai.
Định nghĩa 3
Trong mật mã khoá công khai, cơ sở hạ tầng khóa công khai là một cơ chế
để cho một bên thứ 3 (CA) 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 riêng. 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 chỉ khoá công khai.
Khái niệm hạ tầng khóa công khai thường được dùng để chỉ toàn bộ hệ

thống bao gồm thẩm quyền chứng thực 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.
2.3.2. Các khái niệm liên quan trong PKI
a.Chứng chỉ
Chứng chỉ là một tài liệu sử dụng chữ ký số kết hợp khoá công khai với
một định danh thực thể (như người, một tổ chức hoặc một máy chủ).
Chứng chỉ không chứa bất kỳ một thông tin bí mật nào. Về cơ bản, nó bao
gồm các thành phần sau.
Chứng chỉ chứa những thông tin cần thiết như khoá công khai, chủ thể
(người sở hữu) , bên cấp chứng chỉ và một số thông tin khác. Tính hợp lệ của
các thông tin được đảm bảo bằng chữ ký số của bên cấp chứng chỉ. Người
dùng muốn sử dụng chứng chỉ trước hết sẽ kiểm tra chữ ký số trong chứng
chỉ. Nếu chữ ký đó hợp lệ thì có thể sử dụng chứng chỉ đó.
Một vài loại chứng chỉ.
Chứng chỉ khoá công khai X.509.
Chứng chỉ khoá công khai đơn giản (Simple Public Key Certificate
-SPKC).
Chứng chỉ Pretty Good Privacy (PGP).
Chứng chỉ thuộc tính (Attribute Certificate -AC).
16

16


Tất cả các loại chứng chỉ này đều có cấu trúc dạng riêng biệt. Hiện nay
chứng chỉ khoá công khai X.509 được sử dụng phổ biến trong hầu hết các hệ
thống PKI.
Chứng chỉ X.509.
Chứng chỉ X.509 được Hiệp hội viễn thông quốc tế (International

Telecommunication Union - ITU) đưa ra lần đầu tiên năm 1998.
Chứng chỉ này gồm 2 phần. Phần đầu là những trường cơ bản cần thiết
phải có trong chứng chỉ, phần thứ hai là phần chứa một số các trường phụ,
hay còn gọi là trường mở rộng. Các trường mở rộng thường được dùng để xác
định và đáp ứng những yêu cầu bổ sung của hệ thống.
Version: Phiên bản của chứng chỉ;
Serial Number: Số serial của chứng chỉ, là định danh duy nhất của chứng
chỉ, có giá trị nguyên;
Signature Algorithm: Thuật toán của chữ ký : Chỉ ra thuật toán CA sử
dụng để ký chứng chỉ;
Issuer: Tên chủ thể phát hành chứng chỉ;
Valid from – Valid to: Thời hạn của chứng chỉ;
Subject: Tên chủ thể của chứng chỉ;
Public Key: Khoá công khai của chủ sở hữu chứng chỉ.

17

17


Hình 6: Khuôn dạng chứng chỉ X.509v3
b.Kho chứng chỉ
Chứng chỉ được cấp bởi CA kết hợp khoá công khai với nhận dạng của
thực thể B. Tuy nhiên nếu thực thể A không có khả năng xác định vị trí chứng
chỉ này một cách dễ dàng thì anh ta cũng không có hiệu quả gì hơn so với
việc chứng chỉ này chưa được tạo ra.
Do đó, phải có một kho chứng chỉ trực tuyến (online repository), quy mô
lớn và mềm dẻo và phải được đặt ở vị trí mà A có thể xác định vị trí chứng
chỉ mà anh ta cần để truyền thông an toàn.
Môt PKI quy mô lớn sẽ trở nên vô ích nếu không có kho chứng chỉ.

c.Hủy bỏ chứng chỉ
CA ký chứng chỉ gắn kết khóa công khai với nhận dạng người dùng. Tuy
nhiên trong môi trường thực tế, các sự kiện sẽ có lúc đòi hỏi phải phá bỏ sự
gắn kết này. Sự phá bỏ gắn kết cặp khoá công khai với nhận dạng của một
thực thể có thể là do.
Sự thay đổi nhận dạng.
Khoá bí mật bị hacker khám phá ra.
18

18


Do đó cần phải có một cách thức để thông báo cho những người dùng còn
lại rằng khoá công khai của định danh này không còn được chấp nhận nữa.
Cơ chế cảnh báo này trong PKI được gọi là huỷ bỏ chứng chỉ (Certificate
Revocation).
d. Sao lưu và dự phòng khóa
Trong bất kỳ một môi trường PKI đang hoạt động , một tỉ lệ người dùng
có thể bị mất quyền sử dụng khoá bí mật của mình theo một thời hạn cố định
nào đó (ví dụ mỗi tháng hoặc mỗi năm ). Nguyên nhân có thể là do.
Quên mật khẩu: Khoá bí mật của người dùng vẫn còn về mặt vật lý nhưng
không thể truy cập được.
Phương tiện bị hỏng hóc: Ví dụ như đĩa cứng bị hỏng hoặc thẻ thông minh
bị gãy.
Sự thay thế của phương tiện: Hệ điều hành được tải lại (ghi đè lên các giấy
tờ uỷ nhiệm cục bộ) hoặc một mô hình máy tính cũ hơn được thay thế bằng
một mô hình máy tính mới hơn và các giấy tờ uỷ nhiệm không được chuyển
trước khi đĩa cũ bị format lại.
Giải pháp: Thực hiện sao lưu và dự phòng khoá bí mật để giải mã. Việc
sao lưu và dự phòng khoá là mang tính cần thiết, nó tạo nên một phần mở

rộng trong định nghĩa PKI.
e.Cập nhật khóa tự động
Một chứng chỉ thì có thời gian sống hữu hạn. Khi chứng chỉ bị hết hạn sẽ
được thay thế bằng một chứng chỉ mới. Thủ tục này được gọi là cập nhật khoá
hay cập nhật chứng chỉ.
Vấn đề đặt ra là: Người dùng PKI sẽ thường cảm thấy bất tiện khi phải
cập nhật khoá thủ công và thông thường thì họ sẽ không nhớ thời hạn hết hạn
của chứng chỉ hoặc khi thực hiện cập nhật khoá khi đã hết hạn thường gặp
phải nhiều thủ tục phức tạp hơn.
Giải pháp: Xây dựng PKI theo cách mà toàn bộ khoá hoặc chứng chỉ sẽ
được cập nhật hoàn toàn tự động mà không cần có sự can thiệp nào của người
dùng.
Mỗi khi chứng chỉ của người sử dụng được dùng đến cho một mục đích
bất kỳ, thời gian hợp lệ của nó sẽ được kiểm tra. Khi sắp hết hạn thì hoạt động
làm mới chứng chỉ sẽ diễn ra, chứng chỉ mới sẽ được tạo ra và sẽ được sự
dụng để thay thế chứng chỉ cũ và giao dịch của được yêu cầu của người dùng
sẽ tiếp tục diễn ra.
19

19


Bởi vì quá trình cập nhật khoá tự động là nhân tố sống còn đối với PKI
hoặc động trong nhiều môi trường, do đó, nó tạo nên một phần định nghĩa của
PKI.
f.Lịch sử khóa
Trong suốt quá trình sử dụng PKI, một người dùng có thể có nhiều chứng
chỉ cũ và có ít nhất một chứng chỉ hiện tại. Tập hợp các chứng chỉ này với các
khoá bí mật tương ứng được gọi là lịch sử khoá (key history) hay còn gọi là
lịch sử khoá và chứng chỉ.

Việc duy trì toàn bộ lịch sử khoá này rất quan trọng bởi vì nếu giả sử thực
thể A mã hoá bản tin cho thực thể B trong khoảng thời gian là 5 năm thì thực
thể B không thể giải mã bằng khoá bí mật hiện tại của mình.
Cũng giống như sự cập nhật khoá, quản lý lịch sử khoá phải được thực
hiện và duy trì tự động trong PKI. PKI cần phải nắm giữ được tất cả các khoá
trong lịch sử, thực hiện sao lưu và dự phòng tại vị trí thích hợp.
Duy trì lịch sử khoá rất quan trọng bởi vì nó tạo ra một phần mở rộng
trong PKI được định nghĩa.
g.Chứng thực chéo
Đặt vấn đề:
Trong môi trường thực tế, không phải chỉ có một PKI toàn cục duy nhất
hoạt động mà thực tế có rất nhiều PKI được triển khai và hoạt động, phục vụ
trong các môi trường và cộng đồng người dùng khác nhau.
Khi các PKI hoạt động phối hợp, liên kết với nhau, sẽ nảy sinh vấn đề là
làm thế nào để đảm bảo an toàn truyền thông giữa các cộng đồng người dùng
trong các PKI?
Giải pháp
Khái niệm chứng thực chéo đã nảy sinh trong môi trường PKI để giải
quyết nhu cầu này nhằm tạo ra mối quan hệ tin tưởng giữa các PKI không có
quan hệ với nhau trước đó.
Chứng thực chéo là cơ chế cho phép người dùng của một cộng đồng PKI
này xác nhận tính hợp lệ chứng chỉ của người dùng khác trong một cộng đồng
PKI khác.
h.Hỗ trợ chống chối bỏ

20

20



Trong môi trường hoạt động của PKI, mỗi hành động của người dùng luôn
gán với định danh của họ. Nếu một người dùng ký số văn bản của mình, thì
có nghĩa người dùng đó khẳng định rằng văn bản đó xuất phát từ phía mình.
PKI cần phải đảm bảo rằng người dùng đó không thể chối bỏ trách nhiệm
mà mình đã thực hiện. Cơ chế này được gọi là cơ chế hỗ trợ chống chối bỏ.
Để thực hiện được cơ chế hỗ trợ chống chối bỏ, PKI cần phải cung cấp
một vài các bằng chứng kỹ thuật được yêu cầu, như là xác thực nguồn gốc dữ
liệu và chứng thực thời gian mà dữ liệu được ký. Do đó, hỗ trợ chống chối bỏ
tạo nên một phần của định nghĩa PKI mở rộng.
i. Thời gian an toàn
Một nhân tố quan trọng trong việc hỗ trợ các dịch vụ chống chối bỏ là sử
dụng tem thời gian an toàn (secure time stamping) trong PKI. Nghĩa là nguồn
thời gian phải được tin cậy và giá trị thời gian phải được truyền đi một cách
an toàn. Do đó cần phải có một nguồn thời gian có thể tin tưởng được cho tất
cả người dùng trong PKI.
j.Phần mềm phía Client
Trong mô hình PKI, kiến trúc máy chủ-máy khách (server-software) thì
các server sẽ thực hiện những nhiệm vụ sau:
CA sẽ cung cấp các dịch vụ chứng chỉ.
Kho chứng chỉ sẽ lưu giữ các thông tin chứng chỉ và huỷ bỏ chứng chỉ.
Máy chủ sao lưu và dự phòng sẽ quản lý lịch sử khoá một cách phù hợp.
Máy chủ tem thời gian sẽ kết hợp các thông tin thời gian có thể tin tưởng
được với các tài liệu văn bản.
Tuy nhiên, server không thể thực hiện bất kỳ điều gì cho các máy khách
nếu như máy khách không đưa ra các yêu cầu dịch vụ. Do đó nhiệm vụ của
máy khách sẽ là:
Máy khách phải đưa ra yêu cầu các dịch vụ chứng thực.
Máy khách phải yêu cầu chứng chỉ và xử lý các thông tin huỷ bỏ chứng
chỉ có liên quan.
Máy khách phải biết lịch sử khoá và phải biết khi nào cần yêu cầu cập

nhật khóa hoặc huỷ bỏ khoá.
Máy khách phải biết khi nào nó cần phải yêu cầu tem thời gian trên văn
bản.
Phần mềm phía client là một thành phần thiết yếu của PKI tích hợp đầy đủ
tính năng. Nếu không có phần mềm này, rất nhiều dịch vụ được cung cấp bởi
PKI gần như không có hiệu quả.
21

21


2.4. 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 chỉ khóa công khai để mã hóa và giải mã thông tin trong quá
trình trao đổ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 xác thực lẫn nhau và chống chối bỏ mà không cần phải trao
đổi các thông tin mật từ trước.
Xác thực: Chứng minh định danh thực thể.
Bí mật: Đảm bảo rằng không ai có thể đọc được thông báo ngoại trừ người
nhận.
Toàn vẹn: Đảm bảo rằng người nhận sẽ nhận được thông báo mà không bị
thay đổi nội dung ban đầu.
Tính chống chối bỏ: Cơ chế này sẽ chứng minh rằng người nhận/gửi đã
thực sự gửi/nhận thông báo.
PKI tận dụng cả mật mã đối xứng và phi đối vứng để để đạt được những
tính năng cơ bản trên.
2.4.1. Xác thực
Về cơ bản, tính xác thực cung cấp 2 khía cạnh ứng dụng chính đó là định
danh thực thể và định danh nguồn gốc dữ liệu.
a.Định danh thực thể

Định danh thực thể đơn giản dùng để định danh thực thể xác định nào đó
có liên quan. Do đó, trên thực tế, định danh thực thể thông thường sẽ tạo ra
một kết quả cụ thể mà sau đó được sử dụng để thực hiện các hoạt động khác
hoặc truyền thông khác.
Định danh thực thể bao gồm : Một nhân tố và nhiều nhân tố.
Có rất nhiều cách để chứng minh định danh. Ta có thể chia ra làm bốn loại
sau:
- Cái gì đó người dùng có (ví dụ thẻ thông minh hoặc thiết bị phần
cứng);
- Cái gì đó người dùng biết (Ví dụ mật khẩu hoặc PIN);
- Cái gì đó là người dùng hoặc gắn với người dùng (ví dụ dấu vân tay
hoặc võng mạc mắt);
- Cái gì đó người dùng thực hiện (ví dụ gõ các ký tự nào đó).
Có hai kiểu xác thực được biết đến như là định danh thực thể, đó là xác
thực cục bộ và xác thực từ xa.
22

22


* Xác thực cục bộ
Xác thực ban đầu của một thực thể tới môi trường cục bộ hầu như liên
quan trực tiếp tới người dùng. Ví dụ như mật khẩu hoặc số định danh cá nhân
(PIN) phải được nhập vào, sử dụng dấu vấn tay để nhận dạng.
* Xác thực từ xa
Xác thực của một thực thể tới môi trường ở xa: Nghĩa là có thể hoặc
không cần liên quan trực tiếp tới người dùng. Trên thực tế, hầu hết các hệ
thống xác thực từ xa phức tạp không hoàn toàn liên quan tới người dùng vì rất
khó để bảo vệ hệ thống xác thực mà đưa ra các thông tin xác thực nhạy cảm,
ví dụ như mật khẩu hoặc dấu vân tay, và truyền trên một kênh không an toàn.

b. Định danh nguồn gốc dữ liệu
Định danh nguồn gốc dữ liệu sẽ định danh một thực thể xác định nào đó
như nguồn gốc của dữ liệu được đưa ra. Hoạt động định danh này không phải
là định danh cô lập, cũng không phải hoàn toàn là định danh cho mục đích
thực hiện các hoạt động khác.
2.4.2. Bí mật
Dịch vụ bí mật đảm bảo tính riêng tư của dữ liệu. Không ai có thể đọc
được dữ liệu ngoại trừ thực thể nhận. Dịch vụ bí mật được yêu cầu khi dữ liệu
khi:
- Được lưu trữ trên phương tiện (như phần cứng máy tính) mà người
dùng không hợp pháp có thể đọc được;
- Được dự phòng trên thiết bị (ví dụ băng từ) mà có thể bị rơi vào tay
người dùng không hợp pháp;
- Được truyền trên mạng không được bảo vệ.
Các kỹ thuật mật mã đảm bảo tính bí mật cần phải được áp dụng với mọi
loại dữ liệu nhạy cảm.
2.4.3.Toàn vẹn dữ liệu
Toàn vẹn dữ liệu đảm bảo rằng dữ liệu không bị thay đổi. Sự đảm bảo này
là một phần thiết yếu trong bất kỳ môi trường thương mại điện tử hoặc loại
hình kinh doanh nào.
Mức độ toàn vẹn dữ liệu có thể đạt được bằng các cơ chế chẵn lẻ của các
bit và mã kiểm tra dịch vòng (Cyclic Redundancy Codes -CRCs).
23

23


Để bảo vệ dữ liệu khỏi tấn công nhằm phá vỡ tính toàn vẹn dữ liệu, các kỹ
thuật mật mã được sử dụng. Do đó, khoá và các thuật toán phải được triển
khai và phải được biết giữa các thực thể muốn cung cấp tính toàn vẹn dữ liệu

với thực thể muốn được đảm bảo tính toàn vẹn của dữ liệu.
Dịch vụ toàn vẹn của PKI có thể được xây dựng dựa trên hai kỹ thuật.
a.Chữ ký số
Mặc dù nó được dùng cho mục đích cung cấp sự xác thực, nhưng nó cũng
được sử dụng để cung cấp tính toàn vẹn cho dữ liệu được ký.Nếu có sự thay
đổi bất kỳ trước và sau khi ký thì chữ ký số sẽ bị loại bỏ khi kiểm tra , vì vậy
việc mất tính toàn vẹn của dữ liệu sẽ dễ dàng bị phát hiện.
b. Mã xác thực thông báo
Kỹ thuật này thông thường sử dụng một mã khối đối xứng (ví dụ DES,
DES-CBC-MAC) hoặc một hàm băm mật mã (HMAC-SHA-1).
2.4.4.Chống chối bỏ
Dịch vụ chống chối bỏ là dịch vụ đảm bảo rằng thực thể không thể chối bỏ
hành động của mình. Các biến thể thường được nhắc tới nhiều nhất là chống
chối bỏ nguồn gốc (người dùng không thể chối bỏ rằng đã gửi một tài liệu
hoặc một văn bản) hoặc chối bỏ sự tiếp nhận (người dùng không thể chối bỏ
rằng đã nhận được văn bản hoặc tài liệu).
Một vài các biến thể khác của tính chống chối bỏ là : Chối bỏ đã tạo ra ,
chối bỏ đã chuyển, chối bỏ việc tán thành.

24

24


CHƯƠNG III: CÁC THÀNH PHẦN, CƠ CHẾ LÀM VIỆC
CỦA PKI. CÁC MÔ HÌNH VÀ CÁC KIỂU KIẾN TRÚC CỦA
PKI
3.1. Mô hình PKI và các thành phần của PKI

Hình 7: Mô hình các thành phần PKI

3.1.1. CA (Certificate Authority)
Trong PKI, 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 gọi là bên thứ ba tin cậy bởi vì người
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ã hoá khoá công khai cần thiết.
CA thực hiện 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 trong hệ thống. Nếu CA nằm ở đỉnh của mô hình phân cấp PKI

25

25


×