KR101882578B1 - 최소 보안 연산을 가지는 포워드 시큐어 전자 서명 시스템 및 방법 - Google Patents

최소 보안 연산을 가지는 포워드 시큐어 전자 서명 시스템 및 방법 Download PDF

Info

Publication number
KR101882578B1
KR101882578B1 KR1020160110230A KR20160110230A KR101882578B1 KR 101882578 B1 KR101882578 B1 KR 101882578B1 KR 1020160110230 A KR1020160110230 A KR 1020160110230A KR 20160110230 A KR20160110230 A KR 20160110230A KR 101882578 B1 KR101882578 B1 KR 101882578B1
Authority
KR
South Korea
Prior art keywords
processor
signature
encrypted
encs
decryption key
Prior art date
Application number
KR1020160110230A
Other languages
English (en)
Other versions
KR20170123214A (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 한양대학교 산학협력단
Publication of KR20170123214A publication Critical patent/KR20170123214A/ko
Application granted granted Critical
Publication of KR101882578B1 publication Critical patent/KR101882578B1/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
    • 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)
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures

Landscapes

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

Abstract

최소 보안 연산을 가지는 포워드 시큐어 전자 서명 시스템 및 방법이 개시된다. 개시된 포워드 시큐어 전자 서명 시스템은 내부 메모리로 접근이 가능한 제1 프로세서; 및 복호화키 DecK를 저장하고, 내부 메모리로 접근이 불가능한 제2 프로세서;를 포함하되, 상기 제1 프로세서 및 상기 제2 프로세서는 서명 SID(M)을 생성하는 과정을 수행하되, 상기 제1 프로세서는 암호화된 비밀키 EncSKID를 이용하여 메시지 M에 대한 암호화된 서명 EncSID(M)를 생성하고, 상기 암호화된 서명 EncSID(M)를 상기 제2 프로세서로 전송하고, 상기 제2 프로세서는 상기 복호화키 DecK를 이용하여 상기 암호화된 서명 EncSID(M)를 복호하여 상기 서명 SID(M)를 생성한다.

Description

