Tải bản đầy đủ (.pdf) (92 trang)

TRIỂN KHAI DỊCH VỤ WEB CÓ BẢO MẬT SỬ DỤNG GIAO THỨC TLS V1.3 (Luận Văn Thạc Sĩ)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.22 MB, 92 trang )

Viện Công Nghệ Thông Tin Và Truyền Thông
ĐẠI HỌC BÁCH KHOA HÀ NỘI

Luận Văn Thạc Sĩ
TRIỂN KHAI DỊCH VỤ WEB
CÓ BẢO MẬT SỬ DỤNG GIAO THỨC TLS V1.3

Nguyen Thanh Long

Ha Noi, 2023


MỤC LỤC
MỤC LỤC ...........................................................................................................i
DANH MỤC KÝ HIỆU, TỪ VIẾT TẮT ............................................................ v
MỞ ĐẦU ..........................................................................................................vii
CHƯƠNG 1. TỔNG QUAN VỀ DỊCH VỤ WEB .............................................. 1
1.1 Giới thiệu chung về dịch vụ web ............................................................... 1
1.1.1 Khái niệm về dịch vụ web .................................................................. 1
1.1.2 Đặc điểm tính chất của dịch vụ web.................................................... 2
1.1.3 Ưu điểm và nhược điểm của dịch vụ web ........................................... 3
1.1.3.1 Ưu điểm ....................................................................................... 3
1.1.3.2 Nhược điểm ................................................................................. 4
1.2 Thành phần cấu trúc và một số khái niệm về dịch vụ web ......................... 4
1.2.1 Kiến trúc mơ hình dịch vụ web ........................................................... 4
1.2.2 Thành phần chính của dịch vụ web ..................................................... 5
1.2.2.1 SOAP – Simple Object Access Protocol ...................................... 5
1.2.2.2 UDDI – Universal Description, Discovery and Intergration ......... 8
1.2.3 Một số thành phần và khái niệm khác ............................................... 10
1.3 Một số hiểm họa đối với dịch vụ web ...................................................... 10
1.4 Một số giải pháp bảo mật dịch vụ Web .................................................... 12


1.4.1 eXtensible Access Control Markup Language (XACML) ................. 12
1.4.1.1 Tổng quan XACML ................................................................... 12
1.4.1.2 Mơ hình của XACML ................................................................ 13
1.4.1.3 Thành phần của XACML ........................................................... 14
1.4.2 Security Assertion Markup Language (SAML) ................................. 15
1.4.2.1 Tổng quan SAML ...................................................................... 15
1.4.2.2 Hoạt động của SAML ................................................................ 15
i


1.4.2.3 Đặc điểm của SAML ................................................................. 15
1.4.3 XML Key Management Specification (XKMS) ................................ 16
1.4.4 Web Services Policy Framework (WS-Policy) ................................. 17
1.4.5 eXentisble Rights Markup Language (XrML)................................... 18
1.4.6 Giao thức bảo mật Transport Layer Security (TLS) .......................... 19
1.4.6.1 Tổng quan TLS .......................................................................... 19
1.4.6.2 Chức năng và hoạt động của TLS .............................................. 20
1.4.6.3 Ứng dụng ................................................................................... 23
CHƯƠNG 2. GIAO THỨC TLS V1.3 VÀ MỘT SỐ LỖ HỔNG BẢO MẬT
CỦA GIAO THỨC ........................................................................................... 24
2.1 Giao thức TLS v1.3 ................................................................................. 24
2.1.1 Giới thiệu .......................................................................................... 24
2.1.2 Tổng quan về giao thức..................................................................... 24
2.1.2.1 Cơ chế nối lại phiên với Pre-Shared Key (PSK) ......................... 27
2.1.2.2 Cơ chế 0-RTT ............................................................................ 29
2.1.3 Giao thức bắt tay............................................................................... 31
2.1.3.1 Các thông báo trao đổi khóa ....................................................... 31
2.1.3.2 Tham số máy chủ ....................................................................... 37
2.1.3.3 Thông báo xác thực .................................................................... 39
2.1.4 Giao thức bản ghi (Record Protocol)................................................. 39

2.1.4.1 Lớp bản ghi (Record Layer) ....................................................... 40
2.1.4.2 Bảo vệ dữ liệu vận chuyển của bản ghi (Record Payload
Protection) ............................................................................................. 41
2.1.4.3 Giá trị nonce mỗi bản ghi (Per – Record Nonce) ........................ 43
2.1.4.4 Phần đệm bản ghi (Record Padding) .......................................... 43
2.1.4.5 Giới hạn sử dụng khóa (Limits on Key Usage) .......................... 44
ii


2.1.5 Giao thức cảnh báo (Alert Protocol) ................................................. 45
2.1.5.1 Cảnh báo đóng (Closure Alerts) ................................................. 45
2.1.5.2 Cảnh báo lỗi (Error Alerts) ........................................................ 46
2.1.6 0-RTT và chống phát lại (0-RTT and Anti-Replay) .......................... 49
2.2 Những cải tiến trong TLS v1.3 ................................................................ 50
2.2.1 Tốc độ và hiệu năng.......................................................................... 51
2.2.2 Vấn đề trao đổi khóa ......................................................................... 52
2.2.3 Vấn đề mật mã trong TLS 1.3 ........................................................... 55
2.2.4 Một số vấn đề khác ........................................................................... 56
2.3 Một số giải pháp an toàn đối với dịch vụ Web ......................................... 58
2.3.1 Giải pháp sử dụng tường lửa ............................................................. 59
2.3.2 Giải pháp chống botnet và DDoS ...................................................... 60
2.3.3 Bảo vệ đường truyền sử dụng SSL/TLS ............................................ 60
2.3.4 Kiểm soát truy cập ............................................................................ 60
2.3.5 Xây dựng và quản lý hệ thống thu thập và phân tích sự kiện ............ 61
2.3.6 Giải pháp sử dụng WS-Security ........................................................ 61
2.4 Giới thiệu giải pháp bảo mật web sử dụng TLS ....................................... 61
2.4.1 Giới thiệu giải pháp .......................................................................... 62
2.4.2 Hoạt động của HTTPS ...................................................................... 63
2.4.3 Một số lưu ý với giải pháp HTTPS ................................................... 65
2.5 Một số vấn đề an toàn đối với bộ giao thức SSL/TLS trong bảo mật web 67

CHƯƠNG 3. TRIỂN KHAI GIẢI PHÁP BẢO MẬT WEB SỬ DỤNG TLS 1.3
VỚI SERVER APACHE ................................................................................... 69
3.1 Giới thiệu và triển khai Apache trên môi trường Linux (CentOS 7) ......... 69
3.1.1 Giới thiệu Apache và mơ hình triển khai........................................... 69
3.1.2 Cài đặt Apache ................................................................................. 70
iii


