KR101879758B1 - 사용자 단말기별 사용자 디지털 인증서 발급 방법 및 그 인증서에 의한 인증 방법 - Google Patents

사용자 단말기별 사용자 디지털 인증서 발급 방법 및 그 인증서에 의한 인증 방법 Download PDF

Info

Publication number
KR101879758B1
KR101879758B1 KR1020170074542A KR20170074542A KR101879758B1 KR 101879758 B1 KR101879758 B1 KR 101879758B1 KR 1020170074542 A KR1020170074542 A KR 1020170074542A KR 20170074542 A KR20170074542 A KR 20170074542A KR 101879758 B1 KR101879758 B1 KR 101879758B1
Authority
KR
South Korea
Prior art keywords
user terminal
terminal
user
authentication server
certificate
Prior art date
Application number
KR1020170074542A
Other languages
English (en)
Inventor
백효성
손병록
조춘식
구자현
Original Assignee
주식회사위즈베라
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사위즈베라 filed Critical 주식회사위즈베라
Priority to KR1020170074542A priority Critical patent/KR101879758B1/ko
Application granted granted Critical
Publication of KR101879758B1 publication Critical patent/KR101879758B1/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/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/3263Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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/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
    • 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/3236Cryptographic 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 cryptographic hash functions
    • 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/3247Cryptographic 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 involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명에 의한 단말기별 사용자 인증서를 발급받는 방법은, 사용자 단말기와, 서비스 제공 서버와, 인증 서버를 포함하는 환경에서 수행되며, 사용자 단말기가 인증 서버로 사용자 식별 정보를 전송하는 제1 단계와; 인증 서버가 기본 키쌍을 생성하고, 기본 인증서를 생성하는 제2 단계와; 사용자 단말기가 PIN을 입력받는 제3 단계와; 사용자 단말기가 단말기 키쌍을 생성하는 제4 단계와; 사용자 단말기가 PIN에 대해 해쉬 연산을 수행하는 제5 단계와; 사용자 단말기가 제6 단계의 해쉬 연산값 및 단말기 공개키를 인증 서버로 전송하는 제6 단계와; 인증 서버가 단말기별 사용자 인증서를 생성하는 제7 단계와; 인증 서버가 시드값을 생성하는 제8 단계와; 인증 서버가 시드값 및 제6 단계에서 전송받은 해쉬 연산값을 저장하는 제9 단계와; 인증 서버가 사용자 단말기로 단말기별 사용자 인증서 및 시드값을 전송하는 제10 단계와; 사용자 단말기가 단말기 비밀키를 시드값에 기초하여 생성된 암호키로 암호화하고 저장하는 제11 단계와; 사용자 단말기가 대칭키를 생성하고 대칭키로 단말기별 사용자 인증서를 암호화하고 저장하는 제12 단계를 포함한다.

Description

