1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng phần mếm quản lý xác thực địa danh các thực thể trên hệ thống

76 409 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 76
Dung lượng 1,23 MB

Nội dung

Do vậy ta cần một thứ gì đó có thểchứng thực rằng bức thư này gửi từ đúng địa chỉ mà ta biết, và nội dung thưkhông hề bị ai đó sửa trong quá trình bức thư chưa tới địa chỉ của ta… - Dựa

Trang 2

MỤC LỤC

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

DANH MỤC HÌNH VẼ 6

CHƯƠNG 1: MỞ ĐẦU 7

CHƯƠNG 2: CÔNG NGHỆ SỬ DỤNG 9

2.1.2.Những trường cơ bản của X.509 10

2.1.3.Những chức năng cơ bản của X.509 11

2.1.4.Chứng chỉ PKCS 12

2.2 Công cụ lập trình 13

CHƯƠNG 3: LÝ THUYẾT TỔNG QUAN VỀ MẬT MÃ 14

VÀ ỨNG DỤNG 14

3.1.1 Khái niệm hệ mật mã 15

3.1.2 Hệ mật mã khó đối xứng 15

3.1.3 Hệ mật mã khó công khai 17

3.1.4 Chữ ký số 21

3.1.5.Hàm băm 25

3.1.6.Nhiều thông điệp nguồn cho cùng 1 kết quả đích sau mã hoá/ ký số 25

CHƯƠNG 4: CHỨNG CHỈ SỐ VÀ HẠ TẦNG KHÓ CÔNG KHAI 28

4.1.1 Giới thiệu 29

4.1.2.Chứng thư số 30

4.1.3 Các thành phần của PKI 31

4.1.4 Tổ chức chứng thực (Certification Authority) 32

4.1.5.Trung tâm đăng ký (Registration Authorities) 33

4.2.1 Chính sách của chứng thư 35

4.2.2.Công bố và gửi thông báo thu hồi chứng thư 35

4.3.1 Phân phối cá nhân 38

4.3.2 Phân phối công khai 38

Trang 3

4.4.2 Thẩm tra (validation) 41

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

4.5.1 Mô hình CA đơn 46

4.5.2 Mô hình phân cấp 47

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

4.5.4 Mô hình Hub và Spoke (Bridge CA) 50

4.5.5 Mô hình Web (Trust Lists) 51

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

4.6.1.Tạo khó 53

4.6.2 Ký 54

4.6 Xác nhậ 54

4.6 Sự đúng đắn của giải thuậ 55

4.7 Các ưu điểm của chữ ký số 56

4.7.1.Khả năng xác định nguồn gốc 56

4.7.2.Tính toàn vẹn 57

4.7 3 Tính không thể phủ nhậ 58

4 Thực hiện chữ ký số khóa công kh 58

c sut ất thấp 60

4.7 5 Tình trạng hiện tại - luậ 60

iến trìnphổ biến chữ ký số 63

CHƯƠNG 63

Xây dựg thực thể bảng User 72

CHƯƠNG 6 : G 72

nh 75

Hình 6.4 Đăng nhập 75

KẾ 75

n, thuận tiện hơn 76

Trang 4

LỜI NÓI ĐẦU

Hiện nay Việt Nam là một nước có nền công nghệ thông tin đang phát triểnmạnh mẽ, nhu cầu trao đổi các bức thư qua email cũng đóng dần trở thành khôngthể thiếu trong cuộc sống cũng như công việc Tuy nhiên, việc đảm bảo nội dungemail không bị ai đó thay đổi trong quá trình gửi, chương trình này được viết ranhằm mục đích bảo vệ sự toàn vẹn cho file thông điệp mà ta muốn gửi qua đườngemail Chương trình được viết ra với mong muốn cung cấp đến nhiều người sử dụngchưa có kinh nghiệm máy tính nhiều và không có điều kiện về kinh tế, như phần lớnngười sử dụng máy tính hiện nay tại nước ta, do vậy chương trình này được thựchiện trên công cụ mã nguồn mở Netbeans IDE cùng với ngôn ngữ Java với tên

“XÂY DỰNG PHẦN MỀM QUẢN LÝ XÁC THỰC ĐỊNH DANH CÁC THỰC THỂ TRÊN HỆ THỐNG”.

Xin cảm ơn thầy Trần Duy Hùng đã tận tình hướng dẫn trong thời gian vừa

qua, giúp em có thể hoàn thành chương trình này Vấn đề mã hóa trên thực tế có rấtnhiều khó khăn và chương trình này cũng chắc chắn không thoát khỏi những lỗi dothiếu kinh nghiệm, do vậy, mong mọi người đóng góp thêm cho tác giả để chươngtrình này ngày càng được hoàn thiện hơn, thực tế hơn trong cuộc sống và thực sự cóthể đến tay người dùng được

Em xin chân thành cảm ơn

Hà Nội tháng 6 năm 2011

Sinh viên

Nguyễn Hữu Tiến

Trang 5

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

6 PKCS Public Key Cryptography Standards

8 ITU International Telecommunication Union

10 CLR Certificate Revocation List

14 OCSP Online Certificate Status Protocol

15 IETF Internet Engineering Task Force

Trang 6

