Mã khoá công khai trong mạng riêng ảo (PKI và VPN)

Cập nhật lúc 02h28' ngày 10/12/2003
Hiện nay nhiều mạng riêng ảo (VPN) đang thể hiện sự hạn chế bởi chính hệ thống bảo mật quá đơn giản. Trong bài này chúng ta sẽ bàn đến một số sửa đổi cần thiết để có thể đáp ứng yêu cầu phát triển một mạng riêng ảo lớn và có tính bảo mật cao. Đa số các mạng riêng ảo ngày nay đang được khai thác không sử dụng sự hỗ trợ của cơ sở hạ tầng mã khoá công khai (PKI). Các điểm kết cuối của các mạng VPN này (các cổng bảo mật hoặc các máy khách) nhận thực lẫn nhau thông qua thiết lập các "đường ngầm" IP. Một cách đơn giản nhất, điều đó có thể thực hiện được thông qua việc thiết đặt cầu hình tại cả hai đầu của đường ngầm VPN cùng chia sẻ một bí mật chung - một cặp mật khẩu (password). Phương pháp giải quyết "thô sơ" này có thể hoạt động tốt trong một mạng VPN nhỏ nhưng sẽ trở nên kồng kềnh, khó điều khiển trong một mạng VPN lớn khi số lượng điểm truy nhập lên tới hàng trǎm, thậm chí hàng ngàn điểm. Hãy so sánh với một câu lạc bộ nhỏ, ở đó mọi người đều biết nhau vì số lượng người ít và hầu như họ đã quen biết nhau từ trước. Không có gì khó khǎn trong việc ghi nhớ tên và nhận dạng của các thành viên trong một nhóm nhỏ. Nhưng với một câu lạc bộ có hàng trǎm thành viên thì chắc chắn cần phải có thẻ hội viên. Các thành viên mới có thể chứng minh họ là ai khi họ xuất trình thẻ hội viên. Với "hạ tầng" như vậy, hai người hoàn toàn không quen biết có thể nhận dạng và tin cậy nhau đơn giản là vì họ tin vào thẻ hội viên của nhau. Tương tự như vậy, hai đầu cuối VPN có thể nhận thực nhau thông qua giấy chứng nhận điện tử - Một loại "thẻ hội viên điện tử" không thể thiếu trong các mạng VPN lớn. Vậy tại sao hiện nay không phải mạng VPN lớn nào cũng sử dụng chứng nhận điện tử? Bởi vì việc triển khai mạng lớn không chỉ đòi hỏi chứng nhận điện tử mà yêu cầu xây dựng một hạ tầng hoàn thiện bao gồm: khối cung cấp chứng nhận điện tử, phương cách bảo đảm để khởi tạo và phân phối chúng, cách thức truy xuất dễ dàng để xác nhận tính hợp lệ. Nói một cách ngắn gọn, đó chính là cơ sở hạ tầng mã khoá công khai - PKI. Khoá công khai là gì và tác dụng? Để hiểu được yêu cầu và các đòi hỏi của PKI, chúng ta cần biết một số kiến thức sơ lược về khoá mật mã công khai. Hệ thống này xây dựng trên cơ sở một cặp khoá mã có liên hệ toán học với nhau trong đó một khoá sử dụng để mã hoá thông điệp và chỉ có khoá kia mới giải mã được thông điệp và ngược lại. Khi đó chúng ta có thể công khai hoá một khoá trong cặp khoá này. Nếu ai cần gửi cho chúng ta các thông điệp bảo đảm, họ sẽ có thể sử dụng khoá đã được cung cấp công khai này để mã hoá thông điệp trước khi gửi đi và bởi vì chúng ta đã giữ bí mật khoá mã còn lại nên chỉ chúng ta mới có thể giải mã được thông điệp bảo đảm đó. Cặp khoá này còn dùng để xác nhận thông điệp. Người gửi sẽ tạo một đoạn mã bǎm (hash) của thông điệp - một dạng rút gọn của thông điệp nguyên bản - với một số thuật toán (ví dụ như MD5, SHA-1 ...). Người gửi sẽ mã hoá đoạn mã bǎm bằng khoá riêng của mình và người nhận sẽ dùng khoá công khai của người gửi để giải đoạn mã bǎm của người gửi, sau đó so sánh với đoạn mã bǎm của thông điệp nhận được (được tạo bằng cùng một thuật toán). Nếu trùng nhau thì người nhận có thể tin rằng thông điệp nhận được không bị thay đổi trong quá trình truyền tải trên mạng và xuất phát từ người gửi xác định. Cách thực hiện này được gọi là chữ ký điện tử. Nhưng cần nhắc lại là chúng ta yêu cầu không chỉ chữ ký - chúng ta cần một thẻ hội viên điện tử. Chính vì thế mà xuất hiện khái niệm giấy chứng nhận điện tử. Một chứng nhận điện tử gắn tên của hội viên hay thiết bị với một cặp khoá, tương tự như thẻ hội viên gắn tên của hội viên với chữ ký và ảnh của họ. Để đảm bảo giấy chứng nhận là hợp lệ, chúng ta thường yêu cầu giấy chứng nhận phải được cấp do một tổ chức tin cậy. Đối với giấy chứng nhận điện tử, tổ chức này được gọi là hệ thống cung cấp chứng nhận (CA-Certification Authority) Các mạng VPN sử dụng chứng nhận điện tử như thế nào? Khi đường ngầm IP đã được khởi tạo, các điểm kết cuối sẽ nhận thực lẫn nhau thông qua chứng nhận điện tử. Ví dụ cổng bảo mật X sẽ tự chứng nhận và ký (điện tử) thông điệp bằng khoá mã riêng của nó. Cổng bảo mật Y sẽ nhận chúng nhận điện tử của X và sử dụng khoá công khai của X để kiểm tra chữ ký điện tử. Nếu đúng thì cổng bảo mật X được xác nhận vì chữ ký điện tử chỉ có thể được tạo ra bằng khoá mã riêng được gắn liền với chứng nhận điện tử của X. Tại sao giấy chứng nhận điện tử lại có tính mở rộng hơn kiểu chia sẻ khoá bảo mật chung? Rõ ràng chúng ta không còn cần phải cung cấp những cặp mã khoá chia sẻ cho mỗi cặp thiết bị VPN. Mỗi thiết bị VPN chỉ cần một giấy chứng nhận điện tử. Và chúng ta cũng không cần phải thiết lập lại cấu hình của tất cả các điểm đã có của VPN mỗi khi chúng ta mở thêm một điểm mới. Thay vào đó, chúng ta có thể chứng nhận cho mỗi thiết bị thông qua hệ thống thư mục công cộng - ví dụ như qua LDAP. Cao hơn nữa, chúng ta có thể kết hợp hai mạng VPN sẵn có thông qua việc cộng tác giữa hai CA trong trao đổi cơ sở dữ liệu và trong việc phát hành giấy chứng nhận. Điều đó cũng tương tự như việc công nhận hộ chiếu của một nước khác như là một giấy chứng minh hợp lệ vậy. Cũng như hộ chiếu, mỗi giấy chứng nhận điện tử cũng phải có thời hạn hợp lệ và có thể bị nơi phát hành thu hồi khi cần thiết. Xuất trình chữ ký điện tử liên quan đến một giấy chứng nhận điện tử không hợp lệ, không tồn tại hay đã bị thu hồi sẽ dẫn đến việc truy nhập không thành công. Vấn đề này có thể trở nên phức tạp nếu người kiểm tra (nơi nhận) không thường xuyên kiểm tra tình trạng hợp lệ của giấy chứng nhận tại nơi phát hành giấy chứng nhận (CA). Thậm chí, nếu việc kiểm tra được thực hiện thì có thể danh sách các giấy chứng nhận điện tử bị thu hồi cũng đã "lạc hậu". Vậy thì cần phải kiểm tra các danh sách này hàng tháng, hàng tuần hay hàng ngày, hàng giờ? đó là vấn để của thực tế khi áp dụng các chính sách bảo mật của mỗi nhà quản trị mạng cụ thể. Các thành phần của PKI VPN không phải là dịch vụ bảo mật duy nhất ứng dụng PKI. Có rất nhiều yêu cầu bảo mật khác có thể được thoả mãn khi sử dụng PKI như thư bảo mật (email-secured with S/MINE), các giao dịch bảo mật của Web (Web transaction secured with SSL) ... Các yêu cầu đó có thể khác nhau do tính chất của mỗi dịch vụ hay ứng dụng, tất cả đều dựa trên một "Cơ sở hạ tầng mã khoá công khai - PKI" bao gồm các thành phần cơ bản như Hình 1- Xây dựng mã khoá công khai PKT Nền tảng của PKI là CA. CA phát hành các giấy chứng nhận điện tử. Nó có thể thuộc riêng về một doanh nghiệp hoặc thuộc một tổ chức thuộc bên ngoài các doanh nghiệp (chuyên cung cấp dịch vụ trong lĩnh vực này). Các CA có thể uỷ nhiệm sự tin cậy cho nhau thông qua kiến trúc phân cấp. CA gốc (root CA) là CA cung cấp trực tiếp các giấy chứng nhận điện tử cho doanh nghiệp, CA phụ thuộc (subordinate CA) là CA được công nhận gián tiếp thông qua mối liên hệ với CA gốc. CA gốc có thể mặc nhiên được công nhận (đối với nội bộ doanh nghiệp). Các CA phụ thuộc được công nhận thông qua chứng nhận của CA gốc và tạo nên chuỗi các CA uỷ thác. Mỗi khi tạo ra một giấy chứng nhận điện tử mới, một cặp khoá mã được phát ra cho mỗi thực thể - thiết bị VPN, máy chủ Web, người sử dụng thư điện tử ... Những thực thể sẽ giữ các khoá riêng (private key) dùng để tạo ra chữ ký điện tử. Còn khoá công khai (public key), tên của thực thể, tên của CA phát hành, tất cả sẽ được tập hợp trong giấy chứng nhận điện tử, và tất cả sẽ được xác nhận thông qua chữ ký điện tử của chính CA. Với mục đích tránh sự không công nhận của mỗi thực thể, chỉ có chính bản thân họ mới được sử dụng đến khoá bảo mật riêng. Với cách làm như vậy, các thực thể không thể phủ nhận được việc đã "ký" tên vào thông điệp vì không ai khác có thể "ký" như vậy được. Cũng chính vì nguyên nhân như vậy, mã khoá riêng này cần được lưu giữ an toàn. Khi mã khoá này bị lộ vì một nguyên nhân nào đó, giấy chứng nhận điện tử cần phải được thu hồi. Để thuận tiện trong việc phân phát, các giấy chứng nhận thường được công bố qua hệ thống uỷ nhiệm. Để tǎng khả nǎng truy xuất, tìm kiếm và độ an toàn của hệ thống, các giấy chứng nhận trong các hệ thống uỷ nhiệm thường được công bố trong các "thư mục che phủ nhiều tầng" - (Multiple shadow directories). Do yêu cầu thiết kế và nhu cầu thực tế, cả CA đều cần phải được bảo mật tốt nên hai thành phần này thường được phân cách không những theo logic mà còn phải được phân cách cả vị trí vật lý. Chức nǎng quản lý được giao cho RA - Thành phần cấp quyền đǎng nhập (Registration Authorities). RA có nhiệm vụ quản trị việc đǎng ký tên, khởi tạo hoặc lưu trữ các cặp khoá mã, xác nhận các thực thể trong giai đoạn đǎng ký, yêu cầu CA cấp chứng nhận, chuyển các khoá mã đến các thực thể, khởi tạo hoặc thu hồi các giấy chứng nhận điện tử. RA là một cơ chế hỗ trợ CA rất hiệu quả, và cũng như trường hợp trên, do yêu cầu bảo mật, RA và CA thường cũng được phân cách nhau cả về mặt vật lý và do các nhóm quản trị mạng khác nhau chịu trách nhiệm. Đó là các thành phần cǎn bản của một hệ thống PKI. Ngoài ra, trong thực tế có thể có một số thành phần và dịch vụ phụ trợ khác trong PKI hoặc có liên quan đến hoạt động của PKI cũng như không phải một hệ PKI nào cũng có đủ các thành phần cơ bản như trên. Chúng ta cũng có hai cách lựa chọn triển khai PKI: Sử dụng dịch vụ từ nhà cung cấp hoặc tự xây dựng nên hệ thống của mình. Sử dụng PKI từ nhà cung cấp dịch vụ Trên mạng Internet có rất nhiều nhà cung cấp hạ tầng PKI, những người sẽ bán các giấy chứng nhận điện tử. Dưới đây là danh sách một số nhà cung cấp như vậy. Cần nhắc lại là nếu bạn muốn xây dựng một mạng VPN sử dụng công nghệ nhận thực bằng giấy chứng nhận điện tử thì tất cả các thực thể trong mạng của bạn đều cần được chứng nhận và nếu mạng quá lớn, chi phí mua giấy chứng nhận từ nhà cung cấp sẽ là không nhỏ. Sau đó cần xây dựng các chính sách về quản trị, điều hành và bảo mật thích hợp. Một điểm cần chú ý khác là bạn nên chọn nhà cung cấp VPN có hỗ trợ cho thiết bị VPN của bạn. Xây dựng hạ tầng mã khoá công khai của riêng bạn Nếu bạn chọn phương án PKI riêng, dưới đây là một số sản phẩm đã được thương mại hoá mà bạn có thể tham khảo được. Các sản phẩm khác nhau sẽ có các đặc trưng riêng khác nhau, và điều quan trọng nhất cần phải hiểu là việc mua một sản phẩm phần mềm hỗ trợ PKI chỉ là một phần nhỏ trong toàn bộ chi phí để xây dựng một hệ PKI. Nên chọn một nhóm chuyên gia tư vấn để xây dựng chính sách bảo mật và kiến trúc của PKI sao cho phù hợp với thực tế và nhu cầu phát triển trong tương lai. Hầu hết các công ty cung cấp kể trên đều có thể giúp đỡ bạn trong công việc hoạch định đó. Kết luận Cơ sở hạ tầng mã khoá công khai sẽ đóng vai trò quan trọng trong việc xây dựng thành công các mạng VPN lớn. Dù cho bạn là một doanh nghiệp đang tìm cách xây dựng mạng riêng ảo VPN hay một nhà cung cấp dịch vụ đang tìm cách cung cấp dịch vụ VPN cho khách hàng của mình, bây giờ chính là thời điểm nên bắt đầu nghiên cứu áp dụng PKI. Các sản phẩm và dịch vụ ban đầu đã sẵn sàng và bạn có thể bắt đầu làm quen với công nghệ này. Chắc rằng hầu hết trong chúng ta sẽ thấy được sự quan trọng và hiệu quả của việc nghiên cứu, triển khai công nghệ này. Nguyễn Đức Kiên (Trưởng Đài Hỗ trợ VDC1)
Đánh giá(?):
META.vn | Mua sắm trực tuyến
Các bài phản hồi, bình luận
Tất cả có 1 phản hồi cho bài này
Gửi bởi Bạn lin con 2001 [lincon2001] lúc 22:19 25/03/2011
Public Key Infrastructure (PKI) là một cơ chế để cho một bên thứ ba (thường là nhà cung cấp chứng thực số ) cung cấp và xác thực định danh các bên tham gia vào quá trình trao đổi thông tin. Cơ chế này cũng cho phép gán cho mỗi người sử dụng trong hệ thống một cặp public/private. Các quá trình này thường được thực hiện bởi một phần mềm đặt tại trung tâm và các phần mềm khác tại các địa điểm của người dùng. Khoá công khai thường được phân phối trong chứng thực khóa công khai – hay Public Key Infrastructure.
Khái niệm hạ tầng khoá công khai (PKI) thường được dùng chỉ toàn bộ hệ thống bao gồm cả nhà cung cấp chứng thực số (CA) cùng các cơ chế liên quan đồng thời với toàn bộ việc sử dụng các thuật toán mã hoá công khai trong trao đổi thông tin. Tuy nhiên phần sau được bao gồm không hoàn toàn chính xác bởi vì các cơ chế trong PKI không nhất thiết sử dụng các thuật toán mã hoá công khai.
1.Các thành phần của PKI
PKIs dựa vào một thiết bị mật mã để bảo đảm các khoá công khai được quản lý an toàn. Các thiết bị này không hoạt động cùng lúc được thực hiện ở các hàm mảng rộng có liên quan đến việc quản lý phân phối khoá, bao gồm các thành phần sau:
-chứng thực và đăng ký mật mã đầu cuối
-kiểm tra tính toàn vẹn của khoá công khai
-chứng thực yêu cầu trong quá trình bảo quản các khoá công khai
-bí mật cấp phát khoá công cộng
-huỷ bỏ khoá công khai khi nó không có đủ giá trị độ dài
-duy trì việc thu hồi các thông tin về khoá công cộng (CRL) và phân bổ thông tin (thông qua CRL cấp phát hoặc đáp ứng đến Online Certificate Status Protocol [OCSP] messages).
-đảm bảo an toàn về độ lớn của khoá.

