Bản mã Giải mã
3.2.4. Một số ứng dụng bảo mật trong thương mại điện tử 1 Cơ chế bảo mật SSL(Secure Socket Layer):
3.2.4.1. Cơ chế bảo mật SSL(Secure Socket Layer):
Giao thức SSL cung cấp sự bảo mật truyền thông vốn có 3 đặc tính cơ bản:
- Các bên giao tiếp (nghĩa là Client và server) có thể xác thực nhau bằng cách sử dụng mật mã khóa chung.
- Sự bí mật của lưu lượng dữ liệu được bảo vệ vì nối kết được mã hóa trong suốt sau khi một sự thiết lập quan hệ ban đầu và sự thương lượng khóa session đã xảy 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ệ vì các thông báo được xác thực và được kiểm tra tính toán toàn vẹn một cách trong suốt bằng cách sử dụng MAC.
Tuy nhiên điều quan trọng cần lưu ý là SSL không ngăn các cuộc tấn công phân tích lưu lượng, ví dụ: bằng cách xem xét các địa chỉ IP nguồn và đích không được mã hoá và các số cổng TCP, hoặc xem xét lượng dữ liệu được truyền, một người vẫn phân tích lưu lượng vẫn có thể xác định các bên nào dang tương tác, các loại dịch vụ nào đang được sử dụng, và đôi khi ngay cả khi dành được thông tin về các mối quan hệ doanh nghiệp hoặc cá nhân. Hơn nữa SSL không ngăn các cuộc tấn công có định hướng dựa vào phần thực thi TCP chẳng hạn như các cuộc tấn công làm tràn ngập TCP SYN hoạc cưỡng đoạt sesion. Để sử dụng sự bảo vệ của SSL cả client lẫn server phải biết rằng phía bên kia đang sử dụng SSL. Nói chung có ba khả năng giải quyết vấn đề này :
• Sử dụng các sổ cổng chuyên dụng được dành riêng bởi internet asigned numbers Authority (IANA) .Trong trường hợp này một số cổng riêng biệt phải được gán cho mọi giao thức ứng dụng vốn sử dụng SSL.
• Sử dụng số cổng chuẩn cho mọi giao thức ứng dụng và để thương lượng các tuỳ chọn bảo mật như là một phần của giao thức ứng dụng.
• Sử dụng một tuỳ chọn TCP để thương lượng việc sử dụng một giao thức bảo mật, chẳng hạn như SSL trong suốt giai đoạn thiết lập nối kểt TCP thông thường.
Sự thương lượng dành riêng cho ứng dụng của các tùy chọn bảo mật (nghĩa là khả năng thứ hai) có khuyết điểm là đòi hỏi mọi giao thức ứng dụng được chỉnh sửa để hiểu tiến trình thương lượng. Ngoài ra, việc xác định một tuỳ chọn TCP (nghĩa là khả năng thứ 3) là một giải pháp tốt, nhưng nó không được Network Access thảo luận nghiêm túc cho đến bây giờ. Thực tế, các số cổng riêng biệt đã được dành riêng và được gán bởi IANA cho mọi giao thức ứng dụng vốn có thể chạy trên SSL hoặc TLS (nghĩa là khả năng thứ nhất). Tuy nhiên, hãy chú ý việc sử dụng các số cổng riêng biệt cũng có khuyết điểm là đòi hỏi hai nối kết TCP nếu client không biết những gì mà server hỗ trợ. Trước tiên, client phải nối kết với cổng an toàn và sau đó với cổng không an toàn và ngược lại. Rất có thể các giao thức sau này sẽ huỷ bỏ phương pháp này và tìm khả năng thứ hai. Ví dụ, SALS (Simple Authentication và Security Layer) xác định một phù hợp để thêm sự hỗ trợ xác thực vào các giao thức ứng dụng dựa vào kết nối. Theo thông số kỹ thuật SALS, việc sử dụng các cơ chế xác thực có thể thương lượng giữa client và server của một giao thức ứng dụng đã cho.
Hình 3.1: Các bước SSL Record protocol
SSL Record Protocol nhận dử liệu từ các giao thức con SSL lớp cao hơn và sử lý việc phân đoạn, nén, xác thực và mã hoá dữ liệu. Chính xác, giao thức này lấy một khối dữ liệu có kích cỡ tuỳ ý làm dữ liệu nhập và toạ một loạt các đoạn dữ liệu nhập và tao một loạt các đoạn dữ liệu SSL làm dữ liệu xuất (hoặc còn được gọi là các bản ghi) nhỏ hơn hoặc bằng 16,83 byte. Các bước khác nhau của SSL Record Protocol vốn đi từ một đoạn dữ liệu thô đến một bản ghi SSL Plaintext (bước phân đoạn), SSL Compressed (bước nén) và SSL ciphertext (bước mã hoá). Sau cùng, mỗi bản SSL chứa các bản thông tin sau đây:
- Loại nội dung: xác định giao thức lớp cao hơn vốn phải được sử dụng để sau đó xử lý độ lớn dữ liệu bản ghi SSL (sau khi giải nén và giải mã hoá thích hợp).
- Số phiên bản của giao thức: xác định phiên bản SSL đang sử dụng (thường là version 3.0)
- Độ dài.
- Độ lớn dữ liệu (được nến và được mã hoá tuỳ ý): độ lớn dữ liệu bản ghi SSL được nén và được mã hoá theo phương thức nén hiện hành và thông số mật mã được xác định cho session SSL.
Lúc đầu mỗi session SSL, phương pháp nén và thông số mật mã thường được xác định là rỗng. Cả hai được xác lập trong xuốt quá trình thực thi ban đầu SSL Handshake Protocol.Sau cùng MAC được thêm vào các bản ghi SSL. Nó cung cấp các dich vụ xác thực nguồn gốc và tính toàn vẹn dữ liệu. Tương tự như thuật toán mã hoá, thuật toán vốn được sử dụng để tính và xác nhận MAC được xác định trong thông số mật mã của trạng thái session hiện hành. Theo mặc định,SSL Record Protocol sử dụng một cấu trúc MAC vốn tương tự nhưng vẫn khác với cấu trúc HMAC hơn. Có ba điểm khác biệt chính giữa cấu trúc SSL MAC và cấu trúc HMAC:
1. Cấu trúc SSL MAC có một số chuỗi trong thông báo trước khi hash để ngăn các hình thức tấn công xem lại riêng biệt.
2. Cấu trúc SSL MAC có chiều dài bản ghi.
3. Cấu trúc SSL MAC sử dụng các toán tử ghép, trong khi cấu trúc MAC sử dụng module
Tất cả các điểm khác biệt này hiện hữu chủ yếu vì cấu trúc SSL MAC đựơc sử dụng trước cấu trúc HMAC cũng được sử dụng cho thông số ki thuật giao thức bảo mật Internet. Cấu trúc HMAC cũng được sử dụng cho thông số kĩ thuật giao thức TSL gần đây hơn.Một số giao thức con SSL được xếp lớp trên SSL Record Protocol. Mỗi giao thức con có thể tham chiếu có thể thông báo đến các loại thông báo cụ thể vốn được gửi bằng cách sử dụng SSL Record Protocol. Thông số kĩ thuật SSL 3.0 xác định ba giao thức SSL sau đây:
- Alert Protocol
- Handshake Protocol
- Change Cipherpec Protocol
Tóm lại, SSL Alert Protocol được sử dụng để chuyển các cảnh báo thông qua SSL Record Protocol. Mỗi cảnh báo gồm 2 phần, một bức ảnh báo và một mô tả cảnh báo.SSL Handshake Protocol là giao thức con SSl chính được sử dụng để hỗ trợ xác thực client và server và để trao đổi một khoá session. Do đó SSL Handshake Protocol trình bày tổng quan và được thảo luận trong phần tiếp theo.Sau cùng, SSL ChangeCipherpec rotocol được sử dụng để thay đổi giữa một thông số mật mã này và một thông số mật mã khác. Mặc dù thông số mật mã thường được thay đổi ở cuối một sự thiết lập quan hệ SSL, nhưng nó cũng
có thể được thay đổi vào bất kỳ thời điểm sau đó. Ngoài những giao thức con SSL này, một SSL Application Data Protocol được sử dụng đê chuyển trực tiếp dữ lệu ứng dụng đến SSL Record Protocol.
SSL Handshake Protocol:
SSL Handshake Protocol là giao thức con SSL chính được xếp lớp trên SSL Record Protocol. Kết quả, các thông báo thiết lập quan hệ SSL được cung cấp cho lớp bản ghi SSL nơi chúng được bao bọc trong một hoặc nhiều bản ghi SSL vốn được xử lý và được chuyển như được xác định bởi phương pháp nén và thông số mật mã của session SSL hiện hành và các khoá mật mã của nối kết SSL tương ứng. Mục đích của SSL Handshake Protocol là yêu cầu một slient và server thiết lập và duy trì thông tin trạng thái vốn được sử dụng để bảo vệ các cuộc liên lạc. Cụ thể hơn, giao thức phải yêu cầu slient và server chấp thuận một phiên bản giao thức SSL chung, chọn phương thức nén và thông phức nén và thông số mật mã, tuỳ ý xác thực nhau và tạo một khoá mật chính mà từ đó các khoá session khác nhau dành cho viêc xác thực và mã hoá thông báo có thể được dẫn xuất từ đó.