Trao đổi với tôi

http://www.buidao.com

6/11/10

[Security] Chữ ký điện tử toàn tập

1. Khái niệm chữ ký điện tử và chứng chỉ điện tử.

Trong cuộc sống hàng ngày, ta cần dùng chữ ký để xác nhận các văn bản tài liệu nào đó và có thể dùng con dấu với giá trị pháp lý cao hơn đi kèm với chữ ký.

Cùng với sự phát triển nhanh chóng của công nghệ thông tin, các văn bản tài liệu được lưu dưới dạng số, dễ dàng được sao chép, sửa đổi. Nếu ta sử dụng hình thức chữ ký truyền thống như trên sẽ rất dễ dàng bị giả mạo chữ ký. Vậy làm sao để có thể ký vào các văn bản, tài liệu số như vậy?

Câu trả lời đó là sử dụng chữ ký điện tử! Chữ ký điện tử đi kèm với các thông tin chủ sở hữu và một số thông tin cần thiết khác sẽ trở thành Chứng chỉ điện tử.

Vậy chữ ký điện tử và chứng chỉ điện tử hoạt động như thế nào?

Chữ ký điện tử hoạt động dựa trên hệ thống mã hóa khóa công khai. Hệ thống mã hóa này gồm hai khóa, khóa bí mật và khóa công khai (khác với hệ thống mã hóa khóa đối xứng, chỉ gồm một khóa cho cả quá trình mã hóa và giải mã). Mỗi chủ thể có một cặp khóa như vậy, chủ thể đó sẽ giữ khóa bí mật, còn khóa công khai của chủ thể sẽ được đưa ra công cộng để bất kỳ ai cũng có thể biết. Nguyên tắc của hệ thống mã hóa khóa công khai đó là, nếu ta mã hóa bằng khóa bí mật thì chỉ khóa công khai mới giải mã thông tin được, và ngược lại, nếu ta mã hóa bằng khóa công khai, thì chỉ có khóa bí mật mới giải mã được.

Quá trình ký văn bản tài liệu ứng dụng hệ thống mã hóa trên diễn ra như thế nào?

Trước hết, giả sử anh A có tài liệu TL cần ký. Anh A sẽ mã hóa tài liệu đó bằng khóa bí mật để thu được bản mã TL. Như vậy chữ ký trên tài liệu TL của anh A, chính là bản mã TL.

Sau khi ký như vậy, làm sao để xác nhận chữ ký?

Giả sử anh B muốn xác nhận tài liệu TL là của anh A, với chữ ký là bản mã TL. Anh B sẽ dùng khóa công khai của anh A để giải mã bản mã TL của anh A. Sau khi giải mã, anh B thu được một bản giải mã TL, anh ta so sánh bản giải mã TL này mới tài liệu TL. Nếu bản giải mã TL giống với tài liệu TL thì chữ ký là đúng của anh A.

Những vấn đề có thể xảy ra là gì?

Một số trường hợp xảy ra với chữ ký điện tử, cũng giống như các trường hợp xảy ra với chữ ký truyền thống. Ví dụ, khi tài liệu TL của A bị thay đổi (dù chỉ một ký tự, một dấu chấm, hay một ký hiệu bất kỳ), khi B xác nhận, anh ta sẽ thấy bản giải mã TL khác với tài liệu TL của anh A. B sẽ kết luận rằng tài liệu đó đã bị thay đổi, không phải là tài liệu anh A đã ký.

Trường hợp khác, nếu anh A để lộ khóa bí mật, nghĩa là văn bản tài liệu của anh có thể ký bởi người khác có khóa bí mật của A. Khi một ai đó xác nhận tài liệu được cho là của A ký, chữ ký vẫn là hợp lệ, mặc dù không phải chính A ký. Như vậy, chữ ký của A sẽ không còn giá trị pháp lý nữa. Do đó, việc giữ khóa bí mật là tuyệt đối quan trọng trong hệ thống chữ ký điện tử.

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

