KR20170001633A - 토큰화 기반의 비밀키 관리 시스템 및 방법 - Google Patents

토큰화 기반의 비밀키 관리 시스템 및 방법 Download PDF

Info

Publication number
KR20170001633A
KR20170001633A KR1020160078885A KR20160078885A KR20170001633A KR 20170001633 A KR20170001633 A KR 20170001633A KR 1020160078885 A KR1020160078885 A KR 1020160078885A KR 20160078885 A KR20160078885 A KR 20160078885A KR 20170001633 A KR20170001633 A KR 20170001633A
Authority
KR
South Korea
Prior art keywords
token
key
secret key
user terminal
secret
Prior art date
Application number
KR1020160078885A
Other languages
English (en)
Inventor
박준후
강지훈
류재철
Original Assignee
충남대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 충남대학교산학협력단 filed Critical 충남대학교산학협력단
Publication of KR20170001633A publication Critical patent/KR20170001633A/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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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)
  • Storage Device Security (AREA)

Abstract

본 발명은 토큰화 기반의 비밀키 관리 시스템 및 방법에 관한 것으로, 본 발명의 하나의 실시예에 따른 비밀키 관리 시스템은 사용자 단말과 유선 또는 무선통신망으로 연결되며, 사용자 단말로부터 전송되는 비밀키를 수신하고 수신된 비밀키에 대응하는 토큰을 생성하는 토큰 생성부, 수신된 비밀키와 생성된 토큰을 저장하는 제1 데이터베이스, 그리고 사용자 단말로부터 전송되는 토큰을 수신하고 수신된 토큰에 대응하는 비밀키를 검색하여 사용자 단말로 전송하는 비밀키 관리부를 포함한다.

Description

