Đồ án Giải pháp xác thực số

MỤC LỤC

LỜI CẢM ƠN 4

MỞ ĐẦU 5

CHƯƠNG I: CÁC KHÁI NIỆM CƠ BẢN 6

1.1 Các khái niệm toán học 6

1.1.1 Số nguyên tố và nguyên tố cùng nhau 6

1.1.2 Đồng dư thức 6

1.1.3 Không gian Zn và Zn* 7

1.1.4 Phần tử nghịch đảo 7

1.1.5 Hàm băm 8

1.1.5.1 Giới thiệu 8

1.1.5.2 Cấu trúc của hàm băm 9

1.1.5.3 Một số loại hàm băm 10

1.2 Vấn đề mã hóa 15

1.2.1 Khái niệm mã hoá 15

1.2.2 Hệ mã hoá khóa công khai 17

1.3 Vấn đề chữ ký điện tử 18

1.3.1 Giới thiệu 18

1.3.2 Định nghĩa 18

1.3.3 Sơ đồ chữ ký RSA 19

1.4 Xác thực 20

1.4.1 Khái niệm xác thực 20

1.4.2 Các dạng xác thực 20

1.4.2.1 Xác thực thực thể 20

1.4.2.2 Xác thực trách nhiệm văn bản gốc 21

1.4.3 Các phương pháp xác thực 21

1.4.4 Các giao thức xác thực 22

1.4.4.1 Giao thức thử thách và trả lời 22

1.4.4.2 Giao thức mật khẩu được chuyển đổi 22

1.4.4.3 Giao thức mật khẩu sử dụng một lần 22

1.4.4.4 Giao thức chứng chỉ số 23

1.5 Chứng thực điện tử 23

1.5.1 Chứng thực điện tử là gì? 23

1.5.2 Làm thế nào để có và sử dụng chứng thực điện tử? 23

1.6 Chứng thực chéo 24

CHƯƠNG II: CHỨNG CHỈ SỐ 25

2.1 Vài nét về chứng chỉ số 25

2.1.1 Chứng chỉ số là gì? 25

2.1.2 Chứng chỉ gốc là gì ? 26

2.1.3 Chứng chỉ số làm việc như thế nào ? 26

2.1.4 Tại sao cần một chứng chỉ số ? 26

2.1.5 Chứng chỉ số được áp dụng vào những công việc gì ? 27

2.1.6 Kiểm tra và tạo chữ ký điện tử như thế nào ? 28

2.2 Cơ sở hạ tầng khóa công khai Public Key Infrastructure – PKI 28

2.2.1 PKI là gì ? 28

2.2.2 PKI hoạt động như thế nào ? 30

2.2.3 Thành phần của PKI 31

2.2.4 Phân phối khóa công khai 32

2.3 Thời hạn tồn tại và việc thu hồi chứng chỉ 34

2.4 Nhà cấp chứng chỉ số (Certificate Authority - CA) 35

2.4.1 CA là gì ? 35

2.4.2 Mô hình CA 35

2.4.3 Chữ ký của CA trên chứng chỉ số 37

2.5 Khuôn dạng chứng chỉ X.509 37

2.5.1 Khuôn dạng chứng chỉ số X.509 v1, v2 38

2.5.2 Đặt tên trong X.509 v1, v2 39

2.5.3 Khuôn dạng chứng chỉ số X.509 v3 40

2.5.4 Đặt tên trong khuôn dạng chứng chỉ X.509 v3 42

2.6 Đăng ký đối tượng 43

2.7 Quy trình xin cấp một chứng chỉ số 44

CHƯƠNG III: XÂY DỰNG HỆ THỐNG QUẢN LÝ CHỨNG CHỈ SỐ 46

3.1 Chức năng của chương trình 46

3.2 Mô tả hoạt động và một số giao diện của chương trình 46

3.2.1 Đăng ký cấp chứng chỉ 46

3.2.2 Lấy thông tin chứng chỉ 47

3.2.3 Tìm thông tin về chứng chỉ của một người khác 49

3.2.4 Mã hóa và ký thông điệp 49

3.2.5 Giải mã thông điệp 51

3.2.6 Kiểm tra tính chính xác của chữ ký 52

3.2.7 Thu hồi chứng chỉ 53

3.3 Công cụ hỗ trợ và ngôn ngữ lập trình 54

3.3.1 Ngôn ngữ lập trình php5 54

3.3.2 OpenSSL trong PHP 5 58

3.3.2.1 Giới thiệu 58

3.3.2.2 Khóa và chứng chỉ 58

3.3.2.3 Một số hàm trong OpenSSL 59

3.4 Một số đoạn mã quan trọng của chương trình 60

3.4.1 Tạo chứng chỉ 60

3.4.2 Mã hóa và ký 62

