it-swarm-vi.com

Sự khác biệt giữa xác thực và nhận dạng [Phối cảnh tiền điện tử và bảo mật]

Tôi luôn bị nhầm lẫn bởi cách xác thực Word được sử dụng trong tài liệu bảo mật (tức là, bên ngoài vương quốc tiền điện tử). Hầu hết thời gian tôi hiểu rằng họ thực sự ngụ ý nhận dạng .

Ví dụ từ Wikipedia: Dịch vụ xác thực trung tâm sử dụng thuật ngữ xác thực để ngụ ý nhận dạng (nếu tôi hiểu chính xác).

Trong Crypto, theo như tôi hiểu:

  • Xác thực: một bằng chứng cho thấy tin nhắn có nguồn gốc từ người nắm giữ một số bí mật nhất định.
  • Nhận dạng: một bằng chứng không thể chuyển nhượng mà bên kia biết một số bí mật đã cho (không tiết lộ bí mật)
  • Không thoái thác: một bằng chứng có thể chuyển nhượng cho thấy tin nhắn có nguồn gốc từ người nắm giữ một số bí mật nhất định.

[Xin vui lòng cho tôi biết nếu tôi hiểu đúng ba thuật ngữ. Vui lòng cung cấp các định nghĩa thay thế/tinh chỉnh/hữu ích hơn]

Ai đó có thể giải thích ý nghĩa của hai thuật ngữ authenticationidentification trong cả tài liệu bảo mật và tiền điện tử không?

19
Jus12

Trong ngữ cảnh truyền thông qua mạng, một danh tính tương đương với kiến ​​thức của một phần dữ liệu cụ thể: nói chung, từ bên ngoài, những gì bạn nói có thể biết về một thực thể nhất định từ bên ngoài chỉ bao gồm các byte mà thực thể đó phát ra, tức là những gì nó có thể tính toán. Vì mọi người đều có thể mua cùng một loại PC, sự khác biệt về khả năng tính toán cuối cùng nằm ở những gì các thực thể biết. Ví dụ. you khác với tôi, từ quan điểm StackExchange, chỉ ở chỗ bạn biết mật khẩu vào tài khoản 'Jus12', còn tôi thì không, trong khi tôi biết mật khẩu của tài khoản 'Tom Leek', còn bạn thì không.

Nhận dạng là về việc đảm bảo rằng một thực thể nhất định có liên quan và bằng cách nào đó 'hoạt động'. Chẳng hạn, máy chủ StackExchange có thể đảm bảo rằng tôi còn sống và đá bằng cách thách thức tôi (máy tính của tôi) bằng cách hiển thị mật khẩu của mình. Lưu ý rằng máy chủ StackExchange (thực ra là một máy chủ khác vì chúng sử dụng sơ đồ gián tiếp, nhưng đó là tính kỹ thuật) cũng biết mật khẩu của tôi, vì vậy khi thử thách SE được phản hồi thành công, máy chủ SE chỉ được phản hồi biết rằng, ở đầu dây bên kia, vận hành một thực thể là chính tôi hoặc máy chủ SE. Các giao thức nhận dạng phải cẩn thận để tránh hoặc ít nhất là phát hiện một cách đáng tin cậy sự xuất hiện của một máy chủ gây ra để nói chuyện với chính nó bởi một cá nhân có ý đồ xấu xa xảo quyệt (sau đây được chỉ định bởi thuật ngữ chung 'kẻ tấn công').

Nhận dạng, như chính nó, là khá vô dụng. Điều mà máy chủ SE muốn biết không phải là tôi, Tom Leek, tồn tại và tỉnh táo; máy chủ SE khá bị thuyết phục về điều đó và không quan tâm. Những gì máy chủ SE muốn là đảm bảo rằng tôi phê duyệt trong số các yêu cầu HTTP mà tôi sẽ phát hành. Họ muốn xác thực : đó là nhận dạng được áp dụng cho một số dữ liệu khác. Do đó, nhận dạng là hữu ích khi nó có thể được tin là áp dụng cho một loạt dữ liệu, sau đó là một nguồn gốc "đã được xác minh". Liên kết giữa danh tính và dữ liệu phải có khả năng phục hồi liên quan đến sự phẫn nộ mà kẻ tấn công có thể gây ra cho dữ liệu. Trong trường hợp StackExchange, kẻ tấn công được cho là khá yếu, bởi vì tính toàn vẹn của một yêu cầu HTTP được giả sử: phần nhận dạng trở thành cookie, vì một phần của yêu cầu HTTP và máy chủ SE chỉ giả định rằng kẻ tấn công không thể thay đổi yêu cầu hoặc cookie hoặc sao chép cookie và ghép nó theo yêu cầu HTTP giả mạo mới.

Xác thực kỹ lưỡng hơn thường sử dụng một liên kết mạnh về mật mã, ví dụ: a SSL/TLS đường hầm (thường là một phần của HTTPS). Các thuộc tính mật mã của đường hầm ngụ ý rằng máy chủ có thể chắc chắn rằng nó sẽ nói chuyện với cùng một thực thể trong suốt phiên SSL; hơn nữa, máy chủ giả định rằng người dùng sẽ không chơi bất kỳ giao thức nhận dạng nào liên quan đến mật khẩu tài khoản của mình trừ khi điều này xảy ra trên một đường hầm SSL trong đó máy chủ được xác thực hợp lệ (nghĩa là khách hàng chắc chắn rằng nó nói chuyện với đúng máy chủ - đó là những gì máy chủ chứng chỉ nói về - và rằng bất kỳ dữ liệu nào nó gửi sẽ chỉ đến máy chủ đó, vì vậy đó là xác thực). Trong các điều kiện này, nếu máy chủ có thể xác định tôi trong đường hầm đó, thì nhận dạng sẽ bao gồm mọi dữ liệu được gửi qua đường hầm sau đó: đường hầm là liên kết giữa nhận dạng và dữ liệu, vì vậy đây là xác thực .

Không thoái thác là một đặc điểm của một số giao thức xác thực, trong đó liên kết giữa nhận dạng và dữ liệu có thể được xác minh không chỉ bởi bất kỳ ai, tương tác, tại đầu dây bên kia, mà còn bởi một bên thứ ba kín đáo, ví dụ như một thẩm phán. Các lược đồ dựa trên mật khẩu thường không cung cấp thuộc tính đó, bởi vì bất cứ ai xác minh mật khẩu cũng phải biết trực tiếp ít nhiều, và do đó có thể đóng khung trình phát bị cáo buộc. Không thoái thác đòi hỏi toán học. Lưu ý rằng, trong đường hầm SSL, máy khách xác thực máy chủ thông qua chứng chỉ của nó, chứa đầy mật mã bất đối xứng, nhưng điều này không cấp phép không thoái thác: khách hàng chắc chắn rằng mọi dữ liệu mà nó nhận được từ máy chủ thực sự đến từ máy chủ , nhưng không có gì mà khách hàng có thể ghi lại, điều này sẽ thuyết phục một thẩm phán rằng máy chủ thực sự đã gửi dữ liệu đó. Để không từ chối, bạn cần chữ ký số . Nếu không từ chối, người ta có thể xác thực bằng các thuật toán được gọi là Mã xác thực thư , là tính toán nhẹ hơn. Một cách khó hiểu, có một truyền thống rộng rãi (nhưng không chính xác) khi gọi MAC là "chữ ký".

Tóm tắt:

  • Nhận dạng: thực thể cụ thể [~ # ~] e [~ # ~] có liên quan và phản hồi.
  • Tính toàn vẹn: bất kỳ phần dữ liệu nào đã nhận được đã được gửi theo nguyên trạng của một thực thể E ' và không bị thay đổi.
  • Xác thực: nhận dạng và tính toàn vẹn cùng một lúc ( E = E ').
  • Không thoái thác: xác thực có thể thuyết phục một thẩm phán.
20
Tom Leek

Nhận dạng là một cách để mô tả hiệu trưởng, ví dụ: tên người dùng, email, họ + họ, v.v ... Hiệu trưởng là người dùng.

Xác thực là một cách để chứng minh rằng hiệu trưởng là người mà họ nói.

Vì vậy, ví dụ khi tôi đăng nhập vào hệ thống, tôi tự nhận mình bằng tên người dùng của mình (Xin chào, tôi là SteveS) và tôi tự xác thực bằng cách chỉ cung cấp mật khẩu mà tôi biết và hệ thống có thể xác thực (Tôi là SteveS vì mật khẩu của tôi là " foo ").

Một ví dụ thực tế tốt là việc sử dụng giấy phép lái xe. Tôi có thể dán thẻ tên lên áo và xác định rằng tôi là Joe, nhưng nếu ai đó cần bằng chứng rằng tôi là Joe, tôi sẽ cho họ xem bằng lái xe của mình. Xác thực được thực hiện bằng cách so sánh ảnh trên giấy phép với người.

8
Steve

Câu trả lời của tôi là ngắn, nhưng đây là cách tôi luôn đọc cả hai.

Xác định là nói "Tôi là Joe Schmoe!" Xác thực là chứng minh điều đó bằng một cái gì đó (mật khẩu, giấy khai sinh, kết quả DNA).

Trong CNTT, chúng ta cần mỗi người có ID riêng biệt để chúng ta có thể xác định chính xác họ và gán quyền cho họ (Tôi là Joe Schmoe! Tôi cũng vậy! Tôi ba! Nhưng tất cả chúng ta đều không cần quyền truy cập như nhau). Chúng tôi cũng cần mọi người chứng minh họ là người mà họ tuyên bố là bằng cách xác thực chính họ (hãy nhớ ba yếu tố xác thực, một cái gì đó bạn biết, có hoặc đang có).

3
Jeff

Sử dụng một lời giải thích đơn giản

Nhận dạng: là cách bạn xác định ai đó, tức là, bạn sẽ gọi người đó hoặc công ty như thế nào. Có thể là tên, số tài khoản trong ngân hàng, tên người dùng trong một số hệ thống cụ thể.

Xác thực: là cách bạn xác nhận rằng một người, người đang làm gì đó trong hệ thống của bạn, thực sự là người mà anh ta nói. Anh ta có thể chứng minh rằng bằng cách đưa ra thứ gì đó anh ta biết (mật khẩu - xác thực một yếu tố) hoặc bằng cách cung cấp thứ anh ta biết + thứ anh ta sở hữu (mật khẩu + chứng chỉ kỹ thuật số - xác thực hai yếu tố).

Không thoái thác: một người không thể từ chối quyền tác giả của một số tài liệu, v.v., vì tài liệu chỉ có thể được sản xuất bởi một người đã được chứng thực và do đó có mối quan hệ giữa một danh tính cụ thể và tài liệu.

2
woliveirajr

Nhận dạng - Bạn là ai?

Xác thực - Đảm bảo bạn là người bạn nói.

1

Tôi sẽ cung cấp một câu trả lời rất khác với tất cả các câu trả lời ở đây.

Sự khác biệt giữa xác thực và nhận dạng không quan trọng.

Mọi người dường như định nghĩa nó khác nhau, ví dụ như bài báo Fiat-Shamir định nghĩa như sau:

  1. Xác thực: Alice có thể chứng minh với Bob rằng cô ấy là Alice, nhưng Charles không thể chứng minh với Bob rằng anh ta là Alice.
  2. Nhận dạng: Alice có thể chứng minh với Bob rằng cô ấy là Alice, nhưng Bob không thể chứng minh với David rằng anh ta là Alice.
  3. Chữ ký: Alice có thể chứng minh với Bob rằng cô ấy là Alice, nhưng Bob không thể tự chứng minh rằng anh ta là Alice.

(mà tôi đoán dựa trên thực tế là trong các giao thức sigma như schnorr nhận dạng giao thức, để cung cấp thuộc tính không có kiến ​​thức, một trình xác minh cần có khả năng tạo bản sao giả mạo xác định thành công câu tục ngữ )

Hai điểm nhầm lẫn bổ sung:

  • xác thực cũng là một thuật ngữ quá tải, ví dụ, nó được sử dụng trong mã xác thực tin nhắn và mã hóa được xác thực có nghĩa là "tính toàn vẹn (bảo vệ)".
  • rất nhiều bài viết trên web về xác thực so với ủy quyền, do một số vấn đề với các giao thức ủy quyền như OAuth 2.0 (ví dụ: để tôi truy cập email và ảnh đại diện của hồ sơ facebook này) đang được sử dụng như các giao thức xác thực (ví dụ: tôi là hồ sơ facebook này).

Vì vậy, để đơn giản, Xác thực là về chứng minh bạn là ai. Chỉ có bấy nhiêu thôi.

0
David 天宇 Wong

Nhận dạng yêu cầu người xác minh kiểm tra thông tin được trình bày đối với tất cả các thực thể mà nó biết về Xác thực yêu cầu thông tin được kiểm tra cho một thực thể được xác định trước đó.

0
Hamidullah Amid

Nhận dạng: Bạn là ai?

Xác thực: Ok. Làm thế nào bạn có thể chứng minh nó?

Ủy quyền: Tôi có thể làm gì?

0
Nodiraxon Yo'ldosheva