KR20170101145A - 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템 및 사용자 인증 방법 - Google Patents

랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템 및 사용자 인증 방법 Download PDF

Info

Publication number
KR20170101145A
KR20170101145A KR1020170024468A KR20170024468A KR20170101145A KR 20170101145 A KR20170101145 A KR 20170101145A KR 1020170024468 A KR1020170024468 A KR 1020170024468A KR 20170024468 A KR20170024468 A KR 20170024468A KR 20170101145 A KR20170101145 A KR 20170101145A
Authority
KR
South Korea
Prior art keywords
password
junk data
user
input
digits
Prior art date
Application number
KR1020170024468A
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 주식회사 프로젝트사공구
Publication of KR20170101145A publication Critical patent/KR20170101145A/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/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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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

Abstract

본 발명은 패스워드 입력 시 랜덤키(Random Key)로 무작위로 발생시킨 정크 데이터를 이용하여 사용자를 인증하는 기술에 관한 것이다.
이러한 본 발명에 의할 때, 패스워드를 사용자로부터 입력받아 저장해두고, 사용자 인증 단계에서 함께 입력된 정크 데이터 및 패스워드 중에서 메모리에 저장된 원래의 패스워드와 일치하는 패스워드가 존재하는 것으로 판명되면 사용자 인증을 성공으로 처리할 수 있다. 이때, 정크 데이터가 이전의 인증과정에서 사용자가 입력하여 메모리에 저장된 정크 데이터와 일치하지 않는 것으로 판명되는 경우에 한하여 인증을 처리함으로써 보안성을 강화할 수 있다.

Description

랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템 및 사용자 인증 방법{Password Authentication System Using Random Key and User Authentication Method thereof}
본 발명은 무작위로 랜덤 키(Random Key)를 입력함으로써 생성된 정크 데이터를 이용해 해킹 예방 및 노출을 방지하는 패스워드 인증 기술에 관한 것으로, 특히 사용자 인증단계에서 사용자가 패스워드를 입력하기 이전 및 이후 또는 이전, 이후에 의미 없는 입력 키값들을 무작위로 입력하게 하여 실제 패스워드를 위장할 수 있게 하고, 정크 데이터와 함께 입력된 패스워드가 실제 패스워드와 일치하는지, 이전에 사용돼 저장되어 있는 정크 데이터와 입력된 정크 데이터가 동일한 데이터 값을 갖고 있는지의 여부를 확인하여 패스워드의 불법 노출을 감지하거나 해킹을 예측하고, 패스워드의 입력 시 주위 노출을 방지하여 안전하게 사용자를 인증할 수 있도록 하는, 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템과 사용자 인증 방법에 관한 것이다.
오프라인 및 온라인상의 각종 보안 분야에서 사용자의 인증을 위해 가장 널리 사용되는 것이 패스워드이다. 패스워드란 사용자만이 알고 있는 문자들의 집합으로, 이를 이용해 인증하는 시스템이 패스워드 시스템이다.
일반적으로, 사용자 인증기술이란 접근이 허가된 적법한 사용자인지를 판단하기 위해 사용되는 기술을 의미한다.
사용자 인증기술이 적용되는 패스워드 시스템은, 현재 일반적으로 가장 많이 사용되고 있는 현관 도어락, 금고 도어락, 차량 도어락 같은 하드웨어 제품에서부터 노트북 컴퓨터, 개인용 컴퓨터(PC), 태블릿(tablet) PC 및 스마트폰을 포함하는 각종 사용자 단말기의 동작 개시 시의 잠금해제에도 빈번하게 사용되며, 네트워크상의 각 사이트에서 구축한 사용자 인증시스템을 통하여 개인 인증을 하기 위해 자주 사용되고 있다. 이처럼 각종 웹사이트 상의 인증 및 전자상거래, 온라인상의 각종 금융결제, 금융서비스는 물론 현금자동입출금기(ATM: Automated Teller Machine), 민원증명서발급기 등의 자동화기기, 개인 인증을 필요로 하는 금융기관 및 공공기관 등에서 문자를 이용한 패스워드 시스템이 널리 사용되고 있다.
특히, 정보통신의 발달과 스마트폰의 급속한 보급으로 스마트폰을 통한 전자상거래, 금융거래가 보편화·현실화되면서 개인용 단말기 안에 보관되어 있는 정보의 중요성이 커지게 되었다.
또한 개인의 건강정보, 활동정보 등을 실시간 측정, 저장, 활용하는 스마트워치, 스마트밴드 등의 웨어러블 기기 및 스마트 홈, 커넥티드 카(Connected car) 기술을 현실화시킨 IoT(Internet of Things)의 등장으로 인한 기기간의 연결은 이를 제어·조정·통제하는 디바이스 역할을 하는 휴대용 개인단말기의 락 해제 및 사용자 인증의 중요성이 커질 수밖에 없고, 이에 따라 패스워드를 이용한 사용자 인증과 이에 따른 안전성 확보 및 보안 강화가 더욱 중요해지고 있다.
종래 기술에 의한 사용자 인증기술 중에서 가장 널리 사용되는 대표적인 것이 패스워드(암호 숫자 키) 입력방식의 사용자 인증기술이다. 이 패스워드 입력방식의 사용자 인증기술은 암호가 갖추어야 하는 간편성과 일정 수준의 보안성을 함께 갖추었기 때문인데, 간편성이 강조됨(예: 4자리 숫자)으로 인하여 보안성이 취약해지는 결과를 갖게 되었다. 이와 같은 이유로 보다 많은 자릿수의 패스워드(예: 8자리 이상)와 영문 대소문자, 특수문자 사용, 주기적인 패스워드 교체 등을 사용자에게 요구하게 되었다. 이로 인해 보안성은 강화되었지만 동시에 사용의 불편함을 초래하게 되어, 패스워드 망각·분실, 입력오류, 입력시간 지연 등 편의성이 떨어지는 역효과를 갖게 되어 사용자의 외면을 받고 있어 오히려 보안상의 문제점을 키우고 있는 실정이다.
예를 들면, 온라인상에서의 금융 서비스나 상품대금 결제 시, 패스워드 보안에 관련된 패스워드 적정 유효기간(패스워드 수명)으로 알려진 2개월이 지나면 사용자 인증 시에 “패스워드를 교체하라”고 고지하지만, 사용자들 대부분이 이 권고를 무시하고 현재 사용하는 패스워드를 그대로 사용하거나, 어떤 경우에는 두 개의 패스워드를 만들어 놓고 이를 번갈아 교체 사용하고 있는 실정이다. 새로운 신규 패스워드를 2개월에 하나씩 생성해내고, 이를 모두 기억하고, 각기 다른 여러 곳의 인증시스템에서 제각기 다르게 사용해야 한다는 것은 사용자 특성(User Characteristics)이나 사용자 행동 스타일(User Behavior Style)을 무시하거나 도외시한 발상으로 사용자에게의 책임전가나 행정적인 규제를 피해가려는 절차와 의도로 밖에 보이지 않는 것이다. 때문에 다발적으로 발생되는 여러 개의 신규 패스워드를 기록해 두거나, 또다른 곳에 저장을 하게 하거나, 아니면 교체 권고를 무시하게끔 유도하는 것과 다름없는 것이다.
또한 현재 가장 많이 사용되고 있는 패스워드를 이용한 인증기술의 경우, 가장 큰 문제점으로 개인 단말기 입력 시의 주위 노출은 물론 어깨너머로 훔쳐보는 숄더 서핑(Shoulder surfing)에 의해 주위 사람들에게 패스워드가 그대로 노출된다는 것이며, 현관문의 키패드나 개인용 단말기의 터치스크린 상에 누른 흔적이 남아있거나, 이러한 약간의 노출이나 흔적들을 추적하여 패스워드를 알아내는 추측공격(Guessing attack)이나 은밀하게 설치된 카메라(이하, 몰래 카메라)에 의한 노출 등으로 인하여 보안이 취약해지는 문제점이 있다.
종래 기술에 의한 또다른 사용자 인증기술로서 스마트폰과 같은 단말기의 터치스크린 상에서 암호 패턴을 그리는 사용자 인증기술이 사용되고 있다. 문자를 찾아 각각 입력하는 것보다 사용이 편하고, 빠른 입력동작이 가능하고, 패스워드 입력키의 숫자가 외부로 보이지 않기 때문에 주위 노출을 효과적으로 막을 수 있다고 여겨졌지만, 사용하는 패턴들이 비교적 단순한 형태여서 이 인증기술의 경우에도 주위의 노출, 숄더 서핑으로부터 안전하지 못하고, 특히 화면에 암호 패턴 자국이 그대로 남아있어 무의식 중에 패스워드가 외부로 노출되는 문제점이 있다.
이를 극복하기 위한 또다른 사용자 인증기술로서 생체정보(지문, 안면, 홍채, 정맥, 음성 등)를 이용한 생체인식 사용자 인증기술이 제안되고 있지만, 시스템을 구축하는데 비용과 시간이 많이 소요될 뿐만 아니라 사용자 등록과 인증 시 세심한 주의를 필요로 하며, 입력 및 인증 오류 발생 시의 대안으로 패스워드 입력을 또다시 요구하는데 이는 결과적으로 두 번의 인증과정을 거치게 하여 사용자를 번거롭게 만들기도 하지만, 신기술로 인식된 이러한 기술들이 검증 및 사용 단계에서 결국 원론적인 패스워드 입력방식으로 되돌아갔다는 것을 의미하는 것이기도 하다.
특히 이때 사용되는 패스워드 입력 시스템에는 아무런 보안 조치가 취해지지 않아 주위 노출을 막는 완벽한 보안이라는 생체인식 시스템이 최종에는 노출에 취약한 패스워드 입력 시스템에 의존하는 아이러니와 함께 노출에 대한 보안의 취약점을 그대로 방치하고 있는 셈이다.
또한, 신기술로 이루어지는 생체인식 사용자 인증기술은 사용자들이 처음 대하는 생소한 기술일 수밖에 없고 이의 적용으로 인한 사용자들의 거부감과 적응기간이 길고, 기기 교체 및 경제적인 문제로 단기간 내의 대중화 및 대량 보급이 어려우며, 보안과 안전성에 또다른 문제를 야기함으로 이에 대한 검증과 대책이 필요하다.
일례로 최근 상용화된 지문 인증의 경우, 사용자가 만취했을 때나 수면 중에는 타인에 의한 지문 도용이 쉽게 가능한 점, 사용자 손에 땀이나 물, 화장품, 페인트 등 이물질이 묻었거나 상처가 생겼을 경우의 인증 오류 및 실리콘 지문 채취 사용 등 사용상의 또다른 문제점들을 발생시키고 있어 아직은 수많은 검증절차가 필요한 문제점이 있다.
실제, 이 생체인식 인증 시스템은 사람마다 다 다르고 노출될 염려가 없어 보안성이 높다는 이유와 신기술에 대한 호감과 마케팅 효과로 각광을 받고 있지만, 해킹에 의해 미국의 공공기관에서 수백만 건의 지문정보가 대량 유출되는 사건이 발생하는가 하면, 국내에서도 지문이 탑재된 최신 스마트폰이 불과 출시 2년이 채 안되어 실리콘에 의한 모조 지문의 불법 도용으로 철통같다던 보안이 속속 뚫리고 있다.
최근 새롭게 제시된 정맥인식이나 홍채인식 인증 시스템도 한번 해킹을 당하면, 개개인의 고유하고 유일한 생체정보는 다른 것으로 바꾸거나 대체할 수가 없으며 이는 평생 바뀌지 않는 개인 신체정보라는 점에서 탈취당할 경우 해킹, 패스워드 불법사용 같은 1차 범죄 외에도 위조여권, 신분세탁 등 다른 범죄에까지 악용될 소지가 있기 때문에 이에 대한 불안감과 개인 생체정보의 보관과 이용문제에 따른 사회적 논의 부재, 다양한 상황에서 오랜 기간에 걸쳐 철저하게 이루어져야 하는 검증의 부실로 아직은 사용자의 부적응, 불안감과 함께 사용상의 한계를 드러내고 있다.
이러한 새로운 기술의 검증문제와 편의성 및 사용자 적응문제, 경제적·사회적인 문제점 등으로 인하여, 종래에 거부감 없이 가장 많이 보편적으로 사용되고 있는 문자를 이용하는 패스워드에 보안성을 강화한 사용자 인증기술을 채용하고 있다. 한 예로 종래 기술에 의한 최근의 사용자 인증기술로서 핀테크(Fin-Tech)에 적용되는 일회용 비밀번호 생성기(OTP : One Time Password)와 숫자를 랜덤하게 무작위로 배열하고 이를 가상키보드를 이용해 패스워드를 입력하는 인증방법이 사용되고 있다.
이 기술은 키로거(Keylogger)를 방지할 수 있기 때문에 다른 사용자 인증기술에 비해 높은 보안등급으로 분류되어, 인터넷과 스마트폰 상의 금융 관련 인증에 널리 사용되고 있다. 이질적인 새로운 기술의 채용보다 사용자 적응 및 편리성, 오랜 기간의 검증, 도입의 간편함, 경제적인 이유 등의 장점 때문에 가장 보편적인 방법인 문자(숫자)를 이용한 패스워드 사용자 인증 방법에 보안성을 강화한 인증기술을 채용하고 있는 것이다.
하지만, 가상키보드를 이용한 랜덤키보드 방식은 입력키의 위치값 탈취를 막기 위해 사용 시마다 문자가 임의로 새롭게 재배열되기 때문에 사용자의 불편함을 초래하고, 문자 가독성과 직관력을 떨어뜨려 입력시간 지연 등으로 인해 오히려 주위 노출에 더 취약해지는 또다른 문제를 유발하였고, 이를 보완한 패스워드 입력키 사이에 무작위로 빈칸을 삽입하여 가독성과 사용자 편의성을 높이면서도 키로깅을 막는 새로운 랜덤키보드 패스워드 입력 방식이 제시되어 주로 모바일과 인터넷을 이용한 금융거래, 쇼핑 결제 등에 사용되고 있다.
하지만 이 역시 바뀐 숫자 입력키 위치를 화면 캡쳐하여 입력 패스워드를 탈취할 수 있으며, 이보다 더 큰 문제는 결과적으로 OTP나 랜덤키보드 방식을 채용한 패스워드 시스템 모두 패스워드 입력 시 가장 큰 문제가 되는 주위 노출이나 숄더 서핑을 근본적으로 막을 수 없는 보안성의 한계를 가지고 있다는 것이다.
이러한 주위의 관찰자에 의한 노출에 의해 보안을 유지할 수 없는 문제점은 이미 익히 알려져, 주위 노출에 의한 범죄가 가장 흔하게 일어나는 현관문 디지털 도어락(잠금장치)의 패스워드 입력 시 손동작을 가릴 수 있는 종이덮개를 서울의 한 경찰서에서 주위 노출 예방책으로 각 가정에 배포하고 있는 실정이며(2016년 2월 5일, 한국일보 신문기사 참조), 이는 수십만원을 호가하는 세련된 디자인의 현관 도어락을 종이박스로 덮어놓고 사용하는 우스꽝스러운 모습을 연출하고 있다. 또한 이와 유사한 범죄가 흔히 발생하는 ATM기에는 “주의, 반드시 비밀번호는 타인이나 카메라 등에 노출되지 않도록 손이나 책 등으로 가린 후 입력하십시오”라는 주의 경고를 띄워 적극적인 해킹방어를 포기한 채 사용자에게 위험을 상기시키는 소극적인 예방 정도로 그치고 있으며, 온라인상의 사용자 인증 시에는 모니터에 패스워드를 가리는 아스트리크(****)를 사용하기도 하지만, 이 모두 패스워드 입력 시 언제든지 발생할 수 있는 주위 노출이나, 숄더 서핑, 손동작 노출은 근본적으로 막을 수 없다는 문제점을 스스로 인정한 예이며, 이로인한 사용자의 피해사실을 알면서도 적극적인 해결책을 제시하지 않는 보안 관계자들의 무책임한 행태이기도 하다.
또한, 현재 주위에서 흔하게 볼 수 있는 적극적인 숄더 서핑과 주위 노출 방지 사례 중 하나로, 금융기관에서 고객에게 제공하는 비밀번호 입력 키패드에는 비밀번호를 입력하는 버튼과 액정 모니터 주위에 가림판이 설치되어 있는 것을 볼 수 있는데, 이 역시 숫자로 된 짧고 단순한 패스워드의 입력 시 쉽게 발생하는 주위 노출이나 숄더 서핑을 차단하기 위한 것으로, 거의 모든 은행에서는 일상적으로 간편하게 사용하고 있다.
이처럼 생각만 바꾸면, 간단한 가림판 하나로도 패스워드나 복잡한 암호체계를 특별하거나 어렵게 바꾸지 않더라도 주위 노출을 효과적으로 막는다는 것이 입증되었기 때문에 시중의 모든 은행창구에서 널리 사용되고 있는 것이다. 하지만 이 역시 가림판이 달린 특별한 키패드를 일일이 제공하거나, 이를 사용할 수 있는 장소에 한정되며, ATM기나 핸드폰, 노트북 등 개인용 단말기에는 적용할 수 없고, 온라인상에서도 사용될 수 없는 하드웨어적인 한계와 문제점을 지니고 있다.
문자(숫자) 입력의 패스워드 인증방식에서 또 한 가지 주목해야 하는 것이, 패스워드 입력 시 발생하는 오류 입력정보의 처리 문제이다. 일반적으로 패스워드 입력 시 누구나 몇 번씩 겪어 본 것이 망각(패스워드 분실)이나 착각 혹은 입력 실수, 입력시간 지연에 의한 패스워드 입력 오류이다.
이는 패스워드 입력이 필요한 수많은 인증 시스템에서 요구하는 패스워드 키값의 요건이 통일되지 않고 4자리, 6자리, 혹은 여덟 자리 숫자 사용, 문자 혼용 등 제각각 모두 다르기 때문인 것이 1차적인 이유이지만, 근래에 들어서는 보안의 중요성이 부각되면서 잦은 패스워드의 교체와 많은 자릿수(8자리 이상)의 패스워드 사용 요구, 거기에 더불어 영문 대소문자, 특수문자의 사용 등 사용자를 고려하지 않은 일방적인 요구로 사용자의 혼란을 가중시키기 때문이다. 사용(편리성)이 어려워지면 보안성이 높아지는 것은 당연한 이치이므로 이는 패스워드 관련 개발자들이 이를 고민하지 않고 편의주의적으로 도외시하고 사용자에게 그 책임을 전가하고 있는 현상이며, 이로 인한 패스워드 입력 오류가 더욱 빈번히 발생하는 문제점이 있다.
상기와 같은 사용자 입력 오류 이외에도 불법 해킹 시도에서도 여러번의 패스워드 키값이 입력되지만 쓸모없는 데이터로 오류 처리하고 패스워드 재입력을 요구한다. 즉, 패스워드 입력 시마다 필연적으로 발생할 수 있는 잘못된 데이터, 즉 오류데이터는 정크 데이터로 분류되어 쓸모없는 취급을 하여 왔다. 이처럼 쓸모없이 버려졌던 패스워드 인증 시의 오류데이터 값들인 정크 데이터(Junk data)는 아무 쓸모가 없다는 인식과 관습적인 행태 때문에 이를 저장, 관리하거나 분류 및 분석하고 리스크 데이터로 활용하여 인증기술에 이용하거나 개발하지 못하고 있다.
현재 부각되고 있는 빅데이터(Big data) 역시 수집의 문제보다는 데이터의 분석과 여기에서 의미 있는 가치 데이터(Value)를 찾아내는 작업이 더 중시되고 있다. IT의 발달로 시시각각 엄청나게 생산되어지는 데이터들은 쓸모없는 것으로 여겨져 대부분 방치되어왔지만, 이 방대한 데이터들은 여러 가지 분석에 의해 구글의 자동번역시스템, 슈퍼컴퓨터 왓슨, 아마존 도서추천시스템 등으로 막강한 위력을 갖춘 혁신 기술로 새로 태어났으며 다양한 마케팅활동에 적용되는 것은 물론 사용자의 생각과 의견까지도 분석하고 예측해내는 단계에까지 와있다.
빅데이터의 예에서 보듯이, 우리도 모르는 사이에 만들어내고 있는 이 쓸모없다고 여겨왔던 데이터들이 어떻게 분류, 분석되고 어떻게 사용되느냐에 따라 중요한 정보를 가진 핵심 가치데이터로 재탄생하게 되는 것처럼, 하루에도 몇 번씩 사용되는 패스워드 인증 시에 발생하는 오류데이터, 해킹 시도에 사용되었던 오류데이터 등 수많은 패스워드 관련 정크 데이터들을 수집, 분석하거나 혹은 유발시켜, 이를 토대로 위험 데이터(Risk data) 등 가치 데이터를 찾아내지 못하는 것은 물론 해킹 예방이나 보안 강화를 위해 이를 적극적으로 활용하지도 못하고 있는 것이다.
본 발명이 해결하고자 하는 과제는 사용자 인증 단계에서, 사용자가 원래 패스워드로 등록한 패스워드를 입력하기 이전 및 이후 또는 이전, 이후에 랜덤 키(Random Key)값을 무작위로, 원하는 자릿수만큼 자유롭게 즉흥적으로 입력할 수 있도록 하여, 패스워드 입력시 주위에 노출되거나 입력 동작을 타 관찰자가 주시하고 있어도 무작위로 랜덤 키를 입력함으로써 그 속에 포함되어 있는 패스워드 키값을 알아보지 못하도록 하여 패스워드의 주위 노출 및 숄더 서핑, 추측공격을 방지하는 사용자 인증시스템을 제공하는 데에 있다.
본 발명이 해결하고자 하는 다른 과제는 사용자 인증 단계에서, 사용자가 원래 패스워드로 등록한 패스워드를 입력하기 이전 및 이후 또는 이전, 이후에 랜덤 키값을 무작위로 입력하여 정크 데이터를 만들어 패스워드를 이 정크 데이터 안에 감출 수 있도록 하고, 이렇게 입력된 패스워드가 포함된 정크 데이터 안에서 패스워드의 존재 여부를 확인하여 사용자 인증을 결정하는데 있다.
본 발명이 해결하고자 하는 또다른 과제는 사용자 인증 단계에서, 패스워드 입력 시 사용자의 무의식적인 동작에 의해 필요한 정보가 없는 무의미하고 엉터리인 문자, 즉 잘못된 데이터인 정크 데이터(Junk Data)를 무작위로 생성해내도록 유도하고, 과거의 인증과정에서 사용된 정크 데이터들을 수집 보관하여, 현재 무작위로 입력된 정크 데이터 값과 일치하는지를 비교하여, 패스워드의 해킹 유무를 판단하여 패스워드의 유출에 의한 불법 사용을 사전 예방하는데 있다.
본 발명이 해결하고자 하는 또다른 과제는, 현재 입력된 정크 데이터가 이전에 사용된 정크 데이터와 일치하여 패스워드가 불법 노출되거나 해킹된 것으로 판단될 때, 정크 데이터를 제외한 실제 패스워드 입력을 다시 요구한 후, 이때 입력된 패스워드를 실제 패스워드와 비교하여 그 비교 결과에 따라 사용자 인증 여부 및 불법 노출과 해킹 여부를 결정하는데 있다.
본 발명이 해결하고자 하는 또다른 과제는, 새로운 기기 설치나 구조변경이 필요 없이 현재 사용하는 패스워드를 그대로 사용하면서도 쉽고 짧은 패스워드만으로도 간편성과 함께 보안성을 동시에 극대화하여, 패스워드 입력 시에 필연적으로 발생하지만 현재 기술로는 근본적인 차단이 어려운 단말장치에서의 주위 노출, 숄더 서핑과 키로깅, 몰래 카메라 등 여러 해킹으로부터 안전하고, 사용자에게 익숙한 사용자 인증시스템을 제공하는 데에 있다.
상기 기술적 과제를 이루기 위한 본 발명의 실시예에 따른 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 사용자 인증 방법은, 패스워드 설정모드에서 사용자로부터 패스워드로 설정하고자 하는 키(Key)값을 입력받아 메모리에 저장하는 단계; 사용자 인증모드에서 사용자로부터 상기 패스워드와 상기 패스워드의 이전 및 이후 또는 이전, 이후에 의미 없는 무작위의 랜덤 키값인 정크 데이터가 입력되는 단계; 사용자 인증모드에서 사용자로부터 입력받은 상기 패스워드가 포함된 정크 데이터에서 상기 패스워드와 상기 정크 데이터를 분리 추출하는 단계; 및 상기 패스워드가 상기 메모리에 저장된 패스워드와 일치하거나, 상기 분리 추출된 패스워드가 상기 메모리에 저장된 패스워드와 일치하고 상기 패스워드가 포함된 정크 데이터가 이전의 인증과정에서 사용자로부터 입력받아 상기 메모리에 저장된 패스워드가 포함된 정크 데이터와 일치하지 않는 것으로 판명되면 사용자 인증을 성공으로 처리하는 단계를 포함하는 것을 특징으로 한다.
상기 기술적 과제를 이루기 위한 본 발명의 다른 실시예에 따른 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템은, 사용자로부터 패스워드 및 정크 데이터에 관련된 숫자, 문자 및 특수문자, 기호를 입력받기 위한 키 입력부; 패스워드 설정모드에서 패스워드로 설정하기 위해 사용자로부터 입력받은 키값 및 사용자 인증모드에서 입력된 패스워드와 정크 데이터를 저장하는 저장수단; 상기 패스워드와 관련된 정보를 디스플레이하는 표시부; 사용자 인증모드에서 사용자로부터 상기 패스워드를 입력받을 때 상기 패스워드의 이전 및 이후 또는 이전, 이후에 입력되는 정크 데이터를 함께 입력받아 상기 패스워드가 포함된 정크 데이터에서 상기 정크 데이터와 상기 패스워드를 분리 추출한 후 상기 분리 추출된 패스워드가 상기 저장수단에 저장된 패스워드와 일치하거나, 상기 분리 추출된 패스워드가 상기 저장수단에 저장된 패스워드와 일치하고 상기 패스워드가 포함된 정크 데이터가 이전의 인증과정에서 사용자로부터 입력받아 상기 메모리에 저장된 패스워드가 포함된 정크 데이터와 일치하지 않는 것으로 판명되면 사용자 인증을 성공으로 처리하는 제어부를 포함하는 것을 특징으로 한다.
본 발명은 사용자로부터 입력된 정크 데이터가 포함된 패스워드에서 무작위 자릿수, 무작위 수로 이루어진 하나 이상의 정크 데이터와 소정의 자릿수로 이루어진 패스워드를 분리하고, 분리된 패스워드가 미리 저장되어 있는 패스워드와 일치하거나, 함께 입력된 패스워드와 정크 데이터가 과거의 인증과정에서 사용자로부터 입력받아 사용되어 메모리에 저장되어 있는 패스워드가 포함된 정크 데이터와 일치하지 않는 것으로 판명될 때 사용자 인증을 성공으로 처리함으로써, 보안성과 편리성을 동시에 함께 향상시킬 수 있는 효과가 있다. 패스워드를 길게 하면 보안성은 높아지는 반면에 간편성은 떨어지기 때문에 보안성을 높이기 위해 무한정 패스워드의 자릿수를 많게 할 수는 없다. 하지만 본 발명은, 사용자는 짧은 패스워드만을 기억하고 사용하지만, 패스워드 입력 시에는 패스워드의 전과 후, 또는 전후에 짧은 패스워드를 타 관찰자가 알아채지 못하도록 정크 데이터를 입력하되, 이 정크 데이터는 소정의 자릿수, 소정의 숫자를 일부러 기억하는 것이 아니라 무의식적이며 즉흥적으로 만들어져 아무런 정보나 의미를 갖지 않는 무작위의 숫자를 임의로 무작위 개수만큼 자유롭게 입력하기 때문에 간편성과 보안성을 동시에 획기적으로 높일 수 있게 된다.
또한, 현관문의 도어락, 차량 도어의 개폐장치, 금고 도어락과 노트북 컴퓨터, 태블릿 PC 및 스마트폰 등 개인 단말기와 스마트워치 등 웨어러블 기기, IoT와 연동되는 기기의 잠금장치의 잠금 상태를 해제하거나, 유무선의 네트워크를 통해 서버와 연결된 컴퓨터, 스마트폰, 태블릿 PC 및 노트북 컴퓨터, 스마트TV 등의 인터넷 사용자 인증 시스템에서 사용자를 인증하거나, 전자상거래, 금융기관의 온라인 인증이나 금융서비스, 현금자동입출금기(ATM) 및 민원서류발급기 등의 시스템에서 기존의 구조를 변경하거나 기기의 교체 없이 소프트웨어만 업그레이드하여 간단하게 적용할 수 있는 효과가 있다.
또한 사용자 입장에서는 이전부터 사용하고 있던 패스워드를 새로 교체하거나 어렵고 복잡하고 길게 만들지 않고 그대로 사용할 수 있음으로써 패스워드 오류나 패스워드 망각, 분실 등에서 자유롭고, 주위의 노출에 신경 쓸 필요가 없어 장소에 구애 받지 않고 자유로운 사용이 가능해지며, 현재의 익숙한 패스워드(비밀번호) 입력방식을 그대로 사용하게 되어 새로운 기기, 새로운 방법, 새로운 인증 시스템의 적응에 대한 거부감과 작동 오류가 없고 친숙하고 익숙한 이점이 있어 패스워드의 빠른 입력이 가능하여 주위 노출, 숄더 서핑, 추측 공격은 물론 몰래카메라 노출에서도 안전성과 편리성을 함께 확보할 수 있는 효과가 있다.
특히 OTP나 랜덤 가상키보드는 키로깅을 회피할 수는 있지만 패스워드 입력 시 짧은 패스워드 키값만을 입력하기 때문에 입력 시 필연적으로 발생하는 주위 노출이나 숄더 서핑을 막을 수 없는 보안상의 한계를 지니고 있으나, 본 발명은 패스워드 입력 시마다 패스워드에 무작위 자릿수의 무작위의 즉흥적인 정크 데이터를 함께 입력하여, 일정하지 않고 불규칙하게 생성되는 항상 다른 형태의 숫자 조합 안에 패스워드를 감출 수 있기 때문에, 설령 패스워드 입력 동작이 주위의 사람들에게 노출되더라도 주위 사람들은 패스워드가 포함된 정크 데이터 안에 있는 실제 패스워드를 알아낼 방법이 없고, 항상 바뀌는 긴 패스워드를 기억할 수도 없어 보안성과 편리성이 함께 높아진다.
특히, 패스워드 입력 방식에서 현재 기술로는 근본적으로 막을 수 없는 디바이스 상에서의 주위 노출과 숄더 서핑, 몰래카메라 해킹에서도 안전성을 함께 확보할 수 있어, 주변 사람들이 함께 있는 장소에서의 패스워드 입력 시 겪는 어색한 분위기와 불안감도 사라지게 된다.
또한, 정크 데이터를 입력하지 않고 패스워드만으로도 사용자 인증이 가능하기 때문에, 특별한 보안이 필요 없는 자택이나 사무실 등 안전한 상황에서는 간편하고 빠르게 짧은 패스워드만을 그대로 입력하여 사용자 인증을 할 수 있어, 사용자의 선택에 따라 보안성을 높일 수도, 간편성을 높일 수도 있는 선택 사용이 가능한 편리함이 있다.
또한, 패스워드 입력 시 생성되는 오류 데이터를 활용하지 못하는 OTP나 랜덤 가상키보드를 활용한 인증 방법과 달리, 설령 몰래 카메라나 숄더 서핑, 노출 등에 의해 패스워드가 해킹되었다 하더라도 현재 입력된 정크 데이터와 이전에 입력되어 저장된 정크 데이터와의 비교를 통해 해킹된 패스워드라는 것을 사전에 미리 인식하여 위험 경고 예보를 할 수 있으며, 이후 2차로 정크 데이터가 제외된 실제 패스워드 입력을 요청하여 사용자 인증을 확실하게 다시 하게 되므로, 노출이나 해킹에 의한 불법 사용자 인증을 예방 및 차단할 수 있는 효과가 있다.
도 1a는 본 발명에 의한 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템의 일실시예를 보인 사용자 인증 블록도이다.
도 1b는 본 발명에 의한 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템의 다른 실시예를 보인 사용자 인증 블록도이다.
도 2는 본 발명에 의한 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템을 이용한 사용자 인증 방법의 처리과정을 나타낸 흐름도이다.
도 3은 본 발명에 의해 실제 패스워드에 랜덤키값이 추가되어 생성된 정크 데이터의 패턴 예시를 나타낸 것이다.
도 4는 본 발명에 의해 패스워드와 정크 데이터를 입력하여 사용자 인증에 사용된 3가지 패턴과 불법 노출이나 해킹에 의해 사용된 예시를 나타낸 것이다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하면 다음과 같다.
도 1a는 본 발명에 의한 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템의 일실시예를 보인 오프라인상의 사용자 인증 블록도로서 이에 도시한 바와 같이 사용자 인증 시스템(100)은 키 입력부(110), 제어부(120), 표시부(130) 및 메모리(140)를 포함한다.
도 1b는 본 발명에 의한 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템의 다른 실시예를 보인 온라인상의 사용자 인증 블록도로서 이에 도시한 바와 같이 사용자 인증 시스템(200)은 사용자 단말기(210), 네트워크(220), 인증서버(230) 및 데이터베이스(DB)(240)를 포함한다.
도 1a와 도 1b를 비교해 보면, 오프라인, 온라인상의 차이점이 있을 뿐 키 입력부(110)는 단말기(210)에, 제어부(120)는 인증서버(230)에, 메모리(140)는 데이터베이스(240)에 각각 대응될 수 있다.
제어부(120)와 인증서버(230)에서의 사용자 인증 처리 방법은 서로 동일하므로, 이하에서는 도 1a의 블록도를 참고하여 본 발명에 따른 사용자 인증 시스템의 작용을 설명한다.
키 입력부(110)는 사용자가 입력하는 패스워드 및 정크 데이터를 입력하기 위한 사용자 인터페이스로서 특별하게 한정되지 않는다. 상기 키 입력부(110)의 예로써, 현관문의 디지털 도어락, 차량 도어나 금고에 설치된 키패드, 스마트폰, 태블릿 PC, 노트북 컴퓨터, 컴퓨터 및 스마트TV 등 사용자 단말기와 스마트워치 등 웨어러블 기기의 키패드, 마우스, 키 입력이 가능한 터치화면이나 리모콘, 현금자동입출금기(ATM) 및 민원서류발급기 등 자동화기기의 키패드 및 터치화면 등이 포함될 수 있다.
제어부(120)는 상기 키 입력부(110)를 통해 입력되는 패스워드 및 정크 데이터를 표시부(130)에 표시함과 함께, 메모리(140)에 미리 저장되어 있는 패스워드 및 정크 데이터들을 비교하여 후술하는 사용자 인증방법으로 사용자 인증을 실시하는 역할을 한다.
표시부(130)는 제어부(120)의 제어를 받아 사용자에게 알려주고자 하는 문자를 디스플레이하는 것으로 액정표시장치(LCD), 단말기의 화면, 모니터 등이 포함될 수 있다.
메모리(140)는 사전에 사용자에 의해 상기 키 입력부(110)를 통해 입력된 패스워드 및 패스워드와 함께 입력되어 사용된 정크 데이터를 저장한다.
휘발성 메모리 이외에 하드 디스크나, 플래쉬 메모리 등 각종 비휘발성 저장수단이 이에 해당한다.
도 2는 본 발명에 의한 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템의 사용자 인증 방법의 처리과정을 나타낸 흐름도이다.
도 3은 본 발명에 의해 원래 사용하고자 한 실제 패스워드에 무작위한 랜덤키값이 추가되어 생성된 정크 데이터의 패턴의 예시를 나타낸 것이다.
도 4는 본 발명에 의해 패스워드와 정크 데이터를 입력하여 사용자 인증에 사용된 데이터를 일정기간 수집, 분석하여 사용의 3가지 패턴 및 안전한 사용과 불안전한 사용을 판단하고, 불법 노출이나 해킹에 의해 사용된 예시를 나타낸 것이다.
이하, 도 1 내지 도 4를 참조하여 본 발명에 따른 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템의 사용자 인증 방법에 대하여 설명하면 다음과 같다.
사용자가 이전에 패스워드 설정모드를 수행하지 않아 최초로 패스워드 설정을 요청하거나 이미 설정된 패스워드의 변경을 요청하는 경우 제어부(120)는 패스워드 설정모드를 실행한다(S1).
이어서, 제어부(120)는 사용자가 설정하는 패스워드의 키(Key)값을 입력받아 메모리(140)에 저장한다(S2).
본 발명에 사용되는 패스워드는 사용자가 설정하고자 한 소정의 자릿수를 가진 패스워드(PW, Password)로 이루어지지만, 사용자 인증단계에서의 패스워드 입력 시에는 상기 패스워드를 감추기 위한 하나 이상의 정크 데이터(JD, Junk Data)와 함께 입력이 이루어진다.
상기 정크 데이터는 사용자가 항시 기억해야하는 일정한 형식과 요건을 갖춘 패스워드와는 달리, 사용자의 무의식적이고 즉흥적인 입력 동작에 의해 생성되기 때문에 필요한 정보가 없는 무의미하고 엉터리인 ‘정크 데이터(Junk data)’란 말 그대로 아무 쓸데없는 데이터로, 사용자가 원래 패스워드로 등록한 패스워드(PW)를 입력하기 이전 및 이후 또는 이전, 이후에 사용자에 의해 무작위로, 원하는 자릿수만큼 즉흥적으로 자유롭게 입력되어 생성, 사용된다. 상기 패스워드와 정크 데이터는 숫자, 문자 및 특수문자, 기호가 사용될 수 있다.
도 3의 (a) 내지 (d)는 사용자 인증단계에서 사용자에 의해 입력되는 패스워드와 함께 입력되는 정크 데이터(JD)에 의해 만들어지는 패턴을 예로 들어 나타낸 것이다. 여기서, (a)는 4자리 수의 정크 데이터(JD)와 상기 정크 데이터(JD)의 다음에 위치하는 4자리 수의 패스워드로 이루어진 패턴의 예를 나타낸 것이다. (b)는 4자리 수의 패스워드와 상기 패스워드의 다음에 위치하는 8자리 수의 정크 데이터(JD)로 이루어진 패턴의 예를 나타낸 것이다. (c)는 3자리 수의 제1 정크 데이터(JD1), 상기 제1 정크 데이터(JD1)의 다음에 위치하는 4자리 수의 패스워드 및 상기 패스워드의 다음에 위치하는 5자리 수의 제2 정크 데이터(JD2)로 이루어진 패턴의 예를 나타낸 것이다. (d)는 4자리 수의 제1 패스워드(PW1), 상기 패스워드(PW1)의 다음에 위치하는 5자리 수의 정크 데이터(JD) 및 상기 정크 데이터(JD)의 다음에 위치하는 3자리 수의 제2 패스워드(PW2)로 이루어진 패턴의 예를 나타낸 것이다.
상기와 같이 이루어지는 패스워드와 정크 데이터에 사용되는 숫자의 개수는 특별하게 한정되지 않는다. 단지, 패스워드를 구성하는 숫자의 개수는 사용자의 편의성을 감안할 때 짧을수록 좋겠지만, 패스워드 구성의 최소단위인 4자릿수 이상이 바람직하고, 정크 데이터를 구성하는 개수는 1개부터 n개까지 자유롭게 무작위로 즉흥적으로 사용할 수 있지만, 사용자의 편의성과 입력시간을 고려하고, 타인에 의한 추측공격을 가정할 경우 현실적인 실제 입력 개수는 10자릿수 이하로 한정하는 것이 좋다.
즉, 사용자가 기억해야하는 실제 패스워드는 짧고 간편하게 4개의 숫자 조합으로 사용하지만, 패스워드의 전과 후 또는 전 후에 추가하는 정크 데이터의 개수(자릿수)는 사용자가 임의로 무작위하게 자유롭게 마음대로 생성해 추가할 수 있다. 단, 도 3의 (b), (c), (d)에서와 같이 패스워드가 포함된 정크 데이터 전체의 숫자 개수는 보안성을 높이기 위해서는 10자리 수 이상인 것이 바람직하다. (b), (c)의 경우, 사용한 정크 데이터 8자리를 제외하면 사용자가 기억해야 하는 실제 패스워드의 키값은 4개밖에 되지 않는다. 참고로, 1956년 발표된 조지 밀러(George A. Miller)의 연구논문 “The Magic number seven, plus or minus Two”에 의하면, 사람이 외울 수 있는 숫자의 일반적인 개수는 평균 7자리 수로 보고되고 있다. 이를 감안할 때, 도 3의 (b)와 (c)같은 패스워드는 편의성과 보안성을 모두 만족하는 패스워드이다. 왜냐하면, 패스워드를 포함한 정크 데이터를 이루는 숫자가 모두 12자리이므로 주위 노출이나 타인의 기억 등에서 보안성이 매우 우수하고, 이 12자리 중에서 사용자는 정크 데이터를 제외한 실제 패스워드에 해당하는 4자리 숫자 ‘2016’만 기억하면 되므로 편리성 또한 우수하다고 할 수 있다.
이는 조지 밀러의 연구논문에 따르면, 7자리 숫자를 기준으로, 여기서 2자리가 작은 5자리 숫자는 누구든지 쉽게 외울 수 있는 반면, 2자리가 큰 9자리 숫자는 외울 수 없는 숫자조합이 된다. 즉, 사용자에게는 암기하기 쉬운 패스워드이지만, 정크 데이터로 위장된 패스워드는 노출되어도 곁에서 이를 보고 외울 수가 없게 된다.
도 4의 (c)와 (n)의 경우처럼, 주변에 관찰자들이 많아 부득이 긴 숫자인 16자리 숫자나 19자리 숫자가 입력될 경우, 패스워드로 사용하기에는 매우 긴 숫자이지만 사용자는 4자리의 패스워드만 기억하기 때문에 아무런 부담 없이 이 긴 숫자조합을 편하게 입력하게 되고, 패스워드 입력 시 고의로 주위 노출을 유발한다 해도 주위 관찰자들은 이 긴 숫자 조합 중에서 실제 패스워드 4개를 알아낼 수도 없고, 또한 인간의 기억범위와 능력으로는 이 긴 숫자 조합을 기억할 방법이 없어 주위 노출이나 숄더 서핑에서 확실한 안전을 보장하게 된다.
이하, 설명에서는 사용자에 의해 입력되는 패스워드를 포함한 정크 데이터가 도 3의 (c)와 같은 패턴인 것을 예로 하여 설명한다.
사용자 인증모드에서 제어부(120)는 키 입력부(110)를 통해 사용자로부터 패스워드(PW)와 상기 패스워드의 이전에 입력되는 제1 정크 데이터(JD1) 및 상기 패스워드의 이후에 입력되는 제2 정크 데이터(JD)를 입력받는다(S3).
이때 사용자가 항상 상기와 같이 패스워드와 함께 정크 데이터(JD)를 입력하는 것은 아니다. 예를 들어, 사용자가 현재 상황이 패스워드와 정크 데이터(JD)를 함께 사용하지 않아도 되는 자택이나 사무실 등 보안이 필요 없는 안전한 상황이라고 판단될 때, 도 4의 (e), (k), (m)과 같이 간단한 실제 패스워드만을 빠르고 간편하게 입력할 수 있다.
도 4에서 제시한, 수집된 정크 데이터 사용 예시를 자세히 비교·분석해보면, 상기의 예시와 같이 (e), (k), (m)은 실제 패스워드만을 사용해 인증한 경우로 안전한 장소에서 사용된 것임을 알 수 있고, 4자리 패스워드와 6자리 이상의 정크 데이터, 즉 10자릿수 이상을 입력하여 사용한 (a), (c), (f), (g), (h), (j), (n), (o)의 경우 주위가 불안전하거나 불안한 상태에서 입력된 패스워드라는 것을 알 수 있다.
특히 이 중 (h)와 (o)의 경우, 패스워드와 함께 입력된 정크 데이터 12자릿수가 동일하고, 먼저 입력된 (h)가 불안전한 곳에서 불안한 상태로 입력된 것이 확실하고, 이후 입력된 (o)가 (h)와 동일하므로, (h)가 주위 노출, 몰래 카메라 등에 의해 해킹되어 사용된 것이 (o)라는 판단을 하게 된다. 이렇게 정크 데이터를 이용해 해킹에 의한 불법 사용을 예측하여 사용자 인증을 에러 처리하고 “해킹 위험”경고를 게시할 수 있다.(S7, S9)
상기 예시에서 알 수 있듯이 패스워드 입력 시 수시로 발생, 생성되지만 쓸모없다고 여겨왔던 패스워드 오류값들인 정크 데이터의 수집 및 정크 데이터 생성을 유도하고 이를 저장, 분류, 분석하여 가치 데이터를 찾아내고 이를 이용해 해킹이나 불법 노출 사용 등을 사전 예측할 수 있게 된다.
제어부(120)는 상기와 같은 패턴으로 입력된 패스워드가 포함된 정크 데이터 중에서 제1 정크 데이터(JD1)와 제2 정크 데이터(JD2)를 제외한 실제 패스워드를 추출하게 되는데, 이를 위해 Finite-state automaton based search, Brute Force Algorithm, Knuth-Morris-Pratt Algorithm, Rabin-Karp string algorithm 등의 문자열 검색 알고리즘이나 패턴 매칭 알고리즘, 패턴 인식 알고리즘 등을 사용할 수 있다(S4).
만약, 상기와 같이 사용자가 정크 데이터(JD)를 입력하지 않고 실제 패스워드만을 입력한 경우(도 4의 (e), (k), (m)), 상기 패스워드 추출단계(S4)에서 정크 데이터(JD)는 검출되지 않고 패스워드만 검출된다.
제어부(120)는 상기 추출된 패스워드가 메모리(140)에 저장되어 있는 패스워드와 일치하는지의 여부를 확인하여 일치하지 않는 것으로 판명되면, 이는 올바르지 않은 패스워드이므로 에러 처리하고, 그 사실을 표시부(130)에 표시한다(S5, S6).
만약, 상기와 같이 사용자가 정크 데이터(JD)와 실제 패스워드를 함께 입력한 경우에도 제어부(120)는 상기 추출된 패스워드가 메모리(140)에 저장되어 있는 패스워드와 일치하는지의 여부를 확인하여 일치하지 않는 것으로 판명되면, 이는 올바르지 않은 패스워드이므로 에러 처리하고, 그 사실을 표시부(130)에 표시한다.
그러나, 상기 확인 결과 상기 추출된 패스워드가 메모리(140)에 저장되어 있는 패스워드와 일치하는 것으로 판명되면, 제어부(120)는 상기 패스워드가 포함된 제1 정크 데이터(JD1)와 제2 정크 데이터(JD2)가 이전의 인증과정에서 사용자가 입력하여 사용되어 메모리(140)에 저장된 패스워드가 포함된 정크 데이터들과 각각 일치하는지 확인하고, 상기 확인 결과 서로 일치하지 않는 것으로 판명되면 사용자 인증을 성공으로 처리한다(S7, S8).
이와 같이 현재 입력된 패스워드가 포함된 제1 정크 데이터(JD1)와 제2 정크 데이터(JD2)가 이전의 인증과정에서 사용자가 입력하여 메모리(140)에 저장된 패스워드가 포함된 정크 데이터들과 각각 일치하는지의 여부를 확인하는 이유는, 사용자가 이전에 사용한 패스워드가 노출이나 숄더 서핑, 몰래 카메라나 다른 수단에 의해 불법 사용자에게 노출된 경우 그 불법 사용자는 사용자가 입력한 제1 정크 데이터(JD1), 패스워드(PW) 및 제2 정크 데이터(JD2)로 이루어진 정크 데이터가 포함된 패스워드 전체를 하나의 패스워드로 인식하여 ‘325 2016 11234’를 그대로 입력하거나(도 4의 (o)), 이 숫자 중 일부를 누락하거나 교체하여 입력하기 때문이다. 이를 감안하여 패스워드가 포함된 정크 데이터 중 9자릿수 이상이 연속적으로 동일할 경우 해킹으로 판단할 수 있다. 이는 몰래카메라나 해킹이 아니고는 일반적으로 9자리 숫자를 암기하기가 어렵기 때문이다. 또한 사용자는 패스워드와 제1 정크 데이터(JD1),와 제2 정크 데이터(JD2)를 이루는 랜덤의 9자리 숫자(또는 문자, 특수문자, 기호) 중에서 적어도 하나 이상의 숫자나 자릿수가 이전에 입력한 것과 달라야 한다.
본 실시예에서는 현재 입력된 패스워드와 제1 정크 데이터(JD1), 제2 정크 데이터(JD2)를 과거의 인증과정에서 사용자가 입력하여 메모리(140)에 저장된 해당 패스워드가 포함된 정크 데이터들과 각각 일치하는지 확인하는 것을 예로 하였으나, 본 발명이 이에 한정되는 것이 아니다. 예를 들어, 현재 입력된 패스워드가 포함된 제1 정크 데이터(JD1)와 제2 정크 데이터(JD2)를 바로 이전을 포함하는 몇 번의 인증과정에서 사용자가 입력하여 메모리(140)에 저장된 패스워드가 포함된 정크 데이터들과 각각 일치하는지를 확인함으로써(도 4의 (h), (o)), 해킹 위험이나 해킹 시도를 사전 예측하여 패스워드의 불법 유출(해킹)에 대한 보안을 강화할 수 있다.
따라서, 상기 확인 결과 상기 패스워드가 포함된 제1 정크 데이터(JD1)와 제2 정크 데이터(JD2)가 메모리(140)에 저장되어 있는 패스워드가 포함된 정크 데이터와 각각 일치하는 것으로 판명되면, 제어부(120)는 현재 입력된 패스워드가 불법 사용자에 의해 입력된 것이거나 혹은 사용자의 실수에 의한 입력으로 판단하여, 2차 패스워드 입력을 요청한다(S9), (도 4 (p)).
상기 2차 패스워드란 상기 제1 정크 데이터(JD1) 및 패스워드(PW), 제2 정크 데이터(JD2) 중에서 정크 데이터를 모두 제외한 패스워드(PW)만을 의미하는 것으로, 사용자는 이 사실을 인지하고 실제 패스워드인 4자리의 숫자 ‘2016’을 입력할 것이다. 이에 반하여, 불법 사용자인 경우 패스워드가 포함되어 있는 정크 데이터의 전체 숫자는 알고 있지만 그 안에 들어있는 실제 패스워드만을 알 수는 없으므로 제1 정크 데이터(JD1) 및 패스워드(PW), 제2 정크 데이터(JD2)를 포함하는 12자리의 숫자를 입력할 것이다. 아니면, 이 전체 12자리 숫자들 중에서 패스워드 키값을 임의로 선택하여 입력할 수밖에 없게 된다.
제어부(120)는 이때 입력된 2차 패스워드를 메모리(140)에 저장되어 있는 패스워드와 비교하여 일치하는 것으로 판명되면 사용자 인증에 대해 성공으로 처리하고, 일치하지 않는 것으로 판단되면 에러 처리한다(S10-S12).
이때, 입력된 2차 패스워드가 메모리(140)에 저장되어 있는 패스워드와 일치하지 않는 경우, 상기 제어부(120)는 패스워드가 불법 유출된 것으로 판단하여 표시부(130)를 통해 사용자에게 패스워드 변경을 요청할 수 있어, 불법 해킹에 대한 사전 예측 및 고지가 가능하여 예방과 보안을 강화할 수 있게 된다.
단, 상기와 같이 입력된 2차 패스워드가 메모리(140)에 저장되어 있는 패스워드와 일치하지 않는 경우, 해킹일 수도 있지만 혹은 사용자의 실수에 의한 것일 수도 있으므로, 미리 설정된 횟수(예: 3회)에 걸쳐 2차 패스워드 입력을 요청하여 계속해서 입력된 2차 패스워드가 메모리(140)에 저장되어 있는 패스워드와 일치하지 않는 경우, 상기 제어부(120)는 바로 이전에 입력된 패스워드가 불법 유출(해킹)에 의한 패스워드로 판단하여 에러 처리함과 아울러 표시부(130)를 통해 사용자에게 불법 유출의 가능성을 알리고 패스워드 변경을 요청하는 것이 바람직하다.
이상에서 본 발명의 바람직한 실시예에 대하여 상세히 설명하였지만, 본 발명의 권리범위가 이에 한정되는 것이 아니라 다음의 청구범위에서 정의하는 본 발명의 기본 개념을 바탕으로 보다 다양한 실시예로 구현될 수 있으며, 이러한 실시예들 또한 본 발명의 권리범위에 속하는 것이다.
100 : 사용자 인증 시스템
110 : 키 입력부
120 : 제어부
130 : 표시부
140 : 메모리

