PDA

View Full Version : Key Management, DH Algorithm, and Methodology



logmeinvietnam
01-12-2010, 06:45
Đặng Quang Minh

III.3.5.3. Key Management, DH Algorithm, and Methodology:

Dịch vụ bảo mật (confidentialy) có thể được chọn lựa một cách độc lập với các dịch vụ khác. Tuy nhiên, việc sử dụng confidentialy mà không dùng kết hợp với các dịch vụ khác như integrity/authentication có thể là đối tượng của những kiểu tấn công. Vì vậy, quá trình xác thực được xem như là một chọn lựa kèm theo với condentiality. RFC 2401 định nghĩa hai phưong thức của xác thực và quản lý khóa. Các phuơng thức quản lý khóa hợp lệ bao gồm:

• Preshared keys
• Digital signature standard (DSS) signatures
• RSA signatures
• Encryption with RSA
• Revised encryption with RSA

trước khi IKE băt đầu, hai bên phải đồng ý là sẽ xác thực với nhau. Phương thức xác thực này được bắt tay trong IKE main mode. Các cơ chế sau đây được sử dụng:



Cơ chế khóa biết trước bao gồm quá trình cài đặt bằng tay cùng khóa trên mỗi đầu kết nối.
Các khóa đã mã hóa được tạo ra bởi cập khóa public/private. Sau đó khóa public của từng peer sẽ được sao chép cho tất cả các peer khác.
Các xác thực điện tử được tạo ra bởi một bên thứ ba, gọi là CA để kiểm tra tính hợp lệ của từng peer.


Khi có thêm người dùng ở xa, một mức thứ nhì của quá trình xác thực người dùng diễn ra sau khi thiết bị đã được xác thực trong IKE SA. Một đầu sẽ khởi tạo một XAUTH đến người dùng ở xa, trong đó yêu cầu username/password. Sau khi quá trình xác thực đã hoàn thành, pha 2 sẽ kết nối mạng ở xa và mạng cục bộ.

Giải thuật DH vẫn được xem là giải thuật mã hóa mạnh nhất. Trong trao đổi khóa kiểu này, hai bên sẽ đồng ý với nhau một khóa bí mật duy nhất, được biết bởi chỉ 2 bên. Khóa bí mật này (shared secret key) sau đó sẽ mã hóa các giao tiếp giữa hai bên. Khóa này cũng được dùng để mã hóa các khóa đồng bộ (hoặc khóa để mã hóa dữ liệu – DES, 3DES, CAST…). Các hệ thống khóa sử dụng 2 khóa: khóa riêng (người dùng giữ khóa này bí mật) và khóa công cộng (có thể chia sẽ cho thế giới). Tuy nhiên cần chú ý là các khóa bất đồng bộ là khá chậm. Một thực tế hay được dùng ngày nay là dùng các khóa đồng bộ để mã hóa dữ liệu và hệ thống khóa bất đồng bộ để mã hóa các khóa đồng bộ. Đây là cách dùng DH.

Nền tảng cho giải thuật SH là độ khó trong quá trình tính toán logs trong toán học. Quá trình bắt đầu khi mỗi bên của kết nối tạo ra một khóa riêng. Mỗi bên sẽ tạo ra một khóa công cộng, là một dẫn xuất của khóa riêng, Hai hệ thống sẽ trao đổi khóa công cộng , sao cho mỗi phía kết nối sẽ có (1 khóa riêng của nó + khóa công cộng của đối tác).

Qui trình trao đổi khóa dùng DH vẫn có thể bị kiểu tấn công man-in-the-middle bời vì các đối tác tham dự đã không được xác thực. Quá trình tấn công bao gồm một ai đó giả lập khóa công cộng giả và gửi những khóa công cộng tùy ý. MIM có thể giả lập các traffic đã mã hóa, sau đó giải mã, chép và thay đổi nó, tái mã hóa với khóa giả rồi sau đó forward đi. Nếu thành công, cả hai đầu nhận đều không biết rằng đã có sự can thiệp trung gian.

RFC 2401 định nghĩa perfect forward secrecy (PFS),trong đó một khóa bí mật dùng chung sẽ được làm mới khi kết hợp khóa hiện hành với một con số ngẫu nhiên để tạo ra một khóa mới. PFS sẽ bắt buộc tính toán lại khóa hiện thời bằng cách dùng khóa công cộng và kỹ thuật DH. PFS cho phép một khóa mới được tính lại mà không có mối liên quan nào đến khóa trước đó.

PFS thì gần giống với SA lifetime, trong đó một SA sẽ đuợc xác định thời gian mà SA còn hợp lệ. Nó cũng xác định rằng một khóa được làm mới hay được tính toán lại trong khoảng thời gian bao lâu. Một chu kỳ sống lifetime có thể được đo lường bằng giây hoặc kilobytes và áp dụng vào cả IKE SA and IPSec SAs.