사용자 단말기별 사용자 디지털 인증서 발급 방법 및 그 인증서에 의한 인증 방법{Method for Generating User Digital Certificate for Individual User Terminal and for Authenticating Using the Same Digital Certificate}
본 발명은 단말기별 사용자의 디지털 인증서 발급 방법 및 그 인증서에 의한 인증 방법에 관한 것이다.
대면 거래가 아닌 인터넷 등 온라인상의 금융거래 또는 상품 구매 등에 있어서 본인임을 증명하는 디지털 인증서가 널리 사용되고 있다. 본 명세서에서는 특별히 명시되지 않는 한 "인증서"는 "디지털 인증서"를 의미한다. 인증서는 일반적으로 소유자의 공개키, 인증서의 유효기간, 소유자의 식별 정보, 인증서의 용도 등을 포함하며, 소유자의 개인키와 쌍으로 존재한다. 인증서는 소유자의 단말기 또는 저장 매체에 저장될 수 있다.
현재 사용되는 인증서는 용도별로 원칙적으로 1개를 발급하고 소유하는 구조를 취하고 있다. 하나의 인증서를 발급받은 후, 해당 인증서를 다른 단말기에서 사용하고자 하면, 인증서의 이동/복사와 같은 절차를 거쳐야 해서 번거로움이 존재하는 단점이 있다.
본 발명은, 인증서를 다른 단말기에서 사용하고자 할 때에 인증서의 복사/이동과 같은 번거로운 과정없이 사용자 단말기마다 다른 인증서를 발급받고, 그 인증서를 사용해도 인증이 가능한 인증서 발급 및 인증 방법을 제공하는 것을 목적으로 한다.
본 발명에 의한 단말기별 사용자 인증서를 발급받는 방법은, 사용자 단말기와, 서비스 제공 서버와, 인증 서버를 포함하는 환경에서 수행되며, 사용자 단말기가 인증 서버로 사용자 식별 정보를 전송하는 제1 단계와; 인증 서버가 기본 키쌍을 생성하고, 기본 인증서를 생성하는 제2 단계와; 사용자 단말기가 PIN을 입력받는 제3 단계와; 사용자 단말기가 단말기 키쌍을 생성하는 제4 단계와; 사용자 단말기가 PIN에 대해 해쉬 연산을 수행하는 제5 단계와; 사용자 단말기가 제5 단계의 해쉬 연산값 및 단말기 공개키를 인증 서버로 전송하는 제6 단계와; 인증 서버가 단말기별 사용자 인증서를 생성하는 제7 단계와; 인증 서버가 시드값을 생성하는 제8 단계와; 인증 서버가 시드값 및 제6 단계에서 전송받은 해쉬 연산값을 저장하는 제9 단계와; 인증 서버가 사용자 단말기로 단말기별 사용자 인증서 및 시드값을 전송하는 제10 단계와; 사용자 단말기가 단말기 비밀키를 시드값에 기초하여 생성된 암호키로 암호화하고 저장하는 제11 단계와; 사용자 단말기가 대칭키를 생성하고 대칭키로 단말기별 사용자 인증서를 암호화하고 저장하는 제12 단계를 포함한다.
제5 단계는 PIN에 대해서 복수 횟수만큼 해쉬 연산을 수행하는 단계일 수 있다.
제7 단계는, 단말기 공개키에 대해 기본 비밀키로 전자서명을 수행하여 단말기별 사용자 인증서를 생성하는 단계일 수 있다.
제11 단계의 암호키는, Hash(PIN + 시드값)일 수 있다.
제12 단계에서 암호화된 단말기별 사용자 인증서는 사용자 단말기의 고유 영역에 저장될 수 있다.
본 발명에 의한 인증서 발급 방법에 의해 사용자 단말기별 사용자 인증서를 받은 사용자 단말기가 서비스 제공 서버의 서비스를 이용하기 위해 인증받는 방법은, 사용자 단말기가 서비스 제공 서버에 접속하는 제1 단계와; 사용자 단말기가 인증 서버로부터 논스값(nonce)을 수신하는 제2 단계와; 사용자 단말기가 PIN을 입력받는 제3 단계와; 사용자 단말기가 PIN에 대해 해쉬 연산을 수행하는 제4 단계와; 사용자 단말기가 메시지 인증값을 생성하는 제5 단계와; 사용자 단말기가 메시지 인증값을 인증 서버로 전송하는 제6 단계와; 사용자 단말기가 메시지 인증값을 검증한 인증 서버로부터 시드값을 수신하는 제7 단계와; 사용자 단말기가 단말기 비밀키의 복호화키를 획득하는 제8 단계와; 사용자 단말기가 단말기 비밀키를 복호화하는 제9 단계와; 사용자 단말기가 단말기 비밀키로 전자서명한 값을 인증 서버로 전송하는 제10 단계를 포함한다.
제4 단계는, PIN에 대해서 복수 횟수만큼 해쉬 연산을 수행하는 단계일 수 있다.
제5 단계의 메시지 인증값은, MAC 알고리즘(nonce; MAC Key = PIN의 해쉬연산값)에 의해 산출된 값일 수 있다.
본 발명에 따르면, 사용자가 기본 인증서를 인증 서버에 먼저 발급받은 후에, 사용하는 사용자 단말기별로 유효한 개별 단말기별 사용자 인증서를 발급받기 때문에 단말기에 인증서를 사용하기 위해서 발급받은 인증서를 이동/복사하는 등의 번거로운 과정을 생략할 수 있다. 그리고 단말기별 사용자 인증서를 일회성으로만 유효하게 설정할 수도 있기 때문에 보안성 역시 현저하게 고양되는 효과가 있다.
도 1은 본 발명에 의한 단말기별 사용자 인증서 발급 방법의 흐름도.
도 2는 본 발명에 의해 발급받은 단말기별 사용자 인증서에 의한 인증 방법의 흐름도.
이하에서는 첨부 도면을 참조하여 본 발명에 대해서 자세하게 설명한다.
본 명세서에서 수행되는 정보(데이터) 전송 과정은 필요에 따라서 암호화/복호화가 적용될 수 있으며, 본 명세서 및 특허청구범위에서 정보(데이터) 전송 과정을 설명하는 표현은 별도로 언급되지 않더라도 모두 암호화/복호화하는 경우도 포함하는 것으로 해석되어야 한다. 본 명세서에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, A로부터 B까지 직접 전송(전달) 또는 수신되는 것만을 표현하는 것은 아니다. 본 발명의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행 단계로 설명된 과정보다 앞서서 수행되더라도 발명의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 “A 또는 B”은 A와 B 중 어느 하나를 선택적으로 가리키는 것 뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.
본 명세서에서는 본 발명의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 발명의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.
본 명세서에서 "모듈"이라 함은 범용적인 하드웨어와 그 기능을 수행하는 소프트웨어의 논리적 결합을 의미한다.
도 1에는 본 발명에 의한 단말기별 사용자 인증서를 발급받는 방법의 흐름도가 도시되어 있다. 본 발명에 의한 단말기별 사용자 인증서 발급 방법은, 사용자 단말기(10)와, 서비스 제공 서버(20)와, 인증 서버(30)를 포함하는 환경에서 수행된다.
사용자 단말기(10)는, PC, 노트북 컴퓨터, 스마트폰, 태블릿 PC 등 전자적 연산과 데이터 통신이 가능한 전자 장치라면 그 종류를 불문하고 사용될 수 있다.
서비스 제공 서버(20)는, 사용자가 인증서를 통한 인증 등을 통해 온라인상으로 이용하고자 하는 서비스를 제공하는 서버로서, 예를 들어, 금융기관 서버, 온라인 상점 서버 등이 될 수 있다.
인증 서버(30)는, 인증 기관(CA; Certificate Authority)에 의해 운용되는 인증 서버이다. 본 명세서에서 "인증 서버"는 인증 기관에 의해 운용되는 인증 서버 뿐만 아니라, 인증 기관에 의해 직접 운용되지 않더라도 인증 목적으로 인증서 저장 등의 기능을 수행하는 부수적인 서버도 포함하는 개념으로 정의된다.
먼저 단계(100)에서 사용자 단말기(10)와 서비스 제공 서버(20)간에 사전 인증이 수행된다. 사전 인증 과정은 사용자가 서비스 제공 서버(20)에 등록된 사용자인지 여부를 검증하는 과정으로서, 예를 들어, 사용자 이름, 생년월일, 비밀번호, OTP 인증을 통해서 등록된 사용자임을 검증할 수 있다. 추가적으로, 인증 번호 발송을 통한 푸쉬(PUSH) 인증이나 ARS 인증을 더 수행하여 사전 인증을 보완할 수도 있다. 이러한 사전 인증 절차는 공지되어 있는 방법을 사용하면 되며, 본 발명의 본질적인 요소는 아니므로 자세한 설명은 생략한다.
사전 인증에 성공하면 사용자 단말기(10)가 인증 서버(30)로 사용자 식별 정보와 서비스 제공 서버(20)의 정보를 전송한다(단계 105). 사용자 식별 정보와 서비스 제공 서버(20)의 정보는 서비스 제공 서버(20)가 인증 서버로 전송할 수도 있다.
사용자 식별 정보는, 서비스 제공 서버(20)로의 접속 ID(ex, 인터넷 뱅킹 ID), 사용자 성명, 사용자 전화번호 등이 될 수 있다. 서비스 제공 서버(20)의 정보는, 서비스 제공 서버의 식별자, 서버 인증서, 인증 시점 등이 될 수 있다.
인증 서버(30)는 해당 사용자에 대한 기본 키쌍을 생성하고 그에 기초하여 기본 인증서를 생성한다(단계 110). 기본 키쌍은 해당 사용자에게 고유한 기본 비밀키와, 기본 공개키의 쌍으로 구성되며, 사전 인증 결과에 포함되어 있는 특정 결과값을 추출하고 조합하여 생성될 수 있다. 이 특정 결과값의 예로는, 접속 ID(예를 들어, 인터넷 뱅킹 ID), 사용자 성명, 사용자 전화번호, 수집할 수 있는 IP 주소, 쿠키, 언어, 시간대역, HTTP 헤더(User agent, referrer 등), HTML5 API (WebRTC, Battery API 등), HTML5 및 CSS3 feature detection, CSS mediaqueries, WebGL, 브라우저 플러그인(Flash, Silverlight, Java 등), 브라우저 애드온(add-on), 브라우저 옵션(Do-Not-Track 등), 브라우저 스토리지, 시스템 폰트, TLS/SSL 세션 ID, Hardware detection (카메라, 마이크, 터치 스크린 등), 스크린(해상도, color depth, 픽셀 밀도 등), 오디오 및 비디오 코덱, Accessibility feature 값, 서비스 제공 서버 인증서, 서비스 제공 서버 식별자, 도메인 정보, 인증 시점 등이 있다. 그러나 위 정보들은 단순한 예시일 뿐이며, 기본 키쌍의 생성에 다른 값이 사용될 수도 있다.
기본 인증서는 인증 서버(30) 또는 인증 목적으로 운용되는 다른 서버에 저장되며, 사용자가 최초로 접속할 때에 1회 발급되며, 그 이후에 접속하는 사용자 단말기에서는 발급될 필요가 없다.
기본 인증서가 생성된 후에, 사용자는 사용자 단말기(10)를 통해 단말기별 사용자 인증서를 발급받는다. 단계(115) 내지 단계(155)가 그 과정으로서 후술한다. 후술하는 단말기별 사용자 인증서 발급은 단말기별로 수행되며, 인증 서버(30)는 후술하는 단말기별 사용자 인증서와 관련한 관련 정보를 사용자 단말기별로 구분하여 저장하고 사용하게 된다.
단계(115)에서 사용자 단말기(10)는 인증을 위한 PIN을 입력받는다. 사용자 단말기(10)는 단말기 키쌍을 생성한다(단계 120). 단말기 키쌍은 단말기 비밀키와 단말기 공개키로 구성되는데, 단말기에서 수집할 수 있는 IP 주소, 쿠키, 언어, 시간대역, HTTP 헤더(User agent, referrer 등), HTML5 API (WebRTC, Battery API 등), HTML5 및 CSS3 feature detection, CSS mediaqueries, WebGL, 브라우저 플러그인(Flash, Silverlight, Java 등), 브라우저 애드온(add-on), 브라우저 옵션(Do-Not-Track 등), 브라우저 스토리지, 시스템 폰트, TLS/SSL 세션 ID, Hardware detection (카메라, 마이크, 터치 스크린 등), 스크린(해상도, color depth, 픽셀 밀도 등), 오디오 및 비디오 코덱, Accessibility feature 값을 추출하고 조합한 값을 기초로 생성될 수 있다. 그러나 위 정보들은 단순한 예시일 뿐이며, 단말기 키쌍의 생성에 다른 값이 사용될 수도 있다.
사용자가 입력한 PIN에 대해서 사용자 단말기(10)가 해쉬 연산을 n 차례 수행한다(단계 125; Hash(PIN)n). n은 1이 될 수도 있고, 1보다 큰 정수가 될 수도 있으며, 그 범위에 제한은 없다.
사용자 단말기(10)는 단말기 공개키와 Hash(PIN)n을 인증 서버(30)로 전송한다(단계 130). 인증 서버(30)는 단말기별 사용자 인증서를 생성한다(단계 135). 단말기별 사용자 인증서는 전달받은 단말기 공개키에 대해서 기본 비밀키로 전자 서명을 수행하여 생성될 수 있다. 다음으로 인증 서버(30)는 시드값(Private Seed-Password)을 생성하고, Hash(PIN)n과 함께 저장한다(단계 140 및 145).
인증 서버(30)는 단말기별 사용자 인증서 및 시드값을 사용자 단말기(10)로 전송한다(단계 150). 사용자 단말기(10)는 단계(120)에서 생성한 단말기 비밀키를 암호화해서 저장하는데(단계 155), 암호화키로 사용자가 입력한 PIN과 인증 서버(30)로부터 전달받은 시드값을 조합하여 해쉬연산한 값(Hash (PIN + Private Seed-Password)을 사용할 수 있다. 시드값은 상기 암호화키의 생성 후 사용자 단말기(10)에서 삭제될 수 있다.
인증 서버(30)로부터 전송받은 단말기별 사용자 인증서는 사용자 단말기(10)의 고유 영역에 저장된다. 사용자 단말기(10)의 안전한 영역 예를 들어, USIM, CPU와 같은 하드웨어 영역이나 웹 브라우저의 Webcrypto 영역과 같이 키 유출이 되지 않는 영역에 대칭키를 생성해서 저장하고, 단말기별 사용자 인증서를 해당 대칭키로 암호화하여 저장한다(단계 160). 이로 인해, 특정 사용자 단말기(10)에 대해 발급받은 단말기별 사용자 인증서는 다른 단말기에서는 인식하지 못하게 된다. 사용자 단말기(10)에 저장된 대칭키에 대한 접근은 해당 보호 영역에 고유하게 제공되는 접근 제어 방식에 따라 보호된다.
단말기별 사용자 인증서는 특정 사용자 단말기(10)에 대해서 발급받은 후 계속 유효한 상태로 사용할 수 있게 할 수도 있고, 위 과정을 통해서 1회 발급받은 단말기별 사용자 인증서를 1회 사용 또는 특정 횟수나 기간 동안만 유효하게 설정할 수도 있다.
전술한 바와 같이 기본 인증서와 단말기별 사용자 인증서를 발급받은 사용자가 또 다른 사용자 단말기에 유효한 단말기별 사용자 인증서를 발급받고자 할 때에는, 해당 사용자 단말기에서 단계(115) 내지 단계(155)를 거치면 된다. 다만, 단말기별 사용자 인증서 발급 전에 서비스 제공 서버(20)간에 사전 인증을 수행하고, 기본 인증서가 인증 서버(30)에 발급되어 있는 상태인지를 확인하는 과정이 더 필요할 수 있다.
도 2에는 단말기별 사용자 인증서를 발급받은 후에, 서비스 제공 서버(20)가 제공하는 서비스를 이용하기 위해 인증을 수행하는 방법의 흐름도가 도시되어 있다.
먼저 사용자는 사용자 단말기(10)를 통해 서비스 제공 서버(20)에 접속한다(단계 200). 사용자 단말기(10)에는 단말기별 사용자 인증서를 암호화한 대칭키가 보안 영역에 저장되어 있는데, 정상적인 접근을 통해 대칭키로 단말기별 사용자 인증서가 복호화되어 활성화된 상태가 된다. 보안 영역에 저장된 대칭키에 대한 접근은 각 보안 영역이 제공하는 보안 프로토콜을 통해서 보호되고, 그러한 내용은 공지 기술의 영역에 속하기 때문에 본 명세서에서 자세하게 설명하지는 않는다.
단계(205)에서 인증 서버(30)는 사용자 단말기(10)로 논스값(nonce)을 전송한다. 논스값은 서비스 제공 서버(20)를 통해서 전달될 수도 있다. 사용자 단말기(10)는 PIN을 입력받는다(단계 210). 그리고 입력받은 PIN에 대해서 n번 해쉬 연산을 수행한다(Hash(PIN)n; 단계 215). 단계(220)에서 메시지 인증값(MAC)을 생성한다. 메시지 인증값은 예를 들어, 논스값에 대해서 Hash(PIN)n을 비밀키로 하여 MAC 알고리즘을 통해 산출될 수 있다. MAC 알고리즘은 공지되어 있는 알고리즘을 사용할 수 있으며, 공지 기술의 영역에 속하기 때문에 본 명세서에서는 자세한 설명을 생략한다.
생성된 메시지 인증값은 인증 서버(30)로 전송되는데, 서비스 제공 서버(20)를 거쳐서 전송될 수도 있다(단계 225). 메시지 인증값을 수신한 인증 서버(30)는 메시지 인증값을 검증한다(단계 230). 인증 서버(30)는 논스값과 Hash(PIN)n을 가지고 있기 때문에, 메시지 인증값이 정상값인지 검증할 수 있다. 메시지 인증값 검증에 성공하면 시드값(Private Seed-Password)를 사용자 단말기(10)로 전송한다(단계 235).
사용자 단말기(10)는 단말기 비밀키의 복호화키를 획득한다(단계 240). 단계(150)과 관련하여 설명한 바와 같이, 단말기 비밀키는 Hash (PIN + Private Seed-Password)이므로, 인증 서버(30)로부터 수신한 시드값과 PIN으로부터 암호화할 때 사용한 키를 획득하고 그 키로 단말기 비밀키를 복호화한다(단계 240).
사용자 단말기(10)는 복호화해서 획득한 단말기 비밀키로 데이터를 전자서명하고, 전자서명문을 인증 서버(30)로 전달한다(단계 250). 인증 서버(30)는 수신한 전자서명을 검증하는데(단계 255), 인증 서버(30)는 단계(130)에서 단말기 공개키를 전달받아서 가지고 있기 때문에 수신한 전자서명문이 해당 사용자가 정당하게 서명한 전자서명인지 여부를 검증할 수 있다. 전자 서명 검증과 관련한 상세한 과정은 공지 기술의 영역에 속하기 때문에 본 명세서에서 자세하게 설명하지는 않는다. 전자 서명 검증에 성공하면 사용자는 사용자 단말기(10)를 통해서 서비스 제공 서버(20)가 인증서를 통한 인증에 성공해야 제공하는 다양한 서비스를 온라인을 통해서 이용할 수 있다.
본 발명에 따르면, 사용자가 기본 인증서를 인증 서버에 먼저 발급받은 후에, 사용하는 사용자 단말기별로 유효한 개별 단말기별 사용자 인증서를 발급받기 때문에 단말기에 인증서를 사용하기 위해서 발급받은 인증서를 이동/복사하는 등의 번거로운 과정을 생략할 수 있다. 그리고 단말기별 사용자 인증서를 일회성으로만 유효하게 설정할 수도 있기 때문에 보안성 역시 현저하게 고양되는 효과가 있다.
이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.
10: 사용자 단말기
20: 서비스 제공 서버
30: 인증 서버

Claims (8)

  1. 사용자 단말기와, 서비스 제공 서버와, 인증 서버를 포함하는 환경에서 단말기별로 유효한 인증서를 발급받는 방법에 있어서,
    사용자 단말기가 인증 서버로 사용자 식별 정보를 전송하는 제1 단계와,
    인증 서버가 기본 키쌍을 생성하고, 기본 인증서를 생성하는 제2 단계와,
    사용자 단말기가 PIN을 입력받는 제3 단계와,
    사용자 단말기가 단말기 키쌍을 생성하는 제4 단계와,
    사용자 단말기가 PIN에 대해 해쉬 연산을 수행하는 제5 단계와,
    사용자 단말기가 제5 단계의 해쉬 연산값 및 단말기 공개키를 인증 서버로 전송하는 제6 단계와,
    인증 서버가 단말기별 사용자 인증서를 생성하는 제7 단계와,
    인증 서버가 시드값을 생성하는 제8 단계와,
    인증 서버가 시드값 및 제6 단계에서 전송받은 해쉬 연산값을 저장하는 제9 단계와,
    인증 서버가 사용자 단말기로 단말기별 사용자 인증서 및 시드값을 전송하는 제10 단계와,
    사용자 단말기가 단말기 비밀키를 시드값에 기초하여 생성된 암호키로 암호화하고 저장하는 제11 단계와,
    사용자 단말기가 대칭키를 생성하고 대칭키로 단말기별 사용자 인증서를 암호화하고 저장하는 제12 단계를 포함하는,
    인증서 발급 방법.
  2. 청구항 1에 있어서,
    제5 단계는 PIN에 대해서 복수 횟수만큼 해쉬 연산을 수행하는 단계인,
    인증서 발급 방법.
  3. 청구항 1에 있어서,
    제7 단계는, 단말기 공개키에 대해 기본 비밀키로 전자서명을 수행하여 단말기별 사용자 인증서를 생성하는 단계인,
    인증서 발급 방법.
  4. 청구항 1에 있어서,
    제11 단계의 암호키는, Hash(PIN + 시드값)인,
    인증서 발급 방법.
  5. 청구항 1에 있어서,
    제12 단계에서 암호화된 단말기별 사용자 인증서는 사용자 단말기의 고유 영역에 저장되는,
    인증서 발급 방법.
  6. 청구항 1 내지 청구항 5 중 어느 하나의 청구항의 인증서 발급 방법에 의해 사용자 단말기별 사용자 인증서를 받은 사용자 단말기가 서비스 제공 서버의 서비스를 이용하기 위해 인증받는 방법에 있어서,
    사용자 단말기가 서비스 제공 서버에 접속하는 제1 단계와,
    사용자 단말기가 인증 서버로부터 논스값(nonce)을 수신하는 제2 단계와,
    사용자 단말기가 PIN을 입력받는 제3 단계와,
    사용자 단말기가 PIN에 대해 해쉬 연산을 수행하는 제4 단계와,
    사용자 단말기가 메시지 인증값을 생성하는 제5 단계와,
    사용자 단말기가 메시지 인증값을 인증 서버로 전송하는 제6 단계와,
    사용자 단말기가 메시지 인증값을 검증한 인증 서버로부터 시드값을 수신하는 제7 단계와,
    사용자 단말기가 단말기 비밀키의 복호화키를 획득하는 제8 단계와,
    사용자 단말기가 단말기 비밀키를 복호화하는 제9 단계와,
    사용자 단말기가 단말기 비밀키로 전자서명한 값을 인증 서버로 전송하는 제10 단계를
    포함하는, 인증 방법.
  7. 청구항 6에 있어서,
    제4 단계는, PIN에 대해서 복수 횟수만큼 해쉬 연산을 수행하는 단계인,
    인증 방법.
  8. 청구항 6에 있어서,
    제5 단계의 메시지 인증값은, MAC 알고리즘(nonce; MAC Key = PIN의 해쉬연산값)에 의해 산출된 값인,
    인증 방법.
KR1020170074542A 2017-06-14 2017-06-14 사용자 단말기별 사용자 디지털 인증서 발급 방법 및 그 인증서에 의한 인증 방법 KR101879758B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170074542A KR101879758B1 (ko) 2017-06-14 2017-06-14 사용자 단말기별 사용자 디지털 인증서 발급 방법 및 그 인증서에 의한 인증 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170074542A KR101879758B1 (ko) 2017-06-14 2017-06-14 사용자 단말기별 사용자 디지털 인증서 발급 방법 및 그 인증서에 의한 인증 방법

Publications (1)

Publication Number Publication Date
KR101879758B1 true KR101879758B1 (ko) 2018-08-17

Family

ID=63407957

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170074542A KR101879758B1 (ko) 2017-06-14 2017-06-14 사용자 단말기별 사용자 디지털 인증서 발급 방법 및 그 인증서에 의한 인증 방법

Country Status (1)

Country Link
KR (1) KR101879758B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102101726B1 (ko) * 2019-10-11 2020-05-29 (주)소프트제국 블록체인 기반의 브라우저의 웹스토리지를 이용한 간편인증 방법 및 시스템
KR102101719B1 (ko) * 2019-10-11 2020-05-29 (주)소프트제국 브라우저의 웹스토리지를 이용한 간편인증 방법 및 시스템
CN112632571A (zh) * 2020-12-04 2021-04-09 翰顺联电子科技(南京)有限公司 数据加密方法、解密方法与装置及存储装置
WO2021071116A1 (ko) * 2019-10-11 2021-04-15 (주)소프트제국 브라우저의 웹스토리지를 이용한 간편인증 방법 및 시스템
KR20220040741A (ko) * 2020-09-24 2022-03-31 주식회사 엘지유플러스 Did에 기초한 암호화 방식을 이용한 데이터 통신 방법 및 장치
WO2022169457A1 (en) * 2021-02-05 2022-08-11 Visa International Service Association Mobile device secret protection system and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080005344A (ko) * 2007-12-26 2008-01-11 한국정보보호진흥원 인증서버가 사용자단말기를 인증하는 시스템
KR20140047058A (ko) * 2014-01-29 2014-04-21 박규영 클라우드 공인인증 시스템 및 그 제공방법
KR20160099922A (ko) * 2015-02-13 2016-08-23 크루셜텍 (주) 사용자 인증서 발급과 사용자 인증을 위한 방법, 장치 및 컴퓨터 프로그램

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080005344A (ko) * 2007-12-26 2008-01-11 한국정보보호진흥원 인증서버가 사용자단말기를 인증하는 시스템
KR20140047058A (ko) * 2014-01-29 2014-04-21 박규영 클라우드 공인인증 시스템 및 그 제공방법
KR20160099922A (ko) * 2015-02-13 2016-08-23 크루셜텍 (주) 사용자 인증서 발급과 사용자 인증을 위한 방법, 장치 및 컴퓨터 프로그램

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102101726B1 (ko) * 2019-10-11 2020-05-29 (주)소프트제국 블록체인 기반의 브라우저의 웹스토리지를 이용한 간편인증 방법 및 시스템
KR102101719B1 (ko) * 2019-10-11 2020-05-29 (주)소프트제국 브라우저의 웹스토리지를 이용한 간편인증 방법 및 시스템
WO2021071116A1 (ko) * 2019-10-11 2021-04-15 (주)소프트제국 브라우저의 웹스토리지를 이용한 간편인증 방법 및 시스템
CN113272810A (zh) * 2019-10-11 2021-08-17 软件帝国株式会社 利用浏览器的网页存储器的简单认证方法及***
CN113272810B (zh) * 2019-10-11 2022-02-22 软件帝国株式会社 利用浏览器的网页存储器的简单认证方法及***
US11271744B2 (en) 2019-10-11 2022-03-08 Swempire Co., Ltd. Simple authentication method and system using browser web storage
KR20220040741A (ko) * 2020-09-24 2022-03-31 주식회사 엘지유플러스 Did에 기초한 암호화 방식을 이용한 데이터 통신 방법 및 장치
KR102467558B1 (ko) * 2020-09-24 2022-11-16 주식회사 엘지유플러스 Did에 기초한 암호화 방식을 이용한 데이터 통신 방법 및 장치
CN112632571A (zh) * 2020-12-04 2021-04-09 翰顺联电子科技(南京)有限公司 数据加密方法、解密方法与装置及存储装置
CN112632571B (zh) * 2020-12-04 2024-04-09 翰顺联电子科技(南京)有限公司 数据加密方法、解密方法与装置及存储装置
WO2022169457A1 (en) * 2021-02-05 2022-08-11 Visa International Service Association Mobile device secret protection system and method
US11960581B2 (en) 2021-02-05 2024-04-16 Visa International Service Association Mobile device secret protection system and method

Similar Documents

Publication Publication Date Title
US20240007308A1 (en) Confidential authentication and provisioning
US11799668B2 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
US9838205B2 (en) Network authentication method for secure electronic transactions
US9967090B2 (en) Efficient methods for protecting identity in authenticated transmissions
US9231925B1 (en) Network authentication method for secure electronic transactions
KR101879758B1 (ko) 사용자 단말기별 사용자 디지털 인증서 발급 방법 및 그 인증서에 의한 인증 방법
CN102624740B (zh) 一种数据交互方法及客户端、服务器
US8112787B2 (en) System and method for securing a credential via user and server verification
JP6012125B2 (ja) 問い合わせ型トランザクションによる強化された2chk認証セキュリティ
US9185096B2 (en) Identity verification
US8327422B1 (en) Authenticating a server device using dynamically generated representations
US20070162961A1 (en) Identification authentication methods and systems
CN105072125B (zh) 一种http通信***及方法
JP2015528149A (ja) 企業トリガ式2chk関連付けの起動
TW201424316A (zh) 使用瀏覽器認證線上交易的方法
US11329824B2 (en) System and method for authenticating a transaction
EP2908493B1 (en) Secure communication systems
TW201539239A (zh) 伺服器、用戶設備以及用戶設備與伺服器的交互方法
US20220300962A1 (en) Authenticator App for Consent Architecture
WO2023284691A1 (zh) 一种账户的开立方法、***及装置
USRE49968E1 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
WO2011060738A1 (zh) 一种确认cpu卡内数据的方法
Lee et al. Digital Communications and Networks

Legal Events

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