DANH MỤC HÌNH VẼ

2 Hình 3.1 Mã hóa thông điệp sử dụng khóa công khai 15

4 Hình 3.3 Mã hóa thông điệp bằng khóa cá nhân S, khóa công

khai P để mã hóa khóa cá nhân S

7 Hình 3.6 a – B dựng khóa công khai của A để xác minh chữ

b – B băm thông điệp kèm theo

c – B so sánh và xác nhận

232424

20 Hình 5.3 a – tạo khóa và mã hóa thông điệp

b – nạp khóa và tiến hành giải mã

61

Trang 7

CHƯƠNG 1: MỞ ĐẦU1.1 Lý do chọn đề tài

- Hiện nay, vấn đề bảo mật thông tin rất quan trọng, và việc bị xem và sửatrộm thông tin các bức thư khi chúng ra gửi qua các chương trình có sẵn đãtích hợp ví dụ như : outlook express Do vậy ta cần một thứ gì đó có thểchứng thực rằng bức thư này gửi từ đúng địa chỉ mà ta biết, và nội dung thưkhông hề bị ai đó sửa trong quá trình bức thư chưa tới địa chỉ của ta…

- Dựa trên lý thuyết này, tôi đã thực hiện ý tưởng trên bằng một chươngtrình mã hóa thông điệp chuẩn bị gửi đi, bằng khóa riêng của ta (bí mật,chỉ mình mình biết) và một khóa công khai (có thế công khai cho tất cảmọi người biết)

- Thông điệp sau khi mã hóa, 1 thông điệp sẽ ở dạng byte(không thể đọcđược), và 1 thông điệp gốc ở dạng message(thông điệp text bình thường, cóthể đọc được) Thông điệp ở dạng byte là thông điệp đã được mã hóa bằngkhóa riêng, và chỉ có thể giải mã bằng khóa công khai

- Khi gửi thư, ta sẽ gửi cả 2 thông điệp + 1 khóa công khai cho người thứ 2,khi người thứ 2 nhận được thư, sẽ dựng chương trình load khóa công khai,sau đó chạy ‘xác thực’, khi chạy phần này, chương trình sẽ tự động giải mãthông điệp mã hóa đi kèm, sau đó so sánh với thông điệp bản rõ, nếu 2 thôngđiệp giống nhau, việc so sánh sẽ thành công, thông điệp sẽ được hiện lên,nếu thông điệp (1 trong 2 bản) bị sửa, dự chỉ 1 byte đi nữa, cũng coi như đã

- Code khi tạo ra, sẽ lưu lại vào csdl ( dựng My SQL ), bao gồm tên, địa chỉ,khóa chung, khóa riêng Để tiện cho việc lấy ra mã hóa và gửi qua emal

- Phần gửi qua email, chúng ta sẽ gửi ngay tại chương trình của mình chỉ cần

Trang 8

điền thông tin về email của mình như user name và password, sau đó điềnđịa chỉ email người nhận, và chỉ việc send, người bên kia sẽ nhận được thưtrong hòm mail của người đó.

1.2 Phạm vi đề tài

Phạm vi của đề tài là dành cho tất cả mọi người đã đang và sẽ sử dụng email

để làm việc Trong khi kinh tế còn eo hẹp và việc vi phạm bản quyền ở nước ta cònquá cao, chương trình mã nguồn mở là một lựa chọn hoàn hảo để giúp mọi người cóthể tiếp cận với công nghệ cao mà không sợ vi phạm bản quyền

Trang 9

CHƯƠNG 2: CÔNG NGHỆ SỬ DỤNG

2.1 Chứng chỉ(chứng thư) số

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) khó công, 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 thư Người nào muốn sử dụngchứng chỉ trước hết sẽ kiểm tra chữ ký số trong chứng chỉ Nếu đó là chữ ký hợp lệthì sau đó có thể sử dụng chứng thư theo mục đích mong muốn.Có nhiều loại chứngchỉ, một trong số đó là:

- Chứng chỉ khó công khai X.509

- Chứng chỉ khó 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 thư này đều có cấu trúc định dạng riêng

2.1.1.Chứng chỉ khóa 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à đượchầu hết các nhà cung cấp PKI(Public key Infrastructures ) triển khai

Chứng chỉ X.509 lần đầu tiên đượ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 phần của dịch vụ X.500

Chứng chỉ gồm 2 phần :

- Những trường cơ bản cần thiết có trong chứng chỉ

- Những trường phụ, được coi là những trường mở rộng, được dựng để xácđịnh và đáp ứng những yêu cầu bổ sung của hệ thống

Các thành phần của PKI :

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

- Registration Authorities (RA) gắn kết giữa khó công khai và định danh củangườ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ữngthực thể cuối

Trang 10

- 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ách các chứng chỉ bịthu hồi

- Cung cấp cơ chế phân phối chứng chỉ và CRLs đến các thực thể cuối

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

Hình 2.1 – Các trường cơ bản của chứng thư X.509

Chú thích Các trường cơ bản của chứng thư 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ủa chứng chỉ

Trang 11

Có thể là thuật toán RSA hay DSA…

- Issuer Unique ID (Optional): là trường không bắt buộc, trường này cho phép

