I. OpenID là gì?
OpenID là một tiêu chuẩn mở và là một giao thức authen được phân cấp!
OpenID cho phép bạn sử dụng tài khoản hiện có để đăng nhập vào nhiều trang web mà không cần tạo mật khẩu mới.
Bạn có thể chọn liên kết thông tin với OpenID của mình để có thể được chia sẻ với các trang web bạn truy cập, chẳng hạn như tên hoặc địa chỉ email. Với OpenID, bạn kiểm soát lượng thông tin đó được chia sẻ với các trang web bạn truy cập.
Với OpenID, mật khẩu của bạn chỉ được cấp cho nhà cung cấp danh tính của bạn và nhà cung cấp đó sau đó xác nhận danh tính của bạn cho các trang web bạn truy cập. Ngoài nhà cung cấp của bạn, không có trang web nào nhìn thấy mật khẩu của bạn, vì vậy bạn không cần phải lo lắng về một trang web vô đạo đức hoặc không an toàn làm ảnh hưởng đến danh tính của bạn.
OpenID đang nhanh chóng được chấp nhận trên web, với hơn một tỷ tài khoản người dùng hỗ trợ OpenID và hơn 50.000 trang web chấp nhận OpenID để đăng nhập. Một số tổ chức lớn phát hành hoặc chấp nhận OpenID, bao gồm Google, Facebook, Yahoo !, Microsoft, AOL, MySpace, Sears, Universal Music Group, France Telecom, Novell, Sun, Telecom Italia, v.v.
Ai sở hữu hoặc kiểm soát OpenID?
OpenID được tạo ra vào mùa hè năm 2005 bởi một cộng đồng mã nguồn mở đang cố gắng giải quyết một vấn đề không dễ giải quyết bằng các công nghệ nhận dạng hiện có khác. Như vậy, OpenID là phi tập trung và không thuộc sở hữu của bất kỳ ai, cũng không nên như vậy. Ngày nay, bất kỳ ai cũng có thể chọn sử dụng OpenID hoặc trở thành Nhà cung cấp OpenID miễn phí mà không cần phải đăng ký hoặc được bất kỳ tổ chức nào chấp thuận.
Các OpenID Foundation được thành lập để hỗ trợ các mô hình nguồn mở bằng cách cung cấp một thực thể pháp lý để trở thành người quản lý cho cộng đồng bằng cách cung cấp cơ sở hạ tầng cần thiết và thường giúp đỡ để thúc đẩy và hỗ trợ việc áp dụng mở rộng của OpenID.
Tại sao nên sử dụng OpenID
Đăng kí thành viên nhanh và dễ dàng
Với hình ảnh hoạt hình bên cạnh, bạn có thể hình dung sự tiện lợi này. Một người thu tiền hỏi anh khách hàng muốn đăng kí thành viên cho Food-Mart ko ? và khách hàng trả lời rất hào hứng “Nope. Tôi sẽ sử dụng OpenID của tôi”. Một OpenID chính là cách để định danh chính bạn ko quan trọng bạn ghé thăm website nào. Nó như kiểu là bằng lái xe cho toàn bộ Internet vậy. Nhưng còn hơn thế nữa là bởi vì bạn có thể control được thông tin liên kết tới OpenID như là tên của bạn, địa chỉ mail của bạn, và bạn có thể chọn website nào được quyền thấy nó ? cái nào ko ? Điều này cũng đồng nghĩa với việc những website sử dụng OpenID sẽ ko hỏi đi hỏi lại bạn your name, your mail address lần nào cũng vậy.
Login nhanh và dễ dàng
OpenID also simplifies signing in. OpenID còn rất dễ dàng để login. Với OpenID bạn chỉ cần nhớ 1 username và 1 password. Bởi vì bạn login vào website với OpenID của bạn, cho nên bạn chỉ cần bảo mật với OpenID là đủ rồi. Password này của bạn thực tế là chỉ được quản lý bởi OpenID provider của bạn, ko phải là các website bạn đang login, khi bạn login vào OpenID provider sẽ bảo với các website đó là bạn đang login đấy và bạn là ai. Ko có bất kì một website nào nhìn được password của bạn, cho nên bạn ko cần phải quá bận tâm về vấn đề bảo mật khi sử dụng OpenID.
Tiếp cận đến khái niệm “web identity”
Bởi vì OpenID định danh bạn là duy nhất trên Internet, một khi bạn thiết lập mình như là người sử dụng OpenID, bất cứ khi nào ai đó nhìn thấy OpenID của bạn được sử dụng, bất cứ nơi nào trên Internet, họ sẽ biết rằng đó chính là bạn. Tương tự như vậy, nếu bạn truy cập vào một trang web mới và thấy rằng một người nào đó với OpenID của bạn bạn, bạn có thể gần như chắc chắn rằng đó là bạn của bạn. Điều đó có thể khiến bạn lo lắng rằng OpenID là sẽ làm cho tất cả các hoạt động trực tuyến của bạn trở nên quá rõ ràng và dễ dàng bị phát hiện. Hãy yên tâm, mặc dù OpenID thống nhất thông tin về bạn, nhưng nó chỉ hợp nhất thông tin mà bạn đã cho phép public. Bạn có thể chọn, sử dụng OpenID, thông tin nào ? và thông tin đó ai sẽ thấy được
Liệu OpenID có an toàn?
OpenID là thực sự cũng ko kém bảo mật hơn or là an toàn hơn so với những gì bạn sử dụng ngay bây giờ. Sự thật là nếu ai đó có được tên truy cập và mật khẩu của OpenID của bạn, họ có thể chiếm đoạt định danh của bạn. Hầu hết các trang web cung cấp việc reset password thông qua email trong trường hợp nếu bạn đã quên nó, có nghĩa là nếu một người nào đó có được tài khoản e-mail của bạn, họ cũng có thể làm giống như trong trường hợp họ có được tên truy nhập và mật khẩu của OpenID của bạn. Họ có thể kiểm tra các trang web mà họ nghĩ rằng bạn có một tài khoản và yêu cầu thay mật khẩu bị quên. Tương tự như vậy, nếu một ai đó có quyền truy cập vào OpenID của bạn, họ có thể tìm kiếm trên Internet đến những nơi mà họ nghĩ rằng bạn có tài khoản và đăng nhập như bạn … không có gì khác biệt về bảo mật ở đây.
Cho nên, ko liên quan đến việc bạn sử dụng OpenID hay ko, bạn nên cẩn thận về tài khoản của bạn – username và pwd. Khi bạn gõ username và pwd, hãy chắc chắn ràng bạn đang ở trên website mà bạn nghĩ là bạn muốn vào
Có nên giao toàn bộ định danh cho chỉ 1 website?
Tùy bạn, nếu bạn thích, bạn cũng có thể có nhiều OpenID, mỗi 1 cái lại có 1 thông tin khác nhau của bạn. Thực tế là có nhiều webstie cho phép bạn liên kết nhiều OpenID tới cùng 1 account. Nhưng việc làm này sẽ phá hỏng khái niệm đơn giản hóa của “chỉ có 1 username và pwd”.
II. OpenID Connect là gì? Làm thế nào nó hoạt động?
OpenID Connect là một giao thức xác thực có thể tương tác dựa trên dòng thông số kỹ thuật OAuth 2.0. Nó sử dụng các luồng thông điệp REST / JSON đơn giản với mục tiêu thiết kế là “biến những thứ đơn giản trở nên đơn giản và phức tạp trở thành khả thi”. Việc tích hợp của các nhà phát triển rất dễ dàng, so với bất kỳ giao thức Identity nào trước đây.
OpenID Connect cho phép các nhà phát triển xác thực người dùng của họ trên các trang web và ứng dụng mà không cần phải sở hữu và quản lý các tệp mật khẩu. Đối với trình tạo ứng dụng, nó cung cấp câu trả lời an toàn có thể xác minh cho câu hỏi: “Danh tính của người hiện đang sử dụng trình duyệt hoặc ứng dụng gốc được kết nối với tôi là gì?”
OpenID Connect cho phép các ứng dụng khách thuộc mọi loại, bao gồm JavaScript dựa trên trình duyệt và các ứng dụng dành cho thiết bị di động gốc, khởi chạy quy trình đăng nhập và nhận các xác nhận có thể xác minh được về danh tính của người dùng đã đăng nhập.
(Nhận dạng, Xác thực) + OAuth 2.0 = Kết nối OpenID
http://www.youtube.com/watch?feature=player_embedded&v=Kb56GzQ2pSk hoặc http://nat.sakimura.org/2013/07/05/identity-authentication-oauth-openid-connect/
OpenID Connect giải quyết vấn đề gì?
Nó cho phép các nhà phát triển ứng dụng và trang web xác thực người dùng mà không phải chịu trách nhiệm lưu trữ và quản lý mật khẩu khi đối mặt với một mạng Internet đông đúc những người cố gắng xâm nhập tài khoản của người dùng của bạn để thu lợi riêng.
Xác thực nghĩa là gì?
Quá trình thiết lập và giao tiếp rằng người điều hành trình duyệt hoặc ứng dụng gốc là người mà họ tuyên bố.
OAuth 2.0 là gì và nó liên quan như thế nào đến OpenID Connect?
OAuth 2.0, là một khuôn khổ, được IETF chỉ định trong RFCs 6749 và 6750 (xuất bản năm 2012) được thiết kế để hỗ trợ phát triển các giao thức xác thực và ủy quyền. Nó cung cấp một loạt các luồng thông báo được tiêu chuẩn hóa dựa trên JSON và HTTP; OpenID Connect sử dụng những thứ này để cung cấp dịch vụ Identity.
Trạng thái của OpenID Connect là gì?
Thông số kỹ thuật OpenID Connect cuối cùng đã được đưa ra vào ngày 26 tháng 2 năm 2014. Chương trình chứng nhận cho OpenID Connect đã được khởi chạy vào ngày 22 tháng 4 năm 2015. Google, Microsoft, Ping Identity, ForgeRock, Viện nghiên cứu Nomura và PayPal OpenID Connect là những triển khai đầu tiên tự chứng nhận sự phù hợp.
Có triển khai sản xuất trực tiếp của OpenID Connect không?
Đúng. Một số ví dụ bao gồm Google , Gakunin (Mạng lưới các trường đại học Nhật Bản), Microsoft, Ping Identity, Nikkei Newspaper, Tokyu Corporation, mixi, Yahoo! Japan và Softbank. Ngoài ra còn có các tổ chức tham gia của Nhóm làm việc, chẳng hạn như Deutsche Telecom, AOL và Salesforce, đang triển khai các hoạt động hoàn thiện.
Để biết ví dụ về OpenID Connect tại nơi làm việc, hãy xem Đăng nhập bằng Google+ , dịch vụ cung cấp danh tính xã hội hàng đầu của Google, hoàn toàn dựa trên OpenID Connect.
Tôi có thể tìm mã triển khai OpenID Connect ở đâu?
Các thư viện liệt kê các thư viện trong một số ngôn ngữ khác nhau mà thực hiện OpenID Connect và thông số kỹ thuật có liên quan.
Tôi có thể tìm thêm thông tin về OpenID Connect ở đâu?
Các trang web OpenID Foundation và OpenID Connect là một nơi tốt để bắt đầu. Ngoài ra, các trang blog của các nhà lãnh đạo Nhóm làm việc cũng rất hữu ích: Mike Jones , Nat Sakimura và John Bradley .
Lịch sử của OpenID là gì?
OpenID Connect là thế hệ thứ ba của công nghệ OpenID. Đầu tiên là OpenID, một công cụ có tầm nhìn xa chưa bao giờ được áp dụng thương mại nhiều, nhưng đã khiến các nhà lãnh đạo trong ngành phải suy nghĩ về những gì có thể. OpenID 2.0 đã được suy nghĩ thấu đáo hơn nhiều, cung cấp khả năng bảo mật tuyệt vời và hoạt động tốt khi được triển khai đúng cách. Tuy nhiên, nó gặp phải một số hạn chế về thiết kế – trước hết là các Bên dựa vào có thể là các trang Web nhưng không phải là các ứng dụng gốc; nó cũng dựa trên XML, dẫn đến một số vấn đề về áp dụng.
Mục tiêu của OpenID Connect là thân thiện hơn với nhà phát triển, đồng thời mở rộng tập hợp các trường hợp sử dụng mà nó có thể được sử dụng. Nó đã thành công trong việc này; có triển khai sản xuất hoạt động ở quy mô lớn. Bất kỳ lập trình viên nào có đủ kinh nghiệm để gửi và nhận tin nhắn JSON qua HTTP (hầu hết là trong số đó hiện nay) đều có thể triển khai OpenID Connect từ đầu bằng cách sử dụng các thư viện xác minh chữ ký tiền điện tử tiêu chuẩn. May mắn thay, hầu hết thậm chí sẽ không phải đi xa như vậy, vì có các thư viện mã nguồn mở và thương mại tốt xử lý cơ chế xác thực.
OpenID Connect khác với OpenID 2.0 như thế nào và nó khắc phục các sự cố gặp phải với OpenID 2.0 như thế nào?
OpenID Connect có nhiều điểm tương đồng về kiến trúc với OpenID 2.0 và trên thực tế, các giao thức giải quyết một loạt vấn đề rất giống nhau. Tuy nhiên, OpenID 2.0 đã sử dụng XML và một lược đồ chữ ký thông báo tùy chỉnh mà trong thực tế, đôi khi các nhà phát triển khó làm đúng, với hậu quả là việc triển khai OpenID 2.0 đôi khi sẽ từ chối tương tác một cách bí ẩn. OAuth 2.0, nền tảng cho OpenID Connect, cung cấp mã hóa cần thiết cho cơ sở hạ tầng TLS tích hợp sẵn của Web (còn gọi là HTTPS hoặc SSL), được triển khai phổ biến trên cả nền tảng máy khách và máy chủ. OpenID Connect sử dụng cấu trúc dữ liệu JSON Web Token (JWT) tiêu chuẩn khi cần có chữ ký. Điều này làm cho OpenID Connect dễ dàng hơn cho các nhà phát triển để triển khai và trên thực tế đã dẫn đến khả năng tương tác tốt hơn nhiều.
Câu chuyện về khả năng tương tác của OpenID Connect đã được chứng minh trên thực tế trong một loạt các thử nghiệm mở rộng về khả năng tương tác được thực hiện bởi các thành viên của Nhóm công tác OpenID Connect và các nhà phát triển đằng sau nhiều triển khai OpenID Connect.
“IDP” và “RP” là viết tắt của gì?
Các thuật ngữ này thường được sử dụng khi mô tả hệ thống nhận dạng kỹ thuật số. IDP là viết tắt của Identity Provider, một bên cung cấp dịch vụ xác thực người dùng. RP là viết tắt của Relying Party, một ứng dụng cung cấp chức năng xác thực người dùng cho IDP.
Ai có thể là IDP?
Thiết kế của giao thức OpenID Connect là rộng mở và có chủ đích nhằm khuyến khích một hệ sinh thái mở của các IDP. Trong khi các IDP hàng đầu hiện nay là các dịch vụ Internet lớn như Google và Microsoft, OpenID Connect mở ra cánh cửa cho nhiều loại IDP, bao gồm cả những người chạy IDP của riêng họ trên các trang Web và trên các thiết bị cá nhân, chẳng hạn như điện thoại di động và máy tính bảng.
OpenID Connect được phát triển như thế nào?
OpenID Connect được phát triển trong một nhóm làm việc của OpenID Foundation. Các nhóm làm việc OpenID mở cửa miễn phí cho tất cả những ai ký thỏa thuận Đóng góp IPR. Một loạt các quan điểm và các trường hợp sử dụng đã được trình bày trong các cuộc thảo luận của nhóm làm việc.
Quá trình tiêu chuẩn hóa được lập thành văn bản trong Quy trình OpenID và tuân theo các điều khoản của “Phụ lục 3: Quy tắc thực hành tốt cho việc chuẩn bị, thông qua và áp dụng tiêu chuẩn” của Hiệp định TBT của WTO .
Những người và / hoặc công ty nào đã tham gia vào sự phát triển của OpenID Connect?
Những người đóng góp bao gồm đại diện quốc tế đa dạng của các nhà lãnh đạo ngành công nghiệp, học viện và công nghệ độc lập: AOL, Deutsche Telekom, Facebook, Google, Microsoft, Mitre Corporation, mixi, Nomura Research Institute, Orange, PayPal, Ping Identity, Salesforce, Yahoo! Nhật Bản, cùng các cá nhân và tổ chức khác.
Có cần phải có chứng nhận hoặc quy trình đăng ký để có thể triển khai OpenID Connect không?
OpenID Connect có thể được sử dụng miễn phí bởi bất kỳ ai. Các nhà phát triển của OpenID Connect khẳng định không có khiếu nại về quyền sở hữu trí tuệ đối với nó.
Các thông số kỹ thuật của OpenID Connect đã được kiểm tra như thế nào trong khi chúng đang được phát triển?
Năm vòng kiểm tra khả năng tương tác đã được tiến hành khi các thông số kỹ thuật phát triển, trong đó việc triển khai được thử nghiệm với nhau. Quá trình này xác định bất kỳ thiếu sót và không rõ ràng nào trong thông số kỹ thuật, cho phép chúng được giải quyết trước khi thông số kỹ thuật trở thành cuối cùng. Điều này cũng xác minh rằng các triển khai sẽ hoạt động tốt cùng nhau.
Tại sao các nhà phát triển nên sử dụng OpenID Connect?
Bởi vì nó dễ dàng, đáng tin cậy, an toàn và cho phép họ thoát khỏi công việc khó khăn và nguy hiểm là lưu trữ và quản lý mật khẩu của người khác. Có một lợi ích bổ sung là nó cũng làm cho cuộc sống của người dùng dễ dàng hơn trong quá trình đăng ký và đăng ký, do đó giảm việc bỏ qua trang web.
OpenID Connect có hoạt động cho ứng dụng gốc và ứng dụng dành cho thiết bị di động không?
Đúng. Đã có các API cấp hệ thống được tích hợp vào hệ điều hành Android để cung cấp dịch vụ OpenID Connect. OpenID Connect cũng có thể được truy cập bằng cách tương tác với trình duyệt hệ thống tích hợp trên nền tảng di động và máy tính để bàn; nhiều thư viện đang được xây dựng để đơn giản hóa quá trình này.
Tại sao các nhà khai thác mạng nên quan tâm đến OpenID Connect?
Nói một cách đơn giản, có sự gia tăng đáng kể các dịch vụ trực tuyến được truy cập qua thiết bị di động và sự gia tăng các vụ trộm danh tính trực tuyến. GSMA đã trình bày rõ trường hợp kinh doanh dành cho Nhà khai thác mạng di động (MNO) http://www.gsma.com/mobileidentity . Tóm lại, nó tuyên bố rằng các MNO, với các tài sản nhận dạng và xác thực khác biệt của họ, có khả năng cung cấp đủ xác thực để cho phép người tiêu dùng, doanh nghiệp và chính phủ tương tác trong môi trường riêng tư, đáng tin cậy và an toàn và cho phép truy cập vào các dịch vụ.
Các MNO ngày càng quan tâm đến các dịch vụ nhận dạng hiện đang được sử dụng trực tuyến (tức là đăng nhập, tiếp thị, tương tác sau bán hàng, thanh toán, v.v.), để giảm thiểu một số điểm khó khăn gặp phải trong các dịch vụ hiện có, nhằm đáp ứng nhu cầu ngày càng tăng nhanh chóng của thị trường đối với thiết bị di động dịch vụ nhận dạng.
Nó cải thiện bảo mật như thế nào?
Các khuôn khổ xác thực dựa trên mã hóa khóa công khai như OpenID Connect (và các khuôn khổ tiền thân của nó) trên toàn cầu tăng cường bảo mật cho toàn bộ Internet bằng cách đặt trách nhiệm xác minh danh tính người dùng vào tay các nhà cung cấp dịch vụ chuyên nghiệp nhất. So với các phiên bản tiền nhiệm, OpenID Connect dễ triển khai và tích hợp hơn đáng kể và có thể mong đợi nhận được sự chấp nhận rộng rãi hơn nhiều.
Nó có bảo vệ quyền riêng tư của mọi người hoặc cung cấp cho họ nhiều quyền kiểm soát hơn đối với thông tin cá nhân của họ và những gì được chia sẻ không?
OpenID Connect xác định một tập hợp các thuộc tính cá nhân có thể được trao đổi giữa Nhà cung cấp danh tính và ứng dụng sử dụng chúng và bao gồm bước phê duyệt để người dùng có thể đồng ý (hoặc từ chối) việc chia sẻ thông tin này.
Còn các công nghệ xác thực mới như sinh trắc học và thiết bị thì sao?
Đây là một thời gian thú vị; các nhà đổi mới đang nghiên cứu một số loại công nghệ xác thực mới để thay thế hoặc bổ sung mật khẩu – đặc biệt là việc sử dụng các thiết bị xác thực phần cứng và mật mã nhúng.
Các phương pháp mới này có thể được Nhà cung cấp nhận dạng kết nối OpenID áp dụng khi chúng trưởng thành để cung cấp xác thực an toàn hơn cho chúng. Ví dụ: nhận dạng hai yếu tố đã được sản xuất tại một số IDP OpenID Connect.
Thực tế là các IDP OpenID Connect chạy chuyên nghiệp có thể tận dụng các công nghệ mới này khi chúng trưởng thành chỉ làm tăng giá trị của OpenID Connect. Không cần làm gì thêm, điều đó có nghĩa là các Bên dựa vào Kết nối OpenID có thể hưởng lợi từ việc IDP áp dụng các công nghệ xác thực mạnh hơn, đơn giản vì họ đã sử dụng OpenID Connect.
OpenID Connect liên quan như thế nào đến FIDO Alliance?
Liên minh FIDO là một tổ chức trong đó các công nghệ xác thực không dùng mật khẩu đang được khám phá. Một số thành viên của Tổ chức OpenID cũng là thành viên của Liên minh FIDO, làm việc trên các công nghệ xác thực ở đó mà Nhà cung cấp OpenID có thể sử dụng.
OpenID Connect liên quan đến SAML như thế nào?
Ngôn ngữ đánh dấu xác nhận bảo mật (SAML) là một công nghệ liên kết dựa trên XML được sử dụng trong một số trường hợp sử dụng doanh nghiệp và học thuật. OpenID Connect có thể đáp ứng các trường hợp sử dụng tương tự này nhưng với giao thức dựa trên JSON / REST đơn giản hơn. OpenID Connect được thiết kế để cũng hỗ trợ các ứng dụng gốc và ứng dụng di động, trong khi SAML chỉ được thiết kế cho các ứng dụng dựa trên Web. SAML và OpenID Connect có khả năng sẽ cùng tồn tại trong một thời gian khá dài, mỗi cái sẽ được triển khai trong các tình huống mà chúng có ý nghĩa.
Làm thế nào để OpenID Connect cho phép tạo ra một hệ sinh thái nhận dạng Internet?
- Khả năng tương tác
- Bảo vệ
- Dễ dàng triển khai
- Uyển chuyển
- Hỗ trợ rộng rãi các thiết bị
- Cho phép Nhà cung cấp xác nhận quyền sở hữu khác biệt với Nhà cung cấp danh tính
Nguồn dịch: openid.net