최소 보안 연산을 가지는 포워드 시큐어 전자 서명 시스템 및 방법{Forward-secure digital signature system and method with minimal secure zone}
본 발명의 실시예들은 빠르게 서명을 생성하면서도 효과적으로 포워드 시큐어한 서명을 생성할 수 있는 최소 보안 연산을 가지는 포워드 시큐어 전자 서명 시스템 및 방법에 관한 것이다.
일반적인 전자 서명 방식에서는 서명키가 노출되었을 때, 정당한 서명자가 과거에 생성한 서명과 공격자에 의해 위조된 서명을 구분할 수 없기 때문에 모든 서명을 무효화해야 한다. 포워드 시큐어 전자 서명 기법은 비밀키 노출 문제에 대한 해결책으로서, 현재의 비밀키가 노출되더라도 정당한 서명자가 과거에 생성한 서명의 타당성을 유지시켜 준다.
즉, 포워드 시큐어 서명 기법은 현재의 비밀키가 유출되더라도 과거 시점에 대한 서명을 생성할 수 없도록 해서 비밀키 유출에 따른 피해를 최소화하는 서명 방법이다. 특히, 포워드 시큐어 서명 기법은 로깅 시스템, 무인 센서, CCTV, 자동차 블랙박스, 전자 화폐등 많은 분야에서 사용하는 기본적인 암호 방법이다.
보다 상세하게, 포워드 시큐어 서명 기법은 도 1에 도시된 바와 같이 일정 시간 구간마다 비밀키를 갱신한다. 이는 현재의 비밀키로부터 과거의 비밀키를 유도해 낼 수 없도록 함으로써 과거의 정당한 서명을 보호하고, 서명 검증키인 공개키를 변동시키지 않도록 하여 사용자의 편의를 제공한다.
그리고, 포워드 시큐어 서명 기법은 아래와 같은 키 셋업 과정(Setup), 서명 생성 과정(Sig), 키 업데이트 과정(Upd) 및 서명 검증 과정(Ver)으로 구성된다.
키 셋업 과정(Setup)은 보안 파라미터 l 및 시간 구간의 개수 T를 입력받고, 이를 이용하여 초기 비밀키SK0 및 공개 검증키 VK를 출력한다.
서명 생성 과정(Sig) 및 키 업데이트 과정(Upd) 각각은 각각의 시간 구간에 대해 반복적으로 수행된다. 서명 생성 과정(Sig)은 시간 구간 j의 비밀키 SKj와 메시지 M를 이용하여 서명을 수행하여 서명값 <j, sign>을 출력한다. 키 업데이트 과정(Upd)은 시간 구간 j의 비밀키 SKj를 이용하여 시간 구간 j+1의 비밀키 SKj + 1를 출력한다.
서명 검증 과정(Ver)은 서명을 확인하는 과정으로서, 공개 검증키 VK, 메시지 M 및 서명값 <j, sign>를 입력받고, 서명값 <j, sign>가 메시지 M의 유효한 서명인지를 여부를 판단한다. 유효한 서명인 경우 1의 값을 출력하고 유효한 서명이 아닌 경우 0의 값을 출력한다.
한편, 관련 선행문헌으로서, 공개 논문인 "Hierarchical Identity Based Encryption with Constant Size Ciphertext"가 개시되어 있다.
이러한 포워드 시큐어 서명 기법의 장점에도 불구하고, 실제 시스템에서 구현할 때 일반적인 전자 서명 기법에 비해서 많은 연산이 필요하며, 이에 따라 서명 생성이 느린 단점이 있다.
상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 빠르게 서명을 생성하면서도 효과적으로 포워드 시큐어한 서명을 생성할 수 있는 최소 보안 연산을 가지는 포워드 시큐어 전자 서명 시스템 및 방법을 제안하고자 한다.
본 발명의 다른 목적들은 하기의 실시예를 통해 당업자에 의해 도출될 수 있을 것이다.
상기한 목적을 달성하기 위해 본 발명의 바람직한 일 실시예에 따르면, 포워드 시큐어 전자 서명 시스템에 있어서, 내부 메모리로 접근이 가능한 제1 프로세서; 및 복호화키 DecK를 저장하고, 내부 메모리로 접근이 불가능한 제2 프로세서;를 포함하되, 상기 제1 프로세서 및 상기 제2 프로세서는 서명 SID(M)을 생성하는 과정을 수행하되, 상기 제1 프로세서는 암호화된 비밀키 EncSKID를 이용하여 메시지 M에 대한 암호화된 서명 EncSID(M)를 생성하고, 상기 암호화된 서명 EncSID(M)를 상기 제2 프로세서로 전송하고, 상기 제2 프로세서는 상기 복호화키 DecK를 이용하여 상기 암호화된 서명 EncSID(M)를 복호하여 상기 서명 SID(M)를 생성하는 것을 특징으로 하는 포워드 시큐어 전자 서명 시스템이 제공된다.
상기 제1 프로세서는 상기 서명 SID(M)를 검증하는 과정을 수행하되, 상기 제2 프로세서는 상기 서명 SID(M)를 상기 제1 프로세서로 전달하고, 상기 제1 프로세서는 공개 검증키 VK 및 상기 메시지 M를 이용하여 상기 서명 SID(M)를 검증할 수 있다.
상기 제1 프로세서는, 상기 공개 검증키 VK, 초기 암호화된 비밀키 EncSK0 및 상기 복호화키 DecK를 생성하는 과정을 포함하되, 상기 생성된 복호화키 DecK를 상기 제2 프로세서에서 전송할 수 있다.
상기 제1 프로세서는 상기 암호화된 비밀키 EncSKID를 업데이트하여 암호화된 비밀키 EncSKID'를 생성할 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 내부 메모리로 접근이 가능한 제1 프로세서 및 내부 메모리로 접근이 불가능한 제2 프로세서를 포함하는 시스템에서 수행되는 포워드 시큐어 전자 서명 방법에 있어서, 상기 제1 프로세서 및 상기 제2 프로세서가 서명 SID(M)을 생성하는 서명 생성 단계;를 포함하되, 상기 서명 생성 단계는, 상기 제1 프로세서가 암호화된 비밀키 EncSKID를 이용하여 메시지 M에 대한 암호화된 서명 EncSID(M)를 생성하는 단계; 상기 제1 프로세서가 암호화된 서명 EncSID(M)를 상기 제2 프로세서로 전송하는 단계; 상기 제2 프로세서가 미리 저장된 복호화키 DecK를 이용하여 상기 암호화된 서명 EncSID(M)를 복호하여 상기 서명 SID(M)를 생성하는 단계;를 포함하는 것을 특징으로 하는 포워드 시큐어 전자 서명 방법이 제공된다.
본 발명에 따르면, 빠르게 서명을 생성하면서도 효과적으로 포워드 시큐어한 서명을 생성할 수 있는 장점이 있다.
도 1은 종래의 포워드 시큐어 서명 기법의 개념을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 포워드 시큐어 전자 서명 시스템의 개략적인 구성을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 포워드 시큐어 전자 서명 방법의 전체적인 흐름도를 도시한 도면이다.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
먼저, 본 발명의 기초가 되는 기술적 내용을 간단하게 설명하면 다음과 같다.
Figure 112016084040085-pat00001
가 소수(prime) p의 위수(order)에 대한 바이리니어 그룹(bilinear group)이고, e(
Figure 112016084040085-pat00002
)는 대칭적 바이리니어 맵(symmetric bilinear map)이고, 서명될 메시지는 m 비트의 고정된 길이의 바이너리 문자열(binary string)인 것으로 가정한다. 또한, 동일한 메시지에 대한 서명이 두 개의 서로 다른 시간 구간에서 발행되는 것이 금지된다.
이를 위해 각각의 시간 구간이 서명될 m 비트를 가지도록 하거나(일례로,
Figure 112016084040085-pat00003
), 충돌 회피 해시 함수(collision-resistant hash function)
Figure 112016084040085-pat00004
를 사용하여 시간과 함께 메시지를 해시하여 결과
Figure 112016084040085-pat00005
를 출력할 수 있다. 또한, 서명자는 임의의 인덱스
Figure 112016084040085-pat00006
를 범용 단방향 해쉬 패밀리(UOWHF: Universal One-Way Hash Family)
Figure 112016084040085-pat00007
(
Figure 112016084040085-pat00008
)에 대입하고, 연결(concatenation)
Figure 112016084040085-pat00009
에 서명할 수 있다.
한편, 시간은 2 l 개의 시간 구간의 순서로 각각 모델링된다. 그리고, 시간 구간은 l-비트의 정수
Figure 112016084040085-pat00010
로 정의되며(설명의 편의를 위해, 0번째 시간 구간은 0 l 는 제외시키고 첫번째 시간 구간을 0 l -11로 표현한다). 비트 I1 내지 I l 는 트리의 상단부터 하단까지 정렬되되, 0과 1는 각각 탐색의 순서에 따라 제1 브랜치 및 제2 브랜치를 나타낸다. 리프 노드의 탐색, 시간 구간의 연표(chronology) 및 시간 구간의 식별자의 절대값은 모두가 같은 순서에 따르게 된다. 또한, j(=1, … , l+1)에 대해, 시간 구간에서의 "트리 깊이 j에서의 제2 형제(second sibling)"는 아래의 수학식 1과 같이 표현될 수 있다.
Figure 112016084040085-pat00011
이하, 본 발명의 다양한 실시예들을 첨부된 도면을 참조하여 상술한다.
도 2는 본 발명의 일 실시예에 따른 포워드 시큐어 전자 서명 시스템의 개략적인 구성을 도시한 도면이고, 도 3는 본 발명의 일 실시예에 따른 포워드 시큐어 전자 서명 방법의 전체적인 흐름도를 도시한 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 포워드 시큐어 전자 서명 시스템(200)은 제1 프로세서(210) 및 제2 프로세서(220)를 포함한다.
여기서, 제1 프로세서(210)은 종래의 일반적인 프로세서로서, 내부에 위치하는 메모리로 사용자가 접근 가능한 프로세서이다. 그리고, 제2 프로세서(220)는 안전한 프로세서로서, 내부에 위치하는 메모리로 사용자가 접근이 불가능한 프로세서이다. 즉, "안전"이라는 용어는 침입자가 시스템에서 성공적으로 파손을 행하기에 계산적으로 수행 불가능함을 의미하며, 제2 프로세서(220)는 시스템에 안전 보호를 제공하기 위해 안전 기능을 수행할 수 있는 프로세서를 의미한다. 이 때, 제2 프로세서(220) 내부의 메모리는 작은 크기의 메모리일 수 있다.
한편, 포워드 시큐어 전자 서명 시스템(200)는 하나의 물리적인 디바이스로 구성될 수도 있고 2 이상의 물리적인 디바이스로 구성될 수도 있다. 이 때, 하나의 물리적인 디바이스로 구성되는 경우 제1 프로세서(210) 및 제2 프로세서(220)를 모두 포함하고, 2 이상의 물리적인 디바이스로 구성되는 경우 하나의 디바이스는 제1 프로세서(210)만을 포함하고, 다른 하나의 디바이스는 제2 프로세서(220) 만을 포함할 수 있다.
이하, 도 2 및 도 3을 참조하여 각 구성 요소 별 기능 및 각 단계 별로 수행되는 과정을 상세하게 설명한다.
먼저, 단계(310)는 키 셋업 과정으로서, 포워드 시큐어 전자 서명 시스템(200)의 제1 프로세서(210)는 공개 검증키(public verification key) VK, 초기 암호화된 비밀키 EncSK0 및 복호화키 DecK를 생성한다. 이 때, 복호화키 DecK는 이중 인증을 위한 키(second factor key)이다. 이에 대해 보다 상세하게 설명하면 다음과 같다.
2 l 를 시간 구간의 개수, {0, 1}m를 메시지 스페이스라고 가정하면, 단계(310)과 같은 키의 랜덤 초기 설정 과정이 진행된다.
먼저, 제1 프로세서(210)는 2개의 랜덤 정수
Figure 112016084040085-pat00012
(
Figure 112016084040085-pat00013
는 랜덤값인 소수 p의 대한 잉여계) 및 랜덤 그룹 구성요소(element)
Figure 112016084040085-pat00014
를 선택한다.
그리고, 제1 프로세서(210)는 시간 구간
Figure 112016084040085-pat00015
를 고정하며, 각각의 j(=1,…, l+1)에 대해, 보안 파라미터 kj
Figure 112016084040085-pat00016
로 설정한다. 여기서, kj는 RSA(Rivest Shamir Adleman)의 비트 길이를 나타내는 보안 파라미터로서,
Figure 112016084040085-pat00017
의 관계를 가질 수 있다.
또한, 제1 프로세서(210)는 비밀키 구성 구성요소(private key component) Kj를 설정한다. 이 때, 각각의 kj에 대해,
Figure 112016084040085-pat00018
인 경우 Kj
Figure 112016084040085-pat00019
의 관계를 가지고, 그 외의 경우 Kj는 아래의 수학식 2과 같이 표현될 수 있다.
Figure 112016084040085-pat00020
여기서, rj
Figure 112016084040085-pat00021
에서 선택된 랜덤 정수(
Figure 112016084040085-pat00022
),
Figure 112016084040085-pat00023
는 문자열
Figure 112016084040085-pat00024
로부터의 i번째 비트를 각각 의미한다. 즉,
Figure 112016084040085-pat00025
Figure 112016084040085-pat00026
에 대해,
Figure 112016084040085-pat00027
를 의미한다.
이 때,
Figure 112016084040085-pat00028
인 경우,
Figure 112016084040085-pat00029
이므로 Kj
Figure 112016084040085-pat00030
의 관계를 가지고,
Figure 112016084040085-pat00031
인 경우 K l
Figure 112016084040085-pat00032
의 관계를 가지며,
Figure 112016084040085-pat00033
인 경우,
Figure 112016084040085-pat00034
의 관계를 통해 K l + 1
Figure 112016084040085-pat00035
의 관계를 가진다.
따라서, 제1 프로세서(210)는 시간 구간
Figure 112016084040085-pat00036
에 대한 암호화된 비밀키 및 복호화키 DecK는 아래의 수학식 3과 같이 생성할 수 있다.
Figure 112016084040085-pat00037
또한, 제1 프로세서(210)는
Figure 112016084040085-pat00038
Figure 112016084040085-pat00039
를 산출하며, 이에 따라 공개 검증키 VK는 아래의 수학식 4과 같이 생성할 수 있다.
Figure 112016084040085-pat00040
이 때, 제1 프로세서(210)에서 생성된 복호화키 DecK는 제2 프로세서(220)로 전송될 수 있으며, 제2 프로세서(220)는 수신된 복호화키 DecK를 저장한다.
다음으로, 단계(320)은 서명 생성 과정이고, 단계(330)는 키 업데이트 과정으로서, 각각의 시간 구간에서 반복적으로 수행될 수 있는 단계이다.
보다 상세하게, 단계(320)에서 포워드 시큐어 전자 서명 생성 장치(210)의 제1 프로세서(210) 및 제2 프로세서(220)는 현재의 시간 구간 ID의 암호화된 비밀키 EncSKID 및 복호화키 DecK를 이용하여 메시지 M에 대한 시간 구간 ID에서의 서명 SID(M)를 생성한다.
세부적으로, 제1 프로세서(210)는 암호화된 비밀키 EncSKID를 이용하여 메시지 M(
Figure 112016084040085-pat00041
)에 대한 암호화된 서명 EncSID(M)를 생성하고, 이를 제2 프로세서(220)로 전송한다. 그리고, 암호화된 서명 EncSID(M)를 수신한 제2 프로세서(220)는 미리 저장된 복호화키 DecK를 이용하여 암호화된 서명 EncSID(M)를 복호하여 서명 SID(M)를 생성한다. 이에 대해 보다 상세하게 설명하면 다음과 같다.
제1 프로세서(210)는 암호화된 비밀키
Figure 112016084040085-pat00042
를 분석하고, 분석 결과 추출된
Figure 112016084040085-pat00043
를 분석하여 구성요소 a0, a1 및 ID를 추출한다. 그리고, 암호화된 서명을 생성하기 위해, 제1 프로세서(210)는 2개의 랜덤 정수
Figure 112016084040085-pat00044
를 선택하고, 아래의 수학식 5과 같이 암호화된 서명을 생성한다.
Figure 112016084040085-pat00045
제1 프로세서(210)는 암호화된 서명 EncSID(M)를 제2 프로세서(220)로 전송하고, 제2 프로세서(220)는 복호화키 DecK를 이용하여 암호화된 서명 EncSID(M)를 복호하여 서명 SID(M)를 생성한다. 이는 수학식 6와 같이 표현될 수 있다.
Figure 112016084040085-pat00046
이 때, 수학식 5 및 수학식 6를 참조하면, 제2 프로세서(220)에서의 서명 SID(M)의 계산은 단순한 지수 계산으로서 연산량이 적은 단순한 계산이다.
그리고, 단계(320)과는 별도의 과정으로, 키 업데이트를 수행하는 단계(330)이 수행된다. 즉, 단계(330)에서 제1 프로세서(210)는 현재의 시간 구간 ID의 암호화된 비밀키 EncSKID에 기초하여 다음 시간 구간 ID'의 암호화된 비밀키 EncSKID'를 생성한다. 이에 대해 보다 상세하게 설명하면 다음과 같다.
제1 프로세서(210)는 EncSKID를 분석하여
Figure 112016084040085-pat00047
를 추출하여
Figure 112016084040085-pat00048
의 관계를 알아낸다. 이 때, j 및 j'는 범위 1, … , l+1의 각각의 인덱스를 나타내고, kj
Figure 112016084040085-pat00049
의 관계를 가지고, k'j'
Figure 112016084040085-pat00050
의 관계를 가진다. 그리고, 각각의
Figure 112016084040085-pat00051
가 아닌 문자열 k'j'는 프레픽스로서 문자열 kj 중 하나를 포함한다. 즉,
Figure 112016084040085-pat00052
에 대해,
Figure 112016084040085-pat00053
이거나
Figure 112016084040085-pat00054
일 수 있다. 즉, 일부 문자열
Figure 112016084040085-pat00055
에 대해
Figure 112016084040085-pat00056
일 수 있다.
그리고, 제1 프로세서(210)는 모든
Figure 112016084040085-pat00057
에 대해, 다음과 같이 j'번째 구성요소 k'j의 업데이트를 수행한다.
Figure 112016084040085-pat00058
인 경우
Figure 112016084040085-pat00059
로 설정하고,
Figure 112016084040085-pat00060
인 경우
Figure 112016084040085-pat00061
로 설정하며, 그 외에는 j < j'의 관계인 인덱스를 일부의 접미사 문자열(suffix string)에 대해
Figure 112016084040085-pat00062
로 설정한다. 그리고, 제1 프로세서(210)는 암호화된 비밀키 EncSKID의 j번째 구성요소 Kj를 분석하여
Figure 112016084040085-pat00063
를 알아내고, 랜덤 수
Figure 112016084040085-pat00064
를 선택하며, 아래의 수학식 7과 같이 K'j'를 설정할 수 있다.
Figure 112016084040085-pat00065
모든 K'j'의 산출이 종료되면, 시간 구간 ID'에 대한 새로운 암호화된 비밀키
Figure 112016084040085-pat00066
가 생성된다.
마지막으로, 단계(340)은 서명 검증 과정으로서, 제1 프로세서(210)는 서명 SID(M)를 검증한다.
보다 상세하게, 제2 프로세서(220)는 서명 SID(M)를 제1 프로세서(210)로 전달하고, 제1 프로세서(210)는 공개 검증키 VK 및 메시지 M를 이용하여 서명 SID(M)를 검증하여, 서명 SID(M)이 메시지 M의 유효한 서명인지를 여부를 판단한다. 이는 아래의 수학식 8과 같이 표현될 수 이다
Figure 112016084040085-pat00067
정리하면, 본 발명의 일 실시예에 따른 포워드 시큐어 전자 서명 생성 장치(210)는 안전하지 않지만 빠른 계산 능력을 가지는 제1 프로세서(210)와, 안전하지만 느린 계산 능력을 가지는 제2 프로세서(220)로 구성되어 있으며, 제1 프로세서(210)와 제2 프로세서(220)를 모두 이용하여 서명 SID(M)를 생성 및 검증하기 위한 일련의 동작을 수행할 수 있다. 다시 말해, 연산량이 많은 계산의 경우 빠른 연산 속도를 가지는 제1 프로세서(210)에서 수행되고, 서명 시 안전하게 수행되어야 할 계산은 안전한 제2 프로세서(220)에서 수행하게 한다. 이 때, 제2 프로세서(220)에서 수행되는 계산은 단순한 지수 계산이므로 안전하면서도 빠른 서명 생성이 가능하다.
한편, 본 발명의 일 실시예에 따른 포워드 시큐어 전자 서명 시스템(200) 및 방법은 신용카드 결제 과정에 적용될 수 있다. 즉, 신용카드의 인증에서 종래의 포워드 시큐어 전자 서명을 사용하는 경우, 신용카드에 포함된 칩(프로세서) 내에서 모든 서명과 관련된 동작을 수행하게 되면 매우 느린 단잠이 있다. 따라서, 본 발명을 적용하는 경우, 신용카드 회사 내에 위치하는 서버에는 제1 프로세서(210)가 존재하고, 신용카드의 칩 내부에 제2 프로세서(220)가 존재하며, 제2 프로세서(220) 내부에 복호화키를 탑제한다. 키 셋업 과정, 키 업데이트 과정 및 암호화된 서명 생성 과정은 서버 내의 제1 프로세서(210)에서 수행되고, 신용카드 내부의 칩과 대응되는 제2 프로세서(220)는 암호화된 서명에 대해서 복호화키를 사용하여 서명을 복호한다. 이 때 신용카드 내에서는 암호화된 서명이 맞는 주기와 암호화된 비밀키로 생성된 것인지 확인하여, 올바른 서명인 경우에만 복호화된 서명을 생성한다.
또한, 앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (6)

  1. 포워드 시큐어 전자 서명 시스템에 있어서,
    내부 메모리로 접근이 가능한 제1 프로세서; 및
    내부 메모리로 접근이 불가능한 제2 프로세서;를 포함하되,
    상기 제1 프로세서는 복호화키 DecK를 생성하여 상기 제2 프로세서로 전송하고, 상기 제2 프로세서는 상기 복호화키 DecK를 상기 제2 프로세서의 내부 메모리로 저장하고,
    상기 제1 프로세서는 상기 제1 프로세서에서 생성된 암호화된 비밀키 EncSKID를 이용하여 메시지 M에 대한 암호화된 서명 EncSID(M)를 생성하고, 상기 암호화된 서명 EncSID(M)를 상기 제2 프로세서로 전송하고,
    상기 제2 프로세서는 상기 저장된 복호화키 DecK를 이용하여 상기 암호화된 서명 EncSID(M)를 복호하여 서명 SID(M)를 생성하고, 상기 서명 SID(M)를 상기 제1 프로세서로 전송하며,
    상기 제1 프로세서는 상기 제1 프로세서에서 생성된 공개 검증키 VK 및 상기 메시지 M를 이용하여 상기 서명 SID(M)를 검증하는 것을 특징으로 하는 포워드 시큐어 전자 서명 시스템.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 제1 프로세서는 상기 암호화된 비밀키 EncSKID를 업데이트하여 암호화된 비밀키 EncSKID'를 생성하는 것을 특징으로 하는 포워드 시큐어 전자 서명 시스템.
  5. 내부 메모리로 접근이 가능한 제1 프로세서 및 내부 메모리로 접근이 불가능한 제2 프로세서를 포함하는 시스템에서 수행되는 포워드 시큐어 전자 서명 방법에 있어서,
    상기 제1 프로세서가 복호화키 DecK를 생성하여 상기 제2 프로세서로 전송하는 단계;
    상기 제2 프로세서가 복호화키 DecK를 상기 제2 프로세서의 메모리에 저장하는 단계;
    상기 제1 프로세서가 상기 제1 프로세서에서 생성된 암호화된 비밀키 EncSKID를 이용하여 메시지 M에 대한 암호화된 서명 EncSID(M)를 생성하는 단계;
    상기 제1 프로세서가 암호화된 서명 EncSID(M)를 상기 제2 프로세서로 전송하는 단계;
    상기 제2 프로세서가 상기 저장된 복호화키 DecK를 이용하여 상기 암호화된 서명 EncSID(M)를 복호하여 서명 SID(M)를 생성하는 단계;
    상기 제2 프로세서가 상기 서명 SID(M)를 상기 제1 프로세서로 전송하는 단계; 및
    상기 제1 프로세서가 상기 제1 프로세서에서 생성된 공개 검증키 VK 및 상기 메시지 M를 이용하여 상기 서명 SID(M)를 검증하는 단계;를 포함하는 것을 특징으로 하는 포워드 시큐어 전자 서명 방법.
  6. 제5항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
