본문 바로가기

IT

컬쳐랜드 비밀번호 규칙의 문제

스팀에서 컬쳐랜드로 구매를 시도하면, 알 수 없는 오류가 발생한다고 해서, 컬쳐랜드에 로그인했다.

애매한 문구를 확실한 문구로

그랬더니, 인증 후에 아래와 같은 화면이 떴다. 그런데, 아래의 화면에는 크게 2가지 문제가 있다.

부드러운 말투를 사용한다고, "권장합니다"를 사용한 것으로 보이지만, 실제로 뒤로가기를 눌러 로그인을 시도하면, 다시 인증 후 비밀번호를 변경해야한다. (다음에 변경하기가 없는 것에서 눈치챘어야 했지만)

 

필수로 해야하는 항목은 '권장합니다' '좋습니다' 대신, '~~이 필요합니다.', '~~을 해야합니다' 같이, 확실하게 행동을 요구하도록 쓰는 것이 좋다.

보안을 망치는 비밀번호 규칙

은근히 한국 사이트들은 비밀번호에 최소 길이 이외의 다른 제한을 건다.

이건 꽤 많은 사이트들이 갖고 있는 문제점 중 하나다.

최소 6자리인 것도 문제이고,

최대 12자리인 것도 문제이고,

특수문자의 종류가 9개인 것도 큰 문제이다.

 

제약을 풀어도 되는 이유

특수문자를 제한 할 필요는 하나도 없다. 애초에 해시화 해서 저장하기 때문에 SQL Injection를 걱정할 필요도 없다.

최대 자리를 제한 할 필요도 없다. 애초에 해시화 해서 저장하가 때문에 자릿수가 의미 없다.

최소 자리는 적어도 8자리, 보안에 민감한(금융 등) 사이트라면 좀 강하게 지정해서, 10자리 정도가 적정하다고 본다.

 

위 규칙에 따라 나올 수 있는 경우의 수는 ‭약 165해다. 특수문자 제한을 풀어서, 94자리를 입력 가능하도록 한다면,  4759해가지로 늘어난다.

 

물론 충분히 크다고 볼 수 있지만, 문제는 6~8자리의 비밀번호를 설정하는 경우 위의 특수문자 제한 규칙 때문에 가능성이 훨씬 줄어든다는 것이다. (645조 對 6095조)

 

그리고 6자리는 가정용 컴퓨터로 2시간 이내에 대입이 가능할 정도로 매우 작은 자릿수 이기 때문에 8자리 미만을 절대로 허용해줘서는 안된다고 생각한다.

 

제발, 비밀번호에 제약을 두지 말아주세요

대부분의 경우 최소 길이를 지정하는 것만으로도 충분하다. SQL Injection을 걱정하여, 특정 키워드나, 특정 특수문자를 제한할 필요는 하나도 없다고 생각한다. 애초에, 비밀번호에 대해 SQL Injection을 걱정하는 것 자체가 범죄다.

 

  • 김영우 2020.05.18 11:28

    저렇게 특수문자 포함에 제한이 있지만 정작 비밀번호 생성은 특수문자 없이도 가능합니다.
    또 일부 케이스에 경우에는 특수문자가 포함된 비밀번호를사용하여 타 게임사에서 결제 시도 시 계정이 잠기고 비밀번호 변경을 요구합니다.
    관련 사례나 글은 "컬쳐랜드 비밀번호 특수문자"로 검색하면 많이 있습니다.