Giải thích xác thực dựa trên yêu cầu bồi thường đối với một đứa trẻ 5 tuổi


188

Chà, không chính xác với một đứa trẻ 5 tuổi, nhưng xin vui lòng tránh buzzword và Enterprisespeak nếu có thể.

Xác thực dựa trên yêu cầu dường như là tất cả cơn thịnh nộ, nhưng tôi không thể tìm thấy một lời giải thích đơn giản và thực tế về những gì nó thực sự là, nó khác với những gì chúng ta có bây giờ (tôi giả sử "những gì chúng ta có bây giờ" để được xác thực dựa trên vai trò), lợi ích của việc sử dụng nó là gì, v.v.


1
Tôi đồng ý với @Marnix. Bây giờ bạn đã có một sự hiểu biết cơ bản, bạn có thể liên quan dễ dàng hơn đến định nghĩa / giải thích của Microsoft .
FrankO

Tôi cũng tìm thấy whitepaper này đơn giản nếu bạn muốn chú ý và thời gian hơn một chút. Phần giới thiệu trả lời câu hỏi và các sơ đồ nói một ngàn từ: download.microsoft.com/doad/7/D/0/
Kẻ

Câu trả lời:


215

@Marnix có một câu trả lời khá hay, nhưng để tránh xa khía cạnh kỹ thuật của nó:

Xác thực dựa trên yêu cầu là về việc xác định người bạn tin tưởng để cung cấp cho bạn thông tin chính xác về danh tính và chỉ bao giờ sử dụng thông tin đó được cung cấp. Ví dụ đi tới của tôi là tại một quán bar. Hãy tưởng tượng trong một khoảnh khắc mà bạn muốn lấy bia ở quán bar. Về lý thuyết, nhân viên pha chế nên yêu cầu bạn chứng minh tuổi tác. Làm thế nào để bạn chứng minh điều đó? Chà, một lựa chọn là nhờ nhân viên pha chế cắt bạn một nửa và đếm số lượng nhẫn, nhưng có thể có một số vấn đề với điều đó. Tùy chọn khác là để bạn viết ngày sinh nhật của bạn lên một tờ giấy mà người pha chế chấp thuận hoặc không chấp thuận. Tùy chọn thứ ba là đến chính phủ, lấy thẻ ID và sau đó xuất trình ID cho nhân viên pha chế.

Một số người có thể bật cười với ý tưởng chỉ viết ngày sinh nhật của bạn trên một tờ giấy, nhưng đây là điều đang xảy ra khi bạn xác thực người dùng trong chính ứng dụng vì nó phụ thuộc vào nhân viên pha chế (hoặc ứng dụng của bạn) để tin vào mảnh giấy . Tuy nhiên, chúng tôi tin tưởng vào sự khẳng định của chính phủ rằng ngày sinh nhật trên ID là hợp lệ và ID dành cho người yêu cầu đồ uống. Đối với tất cả ý định và mục đích, nhân viên pha chế (hoặc ứng dụng) không thực sự quan tâm đến việc xác thực xảy ra như thế nào vì sự tin tưởng. Người pha chế không biết gì về bạn ngoại trừ ngày sinh của bạn bởi vì đó là tất cả những gì người pha chế cần biết. Bây giờ, nhân viên pha chế có thể lưu trữ thông tin mà họ cho là quan trọng đối với họ, như đồ uống yêu thích của bạn, nhưng chính phủ không quan tâm (vì đó không phải là nguồn có thẩm quyền),

Chìa khóa của CBA là "ai là nguồn có thẩm quyền của danh tính?"


20
Tương tự tuyệt vời! Tôi ước tôi có thể cho thêm điểm cho phương pháp "cắt bạn làm đôi và đếm số vòng" để xác định tuổi của một người. Tôi sẽ phải thử điều đó. :-)
Keith Robertson

8
Tôi thấy 'cho tất cả các mục đích chuyên sâu' thường xuyên đến mức tôi thực sự, thực sự đánh giá cao khi mọi người nói, một cách chính xác, 'cho tất cả ý định và mục đích'
JoeBrockhaus

3
Dễ dàng: giải thích cho họ rằng các tương tự về các chủ đề phức tạp không thể dễ dàng được chắt lọc thành các khái niệm đơn giản bất kể người ta hiểu chúng như thế nào. Và ... tại sao một đứa trẻ 5 tuổi thực sự quan tâm đến yêu cầu dựa trên xác thực?
Steve

