KR101810946B1 - 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법 - Google Patents

트러스트 존 기반의 공인인증서를 이용한 전자서명 방법 Download PDF

Info

Publication number
KR101810946B1
KR101810946B1 KR1020170012098A KR20170012098A KR101810946B1 KR 101810946 B1 KR101810946 B1 KR 101810946B1 KR 1020170012098 A KR1020170012098 A KR 1020170012098A KR 20170012098 A KR20170012098 A KR 20170012098A KR 101810946 B1 KR101810946 B1 KR 101810946B1
Authority
KR
South Korea
Prior art keywords
npki
public key
folder
binary
certificate
Prior art date
Application number
KR1020170012098A
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 KR1020170012098A priority Critical patent/KR101810946B1/ko
Application granted granted Critical
Publication of KR101810946B1 publication Critical patent/KR101810946B1/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/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
    • 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/33User authentication using certificates
    • 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/321Cryptographic 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 a third party or a trusted authority

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법에 관한 것으로서, (a) 뱅킹 앱에서 발생한 전자서명 요청에 따라, 사용자 단말에 형성된 공통 폴더에 공인인증서 및 개인키의 존재여부를 판단하거나, 공통 서버에 접속하여 공인인증서 및 개인키의 존재여부를 판단하는 단계, (b) 상기 (a) 단계에서 공통 폴더 또는 공통 서버에 공인인증서 및 개인키가 존재하는 경우, (b-1) 공통 폴더 또는 공통 서버에 저장된 공인인증서 및 개인키를 TA binary 데이터를 이용하여 복호화하고 NPKI TA에서 전자서명을 수행하는 단계;를 수행하고, 상기 (a) 단계에서 공통 폴더 또는 공통 서버에 공인인증서 및 개인키가 존재하지 않는 경우, (b-2) 공인인증서 및 개인키를 TA binary 데이터를 이용하여 암호화하고 이를 공통 폴더 또는 공통 서버에 저장하고 (b-1) 단계를 수행하는 단계;로 이루어지는 단계;를 포함한다. 이로 인해, 사용자 단말의 트러스트 존에서 전자서명을 수행하므로 전자서명의 보안성 향상 및 서로 다른 인증규격을 갖는 어플리케이션이 공통폴더에 저장된 공인인증서 정보를 이용하여 전자서명을 수행하는 효과가 있다.

Description