Trong trường hợp ví dụ trên, anh A có một cặp khóa để có thể ký trên văn bản, tài liệu số. Tương tự như vậy, anh B hay bất cứ ai sử dụng chữ ký điện tử, đều có một cặp khóa như vậy. Khóa bí mật được giữ riêng, còn khóa công khai được đưa ra công cộng. Vậy vấn đề đặt ra là làm thế nào để biết một khóa công khai thuộc về A, B hay một người nào đó?

Hơn nữa, giả sử trong môi trường giao dịch trên Internet, cần sự tin cậy cao, A muốn giao dịch với một nhân vật X. X và A cần trao đổi thông tin cá nhân cho nhau, các thông tin đó gồm họ tên, địa chỉ, số điện thoại, email… Vậy làm sao để A có thể chắc chắn rằng mình đang giao dịch với nhân vật X chứ không phải là ai khác giả mạo X?

Chứng chỉ số được tạo ra để giải quyết vấn đề này!

Chứng chỉ số có cơ chế để xác nhận thông tin chính xác về các đối tượng sử dụng chứng chỉ số.

Thông tin giữa A và X sẽ được xác nhận bằng một bên trung gian mà A và X tin tưởng.

Bên chung gian đó là nhà cung cấp chứng chỉ số CA (Certificate Authority).

CA có một chứng chỉ số của riêng mình, CA sẽ cấp chứng chỉ số cho A và X cũng như những đối tượng khác.

Trở lại vấn đề trên, A và X sẽ có cách kiểm tra thông tin của nhau dựa trên chứng chỉ số như sau: khi A giao dịch với X, họ sẽ chuyển chứng chỉ số cho nhau, đồng thời họ cũng có chứng chỉ số của CA, phần mềm tại máy tính của A có cơ chế để kiểm tra chứng chỉ số của X có hợp lệ không, phần mềm sẽ kết hợp chứng chỉ số của nhà cung cấp CA và chứng chỉ của X để thông báo cho A về tính xác thực của đối tượng X.

Nếu phần mềm kiểm tra và thấy chứng chỉ của X là phù hợp với chứng chỉ CA, thì A có thể tin tưởng vào X.

Cơ chế chữ ký điện tử và chứng chỉ số sử dụng các thuật toán mã hóa đảm bảo không thể giả mạo CA để cấp chứng chỉ không hợp pháp, mọi chứng chỉ giả mạo đều có thể dễ dàng bị phát hiện.

Trở lại tình huống trên, với cơ chế chứng chỉ số, mọi chứng chỉ đều được công khai để bất kỳ ai cũng có thể truy cập được.

Vậy trong chứng chỉ số có những tham số gì? Theo cơ chế chữ ký điện tử như đã đề cập ở trên thì trong chứng chỉ, một tham số quan trọng phải có đó là khóa công khai. Ngoài ra chứng chỉ số còn chứa các thông tin về danh tính của đối tượng được cấp chứng chỉ, bao gồm thông tin về chủ sở hữu chứng chỉ như email, số điện thoại… các thông tin này là tùy chọn theo qui định của nhà cung cấp chứng chỉ số.

Vậy còn một tham số quan trọng trong sử dụng chứng chỉ số, đó là khóa bí mật? Khóa bí mật sẽ không được lưu trong chứng chỉ số. Nó được lưu tại máy tính của chủ sở hữu, chủ sở hữu cần chịu trách nhiệm giữ an toàn khóa bí mật này.

Trở lại với việc ký văn bản, tài liệu, khóa bí mật sẽ dùng để ký các văn bản, tài liệu của chủ sở hữu. Như đã đề cập trong ví dụ ở trên, giả sử A muốn gửi một văn bản kèm với chữ ký của mình trên văn bản đó, A sẽ dùng khóa bí mật để mã hóa thu được bản mã văn bản, bản mã đó chính là chữ ký điện tử của A trên văn bản.

Khi A gửi văn bản và chữ ký, để người khác có thể xác nhận văn bản của mình với thông tin đầy đủ về chủ sở hữu, A sẽ gửi cả chứng chỉ của mình đi kèm với văn bản.

Giả sử X nhận được văn bản A gửi kèm với chứng chỉ, khi đó X có thể dễ dàng xác nhận tính hợp pháp của văn bản đó.