3.2 Triển khai TLS v1.3 trên server Apache .................................................. 72
3.2.1 Tạo chứng chỉ ................................................................................... 72
3.2.2 Triển khai TLS 1.3............................................................................ 74
3.2.3 Kiểm tra kết quả thực nghiệm ........................................................... 77
KẾT LUẬN ....................................................................................................... 82
TÀI LIỆU THAM KHẢO ................................................................................. 83

iv


DANH MỤC KÝ HIỆU, TỪ VIẾT TẮT
TỪ VIẾT
TẮT

Ý NGHĨA

VIẾT TẮT CỦA

AEAD

Authenticated Encryption with
Associated Data


Mã hóa xác thực với dữ
liệu

CA

Certificate Authority

Cơ quan cấp chứng chỉ

DDoS

Distributed Denial of Service

DoS

Denial of Service

Tấn công từ chối dịch vụ

Datagram Transport Layer

Bảo mật lớp vận chuyển

Security
Elliptic Curve Diffie-Hellman
Exchange
Edwards-curve Digital Signature
Algorithm


Datagram
Trao đổi đường cong
Elliptic Curve-Hellman
Sơ đồ chữ ký số Edwardscurve

ELK

Elasticsearch, Logstash, Kibana

Công cụ xử lý log

FTP

File Transfer Protocol

Giao thức truyền tập tin

HKDF

HMAC-based extract-andHàm trích xuất và mở rộng
expand Key Derivation Function khóa dựa trên HMAC

HTTP

HyperText Transfer Protocol

Giao thức truyền siêu văn
bản

IETF


Internet Engineering Task Force

Nhóm đặc nhiệm kỹ thuật
Internet

IMAP

Internet Message Access
Protocol

Giao thức truy cập tin nhắn
Internet

JSON

JavaScript Object Notation

Kiểu dữ liệu đối tượng
JavaScript

LDAP

Lightweight Directory Access
Protocol

Phương thức đăng nhập
trực tiếp Lightweight

MAC


Message Authentication Code

Mã xác thực thông báo

DTLS
(EC) DHE
EdDSA

Tấn công phân phối từ chối
dịch vụ

v


MITM

Man In The Middle

Tấn công xen giữa

OASIS

Organization for the
Advancement off Structured
Ingormation Standards

Tổ chức vì sự tiến bộ của
các tiêu chuẩn thơng tin có
cấu trúc


PCT

Private Communications
Technology

Cơng nghệ truyền thơng cá
nhân

RPC

Remoto Procedure Call

Lời gọi thủ tục từ xa

SIEM

Security Information and Event
Management

Hệ thống bảo mật thông tin
và quản lý sự kiện

SOAP

Simple Object Access Protocol

Giao thức truy cập đối
tượng đơn giản


SSH

Secure Shell

Giao thức điều khiển truy
cập từ xa

SSL

Secure Sockets Layer

Giao thức bảo mật Socket

TCP/IP

Transmission Control
Protocol/Internet Protocol Suite

Bộ giao thức liên mạng

TLS

Transport Layer Security

Giao thức bảo mật tầng
giao vận

UDDI

Universal Description,

Discovery and Intergration

Mô tả phổ quát, khám phá
và tích hợp

URL

Uniform Resource Locator

Đường dẫn tài nguyên

VPN

Virtual Private Network

Mạng riêng ảo

WAF

Web Application Firewall

Tường lửa ứng dụng web

WS

Web Service

Dịch vụ web

WSDL


Web Service Descriptions
Language

Ngôn ngữ mô tả dịch vụ
web

XML

eXtensible Markup Language

Ngơn ngữ đánh dấu có thể
mở rộng

XSS

Scross Site Scripting

Tấn cơng dùng mã độc hại
vi


MỞ ĐẦU
Ngày nay với sự phát triển mạnh mẽ của môi trường Internet, việc áp dụng
công nghệ thông tin vào hầu hết các lĩnh vực ngày càng phổ biến. Nhu cầu trao
đổi thông tin trên Internet ngày càng nhiều, điều này ảnh hưởng rất lớn không
chỉ đến các cá nhân mà còn ảnh hưởng đến sự tồn tại và phát triển của các doanh
nghiệp. Web Service ra đời đã mở ra một hướng mới cho việc phát triển các ứng
dụng trên Internet giải quyết vấn đề chuyển đổi dữ liệu trong quy trình thương
mại của các doanh nghiệp. Nó cũng được xem là công nghệ mang đến cuộc cách

mạng trong cách thức hoạt động của các dịch vụ B2B (Business to Business) và
B2C (Business to Customer). Web Service kết hợp sử dụng nhiều công nghệ
khác nhau cho phép các ứng dụng được viết bằng các ngôn ngữ khác nhau, chạy
trên các nền tảng khác nhau có chuyển đổi dữ liệu thông qua môi trường mạng
Internet và sử dụng các công nghệ khác nhau như XML, SOAP, WSDL, UDDI.
Điều đó cũng đồng nghĩa với việc xuất hiện các rủi ro nhất định.
Cùng với sự phát triển của Web Service, nhu cầu bảo mật của các doanh
nghiệp cũng ngày càng nâng cao. Gần đây các cuộc tấn công vào các doanh
nghiệp ngày càng phổ biến, đặc biệt hầu hết các cuộc tấn công vẫn nhắm vào các
máy chủ web. Chúng bao gồm một số vấn đề như xác thực máy chủ, mã hóa dữ
liệu người dùng, tấn cơng vào lổ hỗng trong các cơng nghệ như XML, SOAP, …
Do đó, vấn đề bảo mật ngày càng trở nên cấp thiết hơn, cần có những giải pháp
bảo mật tốt hơn để bảo vệ máy chủ web, bảo vệ thông tin người dùng. Để giải
quyết vấn đề này giải pháp sử dụng TLS đối với Web Service là một trong
những giải pháp phổ biến đối với mọi người và là cần thiết đối với sự bảo mật
của các doanh nghiệp.
Được thiết kế bởi Netscape bao gồm các cơ chế bảo mật trong các sản
phẩm trình duyệt để tạo ra truyền thơng an tồn trên mạng. TLS hiện đang là
giao thức bảo mật được sử dụng phổ biến trên Internet, đồng thời hỗ trợ nhiều
thuật tốn mã hóa mạnh mẽ với mục tiêu chính đó là cung cấp một kênh truyền
an toàn giữa hai kết nối giao tiếp, yêu cầu duy nhất từ vận chuyển cơ bản là
luồng dữ liệu theo thứ tự đáng tin cậy.
Đồ án “Tìm hiểu và triển khai dịch vụ Web có bảo mật sử dụng giao
thức TLS v1.3” nhằm cung cấp những hiểu biết chung về dịch vụ web, các hiểm
vii


