KR19990087103A - 암호키 공유방법 - Google Patents

암호키 공유방법 Download PDF

Info

Publication number
KR19990087103A
KR19990087103A KR1019980706491A KR19980706491A KR19990087103A KR 19990087103 A KR19990087103 A KR 19990087103A KR 1019980706491 A KR1019980706491 A KR 1019980706491A KR 19980706491 A KR19980706491 A KR 19980706491A KR 19990087103 A KR19990087103 A KR 19990087103A
Authority
KR
South Korea
Prior art keywords
entity
identifier
center
algorithm
data
Prior art date
Application number
KR1019980706491A
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 KR19990087103A publication Critical patent/KR19990087103A/ko

Links

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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes

Abstract

통신에 있어서 공통 암호키생성과 네트워크상의 암호통신 시스템 간소화를 도모하면서 여러가지 공격에 대한 안전성을 높일 수 있는 암호키 공유방법을 제공한다. 센터에서, 각 엔티티 식별자에 가중함수가 있는 푸리에(Fourier)변환 및 센터행렬을 작용시키고(수순 2-1, 2-2), 또한 상기 엔티티의 인위적 조작으로 생성한 일회성 난수데이터에 의거한 임의 변환을 실시함으로써 각 엔티티에 고유의 개인키를 생성함(수순 2-3∼5)과 동시에 상기 난수데이터 및 가중함수가 있는 푸리에 변환에 의거하여 식별자 변환 알고리즘을 생성하고(수순 2-6), 이 알고리즘 및 개인키를 엔티티에 배부한다. 각 엔티티는 통신상대측 식별자에 식별자 변환 알고리즘 및 개인키를 작용시키는 것으로 통신 상대측과의 암호통신을 위한 공통키를 생성한다.

Description