KR1020160110230A 2016-04-28 2016-08-29 최소 보안 연산을 가지는 포워드 시큐어 전자 서명 시스템 및 방법 KR101882578B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160052252 2016-04-28
KR20160052252 2016-04-28

Publications (2)

Publication Number Publication Date
KR20170123214A KR20170123214A (ko) 2017-11-07
KR101882578B1 true KR101882578B1 (ko) 2018-08-24

Family

ID=60384813

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160110230A KR101882578B1 (ko) 2016-04-28 2016-08-29 최소 보안 연산을 가지는 포워드 시큐어 전자 서명 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101882578B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117852095A (zh) * 2023-12-16 2024-04-09 北京北信源软件股份有限公司 文件签名方法、文件校验方法、装置、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003324426A (ja) 2002-05-08 2003-11-14 Nippon Telegr & Teleph Corp <Ntt> フォワードセキュア電子署名方法、その装置、プログラム及びその記録媒体
JP2007053449A (ja) 2005-08-15 2007-03-01 Ntt Docomo Inc 復号装置、暗号化装置、通信システム及び通信方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040006651A (ko) * 2002-07-13 2004-01-24 한국아이씨카드연구조합 스마트 카드기반의 구매장치에서의 보안시스템 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003324426A (ja) 2002-05-08 2003-11-14 Nippon Telegr & Teleph Corp <Ntt> フォワードセキュア電子署名方法、その装置、プログラム及びその記録媒体
JP2007053449A (ja) 2005-08-15 2007-03-01 Ntt Docomo Inc 復号装置、暗号化装置、通信システム及び通信方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Xavier Boyen 외 3명, Forward-Secure Signatures with Untrusted Update, In Proceeding of ACM CCS 2006 (2006.)