sử dụng lại tên người cấp Trường này hiếm được sử dụng trong triển khai thực tế

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

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

- Ngoài ra chứng chỉ X.509 còn một số trường mở rộng, phần mở rộng lànhững thông tin về các thuộc tính cần thiết được đưa vào để gắn những thuộc tínhnày với người sử dụng hay khó công Những thông tin trong phần mở rộng thườngđược dựng để quản lý xác thực phân cấp, chính sách chứng chỉ, thông tin về chứngchỉ bị thu hồi…Nó cũng có thể được sử dụng để định nghĩa phần mở rộng riêngchứa những thông tin đặc trưng cho cộng đồng nhất định Mỗi trường mở rộngtrong chứng chỉ được thiết kế với cờ “critical” hoặc “uncritical”

- 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ỉ Khó công khai của CA được phân phối đến người sử dụng chứng chỉ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ụngkiểm tra hiệu lực của chứng chỉ được cấp với chữ ký số của CA và khó công khaicủa CA

2.1.3.Những chức năng cơ bản của X.509

Chứng thực ( certificate ) 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 khóa công khai với định danh của thực thể CA là thực thể PKIthực hiện chức năng chứng thực Có 2 phương pháp chứng thực :

Trang 12

- Tổ chức CA tự tạo ra cặp khóa công khai/bí mật và tạo chứng chỉ cho phầnkhóa công của cặp khóa

- Người dùng tự tạo cặp khóa và đưa khóa công khai cho CA để CA chứngthực cho khóa này Chứng chỉ đảm bảo tính toàn vẹn của khóa công khai và cácthông tin gắn cùng

- Thẩm tra ( Validation) là quá trình xác định xem chứng chỉ đưa ra có thể sửdụng đúng mục đích thích hợp hay không, được xem như là quá trình kiểm tra hiệulực của chứng chỉ Bao gồm một số bước :

