và đúng đắn.Nếu thơng tin xác thực là đúng đắn(khóa cơng khai, chữ ký số, giá trị băm của văn bản, tin nhắn) server sẽ cấp phát cho client 1 chứng thực số bao gồm các thông tin sau : tên, tuổi, địa chỉ.. các thông tin cá nhân khác, khóa cơng khai, ngày tạo, ngày hết hạn, và ID của chứng thực số. ID của chứng thực số có tính duy nhất với mỗi client.
2.6.1.4. Thu hồi và cấp phát lại chứng thực số
- Một chứng thực số bị thu hồi khi nào :
Khi mà chứng thực số đã hết hạn sử dụng, chứng thực sẽ bị thu hồi để ra hạn hoặc cấp một chứng thực số mới
Khi client phát hiện khóa bí mật của người này bị lộ hoặc server phát hiện thấy hằm băm mật mã của mình bị lộ hoặc các thơng tin bảo mật khác của 1 client đã bị rò rỉ
- Cấp phát lại chứng thực số :
Client sẽ gửi yêu cầu đến server yêu cầu và 1 bản thông tin(địa chỉ, khóa cơng khai,khóa riêng…) của client đăng ký một bản chứng thực số mới.
2.6.2. Xác thực chứng thực số
- Khi bạn gử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 bạn. Có nghĩa là dù khơng nhìn thấy bạn, nhưng qua hệ thống chứng chỉ số mà bạn và người nhận cùng sử dụng, người nhận sẽ biết chắc chắn đó là bạn 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 hồn tồ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ử.
- Một người thứ 3 bất kỳ(Có thể là 1 client khác, khách chưa đăng ký chứng thực số) đều có thể kiểm tra được tính đúng đắn của 1 chứng thực số. Bằng cách PKI client sẽ cung cấp 1 dịch vụ xác thực. Người dùng có thể nhập vào ID của 1 chứng thực số bất kỳ cần kiểm tra và gửi thơng tin đó lên server. Nếu chứng thực số tồn tại server sẽ trả lại thông báo cho client vừa kiểm tra.
2.7. Ứng dụng của hạ tầng khóa cơng khai và cấp phát chứng thực2.7.1. Mã hóa 2.7.1. Mã hóa
- 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ã hóa thơng tin bằng khóa cơng khai của bạn, chắc chắn chỉ có bạn mới giải mã dược thơng tin để đọc. Trong qúa trình truyền thơng tin qua Internet, dù có đọc được các gói tin đã mã hóa này, kẻ xấu cũng khơng 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 hồn tồ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 tốn bằng thẻ tín dụng, đều cần phải có chứng chỉ số để đảm bảo an tồn.
2.7.2. Chống giả mạo
- Khi bạn gửi đi một thơng tin, có thể là một dữ liệu hoặc một Email, 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ự sửa đổ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 lây lan virus, ăn cắp thông tin quan trọng. Tuy nhiên , chứng chỉ số thì khơng thể làm giả, nên việc trao đổi thơng tin có kèm chứng chỉ số ln đảm bảo an tồn.
2.7.3. Xác thực
- Khi sử dụng một 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 bạn. Có nghĩa là dù khơng nhìn thấy bạn, nhưng qua hệ thống chứng chỉ số mà bạn và người nhận cùng sử dụng, người nhận sẽ biết chắc chắn đó là bạn chứ khơng phải ai khác. Xác thực là một tính năng rất quan trọng trong việ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 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. 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ử.
2.7.4. Chống chối bỏ nguồn gốc
- Khi sử dụng một chứng chỉ số, bạn phải chịu trách nhiệm hồn tồ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 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 bỏ, 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.
2.7.5. Chữ ký điện tử
- Email đóng vai trị khá quan trọng trong trao đổi thơng tin hàng ngày của chúng ta vì ưu điểm nhanh, rẻ và dễ sử dụng. Những thơng điệp có thể gửi đi nhanh chóng qua internet đến khách hàng đồng nghiệp, nhà cung cấp và đối tác. Tuy nhiên, email rất dễ bị đọc bởi các Hacker. Những thơng điệp có thể bị đọc hay bị giả mạo trước khi đến người nhận.
- Bằng việc sử dụng chứng chỉ cá nhân, bạn sẽ ngăn ngừa được các nguy cơ này mà vẫn không làm giảm những lợi thể của Email. Với chứng chỉ số cá nhân, bạn có thể tạo thêm một chữ ký điện tử vào email như một bằng chứng xác nhận của mình. Chữ ký điện tử cũng có tính năng xác thực thơng tin, toàn vẹn dữ liệu và chống chối bỏ nguồn gốc.
- Ngoài ra, chứng chỉ số cá nhân cịn cho phép người dùng có thể chứng thực mình với một web server thơng qua giao thức bảo mật SSL. Phương pháp chứng thực dựa trên chứng chỉ số được đánh giá là tốt, an toàn bảo mật hơn phương pháp chứng thực truyền thống dựa trên mật khẩu.
2.7.6. Bảo mật website
- Khi website của bạn sử dụng cho mục đích thương mại điện tử hay cho những mục đích quan trọng khác, những thơng tin trao đổi giữa bạn và khách hàng có thể bị lộ. Để tránh nguy cơ này, bạn có thể dùng chứng chỉ số SSL server để bảo mật cho Website của mình.
- Chứng chỉ số SSL server sẽ cho phép bạn lập cấu hình website của mình theo giao thức bảo mật SSL(Secure Sockets Layer). Các tính năng nổi bật:
Thực hiện mua bán bằng thẻ tín dụng.
Bảo vệ những thông tin cá nhân nhạy cảm xủa khách hàng
2.7.7. Đảm bảo phần mềm
- Chứng chỉ số nhà phát triển phần mềm sẽ cho phép bạn ký vào các applet, script, Java software, ActiveX control, các file định dạng EXE, CAB, DLL... Như vậy, thông qua chứng chỉ số bạn sẽ đảm bảo tính hợp pháp cũng như nguồn gốc xuất xứ của sản phẩm. Hơn nữa người dùng có thể xác thực được bạn là nhà cung cấp, phát hiện được sự thay đổi của chương trình(virus, crack, bản lậu...).
2.8. OpenCA hệ thống hạ tầng khóa cơng khai trong thực tế 2.8.1. Định nghĩa : 2.8.1. Định nghĩa :
- OpenCA là một hệ thống mã nguồn mở, được xây dựng và phát triển bởi rất nhiều nhà lập trình trên thế giới. OpenCA được xây dựng với mục đích tạo ra một hệ thống cơng cụ nhằm hỗ trợ cho các dự án về bảo mật.OpenCA hỗ trợ từ mức độ thấp như mã hoá dữ liệu,tạo chữ ký số cho đến các hệ thống an toàn dữ liệu cao cấp. Mã nguồn của OpenCA được cung cấp rộng rãi trên
www.openca.org.Từ những đặc điểm như trên có thể thấy OpenCA chính là một
công cụ rất hiệu quả để xây dựng những ứng dụng theo mơ hình hạ tầng khố cơng khai PKI. OpenCA hỗ trợ xây dựng tất cả các thủ tục lõi cho một ứng dụng PKI từ việc sinh khoá mã hoá giải mã dữ liệu cho tới các thủ tục cấp phát,thu hồi chứng thư,tạo chữ ký số…Với tất cả những cái đó,ta có thể xây dựng một ứng dụng theo mơ hình PKI cơ sở, phần mở rộng còn lại sẽ được xây dựng tiếp theo định hướng của nhà phát triển.
- Các thành phần chính của OpenCA bao gồm 3 thành phần là hệ thống thư viện OpenSSL, cơ sở dữ liệu và giao diện web. Trong đó giao diện web được xây dựng bằng ngơn ngữ Perl. Thư viện OpenSSL thực hiện các tiến trình về mã hố. [10]
2.8.2. Đánh giá về hệ OpenCA 2.8.2.1. Ưu điểm của hệ thống 2.8.2.1. Ưu điểm của hệ thống
- OpenCA được thiết kế và xây dựng theo ngun lý của mơ hình PKI và nó đảm bảo đầy đủ những chức năng cơ sở của một hệ PKI cần phải có: Cấp phát, gia hạn, thu hồi chứng thư số, đảm bảo tính xác thực, an tồn tin cậy.
- Với các kịch bản đã thử nghiệm trong thời gian dài hệ thống đã hoạt động khá ổn định và không xảy ra những lỗi nghiêm trọng dẫn đến từ chối dịch vụ.
- Hệ mã nguồn mở OpenCA hoàn tồn tương thích với mơi trường Linux và khơng hề gây xung đột với các hệ thống khác cùng cài đặt trên một hệ điều hành.
- Hệ thống OpenCA sử dụng rất nhiều chuẩn công nghiệp( như các chuẩn về
chứng thư số X509). Vì vậy nó được chấp nhận và sử dụng rất rộng rãi trong thực tế.
2.8.2.2. Những điểm còn hạn chế của hệ thống
- Lỗi không xác định khi RA ký lên các yêu cầu gửi lên cho CA.
- Không làm việc được với các thiết bị sử dụng chuẩn USB 2.0
- Khó khăn trong việc cài đặt và thay đổi.[11]
Chương 3: Đặc tả một Platform PKI
3.1. Ngơn ngữ lập trình
- Ngơn ngữ lập trình được chọn lựa và sử dụng ở đây là java và công cụ kết nối cơ sở dữ liệu là Mysql.
- Thuật tốn sử dụng tạo cặp khóa, chữ ký số và xác thực chữ ký số là RSA. Hàm băm mã hóa sử dụng : SHA-1.
3.2. Thư viện số nguyên lớn
- Thư viện số nguyên lớn mang tất cả đặc điểm của số nguyên nguyên thủy trong java và tất cả các phương thức có trong java.lang.Math. Thêm vào đó thư viện số nguyên lớn cịn cung cấp các phương thức như: tính modular tốn học(tính tốn số dư trong phép chia), tính GCD(ước số trung lớn nhất của 2 số), tạo số nguyên tố ngẫu nhiên, thao tác bit, và một vài phương thức khác.
3.3. Một Platform PKI phải cung cấp đầy đủ các chức năng sau:
- Cấp phát.
- Xác thực.