토큰화 기반의 비밀키 관리 시스템 및 방법{TOKENIZATION-BASED ENCRYPTION KEY MANAGEMNENT SYTEM AND METHOD}
본 발명은 토큰화 기반의 비밀키 관리 시스템 및 방법에 관한 것이다.
개인정보 보호에 대한 중요성이 증가함에 따라 대기업뿐 아니라 소상공인이나 영세업자들에게도 개인 데이터 암호화 필요성이 증대되고 있다. 암호화는 공개된 알고리즘을 사용하여 보안 조치를 취하는 것으로 실질적으로 데이터를 암호화하여 보관하는 경우 암호키(비밀키)를 안전하게 관리하는 것이 매우 중요하다. 즉, 데이터를 암호화하더라도 암호화에 사용된 암호키(비밀키)를 안전하게 관리하지 못하는 경우 암호키 유출로 인한 정보유출 사고가 발생할 수 있다. 이로 인해, 안전한 암호화를 위해서는 암호화 솔루션과 함께 암호키 관리 솔루션을 도입하여 암호키를 별도로 관리해야 한다.
그러나 종래 데이터 암호화 및 암호키 관리 솔루션은 사용자 단말, 인증기간, 등록기관 및 위탁기관을 포함하며, 인증기관이 사용자의 반쪽 비밀키를 생성하여 공개 디렉토리에 등록하면 사용자는 자신의 키 생성 단계에서 인증기관의 반쪽 비밀키를 선택한 후 인증기관에 블라인드 복호 요청을 전달하여 자신의 반쪽 비밀키를 획득하고 인증기관의 반쪽 비밀키와 사용자의 반쪽 비밀키를 포함하는 최종 비밀키를 획득하는 단계를 거쳐야 하므로 사용자 단말과 인증기관에서 처리해야 하는 연산양이 많으며 구조가 복잡하다. 또한, 소상공인이나 영세업자들이 데이터 암호화 및 암호키 관리 솔루션을 모두 구매하기에는 경제적 부담이 크다.
본 발명의 하나의 실시예가 해결하려는 과제는 토큰화 기술을 이용하여 개인정보 암호화에 사용된 비밀키를 관리하는 시스템 및 방법을 제공하는 것이다.
상기 과제 이외에도 구체적으로 언급되지 않은 다른 과제를 달성하는 데 본 발명에 따른 실시예가 사용될 수 있다.
상기 과제를 해결하기 위해 본 발명의 하나의 실시예는, 사용자 단말과 유선 또는 무선통신망으로 연결되어 있고, 사용자 단말로부터 전송되는 비밀키를 수신하고 수신된 비밀키에 대응하는 토큰을 생성하는 토큰 생성부, 수신된 비밀키와 생성된 토큰을 저장하는 제1 데이터베이스, 그리고 사용자 단말로부터 전송되는 토큰을 수신하고 수신된 토큰에 대응하는 비밀키를 검색하여 사용자 단말로 전송하는 비밀키 관리부를 포함하는 비밀키 관리 시스템을 제안한다.
여기서, 제1 공개키와 제1 개인키를 생성하고 생성된 제1 공개키를 사용자 단말로 전송하는 제1 암호키 생성부를 더 포함하며, 제1 데이터베이스는 생성된 제1 공개키와 제1 개인키, 그리고 제1 사용자 단말로부터 전송되는 제2 공개키를 더 저장할 수 있다.
또한, 토큰 생성부는, 사용자 단말로부터 전송되는 비밀키를 수신하고 제2 공개키를 이용하여 수신된 비밀키의 전자서명을 검증하는 제1 비밀키 수신부, 제1 개인키를 이용하여 전자서명이 검증된 비밀키를 복호화하는 제1 복호화부, 그리고 복호화된 비밀키에 대응하는 토큰을 생성하여 사용자 단말로 전송하는 제1 토큰 전송부를 포함할 수 있다.
또한, 제1 토큰 전송부는 생성된 토큰을 제2 공개키를 이용하여 암호화하고 제1 개인키를 이용하여 서명한 후 사용자 단말로 전송할 수 있다.
또한, 토큰 생성부는 수신된 비밀키를 제1 공개키를 통해 암호화하여 제1 데이터베이스에 저장할 수 있다.
또한, 비밀키 관리부는, 사용자 단말로부터 전송되는 토큰을 수신하고 제2 공개키를 이용하여 수신된 토큰의 전자서명을 검증하는 제1 토큰 수신부, 제1 개인키를 이용하여 전자서명이 검증된 토큰을 복호화하는 제2 복호화부, 복호화된 토큰에 대응하는 비밀키를 검색하는 비밀키 검색부, 그리고 검색된 비밀키를 제2 공개키를 이용하여 암호화하고 제1 개인키를 이용하여 서명한 후 사용자 단말로 전송할 수 있다.
상기 과제를 해결하기 위해 본 발명의 하나의 실시예는, 유선 또는 무선통신망을 통해 사용자 단말과 연결되어 있는 비밀키 관리 시스템을 이용하며, 제1 공개키 및 제1 개인키를 생성하는 단계, 사용자 단말로부터 제2 공개키를 수신하여 저장하는 단계, 사용자 단말로부터 전송되는 비밀키를 수신하는 단계, 그리고 수신된 비밀키에 대응하는 토큰을 생성하여 사용자 단말로 전송하는 단계를 포함하는 비밀키 관리 방법을 제안한다.
여기서, 비밀키를 수신하는 단계는, 제2 공개키를 이용하여 수신된 비밀키의 전자서명을 검증하는 단계, 그리고 제1 공개키를 이용하여 서명이 검증된 비밀키를 복호화하는 단계를 포함할 수 있다.
또한, 토큰을 생성하는 단계는, 복호화된 비밀키에 대응하는 토큰을 생성하고 생성된 토큰을 제2 공개키를 이용하여 암호화하고 제1 개인키를 이용하여 서명한 후 사용자 단말로 전송할 수 있다.
또한, 사용자 단말로부터 전송되는 토큰을 수신하는 단계, 제2 공개키를 이용하여 수신된 토큰의 서명을 검증하는 단계, 제1 개인키를 이용하여 서명이 검증된 토큰을 복호화하는 단계, 그리고 복호화된 토큰에 대응하는 비밀키를 검색하여 사용자 단말로 전송하는 단계를 더 포함할 수 있다.
또한, 비밀키를 전송하는 단계는, 검색된 비밀키를 제2 공개키를 이용하여 암호화하고 제1 개인키를 이용하여 서명한 후 사용자 단말로 전송할 수 있다.
본 발명의 하나의 실시예에 따르면 암호화에 사용된 비밀키를 안전하게 보호하여 개인정보 유출을 방지할 수 있다. 또한, 데이터 암호화 및 비밀키 관리 구조를 간단히 구현할 수 있고, 별도의 암호화 및 비밀키 관리 솔루션을 필요로 하지 않으므로 암호화 및 비밀키 관리에 소요되는 비용을 절감할 수 있다.
도 1은 본 발명의 하나의 실시예에 따른 비밀키 관리 시스템의 구성을 나타낸다.
도 2는 도 1의 비밀키 관리 시스템을 이용한 토큰 생성 방법을 나타낸다.
도 3은 도 1의 비밀키 관리 시스템을 이용한 비밀키 전송 방법을 나타낸다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대해 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며 명세서 전체에서 동일 또는 유사한 구성요소에 대해서는 동일한 도면부호가 사용되었다. 또한, 널리 알려진 공지기술의 경우 그 구체적인 설명은 생략한다.
본 명세서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 명세서에서, '비밀키(ENCRYPTION KEY)'는 데이터 암호화 및 복호화를 위해 사용되는 키를 의미한다. 또한, 공개키(Public Key)'는 RSA(Rivest Shamir Adleman) 알고리즘에 기초하여 '비밀키' 암호화를 위해 공개되는 키를 의미하고, '개인키(Private Key)'는 RSA(Rivest Shamir Adleman) 알고리즘에 기초하여 '비밀키' 복호화를 위해 공개되지 않는 키를 의미한다.
본 명세서에서, '데이터'는 유출되지 않도록 보호해야 하는 개인정보를 의미하며, 예를 들어, 주민등록번호, 카드번호, 금융거래정보, 부동산거래정보, 의료기록 및 범죄기록 중 하나 이상을 포함한다.
도 1은 본 발명의 하나의 실시예에 따른 비밀키 관리 시스템의 구성을 나타낸다.
도 1의 비밀키 관리 시스템(100)은 사용자 단말(200)과 유선통신망 또는 무선통신망을 통해 연결되어 있으며, 사용자 단말(200)로부터 전송되는 비밀키를 관리한다. 본 발명의 실시예에 따르면, 사용자 단말(200)로부터 전송되는 비밀키에 대응하는 토큰을 생성하여 사용자 단말(200)로 전송하고, 사용자 단말(200)로부터 전송되는 토큰에 대응하는 비밀키를 검색하여 사용자 단말(200)로 전송하는 서버 형태로 구현될 수 있다.
도 1의 비밀키 관리 시스템(100)은 제1 암호키 생성부(110), 제1 데이터베이스(120), 토큰 생성부(130), 그리고 비밀키 관리부(140)를 포함한다.
제1 암호키 생성부(110)는 제1 공개키(KUTTP)와 제1 개인키(KRTTP)를 생성하여 저장하고, 생성된 제1 공개키(KUTTP)는 사용자 단말(200)로 전송한다. 제1 암호키 생성부(110)는 난수 발생기를 이용하여 제1 공개키(KUTTP)와 제1 개인키(KRTTP)를 생성할 수 있다.
제1 데이터베이스(120)는 제1 암호키 생성부(110)에서 생성된 제1 공개키(KUTTP)와 제1 개인키(KRTTP)를 저장하고, 사용자 단말(200)로부터 전송되는 제2 공개키(KUuser)를 저장한다.
토큰 생성부(130)는 사용자 단말(200)로부터 전송되는 비밀키(Kuser)를 수신하고 수신된 비밀키(Kuser)에 대응하는 토큰을 생성하여 사용자 단말(200)로 전송한다. 여기서, 비밀키(Kuser)는 사용자 단말(200)에서 데이터 암호화에 사용된 키이다.
토큰 생성부(130)는 제1 비밀키 수신부(131), 제1 복호화부(132), 그리고 제1 토큰 전송부(133)를 포함한다.
제1 비밀키 수신부(131)는 사용자 단말(200)로부터 전송되는 비밀키(Kuser)를 수신하여 제1 데이터베이스(120)에 저장한다. 이때, 사용자 단말(200)로부터 전송되는 사용자 정보 또는 비밀키(Kuser)를 통해 암호화된 데이터를 더 수신하여 제1 데이터베이스(120)에 저장할 수 있다. 본 발명의 실시예에 따르면, 제1 비밀키 수신부(131)는 제1 데이터베이스(120)에 저장되어 있는 제2 공개키(KUuser)를 이용하여 비밀키(Kuser)의 전자서명을 검증한다.
제1 복호화부(132)는 제1 개인키(KRTTP)를 이용하여 전자서명이 검증된 비밀키(Kuser)를 복호화한다.
제1 토큰 전송부(133)는 복호화된 비밀키(Kuser)에 대응하는 토큰을 생성하여 사용자 단말(200)로 전송한다. 본 발명의 실시예에 따르면, 제1 토큰 전송부(133)는 복호화된 비밀키(Kuser)에 대응하는 토큰을 생성하고 생성된 토큰을 제1 데이터베이스(120)에 저장되어 있는 제2 공개키(KUuser)를 이용하여 암호화한다. 이후, 암호화된 토큰에 제1 개인키(KRTTP)를 이용하여 서명한 후 사용자 단말(200)로 전송한다. 이때, 생성된 토큰은 제1 데이터베이스(120)에 저장된다. 이때, 복호화된 비밀키(Kuser)는 제1 공개키(KUTTP)를 통해 암호화하여 제1 데이터베이스(120)에 저장할 수 있다.
비밀키 관리부(140)는 사용자 단말(200)로부터 전송되는 토큰을 수신하고 수신된 토큰에 대응하는 비밀키를 검색하여 사용자 단말(200)로 전송한다.
비밀키 관리부(140)는 제1 토큰 수신부(141), 제2 복호화부(142), 비밀키 검색부(143), 그리고 제1 암호화부(144)를 포함한다.
제1 토큰 수신부(141)는 사용자 단말(200)로부터 전송되는 토큰을 수신하고 제2 공개키(KUuser)를 이용하여 토큰의 전자서명을 검증한다.
제2 복호화부(142)는 전자서명이 검증된 토큰을 제1 개인키(KRTTP)를 이용하여 복호화한다.
비밀키 검색부(143)는 복호화된 토큰에 대응하는 비밀키(Kuser)를 제1 데이터베이스(120)에서 검색한다.
제1 암호화부(144)는 검색된 비밀키(Kuser)를 암호화하여 사용자 단말(200)로 전송한다. 본 발명의 실시예에 따르면, 제1 암호화부(144)는 검색된 비밀키(Kuser)를 제2 공개키(KUuser)를 이용하여 암호화하고, 암호화된 비밀키(Kuser)에 제1 개인키(KRTTP)를 이용하여 서명한 후 사용자 단말(200)로 전송한다.
도 1의 사용자 단말(200)은 비밀키 생성부(210), 제2 암호키 생성부(220), 제2 데이터베이스(230), 토큰 요청부(240), 제2 토큰 수신부(250), 그리고 비밀키키 요청부(260)를 포함한다. 여기서, 사용자 단말(200)은 유출되지 않도록 보호해야 하는 데이터를 취급하는 단말이며, 예를 들어, 소상공인 또는 자영업자의 POS(Point-Of-Sale) 단말일 수 있다.
비밀키 생성부(210)는 사용자 단말(200)을 통해 입력된 데이터를 암호화하기 위한 비밀키(Kuser)를 생성한다. 비밀키 생성부(210)는 난수 발생기를 이용하여 비밀키(Kuser)를 생성할 수 있다.
제2 암호키 생성부(220)는 제2 공개키(KUuser)와 제2 개인키(KRuser)를 생성하여 저장하고, 생성된 제2 공개키(KUuser)는 비밀키 관리 시스템(100)으로 전송한다.
제2 데이터베이스(230)는 제2 암호키 생성부(220)에서 생성된 제2 공개키(KUuser)와 제2 개인키(KRuser)를 저장하고, 비밀키 관리 시스템(100)으로부터 전송되는 제1 공개키(KUTTP)를 저장한다.
토큰 요청부(240)는 데이터 암호화에 사용된 비밀키를 비밀키 관리 시스템(100)으로 전송하며, 데이터 수신부(241), 제2 암호화부(242), 그리고 비밀키 전송부(243)를 포함한다.
데이터 수신부(241)는 사용자 단말(200)을 통해 입력되는 데이터를 수신한다.
제2 암호화부(242)는 수신된 데이터를 비밀키(Kuser)를 이용하여 암호화하고, 암호화에 사용된 비밀키(Kuser)를 제2 데이터베이스(230)에 저장되어 있는 제1 공개키(KUTTP)를 이용하여 암호화한다.
비밀키 전송부(243)는 제1 공개키(KUTTP)를 통해 암호화된 비밀키(Kuser)에 제2 개인키(KRuser)를 이용하여 서명한 후 비밀키 관리 시스템(100)으로 전송한다.
제2 토큰 수신부(250)는 비밀키 관리 시스템(100)으로부터 전송되는 토큰을 수신하여 서명을 검증하고 복호화한 후 제2 데이터베이스(230)에 저장한다.
비밀키 요청부(260)는 제2 데이터베이스(230)에 저장되어 있는 토큰에 기초하여 비밀키 관리 시스템(100)으로 데이터 복호화를 위한 비밀키를 요청하며, 제2 토큰 전송부(261), 제2 비밀키 수신부(262), 그리고 제3 복호화부(263)를 포함한다.
제2 토큰 전송부(261)는 제2 데이터베이스(230)에 저장되어 있는 토큰을 제1 공개키(KUTTP)를 통해 암호화하고, 제2 개인키(KRuser)를 이용하여 서명하여 비밀키 관리 시스템(100)으로 전송한다.
제2 비밀키 수신부(262)는 제2 토큰 전송부(261)를 통해 토큰을 전송한 후 비밀키 관리 시스템(100)으로부터 전송되는 비밀키(Kuser)를 수신하고, 제1 공개키(KUTTP)를 이용하여 수신된 비밀키(Kuser)의 전자서명을 검증한다.
제3 복호화부(253)는 전자서명이 검증된 비밀키(Kuser)를 제2 개인키(KRuser)를 이용하여 복호화하고, 복호화된 비밀키(Kuser)를 이용하여 데이터를 복호화한다.
도 2는 도 1의 비밀키 관리 시스템을 이용한 토큰 생성 방법을 나타낸다.
먼저, 사용자 단말(200)의 토큰 요청부(240)를 통해 데이터 암호화에 사용된 비밀키를 비밀키 관리 시스템(100)으로 전송한다(S10). 구체적으로, 비밀키 생성부(210)를 통해 비밀키(Kuser)를 생성한다(S11). 이후, 제2 암호화부(242)를 통해 S11 단계에서 생성된 비밀키(Kuser)를 이용하여 데이터(Data)를 암호화하고(Kuser[Data])(S12), S12 단계의 암호화에 사용된 비밀키(Kuser)를 제1 공개키(KUTTP)를 이용하여 암호화한다(KUTTP[Kuser])(S13). 이후, 비밀키 전송부(243)를 통해 S13 단계에서 암호화된 비밀키(Kuser)에 제2 개인키(KRuser)를 이용하여 서명한 후 비밀키 관리 시스템(100)으로 전송한다(KRuser[KUTTP[Kuser]])(S14).
이후, 비밀키 관리 시스템(100)은 토큰 생성부(130)를 통해 S14 단계에서 전송되는 비밀키(Kuser)를 수신하고 수신된 비밀키(Kuser)에 대응하는 토큰을 생성하여 사용자 단말(200)로 전송한다(S20). 먼저, 제1 비밀키 수신부(131)를 통해 S14 단계에서 전송되는 비밀키(Kuser)를 수신하고 제2 공개키(KUuser)를 이용하여 전자서명을 검증한다([KUTTP[Kuser]])(S21). 이후, 제1 복호화부(132)를 통해 S21 단계에서 전자서명이 검증된 비밀키(Kuser)를 복호화한다([Kuser])(S22). S22 단계에서는 제1 개인키(KRTTP)를 이용하여 비밀키(Kuser)를 복호화한다. 이후, 제1 토큰 전송부(133)를 통해 S22 단계에서 복호화된 비밀키(Kuser)에 대응하는 토큰(Token)을 생성하고(S23), S23 단계에서 생성된 토큰(Token)을 제2 공개키(KUuser)를 이용하여 암호화한다([KUuser[Token]])(S24). 이후, S24 단계에서 암호화된 토큰(Token)에 제1 개인키(KRTTP)를 이용하여 서명한 후 사용자 단말(200)로 전송한다(KRTTP[KUuser[Token]])(S25).
이후, 사용자 단말(200)은 제2 토큰 수신부(250)를 통해 S25 단계에서 전송되는 토큰을 수신하여 복호화한 후 제2 데이터베이스(230)에 저장한다(S30). 좀 더 구체적으로, S25 단계에서 전송되는 토큰을 수신하여 제1 공개키(KUTTP)를 이용하여 서명을 검증한다([KUuser[Token]])(S31). 이후, 제2 개인키(KRuser)를 이용하여 토큰을 복호화하여 제2 데이터베이스(230)에 저장한다(S32).
도 3은 도 1의 비밀키 관리 시스템을 이용한 비밀키 전송 방법을 나타낸다.
먼저, 사용자 단말(200)은 제2 토큰 전송부(261)를 통해 비밀키 관리 시스템(100)으로 데이터 복호화에 필요한 비밀키에 대응하는 토큰을 전송한다(S110). 구체적으로, 제2 데이터베이스(230)에 저장되어 있는 토큰을 제1 공개키(KUTTP)를 이용하여 암호화하고(KUTTP[Token])(S111), 암호화된 토큰에 제2 개인키(KRuser)를 이용하여 서명을 하여 비밀키 관리 시스템(100)으로 전송한다(KRuser[KUTTP[Token]])(S112).
이후, 비밀키 관리 시스템(100)은 비밀키 관리부(140)를 통해 S112 단계에서 전송되는 토큰을 수신하고 수신된 토큰에 대응하는 비밀키를 검색하여 사용자 단말(200)로 전송한다(S210). 먼저, 제1 토큰 수신부(141)를 통해 S112 단계에서 전송되는 토큰을 수신하고 제2 공개키(KUuser)를 이용하여 서명을 검증한다([KUTTP[Token]])(S211). 이후, 제2 복호화부(142)를 통해 제1 개인키(KRTTP)를 이용하여 토큰을 복호화한다(S212). 이후, S212 단계에서 복호화된 토큰에 대응하는 비밀키(Kuser)를 제1 데이터베이스(120)에서 검색한다(S213). 이후, 제1 암호화부(144)를 통해 제2 공개키(KUuser)를 이용하여 S213 단계에서 검색된 비밀키(Kuser)를 암호화하고([KUuser[Kuser]])(S214), 제1 개인키(KRTTP)를 이용하여 서명 후 사용자 단말(200)로 전송한다(KRTTP[KUuser[Kuser]])(S215).
이후, 사용자 단말(200)은 제2 비밀키 수신부(262)를 통해 S215 단계에서 전송되는 비밀키를 수신하고 제1 공개키(KUTTP)를 이용하여 서명을 검증한다([KUuser[Kuser]])(S311). 이후, 제3 복호화부(263)를 통해 S311 단계에서 수신된 비밀키를 복호화하고([Kuser])(S312), 복호화된 비밀키를 이용하여 데이터를 복호화한다(S313).
본 발명의 실시예에 따른 토큰화 기반의 비밀키 관리 시스템은 데이터 복호화에 필요한 비밀키는 비밀키 관리 시스템을 통해 별도로 관리하고, 사용자 단말을 통해 토큰에 대응하는 비밀키 요청이 수신되면 해당 비밀키를 제공함으로써 사용자 단말을 통해 비밀키를 관리할 필요가 없으므로 데이터 전송 및 저장 과정에서의 유출을 방지하고 관리 효율을 향상시킬 수 있다.
본 발명의 실시예에 따른 토큰화 기반의 비밀키 관리 시스템은 종래 공개키 암호방식 대비 사용자 단말 및 비밀키 관리 시스템에서 처리하는 연산양이 적으므로 간단한 구조로 구현이 가능하며 관리 비용을 줄일 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였으나, 본 발명의 권리범위가 이에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상의 지식을 가진 자가 여러 가지로 변형 및 개량한 형태 또한 본 발명의 권리범위에 속한다.
100 : 비밀키 관리 시스템 110 : 제1 암호키 생성부
120 : 제1 데이터베이스 130 : 토큰 생성부
131 : 제1 비밀키 수신부 132 : 제1 복호화부
133 : 제1 토큰 전송부 140 : 비밀키 관리부
141 : 제1 토큰 수신부 142 : 제2 복호화부
143 : 비밀키 검색부 144 : 제1 암호화부
200 : 사용자 단말 210 : 비밀키 생성부
220 : 제2 암호키 생성부 230 : 제2 데이터베이스
240 : 토큰 요청부 241 : 데이터 수신부
242 : 제2 암호화부 243 : 비밀키 전송부
250 : 제2 토큰 수신부 260 : 비밀키 요청부
261 : 제2 토큰 전송부 262 : 제2 비밀키 수신부
263 : 제3 복호화부