họa cũng như giải pháp bảo mật cho dịch vụ web, trong đó sử dụng giải pháp cụ
thể là TLS để bảo mật cho dịch vụ web.
Đồ án sẽ thực hiện những mục tiêu sau:

1. Tìm hiểu chung về dịch vụ web như cấu trúc, thành phần, hoạt động cơ
bản của dịch vụ web, một số hiểm hoạ và giải pháp bảo mật dịch vụ
web.
2. Giới thiệu bộ giao thức TLS 1.3, các giao thức, những cải tiến trong
TLS 1.3 và một số giải pháp an toàn đối với dịch vụ web.
3. Tiến hành triển khai giải pháp bảo mật web sử dụng TLS 1.3 trên máy
chủ Apache.

viii


CHƯƠNG 1. TỔNG QUAN VỀ DỊCH VỤ WEB
1.1 Giới thiệu chung về dịch vụ web
1.1.1 Khái niệm về dịch vụ web
Dịch vụ web (WS – Web Service) là một hệ thống phần mềm được thiết
kế nhằm hỗ trợ sự tương tác giữa các máy tính có thể kết nối với nhau qua mạng
(hình 1.1). Nó có giao diện được mơ tả theo định dạng xử lý của máy (cụ thể là
WSDL). Các hệ thống khác tương tác với dịch vụ web được mô tả qua các thông
điệp SOAP, thường được truyền tải bằng HTTP với tuần tự hóa XML kết hợp
với các tiêu chuẩn liên quan đến web khác.[2]

Hình 1.1 Mơ hình dịch vụ web tổng quan
Dịch vụ web có khả năng nhận một hoặc nhiều yêu cầu xử lý và sau đó
đáp ứng lại bằng cách trả về các kết quả tương ứng. Quá trình nhận yêu cầu và
trả kết quả được thực hiện thông qua các giao diện đã được định nghĩa trước.
Những giao diện này được mô tả theo định dạng mà đã được nhắc trước đó. Cụ
thể dịch vụ web sẽ được xác định bằng các URL với chức năng trong việc đưa ra
yêu cầu từ phía người dùng. Nó có thể cung cấp các chức năng khác nhau tùy
thuộc vào dịch vụ web cung cấp.
Dịch vụ web sử dụng nền tảng ngôn ngữ là XML cho việc trao đổi dữ liệu.

Các hệ thống tương tác với các dịch vụ web theo một phương pháp mà được quy
định bằng cách sử dụng các thông điệp SOAP qua giao thức HTTP. Mơ hình đặc
thù của dịch vụ web vẫn là Client-Server.
1


Các dịch vụ web được chạy trên nền các máy chủ web, được tích hợp tạo
nên một hệ thống lớn hơn. Đó cũng là ứng dụng cơ bản của dịch vụ web trong
phát triển các hệ thống. Trong các hệ thống này, các ứng dụng cần phải tích hợp,
kết nối với cơ sở dữ liệu và các ứng dụng, dịch vụ khác và người dùng sẽ giao
tiếp với cơ sở dữ liệu để tiến hành phân tích và đưa ra những kết quả cần thiết.
Tuy nhiên, đối với một hệ thống lớn thì quá trình này thường là quá trình trung
gian và được thực hiện ở bên thứ ba. Người dùng cuối chỉ đưa ra yêu cầu thông
qua các URL và nhận kết quả mong muốn.
1.1.2 Đặc điểm tính chất của dịch vụ web
XML-Based: các dịch vụ web sử dụng XML làm nền tảng cho việc biểu
diễn dữ liệu trong tầng giao vận. Sử dụng XML sẽ loại bỏ các ràng buộc về
mạng, hệ điều hành hoặc nền tảng xử lý. Điều đó cũng có nghĩa các ứng dụng
dựa trên web sẽ có khả năng tương tác cao ở mức độ cốt lõi của chúng.
Loosely Coupled: kết nối “lỏng lẻo” có thể gỡ bỏ các ràng buộc giữa các
mơ dun với nhau, mỗi hệ thống có thể tự quản lý độc lập để tăng hiệu suất, đem
lại sự độc lập cho các bên. Cụ thể người dùng của một ứng dụng web sẽ không bị
ràng buộc trực tiếp với dịch vụ web đó. Giao diện dịch vụ web có thể thay đổi
theo thời gian mà không ảnh hưởng đến khả năng tương tác với dịch vụ của
khách hàng. Một hệ thống kết hợp chặc chẽ nghĩa là bao gồm sự liên kết chặt chẽ
giữa máy khách và máy chủ, điều đó ngụ ý rằng nếu một giao diện thay đổi thì
giao diện kia cũng phải được cập nhật. Việc chấp nhận một kiến trúc kết hợp
“lỏng lẻo” có xu hướng làm cho các hệ thống phần mềm trở nên dễ dàng quản lý
hơn và việc tích hợp giữa các hệ thống khác nhau cũng trở nên đơn giản hơn.
Coarse-Grained: điều này ý nói đến các dữ liệu thơ, các cơng nghệ hướng

đối tượng trình bày các dịch vụ của mình thông qua các phương thức riêng lẻ.
Một phương pháp riêng lẻ là một hoạt động tốt để cung cấp bất kỳ khả năng hữu
ích nào ở doanh nghiệp. Việc xây dựng dịch vụ, một chương trình hướng đối
tượng địi hỏi phải tạo ra các phương thức cơ bản sau đó kết hợp chúng lại với
nhau để tạo thành một dịch vụ chi tiết được sử dụng bởi người dùng hoặc một
dịch vụ khác. Công nghệ dịch vụ web cung cấp một cách cơ bản để xác định các
dịch vụ chi tiết nhằm cung cấp truy cập hiệu quả đến các đối tượng kinh doanh.
2


