KR101596628B1 - 비밀번호 보정 장치 및 방법 - Google Patents

비밀번호 보정 장치 및 방법 Download PDF

Info

Publication number
KR101596628B1
KR101596628B1 KR1020150024292A KR20150024292A KR101596628B1 KR 101596628 B1 KR101596628 B1 KR 101596628B1 KR 1020150024292 A KR1020150024292 A KR 1020150024292A KR 20150024292 A KR20150024292 A KR 20150024292A KR 101596628 B1 KR101596628 B1 KR 101596628B1
Authority
KR
South Korea
Prior art keywords
password
random number
corrected
length
user
Prior art date
Application number
KR1020150024292A
Other languages
English (en)
Inventor
문형진
Original Assignee
충북대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 충북대학교 산학협력단 filed Critical 충북대학교 산학협력단
Priority to KR1020150024292A priority Critical patent/KR101596628B1/ko
Application granted granted Critical
Publication of KR101596628B1 publication Critical patent/KR101596628B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 비밀번호 보정 장치 및 방법에 대하여 개시한다. 본 발명의 일면에 따른 비밀번호 보정 장치는, 회원 가입중 또는 회원 가입된 사용자의 사용자 단말로부터 입력된 비밀번호가 수신되면, 상기 비밀번호의 길이가 기설정된 임계길이 미만인지를 확인하는 비교부; 상기 비밀번호의 길이가 상기 임계길이 미만이면, 기설정된 적어도 하나의 난수를 이용하여 그 길이가 상기 임계길이 이상으로 보정된 비밀번호를 생성하는 생성부; 및 회원정보 테이블 내 암호화된 상기 보정된 비밀번호를 저장하는 제1 데이터베이스를 포함하며, 상기 난수는, 상기 제1 데이터베이스와 별개의 제2 데이터베이스 내에 저장되며, 상기 입력된 비밀번호에 포함되지 않은 대문자, 소문자, 숫자 및 특수문자 중 적어도 하나를 포함하는 것을 특징으로 한다.

Description

