Các phần mềm được viết bởi những ngôn ngữ lập trình khác nhau và chạy trên những nền tảng khác nhau có thể sử dụng dịch vụ Web để chuyển đổi dữ liệu thông qua mạng Internet theo cách gia
Trang 1Lê Hà Chi
NGHIÊN CỨU, THỬ NGHIỆM CÁC PHƯƠNG PHÁP ĐẢM
BẢO AN TOÀN AN NINH CHO WEB SERVICE
LUẬN VĂN THẠC SĨ KHOA HỌC CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Nguyễn Linh Giang
Hà Nội – Năm 2015
Trang 2LỜI CAM ĐOAN
Tôi Lê Hà Chi cam kết luận văn thạc sĩ là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của PGS.TS Nguyễn Linh Giang
Các kết quả nêu trong luận văn thạc sĩ là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác
Hà Nội, ngày tháng năm
Tác giả
Lê Hà Chi
Trang 3MỤC LỤC
Danh mục chữ viết tắt 4
Danh mục các bảng 5
Danh mục hình vẽ 5
LỜI NÓI ĐẦU 7
CHƯƠNG 1 - TỔNG QUAN VỀ BẢO MẬT WEB SERVICE 9
1.1 WEB SERVICE 9
1.1.1 Khái niệm Web service 9
1.1.2 Đặc điểm của Web service 10
1.1.3 Kiến trúc của Web service 12
1.1.4 Các thành phần của Web service 15
1.2 BẢO ĐẢM AN TOÀN CHO WEB SERVICE 18
1.2.1 Tổng quan về bảo đảm an toàn cho Web service 18
1.2.2 Các kỹ thuật bảo mật Web service 18
1.3 THỰC TRẠNG BẢO MẬT 19
CHƯƠNG 2 - CƠ CHẾ ĐĂNG NHẬP MỘT LẦN ( SINGLE SIGN ON) 21
2.1 TỔNG QUAN VỀ CƠ CHẾ ĐĂNG NHẬP MỘT LẦN (SINGLE SIGN ON) 21
2.1.1 Khái niệm cơ chế đăng nhập một lần 21
2.1.2 Ưu khuyết điểm của cơ chế đăng nhập một lần 22
2.1.3 Danh sách các giải pháp của SSO 23
2.2 GIẢI PHÁP OPENID 31
2.2.1 Hoạt động của OpenID 31
2.2.2 Ưu, nhược điểm của OpenID 44
2.3 GIẢI PHÁP KEBEROS 45
2.3.1 Hoạt động của Kerberos 45
2.3.2 Ứng dụng của Kerberos 50
2.3.3 Mô tả giao thức 51
2.3.4 Ưu điểm và nhược điểm của Keberos 51
CHƯƠNG 3 - GIẢI PHÁP SHIBBOLETH 53
3.1 HOẠT ĐỘNG CỦA SHIBBOLETH 53
Trang 43.1.1 Khái niệm về Shibboleth 53
3.1.2 Hoạt động của Shibboleth 54
3.2.SẢN PHẨM CỦA SHIBBOLETH 56
3.2.1 Centralized Discovery Service 56
3.2.2 Embedded Discovery Service 57
3.2.3 Identity Provider 57
3.2.4 Metadata Aggregator 58
3.2.5 Service Provider 59
CHƯƠNG 4 - THỬ NGHIỆM VÀ ĐÁNH GIÁ SHIBBOLETH 61
4.1 ĐẶT VẤN ĐỀ CHO BÀI TOÁN 61
4.2 MÔ HÌNH BÀI TOÁN 62
4.3 CÀI ĐẶT HỆ THỐNG 63
KẾT LUẬN 81
TÀI LIỆU THAM KHẢO 82
Trang 5Danh mục chữ viết tắt
Integration
Language
Intergration
Trang 6XMPP Extensible Messaging and Presemce
Prococol
Layer
Danh mục các bảng
Bảng 1 Danh sách các ứng dụng của SSO 31
Danh mục hình vẽ Hình 1 SOAP cơ bản của Web service 10
Hình 2 Chồng giao thức Web service 13
Hình 3 Tầng giao thức tương tác dịch vụ 14
Hình 4 Trước và sau khi sử dụng Single Sign On 21
Hình 5 Quy trình của hệ thống quản lý định danh 36
Hình 6 Cơ chế hoạt động của OpenID 38
Hình 7 Giải pháp Kerberos 45
Hình 8 Hoạt động của giao thức Kerberos 48
Hình 9 Quy trình làm việc của Shibboleth 55
Hình 10 Mô hình làm việc của Shibboleth 62
Hình 11 Cài đặt OpenDS 1 64
Hình 12 Cài đặt OpenDS 2 65
Hình 13 Cài đặt OpenDS 3 66
Trang 7Hình 14 Cài đặt OpenDS 4 66
Hình 15 Cài đặt OpenDS 5 67
Hình 16 Cài đặt OpenDS 6 68
Hình 17 Kiểm tra cài đặt Tomcat 70
Hình 18 Deploy file idp.war 71
Hình 19 Khởi tạo certificate 1 71
Hình 20 Khởi tạo certificate 2 72
Hình 21 Khởi tạo certificate 3 72
Hình 22 Đăng nhập IdP 80
Trang 8LỜI NÓI ĐẦU
Năm 2014 khép lại, những từ mà giới công nghệ thông tin nghe nhiều nhất năm qua chính là “ hacker”, “ mất cắp dữ liệu”, “ an ninh mạng” Có thể nói rằng năm 2014
là năm bùng nổ của những cuộc tấn công vào hệ thống mạng máy tính
Điểm nhấn đầu tiên của năm 2014 đó chính là các vụ tấn công đánh cắp hoặc phá hủy dữ liệu xảy ra dồn dập Hầu hết các vụ đình đám đều được nhắc với những dấu
ấn “ lớn nhất” hoặc “ lần đầu tiên trong lịch sử” Ví dụ như eBay, hãng thương mại điện tử hàng đầu thế giới bị đánh cắp 145 triệu thông tin tài khoản người sử dụng hồi tháng 5 Hay như vụ tấn công tồi tệ nhất trong lịch sử cấc ngân hàng khiến hơn
80 triệu dữ liệu tài khoản khách hàng của JPMorgan bị lộ Rồi các hãng bán lẻ như Home Depot bị mất 53 triệu thông tin thẻ tín dụng của khách hàng hay hơn 70 triệu thông tin của Target rơi vào tay kẻ xấu
Chưa hết, vụ tấn công lấy cắp dữ liệu của Sony vào cuối năm 2014 có thể nói là một trong những vụ tấn công “ khủng khiếp” xảy ra đối với các doanh nghiệp Cuộc tấn công ngay lập tức khiến cổ phiếu của Sony lao xuống thẳng đứng và còn khiến cho
bộ phim Interview trở thành bộ phim lần đầu tiên trong lịch sử bị hoãn chiếu với lý
do bị hack Tại Việt Nam, vụ tấn công vào VC Corp cũng có thể nói là vụ tấn công nhằm vào dữ liệu lớn nhất từ trước đến nay gây ảnh hưởng tới hoạt động của nhiều dịch vụ và được ước tính thiệt hại lên tới hàng chục tỷ đồng
Những vụ tấn công này đã gióng lên hồi chuông cảnh báo cho người dùng công nghệ nói riêng và toàn thế giới nói chung cần chú trọng hơn nữa vào công tác đảm bảo an toàn an ninh mạng
Mục tiêu của đồ án là nghiên cứu, thử nghiệm một số phương pháp đảm bảo an toàn
an ninh cho dịch vụ web Tập trung vào các cơ chế xác thực và đăng nhập một lần (SSO)
Nội dung của đồ án được chia làm bốn phần
Trang 9CHƯƠNG 1 TỔNG QUAN VỀ BẢO MẬT WEB SERVICE
CHƯƠNG 2 CƠ CHẾ ĐĂNG NHẬP MỘT LẦN ( SINGLE SIGN ON)
CHƯƠNG 3 GIẢI PHÁP SHIBBOLETH
CHƯƠNG 4 THỬ NGHIỆM VÀ ĐÁNH GIÁ SHIBBOLETH
Tuy đã cố gắng nhưng do kiến thức còn hạn chế đồ án này không thể tránh khỏi được những thiếu sót, tôi rất mong nhận được sự đóng góp ý kiến từ các thầy cô giáo và các bạn
Tôi xin được bày tỏ sự biết ơn sâu sắc đến PGS.TS Nguyễn Linh Giang, Bộ môn Truyền thông và mạng máy tính, viện Công nghệ thông tin và truyền thông, Trường Đại học Bách Khoa Hà Nội, người đã nhiệt tình giúp đỡ, hướng dẫn tôi hoàn thành
đồ án tốt nghiệp này
Trang 10
CHƯƠNG 1 - TỔNG QUAN VỀ BẢO MẬT WEB SERVICE
1.1 WEB SERVICE
1.1.1 Khái niệm Web service
Dịch vụ Web (Web Service) được coi là một 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) Giá trị cơ bản của dịch vụ Web dựa trên việc cung cấp các phương thức theo chuẩn trong việc truy nhập đối với hệ thống đóng gói và hệ thống
kế thừa Các phần mềm được viết bởi những ngôn ngữ lập trình khác nhau và chạy trên những nền tảng khác nhau có thể sử dụng dịch vụ Web để chuyển đổi dữ liệu thông qua mạng Internet theo cách giao tiếp tương tự bên trong một máy tính Tuy nhiên, công nghệ xây dựng dịch vụ Web không nhất thiết phải là các công nghệ mới, nó có thể kết hợp với các công nghệ đã có như XML, SOAP, WSDL, UDDI… Với sự phát triển và lớn mạnh của Internet, dịch vụ Web thật sự là một công nghệ đáng được quan tâm để giảm chi phí và độ phức tạp trong tích hợp và phát triển hệ thống
Theo định nghĩa của W3C (World Wide Web Consortium), Web service là một hệ thống phần mềm được thiết kế với khả năng hỗ trợ tương tác giữa các ứng dụng trên các máy tính khác nhau thôn qua mạng Internet Giao diện chung và sự gắn kết của
nó được mô tả bằng XML Web service là tài nguyên phần mềm có thể xác định bằng địa chỉ URL, thực hiện các chức năng và đưa ra các thông tin người dùng yêu cầu Một Web service được tạo nên bằng cách lấy các chức năng và đóng gói chúng sao cho các ứng dụng khác dễ dàng nhìn thấy và có thể truy cập đến những dịch vụ
mà nó thực hiện, đồng thời có thể yêu cầu thông tin từ Web service khác Nó bao gồm các mô đun độc lập cho hoạt động của khách hàng và doanh nghiệp và bản thân nó được thực thi trên server
Theo IBM , nói tới Web service như việc trao đổi các thông điệp SOAP giữa các hệ thống Các thông điệp này được cấu tạo từ XML( là một tiêu chuẩn mở dựa trên văn
Trang 11bản) có thể truy cập bởi bất kỳ ai, từ bất kỳ ứng dụng nào (ứng dụng được thiết kế
để chấp nhận nó) Điều này mở rộng thế giới cho ứng dụng của bạn để bất cứ ai cũng có thể dùng nó trên mạng của bạn
Một SOAP cơ bản của Web service liên quan đến việc gửi một thông điệp XML như thể hiện trong hình
Hình 1 SOAP cơ bản của Web service
Các thông điệp này di chuyển từ một hệ thống, thường là thông qua HTTP Hệ thống tiếp nhận diễn giải thông điệp ( những gì nó phải làm) và gửi lại phản hồi bằng một trong các hình thức của thông điệp SOAP
1.1.2 Đặc điểm của Web service
Web service cho phép client và server tương tác được với nhau ngay cả trong những môi trường khác nhau Ví dụ, đặt Web server cho ứng dụng trên một máy chủ chạy
hệ điều hành Linux trong khi người dùng sử dụng máy tính chạy hệ điều hành Windows, ứng dụng vẫn có thể chạy và xử lý bình thường mà không cần thêm yêu cầu đặc biệt để tương thích giữa hai hệ điều hành này
Phần lớn kĩ thuật của Web service được xây dựng dựa trên mã nguồn mở và được phát triển từ các chuẩn đã được công nhận, ví dụ như XML
Một Web service bao gồm có nhiều mô đun và có thể công bố lên mạng Internet
Trang 12Là sự kết hợp của việc phát triển theo hướng từng thành phần với những lĩnh vực cụ thể và cơ sở hạ tầng Web, đưa ra những lợi ích cho cả doanh nghiệp, khách hàng, những nhà cung cấp khác và cả những cá nhân thông qua mạng Internet
Một ứng dụng khi được triển khai sẽ hoạt động theo mô hình client-server Nó có thể được triển khai bởi một phần mềm ứng dụng phía server ví dụ như PHP, Oracle Application server hay Microsoft.Net…
Ngày nay Web service đang rất phát triển, những lĩnh vực trong cuộc sống có thể áp dụng và tích hợp Web service là khá rộng lớn như dịch vụ chọn lọc và phân loại tin tức (hệ thống thư viện có kết nối đến web portal để tìm kiếm các thông tin cần thiết); ứng dụng cho các dịch vụ du lịch (cung cấp giá vé, thông tin về địa điểm…), các đại lý bán hàng qua mạng, thông tin thương mại như giá cả, tỷ giá hối đoái, đấu giá qua mạng…hay dịch vụ giao dịch trực tuyến (cho cả B2B và B2C) như đặt vé máy bay, thông tin thuê xe…
Các ứng dụng có tích hợp Web service đã không còn là xa lạ, đặc biệt trong điều kiện thương mại điện tử đang bùng nổ và phát triển không ngừng cùng với sự lớn mạnh của Internet Bất kì một lĩnh vực nào trong cuộc sống cũng có thể tích hợp với Web service, đây là cách thức kinh doanh và làm việc có hiệu quả bởi thời đại ngày nay là thời đại của truyền thông và trao đổi thông tin qua mạng Do vậy, việc phát triển và tích hợp các ứng dụng với Web service đang được quan tâm phát triển là điều hoàn toàn dễ hiểu
Trang 13 Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại bằng cách cho phép các tiến trình/chức năng nghiệp vụ đóng gói trong giao diện Web service
Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần trong
hệ thống, dễ dàng cho việc phát triển các ứng dụng phân tán
Thúc đẩy hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ giá thành hoạt động, phát triển hệ thống nhanh và tương tác hiệu quả với hệ thống của các doanh nghiệp khác
Nhược điểm:
Những thiệt hại lớn sẽ xảy ra vào khoảng thời gian chết của Web service, giao diện không thay đổi, có thể lỗi nếu một máy khách không được nâng cấp, thiếu các giao thức cho việc vận hành
Có quá nhiều chuẩn cho Web service khiến người dùng khó nắm bắt
Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật
1.1.3 Kiến trúc của Web service
Web service gồm có 3 chuẩn chính: SOAP (Simple Object Access Protocol), WSDL (Web Service Description Language) và UDDI (Universal Description, Discovery, and Integration) Hình 2 mô tả chồng giao thức của Web service, trong
đó UDDI được sử dụng để đăng ký và khám phá Web service đã được miêu tả cụ thể trong WSDL Giao tác UDDI sử dụng SOAP để nói chuyện với UDDI server, sau đó các ứng dụng SOAP yêu cầu một Web service Các thông điệp SOAP được gửi đi chính xác bởi HTTP và TCP/IP
Trang 14Hình 2 Chồng giao thức Web service
Chồng giao thức Web service là tập hợp các giao thức mạng máy tính được sử dụng
để định nghĩa, xác định vị trí, thi hành và tạo nên Web service tương tác với những ứng dụng hay dịch vụ khác Chồng giao thức này có 4 thành phần chính:
Dịch vụ vận chuyển (Service Transport): có nhiệm vụ truyền thông điệp giữa các ứng dụng mạng, bao gồm những giao thức như HTTP, SMTP, FTP, JSM và gần đây nhất là giao thức thay đổi khổi mở rộng (Blocks Extensible Exchange Protocol- BEEP)
Thông điệp XML: có nhiệm vụ giải mã các thông điệp theo định dạng XML để có thể hiểu được ở mức ứng dụng tương tác với người dùng Hiện tại, những giao thức thực hiện nhiệm vụ này là XML-RPC, SOAP và REST
Trang 15Mô tả dịch vụ: được sử dụng để miêu tả các giao diện chung cho một Web service
cụ thể WSDL thường được sử dụng cho mục đích này, nó là một ngôn ngữ mô tả giao tiếp và thực thi dựa trên XML Web service sẽ sử dụng ngôn ngữ này để truyền tham số và các loại dữ liệu cho các thao tác và chức năng mà Web service cung cấp
Khám phá dịch vụ: tập trung dịch vụ vào trong một nơi được đăng ký, từ đó giúp một Web service có thể dễ dàng khám phá ra những dịch vụ nào đã có trên mạng, tốt hơn trong việc tìm kiếm những dịch vụ khác để tương tác Một Web service cũng phải tiến hành đăng ký để các dịch vụ khác có thể truy cập và giao tiếp Hiện tại, UDDI API thường được sử dụng để thực hiện công việc này
Hình 3 Tầng giao thức tương tác dịch vụ Trong đó, tầng giao thức tương tác dịch vụ (Service Communication Protocol) với công nghệ chuẩn là SOAP SOAP là giao thức nằm giữa tầng vận chuyển và tầng
mô tả thông tin về dịch vụ, cho phép người dùng triệu gọi một dịch vụ từ xa thông qua một thông điệp XML Ngoài ra, để các dịch vụ có tính an toàn, toàn vẹn và bảo
Trang 16mật thông tin, trong kiến trúc Web service, chúng ta có thêm các tầng Policy, Security, Transaction, Management
1.1.4 Các thành phần của Web service
a) XML – eXtensible Markup Language
Là một chuẩn mở do W3C đưa ra cho cách thức mô tả dữ liệu, nó được sử dụng để định nghĩa các thành phần dữ liệu trên trang web và cho những tài liệu B2B Về hình thức, XML hoàn toàn có cấu trúc thẻ giống như ngôn ngữ HTML nhưng HTML định nghĩa thành phần được hiển thị như thế nào thì XML lại định nghĩa những thành phần đó chứa cái 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ở
Do Web service là sự kết hợp của nhiều thành phần khác nhau nên nó sử dụng các tính năng và đặc trưng của các thành phần đó để giao tiếp XML là công cụ chính để giải quyết vấn đề này và là kiến trúc nền tảng cho việc xây dựng một Web service, tất cả dữ liệu sẽ được chuyển sang định dạng thẻ XML Khi đó, các thông tin mã hóa sẽ hoàn toàn phù hợp với các thông tin theo chuẩn của SOAP hoặc XML-RPC
và có thể tương tác với nhau trong một thể thống nhất
b) WSDL – Web Service Description Language
WSDL là một tiêu chuẩn W3C, nó là một ngôn ngữ dựa trên nền XML dùng để định vị và mô tả Web service, bao gồm các thông tin:
Tên service
Giao thức và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của Web service
Loại thông tin: thao tác, tham số, những kiểu dữ liệu (có thể là giao diện của Web service cộng với tên cho giao diện này)
Một WSDL hợp lệ gồm hai phần: phần giao diện (mô tả giao diện và phương thức kết nối) và phần thi hành mô tả thông tin truy xuất CSDL Cả hai phần này sẽ được
Trang 17lưu trong 2 tập tin XML tương ứng là tập tin giao diện dịch vụ và tập tin thi hành dịch vụ Giao diện của một Web service đưa ra cách thức làm thế nào để giao tiếp qua Web service Tên, giao thức liên kết và định dạng thông điệp yêu cầu để tương tác với Web service được đưa vào thư mục của WSDL
WSDL thường được sử dụng kết hợp với XML schema và SOAP để cung cấp Web service qua Internet Một client khi kết nối tới Web service có thể đọc WSDL để xác định những chức năng sẵn có trên server Sau đó, client có thể sử dụng SOAP
để lấy ra chức năng chính xác có trong WSDL
c) Universal Description, Discovery, and Integration (UDDI)
Để có thể sử dụng các dịch vụ, trước tiên client phải tìm dịch vụ, ghi nhận thông tin
về cách sử dụng và biết được đối tượng nào cung cấp dịch vụ UDDI là một thư mục dịch vụ, nơi mà chúng ta có thể đăng ký và tìm kiếm các web service UDDI định nghĩa một số thành phần cho biết các thông tin này, cho phép các client truy tìm và nhận những thông tin được yêu cầu khi sử dụng Web service UDDI là một thư mục các giao diện dịch vụ web được mô tả bởi WSDL, nó giao tiếp thông qua SOAP
Để có thể sử dụng các dịch vụ, trước tiên client phải tìm dịch vụ, ghi nhận thông tin
về cách sử dụng dịch vụ và biết được đối tượng cung cấp dịch vụ UDDI định nghĩa một số thành phần cho biết trước các thông tin này để cho phép các client truy tìm
và nhận lại những thông tin yêu cầu sử dụng web services
Cấu trúc UDDI gồm các thành phần:
Trang trắng – White pages: chứa thông tin liên hệ và các định dạng chính yếu của Web service, chẳng hạn tên giao dịch, địa chỉ, thông tin nhận dạng… Những thông tin này cho phép các đối tượng khác xác định được dịch vụ
Trang 18 Trang vàng – Yellow pages: chứa thông tin mô tả Web service theo những loại khác nhau Những thông tin này cho phép các đối tượng thấy được Web service theo từng loại với nó
Trang xanh – Green pages: chứa thông tin kỹ thuật mô tả các hành vi và các chức năng của Web service
Loại dịch vụ – tModel: chứa các thông tin về loại dịch vụ được sử dụng
Những thông tin về Web service đượ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 Web service khác nhằm xác định xem dịch vụ nào sẽ cần đến nó.UDDI được xây dựng để góp phần vào nền tảng Microsoft NET
d) SOAP – Simple Object Access Protocol
SOAP là một giao thức giao tiếp có cấu trúc như XML Nó được xem là cấu trúc xương sống của các ứng dụng phân tán được xây dựng từ nhiều ngôn ngữ và các hệ điều hành khác nhau SOAP là một giao thức dựa trên nền XML cho phép ứng dụng trao đổi các thông tin thông thường sử dụng giao thức HTTP Cụ thể hơn thì SOAP
là một giao thức dùng để truy cập các web service SOAP rất đơn giản và có thể mở rộng Vì dựa trên XML nên SOAP là một giao thức không phụ thuộc platform cũng như bất kì ngôn ngữ lập trình nào SOAP cho phép chúng ta vượt qua bức tường lửa (firewall)
Một thông điệp SOAP được chia thành hai phần là header và body Phần header chỉ
ra địa chỉ web service, host, Content-Type, Content-Length tương tự như một thông điệp HTTP
Một client sẽ gửi thông điệp yêu cầu tới server và ngay lập tức server sẽ gửi những thông điệp trả lời tới client Cả SMTP và HTTP đều là những giao thức ở lớp ứng
Trang 19dụng của SOAP nhưng HTTP được sử dụng và chấp nhận rộng rãi hơn bởi ngày nay
nó có thể làm việc rất tốt với cơ sở hạ tầng Internet
1.2 BẢO ĐẢM AN TOÀN CHO WEB SERVICE
1.2.1 Tổng quan về bảo đảm an toàn cho Web service
Một Web service được coi là bảo mật khi đáp ứng được đầy đủ các yếu tố:
Identification: định danh được những ai truy cập tài nguyên hệ thống
Authentication: chứng thực tư cách truy cập tài nguyên của người muốn sử dụng
Authorization: cho phép giao dịch khi đã xác nhận định danh người truy cập
Integrity: toàn vẹn thông tin trên đường truyền
Confidentiality: độ an toàn, không ai có thể đọc thông tin trên đường đi
Auditing: kiểm tra, tất cả các giao dịch đều được lưu lại để kiểm tra
Non-repudiation: độ mềm dẻo, cho phép chứng thực tính hợp pháp hóa của thông tin đến từ một phía thứ ba ngoài 2 phía là người gửi và người nhận
1.2.2 Các kỹ thuật bảo mật Web service
eXtensible Access Control Markup Language (XACML) : 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
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
XML Key Management Specification (XKMS) : 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
Trang 20Web 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: 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 fMộ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
eXentisble Rights Markup Language (XrML) : 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
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 coi là 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
1.3 THỰC TRẠNG BẢO MẬT
Năm 2014 có thể coi là một năm bùng nổ của các vụ tấn công đánh cắp dữ liệu, với hàng loạt sự kiện liên quan đến bảo mật khiến thế giới cần có cái nhìn mới về bảo mật
Tháng 10/2014, ngân hàng lớn nhất nước Mỹ, JPMorgan Chase đã bị tin tặc xâm nhập vào hơn 90 máy chủ, đánh cắp được thông tin cá nhân của 83 triệu khách hàng
là hộ gia đình và doanh nghiệp Trước đó, tháng 5/2014, eBay thông báo họ bị tấn công nghiêm trọng và 145 triệu tài khoản của người dùng đã bị đánh cắp Ngoài con
Trang 21số thiệt hại 145 triệu tài khoản được chú ý, còn có thế thấy một yếu tố quan trọng nữa mà ít người để ý hơn Đó là: eBay biết họ bị tấn công sau bao nhiêu lâu? Một thực tế khá buồn đó là cuộc tấn công vào eBay diễn ra từ cuối tháng 2/2014, vậy mà tới tháng 5.2014 họ mới phát hiện ra Nhưng eBay không phải trường hợp cá biệt vì hầu hết trong các cuộc tấn công nạn nhân không hề biết mình đã bị xâm nhập, đánh cắp dữ liệu trong một khoảng thời gian dài
Ngay tại Việt Nam, vụ tấn công vào VCCorp trong tháng 10/2014, nhằm phá hủy
dữ liệu của công ty này, cũng được đánh giá là một cuộc tấn công tinh vi và gây thiệt hại đến vài chục tỉ đồng.Theo thống kê của SecurityDaily từ các diễn đàn an ninh mạng, diễn đàn hacker… trong nửa đầu tháng 9/2014, đã có tổng cộng 1.039 website của Việt Nam bị tấn công, đây là con số cao nhất trong năm 2014 Còn trong 9 tháng đầu năm nay, đã có 4.767 websites của Việt Nam bị tấn công, tăng gấp đôi so với các năm từ 2011-2013 Trung bình mỗi ngày có hơn 18 website của Việt Nam bị chiếm quyền điều khiển Năm 2014 thực sự là một năm rất nóng về tình hình tấn công ứng dụng web tại Việt Nam
Trang 22CHƯƠNG 2 - CƠ CHẾ ĐĂNG NHẬP MỘT LẦN ( SINGLE SIGN ON)
2.1 TỔNG QUAN VỀ CƠ CHẾ ĐĂNG NHẬP MỘT LẦN (SINGLE SIGN ON)
2.1.1 Khái niệm cơ chế đăng nhập một lần
Trong quá trình phát triển của các hệ thống phân tán, chúng ta có thể nhận thấy ban đầu chúng chỉ là những thành phần hoạt động như những hệ thống độc lập và đòi hỏi những chế độ bảo mật độc lập tương đương Những thành phần này bao gồm những nền tảng riêng rẽ liên kết với từng ứng dụng và hệ điều hành khác nhau Điều này dẫn tới việc những người dùng cuối phải đăng ký và xác thực một cách độc lập với từng dịch vụ nếu họ muốn truy nhập đến các dữ liệu được bảo mật Tuy nhiên trên thực tế người dùng phải đăng nhập vào rất nhiều các máy chủ dịch vụ khác nhau, từ đó dẫn đến mỗi người phải đăng ký và ghi nhớ rất nhiều các thông tin định danh người dùng
Hình 4 Trước và sau khi sử dụng Single Sign On
Trang 23Những người quản trị hệ thống cũng phải đối mặt với việc quản lý những người dùng trong các hệ thống liên kết muốn truy nhập đến các tài nguyên trong hệ thống của mình mà không xảy ra xung đột cũng như đảm bảo được các quy tắc bảo mật
Cơ chế đăng nhập một lần là cơ chế giúp cho người dùng hợp pháp có thể truy nhập vào rất nhiều những dịch vụ khác nhau trên hệ thống mạng phân tán nhưng chỉ phải
sử dụng một định danh duy nhất Người sử dụng chỉ cần đăng ký và đăng nhập duy nhất một lần vào hệ thống, khi đó trong phiên làm việc của mình họ có thể truy cập ngay lập tức vào các dịch vụ liên kết của hệ thống phân tán mà không phải đăng ký thêm định danh và thông qua quá trình đăng nhập lần nữa
2.1.2 Ưu khuyết điểm của cơ chế đăng nhập một lần
a Ưu điểm
Tiết kiệm thời gian cho người sử dụng trong việc đăng nhập vào nhiều dịch
vụ được cung cấp trên các nền tảng khác nhau của hệ thống phân tán
Tăng cường khả năng bảo mật thông qua việc giúp người sử dụng không cần nhớ nhiều thông tin đăng nhập (định danh và mật khẩu)
Giúp cho người quản trị hệ thống tiết kiệm thời gian trong việc tạo lập hay loại bỏ người dùng trên hệ thống, cũng như thay đổi quyền của một hay một nhóm người dùng nào đó
Tiết kiệm thời gian khi tái lập lại mật khẩu cho người dùng
Bảo mật các cấp độ của việc thoát hay truy xuất hệ thống
Người phát triển ứng dụng không cần thiết phải hiểu và thực hiện nhận dạng bảo mật trong ứng dụng của họ, điều họ cần làm là liên kết đến một máy chủ định danh đã được bảo đảm, việc này giúp những người dùng của họ có thể truy cập vào các dịch vụ khác cũng liên kết đến máy chủ đó như họ
b Khuyết điểm
Đòi hỏi cơ sở hạ tầng của toàn bộ hệ thống phải bảo đảm
Trang 24 Do nhiều domain cùng sử dụng chung cơ sở dữ liệu người dùng nên việc xác thực khi người dùng đăng ký với hệ thống phải chặt chẽ, nếu không sẽ rất dễ vi phạm việc đảm bảo an ninh cho hệ thống
Cần có cơ chế xác thực đảm bảo khi truyền các thông tin định danh người dùng giữa người sử dụng với các máy chủ dịch vụ khác nhau
2.1.3 Danh sách các giải pháp của SSO
PHẨM
DỰ ÁN/ NHÀ PHÁT TRIỂN
LOẠI HÌNH
Nền tảng quản lý định danh
MIÊU TẢ
Accounts & SSO Nokia, Intel,… Miễn phí Thực hiện bên phía
client với plugin cho các dịch vụ/ giao thức khác nhau Active Directory
Trang 25cấp định danh(doanh nghiệp,
xã hội, hoặc ứng dụng cụ thể) để giảm bớt việc thực hiện và duy trì các
nỗ lực để bảo mật xác thực và ủy quyền cho người sử dụng các ứng dụng hoặc các API
Authen2cate Authen2cate,
LLC
Bản quyền
Có Lớp enterprise
full-service đăng nhập một lần cho bất kỳ nền tảng đám mây hoặc trên cơ sở ứng dụng, cùng với tích hợp thư mục và các tùy chọn xác thực
đa nhân tố AuthAnvil
mở
Thực hiện Protocol
và SSO server/ client trong PHP
Trang 26quyền đám mây và quản lý
truy cập giải pháp với đăng nhập một lần, tích hợp hoạt động thư mục và các tùy chọn xác thực hai yếu tố CAS ( Central
Học thuật SSO của đại học
Michigan Distributed
Access Control
System (DACS)
Distributed Systems Software
Miến phí
Enterprise Sign
On Engine
Queensland University of Technology
Trang 27IAM, Evidian SafeKit
FreeIPA Red Hat Miễn phí Có
quyền
Có Đám mây dựa trên
nền tảng quản lý định danh của khách hàng bao gồm cả SSO, SAML federation, đăng ký như một service, engagement plugins và kết nối nối xã hội
HP IceWall SSO Hewlett-Packard
Development Company, L.P
Bản quyền
Web và giải pháp Federated Single Sign On
IBM Enterprise
Identity Mapping
Kerberos ( ví dụ như Active Directory) cà các cơ chế xác thực khác
để lập bản đồ xác
Trang 28thực khác nhau và cho phép đăng nhập một lần cho tất cả các nền tảng máy
(Windows, Linux, PowerLinux, IBM i, i5/OS, OS/400, AIX) ngay cả khi người sử dụng tên khác
quyền IBM Tivoli
OneSign
Imprivata Bản
quyền ILANTUS Sign
On và tích hợp hoạt động thư mục
Trang 29thường Loginradius LoginRadius Inc Bản
quyền
Có Social login và SSO
JBoss SSO Red Hat Miễn phí Federated Single
Sign On
mở SSO Kerberos M.I.T Protocol Giao thức xác thực
mạng máy tính Keycloak Red Hat Mã nguồn
mở (Apache 2.0)
Có Tích hợp SSO và
IDM cho các ứng dụng trình duyệt và dịch vụ web RESTful Được xây dựng phía trên của OAuth 2.0, OpenID Connect, JSON Web Token (JWT)
và SAML thông số
kỹ thuật 2.0 Microsoft
account
Microsoft Bản
quyền
Dịch vụ đăng nhập một lần của Microsoft
quyền
Single Sign On đám mây
Trang 30phương pháp phải được tuân thủ để truy cập sự kiện Numina
Application
Framework
Numina Solutions
Bản quyền
Có Hệ thống đăng nhập
một lần cho Windows ( OPenID
RP & OP, SAML IdP, và có bản quyền)
OneLogin OneLogin Inc Bản
quyền
Có Nền tảng xác thực
đám mây và quản lý truy cập với Single Sign On (SSO) và tích hợp hoạt động thư mục
OpenAM ForgeRock Miễn phí Có, sử
dụng kết hợp với OpenDJ
và OpenIDM
Quản lý truy cập,quyền lợi và nền tảng máy chủ liên đoàn
Ping Dock Ping Identity
Corporation
Bản quyền
Enterprise Sigle Sign On
Trang 31quyền Sign On, giải pháp
xác thực và quản lý truy cập, SSO Clound hoặc ứng dụng On premise,
Complisnce, Connectors của bất
kỳ hệ thống tích hợp ( Active Directory, Google App, Database, cPannel, CSV file, Excel file, Linux…)
nền tảng XML Shibboleth Shibboleht Miễn phí Kiểm soát truy cập
mã nguồn mở nền tảng XML
Thinltecture
Identity Server
Thinktecture Mã nguồn
mở (Apache 2.0)
hostable cho phép thực hiện kiểm soát đăng nhập một lần
và tuy cập cho các
Trang 32ứng dụng web và sử dụng các giao thức API như OPenID Connect và OAuth2 Hỗ trợ một loạt các client như điện thoạt, web, SPAs vad các ứng dụng nền và được
mở rộng để cho phép tích hợp trong kiên trúc mới và hiện có
WSO2 Identity
Server
mở (Apache 2.0)
OpenID, OpenID Connect, OAuth 2.0, SCIM, XACML, Passive Federation
ZXID ZXID Miễn phí Có Tài liệu tham khảo
thực hiện của TAS3 security
Bảng 1 Danh sách các ứng dụng của SSO
2.2 GIẢI PHÁP OPENID
2.2.1 Hoạt động của OpenID
2.2.1.1 Khái niềm về OpenOD
OpenID là một dịch vụ định danh (Identify) chia sẻ, là một hệ thống đăng nhập một lần không có tính tập trung, cho phép người sử dụng đăng nhập nhiều website khác
Trang 33nhau chỉ bằng 1 định danh số, tránh việc sử dụng các tài khoản và mật khẩu khác nhau cho mỗi website OpenID là định chuẩn mở, miễn phí và phân quyền cho phép người dùng điều khiển được các thông tin cá nhân của mình công khai trên Internet
Một OpenID là dạng liên kết URL, URL này có thể là tên miền của website hoặc URL của nhà cung cấp định danh OpenID Khi đăng nhập với tài khoản OpenID, bạn phải đăng nhập vào nhà cung cấp dịch vụ định danh để kiểm tra tính hợp lệ của tài khoản OpenID là một phương thức giúp bạn xác thực tài khoản đăng ký tại một provider duy nhất mà bạn tin tưởng và cho phép người dùng thực hiện việc đăng nhập vào các lần sau
Lịch sử phát triển
Phiên bản đầu tiên của OpenID được phát triển vào tháng 5 năm 2005 bởi Brad Fitzpatrick, tác giả của trang web cộng đồng LiveJournal, làm việc cho công ty Six Apart, ban đầu có tên là Yadis (“Yet another distributed identity system": hệ thống đăng nhập phân tán), và được gọi là OpenID sau khi tên miền www.openid.net được trao cho Six Apart để sử dụng cho dự án
Tháng 6/2005, các cuộc thảo luận giữa người dùng cuối và nhà phát triển từ công ty phần mềm NetMesh về khả năng hợp tác giữa OpenID và LID (Một giao thức tương
tự được phát triển bởi NetMesh) Kết quả của sự hợp tác đó là giao thức Yadis được phát triển và giữ tên gọi mới là OpenID Giao thức OpenID được công bố vào 24/10/2005, sau khi hội thảo Internet Identity Workshop diễn ra vài ngày Tháng 12, các nhà phát triển SXIP (Simple Extensible Identity Protocol) và XRI (Một chuẩn nhận dạng mới trên Internet) bắt đầu tích hợp vào OpenID, thay vì nhận dạng bằng URL ban đầu, OpenID đã phát triển thành một chuận nhận dạng đầy đủ cho định danh người sử dụng Phiên bản OpenID 2.0 xuất hiện Ngày 31/1/2007, Symantec công bố hổ trợ OpenID trong trang dịch vụ và sản phẩm Một tuần sau, ngày 6/2/2007, Microsoft kết hợp với JanRain, Sxip, và VeriSign (Những tổ chức tham gia phát triển OpenID) tuyên bố hổ trợ OpenID và
Trang 34xem xét khả năng tương tác giữa OpenID và MS CardSpace (Một phương thức nhận dạng của Microsoft), cùng với đó là việc xem xét các vấn đề bảo mật cho sự phát triển của OpenID Giữa tháng 2, AOL hổ trợ thử nghiệm OpenID OpenID sau đó được các đại gia như Yahoo, Google quan tâm, kéo theo đó là các mạng xã hội và các website có lượng người sử dụng lớn cũng bắt đầu hổ trợ OpenID (Trở thành Provider hoặc WebApp hổ trợ OpenID)
Đến cuối năm 2009 đã có trên 1 tỉ tài khoản OpenID, và xấp xỉ 9 triệu websites có
hỗ trợ thành phần Relying Party Ngoài ra có nhiều web nổi tiếng đã xây dựng thành phần Identity Provider như Google, Yahoo, Microsofl, Facebook… Điều này đã cho thấy sự phổ biến của hệ thống OpenID hiện nay
Một hệ thống OpenID gồm 3 thành phần là Identity Provider, Relying Party và Identity Selector Thành phần Identity Selector ở đây chính là Browser
Ứng dụng và giải pháp công nghệ
a Ứng dụng Website, mạng xã hội, phần mềm lập trình, Ebank, Windows
Giúp người dùng dễ dàng đăng ký và đăng nhập, thao tác xử lý nhanh và đơn giản Hoàn toàn phụ thuộc vào việc lựa chọn nhà cung cấp dịch vụ từ phía người dùng tin cậy
Khả năng tích hợp, triển khai, cơ chế quản lý bảo mật thông tin người dùng cao
Giải quyết được bài toán lập trình nhanh (kết nối và chứng thực qua các nhà dịch vụ cho việc xử lý đăng nhập) mà không cần xây dựng chức năng xử lý đăng nhập cục bộ
Giúp người dùng dễ dàng sử dụng nhiều ứng dụng khác nhau chỉ với cùng một tài khoản duy nhất
Cho phép hệ thống có thể sử dụng các tài khoản đã có trước từ bên ngoài hoặc dùng các tài khoản tạo bên trong hệ thống:
Trang 35o Chứng thực qua email: Đòi hỏi người dùng sau khi đăng kí tài khoản tại site sẽ phải kích hoạt tài khoản thông qua email
o Chứng thực bằng tay: Tất cả các tài khoản chỉ có thể tạo bởi người quản trị
o Không chứng thực: Người dùng chỉ cần đăng kí tài khoản là xong, không cần xác nhận qua email
b Giải pháp
OpenID giúp người dùng và website xác thực quyền truy cập, cho phép người dùng đăng nhập vào những ứng dụng web khác nhau chỉ bằng một định danh số (Digital Indentity) Giúp thay thế các thủ tục đăng ký, xác thực, đăng nhập truyền thống chỉ bằng một bước đăng nhập duy nhất
Các thành phần của một hệ thống quản lý định danh
Các hệ thống quản lý định danh rất đa dạng và phong phú Mỗi hệ thống có thể
có danh sách các thành phần, cách hoạt động, cách giao tiếp khác nhau
Tuy nhiên, trong hệ thống quản lý định danh thông thường có các thành phần:
Relying Party: là dịch vụ sử dụng cơ chế định danh để chứng thực Ví dụ, một số trang web sử dụng cơ chế đăng nhập người dùng để định danh như trang zing, trang eplay Hiện nay đã có rất nhiều thành phần Relying Party trên mạng Phần lớn trong số đó đã hỗ trợ định danh bằng hệ thống khác như tài khoản email của Yahoo hay Gmail
Identity Provider (IdP): là thành phần có nhiệm vụ quản lý các thuộc tính định danh của người dùng hệ thống IdP có chức năng truyền những thông tin cần thiết để thực hiện chứng thực đến Relying Party sau khi xác định đúng là người dùng đang sử dụng dịch vụ Hiện nay đã có rất nhiều hệ thống nổi tiếng đã xây dựng thành phần Identity Provider cho riêng mình dựa trên cơ chế của hệ thống OpenID như Google, Yahoo…
Trang 36 Identity Selector (IS): là thành phần trung gian của hệ thống, là cầu nối giữa người dùng, Relying Party, Identity Provider Mọi hoạt động của thành phần này được điều khiển trực tiếp bởi người dùng
Quy trình hoạt động chính của hệ thống quản lý định danh
Quy trình của một hệ thống quản lý định danh bao gồm các bước chính sau để thực hiện quá trình chứng thực:
Bước 1: Người dùng sẽ cung cấp thông tin về Identity Provider cho thành phần Identity Selector
Bước 2: Thành phần Identity Selector sẽ tự động giao tiếp với thành phần Relying Party Sau đó, Identity Selector sẽ truyền các thông tin về Identity Provider do người dùng cung cấp ở bước 1 đến thành phần Relying Party
Trang 37Hình 5 Quy trình của hệ thống quản lý định danh Bước 3: Thành phần Relying Party sẽ sử dụng thông tin người dùng cung cấp để kết nối với thành phần Identity Provider (thông qua một kênh truyền an toàn) Sau đó, Relying Party sẽ gửii danh sách tên các thuộc tính cần thiết để thực hiện định danh đến thành phần Identity Provider thông qua kênh truyền an toàn đã được thiết lập Bước 4: Thành phần Identity Provider sẽ tạo các thuộc tính cần định danh mà thành phần Relying Party yêu cầu ở bước 3 Sau đó, Identity Provider sẽ ký xác nhận các thông tin mình tạo ra bằng chữ ký của mình Cuối cùng, Identity Provider sẽ truyền thông điệp đã ký về Identity Selector
Bước 5: Identity Selector sẽ hiện lên các thông tin định danh tương ứng Sau đó, người dùng sẽ kiểm tra các thông tin này và xác nhận có truyền những thuộc tính định danh đến Relying Party hay không
Trang 38Bước 6: Các thuộc tính định danh sẽ được truyền đến Relying Party nếu người dùng
b ế ạt độ
OpenID có hai cơ chế giao tiếp là Smart mode và Dumb mode Hai cơ chế này được dựa trên khả năng của Relying Party Trong chế độ Smart mode, Relying Party có khả năng lưu lại khóa chia sẻ bí mật cho việc chứng thực sau đó Ngược lại, ở chế độ Dumb mode, Relying Party không có khả năng lưu trữ thông tin nên phải thực hiện thêm một số bước để hoàn tất quá trình chứng
Trang 39thực
Hình 6 Cơ chế hoạt động của OpenID
Cơ chế Smart mode
Quy trình định danh của hệ thống OpenID ở chế độ Smart Mode có thể chia làm 3 quy trình con sau:
[1] Quy trình xác định thành phần Identity Provider
Quy trình xác định thành phần Identity Provider gồm 6 bước:
Bước 1: Người dùng sẽ nhập địa chỉ URL của Relying Party vào Browser
Bước 2: Dựa vào URL người dùng nhập vào, Browser sẽ giao tiếp với thành phần Relying Party
Trang 40Bước 3: Relying Party sẽ trả về Browser trang đăng nhập có hỗ trợ OpenID trong
đó có textbox yêu cầu người dùng nhập vào URI của Identity Provider
Bước 4: Browser hiển thị trang đăng nhập cho người dùng
Bước 5: Người dùng sẽ điền URI của Identity Provider vào Browser Sau khi điền vào URI, người dùng nhấn nút “Đăng nhập”
Bước 6: Browser sẽ chuyển thông tin về URI người dùng nhập vào đến Relying Party Relying Party sẽ lấy thông tin về URI người dùng nhập vào để xác định được thành phần Identity Provider tương ứng URI người dùng nhập vào sẽ có hai loại:
Loại 1: URI đó chính là địa chỉ của Identity Provider Trong trường hợp này, Relying Party đã có được địa chỉ của Identity Provider chính là URI người dùng nhập cung cấp
Loại 2: URI này không phải là địa chỉ của Identity Provider Trong trường hợp này, thành phần Relying Party phải dùng Yadis để lấy địa chỉ của Identity Provider Dịch vụ Yadis có vai trò nhận vào một URI và sẽ trả về địa chỉ và thông tin về Identity Provider tương ứng Quy trình xác định địa chỉ Identity Proivder dựa trên Yadis
[2] Quy trình gửi thuộc tính định danh
Quy trình gửi thuộc tính định danh lên Relying Party gồm 10 bước:
Bước 1: Relying Party sau khi xác định được thành phần Identity Provider ở quy trình xác định thành phần Identity Provider Bước 1 là bước tùy chọn bao gồm hai trường hợp xảy ra như sau:
Trường hợp 1: Relying Party và Identity Provider chưa có khóa chia sẻ bí mật ở những lần định danh trước đây, hoặc khóa chia sẻ bí mật đã hết thời gian sử dụng Trong trường hợp này, Relying Party sẽ kết nối bằng một kênh truyền an toàn với Identity Provider để chia sẻ khóa bí mật Khóa bí mật sẽ được sử dụng để kiểm tra