Làm thế nào để có một chứng chỉ số?

Để có một chứng chỉ số, trước hết cần có một cơ quan cung cấp chứng chỉ số, tên tiếng anh là CA (Certificate Authority). Các cá nhân, tổ chức muốn có chứng chỉ số, cần đăng ký với tổ chức này, và khi đăng ký, đương nhiên họ chấp nhận uy tín của tổ chức này. Trên thế giới, hiện có nhiều tổ chức CA như vậy, một số tổ chức lớn như Verisign, RSA, Entrust… được sử dụng chứng chỉ số rất phổ biến.

Sau khi đăng ký với CA, CA sẽ kiểm tra thông tin của người đăng ký và sẽ cấp một chứng chỉ cho họ. Thông thường chứng chỉ được lưu dưới dạng file để cài đặt vào thiết bị (PC, Server,…), hoặc đặc biệt hơn, với mức độ bảo mật cao, nó có thể lưu

trong các Token (loại thẻ lưu dữ liệu), sử dụng giống như một USB lưu trữ chứng chỉ số.

Ví dụ thực tế trong việc sử dụng chứng chỉ số

Ta có thể xem xét một số ví dụ điển hình, phổ biến, đó là trường hợp truy cập vào các trang web sử dụng chứng chỉ số để bảo mật thông tin.

Thông thường, khi truy cập web, với địa chỉ http://vnexperts…., nghĩa là ta đang truy cập một trang web không có cơ chế mã hóa dữ liệu truyền đi giữa người dùng và trang web đó (web server). Điều đó có nghĩa là mọi dữ liệu truyền đi giữa người sử dụng đến trang web đó, có thể bị nghe lén giữa đường đi. Đây là điểm không an toàn.

Vậy một trang web bảo mật có gì khác? Điểm khác ở đây chính là trang web đó sử dụng chứng chỉ số, khi truy cập vào trang web đó, ta không dùng địa chỉ thông thường http://vnexperts… mà sử dụng https://vnexperts… Có nghĩa ta sử dụng qua HTTPS

Một trong vô số các trang web sử dụng chứng chỉ số để bảo mật, đó là https://gmail.com. Khi truy cập vào đây, ta có thể yên tâm là dữ liệu truyền đi giữa người dùng và trang web đó được bảo mật cao, nghĩa là khó có thể lộ thông tin giao dịch. Sử dụng Internet Explorer để truy cập vào trang web, ta có thể thấy các thông tin về bảo mật, chứng chỉ số được chỉ ra cụ thể:

Như hình trên, sử dụng Internet Explore (IE) để truy cập vào một trang web sử dụng chứng chỉ số để bảo mật, ta thấy dấu hiệu bảo mật ở Khóa vàng góc dưới. Nếu kích chuột vào đây, IE sẽ hiển thị chứng chỉ số của trang web này.

Vậy các thông tin này có nghĩa là gì? Hình trên hiển thị ra một chứng chỉ số (Certificate), trong đó có các thông tin có ý nghĩa như sau: chứng chỉ số này được cấp cho www.google.com, đơn vị cung cấp chứng chỉ là ‘Thawte SGC CA’, đơn vị cung cấp chứng chỉ cấp cao hơn cho ‘Thawte SGC CA’ là ‘VeriSign Class 3 Public Primary CA’.

Như vậy, với ý nghĩa của chứng chỉ số, ta có thể nói rằng: trang web đang được truy cập là https://gmail.com, có chủ sở hữu với tên ký hiệu là www.google.com, chủ sở hữu này đã sử dụng chứng chỉ số được cung cấp bởi CA: ‘Thawte SGC CA’ ( thuộc ‘VeriSign Class 3 Public Primary CA’). Mọi thông tin truyền đi giữa người dùng và trang web (web server) là hoàn toàn được bảo mật.

Trên đây là cách thức sử dụng chứng chỉ số ở mức đơn giản. Cách thức sử dụng này mới chỉ là bảo mật một phía, người dùng tin cậy chứng chỉ của trang web (web server) mà họ truy cập, trong khi đó.

