문제

다음을 사용하여 Single Sign-On 로그인 페이지를 작업 중입니다. 표어 다양한 웹 애플리케이션에 사용됩니다.분명히 우리는 피싱 사기의 영향을 제한하면서 이 페이지를 최대한 안전하고 유용하게 만들고 싶습니다.

로그인 페이지를 디자인할 때 염두에 두어야 할 모범 사례는 무엇입니까?

이 문제와 관련하여 제기된 몇 가지 질문은 다음과 같습니다.

  • 로그인 페이지가 모든 디스플레이에서 항상 동일하게 보이는 것이 중요합니까?
  • 반대로, 로그인 페이지가 무작위로 디자인되는 것이 유리할까요?
  • 로그인 페이지가 다른 모든 페이지와 동일하게 보이는 것이 더 낫습니까, 아니면 고유한 디자인을 가져야 합니까?
  • 로그인 페이지에 고유한 디자인이 있는 경우 사이트 디자인의 다른 상수 요소(예: 전역 탐색)를 통합해야 합니까?
  • 로그인 페이지가 사용자에게 추가 콘텐츠(예: 최신 뉴스)를 제공하기에 적합한 장소입니까?
  • 사람들의 안전을 유지하기 위해 포함되어야 하는 추가 보안 기능이 있습니까?
도움이 되었습니까?

해결책

유용성 참고 사항 :

개인적으로 나는 싫어하다 사이트에서 "비밀번호 잊어 버린"또는 "사용자 이름 잊어 버린"또는 "도움말"을 암호 필드와 로그인 버튼 사이에 링크합니다. 키보드 사용자로서 제출 버튼을 얻기 위해 탭을 탭하지 않아도됩니다.

더 나은 방법은 또한 Enter 키로 자동 제출할 수 있도록 암호 필드의 Enter 키 프레스를 캡처하십시오.

다른 팁

로그인 페이지에 동일한 디자인을 유지하면 사용자가 페이지에 로그인하려는 사용자가 디자인 변경을 무작위로 변경하려는 경우 사용자가 사이트가 이동했다고 생각하거나 Pishing의 희생자가 될 수 있습니다. 그래서 나는 당신의 콘텐츠 페이지와 동일한 가이드 라인을 유지하도록 권장합니다.

당신이 무엇을 디자인하든 피셔는 그것을 모방 할 수있을 것입니다. 피싱을 완전히 방지하는 것은 어려운 문제입니다. 본질적으로 사용자를 식별 할 수있는 수단이 있어야합니다. ~ 전에 그들은 로그인합니다. 일부 은행은 지금 이것을합니다. 당신은 당신의 이름을 입력 한 다음 당신에게 당신이 선택한 이미지를 보여주고, 일단 당신이 동일한 이미지인지 확인하면 비밀번호를 입력합니다. 이것은 사이트가 요구하는 것보다 더 복잡한 수준 일 수 있습니다.

기술 측면에서 Bank of America는 Passmark라는 플래시 로컬 공유 객체를 사용하여이를 달성합니다. 브라우저는이 데이터를 은행으로 자동으로 보냅니다. LSO를 삭제하면 BOFA가 귀하를 식별 할 수 없기 때문에 이미지가 표시되지 않습니다. 조차도 여전히 중간 중간의 공격에 취약합니다.

지정된 자격 증명이 유효하지 않은 경우 내가가는 많은 응용 프로그램에서 여전히 볼 수있는 다른 "Duh"는 어느 것이 유효하지 않은지 표시하지 않습니다. "유효하지 않은 비밀번호"대신 "유효하지 않은 사용자/비밀번호 조합"과 같은 것을 말하면 사회 공학의 사람들이 귀하의 사이트에 액세스하는 사용자 기반을 알 수 없습니다.

Smashing Magazine은 로그인 양식에 대해 매우 완전한 라운드 업을 가지고 있습니다.웹 양식 디자인 패턴 : 가입 양식

응용 프로그램 수준 DOS 예방을 포함하십시오

로그인 고장으로 비특이적이어야합니다. "알 수없는 사용자 이름"대신 일반적인 "로그인 실패".

보안 문자 또는 기타 튜링 테스트를 사용하십시오.