Claims (11)

  1. 사용자 단말과 유선 또는 무선통신망으로 연결되어 있는 비밀키 관리 시스템에 있어서,
    상기 사용자 단말로부터 전송되는 비밀키를 수신하고 상기 수신된 비밀키에 대응하는 토큰을 생성하는 토큰 생성부,
    상기 수신된 비밀키와 상기 생성된 토큰을 저장하는 제1 데이터베이스, 그리고
    상기 사용자 단말로부터 전송되는 토큰을 수신하고 상기 수신된 토큰에 대응하는 비밀키를 검색하여 상기 사용자 단말로 전송하는 비밀키 관리부
    를 포함하는 비밀키 관리 시스템.
  2. 제1항에서,
    제1 공개키와 제1 개인키를 생성하고 상기 생성된 제1 공개키를 상기 사용자 단말로 전송하는 제1 암호키 생성부를 더 포함하며,
    상기 제1 데이터베이스는 상기 생성된 제1 공개키와 제1 개인키, 그리고 상기 제1 사용자 단말로부터 전송되는 제2 공개키를 더 저장하는 비밀키 관리 시스템.
  3. 제2항에서,
    상기 토큰 생성부는,
    상기 사용자 단말로부터 전송되는 비밀키를 수신하고 상기 제2 공개키를 이용하여 상기 수신된 비밀키의 전자서명을 검증하는 제1 비밀키 수신부,
    상기 제1 개인키를 이용하여 상기 전자서명이 검증된 비밀키를 복호화하는 제1 복호화부, 그리고
    상기 복호화된 비밀키에 대응하는 토큰을 생성하여 상기 사용자 단말로 전송하는 제1 토큰 전송부를 포함하는 비밀키 관리 시스템.
  4. 제3항에서,
    상기 제1 토큰 전송부는 상기 생성된 토큰을 상기 제2 공개키를 이용하여 암호화하고 상기 제1 개인키를 이용하여 서명한 후 상기 사용자 단말로 전송하는 비밀키 관리 시스템.
  5. 제2항에서,
    상기 토큰 생성부는 상기 수신된 비밀키를 상기 제1 공개키를 통해 암호화하여 상기 제1 데이터베이스에 저장하는 비밀키 관리 시스템.
  6. 제2항에서,
    상기 비밀키 관리부는,
    상기 사용자 단말로부터 전송되는 토큰을 수신하고 상기 제2 공개키를 이용하여 상기 수신된 토큰의 전자서명을 검증하는 제1 토큰 수신부,
    상기 제1 개인키를 이용하여 상기 전자서명이 검증된 토큰을 복호화하는 제2 복호화부,
    상기 복호화된 토큰에 대응하는 비밀키를 검색하는 비밀키 검색부, 그리고
    상기 검색된 비밀키를 상기 제2 공개키를 이용하여 암호화하고 상기 제1 개인키를 이용하여 서명한 후 상기 사용자 단말로 전송하는 비밀키 관리 시스템.
  7. 유선 또는 무선통신망을 통해 사용자 단말과 연결되어 있는 비밀키 관리 시스템을 이용한 비밀키 관리 방법에 있어서,
    제1 공개키 및 제1 개인키를 생성하는 단계,
    상기 사용자 단말로부터 제2 공개키를 수신하여 저장하는 단계,
    상기 사용자 단말로부터 전송되는 비밀키를 수신하는 단계, 그리고
    상기 수신된 비밀키에 대응하는 토큰을 생성하여 상기 사용자 단말로 전송하는 단계
    를 포함하는 비밀키 관리 방법.
  8. 제7항에서,
    상기 비밀키를 수신하는 단계는,
    상기 제2 공개키를 이용하여 상기 수신된 비밀키의 전자서명을 검증하는 단계, 그리고
    상기 제1 공개키를 이용하여 상기 서명이 검증된 비밀키를 복호화하는 단계를 포함하는 비밀키 관리 방법.
  9. 제8항에서,
    상기 토큰을 생성하는 단계는,
    상기 복호화된 비밀키에 대응하는 토큰을 생성하고 생성된 토큰을 상기 제2 공개키를 이용하여 암호화하고 상기 제1 개인키를 이용하여 서명한 후 상기 사용자 단말로 전송하는 비밀키 관리 방법.
  10. 제7항에서,
    상기 사용자 단말로부터 전송되는 토큰을 수신하는 단계,
    상기 제2 공개키를 이용하여 상기 수신된 토큰의 서명을 검증하는 단계,
    상기 제1 개인키를 이용하여 상기 서명이 검증된 토큰을 복호화하는 단계, 그리고
    상기 복호화된 토큰에 대응하는 비밀키를 검색하여 상기 사용자 단말로 전송하는 단계를 더 포함하는 비밀키 관리 방법.
  11. 제10항에서,
    상기 비밀키를 전송하는 단계는,
    상기 검색된 비밀키를 상기 제2 공개키를 이용하여 암호화하고 상기 제1 개인키를 이용하여 서명한 후 상기 사용자 단말로 전송하는 비밀키 관리 방법.