·Public Keys Certificates :
Mục tiêu của việc trao đổi khoá bất đối xứng là phát một cách an toàn khoá công khai từ người gửi (mã hoá) đến người nhận (giải mã). PKI hỗ trợ tạo điều kiện cho việc trao đổi khoá an toàn để đảm bảo xác thực các bên trao đổi với nhau.
Public key Certificate được phát bởi Certificate Authority(CA ). Để CA phát public key certificate cho đáp ứng mật mã đầu cuối thì đầu cuối đầu tiên phải đăng ký với CA. Quá trình đăng ký gồm: sự đăng ký, sự kích hoạt, và sự chứng nhận của mật mã đầu cuối với PKI (CAs và RAs). Quá trình đăng ký như sau:
omật mã đầu cuối đăng ký với CA hoặc RA. Trong quá trình đăng ký, mật mã đầu cuối đưa ra cách nhận biết đến CA. CA sẽ xác thực đầu cuối, phát public key đến đầu cuối .
ocác đầu cuối bắt đầu khởi tạo phase bằng cách tạo ra một public/private keypair và public key của keypair được chuyến đến CA.
oCA viết mật hiệu lên public key certificate cùng với private key để tạo một public key certificate cho mật mã đầu cuối.
oLúc này các mật mã đầu cuối có thể yêu cầu public key certificate từ mật mã đầu cuối khác. Chúng có thể sử dụng CAs public key để giải mã public key certificate để thu được khoá thích hợp.
·Registration Authorities:
Trong nhiều trường hợp, CA sẽ cung cấp tất cả các dịch vụ cần thiết của PKI để quản lý các public key bên trong mạng. Tuy nhiên có nhiều trường hợp CA có thể uỷ nhiệm làm công việc của RA. một số chức năng mà CA có thể uỷ nhiệm thay thế cho RA như:
okiểm tra mật mã đầu cuối thử đã đăng ký public key với CA để có private key mà được dùng để kết hợp với public key.
oPhát public/private keypairs được dùng để khởi tạo phase của quá trình đăng ký.
oxác nhận các thông số của public key.
ophát gián tiếp các certificate Revocation List (CRL).
·Certificate Authorities :
CA dùng để cấp phát chứng nhận, xác thực PKI clients, và khi cần thiết thu hồi lại chứng nhận.
CA đại diện cho nguồn tin cậy chính của PKI. Vì CA là yếu tố duy nhất trong PKI mà có thể phát Public Key Certificates đến các mật mã đầu cuối.
CA cũng luôn đáp ứng cho việc duy trì CRL và phục vụ các loại như: CRL Issuer. PKI không phải chỉ có 1 CA mà PKI có thể thiết lập nhiều CAs.
CAs giúp thiết lập cho việc nhận dạng của các thực thể giao tiếp với nhau được đúng đắn. CAs không chỉ chứng cho PKI client mà còn cho nhứng CAs khác bằng cách cấp phát những chứng nhận số đến chúng. Những CAs đã chứng nhận lần lượt có thể chứng nhận cho những CAs khác cho đến khi mỗi thực thể có thể uỷ nhiệm cho những thực thể khác có liên quan trong quá trình giao dịch.

