2.2 Các dịch vụ của PKI
2.2.2 Các dịch vụ mà PKI hỗ trợ
Trong phần này, chúng ta xem xét các dịch vụ an ninh mà theo một cách nào đó có thể được hỗ trợ bởi PKI. Đó là các dịch vụ một cách cố hữu hoặc là nền tảng có liên quan tới bất kỳ PKI nào, chúng là các dịch vụ mà có thể xây dựng trên các dịch vụ PKI cốt lõi. Một số PKI có thể hỗ trợ các dịch vụ phụ trợ này, một số PKI khác có thể không hỗ trợ.
Liên lạc an toàn (secure communication)
Liên lạc an toàn có thể được định nghĩa như là việc truyền của dữ liệu từ người gửi tới người nhận với một hoặc nhiều các tính chất như xác thực, toàn vẹn và bí mật. Dịch vụ này rõ ràng dựa trên các dịch vụ PKI cốt lõi, nhưng nó sử dụng chúng
chung với các giao thức truyền thông và mạng truyền thống để tạo ra một dịch vụ được mở rộng, được hỗ trợ bởi PKI. Sau đây là một số ví dụ của liên lạc an toàn:
Thư điện tử mật (sử dụng, ví dụ, một giao thức chẳng hạn như Secure Multipurpose Internet Mail Extensions Version 2 (S/MIMEv2) hoặc S/MIMEv3)[12,13].
Truy cập máy chủ Web an toàn (sử dụng, chẳng hạn, một giao thức chẳng hạn như An toàn tầng giao vận (Transport Layer Security- TLS)[17].
Mạng riêng ảo an toàn (Virtual Private Network - VPN) (sử dụng, ví dụ, một giao thức chẳng hạn như IPsec/IKE)[17,18].
Thư điện tử mật, ví dụ, có thể được cài đặt như là một dịch vụ được hỗ trợ bởi PKI một cách đơn giản, bằng cách buộc gói e-mail truy cập các dịch vụ an toàn cốt lõi của PKI để mã và ký các thông báo và tạo kết quả nhờ cú pháp S/MIME. Các thông báo có thể được chuyển qua mạng không an toàn mà không làm tổn thương tính xác thực, tính toàn vẹn hoặc tính bảo mật.
Tem thời gian an toàn (secure time stamping)
Tem thời gian an toàn bao gồm một thẩm quyền thời gian được tin cậy, tương ứng tem thời gian với một mẩu cụ thể của dữ liệu, với các tính chất của xác thực và toàn vẹn. Cái quan trọng không phải là chính khuôn dạng thời gian thực sự mà là độ an toàn của liên kết thời gian/dữ liệu. Đặc biệt, với một số ứng dụng tem thời gian không biểu thị thời gian một cách chính xác nói chung, mà một số thứ tự đơn giản biểu thị rằng tài liệu này đã được trình bày cho nhà thẩm quyền trước tài liệu X và sau tài liệu Y có thể là đủ. Tuy nhiên, các bên quan tâm cần phải có thể kiểm tra rằng tem thời gian được liên kết với tài liệu này là xác thực và có tính toàn vẹn[1].
Không yêu cầu chỉ có một thẩm quyền tem thời gian duy nhất cho dịch vụ này. Một cách khác là có thời gian an toàn (tức là, được tin cậy) có thể tại môi trường địa phương của mỗi thực thể, mỗi thực thể có thể liên kết một cách an toàn tem thời gian với dữ liệu của mình khi cần thiết. Trong thực hành, tuy nhiên, thông thường khó nhận được thời gian an toàn tại mỗi môi trường địa phương (ví dụ, mỗi máy
tính để bàn của người sử dụng). Cho nên, phương pháp thường được chọn là nhận thời gian an toàn tại một số rất nhỏ các vị trí trong mạng (có thể chỉ là 1)- những điểm này sau đó trở thành các nhà thẩm quyền tem thời gian được tin cậy – và buộc các thực thể yêu cầu các tem thời gian trên dữ liệu từ những nhà thẩm quyền này khi được yêu cầu.
Dịch vụ tem thời gian an toàn sử dụng các dịch vụ PKI cốt lõi về xác thực và toàn vẹn. Một cách đặc biệt, tem thời gian trên một tài liệu bao gồm chữ ký số trên tổ hợp của biểu diễn nào đó của thời gian và giá trị băm mật mã của chính tài liệu. (Chữ ký của nhà thẩm quyền cung cấp cả tính xác thực và toàn vẹn dữ liệu).
Để lược đồ này hoạt động, tất cả các thực thể PKI liên quan cần biết và tin cậy khoá công khai để kiểm tra của nhà thẩm quyền tem thời gian, để cho chữ ký trên tem thời gian có thể được kiểm tra và tin cậy. Nếu một khoá công khai như vậy là không tin cậy (ví dụ, có sự thoả hiệp của khoá bí mật để ký của nhà thẩm quyền tem thời gian), các thực thể PKI cần phải được thông báo về điều đó và khởi tạo lại với khoá được tin cậy khác cho nhà thẩm quyền này, sử dụng quá trình bên ngoài an toàn nào đó. Tất cả các tem thời gian đã được ký nhờ khoá không được tin cậy cần được xem như là không hợp lệ.
Chứng thƣ (notarization)
Chứng thư được định nghĩa là đồng nghĩa với chứng nhận dữ liệu (data certification). Tức là, công chứng viên chứng nhận rằng dữ liệu là hợp lệ hoặc chính xác, trong đó ý nghĩa của chính xác cần phụ thuộc vào kiểu của dữ liệu được chứng nhận. Ví dụ, nếu dữ liệu được chứng nhận là chữ ký số trên giá trị băm nào đó, công chứng viên có thể kiểm chứng rằng chữ ký là “hợp lệ” theo nghĩa sau:
Tính toán kiểm tra chữ ký cùng với khoá công khai tương ứng là chính xác về mặt toán học.
Khoá công khai là vẫn được liên kết một cách hợp lệ với thực thể đã ký giá trị.
Tất cả dữ liệu khác được yêu cầu trong quá trình xác thực tính hợp lệ (chẳng hạn như các chứng chỉ thêm để tạo nên một đường dẫn đầy đủ) là truy cập được và đáng tin cậy.
Công chứng viên PKI là một thực thể được tin cậy bởi một tập hợp nào đó các thực thể PKI khác để tạo nên dịch vụ công chứng đúng đắn. Nó chứng nhận tính chính xác của dữ liệu thông qua cơ chế của chữ ký số, các thực thể PKI khác cần một bản sao được tin cậy của khoá công khai để kiểm tra của công chứng viên, sao cho cấu trúc chứng nhận dữ liệu đã được ký có thể được kiểm tra và được tin cậy.
Dịch vụ được PKI hỗ trợ của việc công chứng dựa vào dịch vụ PKI cốt lõi về xác thực. Thông thường nó cũng sẽ dựa vào dịch vụ được PKI hỗ trợ về tem thời gian an toàn bởi vì công chứng viên cần phải đưa thời gian, mà tại lúc đó việc công chứng được làm, vào cấu trúc dữ liệu được xác nhận.
Chống chối bỏ (non-repudiation)
Chống chối bỏ là thuật ngữ được sử dụng cho dịch vụ mà đảm bảo tới một quy mô có thể về mặt kỹ thuật, rằng các thực thể trở nên trung thực về các hành động của họ. Các biến thể được bàn tới chung nhất là không chối bỏ về nguồn gốc (non- repudiation of origin) (trong đó người sử dụng không thể chối bỏ một cách giả mạo rằng đã gửi một văn bản hoặc tài liệu) và không chối bỏ việc tiếp nhận (non- repudiation of receipt) (trong đó người sử dụng không thể chối bỏ một cách giả mạo rằng đã nhận một văn bản hoặc tài liệu). Tuy nhiên, các biến thể khác cũng đã được định nghĩa, bao gồm không chối bỏ việc tạo ra (non-repudiation of creation), không chối bỏ việc phân phát (non-repudiation of delivery), không chối bỏ của việc tán thành (non-repudiation of approval).
Ví dụ, nếu Bob gửi một biên nhận đã được ký số tới Alice, khẳng định rằng anh ta đã nhận được một văn bản cụ thể từ cô ấy, anh ta không thể sau này chối bỏ rằng đã nhận văn bản mà không cần thừa nhận một trong các điều sau:
Anh ta đưa một cách chủ ý khoá bí mật để ký của mình cho bên thứ ba để cho phép khả năng chối bỏ biên nhận văn bản.
Khoá bí mật để ký của anh ta đã bị thoả hiệp mà anh ta không biết (và anh ta đã sơ xuất một chút trong việc bảo vệ nó một cách đúng đắn). Dịch vụ “không chối bỏ biên nhận” đem lại cho Alice một đảm bảo nào đó rằng Bob sẽ giữ gìn cẩn thận một cách trung thực bằng biên lai đã được ký số mà anh ta đã gửi đi.
Quản lý quyền ƣu tiên (Privilege management)
Quản lý quyền ưu tiên (privilege management) là thuật ngữ chung cho cái được gọi theo nhiều cách khác nhau là cấp phép, kiểm soát truy nhập, quản lý quyền, quản lý việc cho phép, quản lý các khả năng, ...Đặc biệt, chủ đề này đề cập tới cái mà thực thể được cho phép nhìn thấy và làm trong một môi trường cá biệt. Chủ đề này bao gồm các câu hỏi như sau:
Alice có được cho phép để đọc bản ghi này trong cơ sở dữ liệu?
Bob có thể thực thi chương trình ứng dụng này?
Christine có được gán quyền truy nhập từ xa đối với mạng này?
David có bị ngăn cản khỏi việc xem các trang web trong phần này của máy chủ Web?
Các đặt hàng mua bán trên 10,000 USD từ Erica có thể được chấp nhận?
Các chính sách (đôi khi được nói tới như là các quy tắc) cần phải được định nghĩa cho các thực thể riêng lẻ, các nhóm cá biệt của các thực thể, hoặc các vai trò thực thể được định rõ trong môi trường. Các chính sách này chỉ ra cái mà các thực thể, các nhóm và các vai là được cho phép để làm (hoặc ẩn hoặc hiện) và cái mà chúng không được phép để làm. Quản lý quyền ưu tiên là việc tạo ra và ép buộc của các chính sách cho mục đích làm có thể công việc hàng ngày trong khi duy trì một mức mong muốn về độ an toàn[1].
Riêng tƣ
Riêng tư (khả năng của thực thể nhằm kiểm soát cách thức, khi nào, và đến mức độ nào thông tin cá nhân về anh ta được truyền tới những người khác) không phải là một suy nghĩ chung được bàn tới như là một dịch vụ có thể được hỗ trợ bởi
PKI, có thể do PKI thường được liên kết với các chứng chỉ và các chứng chỉ được giả thiết một cách tổng quát là chứa một kiểu nào đó của thông tin định danh (một cách địa phương nếu không duy nhất về tổng thể). Nhưng tính riêng tư có thể được hỗ trợ bởi PKI nếu một "thông tin định danh" như vậy được tách riêng ra từ các định danh thế giới thực của những người sử dụng. Tức là, các chứng chỉ có thể là ẩn danh hoặc bút danh đối với những người quan sát của một giao dịch.
Chứng chỉ ẩn danh (anonymous certificate) chứa bí danh (anonym) (đó không phải là một cái tên, hoặc là một cái tên dùng một lần hoàn toàn vô nghĩa), chứng chỉ bút danh (pseudonymous certificate) chứa bút danh (pseudonym) (đó là tên giả). Đây là điểm tương phản với các chứng chỉ nói chung được tương ứng với PKI, nó được định hướng một cách có chủ ý với xấp xỉ có thể gần nhất với veronym (tên thật), đặc biệt nếu các dịch vụ chống chối bỏ được yêu cầu.
Ba kiểu tên được phân biệt bởi lượng liên kết có thể thông qua các giao dịch. Ẩn danh là những cái tên không có nghĩa hoặc một cái tên trống (null name) để sử dụng một lần, nên không có một liên kết nào được làm (1) với người thực sự tham gia trong giao dịch và (2) giữa các giao dịch; việc cho các đồng xu vào một máy bán hàng để mua một thanh kẹo là một giao dịch ẩn danh. Bút danh hoặc là không có nghĩa hoặc là các cái tên rõ ràng có nghĩa cho nhiều mục đích nhưng không mang quan hệ đối với tên thật. Cho nên, không có liên kết nào được làm đối với con người thực sự tham gia trong giao dịch, nhưng rõ ràng rằng cùng một thực thể (không được biết) được tham gia vào nhiều giao dịch khác nhau; việc sử dụng một thẻ tín dụng được đánh cắp để mua các đồ vật từ một số trang web là một tập của các giao dịch bút danh. Veronyms là tên thực của người sử dụng, cho nên mối liên kết có thể được làm đối với cả người tham gia và qua nhiều giao dịch khác nhau. Mỗi kiểu tên có hữu ích của nó, cả 3 kiểu có thể gắn với cặp khoá thông qua chứng thực.
Cần nhận thấy rằng tính chất bút danh- cho phép liên kết của các giao dịch khác nhau - có thể không cố ý cho phép người quan sát rút ra định danh thật (tức là,
veronym) qua thời gian bởi vì các mẫu hoặc các đặc trưng khác trong các giao dịch này, điều này làm thất bại toàn bộ dự định của hoạt động bút danh.
Thật thú vị, tính ẩn danh và tính bút danh được hỗ trợ bởi PKI không có ảnh hưởng đối với tính sẵn sàng và mục đích của xác thực. Tức là, mục đích của các chứng chỉ ẩn danh và bút danh tạo ra sự phân tách giữa xác thực (authentication) và nhận dạng (identification)- Alice có thể xác thực mạnh đối với Bob mà không làm lộ định danh của cô ta. Cô ta làm điều đó theo cách thông thường dựa trên PKI (tức là, theo một kiểu nào đó của giao thức thách thức-trả lời, bằng cách chứng minh hiểu biết về khoá bí mật tương ứng với khoá công khai được chứa trong chứng chỉ của cô ta); tại cuối của trao đổi xác thực, tuy nhiên, Bob chỉ chắc chắn rằng "thực thể khác" là người giữ hợp pháp của giá trị của trường chủ thể trong chứng chỉ, đó là tên ẩn danh hoặc tên bút danh. Riêng tư được giữ gìn đến mức Bob không có cách nào để biết định danh của thực thể khác này (tức là, "Alice").
Khả năng làm xác thực và không nhận dạng (nhận thực) là đáng giá khi tính riêng tư được yêu cầu qua các giao dịch có nhiều bước, nhiều bên. Đặc biệt, xem xét kịch bản sau. Thực thể E xác thực với trang Web S1 theo bút danh. S1 không biết định danh của E bởi vì E sử dụng bút danh; tuy nhiên, S1 biết rằng đó chính là thực thể căn cứ vào một hay nhiều cuộc viếng thăm trước đó và có thể gán một tình trạng đặc biệt cho E (ví dụ, "E muốn xem thông tin dạng này", hoặc "E nhận dịch vụ ưu tiên"). Để thoả mãn giao dịch hiện tại, S1 muốn chuyển hướng E tới trang Web thứ hai, S2. S1 có thể nói về E bằng cách nào? Tức là, S1 làm thế nào để nói với S2 rằng, "Đây là E với tình trạng đặc biệt"? (Đôi khi cái này được gọi là vấn đề giới thiệu mục lục- indexical reference problem.) Có 3 loại chung của các giải pháp để giới thiệu mục lục: các thẻ vật mang, các lược đồ dựa vào bí mật, các lược đồ dựa vào khoá công khai. Với các thẻ vật mang, S1 nói với S2, "Bất cứ ai trình thẻ này (hoặc một con trỏ tới thẻ) cho anh chính là thực thể mà tôi đã nói tới." Đơn giản việc giữ thẻ (hoặc con trỏ) và khả năng trình nó cho S2 là cơ chế xác thực cho E. Rõ ràng, nếu thẻ/con trỏ bị đánh cắp, thì bất cứ ai lấy được nó có thể giả mạo thành công E đối với S2. (ví dụ, bằng cách sử dụng Secure Socket Layer trên tất cả các kết
nối có thể giúp giảm nhẹ mối quan tâm này nhưng không thể đảm bảo chắc chắn rằng thẻ/con trỏ sẽ được bảo vệ đủ để chống lại kẻ trộm trong khi nó nằm tại trình duyệt web của E trong quá trình chuyển từ S1 sang S2).
Với loại thứ hai, E và S1 có chung một bí mật nào đó, chẳng hạn như mật khẩu hoặc khoá đối xứng. S1 nói với S2, "Bất cứ ai nói cho anh bí mật sau chính là thực thể mà tôi nói tới; bí mật là oa8ue!^6." Chứng minh việc biết bí mật cho S2 là cơ chế xác thực cho E. Giải pháp này bị nhược điểm ở chỗ bí mật được chia sẻ giữa E và S1 nhất thiết cần phải lộ ra cho S2 biết, S2 sau đó có thể đóng giả E đối với S1 vào thời điểm sau nếu S2 muốn. Vấn đề này là trở nên trầm trọng nếu bí mật được đưa cho nhiều trang web hơn (để thực hiện các bước tiếp theo trong giao dịch hoặc cho các mục đích của SSO).
Với loại thứ 3, E có cặp khoá và một chứng chỉ. S1 nói với S2, "Bất cứ ai có thể chứng minh một căn cứ dựa vào chứng chỉ này là thực thể mà tôi đã nói tới." Việc chứng minh biết khoá bí mật tương ứng với khoá công khai trong chứng chỉ (bút danh) là cơ chế xác thực cho E. Giao dịch nhiều bước có thể được xác thực mạnh tại mỗi giai đoạn, không có khả năng cho việc giả mạo (hoặc từ người quan