Claims (14)

  1. 사용자 인증 시스템이,
    (a)패스워드 설정모드에서 사용자로부터 패스워드로 설정하고자 하는 키값을 입력받아 메모리에 저장하는 단계;
    (b) 사용자 인증모드에서 사용자로부터 정크 데이터가 포함된 상기 패스워드를 입력받되, 상기 정크 데이터는 상기 패스워드의 이전 또는 이후 또는 이전 및 이후에 입력되는 단계;
    (c) 사용자 인증모드에서 사용자로부터 입력받은 상기 패스워드가 포함된 정크 데이터에서 상기 패스워드와 상기 정크 데이터를 분리 추출하는 단계; 및
    (d) 상기 분리 추출된 패스워드가 상기 메모리에 저장된 패스워드와 일치하면 사용자 인증을 성공으로 처리하는 단계;를 포함하는 것을 특징으로 하는 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 사용자 인증 방법.
  2. 제1항에 있어서,
    상기 패스워드가 포함된 정크 데이터가 이전의 인증과정에서 사용자가 입력하여 상기 메모리에 저장된 패스워드가 포함된 정크 데이터와 일치하는 것으로 판명되면, 사용자에게 제2차 패스워드 입력을 요청한 후 입력된 제2차 패스워드를 상기 메모리에 저장된 패스워드와 비교하여 일치 여부에 따라 사용자 인증을 성공으로 처리하거나 에러 처리하는 단계;를 더 포함하는 것을 특징으로 하는 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 사용자 인증 방법.
  3. 제1항에 있어서,
    상기 패스워드가 포함된 정크 데이터 패턴은,
    복수 개의 자릿수로 이루어진 정크 데이터 및 4개 이상의 자릿수로 이루어진 패스워드를 포함하는 패턴;
    복수 개의 자릿수로 이루어진 제1 정크 데이터, 4개 이상의 자릿수로 이루어진 패스워드 및 복수 개의 자릿수로 이루어진 제2 정크 데이터를 포함하는 패턴; 및
    3개 이상의 자릿수로 이루어진 제1 패스워드, 복수 개의 자릿수로 이루어진 정크 데이터 및 3개 이상의 자릿수로 이루어진 제2 패스워드를 포함하는 패턴;
    가운데 어느 하나의 패턴을 포함하는 것을 특징으로 하는 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 사용자 인증 방법.
  4. 제1항에 있어서,
    상기 패스워드는 4 자릿수 이상의 숫자, 문자, 특수문자 및 기호 중에서 어느 하나 이상을 포함하는 것을 특징으로 하는 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 사용자 인증 방법.
  5. 제1항에 있어서,
    상기 정크 데이터는 1 자릿수 이상의 숫자, 문자, 특수문자 및 기호 중에서 어느 하나 이상을 포함하는 것을 특징으로 하는 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 사용자 인증 방법.
  6. 제1항에 있어서,
    상기 (b) 단계의 정크 데이터는 1 자릿수 이상, 무작위의 자릿수를 포함하며, 각각의 자릿수에 사용되는 숫자나 문자, 특수 문자 및 기호는 무작위로 즉흥적으로 자유롭게 입력되는 것을 특징으로 하는 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 사용자 인증 방법.
  7. 제1항에 있어서,
    정크 데이터가 포함된 패스워드를 사용하거나, 정크 데이터를 사용하지 않고 패스워드만을 사용하는 것을 사용자의 의도에 따라 선택적으로 처리하는 단계;를 더 포함하는 것을 특징으로 하는 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 사용자 인증 방법.
  8. 제1항에 있어서,
    상기 (c) 단계는 문자열 검색 알고리즘 및 패턴 매칭 알고리즘, 패턴 인식 알고리즘을 이용하여 수행되는 것을 특징으로 하는 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 사용자 인증 방법.
  9. 제1항에 있어서,
    상기 (d) 단계는 상기 패스워드가 상기 메모리에 저장되어 있는 패스워드와 일치하지 않는 횟수가 미리 정해진 횟수 이상인 경우, 사용자에게 해킹위험 경고 및 패스워드 변경을 요청하는 단계를 더 포함하는 것을 특징으로 하는 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 사용자 인증 방법.
  10. 제2항에 있어서,
    상기 패스워드가 포함된 정크 데이터를 바로 이전을 포함하는 몇 번의 인증과정에서 상기 메모리에 저장되어 있는 패스워드가 포함된 정크 데이터들과 각각 비교하여 9자리 이상이 연속으로 일치하는 경우 에러 처리하는 단계를 더 포함하는 것을 특징으로 하는 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 사용자 인증 방법.
  11. 사용자로부터 패스워드 및 정크 데이터 생성에 관련된 숫자, 문자 및 특수문자를 입력받는 키 입력부;
    패스워드 설정모드에서 패스워드로 설정하기 위해 사용자로부터 입력받은 키값 및 사용자 인증모드에서 입력받은 정크 데이터를 저장하는 저장수단;
    상기 패스워드 및 정크 데이터와 관련된 정보를 디스플레이하는 표시부; 및
    사용자 인증모드에서 사용자로부터 상기 패스워드를 입력받을 때 상기 패스워드의 이전 또는 이후 또는 이전 및 이후에 입력되는 정크 데이터를 함께 입력받아 상기 패스워드에서 상기 정크 데이터와 상기 패스워드를 분리 추출한 후 상기 분리 추출된 패스워드가 상기 저장수단에 저장된 패스워드와 일치하는 것으로 판명되면 사용자 인증을 성공으로 처리하는 제어부;를 포함하는 것을 특징으로 하는 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템.
  12. 제11항에 있어서,
    상기 키 입력부는, 스마트폰, 태블릿 PC, 노트북 컴퓨터, 개인용 단말기, 컴퓨터, 스마트TV, 스마트워치, 현관문의 도어락, 차량 도어의 개폐장치, 금고 도어락, 현금자동입출금기(ATM) 및 민원서류발급기 가운데 어느 하나의 입력장치인 것을 특징으로 하는 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템.
  13. 사용자로부터 패스워드 및 정크 데이터 생성에 관련된 숫자, 문자, 특수문자또는 기호를 입력받아 인증서버로 전달하는 단말기;
    패스워드 설정모드에서 패스워드로 설정하기 위해 사용자로부터 입력받은 키값 및 사용자 인증모드에서 입력받은 정크 데이터를 저장하는 데이터베이스; 및
    사용자 인증모드에서 사용자로부터 상기 패스워드를 입력받을 때 상기 패스워드의 이전 또는 이후 또는 이전 및 이후에 입력되는 정크 데이터를 함께 입력받아 상기 패스워드에서 상기 정크 데이터와 상기 패스워드를 분리 추출한 후 상기 분리 추출된 패스워드가 상기 저장수단에 저장된 패스워드와 일치하는 것으로 판명되면 사용자 인증을 성공으로 처리하는 인증서버;를 포함하는 것을 특징으로 하는 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템.
  14. 제13항에 있어서,
    상기 단말기는, 스마트폰, 태블릿 PC, 노트북 컴퓨터, 개인용 단말기, 컴퓨터, 스마트TV, 스마트워치, 현관문의 도어락, 차량 도어의 개폐장치, 금고 도어락, 현금자동입출금기(ATM) 및 민원서류발급기 가운데 어느 하나인 것을 특징으로 하는 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템.
