Tiêu chuẩn WS-Federation (Liên kết dịch vụ Web) 

Trong dịch vụ web, các tiêu chuẩn WS-Security (Bảo mật dịch vụ web), WS-Trust (Tin cậy dịch vụ web) và WS-SecurityPolicy (Chính sách bảo mật dịch vụ web) cung cấp một mô hình liên kết cơ bản giữa các nhà cung cấp nhận dạng và các bên xác thực liên quan...

I. Giới thiệu

Trong dịch vụ web, các tiêu chuẩn WS-Security (Bảo mật dịch vụ web), WS-Trust (Tin cậy dịch vụ web) và WS-SecurityPolicy (Chính sách bảo mật dịch vụ web) cung cấp một mô hình liên kết cơ bản giữa các nhà cung cấp nhận dạng và các bên xác thực liên quan. Các đặc tả kỹ thuật này xác định các cơ chế để xác nhận thông tin của người yêu cầu dưới dạng thẻ bảo mật (security token). Các thẻ bảo mật này có thể được sử dụng để bảo vệ và cấp quyền cho các yêu cầu dịch vụ web.

WS-Federation mở rộng nền tảng này bằng cách mô tả làm thế nào mô hình chuyển đổi thông tin (claim tranformation model) trong trao đổi thẻ bảo mật, có thể làm cho các mối quan hệ tin tưởng (trust relatioship) phong phú hơn và các liên kết dịch vụ nâng cao hơn.

