Để bảo mật, các thông tin truyền trên Internet ngày nay đều có xu hƣớng đƣợc mã hoá. Trƣớc khi truyền qua mạng Internet, ngƣời gửi mã hoá thông tin, trong quá trình truyền, dù có “chặn” đƣợc các thông tin này, kẻ trộm cũng khó thể đọc đƣợc vì bị mã hoá. Khi tới đích, ngƣời nhận sẽ sử dụng công cụ để giải mã. Phƣơng pháp bảo mật phổ biến nhất đang đƣợc thế giới áp dụng là chứng chỉ số (Digital Certificate). Với chứng chỉ số, ngƣời sử dụng có thể mã hoá thông tin một cách hiệu quả, chống giả mạo (cho phép ngƣời nhận kiểm tra thông tin có bị thay đổi không), xác thực danh tính của ngƣời gửi. Ngoài ra, chứng chỉ số còn là bằng chứng giúp chống chối cãi nguồn gốc, ngăn chặn ngƣời gửi chối cãi nguồn gốc tài liệu mình đã gửi.
3.3.1. Chứng chỉ số là gì?
Chứng chỉ số là một tệp tin điện tử dùng để xác minh một cá nhân, một máy chủ, một công ty,... trên Internet. Nó giống nhƣ bằng lái xe, hộ chiếu, chứng minh thƣ hay những giấy tờ xác minh cá nhân.
Để có chứng minh thƣ, bạn phải đƣợc cơ quan Công an sở tại cấp. Chứng chỉ số cũng vậy, phải do một tổ chức đứng ra chứng nhận những thông tin của bạn là chính xác, đƣợc gọi là Nhà cấp chứng chỉ số (Certificate Authority - CA). CA phải đảm bảo về độ tin cậy, chịu trách nhiệm về độ chính xác của chứng chỉ số mà mình cấp.
Trong chứng chỉ số có ba thành phần chính: - Thông tin cá nhân của ngƣời đƣợc cấp.
- Khoá công khai (Public Key) của ngƣời đƣợc cấp. - Chữ ký số của CA cấp chứng chỉ.
a) Thông tin cá nhân
Đây là các thông tin của đối tƣợng đƣợc cấp chứng chỉ số, gồm tên, quốc tịch, địa chỉ, điện thoại, e-mail, 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ỗi ngƣời.
b) Khoá công khai
Là khoá dùng để mã hoá trong một thuật toán mã bất đối xứng nào. Bất đối xứng có nghĩa là khi mã hoá bằng khoá công khai, chính ngƣời gửi cho bạn cũng
không thể giải mã ngƣợc trở lại. Chỉ có bạn với khoá cá nhân (private key) của riêng bạn, mới có thể giải mã đƣợc các thông tin đó. Khoá công khai nhƣ danh tính của bạn trên chứng minh thƣ (gồm tên địa chỉ, ảnh...), còn khoá cá nhân chính là gƣơng mặt bạn. Nếu coi một bƣu phẩm là thông tin truyền đi, đƣợc mã hoá bằng địa chỉ và tên ngƣời nhận của bạn, thì dù ai đó có dùng chứng minh thƣ của bạn để lấy bƣu phẩm này, họ cũng không thể lấy đƣợc bƣu phẩm. Chỉ có bạn, với chứng minh thƣ của mình mới đƣợc nhận bƣu phẩm.
c) Chữ ký số của CA cấp chứng chỉ
Còn gọi là chứng chỉ gốc. Đây chính là sự xác nhận của CA, bảo đảm tính chính xác và hợp lệ của chứng chỉ. Muốn kiểm tra một chứng chỉ số, trƣớc tiên phải kiểm tra chữ ký số của CA có hợp lệ hay không. Trên chứng minh thƣ, đây chính là con dấu xác nhận của Công An Tỉnh hoặc Thành phố mà bạn trực thuộc. Về nguyên tắc, khi kiểm tra chứng minh thƣ, đúng ra đầu tiên phải là xem con dấu này, để biết chứng minh thƣ có bị làm giả hay không.
3.3.2. Những lợi ích khi sử dụng chứng chỉ số a) Mã hoá a) Mã hoá
Lợi ích đầu tiên của chứng chỉ số là tính bảo mật thông tin. Khi ngƣời gửi đã mã hoá thông tin bằng khoá công khai của bạn, chắc chắn chỉ có bạn mới giải mã đƣợc thông tin để đọc. Trong quá trình truyền thông tin qua Internet, dù có đọc đƣợc các gói tin đã mã hoá này, kẻ xấu cũng khó thể biết đƣợc trong gói tin có thông tin gì.
Đây là một tính năng rất quan trọng, giúp ngƣời sử dụng hoàn toàn tin cậy về khả năng bảo mật thông tin. Những trao đổi thông tin cần bảo mật cao, chẳng hạn giao dịch liên ngân hàng, ngân hàng điện tử, thanh toán bằng thẻ tín dụng, đều cần phải có chứng chỉ số để đảm bảo an toàn.
b) Chống giả mạo
Khi chúng ta gửi đi một thông tin, có thể là một dữ liệu hoặc một e-mail, có sử dụng chứng chỉ số, ngƣời nhận sẽ kiểm tra đƣợc thông tin của bạn có bị thay đổi hay không. Bất kỳ một sự thay đổi hay thay thế nội dung của thông điệp gốc đều sẽ bị phát hiện. Địa chỉ mail, tên domain,... đều có thể bị kẻ xấu làm giả để đánh lừa ngƣời nhận, qua đó lây lan virus, ăn cắp thông tin quan trọng. Tuy nhiên, chứng chỉ số thì “khó” có thể làm giả, nên việc trao đổi thông tin có kèm chứng chỉ số luôn đảm bảo an toàn.
c) Xác thực
Khi ngƣời gửi gửi đi một thông tin kèm chứng chỉ số, ngƣời nhận - có thể là đối tác kinh doanh, tổ chức hoặc cơ quan chính quyền - sẽ xác định rõ đƣợc danh tính của ngƣời gửi. Có nghĩa là dù không nhìn thấy, nhƣng qua hệ thống chứng chỉ số mà ngƣời gửi và ngƣời nhận cùng sử dụng, ngƣời nhận sẽ biết chắc chắn đƣợc định danh của ngƣời gửi chứ không phải là một ngƣời khác.
Xác thực là một tính năng rất quan trọng trong việc thực hiện các giao dịch điện tử qua mạng, cũng nhƣ các thủ tục hành chính với cơ quan pháp quyền. Các hoạt động này cần phải xác minh rõ ngƣời gửi thông tin để sử dụng tƣ cách pháp nhân. Đây chính là nền tảng của một Chính phủ điện tử, môi trƣờng cho phép công dân có thể giao tiếp, thực hiện các công việc hành chính với cơ quan nhà nƣớc hoàn toàn qua mạng. Có thể nói, chứng chỉ số là một phần không thể thiếu, là phần cốt lõi của Chính phủ điện tử.
d) Chống chối cãi nguồn gốc
Khi chấp nhận sử dụng một chứng chỉ số thì đồng nghĩa với việc phải chịu trách nhiệm hoàn toàn về những thông tin mà chứng chỉ số đi kèm. Trong trƣờng hợp ngƣời gửi chối cãi, phủ nhận một thông tin nào đó không phải do mình gửi (chẳng hạn một đơn đặt hàng qua mạng), chứng chỉ số mà ngƣời nhận có đƣợc sẽ là bằng chứng khẳng định ngƣời gửi là tác giả của thông tin đó. Trong trƣờng hợp chối cãi, CA cung cấp chứng chỉ số cho hai bên sẽ chịu trách nhiệm xác minh nguồn gốc thông tin, chứng tỏ nguồn gốc thông tin đƣợc gửi.
3.3.3. Quá trình hoạt động của chứng chỉ số
Khi đăng ký sử dụng chứng chỉ số, ngƣời sử dụng sẽ nhận đƣợc một file chứng chỉ số và một khoá cá nhân. Khoá công khai và khoá cá nhân của ngƣời dùng là một cặp khoá của bất kỳ một thuật toán mật mã bất đối xứng (asymmetrical algorithm) nào. Cặp khoá này dùng để mã hoá và giải mã dữ liệu, nhƣng tính bất đối xứng thể hiện ở chỗ: Nếu dùng khoá cá nhân để mã hoá dữ liệu thì không thể tự giải mã, mà phải cần đến khoá công khai. Ngƣợc lại khoá công khai khi đã mã hoá dữ liệu thì cũng chỉ có khoá cá nhân mới mở đƣợc. Cặp khoá này là duy nhất dùng để mở (giải mã cho nhau), do đó tính bảo mật là tuyệt đối, không thể có ngƣời ngoài nào giải mã đƣợc thông tin. Nếu mất khoá cá nhân, ngƣời sử dụng chứng chỉ số sẽ phải xin cấp chứng chỉ mới và thay khoá công khai.
Khi một ai đó dùng chứng chỉ số để gửi thông tin cho bạn, ngƣời đó sẽ phải sử dụng khoá công khai của bạn để mã hoá thông tin. Trong quá trình truyền, sẽ không ai có thể xem đƣợc nội dung dữ liệu. Chỉ đến khi bạn nhận đƣợc thông tin và dùng khoá cá nhân của riêng mình để giải mã, thông tin mới có thể đọc đƣợc. Nhƣ vậy, với mỗi ngƣời trao đổi thông tin, bạn phải trao đổi mã công khai với họ để có thể mã hoá thông tin cho nhau.
Ngoài khoá công khai, một chứng chỉ số còn chứa thêm tên của đối tƣợng mà nó nhận diện, hạn dùng, tên của CA cấp chứng chỉ 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ó 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.
3.3.4. Chứng nhận X.509
Chứng nhận X.509 [27] là chứng nhận khóa công cộng phổ biến nhất. Hiệp hội viễn thông quốc tê (International Telecommunications Union – ITU) đã chỉ định chuẩn X.509 vào năm 1988 là định dạng phiên bản 1 của chuẩn X.509. Vào năm 1993, phiên bản 2 của chuẩn X.509 đƣợc phát hành với 2 trƣờng tên nhận dạng duy nhất đƣợc bổ sung. Phiên bản 3 của chuẩn X.509 đƣợc bổ sung thêm trƣờng mở rộng đã phát hành vào năm 1997.
Một chứng nhận khóa công cộng kết buộc một khóa công cộng với sự nhận diện của một ngƣời (hoặc một thiết bị). Khóa công cộng và tên thực thể sở hữu khóa này là hai mục quan trọng trong một chứng nhận. Hầu hết các trƣờng khác trong chứngnhận X.509 phiên bản 3 đều đã đƣợc chứng tỏ là có ích. Sau đây là thông tin về các trƣờng trong chứng nhận X.509 phiên bản 3
- Version: Chỉ định phiên bản của chứng nhận X.509.
- Serial Number: Số loạt phát hành đƣợc gán bởi CA. Mỗi CA nên gán một mã số loạt duy nhất cho mỗi giấy chứng nhận mà nó phát hành.
- Signature Algorithm: Thuật toán chữ ký chỉ rõ thuật toán mã hóa đƣợc CA sử dụng để ký giấy chứng nhận. Trong chứng nhận X.509 thƣờng là sự kết hợp giữa thuật toán băm (chẳng hạn nhƣ MD5) và thuật toán khóa công cộng (chẳng hạn nhƣ RSA).
- Issuer Name: Tên tổ chức CA phát hành giấy chứng nhận, đây là một tên phân biệt theo chuẩn X.500 (X.500 Distinguised Name – X.500 DN). Hai CA không đƣợc sử dụng cùng một tên phát hành.
- Validity Period: Trƣờng này bao gồm hai giá trị chỉ định khoảng thời gian mà giấy chứng nhận có hiệu lực. Hai phần của trƣờng này là not-before và not- after. Not-before chỉ định thời gian mà chứng nhận này bắt đầu có hiệu lực, Not-after chỉ định thời gian mà chứng nhận hết hiệu lực. Các giá trị thời gian này đƣợc đo theo chuẩn thời gian Quốc tế, chính xác đến từng giây.
- Subject Name: là một X.500 DN, xác định đối tƣợng sở hữu giấy chứng nhận mà cũng là sở hữu của khóa công cộng. Một CA không thể phát hành 2 giấy chứng nhận có cùng một Subject Name.
- Public key: Xác định thuật toán của khóa công cộng (nhƣ RSA) và chứa khóa công cộng đƣợc định dạng tuỳ vào kiểu của nó.
- Issuer Unique ID và Subject Unique ID: Hai trƣờng này đƣợc giới thiệu trong X.509 phiên bản 2, đƣợc dùng để xác định hai tổ chức CA hoặc hai chủ thể khi chúng có cùng DN. RFC 2459 đề nghị không nên sử dụng hai trƣờng này.
- Extensions: Chứa các thông tin bổ sung cần thiết mà ngƣời thao tác CA muốn đặt vào chứng nhận. Trƣờng này đƣợc giới thiệu trong X.509 phiên bản 3.
- Signature: Đây là chữ ký điện tử đƣợc tổ chức CA áp dụng. Tổ chức CA sử dụng khóa bí mật có kiểu quy định trong trƣờng thuật toán chữ ký. Chữ ký bao gồm tất cả các phần khác trong giấy chứng nhận. Do đó, tổ chức CA chứng nhận cho tất cả các thông tin khác trong giấy chứng nhận chứ không chỉ cho tên chủ thể và khóa công cộng.