쉬운 일이 아닌 것처럼 보이지만 앱에 필요한 경우 HTTPS를 사용하십시오. 사람들이 동일한 비밀번호를 재사용하는 경향이 있기 때문에 보증하지 않더라도 도대체. 요즘 SSL Cert를 저렴하게 얻을 수 있습니다. 사이트에서 비밀번호를 들어 올리면 다른 곳에서 시도해 볼 수 있습니다. 많은 은행들조차도 보안 라인에 로그인 페이지가 없습니다. 그것은 HTTPS 페이지에 게시하지만 중간 유형의 공격에 여전히 사람을 보호 할 수 없습니다.

나는 Omniwombat에 동의합니다. 피싱은 잘 해결하기 어려운 문제이며 완전히 해결하기가 불가능 해 보입니다.

사용자와 경비원처럼 생각하십시오.로그인할 때마다 보안 문자를 입력하게 하면 그들은 꽤 싫증을 낼 것입니다.

서비스 거부를 방지하려는 경우 특정 기간 동안 충분한(실패?) 로그인 시도가 발생한 후에만 보안 문자가 표시되도록 할 수 있습니다.

대부분의 사용자에 대해 가능한 한 자동으로 로그인하려면 NTLM, OpenID 또는 Shibboleth를 사용하는 것이 좋습니다.

사람들이 등록하기 위해 별도의 페이지로 이동하도록 하지 마세요.아마도 사용자 이름과 비밀번호 필드, 로그인/제출 버튼이 있을 것입니다."새 사용자로 등록" 버튼도 추가하면 새 사용자가 기존 사용자 이름/비밀번호 필드를 사용할 수 있습니다.신규 사용자에 대한 추가 세부 정보를 수집해야 하는 경우 양식을 팝업하여(팝업 창이 아닌 DHTML 사용) 수집합니다.

Come Experiences에 유용한 팁 : AutoComplete = "Off"를 암호 필드에 추가하여 클라이언트 측 암호 저장을 비활성화 할 수 있습니다.

모든 브라우저에서 작동하지는 않습니다 (예 : 6+ 및 Firefox 3+).

피싱을 막기 위해 지금까지 본 것 중 가장 좋은 것은 은행의 로그인 인터페이스입니다. 로그인은 3 개 부분으로 수행되며 먼저 사용자가 계정 번호 (직불 카드 번호, 신용 카드 번호 ...)를 입력하고, 두 번째 단계는 사용자가 지정한 3 가지 질문 중 무작위로 나열됩니다 (예 : 고등학교에 참석 했습니까? 10 학년)의 경우, 마지막 두 부분이 성공한 경우, 가입 중에 사용자가 지정한 이미지와 일부 텍스트를 아래의 비밀번호 필드와 함께 표시하는 것입니다.

사용자가 일반적으로 해당 페이지에서 10 초를 모두 지출 할 것이라는 점을 인식하십시오. 사용자 ID와 비밀번호를 어디에 두어야하는지 명백하다면 실제로 어떻게 보이는지는 중요하지 않습니다. 그 외에는 잊어 버린 경우 비밀번호를 이메일로 보내주는 사이트 중 하나가 아닙니다. 적어도 그것이 당신이 그것을 검색 할 수없는 곳에 멋진 소금에 절인 해시에 숨겨져 있다고 믿게하겠습니다.

@Joe Lencioni와 Shibboleth에 관심이있는 모든 사람들

사이트 페이지는 각 페이지에서 전체적으로 동일한 모양과 느낌을 가져야합니다.

Shibboleth와 SSO에 관해. 조직이 어떤 역할과 관련이 있는지 주목하는 것이 중요합니다. IDP (IDP) (사용자를 인증 한 다음 SP에 대한 응답을 보내기) 또는 서비스 제공 업체 인 SP (IDP가 보낸 응답 및 속성에 따라 인증을 부여 할 것입니다.

SP 인 경우 사용자를 IDP에 연결하여 로그인하기 위해 원하는 유연성이 있습니다. 많은 SP는 사용자를 IDP의 로그인 페이지로 리디렉션하는 자신의 Wayf (어디에 있습니까) 페이지를 만듭니다.

IDP 인 경우 사용자에게 친숙한 로그인 페이지가 있어야하여 로그인 한 다음 SP가 적절한 액세스 권한을 부여하는 데 필요한 속성으로 SP로 리디렉션해야합니다.

피싱 사기가 진행되는 한 Shibboleth 메타 데이터를 전류로 유지하는 것이 중요합니다. 나는 많은 연합이 (1)마다 메타 데이터를 다운로드하는 것이 좋습니다.

많은 Shibboleth 질문에 답할 수 있습니다. https://spaces.internet2.edu/display/shib2/home

이것이 당신을 도울 수 있기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top