1. Trang chủ
  2. » Công Nghệ Thông Tin

Nghiên cứu giải pháp xây dựng hệ thống cấp chứng chỉ số dựa trên hạ tầng khóa công kha

73 401 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 73
Dung lượng 1,98 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Người gửi A sẽ mã hoá thông điệp bằng khóa công khai của người nhận và người nhận B sẽ giải mã thông điệp với khoá riêng tương ứng của mình.Quá trình này được mô tả trong hình 1.2 và 1.3

Trang 1

HOÀNG THỊ THÚY

NGHIÊN CỨU GIẢI PHÁP XÂY DỰNG

HỆ THỐNG CẤP CHỨNG CHỈ SỐ DỰA TRÊN HẠ TẦNG KHÓA CÔNG KHAI

Chuyên ngành: Khoa học máy tính

Mã số: 60 48 01 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN VĂN TAM

Thái Nguyên 10/2013

Trang 2

LỜI CẢM ƠN

Trước hết, tôi xin gửi lời cảm ơn chân thành nhất tới PGS.TS Nguyễn Văn Tam, người thầy đã cho tôi những định hướng và những ý kiến rất quý báu về công nghệ PKI cũng như cách để triển khai ứng dụng trên nó

Tôi cũng xin tỏ lòng biết ơn sâu sắc tới thầy cô, bạn bè cùng khoá

đã quan tâm, giúp đỡ tôi tiến bộ trong suốt thời gian qua Tôi xin cảm

ơn trường Đại học Thái Nguyên cũng như trường Đại học Kinh Doanh

và Công nghệ Hà Nội đã hết sức tạo điều kiện cho tôi trong quá trình học và làm luận văn này.

Luận văn được hoàn thành trong thời gian rất hạn hẹp, và chắc chắn còn nhiều khiếm khuyết cần bổ sung thêm Tôi xin cảm ơn các thầy

cô, bạn bè và người thân đã và sẽ có những góp ý chân tình cho nội dung của luận văn này, để tôi có thể tiếp tục đi sâu tìm hiểu về PKI, CA

và hy vọng có thể đưa vào ứng dụng thực tiễn công tác.

Hoàng Thị Thúy

Trang 3

MỤC LỤC

DANH MỤC HÌNH VẼ v

1.1 Hệ mật mã khoá đối xứng 3

1.2 Hệ mật mã khoá công khai 4

1.3 Hàm băm 8

1.4 Chữ kí số 11

2.1 Chứng chỉ số (digital certificates) 14

2.1.1 Chứng chỉ khóa công khai 14

2.1.2 Chứng chỉ khoá công khai X.509 16

2.1.3 Thu hồi chứng chỉ 20

2.1.4 Chính sách đối với chứng chỉ số 21

2.1.5 Công bố và gửi thông báo thu hồi chứng chỉ 22

23

2.2 Hạ tầng khóa công khai – PKI 25

2.3 Hệ thống cấp chứng chỉ số (Certification Authority – CA) 30

2.4 Mô hình tin cậy cho PKI 31

2.4.1 Mô hình CA đơn 31

2.4.2 Mô hình phân cấp 33

2.4.3 Mô hình mắt lưới (xác thực chéo) 34

2.4.4 Mô hình Hub và Spoke (Bridge CA) 36

2.4.5 Mô hình Web (Trust Lists) 37

2.4.6 Mô hình người sử dụng trung tâm (User Centric Model) 38

3.1 Tổng quan về hệ thống 41

3.1.1 Mô hình hệ thống 41

3.1.2 Một số đặc tính của hệ thống cung cấp chứng chỉ số 41

3.2 Chức năng và quá trình khởi tạo các thành phần trong hệ thống cung cấp chứng chỉ số JavaCA 46

3.2.1 Certificate Authority - CA 46

3.2.2 Registration Authority - RA 47

3.2.3 RAO 48

3.2.4 LDAP và Public Database Server 48

3.3 Qui trình đăng kí, cấp phát chứng chỉ 49

3.4 Thử nghiệm sản phẩm 50

3.4.1 Thử nghiệm phía quản trị 50

Trang 4

3.4.2 Thử nghiệm phía người dùng 50 3.5 Đánh giá chung 50 Kết quả nghiên cứu 53

Trang 5

DANH MỤC TỪ VIẾT TẮT

ARLs Authority Revocation Lists

CA Certificate Authority

CAO Certificate Authority Operator

CMS Cryptographic Message Syntax

COST Commercial of the Shelf

CRLs Certificate Revocation Lists

CRR Certificate Revocation Request

CSP Certification Service Provider

DAP Directory Access Protocol

DES Data Encryption Standard

DSS Digital Signature Standard

ECC Elliptic Curve Cryptography

HTTPS Secure Hypertext Transaction Standard IANA Internet Assigned Numbers Authority

IEEE Institute of Electrical & Electronic Engineers IETF Internet Engineering Task Force

ISO International Organization for Standardization

ITU-T Internet Telecommumications

Union-Telecommunication LDAP Lightweight Directory Access Protocol MD5 Message Digest 5 Hash Algorithm

OCSP Online Certificate Status Protocol

PKC Public Key Certificate

PKCS Public Key Cryptography Standards

PKI Public Key Infrastructure

PKIX Extended Public Key Infrastructure

RA Registration Authorities

RAO Registration Authorities Operator

S/MIME Secure Multipurpose Internet Mail Extensions

SHA-1 Secure Hash Standard

TLS Transport Layer Security

Trang 6

DANH MỤC HÌNH VẼ

DANH MỤC HÌNH VẼ v

1.1 Hệ mật mã khoá đối xứng 3

1.2 Hệ mật mã khoá công khai 4

1.3 Hàm băm 8

1.4 Chữ kí số 11

2.1 Chứng chỉ số (digital certificates) 14

2.1.1 Chứng chỉ khóa công khai 14

2.1.2 Chứng chỉ khoá công khai X.509 16

17

2.1.3 Thu hồi chứng chỉ 20

2.1.4 Chính sách đối với chứng chỉ số 21

2.1.5 Công bố và gửi thông báo thu hồi chứng chỉ 22

23

2.2 Hạ tầng khóa công khai – PKI 25

2.3 Hệ thống cấp chứng chỉ số (Certification Authority – CA) 30

2.4 Mô hình tin cậy cho PKI 31

2.4.1 Mô hình CA đơn 31

2.4.2 Mô hình phân cấp 33

2.4.3 Mô hình mắt lưới (xác thực chéo) 34

2.4.4 Mô hình Hub và Spoke (Bridge CA) 36

2.4.5 Mô hình Web (Trust Lists) 37

2.4.6 Mô hình người sử dụng trung tâm (User Centric Model) 38

3.1 Tổng quan về hệ thống 41

3.1.1 Mô hình hệ thống 41

3.1.2 Một số đặc tính của hệ thống cung cấp chứng chỉ số 41

3.2 Chức năng và quá trình khởi tạo các thành phần trong hệ thống cung cấp chứng chỉ số JavaCA 46

3.2.1 Certificate Authority - CA 46

3.2.2 Registration Authority - RA 47

3.2.3 RAO 48

3.2.4 LDAP và Public Database Server 48

3.3 Qui trình đăng kí, cấp phát chứng chỉ 49

3.4 Thử nghiệm sản phẩm 50

3.4.1 Thử nghiệm phía quản trị 50

Trang 7

3.4.2 Thử nghiệm phía người dùng 50 3.5 Đánh giá chung 50 Kết quả nghiên cứu 53

Trang 8

MỞ ĐẦU

Các dịch vụ trên mạng Internet/Intranet ngày càng phong phú nhưngmức độ đe dọa đến an ninh thông tin trên mạng như làm thất thoát, sai lệchthông tin, giả mạo thông tin và người dùng ngày càng trở nên nghiêm trọng.Nghiên cứu xây dựng hệ thống thông tin an toàn và có tính bảo mật cao đang

