1.3.3 Những vấn đề còn tồn tại của chữ ký số
Trên lý thuyết, mỗi bước trong quá trình tạo và kiểm tra chữ ký số là an toàn. Tuy nhiên trên thực tế, còn nhiều trường hợp vẫn chưa an toàn, đó là:
- Cũng như việc sử dụng Password, khoá bí mật cũng phải được đảm bảo tuyệt đối bí mật. Chỉ có chủ sở hữu của nó mới được biết. Nhưng nếu nó bị đánh cắp hay bị lộ từ một tập tin trên máy bởi một Hacker thì người chủ thực sự của nó có thể bị giả mạo. Khoá bí mật bị Hacker sử dụng theo ý đồ xấu.
- Bất kỳ người dùng nào sử dụng khoá công khai của một người sử dụng khác, cần kiểm tra chữ ký số, phải có sự đảm bảo chắc chắn rằng họ đã có khoá công khai tin tưởng và chính xác.
Làm thế nào để bạn biết chính xác được khoá công khai mà bạn nhận được qua thư điện tử hoặc nhắn tin từ ngân hàng, đối tác, nhà cung cấp của bạn mà không phải là từ một người nào đó có ý đồ lừa đảo? Để giải quyết vấn đề này, người ký chữ ký số và người nhận có thể:
Hoặc là mỗi bên sẽ đăng ký một cặp khoá gồm khoá công khai và bí mật. Họ sẽ giữ khoá bí mật của mình còn khoá công khai được nhập vào bản ghi của họ trong tệp cơ sở dữ liệu được công bố công khai trên mạng. Mỗi người sử dụng khoá bí mật để ký các tài liệu và người nhận dùng khoá công khai của người gửi để kiểm tra chữ ký. Hoặc là hai bên cần tới bên thứ ba. Họ đề nghị bên thứ ba phát hành cho mỗi bên một cặp khoá. Khi một bên ký hợp đồng, bên kia có thể thông qua bên thứ ba để kiểm tra khoá công khai có thật sự là của bên ký hợp đồng không. Vai trò của bên thứ ba đảm bảo cho người nhận có khoá công khai chính xác của người gửi.
Sự can thiệp của bên thứ ba là cần thiết để xác lập lòng tin và sự an toàn trong các giao dịch điện tử. CA cung cấp chứng nhận điện tử cho các bên tham gia giao dịch. Nngoài ra CA còn có khả năng kiểm tra tính hợp lệ của các chứng thực điện tử của các thực thể tham gia trong các giao dịch.
Một vấn đề khác nữa là pháp luật về chữ ký điện tử chưa được đặt dưới một chuẩn mực kỹ thuật. Hiện nay có tới hơn 12 phần mềm ứng dụng về chữ ký điện tử trên thị trường. Tuy nhiên, bởi tốc độ và sự tiện lợi, một số lượng lớn các công ty vẫn sẵn sàng sử dụng chữ ký điện tử.
Như trên đã trình bày, mỗi một thực thể khi tham gia các giao dịch điện tử cần phải có đồng thời một cặp khoá mã công khai và khóa riêng (Public Key và Secret Key). Một câu hỏi được đặt ra: Ai là người cung cấp cặp khoá mã ấy? Và dịch vụ chứng thực điện tử đã xuất hiện.
1.4 Cơ sở hạ tầng khóa công khai PKI [3]
1.4.1 Khái niệm
Cơ sở hạ tầng khóa công khai PKI (Public Key Infrastructure) là một hệ thống hạ tầng bao gồm các thiết bị phần cứng, các hệ thống phần mềm, các chính sách, các thủ tục và con người.. cần thiết để tạo ra, quản lý, lưu trữ và phân phối các chứng thực khóa phục vụ cho mục đích là phổ biến khóa công khai của các thực thể thông tin.
Vai trò của PKI trong hệ thống là quản lý các chứng thực khóa một cách an toàn và cung cấp nó cho user một cách hiệu quả nhất.
Mục tiêu của PKI là cung cấp một môi trường làm việc phối hợp, trong đó, thiết bị, phần mềm của nhiều nhà sản xuất khác nhau có thể cùng sử dụng chung một cấu trúc chứng thực khóa.
Đặc tính chung đối với tất cả các PKI:
1. Chứng thực (Certification):
Là quá trình gắn kết một giá trị khoá công khai với thông tin về một cá nhân, một tổ chức hay một thực thể, thậm chí với một thông tin nào đó, ví dụ như giấy phép hay giấy tờ tuỳ thân (Credential)
Quá trình xác thực sử dụng PKI, khi một CA cấp giấy chứng nhận (Certification) cho một thực thể và khi người sử dụng xác nhận sự hợp lệ của chứng thực, được gọi là thực thể xác thực. Mức độ mà người sử dụng tin tưởng vào các thông tin của chứng thực và sự hợp lệ của nó là cách để đánh giá tính chắc chắn của sự xác thực.
Một chứng thực có thể chứa các thông tin thực thể hay các thông tin phi thực thể. Khi là một chứng thực đặc tính, việc xác thực chứng thực đặc tính được gọi là xác thực đặc tính. Chứng thực chứa các thông tin phi thực thể, như là các giấy phép hay giấy tờ tuỳ thân được gọi là chứng thực thuộc tính (Attribute Certificate). Quá trình xác thực một chứng thực tin cậy gọi là xác thực tin cậy (Credential Authentication)
Việc một PKI sử dụng loại chứng thực thực thể hay chứng thực tin cậy hay cả hai cũng là một đặc tính của cơ sở hạ tầng khoá công khai.
2. Xác nhận hợp lệ (Validation) là quá trình kiểm tra xem một chứng thực còn hợp lệ hay không. Thông tin trong một chứng thực có thể thay đổi theo thời gian. Một người sử dụng chứng thực số (Certificate User) cần phải đảm bảo rằng dữ liệu trong chứng thực là đúng, gọi là xác nhận hợp lệ chứng thực. Có hai phương pháp cơ bản để xác nhận hợp lệ chứng thực:
- Xác nhận trực tuyến (Online Validation): Người sử dụng có thể hỏi trực tiếp tổ chức cấp phát CA về tính hợp lệ của chứng thực số khi sử dụng
- Xác nhận hợp lệ không trực tuyến (Offine Validation): CA có thể gia hạn thêm thời hạn hợp lệ của chứng thực – một bộ thời gian sẽ định nghĩa khoảng thời gian mà các thông tin chứa trong chứng thực được cho là hợp lệ (còn hiệu lực).
Cũng như các phương pháp xác nhận hợp lệ là các biện pháp thu hồi chứng thực số (Revocation). Thu hồi chứng thực là quá trình thông báo cho người sử dụng được biết khi thông tin trong chứng thực mất hiệu lực. Đặc biệt khi một chủ thể của khoá riêng bị lộ, hay thông tin định danh của một chứng thực thay đổi, ví dụ, chủ thể có một số điện thoại mới
Nếu một chứng thực được xác nhận hợp lệ trực tuyến với một CA, thì vấn đề thu hồi chứng thực cũng có thể thực hiện được, vì CA có thể dễ dàng thông báo một chứng chỉ đã hết hiệu lực.
Nếu không sử dụng được phương pháp trực tuyến, phương pháp sử dụng phổ biến là danh sách chứng thực thu hồi (CRL). Một CRL là một danh sách các chứng thực bị đã ký bị loại bỏ bởi CA theo khoảng thời gian nhất định. Người sử dụng cần phải kiểm tra danh sách CRL mới nhất trong quá trình xác thực để đảm bảo là chứng thực được sử dụng không bị loại bỏ.
Một trong những quan tâm chủ yếu với CRL, đó là trong khoảng thời gian khi một CA nhận được một lưu ý là một chứng thực nên được loại bỏ, đến khi CA công bố nó trong danh sách CRL tiếp theo, thì người sử dụng kiểm tra CRL hiện thời sẽ không biết được các thu hồi và sẽ cho rằng chứng thực vẫn còn hiệu lực. Được gọi là CRL Time Granularity Problem
Một quan tâm khác là kích thước của CRL. Một CA có thể xác thực cho rất nhiều chủ thể. Khi một CRL quá lớn sẽ rất khó cho người sử dụng xem xét vì băng thông hạn chế. Thêm nữa, do CRL được ký, chữ ký đó cần được kiểm tra trước khi CRL được dùng, và thời gian cần để kiểm tra chữ ký trên CRL lớn và xử lý các đầu vào có thể trở nên quan trọng.
Để khắc phục các vấn đề trên, cần sử dụng từng loại CRL riêng rẽ cho các lý do thu hồi chứng thực khác nhau và hoặc cho các chủ thể chứng thực khác nhau. Thí dụ, CA có thể đưa ra một CRL cho các thu hồi thông thường (chẳng hạn như thay đổi trong thông tin nhận dạng của chủ thể chứng thực) và CRL khác cho các thu hồi do bị lộ sự bảo mật. Tương tự, một CA có thể đưa ra một CRL cho các chủ thể người sử dụng đầu cuối và CRL khác cho các CA khác mà nó chứng thực. Các
phương pháp này có hiệu quả trong việc phân chia một CRL lớn thành các phần nhỏ hơn, nhưng vấn đề CRL Time Granularity Problem vẫn chưa giảm đáng kể
Một phương pháp khác được đưa ra để xử lý vấn đề này: delta-CRL. Delta- CRL là một danh sách của các thay đổi CRL (do CA tự ký ) xuất hiện kể từ khi CRL đầy đủ lần trước được đưa ra. Delta-CRL cho phép thông báo các thu hồi chứng thực được đưa ra thường xuyên hơn, và do đó sẽ làm giảm xác suất một chứng thực đã bị thu hồi được xác nhận hợp lệ nhầm. Delta-CRL còn giải quyết được vấn đề kích thước CRL. Một hệ thống xác nhận chứng thực có thể khởi đầu với một CRL đầy đủ, rồi chỉ cần xử lý với các delta-CRL khi chúng được đưa ra, cập nhật lại bản CRL đầy đủ của nó.
Phương pháp thu hồi và xác nhận hợp lệ trực tuyến vẫn còn rất mới. Trong khi có vẻ như phương pháp trực tuyến tránh được vấn đề quản lý CRL, các yêu cầu về dải thông và tốc độ xử lý vẫn còn chưa được xác định rõ.
1.4.2 Chức năng chủ yếu của PKI
Một hệ thống PKI nhằm giải quyết các vấn đề sau:
1. Authentication: Là các hoạt động kiểm tra tính xác thực của một thực thể trong giao dịch, liên quan đến kiểm tra tính đúng đắn một thực thể giao tiếp trên mạng. Một thực thể có thể là một người, một chương trình máy tính, hoặc một thiết bị phần cứng. Các hoạt động kiểm tra tính xác thực được đánh giá là quan trọng nhất trong các hoạt động của một phương thức bảo mật. Một hệ thống thông thường phải thực hiện kiểm tra tính xác thực của một thực thể khi thực thể đó được kết nối với hệ thống. Cơ chế kiểm tra tính xác thực của các phương thức bảo mật dựa vào 3 mô hình chính như sau:
- Cơ chế kiểm tra tính xác thực dựa vào mô hình những thông tin biết trước. Đối tượng cần kiểm tra phải cung cấp những thông tin mà chúng biết, ví dụ như Password, hoặc mã số thông số cá nhân PIN (Personal Information Number).
- Với cơ chế kiểm tra dựa vào mô hình những thông tin đã có, đối tượng kiểm tra cần phải thể hiện những thông tin mà chúng sở hữu, ví dụ như Private Key, hoặc số thẻ tín dụng.
- Với cơ chế kiểm tra dựa vào mô hình những thông tin xác định tính duy nhất, đối tượng cần kiểm tra có những thông tin để định danh tính duy nhất của mình, ví dụ thông qua giọng nói hoặc Fingerprint những thông tin đã có và những thông tin xác định tính duy nhất.
2. Confidential: đánh giá mức độ bảo mật, hay tính an toàn đối với mỗi phương thức bảo mật, mức độ có thể phục hồi dữ liệu từ những người không có
quyền đối với dữ liệu đó. Có thể bảo mật dữ liệu theo kiến trúc end-to-end hoặc link-by-link. Với mô hình end-to-end dữ liệu được bảo mật trong toàn bộ quá trình xử lý, lưu truyền trên mạng. Với mô hình link-by-link dữ liệu chỉ được bảo vệ trên các đường truyền vật lý.
3. Integrity: Tính toàn vẹn, hoạt động này đánh giá khả năng sửa đổi dữ liệu với dữ liệu nguyên thuỷ ban đầu, một phương thức bảo mật có tính toàn vẹn dữ liệu khi nó bảo đảm các dữ liệu mã hoá không thể bị thay đổi nội dung so với tài liệu gốc (khi đã được giải mã) và trong trường hợp những kẻ tấn công trên mạng sửa đổi nội dung dữ liệu đã mã hoá thì không thể khôi phục lại dạng ban đầu của dữ liệu.
4. Nonreputation: Tính không thể phủ nhận trong các giao dịch là phải xác định tính xác thực của chủ thể gây ra hành động có thực hiện bảo mật hay không (Ví dụ chữ ký điện tử sử dụng trong hệ thống Mail cho phép xác định chính xác đối tượng “ký” - Người gửi Message)
1.4.3 Các thành phần PKI
Một cơ sở hạ tầng khoá công khai bao gồm:
- User: là người sử dụng, một phần mềm hoặc một thiết bị tham gia vào quá trình trao đổi thông tin sử dụng mật mã khóa công khai. Mỗi thực thể có một cặp khóa, trong đó khóa công khai được phổ biến bởi PKI dưới dạng các chứng thực khóa, còn khóa bí mật do chính thực thể quản lý.
- Certificate Authority (CA): là thực thể tạo ra và cung cấp các chứng thực số cho người sử dụng đầu cuối. Chứng thực khóa từ các khóa công khai mà các thực thể đầu cuối ủy quyền cho phép nó phổ biến cùng với chữ ký số của chính CA tạo ra. Do vậy, CA là một thực thể được tin cậy
- Nhà quản lý đăng ký RA(Registration Authority): là một thành phần tùy chọn của PKI, đóng vai trò như người thẩm tra cho CA trước khi một chứng chỉ số được cấp phát tới người yêu cầu. Nó xử lý một số công việc quản lý nhằm giảm tải cho CA, chẳng hạn như đăng ký thực thể đầu cuối, kiểm chứng các thực thể đầu cuối, tạo ra các cặp khóa public-private, …
- Repository: Kho lưu trữ chứng thực khóa và cung cấp chứng thực khóa cho các thực thể đầu cuối khi có yêu cầu. Có nhiều cách để thực thể đầu cuối truy xuất các chứng thực khóa tại PKI: thông qua dịch vụ thư mục LDAP (X.500), thông qua FTP hoặc HTTP, …