2012-05-18 3 views
0

내 목표는 stackoverflow 사용과 같은 시스템의 보안 로그인입니다. 나는 초보자 다. 그러나 아마 당신이 보았던 것에 따라, 나는 하루 종일 보안에 관한 stackoverflow 기사를 보냈다. 이 연구의 결과로 나는 이제 공격 계획을 세웠다. 특히이 페이지는 큰 도움이되었습니다 Using OpenID for website Authentication. 다음 시스템이 안전한 시스템이 될 수 있는지, 그리고 어떻게 시스템을 개선해야하는지 알려주시겠습니까?안전한 OpenID 사용자 인증

  1. OpenID를 사용하여 사용자의 유효성을 검사하십시오.

  2. 일단 사용자가 OpenID에 의해 유효성을 검사 받으면 OpenID에서 사용자의 전자 메일 주소를 가져옵니다.

  3. 이메일 주소를 해시하고 세션 변수에 저장하십시오.

  4. 는 해시 된 이메일 주소를 기반으로 해당 사용자에게

  5. 반환 컨텐츠 적절한 데이터베이스의 해시 된 이메일 주소의 목록에 해시 된 이메일 주소를 비교.

특히 나는 ProviderOpenID 대신 전자 메일 주소를 사용하는 것이 불안합니다. (나는 다른 유래 페이지에서 이러한 질문에 대한 답을 발견로)

내가 있다고 가정하십시오 : 사용 후

  1. 제대로 파괴 세션을.

  2. 내 서버가 세션 데이터를 액세스 할 수없는 위치에 저장하도록 설정하십시오.

  3. 내 데이터베이스를 안전하게 설정하십시오.

  4. 트래픽을 가로채는 것을 방지하기 위해 SSL을 사용하고 있습니다.

미리 감사드립니다.

답변

1

일반적으로 OpenID를 지원하는 언어에 대해 인증 아키텍처를 사용하는 것이 좋습니다. 더 안전하고 간단하며 코드를 적게 쓰고 코드를 유지 관리하거나 테스트 할 필요가 없습니다. PHP, 파이썬, C#/asp.net, 레일에 대한 것들이 있습니다. 많은 프레임 워크도 지원합니다.

먼저 제공된 ID를 사용하지 않으시겠습니까?

나는 당신이 두 가지 문제가 있다고 생각 :

오픈 ID 공급자가 공급자의 다른 도메인의 이메일 주소를 반환 할 수
  1. 그것의 수.

    예를 들어 Gmail에서 나를 올바르게 인증 할 수는 있지만 이메일 주소가 [email protected]이라고 지정할 수 있습니다. 그렇다면 빌 게이츠가 아니라는 사실에도 불구하고 제 신분을 읽게 될 것입니다. 물론 이것을 막을 수있는 방법이 있지만 표준 시스템에는 보호 장치가 포함되어있을 수 있으며 그렇지 않은 경우에도 다른 시스템이이를 수정해야하며 다른 사람들이 이러한 문제를 조사하게됩니다.내가 제대로 위키 피 디아 article를 읽고 있어요 경우

  2. , 오픈 아이디 아이디의 반드시이 보안 문제가되지 않습니다 주소

    이메일을 보내하지 않습니다,하지만 예상되는 동작을 깰 않습니다.

+0

감사합니다. @imichaelmiers에게 감사드립니다. 그것이 내가 할 일이다. PHP에 대한 인증 아키텍처를 권장 할 수 있습니까? – Brett