비밀번호 보정 장치 및 방법{Apparatus and Method for Amending Password Length}
본 발명은 회원정보 보안 기술에 관한 것으로서, 더 구체적으로는 비밀번호의 보안성을 향상시킬 수 있는 비밀번호 보정 장치 및 방법에 관한 것이다.
일반적으로, 웹 사이트 사용자는 회원가입시에 결정된 아이디 및 비밀번호를 이용해 웹 사이트에 로그인하여 웹 사이트에서 제공하는 서비스를 이용한다.
웹 사이트 시스템은 비밀번호의 보안성을 확보하기 위하여 회원의 비밀번호의 해쉬값을 저장한다.
그런데, 비밀번호의 길이가 짧은 경우, 비밀번호의 해쉬값으로부터 비밀번호를 유추하는 것이 쉽다.
본 발명은 전술한 바와 같은 기술적 배경에서 안출된 것으로서, 비밀번호의 길이를 연장시킬 수 있는 비밀번호 보정 장치 및 방법을 제공하는 것을 그 목적으로 한다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일면에 따른 비밀번호 보정 장치는, 웹 서비스 서버에 회원 가입중 또는 회원 가입된 사용자의 사용자 단말로부터 입력된 비밀번호가 수신되면, 상기 비밀번호의 길이가 기설정된 최저길이 이상이면서 임계길이 미만인지를 확인하는 비교부; 상기 비밀번호의 길이가 상기 임계길이 미만이면, 기설정된 적어도 하나의 난수를 이용하여 그 길이가 상기 임계길이 이상으로 보정된 비밀번호를 생성하는 생성부; 및 회원정보 테이블 내 암호화된 상기 보정된 비밀번호를 저장하는 제1 데이터베이스를 포함하며, 상기 난수는, 상기 제1 데이터베이스와 별개의 제2 데이터베이스 내에 저장되며, 상기 입력된 비밀번호에 포함되지 않은 대문자, 소문자, 숫자 및 특수문자 중 적어도 하나를 포함하는 것을 특징으로 한다.
본 발명의 다른 면에 따른 비밀번호 보정 장치에 의한 비밀번호 보정 방법은, 웹 서비스 서버에 회원 가입되거나 회원 가입중인 사용자 단말로부터 입력된 비밀번호를 전달받으면, 상기 비밀번호의 길이가 기설정된 최저길이 이상이면서 임계길이 미만인지를 확인하는 단계; 상기 비밀번호의 길이가 상기 최저길이 이상이면서 임계길이 미만이면, 적어도 하나의 난수를 이용하여 그 길이가 상기 임계길이 이상으로 보정된 비밀번호를 생성하는 단계; 및 제1 데이터베이스의 회원정보 테이블 내 암호화된 상기 보정된 비밀번호를 저장시키는 단계를 포함하며, 상기 난수는, 상기 제1 데이터베이스와 별개의 제2 데이터베이스 내에 저장되며, 상기 입력된 비밀번호에 포함되지 않은 대문자, 소문자, 숫자 및 특수문자 중 적어도 하나를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 비밀번호의 보안성을 향상시킬 수 있다.
도 1은 본 발명의 실시예에 따른 비밀번호 보정 장치를 도시한 구성도.
도 2는 본 발명의 다른 실시예에 따른 웹 서비스 서버을 도시한 구성도.
도 3은 본 발명의 실시예에 따른 비밀번호 길이 보정 방법을 도시한 흐름도.
본 발명의 전술한 목적 및 그 이외의 목적과 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명의 구체적 실시예를 설명하기에 앞서, 본 발명의 이론적 배경에 대하여 설명한다. 하기의 표 1과 같이, 문자, 숫자, 대/소문자, 특수문자의 혼용 여부에 따라 비밀번호의 길이별(각 행)로 비밀번호의 유추에 걸리는 시간은 다음과 같다.
Figure 112015016900084-pat00001
Martijn Sprengers, et al. up GPU-based password cracking(SHARCS 2012)
상기 표 1에서, 26 characters는 대문자 또는 소문자만을 사용하는 경우의 사용 가능한 문자의 수이고, 36 characters는 대문자 또는 소문자와 숫자를 혼용할 경우의 사용 가능한 문자의 수이고, 62 characters는 대문자, 소문자 및 숫자를 혼용할 경우의 사용 가능한 문자의 수이고, 94 characters는 대문자, 소문자, 숫자 및 특수문자를 혼용할 경우의 사용 가능한 문자의 수이다.
상기 표 1과 같이, 비밀번호의 길이가 길어지고, 다양한 문자를 사용할 경우 비밀번호의 유추는 더욱 어려울 수 있다.
통상, 사용자는 복수의 사이트에 동일한 아이디와 유사한 패스워드를 사용하므로, 일 사이트로부터 hong이라는 계정의 비밀번호를 습득하면, 해당 계정과 비밀번호를 이용하여 다른 사이트에도 접속하여 개인정보를 해킹하기가 쉽다.  그러나, 본 발명에서는 비밀번호의 복잡성을 높여 본 발명의 실시예가 적용된 사이트로부터 비밀번호가 유출되더라도 유출된 비밀번호에 의해 개인정보를 해킹하기는 어려울 수 있다.
이제 본 발명의 실시예에 대하여 첨부한 도면을 참조하여 상세히 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 비밀번호 보정 장치를 도시한 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 비밀번호 보정 장치(10)는 비교부(210), 생성부(220), 로그인 처리부(230), 제1 데이터베이스(250) 및 제2 데이터베이스(240)를 포함한다. 본 발명의 실시예에 따른 비밀번호 보정 장치(10)는 웹 서비스를 제공하는 웹 서비스 서버일 수 있고, 웹 서비스 서버와 별개의 장치일 수도 있지만, 이하에서는 전자인 경우를 예로 들어 설명한다.
비교부(210)는 사용자에 의해 입력된 비밀번호가 사용자 단말로부터 전달되면, 입력된 비밀번호의 길이가 기설정된 최저길이 이상이면서 임계길이 미만인지를 확인한다. 여기서, 사용자는 휴대 단말, PC 등의 단말을 통해 웹 사이트에 접속하여 회원 가입중 또는 회원 가입 후 비밀번호를 새로 설정하거나, 변경 설정하는 경우일 수 있다. 그리고, 임계길이는 시스템(웹 서비스 서버)이 허용하는 문자범위(표 1 참조)에 따라 다르게 설정되어, 비밀번호의 해쉬값으로부터 실제 비밀번호를 유추하는데 적어도 1년 이상이 소요되는 길이로 설정되는 것이 좋다. 만약, 시스템이 62문자(표 1참조)를 허용하면, 임계길이는 8이상의 수로 설정되는 것이 좋다.
이때, 비교부(210)는 입력된 비밀번호의 길이가 기설정된 최저길이 미만이면, 최저길이 이상의 비밀번호를 재입력할 것을 사용자에게 안내할 수 있다. 여기서, 최저길이는 시스템에서 요구하는 길이(예컨대, 4)로서, 입력되는 비밀번호의 최단길이일 수 있다.
비교부(210)는 입력된 비밀번호에 대문자, 소문자, 숫자 및 특수문자의 혼용 여부를 확인하고, 대문자, 소문자, 숫자 및 특수문자의 혼용 정도에 따라 임계길이를 달리 설정할 수도 있다. 예를 들어, 비교부(210)는 입력된 비밀번호에 대문자 또는 소문자만 있을 경우, 임계길이를 11으로 설정하고, 대소문자가 혼용되어 있을 경우, 임계길이를 10로 설정하고, 대소문자와 숫자가 혼용된 경우, 임계길이를 9로 설정하고, 대소문자, 숫자와 특수문자가 혼용된 경우, 임계길이를 8로 설정할 수도 있다. 이 같이, 임계길이는 비밀번호의 해쉬값으로부터 비밀번호를 유추하는데 적어도 일정기간 이상이 소요되도록 설정될 수 있다.
생성부(220)는 입력된 비밀번호의 길이가 최저길이 이상이면서 임계길이 미만이면, 기설정된 적어도 하나의 난수를 이용하여 입력된 비밀번호를 보정함에 따라 임계길이 이상인 보정된 비밀번호를 생성한다.
예를 들어, 생성부(220)는 비밀번호의 전, 후 및 사이 부분 중 적어도 한 부분에 적어도 하나의 난수를 분산 배치하거나 일괄 배치하여 보정된 비밀번호를 생성할 수 있다. 더 구체적으로, 입력된 비밀번호가 "abcd"일 경우, 비밀번호의 보정에 사용될 난수가 "r@nd"일 경우, 입력된 비밀번호의 뒤에 난수를 붙인 "abcdr@nd"라는 보정된 비밀번호를 생성할 수 있다. 또는, 입력된 비밀번호의 사이에 난수를 분산 배치하여 "arb@cndd"라는 보정된 비밀번호를 생성할 수 있다. 또는, 생성부(220)는 웹 서비스 서버에 정의된 함수(f)에 의해 보정된 비밀번호(f(abcd,r@nd))를 생성할 수 있다.
생성부(220)는 보정된 비밀번호의 해쉬값을 제1 데이터베이스(250) 내 회원정보 테이블에 저장시킨다. 이때, 생성부(220)는 보정된 비밀번호의 해쉬값을 계산하여 회원정보 테이블에 저장시킬 수 있다. 그리고, 회원정보 테이블은 가입된 모든 사용자에 대한 아이디, 보정된 비밀번호 및 회원의 개인정보를 포함하는 테이블일 수 있다. 또한, 회원정보 테이블에는 보정에 사용되는 난수의 사용기간(또는, 유효기간) 등의 난수 정보가 더 포함될 수 있다.
전술한, 적어도 하나의 난수는 복수의 사용자에 대해 공통으로 사용되는 난수일 수 있고, 임계길이 미만의 비밀번호를 설정한 사용자별로 달리 설정되는 난수일 수 있다.
전자의 경우의 예로서, 생성부(220)는 입력된 비밀번호에 입력된 비밀번호에 대문자, 소문자, 숫자 및 특수문자의 혼용 여부를 확인하고, 대문자, 소문자, 숫자 및 특수문자 중 입력된 비밀번호에 포함되지 않은 적어도 한 종류 문자를 포함하는 난수를 이용하여 보정된 비밀번호를 생성할 수 있다. 생성부(220)는 특정 사용자 그룹별로 사용될 난수를 구분하여 사용할 수도 있다.
후자의 경우의 일 예로서, 생성부(220)는 사용자 단말의 단말 고유 정보(맥 주소(MAC Address), 휴대 번호 또는 앱의 식별정보 등을 포함함)나, 사용자 아이디를 이용하여 사용자별 난수를 생성할 수도 있다. 또는, 생성부(220)는 단말 고유 정보 자체 또는 단말 고유 정보의 적어도 일부로부터 생성된 정보를 난수로 이용할 수도 있다. 예를 들어, 생성부(220)는 단말 고유 정보의 일부를 추출하고 이를 다른 기설정된 값과 조합한 결과를 난수로 이용할 수 있다.
또한, 후자의 경우, 사용자별 난수는 하나의 테이블에 저장될 수 있고, 하나의 테이블에는 각 회원의 아이디의 암호화값 등과 같이 사용자 아이디에 대응되는 내용을 포함하더라도, 보정된 비밀번호를 연상시키는 어떤 정보도 포함되지 않는 형태로 구성될 수 있다. 이러한 경우, 생성부(220)는 난수생성기를 포함하고, 비밀번호가 새로 또는 변경 설정되면, 난수생성기에 의해 대문자, 소문자, 숫자 및 특수문자를 조합하여 난수를 생성하여 설정된 비밀번호를 보정할 수 있다.
입력된 비밀번호가 기설정된 임계길이 이상이면, 생성부(220), 비교부(210) 또는 다른 수단(미도시)은 별도의 비밀번호 보정 없이 입력된 비밀번호의 해쉬값을 회원정보 테이블에 저장시킬 수 있다.
제1 데이터베이스(250)는 보정된 비밀번호의 해쉬값 및 아이디를 포함하는 회원정보 테이블을 포함한다.
제2 데이터베이스(240)는 적어도 하나의 난수를 저장하며, 제1 데이터베이스(250)와 별개의 데이터베이스일 수 있다. 제2 데이터베이스(240)는 본 발명의 실시예에 따른 비밀번호 보정 장치(10) 내 포함되지 않을 수도 있다. 이로써, 본 발명에서는 해킹이나 정보유출에 대비할 수 있다.
로그인 처리부(230)는 사용자 단말로부터 로그인 창에 입력된 일 아이디와 일 비밀번호를 수신하면, 난수를 이용하여 일 비밀번호를 보정하고, 보정된 일 비밀번호가 회원정보 테이블 내 암호화된 비밀번호와 일치하는지를 확인하고, 일치하면 사용자 단말의 접속을 허용한다.
통상, PC는 키보드 사용이 용이하지만, 휴대 단말은 키보드 사용이 불편하므로, 휴대 단말을 이용하는 웹 사이트 접속자는 비밀번호를 짧게 설정하는 편이다. 이러한 경우, 보안성을 강화하고자 발명의 실시예에 따른 웹 서비스 서버는 사용자의 설정에 따라 각 회원에 대한 휴대 단말용 비밀번호와 PC용 비밀번호를 별도로 관리할 수도 있다.
이를 위하여, 본 발명의 실시예에 따른 비밀번호 보정 장치(10)는 사용자의 접속 단말이 휴대 단말인지 PC인지를 확인하는 확인부(미도시)를 더 포함하고, 확인부(미도시)에 의해 접속 단말이 휴대 단말으로 확인된 경우에만 적어도 하나의 난수에 의해 비밀번호를 보정할 수도 있다.
한편, 생성부(220)는 기설정된 임계기간 마다 적어도 하나의 난수를 변경 설정할 수 있다. 상세하게는, 생성부(220)는 적어도 하나의 난수 중 사용기간이 기설정된 임계기간을 초과하는 후보 난수가 있으면, 후보 난수를 대체할 다른 난수를 생성할 수 있다. 그리고, 생성부(220)는 다른 난수를 이용하여 보정된 비밀번호를 재생성하고, 그 해쉬값을 제2 데이터베이스(240)에 저장할 수 있다.
일 예로서, 생성부(220)는 사용자 로그인시에 난수의 사용기간이 기설정된 임계기간 이상이면, 사용자에게 비밀번호의 재설정을 요청하고, 비밀번호가 재설정될 때 새로운 난수를 이용하여 보정된 비밀번호를 재생성할 수 있다.
다른 예로서, 생성부(220)는 사용자의 로그인시에 난수의 사용 기간이 기설정된 임계기간 이상인지를 확인하고, 임계기간 이상이면 로그인한 사용자의 별도 개입없이 새로운 난수를 생성하여 보정된 비밀번호를 재생성할 수 있다. 이로써, 본 발명에서는 사용자가 정기적으로 비밀번호를 변경하는 불편을 없앨 수 있다.
또한, 전술한 예에서는 입력된 비밀번호가 임계길이 이하인 경우에 난수를 생성하여 비밀번호를 보정하는 경우를 예로 들어 설명하였으나, 입력된 비밀번호에 대문자, 소문자, 숫자, 특수문자의 혼용 여부에 따라 난수를 생성할 수도 있다. 예를 들어, 대문자, 소문자, 숫자 및 특수문자 중 적어도 두 종류가 포함되지 않을 경우에는, 생성부(220)는 입력된 비밀번호에 포함되지 않는 두 종류의 문자를 포함하는 적어도 하나의 난수에 의해 비밀번호의 길이를 연장할 수도 있다.
또한, 전술한 예에서는 사용자는 보정된 비밀번호를 별도로 이용하지 않고, 본 발명의 실시예에 따른 비밀번호 보정 장치(10) 또는 본 발명의 실시예에 따른 비밀번호 보정 장치(10)를 이용하는 웹 서비스 서버가 사용자에 입력된 비밀번호 대신에 보정된 비밀번호의 해쉬값을 저장하는 경우를 예로 들어 설명하였다. 하지만, 이와 달리, 사용자는 보정된 비밀번호 또는 비밀번호의 보정에 사용된 난수를 제공받아 웹 사이트 로그인시에 이용할 수도 있음은 물론이다.
일 예로서, 생성부(220)는 보정된 비밀번호를 사용자에 알리고, 사용자가 보정된 비밀번호를 입력하도록 할 수 있다. 이 경우, 생성부(220)는 복수의 보정된 비밀번호를 사용자에게 제공하고, 그 중에서 사용자가 기억하기 쉬운 하나를 선택하여 사용하도록 할 수 있다.
다른 예로서, 사용자 단말이 자체적으로 난수를 이용하여 비밀번호를 보정한 후 보정한 비밀번호를 이용하여 사용자 로그인을 요청할 수 있다. 이 경우, 웹 서비스 서버는 제1 데이터베이스(250)의 회원정보 테이블에 보정된 비밀번호를 저장하며, 제2 데이터베이스(240)를 포함하지 않을 수 있다. 그리고, 생성부(220)는 웹 서비스 서버에 포함되지 않고, 사용자 단말에 포함될 수 있다.
상세하게는, 생성부(220)는 사용자 단말의 전화번호, 맥주소, 사용자 단말에 설치된 앱 식별정보를 포함하는 단말 고유 정보 중 적어도 일부를 난수로 이용하여 입력된 비밀번호를 보정하고, 보정된 비밀번호를 웹 서비스 서버에 저장시킬 수 있다. 이 후, 사용자 로그인시에 사용자 단말은 아이디와 보정된 비밀번호를 전달하며, 로그인 처리부(230)는 입력된 아이디와, 단말 고유 정보에 의해 보정된 비밀번호를 확인하고, 사용자 아이디와 보정된 비밀번호의 해쉬값과 회원정보 테이블 내 보정된 비밀번호의 해쉬값과 일치하면, 로그인을 허용할 수 있다.
그런데, 이러한 방식을 사용하면, 휴대 단말의 교체 또는 분실시에 난수를 확인할 수 있는 방법이 사라져, 사용자 로그인을 하지 못할 수 있다.
이를 방지하고자, 웹 서비스 서버는 난수가 서버에 저장된 사용자 단말(제1 단말)을 추가로 이용하여 사용자 인증을 할 수 있다. 예를 들어, 사용자는 제1 단말을 통해 웹 서비스 서버에 로그인하여 새로운 사용자 단말(제2단말)을 등록하고, 제2 단말을 통해 사용자 로그인할 수 있다. 이때, 사용자는 교체 또는 분실된 사용자 단말에 대한 보정된 비밀번호를 삭제할 수도 있다.
또는, 웹 서비스 서버는 SMS 인증 등을 통해서 새로운 사용자 단말의 보정된 비밀번호를 회원정보 테이블에 재등록하는 과정을 수행할 수 있다. 이때, 웹 서비스 서버는 일회성 비밀번호를 제공할 수 있다.
더 나아가, 본 발명의 실시예는 아래와 같이 응용될 수도 있다.
상세하게는, 일 사용자에 의해 PC와 휴대 단말을 포함하는 복수의 사용자 단말이 혼용되어 사용되는 경우, 회원정보 테이블에는 일 사용자의 사용자 단말별로 각기 다른 보정된 비밀번호 또는 입력된 비밀번호의 해쉬값이 저장될 수도 있다. 이 경우, 일 사용자는 동일한 비밀번호를 사용하지만, 각 사용자 단말이 해당 비밀번호를 각기 다른 난수로 보정하며, 그에 따라 회원정보 테이블에는 각기 다른 보정된 비밀번호가 저장될 수 있다. 이때, 웹 서비스 서버는 이전에 로그인하지 않은 새로운 사용자 단말이 로그인을 시도하면, 그가 알고 있는 난수에 의해 보정된 비밀번호를 이용하여 사용자 인증하거나, SMS 인증 등을 통해서 해당 사용자 단말의 보정된 비밀번호를 회원정보 테이블에 추가적으로 등록하는 과정을 수행할 수 있다. 여기서, 웹 서비스 서버는 사용자 단말이 휴대 단말일 경우에만 사용자 단말별 보정된 비밀번호를 등록해 사용할 수 있다.
또는, 로그인 처리부(230)는 사용자 단말별로 각기 달리 설정된 비밀번호에 따라 각 사용자 단말에 대해 웹 서비스의 사용 권한을 차등 적용할 수도 있다.
이와 같이, 본 발명의 실시예는 적어도 임계길이 이상으로 보정된 비밀번호를 저장함에 따라, 회원정보 테이블 내 회원정보가 유출되더라도 해커가 회원정보로부터 비밀번호를 유추하는 어려울 수 있어, 회원정보의 보안성이 강화될 수 있다.
뿐만 아니라, 본 발명의 실시예는 휴대 단말에 대해서는 짧은 패스워드를 사용하도록 지원할 수 있어, 특히 휴대 단말을 사용하는 경우와 같이 키보드 입력이 불편한 경우에 로그인 편의성을 향상시킬 수 있다.
이하, 도 2를 참조하여 본 발명의 실시예에 따른 비밀번호 설정 과정의 비밀번호 길이 보정 방법에 대하여 설명한다. 도 2는 본 발명의 실시예에 따른 비밀번호 길이 보정 방법을 도시한 흐름도이다. 이하에서는 본 발명의 실시예에 따른 비밀번호 보정 장치(10)가 사용자별 난수를 사용하는 경우를 예로 들어 설명한다.
도 2를 참조하면, 비교부(210)는 웹 사이트 시스템에 회원가입중 또는 회원가입된 사용자에 의해 새롭게 설정되거나, 변경 설정된 일 비밀번호를 확인하면, 임계길이 이상인지를 확인한다(S210). 여기서, 비교부(210)는 입력된 비밀번호에 포함된 대문자, 소문자, 숫자 및 특수문자의 혼용 정도에 따라 임계길이를 달리 설정할 수 있다.
일 비밀번호가 임계길이 미만이면, 생성부(220)는 사용자 아이디에 대응하는 일 난수를 생성하고, 생성된 난수와 일 비밀번호를 결합시켜 보정된 일 비밀번호를 생성한다(S220). 여기서, 생성부(220)는 입력된 비밀번호에 대문자, 소문자, 숫자 및 특수문자 중 두 종류가 포함되지 않으면, 포함되지 않은 두 종류를 포함시켜 난수를 생성할 수 있다. 이때, 생성부(220)는 일 비밀번호가 최저길이 이하이면, 사용자에게 비밀번호를 재설정할 것을 요청할 수 있다.
생성부(220)는 보정된 일 비밀번호를 암호화한 결과 예컨대, 보정된 비밀번호의 해쉬값을 회원정보 테이블에 저장시키고, 난수를 제2 데이터베이스(240)에 저장시킨다(S230). 여기서, 생성부(220)는 보정된 일 비밀번호를 사용자 단말에 제공할 수도 있다. 그러면, 사용자는 보정된 일 비밀번호를 기억해두었다가 이후의 로그인에 이용할 수도 있다. 이 경우, 비밀번호 보정 장치(10)는 보정된 일 비밀번호의 기억을 도울 수 있는 수단 예컨대, 보정된 일 비밀번호의 한글표현 또는 키패드 상에서 일 비밀번호를 입력하기 위해 눌러지는 키패드 자판의 순서 등을 제공할 수 있다.
한편, (S210)단계에서, 일 비밀번호의 길이가 임계길이 이상임을 확인하면, 비밀번호 보정 장치(10)는 일 비밀번호의 해쉬값과 일 아이디를 회원정보 테이블에 저장할 수 있다(S240).
이와 같이, 본 발명의 실시예는 로그인에 사용되는 비밀번호를 적어도 임계길이 이상으로 설정함에 따라, 회원정보 테이블 내 회원정보가 유출되더라도 회원정보로부터 비밀번호를 유추하기 어려워 보안성이 강화될 수 있다.
뿐만 아니라, 본 발명의 실시예는 휴대 단말에 대해서는 짧은 패스워드를 사용하도록 지원할 수 있어, 특히 휴대 단말을 사용하는 경우와 같이 키보드 입력이 불편한 경우에 로그인 편의성을 향상시킬 수 있다.
이하, 도 3을 참조하여 본 발명의 실시예에 따른 로그인 과정의 비밀번호 보정 방법에 대하여 설명한다. 도 3은 본 발명의 실시예에 따른 로그인 과정의 비밀번호 보정 방법을 도시한 흐름도이다.
비교부(210)는 사용자 단말로부터 로그인 요청을 수신하면(S310의 예), 로그인 요청에 따른 비밀번호의 길이가 임계길이 미만인지를 확인한다(S320).
로그인 처리부(230)는 입력된 비밀번호가 임계길이 미만이면, 제2 데이터베이스(240)로부터 로그인 요청한 아이디에 대응하는 일 난수를 불러온다(S330).
로그인 처리부(230)는 불러온 일 난수와 로그인 요청에 따른 비밀번호를 결합한 확인용 비밀번호와 로그인 요청에 따른 아이디가 회원정보 테이블 내 존재하는지를 확인한다(S340).
로그인 처리부(230)는 회원정보 테이블 내 확인용 비밀번호와 일 아이디에 대응하는 회원정보가 존재하면, 해당 사용자 단말에 대한 로그인을 허용한다(S350).
(S350)단계에서, 로그인 요청에 따른 비밀번호의 길이가 임계길이 이상이면, 로그인 처리부(230)는 로그인 요청에 따른 비밀번호를 확인용 비밀번호로 이용할 수 있다.
반면, 회원정보 테이블 내 확인용 비밀번호와 일 아이디에 대응하는 회원정보가 존재하지 않으면, 로그인 처리부(230)는 사용자 단말에 로그인 불가를 통보한다(S360).
이와 같이, 본 발명의 실시예는 적어도 임계길이 이상으로 보정된 비밀번호를 저장함에 따라, 회원정보 테이블 내 회원정보가 유출되더라도 해커가 회원정보로부터 비밀번호를 유추하는 어려울 수 있어, 회원정보의 보안성이 강화될 수 있다.
뿐만 아니라, 본 발명의 실시예는 휴대 단말에 대해서는 짧은 패스워드를 사용하도록 지원할 수 있어, 특히 휴대 단말을 사용하는 경우와 같이 키보드 입력이 불편한 경우에 로그인 편의성을 향상시킬 수 있다.
이상, 본 발명의 구성에 대하여 첨부 도면을 참조하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서, 본 발명이 속하는 기술분야에 통상의 지식을 가진자라면 본 발명의 기술적 사상의 범위 내에서 다양한 변형과 변경이 가능함은 물론이다. 따라서 본 발명의 보호 범위는 전술한 실시예에 국한되어서는 아니되며 이하의 특허청구범위의 기재에 의하여 정해져야 할 것이다.