là nhu cầu cấp bách hiện nay Thuật toán mật mã khóa công khai, đặc biệt làthuật toán RSA cho phép mã hóa, thực hiện chữ kí số để bảo đảm tính mật,tính xác thực, tính toàn vẹn thông tin khi truyền trên mạng Tuy nhiên, khóacông khái có thể bị giả mạo do vậy Nhà cung cấp phải chứng thực số(Certificate Authority - CA) chứng thực khóa công khai thuộc về ai Chính vì

vậy học viên chọn đề tài: “Nghiên cứu giải pháp xây dựng hệ thống cấp chứng chỉ số dựa trên hạ tầng khóa công khai” với mục đích tìm hiểu về

chứng chỉ số, hạ tầng khóa công khai PKI và triển khai thử nghiệm một hệthống cung cấp chứng chỉ số để minh họa

Trang 9

CHƯƠNG 1 GIỚI THIỆU VỀ HỆ MẬT MÃ

Mật mã đã được con người sử dụng từ lâu 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 AiCập cổ đại Trải qua hàng nghìn năm lịch sử, mật mã đã được sử dụng rộngrãi ở khắp nơi trên thế giới để giữ bí mật cho việc trao đổi thông tin trongnhiều lĩnh vực hoạt động giữa con người và các quốc gia, đặc biệt trong cáclĩnh vực quân sự, chính trị, ngoại giao

Mật mã trước hết là một loại hoạt động thực tiễn, nội dung chính của

nó là để giữ bí mật thông tin Ví dụ muốn gửi một văn bản từ một người gửi

A đến một người nhận B, A phải tạo cho văn bản đó một bản mã mật tươngứng và thay vì gửi văn bản rõ thì A chỉ gửi cho B bản đã mã mật, B nhậnđược bản mã mật và khôi phục lại văn bản gốc để hiểu được thông tin mà Amuốn gửi cho mình Văn bản gửi đi thường được chuyển qua các con đườngcông khai nên người ngoài có thể “lấy trộm” được, nhưng vì đó chỉ là bản mãmật nên không đọc hiểu được A có thể tạo ra bản mã mật và B có thể giảibản mã mật thành bản gốc để hiểu được là do hai người đã có một thỏa thuận

về một chìa khoá chung, chỉ với khoá chung này thì A mới tạo được bản mãmật từ bản gốc và B mới khôi phục được bản gốc từ bản mã mật Khoá chung

đó được gọi là khoá mật mã Để thực hiện được một phép mật mã, ta cần cómột thuật toán biến bản gốc cùng với khoá mật mã thành bản mã mật và mộtthuật toán ngược lại biến bản mật cùng với khoá mật mã thành bản gốc Cácthuật toán đó được gọi tương ứng là thuật toán lập mã và thuật toán giải mã.Các thuật toán này thường không nhất thiết phải giữ bí mật, mà cái luôn cầnđược giữ bí mật là khoá mật mã Trong thực tiễn, có những hoạt động ngượclại với hoạt động bảo mật là khám phá bí mật từ các bản mã “lấy trộm” được,hoạt động này thường được gọi là mã thám hay phá khoá.[2]

Trang 10

Hệ mã chuẩn DES (viết tắt của Data Encryption Standard, hay Tiêuchuẩn Mã hóa Dữ liệu) là một phương pháp mật mã hóa được FIPS (Tiêuchuẩn Xử lý Thông tin Liên bang Hoa Kỳ) chọn làm chuẩn chính thức vàonăm 1976 Sau đó chuẩn này được sử dụng rộng rãi trên phạm vi thế giới.Ngay từ đầu, thuật toán của nó đã gây ra rất nhiều tranh cãi, do nó bao gồmcác thành phần thiết kế mật, độ dài khóa tương đối ngắn, và các nghi ngờ vềcửa sau để Cơ quan An ninh quốc gia Hoa Kỳ (NSA) có thể bẻ khóa Đây làmột ví dụ về mật mã cổ điển DES kết hợp cả hai phương pháp thay thế vàchuyển dịch DES thực hiện mã hoá trên từng khối bản rõ là một xâu 64 bit,

có khoá là một xâu 56 bit và cho ra bản mã cũng là một xâu 64 bit Hiện nay,DES và biến thể của nó (3DES) vẫn được sử dụng thành công trong nhiềuứng dụng

Trong các hệ mã đối xứng chỉ có một khoá được chia sẻ giữa các bêntham gia liên lạc Cứ mỗi lần truyền tin bảo mật, cả người gửi A và ngườinhận B cùng thỏa thuận trước với nhau một khoá chung K, sau đó người gửidùng eK để lập mã cho thông báo gửi đi và người nhận dùng dK để giải mãbản mật mã nhận được

Người gửi và người nhận có cùng một khoá chung K, được giữ bí mậtdùng cho cả lập mã và giải mã Những hệ mật mã cổ điển với cách sử dụngtrên được gọi là mật mã khoá đối xứng hay còn gọi là mật mã khoá bí mật Độ

Trang 11

an toàn của hệ mật mã đối xứng phụ thuộc vào khoá Nếu để lộ khoá thì bất

kỳ người nào cũng có thể mã hoá và giải mã thông điệp

Ưu điểm nổi bật của các hệ mật mã khoá đối xứng là việc xây dựngmột hệ mật mã có độ bảo mật cao khá dễ dàng về mặt lý thuyết Nhưng nếukhông kể đến việc cần có một nguồn sinh khoá ngẫu nhiên thì việc phân phối,lưu trữ bảo mật và thỏa thuận khoá là một vấn đề khó chấp nhận được trongmạng truyền thông ngày nay Trong một mạng có n người dùng, nếu cần khoácho từng cặp thì cần n(n+1)/2 khoá

Để khắc phục hiện tượng không thể lưu trữ một khối lượng khoá quálớn đáp ứng được nhu cầu mã dịch, người ta xem xét đến việc sử dụng các hệmật mã khối với độ dài không lớn lắm như DES… hoặc các hệ mật mã dạng

mà khoá được sinh ra từ một nguồn giả ngẫu nhiên bằng thuật toán Mặc dù

đã thực hiện việc mã hoá và giải mã bằng các hệ mật mã khối hay bằng thuậttoán sinh khoá như đã nêu ở trên thì vấn đề phân phối và thỏa thuận khoá vẫnphải được thực hiện Như vậy phân phối và thỏa thuận khoá là một vấn đềchưa thể được giải quyết trong các hệ mật mã khoá đối xứng

1.2 Hệ mật mã khoá công khai

Để giải quyết vấn đề phân phối và thỏa 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 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 đượcgọ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 - c) và khoá giải mã được gọi là khóa riêng(private key - r) 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 đượckhoá này không dễ dàng tìm được khoá kia

Trang 12

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õ Người gửi A sẽ mã hoá thông điệp bằng khóa công khai của người nhận

và người nhận B sẽ giải mã thông điệp với khoá riêng tương ứng của mình.Quá trình này được mô tả trong hình 1.2 và 1.3

Có nhiều hệ thống khoá công khai được triển khai rộng rãi như hệRSA, hệ ElGamal sử dụng giao thức trao đổi khoá Diffie-Hellman và nổi lên

Hình 1.2: Mã hoá thông điệp sử dụng khoá công khai C

Trang 13

trong những năm gần đây là hệ đường cong Elliptic Trong số các hệ mật mãtrên thì hệ RSA là hệ được cộng đồng chuẩn quốc tế và công nghiệp chấpnhận rộng rãi trong việc thực thi mật mã khoá công khai.

