KR102383829B1 - 안전하게 메시지를 교환하기 위한 방법, 이 방법을 구현하기위한 장치 및 시스템 - Google Patents

안전하게 메시지를 교환하기 위한 방법, 이 방법을 구현하기위한 장치 및 시스템 Download PDF

Info

Publication number
KR102383829B1
KR102383829B1 KR1020150081868A KR20150081868A KR102383829B1 KR 102383829 B1 KR102383829 B1 KR 102383829B1 KR 1020150081868 A KR1020150081868 A KR 1020150081868A KR 20150081868 A KR20150081868 A KR 20150081868A KR 102383829 B1 KR102383829 B1 KR 102383829B1
Authority
KR
South Korea
Prior art keywords
key
encryption
message
bit length
operands
Prior art date
Application number
KR1020150081868A
Other languages
English (en)
Other versions
KR20150142623A (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 KR20150142623A publication Critical patent/KR20150142623A/ko
Application granted granted Critical
Publication of KR102383829B1 publication Critical patent/KR102383829B1/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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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
    • 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

Landscapes

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

Abstract

본 발명은 장치들에 공통인 공유된 비밀 키(K)를 저장하고 있는 적어도 두개의 장치(D1,D2) 사이에서 메시지(M)를 안전하게 교환하는 방법에 관한 것으로,
각각의 장치에서,
- 난수(R1,R2)를 생성하고, 이어서 다른 장치를 이를 송신하고,
- 상기 비밀키와 각각의 난수에 기반하여 제1 연산에 의해 제1 키(K1)를 결정하고,
- 상기 제1 키와 상기 난수에 기반하여 제2 키(K2)를 결정하고,
송신 장치(D1)에서,
- 메시지(M)와 난수에 기반하여 의사 메시지(M')를 결정하고,
- 의사 메시지(M')와 제2 키(K2)에 기반하여 암호문(C)을 계산하고 송신하며,
수신 장치(D2)에서,
- 상기 제2 키에 의해 암호문(C)을 해독하고,
- 의사 메시지(M')로부터 메시지(M)을 검색한다.

Description

안전하게 메시지를 교환하기 위한 방법, 이 방법을 구현하기위한 장치 및 시스템{CRYPTOGRAPHIC METHOD FOR SECURELY EXCHANGING MESSAGES AND DEVICE AND SYSTEM FOR IMPLEMENTING THIS METHOD}
본 발명은 서로 접속된 장치들 사이에서 데이터를 전송하는 분야에 관한 것으로, 이들 장치 사이에서 교환되는 메시지의 종류에 상관 없이 안전하게 송신하고 수신할 수 있는 암호화 동작을 포함하는 것에 관한 것이다.
DES(Data Encryption Standard) 또는 AES(Advanced Encryption Standard) 등의 암호화 알고리즘을 포함하는, 임의의 종류의 전자 장치를 연결하는 미보안(unsedured) 채널 또는 네트워크를 통해 데이터를 암호화하고 해독화하는 많은 종류의 방법이 알려져 있다. 이를 위해, 비밀 해독 키(secret decryption key)가 없으면 메시지를 이해할 수 없도록 만들기 위해 메시지를 스크램블링하도록 암호화 동작을 수행하는 암호화 구성요소가 제공된다. 이들 구성요소는 통상적으로 CMOS 기술(Complementary Metal Oxide Semiconductor technology)에 따라 구현된다. 그런 구성요소에서 구현된 암호화 알고리즘은 수학적 관점에서 보아 충분히 안전한 것으로 여겨진다. 그러나, 이런 알고리즘은 이 알고리즘의 논리적 기능(functions)을 생성하기 위해 상호연결된 트랜지스터를 구비한 집적회로에 의해 물리적으로 구현되어, 관측가능한 물리적 퀀티티(quantities)를 생성시킨다. 그러한 퀀티니의 관측은 오실로스코프의 수단에 의해 수행될 수 있는데, 집적회로의 파워 소모를 관찰하는 것을 예로 들 수 있다. 갑작스러운 파워 소모의 변동은 오실로스코프의 스크린 상에서 피크(peak)로서 출현된다. 각각의 피크는, 통상적으로 암호화하기 위한 입력 메시지가 "라운드"로 불리는 연속적인 동작들(operations)의 그룹에 인가되는 DES 및 AES와 같은 알고리즘에서, 소위 "라운드(raound)"로 불리는 기점(start)을 식별할 수 있다. 이런 알고리즘에 따르면, 각각의 라운드는 이전 라운드로부터 얻어진 서브-키(sub-key)의 제어하에서 배치된다. 따라서, 그런 알고리즘은 알고리즘 내의 초기 키(initial key)로서 사용된 비밀 키(secret key)로부터 유도되는 일련의 서브-키를 포함한다. 불법 사용자에 의해 이 초기 비밀 키가 알려지는 경우, 불법 사용자는 대칭 암호화 스킴(scheme)에 따라 동일한 비밀 키를 가진 동일한 알고리즘을 사용하는 대응하는 장치들에서 교환되는 어떤 메시지라도 해독화하고 정확하게는 암호화도 할 수 있게 된다.
초기 비밀키를 회수하기 위해 암호화 회로를 공격하는 여러가지 방법이 있다. 일부 공격은 이들이 회로의 파워 소모, 전자기적 방사물(electromagnetic emanation) 또는 프로세싱 타임을 관착하는 목적으로 사용되기 때문에 비침습성(non-invasive) 공격으로서 알려져 있다. 다른 공격은 침습성 공격으로 알려져 있으며, 이들은 회로를 변경, 특히 짧은 랩 타입(short lapse of time) 동안의 그 특성(behavior)를 변경하는 것을 포함한다. 이 마지막 카테고리에서, 어떤 암호화/해독화 시스템에 대해서도 심각한 위협으로서 차분 오류 분석(DFA(differential fault analysis))이 알려져 있다. 차분 오류 분석은 두개의 상이한 상태하에서 암호화 회로에 의해 제공되는 출력의 관측 및 비교에 기반한다. 이들 상태 중 하나는 회로의 일반 동작에 대응하고, 반면 다른 하나는 0에서 1 또는 그 역으로의 스위칭에 의해 하나 또는 복수의 비트를 변경(alter)하는 것을 겨냥한 자발적인 오류 주입(voluntarily injecting a fault)에 의해 획득된다. 이런 물리적 비트 역전(inversion)은 일례로 레이저 빔으로 집적 회로의 표면을 스위칭하는 것에 의해 수행될 수 있다. 암호화 회로 내에 감응 영역(sentitive areas)을 위치시키는 것에 의해, 레이저 샷(shots)은 정확하고 쉽게 회로의 특성(behavior)을 방해(disrupting)할 수 있고, 이들은 컴퓨터의 제어하에서 구현되기 때문에, 시공간적(spatial and temporal)으로 우수한 리솔루션(resolution)을 갖고 동작한다. 암호화 알고리즘의 프로세싱동안 복수의 오류가 주입되면 잘못된 출력(erroneous output)의 분석은, 알고리즘 내에서 오류 전파(fault propagations)를 관측하는 것에 의해 비밀 키가 추측되는 것을 허용한다.
따라서, 공격자가 차분 오류 분석을 통해 비밀 키를 추측하는 것을 방지할 수 있는, 보다 일반적으로는 임의의 종류의 분석에 의해 획득된 정보를 통해 그와 같은 키가 추측되는 것을 방지할 수 있는 유효한 해결책을 제공할 필요가 있다.
본 발명의 목적은 적어도 전술한 단점의 일부분을 해결하는 것을 목적으로 한다.
전술한 목적을 달성하기 위해, 본 발명은 적어도 두개의 장치 사이에서 안전하게 데이터를 교환하기 위한 암호화 방법 및 장치를 제공하고, 이는 복잡한 암호화 프로세스의 구현을 포함한다.
본 발명에 따르면, 대칭키로서 동일한 시스템의 모든 장치에 의해 공유되는 비밀키는 교환된 데이터의 암호화/해독화 키로서 직접적으로 사용되지 않는다. 또한, 동일한 시스템의 장치들 사이에서 교환되는 메시지를 암호화/해독화하는데 사용되는 이 키는 특히 복수의 난수(random numbers)에 항상 의존한다. 보다 구체적으로, 각각의 장치는 적어도 하나의 난수를 발생하고 이는 교환 메시지의 암호화/해독화에 이용되는 키를 판정하는데 고려된다. 따라서 시스템이 3개의 장치를 포함한다면, 전술한 키는 적어도 3개의 난수에 의존하게 된다.
또한, 추가적인 키 레벨은 교환될 데이터를 암호화/해독화하기 전에 판단된다. 따라서 본 발명의 방법은 메시지를 암호화/해독화하기 위해 3개의 키 레벨을 포함한다. 또한, 교환될 메시지는 전송되어진 암호를 생성하는 알고리즘의 입력 데이터로서 직접적으로 이용되지 않고, 첫번째 의사 메시지(pseudo message)를 생성하기 위해 각각의 난수와 함께 언제나 이용되고, 이어서 전술한 암호화 알고리즘에 의해 암호화될 것이다.
바람직하게 난수는 메시지가 교환될 때마다 갱신된다. 따라서 본 발명은 불법적인 사용자가 공유된 비밀키를 차분 오류 분석을 포함하는 어떤 공격을 통해서라도 추측하는 것을 방지한다. 또한 의사 메시지와 암호화를 위해 이용된 유도키(derived key)에 의해 제공된 복잡성(complexity)으로 인하여, 본 발명의 암호화 방법은 높은 레벨의 보안성에 도달될 수 있다.
본 발명의 목적과 이점은 청구항 제1항에 기재된 암호화 방법과 청구항 제11항에 기재된 장치에 의해 달성될 수 있다.
본 발명의 다른 이점과 실시예에 대해서 이하의 상세한 설명을 통해 설명하도록 한다.
본 발명에 따르면 전술한 목적을 달성할 수 있다.
본 발명은 첨부된 도면을 통해 보다 명확하게 이해될 수 있다.
도 1은 본 발명의 제1 실시예에 따른 시스템을 개략적으로 도시한 도면.
도 2는 본 발명의 암호화 방법의 예시적인 실시예를 나타낸 흐름도.
도 3은 도 2의 흐름도의 대안적인 예를 나타낸 도면.
도 4는 도 1에 도시된 시스템의 장치 중 하나를 개략적으로 나타낸 도면.
도 1을 참조하면, 도 1은 본 발명의 방법 및 복수의 장치가 구현된 시스템 실시예를 개략적으로 나타낸다. 도 1에 도시된 통신 시스템은 임의적인 방식에 의해 서로 접속된 3개의 장치(D1,D2,D3)를 나타낸다. 장치 D1, D2, D3 등의 개수는 제한됨이 없고, 이 도면에 도시된 시스템은 장치의 접속 또는 장치의 수의 관점에서 다른 많은 가능한 실시예 중 일례를 나타낸다. 이런 시스템은 인터넷 또는 다른 종류의 접속(유선 또는 무선) 등과 같은, 특히 보안되지 않은 접속(unsecured connection)을 통해서 서로 접속된 두개의 장치만을 포함할 수도 있다.
각각의 장치 D1, D2, D3는 적어도 하나의 다른 장치, 바람직하게는 시스템 내의 다른 모든 장치와 메시지 M를 교환할 수 있다. 이들 메시지 M은 보안되어 교환됨에 따라, 이들은 이 도면에서 자물쇠로 스탬프된 봉투(envelopes)로서 도시되었다. 보안 메시지 M를 암호화하거나 해독화하기 위해서, 각각의 장치 D1, D2, D3는 적어도 3개의 암호키(cryptographic keys) K, K1, K2를 제어해야만 한다. 이들 키 중 하나는, 시스템의 모든 장치 D1, D2, D3에 대해 공통인 공유 비밀키(shared secret key) K이다. 이 비밀키 K는 장치 D1, D2, D3 또는 그 연관된 칩셋의 제조 중에, 또는 그들의 개별화 단계(personalization stage) 동안 이후에 또는 초기화 단계(initializaation phase) 동안 구현될 수 있다.
이 도면에서 개략적으로 도시된 바와 같이, 각각의 장치는 R1, R2, R3로 표식된 다른 데이터를 주고 받는다. 이런 데이터는 난수(random numbers)로 언급된다. 각각의 장치(예를 들면 D1)는 다른 장치 D2, D3로 전송되는 하나의 난수 R1를 생성하고, 다른 장치 D2, D3의 각각으로부터 생성된 난수 R2, R3를 수신한다. 도 1에 의해 제공된 개요에 기초하여, 적어도 두개의 장치 사이에서 메시지 M을 안전하게 교환하는 방법을 도 2를 참조하여 이하에 상세히 설명한다.
간단 명료함을 위해서, 참조번호 10과 20으로 식별되는 두개의 장치 D1, D2만을 포함하는 시스템을 참조하여 본 발명의 방법을 차례로 설명한다. 이 도면에서, 이들 장치의 각각에 의해 수행되는 단계가 몇개의 컬럼에서 위에서 아래로 순차적으로 도시된다. 장치들 각각에 의해 모두 수행되는 공통의 단계는 중앙의 컬럼에 표시된다. 이들 공통 단계들은 각각의 장치에 의해 개별적으로 수행되는 것에 주의해야 한다. 메시지의 교환을 위해 공통의 단계가 각각의 장치 내에서 동시적으로 수행될 필요는 없다.
전술한 바와 같이, 각각의 장치 D1, D2는 상호 메시지를 교환하기 원하는 모든 장치에 대해 공통인 공유된 비밀키 K를 포함한다. 이 비밀키 K는 도 2의 박스 31 내에 도시된다. 이 실시예에서, 장치 D1은 메시지 M을 장치 D2에 전송하고자 한다. 따라서, 제1 장치 D1은 송신 장치에 대응하고, 제2 장치 D2는 수신 장치에 대응한다. 도면에서 하나의 수신 장치만이 도시되었지만, 동일한 메시지 M은 소신 장치로부터 복수의 수신 장치로 보내질 수있다. 박스 11에서 송신 장치 D1은 전송되어질 메시지 M을 준비 또는 검색(retrieve)한다. 이런 메시지 M은 모든 종류의 데이터로 언급될 수 있지만 일반적으로는 중요데이터(sensitive data)로서 언급할 수 있고, 그 유형(nature)은 통신 시스템에 포함된 장치의 종별(type)에 주로 의존한다.
각각의 장치 D1, D2는, 다른 장치에, 바람직하게는 두개 이상의 장치를 포함하는 시스템의 경우 복수의 선택된 장치들 또는 모든 다른 장치들에, 메시지를 송신하기 전에 난수를 생성한다. 이 단계는 박스 12, 21에 도시되며, 송신 장치 D1은 수신 장치 D2로 보내질 제1 난수 R1을, 그리고 수신 장치 D2는 송신 장치 D1으로 보내질 제2 난수 R2를 생성한다. 각각의 장치에 의한 나수의 상호 교환을 수행하는 것은, 이들 장치들이 당면한 메시지(upcoming messange) 교환을 위한 사전 동의를 하지 않았더라도, 예를 들면 이전의 단계 동안 이들 장치에 의해 인식되는 특정 신호의 수단에 의해, 획득될 수 있다. 이 경우, 난수 R1(즉 특정 식별자를 통해 또는 특정 포맷의 수단에 의해 식별될 수 있는 데이터)을 수신하는 것은 수신 장치(들)에 의해 송신 장치로부터 메시지 M이 반듯이 수신된다는 것을 알리는 트리거 신호로서 인식될 수 있다라는 단순한 사실이 기대될 수 있다. 따라서 각각의 장치는 본 방법의 요구되는 단계를 적당한 시간내에 완전히 수행할 수 있게 된다.
또한 시스템이 두개 이상의 장치를 포함하는 경우, 도 1에 도시된 바와 같이, 어느 하나는, 필요시 수신 장치에서 송신 장치를 식별할 수 있는 수단을 제공할 수 있다. 송신 장치와 수신 장치(들) 사이에 통신이 수립되지 않은 경우, 예를 들면 커런트 세션(current session) 동안, 송신 장치의 어드레스를 식별하거나 수신 장치를 향해 송신 장치의 식별자(ID)를 전달하는 것이 이용가능한 방식일 수 있다. 이는, 예를 들면 난수 R1에 송신 장치 D1을 소유하는 ID 번호를 첨부하거나, 다른 데이터에 ID를 포함시키는 것으로 달성된다.
박스 33에서, 각각의 장치 D1, D2는 피연산자(operands)로서 공유된 비밀키 K와, 각각의 난수 R1, R2 모두를 사용하는 제1 연산 OP1을 계산하는 것에 의해 제1 키 K1을 결정한다. 도 2에 의해 제공된 실시예에서, 제1 연산 OP1은, 다른 후속된 연산을 포함하여, 비-제한적인 예로서 배타적 OR 연산으로 언급된다. 바람직한 실시예에 따르면, 박스 33에 나타낸 바와 같이, 제1 연산 OP1의 결과는 제1 키 K1로 직접적으로 이용된다.
박스 35에서, 각각의 장치 D1, D2는 피연산자로서 적어도 각각의 난수 R1, R2를 이용하는 제2 연산 OP2를 후속하여 계산한다. 이어서, 제2 연산 OP2의 결과에 기초하여, 각각의 장치 D1, D2는 제2 키 K2를 결정한다. 박스 35의 예에 따르면, 이는 제1 키 K1을 암호키로서 사용하는, A1으로 표식된, 제1 알고리즘의 수단에 의해, 제2 연산 OP2의 결과를 암호화하는 것으로 수행된다. 따라서 제2 연산, 또는 직접적으로는 그 결과는 요구된 제1 암호키 K1과 함께 제1 알고리즘 A1으로 입려고된다. 이에 대응하여, 이 제1 알고리즘은 출력으로서 제2 암호키 K2를 제공한다.
박스 14에서, 송신 장치 D1으로 동작하는 장치는 피연산자로서 메세지 M과 각각의 난수 R1, R2를 모두 이용하는 제3 연산 OP3를 계산한다. 이런 방식으로, 송신 장치 D1은 소위 의사 메시지 M'를 결정하고, 의사 메시지는 메시지 M에 기반하지만 후자가 암호화되어 있지 않더라도 초기 메시지 M과는 상이하게 보여진다.
박스 16에서, 송신 장치 D1은 의사 메시지 M'의 암호화로부터 얻어지는 암호문(cryptogram) C를 계산한다. 이를 위해, 이는 암호키로서 제2 키 K2와 함께 제2 알고리즘 A2의 입력으로서 의사 메시지 M'를 이용한다.
박스 18에서, 암호문 C는 송신 장치에 의해 수신 장치로서 동작하는 적어도 하나의 다른 장치에 전달된다.
수신 장치 D2가 암호문 C를 획득하면, 박스 23에 도시한 바와 같이 동일한 알고리즘 A2와 동일한 키 K2의 수단에 의해 이를 해독하는 것이 가능하다. 이를 위해, 제2 알고리즘 A2는 복귀(reverted)될 수 있는 2방향 펑션(two-way function)(도 2에서 A2-1 표기됨)이거나 이를 포함한다. 물론, 동일한 알고리즘은 송신 장치와 수신 장치 모두에 의해 사용되어야만 한다. 바람직한 실시예에 따르면, 제2 키 K2는 제2 알고리즘의 직접 또는 간접 해독키로서 이용된다. 간접 키로서 제2 키 K2를 사용하는 것을 도 3을 참조하여 이하에 설명한다. 어느 경우에 있어서도, 암호문 C의 해독은 제2 알고리즘 A2의 결과로서 의사 메시지 M'를 검색(retrieve)하는 것을 허용한다.
최종적으로, 박스 25에서, 각각의 수신 장치 D2는 의사 메시지 M'로 부터 제3 연산 OP3를 반전(reversing)(도 2에서 OP3-1)하는 것에 의해 그 초기 평문 형태인 메시지 M을 검색한다.
제1 알고리즘 A1은 제2 알고리즘 A2와 상이하거나 동일할 수 있다. 그러나, 제2 알고리즘과 반대로, 제1 알고리즘은 제2 키 K2를 제공하는 1방향 펑션(펑션 자체일 수 있음)을 사용한다. 따라서, 이런 제2 키 K2는 예를 들면 해시 함수의 다이제스트(digest)이거나 그런 함수로부터 유도될 수 있다.
어떤 알고리즘(A1,A2)이 이 방법에 이용되었든지, 이들은 메세지 교환을 원하는 모든 장치들에 대해 동일해야만 한다. 이들 알고리즘은 각각의 장치 내에서, 예를 들면 장치의 제조 동안, 그들의 개별화 동안 또는 초기화 단계 동안, 상이한 방식을 통해 구현될 수 있다.
다시 도 3을 참조하면, 도 3은 도 2에 도시된 방법의 마지막 단계를 나타내고, 여기서 박스 37은 이전 플로우차트의 대안으로서 추가적인 단계를 나타낸다. 이런 변형은 제2 키 K2가 제2 알고리즘 A2에서 간접적인 암호화/해독화 키로서 이용된 경우에 대응한다. 이를 위해, 제3 키 K3은 각각의 장치 D1, D2에서 피연산자로서 제2 키 K2와 공유된 비밀키 K 모두를 이용하는 제4 연산 OP4에 의해 결정된다. 박스 37에 도시한 바와 같이, 제4 연산 OP4의 결과는 제3 암호키 K3을 제공한다.
알고리즘과 유사한 방식으로, 모든 연산 OP1, OP2, OP3, OP4 또는 이들의 일부는 장치의 제조 중에, 그들의 개별화 동안, 또는 초기화 단계 동안 각각의 장치 내에서 구현될 수 있다.
송신 장치 D1에 있어서, 박스 37로 나타낸 단계는 제2 키 K2(박스 35의 단계에서 결정됨)가 필요하기 때문에 박스 35와 박스 16 사이의 단계에서 수행되고, 이 추가적인 단계의 결과는 제2 알고리즘 A2에 이용된다(박스 16으로 나타낸 단계 동안). 수신 장치(들) D2에 있어서, 이 추가의 단계는 동일한 이유로 박스 35와 박스 23의 사이의 단계에서 수행된다.
도 3에 도시된 바와 같이, 제2 알고리즘 A2로의 제2 키 K2의 사용은(예를 들면, 박스 16과 박스 23의 단계들 내에), 제3 키 K3에 의해 치환되어진다. 이는 제2 키 K2가 이들 단계에 간접적인 방식으로 이용된 사실로 기인한다. 이런 이유로, 이들 두개의 박스들의 참조 번호는 도 3에서 각각이 16'와 23'로 각각이 부여되었다.
도 2 또는 도 3에 도시된 특정 단계는 상이한 순서로 배치될 수 있음에 주의할 필요가 있다. 예를 들면, 박스 14의 단계는 난수 R1, R2의 교환(박스 12, 21)과 의사 메시지 M'의 암호화(박스 16, 16') 사이의 어디에서도 수행될 수 있다. 동일한 이론이 전술한 바와 같이 박스 37의 단계에 적용된다.
하나의 실시예에 따르면, 적어도 연산 OP1, OP2, OP3, OP4 중 적어도 일부분은 논리 연산(부울대수(boolean algebra))을 포함한다. 보다 구체적으로, 이 논리 연산은 배타적 OR 연산(도 2 및 도 3에서 심볼 표식
Figure 112015055932835-pat00001
를 참조)이다. 다른 논리적 함수(베이직 및/또는 유도 연산)이 XOR 연산자 대신에 또는 XOR 연산자와 함께 이용될 수 있다.
다른 실시예에 따르면, 적어도 연산 OP1, OP2, OP3, OP4 중 적어도 일부분은 거듭제곱 수(a number raised to a power)를 포함한다. 이 경우, 연관된 연산의 어느 피연산자라도 이 연산의 다른 피연산자 중 선택된 수의 지수(exponent)로서 이용될 수 있다.
논리적 연산을 수행하기 위해, 포함된 피연산자는 동일한 디지트 숫자를 가져야만 한다. 다른 말로, 이 연산은 2진 연산(binary operations)으로 언급되므로, 피연산자는 동일한 비트 길이를 가져야 한다. 따라서 예를 들면 박스 33(OP1)에서 수행되는 연산의 종류에 기반하여, 난수 R1, R2의 비트 길이와 공유된 비밀키 K의 비트 길이는 모두 동일해야만 한다. 박스 35의 예에서 도시된 바와 같은 제2 연산 OP2와 관련해서, 난수 R1, R2는 동일한 비트 길이를 가져야만 한다. 동일한 이론이 한편으로 제3 연산에서 난수 R1, R2와 메시지 M 모두에 적용되고, 다른 한편으로 제4 연산에서 암호키 K2와 키 K에 적용된다.
이런 이유로, 연산 OP1, OP2, OP3, OP4의 어느 하나의 피연산자가 상이한 비트 길이를 가진다면, 본 발명의 방법은 이들 피연산자의 각각에 대한 동일한 비트 길이를 재건(restore)하는 단계를 더 포함한다. 이를 위해서, 동일한 비트 길이를 재건하는 것은 여러 상이한 방식으로 획득될 수있다.
본 발명의 일실시예에 따르면, 이는 그 비트 길이가 관련 연산의 다른 피연산자의 어느 것의 비트 길이와 동일해질 때 까지 최소 비트를 가진 피연산자를 보충(supplement)하기 위한 "밸런싱 단계"에 의해 획득된다. 이어서 이 밸런싱 단계는 관련 연산의 모든 피연산자가 동일한 비트 길이를 가질 때 까지 반복될 수 있다. 피연산자를 보충하는 단계는 일련의 비트 0에 의해, 일련의 비트 1에 의해, 심지어 이들 두개의 비트 0과 1의 일련된 특정 조합에 의해서도 획득될 수 있다. 물론 선택된 일련의 비트는 예를 들면, 장치 또는 그 칩셋의 개별화 동안 이전에 설명한 어느 프로세스를 통해서 송신 장치와 수신 장치(들)의 모두에 의해 알려져있어야만 한다.
변형예에서, 이 밸런싱 단계는 최소 비트를 가진 피연산자를, 다른 피연산자(바람직하게는 가장 긴 비트 길이를 가진 피연산자)의 비트 길이가 보충된 피연산자의 비트 길이의 배수와 동일해질 때 까지 보충하는 것에 의해 획득될 수 있다.
다른 실시예에 따르면, 소위 밸런싱 단계는 최소 비트 길이를 가진 피연산자를 다른 피연산자와 같은 비트 길이에 도달할 때 까지 그 자신에 사슬연결(concatenating)시키는 것에 의해 수행될 수 있다. 이런 접근법은 최대 비트 길이를 가진 피연산자가 다른 피연산자(사슬연결된 피연산자)의 배수인 것을 암시한다. 어느 피연산자가 다른 피연산자의 정확한 배수가 아닌 경우, 전술한 사슬연결은, 사슬연결된 피연산자의 비트 길이보다 작은 잔여값(residual value) 만큼 감소된 비트 길이에 도달할 때가지 수행될 수 있다. 이 잔여 비트 길이는 유클리드 나눗셈(Euclidean division)의 나머지에 대응하고, 여기서 최대 비트 길이를 가진 피연산자는 피제수(dividend)이고 사슬연결할 피연산자는 제수(divisor)이다. 이어서, 잔여 비트 길이(즉 잔여값)는 전술한 바와 같이 일련의 비트에 의해 보충될 수 있다.
특히 제3 연산 OP3과 관련한 이들 실시예의 하나의 예로서, 동일한 비트 길이를 재건하는 것은 메시지 M의 비트 길이와 동일한 비트 길이에 도달할 때 까지 난수를 그 자신과 사슬연결하는 것에 의해 난수 R1, R2의 각각에 대해 획득될 수 있다. 이 실시예는 난수 R1, R2가 동일한 비트 길이를 가지고 메시지 M의 비트 길이가 난수의 비트 길이의 배수인 것을 포함한다. 후자의 조건이 이루어지지 않으면 잔여 비트 길이는 전술한 것 처럼 보충될 수 있다.
계속하여 제3 연산 OP3을 참조한 변형예에서, 동일한 비트 길이를 재건하는 것은 먼저 메시지 M의 비트 길이가 난수 R1, R2의 어느 하나의 비트 길이의 배수와 동일해질 때 까지 메시지 M을 보충하고, 이어서 보충된 메시지 M을 난수의 비트 길이와 동일한 비트 길이를 가지는 블록들로 분할(slicing)하는 것에 의해 획득될 수 있으며, 이는 이들 블록들의 각각을 본 발명의 암호화 방법의 단계에 의해 처리되어질 새로운 메시지(M)로서 이용하기 전에 수행된다.
다른 실시예에 따르면, 또한 발명의 명료함을 위해, 본 발명의 방법에 이용된 암호키는, 바람직하게 적어도 제2 키 K2와 공유된 비밀키 K는, 동일한 비트 길이를 가진다. 동일한 이유로, 모든 난수 R1, R2 역시 동일한 비트 길이를 가진다.
유리하게, 각각의 장치에서 난수를 생성하는 것, 그리고 암호문 C의 계산에 이용되는 암호키 K2, K3를 유도하고 암호화를 위한 의사 메시지 M'를 결정하기 위해 생성된 모든 난수를 사용하는 것에 의해, 본 발명의 대상은 교환 메시지 M에 부여되는 보안성을 매우 향상시킨다.
여전히 유리하게, 난수 중 하나가 부정 사용자에 의해 추측되는 경우에도, 부정 사용자는 의사 메시지 M'를 암호화하는데 이용되어진 키를 추정할 수 없다. 또한, 그 크가 그런 부정 사용자에 의해 발견될수 있다고 하더라도, 원본의 메시지 M으로 재건하도록 주어진 의사 메시지 M'로부터 초기 메시지 M을 여전히 검색할 수 없다. 부정 사용자는 먼저 모든 난수를 소유해야만 하고, 이어서 본 발명에서 취해진 제3 연산(OP3)이 무엇인지를 알아야만 한다. 또한 이는 본 연산에 사용된 모든 연사자를 알아야만 하고, 본 연산의 특성에 기반하여 본 연산에 이용된 각각의 연산자와 피연산자의 순서를 알아야만 한다.
여전히 유리하게, 공유된 비밀키 K는 본 발명의 방법에서 구현된 암호화 알고리즘 A1, A2의 어느 하나에서도 암호키로서 직접 사용되지 않는다. 반대로, 공유된 비밀키 K만이 수학적 연산 OP1, OP4 에서 이용되고 그 결과는 후속하여 이들 알고리즘 내에서 키로서 이용된다. 따라서 공유된 비밀키 K는 암호화 알고리즘 내에서 첫번째 플랜(plan)에서 절대 직접 노출되지 않는다.
바람직하게, 본 발명의 단계는 메시지 M이 교환될 때마다 수행된다. 이는 본 방법의 실시예가 무엇이든지 간에 적용될 수 있다. 따라서, 각각의 장치에서 생성되는 난수는 새로운 메시지가 송신될 때 마다 각각의 장치에 의해 새로운 난수가 생성되어 한번만 사용된다. 따라서 공유된 비밀키 K는 메시지 M이 교환되는 한 상이하다. 이는 안전하게 메시지를 교환하는 강력한 방법, 특히 DFA 공격을 방지하는 방법을 제공한다.
최종적으로, 메시지 M은 모든 어떤 타입의 데이터라도 포함할 수 있고, 특히 패스워드, 제어 워드, 암호키 또는 기타 기밀 정보와 같은 중요 데이터를 포함할 수 있다.
본 발명은 전술한 방법의 임의적인 실시예를 구현하는데 적합한 장치 또는 시스템으로 언급될 수도 있다.
도 4를 참조하면, 도 4는 도 1의 시스템에 도시된 장치 10, 20을 더 상세하게 도시한 도면이다. 이 장치는 송신 장치 D1 또는 수신 장치 D2로서 차별없이 이용될 수 있고, 바람직하게 송신 및 수신 장치로서 모두 이용될 수 있다. 이를 위해, 장치는 적어도 다음의 구성요소를 포함한다.
- 특히 적어도 하나의 다른 장치와의 데이터 교환을 위해, 데이터 교환(M', R1, R2,...)을 위한 통신 인터페이스(1),
- 공유된 비밀키 K를 저장하기 위한 보안 메모리(2)
- 메시지 M이 교환될 때, 바람직하게는 그런 메시지가 교환될 때 마다, 난수 R1을 생성하기 위한 난수 생성기(3)
- 입력으로서 피연산자(예를 들면, R1, R2, K, M)를 사용하여 연산(OP1, OP2, OP3, OP4)으로부터의 적어도 하나의 결과값을 출력하는 적어도 하나의 계산 유닛(7),
- 적어도 하나의 암호키(K1,K2,K3)의 수단에 의해 알고리즘(A1,A2)을 수행하는 적어도 하나의 암호화 유닛(8), 및
- 전술한 암호화 방법의 단계에 따라서 전술한 구성요소(1,2,3,7,8)의 관리를 담당하는 중앙 처리 유닛(5)
장치(10,20)는 중요데이터가 안전하게 교환되어야 하는 모든 경우에 이용될 수 있다. 이런 장치는 다른 장치 내로 삽입되기에 적합한 스마트카드 또는 칩셋등과 같은 전자 회로(집적 회로, 바람직하게는 모놀리식 회로)의 형태일 수 있다. 다른 장치는 셋탑-박스(유료 TV 분야), 스마트폰, 또는 기타 통신 장치일 수도 있다. 변형예에서, 그런 스마트카드는 제어 단말과 통신하기 위한, 예를 들면, 액세스 카드, 은행 카드(신용 카드 또는 지불카드)와 같은 독립식 장치일 수도 있다.
각각의 연산 OP1, OP2, OP3, OP4의 계산은 상이한 연산을 수행하도록 구성된 단일 계산 유닛(7) 또는 이들 연산 중 하나만으로 전용된 복수의 계산 유닛(7)을 이용하여 수행될 수 있다. 동일한 이론이 알고리즘 A1, A2와 관련하는 암호화 유닛(8)에 적용될 수 있다.
본 발명은 도 1에 도시된 시스템으로도 언급된다. 이 시스템은 전술한 방법의 임의의 실시예를 구현하기 위해 서로 접속된 적어도 두개의 암호화 장치(10)를 포함한다. 이 시스템의 각각의 장치(10,20)는 본 발명의 대상으로서 제안된 장치의 상세한 설명 동안 리스되어진 구성요소들 적어도 포함한다. 또한, 이 시스템의 임의의 장치는 부가적인 특징 중 적어도 하나를 포함한다.

Claims (13)

  1. 적어도 제1 장치(D1) 및 제2 장치(D2) 사이에서 메시지(M)를 안전하게 교환하는 암호화 방법으로서, 제1 장치(D1) 및 제2 장치(D2) 각각은 제1 장치(D1) 및 제2 장치(D2)에 공통인 공유된 비밀 키(K)를 저장하고 있는 암호화 방법에 있어서,
    - 제1 장치(D1)에서 난수(R1)을 생성하고, 제2 장치(D2)에서 난수(R2)를 생성하는 단계;
    - 제1 난수(R1)를 제2 장치(D2)로 송신하고, 제2 난수(R2)를 제1 장치(D1)로 전송하는 단계;
    - 제1 장치(D1) 및 제2 장치(D2)에서, 상기 공유된 비밀키(K)와 제1 난수(R1) 및 제2 난수(R2)를 피연산자로서 사용하는 제1 연산(OP1)을 계산하여 제1 키(K1)를 결정하는 단계로서, 제1연산(OP1)은 K1=R1
    Figure 112021127310371-pat00006
    R2
    Figure 112021127310371-pat00007
    K 인, 제1 키(K1)을 결정하는 단계;
    - 제1 장치(D1) 및 제2 장치(D2)에서, 암호키로서 상기 제1 키(K1)를 사용하는 제1 알고리즘(A1)으로 제2 연산(OP2)의 결과를 암호화하는 것에 의해 제2 키(K2)를 결정하는 단계로서, 제2 연산(OP2)은 피연산자로서 적어도 각각의 난수(R1,R2)를 이용하는 R1
    Figure 112021127310371-pat00008
    R2이며, 제1 알고리즘(A1)은 K2=[R1
    Figure 112021127310371-pat00009
    R2]K1 인, 제2 키(K2)를 결정하는 단계;
    - 제1 장치(D1) 및 제2 장치(D2) 중 하나에 의해, 메시지(M)와 각각의 난수(R,R2)를 모두 피연산자로서 사용하는 반전가능한 제3 연산(OP3)을 계산함으로써 의사 메시지(M')를 결정하는 단계로서, 제3 연산(OP3)는 M'=M
    Figure 112021127310371-pat00010
    R1
    Figure 112021127310371-pat00011
    R2인, 의사 메시지(M')를 결정하는 단계;
    - 제1 장치(D1) 및 제2 장치(D2) 중 하나에 의해, 직접 또는 간접 암호키로서 제2 키(K2)를 사용하는 제2 알고리즘으로 상기 의사 메시지(M')를 암호화하여 얻어진 암호문(C)을 계산하는 단계;
    - 송신 장치로서 동작하는 제1 장치(D1) 및 제2 장치(D2) 중 제1 장치(D1)로부터 수신 장치로서 동작하는 제1 장치(D1) 및 제2 장치(D2) 중 제2 장치(D2)로 상기 암호문(C)을 전송하는 단계;
    - 상기 수신 장치로서 동작하는 제2 장치(D2)에서 상기 암호문(C)을 수신하는 단계;
    - 상기 의사 메시지(M')를 복원하도록, 상기 수신 장치로서 동작하는 제2 장치(D2)에서, 상기 제2 알고리즘의 직접 또는 간접 해독키로서 제2 키(K2)를 이용하여 상기 암호문(C)을 해독하는 단계; 및
    - 상기 제3 연산을 반전하는 것에 의해 상기 의사 메시지(M')로부터 상기 메시지(M)를 검색하는(retrieving) 단계;를 포함하고,
    부호
    Figure 112021127310371-pat00012
    는 배타적 OR(Exclusive OR) 연산인, 암호화 방법.
  2. 제1항에 있어서,
    상기 제2 알고리즘내에서 간접 암호키 또는 해독키로서 상기 제2 키(K2)의 사용은, 각각의 장치에서 피연산자로서 제2 키(K2)와 공유된 비밀키(K)를 사용하는 제4 연산에 의해 결정된 제3 키(K3)에 의해 수행되는 암호화 방법.
  3. 제1항에 있어서,
    상기 연산 중 적어도 일부분은 논리 연산을 포함하는 암호화 방법.
  4. 제3항에 있어서,
    상기 논리 연산은 배타적 OR 연산인 암호화 방법.
  5. 제1항에 있어서,
    상기 연산 중 어느 하나의 피연산자가 상이한 비트 길이를 가지면 상기 피연산자의 각각에 대해 동일한 비트 길이를 재건(restoring)하는 암호화 방법.
  6. 제5항에 있어서,
    동일한 비트 길이를 재건하는 것은 최소 비트 길이를 가진 피연산자를, 그 비트 길이가 임의의 다른 피연산자의 비트 길이와 동일하게될 때까지 보충(supplement)하도록 겨냥된 밸런싱 단계에 의해 획득되고, 상기 밸런싱 단계는 모든 피연산자(또는 보충된 피연산자)가 동일한 길이를 가질때까지 반복되는 암호화 방법.
  7. 제6항에 있어서,
    상기 밸런싱 단계는 최소 비트 길이를 가진 피연산자를, 다른 피연산자와 동일한 비트 길이에 도달할 때 까지 또는 사슬연결된 피연산자의 비트 길이보다 작은 잔여값(rasidual value) 만큼 감소된 비트 길이에 도달할 때 까지, 그 자신과 사슬연결(concatenaing)하는 암호화 방법.
  8. 제7항에 있어서,
    상기 밸런싱 단계는 제3 연산에 적용되고, 최소 비트 길이를 가진 피연산자는 상기 난수(R1,R2) 중 어느 하나인 반면, 다른 피연산자는 메시지(M)인 암호화 방법.
  9. 제1항에 있어서,
    상기 제1 알고리즘은 일방향 함수를 이용하는 암호화 방법.
  10. 제1항에 있어서,
    상기 연산 중 적어도 어느 하나의 적어도 일부분은 거듭제곱 수(a number raised to a power)를 포함하고, 피연산자 중 어느 것이라도 다른 피연산자 중에서 선택된 상기 거듭제곱 수의 지수로서 이용되는 암호화 방법.
  11. 제1항 내지 제10항 중 어느 하나에 기재된 암호화 방법을 구현하기 위한 암호화 장치(10,20)에 있어서, 암호화 장치는 복수의 구성요소를 포함하고, 복수의 구성요소는,
    데이터 교환을 위한 통신 인터페이스(1), 공유된 비밀키(K)를 저장하기 위한 보안 메모리(2), 난수(R1,R2)을 생성하기 위한 난수 생성기(3), 입력으로서 피연산자를 사용하는 연산의 결과값을 출력하는 적어도 하나의 계산 유닛(7), 적어도 하나의 암호키(K1,K2,K3)에 의해 알고리즘을 수행하는 적어도 하나의 암호화 유닛(8), 및 상기 암호화 방법의 단계에 따라서 구성요소들의 관리를 전담하는 중앙 처리 유닛(5)을 포함하는 암호화 장치.
  12. 제11항에 있어서,
    상기 장치는 모놀리식 회로인 암호화 장치.
  13. 제1항 내지 제10항 중 어느 한 항에 기재된 암호화 방법을 구현하기 위해 서로 연결된 적어도 두개의 암호화 장치(10,20)를 포함하는 시스템에 있어서,
    상기 장치의 각각은, 데이터 교환을 위한 통신 인터페이스(1), 공유된 비밀키(K)를 저장하기 위한 보안 메모리(2), 난수(R1,R2)을 생성하기 위한 난수 생성기(3), 입력으로서 피연산자를 사용하는 연산의 결과값을 출력하는 적어도 하나의 계산 유닛(7), 적어도 하나의 암호키(K1,K2,K3)에 의해 알고리즘을 수행하는 적어도 하나의 암호화 유닛(8), 및 상기 암호화 방법의 단계에 따라서 구성요소들의 관리를 전담하는 중앙 처리 유닛(5)을 포함하는
    시스템.
KR1020150081868A 2014-06-12 2015-06-10 안전하게 메시지를 교환하기 위한 방법, 이 방법을 구현하기위한 장치 및 시스템 KR102383829B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP14172225.6A EP2955871B1 (en) 2014-06-12 2014-06-12 Cryptographic method for securely exchanging messages and device and system for implementing this method
EP14172225.6 2014-06-12

Publications (2)

Publication Number Publication Date
KR20150142623A KR20150142623A (ko) 2015-12-22
KR102383829B1 true KR102383829B1 (ko) 2022-04-06

Family

ID=50933051

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150081868A KR102383829B1 (ko) 2014-06-12 2015-06-10 안전하게 메시지를 교환하기 위한 방법, 이 방법을 구현하기위한 장치 및 시스템

Country Status (11)

Country Link
US (1) US9648026B2 (ko)
EP (1) EP2955871B1 (ko)
JP (1) JP6499519B2 (ko)
KR (1) KR102383829B1 (ko)
CN (1) CN105207772B (ko)
AU (1) AU2015202994A1 (ko)
CA (1) CA2893067C (ko)
DK (1) DK2955871T3 (ko)
ES (1) ES2619613T3 (ko)
NZ (1) NZ708697A (ko)
SG (1) SG10201504276RA (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015225651A1 (de) * 2015-12-17 2017-06-22 Robert Bosch Gmbh Verfahren und Vorrichtung zum Übertragen einer Software
SG10201609247YA (en) * 2016-11-04 2018-06-28 Huawei Int Pte Ltd System and method for configuring a wireless device for wireless network access
US9741671B1 (en) * 2016-11-10 2017-08-22 Nxp B.V. Semiconductor die with backside protection
US10778424B2 (en) * 2017-02-27 2020-09-15 Cord3 Innovation Inc. Symmetric cryptographic method and system and applications thereof
CA3056814A1 (en) 2017-02-27 2018-08-30 Cord3 Innovation Inc. Symmetric cryptographic method and system and applications thereof
CN108199832B (zh) * 2017-12-28 2021-02-26 东华大学 一种cloc认证加密算法抵御差分故障攻击的检测方法
US11606688B2 (en) 2019-02-20 2023-03-14 Coretigo Ltd. Secure key exchange mechanism in a wireless communication system
KR102080438B1 (ko) 2019-05-21 2020-02-21 오세정 마시는 모링가 수의 제조방법, 이에 의해 제조된 모링가 수, 그리고 모링가 원액 추출 장치, 그리고 모링가 원액 추출 장치
EP3761556A1 (en) * 2019-07-04 2021-01-06 Basf Se New method for pseudo-random number generation for information encryption
KR20210131114A (ko) 2020-04-23 2021-11-02 한국전자통신연구원 신경망 동기화에 기반한 비밀키 생성 방법 및 장치
US11924339B2 (en) 2021-04-15 2024-03-05 Real Random IP, LLC System and method for secure end-to-end electronic communication using a privately shared table of entropy

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040071291A1 (en) 2001-02-08 2004-04-15 Fabrice Romain Secure method for secret key cryptographic calculation and component using said method
US20070177720A1 (en) 2004-03-11 2007-08-02 Oberthur Card Systems Sa Secure data processing method based particularly on a cryptographic algorithm

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01122227A (ja) * 1987-11-06 1989-05-15 Konica Corp 伝送装置
US5602917A (en) * 1994-12-30 1997-02-11 Lucent Technologies Inc. Method for secure session key generation
FR2745924B1 (fr) * 1996-03-07 1998-12-11 Bull Cp8 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre
AUPO323496A0 (en) * 1996-10-25 1996-11-21 Monash University Digital message encryption and authentication
US7436966B2 (en) * 2002-08-21 2008-10-14 International Business Machines Corporation Secure approach to send data from one system to another
CN1745537B (zh) * 2002-12-03 2010-06-09 松下电器产业株式会社 密钥共享***、共享密钥生成装置及共享密钥复原装置
CN1323523C (zh) * 2003-04-02 2007-06-27 华为技术有限公司 一种在无线局域网中生成动态密钥的方法
CN100421372C (zh) * 2003-11-18 2008-09-24 华为技术有限公司 一种安全发送传输密钥的方法
JP4611642B2 (ja) * 2004-01-16 2011-01-12 三菱電機株式会社 認証システム
KR100809393B1 (ko) * 2005-11-01 2008-03-05 한국전자통신연구원 Epon에서의 키 분배 방법
JP2007189659A (ja) * 2005-12-15 2007-07-26 Toshiba Corp 暗号化装置、暗号化方法及び暗号化プログラム
JP4613969B2 (ja) * 2008-03-03 2011-01-19 ソニー株式会社 通信装置、及び通信方法
JP5845393B2 (ja) * 2011-04-28 2016-01-20 パナソニックIpマネジメント株式会社 暗号通信装置および暗号通信システム
JP5700128B2 (ja) * 2011-07-27 2015-04-15 富士通株式会社 暗号化処理装置および認証方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040071291A1 (en) 2001-02-08 2004-04-15 Fabrice Romain Secure method for secret key cryptographic calculation and component using said method
US20070177720A1 (en) 2004-03-11 2007-08-02 Oberthur Card Systems Sa Secure data processing method based particularly on a cryptographic algorithm

Also Published As

Publication number Publication date
EP2955871B1 (en) 2017-01-11
BR102015013579A2 (pt) 2018-05-29
DK2955871T3 (en) 2017-05-01
ES2619613T3 (es) 2017-06-26
JP2016005273A (ja) 2016-01-12
CN105207772A (zh) 2015-12-30
NZ708697A (en) 2018-01-26
CN105207772B (zh) 2018-08-10
JP6499519B2 (ja) 2019-04-10
AU2015202994A1 (en) 2016-01-07
CA2893067A1 (en) 2015-12-12
EP2955871A1 (en) 2015-12-16
KR20150142623A (ko) 2015-12-22
US9648026B2 (en) 2017-05-09
SG10201504276RA (en) 2016-01-28
CA2893067C (en) 2022-11-01
US20150365424A1 (en) 2015-12-17

Similar Documents

Publication Publication Date Title
KR102383829B1 (ko) 안전하게 메시지를 교환하기 위한 방법, 이 방법을 구현하기위한 장치 및 시스템
US10187200B1 (en) System and method for generating a multi-stage key for use in cryptographic operations
EP1440535B1 (en) Memory encrytion system and method
US20230254120A1 (en) Secret material exchange and authentication cryptography operations
CN105406969A (zh) 数据加密装置及方法
CN112906070A (zh) 用于安全设备的块密码侧信道攻击减轻
EP2629223A1 (en) System, devices and methods for collaborative execution of a software application comprising at least one encrypted instruction
US7779272B2 (en) Hardware cryptographic engine and encryption method
US11336425B1 (en) Cryptographic machines characterized by a Finite Lab-Transform (FLT)
US10567155B2 (en) Securing a cryptographic device
US20220417000A1 (en) Random position cipher encryption using scrambled ascii strings
EP2950229B1 (en) Method for facilitating transactions, computer program product and mobile device
EP3200173B1 (en) Method of protecting electronic circuit against eavesdropping by power analysis and electronic circuit using the same
CN107078900B (zh) 基于可再现随机序列的密码***
CN109936448A (zh) 一种数据传输方法及装置
JP2015070498A (ja) 鍵交換システム、鍵交換装置、その方法、及びプログラム
CN107766725B (zh) 抗模板攻击的数据传输方法及***
Mokhnache Implémentation d’algorithmes avancés de traitement de l’information dédiés au cryptage et à la cryptanalyse
CN113411347B (zh) 交易报文的处理方法及处理装置
US20240020383A1 (en) Method and circuit for protecting an electronic device from a side-channel attack
Van Der Merwe et al. Security in banking
KR20040045517A (ko) Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법
Sohana et al. Agent command manipulation system using two keys encryption model
CN114143022A (zh) 数据加密方法、数据传输方法和数据解密方法及相关装置
CN107872310A (zh) 一种计算机可读存储介质和应用该介质的rfid***

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant