1.3. Dịch vụ web (web service)
1.3.6. An ninh dịch vụ web
Dịch vụ web hoạt động trên môi trường mạng (intranet/internet). Nên cũng có rất nhiều khả năng bị tấn công do:
• Nghe trộm trên mạng
• Giả mạo thông điệp hoặc các đính kèm.
• Tấn công từ chối dịch vụ.
Để giải quyết các vấn đề này, vào tháng 4/2002, IBM, Microsoft và VeriSign đã kết hợp cùng nhau và công bố đặc tả của WS-Security. Sau đó, nó đã trở thành chuẩn OASIS an ninh của dịch vụ web. Mô hình kiến trúc của WS-Security được biểu diễn như sau [24]:
Hình 11 - Kiến trúc WS-Security
Các dịch vụ web được truy cập bằng cách trao đổi các thông điệp SOAP. Trong ngữ cảnh đó, an toàn cho dịch vụ web gồm 2 mục tiêu chính:
• Cung cấp các phương tiện để bảo đảm tính toàn vẹn và bí mật của các thông điệp.
• Các dịch vụ tương tác chỉ với các yêu cầu thông điệp diễn tả những gì đòi hỏi bởi các chính sách an ninh.
Mô hình WS-Security [24] biểu diễn tính đáp ứng cho các mục tiêu này:
Hình 12 - Mô hình WS-Security
WS-Security định nghĩa định dạng chuẩn để vận chuyển các thẻ an ninh (security tokens) và ánh xạ chúng tới các SOAP headers. WS-Security nhận biết các kiểu xác
định của security tokens mà hỗ trợ các cơ sở hạ tầng an ninh. Hiện tại, WS-Security có 5 kiểu security tokens:
• User token (<wsse:UsernameToken>): định danh và mật khẩu.
• X.509 certificate (wsse:BinarySecurityToken): sử dụng khoá công khai, được chứng thực bởi bên thứ ba có uỷ quyền.
• Kerberos ticket (<wsse:BinarySecurityToken>): sở hữu khoá phiên, được chứng nhận đủ quyền tạo yêu cầu tới các dịch vụ xác định.
• Security Assertion Markup Language (SAML): sử dụng cú pháp ngôn ngữ SAML để biểu diễn các xác nhận liên quan an ninh, như định danh, thuộc tính, được quyền.
• Rights Expression Language (REL): giấy phép biểu diễn các quyền ISO/IEC 2100-5.