- Kiểm tra xem liệu có đúng là CA được tin tưởng đã kí số lên chứng chỉ haykhông (xử lý theo đương dẫn của 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 sử dụng có đúng mục đích, chính sách, giớihạn hay không (bằng cách kiểm tra các trường cụ thể như mở rộng chính sáchchứng chỉ hay mở rộng việc sử dụng khóa)

2.1.4.Chứng chỉ PKCS

PKCS (tiếng Anh: Public Key Cryptography Standards) là một chuẩn do

phòng thí nghiệm RSA Data Security Inc phát triển Nó dựa vào các cấu trúc ASN.1

và thiết kế cho phù hợp với chứng chỉ X.09, các tiêu chuẩn này do ANSI thiết kế,

theo đó dữ liệu được chia thành từng khối nhỏ nhất là 8 bit (octet) PKCS hiện tại

bao gồm các chuẩn PKCS#1, PKCS#3, PKCS#5,PKCS#7, PKCS#8, PKCS#9,PKCS#11, PKCS#12, PKCS#13, PKCS#15 Hiện tại phiên bản của các bản đang là2.1 Trong đó có thể tìm được các chuẩn để mã hóa dữ liệu, chuẩn này được thiết kếdựa vào cách mà các thám mã dựng để tấn công vào đoạn mã Có thể mô tả sơ quathế này, trong PKCS#1 có các chuẩn mã hóa - giải mã RSAES - OAEP scheme,chuẩn tạo chữ ký điện tử - kiểm tra RSASSA - PSS scheme ver2.1, hay trongPKCS#7 là các chuẩn mã hóa cho password PKCS#11 là phức tạp nhất, nó làchuẩn cho việc truyền thông tin trên mạng dưới dạng các gói tin đã mã Dựng để

Trang 13

2.2 Công cụ lập trình

Hiện nay, có rất nhiều IDE hỗ trợ lập trình và nhiều ngôn ngữ khác nhau, tuynhiên, NetBeans IDE là lựa chọn số một cho đề tài này, vì nó được tích hợp khá đầy

đủ tính năng, đáp ứng được các yêu cầu trong quá trình thực hiện đồ án

Về phần tạo khóa, ta sử dụng các gói đã được hỗ trợ sẵn trong java như :java.sercurity.*,java.sercurity.spec.* Đây là các gói đã hỗ trợ đầy đủ việc tạo khóa

để mã hóa, cung cấp các tính năng bảo mật và chứng thư cho khóa như X.509 vàPKCS#8

Trang 14

CHƯƠNG 3: LÝ THUYẾT TỔNG QUAN VỀ MẬT MÃ

VÀ ỨNG DỤNG

3.1 Giới thiệu chung

Mật mã đã được con người sử dụng 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.Trải qua hàng nghìn năm lịch sử, mật mã đã được sử dụng rộng rãi ở khắp nơi trênthế giới từ Đông sang Tây để giữ bí mật cho việc giao lưu thông tin trong nhiều lĩnhvực hoạt động giữa con người và các quốc gia, đặc biệt trong các lĩ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 dungchí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ườigử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 rõ để hiểu được thông tin mà A muốn gửi cho mình Dovăn bản gửi đi thường được chuyển qua các con đường công khai nên người ngoài

có thể “lấy trộm” được, nhưng vì đó là bản mật mã nên không đọc hiểu được Còn

A có thể tạo ra bản mã mật và B có thể giải bản mã mật thành bản rõ để hiểu được

là do hai người đã có một thoả thuận về một chìa khó chung, chỉ với khó chung nàythì A mới tạo được bản mã mật từ bản rõ và B mới khôi phục được bản rõ từ bản

mã mật Khó chung đó được gọi là khó mật mã Để thực hiện được một phép mật

mã, ta còn cần có một thuật toán biến bản rõ cùng với khó mật mã thành bản mãmật và một thuật toán ngược lại biến bản mật cùng với khó mật mã thành bản rõ.Các thuậ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 đượcgiữ bí mật là khó mật mã Trong thực tiễn, có những hoạt động ngược lạ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àythường được gọi là mã thám hay phá khó

Trang 15

(5) D là tập các hàm giải mã Với mỗi k K, có một hàm lập mã ek E,

ek : P → C và một hàm giải mã dk D, dk: C → P sao cho dk(ek(x)) = x , x P

và trong phép chuyển dịch, các chữ cái được sắp xếp theo một trật tự khác

Hệ mã chuẩn DES được xây dựng tại Mỹ trong những năm 70 theo yêu cầucủa Văn phòng quốc gia về chuẩn (NBS) và được sự thẩm định của an ninh quốcgia 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ó khó

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ếnthể của nó (3DES) vẫn được sử dụng thành công trong nhiều ứng dụng

Trang 16

Hình 3.1 – Mã thông điệp sử dụng khóa công khai

Trong các hệ mã đối xứng chỉ có một khó được chia sẻ giữa các bên tham gialiên lạc Cứ mỗi lần truyền tin bảo mật, cả người gửi A và người nhận B cùng thoảthuận trước với nhau một khó chung K, sau đó người gửi dựng eK để lập mã chothông báo gửi đi và người nhận 12dự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 khó chung K, được giữ bí mật dù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ụng trên được gọi là mật

mã khó đối xứng hay còn gọi là mật mã khó cá nhân

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

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

* Ưu và nhược điểm của hệ mật mã khó đối xứng

Ưu điểm nổi bật của các hệ mật mã khó đối xứng là việc xây dựng một hệ mật

mã có độ bảo mật cao khá dễ dàng về mặt lý thuyết

Nhưng như nếu không kể đến việc cần có một nguồn sinh khó ngẫu nhiên thìviệc phân phối, lưu trữ bảo mật và thoả thuận khó là một vấn đề khó chấp nhậnđược trong mạng truyền thông ngày nay Trong một mạng có n người dùng, nếu cầnkhó cho từng cặp thì cần n(n+1)/2 khó

Để khắc phục hiện tượng không thể lưu trữ một khối lượng khó quá lớn đáp

Trang 17

với độ dài không lớn lắm như DES… hoặc các hệ mật mã dòng mà khó đượ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 haybằng thuật toán sinh khó như đã nêu ở trên thì vấn đề phân phối và thoả thuận khóvẫn phải được thực hiện Như vậy phân phối và thoả thuận khó là một vấn đề chưathể được giải quyết trong các hệ mật mã khó đối xứng

Việc phát minh ra phương pháp mã công khai tạo ra một cuộc “cách mạng”trong công nghệ an toàn thông tin điện tử Nhưng thực tiễn triễn khai cho 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 khai chậm hơn rấtnhiều so với hệ mã hoá đối xứng

Ví dụ, để đạt được độ an toàn như các hệ mã đối xứng mạnh cùng thời, RSA đòihỏ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ằngviệc mã hoá văn bản có kích thước lớn bằng lược đồ khó 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 đó khóđược sử dụng trong hệ mã đối xứng sẽ được mã hoá sử dụng mật mã khó công khai

3.1.3 Hệ mật mã khó công khai

Để giải quyết vấn đề phân phối và thoả thuận khó của mật mã khó đối xứng,năm 1976 Diffie và Hellman đã đưa ra khái niệm về hệ mật mã khó công khai vàmột phương pháp trao đổi công khai để tạo ra một khó cá nhân chung mà tính antoàn được bảo đảm bởi độ khó của một bài toán toán học cụ thể (là bài toán tính

“logarit rời rạc”) Hệ mật mã khó công khai hay còn được gọi là hệ mật mã phi đốixứng sử dụng một cặp khó, khó mã hoá còn gọi là khó công khai (public key) vàkhó giải mã được gọi là khó cá nhân hay khóa riêng (private key) Trong hệ mậtnày, khó mã hoá khác với khó giải mã Về mặt toán học thì từ khó công rất khó tínhđược khó cá nhân Biết được khó này không dễ dàng tìm được khó kia Khó giải mãđược giữ bí mật trong khi khó mã hoá được công bố công khai Một người bất kỳ cóthể sử dụng khó công khai để mã hoá tin tức, nhưng chỉ có người nào có đúng khógiải mã mới có khả năng xem được bản rõ

Trang 18

Hình 2.3 – Giải mã thông điệp bằng khóa cá nhân

Người gửi A sẽ mã hoá thông điệp bằng khóa công của người nhận và ngườinhận B sẽ giải mã thông điệp với khó cá nhân tương ứng của mình

* Ưu và nhược điểm của hệ mật mã khó công khai

Vấn đề còn tồn đọng của hệ mật mã khó đối xứng được giải quyết nhờ hệ mật

mã khó công khai Chính ưu điểm này đã thu hút nhiều trí tuệ vào việc đề xuất,đánh giá các hệ mật mã công khai

Nhưng do bản thân các hệ mật mã khó công khai đều dựa vào các giả thiết liên quanđến các bài toán khó nên đa số các hệ mật mã này đều có tốc độ mã dịch khôngnhanh lắm Chính nhược điểm này làm cho các hệ mật mã khó công khai khó đượcdựng một cách độc lập

Một vấn đề nữa nảy sinh khi sử dụng các hệ mật mã khóa công khai là việcxác thực mà trong mô hình hệ mật mã đối xứng không đặt ra Do các khó mã côngkhai được công bố một cách công khai trên mạng cho nên việc đảm bảo rằng “khóđược công bố có đúng là của đối tượng cần liên lạc hay không?” là một kẽ hở có thể

bị lợi dụng Vấn đề xác thực này được giải quyết cũng chính bằng các hệ mật mãkhó 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ã khó công khai là các ứng

Trang 19

để bảo đảm tính toàn vẹn của một văn bản được giải quyết.

Việc phát minh ra phương pháp mã công khai tạo ra một cuộc “cách mạng”trong công nghệ an toàn thông tin điện tử Nhưng thực tiễn triễn khai cho 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 khai chậm hơn rấtnhiều so với hệ mã hoá đối xứng

Ví dụ, để đạt được độ an toàn như 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á văn bản có kích thước lớn bằng lược đồ khó 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 đó khó được sử dụng trong hệ mã đối xứng sẽ được mã hoá sử dụngmật mã khó 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

Trang 20

Hình 3.3 – Mã hóa khóa thông điệp bằng khóa cá nhân S và khóa

công khai P để mã hóa khóa cá nhân S

Vấn đề còn tồn đọng của hệ mật mã khó đối xứng được giải quyết nhờ hệmật mã khó công khai Chính ưu điểm này đã thu hút nhiều trí tuệ vào việc đề xuất,đánh giá các hệ mật mã công khai Nhưng do bản thân các hệ mật mã khó công khaiđều dựa vào các giả thiết liên quan đến các bài toán khó nên đa số các hệ mật mãnày đều có tốc độ mã dịch không nhanh lắm Chính nhược điểm này làm cho các hệmật mã khó công khai khó được dựng một cách độc lập

Một vấn đề nữa nảy sinh khi sử dụng các hệ mật mã khóa công khai là việcxác thực mà trong mô hình hệ mật mã đối xứng không đặt ra Do các khó mã côngkhai được công bố một cách công khai trên mạng cho nên việc đảm bảo rằng “khóđược công bố có đúng là của đối tượng cần liên lạc hay không?” là một kẽ hở có thể

bị lợi dụng Vấn đề xác thực này được giải quyết cũng chính bằng các hệ mật mãkhó 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ã khó công khai là các ứngdụng của nó trong lĩnh vực chữ ký số, cùng với các kết quả về hàm băm, thủ tục ký

để bảo đảm tính toàn vẹn của một văn bản được giải quyết

Trang 21

3.1.4 Chữ ký số

Mật mã khó công khai có thể được sử dụng theo nhiều cách khác nhau Chữ

ký số là một ví dụ minh chứng cho việc đảm bảo xác thực người dù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ới khó cá nhân của mìnhthì bất kỳ ai cũng có thể giải mã thông điệp với khó công của A Do đó, ngườinhận có thể chắc chắn rằng thông điệp mình nhận chỉ có thể do A mã vì chỉ A mới

có khó cá nhân của mình Quá trình mã hoá thông điệp với khó cá nhân của ngườigử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ản thông điệp gốc với khó cá nhân của người gửi thì chỉ có bản đại diệnthông điệp (bản băm) có độ dài cố định được mã hoá với khó cá nhân củangười gửi và bản băm đã được mã hoá này được gắn vào với thông điệpgốc Người nhận B sau khi nhận được thông điệp đầu tiên sẽ giải mã bảnbăm với khó công của người gửi, sau đó băm thông điệp đi kèm bằng thuậttoán băm tương ứng với thuật toán băm người gửi đã sử dụng B so sánhhai giá trị băm nếu giống nhau thì chắc chắn rằng thông điệp A gửi cho Bcòn nguyên vẹn, đồng thờ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 bit trongthô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 của người gửi cũng được đảm bảo vì chỉ có người gửi A mới

có khoá cá nhân để 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á cá nhân 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 đó:

Trang 22

6 Với mỗi k K, có một thuật toán ký sig k S, sig k: P → A và một thuậttoán kiểm thử ver k V, ver k: P x A → {đúng, sai}, thoả mãn điều kiện sau đâyvới mọi x P, y A:

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 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

Hình 3.4 Băm thông điệp

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 A

verK (x, y) = đúng x ≡ yb mod n

Quá trình ký và kiểm tra chữ ký được mô tả trong hình

Giả sử A muốn gửi cho B thông điệp x A thực hiện các bước sau:

1 A băm thông điệp x (Hình 5 a), thu được bản đại diện z = h(x) – có kíchthước cố định 128 bit hoặc 160 bit

2 A ký số trên bản đại diện z (Hình 5 b), bằng khóa bí mật của mình, thuđược bản ký số y = sigK (z)

3 A gửi (x, y) cho B (Hình 5 c).

Trang 23

Hình 3.5a – A gửi cho B

Hình 3.5b – Mã hóa thông điệp

Hình 3.5c – A mã hóa bản băm

Trang 24

Khi B nhận được (x, y) B thực hiện các bước sau:

1 B kiểm tra chữ ký số để xác minh xem thông điệp mà mình nhận được có

phải được gửi từ A hay không bằng cách giải mã chữ ký số y, bằng khóa công khai của A, được z (Hình 3.6a)

2 B dựng một thuật toán băm – tương ứng với thuật toán băm mà A dựng –

để băm thông điệp x đi kèm, nhận được h(x) (Hình 3.6b)

3 B so sánh 2 giá trị băm z và h(x), nếu giống nhau thì chắc chắn rằng thông điệp x – mà A muốn gửi cho B – còn nguyên vẹn, bên cạnh đó cũng xác thực được

người gửi thông tin là ai

Hình 3.6a – B dựng khóa của công khai của A xác minh chữ ký

Hình 3.6b – B băm thông điệp của A

Trang 25

Hình 3.6c – B so sánh để xác nhận thông điệp toàn vẹn

3.1.5.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ới dung lượng

của thông tin Thêm vào đó có thể xảy ra trường hợp: với nhiều bức thông điệp đầuvà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ình1.10 Điều này sẽ dẫn đến một số rắc rối về sau cho việc xác thực thông tin

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

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 đôi bản thông điệpgố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

160 bit, bản ký số sẽ có kích thước 320 bit 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ẳng hạn vài chục MegaByte Hơnnữa, để đáp ứng yêu cầu xác thực sau khi thông tin đến người nhận, dữ liệu truyềnqua 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ó dunglượ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

Trang 26

160 bit, sau đó ký lên cá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ích

- thước của chữ ký sẽ là 2a (trong trường hợp sử dụng DSS)

- Thứ hai: với các chữ ký “an toàn” thì tốc độ chậm vì chúng dựng nhiều phéptí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 dung củathông điệp có thể bị xáo trộn các đoạn với nhau, hoặc một số đoạn trong chú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 đó, tacầ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 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 ứngdụng khác nhau của tin học, không chỉ thuộc phạm vi mật mã học [1]

Hàm băm được đề cập đến trong phạm vi đồ án là hàm băm một chiều, có tácdụng trợ giúp cho các sơ đồ ký số 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ó

để 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ào theo một thuật toán h một chiều nào đó, rồi đưa ramột bản băm – 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 được 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’) ≠ 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