Khả năng đồng bộ hoặc khơng đồng bộ: với tính đồng bộ, khả năng này
đề cập đến sự ràng buộc của khách hàng đối với việc thực hiện dịch vụ. Trong
các hoạt động đồng bộ, bên yêu cầu thực sự sẽ đợi dịch vụ web hoàn thành xong
một thao tác. Ví dụ một thao tác bởi một yêu cầu trong đó bao gồm việc đọc và
ghi cơ sở dữ liệu đang được thực hiện. Nếu dữ liệu được đọc từ một cơ sở dữ
liệu này và sau đó lại ghi vào dữ liệu khác thì thao tác này phải được thực hiện
theo cách thức liên tiếp, đảm bảo sự đồng bộ trong thao tác thực hiện và dữ liệu
trong cơ sở dữ liệu. Đối với tính khơng đồng bộ, các hoạt động này cho phép bên
máy khách gọi một dịch vụ sau đó thực hiện các chức năng khác một cách song
song. Cụ thể bên khách sẽ không cần chờ đến khi thông điệp yêu cầu xử lý xong
và trả về nên sẽ không bị ảnh hưởng đến độ trễ cũng như đảm bảo rằng các dịch
vụ khác không bị dừng khi một hoạt động cụ thể đang được thực hiện.
Hỗ trợ các lời gọi thủ tục từ xa: dịch vụ web cho phép tương tác giữa các
máy khác nhau qua mạng. Do đó việc hỗ trợ các chức năng, thủ tục từ xa này là
điều hiển nhiên. Cụ thể, các dịch vụ web cho phép bên khách hàng gọi các thủ
tục, hàm chức năng và phương thức trên các đối tượng từ xa thông qua các giao
thức truyền vận dựa trên XML. Các thủ tục từ xa cho thấy sự hỗ trợ của các dịch
vụ web là các tham số đầu vào và tham số đầu ra.
Hỗ trợ trao đổi tài liệu: đây cũng là lợi thế của việc sử dụng nền tảng
XML, nó khơng chỉ mơ tả cho các tài liệu đơn giản mà còn cả các tài liệu phức

tạp. Họ có thể tạo ra các tài liệu từ đơn giản đến phức tạp dựa trên XML, trao đổi
chúng. Các dịch vụ web hỗ trợ việc trao đổi minh bạch giữa các tài liệu để tạo
điều kiện tốt hơn trong các bên, các doanh nghiệp.
1.1.3 Ưu điểm và nhược điểm của dịch vụ web
1.1.3.1 Ưu điểm
Dịch vụ web cung cấp khả năng hoạt động rộng lớn với các ứng dụng
phần mềm khác nhau và chạy trên các nền tảng khác nhau, không phụ thuộc vào
hệ thống mạng, hệ điều hành hay bất kỳ nền tảng nào.
Sử dụng các giao thức và các chuẩn mở, phổ biến như HTTP, TCP, XML
giúp các lập trình viên dễ dàng hiểu được.

3


Có khả năng tự phục hồi, trong các kiến trúc hướng dịch vụ thì việc các
dịch vụ có thể hoạt động hay ngừng bất kỳ lúc nào. Khả năng tự phục hồi sau lỗi
sẽ giúp tăng độ tin cậy cho ứng dụng và hệ thống.
Tạo mối quan hệ tương tác mềm dẻo giữa các thành phần trong hệ thống,
dễ dàng trong việc phát triển các ứng dụng phân tán và tích hợp các hệ thống
khác nhau. Từ đó giúp đơn giản sự phức tạp của hệ thống, làm giảm giá thành
trong hoạt động, phát triển của các doanh nghiệp.
1.1.3.2 Nhược điểm
Do được kết nối qua nhiều máy chủ trung gian, việc xử lý các yêu cầu có
thể sẽ ảnh hưởng đến băng thông và việc tốc độ đường truyền giảm cũng sẽ ảnh
hướng đến các dịch vụ web.
Tồn tại những mối nguy trong khoảng thời gian chết của dịch vụ web.
Như là xử lý dữ liệu hay giao diện chưa được cập nhật, cụ thể như có thể xảy ra
lỗi nếu một máy khách không cập nhật giao diện.
Không hỗ trợ kết nối thời gian dài và duy trì trạng thái kết nối.
Dịch vụ web thiếu cơ chế khôi phục đủ tin cậy để đảm bảo giao dịch được

khôi phục lại trạng thái ban đầu trong trường hợp xảy ra sự cố.
1.2 Thành phần cấu trúc và một số khái niệm về dịch vụ web
1.2.1 Kiến trúc mơ hình dịch vụ web
Hầu hết các cơng nghệ đều có kiến trúc riêng để đảm bảo hoạt động hiệu
quả với mơ hình làm việc của mình. Tương tự, các dịch vụ web cũng có mơ hình
kiến trúc riêng, chúng cơ bản bao gồm Provider, Requester và Broker cùng với
hoạt động xử lý được mơ tả như hình 1.2:

Hình 1.2 Kiến trúc mơ hình dịch vụ web
4


Trong đó:
− Service Broker: tạo các dịch vụ web và cung cấp các ứng dụng cho
khách hàng muốn sử dụng dịch vụ web.
− Service Requester: liên hệ giữa ứng dụng khách hàng với dịch vụ web.
Ứng dụng máy khách có thể là .NET, java hoặc bất kỳ ứng dụng dựa
trên ngơn ngữ nào khác để tìm kiếm các loại chức năng cụ thể thông
qua dịch vụ web. Khách hàng yêu cầu sử dụng một dịch vụ web hiện
có bằng cách mở kết nối mạng và gửi yêu cầu XML.
− Service Provider: là ứng dụng cung cấp quyền truy cập vào UDDI.
UDDI cho phép ứng dụng xác định vị trí của dịch vụ web. UDDI sẽ
được nhắc đến trong mục 1.2.2.2.
Cũng trong hình 1.2 tơi sẽ nói sơ về hoạt động của dịch vụ web bao gồm
Publish, Find và Bind tuần tự cụ thể:
− Publish: bên cung cấp (Provider) sẽ cung cấp cho bên trung gian
(Broker) về sự tồn tại của dịch vụ web bằng cách sử dụng các giao
diện chuẩn của bên cung cấp nhằm cho biết rằng dịch vụ đã sẵn sàng.
− Find: khách hàng yêu cầu tư vấn từ các Broker để tìm một dịch vụ phù
hợp với yêu cầu của họ.

− Bind: với thông tin nhận được từ các Broker về dịch vụ web, khách
hàng có thể yêu cầu liên kết hoặc sử dụng dịch vụ web.
1.2.2 Thành phần chính của dịch vụ web
Có hai loại dịch vụ web chính đó là SOAP và RESTful. Tuy nhiên, để một
dịch vụ web có đầy đủ chức năng thì một số thành phần nhất định cần phải có và
cần phải được trình bày để bất kỳ ngơn ngữ nào cũng có thể phát triển để lập
trình dịch vụ web. Chúng được trình bày cụ thể bao gồm:
1.2.2.1 SOAP – Simple Object Access Protocol
SOAP là một giao thức dựa trên XML để truy cập các dịch vụ web qua
HTTP. SOAP có một số đặc điểm kỹ thuật có thể được sử dụng trên tất cả các
ứng dụng.
SOAP được gọi là giao thức truy cập đối tượng đơn giản trước đây, nhưng
sau đó đến phiên bản 1.2, SOAP đã là một giao thức cụ thể nói cách khác là định
5


