OpenID là gì

Một phần của tài liệu Nghiên cứu thử nghiệm các cơ chế xác thực sử dụng OpenID và ứng dụng (Trang 39 - 44)

OpenID là một dịch vụ chia sẻ định danh, 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 nhau chỉ bằng một đị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à 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 nhà cung cấp 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.

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

---

2.2. 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ố tháng 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) và 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 danh tính 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à xem 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).

Ngày 26/02/2014, OpenID Connect (thế hệ thứ ba) chính thức được công bố,

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

---

2.3. Ứng dụng

– 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:

• 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

• 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ị • 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

Với mô hình đăng nhập một lần, 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.

2.4. Hệ thống quản lý định danh

2.4.1. 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ể bao gồm các thành phần, cách hoạt động và cách giao tiếp khác nhau.

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

---

Tuy nhiên, trong hệ thống quản lý định danh thông thường gồm có các thành phần sau:

Hình 2.2. Các thành phần chính của hệ thống định danh

- Relying Party (Bên tin cậy): 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ư 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.

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

---

- Identity Provider (IdP – Nhà cung cấp định danh): 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…

- 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.

2.4.2. Quy trình hoạt động chính của hệ thống quản lý định danh

Hình 2.4. 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 được minh họa trong Hình 2.4 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.

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

---

Bước 3: Giữa Replying Party và Identity Provider đã có một sự tin tưởng nhất định. 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ửi 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.

Bước 6: Các thuộc tính định danh sẽđược truyền đến Relying Party nếu người dùng

đã xác nhận ở bước 5.

Bước 7: Relying Party sẽ kiểm tra những thuộc tính định danh và trả về kết quả cho người dùng.

2.5. Phương thức hoạt động của OpenID

Một phần của tài liệu Nghiên cứu thử nghiệm các cơ chế xác thực sử dụng OpenID và ứng dụng (Trang 39 - 44)

Tải bản đầy đủ (PDF)

(98 trang)