KR102036155B1 - 서버 패스워드 관리 방법 및 장치 - Google Patents

서버 패스워드 관리 방법 및 장치 Download PDF

Info

Publication number
KR102036155B1
KR102036155B1 KR1020170103813A KR20170103813A KR102036155B1 KR 102036155 B1 KR102036155 B1 KR 102036155B1 KR 1020170103813 A KR1020170103813 A KR 1020170103813A KR 20170103813 A KR20170103813 A KR 20170103813A KR 102036155 B1 KR102036155 B1 KR 102036155B1
Authority
KR
South Korea
Prior art keywords
password
generating
value
policy
special character
Prior art date
Application number
KR1020170103813A
Other languages
English (en)
Other versions
KR20190018973A (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 KR1020170103813A priority Critical patent/KR102036155B1/ko
Publication of KR20190018973A publication Critical patent/KR20190018973A/ko
Application granted granted Critical
Publication of KR102036155B1 publication Critical patent/KR102036155B1/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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

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

Abstract

서버 패스워드 관리 방법 및 장치를 개시한다.
본 실시예는 SAC(Server Access Control)를 수행하여, 복수 개의 서버 각각에 일괄적으로 로그인하기 위해 패스워드를 저장 및 관리할 때, 패스워드(암호화된 패스워드)를 직접 저장하지 않고, 암호화를 위한 시드값만을 저장하도록 하는 서버 패스워드 관리 방법 및 장치를 제공한다.

Description

서버 패스워드 관리 방법 및 장치{Method And Apparatus for Managing Password}
본 실시예는 서버 패스워드 관리 방법 및 장치에 관한 것이다.
이하에 기술되는 내용은 단순히 본 실시예와 관련되는 배경 정보만을 제공할 뿐 종래기술을 구성하는 것이 아니다.
최근 들어, 인터넷의 보안사고 확산과 더불어 패스워드 관리에 대한 요구는 갈수록 까다로워지고 있다. 예컨대, “금융기관”이나 “장소추천애플리케이션” 같은 스타트업 O2O 기업들이 해킹을 당하고 있다. 해킹으로 인한 피해는 기본적인 개인 계정 관리의 보안수칙조차 지켜지지 않아서 많은 손해를 초래하고 있다. 패스워드 관리와 같은 기본적인 보안수칙은 반드시 지켜져야 한다는 공감대가 조성되어 가고 있는 상황이다.
각 인터넷 서비스에서는 패스워드의 주기적인 교체와 함께 패스워드의 난수성 확보를 위해 일반적으로 사용하지 않는 문자의 입력까지 강제하는 등 개인이 관리하기에는 쉽지 않은 수준까지 계속 요구하고 있다. 각 개인이 가입하고 관리하는 인터넷 서비스는 십여개를 넘어가는 경우도 많은데, 최근 스마트폰의 확산과 더불어 관리해야 하는 패스워드는 점점 더 증가하고 있다.
더불어, 기업의 운영에 있어 IT 시스템과 서비스는 필수적인 요소인데, 기업에서 사용하고 있는 기본적인 응용 서비스 서버, DB서버, WEB/WAS 서버 등 다수의 서버를 운영하고 있다. 기업의 서버 운영에 비례해서 관리해야 하는 패스워드와 계정의 수도 기하급수적으로 증가하고 있다.
최근 추세에 따르면, 인력으로 서버의 패스워드를 관리하는 것은 실질적으로 불가능하다. 패스워드 관리의 어려움을 해결하기 위해서 기업에서는 패스워드를 관리 솔루션을 사용하고 있다. 자동으로 패스워드를 랜덤하게 생성하고 일정한 주기마다 변경하는 기능을 제공한다. 서버관리자들은 패스워드를 직접 관리하지 않아도 되기 때문에 수요가 늘고 있다.
따라서, 해킹을 방지할 수 있도록 하는 패스워드 관리 종합 솔루션이 필요한 실정이다.
본 실시예는 SAC(Server Access Control)를 수행하여, 복수 개의 서버 각각에 일괄적으로 로그인하기 위해 패스워드를 저장 및 관리할 때, 패스워드(암호화된 패스워드)를 직접 저장하지 않고, 암호화를 위한 시드값만을 저장하도록 하는 서버 패스워드 관리 방법 및 장치를 제공하는 데 목적이 있다.
본 실시예의 일 측면에 의하면, 사용자 단말기로부터 패스워드 생성을 요청받는 요청 수신부; OTP(One Time Password) 알고리즘을 이용하여 패스워드를 생성하는 패스워드 생성부; 상기 패스워드에 대응하는 시드(Seed)값을 저장하도록 하는 시드 저장부; 상기 패스워드를 상기 사용자 단말기로 전송하는 패스워드 전송부; 및 상기 패스워드에 대한 해쉬(Hash) 값을 상기 시드값에 매칭하여 저장하도록 하는 패스워드 매칭부를 포함하는 것을 특징으로 하는 패스워드 관리 장치를 제공한다.
패스워드 관리 장치는 기 설정된 정책을 확인하는 정책 확인부를 추가로 포함하며, 상기 패스워드 생성부는 기 설정된 정책에 근거하여 해쉬 알고리즘 적용, 자리수를 제한, 특수문자를 강제로 입력 중 적어도 하나 이상의 과정을 수행한다.
상기 패스워드 생성부는 기 설정된 정책에 근거하여 상기 패스워드를 생성하는 과정에서 상기 해쉬 알고리즘 적용할 때, MD4, MD5, SHA-1 중 적어도 하나의 해쉬 알고리즘을 적용한다.
상기 패스워드 생성부는 기 설정된 정책에 근거하여 상기 패스워드를 생성하는 과정에서 상기 패스워드의 자리수를 제한할 때, MOD 연산 이용하여 결과값을 절단(Truncation)하도록 한다.
상기 패스워드 생성부는 기 설정된 정책에 근거하여 상기 패스워드를 생성하는 과정에서 상기 특수문자를 강제로 입력할 때 !@#$%^*+=- 중 적어도 하나 이상의 특수 기호를 임의의 위치에 입력하도록 한다.
상기 패스워드 생성부는 기 설정된 정책에 근거하여 상기 패스워드를 생성하는 과정에서 특수문자를 강제로 입력할 때 특수 문자 입력 위치를 결정한다.
상기 패스워드 생성부는 상기 패스워드를 생성하는 과정에서 특수문자를 강제로 입력할 때, 상기 패스워드의 전체 자리수를 더한 후 전체 자리수를 더한 수에 대해 MOD 연산을 수행하며, 상기 MOD 연산을 수행한 값에 문자를 포함하는 경우에 대비하여 ASCII 코드값을 산출하여 더한 값에 대응되는 위치에 특수문자를 강제로 입력한다.
상기 패스워드 생성부는 상기 패스워드를 생성하는 과정에서 특수문자를 강제로 입력할 때, 상기 패스워드 생성시 !@#$%^*+=- 중 적어도 하나 이상의 특수문자를 테이블화해서 인덱스(Index)를 생성하고, 상기 패스워드의 앞에서 3자리를 더한 후 그 수에 대해 MOD 연산을 수행한 값에 대응되는 위치에 특수문자를 강제로 입력한다.
상기 패스워드 생성부는 상기 패스워드를 생성하는 과정에서 특수문자를 강제로 입력할 때, 기 선택된 어느 하나의 특수문자를 상기 패스워드 상의 기 설정된 자릿수에 강제 입력한다.
본 실시예의 다른 측면에 의하면, 패스워드 관리 장치가 패스워드를 관리하는 방법에 있어서, 사용자 단말기로부터 패스워드 생성을 요청받는 요청 과정; OTP(One Time Password) 알고리즘을 이용하여 패스워드를 생성하는 패스워드 생성 과정; 상기 패스워드에 대응하는 시드(Seed)값을 저장하도록 하는 시드 저장 과정; 상기 패스워드를 상기 사용자 단말기로 전송하는 패스워드 전송 과정; 및 상기 패스워드에 대한 해쉬(Hash) 값을 상기 시드값에 매칭하여 저장하도록 하는 패스워드 매칭 저장 과정을 포함하는 것을 특징으로 하는 패스워드 관리 방법을 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, SAC를 수행하여, 복수 개의 서버 각각에 일괄적으로 로그인하기 위해 패스워드를 저장 및 관리할 때, 패스워드(암호화된 패스워드)를 직접 저장하지 않고, 암호화를 위한 시드값만을 저장하도록 하는 효과가 있다.
도 1은 본 실시예에 따른 패스워드 관리 시스템을 전반을 개략적으로 나타낸 블럭 구성도이다.
도 2는 본 실시예에 따른 패스워드 관리 장치를 개략적으로 나타낸 블럭 구성도이다.
도 3a, 3b는 본 실시예에 따른 OTP 알고리즘을 이용한 패스워드 생성 방법을 나타낸 도면이다.
도 4는 본 실시예에 따른 시드값 보호 방안을 설명하기 위한 도면이다.
도 5는 본 실시예에 따른 패스워드 생성 방법을 설명하기 위한 순서도이다.
도 6은 본 실시예에 따른 패스워드 생성시 특수문자를 강제입력하도록 하는 방법을 설명하기 위한 순서도이다.
도 7은 본 실시예에 따른 지정패스워드 처리를 설명하기 위한 도면이다.
이하, 본 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 실시예에 따른 패스워드 관리 시스템을 전반을 개략적으로 나타낸 블럭 구성도이다.
본 실시예에 따른 패스워드 관리 시스템은 사용자 단말기(110), 관리자 단말기(120), 패스워드 관리 장치(130), 데이터베이스(140) 및 컨텐츠 제공 서버(150)를 포함한다. 패스워드 관리 시스템에 포함된 구성요소는 반드시 이에 한정되는 것은 아니다.
사용자 단말기(110), 관리자 단말기(120)는 사용자의 키 조작에 따라 네트워크를 경유하여 음성 또는 데이터 통신을 수행하는 전자 기기를 의미한다. 사용자 단말기(110), 관리자 단말기(120)는 네트워크를 경유하여 패스워드 관리 장치(130)와 통신하기 위한 프로그램 또는 프로토콜을 저장하기 위한 메모리, 해당 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비한다.
사용자 단말기(110), 관리자 단말기(120)는 스마트폰(Smart Phone), 태블릿(Tablet), 랩톱(Laptop), 개인용 컴퓨터(PC: Personal Computer), 개인 휴대 단말기(PDA: Personal Digital Assistant), 게임 콘솔, 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 무선 통신 단말기(Wireless Communication Terminal), TV, 미디어 플레이어 등과 같은 전자 기기일 수 있다.
사용자 단말기(110), 관리자 단말기(120)는 (ⅰ) 각종 기기 또는 유무선 네트워크와 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, (ⅱ) 각종 프로그램과 데이터를 저장하기 위한 메모리, (ⅲ) 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치이다. 적어도 일 실시예에 따르면, 메모리는 램(Random Access Memory: RAM), 롬(Read Only Memory: ROM), 플래시 메모리, 광 디스크, 자기 디스크, 솔리드 스테이트 디스크(Solid State Disk: SSD) 등의 컴퓨터로 판독 가능한 기록/저장매체일 수 있다. 적어도 일 실시예에 따르면, 마이크로프로세서는 명세서상에 기재된 동작과 기능을 하나 이상 선택적으로 수행하도록 프로그램될 수 있다. 적어도 일 실시예에 따르면, 마이크로프로세서는 전체 또는 부분적으로 특정한 구성의 주문형반도체(Application Specific Integrated Circuit: ASIC) 등의 하드웨어로써 구현될 수 있다.
사용자 단말기(110), 관리자 단말기(120)는 패스워드 관리 장치(130)로 패스워드 생성을 요청한다.
패스워드 관리 장치(130)는 SAC(Server Access Control)를 수행하는 장치로서, IDC(Internet Data Center)와 같이 대량 서버를 구비한 곳에서 각각의 서버에 일괄적으로 로그인하기 위해 패스워드를 저장 및 관리하는 장치를 의미한다. 패스워드 관리 장치(130)는 SAC를 수행하여 복수의 서버 각각에 한꺼번에 로그인(서버가 많을 경우, 사람이 일일이 로그인할 수 없기에 시스템적으로 로그인)할 수도 있도록 하는 기능을 수행한다. 패스워드 관리 장치(130)는 SAC의 패스워드 관리에 관한 기능을 수행하며, SAC에 패스워드(암호화된 패스워드)를 직접 보관하지 않고, 암호화를 위한 시드값만을 저장한다.
본 실시예에 따른 패스워드 관리 장치(130)는 사용자 단말기(110) 또는 관리자 단말기(120)로부터 패스워드 생성을 요청받는다. 패스워드 관리 장치(130)는 OTP(One Time Password) 알고리즘을 이용하여 패스워드를 생성한다. 패스워드 관리 장치(130)는 패스워드에 대응하는 시드(Seed)값을 데이터베이스(140)에 저장하도록 한다. 패스워드 관리 장치(130)는 패스워드를 사용자 단말기(110) 또는 관리자 단말기(120)로 전송하도록 한다. 패스워드 관리 장치(130)는 데이터베이스(140)에 패스워드에 대한 해쉬(Hash) 값을 시드값에 매칭하여 저장하도록 한다.
데이터베이스(140)는 데이터베이스 관리 프로그램(DBMS)을 이용하여 컴퓨터 시스템의 저장공간(하드디스크 또는 메모리)에 구현된 일반적인 데이터구조를 의미한다. 데이터베이스(140)는 데이터의 검색(추출), 삭제, 편집, 추가 등을 수행할 수 있는 데이터 저장형태를 의미한다. 데이터베이스(140)는 자신의 기능을 달성하기 위하여 필드(Field) 또는 엘리먼트들을 가진다.
데이터베이스(140)는 패스워드 관리 장치(130)와 연동하여 패스워드 관리 장치(130)로부터 수신된 시드값을 저장한다. 데이터베이스(140)는 패스워드 관리 장치(130)와 연동하여 패스워드에 대한 해쉬(Hash) 값을 시드값에 매칭하여 저장한다.
컨텐츠 제공 서버(150)는 접속한 사용자 단말기(110) 또는 관리자 단말기(120)로 컨텐츠를 제공하는 서버를 의미한다. 패스워드 관리 장치(130)는 SAC를 수행하여 복수의 컨텐츠 제공 서버(150) 각각에 일괄적으로 로그인하기 위해 패스워드를 저장 및 관리한다. 패스워드 관리 장치(130)는 SAC를 수행하여 복수의 컨텐츠 제공 서버(150) 각각에 한번에 로그인할 수도 있도록 하는 기능을 수행한다. 패스워드 관리 장치(130)는 복수의 컨텐츠 제공 서버(150) 각각에 한번에 로그인할 수도 있도록 암호화를 위한 시드값만을 저장한다.
도 2는 본 실시예에 따른 패스워드 관리 장치를 개략적으로 나타낸 블럭 구성도이다.
본 실시예에 따른 패스워드 관리 장치(130)는 요청 수신부(210), 정책 확인부(220), 패스워드 생성부(230), 시드 저장부(240), 패스워드 전송부(250) 및 패스워드 매칭부(260)를 포함한다. 패스워드 관리 장치(130)에 포함된 구성요소는 반드시 이에 한정되는 것은 아니다.
패스워드 관리 장치(130)에 포함된 각 구성요소는 장치 내부의 소프트웨어적인 모듈 또는 하드웨어적인 모듈을 연결하는 통신 경로에 연결되어 상호 간에 유기적으로 동작할 수 있다. 이러한 구성요소는 하나 이상의 통신 버스 또는 신호선을 이용하여 통신한다.
도 2에 도시된 패스워드 관리 장치(130)의 각 구성요소는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 소프트웨어적인 모듈, 하드웨어적인 모듈 또는 소프트웨어와 하드웨어의 결합으로 구현될 수 있다.
요청 수신부(210)는 사용자 단말기(110) 또는 관리자 단말기(120)로부터 패스워드 생성을 요청받는다. 정책 확인부(220)는 기 설정된 정책을 확인한다.
패스워드 생성부(230)는 OTP(One Time Password) 알고리즘을 이용하여 패스워드를 생성한다. 패스워드 생성부(230)는 정책 확인부(220)에서 확인한 정책에 근거하여 패스워드를 생성할 때, 해쉬 알고리즘 적용, 자리수를 제한, 특수문자를 강제로 입력 중 적어도 하나 이상의 과정을 수행한다.
패스워드 생성부(230)는 정책 확인부(220)에서 확인한 정책에 근거하여 패스워드를 생성하는 과정에서, MD4, MD5, SHA-1 중 적어도 하나의 해쉬 알고리즘을 적용한다. 패스워드 생성부(230)는 정책 확인부(220)에서 확인한 정책에 근거하여 패스워드를 생성하는 과정에서, 패스워드의 자리수를 제한할 때, MOD 연산 이용하여 결과값을 절단(Truncation)하도록 하는 것을 특징으로 하는 패스워드 관리 장치. 패스워드 생성부(230)는 정책 확인부(220)에서 확인한 정책에 근거하여 패스워드를 생성하는 과정에서 특수문자를 강제로 입력할 때 !@#$%^*+=- 중 적어도 하나 이상의 특수 기호를 임의의 위치에 입력하도록 한다.
패스워드 생성부(230)는 정책 확인부(220)에서 확인한 정책에 근거하여 패스워드를 생성하는 과정에서 특수문자를 강제로 입력할 때 특수 문자 입력 위치를 결정하도록 한다.
패스워드 생성부(230)는 패스워드를 생성하는 과정에서 특수문자를 강제로 입력할 때, 패스워드의 전체 자리수를 더한 후 전체 자리수를 더한 수에 대해 MOD 연산을 수행하며, MOD 연산을 수행한 값에 문자를 포함하는 경우에 대비하여 ASCII 코드값을 산출하여 더한 값에 대응되는 위치에 특수문자를 강제로 입력한다.
패스워드 생성부(230)는 패스워드를 생성하는 과정에서 특수문자를 강제로 입력할 때, 패스워드 생성시 !@#$%^*+=- 중 적어도 하나 이상의 특수문자를 테이블화해서 인덱스(Index)를 생성하고, 패스워드의 앞에서 3자리를 더한 후 그 수에 대해 MOD 연산을 수행한 값에 대응되는 위치에 특수문자를 강제로 입력한다.
패스워드 생성부(230)는 패스워드를 생성하는 과정에서 특수문자를 강제로 입력할 때, 기 선택된 어느 하나의 특수문자를 패스워드 상의 기 설정된 자릿수에 강제 입력한다.
시드 저장부(240)는 패스워드에 대응하는 시드(Seed)값을 저장하도록 한다. 패스워드 전송부(250)는 패스워드를 사용자 단말기(110) 또는 관리자 단말기(120)로 전송한다. 패스워드 매칭부(260)는 패스워드에 대한 해쉬(Hash) 값을 시드값에 매칭하여 저장하도록 한다.
도 3a, 3b는 본 실시예에 따른 OTP 알고리즘을 이용한 패스워드 생성 방법을 나타낸 도면이다.
도 3a에 도시된 바와 같이, 패스워드 관리 장치(130)는 OTP 알고리즘을 이용하여 패스워드를 생성한다. 패스워드 관리 장치(130)는 루트 유저(Root User) 계정을 생성할 때, 루트 유저에 대한 최초 패스워드 생성시 OTP 알고리즘을 이용한다. 패스워드 관리 장치(130)는 전체 패스워드를 저장할 필요없이 패스워드 생성시에 이용한 시드(Seed) 값만을 데이터베이스(140)에 저장하도록 한다. 사용자 단말기(110) 또는 관리자 단말기(120)는 필요시 패스워드의 일방향 해쉬값을 데이터베이스(140)에 저장하도록 한다.
① 사용자 단말기(110) 또는 관리자 단말기(120)는 패스워드 관리 장치(130)로 계정 생성 위한 패스워드를 요청한다.
② 패스워드 관리 장치(130)는 루트 유저 계정에 대한 최초 패스워드를 OTP 알고리즘을 이용하여 생성한 후 최초 패스워드에 대한 시드값만을 데이터베이스(140)에 저장하도록 한다.
③ 사용자 단말기(110) 또는 관리자 단말기(120)는 패스워드 관리 장치(130)로부터 OTP 알고리즘을 기반으로 생성한 최초 패스워드를 수신한다.
④ 사용자 단말기(110) 또는 관리자 단말기(120)는 패스워드 관리 장치(130)로부터 수신한 최초 패스워드에 대한 패스워드 해쉬값을 데이터베이스(140)에 저장하도록 한다. 사용자 단말기(110) 또는 관리자 단말기(120)가 패스워드 해쉬값을 데이터베이스(140)에 저장하는 과정은 필요한 경우에만 선택적으로 수행할 수 있다.
⑤ 사용자 단말기(110) 또는 관리자 단말기(120)는 패스워드 관리 장치(130)로부터 수신한 최초 패스워드를 기반으로 계정 생성을 시도한다.
도 3b에 도시된 바와 같이, 패스워드 관리 장치(130)는 OTP 알고리즘을 이용하여 생성한 패스워드를 이용하여 루트 유저 계정에 대해 로그인을 수행한다. 패스워드 관리 장치(130)는 시스템 로그인시 데이터베이스(140)에 저장된 시드값을 기반으로 OTP 알고리즘을 이용하여 패스워드를 생성한다. 사용자 단말기(110) 또는 관리자 단말기(120)는 패스워드 관리 장치(130)로부터 수신된 패스워드를 이용하여 시스템에 로그인한다. 패스워드 관리 장치(130)는 필요시 데이터베이스(140)에 기 저장된 패스워드 해쉬값과 생성된 패스워드를 비교하여 패스워드의 무결성을 확인한다.
① 사용자 단말기(110) 또는 관리자 단말기(120)는 패스워드 관리 장치(130)로부터 사용자 계정에 대한 로그인을 위한 패스워드를 요청한다.
② 패스워드 관리 장치(130)는 OTP 알고리즘을 이용하여 패스워드를 생성하고, 생성된 패스워드에 대응하는 시드값을 생성하여 데이터베이스(140)에 저장하도록 한다.
③ 패스워드 관리 장치(130)는 OTP 알고리즘을 이용하여 생성된 패스워드를 사용자 단말기(110) 또는 관리자 단말기(120)로 전송한다. 사용자 단말기(110) 또는 관리자 단말기(120)는 패스워드 관리 장치(130)로부터 패스워드를 수신한다.
④ 패스워드 관리 장치(130)는 데이터베이스(140)에 기 저장된 패스워드 해쉬값과 생성된 패스워드를 비교한다.
패스워드 관리 장치(130)가 패스워드와 해쉬값을 비교 과정은 필요한 경우에만 선택적으로 수행할 수 있다.
⑤ 사용자 단말기(110) 또는 관리자 단말기(120)는 패스워드 관리 장치(130)로부터 수신된 패스워드를 이용하여 로그인을 시도한다.
도 4는 본 실시예에 따른 시드값 보호 방안을 설명하기 위한 도면이다.
도 4에 도시된 바와 같이, 패스워드 관리 장치(130)는 시드값을 보호하기 위해, 시각값과 카운터(Counter)와 같은 패스워드 생성을 위한 시드값은 기 설정된 보안 영역(Safety Zone)이나 보안 USB에 별도로 저장한다. 패스워드 관리 장치(130)는 암호화 키를 이용하여 시드값을 암호화하며, 사용한 키는 키관리 시스템을 이용하여 관리한다.
패스워드 관리 장치(130)에서 OTP 알고리즘으로 패스워드 생성시 기 설정된 시간이 소요된다. 패스워드 관리 장치(130)는 약 500개 정도의 패스워드 생성 시에는 부하가 없으나, 로그인을 위한 패스워드 생성은 매번 실행시 부하 발생할 수 있다. 패스워드 관리 장치(130)는 로그인시 패스워드 생성에 대해 최초 생성 후 메모리에 암호화하여 저장해 둔다. 패스워드 관리 장치(130)는 패스워드 해쉬 외에 시각정보, 카운터(Counter) 같은 시드값의 시스템 저장을 필요로 한다. 패스워드 관리 장치(130)는 OTP 패스워드 생성을 위한 시드값을 서버 자체에 저장할 수 있다.
패스워드 관리 장치(130)는 시드값(시각값, 카운터, 기타)을 서버 자체에 저장할 때, 암호화하여 저장한다. 패스워드 관리 장치(130)는 시드값을 서버 자체에 암호화하여 저장할 때, 암호화에 사용한 키는 KMI에서 관리하도록 한다. 패스워드 관리 장치(130)는 DB 보안 등 다른 시스템 보안제품의 키도 서버 내부에 존재하도록 한다.
도 5는 본 실시예에 따른 패스워드 생성 방법을 설명하기 위한 순서도이다.
패스워드 관리 장치(130)는 사용자 단말기(110) 또는 관리자 단말기(120)로부터 패스워드 생성을 요청받는다(S510). 단계 S510에서 사용자 단말기(110) 또는 관리자 단말기(120)는 패스워드 관리 장치(130)로 패스워드 생성을 최초로 요청한다.
패스워드 관리 장치(130)는 사용자 단말기(110) 또는 관리자 단말기(120)로부터 패스워드 생성을 요청받으면, 기 설정된 정책을 확인한다(S520). 패스워드 관리 장치(130)는 초기 시드값을 입력받는다(S530). 패스워드 관리 장치(130)는 단계 S520에서 확인한 기 설정된 정책에 근거하여 생성된 패스워드에 해쉬 알고리즘(예컨대, MD4, MD5, SHA-1 etc..)을 적용한다(S540).
패스워드 관리 장치(130)는 단계 S520에서 확인한 기 설정된 정책에 근거하여 패스워드를 생성할 때 자리수를 제한한다(S550). 단계 S550에서, 패스워드 관리 장치(130)는 MOD 연산 이용하여 기 설정된 정책에 따라 결과값을 절단(Truncation)한다.
패스워드 관리 장치(130)는 단계 S520에서 확인한 기 설정된 정책에 근거하여 패스워드를 생성할 때 특수문자를 강제로 입력하도록 한다(S560). 단계 S560에서, 패스워드 관리 장치(130)는 예컨대, !@#$%^*+=-와 같은 특수 기호 중 하나를 임의의 위치에 입력하도록 한다.
패스워드 관리 장치(130)는 기 설정된 정책에 근거하여 S540, S550, S560 중 하나를 적용하여 패스워드를 도출한다(S570).
도 5에서는 단계 S510 내지 단계 S570을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 5에 기재된 단계를 변경하여 실행하거나 하나 이상의 단계를 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 5는 시계열적인 순서로 한정되는 것은 아니다.
전술한 바와 같이 도 5에 기재된 본 실시예에 따른 패스워드 생성 방법은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 패스워드 생성 방법을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
도 6은 본 실시예에 따른 패스워드 생성시 특수문자를 강제입력하도록 하는 방법을 설명하기 위한 순서도이다.
패스워드 관리 장치(130)는 패스워드 생성시 특수 문자 입력을 사용자 단말기(110) 또는 관리자 단말기(120)로 요청한다(S610).
패스워드 관리 장치(130)는 패스워드 생성시 특수 문자 입력 위치를 결정한다(S620). 단계 S620에서, 패스워드 관리 장치(130)는 패스워드 생성시 패스워드 전체 자리수를 더한 후 그 수에 대해 MOD 연산을 수행한다. 패스워드 관리 장치(130)는 패스워드 생성시 문자도 있을 수 있으므로 ASCII 코드값을 구해 더한다. 예컨대, 패스워드 관리 장치(130)는 패스워드 생성시 “38474747”에 대해서 3+8+4+7+4+7+4+7 = 44, 44 MOD 8 = 4에서 4번째 자리에 있는 “7”을 특수문자로 바꾸기로 결정한다.
패스워드 관리 장치(130)는 패스워드 생성시 사용자 단말기(110) 또는 관리자 단말기(120)로 특수 문자를 선택하도록 한다(S630). 단계 S630에서 패스워드 관리 장치(130)는 패스워드 생성시 특수문자 “!@#$%^*+=-” 를 테이블화해서 인덱스(Index)를 생성한다. 다시 말해, 패스워드 관리 장치(130)는 패스워드 생성시 패스워드 앞에서 3자리를 더한 후 그 수에 대해 MOD 연산을 수행한다. 패스워드 관리 장치(130)는 MOD 연산에서 나누는 수는 전체 특수문자의 개수, 여기서는 10이 될 수 있다. 예컨대, 패스워드 관리 장치(130)는 패스워드 생성시 “38474747”에 대해서 3+8+4 = 21, 21 MOD 10 = 1로 인식한다. 패스워드 관리 장치(130)는 특수문자 테이블에서 제일 앞에 있는 “!”를 입력하기로 결정한다.
패스워드 관리 장치(130)는 패스워드 생성시 선택한 특수 문자를 입력받는다(S640). 단계 S640에서, 패스워드 관리 장치(130)는 패스워드 생성시 특수문자 “!” 를 패스워드 4번째 자리에 강제 입력하기로 결정한다. 예컨대, 패스워드 관리 장치(130)는 패스워드 생성시 “38474747”에 대해서 “384!4747”로 인식한다.
패스워드 관리 장치(130)는 패스워드를 도출한다(S650). 패스워드 관리 장치(130)는 패스워드 생성시 최종 패스워드 “384!4747”로 도출한다.
도 6에서는 단계 S610 내지 단계 S650을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 6에 기재된 단계를 변경하여 실행하거나 하나 이상의 단계를 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 6은 시계열적인 순서로 한정되는 것은 아니다.
전술한 바와 같이 도 6에 기재된 본 실시예에 따른 패스워드 생성시 특수문자를 강제입력하도록 하는 방법은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 패스워드 생성시 특수문자를 강제입력하도록 하는 방법을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
도 7은 본 실시예에 따른 지정패스워드 처리를 설명하기 위한 도면이다.
도 7에 도시된 바와 같이, 패스워드 관리 장치(130)는 지정 패스워드 계정을 생성한다.
예컨대, 고객이 패스워드를 지정하는 경우가 있다. 고객이 패스워드를 지정하는 경우, 패스워드 관리 장치(130)는 패스워드를 자체를 미저장 하는 방법은 없고, 우회하는 방안을 활용한다. 패스워드 관리 장치(130)는 OTP 알고리즘으로 출력한 난수값을 패스워드로 사용하지 않고, 지정 패스워드의 키값으로 사용하여 패스워드와 ID의 연관성을 끊을 수 있다.
① 사용자 단말기(110) 또는 관리자 단말기(120)는 패스워드 관리 장치(130)로 계정 생성 위한 패스워드를 요청한다.
② 패스워드 관리 장치(130)는 출력 난수값을 키값으로 데이터베이스(140)에 저장하도록 한다.
③ 사용자 단말기(110) 또는 관리자 단말기(120)는 지정 패스워드를 키값에 매칭하여 데이터베이스(140)에 저장하도록 한다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
110: 사용자 단말기 120: 관리자 단말기
130: 패스워드 관리 장치 140: 데이터베이스
150: 컨텐츠 제공 서버

Claims (10)

  1. 사용자 단말기로부터 패스워드 생성을 요청받는 요청 수신부;
    OTP(One Time Password) 알고리즘을 이용하여 패스워드를 생성하는 패스워드 생성부;
    상기 패스워드에 대응하는 시드(Seed)값을 저장하도록 하는 시드 저장부;
    상기 패스워드를 상기 사용자 단말기로 전송하는 패스워드 전송부;
    상기 패스워드에 대한 해쉬(Hash) 값을 상기 시드값에 매칭하여 저장하도록 하는 패스워드 매칭부; 및
    상기 패스워드를 생성하기 위한 기 설정된 정책을 확인하는 정책 확인부;
    를 포함하며,
    상기 패스워드 생성부는,
    상기 정책 확인부에서 확인한 기 설정된 정책에 근거하여 해쉬 알고리즘 적용, 자리수를 제한, 특수문자를 강제로 입력 중 적어도 하나 이상의 과정을 수행하고,
    상기 기 설정된 정책에 근거하여 상기 패스워드를 생성하는 과정에서 상기 해쉬 알고리즘 적용할 때, MD4, MD5, SHA-1 중 적어도 하나의 해쉬 알고리즘을 적용하는 것을 포함하고,
    상기 패스워드 생성부는,
    지정패스워드 계정을 생성하는 경우,
    상기 OTP 알고리즘으로 출력한 난수값을 상기 패스워드로 사용하지 않고, 지정패스워드의 키값으로 사용하기 위하여 상기 난수값과 상기 난수값에 매칭하여 상기 지정패스워드를 데이터베이스에 저장하는 것
    을 포함하는 것을 특징으로 하는 패스워드 관리 장치.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 패스워드 생성부는,
    기 설정된 정책에 근거하여 상기 패스워드를 생성하는 과정에서 상기 패스워드의 자리수를 제한할 때, MOD 연산 이용하여 결과값을 절단(Truncation)하도록 하는 것을 특징으로 하는 패스워드 관리 장치.
  5. 제 1 항에 있어서,
    상기 패스워드 생성부는,
    기 설정된 정책에 근거하여 상기 패스워드를 생성하는 과정에서 상기 특수문자를 강제로 입력할 때 !@#$%^*+=- 중 적어도 하나 이상의 특수 기호를 임의의 위치에 입력하도록 하는 것을 특징으로 하는 패스워드 관리 장치.
  6. 제 1 항에 있어서,
    상기 패스워드 생성부는,
    기 설정된 정책에 근거하여 상기 패스워드를 생성하는 과정에서 특수문자를 강제로 입력할 때 특수 문자 입력 위치를 결정하는 것을 특징으로 하는 패스워드 관리 장치.
  7. 제 6 항에 있어서,
    상기 패스워드 생성부는,
    상기 패스워드를 생성하는 과정에서 특수문자를 강제로 입력할 때, 상기 패스워드의 전체 자리수를 더한 후 전체 자리수를 더한 수에 대해 MOD 연산을 수행하며, 상기 MOD 연산을 수행한 값에 문자를 포함하는 경우에 대비하여 ASCII 코드값을 산출하여 더한 값에 대응되는 위치에 특수문자를 강제로 입력하는 것을 특징으로 하는 패스워드 관리 장치.
  8. 제 6 항에 있어서,
    상기 패스워드 생성부는,
    상기 패스워드를 생성하는 과정에서 특수문자를 강제로 입력할 때, 상기 패스워드 생성시 !@#$%^*+=- 중 적어도 하나 이상의 특수문자를 테이블화해서 인덱스(Index)를 생성하고, 상기 패스워드의 앞에서 3자리를 더한 후 그 수에 대해 MOD 연산을 수행한 값에 대응되는 위치에 특수문자를 강제로 입력하는 것을 특징으로 하는 패스워드 관리 장치.
  9. 제 6 항에 있어서,
    상기 패스워드 생성부는,
    상기 패스워드를 생성하는 과정에서 특수문자를 강제로 입력할 때, 기 선택된 어느 하나의 특수문자를 상기 패스워드 상의 기 설정된 자릿수에 강제 입력하는 것을 특징으로 하는 패스워드 관리 장치.
  10. 패스워드 관리 장치가 패스워드를 관리하는 방법에 있어서,
    사용자 단말기로부터 패스워드 생성을 요청받는 요청 과정;
    OTP(One Time Password) 알고리즘을 이용하여 패스워드를 생성하는 패스워드 생성 과정;
    상기 패스워드에 대응하는 시드(Seed)값을 저장하도록 하는 시드 저장 과정;
    상기 패스워드를 상기 사용자 단말기로 전송하는 패스워드 전송 과정; 및
    상기 패스워드에 대한 해쉬(Hash) 값을 상기 시드값에 매칭하여 저장하도록 하는 패스워드 매칭 저장 과정
    을 포함하되,
    상기 패스워드 생성 과정은,
    기 설정된 정책에 근거하여 해쉬 알고리즘 적용, 자리수를 제한, 특수문자를 강제로 입력 중 적어도 하나 이상을 수행하는 정책 적용 과정
    을 포함하고,
    상기 정책 적용 과정은 상기 해쉬 알고리즘 적용할 때, MD4, MD5, SHA-1 중 적어도 하나의 해쉬 알고리즘을 적용하는 과정을 포함하며,
    상기 패스워드 생성 과정은,
    지정패스워드 계정을 생성하는 경우,
    상기 OTP 알고리즘으로 출력한 난수값을 상기 패스워드로 사용하지 않고, 지정패스워드의 키값으로 사용하기 위하여 상기 난수값과 상기 난수값에 매칭하여 상기 지정패스워드를 데이터베이스에 저장하는 과정
    을 포함하는 것을 특징으로 하는 패스워드 관리 방법.
KR1020170103813A 2017-08-16 2017-08-16 서버 패스워드 관리 방법 및 장치 KR102036155B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170103813A KR102036155B1 (ko) 2017-08-16 2017-08-16 서버 패스워드 관리 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170103813A KR102036155B1 (ko) 2017-08-16 2017-08-16 서버 패스워드 관리 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190018973A KR20190018973A (ko) 2019-02-26
KR102036155B1 true KR102036155B1 (ko) 2019-10-24

Family

ID=65562791

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170103813A KR102036155B1 (ko) 2017-08-16 2017-08-16 서버 패스워드 관리 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102036155B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010503912A (ja) * 2006-09-15 2010-02-04 イニテック カンパニー リミテッド 複数の方式による使い捨てパスワードのユーザー登録、認証方法及び該方法を行うプログラムが記録されたコンピュータにて読取り可能な記録媒体
JP2017017711A (ja) * 2015-07-01 2017-01-19 イノアウス・コリア・インコーポレイテッド ランダムかつ固有のコードを生成する電子装置及び方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101204980B1 (ko) * 2011-03-21 2012-11-26 순천향대학교 산학협력단 임의성을 강화시킨 일회용 패스워드 등록 및 인증 방법과 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010503912A (ja) * 2006-09-15 2010-02-04 イニテック カンパニー リミテッド 複数の方式による使い捨てパスワードのユーザー登録、認証方法及び該方法を行うプログラムが記録されたコンピュータにて読取り可能な記録媒体
JP2017017711A (ja) * 2015-07-01 2017-01-19 イノアウス・コリア・インコーポレイテッド ランダムかつ固有のコードを生成する電子装置及び方法

Also Published As

Publication number Publication date
KR20190018973A (ko) 2019-02-26

Similar Documents

Publication Publication Date Title
US10567385B2 (en) System and method for provisioning a security token
US10635835B2 (en) Decentralized token table generation
KR102493744B1 (ko) 생체 특징에 기초한 보안 검증 방법, 클라이언트 단말, 및 서버
CN108989346B (zh) 基于账号隐匿的第三方有效身份托管敏捷认证访问方法
US10491588B2 (en) Local and remote access apparatus and system for password storage and management
US8590017B2 (en) Partial authentication for access to incremental data
US20130318576A1 (en) Method, device, and system for managing user authentication
CN107359998A (zh) 一种便携式智能口令管理体制的建立与操作方法
CN104320389A (zh) 一种基于云计算的融合身份保护系统及方法
US11757877B1 (en) Decentralized application authentication
CN110225014B (zh) 基于指纹集中下发式的物联网设备身份认证方法
US7412603B2 (en) Methods and systems for enabling secure storage of sensitive data
CN106790243A (zh) 一种安全u盘的密码重置方法
KR20120087095A (ko) 실시간 패스워드를 생성하는 장치 및 방법 및 저장 매체
CN116561725A (zh) 一种基于数据加密的信息安全型企业信息管理系统
CN105590044A (zh) 一种信息认证方法及装置
KR102517001B1 (ko) 블록체인 네트워크 상에서 전자서명 처리 시스템 및 방법
KR102036155B1 (ko) 서버 패스워드 관리 방법 및 장치
CN115086428A (zh) 网络请求发送方法、装置与电子设备
CN104519073A (zh) 一种aaa多因子安全增强认证方法
CN111935178B (zh) 一种移动设备双因子离线认证方法、系统及装置
CN117118750B (zh) 基于白盒密码的数据共享方法、装置、电子设备及介质
CN115021995B (zh) 多渠道登录方法、装置、设备及存储介质
CN109660348B (zh) 一种密码记录系统
CN115189960A (zh) 一种将静态密码与动态口令相结合的认证方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right