트러스트 존 기반의 공인인증서를 이용한 전자서명 방법{METHOD OF ELECTRONIC SIGNATURE USING CERTIFICATE BASED ON TRUST ZONE}
본 발명은 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법에 관한 것이다.
스마트폰 등의 사용자 단말에서 모바일 뱅킹 어플리케이션 등을 수행함에 있어서 전자서명을 수행하여 본인임을 인증하는데, 이때, 스마트폰과 같은 통상의 사용자 단말에서 사용되는 전자서명 수단의 한 예로서 공인인증서를 이용하는 방법이 있다.
이때, 공인인증서를 전자서명 수단으로 이용하는 예에서, 사용자가 해당 공인인증서에 대해 미리 설정한 비밀번호를 입력함에 따라 전자서명이 완료된다. 그러나, 이러한 공인인증서에 기설정된 비밀번호를 입력하는 방법은 비밀번호를 단순한 형태로 설정함에 따라 타인에게 노출될 위험 또는 비밀번호를 서버로 전송하는 동안에 발생할 수 있는 해킹 위험이 있어 여러 문제점을 야기한다.
이에 따라, OTP와 같이 전자서명을 위한 일회용 비밀번호를 생성하는 장치를 이용하여 기설정된 비밀번호를 입력함으로써 발생할 수 있는 한계를 극복할 수 있는 방법이 제공되고 있지만, 이는 분실의 위험을 수반하므로 한계가 있다.
그리고, 스마트폰과 같은 통상의 사용자 단말에 설치된 서로 다른 어플리케이션은 사용자 단말에 저장된 하나의 공인인증서를 이용하는 구조를 갖는데, 이는, 하나의 어플리케이션에서 사용자 단말에서 은행용도의 공인인증서를 최초 발급받을 때 직발급 형태로 발급받는 경우, 이후에 사용자 단말의 다른 어플리케이션에서 공인인증서의 이용을 요청하더라도 이미 발급된 은행용도의 공인인증서는 재발급되지 않아 이용할 수 없는 단점이 있다.
또한, 다른 어플리케이션이 직발급된 은행용도의 공인인증서에 접근하더라도 이를 복호화할 수 없어 전자서명 수행을 할 수 없는 한계가 있으므로, 공인인증서를 이용하는 복수의 어플리케이션 중 어느 한 어플리케이션에서 공인인증서를 직발급하더라도 다른 어플리케이션에서 공인인증서를 이용할 수 있는 구조가 필요한 실정이다.
대한민국 등록특허공보 제1415698호
본 발명이 이루고자 하는 기술적 과제는, 사용자 단말에서 공인인증서를 이용하여 전자서명을 수행할 때 한 어플리케이션에서 공인인증서를 직발급 또는 이동복사하더라도 다른 어플리케이션에서도 이를 이용할 수 있는 구조를 제공하기 위한 것이다.
그리고, 사용자 단말의 트러스트 존에서 전자서명을 수행함으로써 전자서명의 보안성을 향상하기 위한 것이다.
본 발명의 한 실시예에 따른 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법은 뱅킹 앱, NPKI 모듈 및 NPKI TA를 포함하는 사용자 단말이 공인인증서를 이용하여 전자서명을 수행하는 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법에 있어서, (a) 뱅킹 앱에서 발생한 전자서명 요청에 따라, NPKI 모듈이 사용자 단말에 형성된 공통 폴더에 공인인증서 및 개인키의 존재여부를 판단하거나, 공통 서버에 접속하여 공인인증서 및 개인키의 존재여부를 판단하는 단계; 그리고, (b) 상기 (a) 단계에서 상기 공통 폴더 또는 공통 서버에 공인인증서 및 개인키가 존재하는 경우, (b-1) NPKI TA가 공통 폴더 또는 공통 서버에 저장된 공인인증서 및 개인키를 TA binary 폴더 또는 TA binary 서버에 저장된 TA binary 데이터를 이용하여 복호화하고 NPKI TA에서 전자서명을 수행하는 단계;를 수행하고, 상기 (a) 단계에서 상기 공통 폴더 또는 공통 서버에 공인인증서 및 개인키가 존재하지 않는 경우, (b-2) 상기 NPKI TA가 사용자 단말의 내부 메모리에 저장된 공인인증서 및 개인키 또는 직발급된 공인인증서 및 개인키를 상기 TA binary 폴더 또는 상기 TA binary 서버에 저장된 상기 TA binary 데이터를 이용하여 암호화하고 이를 공통 폴더 또는 공통 서버에 저장하고 상기 (b-1) 단계를 수행하는 단계;로 이루어지는 단계;를 포함하는 것을 특징으로 한다.
한 예에서, 상기 (a) 단계 이전에, (a-1) NPKI 모듈이 트러스트 존에 NPKI TA를 설치하는 단계;를 수행하는 것을 특징으로 한다.
그리고, 상기 (a-1) 단계 이후에 수행되고, (a-2) 트러스트 존에 NPKI TA를 설치할 때 TAM(trusted application manager)로부터 수신하는 TA binary 데이터를 TA binary 폴더 또는 TA binary 서버에 저장하거나, TA binary 데이터를 TA binary 폴더 또는 상기 TA binary 서버에 직접 저장 또는 복사하는 단계;를 더 수행하는 것을 특징으로 한다.
한 예에서, 상기 (a) 단계 및 상기 (b) 단계 이후에 수행되고, (c) 상기 (a) 단계를 수행하는 뱅킹 앱과 상이한 인증 규격을 갖는 별도의 뱅킹 앱에서 전자서명 요청이 발생한 경우, 별도의 뱅킹 앱에 연결된 별도의 NPKI 모듈이 별도의 NPKI TA를 구동하여, 별도의 NPKI TA가 상기 TA binary 폴더 또는 상기 TA binary 서버에 저장된 TA binary 데이터, 상기 공통폴더 또는 상기 공통 서버에 저장된 공인인증서 및 개인키를 이용하여 전자서명을 수행하는 단계;를 더 포함하는 것을 특징으로 한다.
그리고, 한 예에서, 상기 (c) 단계 이전에, (c-1) 상기 별도의 NPKI 모듈은 트러스트 존에 상기 별도의 NPKI TA를 설치하는 단계;를 수행하는 것을 특징으로 한다.
이러한 특징에 따르면, 본 발명의 한 실시예에 따른 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법은 사용자 단말의 트러스트 존에서 전자서명을 수행하므로 전자서명의 보안성이 향상된다.
그리고, 사용자 단말 내의 공통 폴더에 개인키 및 공인인증서를 저장함으로써, 공인인증서를 이용하여 전자서명을 수행하는 서로 다른 어플리케이션 중 어느 한 어플리케이션에서 공인인증서를 최초 발급할 때 사용자 단말 내의 공통 폴더에 개인키 및 공인인증서를 저장하고, 이후 전자서명을 수행하고자 하는 다른 어플리케이션에서는 공통 폴더에 저장된 개인키 및 공인인증서를 이용하여 전자서명을 수행하므로, 서로 다른 어플리케이션에서 공통 폴더에 저장된 공인인증서 정보를 이용하여 전자서명을 수행할 수 있는 효과가 있다.
도 1은 본 발명의 한 실시예에 따른 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법을 수행하기 위한 구조를 개략적으로 나타낸 블록도이다.
도 2는 본 발명의 한 실시예에 따른 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법의 흐름을 나타낸 순서도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
그러면 첨부한 도면을 참고로 하여 본 발명의 한 실시예에 따른 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법에 대해 자세히 설명한다.
먼저, 도 1을 참고로 하여 본 발명의 한 실시예에 따른 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법을 위한 구조를 설명하면, 본 발명의 한 실시예에 따른 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법은 도 1에 도시한 것처럼 사용자 단말(10), 뱅킹 서버(60) 및 호스팅 서버(70)를 포함하는 구조에서 수행된다.
본 발명의 한 실시예에 따른 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법을 수행하기 위한 각각의 구조를 좀더 자세히 설명하면, 사용자 단말(10)은 스마트폰, 태블릿 피씨 등의 모바일 단말일 수 있으며, 이동통신 또는 무선통신을 통해 외부의 뱅킹서버(60) 및 호스팅 서버(70)에 연결되는 구조를 갖는다.
다른 한 예에서, 사용자 단말(10)은 컴퓨터 등의 장치일 수 있으나, 이하에서 설명하는 본 발명의 실시예에서는 사용자 단말(10)이 스마트폰인 것을 참고로 하여 설명하도록 한다.
스마트폰인 사용자 단말(10)은 제1 뱅킹 앱(11), 제2 뱅킹 앱(12), 제3 뱅킹 앱(13), 제1 NPKI 모듈(20), 제2 NPKI 모듈(30), TA binary 폴더(41), 공통 폴더(42), 그리고 트러스트 존(Trust Zone)(50)을 포함한다.
제1 내지 제3 뱅킹 앱(11, 12, 13)은 은행 서비스를 제공하는 전용 프로그램으로서, 은행 서비스를 제공하는 사업자가 프로그램 제공서버에 업로드한 프로그램을 사용자 단말(10)이 프로그램 제공서버로부터 다운로드하여 사용자 단말(10)에 설치한 형태일 수 있다.
또는, 제1 내지 제3 뱅킹 앱(11, 12, 13)은 스마트폰인 사용자 단말(10)의 출고 당시 설치된 상태로 출고될 수 있으며, 제1 내지 제3 뱅킹 앱(11, 12, 13)의 사용자 단말(10)에 설치되는 형태를 한정하지는 않는다.
이러한 제1 내지 제3 뱅킹 앱(11, 12, 13)은 뱅킹 서버(60)에 접속하여 은행 서비스를 제공하고, 공인인증서 인터페이스(111, 121, 131)를 이용하여 은행 서비스를 수행하는 데 필요한 전자서명 정보를 제공받을 수 있다.
이때, 제1 내지 제3 뱅킹 앱(11, 12, 13)은 각각 공인인증서 인터페이스(111, 111, 121, 131)를 포함하는데, 공인인증서 인터페이스(111, 121, 131)는 공인인증서 서비스를 이용할 수 있는 환경을 제공하는 인터페이스로서, 제1 NPKI 모듈(20) 또는 제2 NPKI 모듈(30)에 접속한다.
한 예에서, 제1 및 제2 뱅킹 앱(11, 12)에 형성된 공인인증서 인터페이스(111, 121)는 제1 NPKI 모듈(20)에 접속하고, 제3 뱅킹 앱(13)에 형성된 공인인증서 인터페이스(131)는 제2 NPKI 모듈(30)에 접속한다.
이러한 공인인증서 인터페이스(111, 121, 131)는 뱅킹 서버(60)에 접속하여 뱅킹 서버(60)로부터 공인인증서를 다운로드하여 사용자 단말(10)에 저장하고, 공인인증서 요청이 발생할 때 저장된 공인인증서를 이용하거나 이를 사용하는 환경을 제공할 수 있다.
이때, 제1 및 제2 뱅킹 앱(11, 12)의 공인인증서 인터페이스(111, 121)는 제1 NPKI 모듈(20)에 접속하고, 제3 뱅킹 앱(13)의 공인인증서 인터페이스(131)는 제2 NPKI 모듈(30)에 접속한다.
제1 NPKI 모듈(20) 및 제2 NPKI 모듈(30)은 공인인증서 인터페이스(111, 121, 131)에서 발생한 전자서명 요청에 따라 트러스트 존(50)의 제1 NPKI TA(51) 또는 제2 NPKI TA(52)에 접속하여 전자서명을 수행한다.
한 예에서, 제1 NPKI 모듈(20)은 제1 뱅킹 앱(11) 또는 제2 뱅킹 앱(12)의 공인인증서 인터페이스(111, 121)에서 발생한 전자서명 요청에 의해 구동되고, 호스팅 서버(70)에 접속하여 트러스트 존(50)에 제1 NPKI TA(51)를 설치한다.
이때, 제1 NPKI TA(51)는 호스팅 서버(70)의 TAM(710)에 의해 트러스트 존(50)에 설치되고, 제1 NPKI 모듈(20)은 제1 NPKI TA(51) 설치시 생성된 TA binary 데이터를 사용자 단말(10)의 TA binary 폴더(41)에 저장한다.
그러나 이때, 다른 한 예로서, TA binary 데이터는 사용자 단말(10)에 제1 NPKI TA(51) 설치시 TAM(710)으로부터 수신된 TA binary 데이터가 아닌, 외부로부터 직접 입력된 TA binary 데이터일 수 있으며, 이때, 외부로부터 직접 입력된 TA binary 데이터는 TA binary 폴더(41)에 저장되게 된다.
TA binary 폴더(41)가 포함하는 TA binary 데이터는 트러스트 존(50)에 설치된 제1 또는 제2 NPKI TA(51, 52)를 구동하는 데이터로서, TA binary 폴더(41)에 저장된 TA binary 데이터가 트러스트 존(50)으로 전달됨에 따라 제1 또는 제2 NPKI TA(51, 52)가 실행된다.
한 예에서, TA binary 데이터는 트러스트 존(50)에 제1 또는 제2 NPKI TA(51, 52)이 최초 설치되거나 업데이트될 때 TA binary 폴더(41)에 저장되지만, 이후, 제1 또는 제2 NPKI TA(51, 52)가 구동될 때 제1 또는 제2 NPKI 모듈(20, 30)의 요청에 따라 TA binary 폴더(41)에서 추출되어 트러스트 존(50)의 해당 TA(51, 52)로 전달될 수 있다.
그리고, 제1 NPKI 모듈(20)은 공통 폴더(42)에 공인인증서 및 개인키의 저장여부를 확인하여, 부재하는 경우 트러스트 존(50)에 설치된 제1 NPKI TA(51)를 실행하여 공통 폴더(42)에 암호화된 공인인증서와 개인키를 저장한다.
자세하게는, 트러스트 존(50)의 제1 NPKI TA(51)는 뱅킹 서버(60)로부터 다운로드되어 사용자 단말(10)의 내부 메모리에 저장되어 있는 공인인증서 및 개인키를 암호화하여 공통 폴더(42)에 저장하며, 이때, TA binary 폴더(41)에 저장된 TA binary 데이터를 이용하여 공인인증서 및 개인키를 암호화한다.
이때, 사용자 단말(10)의 내부 메모리에 저장되어 있는 공인인증서 및 개인키는 공인인증서 인터페이스(111, 121)가 뱅킹 서버(60)로부터 다운로드하여 저장된 것일 수 있다.
다른 한 예에서, 제1 NPKI TA(51)는 직발급된 공인인증서 및 개인키를 공통 폴더(42)에 저장할 수 있다.
한편, 제1 NPKI 모듈(20)에서 공통 폴더(42)에 공인인증서 및 개인키의 저장여부의 확인 결과 존재하는 경우, 제1 NPKI TA(51)는 공통 폴더(42)에 저장된 암호화된 공인인증서 및 개인키를 이용하여 전자서명을 수행한다.
이때, 제1 NPKI TA(51)는 TA binary 폴더(41)에 저장된 TA binary 데이터를 이용하여 공통 폴더(42)에 저장된 암호화된 공인인증서 및 개인키를 복호화함으로써 전자서명을 수행한다.
그리고 이때, 제1 NPKI TA(51)는 전자서명 결과를 제1 NPKI 모듈(20)로 전달하여 제1 뱅킹 앱(11) 또는 제2 뱅킹 앱(12)으로 전달한다.
이처럼, 공인인증서 인터페이스(111, 121)의 전자서명 요청에 따라 구동되는 제1 NPKI 모듈(20)은 트러스트 존(50)에 제1 NPKI TA(51)를 설치하며 TA binary 폴더(41)에 TA binary 데이터를 저장하고, 제1 NPKI 모듈(20)에서 공통 폴더(42)의 공인인증서 및 개인키의 존재여부에 따라 제1 NPKI TA(51)를 실행함으로써 TA binary 데이터를 이용하여 사용자 단말(10)에 저장된 공인인증서 및 개인키를 암호화하여 공통 폴더(42)에 저장하거나, 공통 폴더(42)에 저장된 공인인증서 및 개인키를 TA binary 데이터로 복호화하여 전자서명을 수행하는 구조를 가지므로, 공인인증서 및 개인키가 제1 뱅킹 앱(11)에 직발급 또는 이동복사되더라도 다른 뱅킹 앱(예로써, 제3 뱅킹 앱)에서는 TA binary 폴더(41)에 저장된 TA binary 데이터를 이용하여 공통 폴더(42)에 저장된 공인인증서 및 개인키를 복호화하여 전자서명에 사용할 수 있게 된다.
그리고, 제2 NPKI 모듈(30)은 제3 뱅킹 앱(13)의 공인인증서 인터페이스(131)에서 발생한 전자서명 요구에 의해 구동되고, 호스팅 서버(70)에 접속하여 트러스트 존(50)에 제2 NPKI TA(52)를 설치한다.
이때, 제2 NPKI TA(52)가 설치됨에 따라, 제1 NPKI TA(51)과 마찬가지로, TA binary 폴더(41)에 TA binary 데이터가 저장되고, 공통 폴더(42)에 공인인증서 및 개인키의 저장여부를 확인하여 부재하는 경우 사용자 단말(10)의 내부 메모리에 저장된 공인인증서 및 개인키를 TA binary 폴더(41)에 저장된 TA binary 데이터로 공인인증서 및 개인키를 암호화하여 암호화된 공인인증서 및 개인키로서 공통 폴더(42)에 저장한다.
한편, 제2 NPKI 모듈(30)이 공통 폴더(42)에 공인인증서 및 개인키의 저장여부를 확인함에 있어서, 암호화된 공인인증서와 개인키가 공통 폴더(42)에 이미 저장되어 있는 경우, 제2 NPKI 모듈(30)은 제2 NPKI TA(52)를 실행하여 제2 NPKI TA(52)는 TA binary 폴더(41)에 저장된 TA binary 데이터를 이용하여 공통 폴더(42)에 저장된 암호화된 공인인증서 및 개인키를 복호호하여 전자서명을 수행한다.
그리고, 제2 NPKI TA(52)는 전자서명 결과를 제2 NPKI 모듈(30)로 전달하여 이를 제3 뱅킹 앱(13)으로 전달한다.
이러한 제2 NPKI 모듈(30)은 공인인증서 및 개인키가 제3 뱅킹 앱(13)에 직발급되거나 이동복사되더라도 다른 뱅킹 앱(예로써, 제1 뱅킹 앱 또는 제2 뱅킹 앱)에서 TA binary 폴더(41)에 저장된 TA binary 데이터를 이용하여 공통 폴더(42)에 저장된 공인인증서 및 개인키를 복호화하여 전자서명에 사용할 수 있게 된다.
그리고 이때, 트러스트 존(50)에 설치된 제1 NPKI TA(51) 및 제2 NPKI TA(52)는 제1 NPKI 모듈(20) 또는 제2 NPKI 모듈(30)이 요청한 전자서명을 수행하는 보안 어플리케이션(TA, trusted application)이고, 트러스트 존(50)은 스마트폰인 사용자 단말(10)에 형성된 영역으로서, 스마트폰에 형성된 운영체제와는 별개인 보안된 영역이다.
그리고, 호스팅 서버(70)는 사용자 단말(10)과 이동통신 또는 무선통신을 통해 연결되고, TAM(Trusted Application Manager)을 포함하는 TSM(Trust Service Manager)를 포함하는 서버로서, 사용자 단말(10)의 트러스트 존(50)에 서비스를 제공한다.
본 발명의 한 실시예에 따른 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법을 수행하기 위한 구조가 이와 같이 형성됨에 따라, 서로 다른 규격으로 정의되는 서로 다른 뱅킹 앱에서 공인인증서를 직발급하거나 이동복사하더라도 TA binary 폴더(41) 및 공통 폴더(42)를 참조하여 하나의 공인인증서 및 개인키를 공유하여 전자서명을 수행할 수 있고, 이때, 보안영역에 설치된 NPKI TA에서 전자서명을 수행하여 보안성을 향상할 수 있다.
그리고, 본 발명의 한 실시예에 따른 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법을 수행하기 위한 구조에서, 공인인증서를 예로 들어 설명하였지만, 보안 구조에서 공통으로 사용되는 데이터에 대해 적용될 수 있다.
그리고, 본 발명의 한 실시예에 따른 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법을 수행하기 위한 구조의 다른 한 예에서, TA binary 데이터를 저장하는 TA binary 서버를 포함하고, 제1 또는 제2 NPKI 모듈은 제1 또는 제2 NPKI TA 설치 시 생성되는 TA binary 데이터를 TA binary 서버에 저장하는 구조로 형성될 수 있다.
이때, 제1 또는 제2 NPKI TA는 TA binary 서버에 접속하여 TA binary 데이터를 얻어 이를 전자서명에 이용할 수 있다.
또한, 본 발명의 한 실시예에 따른 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법을 수행하기 위한 구조의 또 다른 한 예에서, 공인인증서 및 개인키를 저장하는 공통 서버를 포함하고, 제1 또는 제2 NPKI 모듈이 사용자 단말의 내부 메모리에 저장된 공인인증서 및 개인키를 TA binary 데이터로 암호화하여 이를 공통 서버에 저장한다.
이때, 제1 또는 제2 NPKI TA는 TA binary 폴더 또는 TA binary 서버로부터 TA binary 데이터를 얻어 이를 이용하여 사용자 단말에 저장되어 있던 공인인증서 및 개인키를 암호화하여 공통 서버에 저장할 수 있다.
그리고 이때, 제1 또는 제2 NPKI TA는 TA binary 폴더 또는 TA binary 서버로부터 얻은 TA binary 데이터를 이용하여 직발급된 공인인증서 및 개인키를 암호화하여 공통 서버에 저장할 수 있다.
이처럼, TA binary 데이터는 사용자 단말(10)과는 별도로 구비된 TA 서버에 저장될 수 있고, 사용자 단말(10)은 유선통신 또는 무선통신을 통해 TA 서버에 접속하여 TA binary 데이터를 송수신할 수 있다.
또한, TA binary 데이터로 암호화된 공인인증서 및 개인키는 사용자 단말(10)과는 별도로 구비된 공통 서버에 저장될 수 있고, 사용자 단말(10)은 유선통신 또는 무선통신을 통해 공통 서버에 접속하여 암호화된 공인인증서 및 개인키를 송수신할 수 있다.
이와 같이, 도 1을 참고로 하여 본 발명의 한 실시예에 따른 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법을 수행하기 위한 구조를 설명한 것을 기반으로, 도 2를 참고로 하여 본 발명의 한 실시예에 따른 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법을 설명하도록 한다.
먼저, 도 2에 도시한 것처럼, 먼저, 사용자 단말(10)에 설치된 제1 뱅킹 앱(11)에서 뱅킹 서버로부터 공인인증서 및 개인키를 다운로드하여 사용자 단말의 내부 메모리에 저장(S11)하는 단계가 수행된다.
이 단계(S11)는 사용자 단말(10)이 제1 뱅킹 앱(11)을 설치한 이후 수행될 수 있고, 도 2에 도시하지는 않았으나, 제3 뱅킹 앱(13)에서 수행될 수도 있으며, 이를 한정하지는 않는다.
그런 다음, 제1 뱅킹 앱(11)에서 전자서명 요청여부를 판단(Q11)하여, 제1 뱅킹 앱(11)에서 전자서명 요청이 발생한 경우, 예 화살표 방향을 따라 제1 NPKI 모듈(20)이 트러스트 존에 제1 NPKI TA의 존재여부를 판단하는 단계(Q20)를 수행한다.
이 단계(Q20)에서, 트러스트 존에 제1 NPKI TA가 존재하지 않는 경우, 아니오 화살표를 따라 이동하여 트러스트 존에 제1 NPKI TA를 설치하는 단계(S21)를 수행한다.
제1 NPKI 모듈(20)은 트러스트 존에 제1 NPKI TA를 설치한 다음, 호스트 서버(70)의 TAM(710)으로부터 제1 NPKI TA를 설치할 때 생성된 TA binary 데이터를 TA binary 폴더에 저장하는 단계(S22)를 수행한다.
한편, 위 단계(Q20)에서 트러스트 존에 제1 NPKI TA가 존재하는 경우, 예 화살표를 따라 이동하여 제1 NPKI 모듈(23)이 공통 폴더에 공인인증서와 개인키의 존재여부를 판단하는 단계(Q51)를 수행한다.
그리고, 제1 뱅킹 앱(11)에서 전자서명 요청 발생을 판단함(Q10)에 있어서, 전자서명 요청이 발생하지 않는 경우, 아니오 화살표를 따라 전자서명 요청이 발생할 때까지 계속해서 판단한다.
그리고 이때, 제1 NPKI 모듈(20)에서 수행한 판단단계(Q51)에서 공통 폴더에의 공인인증서 및 개인키 존재여부를 판단한 결과 공통 폴더에 공인인증서 및 개인키가 존재하는 경우, 예 화살표 방향을 따라, 제1 NPKI TA(51)를 실행하여 제1 NPKI TA(51)에서 공통 폴더에 저장된 공인인증서 및 개인키를 TA binary 폴더의 TA binary 데이터로 복호화하여 전자서명을 수행하는 단계(S511)를 수행한다.
그런 다음, 제1 NPKI TA는 제1 NPKI 모듈로 전자서명 수행 결과를 전달하고 제1 NPKI 모듈은 전자서명 수행 결과를 제1 뱅킹 앱(11)으로 전달할 수 있다.
한편, 제1 NPKI 모듈(20)에서 수행한 판단단계(Q51)에서 공통 폴더에 공인인증서, 개인키가 존재하지 않는 것으로 판단되는 경우, 아니오 화살표 방향을 따라 이동하여 제1 NPKI TA(51)가 사용자 단말의 내부 메모리에 저장된 공인인증서 및 개인키, 또는 직발급된 공인인증서 및 개인키를 TA binary 폴더의 TA binary 데이터로 암호화하여 공통 폴더에 저장하는 단계(S512)를 수행한다.
이처럼, 제1 뱅킹 앱(11)에서 공인인증서 및 개인키를 뱅킹 서버로부터 다운로드하고 제1 NPKI 모듈(20)이 트러스트 존에 제1 NPKI TA(51)를 설치하며, 제 NPKI TA 설치시 생성된 TA binary 데이터를 TA binary 폴더에 저장하여 전자서명을 수행함에 따라, 사용자 단말(10)의 공통 폴더에는 암호화된 공인인증서 및 개인키가 저장되고, 제2 NPKI 모듈(30)을 통해 전자서명을 수행하는 제3 뱅킹 앱(13)에서 발생한 전자서명 요청에서도 TA binary 폴더 및 공통 폴더가 이용되게 된다.
이를 자세히 설명하면, 제3 뱅킹 앱(13)에서 전자서명 요청여부를 판단(Q13)하여, 전자서명 요청이 발생된 경우 예 화살표 방향을 따라 제2 NPKI 모듈(30)이 트러스트 존에 제2 NPKI TA의 존재여부를 판단한다(Q30).
그러나 이때, 제3 뱅킹 앱(13)에서 전자서명 요청이 발생하지 않은 경우, 위의 전자서명 요청 발생여부 판단단계(Q13)에서 아니오 화살표를 따라 전자서명 요청이 발생할 때까지 해당 단계(Q13)를 계속해서 수행한다.
그리고, 제2 NPKI 모듈(30)에서 트러스트 존에 제2 NPKI TA의 존재여부를 판단한(Q30) 결과, 트러스트 존에 제2 NPKI TA가 존재하지 않는 경우, 아니오 화살표를 따라 트러스트 존에 제2 NPKI TA를 설치하는 단계(S31)를 수행한다.
그런 다음, 제2 NPKI 모듈(30)은 제2 NPKI TA 설치시 생성된 TA binary 데이터를 TA binary 폴더에 저장하는 단계(S32)를 수행한다.
한편, 제2 NPKI 모듈(30)에서 트러스트 존에 제2 NPKI TA 존재여부 판단(Q30) 결과, 제2 NPKI TA가 존재하는 경우, 예 화살표 방향을 따라 제2 NPKI 모듈(30)에서 공통 폴더의 공인인증서 및 개인키 존재여부를 판단하는 단계(Q52)를 수행하고, 이때, 공통 폴더에 이미 공인인증서 및 개인키가 존재하는 경우, 예 화살표 방향을 따라 제2 NPKI TA(52)에서 전자서명을 수행한다(S521).
그러나 이때, 공통 폴더에 공인인증서, 개인키 존재여부를 판단하는 단계(Q52)에서, 공통 폴더에 공인인증서와 개인키가 존재하지 않는 것으로 판단되는 경우, 아니오 화살표 방향을 따라 이동하여, 제2 NPKI TA(52)에서 사용자 단말의 내부 메모리에 저장된 공인인증서 및 개인키 또는 직발급된 공인인증서 및 개인키를 TA binary 폴더의 TA binary 데이터로 암호화하여 공통 폴더에 저장하는 단계(S522)를 수행한다.
이처럼, 제3 뱅킹 앱(13)에서는 제1 뱅킹 앱(11)에서 공통 폴더에 이미 저장해둔 공인인증서 및 개인키를 이용하여 제3 뱅킹 앱(13)에서 요청된 전자서명을 수행할 수 있어, 서로 다른 인증규격으로 정의된 NPKI 모듈이 뱅킹 앱에 공인인증서를 직발급 또는 이동복사하더라도, 다른 뱅킹 앱에서는 TA binary 폴더에 저장된 정보 및 공통 폴더에 저장된 정보를 이용하여 전자서명을 수행할 수 있게 된다.
그리고, 도 1 및 도 2를 참고로 하는 본 발명의 설명에서, 뱅킹 앱(11)에서 전자서명이 요청되는 것을 예로 들어 설명하였지만, 뱅킹 앱(11) 외에도 전자서명을 요청하는 다른 앱에서도 본 발명의 방법이 적용될 수 있으며 이를 한정하지는 않아야 할 것이다.
또한, 제1 NPKI 모듈(20) 및 제2 NPKI 모듈(30)이 공인인증서 및 개인키를 공통 폴더에서 확인하는 것을 예로 들었지만, 다른 한 예에서, 제1 NPKI 모듈(20) 및 제2 NPKI 모듈(30)은 공통 서버에서 TA binary 데이터로 암호화된 공인인증서 및 개인키의 존재여부를 판단하도록 상기 단계(Q51, Q52)를 대체할 수 있다.
이는, 위에서 설명한 것처럼 공인인증서 및 개인키가 공통 서버에 저장되는 구조에서 수행되는 것으로서, 이를 위해, 제1 NPKI 모듈(20) 또는 제2 NPKI 모듈(30)이 공통 서버에 접속하는 단계를 더 포함할 수 있다.
그리고, 제1 NPKI TA(51) 및 제2 NPKI TA(52)가 TA binary 폴더에 저장된 TA binary 데이터를 이용하여 공인인증서 및 개인키로 전자서명을 수행하고, 이때, TA binary 폴더는 제1 NPKI 모듈(20) 또는 제2 NPKI 모듈(30)이 사용자 단말(10)의 트러스트 존(50)에 제1 NPKI TA(51) 또는 제2 NPKI TA(52)를 설치할 때 생성된 TA binary 데이터를 저장하는 것을 예로 들었지만, 다른 한 예에서, 제1 NPKI TA(51) 및 제2 NPKI TA(52)는 TA binary 서버에서 TA binary 데이터를 얻어 전자서명을 진행하여 위의 단계(S511, 521)를 수행할 수 있다.
또한, 이를 위해서, 제 NPKI 모듈(20) 또는 제2 NPKI 모듈(30)이 TA binary 서버에 TA binary 데이터를 저장하도록 위 단계(S22, S32)를 대체하거나, 제1 NPKI 모듈(20) 또는 제2 NPKI 모듈(30)이 TA binary 서버에 접속하는 단계를 더 포함할 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
10 : 사용자 단말 11 : 제1 뱅킹 앱
20 : 제1 NPKI 모듈 30 : 제2 NPKI 모듈
41 : TA binary 폴더 42 : 공통 폴더
50 : 트러스트 존 51 : 제1 NPKI TA
52 : 제2 NPKI TA 60 : 뱅킹 서버
70 : 호스팅 서버