Claims (14)

  1. 웹 서비스 서버에 회원 가입중 또는 회원 가입된 사용자의 사용자 단말로부터 입력된 비밀번호가 수신되면, 상기 비밀번호의 길이가 기설정된 최저길이 이상이면서 임계길이 미만인지를 확인하는 비교부;
    상기 비밀번호의 길이가 상기 임계길이 미만이면, 기설정된 적어도 하나의 난수를 이용하여 그 길이가 상기 임계길이 이상으로 보정된 비밀번호를 생성하는 생성부; 및
    회원정보 테이블 내 상기 보정된 비밀번호를 저장하지 않고 상기 보정된 비밀번호의 해쉬값을 저장하는 제1 데이터베이스를 포함하며,
    상기 난수는, 상기 제1 데이터베이스와 별개의 제2 데이터베이스 내에 저장되며, 상기 입력된 비밀번호에 포함되지 않은 대문자, 소문자, 숫자 및 특수문자 중 적어도 하나를 포함하며,
    상기 임계길이는, 상기 입력된 비밀번호의 상기 대문자, 소문자, 숫자 및 특수문자의 혼용 정도에 따라 달리 설정되며, 상기 보정된 비밀번호의 해쉬값으로부터 상기 입력된 비밀번호를 유추하는데 적어도 일정기간 이상 소요되도록 설정되며, 상기 웹 서비스 서버에 포함되는 비밀번호 보정 장치.
  2. 제1항에 있어서, 상기 비교부는,
    상기 입력된 비밀번호의 상기 대문자, 소문자, 숫자 및 특수문자의 혼용 여부를 확인하고, 상기 대문자, 소문자, 숫자 및 특수문자의 혼용 정도에 따라 상기 임계길이를 달리 설정하는 것인 비밀번호 보정 장치.
  3. 제1항에 있어서, 상기 비교부는,
    상기 입력된 비밀번호에 상기 대문자, 소문자, 숫자 및 특수문자의 혼용 여부를 확인하고, 상기 입력된 비밀번호에 상기 대문자, 소문자, 숫자 및 특수문자 중 적어도 두 종류가 포함되지 않으면, 상기 대문자, 소문자, 숫자 및 특수문자 중에서 상기 입력된 비밀번호에 포함되지 않은 두 종류를 포함하는 상기 적어도 하나의 난수를 이용하여 상기 입력된 비밀번호를 보정함에 따라 상기 보정된 비밀번호를 생성하는 것인 비밀번호 보정 장치.
  4. 제1항에 있어서,
    상기 생성부는, 상기 사용자 단말에 설치된 상기 웹 서비스 서버에 접속하는 앱의 식별정보 및 상기 사용자 단말의 맥 주소를 포함하는 단말 고유 정보 중 적어도 일부를 이용하여 상기 난수를 생성하고, 상기 적어도 일부를 이용해 생성된 난수를 이용해 상기 보정된 비밀번호를 생성하며,
    상기 제2 데이터베이스는, 상기 사용자 단말에 포함된 것인 비밀번호 보정 장치.
  5. 제1항에 있어서, 상기 사용자에 의해 PC와 휴대 단말을 포함하는 상기 사용자 단말이 혼용되면,
    상기 회원정보 테이블에는, 상기 사용자에 의해 사용되는 사용자 단말별로 각기 다른 상기 보정된 비밀번호의 해쉬값 또는 상기 입력된 비밀번호의 해쉬값이 저장되는 것인 비밀번호 보정 장치.
  6. 제1항에 있어서, 상기 생성부는,
    상기 적어도 하나의 난수의 사용기간이 기설정된 임계기간을 초과하면, 적어도 하나의 다른 난수를 생성하고, 상기 적어도 하나의 다른 난수를 이용하여 상기 보정된 비밀번호를 재생성하는 것인 비밀번호 보정 장치.
  7. 제1항에 있어서, 상기 생성부는,
    상기 사용자 단말의 맥 주소(MAC Address)를 포함하는 단말 고유 정보를 이용하여 사용자별 상기 난수를 생성하는 것인 비밀번호 보정 장치.
  8. 제1항에 있어서,
    상기 적어도 하나의 난수는 사용자별로 각기 설정된 난수이면, 상기 생성부는, 사용자 아이디 및 상기 입력된 비밀번호 중 적어도 하나를 이용하여 상기 사용자별 난수를 생성하는 것인 비밀번호 보정 장치.
  9. 제1항에 있어서,
    상기 사용자 단말로부터 로그인 창에 입력된 일 아이디와 일 비밀번호를 수신하면, 상기 난수를 이용하여 상기 일 비밀번호를 보정하고, 보정된 상기 일 비밀번호가 상기 회원정보 테이블 내 암호화된 상기 비밀번호와 일치하는지를 확인하고, 일치하면 상기 사용자 단말의 접속을 허용하는 로그인 처리부
    를 더 포함하는 비밀번호 보정 장치.
  10. 웹 서비스 서버에 포함되는 비밀번호 보정 장치에 의한 비밀번호 보정 방법으로서,
    상기 웹 서비스 서버에 회원 가입되거나 회원 가입중인 사용자 단말로부터 입력된 비밀번호를 전달받으면, 상기 비밀번호의 길이가 기설정된 최저길이 이상이면서 임계길이 미만인지를 확인하는 단계
    상기 비밀번호의 길이가 상기 최저길이 이상이면서 임계길이 미만이면, 적어도 하나의 난수를 이용하여 그 길이가 상기 임계길이 이상으로 보정된 비밀번호를 생성하는 단계; 및
    제1 데이터베이스의 회원정보 테이블 내 상기 보정된 비밀번호를 저장시키지 않고 상기 보정된 비밀번호의 해쉬값을 저장시키는 단계를 포함하며,
    상기 난수는, 상기 제1 데이터베이스와 별개의 제2 데이터베이스 내에 저장되며, 상기 입력된 비밀번호에 포함되지 않은 대문자, 소문자, 숫자 및 특수문자 중 적어도 하나를 포함하며,
    상기 임계길이는, 상기 입력된 비밀번호의 상기 대문자, 소문자, 숫자 및 특수문자의 혼용 정도에 따라 달리 설정되며, 상기 보정된 비밀번호의 해쉬값으로부터 상기 입력된 비밀번호를 유추하는데 적어도 일정기간 이상 소요되도록 설정되는 것인 비밀번호 보정 방법.
  11. 삭제
  12. 제10항에 있어서, 상기 생성하는 단계는,
    상기 입력된 비밀번호에 포함되지 않은 상기 대문자, 소문자, 숫자 및 특수문자 중 복수의 문자를 포함시켜 상기 난수를 생성하는 단계
    를 포함하는 것인 비밀번호 보정 방법.
  13. 제10항에 있어서, 상기 생성하는 단계는,
    상기 적어도 하나의 난수의 사용기간이 기설정된 임계기간을 초과하면, 적어도 하나의 다른 난수를 생성하는 단계; 및
    상기 적어도 하나의 다른 난수를 이용하여 상기 보정된 비밀번호를 재생성하는 단계
    를 포함하는 것인 비밀번호 보정 방법.
  14. 제10항에 있어서, 상기 생성하는 단계는,
    상기 사용자 단말 내 상기 웹 서비스 서버에 접속하는 앱의 식별정보 및 상기 사용자 단말의 맥 주소(MAC Address)를 포함하는 단말 고유 정보를 이용하여 사용자별 상기 난수를 생성하는 단계
    를 포함하는 것인 비밀번호 보정 방법.