2
Tôi đã đọc bài viết này và có vẻ như xác thực dựa trên khiếu nại là hệ thống xác thực của bên thứ 3 như xác thực mở hoặc đăng nhập xã hội như Tài khoản Microsoft, Facebook, Twitter, Google. bất cứ ai cũng có thể cho tôi biết xác thực dựa trên khiếu nại khác với xác thực mở như thế nào? bởi vì auth mở quá hệ thống auth của bên thứ 3.
Thomas

1
@Thomas OAuth thực sự là về ủy quyền, không phải xác thực và điều đó biến thành một cuộc trò chuyện hoàn toàn khác. Họ cung cấp thông tin nhận dạng, nhưng mục đích là sử dụng mã thông báo để truy cập dịch vụ của họ, không xác định người dùng. Một phần mở rộng trên đó là OpenID nhằm xác định. Trong cả hai trường hợp, cách đơn giản để suy nghĩ về nó (nếu không chính xác 100%) là chúng chỉ là các triển khai của CBA.
Steve

131

(Đây là ý kiến ​​cá nhân của tôi về vấn đề này, những người khác có thể khác. Vui lòng đăng các quan điểm khác dưới dạng câu trả lời riêng.)

Nhận dạng / xác thực / ủy quyền dựa trên yêu cầu là tách biệt việc duy trì ủy quyền người dùng và đăng nhập người dùng khỏi ứng dụng (web), bằng cách chuyển xác thực / ủy quyền thành một dịch vụ (web) riêng biệt.

Vì vậy, ví dụ, khi tôi duyệt đến một ứng dụng web hỗ trợ khiếu nại lần đầu tiên, nó sẽ chuyển hướng trình duyệt của tôi đến một 'dịch vụ đăng nhập' mà nó tin tưởng. Tôi sẽ xác thực với dịch vụ đó (sử dụng xác thực Windows, thẻ thông minh hoặc bất cứ thứ gì) và để đáp lại, nó sẽ gửi lại một "mã thông báo" mà trình duyệt gửi lại cho ứng dụng web. Bây giờ, ứng dụng web kiểm tra mã thông báo được ký điện tử bởi dịch vụ đăng nhập đáng tin cậy của nó và sau đó xem xét 'khiếu nại' trong mã thông báo. Dựa hoàn toàn vào những tuyên bố đó, ứng dụng quyết định chức năng nào mà người dùng được cung cấp.

Các khiếu nại hầu như sẽ luôn bao gồm danh tính của người dùng, thường cũng có các khiếu nại liên quan đến ủy quyền ('người dùng này có thể xem dữ liệu Bán hàng, nhưng không cập nhật nó') và đôi khi cũng có thông tin khác (size size giày = 42 ').

Điểm mấu chốt là ứng dụng không biết người dùng đã được xác thực như thế nào cũng như cách thức ủy quyền được quản trị: nó chỉ sử dụng thông tin từ các khiếu nại trong mã thông báo đã ký để xác định người dùng là ai và / hoặc người dùng có thể là gì xem hoặc làm và / hoặc bất kỳ thông tin nào khác về người dùng.

(Vâng, tôi đang giả sử một đứa trẻ 5 tuổi khá thông minh và hiểu biết ở đây. :-)


5
Có phải những thứ như 'Đăng nhập bằng Facebook / Google / ...' ví dụ về xác thực dựa trên Yêu cầu không?
Wes

1
Tôi chắc rằng 5 tuổi của tôi sẽ hiểu tất cả những điều đó.
Trang web thẩm mỹ

@ câu hỏi của bạn hơi mơ hồ. Hành động đơn giản để đăng nhập bằng facebook hoặc google không phải là một ví dụ về xác thực dựa trên khiếu nại, không. Tôi cũng cho rằng xác thực dựa trên yêu cầu không phải là một điều. Nó sẽ được ủy quyền nếu bất cứ điều gì. Trường hợp CBA sẽ tham gia là trong bước ủy quyền đăng nhập với các nhà cung cấp đó. Khi nó yêu cầu quyền và bạn chấp nhận, nó sẽ thêm phạm vi vào mã thông báo truy cập của bạn. Điều này khác về mặt ngữ nghĩa so với yêu cầu nhưng thường được sử dụng theo cách rất giống nhau.
Trang web thẩm mỹ

40

Ví dụ trong thế giới thực sau đây được lấy từ Hướng dẫn về Nhận dạng và Kiểm soát truy cập dựa trên yêu cầu (Phiên bản 2) .

Một sự tương tự rất quen thuộc là giao thức xác thực bạn theo dõi mỗi khi bạn đến sân bay . Bạn không thể đơn giản đi đến cổng và xuất trình hộ chiếu hoặc bằng lái xe. Thay vào đó, trước tiên bạn phải kiểm tra tại quầy vé. Ở đây, bạn trình bày bất cứ điều gì có ý nghĩa. Nếu bạn đi nước ngoài, bạn xuất trình hộ chiếu của bạn. Đối với các chuyến bay nội địa, bạn xuất trình giấy phép lái xe của bạn. Sau khi xác minh rằng ID hình ảnh của bạn khớp với khuôn mặt của bạn ( xác thực ), đại lý sẽ tra cứu chuyến bay của bạn và xác minh rằng bạn đã trả tiền cho một vé ( ủy quyền ). Giả sử tất cả là theo thứ tự, bạn nhận được một thẻ lên máy bay mà bạn đưa đến cổng.

Thẻ lên máy bay là rất nhiều thông tin. Đại lý cổng biết tên của bạn và số lượng khách hàng thường xuyên (xác thực và cá nhân hóa), số chuyến bay của bạn và ưu tiên chỗ ngồi (ủy quyền), và có lẽ nhiều hơn nữa. Các đại lý cổng có mọi thứ mà họ cần để thực hiện công việc của họ một cách hiệu quả.

Ngoài ra còn có thông tin đặc biệt về thẻ lên máy bay. Nó được mã hóa theo mã vạch và / hoặc dải từ ở mặt sau. Thông tin này (chẳng hạn như số sê-ri lên máy bay) chứng minh rằng thẻ được cấp bởi hãng hàng không và không phải là giả mạo.

Về bản chất, thẻ lên máy bay là một bộ yêu cầu có chữ ký của hãng hàng không về bạn . Nó nói rằng bạn được phép lên một chuyến bay cụ thể tại một thời điểm cụ thể và ngồi ở một chỗ ngồi cụ thể. Tất nhiên, các đặc vụ không cần suy nghĩ sâu sắc về điều này. Họ chỉ cần xác nhận thẻ lên máy bay của bạn, đọc các yêu cầu trên đó và cho phép bạn lên máy bay.

Cũng cần lưu ý rằng có thể có nhiều hơn một cách để có được bộ yêu cầu đã ký có tên là thẻ lên máy bay của bạn. Bạn có thể đến quầy bán vé tại sân bay hoặc bạn có thể sử dụng trang web của hãng hàng không và in thẻ lên máy bay tại nhà. Các nhân viên cửa khẩu lên máy bay không quan tâm làm thế nào thẻ lên máy bay được tạo ra; họ không quan tâm nhà phát hành nào bạn đã sử dụng, miễn là được hãng hàng không tin tưởng. Họ chỉ quan tâm rằng đó là một bộ yêu cầu xác thực cho phép bạn được lên máy bay.

Trong phần mềm, gói khiếu nại này được gọi là mã thông báo bảo mật . Mỗi mã thông báo bảo mật được ký bởi nhà phát hành đã tạo ra nó. Ứng dụng dựa trên khiếu nại coi người dùng được xác thực nếu họ đưa ra mã thông báo bảo mật được ký hợp lệ từ nhà phát hành đáng tin cậy .


18

Đối với một cậu bé 5 tuổi, yêu cầu anh ta giả sử anh ta gia nhập một trường học mới bằng cách ký tên vào đơn đăng ký của cha mẹ anh ta. Sau khi được ban quản lý trường chấp thuận cho đơn đăng ký của mình, anh ta nhận được một thẻ truy cập có chứa tất cả các thông tin dưới đây mà chúng tôi có thể gọi là YÊU CẦU để nhập vào trường.

  1. TÊN CỦA BOY là BOB.
  2. TÊN TRƯỜNG LÀ TRƯỜNG TRUNG HỌC MONTISSORI
  3. LỚP LÀ LỚP 8

Vào ngày đầu tiên đến trường khi anh ta bước vào trường, anh ta đã quẹt thẻ truy cập và cánh cổng mở ra, có nghĩa là anh ta đã bị YÊU CẦU NHƯ một trong những người trong trường. Theo cách này, anh ta là một NGƯỜI TỰ TIN để vào trường.

Sau khi đến lớp của mình, anh ta đã sử dụng thẻ truy cập để vào từng lớp, nhưng tại Cửa lớp tiêu chuẩn thứ 8 đã mở khi anh ta tuyên bố là từ Tiêu chuẩn thứ 8.

Trong trường, anh ta chỉ được ỦY QUYỀN để vào lớp vì hiện đang học Tiêu chuẩn thứ 8. Và nếu anh ta cố gắng tham gia vào Tiêu chuẩn thứ 6, giáo viên của trường sẽ KHÔNG ỦY QUYỀN anh ta.


3
Điều này chỉ mô tả khái niệm chung về xác thực và ủy quyền. Không đặc biệt dựa trên yêu cầu hoặc khác
Sheepy

Sheepy, chắc chắn các yêu cầu được giải thích bởi anh ta đang học lớp 8 và bị từ chối truy cập vào lớp 6?
Ian

1
Tôi đã đọc bài viết này và có vẻ như xác thực dựa trên khiếu nại là hệ thống xác thực của bên thứ 3 như xác thực mở hoặc đăng nhập xã hội như Tài khoản Microsoft, Facebook, Twitter, Google. bất cứ ai cũng có thể cho tôi biết xác thực dựa trên khiếu nại khác với xác thực mở như thế nào? bởi vì auth mở quá hệ thống auth của bên thứ 3.
Thomas

9

Càng phi kỹ thuật càng tốt:

Nếu bạn mô tả bất cứ điều gì về con người bạn và những gì bạn được phép nhìn thấy hoặc làm, thì mỗi điều đó sẽ là một điều gì đó mà bạn "tuyên bố" là đúng, và do đó mỗi "điều" trong danh sách đó sẽ là " yêu cầu".

Bất cứ khi nào bạn nói với ai đó về bản thân hoặc "yêu cầu" rằng bạn được phép nhìn thấy hoặc làm điều gì đó, bạn đưa cho họ danh sách yêu cầu của bạn. Họ sẽ xác minh với cơ quan có thẩm quyền rằng khiếu nại của bạn là đúng và nếu đúng, họ sẽ tin bất cứ điều gì trong danh sách khiếu nại đó. Vì vậy, nếu bạn cho rằng bạn là Brad Pitt, danh sách khiếu nại của bạn nói rằng bạn là Brad Pitt và được xác nhận với thẩm quyền rằng các khiếu nại của bạn đều đúng - thì họ sẽ tin rằng bạn là Brad Pitt cùng với bất cứ điều gì khác trong danh sách đó.

Yêu cầu : những gì bạn tuyên bố là đúng. Đây có thể là một phần thông tin hoặc mô tả về sự cho phép mà bạn tuyên bố có. Hệ thống mà bạn trình bày khiếu nại của mình chỉ cần hiểu yêu cầu / nghĩa là gì và cũng có thể xác minh với cơ quan có thẩm quyền.

Thẩm quyền : Hệ thống kết hợp danh sách các yêu cầu của bạn với nhau và ký vào đó về cơ bản là "Theo thẩm quyền của tôi, mọi thứ trong danh sách này là đúng." Miễn là hệ thống đọc các khiếu nại có thể xác minh với cơ quan có thẩm quyền rằng chữ ký là chính xác, thì mọi thứ trong danh sách khiếu nại sẽ được coi là xác thực và đúng.

Ngoài ra, chúng ta đừng gọi nó là "xác thực dựa trên yêu cầu", thay vào đó hãy gọi nó là "nhận dạng dựa trên yêu cầu".

Kỹ thuật hơn một chút:

Vì vậy, bây giờ trong quá trình này, bạn xác thực bằng cách sử dụng một số loại cơ chế (tên người dùng / mật khẩu, bí mật khách hàng, chứng chỉ, v.v.) và điều đó mang lại cho bạn một mã thông báo chứng minh bạn là chính bạn. Sau đó, bạn giao dịch mã thông báo truy cập đó cho mã thông báo ID. Quá trình đó sẽ sử dụng danh tính của bạn để tìm và xây dựng danh sách các khiếu nại, ký tên và sau đó trao lại cho bạn mã thông báo ID có tất cả các khiếu nại của bạn.

Là bước ủy quyền , tùy thuộc vào cách triển khai, tài nguyên sẽ xem xét mã thông báo ID của bạn (khiếu nại) và sau đó kiểm tra xem bạn có yêu cầu cần thiết để truy cập tài nguyên đó không.

Vì vậy, ví dụ, nếu tài nguyên "CastleBlack / CommandersTower" nói rằng "bạn phải có quyền truy cập vào lâu đài đen và là chỉ huy của chúa, thì bạn sẽ xem xét danh sách yêu cầu của mình để xem liệu cả hai điều đó có đúng không.

Như bạn thấy, "yêu sách" có thể là bất cứ điều gì. Nó có thể là một vai trò, nó có thể là một thực tế, nó có thể là một lá cờ. Đây chỉ là một danh sách các cặp khóa-giá trị và "giá trị" là tùy chọn. Đôi khi chỉ là để xem nếu yêu cầu tồn tại:

claims : [
    {"type": "name", "value": "Jon Snow"},
    {"type": "home", "value": "Winterfell, The North, Westeros"},   
    {"type": "email", "value": "jon@nightswatch-veterans.org"},
    {"type": "role", "value": "veteran;deserter;"},
    {"type": "department", "value": "none"},    
    {"type": "allowEntry", "value": "true"},
    {"type": "access", "value": "castleblack;eastwatch;"}
]

Vì vậy, nếu Jon đăng nhập và cố gắng truy cập vào tài nguyên được mô tả ở trên, anh ta sẽ bị từ chối bởi vì, trong khi anh ta nói anh ta là ai và anh ta có quyền truy cập vào lâu đài đen, anh ta không còn là chỉ huy của lãnh chúa và anh ta không có quyền truy cập rõ ràng vào tháp chỉ huy, và do đó không thể ngầm vào tháp chỉ huy của lãnh chúa.

Cụ thể hơn, "CastleBlack" có thể là một phạm vi [lớn hơn] và mỗi khu vực sẽ là một sự cho phép cụ thể, nhưng đó là một cuộc thảo luận khác nhau.

Làm thế nào mỗi ứng dụng xử lý quyền truy cập sẽ khác nhau, nhưng nó sẽ sử dụng các yêu cầu để làm điều đó.


5

Xem xét rằng khiếu nại là thuộc tính cho bạn biết điều gì đó về người dùng (tên, tuổi, dân tộc, v.v.) bạn làm việc với dịch vụ mã thông báo bảo mật để xác thực các khiếu nại đó và cũng sử dụng chúng để ủy quyền ngoài xác thực.

Đoạn trích sau đây được lấy từ Wikipedia ( http://en.wikipedia.org/wiki/Claims-basing_identity ) và sự tương tự tốt nhất mà tôi tìm thấy cho đến nay

"Để hiểu rõ hơn về khái niệm dịch vụ mã thông báo bảo mật, hãy xem xét sự tương tự của câu lạc bộ đêm với người gác cửa. Người gác cửa muốn ngăn người bảo trợ chưa đủ tuổi vào. Để tạo điều kiện, anh ta yêu cầu người bảo trợ xuất trình giấy phép lái xe, thẻ bảo hiểm y tế hoặc nhận dạng khác (mã thông báo) đã được cấp bởi một bên thứ ba đáng tin cậy (dịch vụ mã thông báo bảo mật) như bộ phận cấp giấy phép xe của tỉnh hoặc tiểu bang, sở y tế hoặc công ty bảo hiểm. Do đó, hộp đêm được giảm bớt trách nhiệm xác định người bảo trợ tuổi. Nó chỉ phải tin tưởng vào cơ quan phát hành (và tất nhiên tự đưa ra phán quyết về tính xác thực của mã thông báo). Với hai bước hoàn thành, hộp đêm đã xác thực thành công người bảo trợ liên quan đến tuyên bố rằng anh ta hoặc cô ta tuổi uống rượu hợp pháp.

Tiếp tục tương tự, hộp đêm có thể có một hệ thống thành viên và một số thành viên nhất định có thể là thường xuyên hoặc VIP. Người gác cửa có thể yêu cầu một mã thông báo khác, thẻ thành viên, có thể đưa ra yêu cầu khác; rằng thành viên là VIP. Trong trường hợp này, cơ quan phát hành đáng tin cậy của mã thông báo có thể sẽ là chính câu lạc bộ. Nếu thẻ thành viên đưa ra tuyên bố rằng người bảo trợ là VIP, thì câu lạc bộ có thể phản ứng tương ứng, dịch yêu cầu thành viên VIP đã được chứng thực thành một sự cho phép như người bảo trợ được phép ngồi trong khu vực phòng chờ độc quyền và được phục vụ đồ uống miễn phí. "

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.