Claims (5)

  1. 뱅킹 앱, NPKI 모듈 및 NPKI TA를 포함하는 사용자 단말이 공인인증서를 이용하여 전자서명을 수행하는 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법에 있어서,
    (a) 뱅킹 앱에서 발생한 전자서명 요청에 따라, NPKI 모듈이 사용자 단말에 형성된 공통 폴더에 공인인증서 및 개인키의 존재여부를 판단하거나, 공통 서버에 접속하여 공인인증서 및 개인키의 존재여부를 판단하는 단계;
    (b) 상기 (a) 단계에서 상기 공통 폴더 또는 공통 서버에 공인인증서 및 개인키가 존재하는 경우, (b-1) NPKI TA가 공통 폴더 또는 공통 서버에 저장된 공인인증서 및 개인키를 TA binary 폴더 또는 TA binary 서버에 저장된 TA binary 데이터를 이용하여 복호화하고 NPKI TA에서 전자서명을 수행하는 단계;를 수행하고, 상기 (a) 단계에서 상기 공통 폴더 또는 공통 서버에 공인인증서 및 개인키가 존재하지 않는 경우, (b-2) 상기 NPKI TA가 사용자 단말의 내부 메모리에 저장된 공인인증서 및 개인키 또는 직발급된 공인인증서 및 개인키를 상기 TA binary 폴더 또는 상기 TA binary 서버에 저장된 상기 TA binary 데이터를 이용하여 암호화하고 이를 공통 폴더 또는 공통 서버에 저장하고 상기 (b-1) 단계를 수행하는 단계; 그리고,
    (c) 상기 (a) 단계를 수행하는 뱅킹 앱과 상이한 인증 규격을 갖는 별도의 뱅킹 앱에서 전자서명 요청이 발생한 경우, 별도의 뱅킹 앱에 연결된 별도의 NPKI 모듈이 별도의 NPKI TA를 구동하여, 별도의 NPKI TA가 상기 TA binary 폴더 또는 상기 TA binary 서버에 저장된 TA binary 데이터, 상기 공통 폴더 또는 상기 공통 서버에 저장된 공인인증서 및 개인키를 이용하여 전자서명을 수행하는 단계;
    를 포함하는 것을 특징으로 하는 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법.
  2. 제1항에 있어서,
    상기 (a) 단계 이전에,
    (a-1) NPKI 모듈이 트러스트 존에 NPKI TA를 설치하는 단계;
    를 수행하는 것을 특징으로 하는 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법.
  3. 제2항에 있어서,
    상기 (a-1) 단계 이후에 수행되고,
    (a-2) 트러스트 존에 NPKI TA를 설치할 때 TAM(trusted application manager)로부터 수신하는 TA binary 데이터를 TA binary 폴더 또는 TA binary 서버에 저장하거나, TA binary 데이터를 TA binary 폴더 또는 상기 TA binary 서버에 직접 저장 또는 복사하는 단계;를 더 수행하는 것을 특징으로 하는 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 (c) 단계 이전에,
    (c-1) 상기 별도의 NPKI 모듈은 트러스트 존에 상기 별도의 NPKI TA를 설치하는 단계;
    를 수행하는 것을 특징으로 하는 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법.

