Soap message là gì

Tiêu chuẩn Web Services Security: SOAP Message Security 1.1

Ngày nay, cùng với sự phát triển của Internet, Web Service cũng trở thành một kỹ thuật dùng để liên kết và tương tác giữa các ứng dụng trên các máy tính khác nhau thông qua môi trường Internet...
Ngày đăng : 09/12/2019 Xem với cỡ chữ
Bản in

I. Giới thiệu

Ngày nay, cùng với sự phát triển của Internet, Web Service cũng trở thành một kỹ thuật dùng để liên kết và tương tác giữa các ứng dụng trên các máy tính khác nhau thông qua môi trường Internet. Ngày càng có nhiều nhà cung cấp dịch vụ muốn đưa các dịch vụ ra công cộng và vấn đề lớn nhất mà các nhà cung cấp đang phải đối mặt chính là bảo mật cho Web Service. Việc đảm bảo an toàn cho Web Service là một vấn đề đặc biệt quan trọng, nhất là đối với những dịch vụ liên quan tài chính, thị trường chứng khoán và thương mại điện tử. Vấn đề bài toán đặt ra là làm thế nào để những thông tin, dữ liệu được trao đổi một cách an toàn mà không bị tấn công.

Web Service Security là một chuẩn an toàn cho SOAP và cả những phần mở rộng của SOAP, nó được dùng khi muốn xây dựng những web service đảm bảo và tin cậy. Web Service Security đảm bảo cho tính an toàn, sự toàn vẹn thông điệp và tính tin cậy của thông điệp.

II. Đặc điểm Web Services Security: SOAP Message Security 1.1

Các bước tạo sự an toàn thông tin trong ứng dụng:

Phía máy khách:

Chỉ rõ những thành phần của thông điệp mà phải có chữ ký hay một dấu hiệu chứng thực nào đó.

Chỉ rõ một khóa trên hệ thông tập tin mà sẽ ký lên thông điệp và chỉ những máy được cấp quyền mới có quyền sở hữu khóa này.

Chỉ rõ những giải thuật sẽ được sử dụng bởi khóa để ký lên thông điệp.

Phía máy chủ:

Chỉ rõ những thành phần của thông điệp cần được ký, nếu thông điệp đến không có một chữ ký hợp lệ thì yêu cầu thất bại.

Chỉ rõ một khóa để duyệt chữ ký của thông điệp đến xem có hợp lệ hay không.

Chỉ rõ giải thật mà khóa sử dụng để đảm bảo toàn vẹn thông điệp gửi đến.

Thông điệp phản hồi phải được ký và cung cấp thông tin chữ ký khi phản hồi.
Do Web Service Security chỉ là một lớp trong nhiều lớp của giải pháp an toàn đầy đủ, nên cần một mô hình an toàn chung lớn hơn để có thể bao phủ tất cả các khía cạnh an toàn khác như đăng ký [logging] và không từ chối [non-repudiation].

Hình 1: Mô hình an toàn cho Web Service

Trong mô hình này các thành phần quan trọng bao gồm:

WS-SecureConversation Describes: quản lý và xác nhận thông điệp trao đổi giữa các phần, bao gồm sự trao đổi ngữ cảnh, thiết lập, dẫn xuất ra các phiên.

WS-Authentication Describes: quản lý những dữ liệu, chính sách cần chứng thực.

WS-Policy Describes: quản lý những rang buộc của những chính sách an toàn ở các điểm trung gian và đầu cuối.

WS-Trust Describes: cho phép Web Service an toàn trao đổi tương tác với nhau.

Một số kỹ thuật Web Service Security:

1. eXtensible Access Control Markup Language [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 đắt tiền và 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 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.

Mô hình cấu trúc XACML là một thể thống nhất trong đó các thành phần có mối quan hệ chặt chẽ với nhau thông qua các quy tắc đã được xác định trước

* Cấu trúc XACML Request

* Cấu trúc XACML Response

2. Security Assertion Markup Language [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 khuôn khổ cho việc trao đổi thông tin liên quan đế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.

* 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 đề liên Domain

Tập trung các vấn đề xác thực liên

SAML hỗ trợ ba loại hình 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.

* Đặ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 và các thuộc tính. 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 trỉ. SAML cung cấp bối cảnh chứng thực, được truyền đạt [hoặc tham chiếu] một sự khẳng định của chứng thực đó. Khuôn khổ quy định của SAML là nhằm hỗ trợ nhiều tình huống kinh 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à Web Service 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 Alliances 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 Web Service

3. XML Key Management Specification [XKMS]

Các khóa công cộng 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 cộng 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 đó đăng 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 cộng chưa hết hạn hoặc đã bị thu hồi bởi nhà cung cấp Web Service. Khóa công cộng 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 cộng. 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 cộng, 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 toàn, thông điệp SOAP được bảo vệ bởi WS-Security trình bày ba vấn đề chính đó là: tính không tương thích định dạng bảo mật thẻ;sự khác biệt không gian tên và sự tin cậy an ninh thẻ. Để khắc phục những vấn đề trên, cần thiết phải xác định tiêu chuẩn mở rộng để WS-Security cung cấp các phương pháp nhằm đưa ra, đổi mới và xác nhận thẻ bảo mật và để thiết lập và đánh giá sự xuất hiện, mối quan hệ tin tưởng lẫn nhau.

XKMS là một giao thức được phát triển bởi W3C để mô tả sự phân phối và đăng ký khóa công cộng, nó làm giảm các ứng dụng phức tạp cú pháp của nền tảng được sử dụng để thiết lập các mối quan hệ tin tưởng.

Hình 4: XKMS Services

Trong hình vẽ trên, một dịch vụ X-KISS cung cấp cho khách hàng hai chức năng và có thể thực hiện bởi chính các dịch vụ X-KISS hoặc của một khóa cơ sở cơ bản. Đó là chức năng: xác định ví trí và tính xác thực. Đối với mục đích mã hóa, các chức năng cho phép một người gửi không cần biết chính xác liên kết với người nhận để có được thông điệp đó. Các dịch vụ X-KISS không thực hiện bất kỳ sự khẳng định về tính hợp lệ của các liên kết giữa dữ liệu và khóa.

Đối với việc xác thực của một khóa, những thông tin được cung cấp bởi người ký có thể là chưa đủ cho người nhận có thể thực hiện việc xác minh mật mã và quyết định có nên tin tưởng vào khóa ký kết này hay không, hoặc là các thông tin không thể thực thi trong một định dạng người nhận có thể sử dụng được. Các chức năng xác nhận cho phép các khách hàng để có được từ các dịch vụ X-KISS một sự khẳng định rõ ràng, đó là hiệu lực của sự ràng buộc giữa các khóa và các dữ liệu công cộng, ví dụ: một danh từ hoặc một tập hợp các thuộc tính mở rộng. Hơn nữa, các dịch vụ X-KISS đại diện cho tất cả các yếu tố dữ liệu mà được liên kết với cùng một khóa công khai.

XKRSS định nghĩa một giao thức cho việc đăng ký và quản lý các khóa thông tin quan trọng. Bạn có thể đăng ký các khóa với một dịch vụ XKMS bằng cách sau: Các dịch vụ XKMS tạo ra một cặp khóa cho khách hàng và đăng ký các khóa công khai của chính cặp khóa đó và gửi các khóa riêng của cặp khóa này cho khách hàng của mình sử dụng chúng. Các khách hàng cũng có thể nói cho dịch vụ XKMS để họ giữ lại các khóa riêng tư nhằm phục vụ cho trường hợp khách hàng khi bị mất.

4. Web Services Policy Framework [WS-Policy]

WS-Policy định nghĩa các điều kiện theo một yêu cầu có thể đáp ứng, tương ứng, khẳng định chính sách của các web servuce đó, giải pháp thay thế chính sách và cuối cùng là toàn bộ các chính sách: f Một sự khẳng định chính sách được hỗ trợ bằng cách yêu cầu khi và chỉ khi người yêu cầu đáp ứng được các yêu cầu tương ứng để khẳng định. f Một chính sách được hỗ trợ bằng cách yêu cầu khi và chỉ khi có yêu cầu hỗ trợ ít nhất là một trong những lựa chọn thay thế trong chính sách

5. eXentisble Rights Markup Language [XrML]

Kỹ thuật và các công cụ được sử dụng để cung cấp bảo mật hệ thống, chẳng hạn như tường lửa phục vụ việc truy cập vào mạng và hệ thống kiểm soát truy cập hạn chế truy cập dữ liệu được lưu trữ, không thể thực thi các quy định kinh doanh mà cách mọi người sử dụng và phân phối dữ liệu bên ngoài hệ thống. Việc kiểm soát và thực thi phân phối, sử dụng thông tin số đã được giải quyết bằng cách quản lý bản quyền số [Digital Right Management DRM]. Thuật ngữ này thường được gọi bằng luật về quyền tác giả, chủ sở hữu nội dung khi tìm kiếm phương tiện đề kiểm soát sử dụng tài sản trí tuệ của mình.Hệ thống DRM về cơ bản thực hiện hai chức năng chính đó là giám sát và điều khiển truy cập:

* Chức năng giám sát, cho phép việc theo dõi những gì đang thực sự được chuyển giao qua mạng đến tay người nhận.

* Chức năng điều khiển truy cập và sử dụng kiểm soát những gì người dùng có thể hoặc không thể làm gì với nội dung kỹ thuật số chuyển giao cho máy tính của mình.

Các mô tả về hoạt động cho phép cho người dùng trên một nội dung kỹ thuật số là khái niệm tương tự như mô tả về các hoạt động trong chính sách kiểm soát truy cập. Các chính sách kiểm soát truy cập được gắn với các nội dung kỹ thuật số của nó trong một hộp an toàn, để các nội dung kỹ thuật số đi kèm với mô tả của chính sách điều khiển truy cập áp dụng oil à. Mục đích DRM thi hành việc truy cập cụ thể và chính sách kiểm soát sử dụng kết hợp với các nội dung kỹ thuật số.

XrML là một ngôn ngữ XML mà xác định làm thế nào để mô tả các quyền, lệ phí và điều kiện để sử dụng nội dung kỹ thuật số, với tính toàn vẹn thông điệp và tổ chức chứng thực. XrML đã được hình thành để hỗ trợ thương mại trong các nội dung kỹ thuật số, đó là việc xuất bản và bán sách điện tử, phim kỹ thuật số, kỹ thuật số âm nhạc, trò chơi tương tác, phần mềm máy tính và oil tạo khác được phân phối dưới dạng kỹ thuật số. XrML dự định hỗ trợ truy cập và đặc điểm kỹ thuật của việc sử dụng điểu khiển các đối tượng an toàn kỹ thuật số trong trường hợp trao đổi tài chính.

Đặc điểm cốt lõi kỹ thuật XrML cũng xác định các tập thường được sử dụng, quyền hạn cụ thể, đặc biệt là các quyền liên quan đến quyền khác, chẳng hạn như vấn đề, thu hồi, ủy quyền. Phần mở rộng cho các XrML có thể định nghĩa về quyền cho việc sử dụng các ứng dụng cụ thể. Ví dụ: nội dung XrML gia hạn xác định quyền thích hợp cho việc sử dụng sản phẩm kỹ thuật số [sử dụng và in quyền]. Một thực tế tài nguyên đại diện cho các đối tượng trong đó một bên có thể được cấp cho một người đứng đầu. Một nguồn tài nguyên có thể là một công việc kỹ thuật số, chẳng hạn như âm thanh hoặc tập tin video, hoặc hình ảnh, dịch vụ, chẳng hạn như là dịch vụ email, hoặc thậm chí mẩu thông tin có thể được sử dụng bởi một địa chỉ email, thuộc tài sản nào khác hay thuộc tính.

6. Secure Socket Layer [SSL]

SSL là một sự xuất hiện bổ sung của VPN [Virtual Private Networks].Nó được thiết kế cho giải pháp truy cập từ xa và không cung cấp những kết nối site-to-site. SSL VPNs cung cấp vấn đề bảo mật truy cập đầu tiên những ứng dụng web. SSL được oil à giao thức bảo mật trong lớp vận chuyển [Layer Transport] có tầm quan trọng cao nhất đối với sự bảo mật của các trình ứng dụng trên Web. Và đó là một giao thức đa mục đích được thiết kế để tạo ra các giao tiếp giữa hai chương trình ứng dụng trên một cổng định trước [thông thường là socket 433] nhằm mã hóa toàn bộ thông tin đi/đến, mà ngày nay được sử dụng rộng rãi cho giao dịch điện tử như truyền số hiệu thẻ tin dụng, mật khẩu, số bí mật cá nhân [PIN] trên Internet.

III. Ứng dụng

Web Service đã và đang được triển khai và áp dụng trong nhiều lĩnh vực đời sống như ngân ang, chứng khoán, trao đổi dữ liệu và ngày càng trở lên phổ biến. Cùng với sự phát triển của nó là những đòi hỏi về tính an toàn, khả năng bảo mật. Bằng việc sử dụng các kỹ thuật đảm bảo an ninh Web Service sẽ giúp cho người sử dụng Web Service trở nên an tâm hơn. Việc chọn cơ chế an toàn cho Web Service phải đòi hỏi sao cho người dùng không cảm thấy quá phức tạp hay gò bó mà phải tạo nên sự trong suốt với người dùng. Do đó, nên chọn các cơ chế an toàn mà Web Service phụ thuộc vào loại dịch vụ đó và những tính năng mà dịch vụ này cung cấp. Bên cạnh đó còn một điểm cần quan tâm đó là sự an toàn không chỉ phụ thuộc vào những giải thuật, những tiêu chuẩn, và những cơ chế an ninh Web Service mang lại, mà nó còn tùy vào thái độ của các công ty có hiểu rõ tầm quan trọng của an toàn thông tin khi triển khai các ứng dụng, giao dịch trên mạng hay không cũng rất cần thiết.

Trong Thông tư số 39/2017/TT-BTTTT ngày 15/12/2017 của Bộ trưởng Bộ Thông tin và Truyền thông Công bố Danh mục tiêu chuẩn kỹ thuật về ứng dụng công nghệ thông tin trong cơ quan nhà nước quy định Bắt buộc áp dụng tiêu chuẩn Web Services Security v1.1 và được xếp vào nhóm Tiêu chuẩn về an toàn thông tin.

Tài liệu tham khảo

1. OASIS Standard Specification, 1 February 2006 Web Services Security:

SOAP Message Security 1.1 [WS-Security 2004]

2. Doug Tidwell James Snell Pavel Kulchenko, Publíher: OReily[2001], Programming Web Services with SOAP

3. XML Key Management Specification [XKMS] [W3C Note, 30 Marc 2001], online: //www.w3.org/TR/xkms

Nguyễn Thị Thu Trang

Quản trị viên, Cục Tin Học Hóa
Lần xem: 1502
Go top

Bài viết khác

  • Giao thức tối ưu hóa lưu lượng truy cập lớp ứng dụng [ALTO] - Application-Layer Traffic Optimization [ALTO] Protocol [ 24/11/2020]
  • Chữ ký web JSON - JSON Web Signature [JWS] [ 23/11/2020]
  • Tiêu chuẩn sao chép đầy đủ chỉ số bit cho IP multicast [BIER] - Multicast Using Bit Index Explicit Replication [BIER] [ 20/11/2020]
  • Tiêu chuẩn OpenAPI phiên bản 3.0.3 [OpenAPI Specification version 3.0.3] - Phần II [ 19/11/2020]
  • Tiêu chuẩn OpenAPI phiên bản 3.0.3 [OpenAPI Specification version 3.0.3] - Phần I [ 17/11/2020]

Video liên quan

Chủ Đề