nghĩa về cách các dịch vụ web nói chuyện với nhau hoặc nói chuyện với các ứng
dụng khách hàng.
SOAP được phát triển như một ngôn ngữ trung gian để các ứng dụng được
xây dựng trên các ngơn ngữ lập trình khác nhau có thể nói chuyện dễ dàng với
nhau.
Khi một ứng dụng khách hàng sử dụng các dịch vụ web, các đặc tả SOAP
sẽ định nghĩa một số thứ trong đó quan trọng nhất là SOAP Message. Cấu trúc
của một SOAP Message được mơ tả như mơ hình 1.3:

Hình 1.3 Mơ hình của một SOAP Message
Mơ tả thơng điệp SOAP theo mơ hình trên cũng là một thơng điệp văn bản
XML cơ bản bao gồm các phần tử như:
− SOAP Envelop (phần từ gốc): phần tử bao trùm nội dung thông điệp,
khai báo văn bản XML như là một thông điệp SOAP.

− SOAP Header: chứa các thông tin tiêu đề cho trang, phần tử này là tùy
chọn. Những header có thể chứa thông tin xác thực, chữ ký số, thông
tin mã hóa.
− SOAP Body: chứa các thơng tin u cầu và phản hồi trong các kết nối
sử dụng dịch vụ web. Về cơ bản phần này bao gồm tên thông điệp,
một mô tả thể hiện của dịch vụ và các tham số trong u cầu.
Ngồi ra cịn có phần tử phát sinh lỗi, cung cấp các thông tin lỗi xảy ra
trong q trình xử lý thơng điệp.
6


Có ba kiểu thơng báo khi truyền thơng điệp bao gồm:
− Resquest message: là thông điệp yêu cầu dịch vụ với các tham số
tương ứng trong yêu cầu.
− Response message: là thông điệp phản hồi chứa các kết quả, tham số
trả về để đáp ứng yêu cầu của bên gửi.
− Fault message: thơng điệp báo lỗi trong q trình truyền, xử lý thơng
điệp u cầu.
Một ví dụ cơ bản về thông điệp yêu cầu và phản hồi được mô tả bởi XML
như hình 1.4 và hình 1.5:

Hình 1.4 Ví dụ thơng điệp u cầu mơ tả bởi XML

Hình 1.5 Ví dụ thơng điệp u cầu mơ tả bởi XML
Như hình minh họa trên phần đầu tiên của thông điệp SOAP là Envelope
sẽ bao tồn bộ thơng điệp. Tiếp theo là header và phần thân, đối với yêu cầu sẽ
sử dụng dịch vụ GetTuitionrequest với tham số là GetID chấp nhận đối số kiểu
số thực và một Item để yêu cầu học phí của sinh viên với ID được cung cấp. Với
thông điệp phản hồi sẽ nhận được thông qua GetTuitionresponse với tham số
phản hồi là Tuition cho phép biết mức học phí kết quả.

7


SOAP hỗ trợ hai kiểu truyền thông là RPC (Remote Procedure Call) và
Document. Hai kiểu truyền thông này cung cấp các định dạng thông điệp, tham
số, lời gọi đến các API khác nhau nên việc sử dụng chúng tùy thuộc vào thời
gian và sự phù hợp với dịch vụ web cần xây dựng:
− Remote procedure call (RPC): cho phép gọi hàm hoặc thủ tục qua
mạng, đây là kiểu triển khai phổ biến của các dịch vụ web.
− Document: được biết đến như kiểu hướng thơng điệp, nó cung cấp sự
giao tiếp ở mức trừu tượng, khó hiểu hơn và yêu cầu các lập trình viên
tốn nhiều thời gian hơn.
Đối với cấu trúc dữ liệu, SOAP cũng cung cấp những định dạng và khái
niệm cơ bản giống như trong các ngôn ngữ lập trình khác như kiểu dữ liệu,
mảng, cấu trúc từ cơ bản đến các kiểu phức tạp.
Với mã hóa, ở thời điểm hiện tại chưa nói đến vấn đề bảo mật mà cụ thể là
sự đồng bộ của các dữ liệu truyền đi. Cụ thể các dịch vụ được tạo ra bằng các
ngôn ngữ khác nhau như java, .NET sẽ được chuyển đổi qua định dạng trung
gian đã được nhắc đến đó là XML. Thơng tin định dạng vẫn sẽ được đưa ra tại
Broker. Điều đó đồng nghĩa với việc nếu một kiểu dữ liệu được sử dụng dưới
dạng mã hóa thì sẽ có một ánh xạ tồn tại trong bảng của Broker (Register) ở môi
trường thực thi của SOAP đó để hai bên có thể hiểu và sử dụng dịch vụ.
1.2.2.2 UDDI – Universal Description, Discovery and Intergration
UDDI tạm dịch là mơ tả, khám phá, tích hợp tồn cầu là một chuẩn được
thiết kế để cung cấp một thư mục có thể tìm kiếm của các doanh nghiệp và dịch
vụ web của họ. UDDI cung cấp một cơ chế để mọi người khám phá các dịch vụ
web. Nó định nghĩa một khung thông tin cho phép doanh nghiệp mơ tả và phân
loại tổ chức của mình, dịch vụ và những chi tiết kỹ thuật về giao diện của dịch
vụ web mà doanh nghiệp muốn trình bày. Khung thơng tin này cho phép phát
hiện dịch vụ một cách thích hợp.

UDDI giao tiếp thông qua SOAP. Sử dụng WSDL để mơ tả giao diện đến
dịch vụ web.
Tóm lại UDDI nhằm giúp khách hàng tìm kiếm dịch vụ, ghi nhận thơng
tin về cách sử dụng dịch vụ bằng cách định nghĩa các thành phần của các thông
tin biết trước do việc truy tìm thơng tin cũng như việc sử dụng dịch vụ.
8


