Nghiên cứu thử nghiệm các cơ chế xác thực sử dụng OpenID và ứng dụng

98 22 3
Nghiên cứu thử nghiệm các cơ chế xác thực sử dụng OpenID và ứng dụng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng MỤC LỤC Trang phụ bìa Lời cam đoan Danh mục ký hiệu, chữ viết tắt Danh mục hình vẽ, đồ thị PHẦN MỞ ĐẦU CHƯƠNG – TỔNG QUAN VỀ XÁC THỰC VÀ GIẢI PHÁP ĐĂNG NHẬP MỘT LẦN (SINGLE SIGN-ON) 1.1 Xác thực an tồn thơng tin 1.2 Xác thực người dùng 10 1.2.1 Các nhân tố xác thực .11 1.2.2 Xác thực đa yếu tố 11 1.2.3 Một số giải pháp xác thực phổ biến .12 1.2.4 Các giao thức xác thực 19 1.3 Giải pháp đăng nhập lần (Single sign-on) 23 1.3.1 Đăng nhập lần ? .23 1.3.2 Phân loại đăng nhập lần 25 1.3.3 Đặc điểm SSO dựa web 31 1.3.4 Nguyên lý hoạt động SSO dựa web 32 1.3.5 Các vấn đề an toàn với đăng nhập lần dựa web 33 1.3.6 Tăng cường an toàn sử dụng SSO dựa web .37 1.4 Kết luận chương 38 CHƯƠNG – TỔNG QUAN VỀ OPENID 39 2.1 OpenID .39 2.2 Lịch sử phát triển 40 2.3 Ứng dụng .41 2.4 Hệ thống quản lý định danh 41 2.4.1 Các thành phần hệ thống quản lý định danh 41 2.4.2 Quy trình hoạt động hệ thống quản lý định danh 43 2.5 Phương thức hoạt động OpenID 44 2.5.1 Giao tiếp thành phần hệ thống OpenID 44 2.5.2 Cơ chế hoạt động 45 2.5.3 Cơ chế xác thực OpenID 50 2.5.4 Sơ đồ quy trình giao tiếp Client-Server 52 Võ Huy Hưng Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - 2.5.5 Quy trình xử lý bước giao tiếp 52 2.6 Những vấn đề phát sinh với OpenID 53 2.6.1 Tính nặc danh độ an tồn thơng tin 53 2.6.2 Khả phịng tránh lỗi tương thích với chức vốn có hệ thống 55 2.7 OpenID kết hợp với OAuth 56 2.8 Kết luận chương 59 CHƯƠNG – ĐỀ XUẤT MƠ HÌNH ĐĂNG NHẬP MỘT LẦN TRONG HỆ THỐNG QUẢN LÝ THÔNG TIN Y TẾ TRÊN CƠ SỞ ĐÁM MÂY VÀ THỬ NGHIỆM MÔ ĐUN ĐĂNG NHẬP MỘT LẦN SỬ DỤNG OPENID 60 3.1 Giới thiệu mơ hình .60 3.1.1 Hệ thống y tế sở đám mây 60 3.1.2 Vấn đề chia sẻ thông tin bệnh viện sở đám mây 62 3.1.3 Phân tích yêu cầu 64 3.2 Giải pháp thực thi 66 3.2.1 Mục tiêu 66 3.2.2 Cách tiếp cận 66 3.3 Phân tích thiết kế hệ thống thông tin .70 3.4 Môi trường thử nghiệm .76 3.5 Hoạt động mô đun 77 3.6 Đánh giá hoạt động mô đun 83 3.7 Kết luận chương 84 KẾT LUẬN 86 TÀI LIỆU THAM KHẢO 87 PHỤ LỤC A: CÁC THÔNG ĐIỆP CỦA OPENID 89 PHỤ LỤC B: DANH SÁCH CÁC HỆ THỐNG HỖ TRỢ OPENID 98 Võ Huy Hưng Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - Lời cam đoan   Tôi Võ Huy Hưng - tác giả luận văn “Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng” Tôi xin cam đoan thực luận văn nghiêm túc, toàn nội dung luận văn kết nghiên cứu thực Đồng thời, việc tham khảo tài liệu trình thực luận văn tuân thủ theo yêu cầu không chép luận văn trước                             Võ Huy Hưng Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - Danh mục ký hiệu, chữ viết tắt   PIN Personal Identification Number 2FA Two-Factor Authentication 3FA Three-Factor Authentication OTP One-Time Password SSO Single sign-on OpenSSO Open Single sign-on ESSO Enterprise Single sign-on JOSSO Java Open Single Sign-On CAS Central Authentication Service RP Relying Party IdP Identity Provider OP OpenID Provider IS Identity Selector SASL Single Authentication and Security Layer IDaaS Identity As A Service SP OAuth Service Provider SSL Secure Socket Layer TSL Transport Layer Security DNS Domain Name System URI Uniform Resource Identifier URL Uniform Resource Locator API Application Programming Interface APP Application Võ Huy Hưng Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - Danh mục hình vẽ, đồ thị   Hình 1.1 Giao thức thử thách trả lời 20 Hình 1.2 Thiết bị OTP RSA 21 Hình 1.3 Thẻ ma trận xác thực ACB 22 Hình 1.4 SMS OTP VTC Pay 22 Hình 1.5 Mơ hình trước sau áp dụng đăng nhập lần 24 Hình 1.6 Mơ hình Single Domain SSO 26 Hình 1.7 Mơ hình Multi domain SSO 28 Hình 1.8 Mơ hình OpenID 30 Hình 1.9 Mơ hình OpenSSO 31 Hình 1.10 Ví dụ session hijacking 35 Hình 1.11 Mơ hình cơng Man in the middle 36 Hình 1.12 Giả mạo DNS 37 Hình 2.1 Logo đặc trưng OpenID 39 Hình 2.2 Các thành phần hệ thống định danh 42 Hình 2.3 Ví dụ thành phần Relying Party 42 Hình 2.4 Quy trình hoạt động hệ thống quản lý định danh 43 Hình 2.5 URI địa Identity Provider 45 Hình 2.6 URI địa Identity Provider 45 Hình 2.7 Quy trình xác định thành phần Identity Provider 46 Hình 2.8 Sử dụng Yadis để xác định địa Identity Provider 47 Hình 2.9 Quy trình gởi thuộc tính định danh 47 Hình 2.10 Quy trình kiểm tra thuộc tính định danh 49 Hình 2.11 Quy trình kiểm tra thuộc tính định danh chế độ Dumb mode 50 Hình 2.12 Cơ chế xác thực OpenID 50 Hình 2.13 Xác thực SASL 51 Hình 2.14 Sơ đồ giao tiếp Client - Server 52 Hình 2.15 Cấu trúc giao thức bắt tay 53 Hình 2.16 Ví dụ giá trị ngẫu nhiên nonce thơng điệp OpenID 54 Hình 2.17 Luồng lai OpenID/OAuth2 với Spark API 57 Hình 2.18 Luồng đăng nhập với OpenID/OAuth dành cho Google Apps 57 Hình 2.19 OpenID Connect protocol 59 Hình 3.1 Điện tốn đám mây với hệ thống y tế 60 Hình 3.2 Mơ hình nhiều bệnh viện tham gia đám mây 62 Hình 3.3 Cở sở liệu riêng bệnh viện lưu trữ hồ sơ bệnh án 63 Hình 3.4 Quá trình xác thực truy cập hai bệnh viện 66 Võ Huy Hưng Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - Hình 3.5 Điện tốn đám mây cơng cộng 67 Hình 3.6 IDaaS 68 Hình 3.7 IDaaS SSO 69 Hình 3.8 Mơ hình khái qt hệ thống 70 Hình 3.9 Biểu đồ luồng logic đăng nhập lần 71 Hình 3.10 Hoạt động SSO 72 Hình 3.11 Đăng ký người dùng 73 Hình 3.12 Xác thực người dùng 74 Hình 3.13 Biểu đồ OpenID 75 Hình 3.14 Kịch thử nghiệm 77 Hình 3.15 Kiến trúc tầng ứng dụng web 78 Hình 3.16 Single sign-on với OpenID 79 Hình 3.17 Giao diện web chưa đăng nhập 80 Hình 3.18 Google hỏi người dùng có đồng ý cho miền phụ truy cập thơng tin 81 Hình 3.19 Giao diện web đăng nhập 82 Hình 3.20 Thơng tin phiên lưu cookie trình duyệt 83 Hình 3.21 Thơng tin phiên lưu server 84 Võ Huy Hưng Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - PHẦN MỞ ĐẦU Ngày nay, thông tin quan trọng lưu trữ mạng nhiều thường xuyên truy nhập từ máy tính khác mạng Chính điều mang lại lợi ích to lớn cho việc chia sẻ tài nguyên, kết nối tổ chức doanh nghiệp Tuy nhiên, đặc điểm nhiều người sử dụng phân tán mặt địa lý nên việc xác thực kiểm sốt truy cập mơi trường mạng phức tạp nhiều so với máy tính đơn lẻ, người sử dụng Chính việc tìm hiểu nghiên cứu chế xác thực cho hệ thống thông tin ngày trở nên cấp thiết Xác thực người dùng yếu tố quan trọng quản lý định danh hệ thống thông tin Trong hệ thống, mà nhiều dịch vụ khác cần xác thực giải pháp đăng nhập lần tỏ hiệu Chỉ cần xác thực dịch vụ, ta truy cập thông tin dịch vụ khác hệ thống, mục tiêu mà OpenID hướng tới lý tác giả luận văn lựa chọn để nghiên cứu OpenID chuẩn mở mới, phát triển sử dụng rộng rãi từ lâu Thực tế cho thấy tính hiệu với mơ hình đăng nhập lần sử dụng OpenID Mục đích nghiên cứu luận văn tìm hiểu, thử nghiệm đánh giá chế xác thực sử dụng OpenID ứng dụng vào hệ thống thông tin sở đám mây, nơi mà thực thể thường xác thực riêng lẻ, tác giả luận văn đề xuất áp dụng giải pháp đăng nhập lần giúp hệ thống dễ dàng xác thực uỷ quyền thực thể tham gia Đối tượng nghiên cứu luận văn bao gồm phương pháp xác thực người dùng, chế đăng nhập lần phổ biến tập trung sâu vào mơ hình đăng nhập lần dựa web OpenID Để thực mục đích nghiên cứu nêu trên, phương pháp nghiên cứu sử dụng luận văn phân tích lý thuyết kết hợp với triển khai thử nghiệm Võ Huy Hưng Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - Để làm tác giả phải thu thập tài liệu từ nhiều nguồn thông tin khác bao gồm Internet, sách báo người có kinh nghiệm Tồn nội dung luận văn trình bày chương với nội dung tóm tắt sau: Chương – Tổng quan xác thực giải pháp đăng nhập lần: Chương trình bày tranh tổng quan xác thực an tồn thơng tin nói chung, xác thực người dùng nói riêng Nội dung chương giới thiệu nhân tố, giải pháp giao thức phổ biến xác thực người dùng Qua tập trung phân tích tìm hiểu chế xác thực với giải pháp đăng nhập lần Từ định nghĩa phân loại sâu vào phân tích đặc điểm, nguyên ý hoạt động vấn đề an toàn giải pháp đăng nhập lần dựa web Chương – Tổng quan OpenID: Chương tập trung nghiên cứu tìm hiểu mơ hình hoạt động giải pháp đăng nhập lần dựa web phổ biến, OpenID Chương – Đề xuất mơ hình đăng nhập lần hệ thống thông tin y tế sở đám mây thử nghiệm mô đun đăng nhập lần sử dụng OpenID: Chương trình bày vấn đề xác thực kiểm soát truy cập với hệ thống thơng tin sở đám mây, qua đề xuất mơ hình giải pháp thực thi phân tích thiết kế hệ thống thơng tin mơ hình đề xuất Từ đưa thử nghiệm đánh giá mô đun đăng nhập lần sử dụng OpenID Từ kết nghiên cứu thực luận văn, tác giả có đóng góp việc nghiên cứu đề xuất mơ hình đăng nhập lần cho hệ thống thông tin sở đám mây, triển khai thử nghiệm mô đun đồng thời đưa đánh giá kết thực mô đun Võ Huy Hưng Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - CHƯƠNG – TỔNG QUAN VỀ XÁC THỰC VÀ GIẢI PHÁP ĐĂNG NHẬP MỘT LẦN (SINGLE SIGN-ON) Chương trình bày khái niệm xác thực an tồn thơng tin nói chung xác thực người dùng nói riêng qua việc tìm hiểu nhân tố, giải pháp giao thức xác thực người dùng phổ biến Từ tập trung sâu nghiên cứu giải pháp xác thực phổ biến tính tiện dụng đăng nhập lần (Single sign-on) Chi tiết đặc điểm hoạt động đánh giá độ an tồn giải pháp phân tích cuối chương 1.1 Xác thực an tồn thơng tin Xác thực (Authentication) hành động nhằm thiết lập chứng thực (hoặc người đó) đáng tin cậy, có nghĩa lời khai báo người đưa vật thật Xác thực đối tượng cịn có nghĩa cơng nhận nguồn gốc đối tượng, xác thực người thường bao gồm việc thẩm tra nhận dạng họ Việc xác thực thường phụ thuộc vào nhiều nhân tố xác thực (authentication factors) để minh chứng cụ thể Trong an tồn thơng tin máy tính nói chung, xác thực quy trình nhằm xác minh nhận dạng số (digital identity) bên gửi thông tin (sender) liên lạc trao đổi xử lý thông tin Ngược lại tin cậy mù qng hồn tồn khơng thiết lập địi hỏi nhận dạng, song thiết lập giới hạn quyền người dùng chương trình ứng dụng mà thơi Trong mạng lưới tín nhiệm, việc xác thực cách để đảm bảo người dùng người mà họ nói họ là, người dùng thi hành chức hệ thống, thực tế, người ủy quyền để làm việc Việc xác thực thường phụ thuộc vào nhiều yếu tố xác thực (authentication factor) để minh chứng cụ thể Võ Huy Hưng Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - Xác thực phân loại theo: a Xác thực thực thể (Entity Authentication): Xác thực thực thể xác thực định danh đối tượng tham gia giao thức truyền tin Thực thể hay đối tượng người dùng, thiết bị đầu cuối Tức thực thể xác thực định danh thực thể thứ hai giao thức, bên thứ hai thực tham gia vào giao thức b Xác thực liệu (Data Authentication): Xác thực liệu kiểu xác thực đảm bảo thực thể chứng thực nguồn gốc thực tạo liệu thời điểm đó, đảm bảo tính tồn vẹn liệu 1.2 Xác thực người dùng Khi người sử dụng muốn truy nhập vào hệ thống máy tính, thơng thường, người sử dụng cần cung cấp thông tin nhận dạng cho máy tính Khi nhận thơng tin ấy, máy tính kiểm tra xem người sử dụng có quyền truy nhập vào hệ thống không Đây nguyên tắc áp dụng cho người muốn trao đổi thông tin với người khác: Trước tiên cần phải xác định người tham gia trao đổi thơng tin có người muốn trao đổi khơng Do cần phải có phương thức để cung cấp đặc điểm nhận dạng nhằm đảm bảo người trao đổi thơng tin hợp lệ Q trình gọi xác thực người sử dụng Trên giới Việt Nam, vấn đề xác thực người dùng quan tâm có nhiều giải pháp sử dụng nghiên cứu Có nhiều cách để xác thực: người sử dụng cung cấp thơng tin mà có người biết: ví dụ mật khẩu, mã số cá nhân,… người cung cấp thơng tin riêng khác số chứng minh thư, thẻ từ, thẻ thơng minh… Trong đó, giải pháp lại có ưu điểm nhược điểm riêng khác Xác thực người dùng q trình qua hệ thống xác minh thực họ Quá trình xác thực xác định xem người có phải người sử dụng hệ thống khơng Nó thường kèm với q trình xác định quyền hạn người hệ thống Võ Huy Hưng 10 Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - - Về phía server: Hệ thống lưu thông tin phiên hai miền phụ vào cở sở liệu theo key với trạng thái chưa đăng nhập, chi tiết phiên hình vẽ với trạng thái đăng nhập, thông tin người dùng lưu trữ đầy đủ: Hình 3.21 Thơng tin phiên lưu server Khi thực xoá cookie trình duyệt web xố ghi session server Hệ thống khởi tạo lại phiên trình duyệt client sở liệu server trạng thái chưa đăng nhập Đây cách thức bảo mật hệ thống đăng nhập web thơng tin phiên đăng nhập xố hai nơi client server người dùng coi chưa đăng nhập 3.7   Kết luận chương Như vậy, chương trình bày vấn đề đặt với trình xác thực kiểm sốt truy cập với hệ thống thơng tin sở đám mây, qua đề xuất mơ hình, giải pháp thực thi phân tích thiết kế hệ thống thông tin áp dụng cho hệ thống quản lý hồ sơ bệnh án nhiều bệnh viện tham gia đám mây Luận văn tiến hành thử nghiệm đánh giá hoạt động mô đun đăng nhập lần sử dụng OpenID với chế cho phép chia sẻ phiên miền phụ hệ thống giúp cho việc xác thực định danh miền phụ thuận tiện mà truy vấn lại đăng nhập với nhà cung cấp định danh Võ Huy Hưng 84 Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - Từ thực nghiệm, tác giả luận văn hiểu thêm mơ hình hoạt động ưu điểm hệ thống đăng nhập lần với phạm vi nghiên cứu chuẩn mở OpenID Do tính chất mơi trường thử nghiệm nên việc triển khai luận văn mặt hạn chế định việc sử dụng sở liệu Redis dạng inmemory cho kết hồi đáp nhanh triển khai thực tế với lượng lớn truy cập ứng dụng web gây tượng tràn nhớ (out-ofmemory) với máy chủ Hay vấn đề bảo mật phiên chia sẻ chưa tìm hiểu sâu sắc Với hạn chế , hướng phát triển ứng dụng tương lai lựa chọn thay sở liệu có tính chịu tải tốt (cluster redis - redis 3.x hay sử dụng sở liệu địa phương mysql, postgresql) cần quan tâm nghiên cứu sâu vấn đề bảo mật session Từ tạo mô đun ổn định mạnh mẽ để triển khai tồn hệ thống quản lý định danh sở đám mây Võ Huy Hưng 85 Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - KẾT LUẬN Sau thời gian thực luận văn, tác giả luận văn nghiên cứu nắm kiến thức xác thực người dùng, giải pháp đăng nhập lần, mơ hình hệ thống quản lý định danh sử dụng chuẩn mở OpenID Qua tác giả luận văn đưa đề xuất mơ hình đăng nhập lần áp dụng cho hệ thống thông tin y tế quản lý hồ sơ bệnh án bệnh viện sở đám mây triển khai thử nghiệm mô đun đăng nhập lần sử dụng OpenID có cải tiến chia sẻ phiên hai miền phụ Như vậy, mục đích đề lựa chọn luận văn thực đầy đủ Tuy nhiên, nghiên cứu chế xác thực sử dụng OpenID mơ hình đề xuất chế đăng nhập lần hệ thống thông tin sở đám mây cần tiếp tục tìm hiểu phân tích chun sâu để có mơ hình hệ thống hồn chỉnh chặt chẽ Việc triển khai hệ thống đăng nhập lần nhiều điểm hạn chế cần tiếp tục phát triển yêu cầu bảo mật, tính chịu lỗi q trình triển khai mơi trường thực tế Võ Huy Hưng 86 Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - TÀI LIỆU THAM KHẢO   [1] Gail-Joon Ahn, John Lam (2005), Managing privacy preferences for federated identity management New York, USA: ACM Press [2] JA Stanko (2007), Single sign-on over the internet using public-key cryptography, US Patent 7,246,230 [3] Stefan Brands (2007), The problem(s) with OpenID, http://www.untrusted.ca/cache/openid.html [4] Sxip Identity (2011), Schema for OpenID Attribute Exchange http://www.axschema.org/types/ [5] Secure implementation of Enterprise single sign-on product in an organization, http://www.sans.org/reading-room/whitepapers/authentication/secureimplementation-enterprise-single-sign-on-product-organization-1520 [6] Tim Berners-Lee (2005), Uniform Resource Identifier (URI): Generic Syntax, http://www.apps.ietf.org/rfc/rfc3986.html [7] OpenID specs, http://openid.net/developers/specs/ [8] LiveJournal Inc (1999), Live Journal: http://www.livejournal.com/identity/login.bml?type=openid [9] D Recordon (2008), Openid provider authentication policy extension 1.0, http://www.immagic.com/eLibrary/TECH/OPENIDUS/O081230P.pdf [10] E Rescorla (1999), Diffie-Hellman Key Agreement Method RFC-2631: http://www.ietf.org/rfc/rfc2631.txt [11] Leveraging OpenID within an IDaaS Model http://openid.net/2012/07/26/leveraging-openid-within-an-idaas-model/ [12] A high-level IDaaS metric: if and when moving ID in the Cloud http://cloudbestpractices.net/a-high-level-idaas-metric-if-and-when-moving-idin-the-cloud/ [13] Healthcare, the Cloud and Information Security Võ Huy Hưng 87 Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - http://www.asianhhm.com/information_technology/healthcare-cloudinformation-security.html [14] Cloud Computing Identity as a Service(IDaaS) http://www.tutorialspoint.com/cloud_computing/cloud_computing_identity_as _a_service.htm [15] Federated Identity, http://soapatterns.org/candidate_patterns/federated_identity                                   Võ Huy Hưng 88 Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - PHỤ LỤC A: CÁC THÔNG ĐIỆP CỦA OPENID Để hồn thành q trình chứng thực, thành phần OpenID phải trao đổi nhiều thông điệp khác Những thông điệp theo định dạng chuẩn, Relying Party Identity Provider phải tuân theo định dạng để giao tiếp Mỗi thông điệp có cặp (request response) Request response có tập tham số khác Tùy vào loại thông điệp, Relying Party Identity Provider sử dụng phương pháp liên lạc trực tiếp hay gián tiếp (HTTP POST dùng cho liên lạc trực tiếp HTTP GET dùng cho liên lạc gián tiếp) Sau số thông điệp sử dụng hệ thống OpenID: – Thông điệp associate – Thông điệp checkid_immediate – Thông điệp checkid_setup – Thông điệp check_authentication ! Thông điệp associate request Thông điệp asscociate request gửi từ Relying Party tới Identity Provider Mục đích thơng điệp associate request để thiết lập khóa chia sẻ bí mật Relying Party Identity Provider Thơng điệp Relying Party gửi vào lúc Đây liên lạc trực tiếp Relying Party Identity Provider nên HTTP POST sử dụng cho thông điệp associate Relying Party gửi số tham số kèm với associate request Sau danh sách tham số associate request: – openid.ns: tham số tùy chọn Tham số dùng để khai báo phiên OpenID Nếu tham số openid.ns không khai báo, hệ thống tự hiểu phiên OpenID OpenID Authentication Compatibility Mode – openid.mode: tham số dùng để phân biệt loại thơng điệp Có thể có giá trị “associate” Võ Huy Hưng 89 Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - – openid.assoc_type: tham số dùng để thuật tốn sử dụng để ký lên thơng điệp Ở có hai giá trị có là: “HMAC-SHA1” “HMAC-SHA256” – openid.session_type: dùng để khai báo loại mã hóa sử dụng thơng điệp để mã hóa khóa MAC (Message Authentication Code) Thuật tốn dùng khóa cá nhân với thơng điệp đầu vào cho đoạn mã Trong OpenID hỗ trợ hai thuật toán “DHSHA1“ “DH-SHA256” Nếu giá trị tham số “noencryption”, MAC không mã hóa Điều nên sử dụng sử dụng kết nối SSL Relying Party Identity Provider – openid.dh_modulus: tham số kèm với DH-SHA1 DH-SHA256 – openid.dh_gen: tham số kèm với DH-SHA1 DH-SHA256 – openid.dh_consumer_public: tham số kèm với DH-SHA1 DHSHA256 Ba tham số thông số cho thuật toán DH-SHA1 DH-SHA256, chi tiết việc sinh giá trị cho tham số nêu chi tiết RFC-2631 (Diffie-Hellman Key Agreement Method) A.1 ví dụ thơng điệp associate request ! A.1 Ví dụ thơng điệp associate request ! Thông điệp associate response Thông điệp associate response gởi từ Identity Provider đến Relying Party Đây lả thông điệp HTTP 200 định nghĩa Hypertext Transfer Võ Huy Hưng 90 Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - Protocol [RFC 2616] Thông điệp kết hợp Identity Provider Relying Party thành công hay thất bại Trong trường hợp kết hợp thành công, thông điệp bao gồm xử lý thông điệp thời gian sống xử lý tính giây Ngược lại, lỗi trả Danh sách tham số associate response: – openid.ns: giải thích – openid.assoc_handle: tham số chuỗi ASCII với chiều dài tối đa 255 ký tự dùng để định khóa sử dụng lại cho trình mã hóa giải mã – openid.session_type: tham số giống trường hợp request kết hợp thành công Ngược lại, tham số “unsuccessful response” Có nhiều lý khác cho việc kết hợp không thành cơng Ví dụ, Relying Party u cầu sử dụng SHA256 Identity Provider hỗ trợ SHA1 – openid.assoc_type: tham số giống trường hợp request kết hợp thành công Ngược lại, tham số “unsuccessful response” – openid.expires_in: tham số thời gian (tính giây) kết hợp khơng cịn hiệu lực Relying Party nên u cầu kết hợp – openid.mac_key: tham số sử dụng giá trị “openid.session_type” “no-encryption” Giá trị tham số khóa MAC mã hóa dựa số 64 – openid.dh_server_public: tham số khóa cơng cộng Identity Provider Tham số sử dụng request yêu cầu sử dụng thuật toán Diffie-Hellman – openid.enc_mac_key: tham số khóa MAC mã hóa, sử dụng request yêu cầu sử dụng thuật toán Diffie-Hellman ! A.2 ví dụ thơng điệp associate response Võ Huy Hưng 91 Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - ! Thông điệp checkid_setup checkid_immediate request: Những thông điệp checkid_immediate checkid_setup sử dụng để lấy thông tin xác nhận từ máy chủ OpenID Những thông điệp khởi tạo Relying Party Giao tiếp gián tiếp sử dụng thông điệp nên Relying Party sử dụng phương thức HTTP GET thay cho phương thức HTTP POST để gởi nhận thông điệp Như vậy, thông điệp ngang qua trình duyệt web Thơng điệp checkid_immediate checkid_setup giống khác trường hợp sử dụng Thông điệp checkid_immediate thường sử dụng Relying Party hỗ trợ jax thông điệp checkid_setup thường sử dụng Relying Party không dùng Ajax Danh sách tham số checkid_setup request: – openid.ns: giải thích – openid.mode: có giá trị “checkid_setup” – openid.claimed_id: tham số tùy chọn dùng để identifier yêu cầu Tham số “openid.claimed_id” “openid.identiy” thường với Nếu khơng có tham số diện, thơng điệp không chứa thông tin identifier mà chứa thông tin payload sử dụng mở rộng (Extensions) – openid.identity: tham số tùy chọn khác Nếu OP Local Identifier khác không xác định, identifier yêu cầu phải sử dụng giá trị openid.identity Võ Huy Hưng 92 Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - – openid.assoc_handle: tham số tùy chọn Tham số kết hợp khởi tạo OpenID Relying Party Tham số miêu tả phần associate request – openid.return_to: tham số sử dụng để khai báo cho máy chủ OpenID vị trí UR nơi chuyển tiếp cho trình duyệt sau xử lý yêu cầu Máy chủ OpenID sử dụng địa UR để gởi response cho Relying Party – openid.realm: tham số tùy chọn khác URL máy chủ sử dụng để định danh Relying Party cách Realm bao gồm ký tự wildcard “*” Ví dụ, realm http://*.conformix.com ! A.3 ví dụ thơng điệp checkid_setup request ! Thông điệp checkid_setup checkid_immediate response Mỗi lần máy chủ OpenID nhận thông điệp checkid_setup, OpenID xử lý gởi phản hồi cho Relying Party thông qua trình duyệt Trong thơng điệp phản hồi, OpenID gởi nhiều tham số cho Relying Party Danh sách tham số checkid_setup response: – openid.ns: giải thích – openid.mode: có giá trị “id_res” kết hợp thành công Ngược lại mang giá trị: • “setup_needed” request checkid_immediate • “cancel” request checkid_setup – openid.op_endpoint: URL máy chủ OpenID – openid.claimed_id: giải thích Võ Huy Hưng 93 Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - – openid.identity: giải thích – openid.return_to: tham số chép URL Relying Party gởi với thông điệp request – openid.response_nonce: tham số sử dụng để tránh công replay dùng đơn cho thơng điệp, có chiều dài tối đa 255 ký tự, bao gồm nhãn thời gian ký tự ASCII thêm vào để trở thành đơn Relying Party từ chối kết hợp nhãn thời gian xa so với thời điểm Ngày định dạng phần 5.6 [RFC3339] (Klyne, G and C Newman, “Date and Time on the Internet: Timestamps”) với quy ước sau: • Nằm múi UTC nhận biết với ký tự “Z” • Khơng phép có phân số • Ví dụ: 2012-05-15T17:11:51ZUNIQUE – openid.invalidate_handle: sử dụng xử lý (handle) gắn với request có hay khơng Nếu khơng đúng, tham số tùy chọn Mặt khác, xử lý sai nên gắn với tham số giúp cho Relying Party loại bỏ xử lý sai từ record Relying Party – openid.assoc_handle: handle dùng để ký thơng điệp Handle khác với handle gốc Relying Party gởi với request OpenID không nhận handle gốc Trong trường hợp này, máy chủ giữ chép handle để Relying Party sử dụng cho mục đích kiểm tra – openid.signed: bao gồm danh sách tham số ký Các tham số cách dấu phẩy – openid.sig: bao gồm chữ ký mã hóa dựa số 64 Võ Huy Hưng 94 Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - ! A.4 ví dụ thơng điệp checkid_setup response ! Thông điệp check_authentication response Các thông điệp check_authentication request response công cụ cần thiết cho việc kiểm tra thông tin xác thực nhận từ Relying Party để chắn người công không gởi thông điệp xác thực giả mạo OpenID Server Do thơng điệp sử dụng q trình giao tiếp trực tiếp Relying Party OpenID Server nên phương thức HTTP POST sử dụng Đối với thông điệp check_authentication cần lưu ý số vấn đề sau: – Thông điệp không gởi tồn kết hợp Relying Party OpenID Server (đã trao đổi khóa chia sẻ dùng để ký thông điệp) – Relying Party gởi tham số “openid.assoc_handle” request OpenID Server gởi ngược lại handle response để Relying Party biết OpenID Server đồng ý sử dụng handle kết hợp tồn trường hợp có kết hợp tồn sử dụng – Nếu OpenID Server không đồng ý sử dụng handle kết hợp cung cấp Relying Party, thông điệp response bao gồm tham số “openid.invalidate_handle” tham số “openid.assoc_handle” khác Sau đó, Relying Party sử dụng thơng điệp check_authentication để xác nhận tính hợp lệ việc xác thực – Khi chế độ dumb mode sử dụng, Relying Party trạng thái stateless không lưu trữ thông tin handle kết hợp trước Võ Huy Hưng 95 Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - nên thơng điệp check_authentication request luôn sử dụng Danh sách tham số check_authentication request: – openid.mode: có giá trị “check_authentication” – Các tham số lai giống với checkid_setup response ! A.5 Ví dụ thơng điệp check_authentication request ! Thông điệp check_authentication response Danh sách tham số check_authentication response: – openid.ns: giải thích – is_valid: tham số có giá trị “true” “false” để xác định chữ ký việc xác thực tính hợp lệ request – invalidate_handle: tham số tùy chọn sử dụng trường hợp tham số is_valid mang giá trị “true”, Relying Party loại bỏ handle từ danh sách handle lưu trữ ! A.6 Ví dụ thơng điệp check_authentication response Để tăng tính linh hoạt vả tương thích, số mở rộng (extension) OpenID đề xuất Một số mở rộng hồn thiện số khác cịn giai đoạn phác thảo, thử nghiệm Những thông tin mở rộng xem http://openid.net/developers/specs Những mở rộng phát triển có chức giải cơng việc sau: Võ Huy Hưng 96 Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - – Đăng ký người dùng (User Registration): cho phép Relying Party đăng ký người dùng họ đăng nhập lần vào website – Tra cứu khóa dịch vụ (OpenID Service Key Discovery) sử dụng Yadis – Thông điệp DTP (DTP Message), mã hóa MIME – Trao đổi thuộc tính (Attribute Exchange) – Độ tin cậy xác thực (Assertion Quality) – Quản lý sách chứng thực Identity Provider (Provider Authentication Policy Extension – PAPE), dùng để chống giả mạo (anti-phishing) mục đích khác ! A.7 Một thơng điệp checkid_setup request với Simple Registration Extension A.7 đưa ví dụ việc sử dụng checkid_setup request kèm với mở rộng Simple Registration để Relying Party yêu cầu Identity Provider chứng thực URL Identity kèm với việc cung cấp email URL Identity   Võ Huy Hưng 97 Công nghệ thông tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - PHỤ LỤC B: DANH SÁCH CÁC HỆ THỐNG HỖ TRỢ OPENID   TỔ CHỨC ĐỊNH DANH URL Google https://www.google.com/accounts/o8/id Yahoo! me.yahoo.com Microsoft LiveJournal MySpace WordPress Blogger accountservices.passport.net username.livejournal.com myspace.com/username username.wordpress.com username.blogger.com blogid.blogspot.com Verisign username.pip.verisignlabs.com Typepad blogname.typepad.com MyOpenID username.myopenid.com Lanchpad launchpad.net/~username claimID Orange Tonido OpenID Steam claimid.com/username openid.orange.fr/username orange.fr/ http://username.tonidoid.com/app/openid steamcommunity.com/openid/ Võ Huy Hưng 98 Công nghệ thông tin 2011B ... tin 2011B Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - thống xác thực gửi cho người sử dụng số Người sử dụng sử dụng giá... chế xác thực sử dụng OpenID ứng dụng - Xác thực phân loại theo: a Xác thực thực thể (Entity Authentication): Xác thực thực thể xác thực. .. Nghiên cứu thử nghiệm chế xác thực sử dụng OpenID ứng dụng - Hiện nay, giải pháp mật sử dụng lần (one-time password) sử dụng nhiều ứng

Ngày đăng: 28/02/2021, 00:13

Tài liệu cùng người dùng

Tài liệu liên quan