Also Published As

Publication number Publication date
KR20170123214A (ko) 2017-11-07

Similar Documents

Publication Publication Date Title
US9646161B2 (en) Relational database fingerprinting method and system
KR101169100B1 (ko) 비대칭 키 보안을 위한 시스템 및 방법
US8756416B2 (en) Checking revocation status of a biometric reference template
KR102445518B1 (ko) 장치 키 보호
CN113626484A (zh) 一种可灵活替换密文可搜索加密方法、系统及计算机设备
US11349660B2 (en) Secure self-identification of a device
KR20180030610A (ko) 디바이스 상에서의 비대칭 암호 방법에 대한 디바이스-특정 개인 키의 결정
US20230325516A1 (en) Method for file encryption, terminal, electronic device and computer-readable storage medium
US20100241865A1 (en) One-Time Password System Capable of Defending Against Phishing Attacks
CN114417073B (zh) 一种加密图的邻居节点查询方法及装置、电子设备
US10484182B2 (en) Encrypted text verification system, method, and recording medium
JP2017524306A (ja) 暗号化操作における悪意のある変更に対する保護
KR101217491B1 (ko) 공개키 기반의 키워드 검색 방법
CN110188545B (zh) 一种基于链式数据库的数据加密方法及装置
US7739500B2 (en) Method and system for consistent recognition of ongoing digital relationships
US8499357B1 (en) Signing a library file to verify a callback function
KR101882578B1 (ko) 최소 보안 연산을 가지는 포워드 시큐어 전자 서명 시스템 및 방법
KR102375973B1 (ko) 사례기반 추론엔진을 이용한 보안 서버 및 보안 기능의 설치를 위한 저장 매체
CN113672973B (zh) 基于可信执行环境的risc-v架构的嵌入式设备的数据库系统
US11783070B2 (en) Managing sensitive information using a trusted platform module
CN112906034B (zh) 一种密钥保存方法、装置、存储介质及电子设备
KR102010644B1 (ko) 가블드 회로 기반 k-NN 분류 처리 방법 및 가블드 회로 기반 k-NN 분류 처리 시스템
KR101677138B1 (ko) 오프라인 토큰의 안전성을 보장할 수 있는 온라인/오프라인 전자서명 방법
CN116992494B (zh) 一种用于景区数据流通的安全保护方法、设备和介质
Arvin S. Lat et al. SOUL System: secure online USB login system

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