WS-Federation bao gồm các cơ chế cho việc xác định các nhận dạng, phát hiện thuộc tính và truy xuất, xác thực và phân quyền giữa các đối tác liên kết. Các cơ chế này được định nghĩa như là phần mở rộng của mô hình Dịch vụ Thẻ Bảo mật (Security Token Service (STS) (được định nghĩa trong WS-Trust).

II. Một số đặc điểm của WS-Federation

II.1 WS-Trust, WS-Security và mối quan hệ với WS-Federation

Các cơ chế được định nghĩa trong WS-Security (Dịch vụ web - Bảo mật), WS-Trust (Dịch vụ web – Tin tưởng) và WS-SecurityPolicy (Dịch vụ web – Chính sách bảo mật) cung cấp mô hình cơ bản cho việc liên kết dịch vụ. Tin tưởng (Trust) là nền tảng của bất kỳ mô hình bảo mật nào. Tin tưởng là sự biểu lộ giữa các bên liên quan rằng, một bên tham gia trong mối quan hệ sẽ tin vào các tuyên bố của một bên khác. Nó được xây dựng dựa trên các bằng chứng về lịch sử, kinh nghiệm, tài liệu… và khả năng chịu rủi ro cá nhân. Tin tưởng vào một người có thể dựa trên kinh nghiệm trong quá khứ, nơi một bên thể hiện sự mong đợi về hành vi tương lai của một bên khác dựa trên trải nghiệm được chia sẻ. Một số ví dụ:

            • Tôi tin rằng việc mua một cuốn sách cụ thể từ Alice là an toàn vì tôi đã mua nhiều sách từ Alice trong 10 năm qua.

            • Tôi không tin rằng việc mua một cuốn sách cụ thể từ Bob là an toàn vì trước đây tôi chưa bao giờ mua sách của Bob.

Nói chung, tin tưởng vào thông tin được chứng minh bằng các tuyên bố về nguồn gốc, tính chính xác và quyền sử dụng thông tin. Cụ thể liên quan đến nguyên tắc tin cậy dịch vụ web, điều này thường đề cập đến khả năng người nhận có thẻ bảo mật sẽ tin rằng mã xác nhận về chủ đề này là đúng bởi vì người nhận đã nhận ra nguồn gốc của thẻ bảo mật và đã có kinh nghiệm trao đổi với người phát hành thẻ bảo mật dựa trên các thực tiễn tốt.

WS-Security cung cấp một chức năng cốt lõi bằng cách xác định các cơ chế để đảm bảo tính xác thực, tính toàn vẹn và tính bảo mật cho gói tin, thông qua việc sử dụng các thẻ bảo mật. WS-SecurityPolicy cho phép mô tả các yêu cầu bảo mật của dịch vụ thông qua việc xác nhận về cơ chế bảo mật của dịch vụ (tức là các thuật toán và loại mã thông báo mà dịch vụ chấp nhận). Sử dụng các dịch vụ web xác nhận này có thể nhận ra và đánh giá thẻ bảo mật này và các thông tin  được yêu cầu để trao đổi thông điệp một cách an toàn.

WS-Trust bổ sung cho nền tảng liên kết bằng cách xác định một mô hình dịch vụ, Dịch vụ Thẻ Bảo mật (Security Token Service (STS)) và một giao thức yêu cầu / phát hành các thẻ bảo mật. Các thẻ bảo mật này được sử dụng bởi WS-Security và được mô tả bởi WS-SecurityPolicy.

 

Hình 1 – Mô hình dịch vụ thẻ bảo mật (Security Token Service Model (STS))

Hình 1 minh họa mô hình Dịch vụ Thẻ Bảo mật (STS) được xác định bởi WS-Trust. Mỗi mũi tên đại diện cho một phương thức giao tiếp giữa những người tham gia. Mỗi người tham gia có các chính sách riêng của mình để quyết định thẻ bảo mật và các thông tin yêu cầu liên quan là cần thiết hay không để thực hiện giao tiếp, kết nối. Từ yêu cầu truy vấn của Người yêu cầu (Requestor), luồng giao tiếp bắt đầu kết nối bằng việc tiến hành nhận diện một dịch vụ web, hoặc xác định Nhà cung cấp tài nguyên.

Người yêu cầu cần biết các chính sách truy cập của Nhà cung cấp tài nguyên (Resource Provider) để quyết định được các yêu cầu bảo mật của mình. Sử dụng các biểu thức WS-SecurityPolicy, Người yêu cầu có thể kiểm tra được rằng liệu mình có thể đáp ứng về bảo mật được yêu cầu bởi Nhà cung cấp tài nguyên hay không. Nếu người yêu cầu không có một thẻ phù hợp, họ có thể yêu cầu một thẻ từ một mô hình STS thích hợp. Mỗi mô hình STS có chính sách của riêng nó và cũng là một dịch vụ web. Người yêu cầu có thể truy vấn STS để xác định thẻ bảo mật là phù hợp các yêu cầu bảo mật của Nhà cung cấp hay không.

Hình 1 mô tả mô hình STS hoạt động trong vai trò của một nhà cung cấp nhận dạng (Identity Provider - IP). Chức năng chính của STS trong vai trò này là phát hành thẻ nhận dạng chứa các thông tin xác nhận về bảo mật, tương ứng với Người yêu cầu. Việc cung cấp nhận dạng cũng có thể được sử dụng bởi Nhà cung cấp tài nguyên để xác nhận thẻ bảo mật mà nó đã nhận được từ Người yêu cầu. Nhà cung cấp tài nguyên dựa vào thẻ bảo mật được phát hành bởi STS để cấp/ từ chối truy cập vào các tài nguyên mà nó kiểm soát.

WS-Trust giới thiệu các cơ chế độc lập với bất kỳ ứng dụng cụ thể nào cho việc yêu cầu, phát hành, gia hạn, hủy bỏ và xác nhận các thẻ bảo mật. Điều này giúp việc xác thực quản lý và bảo vệ tài nguyên được dễ dàng hơn. Cốt lõi của giao thức này là cặp thông điệp yêu cầu phản hồi, Thẻ bảo mật yêu cầu (Request Security Token (RST)) và Phản hồi Thẻ bảo mật yêu cầu (Request Security Token Response (RSTR)).

Ví dụ về Thông điệp Thẻ bảo mật yêu cầu (RST)

<s:Envelope>

  <s:Header>

    <wsa:Action>

      http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue

    </wsa:Action>

    <!-- Other headers not shown for brevity -->

  </s:Header>

  <s:Body>

    <wst:RequestSecurityToken>

      <wst:TokenType>

        http://example.org/mySpecialToken

      </wst:TokenType>

      <wst:RequestType>

        http://docs.oasis-open.org/ws-sx/ws-trust/200512/Issue

      </wst:RequestType>

    </wst:RequestSecurityToken>

  </s:Body>

</s:Envelope>

Ví dụ về Thông điệp Phản hồi thẻ bảo mật yêu cầu (RSTR)

<s:Envelope>

  <s:Header>

    <wsa:Action>

      http://docs.oasis-open.org/ws-sx/ws-trust/200512/RSTR/Issue

    </wsa:Action>

    <!-- Other headers not shown for brevity -->

  </s:Header>

  <s:Body>

    <wst:RequestSecurityTokenResponseCollection>

      <wst:RequestSecurityTokenResponse>

        <wst:RequestedSecurityToken>

          <xyz:CustomToken xmlns:xyz="...">

            ...

          </xyz:CustomToken>

        </wst:RequestedSecurityToken>

      </wst:RequestSecurityTokenResponse>

    </wst:RequestSecurityTokenResponseCollection>

  </s:Body>

</s:Envelope>

Trong WS-Federation, liên kết (Federation) là tập hợp các miền (tên miền bảo mật) đã thiết lập các mối quan hệ để chia sẻ tài nguyên một cách an toàn. Nhà cung cấp tài nguyên trong một miền có thể cung cấp quyền truy cập vào tài nguyên mà nó quản lý dựa trên các thông tin bảo mật (chẳng hạn như danh tính hoặc các thuộc tính phân biệt khác) được xác nhận bởi Nhà cung cấp nhận dạng (Identity Provider).

Giá trị của việc thiết lập một liên kết là để tạo thuận lợi cho việc sử dụng các thuộc tính bảo mật và hướng tới thiết lập một ngữ cảnh liên kết. Sau đó, nhà cung cấp tài nguyên có thể sử dụng ngữ cảnh này để cấp /từ chối truy cập vào một tài nguyên. Thiết lập một ngữ cảnh liên kết là cần thiết khi các nhà cung cấp nhận dạng và tài nguyên (Identity and Resource Providers) hoạt động ở các lĩnh vực khác nhau, yêu cầu sự đồng thuận giữa các bên về mã bảo mật và cơ chế truyển tải các mã bảo mật này. Điều này là nền tảng, cơ sở cho việc liên thông giữa các hệ thống. Nói chung, WS-Federation cần thiết cho những người tham gia trong một liên kết để truyền tải các yêu cầu bảo mật.

Mục tiêu cơ bản của WS-Federation là đơn giản hóa việc phát triển các dịch vụ liên kết (federated service) thông qua việc quản lý và giao tiếp liền miền của dịch vụ liên kết bằng cách tái sử dụng mô hình và giao thức Dịch vụ thẻ bảo mật WS-Trust. Một nhóm các dịch vụ liên kết (ví dụ: dịch vụ xác thực, cấp phép, thuộc tính và bút danh (Pseudonym service) có thể được phát triển dưới dạng các biến thể của dịch vụ thẻ bảo mật. Việc quản lý, phát hiện và truy cập các dịch vụ như vậy được đơn giản hóa đáng kể khi chúng được xây dựng dựa trên một mô hình xử lý chung và giao tiếp cùng một nhóm giao thức cơ bản.  Ngoài ra, WS-Federation không hạn chế người dùng trong một định dạng thẻ bảo mật cụ thể. Thay vào đó, WS-Federation xây dựng trên cơ chế đóng gói WS-Trust, RST/RSTR. Điều này giúp tăng cường khả năng liên thông và chuyển đổi giữa các sản phẩm thẻ bảo mật khi ngành công nghiệp giới thiệu các định dạng thẻ bảo mật mới và tốt hơn.

II.2 Các đặc điểm của WS-Federation (Liên kết dịch vụ Web)

II.2.1 Dữ liệu đặc tả liên kết

Các tổ chức thường quyết định thiết lập các dịch vụ liên kết dựa trên các mối quan hệ nghiệp vụ hoặc pháp lý. Sau khi một tổ chức quyết định thiết lập một liên kết, người tham gia vào liên kết phải xuất bản và trao đổi các thông tin cấu hình (tức là dữ liệu đặc tả liên kết)  tới người tham gia khác trong liên kết , và đồng thời trao đổi các chính sách truy cập giữa các thành viên trong liên kết. Đối với dịch vụ web, các thông tin cấu hình này có thể được biểu diễn dưới dạng các khai báo (statements) trong tài liệu dữ liệu đặc tả liên kết. Các thông tin này có thể bao gồm các thông tin  về các tham chiếu điểm cuối WS-Addressing (EPR) của người tham gia, hoặc các thông tin về các chính sách bảo mật. Bởi vì một dịch vụ có thể được đưa ra trong nhiều liên kết, dịch vụ đó phải có khả năng nhận dạng các dữ liệu đặc tả cho từng ngữ cảnh cụ thể.

Để kích hoạt quá trình cấu hình, WS-Federation định nghĩa một mô hình dữ liệu đặc tả và một định dạng tài liệu. Mô hình dữ liệu đặc tả này mô tả phương thức phát hiện và kết hợp dữ liệu đặc tả liên kết của các dịch vụ. Tài liệu dữ liệu đặc tả liên kết mô tả làm thế nào một dịch vụ tham gia và được sử dụng trong một liên kết.

II.2.2 Cấp quyền (Authorization)

Một dịch vụ cấp quyền có thể được triển khai như một dạng đặc biệt của dịch vụ thẻ bảo mật. Khả năng liên thông giữa các dịch vụ trong một liên kết, đòi hỏi một mô hình chung cho việc tương tác với các dịch vụ cấp quyền. Các đặc tả mở rộng cho các thông điệp RST /RSTR, như được định nghĩa trong WS-Trust, có thể được sử dụng để giao tiếp cho các yêu cầu cấp quyền và các quyết định cho phép cấp quyền.

WS-Federation định nghĩa một mô hình cấp quyền phải đáp ứng các yêu cầu về liên thông, tương tác giữa các dịch vụ. Giao thức này cũng định nghĩa hai phần mở rộng cho các cơ chế cấp quyền nâng cao. Phần mở rộng đầu tiên cho phép ngữ cảnh bổ sung được gửi tới một mô hình dịch vụ thẻ bảo mật (STS) trong một thông điệp RST. Phần mở rộng thứ hai cho phép Nhà cung cấp tài nguyên và Người yêu cầu xác định các thông tin bảo mật cần thiết để xử lý yêu cầu. Các thông tin bảo mật khác nhau được sử dụng trên các triển khai dịch vụ web khác nhau nhằm giải quyết các yêu cầu ứng dụng khác nhau.

II.2.3 Các kiểu xác thực

Đặc tả kỹ thuật WS-Trust xác định tham số AuthenticationType (kiểu xác thực) để chỉ ra một kiểu xác thực hoặc một mức bảo mật cụ thể đối với từng yêu cầu thẻ bảo mật. Tuy nhiên, không có kiểu xác thực cụ thể nào được xác định trong WS-Federation . Để thực hiện khả năng liên thông, WS-Federation đã xác định một tập các URI (các định danh tài nguyên chung) để xác định các kiểu xác thực phổ biến và các mức bảo mật. Các kiểu xác thực và mức bảo mật này có thể được sử dụng cho tham số wst: AuthenticationType trong các thông điệp RST và RSTR.

II.2.4 Các dịch vụ bút danh (Pseudonym Services)

Dịch vụ bút danh là một trường hợp chuyên môn hóa thêm của dịch vụ thuộc tính, trong đó dịch vụ thuộc tính cung cấp thông tin nhận dạng thay thế cho các thực thể có các nguy cơ, rủi ro vè gian lận danh tính. Dịch vụ bút danh được tích hợp tùy chọn vào mô hình Dịch vụ Thẻ Bảo mật (STS). Nó có thể cung cấp các bút danh riêng biệt trong các phạm vi khác nhau, tức là, sử dụng các bút danh này để truy cập vào các Nhà cung cấp tài nguyên khác nhau.

Dịch vụ bút danh có thể lưu trữ trong thẻ bảo mật, kết hợp với một bút danh để đơn giản hóa việc truy xuất bút danh và thẻ bảo mật trong một yêu cầu xác thực duy nhất. WS-Federation mô tả phương thức dịch vụ bút danh có thể ánh xạ các bút danh tới các thẻ bảo mật. Điều này bao gồm việc mô tả phương thức bảng ánh xạ có thể được thực hiện tự động dựa trên dịch vụ đích cho thẻ bảo mật. Nó cũng định nghĩa là các phần mở rộng cho thông điệp WS-Trust RST / RSTR cho trường hợp ánh xạ các bút danh một cách thủ công.

II.2.5 Riêng tư (Privacy)

Các yêu cầu đối với nhà cung cấp dịch vụ thẻ bảo mật hoặc các quyết định cấp quyền, có thể bao gồm thông tin về yêu cầu riêng tưư, bảo mật của cá nhân hoặc tổ chức.

Trong WS-Federation, các phần mở rộng cho thông điệp RST/RSTR  xác định các yêu cầu riêng tư của cá nhân, tổ chức. Điều này bao gồm việc các phần mở rộng chỉ ra các thông số mà STS phải sử dụng nếu nó phát hành một thẻ bảo mật, cũng như xác định các thông tin nhạy cảm trong thẻ bảo mật mà các giá trị cần được bảo vệ bằng mã hóa.

WS-Federation cũng định nghĩa một mô hình, trong đó mô tả phương thức tìm kiếm, thu nhận các tuyên bố về riêng tư bằng cách sử dụng các cơ chế được định nghĩa trong HTTP, HTTPS, WS-Transfer, WS-ResourceTransfer, WS-Policy hoặc WS-MetadataExchange.

II.2.6 Cơ chế đăng xuất Liên kết (federated sign-out)

WS-Federation xác định cơ chế đăng xuất liên kết. Mục đích của việc đăng xuất liên kết là để chỉ ra các người tham gia liên kết hiểu rằng một liên kết cụ thể đã chấm dứt và hỏi họ có muốn dọn sạch bất kỳ trạng thái đã lưu trữ hoặc thẻ bảo mật nào không còn cần thiết vì phiên làm việc đã chấm dứt. Việc đăng xuất liên kết là khác biệt với việc hủy bỏ một thẻ bảo mật vì đăng xuất liên kết áp dụng cho tất cả các thẻ bảo mật và tất cả thực thể trong liên kết.

II.2.7 Người yêu cầu web (thụ động)

Đặc tả kỹ thuật WS-Federation định nghĩa kiểu liên kết khác nhau trong các phần mở rộng của mô hình WS-Trust. Mô hình này có thể được sử dụng trực tiếp từ dịch vụ web, hoặc từ các trình duyệt và các cổng thông tin thông qua việc sử dụng mã hóa HTTP của các gói tin WS-Trust. Cách tiếp cận này cho phép các công cụ quản lý và cơ sở hạ tầng chung không phụ thuộc vào nền tảng ứng dụng máy khách.

Ngoài ra, WS-Federation định nghĩa cú pháp để biểu diễn giao thức WS-Trust và các phần mở rộng WS-Federation trong một môi trường web bằng cách sử dụng các cơ chế HTTP 1.1 được hỗ trợ rộng rãi (GET, POST, chuyển hướng và cookie). WS-Federation định nghĩa các quy tắc mã hóa cho phép nhiều phần mở rộng của WS-Trust có thể truy cập được thông qua HTTP 1.1.

Mục đích của chức năng này là cung cấp một giao thức chung để thực hiện các hoạt động xác nhận danh tính liên kết cho cả dịch vụ web và các ứng dụng dựa trên trình duyệt web. Một giao thức chung giúp tiết kiệm chi phí cho việc phát triển, thử nghiệm, triển khai và bảo trì của các nhà cung cấp dịch vụ định danh và khách hàng sử dụng dịch vụ.

III. Kết luận

Cùng với WS-Trust, WS-Security, WS-SecurityPolicy, WS-Federation cho phép dịch vụ web được triển khai an toàn và tin cậy hơn thông qua các cơ chế nhận dạng, phát hiện thuộc tính, xác thực và phần quyền giữa các bên tham gia liên kế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 Khuyến nghị áp dụng tiêu chuẩn WS-Federation phiên bản 1.0 và được xếp vào nhóm Tiêu chuẩn về kết nối.

Đỗ Tiến Thành 

 

Tài liệu tham khảo

  1. http://docs.oasis-open.org/wsfed/federation/v1.2/cd/ws-federation-1.2-spec-cd-02.html
  2. https://msdn.microsoft.com/en-us/library/bb498017.aspx#wsfedver1_topic1

 

740 Go top

Sự kiện nổi bật

Ý kiến về Trang thông tin điện tử Cục Tin học hóa?
1. Đạt yêu cầu, 1180 phiếu (88 %)
2. Chưa đạt yêu cầu, 107 phiếu (8 %)
3. Cần thêm chủ đề, 57 phiếu (4 %)
Tổng số phiếu: 1344
THÔNG KÊ TRUY CẬP
  • Người trực tuyến Người trực tuyến
    • Khách Khách 156
    • Thành viên Thành viên 1
    • Tổng Tổng 157
    • Tổng lượt truy cập: Tổng lượt truy cập: 12729580