KR101416542B1 - 패스코드 관리 방법 및 장치 - Google Patents

패스코드 관리 방법 및 장치 Download PDF

Info

Publication number
KR101416542B1
KR101416542B1 KR1020130111245A KR20130111245A KR101416542B1 KR 101416542 B1 KR101416542 B1 KR 101416542B1 KR 1020130111245 A KR1020130111245 A KR 1020130111245A KR 20130111245 A KR20130111245 A KR 20130111245A KR 101416542 B1 KR101416542 B1 KR 101416542B1
Authority
KR
South Korea
Prior art keywords
code
passcode
module
storage
user
Prior art date
Application number
KR1020130111245A
Other languages
English (en)
Other versions
KR20140082556A (ko
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 CN201380073545.9A priority Critical patent/CN105009140B/zh
Priority to US14/655,322 priority patent/US9729545B2/en
Priority to BR112015015256-2A priority patent/BR112015015256B1/pt
Priority to JP2015551058A priority patent/JP6121566B2/ja
Priority to PCT/KR2013/008425 priority patent/WO2014104539A1/ko
Priority to EP13867444.5A priority patent/EP2937808B1/en
Priority to MX2015008232A priority patent/MX347803B/es
Publication of KR20140082556A publication Critical patent/KR20140082556A/ko
Application granted granted Critical
Publication of KR101416542B1 publication Critical patent/KR101416542B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 사용자의 개인 데이터를 안전하게 보호하기 위한 패스코드 관리 방법 및 장치에 관한 것이다.
본 발명에 따른 하나 이상의 프로세서; 메모리; 및 상기 메모리에 저장되어 있으며 상기 하나 이상의 프로세서에 의하여 실행되도록 구성되는 하나 이상의 프로그램을 포함하는 패스코드 관리 장치에 있어서, 상기 프로그램은 패스코드 관리 데이터를 저장하는 저장 모듈; 다수의 키 버튼이 배치되는 입력창을 디스플레이하는 입력창 모듈; 상기 입력창을 통해 키 버튼이 입력되면, 입력된 각 키 버튼과 대응되는 코드를 상기 패스코드 관리 데이터에 포함된 코드 테이블에서 확인하여, 상기 확인한 각각의 코드가 조합된 조합코드를 생성하는 조합코드 생성 모듈; 및 상기 생성한 조합코드에 근거하여 보관주소가 설정된 패스코드를 패스코드 보관 서버로부터 수신하는 패스코드 획득 모듈을 포함한다.

Description

패스코드 관리 방법 및 장치{Method for Apparatus for managing passcode}
본 발명은 패스코드 관리 방법에 관한 것으로서, 더욱 상세하게는 사용자의 개인 데이터를 안전하게 보호하기 위한 패스코드 관리 방법 및 장치에 관한 것이다.
사용자 인증을 위한 보편적인 방법으로서 패스워드 인증 방식이 이용되고 있다. 패스워드 인증 방식은 사용자로부터 초기 입력받은 패스워드를 저장한 후, 필요시마다 사용자로부터 패스워드를 입력받아 기 저장된 패스워드와 비교하여 일치할 경우 패스워드 인증을 성공으로 판단하는 것이다. 또한, 기존의 패스워드 인증 방식에서 더 나아가 사용자가 설정한 터치 패턴을 이용하여 사용자를 인증하는 기술이 개시되었다. 아래의 특허문헌은 패턴을 이용하여 사용자를 인증하는 휴대 단말기 및 그의 잠금 및 해제방법에 대해서 개시한다.
그런데 패스워드는 다양한 노출 가능성을 가진다. 예를 들면, 제3자가 사용자의 패스워드 입력 과정을 지켜보고, 패스워드를 알아낼 수 있다. 또한, 해킹 프로그램이 사용자 단말에서 키 입력된 패스워드를 해킹하여 패스워드를 알아낼 수 있다.
따라서, 외부의 해킹으로부터 패스워드와 같은 사용자 데이터를 더욱 안전하게 보호하는 기술이 요구된다.
한국공개특허 10-2009-0013432
본 발명은 이러한 종래의 문제점을 해결하기 위하여 제안된 것으로, 숄더 서핑, 해킹 등으로부터 사용자의 개인 데이터를 안전하게 보호하는 패스코드 관리 방법 및 장치를 제공하는데 그 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 제 1 측면에 따른 하나 이상의 프로세서; 메모리; 및 상기 메모리에 저장되어 있으며 상기 하나 이상의 프로세서에 의하여 실행되도록 구성되는 하나 이상의 프로그램을 포함하는 패스코드 관리 장치에 있어서, 상기 프로그램은 패스코드 관리 데이터를 저장하는 저장 모듈; 다수의 키 버튼이 배치되는 입력창을 디스플레이하는 입력창 모듈; 상기 입력창을 통해 키 버튼이 입력되면, 입력된 각 키 버튼과 대응되는 코드를 상기 패스코드 관리 데이터에 포함된 코드 테이블에서 확인하여, 상기 확인한 각각의 코드가 조합된 조합코드를 생성하는 조합코드 생성 모듈; 및 상기 생성한 조합코드에 근거하여 보관주소가 설정된 패스코드를 패스코드 보관 서버로부터 수신하는 패스코드 획득 모듈;을 포함하는 특징으로 한다.
바람직하게, 상기 패스코드 획득 모듈은 상기 수신한 패스코드를 상기 조합코드를 이용하여 복호화한다.
더욱 바람직하게, 상기 패스코드 획득 모듈은 상기 생성한 조합코드의 해시값이 보관주소로 설정된 상기 패스코드를 상기 패스코드 보관 서버로부터 수신한다.
또한, 상기 패스코드 관리 장치는, 상기 패스코드의 용도를 확인하여, 상기 패스코드 관리 데이터에 포함된 다수의 코드 테이블 중에서 상기 용도에 해당하는 코드 테이블을 선정하는 테이블 선정 모듈을 더 포함한다.
바람직하게, 상기 조합코드 생성 모듈은 상기 입력된 각 키 버튼과 대응되는 코드를 상기 선정한 코드 테이블에서 확인한다.
상기 패스코드 관리 장치는, 패스코드의 관리가 요청되면, 상기 입력창에 배치된 각 키 버튼과 일대일 대응되는 코드를 생성하고 상기 생성한 각각의 코드가 기록된 코드 테이블을 생성하여 상기 저장 모듈의 패스코드 관리 데이터에 저장하는 테이블 생성 모듈을 더 포함한다.
바람직하게, 상기 조합코드 생성 모듈은 상기 입력창을 통해 입력된 각 키 버튼과 대응되는 코드를 상기 테이블 생성 모듈에서 생성한 코드 테이블에서 확인하여 각각의 코드가 조합된 조합코드를 생성하고, 상기 패스코드 관리 장치는 상기 조합코드 생성 모듈에서 생성한 조합코드를 이용하여 상기 관리 요청된 패스코드를 암호화하고, 상기 조합코드를 토대로 보관주소를 설정하여 이 보관주소에 해당하는 상기 패스코드 보관 서버의 저장영역에 상기 암호화한 패스코드를 보관하는 보관 처리 모듈을 더 포함한다.
또한, 상기 패스코드 관리 장치는, 상기 패스코드 관리 데이터의 복구를 사용자 데이터 저장 서버로 요청하고, 상기 사용자 데이터 저장 서버로부터 상기 패스코드 관리 데이터를 수신하여 상기 저장 모듈에 복구하는 데이터 복구 모듈;을 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 제 2 측면에 따른, 패스코드 관리 장치에서 패스코드를 관리하는 방법은, 다수의 키 버튼이 배치되는 입력창을 디스플레이하는 단계; 사용자가 상기 입력창에서 키 버튼이 입력되면, 상기 입력된 각 키 버튼과 대응되는 코드를 코드 테이블에서 확인하여, 상기 확인한 각각의 코드가 조합된 조합코드를 생성하는 단계; 및 상기 생성한 조합코드에 근거하여 보관주소가 설정된 패스코드를 패스코드 보관 서버로부터 수신하는 단계를 포함하는 것을 특징으로 한다.
본 발명은 사용자의 로그인 인증 데이터, 결제수단 데이터, 암호키, 복호키 등 사용자의 주요 데이터를 외부의 해킹 등으로부터 더욱 안전하게 보호하는 장점이 있다.
특히, 본 발명은 장치 또는 서버 중 어느 하나에 저장된 데이터만을 가지고는 패스코드를 정상적으로 확인할 수 없도록 하여, 외부의 해킹으로부터 사용자 데이터의 확실하게 보호하는 장점이 있다.
나아가, 본 발명은 동일한 키 버튼이 입력되더라도 패스코드의 용도에 따라, 서로 다른 조합코드를 생성하고, 이렇게 상이한 조합코드를 이용하여 각각의 패스코드를 별도의 저장공간에 저장하기 때문에, 패스코드 보관에 대한 기밀성을 강화시키는 효과가 있다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명을 실시하기 위한 구체적인 내용과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일 실시예에 따른, 패스코드 관리 시스템의 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른, 패스코드 관리 장치의 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른, 패스코드 관리 프로그램의 구성을 나태는 도면이다.
도 4는 본 발명의 일 실시예에 따른, 입력창과 코드 테이블을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른, 패스코드 관리 장치에서 패스코드를 보관하는 방법을 설명하는 흐름도이다.
도 6은 본 발명의 일 실시예에 따른, 패스코드 관리 장치에서 패스코드를 획득하여 온라인 인증을 수행하는 방법을 설명하는 흐름도이다.
도 7은 본 발명의 일 실시예에 따른, 패스코드 관리 장치에서 패스코드 관리 데이터를 복구하는 방법을 설명하는 흐름도이다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 일 실시예에 따른, 패스코드 관리 시스템의 구성을 나타내는 도면이다.
도 1에 도시된 바와 같이, 패스코드 관리 시스템은 패스코드 관리 장치(100), 패스코드 보관 서버(200), 사용자 데이터 저장 서버(300) 및 서비스 서버(400)를 포함한다.
상기 패스코드 관리 장치(100), 패스코드 보관 서버(200), 사용자 데이터 저장 서버(300), 서비스 서버(400) 각각은 네트워크(500)를 통해서 서로 통신한다. 여기서, 네트워크(500)는 이동통신망과 광대역 유선통신망을 포함하는 것으로서, 본 발명에 있어서 주지의 관용기술에 해당하므로 자세한 설명은 생략한다.
패스코드 보관 서버(200)는 하나 이상의 암호화된 패스코드를 저장한다. 바람직하게, 패스코드 보관 서버(200)는 각 패스코드의 보관주소를 설정하고 이 보관주소에 암호화된 패스코드를 각각 저장한다. 여기서, 패스코드(passcode)는 하나 이상의 부호(즉, 숫자, 문자 등)가 조합된 것으로서, 사용자의 주요 데이터를 기록된다. 예컨대, 패스코드는 패스워드, 지불결재 수단정보(예컨대, 신용카드 번호), 개인키, 암호키, 복호키, 공인인증서 등과 같은 사용자의 중요한 개인 데이터를 기록한다.
또한, 패스코드 보관 서버(200)는 패스코드 관리 장치(100)로부터 암호화된 패스코드의 보관을 요청받으면, 패스코드 관리 장치(100)에서 지정한 보관주소에 상기 암호화된 패스코드를 저장한다. 게다가, 패스코드 보관 서버(200)는 패스코드 관리 장치(100)로부터 보관주소가 포함된 패스코드 요청 메시지를 수신하면, 이 보관주소에 보관된 암호화된 패스코드를 추출하여 패스코드 관리 장치(100)로 전송한다.
사용자 데이터 저장 서버(300)는 사용자 전용의 패스코드 관리 데이터를 저장한다. 구체적으로, 사용자 데이터 저장 서버(300)는 용도별 코드 테이블 및 복수의 키 버튼이 포함된 패스코드 관리 데이터를 사용자별로 구분하여 저장한다. 또한, 사용자 데이터 저장 서버(300)는 패스코드 관리 장치(100)로부터 패스코드 관리 데이터의 복구를 요청받으면, 사용자 본인인증을 수행하고 인증에 성공하면 해당 사용자의 패스코드 관리 데이터를 패스코드 관리 장치(100)로 전송한다.
서비스 서버(400)는 온라인 금융 서비스, 포탈 인터넷 서비스, 게임 서비스 등의 웹 기반의 서비스를 제공하는 서버로서, 패스코드 관리 장치(100)로부터 인증정보를 수신하면, 이 인증정보를 토대로 인증을 수행한 후에 인증에 성공하면 온라인 서비스를 패스코드 관리 장치(100)로 제공한다.
패스코드 관리 장치(100)는 사용자의 패스코드를 관리한다. 구체적으로, 패스코드 관리 장치(100)는 패스코드 보관 서버(200)와 연동하여 사용자의 패스코드를 획득한 후, 이 패스코드를 이용하여 사용자가 요청한 서비스를 제공한다. 또한, 패스코드 관리 장치(100)는 사용자 데이터 저장 서버(300)로 패스코드 관리 데이터의 복구를 요청하여, 사용자 전용의 패스코드 관리 데이터를 복구할 수 있다. 이러한 패스코드 관리 장치(100)는 데스크톱 컴퓨터, 노트북, 이동통신단말 등으로서 네트워크(500)를 통해 통신 가능한 장치라면 제한되지 않으며, 바람직하게는 스마트폰이다.
도 2는 본 발명의 일 실시예에 따른, 패스코드 관리 장치의 구성을 나타내는 도면이다.
도 2에 도시된 바와 같이, 패스코드 관리 장치(100)는 메모리(110), 메모리 제어기(121), 하나 이상의 프로세서(CPU)(122), 주변 인터페이스(123), 입출력(I/O) 서브시스템(130), 디스플레이 장치(141), 입력 장치(142) 및 통신 회로(150)를 포함한다. 이러한 구성요소는 하나 이상의 통신 버스 또는 신호선을 통하여 통신한다. 도 2에 도시한 여러 구성요소는 하나 이상의 신호 처리 및/또는 애플리케이션 전용 집적 회로(application specific integrated circuit)를 포함하여, 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어 둘의 조합으로 구현될 수 있다.
메모리(110)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치와 같은 불휘발성 메모리, 또는 다른 불휘발성 반도체 메모리 장치를 포함할 수 있다. 일부 실시예에서, 메모리(110)는 하나 이상의 프로세서(122)로부터 멀리 떨어져 위치하는 저장 장치, 예를 들어 통신 회로(150)와, 인터넷, 인트라넷, LAN(Local Area Network), WLAN(Wide LAN), SAN(Storage Area Network) 등, 또는 이들의 적절한 조합과 같은 통신 네트워크를 통하여 액세스되는 네트워크 부착형 저장 장치를 더 포함할 수 있다. 프로세서(122) 및 주변 인터페이스(123)와 같은 패스코드 관리 장치(100)의 다른 구성요소에 의한 메모리(110)로의 액세스는 메모리 제어기(121)에 의하여 제어될 수 있다.
주변 인터페이스(123)는 장치의 입출력 주변 장치를 프로세서(122) 및 메모리(110)와 연결시킨다. 하나 이상의 프로세서(122)는 다양한 소프트웨어 프로그램 및/또는 메모리(110)에 저장되어 있는 명령어 세트를 실행하여 패스코드 관리 장치(100)를 위한 여러 기능을 수행하고 데이터를 처리한다.
일부 실시예에서, 주변 인터페이스(123), 프로세서(122) 및 메모리 제어기(121)는 칩(120)과 같은 단일 칩 상에서 구현될 수 있다. 일부 다른 실시예에서, 이들은 별개의 칩으로 구현될 수 있다.
I/O 서브시스템(130)은 디스플레이 장치(141), 기타 입력 장치(142)와 같은 패스코드 관리 장치(100)의 입출력 주변장치와 주변 인터페이스(123) 사이에 인터페이스를 제공한다.
디스플레이 장치(141)는 LCD(liquid crystal display) 기술 또는 LPD(light emitting polymer display) 기술을 사용할 수 있고, 이러한 디스플레이 장치(141)는 용량형, 저항형, 적외선형 등의 터치 디스플레이일 수 있다. 터치 디스플레이는 장치와 사용자 사이에 출력 인터페이스 및 입력 인터페이스를 제공한다. 터치 디스플레이는 사용자에게 시각적인 출력을 표시한다. 시각적 출력은 텍스트, 그래픽, 비디오와 이들의 조합을 포함할 수 있다. 시각적 출력의 일부 또는 전부는 사용자 인터페이스 대상에 대응할 수 있다. 터치 디스플레이는 사용자 입력을 수용하는 터치 감지면을 형성한다.
입력 장치(142)는 키패드, 키보드 등과 같은 입력수단으로서, 사용자의 입력신호를 수신한다.
프로세서(122)는 패스코드 관리 장치(100)에 연관된 동작을 수행하고 명령어들을 수행하도록 구성된 프로세서로서, 예를 들어, 메모리(110)로부터 검색된 명령어들을 이용하여, 패스코드 관리 장치(100)의 컴포넌트 간의 입력 및 출력 데이터의 수신과 조작을 제어할 수 있다.
통신 회로(150)는 안테나를 통해 무선 전자파를 송수신하거나 유선 케이블을 통해 데이터를 송수신한다. 통신 회로(150)는 전기 신호를 전자파로 또는 그 반대로 변환하며 이 전자파를 통하여 통신 네트워크, 다른 이동형 게이트웨이 장치 및 통신 장치와 통신할 수 있다. 통신 회로(150)는 예를 들어 안테나 시스템, RF 트랜시버, 하나 이상의 증폭기, 튜너, 하나 이상의 오실레이터, 디지털 신호 처리기, CODEC 칩셋, 가입자 식별 모듈(subscriber identity module, SIM) 카드, 메모리 등을 포함하지만 이에 한정되지 않는, 이러한 기능을 수행하기 위한 주지의 회로를 포함할 수 있다. 통신 회로(150)는 월드 와이드 웹(World Wide Web, WWW)으로 불리는 인터넷, 인트라넷과 네트워크 및/또는 이동통신 네트워크, 무선 LAN 및/또는 MAN(metropolitan area network)와 같은 무선 네트워크 또는 유선 네트워크를 통해 다른 장치와 통신할 수 있다.
소프트웨어 구성요소인 운영 체제(111), 그래픽 모듈(명령어 세트)(112) 및 패스코드 관리 프로그램(명령어 세트)(113)이 메모리(110)에 탑재(설치)된다.
운영 체제(111)는, 예를 들어, 다윈(Darwin), RTXC, LINUX, UNIX, OS X, WINDOWS, VxWorks, Tizen, IOS 또는 안드로이드 등과 같은 내장 운영체제일 수 있고, 일반적인 시스템 태스크(task)(예를 들어, 메모리 관리, 저장 장치 제어, 전력 관리 등)를 제어 및 관리하는 다양한 소프트웨어 구성요소 및/또는 장치를 포함할 수 있다.
그래픽 모듈(112)은 디스플레이 장치(141) 상에 그래픽을 제공하고 표시하기 위한 주지의 여러 소프트웨어 구성요소를 포함한다. "그래픽(graphic)"이란 용어는 텍스트, 웹 페이지, 키 버튼, 디지털 이미지, 비디오, 애니메이션 등을 제한 없이 포함하여, 사용자에게 표시될 수 있는 모든 대상을 포함한다.
패스코드 관리 프로그램(113)은 입력창에 배치되는 다수의 키 버튼을 저장하고, 더불어 각 키 버튼과 대응하여 코드를 기록하는 용도별 코드 테이블을 저장한다. 또한, 패스코드 관리 프로그램(113)은 입력된 키 버튼과 코드 테이블에 기록된 코드를 토대로 조합코드를 생성하고, 이 조합코드를 이용하여 패스코드 보관 서버(200)에 보관된 암호화된 패스코드를 획득한 후, 상기 조합코드를 이용하여 상기 암호화된 패스코드를 복호화한다. 또한, 패스코드 관리 프로그램(113)은 사용자 전용의 패스코드 관리 데이터를 복원하는 복원 절차를 진행할 수도 있다.
상기 패스코드 관리 프로그램(113)은 패스코드 관리 애플리케이션이 설치되는 경우에, 메모리(110)에 탑재될 수 있다.
도 3은 본 발명의 일 실시예에 따른, 패스코드 관리 프로그램의 구성을 나태는 도면이다.
도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 패스코드 관리 프로그램(113)은 저장 모듈(31), 입력창 모듈(32), 테이블 생성 모듈(33), 테이블 선정 모듈(34), 조합코드 생성 모듈(35), 보관 처리 모듈(36), 패스코드 획득 모듈(37) 및 데이터 복구 모듈(38)을 포함한다.
입력창 모듈(32)은 저장 모듈(31)에 저장된 복수의 키 버튼이 배치된 입력창을 생성하여 디스플레이 장치(141)에 출력한다. 상기 키 버튼은 숫자 버튼, 문자 버튼, 이미지 버튼 등을 포함한다. 바람직하게, 입력창 모듈(32)은 사용자 전용의 입력창을 생성한다. 즉, 입력창 모듈(32)은 사용자에게 특화되며 복수의 키 버튼이 배열된 입력창을 생성하여 디스플레이 장치(141)에 출력한다. 부연하면, 입력창 모듈(32)은 패스코드 관리 서비스를 지원하는 서버(도면에 도시되지 않음)로부터 사용자 전용의 복수의 키 버튼을 수신하고, 이 사용자 전용의 복수 키 버튼이 배치된 입력창을 생성할 수 있다. 또는, 입력창 모듈(32)은 상기 패스코드 관리 서비스를 지원하는 서버로부터 수십 개 이상의 키 버튼이 포함된 키 버튼 풀(pool)을 수신하여, 상기 키 버튼 풀에서 임의적으로 일정 개수의 키 버튼을 선정하여, 이 선정한 키 버튼이 배치된 입력창을 생성할 수 있다. 덧붙이면, 패스코드 관리 장치(100)가 상이하면, 입력창에 배치된 키 버튼이 상이할 수 있다. 바람직하게, 입력창 모듈(32)은 입력창에 배치되는 복수의 키 버튼을 사용자 식별정보와 함께 사용자 데이터 저장 서버(300)로 전송하여, 사용자 전용의 입력창을 생성할 때 근간이 되는 복수의 키 버튼을 사용자 데이터 저장 서버(300)에 저장한다.
도 4는 본 발명의 일 실시예에 따른, 입력창과 코드 테이블을 나타내는 도면으로서, 도 4의 (a)를 참조하면, 입력창 모듈(32)은 복수의 키 버튼이 배치되는 입력창을 화면에 출력한다. 도 4에서는 4*4 사이즈의 16개의 키 버튼이 배치되는 것으로 도시하였으나, 입력창 모듈(32)은 다양한 사이즈(예컨대, 5*5, 5*4, 6*6 등)의 입력창을 디스플레이 장치(141)에 출력할 수 있다.
저장 모듈(31)은 사용자 전용의 패스코드 관리 데이터를 저장한다. 구체적으로, 저장 모듈(31)은 입력창에 배치되는 각 키 버튼 및 각 키 버튼과 대응된 코드를 기록하는 용도별 코드 테이블이 포함된 패스코드 관리 데이터를 저장한다.
상기 코드 테이블은 입력창에 배치되는 각 키 버튼과 대응되는 코드, 즉 하나 이상의 문자, 숫자 또는 이들의 조합된 정보를 기록하고 있으며, 각각의 코드 테이블은 패스코드가 사용되는 용도에 따라 구분된다. 예컨대, 제1코드 테이블은 제1사이트의 로그인 인증을 위해 사용되며, 제2코드 테이블은 특정 은행의 공인 인증서 서명을 위해 사용되며, 제3코드 테이블은 제2사이트의 로그인 인증을 위해 사용될 수 있다. 부연하면, 각각의 코드 테이블은 입력창에 배치된 동일한 키 버튼에 대해서 서로 다른 코드를 기록한다.
도 4의 (b)와 (c)를 참조하면, 저장 모듈(31)은 '%' 키 버튼과 대응하여 'Cxi' 코드를 기록하고 'R' 키 버튼과 대응하여 'S~b' 코드를 기록하는 제1코드 테이블(도 4의 (b))을 저장하고, '%' 키 버튼과 대응하여 'G08' 코드를 기록하고 'R' 키 버튼과 대응하여 '42A' 코드를 기록하는 제2코드 테이블(도 4의 (c))을 저장할 수 있다.
또한, 상기 코드 테이블에 기록된 코드는 패스코드 관리 장치(100)별로 서로 상이하다. 즉, 저장 모듈(31)은 사용자 전용의 용도별 코드 테이블을 저장하고, 이에 따라 각각의 패스코드 관리 장치(100)에 저장된 코드 테이블은 서로 상이하다. 또한, 상기 코드 테이블에 기록된 코드는 사용자의 개인정보와는 아무런 연관이 없고, 무작위로 키 버튼과 대응되어 생성된다.
테이블 생성 모듈(33)은 새로운 패스코드의 보관을 사용자로부터 지시받으면, 입력창에 배치된 각 키 버튼과 일대일 대응되는 코드를 무작위로 생성한 후, 이러한 각각의 코드가 키 버튼별로 대응되어 기록된 코드 테이블을 생성한다. 아울러, 테이블 생성 모듈(33)은 생성한 코드 테이블을 상기 패스코드의 용도 정보와 함께 저장 모듈(31)에 저장한다. 바람직하게, 테이블 생성 모듈(33)은 상기 새롭게 생성한 코드 테이블을 사용자 식별정보와 함께 사용자 데이터 저장 서버(300)로 전송하여, 패스코드 관리 장치(100)에 저장된 패스코드 관리 데이터와 사용자 데이터 저장 서버(300)에 저장된 패스코드 관리 데이터를 동기화할 수 있다.
테이블 선정 모듈(34)은 패스코드 획득 또는 패스코드 보관에 필요한 코드 테이블을 선정하는 기능을 수행한다. 구체적으로, 테이블 선정 모듈(34)은 패스코드의 획득이 요구되면 이 패스코드의 용도를 확인하고, 저장 모듈(31)에 저장된 다수의 코드 테이블 중에서 상기 확인한 용도에 해당하는 코드 테이블을 패스코드 획득을 위한 코드 테이블로서 선정한다. 또한, 테이블 선정 모듈(34)이 조합코드 생성 모듈(35)이 새로운 코드 테이블을 생성하여 저장 모듈(31)에 저장하면, 상기 저장한 코드 테이블을 패스코드 보관에 필요한 코드 테이블로서 선정한다.
조합코드 생성 모듈(35)은 입력창이 출력되면, 상기 입력창에서 입력된 각 키 버튼과 대응되는 코드를 테이블 선정 모듈(34)에서 선정한 코드 테이블에서 확인하고, 이렇게 확인한 코드가 키 버튼 입력 순서에 따라 배열되는 조합코드를 생성한다.
보관 처리 모듈(36)은 사용자의 패스코드를 패스코드 보관 서버(200)에 보관하는 기능을 수행한다. 구체적으로, 보관 처리 모듈(36)은 조합코드 생성 모듈(35)에서 생성한 조합코드를 암호키로 설정하여 사용자가 관리 요청한 패스코드를 대칭키 암호화한다. 게다가, 보관 처리 모듈(36)은 상기 조합코드의 해시값을 산출하고, 이 해시값 및 암호화 처리된 패스코드가 포함된 패스코드 보관 요청 메시지를 패스코드 보관 서버(200)로 전송함으로써, 상기 해시값이 보관주소로 설정된 패스코드 보관 서버(200)의 저장영역에 상기 암호화된 패스코드를 보관한다. 한편, 보관 처리 모듈(36)은 상기 조합코드와 암호화된 패스코드가 포함된 패스코드 보관 요청 메시지를 패스코드 보관 서버(200)로 전송하여, 상기 조합코드가 보관주소로 설정된 패스코드 보관 서버(200)의 저장영역에 상기 암호화된 패스코드를 보관할 수도 있다.
패스코드 획득 모듈(37)은 패스코드 보관 서버(200)에 보관된 패스코드를 획득하는 기능을 수행한다. 구체적으로, 패스코드 획득 모듈(37)은 특정 패스코드가 필요하면, 테이블 선정 모듈(34)로 테이블 선정을 지시하여 저장 모듈(31)에 저장된 다수의 코드 테이블 중에서 어느 하나를 선정한다. 더불어, 패스코드 획득 모듈(37)은 입력창 모듈(32)과 조합코드 생성 모듈(35)을 이용하여, 사용자가 입력한 키 버튼 선택 순서에 따른 조합코드를 생성하고, 이 조합코드의 해시값이 포함된 패스코드 요청 메시지를 패스코드 보관 서버(200)로 전송하여, 상기 해시값이 보관주소로 설정되며 암호화 처리된 패스코드를 패스코드 보관 서버(200)로부터 수신한다. 한편, 패스코드 획득 모듈(37)은 상기 조합코드가 포함된 패스코드 요청 메시지를 패스코드 보관 서버(200)로 전송하여, 상기 조합코드가 보관주소로 설정되며 암호화된 패스코드를 패스코드 보관 서버(200)로부터 수신할 수도 있다. 게다가, 패스코드 획득 모듈(37)은 상기 조합코드를 복호키로 이용하여 상기 암호화된 패스코드를 복호화한다. 아울러, 패스코드 획득 모듈(37)은 상기 복호화한 패스코드를 이용하여, 서비스 서버(400)로 온라인 인증을 진행할 수 있다.
데이터 복구 모듈(38)은 사용자 전용의 패스코드 관리 데이터를 복구하는 기능을 수행한다. 즉, 데이터 복구 모듈(38)은 사용자로부터 데이터 복구 명령을 수신하면, 사용자 데이터 저장 서버(300)로 접속하여 사용자 본인인증을 수행한 후에, 다수의 용도별 패스코드 테이블 및 입력창에 배치되는 복수의 키 버튼이 포함된 패스코드 관리 데이터를 상기 사용자 데이터 저장 서버(300)로부터 수신하여 저장 모듈(31)에 저장한다.
도 5는 본 발명의 일 실시예에 따른, 패스코드 관리 장치에서 패스코드를 보관하는 방법을 설명하는 흐름도이다.
도 5를 참조하면, 패스코드 관리 장치(100)는 사용자로부터 새로운 패스코드에 대한 관리를 요청받는다. 이때, 패스코드 관리 장치(100)는 사용자로부터 상기 새로운 패스코드가 사용되는 용도 정보(예컨대 공인 인증서의 패스워드, 특정 사이트의 로그인 패스워드, 특정 데이터 복호화 등)를 입력받을 수 있다. 또한, 패스코드 관리 장치(100)는 특정 사이트의 로그인 패스워드, 전자 서명을 위한 개인키, 지불결제 수단 정보(예컨대, 신용카드 번호), 공인인증서에 대한 패스워드, 주요 데이터 암호화를 위한 암호키, 데이터를 복호화를 위한 복호키 등 중에서 어느 하나를 관리 요청된 패스코드로서 사용자로부터 입력받을 수 있다.
그러면, 패스코드 관리 장치(100)의 테이블 생성 모듈(33)은 입력창에 배치된 각 키 버튼과 일대일 대응되는 코드를 생성한다. 그리고 테이블 생성 모듈(33)은 상기 생성한 각 코드와 키 버튼이 일대일 대응되어 기록된 코드 테이블을 생성하고 이렇게 생성한 코드 테이블을 패스코드의 용도 정보와 함께 저장 모듈(31)의 패스코드 관리 데이터에 저장한다(S501). 바람직하게, 테이블 생성 모듈(33)은 상기 새롭게 생성한 코드 테이블을 사용자 식별정보와 함께 사용자 데이터 저장 서버(300)로 전송하여, 패스코드 관리 장치(100)에 저장된 패스코드 관리 데이터와 사용자 데이터 저장 서버(300)에 저장된 패스코드 관리 데이터를 동기화할 수 있다.
다음으로, 테이블 생성 모듈(33)이 새로운 코드 테이블을 생성하여 저장 모듈(31)에 저장하면, 테이블 선정 모듈(34)은 상기 저장한 코드 테이블을 패스코드 보관에 필요한 코드 테이블로서 선정한다.
이어서, 입력창 모듈(32)은 복수의 키 버튼이 배치된 입력창을 디스플레이 장치(141)에 출력하고, 사용자로부터 하나 이상의 키 버튼을 입력받는다(S503). 그러면, 조합코드 생성 모듈(35)은 상기 입력창에 입력된 각 키 버튼과 대응되는 코드를 상기 선정된 코드 테이블에서 확인하고, 이렇게 확인한 코드가 키 버튼 입력 순서에 따라 배열되는 조합코드를 생성하여 보관 처리 모듈(36)로 전달한다(S505).
다음으로, 보관 처리 모듈(36)은 조합코드를 암호키로 설정하여 사용자가 관리 요청한 패스코드를 대칭키 암호화 처리한다(S507). 이어서, 보관 처리 모듈(36)은 상기 조합코드의 해시값을 산출하고, 이 해시값 및 암호화 처리된 패스코드가 포함된 패스코드 보관 요청 메시지를 패스코드 보관 서버(200)로 전송한다(S509). 그러면, 패스코드 보관 서버(200)는 상기 패스코드 보관 요청 메시지에서 해시값과 암호화된 패스코드를 추출하고, 상기 해시값을 보관주소로 설정한 후 이 설정한 보관주소에 상기 암호화된 패스코드를 저장한다(S511). 다음으로, 패스코드 보관 서버(200)는 패스코드의 보관이 정상적으로 완료되면, 보관 완료 메시지를 패스코드 관리 장치(100)로 전송한다(S513).
그러면, 패스코드 관리 장치(100)의 보관 처리 모듈(36)은 패스코드 보관이 정상적으로 완료되었음을 알리는 메시지를 디스플레이 장치(141)에 출력한다. 바람직하게, 보관 처리 모듈(36)은 사용자의 패스코드와 관련된 데이터를 삭제하는 것을 지시하는 메시지를 디스플레이 장치(141)로 출력하여, 사용자가 패스코드 관리 장치(100)에 저장한 개인키 등의 개인 데이터를 패스코드 관리 장치(100)에서 삭제하도록 유도한다.
한편, 보관 처리 모듈(36)은 조합코드 생성 모듈(35)에서 생성한 조합코드를 그대로 이용하여 패스코드의 보관주소를 설정할 수 있다. 이 경우, 보관 처리 모듈(36)은 상기 조합코드의 해시값을 산출하지 않고, 상기 조합코드와 암호화된 패스코드가 포함된 패스코드 보관 요청 메시지를 패스코드 보관 서버(200)로 전송한다. 그러면, 패스코드 보관 서버(200)는 상기 조합코드를 보관주소로 설정하고, 이렇게 설정한 보관주소에 상기 암호화된 패스코드를 저장한다. 또 다른 실시형태로서, 패스코드 보관 서버(200)에서 조합코드의 해시값을 직접 산출하여 상기 산출한 해시값이 보관주소로 설정된 저장영역에 암호화된 패스코드를 저장할 수도 있다. 이 경우, 패스코드 관리 장치(100)는 상기 조합코드의 해시값을 산출하지 않고, 조합코드와 암호화된 패스코드가 포함된 패스코드 보관 요청 메시지를 패스코드 보관 서버(200)로 전송하고, 패스코드 보관 서버(200)는 상기 조합코드의 해시값을 직접 산출하고 이 해시값을 보관주소로 설정한 저장영역에 상기 암호화된 패스코드를 저장한다.
또 다른 실시예에로서, 패스코드 관리 장치(100)는 사용자가 특정 사이트에 접속하여 회원 가입을 진행하거나, 새로운 인증 데이터(예컨대, 개인키, 공인인증서 등)가 저장되는 경우, 패스코드 관리를 자동으로 시작하여 S501 단계 내지 S507 단계를 수행할 수도 있다.
도 6은 본 발명의 일 실시예에 따른, 패스코드 관리 장치에서 패스코드를 획득하여 온라인 인증을 수행하는 방법을 설명하는 흐름도이다.
도 6을 참조하면, 패스코드 관리 장치(100)의 패스코드 획득 모듈(37)은 사용자로부터 특정 패스코드의 획득을 지시받거나 사용자가 특정 사이트로 온라인 인증을 시도하는 것이 감지되면, 테이블 선정 모듈(34)로 테이블 선정을 지시한다. 즉, 패스코드 획득 모듈(37)은 특정 패스코드의 획득이 필요하면, 테이블 선정 모듈(34)로 테이블 선정을 지시한다.
그러면, 테이블 선정 모듈(34)은 온라인 인증에 필요한 패스코드 또는 사용자가 지시한 패스코드의 용도를 식별한다(S601). 이때, 테이블 선정 모듈(34)은 상기 사용자가 접속하는 사이트 주소, 온라인 서비스의 유형 등에 근거하여, 패스코드의 용도를 식별할 수 있다. 또한, 테이블 선정 모듈(34)은 사용자가 특정 패스코드를 획득하라는 명령을 직접 입력하면, 이 패스코드가 어떤 용도로 사용하는지 여부를 확인함으로써 패스코드의 용도를 식별할 수 있다. 이어서, 테이블 선정 모듈(34)은 저장 모듈(31)에 저장된 다수의 코드 테이블 중에서 상기 식별한 용도에 해당하는 코드 테이블을 패스코드 획득에 필요한 코드 테이블로서 선정하여 패스코드 획득 모듈(37)로 전달한다(S603).
다음으로, 패스코드 획득 모듈(37)은 입력창 모듈(32)을 이용하여 디스플레이 장치(141)에 복수의 키 버튼이 배치된 입력창을 출력한 후(S605), 조합코드 생성 모듈(35)로 조합코드 생성을 지시한다. 그러면, 조합코드 생성 모듈(35)은 상기 입력창을 통해 사용자가 설정한 하나 이상의 키 버튼을 사용자로부터 순차적으로 입력받는다. 이어서, 조합코드 생성 모듈(35)은 상기 입력받은 각 키 버튼과 대응되는 코드를 테이블 선정 모듈(34)에서 선정한 코드 테이블에서 확인하고, 이렇게 확인한 코드가 키 버튼 입력 순서에 따라 배열되는 조합코드를 생성하여 패스코드 획득 모듈(37)로 전달한다(S607).
다음으로, 패스코드 획득 모듈(37)은 상기 조합코드의 해시값을 산출하고, 이 해시값이 포함된 패스코드 요청 메시지를 패스코드 보관 서버(200)로 전송한다(S609). 그러면, 패스코드 보관 서버(200)는 상기 해시값이 보관주소로 설정된 패스코드가 존재하는지 여부를 확인하여, 존재하면 상기 해시값이 보관주소로 설정된 저장영역에서 암호화 처리된 패스코드를 추출하고, 이 암호화된 패스코드를 패스코드 관리 장치(100)로 전송한다(S611, S613). 반면에, 패스코드 보관 서버(200)는 상기 해시값이 보관주소로 설정된 패스코드가 존재하지 않으면, 임의의 암호화된 패스코드, 즉 사용자 데이터(예컨대, 인증 데이터, 결제수단 데이터, 암/복호키 등)와 전혀 관련없는 암호화된 패스코드를 생성하여 패스코드 관리 장치(100)로 전송한다.
이어서, 패스코드 획득 모듈(37)은 패스코드 보관 서버(200)로부터 암호화된 패스코드를 수신하고, S607 단계에서 생성된 조합코드를 이용하여 암호화된 패스코드를 복호화한다(S615). 즉, 패스코드 획득 모듈(37)은 상기 조합코드를 복호키로 이용하여 상기 암호화된 패스코드를 복호화한다. 도 6에서는 패스코드에는 로그인 패스워드가 기록된 것으로 설명된다.
이어서, 패스코드 획득 모듈(37)은 상기 복호화된 패스코드가 포함된 인증 요청 메시지를 서비스 서버(400)로 전송한다(S617). 이때, 패스코드 획득 모듈(37)은 사용자로부터 입력받거나 쿠키 등의 저장영역에 포함된 로그인 아이디를 상기 인증 요청 메시지에 더 포함시킬 수 있다.
그러면, 서비스 서버(400)는 상기 인증 요청 메시지에 포함된 패스코드를 토대로 사용자가 정당한 사용자인지 여부를 인증하고(S619), 이 인증 결과에 따라 선택적으로 온라인 서비스를 사용자에게 제공한다.
한편, 패스코드 획득 모듈(37)은 복호화된 패스코드에 결제수단 정보가 기록된 경우, 이 결제수단 정보를 토대로 사용자가 지정한 서버에 접속하여 전자 결제를 수행한다. 또한, 패스코드 획득 모듈(37)은 복호화된 패스코드에 전자 서명을 위한 개인키가 기록된 경우, 이 개인키를 이용하여 전자 서명을 수행한다. 게다가, 패스코드 획득 모듈(37)은 복호화된 패스코드에 암호키 또는 복호키가 기록된 경우, 이 암호키 또는 복호키를 이용하여 사용자가 지정한 데이터 또는 파일을 암호화하거나 복호화한다.
또한, 패스코드 획득 모듈(36)은 S607 단계에서 생성된 조합코드가 포함된 패스코드 요청 메시지를 패스코드 보관 서버(200)로 전송할 수 있다. 이 경우, 패스코드 보관 서버(200)는 상기 조합코드가 보관주소로 설정된 저장영역에서 암호화된 패스코드를 추출하여 패스코드 관리 장치(100)로 전송한다. 또 다른 실시예로서, 패스코드 보관 서버(200)는 상기 조합코드의 해시값을 직접 산출하고, 이 해시값이 보관주소로 설정된 저장영역에서 추출한 암호화된 패스코드를 패스코드 관리 장치(100)로 전송할 수도 있다.
도 7은 본 발명의 일 실시예에 따른, 패스코드 관리 장치에서 패스코드 관리 데이터를 복구하는 방법을 설명하는 흐름도이다.
도 7을 참조하면, 패스코드 관리 장치(100)는 사용자로부터 패스코드 관리 데이터의 복구를 요청받는다. 그러면, 패스코드 관리 장치(100)의 데이터 복구 모듈(38)은 사용자 데이터 저장 서버(300)로 데이터 복구 요청 메시지를 전송한다(S701).
그러면, 사용자 데이터 저장 서버(300)는 패스코드 관리 장치(100)로 본인 인증 정보 요청 메시지를 전송한다(S703). 이때, 사용자 데이터 저장 서버(300)는 사용자의 식별정보(예컨대, 주민등록번호, IPIN 등), 성명, 이동통신 전화번호 등이 기록되는 웹 페이지를 패스코드 관리 장치(100)로 전송할 수 있다.
다음으로, 데이터 복구 모듈(38)은 사용자 식별정보, 성명, 이동통신 전화번호 등의 본인 인증정보를 사용자로부터 입력받고, 상기 입력받은 본인 인증정보를 사용자 데이터 저장 서버(300)로 전송한다(S705).
그러면, 사용자 데이터 저장 서버(300)는 상기 수신한 본인 인증정보를 토대로 사용자의 본인인증을 수행하고, 인증에 성공한 경우 상기 사용자 전용의 패스코드 관리 데이터를 추출한다(S707, S709). 이어서, 사용자 데이터 저장 서버(300)는 상기 추출한 사용자 전용의 패스코드 관리 데이터를 패스코드 관리 장치(100)로 전송한다(S711). 즉, 사용자 데이터 저장 서버(300)는 다수의 용도별 패스코드 테이블 및 입력창에 배치되는 복수의 키 버튼이 포함된 패스코드 관리 데이터를 패스코드 관리 장치(100)로 전송한다.
다음으로, 패스코드 관리 장치(100)의 데이터 복구 모듈(38)은 사용자 데이터 저장 서버(300)로부터 수신한 패스코드 관리 데이터를 저장 모듈(31)에 저장함으로써, 사용자 전용의 패스코드 관리 데이터를 복구한다(S713).
도 7의 방법에 따라, 사용자가 패스코드 관리 데이터를 삭제 또는 분실하거나 타 장치로 패스코드 관리 데이터를 복제하고자 원하는 경우, 사용자 데이터 저장 서버(300)로 접속하여 본인인증을 수행한 후에, 상기 사용자 전용의 패스코드 관리 데이터를 지정된 장치에 복구할 수 있다.
상술한 바와 같이, 본 발명은 사용자의 인증 데이터, 결제수단 데이터, 암호키, 복호키, 개인키 등의 사용자 데이터를 외부의 해킹 등으로부터 더욱 안전하게 보호한다. 특히, 본 발명은 패스코드 관리 장치(100)의 입력창에 입력된 키 버튼에 따라 조합코드를 생성하고, 이 조합코드를 토대로 암호화된 패스코드를 패스코드 보관 서버(200)로부터 획득하고 복호화함으로써, 사용자의 개인 데이터를 매우 안전하게 보호한다. 게다가, 본 발명은 하나의 장치 또는 서버에서 저장된 데이터만을 가지고는 패스코드를 정상적으로 확인할 수 없기 때문에, 사용자의 개인 데이터의 보안성을 향상시킨다. 아울러, 본 발명은 동일한 키 버튼이 입력되더라도 패스코드의 용도에 따라, 서로 다른 조합코드를 생성하고, 이렇게 상이한 조합코드를 이용하여 각각의 패스코드를 별도의 저장공간에 저장하기 때문에, 패스코드 보관에 대한 기밀성을 강화시킨다.
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(시디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
100 : 패스코드 관리 장치 110 : 메모리
111 : 운영 체제 112 : 그래픽 모듈
113 : 패스코드 관리 프로그램 121 : 메모리 제어기
122 : CPU 123 : 주변 인터페이스
130 : I/O 서브시스템 141 : 디스플레이 장치
142 : 입력장치 150 : 통신 회로
200 : 패스코드 보관 서버 300 : 사용자 데이터 저장 서버
400 : 서비스 서버 500 : 네트워크
31 : 저장 모듈 32 : 입력창 모듈
33 : 테이블 생성 모듈 34 : 테이블 선정 모듈
35 : 조합코드 생성 모듈 36 : 보관 처리 모듈
37 : 패스코드 획득 모듈 38 : 데이터 복구 모듈

Claims (13)

  1. 하나 이상의 프로세서;
    메모리; 및
    상기 메모리에 저장되어 있으며 상기 하나 이상의 프로세서에 의하여 실행되도록 구성되는 하나 이상의 프로그램을 포함하고, 보관주소가 설정된 각 저장영역에 사용자별 패스코드를 각각 보관하는 패스코드 보관 서버와 연동하여 패스코드를 관리하는 패스코드 관리 장치로서,
    상기 프로그램은,
    패스코드 관리 데이터를 저장하는 저장 모듈;
    다수의 키 버튼이 배치되는 입력창을 디스플레이하는 입력창 모듈;
    상기 입력창을 통해 키 버튼이 입력되면, 입력된 각 키 버튼과 대응되는 코드를 상기 패스코드 관리 데이터에 포함된 코드 테이블에서 확인하여, 상기 확인한 각각의 코드가 조합된 조합코드를 생성하는 조합코드 생성 모듈; 및
    상기 생성한 조합코드를 토대로 보관주소가 설정되어 상기 패스코드 보관 서버의 저장영역에 보관된 패스코드를 상기 패스코드 보관 서버로부터 수신하는 패스코드 획득 모듈;을 포함하는 특징으로 하는 패스코드 관리 장치.
  2. 제 1 항에 있어서,
    상기 패스코드 획득 모듈은,
    상기 수신한 패스코드를 상기 조합코드를 이용하여 복호화하는 것을 특징으로 하는 패스코드 관리 장치.
  3. 제 1 항에 있어서,
    상기 패스코드 획득 모듈은,
    상기 생성한 조합코드의 해시값이 보관주소로 설정된 상기 패스코드를 상기 패스코드 보관 서버로부터 수신하는 것을 특징으로 하는 패스코드 관리 장치.
  4. 제 1 항에 있어서,
    상기 패스코드의 용도를 확인하여, 상기 패스코드 관리 데이터에 포함된 다수의 코드 테이블 중에서 상기 용도에 해당하는 코드 테이블을 선정하는 테이블 선정 모듈;을 더 포함하고,
    상기 조합코드 생성 모듈은, 상기 입력된 각 키 버튼과 대응되는 코드를 상기 선정한 코드 테이블에서 확인하는 것을 특징으로 하는 패스코드 관리 장치.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    패스코드의 관리가 요청되면, 상기 입력창에 배치된 각 키 버튼과 일대일 대응되는 코드를 생성하고 상기 생성한 각각의 코드가 기록된 코드 테이블을 생성하여 상기 저장 모듈의 패스코드 관리 데이터에 저장하는 테이블 생성 모듈;을 더 포함하는 것을 특징으로 하는 패스코드 관리 장치.
  6. 제 5 항에 있어서,
    상기 조합코드 생성 모듈은,
    상기 입력창을 통해 입력된 각 키 버튼과 대응되는 코드를 상기 테이블 생성 모듈에서 생성한 코드 테이블에서 확인하고, 상기 확인한 각각의 코드가 조합된 조합코드를 생성하고,
    상기 조합코드 생성 모듈에서 생성한 조합코드를 이용하여 상기 관리 요청된 패스코드를 암호화하고, 상기 조합코드를 토대로 보관주소를 설정하여 이 보관주소에 해당하는 상기 패스코드 보관 서버의 저장영역에 상기 암호화한 패스코드를 보관하는 보관 처리 모듈;을 더 포함하는 것을 특징으로 하는 패스코드 관리 장치.
  7. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 패스코드 관리 데이터의 복구를 사용자 데이터 저장 서버로 요청하고, 상기 사용자 데이터 저장 서버로부터 상기 패스코드 관리 데이터를 수신하여 상기 저장 모듈에 복구하는 데이터 복구 모듈;을 더 포함하는 것을 특징으로 하는 패스코드 관리 장치.
  8. 보관주소가 설정된 각 저장영역에 사용자별 패스코드를 각각 보관하는 패스코드 보관 서버와 연동하는 패스코드 관리 장치에서, 패스코드를 관리하는 방법으로서,
    다수의 키 버튼이 배치되는 입력창을 디스플레이하는 단계;
    사용자가 상기 입력창에서 키 버튼을 입력하면, 상기 사용자가 입력한 각 키 버튼과 대응되는 코드를 코드 테이블에서 확인하여, 상기 확인한 각각의 코드가 조합된 조합코드를 생성하는 단계; 및
    상기 생성한 조합코드에 토대로 보관주소가 설정되어 상기 패스코드 보관 서버의 저장영역에 보관된 상기 사용자의 패스코드를 상기 패스코드 보관 서버로부터 수신하는 단계;를 포함하는 패스코드 관리 방법.
  9. 제 8 항에 있어서,
    상기 수신하는 단계 이후에,
    상기 수신한 패스코드를 상기 조합코드를 이용하여 복호화하는 단계;를 더 포함하는 것을 특징으로 하는 패스코드 관리 방법.
  10. 제 8 항에 있어서,
    상기 수신하는 단계는,
    상기 생성한 조합코드의 해시값이 보관주소로 설정된 상기 패스코드를 상기 패스코드 보관 서버로부터 수신하는 것을 특징으로 하는 패스코드 관리 방법.
  11. 제 8 항에 있어서,
    상기 조합코드를 생성하는 단계는,
    상기 패스코드의 용도를 확인하여, 상기 패스코드 관리 데이터에 포함된 다수의 코드 테이블 중에서 상기 용도에 해당하는 코드 테이블을 선정하는 단계; 및
    상기 입력된 각 키 버튼과 대응되는 코드를 상기 선정한 코드 테이블에서 확인하는 단계;를 포함하는 것을 특징으로 하는 패스코드 관리 방법.
  12. 제 8 항 내지 제 11 항 중 어느 한 항에 있어서,
    패스코드의 관리가 요청되면, 상기 입력창에 배치된 각 키 버튼과 일대일 대응되는 코드를 생성하는 단계; 및
    상기 생성한 각각의 코드가 기록된 상기 코드 테이블을 생성하여 저장하는 단계;를 더 포함하는 것을 특징으로 하는 패스코드 관리 방법.
  13. 제 12 항에 있어서,
    상기 코드 테이블을 생성하여 저장하는 단계 이후에,
    상기 입력창을 통해 입력된 각 키 버튼과 대응되는 코드를 상기 생성한 코드 테이블에서 확인하여, 이 확인한 각각의 코드가 조합된 조합코드를 생성하는 단계;
    상기 조합코드를 이용하여 상기 관리 요청된 패스코드를 암호화하는 단계; 및
    상기 조합코드를 토대로 보관주소를 설정하여 이 보관주소에 해당하는 상기 패스코드 보관 서버의 저장영역에 상기 암호화한 패스코드를 보관하는 단계;를 더 포함하는 것을 특징으로 하는 패스코드 관리 방법.
KR1020130111245A 2012-12-24 2013-09-16 패스코드 관리 방법 및 장치 KR101416542B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201380073545.9A CN105009140B (zh) 2012-12-24 2013-09-17 密码管理方法和装置
US14/655,322 US9729545B2 (en) 2012-12-24 2013-09-17 Method and apparatus for managing passcode
BR112015015256-2A BR112015015256B1 (pt) 2012-12-24 2013-09-17 Método e aparelho para o gerenciamento de código de acesso
JP2015551058A JP6121566B2 (ja) 2012-12-24 2013-09-17 パスコード管理方法及び装置
PCT/KR2013/008425 WO2014104539A1 (ko) 2012-12-24 2013-09-17 패스코드 관리 방법 및 장치
EP13867444.5A EP2937808B1 (en) 2012-12-24 2013-09-17 Method and apparatus for managing passcode
MX2015008232A MX347803B (es) 2012-12-24 2013-09-17 Metodo y aparato para administrar una contraseña.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120152643 2012-12-24
KR20120152643 2012-12-24

Publications (2)

Publication Number Publication Date
KR20140082556A KR20140082556A (ko) 2014-07-02
KR101416542B1 true KR101416542B1 (ko) 2014-07-09

Family

ID=51733461

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130111245A KR101416542B1 (ko) 2012-12-24 2013-09-16 패스코드 관리 방법 및 장치

Country Status (8)

Country Link
US (1) US9729545B2 (ko)
EP (1) EP2937808B1 (ko)
JP (1) JP6121566B2 (ko)
KR (1) KR101416542B1 (ko)
CN (1) CN105009140B (ko)
BR (1) BR112015015256B1 (ko)
MX (1) MX347803B (ko)
WO (1) WO2014104539A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6348730B2 (ja) * 2014-02-19 2018-06-27 株式会社アルファ 電気錠制御装置
IN2014CH00971A (ko) * 2014-02-26 2015-08-28 Samsung R & D Inst India Bangalore Private Ltd
US20160350751A1 (en) * 2015-05-27 2016-12-01 Bank Of America Corporation Provisioning a Mobile Device with a Code Generation Key to Enable Generation of One-Time Passcodes
US9848331B2 (en) * 2015-11-20 2017-12-19 International Business Machines Corporation Augmenting mobile device access control modes with hardware buttons
CN107306178B (zh) 2016-04-25 2021-05-25 创意电子股份有限公司 时脉数据回复装置与方法
NL2017032B1 (en) * 2016-06-23 2018-01-19 Mindyourpass Holding B V Password generation device and password verification device
KR101950913B1 (ko) * 2017-08-09 2019-02-21 주식회사 센스톤 가상코드제공시스템, 가상코드생성장치, 가상코드검증장치, 가상코드제공방법 및 가상코드제공프로그램
CN107911393B (zh) * 2017-12-28 2019-01-25 北京明朝万达科技股份有限公司 一种数据安全管理系统和方法
SG10201902395SA (en) * 2019-03-18 2019-11-28 Qrypted Tech Pte Ltd Method and system for a secure transaction

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100822890B1 (ko) 2006-08-04 2008-04-17 (주)씽크에이티 인터넷상 주민등록번호 대체 서비스를 통한 인증 보안 방법
JP4528866B1 (ja) 2009-04-28 2010-08-25 株式会社東芝 電子機器

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05135251A (ja) * 1991-06-13 1993-06-01 Fujitsu Sooshiaru Sci Raboratori:Kk 現金自動預金支払機のキー入力方式
FI102235B (fi) * 1996-01-24 1998-10-30 Nokia Telecommunications Oy Autentikointiavainten hallinta matkaviestinjärjestelmässä
US6061738A (en) * 1997-06-27 2000-05-09 D&I Systems, Inc. Method and system for accessing information on a network using message aliasing functions having shadow callback functions
KR20010008298A (ko) 2000-11-22 2001-02-05 정경석 다수의 웹 사이트에 대한 자동 로그인 처리방법 및 자동로그인 처리시스템
JP2003330888A (ja) * 2002-05-10 2003-11-21 Oki Electric Ind Co Ltd 暗証入力装置及び暗証入力方法
KR20050086106A (ko) 2004-02-25 2005-08-30 권영길 웹 사이트 자동 로그인 방법 및 이를 이용한 인증 사이트공유 서비스 방법
KR100606489B1 (ko) * 2004-05-04 2006-08-01 박상윤 인터넷 통합 계정 및 보안관리 시스템 및 방법
US7616764B2 (en) * 2004-07-07 2009-11-10 Oracle International Corporation Online data encryption and decryption
GB0504545D0 (en) * 2005-03-07 2005-04-13 Tricerion Ltd A method of secure data communication
EP1615181B1 (en) * 2004-07-09 2012-10-17 Tricerion Ltd A method of secure data communication
KR20050089944A (ko) * 2005-08-11 2005-09-09 김선장 인증해서 사용할 주민등록번호 대체번호 만드는 방법
US7484173B2 (en) * 2005-10-18 2009-01-27 International Business Machines Corporation Alternative key pad layout for enhanced security
US20070116288A1 (en) * 2005-11-18 2007-05-24 Oktay Rasizade System for managing keys and/or rights objects
EP1949294A2 (en) 2005-11-18 2008-07-30 Sandisk Corporation Method and system for managing keys and/or rights objects
KR20080036837A (ko) 2006-10-24 2008-04-29 (주)네오위즈게임즈 웹 사이트의 로그인 정보 저장 방법, 그를 이용한 자동로그인 방법과 그를 위한 프로그램을 기록한 컴퓨터에서읽을 수 있는 기록매체
WO2008098710A1 (en) * 2007-02-12 2008-08-21 Zequr Technologies A/S Method of managing passwords using a master password
KR101515050B1 (ko) 2007-08-01 2015-04-24 삼성전자주식회사 터치 스크린을 갖는 휴대 단말기 및 그의 잠금 및 해제방법
KR100817767B1 (ko) * 2008-01-14 2008-03-31 알서포트 주식회사 아이콘 암호를 이용한 인증방법
US8347103B2 (en) 2009-01-13 2013-01-01 Nic, Inc. System and method for authenticating a user using a graphical password
JP5431040B2 (ja) 2009-06-19 2014-03-05 日本電信電話株式会社 認証要求変換装置、認証要求変換方法および認証要求変換プログラム
CN102270499B (zh) * 2010-06-01 2014-04-23 国民技术股份有限公司 一种存储装置
US20120260326A1 (en) * 2011-04-05 2012-10-11 Sap Ag Image maps for credential-based security

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100822890B1 (ko) 2006-08-04 2008-04-17 (주)씽크에이티 인터넷상 주민등록번호 대체 서비스를 통한 인증 보안 방법
JP4528866B1 (ja) 2009-04-28 2010-08-25 株式会社東芝 電子機器

Also Published As

Publication number Publication date
WO2014104539A1 (ko) 2014-07-03
EP2937808B1 (en) 2020-01-08
JP2016505985A (ja) 2016-02-25
BR112015015256B1 (pt) 2022-04-26
KR20140082556A (ko) 2014-07-02
CN105009140A (zh) 2015-10-28
CN105009140B (zh) 2017-10-27
US20150350191A1 (en) 2015-12-03
EP2937808A4 (en) 2016-08-31
JP6121566B2 (ja) 2017-04-26
MX347803B (es) 2017-05-15
EP2937808A1 (en) 2015-10-28
US9729545B2 (en) 2017-08-08
BR112015015256A2 (pt) 2017-07-11
MX2015008232A (es) 2015-11-06

Similar Documents

Publication Publication Date Title
KR101416542B1 (ko) 패스코드 관리 방법 및 장치
US9769154B2 (en) Passcode operating system, passcode apparatus, and super-passcode generating method
KR101579962B1 (ko) 비밀 데이터 관리 방법과 장치 및 보안 인증 방법 및 시스템
US9813400B2 (en) Computer-implemented systems and methods of device based, internet-centric, authentication
CN112425114B (zh) 受公钥-私钥对保护的密码管理器
JP2017503253A (ja) Qrコードを用いた認証システム及びその方法
JP2016511855A (ja) 安全ログインシステム及び方法、そのための装置
EP3662430B1 (en) System and method for authenticating a transaction
KR101702748B1 (ko) 이중 암호화를 이용한 사용자 인증 방법과 시스템 및 기록매체
KR101459283B1 (ko) 2채널 인증장치와 방법
KR20160082426A (ko) 사용자 단말기, 이를 위한 웨어러블 단말기 지원 방법과 어플리케이션 및 인증 서버
KR101443309B1 (ko) 접속 인증정보를 보호하는 장치 및 방법
JP7119660B2 (ja) スマートスピーカ、セキュアエレメント及びプログラム
KR101019616B1 (ko) 두 대의 통신단말기를 이용한 인증방법.
KR101308081B1 (ko) 두 대의 통신단말기를 이용한 인증방법
KR102005543B1 (ko) 사용자 인증을 위한 장치 및 방법
CN106713225B (zh) 基于二维码认证的二维码装置、系统及其操作方法
CN106327194A (zh) 一种密码生成方法及电子设备
KR101746598B1 (ko) 사용자 인증을 위한 장치

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170621

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180627

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190619

Year of fee payment: 6