Muốn sử dụng đến các dịch vụ của UDDI, bản thân UDDI cung cấp một
tập hàm API dưới dạng SOAP Web Service. Tập API được chia làm hai phần:
Inquiry API dùng truy vấn và Publisher API dùng để đăng ký. Phần API dùng để
truy vấn bao gồm hai phần con: một phần dùng để tạo ra các chương trình cho
phép tìm kiếm và duyệt thơng tin trên một UDDI Registry, phần còn lại dùng để
xử lý lỗi yêu cầu lời gọi.
Thành phần xử lý chính là bộ đăng ký UDDI, đó là một tệp XML dùng để
mơ tả một thực thể kinh doanh kèm theo các dịch vụ web đi cùng. Sử dụng các
dịch vụ của UDDI, các doanh nghiệp đăng ký thông tin về những dịch vụ web
mà họ định cung cấp. Thông tin này được thêm vào UDDI Registry thông qua
Website hoặc sử dụng các công cụ lập trình sử dụng các dịch vụ theo đúng đặc tả
của các lập trình viên tạo ra các API UDDI đó.
Cấu trúc của UDDI bao gồm:
White pages: chứa thông tin liên hệ các định dạng chính của dịch vụ web
như tên giao dịch, thông tin nhận dạng, địa chỉ. Những thông tin này giúp các đối
tượng khác xác định được dịch vụ cung cấp.
Yellow pages: chứa thông tin mô tả dịch vụ web theo những loại khác
nhau. Những thông tin này giúp các đối tượng thấy được cụ thể loại mà dịch vụ
web đấy thuộc về.
Green pages: chứa các thông tin kỹ thuật mô tả các hành vi và chức năng
của dịch vụ web.
Các đặc tả được trình bày trong một mơ hình thơng tin bao gồm các

trường của cấu trúc dữ liệu liên tục gọi là các thực thể (entry). Các thực thể được
thể hiện bằng XML và được lưu trữ liên tục giữa các điểm (inode). Mỗi cấu trúc
ấy bao gồm các thể hiện trong bản ghi với các thành phần sau:
businessEntity: mô tả doanh nghiệp hoặc tổ chức cung cấp dịch vụ, ví dụ
như các thơng tin về địa chỉ, liên hệ, tên giao dịch.
businessService: mô tả tập hợp các dịch vụ web có liên quan được cung
cấp bởi một tổ chức được mơ tả bởi businessEntity. Ví dụ như tên dịch vụ, danh
sách các chức năng mà dịch vụ web của doanh nghiệp cung cấp.
bindTemplate: mô tả thông tin kỹ thuật chi tiết để sử dụng một dịch vụ
web cụ thể.
9


tModel: mơ tả mơ hình kỹ thuật đại diện cho một khái niệm có thể sử dụng
lại. Chẳng hạn như loại dịch vụ web, giao thức được sử dụng bởi dịch vụ web
hoặc hệ thống các danh mục.
publishAssertion: mô tả theo quan điểm của một businessEntity, mối quan
hệ mà businessEntity với một businessEntity khác.
subscription: mô tả một yêu cầu thường trực để theo dõi các thay đổi đối
với các thực thể được mô tả bởi subscription.
Những thông tin về dịch vụ web được sử dụng và công bố lên mạng sử
dụng giao thức này. Nó sẽ kích hoạt các ứng dụng tìm kiếm thơng tin của dịch
vụ web khác nhằm xác định các dịch vụ nào sẽ cần đến nó.
1.2.3 Một số thành phần và khái niệm khác
Ngôn ngữ đánh dấu mở rộng hay XML (eXtensible Markup Language)
được W3C đề nghị với mục đích tạo ra các ngơn ngữ kịch bản khác, có khả năng
mơ tả nhiều loại dữ liệu khác nhau. Mục đích chính của XML là giúp đơn giản
hóa việc chia sẻ dữ liệu giữa các hệ thống khác nhau, đặc biệt là các hệ thống
máy tính, dịch vụ kết nối qua mạng với nhau.
Về hình thức, XML hồn tồn có cấu trúc thẻ giống ngơn ngữ HTML

nhưng HTML định nghĩa thành phần được hiển thị như thế nào cịn XML thì
định nghĩa những thành phần đó chứa những gì. Với XML, các thẻ có thể được
lập trình viên tự tạo ra trên mỗi trang web và được chọn là định dạng thơng điệp
chuẩn bởi tính phổ biến và hiệu quả mã nguồn mở.
Ngồi XML thì hiện nay phổ biến hơn đó là JSON (JavaScript Object
Notation) hay ký hiệu đối tượng javascript. Đây là một dạng dữ liệu tuân theo
một quy luật nhất định mà hầu hết các ngơn ngữ lập trình hiện nay để có thể đọc
được và rất phổ biến. JSON cũng là một kiểu dữ liệu trung gian, chủ yếu được
dùng để vận chuyển thông tin giữa các thành phần của một chương trình. Ngày
nay người ta cũng có thể dùng JSON trong các dịch vụ web.
1.3 Một số hiểm họa đối với dịch vụ web
Các mối đe dọa đối với dịch vụ web thường liên quan đến các mối đe dọa
đối với hệ thống máy chủ, ứng dụng và toàn bộ cơ sở hạ tầng mạng. Để đảm bảo
an toàn cho các dịch vụ web, cần có một loạt các cơ chế bảo mật dựa trên XML
10


để giải quyết các vấn đề xác thực, kiểm soát truy cập dựa trên vai trị, thực thi
chính sách bảo mật phân tán, bảo mật các thông điệp giữa các bên trung gian.
Trong thực tế có rất nhiều hiểm họa từ nhiều phía như đã được nêu trên.
Tuy nhiên có thể giới thiệu một số hiểm họa đối với dịch vụ web phổ biến bao
gồm:
− Thay đổi thông điệp (Message Alteration): những mối đe dọa này
thường ảnh hưởng đến tính tồn vẹn của thơng điệp. Theo đó, kẻ tấn
cơng có thể sửa đổi các phần hoặc tồn bộ thơng điệp. Ví dụ, kẻ tấn
cơng có thể xóa một phần của thông điệp hoặc sửa đổi, chèn thêm
thông tin vào thông điệp. Các cuộc tấn cơng này có thể ảnh hưởng đến
các tiêu đề (header) hoặc toàn bộ phần thân (body). Kẻ tấn cơng cũng
có thể làm ảnh hưởng đến tính tồn vẹn của thơng điệp bằng cách thao
túng các tệp đính kèm của nó. Ví dụ như một cuộc tấn cơng xóa một

