Chương 1 : TỔNG QUAN
3.7 Quản lí khóa
Quản lí khóa có thể là một vấn đề lớn khi làm việc cùng với IPSec VPN. Nó giống như che dấu các khóa ở mọi nơi. Trong thực tế, chỉ có 5 khóa cố định cho các bên IPSec quan hệ với nhau.
- 2 khóa riêng được làm chủ bởi mỗi bên và không bao giờ chia sẻ. Chúng được sử dụng để mật hiệu bản tin.
- 2 khóa cơng cộng được làm chủ bởi mỗi bên và chia sẻ cho mọi người. Những khóa này được sử dụng để kiểm tra chữ ký.
- Khóa thứ 5 được sử dụng là khóa bảo mật chia sẻ. Cả hai bên sử dụng khóanày cho mật mã và hàm băm. Đây là khóa được tạo ra bởi thuật toán Diffie-Hellman, sẽ được diễn tả trong phần sau.
Trong thực tế, khóa riêng và khóa cơng cộng được sử dụng cho nhiều kết nối IPSec cho một bên đưa ra. Một tổ chức nhỏ, những khóa này có thể tồn bộ được quản lý thủ cơng. Vấn đề xuất hiện khi cố gắngphân chia xử lí hỗ trợ cho hàng trăm hoặc hàng ngàn phiên VPN. Phần tiếp theo trình bày về giao thức Diffie-Hellman và nhận thực số, đây là hai trong số những giải pháp hoàn hảo để quản lí tự động vấn đề nan giải này.
Diffie-Hellman là giao thức đồng ý khóa cho phép 2 bên trao đổi một khóa bí mật khơng cần bất kì ưu tiên bí mật nào. Giao thức này là một ví dụ về xử lí trao đổi khóa đối xứng, trong đó các bên trao đổi khóa cơng cộng khác nhau để sinh ra khóa riêng giống nhau.
Giao thức Diffie-Hellman được sử dụng trong IPSec VPN, nhưng bạn rất khó để tìm ra nó. Nó được sử dụng trong xử lí thiết lập kênh an tồn giữa các bên IPSec. Dấu hiệu của nó như sau:
- IPSec sử dụng giao thức liên kết an ninh Internet và quản lí khóa (Internet Security Association and Key Management Protocol: ISAKMP) để cung cấp một khung cho nhận thực và trao đổi khóa. - ISAKMP sử dụng giao thức IKE để thương lượng an toàn và cung
cấp nguyên liệu tạo khóa cho liên kết an ninh.
- IKE sử dụng một giao thức được gọi là OAKLEY, nó sẽ đưa ra một loạt các trao đổi khóa và chi tiết dịch vụ được cung cấp cho mỗi trao đổi. - OAKLEY sử dụng Diffie-Hellman để thiết lập một khóa bí mật chia
sẻ giữa các bên.
Xử lý mật mã khóa đối xứng sau đó sử dụng khóa bí mật chia sẻ cho mật mã và nhận thực kết nối. Các bên sử dụng giao thức mật mã khóa đối xứng phải chia sẻ với nhau cùng một khóa bí mật. Diffie-Hellman cung cấp một giải pháp để cung cấp mỗi bên một khóa bí mật chia sẻ khơng cần giữ dấu vết các khóa sử dụng.
Xử lí mật mã khóa đối xứng q chậm cho yêu cầu mật mã khối lượng lớn trong kênh IP-VPN tốc độ cao. Các bên IPSec sử dụng giao thức Diffie- Helman để thương lượng khóa bí mật chia sử dụng cho AH hoặc ESP để tạo dữ liệu nhận thực hay mật mã gói tin IP. Bên thu sử dụng khóa đó để nhận thực gói tin và giải mã phần tải tin. Chi tiết về các bước của thuật tốn Diffie- Helman được trình bày trong chương 4.
3.7.2 Quyền chứng nhận CA
Một phương pháp khác để nắm giữ khóa mà khơng nắm giữ nhiều cơng việc hỗ trợ quản lí là sử dụng CA (Certificate Authorities) như là một thực thể tin cậy để đưa ra và thu hồi chứng nhận số và cho việc cung cấp một ý nghĩa giúp kiểm tra về nhận thực những chứng thực. CA thường có 3 phần tác nhân như VeriSign hoặc Entrust, nhưng để tiết kiệm, bạn có thể thiết lập thiết lập CA cho riêng mình trên cơ sở sử dụng dịch vụ giấy chứng nhận Windows 2000.
Dưới đây trình bày quá trình làm việc của CA:
- Một client muốn sử dụng chứng thực số tạo ra một cặp khóa, một khóa cơng cộng và một khóa riêng. Tiếp theo, chient chuẩn bị chứng nhận không đánh dấu (X.509) nó chứa, giữ nhiều thứ: ID nhận dạng client và khóa cơng cộng mà nó vừa tạo thành. Chứng nhận khơng đánh dấu này sau đó được gửi tới phía CA nhờ sử dụng một vài phương pháp an tồn.
- Phía CA tính tốn mã băm của chứng nhận khơng đánh dấu. Sau đó CA giữ mã băm và đóng gói nó sử dụng khóa cơng khai của CA. Hàm mật mã băm này là một chữ ký số, và CA tấn cơng vào nó để chứng nhận và quay lại đánh dấu chứng nhận client. Chứng nhận này được gọi là nhận dạng chứng nhận và được lưu trong thiết bị client cho đến khi nó kết thúc hoặc bị xóa. CA cũng gửi cho client chứng nhận số của nó, các mà trở thành chứng nhận gốc cho client.
- Bây giờ client có một chứng nhận số đánh dấu mà nó có thể gửi tới bất kì bên thành viên nào. Nếu bên thành viên muốn nhận thực chứng nhận, nó giải mã chứng nhận nhờ sử dụng khóa cơng khai.
Chú ý quan trọng là với mỗi client thì CA chỉ gửi một chứng nhận của client đó. Nếu client muốn thiết lập IPSec IP-VPN với một client khác, nó trao đổi chứng nhận số với client kia nhờ sử dụng khóa cơng khai chia sẻ.
Khi một client muốn mật mã dữ liệu để gửi tới một bên, nó sử dụng khóa cơng khai của bên đó lấy từ chứng nhận số. Bên này sau đó giải mã gói tin với khóa cơng cộng.
Một chức năng khác của CA là sinh ra một loạt các chứng nhận theo chu kì mà nó đã hết hiệu lực hoặc đã mất giá trị. CA tạo ra danh sách chứng nhận bị hũy bỏ (Certificate Revocation Lists: CRL) của những khách hàng của nó. Khi một client nhận một chứng nhận số, nó kiểm tra CRL để tìm nếu như chứng nhận vẫn còn giá trị.