암호가 허용되는 길이를 제한하거나 특정 문자를 허용하지 않는 사이트가 많이 있습니다. 비밀번호의 검색 공간을 넓히고 길게하고 싶기 때문에 제한적입니다. 또한 해싱이 아닐 수도 있다는 불편한 느낌을줍니다.
이 있습니까 좋은 하나가 상위 길이를 설정하거나 암호 문자를 제외한 이유는?
암호가 허용되는 길이를 제한하거나 특정 문자를 허용하지 않는 사이트가 많이 있습니다. 비밀번호의 검색 공간을 넓히고 길게하고 싶기 때문에 제한적입니다. 또한 해싱이 아닐 수도 있다는 불편한 느낌을줍니다.
이 있습니까 좋은 하나가 상위 길이를 설정하거나 암호 문자를 제외한 이유는?
답변:
좋은 이유 가 없습니다 .
편집 : 나는 부정적인 이유를 증명할 수 없기 때문에 좋은 이유가 없다는 것을 증명할 수 없습니다. 나는 이것에 대한 정당한 이유를 생각할 수 없다-다른 사람들이 지적했듯이 해시는 입력의 크기에 관계없이 같은 크기가 될 것입니다 (질문 컨텍스트에서 유효한 문자를 제거하면 상태 공간이 줄어 듭니다). 그 대답은 분명해 보인다 . 정당한 이유 가 없다 . 좋은 것처럼 들리거나 좋은 것처럼 보이는 많은 이유가있을 수 있지만 그렇지 않습니다. 만약 그렇다면, 누군가 이미 여기에 게시했거나 여기에 없으면 security.stackexchange.com에 확실히 게시했을 것입니다.이 답변은 그렇게 많이지지되지 않았을 것입니다.
길이를 제한하는 것은 해싱의 실행 시간을 제한하고 대역폭을 제한하는 척도 일 수 있습니다 (둘 다 실제로는 한계가 있습니다). 그 외에는 특히 보안 관점에서 타당한 이유가 없습니다.
“사람들은 더 긴 암호를 더 쉽게 잊어 버릴 것입니다.”라고 말할 수 있습니다. 그러나 이것은 정말 어리석은 말이며 전혀 이해가되지 않습니다.
문자의 경우 향후 데이터 전송 및 / 또는 마이그레이션과 관련된 잠재적 인 인코딩 문제를 알고있는 한 (예 : 2 년 후에 ASCII에서 UTF-8로 전환) 더 많은 문자를 사용하면 암호 강도에만 도움이 될 수 있습니다.
예 , 특수 문자에 대한 이유가 있습니다.
특수 문자를 허용하지 않는 것은 보안 관련이 아니라 유용성입니다. 우선 인코딩 문제로 인해 엉망이 될 수 있습니다. 둘째, 항상 동일한 인코딩을 사용한다고 보장하더라도 여전히 입력 장치에 문제가 있습니다. 동일한 키보드 레이아웃으로 전체 키보드 (대부분의 모바일 장치가 필요하지 않음)를 갖추어야합니다. 나중에 언어뿐만 아니라 OS마다 다르므로 Windows, Linux 및 OSX의 레이아웃은 약간 다를 수 있습니다. 따라서 다음과 같은 비밀번호를 허용하지 않는 좋은 이유가 √Ω≈ç∫∞§…¬å∑±
있습니다.
Chase 고객이 암호가 대소 문자를 구분하지 않는다는 것을 발견 한 몇 년 전 보안 세계에서 약간의 논쟁이있었습니다. 그들의 웹 페이지는 30 년 전의 OS / 400 백엔드 시스템에 대한 프론트 엔드 인 것으로 밝혀졌으며, 이는 기술적 인 한계를 가지고 있었기 때문입니다. 이 문제를 해결하려면 분명히 수백만 달러가들 것입니다.
요점은 특정 길이의 암호를 허용하지 않는 레거시 이유가 비쌀 수 있다는 것입니다.
(나는이 변명을 용납하지 않습니다 ...)
최대 암호 제한을 적용하는 대부분의 은행, IT 부서 등은 기술적 이유로 그렇게하지 않습니다. 암호 해싱의 작동 방식과 복잡한 암호 저장 방법을 완벽하게 알고 있습니다. 암호를 잊어 버린 사람들에 대한 지원 요청 횟수가 줄어들 기 때문에 이러한 제한 사항이 적용됩니다. 이것이 그런 종류의 제한을 부과하는 좋은 이유입니까? 결코 아니다. 그럼에도 불구하고 이것이 주된 이유입니다.
valid Business reason
(개인적으로 상관 관계가 있다고 생각하지 않습니다)
모든 입력 장치 (하드웨어 방식)에 종종 전체 키보드 또는 그와 유사한 문자가 모두있는 것은 아닙니다. 비밀번호 관리자를 사용하지 않는 경우 비밀번호를 입력하는 데 어려움을 겪을 수 있습니다. 그리고 유니 코드는 여전히 표준과는 거리가 멀다.
더 긴 길이를 설정하거나 비밀번호에서 문자를 제외해야 할 이유가 있습니까?
나는 추측을 할 것이며 이러한 제한 중 일부는 웹 사이트 ( & < > #
)의 문자 필터링으로 인해 해커를 막을 것이라고 말합니다 . 다른 사람들은 뾰족한 머리 보스의위원회에서 나오는 핵심 아이디어입니다.
나는 정말 바보 같은 (내 의견으로는) "보안"결정에 직면했다. 예를 들어, 한 대규모 투자 회사가 저의 IRA 계좌와 연금을 처리합니다. 그러기 위해서는 모든 전화에 비밀번호를 입력하라고 요구 연금과의 접촉을 (그렇지 않으면 그들에 도달 할 수 없습니다). 중개 / IRA 계정은 문자 (대문자 및 소문자)와 구두점을 사용합니다. 전화 번호 패드에는 이러한 문자가 나타나지 않습니다. 전화를 통해 비밀번호로 로그인 할 수없는 경우, 중개 계정의 비밀번호를 전화를 통해 입력 할 수있는 비밀번호로 재설정 할 수 있습니다.
내 급여 시스템 (내가 일하는 컨설팅 회사의 경우)에는 숫자가 필요하며 숫자 만 필요합니다. 이렇게하면 사용자가 전화를 걸거나 (이 작업을 수행 한 적이 없음) 웹 인터페이스를 사용하더라도 (동일한 사용) 동일한 데이터베이스를 사용할 수 있습니다 .
즉, 사무실에서 비밀번호를 변경할 때입니다. 그들은 시스템에 허용되는 암호를 찾는 데 약 반나절이 걸릴 것으로 예상되는 미친 제한이 있습니다 : 적어도 2 개의 대문자, 적어도 2 개의 소문자, 적어도 2 자리 (+/- 1이 될 수 없음) 이전 비밀번호의 경우), 적어도 2 개의 영숫자가 아닌 숫자는 마지막 24 개의 비밀번호와 일치 할 수 없으며 영어 (영문 3 자 이상의 단어) 인 문자열 (앞뒤로)을 포함 할 수 없습니다 ( 또한 내가 알 수없는 몇 가지 다른 언어). 내가 생각하는 최소 길이는 10-11 문자 같다.
문자를 제한하는 한 가지 이유는 암호가 입력되는 방식 때문입니다.
예를 들어, 인터넷 뱅킹 웹 사이트가있는 여러 은행은 비밀번호로 특정 문자를 요청하고 드롭 다운 상자를 통해 적절한 문자를 선택합니다.
키로거가 키 누르기를 감지하지 못하여 암호의 [문자]를 알 수 없도록이를 수행합니다. 나는 그러한 조치들이 우회 될 수있는 다른 많은 방법들이 있다는 것을 알고 있지만, 예를 들어 스크린 캡처; 여전히 키로거에 효과적입니다.
모든 문자를 허용해야하는 경우 드롭 다운 상자의 길이가 번거롭고 비슷한 문자 사이의 혼동을 허용합니다.
tab과 같은 특수 문자를 허용하지 않는 것이 유효합니다. 텍스트 모드에서 탭 문자로 비밀번호를 로그온하거나 변경할 수 있지만 GUI 또는 웹 환경에서는 비밀번호를 사용할 수 없습니다. 백 슬래시 문자는 또한 크로스 플랫폼 문제를 나타냅니다.
btw 긴 암호는 암호가 아니라 암호입니다. 일반 사용자는 2Z8d! % g # x를 기억할 수 없지만 '내 애완 동물의 이름은 개를 불렀다'는 것을 기억할 수 있습니다. 긴 텍스트는 무차별 대입으로 깨지기 어렵고 화면에 첨부 된 메모에 기록 될 가능성이 훨씬 낮습니다.
사람들이 타이핑 할 때 "오타"라고하는 실수를합니다. 일반적으로 사람들은 실수를보고 수정합니다. 비밀번호 입력의 경우 일반적으로 입력 한 내용을 볼 수 없으므로 오타를 수정할 수 없습니다. 비밀번호를 모르고 실수를 한 경우 비밀번호를 제출하면 '비밀번호가 유효하지 않습니다'로 다시 표시됩니다. 그런 다음 다시 시도하십시오. 그런 다음 다시 시도하십시오.
당신은 그것을 "약간의 작은 오타 3 개라고 생각하면 무차별 대입 공격과 구별 할 수 없다"고 생각할 수 있습니다. 시스템은 무차별 대입 공격을 어떻게 방어합니까? 명백한 " 너무 많은 시도, 저리가, 당신은 그것을 올바르게 얻는 경우에도 로그인 할 수 없습니다 "응답? 지연 시간이 너무 길면 비밀번호 입력 지연이 기하 급수적으로 증가하여 브라우저 시간이 초과되어 다시 로그인 할 수 없습니까? 접근 방식은 다양하지만 잘 설계된 시스템에는 항상 결과가 있습니다.
"3 개의 작은 오타가 있다고 생각하면 일종의 서비스 거부가 발생합니다."
암호 길이가 길어질수록 오타의 위험이 있으므로 권한있는 사람의 액세스를 거부 할 위험이 높아집니다. 약 20 자 이상의 문자는 자주 잘못 입력됩니다 (사용자가 현명하고 게으르고 암호를 어딘가에 저장하지 않으면 " 비밀번호 "라는 데스크탑의 멋진 일반 텍스트 파일처럼 오타를 걱정하지 않고 "복사하여 붙여 넣기"할 수 있습니다 .txt ").