KR101750208B1 - 빠른 서명 생성이 가능한 포워드 시큐어 전자 서명 방법 및 이를 사용하는 포워드 시큐어 전자 서명 생성 장치 - Google Patents

빠른 서명 생성이 가능한 포워드 시큐어 전자 서명 방법 및 이를 사용하는 포워드 시큐어 전자 서명 생성 장치 Download PDF

Info

Publication number
KR101750208B1
KR101750208B1 KR1020160109728A KR20160109728A KR101750208B1 KR 101750208 B1 KR101750208 B1 KR 101750208B1 KR 1020160109728 A KR1020160109728 A KR 1020160109728A KR 20160109728 A KR20160109728 A KR 20160109728A KR 101750208 B1 KR101750208 B1 KR 101750208B1
Authority
KR
South Korea
Prior art keywords
value
signature
coefficient
random
digital signature
Prior art date
Application number
KR1020160109728A
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 한양대학교 산학협력단
Application granted granted Critical
Publication of KR101750208B1 publication Critical patent/KR101750208B1/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/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/72Signcrypting, i.e. digital signing and encrypting simultaneously

Landscapes

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

Abstract

빠른 서명 생성이 가능한 포워드 시큐어 전자 서명 방법 및 이를 사용하는 포워드 시큐어 전자 서명 생성 장치가 개시된다. 개시된 포워드 시큐어 전자 서명 방법은 프로세서가 포함된 장치에서 수행되는 포워드 시큐어 전자 서명 방법으로서, 비밀키 SKj를 이용하여 메시지 M에 대한 시간 구간 j에서의 서명값 (j, (Z,
Figure 112016083573883-pat00063
))을 생성하는 서명 생성 단계;를 포함하되, 상기 서명 생성 단계는, 상기 비밀키 SKj를 분석하여, 계수값 N, 시간 구간의 개수 T, 랜덤값 g, 상기 g의 지수승 값인 계수값 X 및 비밀키값 Sj를 추출하는 단계; 랜덤값 e를 생성하고, 상기 랜덤값 g, 상기 랜덤값 e 및 상기 계수값 N를 이용하여 계수값 R를 산출하고, 상기 계수값 X, 상기 랜덤값 e 및 상기 계수값 N를 이용하여 계수값 Y를 산출하는 단계; 및 상기 계수값 Y 및 상기 메시지 M를 입력값으로 하는 해쉬 함수를 산출하여 상기 서명값 (j, (Z,
Figure 112016083573883-pat00064
)) 중 결과값
Figure 112016083573883-pat00065
를 산출하고, 상기 계수값 R, 비밀키값 Sj , 상기 결과값
Figure 112016083573883-pat00066
및 상기 계수값 N를 이용하여 상기 서명값 (j, (Z,
Figure 112016083573883-pat00067
)) 중 계수값 Z를 산출하여 상기 서명값 (j, (Z,
Figure 112016083573883-pat00068
))를 제공하는 단계:를 포함한다.

Description

