OpenID này có dễ bị hack hay tôi đang thiếu thứ gì không?


18

Đối với những Bên tham gia (RP) cho phép người dùng chỉ định Nhà cung cấp OpenID (OP), tôi dường như hơn bất kỳ ai biết hoặc đoán OpenID của bạn

  1. Nhập địa chỉ OP của riêng họ.
  2. Có nó xác nhận họ là sở hữu OpenID của bạn.
  3. Truy cập tài khoản của bạn trên RP.

RP "có thể" thực hiện các biện pháp để ngăn chặn điều này bằng cách chỉ cho phép OpenID được xác thực bởi OP ban đầu, nhưng ...

  1. Làm thế nào để bạn biết họ làm gì?
  2. Bạn không bao giờ có thể thay đổi OP của mình mà không thay đổi OpenID.

Câu trả lời:


7

OpenID là một trong những hệ thống mà bạn phải tin tưởng vào điểm cuối. Nếu RP không đáng tin cậy, thì loại ngộ độc hiệp hội này là hoàn toàn có thể. Nếu RP thực sự đáng tin cậy, thì kiểu tấn công này RẤT NHIỀU. 'Cách giải quyết' để không dễ bị tấn công này là tuân thủ nguyên tắc bảo mật cục bộ (trên ServerFault, đây sẽ là đại diện cho tên người dùng của bạn trong cơ sở dữ liệu phía sau) với điểm cuối OpenID (URL OpenID, ServerFault cho phép bạn liên kết bội số trong số này).

Bạn vẫn có thể tấn công bằng cách tấn công ngộ độc DNS vào phần của RP, ví dụ như * .livejournal.com được chuyển hướng đến một OP mà bạn đặc biệt chế tạo cho cuộc tấn công. Nhưng đó là một cuộc tấn công ngộ độc DNS, không phải là lỗi trong chính OpenID. OpenID chỉ dễ bị tấn công DNS.


Trong trường hợp này, một RP đáng tin cậy có thể trở nên không đáng tin vì họ cho rằng OpenID là an toàn trong chính nó.
David

Sau khi đọc xong, tôi thấy mình trên openid.net, và điều đầu tiên tôi thấy là dòng tiêu đề "Nền tảng nhận dạng Internet" trên phông nền của một bức ảnh ba tay đang chơi Jenga - mỗi người chọn một mảnh từ rất không ổn định- nhìn tháp.
Andreas

2

Tôi nghĩ bạn đang nhầm lẫn OpenID và các phần khác của Bảo mật người dùng. OP của bạn là cơ chế xác thực, không phải tài khoản của bạn. Ở đây trên ServerFault, bạn có một tài khoản. Tài khoản đó không có phương tiện xác thực; ngoại trừ bạn trỏ nó đến một hoặc nhiều OP.

Khi bạn cố gắng đăng nhập vào Tài khoản của mình ở đây dưới dạng SF, nó sẽ yêu cầu OP của bạn xử lý Xác thực. Chỉ có một OP (hoặc nhiều OP, tuy nhiên bạn đã thiết lập nó) mới có thể Xác thực bạn cho các mục đích của Tài khoản SF của bạn.

Có ba phần cho một hệ thống đăng nhập thông thường (được gọi là ba "A" hoặc chỉ "AAA"):

  • Kế toán - Theo dõi tên và thông tin cụ thể của bạn cho trang web (như bài đăng, tin nhắn, v.v.)
  • Xác thực - Theo dõi cách đảm bảo đó thực sự là bạn (thường là mật khẩu)
  • Ủy quyền - Keeeps theo dõi các quyền của bạn (đọc hoặc viết quyền truy cập vào những thứ khác nhau)

Bạn có thể đọc thêm về các hệ thống AAA trên Wikipedia.


Nếu tôi được phép chỉ định bất kỳ OP nào mỗi khi tôi đăng nhập, thì người dùng độc hại cũng có thể chỉ định bất kỳ OP nào khi cố gắng hack tài khoản của tôi. Do đó, họ chỉ định OP riêng của họ và có được quyền truy cập.
David

Không, bạn chỉ cho phép họ, sau khi đăng nhập, để thêm điểm OpenID cho tài khoản của họ. SO làm theo cách này.
ceejayoz

2
@David, khi bạn đăng nhập, bạn không chỉ định tài khoản và OpenID, bạn chỉ chỉ định OpenID . OpenID đó phải được kết nối với tài khoản, nếu không, bạn có tùy chọn tạo tài khoản mới (ít nhất là ở đây trên SF).
Chris S

1

David, giả định của bạn là sai. OpenID hoạt động như thế này: 1) Bạn muốn đăng nhập vào trang web Relingparty.com 2) Bạn cung cấp cho Relingparty.com OpenID của bạn, ví dụ: david.com 3) dựa vào david.com (hey, đó là một URL) được gọi là điểm cuối OpenID có thể được tìm thấy tại david.com nhưng thông qua các phương tiện ủy quyền cũng ở một nơi khác, ví dụ như yahoo.com hoặc google.com. hãy gọi nó là davidsopenidprovider.com 4) Bây giờ bạn đã được chuyển hướng đến davidsopenidprovider.com. công việc của davidsopenidprovider.com là xác thực bạn. Bạn phải đăng nhập vào davidsopenidprovider.com. Nó phụ thuộc vào davidsopenidprovider.com cách đăng nhập này hoạt động. Nó có thể là tên người dùng / mật khẩu, nó có thể là thẻ thông tin, chứng chỉ trình duyệt, dấu vân tay, thẻ thông minh, cơ chế ngoài băng như xác minh cuộc gọi, ... Điều đó tùy thuộc vào davidsopenidprovider. com làm thế nào nó xử lý xác thực. Sau đó, nó hỏi nếu bạn thực sự muốn đăng nhập vào Relingparty.com. 5) Nếu bạn đăng nhập thành công vào davidsopenidprovider.com, bạn sẽ được chuyển hướng trở lại dựa trên Relingparty.com và tự động đăng nhập vào đó. 6) davidsopenidprovider.com chỉ đảm bảo cho relingparty.com rằng bạn là người bạn khẳng định bạn là ai. Nó không gửi bất kỳ mật khẩu.

Vì vậy, giả định của bạn "Là người tiêu dùng, Khi tôi tạo tài khoản trên any-site.com, tôi không có khái niệm về trí thông minh của các nhà phát triển / người quản lý trang web." là sai liên quan đến OpenID. Nếu có một điểm yếu, đó là nhà cung cấp chứ không phải any-site.com. Đó là vấn đề với thông tin đăng nhập tên người dùng / mật khẩu truyền thống bây giờ. Bạn phải tin tưởng từng trang web cung cấp thông tin đăng nhập theo cách đó và không chỉ một, nhà cung cấp OpenID của bạn.

Tôi hy vọng điều này sẽ giúp hiểu OpenID.


0

Làm thế nào để bạn biết họ làm gì?

Giống như cách bạn biết rằng bất kỳ trang web cũ nào đang chuyển mật khẩu của bạn cho người khác - bạn không. Đó là lý do tại sao bạn sử dụng những gì có khả năng là một công ty có uy tín.

Bạn không bao giờ có thể thay đổi OP của mình mà không thay đổi OpenID.

Chắc chắn bạn có thể. Nhìn vào phái đoàn OpenID.

OpenID của tôi là http://ceejayoz.com/ , nhưng OP của tôi là WordPress.com. Hai METAthẻ trong phần đầu của http://ceejayoz.com/ cho phép tôi làm điều này và tôi có thể thay đổi nó bất cứ lúc nào tôi muốn.


0

OpenID của bạn là nhà cung cấp của bạn. pwnguin.netlà openID của tôi. Đây không phải là chủ đề để đoán, nó chỉ đơn giản là một sự thật được biết đến. Điều bảo vệ openID của tôi là phần mềm chạy trên pwnguin.net, phần mềm chỉ trả lời trong phần khẳng định nếu khách truy cập trong câu hỏi có cookie xác thực.

Tôi sẽ không nói openID là an toàn; có tất cả các loại kịch bản chéo trang có thể tiếp tục hoặc một số chi tiết trần tục mà tôi có xu hướng bỏ qua hoặc hiểu sai.


0

Đây là những gì tôi đã thu được từ các câu trả lời ở đây ...

OpenID chỉ an toàn như các bên liên quan và điều đó đúng với bất kỳ phương thức xác thực nào. Tôi nhận ra rằng trước khi tôi bắt đầu cuộc thảo luận này.

Vấn đề với OpenID, vì dường như đối với tôi là gấp đôi ...

  1. Đăng nhập của bạn không còn là bí mật chỉ được chia sẻ giữa bạn và trang web bạn sử dụng. Đó là OpenID của bạn và được mọi trang web bạn sử dụng biết đến và là một thứ dễ đoán như địa chỉ email hoặc thứ gì đó có nguồn gốc từ địa chỉ email của bạn hoặc một cái gì đó tương tự.

  2. RP có thể triển khai OpenIP trên trang web của họ mà không cần thận trọng vì cho rằng vì họ đang sử dụng một 'giao thức' được chấp nhận rộng rãi rằng nó an toàn. Cấp, hầu hết các nhà phát triển trang web chạy bộ không có khái niệm thực sự về cách bảo mật trang web, nhưng, nếu họ thực hiện bảo mật của riêng họ, thì ít nhất vấn đề # 1 không xuất hiện.

Là người tiêu dùng, khi tôi tạo một tài khoản trên any-site.com, tôi không có khái niệm về trí thông minh của các nhà phát triển / quản lý trang web. Tôi sử dụng một ID mà tôi không nghĩ sẽ dễ đoán. Tôi không muốn serverfault.com biết ID tôi sử dụng để đăng nhập vào Etrade.com. Tôi cũng sử dụng một mật khẩu khác nhau trên mỗi trang web và quản lý các mật khẩu đó bằng sơ đồ của riêng tôi. Rất có khả năng tài khoản của tôi sẽ được tạo ra trừ khi các nhà điều hành trang web là những kẻ ngốc hoàn toàn.

Với OpenID, mọi người trong WEB đều biết cách thức hoạt động và cách tấn công của nó, nếu RP không có biện pháp thích hợp.

Tôi yêu phần mềm nguồn mở, nhưng trong trường hợp OpenID, tôi nghĩ rằng nó mở ra khả năng sẽ có những triển khai kém hơn cho những người chấp nhận không nghi ngờ.

Tôi nghĩ rằng điều này có thể được giải quyết bằng một số con dấu phê duyệt đã ký đảm bảo với người tiêu dùng rằng trang web đã thông qua kiểm toán và không thể bị tấn công.

Có lẽ tôi chỉ bị hoang tưởng.


Tôi biết cái này cũ nhưng, biết "id" openid là vô dụng ... ví dụ google sử dụng cùng một url cho người dùng đơn lẻ. Làm thế nào để biết rằng bạn giúp đăng nhập vào stackoverflow như tôi (ngoài việc biết rằng nếu bạn có thể hack tài khoản google của tôi, bạn có thể được xác thực là tôi, nhưng điều đó không khác với "quên tên người dùng / mật khẩu").
jmoreno
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.