Cách thức bảo mật cao hơn là trường hợp người dùng phải có chứng chỉ để truy cập trang web. Khi đó, để người dùng và web (web server) có thể xác thực được nhau, chứng chỉ của người dùng và của web (web server) phải được cung cấp từ một CA. Trong ví dụ trên, chứng chỉ của người dùng cũng phải được cung cấp bởi ‘Thawte SGC CA’ ( thuộc ‘VeriSign Class 3 Public Primary CA’).

Việc sử dụng chứng chỉ số không chỉ áp dụng cho trường hợp giao dịch web như trên, ngoài ra còn có nhiều hình thức sử dụng khác, ví dụ, sử dụng chứng chỉ số cho email, cho các thiết bị di động…

2. Hiện trạng sử dụng chứng chỉ số trên thế giới và ở Việt Nam

Việc sử dụng chứng chỉ số trên thế giới hiện nay rất phổ biến, chủ yếu nhằm bảo mật các giao dịch điện tử như bảo mật email, website, thanh đoán điện tử…

Các đơn vị chứng thực (CA) được xây dựng ở nhiều qui mô, cấp độ khác nhau. Từ các cơ quan chính phủ đến các tổ chức doanh nghiệp, cá nhân đều có thể xây dựng CA, tùy thuộc vào yêu cầu sử dụng.

Các CA có thể được xây dựng với mục đích chuyên dụng hoặc thương mại. CA chuyên dụng được áp dụng trong phạm vi một cơ quan nhà nước, một tổ chức, một doanh nghiệp hoặc có thể là do cá nhân tự xây dựng. Những đối tượng sử dụng CA chuyên dụng được cấp chứng chỉ bởi CA đó và qui định tin tưởng nhau trong phạm vi CA.

CA thương mại được xây dựng nhằm mục đích thương mại, kinh doanh dịch vụ xác thực điện tử. Những đối tượng sử dụng chứng chỉ của CA thương mại phải có thỏa thuận pháp lý tin tưởng CA thương mại đó và tin tưởng những đối tượng khác được cấp chứng chỉ bởi CA.

Hiện trên thế giới có một số CA lớn, được thành lập vào những năm 90, với mục đích thương mại như Verisign, Entrust, RSA…

Các quốc gia phát triển chính phủ điện tử được coi là hàng đầu thế giới như USA, Canada, Anh, Thụy sĩ, Hàn Quốc, Nhật Bản… có những đơn vị chứng thực (CA) lớn mạnh.

Ở Châu Á, Hàn Quốc được coi là quốc gia áp dụng Chính phủ điện tử hiệu quả cao. Một trong những yếu tố giúp cho thành công của Chính phủ điện tử đó là chứng thực điện tử. Hàn Quốc có một hệ thống mạng lưới thông tin thông suốt từ Chính phủ đến các thành phố, quận huyện, làng mạc. Thông tin cá nhân thống nhất trên nhiều lĩnh vực, do đó việc áp dụng chứng thực điện tử tại Hàn Quốc có hiệu quả cao.

Ở Việt Nam, việc xây dựng Hệ thống Chứng thực điện tử là một trong số các nhân tố quan trọng của Chính phủ điện tử cũng như trong giao dịch thương mại.

Chúng ta đang từng bước xây dựng hệ thống này. Về luật pháp, hiện ta đã có Luật giao dịch điện tử (2005), Nghị định 26 (Quy định chi tiết thi hành Luật Giao dịch điện tử về chữ ký số và dịch vụ chứng thực chữ ký số), Nghị định 27 (Về giao dịch điện tử trong hoạt động tài chính). Các đơn vị nhà nước, tổ chức doanh nghiệp cũng đã và đang xây dựng hệ thống chứng thực chuyên dùng, đáp ứng cho yêu cầu nội bộ.

3. Trung tâm Chứng thực điện tử Quốc gia

Bộ Thông tin và Truyền thông (MIC) đang xây dựng trung tâm chứng thực điện tử quốc gia RootCA (CA gốc).

reflink:http://roseandgun.wordpress.com/2008/05/05/ch%E1%BB%AF-ky-di%E1%BB%87n-t%E1%BB%AD-toan-t%E1%BA%ADp/