tệp đính kèm hoặc sửa đổi một tệp đính kèm/chèn một tệp vào thơng
điệp mục tiêu của kẻ tấn công.
− Lộ thông điệp (Confidentiality): trong hiểm họa này, các thực thể trái
phép được quyền truy cập vào các thơng tin trong một phần hoặc cả
tồn bộ thơng điệp. Ví dụ, một bên trung gian có được quyền truy cập
vào thơng tin thẻ tín dụng dành cho người dùng cuối.
− Tấn công xen giữa (Man-in-the-middle – MITM): đây là mối đe dọa
phổ biến, không chỉ đối với dịch vụ web mà cịn rất nhiều các cơng
nghệ, ứng dụng khác cũng bị ảnh hưởng đến bởi loại tấn công này. Với
dịch vụ web, trong cuộc tấn công MITM kẻ tấn cơng có thể xây
dựng/thỏa hiệp một SOAP trung gian và sau đó chặn các thơng điệp
truyền đi giữa máy chủ phục vụ web và người dùng. Các bên ban đầu
vẫn nghĩ rằng họ đang liên lạc với nhau. Kẻ tấn cơng có thể chỉ có
quyền truy cập vào các thơng điệp hoặc sửa đổi chúng. Tuy nhiên về
cơ bản, các kỹ thuật xác thực lẫn nhau có thể được sử dụng làm giảm
bớt các mối đe dọa từ các cuộc tấn công này.
− Tấn công giả mạo (Spoofing): tấn công giả mạo là một cuộc tấn công
phức tạp hơn nhằm vào việc khai thác các mối quan hệ tin cậy. Kẻ tấn
cơng giả định danh tính của một sự tin cậy để phá hoại sự bảo mật của
11


mục tiêu. Theo như đối tượng mục tiêu biết, nó đang thực hiện một
cuộc trò chuyện với một thực thể đáng tin cậy. Thông thường giả mạo
được sử dụng như một kỹ thuật để khởi chạy các hình thức tấn công
khác như tấn công giả mạo thông điệp. Và kỹ thuật xác thực mạnh mẽ
cũng là cần thiết để bảo vệ chống lại các cuộc tấn công như vậy.
− Tấn công từ chối dịch vụ (Denial of Service): mối đe dọa từ các cuộc
tấn công từ chối dịch vụ cụ thể cuộc tấn công tập trung vào việc ngăn
chặn người dùng hợp pháp của dịch vụ web khỏi khả năng sử dụng

dịch vụ này. Các cuộc tấn công DoS rất dễ thực hiện và gây ra những
thiệt hại tương đối đáng kể. Các cuộc tấn cơng DoS có thể phá vỡ sự
hoạt động của tác nhân đang bị tấn công và ngắt kết nối với phần còn
lại trong cuộc liên lạc một cách hiệu quả. Tấn công từ chối dịch vụ có
thể có rất nhiều hình thức và mục tiêu đa dạng vào các dịch vụ web
khác nhau. Thường thì các cuộc tấn công DoS cũng khai thác các điểm
yếu trong kiến trúc của hệ thống xây dựng nên dịch vụ web.
− Tấn công dùng lại (Replay Attacks): trong cuộc tấn công này, kẻ xâm
nhập chặn một tin nhắn và sau đó phát lại nó cho một tác nhân khác
mà đó là mục tiêu của kẻ tấn cơng. Đây cũng là một hiểm họa đối với
các dịch vụ web. Tuy nhiên, các kỹ thuật đánh giá phù hợp cùng với
các kỹ thuật như dấu thời gian (time stamp) và đánh số thứ tự các
thơng điệp có thể bảo vệ chống lại các cuộc tấn cơng phát lại này.
Ngồi ra cịn một số hiểm họa bởi các cuộc tấn công vào các ứng dụng
như SQL Injection, Cross Site Script (XSS), tấn công vượt tường lửa, … cũng là
những mối đe dọa đối với các dịch vụ web.
1.4 Một số giải pháp bảo mật dịch vụ Web
1.4.1 eXtensible Access Control Markup Language (XACML)
1.4.1.1 Tổng quan XACML
Các chính sách điều khiển truy cập rất phức tạp và phải được thi hành tại
nhiều điểm. Trong một mơi trường phân phối, ví dụ như thiết lập một dịch vụ
Web, thực hiện các chính sách điều khiển truy cập bằng cách cấu hình chúng tại
mỗi điểm, khiến cho các chính sách trở nên khơng đáng tin cậy. Hơn nữa, các
chính sách điều khiển truy cập thường được thể hiện thông qua các ngôn ngữ độc
12


quyền và khác nhau. XACML được hình thành để giải quyết vấn đề này, bằng
cách cung cấp một tiêu chuẩn, ngơn ngữ duy nhất để xác định các chính sách
điều khiển truy cập. XACML phiên bản 2.0 đã được chấp nhận như một tiêu

chuẩn OASIS cùng với sáu cấu hình của XACML: SAML 2.0, XML Digital
Signature, Privacy Policy (chính sách bảo mật), Hierarchical Resource (phân cấp
tài nguyên) và RBAC (Role-Based Access Control). XACML là một tiêu chuẩn
bổ sung của OASIS để đưa ra các quyết định việc điều khiển truy cập.
XACML được thực hiện trong XML.
Các đối tượng của XACML được dùng để tạo ra một tiêu chuẩn cho việc
miêu tả các thực thể điều khiển truy cập và các thuộc tính của chúng. Chúng đề
nghị nhiều các điều khiển truy cập hơn việc từ chối và cấp quyền truy cập.
1.4.1.2 Mơ hình của XACML
Access
Requestar

PDP

PEP

Context
Handler

Obligations
Service

Resource

PIP

PAP

Subjects


Environment

Hình 1.6 Kiến trúc XACML
PEP: Policy Enforcement Point: Thực hiện kiểm soát truy cập bằng cách
yêu cầu quyết định và thực thi các quyết định ủy quyền.
PAP: Policy Administration Point: Tạo và lưu trữ chính sách bảo mật.

13


PDP: The Policy Decision Point: Nhận, xem xét yêu cầu. Sau đó áp dụng
các chính sách cùng với việc đánh giá các chính sách đó rồi trả về PEP.
PIP: Policy Information Point: Là nguồn gốc của các giá trị thuộc tính
hoặc các dữ liệu cần thiết để đánh giá chính sách.
Context Handler: Xác định để chuyển đổi các yêu cầu theo định dạng gốc
của nó với hình thức XACML và chuyển đổi các quyết định ủy quyền theo hình
thức XACML sang định dạng gốc.
Các chính sách XACML sẽ được nạp vào PAP, tại đây các chính sách sẽ
được gửi tiếp tới PDP. PDP là điểm quyết định sẽ sử dụng chính sách nào cho
các u cầu truy cập. Khi có một yêu cầu truy cập được gửi tới PEP, nó sẽ tiếp
nhận các yêu cầu và thực hiện chúng bằng cách yêu cầu tới các văn bản xử lý.
Các văn bản này lại được gửi yêu cầu tới PDP, tại đây các yêu cầu được xử lý và
sau đó được gửi phản hồi lại cho Context Handler. Và tiếp tục gửi lại cho PEP –
nơi thực hiện các chính sách sau khi đã qua quá trình xử lý và thực hiện tại PDP.
Sau khi thực thi các chính sách PEP sẽ gửi các chính sách tới các máy chủ chứng
thực và tạo ra các tài nguyên để chia sẻ. Các tài nguyên này kết hợp cùng với PIP
được lưu trữ trở lại cho Context Handler phục vụ cho những yêu cầu lần sau.
Các XACML Context Handler sẽ cách ly và xử lý các ứng dụng cho các
đầu vào và đầu ra sử dụng PDP. Trong thực tế, đó là các Context Handler dùng
để dịch các yêu cầu về truy cập ứng dụng từ định dạng ban đầu của nó sang định