KR1020170024468A 2016-02-26 2017-02-24 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템 및 사용자 인증 방법 KR20170101145A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160023275 2016-02-26
KR20160023275 2016-02-26

Publications (1)

Publication Number Publication Date
KR20170101145A true KR20170101145A (ko) 2017-09-05

Family

ID=59924938

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170024468A KR20170101145A (ko) 2016-02-26 2017-02-24 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템 및 사용자 인증 방법

Country Status (1)

Country Link
KR (1) KR20170101145A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230138766A (ko) 2022-03-24 2023-10-05 김용성 비밀번호 입력 힌트 표시 및 제어 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230138766A (ko) 2022-03-24 2023-10-05 김용성 비밀번호 입력 힌트 표시 및 제어 방법

Similar Documents

Publication Publication Date Title
KR101769119B1 (ko) 정크 데이터 일치여부를 이용한 사용자 인증 시스템 및 방법
US8458484B2 (en) Password generator
AU2007268223B2 (en) Graphical image authentication and security system
Khan et al. Comparative study of authentication techniques
US20150188913A1 (en) Method and apparatus for providing client-side score-based authentication
US20120104090A1 (en) Card-reader apparatus
Shafique et al. Modern authentication techniques in smart phones: Security and usability perspective
Abiew et al. Design and implementation of cost effective multi-factor authentication framework for ATM systems
Gyamfi et al. Enhancing the security features of automated teller machines (ATMs): A Ghanaian perspective
Paul et al. IEDs on the Road to Fingerprint Authentication: Biometrics have vulnerabilities that PINs and passwords don't
Revathy et al. Advanced safe PIN-Entry against human shoulder-surfing
Onyesolu et al. Improving security using a three-tier authentication for automated teller machine (ATM)
Mohamed Security of Multifactor Authentication Model to Improve Authentication Systems
Nath et al. Issues and challenges in two factor authentication algorithms
CN108701183B (zh) 利用垃圾数据是否一致的用户认证方法及认证系统
Reno Multifactor authentication: Its time has come
CA2611549C (en) Method and system for providing a secure login solution using one-time passwords
KR20170101145A (ko) 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템 및 사용자 인증 방법
US20160021102A1 (en) Method and device for authenticating persons
Adithya et al. Security enhancement in automated teller machine
KR101632582B1 (ko) 랜덤키가 포함된 패스워드를 이용한 사용자 인증 방법 및 시스템
US10264450B2 (en) Authentication method using ephemeral and anonymous credentials
Paul et al. Fingerprint authentication is here but are we ready for what it brings?
KR20110012270A (ko) 음성과 랜덤하게 가변되는 자판 배열을 이용한 비밀 번호 처리 방법과 그 시스템
KR101459912B1 (ko) 3차원 디스플레이를 위한 사용자 인증 방법 및 장치