KR1020150024292A 2015-02-17 2015-02-17 비밀번호 보정 장치 및 방법 KR101596628B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150024292A KR101596628B1 (ko) 2015-02-17 2015-02-17 비밀번호 보정 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150024292A KR101596628B1 (ko) 2015-02-17 2015-02-17 비밀번호 보정 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101596628B1 true KR101596628B1 (ko) 2016-02-22

Family

ID=55445650

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150024292A KR101596628B1 (ko) 2015-02-17 2015-02-17 비밀번호 보정 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101596628B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120065089A (ko) * 2010-12-10 2012-06-20 한국전자통신연구원 Otp 기반 단말 인증 시스템 및 그 방법
KR101427990B1 (ko) * 2014-03-14 2014-08-07 에스지앤 주식회사 비밀번호 변경 방법, 이를 적용한 비밀번호 변경 장치 및 컴퓨터로 읽을 수 있는 기록매체

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120065089A (ko) * 2010-12-10 2012-06-20 한국전자통신연구원 Otp 기반 단말 인증 시스템 및 그 방법
KR101427990B1 (ko) * 2014-03-14 2014-08-07 에스지앤 주식회사 비밀번호 변경 방법, 이를 적용한 비밀번호 변경 장치 및 컴퓨터로 읽을 수 있는 기록매체