Hệ mật mã RSA, do Rivest, Shamir và Adleman [12] tìm ra, đã đượccông bố lần đầu tiên vào tháng 8 năm 1977 trên tạp chí Scientific American

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 bảo đảm bằng độ phức tạp của một bài toán số học nổi tiếng là bàitoán phân tích số nguyên thành các thừa số nguyên tố Hệ mật mã RSAđược mô tả như hình 1.4

Việc phát minh ra phương pháp mã công khai tạo ra một cuộc “cáchmạng” trong công nghệ an toàn thông tin điện tử Nhưng thực tiễn triển khaicho thấy tốc độ mã hoá khối dữ liệu lớn bằng các thuật toán mã hoá công khaichậm hơn rất nhiều so với hệ mã hoá đối xứng Ví dụ, để đạt được độ an toànnhư các hệ mã đối xứng mạnh cùng thời, RSA đòi hỏi thời gian cho việc mãhoá 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ã hoá

Tạo khóa: Khi đăng kí khóa, hệ thống sẽ sinh ra hai khóa đó là

khóa công khai (Public key - c ) và khóa bí mật (Private key - r)

Bước 1: Chọn p, q là hai số nguyên tố lớn

Bước 2: Cho n = p.q

Bước 3: φ(n) = (p-1)(q-1)

Bước 4: (r, φ)=1 (chọn r thỏa mãn điều kiện này)

Bước 5: Chọn c thỏa mãn điều kiện c.r % φ =1

Sau khi hoàn thành 5 bước trên sẽ tạo ra hai khóa:

Khóa riêng: (r, n)

Khóa công khai: (c, n)

Hình 1.4: Sơ đồ hệ mật mã RSA

Trang 14

văn bản có kích thước lớn bằng lược đồ khoá công khai thì văn bản này sẽđược mã hoá bằng một hệ mã đối xứng có tốc độ cao như DES, IDEA,… sau

đó khoá được sử dụng trong hệ mã đối xứng sẽ được mã hoá sử dụng mật mãkhoá công khai Phương pháp này rất khả thi trong việc mã và giải mã nhữngvăn bản có kích thước lớn như được mô tả trong hình 1.5 và 1.6

Secret Key R

Public Key C

Of B

Directory

of Public Key

Hình 1.5: Mã hoá thông điệp sử dụng khoá bí mật R để mã thông điệp

và khoá công khai C để mã khoá bí mật R

Hình 1.6: Giải mã thông điệp sử dụng khoá bí mật C để giải mã thông điệp

và khoá riêng R để giải mã khoá bí mật C

Chỉ

riêng

mình em

B

Trang 15

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àoviệ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ánkhó 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ùngmộ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óacô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 khai trên mạngcho nên việc đảm bảo rằng “khoá được công bố có đúng là của đối tượng cầnliê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ĩnhvự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ínhtoàn vẹn của một văn bản được giải quyết

1.3 Hàm băm

Việc sử dụng các hệ mật mã và sơ đồ chữ kí số 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ớidung lượng của thông tin Thêm vào đó có thể xảy ra trường hợp: với nhiềubức thông điệp đầu vào khác nhau, sử dụng hệ mật mã, sơ đồ kí số giống nhau(có thể khác nhau) thì cho ra kết quả bản mã, bản kí số giống nhau (ánh xạ N-1: nhiều – một), như hình 1.7 Điều này sẽ dẫn đến một số rắc rối về sau choviệc xác thực thông tin

Trang 16

Các sơ đồ kí số thường chỉ được sử dụng để kí các bức thông điệp(thông tin) có kích thước nhỏ và sau khi kí bản kí số có kích thước gấp đôibản thông điệp gốc Ví dụ với sơ đồ chữ kí chuẩn DSS kí trên các bức thôngđiệp có kích thước 160bit, bản kí số sẽ có kích thước 320bit Trong khi đótrên thực tế, ta cần phải kí các thông điệp có kích thước lớn hơn nhiều, chẳnghạn vài chục MegaByte Hơn nữa, để đáp ứng yêu cầu xác thực sau khi thôngtin đến người nhận, dữ liệu truyền qua mạng không chỉ là bản thông điệp gốc,

mà còn bao gồm cả bản kí số (có dung lượng gấp đôi dung lượng bản thôngđiệp gốc) Một cách đơn giản để giải quyết vấn đề trên (với thông điệp cókích thước lớn) này là chặt thông điệp thành nhiều đoạn 160bit, sau đó kí lêncác đoạn đó độc lập nhau Nhưng sử dụng biện pháp này sẽ có một số vấn đềgặp phải trong việc tạo ra các chữ kí số:

- Thứ nhất: với một thông điệp có kích thước a, thì sau khi kí kíchthước của chữ kí sẽ là 2a (trong trường hợp sử dụng DSS)

Thông điệp 1

Thông điệp 2

Thông điệp 3

Hệ mật mã hay

Sơ đồ kí số

Bản mã hay Bản kí số

Hình 1.7: Nhiều thông điệp nguồn cho cùng 1 kết quả đích sau mã hoá/ kí số

Trang 17

- Thứ hai: với các chữ kí “an toàn” thì tốc độ chậm vì chúng dùngnhiều phép tính số học phức tạp như số mũ modulo.

- Thứ ba: vấn đề nghiêm trọng hơn đó là kết quả sau khi kí, nội dungcủa thông điệp có thể bị xáo trộn các đoạn với nhau, hoặc một số đoạn trongchúng có thể bị mất mát, trong khi người nhận cần phải xác minh lại thôngđiệp Do đó, ta cần phải bảo đảm tính toàn vẹn của thông điệp

Giải pháp cho các vấn đề vướng mắc đến chữ kí số là dùng hàm băm đểtrợ giúp cho việc kí số Hàm băm - hiểu theo một nghĩa đơn giản là hàm chotươ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ộcphạm vi mật mã học [1] 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í số nhằm làm giảmdung lượng của dữ liệu cần thiết để truyền qua mạng Hàm băm ở đây đượchiểu là các thuật toán không sử dụng khoá để mã hóa (ở đây ta dùng thuật ngữ

“băm” thay cho “mã hoá”), nó có nhiệm vụ băm thông điệp được đưa vàotheo một thuật toán h một chiều nào đó, rồi đưa ra một bản băm – văn bản đạidiệ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 được nội dung thông điệp từ giá trị băm này Hàm băm mộtchiều h có một số đặc tính quan trọng sau:

- Với thông điệp đầu vào T thu được bản băm T’ = h(T) là duy nhất

- Nếu dữ liệu trong thông điệp T thay đổi hay bị xóa để thành thôngđiệp T” thì h(T”) ≠ h(T) Cho dù chỉ là một sự thay đổi nhỏ hay chỉ là xóa đi 1bit 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ĩalà: Hai thông điệp hoàn toàn khác nhau thì giá trị hàm băm cũng khác nhau

Trang 18

- 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 T thì dễ dàng tính được T’ = h(T), nhưng lại khôngthể suy ngược lại được T nếu chỉ biết giá trị hàm băm h(T).

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ămchuẩn như: [MD2], [MD4], [MD5], [SHA-1]…

1.4 Chữ kí số

Mật mã khoá công khai có thể được sử dụng theo nhiều cách khácnhau Chữ kí số là một ví dụ minh chứng cho việc đảm bảo xác thực ngườidùng và toàn vẹn dữ liệu Nếu người gửi A mã hoá thông điệp hay tài liệu vớikhoá riêng của mình thì bất kỳ ai cũng có thể giải mã thông điệp với khoácông của A Do đó, người nhận có thể chắc chắn rằng thông điệp mình nhậnchỉ có thể do A mã vì chỉ A mới có khoá riêng của mình Quá trình mã hoáthông điệp với khoá riêng của người gửi gọi là quá trình “kí số”

Trong thực tế, quá trình kí số thường khó hơn Thay bằng việc mã bảnthông điệp gốc với khoá riêng của người gửi thì chỉ có bản đại diện thôngđiệp (bản băm) có độ dài cố định được mã hoá với khoá riêng của người gửi