2.Mục tiêu và các chức năng của PKI
PKI cho phép những người tham gia xác thực lẫn nhau và sử dụng các thông tin từ các chứng thực khoá công khai để mật mã hoá và giải mã thông tin trong quá trình trao đổi.
PKI cho phép các giao dịch điện tử được diễn ra đảm bảo tính bí mật, toàn vẹ và xác thực lẫn nhau mà không cần trao đổi các thông tin bảo mật từ trước.
Mục tiêu chính của PKI là cung cấp khoá công khai và xác định mối liên hệ giữa khoá và định dạng người dùng. Nhờ vậy, người dùng có thể sử dụng trong một số ứng dụng như :
-Mã hoá Email hoặc xác thực người gửi Email
-Mã hoá hoặc chứng thực văn bản
-Xác thực người dùng ứng dụng
-Các giao thức truyền thông an toàn : trao đổi bằng khoá bất đối xứng, mã hoá bằng khoá đối xứng.
PKI bao gồm các thành phần sau đây:
-Phát sinh một cặp khoá riêng và khoá chung cho PKI client
-Tạo và xác nhận chữ ký điện tử
-cấp phát chứng nhậo người dùng
-Đánh dấu những khoá đã cấp phát và bảo trì quá trình sử dụng của mỗi khoá
-Hủy bỏ những đăng ký sai và hết hạn
-Xác nhận PKI client

3.Mục đích của PKI
PKIđược sử dụng với các mục đích :
-Mã hoá: giữ bí mật thông tin và chỉ có người có khoá bí mật mới giải mã được.
-Tạo chữ ký số : cho phép kiểm tra một văn bản có phải đã được tạo với một khoá bí mật nào đó hay không.
-Thoả thuận khoá: cho phép thiết lập khoá dùng để trao đổi thông tin bảo mật giữa 2 bên.
 Phàn nàn
Tất cả có 1 phản hồi cho bài này
Bài viết mới nhất
Xem tất cả
Bài viết cũ hơn cùng chủ đề