암호키 공유방법
최근, 인터넷 등의 네트워크에서 통신을 할 때 통신데이터의 기밀유지 등을 위하여 암호문에 의한 통신기술이 요망되고 있다.
이 종류의 통신기술은 가령 공개키방식인 RSA가 유명하나 이외에 네트워크에 포함되는 엔티티간 통신을 할 때에 송신측 엔티티가 통신데이터(평문)를 암호키에 의해 암호화하여 수신측 엔티티에 송신하고, 이것을 수신측 엔티티가 송신측 상기 암호키와 공통 암호키에 의해 상기 통신데이터를 해독하는 암호키 공유방법이 일반적으로 알려져 있다. 또, 여기서 엔티티란, 네트워크에 접속된 단말기 등의 장치, 상기 장치의 사용자, 상기 장치의 소프트웨어 혹은 이것들의 집합 등, 통신하는 주체를 의미한다.
그리고, 이같은 암호키 공유방법에 있어서는 가령 롤프 블롬에 의한 논문 An Optimal Class of Symmetric Key Generation Systems/Advances in Cryptology: EUROCRYPT' 84/Springer LNCS 209, 1985, pp. 335-338, 혹은 특공평 5-48980호 공보 또는 미국특허 제 5016276호에서 볼 수 있는 기술이 알려져 있다.
이 기술에서, 네트워크에 설립된 센터에 있어서, 각 엔티티에 고유하고 또한 공개성 있는 식별자(성명, 주소등)에 센터만이 비밀로 유지하는 센터알고리즘을 미리 실시한 것이 각 엔티티 고유의 개인키로서 각 엔티티에 배부된다. 그리고, 엔티티간 통신을 할 때 각 엔티티는 서로 통신상대측 엔티티 식별자를 자신이 유지하는 개인키에 작용시킴으로써 엔티티간 공통 암호키를 생성하고, 상기 공통암호키를 사용하여 통신데이터를 암호화·해독화한다.
더 상세하게, 센터알고리즘은 이것을 가령 임의의 두 식별자를 나타내는 변수(x,y)의 함수 P(x,y)로 표현했을 때, P(x,y)=P(y,x)가 되는 대칭성을 갖도록 설정된다. 그리고, 이 함수P(x,y)의 변수(x,y)중, 가령 변수(y)의 값을 각 엔티티의 실제 식별자(i)로한 함수 P(x,i)(이하, 이것을 Pi(x)로 표시)가 각 엔티티의 개인키로서 각 엔티티에 배부된다. 그후, 식별자(i)의 엔티티가 다른 식별자(j)의 엔티티와 통신할 경우 식별자(i)의 엔티티측에서는 자신의 개인키 Pi(x)에 상대측 식별자(j)를 작용(변수(x)의 값을 j로 한다)시켜서 되는 Pi(j)가 암호키로서 생성된다. 동일하게, 식별자(j)의 엔티티측에서는 자신의 개인키 Pj(x)에 상대측 식별자(i)를 작용시켜서 되는 Pj(i)가 암호키로서 생성된다. 이때, 상기 대칭성에 의해 Pi(j)=Pj(i)가 되고, 이에 따라 식별자(i,j)의 엔티티간 공통 암호키가 얻어지게 된다.
이같은 암호키 공유방법에 따르면 각 엔티티는 통신상대측 식별자를 자신의 개인키에 작용시키는 것만으로 센터가 관여하지 않으며 다른 임의의 엔티티 간의 공통 암호키를 얻을 수 있으므로 네트워크의 암호통신 시스템의 간소화를 도모할 수 있다.
그런데, 이같은 암호키 공유방법에서, 상기 센터알고리즘을 쉽게 해독할 수 없다는 것이 암호통신의 기밀성 확보면에서 중요과제가 된다.
그런데, 이같은 암호키 공유방법은, 상기와 같은 이점을 갖는 반면 각 엔티티의 개인키 또는 앞으로 생성되는 암호키, 또는 상기 암호키에 의해 암호화된 통신데이터에는 모두 상기 센터알고리즘에 관한 정보가 포함되고, 게다가 상기 센터알고리즘은 각 엔티티에 대하여 공통이기 때문에 가령 마츠모토의 논문「Performance of Linear Schemes for the Keypredistribution System/IEICE Technical Report on Information Security, May 20. 1988, pp.29-32」표시된 바와 같이, 일반적으로 복수 엔티티의 결탁 등에 의한 공격에 약하기 쉽다.
또, 식별자로서 엔티티의 성명을 사용할 경우, 유사한 성명이 많이 나타나기 쉽기 때문에 식별자 분산성이 나쁘고(식별자 값의 분포 치우침을 일으키기 쉽다)게다가 이 식별자에 상기 센터알고리즘을 실시하여 이루어지는 각 엔티티의 개인키에도 유사한 것이 다수 나타나기 쉽다. 이때문에 소위 차분(差分)공격을 받기 쉽다.
따라서, 상기와 같은 암호키 공유방법은 각종 공격에 대한 안전성을 높이는 것이 요망된다.
본 발명은 이같은 배경을 감안하여 통신에 있어서 공통 암호키 생성과 네트워크의 암호통신시스템 간소화를 도모하면서 각종 공격에 대한 안전성을 높일 수 있는 암호키 공유방법을 제공함을 목적으로 한다.
본 발명은 네트워크의 엔티티간 암호에 의한 통신을 하기 위한 암호키를 공유하는 방법에 관한 것이다.
도 1은 본 발명의 암호키 공유방법의 일실시형태를 적용한 암호통신시스템 전체구성도,
도 2는 도 1의 시스템 기본구조의 개념적 설명도,
도 3은 도 1 시스템의 개략적인 처리수순 설명을 위한 흐름도,
도 4는 도 3 수순 1의 상세한 처리상세를 표시하는 흐름도,
도 5는 도 3 수순의 상세한 처리를 표시하는 흐름도,
도 6은 도 3의 수순 3 및 수순 4에 있어서의 상세한 처리표시 흐름도,
도 7은 도 3의 수순 3 및 수순 5에 있어서의 상세한 처리표시 흐름도,
도 8은 도 6 및 도 7의 처리를 행하기 위한 컴퓨터 기계의 구성을 표시하는 블록도.
본 발명의 암호키 공유방법의 제 1태양은 이같은 목적을 달성하기 위하여 복수의 엔티티와 센터를 포함한 네트워크에 있어서, 통신하는 엔티티간 통신데이터의 암호·해독화를 하기 위한 공통 암호키를 양 엔티티가 소유하는 방법으로서, 상기 센터는, 각 엔티티에 고유하고 또 공개성 있는 식별자를, 상기 센터만이 유지하는 각 엔티티에 공통이고 또 적어도 적분변환 알고리즘을 포함한 센터알고리즘에 의해 변환하여 각 엔티티 고유의 개인키를 생성함과 동시에 상기 개인키와 상기 적분변환 알고리즘을 각 엔티티에 미리 배부하고, 상기 엔티티간 상호통신할 때, 서로 통신상대측 식별자에 자신이 보유하는 상기 적분변환알고리즘 및 상기 개인키를 작용시킴으로써 상기 엔티티간 공통 암호키를 소유하는 것을 특징으로 한다.
이같은 본 발명의 제 1태양에 따르면, 상기 각 엔티티의 개인키는, 상기 센터에서 각 엔티티의 식별자를 상기 적분변환 알고리즘을 포함하는 센터알고리즘에 의해 변환하여 생성되므로, 각 엔티티의 식별자 자체의 분산성이 나쁘더라도, 상기 식별자에 적분변환 알고리즘이 작용함으로써 얻어지는 데이터 분산성은 높아진다. 따라서, 상기 개인키의 분산성이 높아지고 각 엔티티마다 유사성이 결핍된 개인키가 상기 센터에 생성되고, 이것이 상기 적분변환 알고리즘과 함께 각 엔티티에 배부된다. 그리고, 엔티티간 통신에 있어서는 각 엔티티에 통신상대측 엔티티의 식별자에 자신이 보유하는 상기 적분변환 알고리즘 및 개인키를 작용시킨다. 이때 각 엔티티의 개인키에는 상기 적분변환 알고리즘에 의한 성분이 포함되어 있으므로, 통신 상대측 엔티티 식별자에 상기 개인키뿐만 아니라 상기 적분변환 알고리즘을 작용시킴으로써 상기 센터알고리즘의 적분변환 알고리즘을 제외한 알고리즘부분(이 부분은 상기 대칭성을 갖는 것이다)에 의해 통신하는 엔티티간 공통 암호키가 생성된다.
이와같이 본 발명의 제 1태양에 따르면, 각 엔티티 식별자를 적분변환 알고리즘을 포함한 센터알고리즘에 의해 변환함으로써 통신시 공통 암호키를 생성하기 위한 각 엔티티에 고유의 개인키를 생성하므로 상기 개인키의 분산성이 높아지고, 그 결과 차분공격 등에 대한 안전성이 높아진다. 그리고, 통신에 있어서는 통신상대측 식별자만을 자신이 보유하는 적분변환 알고리즘 및 개인키에 작용시키는 것만으로 종래와 동일하게 센터가 관여하지 않고 통신상대의 엔티티와의 공통 암호키를 생성할 수 있다.
따라서, 본 발명의 제 1태양에 따르면 통신에 있어서의 공통 암호키 생성이나 네트워크의 암호통신 시스템의 간소화를 도모하면서 차분공격 등의 공격에 대한 안전성을 높일 수 있고, 나아가 간편하고 신뢰성 높은 암호통신 시스템을 제공할 수 있다.
또, 상기 식별자는 각 엔티티의 성명, 주소등외에 네트워크의 메일어드레스, 도메인명 혹은 이들을 조합한 것 등, 각 엔티티에 대하여 고정적으로 사용되고, 또한 적어도 통신상대에 대하여 공개성이 있는 것이면 된다.
이같은 본 발명의 제 1태양은, 상기 적분변환 알고리즘으로는 푸리에 변환(고속푸리에 변환 포함), 라플라스 변환, 밀러변환, 힐베르트 변환 등을 들 수 있고 이들 어느 적분변환을 사용할 수 있으나, 이들 적분변환은 해석학적 무한구간에서 정의되는 것이다. 이에 대해, 본 발명의 제 1태양에 있어서 적분변환 알고리즘으로 변환하는 식별자는 유한구간에서 표현되는 것(가령 유한환(環)의 잉여류)이기 때문에 컴퓨터 등을 사용하여 식별자 데이터를 적분변환할때, 변환결과의 이상분산(에일리어싱)이 생기기 쉽다.
그래서, 본 발명의 제 1태양에서 바람직하게 상기 적분변환 알고리즘은 가중함수 있는 적분변환 알고리즘을 사용한다. 이와같이 식별자에 적분변환을 실시함에 있어서 가중함수를 부가함으로써 상기 이상분산을 방지할 수 있다. 또한, 상기 가중함수는 이상분산을 방지할 수 있는 것이라면 임의로 설정할 수 있으므로 이 가중함수를 부가한 적분변환 알고리즘을 포함한 센터알고리즘에 의해 식별자를 변환하여 이루는 상기 개인키에는 상기 가중함수에 의한 미지의 성분이 부가된다. 그 결과, 본 발명의 제 1태양을 적용한 암호통신 시스템의 안전성을 더욱 높일 수 있다.
이 같이 가중함수를 부가할 경우, 상기 가중함수는 기본적으로 식별자의 데이터구간 끝에서 값이「0」으로 접근하게 설정하는 것이나, 이 경우, 본 발명의 제 1태양에서 상기 가중함수는 상기 센터에 있어서 생성된 난수데이터에 의해 예상되지 않는 패턴으로 결정되고, 더 바람직하게는 상기 난수데이터로서 일회성 난수데이터를 사용한다. 여기서 상기 난수데이터에 의한 가중함수의 결정은 상기 난수데이터에 의해 식별자의 데이터 구간에서 가중함수 값의 변화정도(구간 끝에서 「0」으로 접근하는 형태)를 결정함으로써 행해진다. 또 일회성 난수데이터란, 재현성이 없고, 또는 재현성이 극히 결핍된 난수데이터이고, 더 상세하게는 난수데이터를 구성하는 각 비트수치의 출현빈도가 어느 수치에서도 동등하고, 또 난수데이터가 상관없는 것으로, 이같은 난수데이터는 가령 인간이 어느 어구 또는 문장을 컴퓨터에 입력할 때의 타이밍에 의거하여 생성할 수 있다.
이 같이 가중함수를 난수데이터에 의해 예상할 수 없는 패턴으로 결정해 둠으로써 공격자는 상기 가중함수를 예상하기 어렵고, 본 발명의 제 1태양을 적용한 암호통신시스템의 안전성을 높일 수 있다. 특히 일회성 난수데이터에 의해 가중함수를 결정했을 때 상기 난수데이터 재현성이 배제되므로 시스템 안정성이 더 높아진다.
상기와 같이, 상기 적분변환 알고리즘은 여러가지를 적용할 수 있으나 특히 본 발명의 제 1태양은, 상기 적분변환 알고리즘으로서 푸리에 변환 알고리즘을 사용하는 것이 바람직하다. 즉, 상기 푸리에 변환은 컴퓨터를 사용하여 신속하고 쉽게 할 수 있는 적분변환이고, 또 일반적으로 변환결과의 데이터 분산화가 생기기 쉽다. 따라서, 이같은 푸리에 변환알고리즘을 적분변환 알고리즘으로 사용함으로써 식별자로부터 상기 개인키를 신속하고 쉽게 생성할 수 있게 됨과 동시에 개인키의 분산성이 효과적으로 높아져서 암호통신 시스템의 안전성을 현저히 높일 수 있다.
또, 본 발명의 제 1태양에서 상기 센터는, 상기 식별자를 상기 센터알고리즘에 의해 변환한 것에 다시 각 엔티티에 고유하고 또한 각 엔티티가 알 수 없는 일회성 개별 난수데이터에 의한 임의 변환을 실시하여 상기 개인키를 생성함과 동시에 상기 개인키에 포함되는 상기 임의 변환의 성분을 제거하기 위한 알고리즘과 상기 적분변환 알고리즘으로 되는 식별자 변환알고리즘을 상기 개인키와 함께 각 엔티티에 배부해두고, 상기 엔티티간 상호 통신을 할 때, 서로 통신상대측 식별자에 자신이 보유하는 상기 식별자변환 알고리즘 및 상기 개인키를 작용시킴으로써 상기 엔티티간 공통 암호키를 소유한다.
여기서, 상기 임의 변환은, 상기 식별자를 상기 센터알고리즘에 의해 변환한 것을 나타내는 데이터 열의 각 비트값을 상기 개별 난수데이터에 의해 변환하고, 또는 상기 데이터열의 배치를 변환하고, 혹은 이들을 조합시켜 처리함으로써 행해지는 것이다.
이에 따르면, 상기 개인키에는 상기 센터알고리즘에 더하여 상기 임의 변환에 의한 성분이 포함된다. 그리고, 이때, 상기 임의 변환은, 상기 변환을 각 엔티티에 고유하고 또 각 엔티티가 알 수 없는 일회성 개별 난수데이터(재생성이 없고, 또는 재생성이 거의 없는 난수데이터)에 의해 행하기 때문에 각 엔티티의 개인키마다 각각 별도의 우연적 성분이 포함된다. 그 결과, 암호통신 시스템의 각종 공격에 대한 안전성을 한층 견고히 할 수 있다.
또, 이 경우, 통신에 있어서, 상대측 엔티티 식별자에 작용시키는 개인키에는 각 엔티티 별로 각각 별도의 상기 임의 변환에 의한 성분이 포함되어 있다. 이때문에, 이것을 제거하기 위한 알고리즘과 상기 적분변환 알고리즘으로 되는 식별자 변환알고리즘을 상기 개인키와 함께 각 엔티티에 배부해 두고, 통신에 있어서는 상대측 엔티티 식별자에 상기 식별자 변환알고리즘 및 개인키를 작용시킴으로써 통신하는 엔티티간 공통 암호키를 생성할 수 있다.
이와같이 임의 변환을 할 경우, 상기 임의 변환은, 가령 상기 각 엔티티 식별자를 상기 센터알고리즘에 의해 변환한 것을 나타내는 데이터 열을 상기 일회성 개별 난수데이터에 의해 배치를 변환함으로써 행할 수 있다.
더욱 바람직하게는, 상기 각 엔티티 식별자를 상기 센터알고리즘에 의해 변환한 것을 표시하는 데이터 열은 복수의 불요(不要) 비트를 포함하고, 상기 임의 변환은 상기 불요비트값을 상기 일회성 개별 난수데이터에 의해 임의화하고, 또 상기 불요비트를 포함한 상기 데이터열 전체의 배치를 변환함으로써 행한다.
이같이 각 엔티티 식별자를 상기 센터 알고리즘에 의해 변환하여 나타내는 데이터의 불요비트값을 상기 일회성 개별 난수데이터에 의해 임의화하고, 다시 상기 불요비트를 포함한 상기 데이터열 전체의 배치를 변환함으로써 공격자(암호 통신시스템 해독자)는 획득한 데이터 어디에 불요비트에 대응하는 부분이 있고, 또 어디에 필요한 데이터가 있는지 알 수 없기에 암호통신 시스템의 안전성이 높아진다.
또, 상기 임의 변환을 하기 위한 상기 일회성 개별 난수데이터는 상기 각 엔티티의 소정의 처리에 의거하여 생성하고, 더 구체적으로 상기 소정의 처리는 상기 각 엔티티의 인간에 의한 입력조작으로 상기 입력조작의 타이밍에 의거하여 상기 일회성 개별 난수데이터를 생성한다.
이와같이, 각 엔티티의 인간에 의한 조작(가령 어떤 문장이나 어구를 입력하는 조작)의 타이밍에 의거하여 난수데이터를 생성함으로써 상기 난수데이터는 재현성이 없고, 또는 재현성이 거의 없고, 상기 일회성 개별 난수데이터를 확실히 생성할 수 있다.
다음에, 본 발명의 제 2태양은, 복수의 엔티티와 센터를 포함한 네트워크에 있어서, 통신하는 엔티티간 통신데이터의 암호·해독화를 하기 위한 공통 암호키를 양 엔티티가 소유하는 방법으로서, 사전에 상기 센터는, 각 엔티티에 고유하고 또 공개성 있는 식별자를 상기 센터만이 보유하는 각 엔티티에 공통인 센터알고리즘에 의해 변환한 것에, 각 엔티티에 고유하고 또한 각 엔티티가 알 수 없는 일회성 개별 난수데이터에 의해 임의 변환을 실시하여 각 엔티티에 고유의 개인키를 생성함과 동시에 상기 개인키 및 상기 개인키에 포함되는 상기 임의 변환의 성분을 제거하는 알고리즘을 포함한 식별자 변환 알고리즘을 각 엔티티에 배부해 두고, 상기 엔티티간 서로 통신할 때, 서로 통신상대측 식별자에 자신이 보유하는 상기 식별자 변환알고리즘 및 개인키를 작용시킴으로써 상기 엔티티간 공통 암호키를 소유하는 것을 특징으로 한다.
이같은 본 발명의 제 2태양에 따르면, 상기 각 엔티티의 개인키는, 상기 센터에 있어서, 각 엔티티의 식별자를 상기 센터알고리즘(이것은 상기 대칭성을 갖는 부분을 포함한다)에 의해 변환한 것에, 각 엔티티에 고유하고 또한 각 엔티티가 알 수 없는 일회성 개별 난수데이터(재생성이 없고, 또는 재생성이 거의 없는 난수데이터)에 의한 임의 변환을 실시하여 생성되므로, 각 엔티티의 개인키마다 각각 별개의 우연적 성분이 포함된다. 그 결과, 본 발명의 제 2태양을 적용하여 암호통신시스템의 각종 공격에 대한 안전성이 높아진다. 이 경우, 상기 제 1태양에서 설명한 경우와 같이 각 엔티티의 개인키에는 각 엔티티마다 각각 별도의 상기 임의 변환에 의한 성분이 포함돼 있기 때문에 이것을 제거하기 위한 알고리즘을 포함한 상기 식별자 변환 알고리즘을 상기 개인키와 함께 각 엔티티에 배부해 둔다. 그리고,통신에 있어서는 상대측 엔티티의 식별자에 상기 식별자 변환알고리즘 및 개인키를 작용시킴으로써 상기 센터가 관여하지 않고 통신하는 엔티티간 공통 암호키를 생성할 수 있다.
따라서, 본 발명의 제 2태양에 의해서도, 통신의 공통 암호키 생성이나 네트워크의 암호통신 시스템 간소화를 도모하면서 각종 공격에 대한 안전성을 높일 수 있고, 나아가서는 간편하고 신뢰성 높은 암호시스템을 제공할 수 있다.
이같은 본 발명의 제 2태양에서 상기 제 1태양으로 설명한 경우와 같이, 상기 임의 변환은, 상기 각 엔티티의 식별자를 상기 센터알고리즘에 의해 변환한 것을 나타내는 데이터열을 상기 일회성의 개별 난수데이터에 의해 배치를 변환함으로써 행할 수 있다. 그리고, 더욱 바람직하게 상기 각 엔티티의 식별자를 상기 센터알고리즘에 의해 변환한 것을 나타내는 데이터열은 복수의 불요비트를 포함하고, 상기 임의 변환은 상기 불요비트값을 상기 일회성의 개별 난수데이터에 의해 임의화하고, 또, 상기 불요비트를 포함한 상기 데이터열 전체의 배치를 변환함으로써 행한다. 이에 따라, 본 발명의 제 2태양을 적용한 암호통신 시스템의 안전성을 높일 수 있다.
또, 본 발명의 제 2태양에서 상기 제 1태양으로 설명한 경우와 같이, 상기 일회성의 개별 난수데이터는 상기 각 엔티티의 소정의 처리에 의거하여 생성하고, 더 구체적으로 상기 소정의 처리는 상기 각 엔티티의 인간에 의한 입력조작이고, 상기 입력조작의 타이밍에 의하여 상기 일회성 개별 난수데이터를 생성한다. 이에 따라 상기 일회성 개별 난수데이터를 확실히 생성할 수 있다.
본 발명의 일실시형태를 도 1 내지 도 8참조로 설명한다. 우선 도 1 내지 도 2를 참조하여 본 실시형태의 암호키 공유방법을 적용한 암호통신시스템 개요를 설명한다.
도 1을 참조하여, 본 실시형태는 암호통신 시스템의 기본적 구축주체인 센터(1)와, 상기 암호통신시스템에 가입하여 서로 암호통신하는 복수의 엔티티(2)가 인터넷, 개인 컴퓨터 통신망등의 네트워크(3)를 통하여 상호통신가능하게 되어 있다. 이들 센터(1) 및 각 엔티티(2)는 도시하지 않으나 실제 통신이나 데이터 처리를 하기위한 개인 컴퓨터 등의 컴퓨터기계 또는 컴퓨터기계의 사용자를 포함한다.
이같은 네트워크(3)에서 구축된 본 시스템은, 도 2와 같이 센터(1)에 가입한 각 엔티티(2; 도 2에서는 각 엔티티(2)를 참조부호 i,j,…에 의해 표시한다)는 각각에 대응하는 고유 식별자(yi,yj,…상세한 것은 후기한다)를 갖는다. 이 경우, i≠j이면 yi≠yi이다. 그리고, 각 엔티티(2; i, j,…)에는 각 식별자(yi,yj,…)(이하, 필요에 따라 식별자(yn)라 총칭한다.)에 의거하여 센터(1)에 의해 생성된 각 엔티티(2)에 고유의 개인키(Xi,Xj,…;상세한 것은 후기한다. 이하, 필요에 따라 개인키(Xn)라 총칭한다.)가 사전에 센터(1)에서 부여된다. 또한, 임의의 엔티티(i,j)간 암호통신할 때는 상기 통신데이터의 암호화(송신측) 및 해독화(수신측)를 하기 위한 공통의 암호키(Kij)가 각 엔티티(i,j)별로 별도로 각 엔티티(i,j)의 개인키(Xi,Xj)를 사용하여 생성되고, 상기 공통암호키(Kij)를 사용하여 엔티티(i,j)간 암호통신이 이뤄진다.
여기서, 본 실시형태의 시스템을 더 상술하기 전에 상기 식별자(yn)에 대하여 설명한다. 본 실시형태에서 각 엔티티(2)의 식별자(yn)는, 각 엔티티(2)의 성명, 주소, 메인어드레스, 도메인명, 또는 이들을 조합시킨 것등, 각 엔티티(2)에 고유한 것으로 또한 공개성이 있는 것을 사용한다. 또, 센터(1)나 각 엔티티(2)의 컴퓨터기계에서 식별자(yn)의 실제 취급시 각 식별자(yn)는, 이것을 가령 유한환에서의 잉여류로 코드화되는 벡터데이터로서 취급된다.
상기와 같은 암호통신을 하기 위한 본 실시형태의 시스템을 이하 도 3 내지 도 7참조로 설명한다.
도 3을 참조하여, 본 실시형태의 시스템은, 센터(1)에 의한 상기 개인키(Xn)등의 생성 및 배부 등의 사전준비처리를 한후, 각 엔티티(i,j)간 암호통신이 이루어진다.
상기 센터(1)에 의한 사전준비처리에서 센터(1)는, 설립시 혹은 시스템 경신시 우선 각 엔티티(2)의 상기 개인키(Xn)를 생성하기 위해 기본이 되는 센터알고리즘을 생성한다(수순1).
이 센터알고리즘은 본 실시형태에서 센터행렬, 가중함수 및 적분변환 알고리즘에 의해 구성된다.
여기서, 상기 적분변환 알고리즘은 각 엔티티(2)의 식별자(yn)데이터를 적분변환하기 위한 알고리즘으로, 본 실시형태는 적분변환 알고리즘으로서 푸리에 변환(상세하게는 고속 푸리에 변환)을 사용한다. 이 종류의 푸리에 변환으로는 여러가지가 알려져 있고, 그중 한 종류를 센터(1)에서 선택하여 본 실시형태로 사용하는 푸리에 변환 알고리즘을 생성한다. 또, 상기 푸리에 변환 알고리즘은 실제 식별자(yn)의 데이터에 작용시키는 행렬로서 표현된다.
또,가중함수는 유한구간의 데이터인 식별자(yn)를 푸리에 변환할 때의 이상분산(에일리어싱)을 방지하기 위한 것으로 식별자(yn)의 데이터 구간 끝점에서 값이「0」에 접근하는 함수이다. 또한, 센터행렬은 대칭행렬이고, 더 상세하게는 특이하지 않은 대칭행렬이다.
이 경우, 상기 가중함수 및 센터행렬은 일회성 난수데이터를 사용하여 생성한다. 즉, 도 4참조로, 가중함수 및 센터행렬을 생성할 때 센터(1)는, 우선 센터(1)의 컴퓨터기계에 있어서 오퍼레이터의 인위적 조작에 의거하여 난수데이터를 생성한다(수순 1-1). 구체적으로, 오페레이터가 센터(1)의 컴퓨터기계에 대하여 적당한 어구나 문장 등을 입력하고 이때의 입력타이밍(가령 각 단어입력시각과 각 단어입력시간 간격)을 컴퓨터기계로 차례로 계측한다. 그리고, 상기 계측한 입력타이밍에 의거하여 난수데이터를 시간 수열로 생성한다. 이같이 하여 생성되는 난수데이터는 애매함을 갖는 인위적 입력조작 타이밍에 의거하여 생성되기 때문에 사실상 재현성이 없는 우연적인 것이 되고, 이에 따라 일회성 난수데이터가 생성된다.
그리고, 이와같이 일회성 난수데이터를 생성후, 센터(1)는 생성한 일회성 난수데이터에 의거하여 상기 가중함수와 센터행렬을 결정한다(수순 1-2). 이 경우, 가중함수 결정은 상기 일회성 난수데이터에 의해 식별자(yn)데이터의 구간에 있어서 가중함수의 값 변화정도(구간의 끝에서「0」으로 접근하는 형태)를 결정함으로써 행해지고, 이에 따라 상기 가중함수는 예상할 수 없는 패턴으로 결정된다. 또, 상기 가중함수는 실제로 대각행렬로서 표현된다. 또, 센터행렬의 결정은, 대칭성 및 비특이성을 확보하면서 상기 행렬의 성분값을 상기 일회성 난수데이터에 의해 결정함으로써 행해진다.
이상과 같이 생성된 센터행렬, 가중함수 및 적분변환 알고리즘으로 구성되는 센터알고리즘은, 센터(1)에 비밀리에 보관되고, 특히 센터행렬 및 가중함수는 센터(1)의 특정자 이외의 제 3자(각 엔티티(2)등을 포함)가 참조하는 일 없도록 엄중히 보관된다. 또, 이들 센서알고리즘은 각 엔티티(2)에 대하여 공통의 것이다.
도 3으로 돌아가서, 센터(1)는, 각 엔티티(2; i,j,…)가 시스템에 가입했을 때 상기와 같이 생성되어 보관된 센터알고리즘이나 각 엔티티(2)식별자(yn)등을 사용하여 각 엔티티(2)에 고유의 개인키(Xn)와, 후기와 같이 공통암호키(Kij)를 생성하기 위한 식별자 변환알고리즘을 생성하여 각 엔티티에 배부한다(수순 2).
더 상세하게는 도 5를 참조하여 이 수순 2에서 센터(1)는, 엔티티(2) 식별자(yn)의 데이터(벡터데이터)에 상기 푸리에 변환 알고리즘 및 가중함수의 행렬을 작용시킴으로써 상기 식별자(yn)에 가중된 고속 푸리에변환을 실시한다(수순 2-1). 또한, 이 수순(2-1)에 의해 얻은 벡터데이터에 상기 센터행렬을 승산한다(수순 2-2). 이 경우, 상기 식별자(yn)데이터에 필요없는 내용을 갖게 해둠으로써 수순(2-2)에 의해 얻는 벡터데이터에는 식별자(yn)의 데이터로서 의미 있는 비트열에 상기 가중함수, 적분변환 알고리즘 및 센터행렬을 작용시켜 되는 복수의 유용비트와 그외 복수의 불요 비트가 나타난다.
한편, 센터(1)는 엔티티(2)와의 통신(가령 엔티티(2)의 가입수속 등의 통신)에 의해 상기 엔티티(2)에 고유하고 또한 엔티티(2)에는 알 수 없는 일회성 개별 난수데이터를 생성한다(수순 2-3). 구체적으로 상기와 같이 가중함수 등을 결정할 때의 일회성 난수데이터를 생성한 경우와 동일하게 엔티티(2)의 컴퓨터기계에서 사용자가 어떤 어구 또는 문장을 입력시켜 이것을 센터(1)측에서 차례로 수신함으로써 상기 엔티티(2)의 인위적 입력조작 타이밍을 센터(1)의 컴퓨터 기계로 계측한다. 그리고, 계측한 입력조작 타이밍에 의거하여 상기 개별 난수데이터를 생성한다. 따라서 개별 난수데이터를 생성함으로써 상기 개별 난수데이터는 가중함수등의 생성시 난수데이터와 같이 재현성 없는 우연적인 것이 됨과 동시에, 엔티티(2)고유의 것이 되며, 이에 따라 일회성의 개별 난수데이터가 얻어진다. 또, 엔티티(2)는 어떤 입력조작의 타이밍으로 어떤 난수데이터가 생성될지 알지 못하고, 또, 상기 인위적 입력조작의 타이밍을 정확하게 제어할 수 없으므로 상기 개별 난수데이터를 엔티티(2)가 알 수 없다.
이어서, 센터(1)는 상기 수순(2-2)에서 얻은 벡터데이터중 상기 불요비트의 각 비트 값을 수순(2-3)에서 얻은 일회성 개별 난수데이터에 의해 임의화 한다(수순 2-4). 또한, 상기 임의화한 불요비트와 상기 유용비트를 합친 벡터데이터를 상기 일회성 개별 난수데이터에 의해 임의로 배치를 변환하고(벡터데이터의 성분 배열을 변경한다. 수순 2-5), 이에 따라 수순(2-2)에서 얻은 벡터데이터(식별자(yn)를 센터알고리즘에 의해 변환한 것)를 임의 변환한다. 그리고, 임의 변환에 의해 얻은 벡터데이터(2)의 개인키(Xn)로서 생성한다. 또, 상기 임의 변환은 실제로 행렬(대칭행렬이라고 한정할 수 없다)로 표시되고, 더 상세하게는 상기 행렬의 전치행렬과 역행렬이 같아지는 행렬로 표시된다. 또 센터(1)는 상기 일회성 개별 난수데이터와 상기 푸리에 변환알고리즘 및 가중함수로 상기 식별자 변환알고리즘을 생성한다(수순 2-6). 이 식별자 변환알고리즘은 상기 개인 키(Xn)에 반영되어 있는 상기 임의 변환의 성분을 제거하기 위한 알고리즘(이것은 임의 변환을 표시하는 행렬의 역행렬에 의해 표시된다)과 상기 푸리에변환 알고리즘 및 가중함수를 합성(각각을 나타내는 행렬끼리 승산)한 것이다.
이같이 하여 센터(1)에 의해 생성된 각 엔티티(2)에 대응하는 개인키(Xn)와 식별자변환 알고리즘이 각 엔티티(2)에 통신등으로 사전에 배부된다(도 3의 수순 2참조). 이상의 내용이 센터(1)에 있어서의 사전준비처리의 상세한 설명이다.
또, 센터(1)는 상기와 같이 각 엔티티(2)의 개인키(Xn)나 식별자 변환 알고리즘을 생성한 후 상기 엔티티(2)에 대응하는 상기 일회성의 개별 난수데이터와 상기 임의 변환을 나타내는 행렬을 보관하지 않고 소거한다. 또, 자신의 개인키(Xn)및 식별자 변환알고리즘을 받은 각 엔티티(2)는 이것들을 자신의 컴퓨터기계의 적당한 기억장치에 비밀리에 보관한다.
도 3으로 돌아가서, 상기와 같은 사전준비처리가 행해진 후, 임의의 엔티티(2)간에 다음과 같이 암호통신이 행해진다. 또, 여기서는 각 엔티티(2)중 엔티티(i,j(i≠j))간 엔티티(i)를 송신측, 엔티티(j)를 수신측으로 하여 암호통신하게 한다.
이 암호통신에서, 송신측 엔티티(i)는 우선 자신이 보유하는 상기 개인키(Xi) 및 식별자 변환알고리즘과 수신측 엔티티(j)의 식별자(yj)로 엔티티(j)와의 공통암호키(Kij)를 생성한다(수순 3).
더 상세하게는 도 6을 참조하여, 우선 수신측 엔티티(j)의 식별자(yj)에 송신측 엔티티(i)의 컴퓨터기계에서 상기 엔티티(i)의 식별자 변환 알고리즘을 작용시킨다(식별자(yj)의 벡터데이터에 식별자 변환 알고리즘 행렬을 승산한다. 수순 3-1). 이어서, 이 수순(3-1)에 의해 얻는 벡터데이터와 송신측 엔티티(i)의 개인키(Xi)(벡터데이터)와의 내적을 연산함으로써 엔티티(j)와의 공통암호키(Kij)를 생성한다(수순 3-1).
동일하게 하여 수신측 엔티티(j)는 도 7과 같이 자신의 컴퓨터기계에서 자신의 식별자 변환 알고리즘을 송신측 엔티티(i)의 식별자(yi)에 작용시키고(수순 3-1), 또 그 결과로 얻어지는 벡터데이터와 엔티티(j)의 개인키(Xj)와의 내적을 연산(수순 3-2)함으로써 엔티티(i)와의 공통암호키(Kji)를 생성한다.
이때, 송신측 엔티티(i)로 독자적으로 생성되는 공통암호키(Kij)와 수신측 엔티티(j)로 독자적으로 생성되는 공통암호키(Kji)는 동일하게 된다.
즉, 송신측 및 수신측의 각 엔티티(i,j)가 각각 보유하고 있는 개인키(Xi,Xj)는 각각, 엔티티(i,j)의 식별자(yi,yj)에 상기 가중함수가 있는 푸리에 변환 알고리즘, 센터행렬 및 임의 변환을 작용시켜 이루는 벡터데이터이고, 또, 각 엔티티(i,j)가 각각 공통암호키(Kij,Kji)를 생성함에 있어서 상대측 엔티티(j,i)의 식별자(yi,yj)에 작용시키는 상기 식별자 변환 알고리즘은 가중함수가 있는 푸리에 변환 알고리즘과 각 개인키(Xi,Xj)에 반영시키고 있는 각 엔티티(i,j)마다의 임의 변환의 성분을 제거하는 알고리즘을 합성한 것이다.
이 때문에, 상기 수순(3-2)에서 행하는 내적연산은 각 엔티티(i,j)마다의 임의 변환의 영향이 배제되고, 상기 내적연산 결과로 얻어지는 각 공통암호키(Kij,Kji)는 각 엔티티(i,j)의 식별자(yi,yj)에 가중함수가 있는 푸리에 변환알고리즘을 실시한 것에 다시 센터행렬을 작용시킨 것(벡터데이터)과 통신 상대측 엔티티(j,i)의 식별자(yj,yi)에 가중함수가 있는 푸리에 변환알고리즘을 실시한 것(벡터데이터)과의 내적을 연산한 결과와 같다. 즉, 식별자(yi,yj)에 가중함수가 있는 푸리에 변환 알고리즘을 실시한 벡터데이터를 각각 yi',yj'(단, yi',yj'는 수직벡터로 한다)로 놓고, 또 센터행렬을 C로 하면, Kij=(yi')T·C·yi', Kji=(yi')T·C·yi'이다(단, 식중 첨자 T는 전치를 뜻한다).
그리고, 상기와 같이 센터행렬(C)은 대칭행렬이므로 분명히 Kij=Kji가 된다. 따라서, 각 엔티티(i,j)에 각각 별개로 생성되는 공통암호키(Kij,Kji)는 일치하고, 이에 따라 양 엔티티(i,j)가 공통 암호키를 공유할 수 있게 된다.
한편, 도 3의 수순(3)에 있어서 상기와 같이 수신측 엔티티(j)와의 공통암호키(Kij)를 생성한 송신측 엔티티(i)는 상기 공통암호키(Kij)나 수신측 엔티티(j)로 송신하고자 하는 평문(문장, 프로그램 등)등으로 암호통신전문을 생성한다(수순 4). 이 경우, 상기 암호통신전문 생성에 있어서 공통암호키(Kij)외에 일회성 난수데이터도 사용한다.
더 상세하게는 도 6을 참조하여 암호통신전문을 생성함에 있어서 상기 센터(1)의 사전준비처리의 경우와 동일하게 송신측 엔티티(i)는, 자신의 컴퓨터 기계에 어구나 문장 등의 입력조작 타이밍에 의거하여 일회성 난수데이터(이하, 암호통신용 난수데이터라 함)를 생성해 두고(수순 4-1), 이 일회성 암호통신용 난수데이터를 본래의 열쇠인 상기 공통암호키(Kij)로 암호화한다(수순 4-2). 이 경우, 이 암호화는 가령 3단 구성의 DES(Data Encryption Standard)에 의해 행해진다.
또, 수순(4-1)으로 생성한 일회성 암호통신용 난수데이터(암호화 전의 것)를 키로 하여 평문을 암호화한다(수순 4-3). 이 암호화는 가령 수순(4-2)과 동일하게 3단 구성의 DES에 의해 행한다.
그리고, 수순(4-2)에 의해 얻은 암호화 난수데이터와 수순(4-3)에 의해 얻은 암호문을 합침(1세트로 한다)으로써 수신측 엔티티(j)에 송신하고자 하는 암호통신전문이 생성된다. 이같이 하여 생성된 암호통신전문은 엔티티(i)의 컴퓨터 기계에서 엔티티(j)의 컴퓨터기계로 송신된다.
또, 상기 암호통신용 난수데이터는 암호통신할 때마다 생성하여 갱신하는 것이 바람직하나 암호통신을 여러번 할 때마다 상기 암호통신용 난수데이터를 갱신(상기 여러번의 암호통신에서는 같은 암호통신용 난수데이터를 사용한다)해도 된다.
한편, 상기 암호통신전문을 수신한 수신측 엔티티(j)는 상기와 같이 생성한 엔티티(i)와의 공통암호키(Kji;=Kij)를 사용하여 암호통신문을 해독하고, 최종적으로 상기 평문을 얻는다(수순 5).
즉, 도 7참조로, 우선 엔티티(i)와의 공통암호키(Kji(=Kij))를 본래의 키로 사용함으로써 엔티티(i)에서 수신한 암호통신전문 중에서 암호화 난수데이터를 암호통신용 난수데이터로 해독한다(수순 5-1). 이어서 상기 해독화된 암호통신용 난수데이터를 키로서 사용함으로써 암호통신전문중의 암호문을 평문으로 해독한다(수순 5-2). 이에 따라 최종적으로 수신측 엔티티(j)는 엔티티(i)에서 원하는 평문 내용을 알게되고, 엔티티(i,j)간의 암호통신이 완결된다.
상기와 같은 암호통신을 위한 처리를 행하는 각 엔티티(2)의 컴퓨터기계는 구성적으로 표시하면 가령 도 8의 블록도와 같이 구성된다.
즉, 각 엔티티(2)의 컴퓨터기계는 키보드(4), 도시하지 않은 CPU, RAM, ROM등에 의해 구성된 본체부(5), 상기 개인키(Xn) 및 식별자 변환알고리즘, 문장, 프로그램 등의 평문 암호통신전문 등을 기억하고, 보유하는 하드디스크 등으로 구성된 데이터베이스(6)를 구비한다. 그리고, 본체부(5)에는 기능적 구성으로서 공통암호키를 생성하는 공통키 생성부(7), 통신데이터의 암호화·해독화를 행하는 암호해독 처리부(8), 암호통신용 난수데이터를 생성하는 난수생성부(9), 및 암호통신에 있어서 공통키 생성부(7)로 생성된 공통암호키나 난수생성부(9)로 생성된 암호통신용 난수데이터 등의 데이터를 내장하는 데이터 내장메모리(10)가 구비되어 있다.
이같은 구성을 구비한 각 엔티티(2)의 컴퓨터기계는 다음과 같은 동작으로 상기와 같은 암호통신을 위한 처리가 행해진다.
즉, 송신측 및 수신측의 어느 컴퓨터에 있어서도 공통암호키를 생성할 때는(상기 수순 3), 우선, 사용하는 상기 개인키(Xn) 및 식별자 변환 알고리즘이 키보드(4)에 의해 본체부(5)에 지정되고, 상기 지정된 개인키(Xn)및 식별자 변환 알고리즘이 상기 데이터 베이스(6)에서 본체부(5)의 공통키 생성부(7)에 수용된다. 또한, 키보드(4)에 의해 통신상대측 식별자(Xn)가 본체부(5)에 입력된다. 그리고, 상기 본체부(5)의 공통키 생성부(7)는 입력된 식별자(yn)의 데이터에 상기와 같이 식별자 변환알고리즘 및 개인키(Xn)를 작용시킴으로써 공통암호키를 생성하고(상기 수순 3-1, 3-2), 생성된 공통암호키가 데이터 내장메모리(10)에 기억된다.
또, 송신측 컴퓨터기계는 키보드(4)에 의해 상기 암호통신용 난수데이터를 생성하기 위한 데이터(어구나 문장 등의 입력 조작 데이터)가 본체부(5)에 입력된다. 그리고, 상기 본체부(5)의 난수생성부(9)는 상기 입력된 데이터에 의거하여 상기와 같이 일회성 암호통신용 난수데이터를 생성하고(상기 수순 4-1), 생성된 암호통신용 난수데이터가 데이터 내장메모리(10)에 기억된다.
그리고, 송신측 컴퓨터기계는 데이터 베이스(6)내의 송신할 평문이 키보드(4)에서 본체부(5)로 지정되고, 이때, 지정된 평문이 데이터 베이스(6)에서 암호해독처리부(8)에 수용된다. 그리고, 암호보호처리부(8)는 데이터 내장 메모리(10)에 기억된 암호통신 난수데이터를 동일하게 데이터 내장 메모리(10)에 기억된 공통암호키를 사용하여 암호화함과(상기 수순 4-2)동시에 상기 암호화 난수데이터를 키로 하여 상기 평문을 암호화한다(상기 수순 4-3). 이같이 하여 암호해독처리부(8)에 의해 암호화된 암호통신용 난수데이터 및 평문은 이들을 일괄하여 이루는 암호통신전문으로서 데이터 베이스(8)에 유지된 후, 별도로, 통신상대측 컴퓨터기계에 송신된다.
한편, 상기 암호통신전문을 수신한 수신측 컴퓨터기계에서 상기 암호통신전문은 데이터 베이스(6)에 유지되고, 암호부호처리부(8)에 수용된다. 그리고, 암호부호처리부(8)는 데이터 내장 메모리(10)에 기억되어 있는 공통암호키를 사용하여 암호통신전문의 암호화 난수데이터를 암호통신용 난수데이터로 보호하고(상기 수순 5-1), 다시 부호화한 암호통신용 난수데이터를 키로 하여 암호통신전문의 암호화 평문을 원래의 평문으로 해독한다(상기 수순 5-2). 이같이 하여 암호부호처리부(8)에 의해 암호화된 평문은 데이터 베이스(6)에 유지된다.
이상의 설명과 같이 구축되어 있는 본 실시형태의 시스템에서 센터(1)에 각 엔티티(2)의 개인키(Xn)를 생성할 때(사전준비처리)에는 각 엔티티(2)의 이름 등의 식별자(yn)에 적분변환인 푸리에 변환의 알고리즘을 작용시키기 때문에 식별자(yn)자체에 유사한 것이 많이 있더라도 이것을 푸리에 변환한 데이터의 분산성이 좋아지고 게다가 상기 데이터에 센터 행렬등을 실시한 개인키(Xn)의 분산성도 높일 수 있다. 그 결과, 소위 차분공격등에 의한 센터(1)의 센터행렬 등의 센터알고리즘 해독이 어렵게 될 수 있다.
이 경우, 상기 적분변환으로는 푸리에 변환외에 라플라스 변환, 밀러변환, 힐베르트 변환등을 사용할 수 있으나, 본 실시형태에서는 푸리에 변환(상세하게는 고속푸리에 변환)을 사용하고 있기 때문에 상기와 같은 분산성 향상을 확실히 가져올 수 있음과 동시에 식별자(yn)에 푸리에 변환을 실시하는 연산처리를 컴퓨터기계를 사용하여 고속으로 할 수 있다.
또, 개인키(Xn)를 생성할 때는 센터 알고리즘으로서 가중함수를 부가하기 때문에 유한구간의 식별자(yn)데이터를 푸리에 변환하여 이루어지는 데이터의 이상분산을 방지할 수 있음과 동시에 센터 알고리즘을 해독하고자 하는 공격자에게는 센터행렬이나 푸리에 변환 알고리즘 등외에 가중함수라는 미지의 알고리즘 요소가 증가하기 때문에 센터알고리즘 해독이 더욱 어렵게 될 수 있다. 특히, 상기 가중함수가 일회성 난수데이터에 의거하여 예상할 수 없는 형태로 생성되기에 때문에 상기 해독이 더 어렵게 된다.
또한, 개인키(Xn)를 생성할 때는 센터 알고리즘 외에 각 엔티티(2)에 고유의 일회성 개별 난수데이터에 의거한 임의 변환도 부가하기에 각 엔티티(2)의 개인키(Xn)에는 각 엔티티(2)마다 각각 별도로, 또한 상호 상관이 없는 임의 변환에 의거한 성분이 포함된다. 이 때문에 가령 복수의 엔티티(2)가 결탁하여 각 엔티티가 유지하는 개인키(Xn)에서 센터알고리즘 등을 해독하고자 하여도 상기 해독은 매우어렵다. 이 경우, 특히 상기 임의 변환에서는 식별자(yn)에 푸리에 변환, 가중함수 및 센터행렬을 작용시켜서 이루어지는 데이터 중 불요비트값을 일회성의 개별 난수데이터에 의해 임의화한후 상기 불요비트와 유용비트를 함께 배치변환을 하기 때문에 이 임의 변환에 의해 얻는 개인키(Xn)의 데이터중 어느 부분에 불요비트에 대응하는 것이 포함돼 있는지 알 수 없고, 상기 해독은 더 어려워진다. 또 상기 해독자에게는 본 실시형태의 시스템을 완전히 파괴하기 위해서 개인키(Xn)등의 데이터에서 센터행렬, 가중함수, 푸리에 변환(적분변환) 및 임의 변환의 4종류나 되는 알고리즘을 해독하지 않으면 안되기에 이같은 해독은 사실상 불가능하다.
또, 본 실시형태의 시스템은, 암호통신시 공통암호키를 생성하기 위하여 개인키(Xn)에 반영되어 있는 상기 임의 변환에 의한 성분을 제거하기 위한 알고리즘을 포함한 상기 식별자 변환 알고리즘을 개인키(Xn)와 함께 각 엔티티(2)에 배부해둘 필요가 있다. 그런데, 상기 식별자 변환알고리즘은 임의 변환에 의한 성분을 제거하기 위한 알고리즘과 푸리에 변환 알고리즘과 가중함수를 합성한 것이기 때문에 상기 식별자 변환알고리즘으로 센터(1)의 센터알고리즘을 구성하는 임의 변환의 알고리즘이나 가중함수, 푸리에 변환 알고리즘을 각각 해독하는 것도 매우 어렵다.
따라서, 본 실시형태의 시스템에 따르면 상기 시스템의 안전을 위해 가장 중요한 센터(1)의 센터 알고리즘을 각 엔티티(2)의 개인키(Xn)등으로 해독하기는 사실상 불가능하다.
또, 임의의 엔티티(i,j)간 암호통신할 때는 평문 자체를 공통암호키(Kij)를 사용하여 암호화하는 것은 아니고, 상기 평문은 한쪽으로 치우친 특성을 갖지 않는 일회성 암호통신용 난수데이터를 키로서 암호화함과 동시에, 상기 암호화 평문을 해독하기 위한 키로서의 암호통신용 난수데이터를 공통암호키(Kij)를 사용하여 암호화하였기에 암호화된 통신데이터를 제 3자가 불법사용하여도 상기 통신데이터에서 공통암호키(Kij)를 해독하기 곤란하다. 그리고, 상기 공통암호키(Kij)를 해독하기 어렵기에 상기 공통암호키(Kij)에 포함되는 각 엔티티(2)의 개인키(Xn)의 정보, 또한 상기 개인키(Xn)에 포함되는 센터알고리즘 정보를 제 3자가 취득하기도 곤란하다. 또, 상기 평문에서는 암호통신용 난수데이터를 키로 하여 암호화되기 때문에 상기 평문의 기밀성도 확보된다.
따라서, 본 실시형태에 따르면 각종 공격에 대하여 안전성 높은 암호통신 시스템을 제공할 수 있다. 그리고, 임의의 엔티티(i,j)간 암호통신에 있어서 각 엔티티(i,j)는 자신의 개인키(Xi,Xj) 및 식별자 변환 알고리즘을 상대측 식별자(yj,yi)에 작용시키는 것만으로 센터(1)의 관여나 엔티티(i,j)간 사전연락 등을 수반하지 않고 공통암호키(Kij)를 생성하여 공유할 수 있으므로 안전성이 높을 뿐 아니라 쉽고 범용성 높은 암호통신시스템을 제공할 수 있다. 또, 상기와 같이 공통암호키(Kij)를 생성함에 있어 식별자(yn)가 중요한 역할을 하는 것은 에이 샤미르에 의한 논문「Identity-Based Cryptosystems and Signature Schemes/Advances in Cryptology:Proceeding of CRYPTO'84/Springer LNCS 196, 1985, pp. 47-53」에서 볼 수 있는 방식과 동일하다.
다음에, 본 실시형태 시스템의 좀더 이론적인 유효성에 대하여 설명한다.
본 시스템은 각 엔티티(2)의 개인키를 연산하고, 또한 공통암호키를 산출하는 연산은 선형 변환에 의거하여 행해지고, 이 선형변환에 대하여 이하 설명한다.
우선, Xif를 f인의 엔티티(2)간 공통암호키를 생성할 때에 엔티티(i)의 개인키로 한다. 이때, 상기 선형변환을 하기 위한 일반적인 방식은, f입력 대칭변환(g; f개의 변환 함수로, 대칭성을 갖는 것)을 임의로 선택하고, 엔티티(i)의 개인키(Kif)를 엔티티(i)의 식별자(yi)에 대하여 Xif(ξ1,…, ξf-1)=g(yi,ξ1,…, ξf-1)를 만족시키는 f-1입력변환으로 하여 결정하는 것이다. 여기서, 첨자인 ξ는 임의의 식별자를 나타내는 변수이다. 이경우, 상기 선형변환은 f입력 대칭변환(g)의 핵이 다중선형사상(f중선형사상)에 따르도록 발견할 수 있고, 이 선형변환은 기본적으로 유환체에서의 선형공간에서 정의되고, 환에서의 잉여류로 일반화된다.
본 시스템은 f=2로 할 경우의 것으로, 상기 선형 변환은 다음과 같이 정의된다.
이하의 설명에 있어서, 센터(1)에 속하는 엔티티의 집합을 E, 식별자 집합을 I, 공통암호키 집합을 K로 한다(도 1참조). 또, Q를 단위원을 갖는 가환환(可換環), J를 Q의 위수(m)의 잉여류, K를 Q상의 위수(h)의 잉여류로 하고, J, K의 원소는 각각 m-수직벡터, h-수직벡터로 한다. 또, Q가 입체이면 J, K는 각각 차원(m,h)의 선형공간이 된다. 또, 위수(m)는 식별자의 총수와 같다.
또, R을 I에서 J로의 사상을 구성하는 선형변환으로 하고, 이하, 아이덴티티 변환이라 한다. 이 아이덴티티 변환은 상기 실시형태의 시스템에 대응시키면, 기본적으로 식별자의 데이터에 가중함수 있는 푸리에 변환(적분변환)을 실시하는 변환에 상당하고, 또한 후기와 같이 상기 임의 변환도 포함하는 변환으로 확장된다.
이상의 사실을 전제로 하여, 우선, J2(J의 두개 원래 원소를 요소로 하는 집합)에서 공통암호키의 집합(K)에의 대칭 Q의 다중선형사상((2입력 대칭변환)g: J2→K)이 임의로 선택되어 결정된다. 이 g는 임의의 두 식별자를 각각 아이덴티티 변환한 것에서 이들의 식별자에 대응한 공통암호키를 생성하기 위한 변환에 상당한다.
또, 어떤 주어진 식별자(yi;∈I)에 대하여 Q상의 h행 m열의 행렬(xi)이 xi·η=g(R(yi),η)를 만족하도록 결정된다. 여기서 η는 Q상의 임의의 m-수직벡터로, J의 요소이다(이하, 동일).
또한, 어떤 주어진 yi(∈I)에 대하여 Xi(ξ)=Xi·R(ξ)(단, ξ은 I의 임의의 요소이다. 이하 동일)가 되게 1입력변환(Xi(ξ))을 구성한다.
이 Xi(ξ)는 엔티티(i)에 대한 개인키이고 상기 개인키 Xi(ξ)는 1입력변환(Vi)을 상기 행렬(Xi)을 사용하여 Vi(η)=xi·η로 정의할 때, 아래 차식에 의해 표시된다.
Xi(ξ)=Vi(R(ξ))
또한, 센터가 복수개 존재할때, Vi(η)=xi·η의「xi」부분은 각 센터마다 상기와 같이 결정되는 행렬(xi)의 총계로 치환된다.
이같이 개인키 Xi를 정의할 때, 상기 사실로 쉽게 알 수 있듯이 임의의 엔티티(a, b ∈E)에 대하여 Xa(yb)=Xb(ya)가 된다. 즉, 엔티티(a, b)가 각 개인키(Xa, Xb)에 상대측 식별자(yb, ya)를 입력하면 공통의 암호키 Xa(yb)=Xb(ya)가 얻어진다.
또, 상기 다중선형 사상(g) 대신 다변수 다항식을 선택했다 해도 본 시스템의 선형변환의 적용범위에 포함된다. 그 이유는 임의의 다항식이 미지수의 집합의 적당한 변환에 의해 선형 다항식으로 바뀐다는 사실과, 이같은 변환은 상기 아이덴티티 변환(R)중에 흡수될 수 있다는 사실에 따른다. 또한, 몇개의 변환은 선형변환과 지수함수와 같은 연산의 합성이라 볼 수 있다.
다음에, 본 시스템의 선형변환의 실행성능과 아이덴티티 변환(R)의 역할에 대하여 설명한다.
임의의 변환(A)에 대하여 Cd(A), Ce(A)를 각각 변환(A)의 기술의 복잡함, 및 변환(A)의 평가의 복잡함으로 한다. 이때, 상기 변환 Xi, R, Vi에 대하여 다음 관계식이 성립된다.
Cd(Xi)=Cd(R)+Cd(Vi)
Ce(Xi)≤Ce(R)+Ce(Vi)
이 경우, 개인키를 나타내는 변환(Xi)의 입력(식별자)이 W[비트]로 기술된다고 하면 변환(Vi)의 기술의 복잡함 Cd(Vi)에 대해서는
Cd(Vi)=h·m·W[비트]
가 성립된다. 또, 변환(Vi)의 기술의 복잡함 Ce(Vi)에 대해서는
Ce(Vi)=O(h·m)[Q-연산]
이 성립된다. 여기서 O(h·m)[Q-연산]은 가환환(Q)에서의 h·m의 차수를 의미하고, 이 값은 대개 O(W2)[비트 변환], 즉, W2의 차수에 의해 평가된다. 그리고, 작은 가환환(Q(가령 갈로아체 GF[2]))을 선택했을 때 Ce(Vi)는 낮게 된다.
따라서, 변환(Xi)의 기술의 복잡함 Cd(Xi) 및 평가의 복잡함(Ce(Xi))은 아이덴티티 변환(R)의 기술의 복잡함 Cd(R) 및 평가의 복잡함 Ce(R)에 크게 의존한다.
여기서, 시스템을 파괴하려는 하나 또는 복수의 엔티티(j)가 각 개인키(Xj)를 이용할 경우에 대하여 고찰한다.
분명히 본 시스템을 완벽하게 파괴하는 것은 상기 다중선형 사상(g:J2→K)을 결정하는 것이다. 이 경우, 시스템을 완전하게 파괴하는 것은 센터가 협력하든지 또는 다중선형사상(g)의 위수와 같은 수(이것은 대개 식별자 총수(m(=J의 위수))와 같다)인 엔티티의 협력이 필요하고, 실제로 불가능하다.
또한, 일부 엔티티(j)에 의한 다른 엔티티(i)의 개인키(Xi)의 결정 가능성에 대하여 고찰한다. 이 문제에 대해서는 이하 설명과 같이 아이덴티티 변환(R)이 중요한 역할을 한다.
우선「엔티티 전체의 집합(E)의 부분집합(B)의 모든 엔티티(j)가 협력하여 그들 엔티티(j∈B)가 각 개인키(j)의 전체{Xj|j∈B}를 사용했다 하여도 집합(E-B)내 임의의 엔티티(i)의 개인키(Xi)를 결정하기 위하여 유용한 어떤 정보도 얻을 수 없다」고 하는 것은「E-B내의 각 엔티티(i)에 있어서 아이덴티티 변환 R(yi)이 B내의 엔티티(j)의 각 아이덴티티 변환(R(yi))이 전체{R(yj)|j∈B}에서 선형독립이다」라고 하는 것과 같은 값이라는 것이 쉽게 도출된다. 따라서, 본 시스템의 선형변환의 정보이론적인 안전성은 집합{R(yi)|i∈E}의 임의의 부분집합(u)이 선형독립이라는 사실로 귀착된다. 따라서, 선형변환과 선형 대수학적인 순열조합과의 사이에는 밀접한 관계가 있고, 선형변환의 안전성을 평가하는 것은, 특히 m행 n열(여기서 n=#E=e엔티티(E)의 총수이다)의 패러티체크행렬(H=(R(yl),…, R(yn)))에 의해 정의되는 선형부호 LR={z∈Qn|H·z=O}, 즉, 패러티체크행렬(H)과의 곱이 영벡터가 되는 가환환(Q)에서의 n-수직벡터로 표시되는 부호어(z)의 집합을 고찰하는 것이 중요하다. 소위 해밍율(s)(hamming)의 부호어(z(∈LR))가 존재한다는 것과, S-1개 엔티티(j)의 협력으로 특정 엔티티(i)의 개인키(Xi)를 도출할 수 있다는 것과 같은 값인 것이 쉽게 도출된다.
한편, 이하와 같이 아이덴티티 변환(R)을 개별화하는(아이덴티티 변환(R)을 각 엔티티에 고유의 것으로 한다)것으로써 다수의 엔티티가 결탁하여도 시스템을 파괴하기 어렵게 된다. 즉, 가령 시스템을 파괴하려 하는 각 엔티티(j(j∈B))의 아이덴티티 변환(R(yi))의 집합{R(yi)|j∈B}에 대해 다른 엔티티(i)의 아이덴티티 변환(R(yi))이 선형 종속이고, R(yi)=∑Cj·R(yj)(단, Cj는 적당한 계수)이면 상기 개인키의 정의에서 분명한 바와같이, 엔티티(i)의 개인키(Xi) 및 엔티티(j(j∈B))의 개인키(Xj)에 대하여 Xi=∑Cj·Xj가 성립된다. 이 때문에 시스템을 파괴하려하는 각 엔티티(j)의 집합(B)은 쉽게 다른 엔티티(i)의 개인키(Xi)를 알 수 있게 된다. 그러나, 아이덴티티 변환(R)을 개별화할 경우 상기 변환(R)은 각 엔티티에 고유한 것이기 때문에 부여된 엔티티(j)의 집합(B)에 대하여 다른 개인키(Xi)를 해독할 수 있는 식별자(yi)를 갖는 엔티티(i)를 발견하는 것이 쉽지 않다. 환언하면, 집합(B)의 엔티티(j)는 이 엔티티들이 소지하는 개인키(Xj)등의 정보에서 어느 엔티티(i)의 개인키(Xi)를 해독할 수 있는지 알 수 없다. 또, 반대로 주어진 식별자(yi)를 갖는 엔티티(i)에 대하여 상기 개인키(Xi)를 해독할 수 있는 식별자(yj)를 포함한 집합(B)을 발견하는 것도 쉽지 않다. 환언하면 해독하고자 하는 개인키(Xi)를 갖는 엔티티(i)를 특정지워도 상기 개인키(Xi)를 해독하기 위하여 어느 엔티티끼리 결탁하면 좋을지 알 수 없다. 이와같이 아이덴티티 변환(R)을 개별화하는 것은, 시스템의 복잡한 이론적 안전성을 높이는 데에 본질적으로 중요한 일이다.
이와같이 엔티티 변환(R)을 개별화할 경우, 각종 선형변환을 선택할 수 있고, 이것들은 기본적으로 2개의 범주로 구별된다.
그 하나는, 대응하는 선형부호(LR)가 갖는 종래 대수학적 또는 대수기하학적 부호가 되는 아이덴티티 변환(R)을 사용할 경우이고, 다른 하나는 아이덴티티 변환(R)을 엔티티마다 개별적으로 임의화할 경우이다.
이 경우, 전자의 방법은 안전성 때문에 식별자 총수(n)를 큰 것으로 하면 필요한 데이터량이 대규모가 되는 경향이 있다. 가령, 원시요소가 α이고 Q=GF(q):갈로아체로 하고, 또, h=1, β를 α의 ξ승(logβ=ξ·logα)으로 하며, 또한 R(ξ)=[l, β, β2,…, βm-1]T로 하고, I가 {0, 1, 2,…, n-1}로 부호화되었다고 한다. 이 아이덴티티 변환(R)은 한개의 방향성을 갖지 않기 때문에 엄밀한 선형변환은 아니지만 상기 롤프 블롬의 논문「An Optimal Class of Symmetric Key Generation Systems」중에 제안된 선형변환에 상당하고, 선형부호(LR)는 소위 리드솔로몬(Reed-Solomon)부호에 상당한다. 그리고, 이 방법에서 네트워크내의 엔티티 총수 (n)는 갈로아체(Q=GF(q))에 있어서의 q보다 작을 필요가 있고, 가령 n=1012의 경우에 이 방법을 적용하면 최소 Q는 GF(240)가 되어 매우 대규모의 데이터량이 필요하다.
이에 비해, 아이덴티티 변환(R)을 엔티티마다 개별적으로 임의화하는 후자의방법은, 상기 실시형태로 상기 임의 변환에 의해 실현화한 방법이고, 이 방법에 따르면 식별자 총수(m(본 시스템에서 이것은 엔티티 총수(n)와 같다))이 크더라도 고속 처리가 가능하고 또한 소규모 데이터량으로 족한 다수의 아이덴티티 변환(R)이 존재한다.
한편, 이미 알려진 바르샤모프·길버트의 점근적 한계식을 도출하는 것과 같은 방법으로 상기 한계식에 대응하는 다음 관계식이 얻어진다.
m/n+r≤Ф(b/n)
단, r=m·logq(q-l)
여기서 Ф는
Ф(u)=u·logq(q-l)-u·logqu
-(l-u)logq(l-u)
에 의해 정의되는 함수이다. 또, 상기 부등식중 b는 시스템을 파괴하려고 하는 엔티티(j)의 총수(=#B)이다.
상기 부등식은 시스템을 파괴하기 위해 필요한 엔티티(j)총수(b)의 한계를 규정하는 것으로, 이 부등식이 성립되지 않은 엔티티수(b)에서는 시스템을 깰 수 없음을 뜻한다.
그리고, 이 부등식에 의거하여 임의의 m 및 b에 대하여 겨우 b개의 엔티티(j)가 공모하더라도 다른 엔티티(i)의 개인키(Xi)를 해독할 수 없는 아이덴티티 변환(R)이 존재한다는 것이 도출된다. 또, 아이덴티티 변환(R)의 개별적인 임의화는 많은 경우 상기와 같은 조건을 만족하면서 양호한 선형독립의 구조를 가져온다는 것도 알 수 있다.
따라서, 본 시스템은 아이덴티티 변환(R)의 개별적 임의화에 의해 안전성 높은 시스템을 제공할 수 있는 것이다. 환언하면 본 시스템은 아이덴티티 변환(R)의 개별적 임의화에 의해 상기 변환(R)의 기술의 복잡성 Cd(R) 및 평가의 복잡성 Ce(R)을 높이고, 게다가 개인키(Xi)의 기술의 복잡성 Cd(Xi) 및 평가의 복잡성 Ce(Xi)를 높여서 시스템 안전성도 확보한 것이다.
실제로, 가령 Q=GF[2], m=8192, h=64로 할 경우, Cd(Xi)=64[Kbyte]가 된다. 이 경우, 160비트의 공통암호키에 의해 최대 10120개의 엔티티까지 포함하는 시스템의 임의의 2개의 엔티티간 암호통신을 할 수 있다. 그리고, 가령 클록 200MHz로 32비트 CPU와 640Kbyte의 메모리를 사용할 경우, 20ms이내로 각 개인키를 산출할 수 있다. 또한, 이 시스템은 8192개의 엔티티가 결탁하지 않으면 시스템을 완전히 파괴할 수 없고, 또, 각 엔티티의 개별적 임의화에 의해 256개 이상의 엔티티가 결탁하지 않으면 다른 엔티티의 개인키에 대한 어떤 정보도 얻을 수 없다.
또, 상기 실시형태는 센터알고리즘으로서 가중함수 및 푸리에 변환 알고리즘외에 센터행렬을 설정하였으나 가중함수 자체를 센터 행렬로 사용하는 것도 가능하다.
또, 상기 실시형태는 적분변환으로서 푸리에 변환을 사용하였으나 라플라스변환, 밀러변환, 힐베르트 변환 등, 다른 형식의 적분변환을 사용하여도 된다.
본 발명은, 개인 컴퓨터 통신망 등의 네트워크에 있어서, 공통키방식에 따른 암호통신을 간단하고 안전하게 할 수 있는 방법으로서 유용하다.

Claims (15)

  1. 복수의 엔티티와 센터를 포함한 네트워크에 있어서, 통신하는 엔티티간 통신데이터의 암호·해독화를 하기 위한 공통 암호키를 양 엔티티가 소유하는 방법으로서,
    사전에 상기 센터는, 각 엔티티에 고유하고 또 공개적인 식별자를, 상기 센터만이 보유하는 각 엔티티에 공통이며 또 적어도 적분변환 알고리즘을 포함한 센터알고리즘에 의해 변환하여 각 엔티티에 고유의 개인키를 생성함과 동시에 상기 개인키와 상기 적분변환 알고리즘을 각 엔티티에 배부해 두고,
    상기 엔티티간 상호 통신할 때, 서로 통신상대측 식별자에 자신이 보유하는 상기 적분변환 알고리즘 및 상기 개인키를 작용시킴으로써 상기 엔티티간 공통 암호키를 소유하는 것을 특징으로 하는 암호키 공유방법.
  2. 제 1 항에 있어서, 상기 적분 변환 알고리즘은 가중함수가 부가된 적분변환 알고리즘인 것을 특징으로 하는 암호키 공유방법.
  3. 제 2 항에 있어서, 상기 가중함수는 상기 센터에서 생성된 난수데이터에 의해 예상할 수 없는 패턴으로 결정되는 것을 특징으로 하는 암호키 공유방법.
  4. 제 3 항에 있어서, 상기 난수데이터는 일회성 난수데이터인 것을 특징으로 하는 암호키 공유방법.
  5. 제 1 항 또는 제 2 항에 있어서, 상기 적분변환 알고리즘은 푸리에 변환 알고리즘인 것을 특징으로 하는 암호키 공유방법.
  6. 제 1 항에 있어서, 상기 센터는, 상기 식별자를 상기 센터알고리즘에 의해 변환한 것에 다시 각 엔티티에 고유하고 또한 각 엔티티가 알 수 없는 일회성 개별 난수데이터에 의해 임의 변환을 실시하여 상기 개인키를 생성함과 동시에, 상기 개인키에 포함되는 상기 임의 변환의 성분을 제거하기 위한 알고리즘과 상기 적분변환 알고리즘으로 되는 식별자 변환 알고리즘을 상기 개인키와 함께 각 엔티티에 배부해 두고,
    상기 엔티티간 상호통신할 때, 서로 통신상대측 식별자에 자신이 보유하는 상기 식별자 변환 알고리즘 및 상기 개인키를 작용시킴으로써 상기 엔티티간 공통 암호키를 소유하는 것을 특징으로 하는 암호키 공유방법.
  7. 제 6 항에 있어서, 상기 임의 변환은, 상기 각 엔티티의 식별자를 상기 센터알고리즘에 의해 변환한 것을 나타내는 데이터 열을 상기 일회성 개별 난수데이터에 의해 배치를 변환함으로써 행하는 것을 특징으로 하는 암호키 공유방법.
  8. 제 7 항에 있어서, 상기 엔티티의 식별자를 상기 센터알고리즘에 의해 변환한 것을 나타내는 데이터 열은 복수의 불요비트를 포함하고, 상기 임의 변환은 상기 불요비트값을 상기 일회성 개별 난수데이터에 의해 임의화하고, 다시 상기 불요비트를 포함한 상기 데이터열 전체의 배치를 변환함으로써 행하는 것을 특징으로 하는 암호키 공유방법.
  9. 제 6 항에 있어서, 상기 일회성 개별 난수데이터는 상기 각 엔티티의 소정의 처리에 의해 생성되는 것을 특징으로 하는 암호키 공유방법.
  10. 제 9 항에 있어서, 상기 소정의 처리는 상기 각 엔티티의 인간에 의한 입력조작이고, 상기 입력조작의 시간적 타이밍에 의거하여 상기 일회성 개별 난수데이터를 생성하는 것을 특징으로 하는 암호키 공유방법.
  11. 복수의 엔티티와 센터를 포함한 네트워크에 있어서, 통신하는 엔티티간 통신데이터의 암호·해독화를 하기 위한 공통 암호키를 양 엔티티가 소유하는 방법으로서,
    사전에 상기 센터는, 각 엔티티에 고유하고 또한 공개적인 식별자를 상기 센터만이 보유하는 각 엔티티에 공통의 센터알고리즘에 의해 변환한 것에, 각 엔티티에 고유하고 또한 각 엔티티에는 알 수 없는 일회성 개별 난수데이터에 의해 임의 변환을 실시하여 상기 엔티티에 고유의 개인키를 생성함과 동시에 상기 개인키 및 상기 개인키에 포함되는 상기 임의 변환의 성분을 제거하는 알고리즘을 포함하는 식별자 변환 알고리즘을 각 엔티티에 배부해 두고,
    상기 엔티티간 상호 통신할 때, 서로 통신상대측 식별자에 자신이 유지하는 상기 식별자 변환알고리즘 및 개인키를 작용시킴으로써 상기 엔티티간 공통 암호키를 소유하는 것을 특징으로 하는 암호키 공유방법.
  12. 제 11 항에 있어서, 상기 임의 변환은, 상기 각 엔티티의 식별자를 상기 센터 알고리즘에 의해 변환한 것을 나타내는 데이터 열을 상기 일회성 개별 난수데이터에 의해 배치를 변환함으로써 행하는 것을 특징으로 하는 암호키 공유방법.
  13. 제 12 항에 있어서, 상기 각 엔티티의 식별자를 상기 센터알고리즘에 의해 변환한 것을 나타내는 데이터 열은 복수의 불요비트를 포함하고, 상기 임의 변환은 상기 불요비트값을 상기 일회성 개별 난수데이터에 의해 임의화하고, 또한 상기 불요비트를 포함하는 상기 데이터 열 전체의 배치를 변환함으로써 행하는 것을 특징으로 하는 암호키 공유방법.
  14. 제 11 항에 있어서, 상기 일회성 개별 난수데이터는 상기 각 엔티티의 소정의 처리에 의거하여 생성하는 것을 특징으로 하는 암호키 공유방법.
  15. 제 14 항에 있어서, 상기 소정의 처리는 상기 각 엔티티의 인간에 의한 입력조작이고, 상기 입력조작의 시간적 타이밍에 의거하여 상기 일회성 개별 난수데이터를 생성하는 것을 특징으로 하는 암호키 공유방법.
KR1019980706491A 1996-02-21 1997-02-19 암호키 공유방법 KR19990087103A (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP96-70832 1996-02-21
JP7083596 1996-02-21
JP96-70835 1996-02-21
JP7083296 1996-02-21
JP96-210376 1996-07-08
JP21037696 1996-07-08

Publications (1)

Publication Number Publication Date
KR19990087103A true KR19990087103A (ko) 1999-12-15

Family

ID=27300451

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1019980706411A KR19990082665A (ko) 1996-02-21 1997-02-19 공통키 통신방법
KR1019980706491A KR19990087103A (ko) 1996-02-21 1997-02-19 암호키 공유방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1019980706411A KR19990082665A (ko) 1996-02-21 1997-02-19 공통키 통신방법

Country Status (9)

Country Link
US (2) US5987128A (ko)
EP (2) EP0792043A3 (ko)
KR (2) KR19990082665A (ko)
CN (2) CN1211362A (ko)
AU (2) AU1732597A (ko)
CA (2) CA2247509A1 (ko)
IL (2) IL125829A0 (ko)
TW (2) TW395104B (ko)
WO (2) WO1997031448A1 (ko)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6788788B1 (en) * 1998-09-16 2004-09-07 Murata Kikai Kabushiki Kaisha Cryptographic communication method, encryption method, and cryptographic communication system
KR100484209B1 (ko) * 1998-09-24 2005-09-30 삼성전자주식회사 디지털컨텐트암호화/해독화장치및그방법
US7065210B1 (en) * 1999-01-25 2006-06-20 Murata Kikai Kabushiki Kaisha Secret key generation method, encryption method, cryptographic communications method, common key generator, cryptographic communications system, and recording media
US6907034B1 (en) * 1999-04-08 2005-06-14 Intel Corporation Out-of-band signaling for network based computer session synchronization
US7080255B1 (en) * 1999-05-19 2006-07-18 Murata Kikai Kabushiki Kaisha Secret key generation method, encryption method, and cryptographic communications method and system
US6694025B1 (en) 1999-06-02 2004-02-17 Koninklijke Philips Electronics N.V. Method and apparatus for secure distribution of public/private key pairs
US7203834B1 (en) * 1999-12-02 2007-04-10 International Business Machines Corporation Method of updating encryption keys in a data communication system
JP2001211153A (ja) * 2000-01-25 2001-08-03 Murata Mach Ltd 秘密鍵生成方法
US20010054147A1 (en) * 2000-04-04 2001-12-20 Richards Ernest S. Electronic identifier
US6718038B1 (en) * 2000-07-27 2004-04-06 The United States Of America As Represented By The National Security Agency Cryptographic method using modified fractional fourier transform kernel
CN1471665A (zh) * 2000-08-29 2004-01-28 NTRU����ϵͳ��˾ 增速密码法与装置
KR20020081227A (ko) * 2000-10-18 2002-10-26 코닌클리케 필립스 일렉트로닉스 엔.브이. 공통 암호 키의 생성
EP1233570A1 (en) * 2001-02-16 2002-08-21 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Method and system for establishing a wireless communications link
US20020146127A1 (en) * 2001-04-05 2002-10-10 Marcus Wong System and method for providing secure communications between wireless units using a common key
EP1396142B8 (en) * 2001-06-12 2005-06-08 International Business Machines Corporation Method of authenticating a plurality of files linked to a text document
US9210137B2 (en) * 2001-08-24 2015-12-08 Thomson Licensing Local digital network, methods for installing new devices and data broadcast and reception methods in such a network
US20040019791A1 (en) * 2002-07-24 2004-01-29 Congruence, Llc Code for object identification
US7190791B2 (en) * 2002-11-20 2007-03-13 Stephen Laurence Boren Method of encryption using multi-key process to create a variable-length key
CA2458123C (en) * 2003-03-13 2012-05-15 Synodon Inc. Remote sensing of gas leaks
AU2003242598A1 (en) * 2003-05-29 2005-01-21 Pirelli & C. S.P.A. Method, system and computer program for the secured management of network devices
ATE514294T2 (de) * 2003-09-26 2011-07-15 Ericsson Telefon Ab L M Verbesserter sicherheitsentwurf für die kryptographie in mobilkommunikationssystemen
KR100561846B1 (ko) * 2003-10-08 2006-03-16 삼성전자주식회사 가중된 비밀 공유 및 복원 방법
EP1533971A1 (en) * 2003-11-18 2005-05-25 STMicroelectronics S.r.l. Method and system for establishing secure communication
CN100421372C (zh) * 2003-11-18 2008-09-24 华为技术有限公司 一种安全发送传输密钥的方法
DE60315853D1 (de) * 2003-12-24 2007-10-04 St Microelectronics Srl Verfahren zur Entschlüsselung einer Nachricht
WO2005067199A1 (ja) 2003-12-26 2005-07-21 Mitsubishi Denki Kabushiki Kaisha 被認証装置及び認証装置及び認証方法
JP2005210193A (ja) * 2004-01-20 2005-08-04 Matsushita Electric Works Ltd 共通秘密鍵生成装置
CN100459492C (zh) * 2004-12-09 2009-02-04 中国电子科技集团公司第三十研究所 一种适用于同步数字系列的加密方法
CN100446016C (zh) * 2005-11-17 2008-12-24 北京兆维电子(集团)有限责任公司 一种实现数据安全保护的系统
ES2392854T3 (es) * 2006-02-10 2012-12-14 Qualcomm Incorporated Ocultación de identidades temporales de equipos de usuario
US8422674B2 (en) * 2007-05-29 2013-04-16 International Business Machines Corporation Application-specific secret generation
US8332635B2 (en) * 2007-05-29 2012-12-11 International Business Machines Corporation Updateable secure kernel extensions
US8433927B2 (en) * 2007-05-29 2013-04-30 International Business Machines Corporation Cryptographically-enabled privileged mode execution
US7886162B2 (en) * 2007-05-29 2011-02-08 International Business Machines Corporation Cryptographic secure program overlays
DE102007058163A1 (de) 2007-09-28 2009-04-23 Continental Automotive Gmbh Tachograph, Maut-On-Board-Unit, Anzeigeinstrument und System
US8332636B2 (en) * 2007-10-02 2012-12-11 International Business Machines Corporation Secure policy differentiation by secure kernel design
CN101183938B (zh) * 2007-10-22 2011-11-23 华中科技大学 一种无线网络安全传输方法、系统及设备
KR20100134745A (ko) * 2008-04-14 2010-12-23 코닌클리케 필립스 일렉트로닉스 엔.브이. 분산형 아이덴티피케이션을 위한 방법, 네트워크 내의 스테이션
US7522723B1 (en) 2008-05-29 2009-04-21 Cheman Shaik Password self encryption method and system and encryption by keys generated from personal secret information
CN101807997B (zh) * 2010-04-28 2012-08-22 中国工商银行股份有限公司 一种生成传输密钥的装置及方法
CN102279908B (zh) * 2010-06-08 2014-03-12 安凯(广州)微电子技术有限公司 一种数字内容的保护方法及系统
US8897442B2 (en) * 2010-07-23 2014-11-25 Nippon Telegraph And Telephone Corporation Encryption device, decryption device, encryption method, decryption method, program, and recording medium
US20120079462A1 (en) * 2010-09-24 2012-03-29 SoftKrypt LLC Systems and methods of source software code obfuscation
US10797879B2 (en) * 2018-07-03 2020-10-06 Lawrence Liu Methods and systems to facilitate authentication of a user
CN110351084B (zh) * 2019-07-17 2022-02-08 伟志股份公司 一种城市基础测绘数据保密处理方法
CN111355645A (zh) * 2020-03-06 2020-06-30 海信(广东)空调有限公司 家用电器、云端服务器及其对应的传输数据的方法
CN113162896A (zh) * 2020-12-23 2021-07-23 哈尔滨工业大学 基于三项加权分数傅里叶变换的物理层安全发射方法
CN114363858A (zh) * 2022-03-21 2022-04-15 苏州浪潮智能科技有限公司 蜂窝车联网协同通信的会话及注册方法、系统及相关组件

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3798605A (en) * 1971-06-30 1974-03-19 Ibm Centralized verification system
US4238853A (en) * 1977-12-05 1980-12-09 International Business Machines Corporation Cryptographic communication security for single domain networks
DE3789769T2 (de) * 1986-07-31 1994-08-11 Advance Kk System zur erzeugung eines gemeinsamen geheimübertragungsschlüssels und kommunikationssystem unter verwendung des gemeinsamen geheimübertragungsschlüssels.
JPS63314585A (ja) * 1987-06-17 1988-12-22 日本電気株式会社 順序変換表作成装置
DE4010305A1 (de) * 1990-03-30 1991-10-02 Gao Ges Automation Org Zufallszahlengenerator
US5202921A (en) * 1991-04-01 1993-04-13 International Business Machines Corporation Method and apparatus for authenticating users of a communication system to each other
US5297208A (en) * 1992-08-05 1994-03-22 Roger Schlafly Secure file transfer system and method
JPH07175411A (ja) * 1993-12-20 1995-07-14 Csk Corp 暗号システム
FR2719925B1 (fr) * 1994-05-10 1996-06-07 Bull Cp8 Procédé pour produire une clé commune dans deux dispositifs en vue de mettre en Óoeuvre une procédure cryptographique commune, et appareil associé.
US5606615A (en) * 1995-05-16 1997-02-25 Lapointe; Brian K. Computer security system
US5778069A (en) * 1996-04-10 1998-07-07 Microsoft Corporation Non-biased pseudo random number generator

Also Published As

Publication number Publication date
EP0792042A2 (en) 1997-08-27
WO1997031449A1 (fr) 1997-08-28
CN1211362A (zh) 1999-03-17
KR19990082665A (ko) 1999-11-25
WO1997031448A1 (fr) 1997-08-28
US5987129A (en) 1999-11-16
CA2247509A1 (en) 1997-08-28
IL125832A0 (en) 1999-04-11
TW395104B (en) 2000-06-21
AU1732597A (en) 1997-09-10
IL125829A0 (en) 1999-04-11
TW395103B (en) 2000-06-21
EP0792042A3 (en) 2000-12-27
EP0792043A3 (en) 2000-12-20
AU1732497A (en) 1997-09-10
CN1211363A (zh) 1999-03-17
CA2247478A1 (en) 1997-08-28
EP0792043A2 (en) 1997-08-27
US5987128A (en) 1999-11-16

Similar Documents

Publication Publication Date Title
KR19990087103A (ko) 암호키 공유방법
Mushtaq et al. A survey on the cryptographic encryption algorithms
EP2228942B1 (en) Securing communications sent by a first user to a second user
EP1876748B1 (en) Privacy-preserving concatenation of strings
AU2010266760B2 (en) Method for generating an encryption/decryption key
Baumslag et al. A course in mathematical cryptography
CN108847934B (zh) 一种多维量子同态加密方法
JPH08510365A (ja) データ暗号化のための方法および装置
CN110120873B (zh) 基于云外包交易数据的频繁项集挖掘方法
CN114443718A (zh) 一种数据查询方法及系统
Liu et al. Quantum protocol for millionaire problem
Kwon et al. Efficient and secure password-based authentication protocols against guessing attacks
Kumar et al. Hybridization of Cryptography for Security of Cloud Data
JP2886517B2 (ja) 共通鍵通信システム
CN115642999A (zh) 一种用于私有信息高效检索的方法及系统
Murugan An efficient algorithm on quantum computing with quantum key distribution for secure communication
JP2886516B2 (ja) 暗号鍵共有システム
CN112422278A (zh) 面向字节的随机多表替换加密与解密方法
JP2004246350A (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
Moldovyan et al. Randomized pseudo-probabilistic encryption algorithms
CN115277267B (zh) 一种文档安全加解密方法
Bhat et al. A secure two-party PIR for privacy applications
Oguntunde et al. A comparative study of some traditional and modern cryptographic techniques
Singh et al. Encryption algorithms with emphasis on probabilistic Encryption & time stamp in network security
Radhakrishna et al. Digital Image Encryption and Decryption based on RSA Algorithm

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid