OpenID가 해킹하기 쉽습니까, 아니면 뭔가 빠졌습니까?


18

사용자가 OP (OpenID Provider)를 지정할 수있는 RP (Relying Parties)의 경우 OpenID를 알고 있거나 추측하는 사람보다

  1. 자신의 OP 주소를 입력하십시오.
  2. OpenID를 소유 한 것으로 확인하십시오.
  3. RP에서 귀하의 계정에 액세스하십시오.

RP는 원래 OP에 의해서만 OpenID를 검증 할 수있게함으로써이를 방지하기위한 조치를 취할 수 있지만 ...

  1. 그들이하는 일을 어떻게 알 수 있습니까?
  2. OpenID도 변경하지 않으면 OP를 변경할 수 없습니다.

답변:


7

OpenID는 엔드 포인트를 신뢰해야하는 시스템 중 하나입니다. RP를 신뢰할 수 없다면 이런 종류의 협회 중독 은 전적으로 가능합니다. RP가 실제로 신뢰할 만하다면 이런 종류의 공격은 훨씬 어렵습니다. 이 공격에 취약하지 않은 '해결 방법'은 로컬 보안 원칙 (ServerFault에서는 백엔드 데이터베이스에서 사용자 이름으로 표시됨)을 외부 OpenID 엔드 포인트 (OpenID URL, ServerFault를 사용하여 여러 항목을 연결할 수 있음)를 키우는 것입니다. 이들의).

RP 부분에 대한 DNS 중독 공격을 통해 여전히 공격 할 수 있습니다. 예를 들어 * .livejournal.com은 공격을 위해 특별히 제작 된 OP로 리디렉션됩니다. 그러나 이것은 OpenID 자체의 결함이 아니라 DNS 중독 공격입니다. OpenID는 DNS 위치에 취약합니다.


이 경우 신뢰할 수있는 RP는 OpenID 자체가 안전하다고 가정하기 때문에 신뢰할 수없는 RP가 될 수 있습니다.
David

이것을 읽은 후 나는 openid.net에서 자신을 발견했으며, 내가 본 첫 번째 것은 Jenga를 연주하는 세 손의 재고 사진을 배경으로 한 "인터넷 정체성의 기초"라는 제목이었습니다. 찾고 타워.
Andreas

2

OpenID와 User Security의 다른 부분을 혼란스럽게 생각합니다. OP는 계정이 아닌 인증 메커니즘입니다. 여기에 ServerFault에 계정이 있습니다. 이 계정에는 자체 인증 수단이 없습니다. 하나 이상의 OP를 가리 킵니다.

SF로 귀하의 계정에 로그인하려고 시도하면 OP가 인증을 처리하도록 요청합니다. 하나의 OP (또는 여러 OP, 그러나 설정 한 경우) 만 SF 계정의 목적으로 귀하를 인증 할 수 있습니다.

일반적인 로그인 시스템에는 3 가지 부분이 있습니다 (트리플 "A"또는 "AAA"라고 함).

  • 회계-게시물, 메시지 등 사이트에 고유 한 이름과 정보를 추적합니다.
  • 인증-실제로 본인임을 확인하는 방법 (일반적으로 비밀번호)을 추적합니다.
  • 인증-귀하의 권한을 추적합니다 (다양한 것에 대한 읽기 또는 쓰기 액세스)

Wikipedia에서 AAA 시스템 에 대한 자세한 내용을 읽을 수 있습니다 .


로그인 할 때마다 OP를 지정할 수 있으면 악의적 인 사용자가 내 계정을 해킹하려고 할 때 OP를 지정할 수도 있습니다. 따라서 그들은 자신의 OP를 지정하고 액세스 권한을 얻습니다.
David

아니요, 일단 로그인하면 계정에 OpenID 포인트를 추가 할 수 있습니다. 이 방법도 마찬가지입니다.
ceejayoz

2
@ 데이비드, 당신은 지정하지 로그인 계정과 OpenID는 사용자 지정 오픈 ID를 . 해당 OpenID는 이미 계정에 연결되어 있어야합니다. 그렇지 않으면 새 계정을 만들 수 있습니다 (적어도 SF에서는 여기).
Chris S

1

데이비드, 당신의 가정은 거짓입니다. OpenID는 다음과 같이 작동합니다. 1) 사이트 relyingparty.com에 로그인하려는 경우 2) relyingparty.com에 OpenID (예 : david.com)를 제공합니다. 3) relyingparty.com에서 david.com (이봐, URL)을 확인합니다. david.com에서 찾을 수 있지만 yahoo.com 또는 google.com과 같은 다른 곳에서도 위임을 통해 OpenID 엔드 포인트라고합니다. davidsopenidprovider.com이라고하겠습니다. 4) 이제 davidsopenidprovider.com으로 리디렉션되었습니다. davidsopenidprovider.com의 일은 귀하를 인증하는 것입니다. davidsopenidprovider.com에 로그인해야합니다. 이 로그인의 작동 방식은 davidsopenidprovider.com에 달려 있습니다. 사용자 이름 / 암호 일 수 있습니다. 정보 카드, 브라우저 인증서, 지문, 스마트 카드, 전화 확인과 같은 대역 외 메커니즘 일 수 있습니다. 그것은 davidsopenid 공급자에게 달려 있습니다. com 인증 처리 방법 그런 다음 relyingparty.com에 실제로 로그인 할 것인지 묻습니다. 5) davidsopenidprovider.com에 성공적으로 로그인하면 relyingparty.com으로 다시 리디렉션되고 자동으로 로그인됩니다. 6) davidsopenidprovider.com은 relyingparty.com이 귀하가 귀하가 주장하는 사람임을 보증합니다. 비밀번호를 보내지 않습니다.

따라서 귀하의 가정은 "소비자로서 any-site.com에서 계정을 만들 때 개발자 / 사이트 관리자의 지능에 대한 개념이 없습니다." OpenID와 관련하여 거짓입니다. 약점이 있다면 공급자이지만 any-site.com은 아닙니다. 지금은 기존의 사용자 이름 / 암호 로그인 문제입니다. OpenID 제공 업체는 물론 로그인 방식을 제공하는 각 사이트를 신뢰해야합니다.

이것이 OpenID를 이해하는 데 도움이되기를 바랍니다.


0

그들이하는 일을 어떻게 알 수 있습니까?

이전 사이트가 비밀번호를 다른 사람에게 전달한다는 것을 알고있는 것과 같은 방법입니다. 그래서 평판이 좋은 회사를 사용하는 것입니다.

OpenID도 변경하지 않으면 OP를 변경할 수 없습니다.

물론 넌 할 수있어. OpenID 위임을 살펴보십시오.

내 OpenID는 http://ceejayoz.com/ 이지만 OP는 WordPress.com입니다. http://ceejayoz.com/META 헤드에있는 두 개의 태그를 사용하면 이 작업을 수행 할 수 있으며 언제든지 원할 때 변경할 수 있습니다.


0

openID는 제공자입니다. pwnguin.net내 openID입니다. 이것은 추측의 대상이 아니며 단순히 알려진 사실입니다. 내 openID를 보호하는 것은 pwnguin.net에서 실행되는 소프트웨어이며, 문제의 방문자가 인증 쿠키를 가지고있는 경우에만 긍정적으로 응답합니다.

나는 openID가 안전하다고 말하지 않을 것이다. 계속 될 수있는 모든 종류의 크로스 사이트 스크립팅이 있거나 무시하거나 잘못하는 경향이있는 일반적인 세부 사항이 있습니다.


0

이것이 내가 답장에서 얻은 것입니다 ...

OpenID는 관련 당사자만큼 안전하며 모든 인증 방법에 해당됩니다. 나는이 토론을 시작하기 전에 깨달았다.

나에게 보이는 OpenID의 문제는 두 가지입니다 ...

  1. 귀하의 LoginID는 더 이상 귀하와 귀하가 사용하는 사이트간에 만 공유되는 비밀이 아닙니다. OpenID이며 사용하는 모든 사이트에서 알려져 있으며 전자 메일 주소 나 전자 메일 주소 또는 이와 유사한 것에서 쉽게 추측 할 수 있습니다.

  2. RP는 널리 인정되는 '프로토콜'을 사용하고 있기 때문에 자신의 사이트에서 OpenIP를 구현할 수 있다고 가정합니다. 물론 대부분의 웹 사이트 개발자는 사이트를 보호하는 방법에 대한 진정한 개념은 없지만 자체 보안을 구현하는 경우 적어도 1 호 문제는 발생하지 않습니다.

소비자로서 any-site.com에서 계정을 만들 때 개발자 / 사이트 관리자의 지능에 대한 개념이 없습니다. 쉽게 추측 할 수없는 ID를 사용합니다. serverfault.com이 Etrade.com에 로그인 할 때 사용하는 ID를 알고 싶지 않습니다. 또한 모든 사이트에서 다른 비밀번호를 사용하고 내 비밀번호를 사용하여 비밀번호를 관리합니다. 사이트 운영자가 총 바보가 아닌 한 내 계정이 구성되지 않을 가능성이 큽니다.

OpenID를 사용하면 웹의 모든 사람이 RP가 적절한 조치를 취하지 않은 경우 웹의 작동 방식과 공격 방법을 알고 있습니다.

저는 오픈 소스 소프트웨어를 좋아하지만 OpenID의 경우 의심의 여지가없는 채택자가 열등한 구현을 할 가능성이 있다고 생각합니다.

이 문제는 소비자가 사이트가 감사를 통과했으며 해킹 당할 수 없음을 보장하는 서명 된 승인 도장으로 해결할 수 있다고 생각합니다.

어쩌면 난 그냥 편집증일지도 몰라


나는이 오래된 것을 알고 있지만 openid "id"는 쓸모가 없다는 것을 알고 있습니다 ... 예를 들어 Google은 exery 단일 사용자에 대해 동일한 URL을 사용합니다. 이 정보를 알고 있으면 내 계정으로 로그인 할 수 있습니다 (Google 계정을 해킹 할 수있는 경우 본인으로 인증 할 수 있지만 "사용자 이름 / 비밀번호를 잊어 버렸습니다"와 다르지 않음).
jmoreno
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.