KR1020170012098A 2017-01-25 2017-01-25 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법 KR101810946B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170012098A KR101810946B1 (ko) 2017-01-25 2017-01-25 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170012098A KR101810946B1 (ko) 2017-01-25 2017-01-25 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법

Publications (1)

Publication Number Publication Date
KR101810946B1 true KR101810946B1 (ko) 2017-12-21

Family

ID=60936000

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170012098A KR101810946B1 (ko) 2017-01-25 2017-01-25 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법

Country Status (1)

Country Link
KR (1) KR101810946B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101690989B1 (ko) * 2016-07-29 2017-01-02 한국스마트아이디 주식회사 Fido 인증모듈을 이용한 전자서명 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101690989B1 (ko) * 2016-07-29 2017-01-02 한국스마트아이디 주식회사 Fido 인증모듈을 이용한 전자서명 방법

Similar Documents

Publication Publication Date Title
JP7257561B2 (ja) コンピュータに実装される方法、ホストコンピュータ、コンピュータ読み取り可能な媒体
JP5852265B2 (ja) 計算装置、コンピュータプログラム及びアクセス許否判定方法
KR101608510B1 (ko) 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법
KR101130415B1 (ko) 비밀 데이터의 노출 없이 통신 네트워크를 통해 패스워드 보호된 비밀 데이터를 복구하는 방법 및 시스템
TW201837776A (zh) 資料金鑰的保護方法、裝置和系統
US20150333915A1 (en) Method and apparatus for embedding secret information in digital certificates
WO2020173332A1 (zh) 基于可信执行环境的应用激活方法及装置
KR101690989B1 (ko) Fido 인증모듈을 이용한 전자서명 방법
KR102013983B1 (ko) 애플리케이션 무결성 인증 방법 및 인증 서버
KR101078546B1 (ko) 범용 저장장치의 식별정보를 기반으로 하는 보안 데이터 파일 암호화 및 복호화 장치, 그를 이용한 전자 서명 시스템
CN110611657A (zh) 一种基于区块链的文件流处理的方法、装置及系统
JP5380583B1 (ja) デバイス認証方法及びシステム
US20200044867A1 (en) Collaborative operating system
JP6756056B2 (ja) 身元検証による暗号チップ
CN111431840B (zh) 安全处理方法、装置、计算机设备及可读存储介质
CN110838919B (zh) 通信方法、存储方法、运算方法及装置
CN113438205A (zh) 区块链数据访问控制方法、节点以及系统
JP6378424B1 (ja) 無欠性及び保安性が強化された使用者認証方法
KR101836211B1 (ko) 전자 기기 인증 매니저 장치
KR101711024B1 (ko) 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치
CN110602075A (zh) 一种加密访问控制的文件流处理的方法、装置及系统
KR101810946B1 (ko) 트러스트 존 기반의 공인인증서를 이용한 전자서명 방법
JP2008233965A (ja) 携帯端末装置とそのプログラム、及び、改竄防止システムと改竄防止方法
KR101232860B1 (ko) 하이브리드 인증 시스템 및 그 제공방법
KR20120057872A (ko) 다중 어플리케이션의 단일 인증서 공유 장치 및 그 방법

Legal Events

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