ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN DUY VŨ XÂY DỰNG MÔ HÌNH TRUNG TÂM XÁC
THỰC CHỨNG CHỈ SỐ VÀ ỨNG DỤNG
TRONG VIỆC TRAO ĐỔI THÔNG TIN SỐ
CỦA DOANH NGHIỆP VỪA VÀ NHỎ LUẬN VĂN THẠC SĨ
TRONG VIỆC TRAO ĐỔI THÔNG TIN SỐ CỦA
DOANH NGHIỆP VỪA VÀ NHỎ
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60 48 05
LUẬN VĂN THẠC SĨ
NGƢỜI HƢỚNG DẪN KHOA HỌC: Tiến sĩ Ngô Hữu Phúc Hà Nội – 2011
3
MỤC LỤC
4
3.2.3. Dịch vụ 49
3.3. Xây dựng hệ thống cơ sở dữ liệu 50
Chƣơng 4 - GIỚI THIỆU GIAO DIỆN VÀ CHỨC NĂNG HỆ THỐNG 53
4.1. Khối chức năng cơ bản 53
4.2. Mô tả các chức năng chính 53
KẾT LUẬN KIẾN NGHỊ 58
TÀI LIỆU THAM KHẢO 59 5
MỞ ĐẦU
Mục đích của luận văn này nhằm nghiên cứu các mô hình, cấu trúc và các
thành phần cơ bản của trung tâm xác thực dựa trên công nghệ PKI, giới thiệu
một số mô hình giao tiếp trong hệ thống liên trung tâm xác thực. Xây dựng
thành công mô hình trung tâm xác thực ứng dụng trong phạm vi doanh nghiệp
vừa và nhỏ trong việc trao đổi thông tin số.
Luận văn gồm 4 chƣơng:
Chƣơng 1: Cơ sở lý thuyết mô hình trung tâm xác thực
Giới thiệu về cấu trúc và các thành phần cơ bản của mô hình trung tâm xác
thực dựa trên công nghệ PKI
Chƣơng 2: Mô hình trung tâm xác thực
Tổng quan về trung tâm xác thực, giới thiệu các loại mô hình kiến trúc
trung tâm xác thực và ƣu nhƣợc điểm của từng loại mô hình kiến trúc.
Chƣơng 3: Xây dựng mô hình trung tâm xác thực
Xây dựng mô hình trung tâm xác thực dựa trên mô hình lai ghép với đầy đủ
chức năng của hệ thống trung tâm xác thực: Cấp, phân phối, thu hồi, tạm dừng,
khôi phục chứng chỉ, xác thực chứng chỉ số đa cấp và các trung tâm ngang hàng.
Giới thiệu hệ thống thƣ mục và cơ sở dữ liệu quan hệ của mô hình trung tâm xác
thực.
k
:P C là một hàm
giải mã d
k
thuộc D: C P sao cho d
k
(e
k
(X)) =x, với mọi x thuộc P
1.1.2. Các hệ mật mã
1.1.2.1. Hệ mật mã khóa đối xứng (khóa mật)
Hệ thống mã hóa đối xứng dựa trên một khóa đơn. Khóa này là một
chuỗi bit có độ dài cố định. Do đó, cơ chế mã hóa này đƣợc coi là mã hóa đơn
khóa. Khóa này là riêng (hoặc bí mật) và đƣợc sử dụng để mã hóa cũng nhƣ giải
mã. Trƣớc khi hai phía trao đổi dữ liệu, khóa phải đƣợc chia sẻ giữa chúng. Sau
đó phía gửi mã hóa bản tin ban đầu sử dụng khóa riêng đó và gửi bản tin đã
7
đƣợc mã hóa cho phía nhận. Tại phía nhận bản tin mã hóa đƣợc giải mã sử dụng
cùng loại khóa riêng trên.
Quá trình mã hóa khóa đối xứng đƣợc mô tả nhƣ hình 1.1 Hình 1.1. Hệ mật mã khóa đối xứng
Bản
Rõ
Key
K
Bản
Mã
Môi
trƣờng
truyền
Bản
Mã
Bản
Rõ
Key
K
Khóa K đƣợc truyền trên kênh
bí mật đến ngƣời gửi, nhận
8
Ƣu nhƣợc điểm:
Ƣu điểm nổi bật của hệ mật mã khóa đối xứng là việc xây dựng một hệ
mật mã có độ bảo mật cao. Nhƣng phải cần có một nguồn sinh khóa ngẫu nhiên
cũng nhƣ việc phân phối, lƣu trữ bảo mật và thỏa thuận khóa là một vấn đề khá
phức tạp trong thực tế. Giả sử, trong một mạng có n ngƣời dùng, nếu cần khóa
cho từng cặp riêng biệt thì phải cần tới: n(n +1)/2 khóa.
1.1.2.2. Hệ mật mã khóa bất đối xứng (khóa công khai)
Trong mô hình mật mã cổ điển mà cho tới nay vẫn còn đang đƣợc
nghiên cứu Alice (ngƣời gửi) và Bob (ngƣời nhận) chọn một cách bí mật khóa
K. Sau đó dùng K để tạo luật mã hóa e
k
. Bob sẽ là ngƣời duy nhất có thể giải mã đƣợc
bản mã này bằng cách sử dụng luật giải mã bí mật d
k
của mình.
Ý tƣởng về một hệ mật khóa công khai đã đƣợc Diffie và Hellman đƣa
ra vào năm 1976. Còn việc hiện thực hóa hệ mật khóa công khai thì do Rivest
Shamir và Adleman đƣa ra đầu tiên vào năm 1977, họ đã tạo nên hệ RSA nổi
9
tiếng. Kể từ đó đã có một số hệ mật đƣợc công bố, độ mật của chúng dựa trên
các bài toán tính toán khác nhau. Trong đó quan trọng nhất là các hệ mật sau:
- Hệ mật RSA
Độ bảo mật của hệ RSA dựa trên độ khóa của việc phân tích ra thừa số
nguyên tố của các số nguyên lớn.
- Hệ mật trên các đƣờng cong Eliptic
Các hệ mật này là các biến tƣớng của các hệ mật khác (chẳng hạn từ hệ
mật ElGamal). Chúng làm việc trên đƣờng cong Eliptic chứ không phải là trên
các đƣờng hữu hạn. Hệ mật này đảm bảo độ mật với khóa số nhỏ hơn các hệ mật
khóa công khai khác.
Sơ đồ hoạt động hệ mật khóa công khai: Hình 1.2. Sơ đồ hoạt động sử dụng khóa công khai gửi nhận dữ liệu
PrivateKey Bản
Mã
Bản
Rõ
Bob
Gửi
Alice
Nhận
10
Nếu ta tính lũy thừa bậc k của một số trong nhóm rồi rút gọn theo
modulo p thì ta đƣợc một số trong nhóm đó. Quá trình này đƣợc gọi là lũy thừa
rời rạc modulo p. Chẳng hạn với p = 17, lấy a = 3, k = 4 ta có:
3
4
= 81 13 (mod 17)
Lôgarit rời rạc là phép tính ngƣợc lại:
Biết: 3
k
13 (mod 17) hãy tìm k
Thuật toán đƣợc Ron Rivest, Adi Shamir và Len Adleman mô tả lần đầu
tiên vào năm 1977 tai học viện Công nghệ Masachusetts (MIT). Tên của thuật
toán lấy từ 3 chữ cái đầu tiên của tên 3 tác giả. Hệ mật mã RSA đƣợc sử dụng
rộng rãi trong thực tiến đặc biệt cho mục đích bảo mật và xác thực dữ liệu số.
Tính bảo mật và an toàn của chúng đƣợc đảm bảo bằng độ phức tạp của một bài
toán số học nổi tiếng là phân tích số nguyên thành các thừa số nguyên tố. Hệ
mật RSA đƣợc mô tả nhƣ hình sau:
số m sao cho m
e
= c mod n, trong đó (e,n) chính là khóa công khai và c là bản
mã. Hiện nay phƣơng pháp triển vọng nhất giải bài toán này là phân tích n ra
thừa số nguyên tố. Khi thực hiện đƣợc điều này, kẻ tấn công sẽ tìm ra số mũ bí
mật d từ khóa công khai và có thể giải mã theo đúng quy trình của thuật toán.
Nếu kẻ tấn công tìm đƣợc 2 số nguyên tố p và q sao cho: n = pq thì có thể dễ
dàng tìm ra đƣợc giá trị (p-1)(q-1) và qua đó xác định d từ e. Chƣa có một
phƣơng pháp nào đƣợc tìm ra trên máy tính đề giải bài toán này trong thời gian
đa thức (polynomial – time). Tuy nhiên ngƣời ta cũng chƣa chứng minh đƣợc
điều ngƣợc lại (sự không tồn tại của thuật toán).
Tại thời điểm năm 2005, số lớn nhất có thể đƣợc phân tích ra thừa số
nguyên tố có độ dài 663 bits với phƣơng pháp phân tán trong khi khóa của RSA
có độ dài từ 1024 đến 2048 bits. Một số chuyên gia cho rằng khóa 1024 bits có
thể sớm bị phá vỡ (cũng có nhiều ngƣời phản đối việc này). Với khóa 4096 bits
thì hầu nhƣ không có khả năng bị phá vỡ trong tƣơng lai gần. Do đó, ngƣời ta
thƣờng cho rằng RSA đảm bảo an toàn với điều kiện n đƣợc chọn đủ lớn. Nếu n
có độ dài 256 bits hoặc ngắn hơn, có thể bị phân tích trong vài giờ với máy tính
cá nhân dùng các phần mềm có sẵn. Nếu n có độ dài 521 bits, nó có thể bị phân
tích bởi vài trăm máy tính tại thời điểm năm 1999. Một thiết bị lý thuyết có tên
là TWIRL do Shamir và Tromer mô tả năm 2003 đã đặt ra câu hỏi về độ an toàn
của khóa 1024 bits. Vì vậy hiện nay ngƣời ta khuyến cáo sử dụng khóa có độ dài
tối thiểu 2048 bits.
Thực tiễn triển khai cho thay tốc độ mã hóa khối dữ liệu lớn bằng các
thuật toán mã hóa công khai chậm hơn rất nhiều so với hệ mã hóa đối xứng. Ví
dụ, để đạt đƣợc độ an toàn nhƣ các hệ mã hóa đối xứng mạnh cùng thời, RSA
đòi hỏi thời gian cho việc mã hóa một văn bản lâu hơn gấp hàng ngàn lần. Do
đó, thay bằng việc mã hóa văn bản có kích thƣớc lớn bằng lƣợc đồ khóa công
khai thì văn bản này sẽ đƣợc mã hóa bằng một hệ mã đối xứng có tốc độ cao
nhƣ DES, IDEA sau đó khóa đƣợc sử dụng trong hệ mã đối xứng sẽ đƣợc mã
- Theo dõi các khóa đƣợc phát ra ghi lại lịch sử của từng khóa.
- Thu hồi chứng nhận hết hiệu lực.
- Tạm dừng hay kích hoạt chứng chỉ.
Môi
trƣờng
truyền
Bản
Rõ
Bản
Mã
Khóa
mật
Khóa
mật
Khóa
mật
Khóa bí
mật của
Alice
Bản
chọn không quá gần nhau để phòng trƣờng hợp phân tích n bằng phƣơng pháp
phân tích Fermat. Ngoài ra, nếu p-1 hoặc q-1 có thừa số nguyên tố nhỏ thì n
cũng có thể dễ dàng bị phân tích và vì thế p và q cũng cần đƣợc thử để tránh khả
năng này.
Một điểm nữa cần nhấn mạnh là khóa bí mật a phải đủ lớn. Năm 1990,
Wiener chỉ ra rằng nếu giá trị của p nằm trong khoảng q và 2q (khá phổ biến) và
a<n
1/4
/3 thì có thể tìm ra đƣợc a từ n và b.
Mặc dù b đã từng có giá trị là 3 nhƣng hiện nay các số mũ nhỏ không
còn đƣợc sử dụng do có thể tạo nên những lỗ hổng. Giá trị thƣờng dùng hiện nay
là 65537 vì đƣợc xem là đủ lớn và cũng không quá lớn ảnh hƣởng tới việc thực
hiện hàm mũ.
14
1.2.1.2. Phân phối khóa:
Hệ thống mã khoá công khai có ƣu điểm hơn hệ thống mã khoá riêng ở
chỗ không cần có kênh an toàn để trao đổi khoá mật. Tuy nhiên, hầu hết các hệ
thống mã khoá công khai đều chậm hơn hệ mã khoá riêng, chẳng hạn nhƣ DES.
Vì thế thực tế các hệ mã khoá riêng thƣờng đƣợc dùng để mã các bức điện dài.
Nhƣng khi đó chúng ta lại trở về vấn đề trao đổi khoá mật.
Giả sử, ta có một mạng không an toàn gồm n ngƣời sử dụng. Trong một
số sơ đồ, ta có ngƣời uỷ quyền đƣợc tín nhiệm (TA) để đáp ứng những việc nhƣ
xác minh danh tính của ngƣời sử dụng, chọn và gửi khoá đến ngƣời sử dụng
Do mạng không an toàn nên cần đƣợc bảo vệ trƣớc các đối phƣơng. Đối phƣơng
(Oscar) có thể là ngƣời bị động, có nghĩa là hành động của anh ta chỉ hạn chế ở
mức nghe trộm bức điện truyền trên kênh. Song mặt khác, anh ta có thể là ngƣời
chủ động. Một đối phƣơng chủ động có thể làm nhiều hành vi xấu chẳng hạn:
-Thay đổi bức điện mà anh ta nhận thấy là đang đƣợc truyền trên
mạng.
Sơ đồ phân phối trƣớc khoá an toàn không điều kiện do Blom đƣa ra. Sơ
đồ cho phép giảm lƣợng thông tin mật mà ngƣời sử dụng cần cất giữ trên mạng.
Một biện pháp thực tế hơn là TA phân phối khoá trực tiếp. Trong sơ đồ
nhƣ vậy, TA làm việc nhƣ một ngƣời chủ khoá (key server). TA chia khoá mật
K
U
cho mỗi ngƣời sử dụng U trên mạng. Khi U muốn liên lạc với V, cô ta yêu
cầu TA cung cấp khoá cho phiên làm việc (session key). TA tạo ra khoá session
K và gửi nó dƣới dạng mã hoá cho U và V để giải mã. Hệ thống mã Kerboros
mô tả dựa trên biện pháp này.
Phân phối khóa trƣớc:
Theo phƣơng pháp cơ bản, TA tạo ra
2
n
khoá và đƣa mỗi khoá cho
duy nhất một cặp ngƣời sử dụng trong mạng có n ngƣời sử dụng. Nhƣ đã nêu ở
trên, ta cần một kênh an toàn giữa TA và mỗi ngƣời sử dụng để truyền đi các
khoá này. Đây là một cải tiến quan trọng vì số kênh an toàn cần thiết giảm từ
= K
V,U
nhƣ trƣớc đây. Điều kiện an toàn nhƣ sau: tập bất kì gồm
nhiều nhất k ngƣời sử dụng không liên kết từ {U, V} phải không có khả năng
xác định bất kì thông tin nào về K
U,V
.
Trƣớc hết, xét trƣờng hợp đặc biệt của sơ đồ Blom khi k =1. ở đây TA sẽ
truyền đi 2 phần tử của Z
P
cho mỗi ngƣời sử dụng trên kênh an toàn và ngƣời sử
dụng riêng W sẽ không thể xác định đƣợc bất kì thông tin nào về K
U,V
nếu
WU,V. Sơ đồ Blom với k=1 đƣợc đƣa ra nhƣ sau. Z
p
Hình 1.6. Sơ đồ phân phối khóa trƣớc của Blom
Ví dụ minh họa sơ đồ Blom với k=1:
và truyền g
U
(x) đến U trên kênh an toàn. Chú ý rằng, g
U
(x) là đa thức tuyến
tính theo x nên có thể viết nhƣ sau:
g
U
(x)= a
U
+ b
U
x
Với a
U
= a + br
U
mod p
b
U
= b+ cr
U
mod p
4. Nếu U và V muốn liên lạc với nhau họ sẽ dùng khóa chung:
K
U,V
= K
V,U
= f(r
U
(r
U
) 17
f(x,y) = 8 + 7(x+y) + 2xy
Khi đó các đa thức
g
U
(x) = 7 + 14x
g
V
(x) = 5 + 4x
g
W
(x) = 15 + 9x
Nhƣ vậy 3 khóa nhận đƣợc sẽ là:
K
U,V
= K
V,U
= 3
K
U,W
= K
W,U
= 4
K
V,W
Hàm trên có thể tính dễ dàng sử dụng phƣơng pháp tính hàm mũ (theo
môđun) bằng (thuật toán bình phƣơng và nhân) Cuối cùng Bob gửi c cho Alice.
Giải mã
Alice nhận c từ Bob và biết khóa bí mật d. Alice có thể tìm đƣợc m từ c
theo công thức sau:
m = c
d
mod n
Biết m, Alice tìm lại M theo phƣơng pháp đã thỏa thuận trƣớc. Quá trình
giải mã hoạt động vì ta có:
(1.10)
(1.11)
18
c
d
)(mod)( nmm
edde
Do ed 1(mod p-1) và ed 1(mod q-1), nên:
m
ed
m(mod p) và m
ed
1(mod q)
Mặt khác p,q là 2 số nguyên tố cùng nhau, nên theo định lý số dƣ Trung
Quốc, ta có: m
ed
(x) = x
b
mod n là
hàm một chiều. Bởi vậy thám mã sẽ không có khả năng về mặt tính toán để giải
mã một bản mã. Cửa sập cho phép Bob giải mã đƣợc chính là thông tin về phép
phân tích thừa số n (n = pq). Vì Bob biết phân tích này, anh ta có thể tính (n) =
(p -1)(q -1) và rồi tính số mũ giải mã a bằng cách sử dụng thuật toán Euclide mở
rộng.
1.2.3. Chữ ký số, Hàm Băm
Thông thƣờng khi nhận đƣợc một văn bản bằng giấy, các vấn đề sau đây
đƣợc đặt ra và cần đƣợc giải quyết với ngƣời nhận:
19
Ai là ngƣời gửi văn bản này?: Kiểm tra họ, tên ngƣời ký văn bản
Nội dung văn bản trong quá trình gửi có bị thay đổi hay không?: xem các
chữ ký nháy trên từng trang, tính liên tục của số trang…
Ngƣời viết có thể phủ nhận nội dung văn bản không?: kiểm tra chữ ký của
ngƣời ký gửi văn bản có còn nguyên trạng không?
Những vấn đề này cũng xảy ra và cần đƣợc giải quyết trong quá trình trao
đổi thông tin điện tử (nhƣ thƣ điện tử, file dữ liệu….) và đó gọi là
Tính xác thực – Authentication
Tính toàn vẹn dữ liệu – Integrity
Tính chống chối bỏ - Non – repudiation
Tính bí mật – Privacy
Qua trình giải quyết 4 vấn đề trên đƣợc sử lý nhƣ sau:
Đoạn dữ liệu cần đƣợc bảo mật đƣợc đƣa qua hàm băm (hashing), kết quả
của hàm băm là một đoạn bit đảm bảo 2 tính chât
o Tính duy nhât: Mỗi một đoạn dữ liệu khác nhau thì sẽ có một đoạn
bit khác nhau, không trung lặp, có độ dài không đổi
o Tính một chiều: từ đoạn bit đặc trƣng này, không suy ngƣợc lại đƣợc
Hàm Băm
Kết quả
băm văn
bản
Bản
Rõ
Hàm
Băm Kết
Luận
Kết quả
băm văn
bản
Kết quả
giải mã
chữ ký
Khóa
công
khai Bob
20
Hình 1.9. Mô tả quá trình ký, xác thực chữ ký
Từ phía ngƣời nhận, khi nhận đƣợc “văn bản” kèm chữ ký số, tiến trình
kiểm tra sẽ nhƣ sau:
Lấy đoạn dữ liệu gốc, đƣa qua hàm băm đã nói ở trên, thu đƣợc một đoạn
x P, y A:
21
)(,
)(,
),(
xsigykhiSai
xsigykhiĐúng
yxVer
k
k
k
RSA cũng là một thuật toán đƣợc dùng nhiều cho mục đích ký số. Ngoài ra,
còn có một số thuật toán công khai khác đƣợc dùng để ký số, ví dụ nhƣ chuẩn
chữ ký số DSS.
Tuy nhiên, vấn đề đặt ra là: khóa công khai đó có đúng là của ngƣời gửi
văn bản không, và ai là ngƣời chứng thực vấn đề này?
Trong đó, vai trò của khóa công khai của ngƣời gửi có thể đƣợc coi nhƣ
chữ ký mẫu của ngƣời gửi khi làm việc với văn bản giấy, chữ ký mẫu này đƣợc
công nhận và công bố công khai trong toàn hệ thống giao dịch điện tử.
Hàm băm
Việc sử dụng các hệ mật mã và sơ đồ chữ ký thƣờng là mã hóa và ký số
trên từng bit của thông tin, thời gian để mã hóa và ký sẽ tỷ lệ thuận với dung
Hàm băm – hiểu theo một nghĩa đơn giản là hàm cho tƣơng ứng một mảng
dữ liệu lớn với một mảng dữ liệu nhỏ hơn – đƣợc sử dụng rộng rãi trong nhiều
ứng dụng khác nhau của tin học, không chỉ thuộc phạm vi mật mã học.
Hàm băm đƣợc đề cập đến trong phạm vi luận văn là hàm băm một chiều,
có tác dụng trợ giúp cho các sơ đồ ký nhằm làm giảm dung lƣợng của dữ liệu
cần thiết để truyền qua mạng. Hàm băm ở đây đƣợc hiểu là các thuật toán không
sử dụng khóa để mã hóa (ở đây ta dùng thuật ngữ “băm” thay cho “mã hóa”), nó
có nhiệm vụ băm thông tin đƣợc đƣa vào theo một thuật toán h một chiều nào
đó, rồi đƣa ra một văn bản – văn bản đại diện – có kích thƣớc cố định. Giá trị
của hàm băm là duy nhất và không thể suy ngƣợc lại nội dung thông điệp từ giá
trị băm này. Hàm băm một chiều h có một số đặc tính quan trọng sau:
- Với thông điệp đầu vào x thu đƣợc bản băm z = h(x) là duy nhất
- Nếu dữ liệu trong thông điệp x thay đổi hay bị xóa để thành thông
điệp x’ thì h (x’) khác h (x). Cho dù chỉ là một sự thay đổi nhỏ hay chỉ
là xóa đi 1 bit dữ liệu của thông điệp thì giá trị băm cũng vẫn thay đổi.
Điều này có nghĩa là hai thông điệp hoàn toàn khác nhau thì giá trị hàm
băm cũng khác nhau.
- Nội dung của thông điệp gốc không thể bị suy ra từ giá trị hàm băm.
Nghĩa là: với thông điệp x thì dễ dàng tính đƣợc z = h(x), nhƣng lại
23
không thể (thực chất là khó) suy ngƣợc lại đƣợc x nếu chỉ biết giá trị
hàm băm h(x).
Một số thuật toán băm đƣợc biết đến nhiều là hàm băm dòng và hàm băm
chuẩn nhƣ: [MD2], [MD4], [MD5], [SHA-1]…
1.2.4. Chứng chỉ số và giải pháp quản lý
1.2.4.1. Chứng chỉ số
Để giải quyết vấn đề “khóa công khai đó có đúng là của ngƣời gửi văn
bản không và ai là ngƣời chứng thực vấn đề này?”, về mặt công nghệ, vấn đề
đƣợc giải quyết nhƣ sau:
- Ký vào tài liệu điện tử
- Thƣ điện tử bảo đảm
- Thƣơng mại điện tử
- Bảo vệ mạng không dây (WLAN – Wireless Lan Area Network)
- Bảo đảm an toàn cho máy chủ và các dịch vụ Web
- Mạng riêng ảo
Có nhiều loại chứng chỉ số, một trong số đó là:
- Chứng chỉ khóa công X.509
- Chứng chỉ khóa công đơn giản (Simple public key Certificates –
SPKC)
- Chứng chỉ Pretty Good Privacy (PGP)
- Chứng chỉ thuộc tính (Attribute Certifcates – AC)
Tất cả các loại chứng chỉ này đều có cấu trúc định dạng riêng. Hiện nay
chứng chỉ khóa công khai X.509 đƣợc sử dụng phổ biến trong hầu hết các hệ
thống PKI. Hệ thống chƣơng trình cấp chứng chỉ số thử nghiệm cũng sử dụng
định dạng chứng chỉ theo X.509.
Chứng chỉ khóa công khai X.509
Chứng chỉ X.509 v3 là định dạng chứng chỉ phổ biến và đƣợc hầu hết
các nhà cung cấp sản phẩm PKI triển khai.
Chứng chỉ khóa công khai X.509 đƣợc Hội viễn thông quốc tế (ITU) đƣa
ra lần đầu tiên vào năm 1988 nhƣ là một bộ phận có dịch vụ thƣ mục X.500.
25
Chứng chỉ gồm hai 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 thêm một số trƣờng phụ, những trƣờng này
đƣợc gọi là trƣờng mở rộng dùng để xác định và đáp ứng những yêu cầu bổ sung
của hệ thống. Khuôn dạng của chứng chỉ X.509 đƣợc chỉ ra trong hình 1.10.
Version number
Seriant number
Signature