Trang 27

là với thông điệp x thì dễ dàng tính được z = h(x), nhưng lại 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ămchuẩn như: [MD2], [MD4], [MD5], [SHA-1]…

Trang 28

CHƯƠNG 4: CHỨNG CHỈ SỐ VÀ HẠ TẦNG KHÓ CÔNG KHAI

Mật mã khó công khai cho đến nay được xem là giải pháp tốt nhất để đảmbả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ác phương pháp mã cổđiển nhưng mật mã khó công khai đã nhận được sự tin cậy rộng rãi của thế giớiInternet vì những công cụ có khả năng phát triển cho vấn đề quản lý khó Như đã đềcập ở trên, vấn đề chính của hệ mã khó đối xứng là vấn đề quản lý khó và để giảiquyết vấn đề này hệ mã khó công khai đã được đưa ra như một giải pháp Trong hệthống mật mã khó công khai, khó cá nhân (khó cá nhân) được người dùng giữ bímật trong khi khó công khai với tên của người sở hữu tương ứng lại được công bốcông khai

Đối với hệ thống như 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 khó 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ưu trữ (khócông, đị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ống lưu trữ?

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

- 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ữ?

- Điều gì sẽ xảy với khó công khai nếu khó cá nhân 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 khó côngkhai - PKI

Cho đến nay có nhiều định nghĩa về PKI, nhưng chưa định nghĩa nào đượccông nhận chính thức Có một số định nghĩa về PKI như sau:

Trang 29

“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 thư khó công khaidựa trên mật mã khó công khai”.

“PKI là hạ tầng cơ sở có thể hỗ trợ quản lý khó 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ỏ”

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

Nhìn chung, PKI có thể được định nghĩa như một hạ tầng cơ sở sử dụng côngnghệ thông tin để cung cấp dịch vụ mã hoá khó công khai và chữ ký số Một mụcđích quan trọng khác của PKI là để quản lý khó và chứng thư được sử dụng trong

hệ thống

Chứng thư là cấu trúc dữ liệu đặc biệt, gắn kết khó công khai với chủ sở hữucủ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ấpchứng thư

4.1 Chứng thư số (digital certificates)

4.1.1 Giới thiệu

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

Khó công được đặt ở vị trí công khai trong một định dạng đặc biệt Địnhdạng này được gọi là chứng thư Chứng thư (thực ra là chứng thư khó công – publickey certificate (PKC)) là sự gắn kết giữa khó công của thực thể và một hoặc nhiềuthuộc tính liên quan đến thực thể [5] Thực thể có thể là người, thiết bị phần cứngnhư máy tính, router hay một phần mềm xử lý Một chứng thư khó công (PKC)

Trang 30

được người cấp ký bằng chữ ký có hiệu lực đưa ra một bảo bảm đầy đủ về sự gắnkết giữa khó công, thực thể sở hữu khó công này và tập các thuộc tính khác đượcviết trong chứng thư.

Hình 4.1 - Minh hoạ một chứng thư số

PKC còn được gọi là “digital certificate”- chứng thư số, “digital ID”, hay đơn giản là chứng thư

4.1.2.Chứng thư số

Chứng thư chứa những thông tin cần thiết như khóa công khai, chủ thể(người sở hữu) khó công, người cấp và một số thông tin khác Tính hợp lệ của cácthông tin được đảm bảo bằng chữ ký số của người cấp chứng thư Người nào muốn

sử dụng chứng thư trước hết sẽ kiểm tra chữ ký số trong chứng thư Nếu đó là chữ

ký hợp lệ thì sau đó có thể sử dụng chứng thư theo mục đích mong muốn

Trang 31

- Chứng thư khó công khai X.509

- Chứng thư khó công khai đơn giản (Simple Public Key

Certificates - SPKC)

- Chứng thư Pretty Good Privacy (PGP)

- Chứng thư thuộc tính (Attribute Certificates - AC)

Tất cả các loại chứng thư này đều có cấu trúc định dạng riêng

Hiện nay chứng thư khó công khai X.509 được sử dụng phổ biến trong hầuhết các hệ thống PKI Hệ thống chương trình cấp chứng thư số thử nghiệm cũng sửdụng định dạng chứng thư theo X.509, nên đồ án này tập trung vào xem xét chi tiếtchứng thư công khai X.509 Trong đồ án, thuật ngữ chứng thư “certificate” được sửdụng đồng nghĩa với chứng thư khó công khai X.509 v3

4.1.3 Các thành phần của PKI

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 thư

- Registration Authorities (RA)

- Gắn kết giữa khó công khai và định danh của người giữ chứng thư

Trang 32

Hình 4.2 – Các thành phần PKI

4.1.4 Tổ chức chứng thực (Certification Authority)

Trong hạ tầng cơ sở khó công khai, chứng thư có vai trò gắn kết giữa địnhdanh với khó công Sự gắn kết này thể hiện trong dạng cấu trúc dữ liệu được ký sốđược đề cập đến như chứng thư đã được thảo luận ở phần trước Một certificateauthority (CA) là một thực thể PKI có trách nhiệm cấp chứng thư cho các thực thểkhác trong hệ thống

Tổ chức chứng thực - CA cũng được gọi là bên thứ ba được tin tưởng vì người

sử dụng cuối tin tưởng vào chữ ký số của CA trên chứng thư trong khi thực hiệnnhững hoạt động mã hoá khó công khai cần thiết Tổ chức cung cấp dịch vụ chứngthực – Certification Service Provider (CSP) là một thuật ngữ khác nhắc đến CA

Trang 33

Thông thường, CA thực hiện chức năng xác thực bằng cách cấp chứng thư chocác CA khác và cho thực thể cuối (người giữ chứng thư) trong hệ thống Nếu CAnằm ở đỉnh của mô hình phân cấp PKI và chỉ cấp chứng thư cho những CA ở mứcthấp hơn thì chứng thư này được gọi là chứng thư gốc “root certificate”.

4.1.5.Trung tâm đăng ký (Registration Authorities)

Mặc dù CA có thể thực hiện những chức năng đăng ký cần thiết, nhưng đôikhi cần có thực thể độc lập thực hiện chức năng này Thực thể này được gọi là

“registration authority” - trung tâm đăng ký Ví dụ khi số lượng thực thể cuối trongmiền PKI tăng lên và số thực thể cuối này được phân tán khắp nơi về mặt địa lý thìviệc đăng ký tại một CA trung tâm trở thành vấn đề khó giải quyết Để giải quyếtvấn đề này cần thiết phải có một hoặc nhiều RAs (trung tâm đăng ký địa phương)

Mục đích chính của RA là để giảm tải công việc của CA Chức năng thựchiện của một RA cụ thể sẽ khác nhau tuỳ theo nhu cầu triển khai PKI nhưng chủyếu bao gồm những chức năng sau:

- Xác thực cá nhân chủ thể đăng ký chứng thư

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

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

- Kiểm tra xem chủ thể có thực sự sở hữu khó cá nhân đang được đăng ký hay

- không - điều này thường được đề cập đến như sự chứng minh sở hữu (proof

- of possession - POP)

- Tạo cặp khó cá nhân /công khai

- Phân phối bí mật được chia sẻ đến thực thể cuối (ví dụ : khó công của CA)

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

- Lưu trữ khó cá nhân

- Khởi sinh qúa trình khôi phục khó

- Phân phối thẻ bài vật lý (ví dụ như thẻ thông minh) chứa khó cá nhân

Nhìn chung, RA xử lý việc trao đổi (thường liên quan đến tương tác ngườidùng) giữa chủ thể thực thể cuối và quá trình đăng ký, phân phối chứng thư và

Trang 34

quảnlý vòng đời chứng thư/khó Tuy nhiên, trong bất kỳ trường hợp nào thì RAcũng chỉ đưa ra những khai báo tin cậy ban đầu về chủ thể Chỉ CA mới có thể cấpchứng thư hay đưa ra thông tin trạng thái thu hồi chứng thư như CRL.

4.2.Thu hồi chứng thư

Trong một số trường hợp như khó bị xâm hại, hoặc người sở hữu chứng thưthay đổi vị trí, cơ quan…thì chứng thư đã được cấp không có hiệu lực Do đó, cầnphải có một cơ chế cho phép người sử dụng chứng thư kiểm tra được trạng thái thuhồi chứng thư X.509 cho phép kiểm tra chứng thư trong các trường hợp sau:

- Chứng thư không bị thu hồi

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

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

Cơ chế thu hồi X.509 xác định là sử dụng danh sách thu hồi chứng thư(CRLs) X.509 đưa ra sự phân biệt giữa ngày, thời gian chứng thư bị CA thu hồi vàngày, thời gian trạng thái thu hồi được công bố đầu tiên Ngày thu hồi thực sự đượcghi cùng với đầu vào chứng thư trong CRL Ngày thông báo thu hồi được xác địnhtrong header của CRL khi nó được công bố Vị trí của thông tin thu hồi có thể khácnhau tuỳ theo CA khác nhau Bản thân chứng thư có thể chứa con trỏ đến nơi thôngtin thu hồi được xác định vị trí Người sử dụng chứng thư có thể biết thư mục, kholư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ết lậ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 thư thu hồi

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

Trang 35

4.2.1 Chính sách của chứng thư

Như được giới thiệu trong phần trên, một số mở rộng liên quan đến chínhsách có trong chứng thư 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 Một chính sáchchứng thư trong X.509 được định nghĩa là “tên của tập các qui tắc chỉ ra khả năng

có thể sử dụng của chứng thư cho một tập thể đặc thù và một lớp ứng dụng vớinhững yêu cầu bảo mật chung”

Chính sách có định danh duy nhất (được biết đến như định danh đối tượnghay OID) và định danh này được đăng ký để người cấp và người sử dụng chứng thư

có thể nhận ra và tham chiếu đến Một chứng thư có thể được cấp theo nhiều chínhsách Một số có thể là thủ tục và mô tả mức đảm bảo gắn với việc tạo và quản lýchứng thư 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ạo chứng thư hay nơi lưu trữ khó

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

có thích hợp cho mục đích sử dụng hay không

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à PKIcấp chứng thư với chính sách chứng thư đã qui định

Chính sách chứng thư đặc biệt quan trọng khi đưa ra quyết định để xác nhậnchéo hai PKI khác nhau

4.2.2.Công bố và gửi thông báo thu hồi chứng thư

Thông thường chứng thư 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 thư lại không hợp lệ trước thời gian hết hạn,

ví dụ như:

Trang 36

- Khó cá nhân của chủ thể bị xâm phạm

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

- Khó cá nhân của CA cấp chứng thư 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 thư 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ựngphương pháp trực tuyến Online Certificate Status Protocol

a Certificate Revocation Lists (CRLs)

CRLs là cấu trúc dữ liệu được ký như chứng thư người sử dụng CRLs chứadanh sách các chứng thư đã bị thu hồi và những thông tin cần thiết khác củ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ĩa như 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 37

Hình 4.3 – Khuôn dạng thu hồi chứng thư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 thư bị thu hồi

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

Trang 38

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

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

4.3.1 Phân phối cá nhân

Phân phối cá nhân là cách phân phối cơ bản nhất Trong phương pháp này thìmỗi cá nhân sẽ trực tiếp đưa chứng thư của họ cho người dùng khác Việc này cóthể thực hiện theo một số cơ chế khác nhau

Chuyển giao bằng tay chứng thư được lưu trong đĩa mềm hay trong một số các môitrường lưu trữ khác Cũng có thể phân phối bằng cách gắn chứng thư trong e-mail

để gửi cho người khác

Cách này thực hiện tốt trong một nhóm ít người dùng nhưng khi số lượng ngườidùng tăng lên thì có thể xảy ra vấn đề về quản lý

4.3.2 Phân phối công khai

Một phương pháp khác phổ biến hơn để phân phối chứng thư (và thông tinthu hồi chứng thư) là công bố các chứng thư rộng rãi, các chứng thư này có thể sửdụng một cách công khai và được đặt ở vị trí có thể truy cập dễ dàng Những vị trínày được gọi là cơ sở dữ liệu

Dưới đây là ví dụ về một số hệ thống lưu trữ:

- X.500 Directory System Agents (DSAs)

- Lightweight Directory Access Protocol (LDAP ) Server

- Online Certificate Status Protocol (OCSP) Responders

- Domain name System (DNS) và Web servers

- File Transfer Protocol (FTP) Servers và Corporate Databases

a Authority Revocation List (ARLs)

Ngày đăng: 15/05/2015, 17:52

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

w