3.4.3 Giải mã 63

3.4.4 Kiểm tra chữ ký 64

3.5 Những hạn chế và hướng phát triển 65

3.5.1 Hạn chế của chương trình 65

3.5.2 Hướng phát triển chương trình 65

KẾT LUẬN 66

TÀI LIỆU THAM KHẢO 67

 

 

doc67 trang | Chia sẻ: lynhelie | Lượt xem: 1317 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Đồ án Giải pháp xác thực số, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
số đó, mã số thứ tự, và những thông tin khác. Điều quan trọng nhất là một chứng chỉ số luôn luôn chứa chữ ký số của CA đã cấp chứng chỉ số đó. Nó giống như con dấu ở trên bằng lái xe hoặc chứng minh thư nhân dân của bạn khi được cấp. Nó cho phép chứng chỉ số như đã được đóng dấu để cho người sử dụng biết và tin cậy vào CA. 2.1.2 Chứng chỉ gốc là gì ? Chứng chỉ gốc là chữ ký điện tử của nhà cung cấp chứng chỉ số. Public key trong chứng chỉ được dùng để xác thực chữ ký của nhà cung cấp chứng chỉ số. Tương ứng với public key là một private key được nhà cung cấp chứng chỉ số ký trên tất cả các chứng chỉ số cung cấp cho khách hàng. Chứng chỉ gốc chứng thực một public key gắn với một nhà cung cấp chứng chỉ số. Khi chấp nhận chứng chỉ gốc của một nhà cung cấp chứng chỉ số tức bạn đã đặt sự tin tưởng vào nhà cung cấp chứng chỉ số đó. 2.1.3 Chứng chỉ số làm việc như thế nào ? Một chứng chỉ số gắn một public key với một cá nhân hay một tổ chức, sự kết hợp này là duy nhất và tính xác thực của nó được đảm bảo bởi CA. Chứng chỉ số được dựa trên thuật toán mã khoá công khai mà mô hình là việc dùng cặp khoá public key và private key. Private key được sở hữu riêng bởi người có chứng chỉ số và nó được dùng để tạo nên chữ ký điện tử. Khoá này luôn luôn phải giữ bí mật và chỉ thuộc về người sở hữu chứng chỉ số đó. Public key thì được công khai, nó được dùng để chứng thực một chữ ký điện tử. Sự chứng thực một chữ ký điện tử tức là bạn muốn biết đích danh là ai đã ký vào thông tin mà bạn nhận được. Cặp khoá public key và private key vốn không gắn với bất kỳ một chỉ danh nào, nó đơn giản chỉ là một cặp khoá mà giá trị của nó là các con số. Chứng chỉ số là sự kết hợp của một public key với một chỉ danh. Căn cứ vào chứng chỉ số của bạn hệ thống có thể kiểm tra xem bạn có đủ thẩm quyền khi truy cập vào hệ thống hay không, tránh khỏi sự mạo danh bạn để truy cập các hệ thống cũng như trao đổi thông tin. Với việc mã hoá thì chứng chỉ số đã cung cấp cho bạn một giải pháp thực sự đảm bảo giúp bạn hoàn toàn yên tâm khi tham gia trao đổi thông tin và giao dịch trên Internet. 2.1.4 Tại sao cần một chứng chỉ số ? Các cơ hội trong kinh doanh và việc đáp ứng các nhu cầu của khách hàng qua Internet là hết sức quan trọng và rõ ràng. Từ công việc của ngân hàng đến cửa hàng trực tuyến, dịch vụ ký nhận thông tin trực tuyến thì vấn đề an toàn ngày càng được chú trọng. Việc quản trị truy cập vào một hệ thống thông qua dùng một mật khẩu không còn phù hợp nữa. Giải pháp khác cho vấn đề này là dùng một chứng chỉ số, nó sẽ đảm bảo an ninh hơn rất nhiều so với các phương pháp bảo mật đơn giản như dùng mật khẩu. Ngày càng nhiều các công ty thực hiện công việc kinh doanh và trao đổi thông tin, ký kết các hợp đồng thương mại trên Internet thì việc bảo đảm an toàn và bảo mật cho các thông tin đó là vấn đề quan trọng hàng đầu. Điều này đã được các công ty nhận thức một cách rõ ràng, an toàn và bảo mật trong trao đổi thông tin qua mạng đã là một chính sách không thể thiếu của họ. Với mỗi công ty mà sử dụng chứng chỉ số thì đã được nhà cung cấp chứng chỉ số thẩm định rõ ràng sự tồn tại của họ về cơ sở pháp lý, điều này sẽ làm tăng sự tin tưởng của khách hàng vào doanh nghiệp đó. Và xa hơn nữa là cung cấp mức pháp lý cho các khách hàng khi họ tham gia giao dịch với các doanh nghiệp mà đã được CA chứng thực cho việc cấp chứng chỉ số. 2.1.5 Chứng chỉ số được áp dụng vào những công việc gì ? Chứng chỉ số được áp dụng vào các việc sau đây: - Sự riêng tư và bảo mật – Các tổ chức dùng chứng chỉ số để mã hoá và giải mã thông tin. - Tính toàn vẹn, xác thực và không thể chối cãi nguồn gốc – Dùng chứng chỉ số để ký lên một thông điệp cần gửi đi là đã thiết lập một chỉ danh cho người gửi, chứng minh nguồn gốc người gửi cũng như sự toàn vẹn của thông tin. - Kiểm soát truy cập – Sẽ yêu cầu các chứng chỉ số, dù nó ở trong các trình duyệt, trên đĩa hay trong smart card thì việc kiểm soát truy cập vào các trang Internet, các mạng Intranet và các mạng khác là dễ dàng. - Bằng chứng việc truyền tài liệu (dấu thời gian) – Các tổ chức cần “con dấu thời gian” trên những nguồn tin được gửi tới nhằm thẩm định lại tính hợp pháp cũng như bất hợp pháp trong giao dịch thương mại cũng như những qui định của riêng họ. - Lưu trữ tài liệu – Khi đó dùng chứng chỉ số để cung cấp quyền truy cập cho từng cá nhân và xác định xem tài liệu lưu trữ có bị thay đổi hay không. - Chỉ danh và quyền hạn – Khi sử dụng chứng chỉ số ta có thể xác lập quyền hạn cho từng cá nhân cụ thể và quản lý họ theo chỉ danh của họ. 2.1.6 Kiểm tra và tạo chữ ký điện tử như thế nào ? Để tạo một chữ ký điện tử, người ký tạo một dữ liệu “băm” là duy nhất và rút ngắn lại so với dữ liệu gốc, sau đó dùng private key để mã hoá dữ liệu đã được “băm” nói trên. Vậy thì chữ ký điện tử chính là dạng băm của dữ liệu đã được mã hoá bằng private key của người ký. Nếu thông điệp bị thay đổi thì dẫn đến kết quả “băm” của thông điệp đã bị thay đổi khác so với kết quả “băm” của thông điệp khi chưa bị thay đổi. Với các thông điệp khác nhau và với một private key dùng để ký thì chữ ký điện tử là duy nhất, bởi vậy không thể giả mạo được chữ ký điện tử. Chữ ký điện tử được thêm vào thông điệp và cả hai được gửi tới người nhận. Người nhận tạo lại giá trị băm từ thông điệp nhận được, sau đó dùng public key của người gửi để giải mã giá trị “băm” trong thông điệp nhận được. Nếu cả hai giá trị băm là giống nhau thì cả hai vấn đề chứng thực người gửi và tính toàn vẹn của thông tin. 2.2 Cơ sở hạ tầng khóa công khai Public Key Infrastructure – PKI 2.2.1 PKI là gì ? Internet đã xuất sắc trong việc trở thành bệ phóng số một cho thương mại và giao dịch toàn cầu. Tính phổ biến rộng rãi một mặt đã thúc đẩy bùng nổ Internet, tuy nhiên, mặt khác khó mà bảo đảm rằng những giao dịch trên Internet luôn an toàn. Các tổ chức chính phủ, doanh nghiệp và các cá nhân đòi hỏi máy móc không những phải bảo vệ toàn vẹn thông tin lưu chuyển trên Internet mà còn phải cho họ cảm giác tin cậy giống như khi giao dịch trên giấy tờ. Trước khi giao phó các giao dịch nhạy cảm của mình cho Internet, người sử dụng đòi hỏi mức an toàn đặc biệt. Họ muốn rằng giao dịch điện tử phải đáng tin cậy và phải được bảo vệ chống xem trộm. Họ muốn được chắc chắn rằng những người tham gia giao dịch phải là những người mà họ thỉnh cầu, và họ muốn được bảo đảm rằng không ai có thể phủ nhận hành vi liên quan của mình trong giao dịch khi có sự cố xảy ra. Cơ sở hạ tầng chìa khóa công cộng (PKI) đã đáp ứng cho những yêu cầu trên. Dựa trên cách sử dụng của chìa khóa mật mã công cộng và chữ ký điện tử, một PKI chính là bộ khung của các chính sách, dịch vụ và phần mềm mã hóa, đáp ứng nhu cầu bảo mật của người sử dụng khi gởi đi những thông tin quan trọng qua Internet và các mạng khác. Chìa khóa mật mã công cộng (Public Key cryptography) bảo đảm độ tin cậy đối với các thông tin hoặc thông điệp quan trọng bằng cách sử dụng các thuật toán, hay còn gọi là chìa khóa, để mã hóa dữ liệu và một chìa khóa để giải mã chúng. Trong dịch vụ Chìa khóa mật mã công cộng, người sử dụng nhận được phần mềm mã hóa đặc biệt và một cặp chìa khóa, trong đó có một chìa là chìa khóa công cộng (Public key) để có thể sử dụng dịch vụ, chìa còn lại là chìa khóa cá nhân (Private key) mà người sử dụng phải giữ bí mật. Hai chìa khóa này có liên quan mật thiết đến nhau, sao cho một thông điệp được mã hóa bởi một chìa khóa mật mã công cộng thì chỉ giải mã được bởi một chìa khóa cá nhân tương ứng. Một người sử dụng, ví dụ là Bob, mã hóa một thông điệp gởi đi bằng chìa khóa công cộng của người nhận là Alice. Khi nhận được thông điệp này, Alice sẽ giải mã nó bằng chìa khóa cá nhân của mình. Tất cả các chìa khóa công cộng đều được phát hành trong những cuốn niên giám điện tử. Tổ chức cấp giấy chứng nhận là một thành phần chính của PKI. Nó là một tổ chức thứ ba đáng tin cậy chịu trách nhiệm phát hành giấy chứng nhận kỷ thuật số và quản lý chúng trong thời hạn có hiệu lực. Chứng nhận kỷ thuật số là những tập tin điện tử chứa các chìa khóa mật mã công cộng và các thông tin nhận dạng đặc biệt về người sử dụng. Các giấy chứng nhận này có "dán tem" xác nhận và không thể làm giả được. Cũng giống như việc phát hành hộ chiếu, tổ chức cấp giấy chứng nhận xác nhận rằng cá nhân được cấp giấy chứng nhận kỷ thuật số là người đáp ứng đủ điều kiện. Chữ ký điện tử là một xác minh điện tử ngang bằng với một chữ ký truyền thống trên giấy - tức là có giá trị duy nhất, có thể kiểm chứng được và chỉ người ký mới có thể tạo ra nó. Thông điệp hay tài liệu dù đã được mã hóa hay chưa, hễ có chữ ký điện tử thì cũng đảm bảo được rằng thông tin trong đó không bị xâm phạm trong quá trình lưu chuyển. Các chính phủ, doanh nghiệp, cá nhân hội nhập vào cuộc cách mạng số hóa đều sẽ dùng chứng nhận kỹ thuật số. Khi phát hành một số lượng lớn giấy chứng nhận như vậy thì cần phải đề ra biện pháp quản lý việc sử dụng. Quản lý giấy chứng nhận là một công việc về lâu về dài của tổ chức cấp giấy chứng nhận PKI. Trên khắp thế giới, các công ty lớn và nhỏ đều đầu tư cho cơ sở hạ tầng chìa khóa công cộng như là một giải pháp hữu hiệu cho sáng tạo tập trung, phân phối, quản lý, chứng nhận cải tiến và đổi mới. 2.2.2 PKI hoạt động như thế nào ? Bob và Alice muốn liên lạc với nhau qua Internet, dùng PKI để chắc chắc rằng thông tin trao đổi giữa họ được bảo mật. Bob đã có chứng nhận kỹ thuật số, nhưng Alice thì chưa. Để có nó, cô phải chứng minh được với tổ chức cấp giấy chứng nhận cô thực sự là Alice. Một khi các thông số nhận dạng của Alice đã được tổ chức thông qua, họ sẽ phát hành cho cô một chứng nhận kỹ thuật số. Chứng nhận điện tử này có giá trị thực sự, giống như tấm hộ chiếu vậy, nó đại diện cho Alice. Nó gồm có những chi tiết nhận dạng Alice, một bản sao chìa khóa công cộng của cô và thời hạn của giấy chứng nhận cũng như chữ ký kỹ thuật số của Tổ chức chứng nhận. Alice cũng nhận được chìa khóa cá nhân kèm theo chìa khóa công cộng. Chìa khóa cá nhân này được lưu ý là phải giữ bí mật, không được san sẻ với bất cứ ai. Bây giờ thì Alice đã có chứng nhận kỷ thuật số, Bob có thể gởi cho cô những thông tin quan trọng được số hóa. Bob có thể xác nhận với cô là thông điệp đó xuất phát từ anh ta cũng như được bảo đảm rằng nội dung thông điệp không bị thay đổi và không có ai khác ngoài Alice đọc nó. Diễn biến thực tế không phải mất nhiều thời gian như những giải thích trên, phần mềm tại máy trạm của Bob tạo ra một chữ ký điện tử và mã hóa thông điệp có chứa chữ ký đó. Phần mềm sử dụng chìa khóa cá nhân của Bob để tạo ra chữ ký điện tử và dùng chìa khóa công cộng của Alice để mã hóa thông điệp. Khi Alice nhận được thông điệp đã được mã hóa có chữ ký của Bob, phần mềm sẽ dùng chìa khóa cá nhân của cô để giải mã thông điệp. Vì chỉ có duy nhất chìa khóa cá nhân của Alice mới có thể giải mã thông điệp đã được mã hóa bằng chìa khóa công cộng của cô, cho nên độ tin cậy của thông tin hoàn toàn được bảo đảm. Sau đó, phần mềm dùng chìa khóa công cộng của Bob xác minh chữ ký điện tử, để đảm bảo rằng chính Bob đã gởi thông điệp đi, và thông tin không bị xâm phạm trên đường di chuyển. Bảng sau đây minh họa cho tiến trình của chữ ký điện tử và độ tin cậy cao đáp ứng cho yêu cầu giao dịch điện tử an toàn của Bob và Alice. Bob muốn chuyển một thư điện tử đến cho Alice, với yêu cầu rằng giao dịch phải chứng minh được chính anh đã gởi nó đi và nội dung bức thư không bị thay đổi. Phần mềm PKI dùng chìa khóa cá nhân của Bob tạo ra một chữ ký điện tử cho bức thư Bob muốn chắc chắn rằng không ai ngoài Alice đọc được bức thư này Phần mềm PKI của Bob dùng chìa khóa công cộng của Alice để mã hóa thông điệp của Bob. Alice muốn đọc thư do Bob gởi Phần mềm PKI dùng chìa khóa cá nhân của Alice để để giải mã thông điệp. Alice muốn kiểm chứng rằng chính Bob đã gởi đi thông điệp đó và nội dung thông điệp không bị chỉnh sửa. Phần mềm PKI của Alice dùng chìa khóa công cộng của Bob để kiểm chứng chữ ký điện tử của anh ta. 2.2.3 Thành phần của PKI Mặc dù các thành phần cơ bản của PKI đều được phổ biến, nhưng một số nhà cung cấp đang muốn đưa ra những chuẩn PKI riêng khác biệt. Một tiêu chuẩn chung về PKI trên Internet cũng đang trong quá trình xây dựng. Một cơ sở hạ tầng khóa công khai bao gồm: - Một nhà cung cấp chứng chỉ số (CA) chuyên cung cấp và xác minh các chứng chỉ số. - Một nhà quản lý đăng ký (RegistrationAuthority - RA) đóng vai trò như một người thẩm tra cho CA trước khi CA cấp phát một chứng chỉ số. - Các dịch vụ lưu trữ phục vụ các nhu cầu tra cứu, lấy khóa công khai của các đối tác cần thực hiện giao dịch chứng thực số. - Một hệ thống quản lý chứng chỉ số Trong cơ sở hạ tầng khóa công khai PKI, CA sẽ kiểm soát cùng với nhà quản lý đăng ký để xác minh thông tin về chứng chỉ số mà người ta yêu cầu xác thực. RA xác minh thông tin về chứng chỉ số mà người ta yêu cầu xác thực và sau đó CA cấp chứng chỉ. Hình 2.1 Lợi ích cơ bản của hệ thống cấp chứng chỉ là một người sử dụng khóa công khai có thể biết được phần lớn khóa công khai của các thành viên khác một cách đáng tin cậy nhờ khóa công khai của CA. Lưu ý rằng các chứng chỉ số chỉ hữu ích khi người dùng khóa công khai tin cậy CA phát hành các chứng chỉ hợp lệ. 2.2.4 Phân phối khóa công khai Khi khóa công khai được gửi đến cho người sử dụng thì không cần thiết phải giữ bí mật khóa công khai này. Tuy nhiên người dùng người dùng khóa công khai phải đảm bảo rằng khóa công khai này được sử dụng, đúng là dành cho các thành viên khác( có thể là người nhận thông điệp có chủ định hoặc là bộ sinh chữ ký số được yêu cầu).Nếu kẻ phá hoại dùng khóa công khai khác để thay thế khóa công khai hợp lệ, nội dung các thông điệp đã mã hóa có thể bị lộ. Như vậy thành viên không chủ định khác có thể biết được các thông điệp hay các chữ ký số có thể bị làm giả. Nói cách khác, cách bảo vệ (được tạo ra từ các kỹ thuật này) bị ảnh hưởng nếu kẻ truy nhập thay thế các khóa công khai không xác thực. Đối với các nhóm thành viên nhỏ yêu cầu này có thể được thỏa mãn dễ dàng. Ví dụ hai người quen biết nhau, khi người này muốn truyển thông an toàn với người kia, họ có thể có các khóa công khai bằng cách trao đổi các đĩa nhớ có chứa các khóa công khai của từng người, như vậy đảm bảo rằng các khóa công khai được lưu trữ an toàn trên hệ thống cục bộ của từng người. Đây chính là hình thức phân phối khóa công khai thủ công. Tuy nhiên hình thức phân phối khóa công khai này được xem là không thực tế, không đấp ứng được nhu cầu khi một số lượng người sử dụng quá lớn hoặc phân tán. Các chứng chỉ khóa công khai giúp cho việc phân phối khóa công khai trở nên có hệ thống. Hệ thống cấp chứng chỉ khóa công khai làm việc nhu sau: Một CA phát hành các chứng chỉ cho những người nắm giữ cặp khóa công khai và khóa riêng. Một chứng chỉ gồm khóa công khai và nhân dạng duy nhất chủ thể của chứng chỉ. Chủ thể của chứng chỉ có thể là một người, một thiệt bị, hoặc một thực thể có nắm giữ khóa riêng tương ứng. Khi chủ thể của chứng chỉ là một người hay một thực thể hợp pháp nào đó, chủ thể thường được nhắc đến như là một thực thể của CA. Chứng chỉ được CA ký bằng khóa riêng của họ. Một khi hệ thống các chứng chỉ được thiết lập, công việc của người dùng khóa công khai rất đơn giản. Người dùng cần khóa công khai của một trong các thuê bao của CA, họ chỉ cần lấy bản sao chứng chỉ của thuê bao, lấy ra khóa công khai, kiểm tra xem chữ ký của CA có trên chứng chỉ hay không. Người dùng khóa công khai sử dụng các chứng chỉ như cách trên được gọi là các thành viên đáng tin cậy. Kiểu hệ thống này tương đối đơn giản và kinh tế khi triển khai trên diện rộng theo hình thức tự động. Bởi vì một trong những đặc tính quan trọng của chứng chỉ là: “ các chứng chỉ có thể được phát hành mà không cần phải bảo vệ thông qua các dịch vụ an toàn truyền thông để đảm bảo sự tin cẩn xác thực và toàn vẹn” Chúng ta không cần giữ bí mật khóa công khai, như vậy các chứng chỉ không phải là bí mật. Hơn nữa ở đây không yêu cầu tính xác thực và toàn vẹn do các chứng chỉ tự bảo vệ (chữ ký số của CA có trong chứng chỉ khi cấp bảo vệ xác thực và toàn vẹn). Một kẻ truy nhập trái phép định làm giả chứng chỉ số khi nó đang được phát hành cho những người đang sử dụng khóa công khai. Những người dùng này sẽ phát hiện ra giả mạo vì chữ ký số của CA được kiểm tra chính xác. Lợi ích cơ bản của hệ thống cấp chứng chỉ là một người sử dụng khóa công khai có thể dễ dàng có được một số lượng lớn khóa công khai của các người dùng khác một cách đáng tin cậy nhờ khóa công khai của CA. Lưu ý rằng chứng chỉ số chỉ hữu ích khi người dùng khóa công khai tin cậy CA phát hành các chứng chỉ hợp lệ. 2.3 Thời hạn tồn tại và việc thu hồi chứng chỉ Chứng chỉ cơ bản và các mô hình đường dẫn chứng thực được mô tả như trên đòi hỏi một yêu cầu nào đó đối với từng ứng dụng thực tế. Trước hết phải nhân ra tính đúng lúc, cặp khóa riêng và khóa công khai không phải lúc nào cũng hợp lệ mãi mãi. Trong hệ thống kỹ thuật, cặp khóa bất kỳ có thời hạn tồn tại nhất định nhằm hạn chế cơ hội thám mã và hạn chế thời gian có thể xảy ra tấn công thỏa hiệp. Vì vậy một chứng chỉ có thời gian tồn tại hợp lệ được quy định trước, xác định ngày giờ bắt đầu và ngày giờ kết thúc. Sau khi chứng chỉ số hết hạn, sự giàng buộc giữa khóa công khai và chủ thể không còn hợp lệ nữa và chứng chỉ không còn đáng tin cậy. Một người sử dụng khóa công khai không nên dùng chứng chỉ đã hết hạn trừ khi muốn chứng thực lại các hoạt động trước đó, ví dụ như kiểm tra chữ ký trên tài liệu cũ. Dựa vào thời hạn kết thúc chứng chỉ nếu chủ thể vẫn còn giữu khóa công khai hợp lệ thì CA có thể cấp chứng chỉ mới cho thuê bao này. Hơn thế nữa, việc thỏa hiệp khóa bị phát hiện hoặc nghi ngờ có sự thỏa hiệp khóa thì thời hạn kết thúc của chứng chỉ có thể bảo vệ người dùng chống lại việc tiếp tục sử dụng khóa công khai thông qua việc phat hành chứng chỉ trước khi thỏa hiệp. Có nhiều trường hợp CA có thể thu hồi chứng chỉ trước khi hết hạn của chứng chỉ nếu như phát hiện khóa riêng bị lô hay có sự thoa hiệp khóa riêng tương ứng. 2.4 Nhà cấp chứng chỉ số (Certificate Authority - CA) 2.4.1 CA là gì ? Một tổ chức tin cậy phát hành các chứng thực điện tử (electronic certificate) cho các đối tác cần trao đổi thông tin, giao dịch với nhau thông qua các phương tiện giao tiếp điện tử như: Internet, Smart card, Security card CA cung cấp và quản lý các electronic certificates cho các đối tác như: kiểm tra đối tác đăng ký (registration) cấp phát (issue), thu hồi certificate (revocation). CA được cấu trúc theo mô hình phân cấp X.500 và cho phép các phân cấp con có thể tiếp tục chứng thực cho các đối tác khác (intermediate). Các thông tin trong một certificate bao gồm gồm public key của site's server, tên của đối tác đăng ký, Algorithm ID được dùng để ký lên certificate, ngày hết hạn certificate, tên của tổ chức CA cấp phát Các trusted CA bảo đảm được đầy đủ ba yếu tố cho một đối tác khi sử dụng trusted certificates: CONFIDENTIALITY, INTEGRITY, và AUTHENTICATION. CONFIDENTIALITY: Không ai có thể đọc được nội dung data khi đang giao dịch. INTEGRITY: Bảo đảm được tính toàn vẹn của data, không ai có thể sửa đổi lại dữ liệu. AUTHENTICATION: Bảo đảm được tính xác thực của đối tác đăng ký, không ai có thể giả mạo được. 2.4.2 Mô hình CA Nếu việc thiết lập một CA cung cấp các chứng chỉ khóa công khai cho tất cả những người nắm giữ các cập khóa công khai trên thế giới là khả thi và được tất cả mọi người sủ dụng khóa công khai tin tưởng vào các chứng chỉ do CA cấp thì chúng ta giải quyết vấn đề phân phối khóa công khai. Nhưng đứng trước một thực tế là một CA không thể nắm giữ tất cả các thông tin và các mối quan hệ của mọi người dùng trên thế giới để có thể cấp phát các chứng chỉ hợp lệ. do đó chúng ta phải chấp nhân sự tồn tại của nhiều CA trên thế giới. Giả thiết có nhiều CA. Người dùng đang nắm giữ khóa công khai của một CA xác định muôn có khóa công khai của một người dùng khác đang sử dụng chứng chỉ số do một CA khác phát hành. Trong trường hợp này người dùng có thể tìm và sử dụng một chứng chỉ khác nó chứa khóa công khai của CA này nhưng lại do CA khác phát hành. Khóa công khai của CA này được người dùng nắm giữ an toàn. Hình 2.2 Vì vậy một người sử dụng có thể áp dụng chứng thực đệ quy chứng chỉ để thu được các khóa công khai của các CA và khóa công khai của những người sử dụng từ xa. Điều này dẫn đến một mô hình được gọi là dây chuyền chứng thực hoặc đường dẫn chứng thực đưa vào các hệ thống phân phối khóa công khai như hình vẽ trên. 2.4.3 Chữ ký của CA trên chứng chỉ số Như chúng ta đã biết thì chứng chỉ số chỉ hữu ích khi người sử dụng tin tưởng vào CA đã cấp phát chứng chỉ số cho họ. Để tạo được sự tin tưởng này ở người sử dụng thì cần phải có một dấu hiêu nào đó để xác thực CA đó có đúng là CA đã phát hành chứng chỉ số không. Giống như chứng minh thư nhân dân hay bằng lái xe khi cấp cần phải có con dấu của cơ quan công an. CA cũng cần có dấu hiệu để chứng thực mình bằng cách ký lên các chứng chỉ đó bằng khóa bí mật của riềng mình. Và tất nhiên CA sẽ cung cấp một khóa công khai để người sử dụng có thể kiểm tra chữ ký đó có đúng là của CA đã phát hành chứng chỉ không. Có rất nhiều thuật toán để có thể tạo ra một chữ ký điện tử như Elgamal, RSA, Rabin Chữ ký này còn được gọi là chứng chỉ gốc. 2.5 Khuôn dạng chứng chỉ X.509 X.509 là một định dạng chuẩn được đưa ra bởi International TelecommunicationUnion-Telecommunication Standardization Sector (ITU-T) và ISO/International Electrotechnical Commission (IEC) – công bố lần đầu tiên vào năm 1988. Định dạng chuẩn X.509 phiên bản 2 (v2) là là sự mở rộng của định dạng chuẩn X.509 phiên bản 1 (v1) năm 1993, kết hợp thêm hai quyền mới hỗ trợ việc truy cập thư mục. Trong quá trình triển khai Internet Privacy Enhanced Mail (PEM) dựa trên X.509 v1 đã cho thấy sự thiếu hụt về tính mở cũng như sự mở rộng của khuôn dạng X.509 v1 và v2. Chuẩn X.509 v2 đã được xem xét lại cho phép bổ sung thêm các trường mở rộng. X.509 phiên bản 3 được đưa ra vào tháng 6- 1996. ISO/IEC và ANSI X9 đều đã định nghĩa các trường chuẩn mở rộng trong X.509 v3 chẳng hạn cho phép mang thêm thông tin về định danh đối tượng, thông tin về thuộc tính khóa và thông tin về chính sách 2.5.1 Khuôn dạng chứng chỉ số X.509 v1, v2 Hình 2.3 Các trường của khuôn dạng chứng chi: Phiên bản (version): Chỉ ra khuôn dạng của phiên bản 1,2,3. Số hiệu (serial number): Số hiệu nhận dạng duy nhất của chứng chỉ này. Nó được CA phát hành gán cho. Tên thuật toán ký ( Signature algorithm identifier): Tên thuật toán ký được CA sử dụng để ký lên chứng chỉ. Người phát hành (Issuer): Tên X.500 của CA phát hành. Thời gian hợp lệ (Validity periord): Ngày/ giờ bắt đầu và kết thúc chứng chỉ. Chủ thể (Subject): Tên X.500 của đối tượng nắm giữ khóa riêng, nó tương ứng với khóa công khai được chứng thực. Thông tin khóa công khai của chủ thể (Subject publich-key ìnformation): gồm có khóa công khai của chủ thể và tên thuật toán sử dụng khóa công khai này. Tên duy nhất của người phát hành (Issuer unique indentifier): là chuỗi bit tùy chọn để chỉ ra tên của CA phát hành – trong trương hợp cung một tên được gán cho các thực thể khác nhau với cùng một thời gian. Tên duy nhất của đối tượng (Subject unique indentifier): là chuỗi bit tùy chọn để chỉ ra tên rõ ràng của chủ thể. Trong trường hợp cùng một tên được gán cho các chủ thể khác nhau trong cùng một thời gian. 2.5.2 Đặt tên trong X.509 v1, v2 Thông tin được lưu trữ trong các thư mục X.509 gồm một tập hợp các thực thể (entry). Thực thể liên quan đến một đối tượng thực, ví dụ như một người, một tổ chức, một thiết bị. Đối tượng này có tên rõ ràng, được gọi là tên phân biệt (DN). Đầu vào thư mục của đối tượng có chứa các giá trị của tập hợp các thuộc tính – gắn liền với đối tượng này. Ví dụ đầu vào của một người có thể chứa các thuộc tính như tên, số điện thoại, địa chỉ thư điện tử. Để hỗ trợ yêu cầu đặt tên rõ ràng, tất cả các đầu vào của X.509 được tổ chức thành một cấu trúc cây – được gọi là cây thông tin thư mục (DIT). Nó có gốc và không hạn chế số đỉnh (trừ gốc) tương ứng với một đầu vào thư mục và có tên phân biệt (tên phân biệt của gốc là null). Tên phân biệt của một đầu vào được tạo ra bằng cách: kết hợp tên phân biệt của đầu vào cấp trên gần nó nhất cùng với tên phân biệt liên quan (RDN), nó phân biệt đầu vào phụ thuộc với các cấp trực tiếp khác của cùng một thực thể cấp trên. Khuôn dạng chứng chỉ X.509 phiên bản 2 có hai trường không phải là các tên X.500: tên duy nhất cuat người phát hành và tên duy nhất của chủ thể. Mục đích chính của việc bổ sung thêm các trường này vào phiên bản 1 để hỗ trợ khả năng kiểm soát truy nhập thư mục. Rất tiếc là các tên duy nhất không phải là giải pháp đáng tin cậy cho vấn đề này bởi vì chúng rất khó quản lý. Có xu hướng che dấu không cho xem và rất dễ bị bỏ qua hoặc quên khi bổ sung. Hình 2.4 2.5.3 Khuôn dạng chứng chỉ số X.509 v3 Vào những năm 1993-1994, mọi cố gắng nhằm triển khai các chứng chỉ X.509 trên phạm vi đủ lớn được đẩy mạnh. Người ta nhận thấy rằng các khuôn dạng chứng chỉ v1, v2 không đáp ứng được tất cả các yêu cầu. Sau đây là một số lý do dẫn đến việc ra đời của phiên bản 3: Đối tượng có thể có các

Các file đính kèm theo tài liệu này:

  • docbaocaoupdate.doc
  • pptxacthucso.ppt