빠른 서명 생성이 가능한 포워드 시큐어 전자 서명 방법 및 이를 사용하는 포워드 시큐어 전자 서명 생성 장치{Forward-secure digital signature method with optimal signing and Forward-secure digital signature generation apparatus using the same}
본 발명의 실시예들은 빠른 서명/키 변경과 상수 크기의 키를 가지는 포워드 시큐어 서명 전자 방법 및 이를 사용하는 포워드 시큐어 전자 서명 생성 장치에 관한 것이다.
일반적인 전자 서명 방식에서는 서명키가 노출되었을 때, 정당한 서명자가 과거에 생성한 서명과 공격자에 의해 위조된 서명을 구분할 수 없기 때문에 모든 서명을 무효화해야 한다. 포워드 시큐어 전자 서명 기법은 비밀키 노출 문제에 대한 해결책으로서, 현재의 비밀키가 노출되더라도 정당한 서명자가 과거에 생성한 서명의 타당성을 유지시켜 준다.
즉, 포워드 시큐어 서명 기법은 현재의 비밀키가 유출되더라도 과거 시점에 대한 서명을 생성할 수 없도록 해서 비밀키 유출에 따른 피해를 최소화하는 서명 방법이다. 특히, 포워드 시큐어 서명 기법은 로깅 시스템, 무인 센서, CCTV, 자동차 블랙박스, 전자 화폐 등 많은 분야에서 사용하는 기본적인 암호 방법이다.
보다 상세하게, 포워드 시큐어 서명 기법은 도 1에 도시된 바와 같이 일정 시간 구간마다 비밀키를 갱신한다. 이는 현재의 비밀키로부터 과거의 비밀키를 유도해 낼 수 없도록 함으로써 과거의 정당한 서명을 보호하고, 서명 검증키인 공개키를 변동시키지 않도록 하여 사용자의 편의를 제공한다.
그리고, 포워드 시큐어 서명 기법은 아래와 같은 키 셋업 과정(Setup), 서명 생성 과정(Sig), 키 업데이트 과정(Upd) 및 서명 검증 과정(Ver)으로 구성된다.
키 셋업 과정(Setup)은 보안 파라미터 l 및 시간 구간의 개수 T를 입력받고, 이를 이용하여 초기 비밀키SK0 및 공개키 PK를 출력한다.
서명 생성 과정(Sig) 및 키 업데이트 과정(Upd) 각각은 각각의 시간 구간에 대해 반복적으로 수행된다. 서명 생성 과정(Sig)은 시간 구간 j의 비밀키 SKj와 메시지 M를 이용하여 서명을 수행하여 서명값 <j, sign>을 출력한다.
키 업데이트 과정(Upd)은 시간 구간 j의 비밀키 SKj를 이용하여 시간 구간 j+1의 비밀키 SKj + 1를 출력하며, 시간 구간 j+1의 서명 생성 시 사용될 수 있다.
서명 검증 과정(Ver)은 서명을 확인하는 과정으로서, 공개키 PK, 메시지 M 및 서명값 <j, sign>를 입력받고, 서명값 <j, sign>가 메시지 M의 유효한 서명인지를 여부를 판단한다. 유효한 서명인 경우 1의 값을 출력하고 유효한 서명이 아닌 경우 0의 값을 출력한다.
이러한 포워드 시큐어 서명 기법의 장점에도 불구하고, 실제 시스템에서 구현할 때 일반적인 전자 서명 기법에 비해서 많은 연산과 큰 저장장치가 필요하다. 따라서, 가용 자원에 한계가 있는 센서나 시간 제약이 있는 내장형 시스템에서 포워드 시큐어 서명 기법을 사용하는 경우 계산량을 최소화할 필요가 있다.
한편, 관련 선행문헌으로서, 공개 논문인 "ABDALLA, M., AND REYZIN, L. A new forward-secure digital signature scheme"(이하, "AR 기법"이라고 함) 및 "BELLARE, M., AND MINER, S. K. A forward-secure digital signature"(이하, BM 기법"이라고 함)이 개시되어 있다. 그러나, 상기한 기법들은 서명 생성 시 시간 구간의 총 개수 T에 비례하는바, 서명 생성 시간이 오래 걸리는 문제점이 있다.
상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 빠른 서명/키 변경과 상수 크기의 키를 가지는 포워드 시큐어 전자 서명 방법 및 이를 사용하는 포워드 시큐어 전자 서명 생성 장치를 제안하고자 한다.
본 발명의 다른 목적들은 하기의 실시예를 통해 당업자에 의해 도출될 수 있을 것이다.
상기한 목적을 달성하기 위해 본 발명의 바람직한 일 실시예에 따르면, 프로세서가 포함된 장치에서 수행되는 포워드 시큐어 전자 서명 방법에 있어서, 비밀키 SKj를 이용하여 메시지 M에 대한 시간 구간 j에서의 서명값 (j, (Z,
Figure 112016083573883-pat00001
))을 생성하는 서명 생성 단계;를 포함하되, 상기 서명 생성 단계는, 상기 비밀키 SKj를 분석하여, 계수값 N, 시간 구간의 개수 T, 랜덤값 g, 상기 g의 지수승 값인 계수값 X 및 비밀키값 Sj를 추출하는 단계; 랜덤값 e를 생성하고, 상기 랜덤값 g, 상기 랜덤값 e 및 상기 계수값 N를 이용하여 계수값 R를 산출하고, 상기 계수값 X, 상기 랜덤값 e 및 상기 계수값 N를 이용하여 계수값 Y를 산출하는 단계; 및 상기 계수값 Y 및 상기 메시지 M를 입력값으로 하는 해쉬 함수를 산출하여 상기 서명값 (j, (Z,
Figure 112016083573883-pat00002
)) 중 결과값
Figure 112016083573883-pat00003
를 산출하고, 상기 계수값 R, 비밀키값 Sj , 상기 결과값
Figure 112016083573883-pat00004
및 상기 계수값 N를 이용하여 상기 서명값 (j, (Z,
Figure 112016083573883-pat00005
)) 중 계수값 Z를 산출하여 상기 서명값 (j, (Z,
Figure 112016083573883-pat00006
))를 제공하는 단계:를 포함하는 것을 특징으로 하는 포워드 시큐어 전자 서명 방법이 제공된다.
상기 포워드 시큐어 전자 서명 방법은, 상기 계수값 N, 상기 개수 T, 상기 랜덤값 g, 상기 계수값 X 및 비밀키값 S0를 포함하는 초기 비밀키 SK0를 생성하는 키 셋업 단계;를 더 포함하되, 상기 계수값 N는 서로 다른 두 소수인 랜덤값 p 및 랜덤값 q의 곱셈값이고, 상기 랜덤값 g는 상기 계수값 N에 대한 기약잉여계 ZN *의 최대 부분군(maximum subgroup) <g> 중 어느 한 값이고, 상기 계수값 X는 수학식
Figure 112016083573883-pat00007
(
Figure 112016083573883-pat00008
, l 보안 파라미터)로 표현될 수 있다.
상기 랜덤값 e는 상기 계수값 N의 절반값인 N/2에 대한 잉여계 ZN /2 중 어느 한 값이고, 상기 계수값 R은 수학식
Figure 112016083573883-pat00009
로 표현되며, 상기 계수값 Y은 수학식
Figure 112016083573883-pat00010
로 표현될 수 있다.
상기 서명값 (j, (Z,
Figure 112016083573883-pat00011
)) 중 상기 계수값 Z은 수학식
Figure 112016083573883-pat00012
와 같이 표현될 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 포워드 시큐어 전자 서명을 생성하는 장치에 있어서, 비밀키 SKj를 이용하여 메시지 M에 대한 시간 구간 j에서의 서명값 (j, (Z,
Figure 112016083573883-pat00013
))을 생성하는 서명 생성부;를 포함하되, 상기 서명 생성부는, 상기 비밀키 SKj를 분석하여 랜덤값 p과 랜덤값 q을 곱한 계수값 N, 시간 구간의 개수 T, 랜덤값 g, 상기 g의 지수승 값인 계수 X, 상기 시간 구간 j 및 비밀키값 Sj를 추출하고, 랜덤값 e, 상기 계수값 N 및 상기 랜덤값 g를 이용하여 계수값 R를 산출하고, 상기 랜덤값 e 및 상기 계수값 N 및 상기 계수값 X를 이용하여 계수값 Y를 산출하고, 상기 메시지 M 및 상기 계수값 Y를 입력값으로 한 해쉬 함수를 산출하여 상기 서명값 (j, (Z,
Figure 112016083573883-pat00014
)) 중 결과값
Figure 112016083573883-pat00015
를 산출하고, 상기 계수값 R, 비밀키값 Sj , 상기
Figure 112016083573883-pat00016
및 상기 계수값 N를 이용하여 상기 서명값 (j, (Z,
Figure 112016083573883-pat00017
)) 중 게수값 Z를 산출하는 것을 특징으로 하는 특징으로 하는 포워드 시큐어 전자 서명 생성 장치가 제공된다.
본 발명에 따른 포워드 시큐어 전자 서명 방법 및 이를 사용하는 포워드 시큐어 전자 서명 생성 장치는 빠른 서명/키 변경과 상수 크기의 키를 가지는 장점이 있다.
도 1은 종래의 포워드 시큐어 서명 기법의 개념을 설명하기 위한 도면이다.
도 2는 종래의 AR 기법에 따른 포워드 시큐어 전자 서명 기법을 알고리즘을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 포워드 시큐어 전자 서명 시스템의 개략적인 구성을 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 포워드 시큐어 전자 서명 방법의 전체적인 흐름도를 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 포워드 시큐어 전자 서명 시스템(300) 및 방법에서 사용하는 알고리즘의 상세한 내용을 도시한 도면이다.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
이하, 본 발명의 다양한 실시예들을 첨부된 도면을 참조하여 상술한다.
먼저, 종래의 포워드 시큐어 서명 전자 기법에 대해 간략하게 설명한다.
종래의 포워드 시큐어 전자 서명 기법은 상기에서 언급한 바와 같이 총 시간 구간을 T개의 시간 간격으로 나누고, 각각의 시간 간격 동안 서로 다른 비밀키를 사용한다(이 때, 공개키는 유지됨). 포워드 시큐어 전자 서명 기법을 최초로 제안한 Anderson 기법에 따르면, 비밀키의 크기는 시간 구간의 개수 T와 선형적으로 비례한다. 그리고, Bellare and Miner(BM) 기법 및 Abdalla-Reyzin(AR) 기법에 따르면, 공개키 및 비밀키 각각의 크기는 상수값을 가지지만 서명 생성 시간 및 서명 검증 시간은 시간 구간의 개수 T와 선형적으로 비례한다.
종래의 포워드 시큐어 전자 서명 기법의 중요한 문제점 중 하나로 일정하지 않은 서명 및 업데이트의 오버헤드의 문제가 있다. 예를 들어, 블랙박스 등과 같은 비디오 녹화 장치에서 캡쳐된 비디오 프레임은 주기적으로 압축(일례로 33ms 마다 압축)되는데, 사고가 발생된 경우 저장된 비디오 프레임 및 서명은 정밀 분석(forensic analysis)을 위해 사용된다. 이 때, 서명 생성 시간 및 키 업데이트 시간은 충분이 짧아야 하며, 시간 구간의 개수 T와 무관하게 키 및 서명의 크기를 변동시키지 않아야 한다. 그러나, 가끔 발생하는 서명 검증은 정밀하게 수행되어야 한다.
도 2는 종래의 AR 기법에 따른 포워드 시큐어 전자 서명 기법을 알고리즘을 도시한 도면이다. 이 때, BM 기법은 AR 기법과 유사할 수 있다.
한편, 시간 구간의 개수 T가 증가할수록 서명 생성 과정의 시간이 증가하는데, 빈번한 셋업 과정을 피하기 위해 일반적으로 큰 수로 설정된다. 예를 들어, 서명 생성 과정 및 키 업데이트 과장이 매초마다 수행되는 것으로 가정할 때, 일년에 한번 포워드 시큐어를 제공하는 경우, 시간 구간의 개수 T는 적어도 31,536,000 (= 60×60×24×365)로 설정된다.
이하, 도 3 내지 도 5를 참조하여 본 발명의 일 실시예에 따른 빠른 서명 생성이 가능한 포워드 시큐어 전자 서명 방법 및 이를 사용하는 포워드 시큐어 전자 서명 시스템을 설명하기로 한다. 이 때, 본 발명의 일 실시예에 따른 시큐어 전자 서명 방법 및 시스템은 상기에서 언급한 AR 기법을 확장한 기법을 사용하여 전자 서명을 생성 및 검증할 수 있다.
도 3은 본 발명의 일 실시예에 따른 포워드 시큐어 전자 서명 시스템의 개략적인 구성을 도시한 도면이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 포워드 시큐어 전자 서명 시스템(300)는 포워드 시큐어 전자 서명 생성 장치(310) 및 포워드 시큐어 전자 서명 검증 장치(320)을 포함할 수 있다. 이 때, 포워드 시큐어 전자 서명 생성 장치(310) 및 포워드 시큐어 전자 서명 검증 장치(312)은 하나의 물리적인 시스템에 포함될 수 있고, 서로 다른 물리적인 시스템에 포함될 수도 있다.
도 3을 참조하면, 포워드 시큐어 전자 서명 생성 장치(310)는 프로세서를 포함한 장치일 수 있으며, 키 셋업부(311), 서명 생성부(312) 및 키 업데이트부(313)를 포함한다. 그리고, 포워드 시큐어 전자 서명 검증 장치(320)는 프로세서를 포함한 장치일 수 있으며, 서명 검증부(321)를 포함한다.
도 4는 본 발명의 일 실시예에 따른 포워드 시큐어 전자 서명 방법의 전체적인 흐름도를 도시한 도면이다. 이 때, 아래에서 설명하는 포워드 시큐어 전자 서명 방법 중 단계(410) 내지 단계(430)는 포워드 시큐어 전자 서명 생성 장치(310)에서 수행될 수 있고, 단계(440)는 포워드 시큐어 전자 서명 검증 장치(312)에서 수행될 수 있다.
그리고, 도 5는 본 발명의 일 실시예에 따른 포워드 시큐어 전자 서명 시스템(300) 및 방법에서 사용하는 알고리즘의 상세한 내용을 도시한 도면이다.
이하, 도 3 내지 도 5를 참고하여 각 구성 요소 별 기능 및 각 단계 별로 수행되는 과정을 설명하기로 한다.
먼저, 단계(410)에서, 포워드 시큐어 전자 서명 생성 장치(310)의 키 셋업부(311)는 초기 비밀키 SK0 및 공개키 PK를 생성한다. 이 때, 초기 비밀키 SK0는 계수값 N, 시간 구간의 개수 T, 랜덤값 g, 계수값 X, 시간 구간의 인덱스 '0' 및 비밀키값 S0를 포함할 수 있고, 계수값 N, 공개키값 U 및 시간 구간의 개수 T를 포함할 수 있다. 그리고, 공개키 PK는 포워드 시큐어 전자 서명 검증 장치(320)로 전송된다. 이하, 각 구성값들에 대해 설명하면 다음과 같다.
계수값 N는 서로 다른 두 소수인 랜덤값 p 및 랜덤값 q의 곱셈값일 수 있다. 즉, 키 셋업부(311)는 소수인 랜덤값 p' 및 랜덤값 q'를 선택하고, 이를 통해 랜덤값 p 및 랜덤값 q를 산출한 후 계수값 N를 산출할 수 있다. 여기서, 랜덤값 p은 수학식
Figure 112016083573883-pat00018
의 관계를 가지고, 랜덤값 q은 수학식
Figure 112016083573883-pat00019
의 관계를 가진다.
랜덤값 g는 계수값 N에 대한 기약잉여계 ZN *의 최대 부분군(maximum subgroup) <g> 중 어느 한 값일 수 있다.
계수값 X는 랜덤값 g, 보안 파라미터 l, 시간 구간의 개수 T, 랜덤값 p 및 랜덤값 q에 의해 산출될 수 있으며, 이는 수학식
Figure 112016083573883-pat00020
(
Figure 112016083573883-pat00021
)로 표현될 수 있다. 이 때,
Figure 112016083573883-pat00022
의 관계를 가지므로, 계수값 X의 산출은 O(k3) 시간 복잡도를 가진다. 이 때, l는 해쉬 출력의 비트 길이를 나타내는 보안 파라미터이고, k는 RSA(Rivest Shamir Adleman)의 비트 길이를 나타내는 보안 파라미터이다.
랜덤값 s은 계수값 N의 절반값인 N/2에 대한 잉여계 ZN /2 중 어느 한 값일 수 있다. 그리고, 초기 비밀키값 S0는 랜덤값 s를 통해 산출될 수 있다. 초기 비밀키값 S0는 수학식
Figure 112016083573883-pat00023
로 표현될 수 있다.
공개키값 U는 계수값 X와 랜덤값 s를 통해 산출될 수 있으며, 이는 수학식
Figure 112016083573883-pat00024
로 표현될 수 있다.
한편, 초기 비밀키 SK0 및 공개키 PK가 산출된 후, 랜덤값 p, 랜덤값 q 및 랜덤값 s는 폐기된다.
다음으로, 단계(420) 및 단계(430)는 각각의 시간 구간 j에서 반복적으로 수행될 수 있는 단계이다. 즉, 단계(420)에서 포워드 시큐어 전자 서명 생성 장치(310)의 서명 생성부(312)는 비밀키 SKj를 이용하여 메시지 M에 대한 시간 구간 j에서의 서명값 (j, (Z,
Figure 112016083573883-pat00025
))을 생성한다. 그리고, 단계(430)에서 포워드 시큐어 전자 서명 생성 장치(310)의 키 업데이트부(313)는 시간 구간 j에서의 비밀키 SKj를 이용하여 시간 구간 j+1에서의 비밀키 SKj + 1를 생성함으로써 비밀키를 업데이트한다.
단계(430)는 상기에서 언급한 AR 기법의 키 업데이트 과정과 유사하므로, 단계(420)에서 수행되는 과정에 대해서만 보다 상세하게 설명하기로 한다.
먼저, 서명 생성부(312)는 비밀키 SKj를 분석하여, 계수값 N, 시간 구간의 개수 T, 랜덤값 g, g의 지수승 값인 계수값 X, 시간 구간의 인덱스 'j' 및 비밀키값 Sj를 추출한다.
그리고, 서명 생성부(312)는 잉여계 ZN / 2 로부터 랜덤값 e를 선택하고, 선택된 랜덤값 e과 랜덤값 g, 계수값 N를 이용하여 계수값 R를 산출한다. 이 때, 계수값 R은 수학식
Figure 112016083573883-pat00026
로 표현될 수 있다.
또한, 서명 생성부(312)는 계수값 X, 랜덤값 e 및 계수값 N를 이용하여 계수값 Y를 산출한다. 이 때, 계수값 Y은 수학식
Figure 112016083573883-pat00027
로 표현될 수 있다.
그 후, 서명 생성부(312)는 시간 구간의 인덱스 'j', 계수값 Y 및 메시지 M를 입력값으로 하는 해쉬 함수를 산출하여 서명값 (j, (Z,
Figure 112016083573883-pat00028
)) 중 결과값
Figure 112016083573883-pat00029
를 산출하고, 계수값 R, 비밀키값 Sj , 결과값
Figure 112016083573883-pat00030
및 계수값 N를 이용하여 서명값 (j, (Z,
Figure 112016083573883-pat00031
)) 중 계수값 Z를 산출한다. 여기서, 계수값 Z은 수학식
Figure 112016083573883-pat00032
와 같이 표현될 수 있다.
정리하면, 종래의 AR 기법에서의 서명 생성 과정에서는 기약잉여계 ZN *로부터 랜덤값 R를 미리 선택하고, 해쉬 함수의 입력값으로 사용되는 계수값 Y를 수학식
Figure 112016083573883-pat00033
로 산출하는데, 이는 서명 생성 과정에서 큰 오버헤드를 발생시키는 단점이 있다. 즉, 종래의 AR 기법의 경우, 랜덤값 R의
Figure 112016083573883-pat00034
의 지수승을 산출하여 계수값 Y를 생성하는데, 이는 시간 구간의 개수 T와 비례하는 복잡도를 가진다.
그러나, 본 발명에 따르면, 계수값 X를 키 셋업부(311)에서 미리 생성하고(
Figure 112016083573883-pat00035
), 계수값 X를 이용하여 서명 생성부(312)에서 계수값 Y를 산출하므로, 계수값 Y의 산출 시 시간 구간의 개수 T와 비례하는 지수 계산을 제거하여 빠르게 서명을 생성할 수 있다.
그리고, 계수값 Y에 있어서도 본 발명과 종래의 AR 기법은 상이하다. 즉, 종래의 AR 기법에서 계수값 Y는 수학식
Figure 112016083573883-pat00036
로 표현되며, 본 발명의 계수값 Y는 수학식
Figure 112016083573883-pat00037
로 표현되는데, 본 발명의 계수값 Y에 'j'가 포함되지 않으므로 계수값 X를 재사용할 수 있는 장점이 있다.
계속하여, 단계(440)에서, 포워드 시큐어 전자 서명 검증 장치(320)의 서명 검증부(321)는 공개키 PK 및 메시지 M를 이용하여 서명값 (j, (Z,
Figure 112016083573883-pat00038
))이 메시지 M의 유효한 서명인지를 여부를 판단한다.
보다 상세하게, 서명 검증부(321)는 포워드 시큐어 전자 서명 생성 장치(310)에서 공개키 PK를 미리 수신하고, 수신된 공개키 PK를 분석하여 계수값 N, 공개키값 U 및 시간 구간의 개수 T를 추출한다. 그리고, 서명 검증부(321)는 포워드 시큐어 전자 서명 생성 장치(310)에서 서명값 (j, (Z,
Figure 112016083573883-pat00039
))를 수신하고, 이를 분석하여 시간구간 인덱스 'j', 결과값
Figure 112016083573883-pat00040
및 계수값 Z를 추출한다.
그리고, 서명 검증부(321)는 계수값 Z, 결과값
Figure 112016083573883-pat00041
, 계수값 N를 이용하여 계수값 Y'를 산출한다. 즉, 서명 검증부(321)는 수학식
Figure 112016083573883-pat00042
로 표현되는 계수값 Y'를 산출할 수 있다. 또한, 서명 검증부(321)는 시간 구간의 인덱스 'j', 계수값 Y' 및 메시지 M를 입력값으로 하는 해쉬 함수를 산출한다. 만약, 해쉬 함수의 값이 결과값
Figure 112016083573883-pat00043
과 동일한 경우 정당한 서명인 것으로 판단한다.
정리하면, 종래의 AR 기법에서는 서명 검증 과정에서 수학식
Figure 112016083573883-pat00044
로 표현되는 계수값 Y'를 산출하지만, 본 발명은 서명 검증 과정에서 수학식
Figure 112016083573883-pat00045
로 표현되는 계수값 Y'를 산출할 수 있다. 이에 따라, 본 발명은 서명 검증 과정에서의 산출 시간은 종래의 AR 기법에서는 서명 검증 과정보다 느리게 된다. 따라서, 본 발명은 서명 생성 과정이 자주 수행되고 서명 검증이 자주 수행되지 않는 케이스(일례로, 블랙 박스와 같은 비디오 녹화 장치)에 효율적으로 적용될 수 있다.
한편, 본 발명의 다른 실시예에 따른 시큐어 전자 서명 방법 및 시스템은 상기에서 언급한 BM 기법을 확장한 기법을 사용하여 전자 서명을 생성 및 검증할 수 있다. 이 경우에서도 계수값 X를 키 셋업부(311)에서 미리 생성하고, 계수값 X를 이용하여 서명 생성부(312)에서 계수값 Y를 산출하므로, 계수값 Y의 산출 시 시간 구간의 개수 T와 비례하는 지수 계산을 제거하여 빠르게 서명을 생성할 수 있다. 이 때, BM 기법을 확장한 기법은 AR 기법을 확정한 기법과 비교할 띠 비밀키 및 공개키를 생성하는데 소요되는 시간이 l 시간 정도 더 걸리므로, 정확한 서명 생성 및 검증을 위해서는 BM 기법을 확장한 기법을 사용할 수 있다.
요컨대, 본 발명의 일 실시예에 따른 시큐어 전자 서명 방법 및 시스템은 비밀키 및 공개키 각각을 위한 동일 크기의 일정한 메모리를 사용하며, 동일 크기의 일정한 서명을 생성한다. 따라서, 서명 계산 시간 복잡도는 O(k3)일 수 있는데, 이는 O(k2T)의 서명 계산 시간 복잡도를 가지는 BM 기법 및 O(k2 lT)의 서명 계산 시간 복잡도를 가지는 AR 기법 보다 더 우수하다. 또한, 본 발명의 일 실시예에 따른 전방향 보안 서명 시스템(300) 및 방법은 T와 무관하게 서명 계산 시간이 일정하므로 빠르게 서명을 생성할 수 있으며, 셋업 비용을 선형 시간에서 T에 관련된 로그 시간으로 개선시킬 수 있다. 한편, 본 발명의 일 실시예에 따른 전방향 보안 서명 시스템(300) 및 방법의 서명 검증 시간은 T에 따라 선형적으로 증가하고, 키 업데이트은 l번의 곱셈 과정을 수행하는데, 이는 BM 기법과 AR 기법과 유사하다.
또한 앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (6)

  1. 프로세서가 포함된 장치에서 수행되는 포워드 시큐어 전자 서명 방법에 있어서,
    비밀키 SKj를 이용하여 메시지 M에 대한 시간 구간 j에서의 서명값 (j, (Z,
    Figure 112016083573883-pat00046
    ))을 생성하는 서명 생성 단계;를 포함하되, 상기 서명 생성 단계는,
    상기 비밀키 SKj를 분석하여, 계수값 N, 시간 구간의 개수 T, 랜덤값 g, 상기 g의 지수승 값인 계수값 X 및 비밀키값 Sj를 추출하는 단계;
    랜덤값 e를 생성하고, 상기 랜덤값 g, 상기 랜덤값 e 및 상기 계수값 N를 이용하여 계수값 R를 산출하고, 상기 계수값 X, 상기 랜덤값 e 및 상기 계수값 N를 이용하여 계수값 Y를 산출하는 단계; 및
    상기 계수값 Y 및 상기 메시지 M를 입력값으로 하는 해쉬 함수를 산출하여 상기 서명값 (j, (Z,
    Figure 112016083573883-pat00047
    )) 중 결과값
    Figure 112016083573883-pat00048
    를 산출하고, 상기 계수값 R, 비밀키값 Sj , 상기 결과값
    Figure 112016083573883-pat00049
    및 상기 계수값 N를 이용하여 상기 서명값 (j, (Z,
    Figure 112016083573883-pat00050
    )) 중 계수값 Z를 산출하여 상기 서명값 (j, (Z,
    Figure 112016083573883-pat00051
    ))를 제공하는 단계:를 포함하는 것을 특징으로 하는 포워드 시큐어 전자 서명 방법.
  2. 제1항에 있어서,
    상기 포워드 시큐어 전자 서명 방법은,
    상기 계수값 N, 상기 개수 T, 상기 랜덤값 g, 상기 계수값 X 및 비밀키값 S0를 포함하는 초기 비밀키 SK0를 생성하는 키 셋업 단계;를 더 포함하되,
    상기 계수값 N는 서로 다른 두 소수인 랜덤값 p 및 랜덤값 q의 곱셈값이고, 상기 랜덤값 g는 상기 계수값 N에 대한 기약잉여계 ZN *의 최대 부분군(maximum subgroup) <g> 중 어느 한 값이고, 상기 계수값 X는 수학식
    Figure 112016083573883-pat00052
    (
    Figure 112016083573883-pat00053
    , l 보안 파라미터)로 표현되는 것을 특징으로 하는 포워드 시큐어 전자 서명 방법.
  3. 제2항에 있어서,
    상기 랜덤값 e는 상기 계수값 N의 절반값인 N/2에 대한 잉여계 ZN /2 중 어느 한 값이고, 상기 계수값 R은 수학식
    Figure 112016083573883-pat00054
    로 표현되며, 상기 계수값 Y은 수학식
    Figure 112016083573883-pat00055
    로 표현되는 것을 특징으로 하는 포워드 시큐어 전자 서명 방법.
  4. 제2항에 있어서,
    상기 서명값 (j, (Z,
    Figure 112016083573883-pat00056
    )) 중 상기 계수값 Z은 수학식
    Figure 112016083573883-pat00057
    와 같이 표현되는 것을 특징으로 하는 포워드 시큐어 전자 서명 방법.
  5. 제1항 내지 제4항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  6. 포워드 시큐어 전자 서명을 생성하는 장치에 있어서,
    비밀키 SKj를 이용하여 메시지 M에 대한 시간 구간 j에서의 서명값 (j, (Z,
    Figure 112016083573883-pat00058
    ))을 생성하는 서명 생성부;를 포함하되, 상기 서명 생성부는,
    상기 비밀키 SKj를 분석하여 랜덤값 p과 랜덤값 q을 곱한 계수값 N, 시간 구간의 개수 T, 랜덤값 g, 상기 g의 지수승 값인 계수값 X, 상기 시간 구간 j 및 비밀키값 Sj를 추출하고, 랜덤값 e, 상기 계수값 N 및 상기 랜덤값 g를 이용하여 계수값 R를 산출하고, 상기 랜덤값 e 및 상기 계수값 N 및 상기 계수값 X를 이용하여 계수값 Y를 산출하고, 상기 메시지 M 및 상기 계수값 Y를 입력값으로 한 해쉬 함수를 산출하여 상기 서명값 (j, (Z,
    Figure 112016083573883-pat00059
    )) 중 결과값
    Figure 112016083573883-pat00060
    를 산출하고, 상기 계수값 R, 비밀키값 Sj , 상기 및 상기 계수값 N를 이용하여 상기 서명값 (j, (Z,
    Figure 112016083573883-pat00062
    )) 중 게수값 Z를 산출하는 것을 특징으로 하는 특징으로 하는 포워드 시큐어 전자 서명 생성 장치.
KR1020160109728A 2016-04-28 2016-08-29 빠른 서명 생성이 가능한 포워드 시큐어 전자 서명 방법 및 이를 사용하는 포워드 시큐어 전자 서명 생성 장치 KR101750208B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160052260 2016-04-28
KR1020160052260 2016-04-28

Publications (1)

Publication Number Publication Date
KR101750208B1 true KR101750208B1 (ko) 2017-07-03

Family

ID=59358036

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160109728A KR101750208B1 (ko) 2016-04-28 2016-08-29 빠른 서명 생성이 가능한 포워드 시큐어 전자 서명 방법 및 이를 사용하는 포워드 시큐어 전자 서명 생성 장치

Country Status (1)

Country Link
KR (1) KR101750208B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200136676A (ko) * 2019-05-28 2020-12-08 한양대학교 산학협력단 순차 결합을 지원하는 전방향 안전 서명 방법 및 그 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060233364A1 (en) 2002-07-29 2006-10-19 Jan Camenisch Fine-grained forward-secure signature scheme

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060233364A1 (en) 2002-07-29 2006-10-19 Jan Camenisch Fine-grained forward-secure signature scheme

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200136676A (ko) * 2019-05-28 2020-12-08 한양대학교 산학협력단 순차 결합을 지원하는 전방향 안전 서명 방법 및 그 장치
KR102307483B1 (ko) * 2019-05-28 2021-09-29 한양대학교 산학협력단 순차 결합을 지원하는 전방향 안전 서명 방법 및 그 장치

Similar Documents

Publication Publication Date Title
KR101992270B1 (ko) 디지털 서명 생성 방법 및 장치
US10326753B2 (en) Authentication via revocable signatures
KR20170098729A (ko) 부채널 분석에 대한 회로의 저항력을 테스트하는 방법
CN109818730B (zh) 盲签名的获取方法、装置和服务器
KR20090006176A (ko) 평문 판정 방법
RU2017107351A (ru) Nado криптография с генераторами ключей
EP3040901A1 (en) System and method for aligning time-series data over a large range of time indices
KR100745436B1 (ko) 비밀 암호화 키와 공개 암호화 키의 제공 방법, 서명값 제공 방법, 서명값 검증 방법, 서명값 타당성 통신 방법, 컴퓨터 판독 가능 기록 매체 및 네트워크 디바이스
KR20220153505A (ko) 하나 이상의 화상 집합을 포함하는 비디오 세그먼트를 서명하는 장치 및 그 방법
CN104753678B (zh) 利用预计算减小生成ecdsa签名的延迟的方法
KR20060013124A (ko) 모듈라 지수승 알고리즘, 기록매체 및 시스템
KR101750208B1 (ko) 빠른 서명 생성이 가능한 포워드 시큐어 전자 서명 방법 및 이를 사용하는 포워드 시큐어 전자 서명 생성 장치
CN106357378B (zh) 用于sm2签名的密钥检测方法及其系统
CN114465728B (zh) 攻击椭圆曲线签名算法的方法、装置、设备及存储介质
KR20160114252A (ko) 부채널 분석 연산 방법
US20100208887A1 (en) Method and device for countering faul attacks
Aminudin et al. A practical analysis of the fermat factorization and pollard rho method for factoring integers
US20120039462A1 (en) Rsa signature method and apparatus
KR101989950B1 (ko) 부채널 공격에 안전한 연산 장치 및 방법
KR20200136676A (ko) 순차 결합을 지원하는 전방향 안전 서명 방법 및 그 장치
EP3461053A1 (en) Fault attacks counter-measures for eddsa
KR100954844B1 (ko) 오류 주입 공격에 안전한 crt-rsa 모듈러 지수승 알고리즘을 이용한 디지털 서명 방법, 그 장치 및 이를 기록한 기록매체
WO2011106059A1 (en) Method and apparatus for providing authenticity and integrity to stored data
KR101112570B1 (ko) 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치, 방법 및 그 기록 매체
KR102275868B1 (ko) 비디오 데이터의 위/변조 방지 장치 및 방법

Legal Events

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