Similar Documents

Publication Publication Date Title
TWI705349B (zh) 終端的認證處理、認證方法及裝置、系統
US10742626B2 (en) Method for key rotation
TWI519992B (zh) 登錄驗證方法以及系統、電腦存儲介質
US9779224B2 (en) Methods and systems for client-enhanced challenge-response authentication
CN107295011B (zh) 网页的安全认证方法及装置
CN109462602B (zh) 登录信息存储方法、登录验证方法、装置、设备及介质
JP2015509632A (ja) ログイン方法及びログイン装置、端末並びにネットワークサーバー
Uymatiao et al. Time-based OTP authentication via secure tunnel (TOAST): A mobile TOTP scheme using TLS seed exchange and encrypted offline keystore
US8775794B2 (en) System and method for end to end encryption
US9280657B2 (en) Apparatus and method for managing passwords
US10637650B2 (en) Active authentication session transfer
EP2905719B1 (en) Device and method certificate generation
WO2020155779A1 (zh) 数字签名的认证方法、装置、计算机设备和存储介质
US11544365B2 (en) Authentication system using a visual representation of an authentication challenge
US20160105290A1 (en) Universal anonymous cross-site authentication
US20080162934A1 (en) Secure transmission system
CN107306181B (zh) 鉴权系统及其鉴权信息的加密、验证方法与装置
CN110071937B (zh) 基于区块链的登录方法、系统及存储介质
GB2501069A (en) Authentication using coded images to derive an encrypted passcode
Mun et al. A novel secure and efficient hash function with extra padding against rainbow table attacks
Crocker et al. Two factor encryption in cloud storage providers using hardware tokens
CN105281899A (zh) 用于密码认证的装置和方法
EP2947591A1 (en) Authentication by Password Mistyping Correction
KR101596628B1 (ko) 비밀번호 보정 장치 및 방법
EP2940618A1 (en) Method, system, user equipment and program for authenticating a user

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200206

Year of fee payment: 5