dạng theo chuẩn trên. Mấu chốt XACML là xác định các cú pháp cho một ngơn
ngữ chính bất kỳ, ngữ nghĩa cho các quy tắc chính sách và giao thức nhằm đáp
ứng các yêu cầu giữa PEP và PDP.
1.4.1.3 Thành phần của XACML

Hình 1.7 Thành phần của XACML
14


Một XACML bao gồm 3 thành phần cơ bản sau:
− Rule (quy tắc).
− Policy (chính sách).
− Policy Set (thiết lập chính sách).
1.4.2 Security Assertion Markup Language (SAML)
1.4.2.1 Tổng quan SAML
SAML là sự kết hợp giữa S2ML và AuthML, được phát triển thông qua
OASIS. SAML là một tiêu chuẩn dựa trên XML, được hình thành như một
khn khổ cho việc trao đổi thông tin liên qaun đến an ninh, thể hiện dưới các
xác nhận và sự tin tưởng giữa các bên tham gia trao đổi, nhằm xác thực giao tiếp
người dùng, quyền lợi và các thuộc tính thơng tin.
1.4.2.2 Hoạt động của SAML
Hỗ trợ việc khẳng định các chứng thực gốc duy nhất giữa các domain với
nhau. Việc khẳng định có thể truyền đạt thơng tin về các thuộc tính của đối
tượng và có thể quyết định ủy quyền cho đối tượng được phép truy cập tài
nguyên nhất định.
− Xác thực tin tưởng.
− Chứng thực các vấn đề lên Domain.
− Tập trung các vấn đề xác thực SAML hỗ trợ ba loại xác nhận:
• Xác thực: các đối tượng quy định được chứng thực tại thời điểm cụ
thể.

• Thuộc tính: Các đối tượng quy định có liên quan tới thuộc tính
được cung cấp.
• Quyết định ủy quyền: một yêu cầu cho phép đối tượng quy định để
truy cập vào tài nguyên quy định đã được cấp hoặc từ chối.
1.4.2.3 Đặc điểm của SAML
Một SAML duy nhất khẳng định có thể chứa một số báo cáo khẳng định
về chứng thực, ủy quyền. Khẳng định là do cơ quan SAML, cụ thể là cơ quan
thẩm định, cơ quan thuộc tính, hoặc là một điểm quyết định chính sách. Tuy
nhiên, nó khơng cung cấp cơ chế để kiểm tra, thu hồi chứng chỉ. SAML cung cấp
bối cảnh chứng thực, được truyền đạt (hoặc tham chiếu) khẳng định của chứng
thực đó. Khn khổ quy định của SAML là nhằm hỗ trợ nhiều tình huống kinh
15


doanh thực trên thế giới, từ những người mà trong đó khách hàng là một trình
duyệt để thêm những phần phức tạp nơi mà dịch vụ Web có liên quan.
Bảo mật thơng tin SOAP, khẳng định SAML có thể được sử dụng trong
thông điệp SOAP để thực hiện vấn đề an ninh và nhận dạng thông tin giữa các
hành động trong giao dịch. Các SAML Token của tổ chức WSS OASIS quy định
cách xác nhận SAML nên được sử dụng cho mục đích này. The Liberty
Alliance’s Identity Web Service Frameword (ID-WSF) cũng sử dụng SAML xác
nhận như là thẻ an ninh cơ sở để cho phép việc an toàn và tôn trọng sự riêng tư
khi tiếp cận với các dịch vụ Web.
1.4.3 XML Key Management Specification (XKMS)
Các khóa cơng khai là các khối cơ bản xây dựng cho chữ ký và chứng
nhận kỹ thuật số. Khóa cơng khai quản lý bao gồm việc tạo ra, lưu trữ an toàn,
phân phối, sử dụng và hủy bỏ chúng. Các khóa cơng khai có thể được tạo ra bởi
một gói phần mềm chạy trên nền tảng của các ứng dụng khách hàng và sau đó ký
một khóa cơ sở hạ tầng cơng cộng, chứng nhận ủy quyền hoặc ứng dụng khách
hàng có thể yêu cầu một chứng nhận tham gia đến một cơ sở hạ tầng để tạo ra

các khóa này. Khi một bên sử dụng một khóa cơng khai, nó có nhu cầu để xác
định tính hợp lệ của nó, nghĩa là nó cần phải xác minh các khóa cơng khai chưa
hết hạn hoặc đã bị thu hồi bởi nhà cung cấp dịch vụ Web. Khóa cơng khai có thể
được cấp bằng nhiều cách khác nhau, có thể có nhiều hơn một khóa cơng khai
liên quan tới khóa cơng khai. Tuy nhiên, các khóa cơ sở hiện nay dựa trên bộ
cơng cụ độc quyền, làm cho tương tác giữa các ứng dụng khách hàng và các hạ
tầng trở nên tốn kém và khó khăn hơn. Hơn nữa, các ứng dụng khách hàng phải
tự thực hiện rất tốn kém các hoạt động như xác nhận chữ ký, xác nhận dây
chuyền và kiểm tra thu hồi. Do đó cần phải đơn giản hóa các nhiệm vụ của các
bên khi chúng ta cơng khai khóa công khai, cũng như cho phép các chứng thực
khác nhau hoặc thậm chí khóa khác nhau. Hơn nữa, các khóa cơng cộng có thể
được đại diện trong XML và là cơ sở của XML Encryption và XML chữ ký.
Những vấn đề mô tả ở trên đã dẫn đến việc định nghĩa các chuẩn đối với XML
Key Management.
Hơn nữa, WS-Security xác định các cơ chế cơ bản cho việc cung cấp
thông điệp an tồn, thơng điệp SOAP được bảo vệ bởi WS-Security trình bày ba
16


×