KR1020160078885A 2015-06-25 2016-06-23 토큰화 기반의 비밀키 관리 시스템 및 방법 KR20170001633A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20150090624 2015-06-25
KR1020150090624 2015-06-25

Publications (1)

Publication Number Publication Date
KR20170001633A true KR20170001633A (ko) 2017-01-04

Family

ID=57831614

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160078885A KR20170001633A (ko) 2015-06-25 2016-06-23 토큰화 기반의 비밀키 관리 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20170001633A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102311996B1 (ko) * 2020-04-02 2021-10-13 국민대학교산학협력단 미디어 파일에 대한 안티 포렌식 해제 장치 및 방법
KR102319709B1 (ko) * 2020-04-27 2021-11-02 국민대학교산학협력단 데이터베이스 암호화 기반의 안티 포렌식 해제 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102311996B1 (ko) * 2020-04-02 2021-10-13 국민대학교산학협력단 미디어 파일에 대한 안티 포렌식 해제 장치 및 방법
KR102319709B1 (ko) * 2020-04-27 2021-11-02 국민대학교산학협력단 데이터베이스 암호화 기반의 안티 포렌식 해제 장치 및 방법

Similar Documents

Publication Publication Date Title
US11677729B2 (en) Secure multi-party protocol
CN109495274B (zh) 一种去中心化智能锁电子钥匙分发方法及***
US8239679B2 (en) Authentication method, client, server and system
JP5562687B2 (ja) 第1のユーザによって第2のユーザに送信される通信の安全化
EP1676281B1 (en) Efficient management of cryptographic key generations
US20060204003A1 (en) Cryptographic communication system and method
US20090138708A1 (en) Cryptographic module distribution system, apparatus, and program
CN111371790B (zh) 基于联盟链的数据加密发送方法、相关方法、装置和***
EP2879323A1 (en) Method and distributed data processing system for managing access to data
US11888832B2 (en) System and method to improve user authentication for enhanced security of cryptographically protected communication sessions
CN113225302A (zh) 一种基于代理重加密的数据共享***及方法
Sun et al. A new design of wearable token system for mobile device security
KR20170001633A (ko) 토큰화 기반의 비밀키 관리 시스템 및 방법
KR20060078768A (ko) 사용자 개인키의 분산 등록을 이용한 키 복구 시스템 및그 방법
KR102025989B1 (ko) IoT 경량단말 환경에서 프록시 재암호화 기반의 데이터 관리 방법 및 시스템
KR101793528B1 (ko) 무인증서 공개키 암호 시스템
JP2005151004A (ja) 無線タグプライバシー保護方法、無線タグ装置、セキュリティサーバ装置、無線タグ装置用プログラムおよびセキュリティサーバ装置用プログラム
CN116599771B (zh) 数据分级保护传输方法及装置、存储介质和终端
CN113162766B (zh) 一种密钥分量的密钥管理方法和***
Reddy et al. Data Storage on Cloud using Split-Merge and Hybrid Cryptographic Techniques
JP2007521525A (ja) セキュア通信ネットワークのパーティを認証および認可するシステム
CN117294522A (zh) 基于区块链的金融数据共享方法、装置、设备和存储介质
WO2023110148A1 (en) Secure data transmission
CN116647371A (zh) 一种基于区块链的身份授权方法及装置
CN117390675A (zh) 数据查询方法、电子设备和可读存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application