• If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.
Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Loạt Bài : Triển khai hệ thống OPENVPN (Bài số 2)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Loạt Bài : Triển khai hệ thống OPENVPN (Bài số 2)

    CHƯƠNG 3 : GIAO THỨC BẢO MẬT SSL

    Nhu cầu ngày càng tăng về việc truyền tải dữ liệu an toàn (data security) trong một tổ chức, công ty dẫn đến nhu cầu về các giải pháp mạng riêng ảo VPN (Virtual Private Network). Thêm vào đó, khuynh hướng làm việc qua mạng từ xa, phân tán của các doanh nghiệp công ty có nhiều chi nhánh và sự phát triển của lượng nhân viên di động cũng làm gia tăng nhu cầu cho việc truy cập tài nguyên thông tin của công ty.
    SSL là giải pháp bảo mật mạng máy tính an toàn dữ liệu bổ sung sử dụng công nghệ VPN trên thị trường. Nó được thiết kế cho những giải pháp truy cập từ xa (client-to-site) và không cung cấp những kết nối site-to-site. SSL VPN cung cấp khả năng bảo mật để truy cập vào những ứng dụng dựa trên web. Sử dụng SSL VPN, người sử dụng không phải chạy bất kỳ phần mềm client đặc biệt nào trên những máy tính của họ . Sử dụng SSL VPN là sử dụng một cơ chế bảo mật mới, mạnh và mềm dẻo hơn so với khả năng bảo mật của IPSec, làm giảm đi sự phức tạp trong việc cấu hình bảo mật VPN.

    3.1. CƠ CHẾ HOẠT ĐỘNG CỦA SSL
    Điểm cơ bản của SSL được thiết kế độc lập với tầng ứng dụng để đảm bảo tính bí mật, an toàn và chống giả mạo luồng thông tin qua Internet giữa hai ứng dụng bất kỳ, thí dụ như webserver và các trình duyệt khách (browsers), do đó được sử dụng rộng rãi trong nhiều ứng dụng khác nhau trên môi trường Internet.
    Toàn bộ cơ chế hoạt động và hệ thống thuật toán mã hoá sử dụng trong SSL được phổ biến công khai, trừ khoá chia xẻ tạm thời (session key) được sinh ra tại thời điểm trao đổi giữa hai ứng dụng là tạo ngẫu nhiên và bí mật đối với người quan sát trên mạng máy tính.
    Giao thức SSL dựa trên hai nhóm con giao thức là giao thức “bắt tay” (handshake protocol) và giao thức truyền dữ liệu (record protocol):
    - Giao thức bắt tay xác định các tham số giao dịch giữa hai đối tượng có nhu cầu trao đổi thông tin hoặc dữ liệu.
    - Giao thức truyền dữ liệu xác định khuôn dạng cho tiến hành mã hoá và truyền tin hai chiều giữa hai đối tượng đó.
    Khi hai ứng dụng máy tính, thí dụ giữa một trình duyệt web và máy chủ web, làm việc với nhau, máy chủ và máy khách sẽ trao đổi “lời chào” (hellos) dưới dạng các thông điệp cho nhau với xuất phát đầu tiên chủ động từ máy chủ, đồng thời xác định các chuẩn về thuật toán mã hoá và nén số liệu có thể được áp dụng giữa hai ứng dụng.
    Ngoài ra, các ứng dụng còn trao đổi “số nhận dạng/khoá theo phiên” (session ID, session key) duy nhất cho lần làm việc đó. Sau đó ứng dụng khách (trình duyệt) yêu cầu có chứng thực điện tử (digital certificate) xác thực của ứng dụng chủ (web server).
    Chứng thực điện tử thường được xác nhận rộng rãi bởi một cơ quan trung gian (là CA -Certificate Authority) như RSA Data Sercurity hay VeriSign Inc., một dạng tổ chức độc lập, trung lập và có uy tín. Các tổ chức này cung cấp dịch vụ “xác nhận” số nhận dạng của một công ty và phát hành chứng chỉ duy nhất cho công ty đó như là bằng chứng nhận dạng (identity) cho các giao dịch trên mạng, ở đây là các máy chủ webserver.

    Sau khi kiểm tra chứng chỉ điện tử của máy chủ (sử dụng thuật toán mật mã công khai, như RSA tại trình máy trạm), ứng dụng máy trạm sử dụng các thông tin trong chứng chỉ điện tử để mã hoá thông điệp gửi lại máy chủ mà chỉ có máy chủ đó có thể giải mã.
    Trên cơ sở đó, hai ứng dụng trao đổi khoá chính (master key) - khoá bí mật hay khoá đối xứng - để làm cơ sở cho việc mã hoá luồng thông tin/dữ liệu qua lại giữa hai ứng dụng chủ khách. Toàn bộ cấp độ bảo mật và an toàn của thông tin/dữ liệu phụ thuộc vào một số tham số:
    - Số nhận dạng theo phiên làm việc ngẫu nhiên.
    - Cấp độ bảo mật của các thuật toán bảo mật áp dụng cho SSL.
    - Độ dài của khoá chính (key length) sử dụng cho lược đồ mã hoá thông tin.
    Giao thức SSL cung cấp sự bảo mật thông qua ba đặc tính cơ bản sau:
    - Các bên giao tiếp (client và server) có thể xác thực lẫn nhau bằng cách sử dụng mật mã khóa công khai.
    - Lưu lượng dữ liệu được bảo vệ vì kết nối được mã hóa trong suốt sau khi thiết lập quan hệ ban đầu và sự thương lượng khóa session đã diễn ra.
    - Tính xác thực và tính toàn vẹn của lưu lượng dữ liệu cũng được bảo vệ.

    Để hiểu thêm về giao thức SSL, xem cấu trúc của nó:

    Hình 3.1: Cấu trúc SSL và mô hình SSL
    Theo biểu đồ trên, SSL nằm trong tầng ứng dụng của giao thức TCP/IP. Do đặc điểm này, SSL có thể được dùng trong hầu hết mọi hệ điều hành hỗ trợ TCP/IP mà không cần phải chỉnh sửa nhân của hệ thống hoặc ngăn xếp TCP/IP. Điều này mang lại cho SSL sự cải tiến mạnh mẽ so với các giao thức khác như IPSec (IP Security Protocol). Vì giao thức này đòi hỏi nhân hệ điều hành phải hỗ trợ và chỉnh sửa ngăn xếp TCP/IP. SSL cũng có thể dễ dàng vượt qua tường lửa và proxy, cũng như NAT (NetworkAddress Translation) mà không cần nguồn cung cấp

    3.2. CÁC GIAO THỨC BẢO MẬT SSL
    SSL là giao thức tầng (layered protocol), bao gồm 4 giao thức con sau:
    · Giao thức truyền dữ liệu SSL
    · Giao thức thay đổi thông số mã
    · Giao thức cảnh báo
    · Giao thức bắt tay

    3.2.1. Giao thức truyền dữ liệu SSL( SSL record Protocol)
    Giao thức truyền dữ liệu SSL cung câp 2 dịch vụ cơ bản cho kết nối SSL là dịch vụ bảo mật và dịch vụ toàn vẹn dự liệu.

    Hình 3.2: Hoạt động của giao thức SSL record
    Hình trên mô tả hoạt động động của giao thức SSL record. Theo đó , các thao tác mà SSL thực hiện trên dữ liệu bao gồm : phân đoạn dữ liệu ( fragmentation ), nén dữ liệu (compression ), xác thực dữ liệu (MAC), mã hoá , thềm các tiêu đề cần thiết và cuối cùng là gởi toàn bộ thông tin trên trong một segment TCP. Ở phía nhận , quá trình được thực hiện ngược lại .
    Hai chức năng quan trọng nhất của SSL record là mã hoá và xác thực thông tin. Chức năng xác thực thông tn đước thức hiện thông qua các hà băm MD5 hoặc SHA_1 .Các thuật toán mã hoá có thể dùng trong SSL là :


    Hình 3.3: Các thuật toán mã khối và mã dòng
    3.2.2. Giao thức thay đổi thông số mã(Change Cipher Spec protocol)
    Giao thức thay đổi thông số mã là giao thức đơn giản nhất trong cấu trúc SSL..Nó chỉ gồm một message duy nhất có kích thước 1 byte được gởi đi dùng giao thức SSL record. Chức năng của bản tin này là cập nhật thông số mã hóa cho cho kết nối hiện hành

    3.2.3. Giao thức cảnh báo(Alert protocol)
    Giao thức cảnh báo dùng để trao đổi các thông tin cảnh báo sự cố giữa hai đầu kết nối SSL.Mỗi message cảnh báo gồm 2 byte: byte đầu cho biết mức độ cảnh báo.
    Có 2 mức độ cảnh báo :
    - Cảnh báo thường (warning): phiên làm việc vẫn duy trì nhưng không tạo thêm kết nối mới.
    - Cảnh báo nghiêm trọng (fatal): kết thúc phiên làm việc hiện hành

    3.2.4. Giao thức bắt tay (Handshake protocol)
    Giao thức bắt tay là giao thức quan trọng nhất của SSL , được hai phía sử dụng để xác thực lẫn nhau và thương lượng để thống nhất các thuật toán xác thực MAC và mã hoá.Thủ tục này cũng trao đổi khoá bí mật dung cho mã hoá và MAC. Thủ tục bắt tay phải thực hiện trước khi trao đổi dữ liệu.
    SSL handshake gồm 4 giai đọan (phase):







    Giai đoạn 1 :

    Hình 3.4: Giao thức bắt tay SSL _Giai đoạn 1

    - ClientSSLthiết lậpmộtkếtnốiquagiao thức TCP và gửi tin nhắnClient_Hellođểbắtđầumột cái bắt tay.
    - Các máy chủSSLphản ứngvới một thông điệpSever_Hello.

    Thông báo của client_hello và server_hello bao gồm các trường sau đây:
    · client_hello = (version, random, session id, cipher suite, compression method)
    · server_hello = (version, random, session id, cipher suite,compression method)
    Trong đó:
    Ø Version : Phiên bản SSL
    Ø Random : Số ngẫu nhiên dùng cho mục đích xác thực.
    Ø session id : nhận dạng các phiên làm việc.
    Ø cipher suite:tập các thuật toán mật mã mà hệ thống có khả năng hỗ trợ
    Ø compression method : Thuật toán nén mà hệ thống có khả năng hổ trợ.

    Giai đoạn 2 :

    Hình 3.5: Giao thức bắt tay SSL _Giai đoạn 2


    - Server gửi chứng chỉ Certificate của nó cho Client.
    - ServerKeyExchange: chứa thông tin về Public key của Server mà Client cần để xác thực Server.
    - Server yêu cầu Client gửi lại Certificate của Client bằng message Certificate_Request.
    - Server_hello_done: kết thúc thương lượng phía server

    Giai đoạn 3 :


    Hình3.6: Giao thức bắt tay SSL _Giai đoạn 3

    - Client gửi chứng chỉ Certificate của nó cho Server.
    - ClientKeyExchange: chứa thông tin về khóa của Client. Thông điệp này được mã hóa bằng chính Public key của Server. Chính sự mã hóa này bảo vệ thông tin về khóa của Client đồng thời xác thực luôn Server. Vì chỉ có Server mới có thể giải mã được thông điệp này.
    - CertificateVerify : là một chữ ký dựa trên thông điệp bắt tay trước bằng cách sử dụng private key của certificate client. Chữ ký này được xác minh bằng cách sử dụng public key của certificate client. Điều này cho phép Server biết rằng client truy cập đến private key của certificate và như vậy certificate thuộc quyền sở hữu của client.









    Giai đoạn 4 :

    Hình 3.7: Giao thức bắt tay SSL _Giai đoạn 4
    - Change_cipher_spec: cập nhật thông số mã
    - Finish: kết thúc quá trình bắt tay thành công

    Kết thức Giai đoạn 4 trong giao thức bắt tay SSL VPN là đã hoàn thành xong việc khởi tạo cho việc thiết lập đường hầm an toàn VPN. Sau đó thì trao đổi dữ liệu qua đường hầm

    3.3. ỨNG DỤNG VÀ TÍNH PHỔ BIẾN CỦA SSL TRONG VPN
    Như đã đề cập, trong một số trường hợp, SLL VPN thường được dùng cho các ứng dụng truy cập từ xa dựa trên Browser (ví dụ: web dựa trên giao diện người dùng), trong khi IPsrc VPN thì được dùng cho giao tiếp site – to – site (hơn là từng client truy cập từ xa ). Khi tiến hành so sánh, thì không có sự khác nhau giữa IPsec VPN và SSL VPN. Cả 2 đều có độ bao mật như nhau.
    Bởi vì người truy cập từ xa có thể truy cập vào mạng tại bất cứ vị trí nào, không nhất thiết phải là thiết bị laptop chuyên dụng hay là site VPN đầu xa, các công ty có thể dễ dàng thiết lập một mạng Extranet bảo mật cho đối tác và khách hàng. SSL VPNs có thể cung cấp các ứng dụng lọc ở mức độ rất chi tiết, nó cho phép dể dàng sửa dụng và triển khai. Thêm vào đó, người dùng đầu xa không cần phải nhớ tên hay địa chỉ ip của các thiết bị trong mạng của cty để truy cập vào các server hay ứng dụng, bởi vì tất cả tài nguyên đều có thể cho phép truy xuất từ xa dưới dạng bookmarks, favorites hoặc là web link.
    SSL VPN đang được phát triển để theo kịp các yêu cầu của các tổ chức công nghiệp. họ đã đề xuất 1 số giải pháp VPN và từ từ tích hợp với các mạng khác và các dịch vụ bao mật. Nói 1 cách cơ bản, thì có 2 loại giải pháp SSL VPN hiện đang được sử dụng trên thị trường đó là các thiết bị SSL VPN thuần túy và các giải pháp phức tạp được tích hợp trên các thiết bị mạng như router và firewall. Loại thứ 2 cung cấp cho các công ty với mốt số lựa chọn triển khai một thiết bị bảo mật nhưng cung cấp nhiều dịch vụ bảo mật như là firewall, VPN, anti-virut, ….
    Trong khi nhiều nhà cung cấp các giải pháp SSL VPN tồn tại (cisco,3com,…), nhưng các thiết bị của Juniper Network có thể xem như là đi đầu trong loại hình thiết bị truy nhập từ xa.
    Sẽ rất có ích khi chúng ta đề cập đến việc triển khai SSL VPN trên Windonws Server 2008 hay còn gọi là SSTP. SSTP là một giao thức SSL dựa trên việc thiết lập đường hầm VPN giữa client – Server, được thiết kế để làm cho việc kết nối trở nên dẽ dàng hơn. Bằng cách sử dụng SSTP chúng ta có thể giảm đi chi phí liên quan cho các giải pháp truy nhập từ xa bởi vì SSTP đã được tích hợp là một phần của Windowns Serve 2008. Việc kết nối đến SSTP dựa trên VPN server đòi hỏi Client phải chạy windowns Vista sp1 hoặc cao hơn và RRAS server chạy Windowns Server 2008 sp1 or cao hơn.
    Last edited by lamvantu; 27-12-2012, 05:26 PM.
    Lâm Văn Tú
    Email :
    cntt08520610@gmail.com
    Viet Professionals Co. Ltd. (VnPro)
    149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
    Tel: (08) 35124257 (5 lines)
    Fax (08) 35124314
    Tập tành bước đi....


Working...
X