và bản băm đã được mã hoá này được gắn vào với thông điệp gốc Ngườinhận B sau khi nhận được thông điệp đầu tiên sẽ giải mã bản băm với khoácông của người gửi, sau đó băm thông điệp đi kèm bằng thuật toán băm tươngứng với thuật toán băm người gửi đã sử dụng B so sánh hai giá trị băm nếugiống nhau thì chắc chắn rằng thông điệp A gửi cho B còn nguyên vẹn, đồngthời xác thực được người gửi thông tin là ai

Tính toàn vẹn của thông điệp được đảm bảo vì chỉ thay đổi một bittrong thông điệp gửi đi thì kết quả hai giá trị băm sẽ khác nhau Tính xác thực

Trang 19

của người gửi cũng được đảm bảo vì chỉ có người gửi A mới có khoá riêng để

mã bản băm Chữ kí số cũng chứng minh được tính chống chối bỏ bản gốc vìchỉ có A mới có khoá riêng dùng để kí số

Sơ đồ chữ kí được định nghĩa như sau:

Sơ đồ chữ kí là một bộ năm (P, A, K, S, V), trong đó:

1 P là một tập hữu hạn các văn bản có thể

2 A là một tập hữu hạn các chữ kí có thể

3 K là một tập hữu hạn các khoá có thể

4 S là tập các thuật toán kí

5 V là tập các thuật toán kiểm thử

6 Với mỗi k ∈ K, có một thuật toán kí sigk∈ S, sigk: P → A vàmột thuật toán kiểm thử verk∈ V, verk: P x A → {đúng, sai},thỏa mãn điều kiện sau đây với mọi x ∈ P, y ∈ A:

verk(x, y) = đúng, nếu y = sigk(x) sai, nếu y ≠ sigk(x)RSA cũng là thuật toán được dùng nhiều cho mục đích kí số Sơ đồ chữ kíRSA được mô tả như trong hình 1.8

Cho n = p*q với p, q là số nguyên tố lớn Đặt P = A = Zn

K = {(n, p, q, a, b)/ n = p*q, a*b ≡ 1 mod φ (n)}

trong đó (n, b) là công khai, (a, p, q) là bí mật

Với mỗi K = (n, p, q, a, b), mỗi x ∈ P, ta định nghĩa:

y = sigK(x) = xa mod n, y ∈ AverK(x, y) = đúng ⇔ x ≡ yb mod n

Hình 1.8: Sơ đồ chữ kí RSA

Trang 20

CHƯƠNG 2 CHỨNG CHỈ SỐ VÀ HỆ THỐNG CẤP CHỨNG CHỈ CA

Mật mã khoá công khai cho đến nay được xem là giải pháp tốt nhất đểđảm bảo được các yêu cầu về an toàn thông tin mạng: “bảo mật”, “toàn vẹn”,

“xác thực” và “chống chối bỏ” Mặc dù vẫn còn mới khi so sánh với cácphương pháp mã cổ điển nhưng mật mã khoá công khai đã nhận được sự tincậy rộng rãi của thế giới Internet vì những công cụ có khả năng phát triển chovấn đề quản lý khoá

Như đã đề cập ở trên, vấn đề chính của hệ mã khoá đối xứng là vấn đềquản lý khoá và để giải quyết vấn đề này hệ mã khoá công khai đã được đưa

ra như một giải pháp Trong hệ thống mật mã khoá công khai, khoá riêng(khoá bí mật) được người dùng giữ bí mật trong khi khoá công khai với têncủa người sở hữu tương ứng lại được công bố công khai Đối với hệ thốngnhư thế này, ta cần xác định và trả lời một số câu hỏi như:

- Ai sẽ tạo ra cặp khoá công khai – bí mật?

- Dữ liệu sẽ được lưu dưới định dạng như thế nào trong hệ thống lưutrữ (khoá công khai, định danh của người sở hữu và các thông tin khác)?

- Có cơ chế nào để giữ cho thông tin không bị thay đổi trên hệ thốnglưu trữ?

- Làm thế nào để đảm bảo việc gắn kết giữa khoá công khai và địnhdanh của thực thể yêu cầu có khoá công khai?

- Làm thế nào để người sử dụng có thể truy cập được đến nơi lưu trữ?

- Làm thế nào người sử dụng nhận biết được có sự thay đổi trong dữliệu đang được lưu trên hệ thống lưu trữ?

Trang 21

- Điều gì sẽ xảy ra với khoá công khai nếu khoá riêng tương ứng bịxâm hại?

- Có một chính sách nào cho tất cả những vấn đề nêu trên không?

Để trả lời cho những câu hỏi trên có một giải pháp là sử dụng hạ tầng khoácông khai - PKI Cho đến nay có nhiều định nghĩa về PKI, nhưng chưa địnhnghĩa nào được công nhận chính thức Có một số định nghĩa về PKI như sau:

“PKI là một tập các phần cứng, phần mềm, con người, 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 chứng chỉ khoácông khai dựa trên mật mã khoá công khai”[25]

“PKI là hạ tầng cơ sở có thể hỗ trợ quản lý khoá công khai để hỗ trợcác dịch vụ xác thực, mã hoá, toàn vẹn hay chống chối bỏ”[9]

“PKI là hạ tầng cơ sở bảo mật có những dịch vụ được triển khai vàchuyển giao sử dụng công nghệ và khái niệm khoá công khai”[4]

Nhìn chung, PKI có thể được định nghĩa như một hạ tầng cơ sở sửdụng công nghệ thông tin để cung cấp dịch vụ mã hoá khoá công khai và chữ

kí số Một mục đích quan trọng khác của PKI là để quản lý khoá và chứng chỉđược sử dụng trong hệ thống

Chứng chỉ là cấu trúc dữ liệu đặc biệt, gắn kết khoá công khai với chủ

sở hữu của nó Việc gắn kết này được đảm bảo bằng chữ kí số của nơi được

uỷ quyền cấp chứng chỉ

2.1 Chứng chỉ số (digital certificates)

2.1.1 Chứng chỉ khóa công khai

Như đã nói ở trên, mật mã khoá công khai sử dụng hai khoá khác nhau(khoá công khai và khoá riêng) để đảm bảo yêu cầu “bí mật, xác thực, toànvẹn và chống chối bỏ” của những dịch vụ an toàn Một đặc tính quan trọngkhác của lược đồ khoá công khai là phần khoá công khai được phân phối mộtcách tự do Ngoài ra, trong hạ tầng mã khoá công khai thì khoá công khai

Trang 22

ngoài việc phải luôn sẵn có để mọi người trong hệ thống có thể sử dụng cònphải được đảm bảo về tính toàn vẹn

Khoá công khai được đặt ở vị trí công khai trong một định dạng đặcbiệt Định dạng này được gọi là chứng chỉ Chứng chỉ (thực ra là chứng chỉkhoá công – public key certificate (PKC)) là sự gắn kết giữa khoá công khaicủa thực thể và một hoặc nhiều thuộc tính liên quan đến thực thể [8] Thực thể

có thể là người, thiết bị phần cứng như máy tính, router hay một phần mềm

xử lý Một chứng chỉ khoá công khai (PKC) được người cấp kí bằng chữ kí cóhiệu lực đưa ra một bảo đảm đầy đủ về sự gắn kết giữa khoá công khai, thựcthể sở hữu khoá công khai này và tập các thuộc tính khác được viết trongchứng chỉ PKC còn được gọi là “digital certificate”- chứng chỉ số, “digitalID”, hay đơn giản là chứng chỉ

Chứng chỉ chứa những thông tin cần thiết như khóa công khai, chủ thể(người sở hữu) khoá công khai, người cấp 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 người cấp chứng chỉ.Trong chứng chỉ số có 3 thành phần chính, đó là:

- Thông tin cá nhân của người được cấp: Đây là các thông tin của đốitượng được cấp chứng chỉ số, gồm tên, quốc tịch, địa chỉ, điện thoại, email,tên tổ chức Phần này giống như các thông tin trên chứng minh thư của mỗingười Để bảo đảm tính duy nhất cao có thể sử dụng thông tin sinh trắc củangười sử dụng như vân tay

- Khóa công khai ( public key ) của người được cấp

- Chữ kí số của Nhà cung cấp chứng chỉ - CA

Người nào muốn sử dụng chứng chỉ trước hết sẽ kiểm tra chữ kí số trongchứng chỉ Nếu đó là chữ kí hợp lệ thì sau đó có thể sử dụng chứng chỉ theomục đích mong muốn

Có nhiều loại chứng chỉ, một trong số đó là:

Trang 23

- Chứng chỉ khoá công khai X.509

- Chứng chỉ khoá công khai đơn giản (Simple Public Key Certificates - SPKC)

- Chứng chỉ Pretty Good Privacy (PGP)

- Chứng chỉ thuộc tính (Attribute Certificates - 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 naychứ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 Hệ thống chương ttrình cấp chứng chỉ số thử nghiệm cũng sửdụng định dạng chứng chỉ theo X.509, nên luận văn này tập trung vào xem xétchi tiết chứng chỉ công khai X.509 Trong luận văn, thuật ngữ chứng chỉ

“certificate” được sử dụng đồng nghĩa với chứng chỉ khoá công khai X.509 v3

2.1.2 Chứng chỉ khoá công khai X.509

Chứng chỉ X.509 v3 là định dạng chứng chỉ được sử dụng 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ỉ khoá công khai X.509 được Hội viễn thông quốc tế (ITU)đưa ra lần đầu tiên năm 1988 như là một bộ phận của dịch vụ thư mục X.500

Chứng chỉ gồm 2 phần Phần đầu là những trường cơ bản cần thiếtphải có trong chứng chỉ Phần thứ hai chứa thêm một số trường phụ, nhữngtrường phụ này được gọi là trường mở rộng dùng để xác định và đáp ứngnhữ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 như trong hình 2.1

Trang 24

Hình 2.1: Khuôn dạng chứng chỉ X.509

a Những trường cơ bản của chứng chỉ X.509

- Version: xác định số phiên bản của chứng chỉ

- Certificate Serial Number: do CA gán, là định danh duy nhất củachứng chỉ

- Signature Algorithm ID: chỉ ra thuật toán CA sử dụng để kí số chứngchỉ Có thể là thuật toán RSA hay DSA…

- Subject public key information: chứa khoá công khai và những tham

số liên quan; xác định thuật toán (ví dụ RSA hay DSA) được sử dụng cùngvới khoá

Trang 25

- Issuer Unique ID (Optional): là trường không bắt buộc, trường nàycho phép sử dụng lại tên người cấp Trường này hiếm được sử dụng trongtriển khai thực tế.

- Subject Unique ID (Optional): là trường tuỳ chọn cho phép sử dụnglại tên của subject khi quá hạn Trường này cũng ít được sử dụng

- Extensions (Optional): chỉ có trong chứng chỉ v.3

- Certification Authority’s Digital Signature: chữ kí số của CA đượctính từ những thông tin trên chứng chỉ với khoá riêng và thuật toán kí số đượcchỉ ra trong trường Signature Algorithm Identifier của chứng chỉ

Tính toàn vẹn của chứng chỉ được đảm bảo bằng chữ kí số của CA trênchứng chỉ Khoá công khai của CA được phân phối đến người sử dụng chứngchỉ theo một số cơ chế bảo mật trước khi thực hiện các thao tác PKI Người

sử dụng kiểm tra hiệu lực của chứng chỉ được cấp với chữ kí số của CA vàkhoá công khai của CA

b Những trường mở rộng của chứng chỉ X.509

Phần mở rộng là những thông tin về các thuộc tính cần thiết được đưavào để gắn những thuộc tính này với người sử dụng hay khoá công khai.Những thông tin trong phần mở rộng thường được dùng để quản lý xác thựcphân cấp, chính sách chứng chỉ, thông tin về chứng chỉ bị thu hồi… Nó cũng

có thể được sử dụng để định nghĩa phần mở rộng riêng chứa những thông tinđặc trưng cho cộng đồng nhất định Mỗi trường mở rộng trong chứng chỉđược thiết kế với cờ “critical” hoặc “uncritical”

- Authority Key Indentifier: chứa ID khoá công khai của CA, ID này

là duy nhất và được dùng để kiểm tra chữ kí số trên chứng chỉ Nó cũng được

sử dụng để phân biệt giữa các cặp khoá do một CA sử dụng (trong trường hợpnếu CA có nhiều hơn một khoá công khai) Trường này được sử dụng cho tất

cả các chứng chỉ tự kí số (CA - certificates)

Trang 26

- Chứa ID khoá công khai có trong chứng chỉ và được sử dụng để phânbiệt giữa các khoá nếu như có nhiều khoá được gắn vào trong cùng chứng chỉcủa người sử dụng (Nếu chủ thể có nhiều hơn một khoá công khai)

- Key Usage: chứa một chuỗi bit được sử dụng để xác định (hoặc hạn

chế) chức năng hoặc dịch vụ được hỗ trợ qua việc sử dụng khoá công khaitrong chứng chỉ

- Extended Key Usage: chứa một hoặc nhiều OIDs (định danh đối

tượng – Object Identifier) để xác định cụ thể việc sử dụng khoá công trongchứng chỉ Các giá trị có thể là : (1) xác thực server TLS, (2) xác thực clientTLS, (3) Kí Mã, (4) bảo mật e-mail , (5) Tem thời gian

- CRL Distribution Point: chỉ ra vị trí của CRL tức là nơi hiện có

thông tin thu hồi chứng chỉ Nó có thể là URI (Uniform Resource Indicator),

địa chỉ của X.500 hoặc LDAP server

- Private Key Usage Period: trường này cho biết thời gian sử dụng của

khoá riêng gắn với khóa công khai trong chứng chỉ

- Certificate Policies: trường này chỉ ra các chính sách OIDs gắn với

việc cấp và sử dụng chứng chỉ

- Policy Mappings: trường này chỉ ra chính sách xác thực tương đương

giữa hai miền CA Nó được sử dụng trong việc thiết lập xác thực chéo và kiểm trađường dẫn chứng chỉ Trường này chỉ có trong chứng chỉ CA

- Subject Alternative Name: chỉ ra những dạng tên lựa chọn gắn với

người sở hữu chứng chỉ Những giá trị có thể là: địa chỉ e-mail, địa chỉ IP, địachỉ URI…

- Issuer Alternative Name: chỉ ra những dạng tên lựa chọn gắn với

người cấp chứng chỉ

Trang 27

- Subject Directory Attributes: trường này chỉ ra các thuộc tính gắn với

người sở hữu chứng chỉ Trường mở rộng này không được sử dụng rộng rãi Nóđược dùng để chứa những thông tin liên quan đến đặc quyền

- Basic Constraints Field: trường này cho biết đây có phải là chứng chỉ

CA hay không bằng cách thiết lập giá trị logic (true) Trường này chỉ có trongchứng chỉ CA

Chứng chỉ CA dùng để thực hiện một số chức năng Chứng chỉ này cóthể ở một trong hai dạng Nếu CA tạo ra chứng chỉ để tự sử dụng, chứng chỉ nàyđược gọi là chứng chỉ CA tự kí Khi một CA mới được thiết lập, CA tạo ra mộtchứng chỉ CA tự kí để kí lên chứng chỉ của người sử dụng cuối trong hệ thống

Và dạng thứ hai là CA cấp chứng chỉ cho những CA khác trong hệ thống

- Path Length Constraint: trường này chỉ ra số độ dài tối đa của

đường dẫn chứng chỉ có thể được thiết lập Giá trị “zero” chỉ ra rằng CA chỉ

có thể cấp chứng chỉ cho thực thể cuối, không cấp chứng chỉ cho những CAkhác (Trường này chỉ có trong chứng chỉ của CA)

- Name Constrainsts: được dùng để bao gồm hoặc loại trừ các nhánh

trong những miền khác nhau trong khi thiết lập môi trường tin tưởng giữa cácmiền PKI

- Policy Constraints: được dùng để bao gồm hoặc loại trừ một số chính

sách chứng chỉ trong khi thiết lập môi trường tin tưởng giữa các miền PKI

2.1.3 Thu hồi chứng chỉ

Trong một số trường hợp như khoá bị xâm hại, hoặc người sở hữuchứng chỉ thay đổi vị trí, cơ quan… thì chứng chỉ đã được cấp không có hiệulực Do đó, cần phải có một cơ chế cho phép người sử dụng chứng chỉ kiểmtra được trạng thái thu hồi chứng chỉ trong các trường hợp như:

- Chứng chỉ không bị thu hồi

- Chứng chỉ đã bị CA cấp thu hồi

Trang 28

- Chứng chỉ do một tổ chức có thẩm quyền mà CA uỷ thác có tráchnhiệm thu hồi chứng chỉ thu hồi

Bản thân chứng chỉ có thể chứa con trỏ đến nơi thông tin thu hồi được xácđịnh vị trí Người sử dụng chứng chỉ có thể biết thư mục, kho lưu trữ hay cơchế để lấy được thông tin thu hồi dựa trên những thông tin cấu hình được thiếtlập trong quá trình khởi sinh

Để duy trì tính nhất quán và khả năng kiểm tra, CA yêu cầu:

- Duy trì bản ghi kiểm tra chứng chỉ thu hồi

- Cung cấp thông tin trạng thái thu hồi

- Công bố CRLs (danh sách thu hồi chứng chỉ) khi CRL là danh sách trống

2.1.4 Chính sách đối với chứng chỉ số

Như được giới thiệu trong phần trên, một số mở rộng liên quan đếnchính sách có trong chứng chỉ Những mở rộng liên quan đến chính sách nàyđược sử dụng trong khi thiết lập xác thực chéo giữa các miền PKI

Chính sách có định danh duy nhất (được biết đến như định danh đốitượng hay OID) và định danh này được đăng kí để người cấp và người sửdụng chứng chỉ có thể nhận ra và tham chiếu đến Một chứng chỉ có thể đượccấp theo nhiều chính sách Một số có thể là thủ tục và mô tả mức đảm bảo gắnvới việc tạo và quản lý chứng chỉ Những chính sách khác có thể là kỹ thuật

và mô tả mức đảm bảo gắn với an toàn của hệ thống được sử dụng để tạochứng chỉ hay nơi lưu trữ khoá [6]

Một chính sách chứng chỉ cũng có thể được hiểu là việc giải thíchnhững yêu cầu và giới hạn liên quan đến việc sử dụng chứng chỉ được công bốtheo những chính sách này Chính sách chứng chỉ - Certificate Policies (CP)được chứa trong trường mở rộng chuẩn của một số chứng chỉ Bằng việc kiểmtra trường này trong chứng chỉ, hệ thống sử dụng chứng chỉ có thể xác định đượcmột chứng chỉ cụ thể có thích hợp cho mục đích sử dụng hay không

Trang 29

Một thuật ngữ chuyên môn khác “Certificate Practice Statement (CPS)”được sử dụng để mô tả chi tiết những thủ tục hoạt động bên trong của CA vàPKI cấp chứng chỉ với chính sách chứng chỉ đã qui định Chính sách chứng chỉđặc biệt quan trọng khi đưa ra quyết định để xác nhận chéo hai PKI khác nhau

2.1.5 Công bố và gửi thông báo thu hồi chứng chỉ

Thông thường chứng chỉ sẽ hợp lệ trong khoảng thời gian có hiệu lực.Nhưng trong một số trường hợp chứng chỉ lại không hợp lệ trước thời gianhết hạn, ví dụ như:

- Khoá riêng của chủ thể bị xâm phạm

- Thông tin chứa trong chứng chỉ bị thay đổi

- Khoá riêng của CA cấp chứng chỉ bị xâm phạm

Trong những trường hợp này cần có một cơ chế để thông báo đến nhữngngười sử dụng khác Một trong những phương pháp để thông báo đến người sửdụng về trạng thái của chứng chỉ là công bố CRLs định kỳ hoặc khi cần thiết.Ngoài ra, có một số cách lựa chọn khác để thông báo đến người sử dụng nhưdùng phương pháp trực tuyến Online Certificate Status Protocol [18]

a Certificate Revocation Lists (CRLs)

CRLs là cấu trúc dữ liệu được lưu như chứng chỉ người sử dụng CRLschứa danh sách các chứng chỉ đã bị thu hồi và những thông tin cần thiết kháccủa người sử dụng CRL thường do một CA cấp Tuy nhiên CRL cũng có thểđược sử dụng để cung cấp thông tin cho nhiều CA nếu nó được định nghĩanhư một CRL gián tiếp Những thông tin này được chứa trong trường mởrộng CRL Scope

Trang 30

Hình 2.2: Khuôn dạng danh sách chứng chỉ bị thu hồi

Trong đó:

- Version number: chỉ ra phiên bản của CRL.

- Signature: nhận biết loại hàm băm và thuật toán kí được sử dụng để

kí danh

sách thu hồi CRL

- Issuer: tên của thực thể cấp và kí CRL.

- This Update: chỉ ra ngày và thời gian CRL được công bố.

- Next Update: chỉ ra ngày và thời gian danh sách thu hồi kế tiếp được cấp.

- List of revoked certificates: chứa danh sách cùng với serial của

những chứng chỉ bị thu hồi

Những chứng chỉ đã bị CA thu hồi được ghi vào danh sách theo thứ tựcủa revokedCertificates Mỗi đầu vào nhận biết chứng chỉ thông qua số serial vàngày thu hồi trên đó có ghi rõ thời gian và ngày khi chứng chỉ bị CA thu hồi

Trang 31

b Authority Revocation List (ARLs)

ARL là một CRL đặc biệt chứa thông tin thu hồi về chứng chỉ CA.ARLs không chứa chứng chỉ của người sử dụng cuối Những thay đổi thôngthường trong ARL thường hiếm khi xảy ra bởi vì chứng chỉ của CA chỉ bị thuhồi khi khoá riêng của CA bị xâm hại và đó lại là trường hợp không thườngxảy ra Nếu chứng chỉ chéo bị thu hồi thì người cấp chứng chỉ chéo này sẽcông bố một ARL mới để thông báo với tất cả các thực thể khác về tìnhhuống này ARLs được sử dụng chủ yếu trong quá trình thẩm tra đường dẫnchứng chỉ nếu môi trường tin cậy bao gồm CA có chứng chỉ xác thực chéo

c Cơ chế truy vấn On-line (On-line Query Mechanisms)

CRLs và ARLs giúp người sử dụng cuối nhận biết được về tình trạngthu hồi chứng chỉ Nhưng có một vấn đề nảy sinh là điều gì sẽ xảy ra nếu CAthu hồi chứng chỉ ngay sau khi vừa công bố CRL Không có người sử dụngnào nhận biết được về việc thu hồi này đến khi một CRL mới được thông báo.Một lược đồ khác để kiểm soát được trạng thái của chứng chỉ do IETF pháttriển là OCSP (Online Certificate Status Protocol) Lược đồ này dựa trên cơchế truy vấn trực tiếp hơn việc công bố định kỳ CRLs và ARLs OCSP là giaothức yêu cầu/ trả lời đưa ra cơ chế để nhận được thông tin thu hồi trực tuyến

từ thực thể tin cậy là “OCSP Responder” Người sử dụng cuối thực hiện yêucầu với “OCSP Request” với một danh sách các chứng chỉ cần được kiểm tra,OCSP Responder trả lời yêu cầu “OCSP Reply” với trạng thái của mỗi chứngchỉ Chứng chỉ có thể ở một trong ba trạng thái sau: “good”, “revoked” vàunknown”

Sử dụng dịch vụ online có một số ưu điểm sau:

- Trả lời thường xuyên và luôn có tính chất mới

- Thời gian trả lời nhanh

- Giảm thiểu việc sử dụng băng thông mạng sẵn có

- Tổng phí xử lý phía client thấp

Trang 32

Tuy nhiên dịch vụ online có hạn chế trong trường hợp cần kiểm tratrạng thái thu hồi nhưng không online Vấn đề về bảo mật cũng được đặt rakhi sử dụng dịch vụ này Hình 2.5 là dịch vụ kiểm tra online với OCSPResponder là dịch vụ khác nhau.

Hình 2.3: Dịch vụ kiểm tra online 2.2 Hạ tầng khóa công khai – PKI

Trong mật mã học, hạ tầng khóa công khai (Public key infrastructure PKI) là một cơ chế để cho một bên thứ 3 (thường là nhà cung cấp chứng thựcsố) cung cấp và xác thực định danh các bên tham gia vào quá trình trao đổithô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 đượcthự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ợpkhá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ốitrong chứng thực khóa công khai

-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ênquan đồ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ôngkhai trong trao đổi thông tin

PKI cho phép những người tham gia xác thực lẫn nhau và sử dụngthông tin từ các chứng thực khóa công khai để mật mã hóa và giải mã thôngtin trong quá trình trao đổi Thông thường, PKI bao gồm phần mềm máykhách (client), phần mềm máy chủ (server), phần cứng (như thẻ thông minh)

Trang 33

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ănbản điện tử với khóa bí mật của mình và mọi người đều có thể kiểm tra vớikhó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

Một hệ thống PKI gồm 4 thành phần sau:

- Certification Authorities (CA): Cấp và thu hồi chứng chỉ

- Registration Authorities (RA): Gắn kết giữa khoá công khai và địnhdanh của người giữ chứng chỉ

- Clients: Người sử dụng chứng chỉ PKI hay theo cách khác được xácđịnh như những thực thể cuối Người sử dụng cuối hoặc hệ thống là chủ thểcủa chứng chỉ PKI

- Repository: Hệ thống (có thể phân tán) lưu trữ chứng chỉ và danh sáchcác chứng chỉ bị thu hồi Cung cấp cơ chế phân phối chứng chỉ và CRLs đếncác thực thể cuối Đây là mô hình kiến trúc PKI do nhóm làm việcPKIX của IETF đưa ra [15] Các thành phần PKI và các mối quan hệ giữachúng được chỉ ra như trong hình

Hình 2.4: Các thành phần PKI

Trang 34

Chức năng cơ bản của PKI

Những hệ thống cho phép PKI có những chức năng khác nhau Nhưngnhìn chung có hai chức năng chính là: chứng thực và thẩm tra

Chứng thực (certification)

Chứng thực là chức năng quan trọng nhất của hệ thống PKI Đây là quátrình ràng buộc khoá công khai với định danh của thực thể CA là thực thểPKI thực hiện chức năng chứng thực Có hai phương pháp chứng thực:

- Tổ chức chứng thực (CA) tạo ra cặp khoá công khai / khoá bí mật vàtạo ra chứng chỉ cho phần khoá công của cặp khoá

- Người sử dụng tự tạo cặp khoá và đưa khoá công cho CA để CA tạochứng chỉ cho khoá công đó Chứng chỉ đảm bảo tính toàn vẹn của khoá côngkhai và các thông tin gắn cùng

Thẩm tra (validation)

Quá trình xác định liệu chứng chỉ đã đưa ra có thể được sử dụng đúngmục đích thích hợp hay không được xem như là quá trình kiểm tra tính hiệulực của chứng chỉ Quá trình này bao gồm một số bước sau:

- Kiểm tra xem liệu có đúng là CA được tin tưởng đã kí số lên chứng chỉ hay không (xử lý theo đường dẫn chứng chỉ)

- Kiểm tra chữ kí số của CA trên chứng chỉ để kiểm tra tính toàn vẹn

- Xác định xem chứng chỉ còn ở trong thời gian có hiệu lực hay không

- Xác định xem chứng chỉ đã bị thu hồi hay chưa

- Xác định xem chứng chỉ đang được sử dụng có đúng mục đích, chínhsách, giới hạn hay không (bằng cách kiểm tra những trường mở rộng cụ thểnhư mở rộng chính sách chứng chỉ hay mở rộng việc sử dụng khoá)

Một số chức năng khác

Hệ thống PKI thực hiện chức năng chứng thực, thẩm tra cùng với một

số chức năng phụ trợ khác Dưới đây là một số chức năng và dịch vụ được

Trang 35

hầu hết các hệ thống PKI cung cấp Một số những chức năng khác có thểđược định nghĩa tuỳ theo yêu cầu cụ thể của các hệ thống PKI

Đăng kí: Đăng kí là quá trình đến hoặc liên lạc với các tổ chức, trung tâm tin cậy để đăng kí các thông tin và xin cấp chứng chỉ RA và CA là những

thực thể trong quá trình đăng kí Quá trình đăng kí phụ thuộc vào chính sáchcủa tổ chức Nếu chứng chỉ được cung cấp với mục đích dùng cho những hoạtđộng bí mật thì sử dụng phương pháp gặp mặt trực tiếp Nếu chứng chỉ chỉđược sử dụng cho những mục đích, hoạt động thường thì có thể đăng kí quanhững ứng dụng viết sẵn hoặc ứng dụng điện tử

Khởi tạo ban đầu: Khi hệ thống trạm của chủ thể nhận được các thông

tin cần thiết để liên lạc với CA thì quá trình khởi tạo bắt đầu Những thông tin

này có thể là khoá công của CA, chứng chỉ của CA, cặp khóa công /bí mật

của chủ thể Một số hệ thống khác sử dụng cơ chế dựa trên password trong

giai đoạn khởi tạo Người dùng cuối liên lạc với CA khi nhận được password

và sau đó thiết lập một kênh bảo mật để truyền những thông tin cần thiết Giaiđoạn khởi tạo thường tiếp tục với quá trình chứng thực

Khôi phục cặp khoá: Hầu hết hệ thống PKI tạo ra hai cặp khoá cho người sử dụng cuối, một để kí số và một để mã hoá Lý do để tạo hai cặp khoá khác nhau xuất phát từ yêu cầu khôi phục và sao lưu dự phòng khoá Tuỳ theo

chính sách của tổ chức, bộ khoá mã (mã và giải mã) và những thông tin liên

quan đến khoá của người sử dụng phải được sao lưu để có thể lấy lại được dữ liệu khi người sử dụng mất khoá riêng hay rời khỏi đơn vị Còn khoá để kí số được sử dụng tuỳ theo mục đích cá nhân nên không được sao lưu Riêng khoá

bí mật của CA thì được lưu giữ dự phòng trong một thời gian dài để giảiquyết những vấn đề nhầm lẫn có thể xảy ra trong tương lai Hệ thống PKI cónhững công cụ để thực hiện chức năng sao lưu và khôi phục khoá

Trang 36

Tạo khoá: Cặp khoá công khai/bí mật có thể được tạo ở nhiều nơi Chúng có thể được tạo ra bằng phần mềm phía client và được gửi đến CA để

chứng thực CA cũng có thể tạo ra cặp khoá trước khi chứng thực Trong

trường hợp này, CA tự tạo cặp khoá và gửi khoá bí mật này cho người sử dụng theo một cách an toàn Nếu khoá do bên thứ ba tạo ra thì những khoá

này phải được CA tin cậy trong miền xác nhận trước khi sử dụng

Hạn sử dụng và cập nhật khoá: Một trong những thuộc tính của

chứng chỉ là thời gian hiệu lực Thời gian hiệu lực của mỗi cặp khoá được xácđịnh theo chính sách sử dụng Các cặp khoá của người sử dụng nên được cập

nhật khi có thông báo về ngày hết hạn Hệ thống sẽ thông báo về tình huống

này trong một thời gian nhất định Chứng chỉ mới sẽ được người cấp công bố

tự động sau thời gian hết hạn

Xâm hại khoá: Đây là trường hợp không bình thường nhưng nếu xảy

ra thì khoá mới sẽ được công bố và tất cả người sử dụng trong hệ thống sẽnhận thấy điều này Xâm hại đến khoá của CA là một trường hợp đặc biệt Vàtrong trường hợp này thì CA sẽ công bố lại tất cả các chứng chỉ với CA-certificate mới của mình

Thu hồi: Chứng chỉ được công bố sẽ được sử dụng trong khoảng thời gian có hiệu lực Nhưng trong trường hợp khoá bị xâm hại hay có sự thay đổi trong thông tin của chứng chỉ thì chứng chỉ mới sẽ được công bố, chứng chỉ

cũ sẽ bị thu hồi

Công bố và gửi thông báo thu hồi chứng chỉ: Một chứng chỉ được cấp cho người sử dụng cuối sẽ được gửi đến cho người nắm giữ và hệ thống

lưu trữ để có thể truy cập công khai Khi một chứng chỉ bị thu hồi vì một lý

do nào đó, tất cả người sử dụng trong hệ thống sẽ được thông báo về việc này.Phương thức để công bố và gửi những thông báo thu hồi đã được đề cập chitiết trong nội dung về chứng chỉ số ở phần trên

Ngày đăng: 16/04/2017, 17:03

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Phạm Huy Điển, Hà Huy Khoái (2003), Mã hoá thông tin cơ sở toán học và ứng dụng, Nhà xuất bản Đại học Quốc gia Hà nội Sách, tạp chí
Tiêu đề: Mã hoá thông tin cơ sở toán họcvà ứng dụng
Tác giả: Phạm Huy Điển, Hà Huy Khoái
Nhà XB: Nhà xuất bản Đại học Quốc gia Hà nội
Năm: 2003
2. Phan Đình Diệu (1999), Lý thuyết mật mã và an toàn thông tin, Đại học Quốc Gia Hà Nội, Hà Nội Sách, tạp chí
Tiêu đề: Lý thuyết mật mã và an toàn thông tin
Tác giả: Phan Đình Diệu
Năm: 1999
3. Trịnh Nhật Tiến (2004), Một số vấn đề về an toàn dữ liệu, Hà Nội Sách, tạp chí
Tiêu đề: Một số vấn đề về an toàn dữ liệu
Tác giả: Trịnh Nhật Tiến
Năm: 2004
4. Thái Hồng Nhị (2004), An Toàn Thông Tin Mạng Máy Tính, Truyền Tin Số Và Truyền Dữ Liệu, Hà Nội.II. Tài liệu tiếng Anh Sách, tạp chí
Tiêu đề: An Toàn Thông Tin Mạng Máy Tính, Truyền TinSố Và Truyền Dữ Liệu
Tác giả: Thái Hồng Nhị
Năm: 2004
5. Adams, C. (1999), Understanding Public Key Infrastructures, New Rider Publishing, Indianapolis Sách, tạp chí
Tiêu đề: Understanding Public Key Infrastructures
Tác giả: Adams, C
Năm: 1999
6. Alfred Menezes (1996), Handbook of Applied Cryptography , CRC Press, LLC Sách, tạp chí
Tiêu đề: Handbook of Applied Cryptography
Tác giả: Alfred Menezes
Năm: 1996
7. Andrew Nash, William Duance, Celia Joseph, and Derek Brink (2001), PKI Implementing and managing E-Security, McGraw –Hill Co Sách, tạp chí
Tiêu đề: PKI Implementing and managing E-Security
Tác giả: Andrew Nash, William Duance, Celia Joseph, and Derek Brink
Năm: 2001
8. Ellison, C.M. (1996), “Simple Public Key Certificate” Sách, tạp chí
Tiêu đề: Simple Public Key Certificate
Tác giả: Ellison, C.M
Năm: 1996
9. Fegghi, J.(1999), Digital Certificates and Applied Internet Security, Addison-Wesley Longman, Inc Sách, tạp chí
Tiêu đề: Digital Certificates and Applied Internet Security
Tác giả: Fegghi, J
Năm: 1999
10. ITU-T Recommendation X.509 (2000), “The Directory: Public key and Attribute Certificates Framework” Sách, tạp chí
Tiêu đề: The Directory: Public keyand Attribute Certificates Framework
Tác giả: ITU-T Recommendation X.509
Năm: 2000
11. NIST PKI Project Team (2001), “Certificate Issuing and Management Components Protection Profile” Sách, tạp chí
Tiêu đề: Certificate Issuing and ManagementComponents Protection Profile
Tác giả: NIST PKI Project Team
Năm: 2001
12. Rivest, R.L., A.Shamir, and L.M.Adleman (1978), “A method for obtaining digital signatures and public-key cryptosystems”, Communications of the ACM Sách, tạp chí
Tiêu đề: A method forobtaining digital signatures and public-key cryptosystems
Tác giả: Rivest, R.L., A.Shamir, and L.M.Adleman
Năm: 1978
13. Boeyen, S., T.Howes and P.Richard (1999), Internet X.509 Public Key Infrastructure Operational Protocols – LDAP2, RFC 2559 Sách, tạp chí
Tiêu đề: Internet X.509 Public KeyInfrastructure Operational Protocols – LDAP2
Tác giả: Boeyen, S., T.Howes and P.Richard
Năm: 1999
14. Chokhani, S. (1999), Internet X.509 Public Key Infrastructure Certificate Policy and Certification Practices Framework, RFC 2527 Sách, tạp chí
Tiêu đề: Internet X.509 Public Key InfrastructureCertificate Policy and Certification Practices Framework
Tác giả: Chokhani, S
Năm: 1999
15. Housley, R. (1999), Internet X.509 Public Key Infrastrure Certificate and CRL Profile, RFC 2459 Sách, tạp chí
Tiêu đề: Internet X.509 Public Key Infrastrure Certificateand CRL Profile
Tác giả: Housley, R
Năm: 1999
16. Housley, R., and P.Hoffman (1999), Internet X.509 Public Key Infrastructure Operational Protocols: FTP and HTTP, RFC 2585 Sách, tạp chí
Tiêu đề: Internet X.509 Public KeyInfrastructure Operational Protocols: FTP and HTTP
Tác giả: Housley, R., and P.Hoffman
Năm: 1999
17. Myers, M. (1999), Internet X.509 Certificate Request Message Format, RFC 2511 Sách, tạp chí
Tiêu đề: Internet X.509 Certificate Request MessageFormat
Tác giả: Myers, M
Năm: 1999
18. Myers, M. (1999), X.509 Internet Public Key Infrastrure On-line Certificate Status Protocol, RFC 2560 Sách, tạp chí
Tiêu đề: X.509 Internet Public Key Infrastrure On-lineCertificate Status Protocol
Tác giả: Myers, M
Năm: 1999
19. Santesson, S. (2001), Internet X.509 Public Key Infrastructure Qualified Certificates Profile , RFC 3039 Sách, tạp chí
Tiêu đề: Internet X.509 Public Key InfrastructureQualified Certificates Profile
Tác giả: Santesson, S
Năm: 2001

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w