KR20170085921A - 암복호화 장치 및 방법 - Google Patents

암복호화 장치 및 방법 Download PDF

Info

Publication number
KR20170085921A
KR20170085921A KR1020160022800A KR20160022800A KR20170085921A KR 20170085921 A KR20170085921 A KR 20170085921A KR 1020160022800 A KR1020160022800 A KR 1020160022800A KR 20160022800 A KR20160022800 A KR 20160022800A KR 20170085921 A KR20170085921 A KR 20170085921A
Authority
KR
South Korea
Prior art keywords
encryption
keys
data
decryption
key
Prior art date
Application number
KR1020160022800A
Other languages
English (en)
Other versions
KR101834504B1 (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 단국대학교 산학협력단
Priority to EP16206759.9A priority Critical patent/EP3193487B1/en
Priority to PCT/KR2016/015323 priority patent/WO2017122950A1/ko
Priority to US15/392,033 priority patent/US10389523B2/en
Publication of KR20170085921A publication Critical patent/KR20170085921A/ko
Application granted granted Critical
Publication of KR101834504B1 publication Critical patent/KR101834504B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/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/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)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 통신 객체와 연결되는 암복호화 장치는 기 설정된 복수 개의 키를 저장하는 키 저장부와, 상기 키 저장부로부터 상기 복수 개의 키 중 어느 하나인 제1 키를 전달받으며, 상기 전달받은 제1 키를 기초로 데이터를 암호화하는 처리부와, 상기 통신 객체로부터 암호화될 데이터를 전달받으며, 상기 전달받은 데이터를 상기 처리부에 전달하고, 상기 처리부에 전달한 데이터가 상기 제1 키를 기초로 상기 처리부에 의하여 암호화되면 상기 암호화된 데이터를 상기 처리부로부터 전달받으며, 상기 처리부로부터 전달받은 암호화된 데이터를 상기 통신 객체로 전달하는 데이터 포트부와, 상기 암복호화 장치를 타 암복호화 장치와 물리적으로 연결시키는 연결부를 포함하며, 상기 복수 개의 키는 상기 연결부가 상기 타 암복호화 장치에 포함된 연결부와 연결되면 생성된다.

Description

암복호화 장치 및 방법{APPARATUS AND METHOD FOR ENCRYPTING AND DECRYPTING}
본 발명은 암복호화 장치 및 방법에 관한 것이다. 보다 자세하게는 데이터의 암복호화에 사용되는 키를 복수의 암복호화 장치가 서로 간에 물리적으로 오프라인 상에서 연결되었을 때 공유하도록 하고, 이와 같이 공유된 키를 이용하여 데이터를 암복호화함으로써, 기존의 암복호화 알고리즘(예를 들면 RSA 알고리즘)에 존재하는 해킹 가능성을 원천적으로 차단하는 기술에 관한 것이다.
기존의 암복호화 시스템의 경우, 비대칭키 시스템인 RSA를 이용한 대칭키 전송과, 이와 같이 전송된 대칭키에 의한 데이터의 암복호화에 의하여 이루어진다. 참고로, RSA는 두 개의 큰 소수 (p,q)를 곱하여 만든 수를 기반으로 공개키와 비밀키를 생성하며, 이와 같이 생성된 공개키와 비밀키를 이용하여 데이터를 암호화하는 방법이다.
RSA를 이용할 경우, 데이터는 공개키로 암호화되어 공유 통신망을 통해 전달된다. 아울러, 공개키는 인터넷 상에서 공개 및 공유된다. 여기서, 공개키를 기반으로 비밀키가 찾아내어 진다면, 암호화된 데이터는 해킹될 수 있다. 물론, 공개키를 기반으로 비밀키를 찾아내는 것은 매우 어려운 작업으로 알려져 있다. 그러나, 공개키를 기반으로 비밀키를 찾아내는 것이 불가능하다고 수학적으로 증명된 것은 아니다. 아울러, 비밀키를 수리적인 방법으로 찾아내는 경우도 종종 발생하고 있다. 또한, 해커와 같은 악성 행위자가 특정 방법으로 적절한 응답시간 내에 구할 수 있는 소수 (p,q)를 구해놓았다면, 비밀키는 훨씬 수월하게 찾을 수 있다.
한국특허공개공보 2005-0017493 , 공개일자 2005년 02월 22일
본 발명의 해결하고자 하는 과제는 데이터의 암복호화에 사용되는 키를 분배하여 공유시키는 과정에서, 이러한 키에 대한 해킹 가능성을 원천적으로 차단하는 기술을 제공하는 것이다.
또한, 이러한 기술을 이용하여 통신 객체 간, 예를 들면 단말과 단말 간이나 또는 서버와 단말 간의 데이터를 암호화하여 송수신하는 기술을 제공하는 것이다.
또한, 이러한 기술을 이용하여 금융 거래에 사용되는 데이터를 암복호화하여 송수신하는 기술을 제공하는 것이다.
또한, 이러한 기술을 전자 화폐에 적용하여 전자 화폐에 대한 해킹 가능성을 차단하는 것이다.
다만, 본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 통신 객체와 연결되는 암복호화 장치는 기 설정된 복수 개의 키를 저장하는 키 저장부와, 상기 키 저장부로부터 상기 복수 개의 키 중 어느 하나인 제1 키를 전달받으며, 상기 전달받은 제1 키를 기초로 데이터를 암호화하는 처리부와, 상기 통신 객체로부터 암호화될 데이터를 전달받으며, 상기 전달받은 데이터를 상기 처리부에 전달하고, 상기 처리부에 전달한 데이터가 상기 제1 키를 기초로 상기 처리부에 의하여 암호화되면 상기 암호화된 데이터를 상기 처리부로부터 전달받으며, 상기 처리부로부터 전달받은 암호화된 데이터를 상기 통신 객체로 전달하는 데이터 포트부와, 상기 암복호화 장치를 타 암복호화 장치와 물리적으로 연결시키는 연결부를 포함하며, 상기 복수 개의 키는 상기 연결부가 상기 타 암복호화 장치에 포함된 연결부와 연결되면 생성된다.
또한, 상기 키 저장부는 상기 제1 키가 상기 처리부로 전달되는 경로인 키 버스(key bus)를 통해서 상기 처리부와 연결되지만, 상기 키 버스를 통해서 상기 데이터 포트부와는 연결되지 않을 수 있다.
또한, 상기 암복호화 장치에 포함된 키 저장부와 상기 타 암복호화 장치에 포함된 키 저장부는, 동일한 복수 개의 키를 저장할 수 있다.
또한, 난수를 생성하는 난수 생성부를 더 포함하며, 상기 복수 개의 키는 상기 난수 생성부에 의하여 생성된 난수를 기초로 생성될 수 있다.
또한, 상기 처리부는 상기 데이터를, 상기 암복호화 장치와 상기 타 암복호화 장치가 모두 알고 있는 식별자와 결합시켜서 결합 데이터를 생성한 뒤, 상기 결합 데이터를 상기 제1 키를 기초로 암호화하고, 상기 데이터 포트부는 상기 암호화된 결합 데이터를 상기 처리부로부터 전달받으며, 상기 처리부로부터 전달받은 암호화된 결합 데이터를 상기 통신 객체로 전달할 수 있다.
또한, 상기 처리부는 상기 복수 개의 키 중 상기 암복호화 장치와 상기 타 암복호화 장치가 모두 알고 있는 기 설정된 적어도 두 개 이상의 키를 기초로 상기 식별자를 생성할 수 있다.
또한, 난수를 생성하는 난수 생성부를 더 포함하고, 상기 식별자는 기 설정된 개수의 복수 개의 비트로 구성되며, 상기 복수 개의 비트 중 기 설정된 비트는 상기 적어도 두 개 이상의 키에 의하여 값이 정해지고, 상기 복수 개의 비트 중 상기 기 설정된 비트를 제외한 나머지 비트는 상기 난수 생성부에 의하여 생성된 난수에 의하여 값이 정해질 수 있다.
또한, 상기 암복호화 장치에 비정상적인 것으로 정의된 행위가 가해지는 것을 인식하며, 상기 행위가 가해지는 것이 인식되면 상기 키 저장부에 저장된 상기 복수 개의 키를 삭제하는 보호부를 더 포함할 수 있다.
또한, 상기 복수 개의 키는 새로운 복수 개의 키로 변경 가능하다.
또한, 상기 복수 개의 키가 상기 새로운 복수 개의 키로 변경될 때, 상기 복수 개의 키 중에서, 상기 암복호화 장치와 상기 타 암복호화 장치가 서로 알고 있는 기 설정된 값을 기초로 상기 새로운 복수 개의 키가 생성되어 변경될 수 있다.
또한, 상기 데이터 포트부는 상기 통신 객체로부터 암호화된 데이터를 전달받으면 상기 전달받은 암호화된 데이터를 상기 처리부로 전달하고, 상기 처리부는 상기 키 저장부로부터 상기 복수 개의 키를 각각 전달받으며, 상기 처리부로부터 전달받은 암호화된 데이터를 상기 전달받은 각각의 키 중에서 어느 하나의 키를 기초로 복호화하며, 상기 데이터 포트부는 상기 복호화된 데이터를 상기 처리부로부터 전달받아서 상기 통신 객체로 전달할 수 있다.
또한, 상기 데이터 포트부는 상기 통신 객체로부터 암호화된 결합 데이터를 전달받으면 상기 전달받은 암호화된 결합 데이터를 상기 처리부로 전달하고, 상기 처리부는 상기 키 저장부로부터 상기 복수 개의 키를 각각 전달받으며, 상기 처리부로부터 전달받은 암호화된 결합 데이터를 상기 전달받은 각각의 키 중에서 어느 하나의 키를 기초로 복호화하며, 상기 데이터 포트부는 상기 복호화된 결합 데이터를 상기 처리부로부터 전달받으며, 상기 전달받은 결합 데이터로부터 데이터를 분리하고, 상기 분리된 데이터를 상기 통신 객체로 전달할 수 있다.
또한, 상기 처리부는 상기 결합 데이터를 복호화하여 획득한 식별자가 상기 암복호화 장치와 상기 타 암복호화 장치가 모두 알고 있는 식별자와 동일한 경우, 상기 결합 데이터를 복호화하였을 때 사용된 키가 상기 결합 데이터를 암호화할 때 사용된 키인 것으로 인식할 수 있다.
본 발명의 다른 실시예에 따른 통신 객체와 연결되는 암복호화 장치를 이용하여 암복호화하는 방법은 상기 암복호화 장치에 포함된 연결부가 타 암복호화 장치에 포함된 연결부와 물리적으로 연결되면 기 설정된 복수 개의 키를 생성하는 단계와, 상기 통신 객체로부터 암호화될 데이터를 전달받는 단계와, 상기 전달받은 데이터를 상기 복수 개의 키 중 어느 하나인 제1 키를 기초로 암호화하는 단계와, 상기 암호화된 데이터를 상기 통신 객체로 전달하는 단계를 포함한다.
또한, 상기 암복호화 장치에 포함된 키 저장부와 상기 타 암복호화 장치에 포함된 키 저장부는, 동일한 복수 개의 키를 저장할 수 있다.
또한, 난수를 생성하는 단계를 더 포함하며, 상기 복수 개의 키를 생성하는 단계는 상기 난수를 기초로 상기 복수 개의 키를 생성할 수 있다.
또한, 상기 암호화하는 단계는 상기 데이터를, 상기 암복호화 장치와 상기 타 암복호화 장치가 모두 알고 있는 식별자와 결합시켜서 결합 데이터를 생성하는 단계와, 상기 결합 데이터를 상기 제1 키를 기초로 암호화하는 단계를 포함하며, 상기 통신 객체로 전달하는 단계는 상기 암호화된 결합 데이터를 상기 통신 객체로 전달할 수 있다.
또한, 상기 결합 데이터를 생성하는 단계는 상기 복수 개의 키 중 상기 암복호화 장치와 상기 타 암복호화 장치가 모두 알고 있는 기 설정된 적어도 두 개 이상의 키를 기초로 상기 식별자를 생성할 수 있다.
또한, 난수를 생성하는 단계를 더 포함하고, 상기 결합 데이터를 생성하는 단계는 상기 식별자가 기 설정된 개수의 복수 개의 비트로 구성될 때, 상기 복수 개의 비트 중 기 설정된 비트는 상기 적어도 두 개 이상의 키를 기초로 값을 정하고, 상기 복수 개의 비트 중 상기 기 설정된 비트를 제외한 나머지 비트는 상기 생성된 난수를 기초로 값을 정하여 상기 식별자를 생성할 수 있다.
또한, 상기 암복호화 장치에 비정상적인 것으로 정의된 행위가 가해지는 것을 인식하는 단계와, 상기 행위가 가해지는 것이 인식되면 상기 복수 개의 키를 삭제하는 단계를 더 포함할 수 있다.
또한, 상기 복수 개의 키를 새로운 복수 개의 키로 변경하는 단계를 더 포함할 수 있다.
또한, 상기 복수 개의 키를 상기 새로운 복수 개의 키로 변경하는 단계는 상기 복수 개의 키 중에서, 상기 암복호화 장치와 상기 타 암복호화 장치가 서로 알고 있는 기 설정된 값을 기초로 상기 새로운 복수 개의 키를 생성하여 변경할 수 있다.
또한, 상기 통신 객체로부터 암호화된 데이터를 전달받는 단계와, 상기 복수 개의 키를 각각 전달받으면, 상기 전달받은 암호화된 데이터를 상기 전달받은 각각의 키 중에서 어느 하나의 키를 기초로 복호화하는 단계와, 상기 복호화된 데이터를 상기 통신 객체로 전달하는 단계를 더 포함할 수 있다.
본 발명의 실시예에 따르면, 데이터의 암복호화에 사용되는 키를 복수의 통신 객체에 분배하여 공유시키는 과정에서 해킹될 가능성이 원천적으로 차단된다. 따라서, 이를 이용하여 통신 객체 간 데이터 송수신시 기존보다 높은 수준의 보안화가 가능하다. 아울러, 금융 거래 또는 전자 화폐에 있어서 해킹에 의한 피해를 원천적으로 차단시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 암복호화 장치가 통신 객체와 연결되어 활용되는 것을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 암복호화 장치의 구성을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 복수의 암복호화 장치가 서로 간에 연결된 것을 개념적으로 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 암복호화 장치에서 키 저장부와 처리부 및 데이터 포트부가 연결된 것을 개념적으로 도시한 도면이다.
도 5a 및 5b는 본 발명의 일 실시예에 따른 식별자를 개념적으로 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 암복호화 방법의 절차를 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
설명에 앞서, 일 실시예에 따른 복수의 암복호화 장치 중의 어느 하나의 암복호화 장치에서 데이터를 암호화하면, 다른 나머지 암복호화 장치에서는 암호화된 데이터를 복호화할 수 있는 것으로 정의하기로 한다.
도 1은 본 발명의 일 실시예에 따른 암복호화 장치가 통신 객체와 연결되어 활용되는 것을 도시한 도면이다.
도 1을 참조하면, 암복호화 장치(100)인 제1 암복호화 장치(100a)와 제2 암복호화 장치(100b)는 통신 객체(10)인 제1 통신 객체(10a) 및 제2 통신 객체(10b)와 각각 연결된다. 이를 위하여, 통신 객체(10)는 암복호화 장치(100)와 연결하기 위한 접속부(미도시)를 포함할 수 있다.
제1 통신 객체(10a)와 제2 통신 객체(10b)는 네트워크(200)를 통해 데이터를 송수신한다. 이 때의 데이터는 암호화된 데이터일 수 있다. 아울러, 네트워크(200)는 CDMA, 3G, 4G, LTE-A, 블루투스, 와이파이, NFC 또는 IR과 같은 무선 통신 네트워크이거나 이와 달리 LAN과 같은 유선 통신 네트워크일 수 있다.
제1 통신 객체(10a)와 제2 통신 객체(10b)는 서로 간에 데이터를 송수신하는 디바이스일 수 있다. 제1 통신 객체(10a)와 제2 통신 객체(10b)는 사물 인터넷(Internet Of Things)의 디바이스로 언급되는 것들, 예를 들면 홈 네트워크를 구성하는 서버 및 이러한 서버와 통신을 수행하는 각종 디바이스일 수 있다. 또한, 서로 간에 통신을 수행하는 웨어러블 디바이스일 수 있다. 또한, 전자 화폐를 구현함에 있어서 화폐의 사용 금액, 잔액이나 거래 내역 등을 기록하고 송수신하는 디바이스일 수 있다. 또한, 전자 금융 거래에서 은행과 같은 금융 기관에 존재하는 서버 및 금융 기관과 거래하는 고객들의 디바이스(PC, 스마트폰 등)일 수 있다.
제1 암복호화 장치(100a)는 제1 통신 객체(10a)가 제2 통신 객체(10b)로 송신하고자 하는 데이터를 암호화하며, 제1 통신 객체(10a)는 이와 같이 암호화된 데이터를 제2 통신 객체(10b)로 송신한다. 제2 통신 객체(10b)는 제1 통신 객체(10a)로부터 암호화된 데이터를 전달받으며, 제2 암복호화 장치(100b)는 이러한 암호화된 데이터를 복호화한 뒤 복호화된 데이터를 제2 통신 객체(10b)에게 전달한다. 여기서, 제1 암복호화 장치(100a)가 데이터를 암호화하고 제1 통신 객체(10a)가 암호화된 데이터를 송신하며, 제2 통신 객체(10b)가 암호화된 데이터를 수신하고 제2 암복호화 장치(100b)가 암호화된 데이터를 복호화하는 것은 예시적인 것에 불과하며, 따라서 제1 암복호화 장치(100a) 및 제1 통신 객체(10a)의 역할이 제2 암복호화 장치(100b) 및 제2 통신 객체(10b)의 역할과 서로 바뀔 수도 있다. 이하에서는, 데이터를 암호화하고 복호화하는 암복호화 장치(100)에 대하여 보다 자세하게 살펴보기로 한다.
도 2는 본 발명의 일 실시예에 따른 암복호화 장치의 구성에 대하여 도시한 도면이다.
도 2를 참조하면, 암복호화 장치(100)는 키 저장부(110), 처리부(120), 데이터 포트부(130) 및 연결부(140)를 포함한다. 또한, 암복호화 장치(100)는 추가적으로 난수 발생부(150), 보호부(160), 리셋부(170), 알고리즘 저장부(180) 및 접속부(190)를 포함할 수 있다.
암복호화 장치(100), 그리고 이에 포함된 전술한 구성요소들은 이들의 기능을 수행하도록 프로그램된 명령어를 저장하는 메모리 및 이러한 명령어를 수행하는 마이크로프로세서에 의하여 구현될 수 있다.
연결부(140)에 대하여 먼저 살펴보면, 연결부(140)는 복수의 암복호화 장치(100)를 서로 간에 연결시키는 구성으로, 예를 들면 하드웨어적으로 구현된 커넥터일 수 있다. 도 3을 참조하여 보다 자세하게 살펴보면, 각각의 암복호화 장치(100)는 자신이 포함하고 있는 연결부(140)를 통해 서로 간에 물리적으로 연결된다. 이 때, 복수의 암복호화 장치(100)는 예를 들면 도 3에 도시된 것과 같이 링 형태로 서로 간에 연결될 수 있다. 즉, 연결부(140)는 복수의 암복호화 장치(100)를 서로 간에 물리적으로, 오프라인 상에서 연결시키기 위한 구성이다.
다시 도 2를 참조하면, 키 저장부(110)는 기 설정된 복수 개의 키를 저장한다. 복수 개의 키 각각은 데이터를 암호화하는데 사용되며, 각각 복수 개의 비트로 구성될 수 있다.
키 저장부(110)는 난수 생성부(150)에 의하여 생성된 임의의 개수, 예를 들면 1000개의 난수의 값을 기초로 복수 개의 키를 생성할 수 있다. 이 때, 임의의 개수의 난수의 값 그 자체가 복수 개의 키가 되거나, 이와 달리 상기 임의의 개수의 난수를 키 저장부(110)가 가공하여 생성된 값이 복수 개의 키가 될 수도 있다.
이 때, 암복호화 장치(100)에 포함된 리셋부(170)는 시드(seed) ― 난수를 생성할 때 사용되는 값 ― 를 생성하여 난수 생성부(150)에 제공한다. 아울러, 이러한 시드는 연결부(140)를 통하여 다른 복수의 암복호화 장치(100)에 포함된 난수 생성부(150)에도 전달 및 제공된다. 시드를 전달 및 제공받은 복수의 암복호화 장치(100)에 포함된 난수 생성부(150)는, 동일한 시드를 이용하여 난수를 생성한다. 따라서, 복수의 암복호화 장치(100) 각각에서는 동일한 난수가 생성되며, 이에 따라 복수의 암복호화 장치(100) 각각에서는 동일한 값을 갖는 복수 개의 키가 생성된다.
여기서, 리셋부(170)에 대하여 보다 자세하게 살펴보면, 리셋부(170)는 사용자에 의한 입력을 받아들이는 버튼 등을 포함할 수 있다. 또한, 리셋부(170)는 난수 생성부(150)와 연결된다. 복수의 암복호화 장치(100)가 연결부(140)를 통해 서로 간에 연결된 후, 리셋부(170)가 버튼이나 터치 등을 통하여 사용자의 입력을 받아들이면, 이러한 리셋부(170)는 시드를 생성하여 난수 생성부(150)로 제공하며, 시드는 복수의 암복호화 장치(100)에 각각 포함된 난수 생성부(150)로 전달 및 제공된다.
이상에서 살펴본 바와 같이, 복수의 암복호화 장치(100)는 서로 간에 물리적으로 오프라인 상에서 연결되었을 때 복수 개의 키를 생성하여 공유한다. 즉, 복수 개의 키가, 유선이든 무선이든 통신망을 통해서 다른 암복호화 장치(100)로 전달되는 일이 발생하지 않는다. 따라서, 기존의 RSA와는 달리 키를 분배하여 공유시키는 과정에서 키가 유출되거나 해킹될 위험이 전혀 없다.
한편, 복수의 암복호화 장치(100)가 시드를 통해 복수 개의 키를 공유하는 전술한 과정은 예시적인 것이므로 본 발명의 사상은 이에 한정되지 않는다. 예를 들면, 어느 하나의 암복호화 장치(100)가 복수 개의 키를 생성한 후 연결부(140)를 통하여 나머지 암복호화 장치(100)에 복수 개의 키를 전달하는 방식을 통해서도, 즉 시드의 전달 및 제공 없이도 복수의 암복호화 장치(100)는 동일한 값을 갖는 복수 개의 키를 공유할 수 있다.
키 저장부(110)에 저장된 복수 개의 키는 갱신(업데이트)될 수 있다. 갱신 시점은 주기적으로 또는 필요한 때에 임의로 이루어질 수 있는데, 복수의 암복호화 장치(100)는 이러한 갱신 시점에 대하여 서로 약속한 규칙을 가지고 있을 수 있으며, 따라서 동일한 시점에 복수 개의 키를 갱신할 수 있다.
아울러, 키를 갱신하는 것은 새로운 복수 개의 키를 생성하는 것이므로, 이 경우에도 난수 생성부(150)에 의하여 생성된 난수를 기초로 복수 개의 키를 생성할 수 있다. 키를 갱신할 때 난수 생성부(150)에 전달되는 시드는 복수의 암복호화 장치(100)가 서로 간에 알고 있는 기 설정된 값, 예를 들면 갱신 전 1번째 또는 마지막 번째의 키일 수 있다. 즉, 복수의 암복호화 장치(100)는 갱신을 위하여 동일한 시드를 가지고 복수 개의 키를 생성하며, 이와 같이 생성된 복수 개의 키를 갱신에 사용한다. 따라서, 복수 개의 키가 갱신이 되더라도 복수의 암복호화 장치(100)는 동일한 값의 복수 개의 키를 공유할 수 있다.
처리부(120)는 통신 객체(10)가 다른 통신 객체(10)로 송신할 데이터를 암호화한다. 보다 자세하게 살펴보면, 키 저장부(110)에 저장된 복수 개의 키 중 어느 하나인 제1 키가 선택된다. 제1 키를 선택하는 주체는 키 저장부(110) 또는 처리부(120)일 수 있다. 처리부(120)는 제1 키를 기초로 암호화 대상인 데이터를 암호화한다. 여기서, 제1 키를 기초로 데이터를 암호화하는 암호화 알고리즘은 기존에 공지된 것을 사용할 수 있으며, 알고리즘 저장부(180)에 저장될 수 있는데, 이러한 알고리즘 저장부(180)는 ROM의 형태일 수 있다. 이 때, 제1 키를 기초로 암호화된 데이터는 제1 키에 의해서만 복호화가 가능하다.
처리부(120)는 통신 객체(10)가 다른 통신 객체(10)로부터 수신한 암호화된 데이터를 복호화하는데, 복호화하는 알고리즘 또한 알고리즘 저장부(10)에 저장될 수 있다. 보다 자세하게 살펴보면, 처리부(120)는 암호화된 데이터를 키 저장부(110)에 저장된 복수 개의 키 중 어느 하나인 키를 이용하여 복호화한다. 여기서, 키를 이용하여 암호화된 데이터를 복호화하는 알고리즘은 기존에 공지된 것을 사용할 수 있다.
여기서, 처리부(120)가 암호화된 데이터를 복호화하기 위해서는, 암호화된 데이터가 복수의 키 중 어떠한 키를 기초로 암호화되었는지 여부를 알아야 한다. 이하에서는 이에 대하여 자세히 설명하기로 하되, 데이터를 암호화하는 처리부를 제1 처리부로 그리고 이러한 제1 처리부를 포함하는 암복호화 장치를 제1 암복호화 장치로, 데이터를 복호화하는 처리부를 제2 처리부로 그리고 이러한 제2 처리부를 포함하는 암복호화 장치를 제2 암복호화 장치로 지칭하기로 한다.
제1 처리부는 암호화 대상인 데이터에 식별자(또는 control block이라고 지칭될 수도 있음)를 결합시킨 결합 데이터를 생성한다. 식별자는 복수의 암복호화 장치(100)가 서로 간에 모두 알고 있는 값이다. 제1 처리부는 키 저장부(110)로부터 제1 키를 전달받으며, 제1 키를 기초로 결합 데이터를 암호화한다. 암호화된 결합 데이터는 제1 암복호화 장치가 제2 암복호화 장치로 송신한다.
제2 암복호화 장치는 암호화된 결합 데이터를 수신한다. 제2 처리부는 암호화된 결합 데이터를 다음과 같은 과정을 통하여 복호화하되, 이는 예시적인 것이므로 본 발명의 사상이 이에 한정되는 것은 아니다. 먼저, 키 저장부(110)로부터 복수 개의 키를 하나씩 전달받는다. 전달받은 키를 기초로 암호화된 결합 데이터에 대하여 복호화를 시도한다. 복호화한 결과로부터 식별자를 분리한다. 분리된 식별자가 제2 암복호화 장치가 알고 있는 값인지 여부를 판별한다. 만약 분리된 식별자가 제2 암복호화 장치가 알고 있는 값인 경우에는 전달받은 키가 암호화에 사용된 키인 것으로 간주하며, 복호화된 결합 데이터 중에서 식별자가 분리된 나머지 데이터를 복호화된 데이터로 취급한다. 그러나, 알고 있는 값이 아닌 경우에는 알고 있는 값이 나올 때까지 키 저장부(110)로부터 새로운 키를 전달받아서 복호화 과정을 반복한다.
이를 통해 살펴보면, 해커가 암호화된 결합 데이터를 복호화하기 위해서는, 복수 개의 키를 모두 알아야 하며, 추가적으로 식별자가 무엇인지도 알아야 한다. 그러나, 복수 개의 키는 복수의 암복호화 장치(100)가 물리적으로 오프라인 상에서 서로 연결되었을 때 공유되기 때문에 유출될 우려가 없으며, 식별자 또한 암복호화 장치(100)의 초기 제작 과정에서 ROM과 같은 곳에 심어지기 때문에 해커가 이를 알아낼 수 없다. 따라서, 일 실시예에 따른 암복호화 장치를 사용하면 해킹의 위험을 원천적으로 차단시킬 수 있다.
한편, 이하에서는 식별자에 대하여 보다 자세하게 살펴보기로 한다. 전술한 바와 같이 식별자는 복수의 암복호화 장치(100)가 서로 간에 모두 알고 있는 값이다. 도 5a는 식별자(122)가 데이터(121)와 결합된, 결합 데이터를 개념적으로 도시한 도면이다. 도 5a를 참조하면, 식별자(122)는 기 설정된 개수, 예를 들면 n개의 비트로 구성될 수 있다.
이러한 n개의 비트는 복수의 암복호화 장치(100)가 서로 알고 있는 약속된 규칙에 의하여 그 값이 채워질 수 있다. 도 5b는 식별자를 구성하는 n개의 비트가 복수의 암복호화 장치(100)가 서로 알고 있는 약속된 규칙에 의하여 그 값이 채워지는 것을 개념적으로 도시한 도면이다. 이하에서는 이러한 약속된 규칙에 대하여 보다 자세하게 살펴보기로 한다.
먼저, 복수의 암복호화 장치(100)가 서로 알고 있는 기 설정된 적어도 두 개 이상의 키를 이용하여, n개의 비트의 특정 위치에 특정 값을 할당한다. 예를 들면, 복수의 암복호화 장치(100)가 50개의 키, 즉 제1 키부터 제50 키까지 서로 알고 있다고 가정하자. 그리고 제1 키를 n으로 모듈러 연산을 한 값을 제1 값이라고 하고 제2 키를 2로 모듈러 연산을 한 값을 제2 값이라고 하면, n개의 비트 중 제1 값이 나타내는 번째의 비트에 제2 값을 할당한다. 다음으로, 제3 키를 n으로 모듈러 연산을 한 값을 제3 값이라고 하고 제4 키를 2로 모듈러 연산을 한 값을 제4 값이라고 하면, n개의 비트 중 제3 값이 나타내는 번째의 비트에 제4 값을 할당한다. 이와 같은 방식으로 50개의 키를 이용하여 n개의 비트의 특정 위치에 특정 값을 할당한다. 이 때, 이미 값이 할당된 위치에 또 값을 할당해야 한다면, 뒤에 할당된 값을 해당 위치에 할당한다. 이 후, n개의 비트 중 값이 할당되지 않은 비트가 있을 수 있다. 값이 할당되지 않은 비트에는 난수 생성부(150)에서 생성한 비트를 할당한다. 도 5b는 전술한 과정에 의하여 식별자를 생성한 것을 개념적으로 도시한 도면이다. 도 5b를 참조하면, n개의 비트 중 적어도 두 개 이상의 키를 이용하여 값이 할당되는 비트는 b로 표시되고, 난수 생성부(150)가 생성한 난수가 할당되는 비트는 a로 표시된다.
이와 같이 제1 처리부에 의하여 생성된 식별자는, 제2 처리부에 의해서도 동일한 알고리즘으로 도출할 수 있다. 즉, 제2 암복호화 장치는 제1 암복호화 장치와 동일한 알고리즘으로 식별자를 생성한다. 이 후, 제1 암복호화 장치로부터 암호화된 결합 데이터를 수신하면, 제2 처리부는 암호화된 결합 데이터를 복수 개의 키를 이용하여 복호화를 시도한다. 복호화를 시도한 결과 제2 처리부는 결합 데이터로부터 식별자를 분리한다. 이 후, 분리된 식별자 중에서 값이 할당되는 비트 위치인 b에 대해서만 자신이 생성한 식별자와 비교를 한다. 비교 결과 값이 할당되는 비트 위치인 b에 대해서 같은 값이 나오면, 해당 키가 암호화에 사용된 키인 것으로 간주한다.
이와 같이 생성된 식별자를 이용할 경우, 해커는 복수 개의 키 전부, 그리고 식별자 생성에 사용되는 적어도 두 개 이상의 키 및 식별자를 생성할 때 사용되는 알고리즘을 모두 알아야만이 데이터를 해킹할 수 있다. 그러나, 전술한 바와 같이 복수 개의 키는 암복호화 장치(100)가 하드웨어적으로 오프라인 상에서 공유하기 때문에 유출될 우려가 없으며, 식별자 또한 암복호화 장치(100)의 초기 제작 과정에서 ROM과 같은 곳에 심어지기 때문에 해커가 이를 알아낼 수 없다. 따라서, 일 실시예에 따른 암복호화 장치를 사용하면 해킹의 위험을 원천적으로 차단할 수 있다.
다시 도 2를 참조하면, 데이터 포트부(130)는 암호화될 데이터를 통신 객체(10)로부터 전달받아서 처리부(120)로 전달한다. 또한, 데이터 포트부(130)는 처리부(120)가 데이터를 암호화하면 통신 객체로 암호화된 데이터를 전달한다.
아울러, 데이터 포트부(130)는 암호화된 데이터를 통신 객체(10)로부터 전달받아서 처리부(120)로 전달한다. 또한, 데이터 포트부(130)는 처리부(120)가 암호화된 데이터를 복호화하면 통신 객체로 복호화된 데이터를 전달한다.
여기서, 도 4를 참조하면, 데이터 포트부(130)는 데이터 버스(125)를 통해서 처리부(125)와 연결된다. 데이터 버스(125)란 데이터가 송수신되는 경로를 의미한다. 키 저장부(110)는 처리부(120)와 키 버스(115)를 통해서 연결된다. 키 버스(115)란 키 저장부(110)에 저장된 키가 처리부(120)로 전달되는 경로를 의미한다.
이 때, 키 저장부(110)는 키 버스(115)를 통해서 처리부(120)와는 연결되지만, 데이터 포트부(130)와는 직접적으로 연결되지 않는다. 따라서, 외부에서는 데이터 포트부(130)를 통해서 키 저장부(110)에 직접 접근할 수 없으며, 그 결과 외부에서는 키 저장부(110)에 저장된 복수 개의 키에 접근할 수 없다.
보호부(160)는 암복호화 장치(100)에 비정상적인 것으로 정의된 행위가 가해지는 것을 인식하며, 이러한 행위가 가해지는 것이 인식되면 키 저장부(110)에 저장된 복수 개의 키를 삭제한다. 비정상적인 것으로 정의된 행위에는, 예를 들면 키 저장부(110)에 저장된 복수 개의 키를 전자기적으로 복제하기 위한 시도, 진동이나 열 등을 감지하는 시도 등일 수 있으나 이에 한정되는 것은 아니다.
접속부(190)는 암복호화 장치(100)와 통신 객체(10)를 연결시킨다. 이러한 접속부(190)는 하드웨어적인 커넥터이거나 이와 달리 무선 통신(블루투스, NFC, 와이파이 등) 모듈일 수도 있으나 이에 한정되는 것은 아니다.
도 6은 본 발명의 일 실시예에 따른 암복호화 방법의 절차를 도시한 도면으로, 암복호화 방법은 전술한 암복호화 장치(100)에 의하여 수행될 수 있다. 아울러, 이하에서 설명할 암복호화 방법은 실시예에 따라서 이하에서 설명할 적어도 하나 이상의 단계가 수행되지 않거나 언급되지 않은 새로운 단계가 추가로 수행될 수도 있으며, 그 순서가 변경될 수도 있다.
도 6을 참조하면, 암복호화 장치에 포함된 연결부가 타 암복호화 장치에 포함된 연결부와 물리적으로 연결되면 기 설정된 복수 개의 키를 생성하는 단계(S100)와, 통신 객체로부터 암호화될 데이터를 전달받는 단계(S110)와, 상기 전달받은 데이터를 상기 복수 개의 키 중 어느 하나인 제1 키를 기초로 암호화하는 단계(S120)와, 상기 암호화된 데이터를 상기 통신 객체로 전달하는 단계(S130)가 수행될 수 있다.
여기서, 암복호화 방법은 암복호화 장치(100)에 의하여 수행되는바, 암복호화 방법을 구성하는 각각의 단계의 기능은 암복호화 장치(100)를 설명하면서 이미 상세하게 설명하였는바, 이에 대해서는 설명을 생략하기로 한다.
이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따르면 데이터의 암복호화에 사용되는 키가 복수의 통신 객체 간에 공유되는 과정에서 해킹될 가능성이 원천적으로 차단된다. 따라서, 이를 이용하여 통신 객체 간 데이터 송수신시 기존보다 높은 수준의 보안화가 가능하다. 아울러, 금융 거래 또는 전자 화폐에 있어서 해킹에 의한 피해를 원천적으로 차단시킬 수 있다.
본 발명에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10: 통신 객체
100: 암복호화 장치

Claims (23)

  1. 통신 객체와 연결되는 암복호화 장치로서,
    기 설정된 복수 개의 키를 저장하는 키 저장부와,
    상기 키 저장부로부터 상기 복수 개의 키 중 어느 하나인 제1 키를 전달받으며, 상기 전달받은 제1 키를 기초로 데이터를 암호화하는 처리부와,
    상기 통신 객체로부터 암호화될 데이터를 전달받으며, 상기 전달받은 데이터를 상기 처리부에 전달하고, 상기 처리부에 전달한 데이터가 상기 제1 키를 기초로 상기 처리부에 의하여 암호화되면 상기 암호화된 데이터를 상기 처리부로부터 전달받으며, 상기 처리부로부터 전달받은 암호화된 데이터를 상기 통신 객체로 전달하는 데이터 포트부와,
    상기 암복호화 장치를 타 암복호화 장치와 물리적으로 연결시키는 연결부를 포함하며,
    상기 복수 개의 키는,
    상기 연결부가 상기 타 암복호화 장치에 포함된 연결부와 연결되면 생성되는
    암복호화 장치.
  2. 제 1 항에 있어서,
    상기 키 저장부는,
    상기 제1 키가 상기 처리부로 전달되는 경로인 키 버스(key bus)를 통해서 상기 처리부와 연결되지만, 상기 키 버스를 통해서 상기 데이터 포트부와는 연결되지 않는
    암복호화 장치.
  3. 제 1 항에 있어서,
    상기 암복호화 장치에 포함된 키 저장부와 상기 타 암복호화 장치에 포함된 키 저장부는, 동일한 값의 복수 개의 키를 저장하는
    암복호화 장치.
  4. 제 1 항에 있어서,
    난수를 생성하는 난수 생성부를 더 포함하며,
    상기 복수 개의 키는,
    상기 난수 생성부에 의하여 생성된 난수를 기초로 생성되는
    암복호화 장치.
  5. 제 1 항에 있어서,
    상기 처리부는,
    상기 데이터를, 상기 암복호화 장치와 상기 타 암복호화 장치가 모두 알고 있는 식별자와 결합시켜서 결합 데이터를 생성한 뒤, 상기 결합 데이터를 상기 제1 키를 기초로 암호화하고,
    상기 데이터 포트부는,
    상기 암호화된 결합 데이터를 상기 처리부로부터 전달받으며, 상기 처리부로부터 전달받은 암호화된 결합 데이터를 상기 통신 객체로 전달하는
    암복호화 장치.
  6. 제 5 항에 있어서,
    상기 처리부는,
    상기 복수 개의 키 중 상기 암복호화 장치와 상기 타 암복호화 장치가 모두 알고 있는 기 설정된 적어도 두 개 이상의 키를 기초로 상기 식별자를 생성하는
    암복호화 장치.
  7. 제 6 항에 있어서,
    난수를 생성하는 난수 생성부를 더 포함하고,
    상기 식별자는,
    기 설정된 개수의 복수 개의 비트로 구성되며, 상기 복수 개의 비트 중 일부의 비트는 상기 적어도 두 개 이상의 키에 의하여 값이 정해지고, 상기 복수 개의 비트 중 나머지 비트는 상기 난수 생성부에 의하여 생성된 난수에 의하여 값이 정해지는
    암복호화 장치.
  8. 제 1 항에 있어서,
    상기 암복호화 장치에 비정상적인 것으로 정의된 행위가 가해지는 것을 인식하며, 상기 행위가 가해지는 것이 인식되면 상기 키 저장부에 저장된 상기 복수 개의 키를 삭제하는 보호부를 더 포함하는
    암복호화 장치.
  9. 제 1 항에 있어서,
    상기 복수 개의 키는 새로운 복수 개의 키로 변경 가능한
    암복호화 장치.
  10. 제 9 항에 있어서,
    상기 복수 개의 키가 상기 새로운 복수 개의 키로 변경될 때,
    상기 암복호화 장치와 상기 타 암복호화 장치가 서로 알고 있는 기 설정된 값을 기초로 상기 새로운 복수 개의 키가 생성되어 변경되는
    암복호화 장치.
  11. 제 1 항에 있어서,
    상기 데이터 포트부는 상기 통신 객체로부터 암호화된 데이터를 전달받으면 상기 전달받은 암호화된 데이터를 상기 처리부로 전달하고,
    상기 처리부는 상기 키 저장부로부터 상기 복수 개의 키를 각각 전달받으며, 상기 처리부로부터 전달받은 암호화된 데이터를 상기 전달받은 각각의 키 중에서 어느 하나의 키를 기초로 복호화하며,
    상기 데이터 포트부는 상기 복호화된 데이터를 상기 처리부로부터 전달받아서 상기 통신 객체로 전달하는
    암복호화 장치.
  12. 제 5 항에 있어서,
    상기 데이터 포트부는 상기 통신 객체로부터 암호화된 결합 데이터를 전달받으면 상기 전달받은 암호화된 결합 데이터를 상기 처리부로 전달하고,
    상기 처리부는 상기 키 저장부로부터 상기 복수 개의 키를 각각 전달받으며, 상기 처리부로부터 전달받은 암호화된 결합 데이터를 상기 전달받은 각각의 키 중에서 어느 하나의 키를 기초로 복호화하며,
    상기 데이터 포트부는 상기 복호화된 결합 데이터를 상기 처리부로부터 전달받으며, 상기 전달받은 결합 데이터로부터 데이터를 분리하고, 상기 분리된 데이터를 상기 통신 객체로 전달하는
    암복호화 장치.
  13. 제 12 항에 있어서,
    상기 처리부는,
    상기 결합 데이터를 복호화하여 획득한 식별자가 상기 암복호화 장치와 상기 타 암복호화 장치가 모두 알고 있는 식별자와 동일한 경우, 상기 암호화된 결합 데이터를 복호화하였을 때 사용된 키가 상기 결합 데이터를 암호화할 때 사용된 키인 것으로 인식하는
    암복호화 장치.
  14. 통신 객체와 연결되는 암복호화 장치를 이용하여 암복호화하는 방법으로서,
    상기 암복호화 장치에 포함된 연결부가 타 암복호화 장치에 포함된 연결부와 물리적으로 연결되면 기 설정된 복수 개의 키를 생성하는 단계와,
    상기 통신 객체로부터 암호화될 데이터를 전달받는 단계와,
    상기 전달받은 데이터를 상기 복수 개의 키 중 어느 하나인 제1 키를 기초로 암호화하는 단계와,
    상기 암호화된 데이터를 상기 통신 객체로 전달하는 단계를 포함하는
    암복호화 방법.
  15. 제 14 항에 있어서,
    상기 암복호화 장치에 포함된 키 저장부와 상기 타 암복호화 장치에 포함된 키 저장부는, 동일한 값의 복수 개의 키를 저장하는
    암복호화 방법.
  16. 제 14 항에 있어서,
    난수를 생성하는 단계를 더 포함하며,
    상기 복수 개의 키를 생성하는 단계는,
    상기 난수를 기초로 상기 복수 개의 키를 생성하는
    암복호화 방법.
  17. 제 14 항에 있어서,
    상기 암호화하는 단계는,
    상기 데이터를, 상기 암복호화 장치와 상기 타 암복호화 장치가 모두 알고 있는 식별자와 결합시켜서 결합 데이터를 생성하는 단계와,
    상기 결합 데이터를 상기 제1 키를 기초로 암호화하는 단계를 포함하며,
    상기 통신 객체로 전달하는 단계는,
    상기 암호화된 결합 데이터를 상기 통신 객체로 전달하는
    암복호화 방법.
  18. 제 17 항에 있어서,
    상기 결합 데이터를 생성하는 단계는,
    상기 복수 개의 키 중 상기 암복호화 장치와 상기 타 암복호화 장치가 모두 알고 있는 기 설정된 적어도 두 개 이상의 키를 기초로 상기 식별자를 생성하는
    암복호화 방법.
  19. 제 18 항에 있어서,
    난수를 생성하는 단계를 더 포함하고,
    상기 결합 데이터를 생성하는 단계는,
    상기 식별자가 기 설정된 개수의 복수 개의 비트로 구성될 때, 상기 복수 개의 비트 중 일부의 비트는 상기 적어도 두 개 이상의 키를 기초로 값을 정하고, 상기 복수 개의 비트 중 나머지 비트는 상기 생성된 난수를 기초로 값을 정하여 상기 식별자를 생성하는
    암복호화 방법.
  20. 제 14 항에 있어서,
    상기 암복호화 장치에 비정상적인 것으로 정의된 행위가 가해지는 것을 인식하는 단계와,
    상기 행위가 가해지는 것이 인식되면 상기 복수 개의 키를 삭제하는 단계를 더 포함하는
    암복호화 방법.
  21. 제 14 항에 있어서,
    상기 복수 개의 키를 새로운 복수 개의 키로 변경하는 단계를 더 포함하는
    암복호화 방법.
  22. 제 21 항에 있어서,
    상기 복수 개의 키를 상기 새로운 복수 개의 키로 변경하는 단계는,
    상기 암복호화 장치와 상기 타 암복호화 장치가 서로 알고 있는 기 설정된 값을 기초로 상기 새로운 복수 개의 키를 생성하여 변경하는
    암복호화 방법.
  23. 제 14 항에 있어서,
    상기 통신 객체로부터 암호화된 데이터를 전달받는 단계와,
    상기 복수 개의 키를 각각 전달받으면, 상기 전달받은 암호화된 데이터를 상기 전달받은 각각의 키 중에서 어느 하나의 키를 기초로 복호화하는 단계와,
    상기 복호화된 데이터를 상기 통신 객체로 전달하는 단계를 더 포함하는
    암복호화 방법.
KR1020160022800A 2016-01-15 2016-02-25 암복호화 장치 및 방법 KR101834504B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP16206759.9A EP3193487B1 (en) 2016-01-15 2016-12-23 Encryption/decryption device and encryption/decryption method
PCT/KR2016/015323 WO2017122950A1 (ko) 2016-01-15 2016-12-27 암복호화 장치 및 방법
US15/392,033 US10389523B2 (en) 2016-01-15 2016-12-28 Apparatus and method for encrypting and decrypting

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160005630 2016-01-15
KR20160005630 2016-01-15

Publications (2)

Publication Number Publication Date
KR20170085921A true KR20170085921A (ko) 2017-07-25
KR101834504B1 KR101834504B1 (ko) 2018-03-06

Family

ID=59422688

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160022800A KR101834504B1 (ko) 2016-01-15 2016-02-25 암복호화 장치 및 방법

Country Status (2)

Country Link
US (1) US10389523B2 (ko)
KR (1) KR101834504B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190026327A (ko) * 2017-09-05 2019-03-13 주식회사 와이키키소프트 웨어러블 단말을 이용한 데이터 암복호 방법 및 시스템
WO2020067616A1 (ko) * 2018-09-27 2020-04-02 (주)아이엔아이 데이터를 안전하게 보호하는 암호화 키 생성 모듈
KR102375616B1 (ko) * 2021-01-12 2022-03-18 주식회사 티이이웨어 엔드 유저 인증을 위한 키 관리 방법 및 시스템

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3074989B1 (fr) * 2017-12-11 2021-03-05 Airbus Defence & Space Sas Procede de communication securise
CA3115084A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
WO2020072474A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4799061A (en) * 1985-11-18 1989-01-17 International Business Machines Corporation Secure component authentication system
JP3029381B2 (ja) * 1994-01-10 2000-04-04 富士通株式会社 データ変換装置
US6272634B1 (en) * 1996-08-30 2001-08-07 Regents Of The University Of Minnesota Digital watermarking to resolve multiple claims of ownership
US6675153B1 (en) * 1999-07-06 2004-01-06 Zix Corporation Transaction authorization system
AU1556301A (en) * 1999-12-03 2001-06-12 Fujitsu Limited Data distribution system and recorder for use therein
US7010689B1 (en) * 2000-08-21 2006-03-07 International Business Machines Corporation Secure data storage and retrieval in a client-server environment
US20020131592A1 (en) * 2001-03-16 2002-09-19 Harris Hinnant Entropy sources for encryption key generation
US7159114B1 (en) * 2001-04-23 2007-01-02 Diebold, Incorporated System and method of securely installing a terminal master key on an automated banking machine
US7580528B2 (en) * 2002-11-21 2009-08-25 Systems And Software Enterprises, Inc. Secure terminal data loader apparatus and method for a mobile platform
US20040260927A1 (en) * 2003-06-20 2004-12-23 Grobman Steven L. Remote data storage validation
JP4253543B2 (ja) * 2003-07-29 2009-04-15 矢崎総業株式会社 ハードウェアプロテクトキー及びその再発行方法
US20050031119A1 (en) * 2003-08-04 2005-02-10 Yuying Ding Method and communications device for secure group communication
US7457964B2 (en) * 2004-02-04 2008-11-25 Microsoft Corporation Trusted path for transmitting content thereon
JP3876324B2 (ja) * 2004-03-31 2007-01-31 独立行政法人情報通信研究機構 乱数列共有システム、乱数列共有装置、暗号復号システム、暗号装置、復号装置、乱数列共有方法、暗号方法、復号方法、ならびに、プログラム
KR20060061219A (ko) * 2004-12-01 2006-06-07 주식회사 비에스텍 암호처리 프로세서
US7653920B2 (en) * 2005-01-24 2010-01-26 Comcast Cable Communications, Llc Method and system for protecting cable television subscriber-specific information allowing limited subset access
US8788802B2 (en) * 2005-09-29 2014-07-22 Qualcomm Incorporated Constrained cryptographic keys
US8050405B2 (en) 2005-09-30 2011-11-01 Sony Ericsson Mobile Communications Ab Shared key encryption using long keypads
US7600123B2 (en) * 2005-12-22 2009-10-06 Microsoft Corporation Certificate registration after issuance for secure communication
US7835524B2 (en) * 2006-02-08 2010-11-16 Panasonic Corporation Encrypting of communications using a transmitting/receiving apparatus via key information based on a multi-level code signal and a pseudo-random number sequence for modulation with an information signal
TWI402715B (zh) * 2007-03-23 2013-07-21 Via Tech Inc 應用程式保護系統及方法
US8181038B2 (en) * 2007-04-11 2012-05-15 Cyberlink Corp. Systems and methods for executing encrypted programs
US8555089B2 (en) * 2009-01-08 2013-10-08 Panasonic Corporation Program execution apparatus, control method, control program, and integrated circuit
US8194858B2 (en) 2009-02-19 2012-06-05 Physical Optics Corporation Chaotic cipher system and method for secure communication
CN102238002A (zh) 2010-04-30 2011-11-09 国际商业机器公司 用于网络通信的动态加密和解密的方法和设备
WO2012114452A1 (ja) * 2011-02-22 2012-08-30 三菱電機株式会社 類似度算出システム及び類似度算出装置及びコンピュータプログラム及び類似度算出方法
US20120237024A1 (en) * 2011-03-18 2012-09-20 Wei-Ti Liu Security System Using Physical Key for Cryptographic Processes
US9703723B2 (en) * 2011-08-29 2017-07-11 International Business Machines Corporation Method and apparatus for performing mapping within a data processing system having virtual machines
WO2013036946A1 (en) * 2011-09-09 2013-03-14 Stoneware, Inc. Method and apparatus for key sharing over remote desktop protocol
WO2013051619A1 (ja) * 2011-10-03 2013-04-11 日本電気株式会社 類似性検出装置及び指向性近傍検出方法
US8538329B2 (en) * 2011-12-08 2013-09-17 Harris Corporation System with sub-nyquist signal acquisition and transmission and associated methods
US9858207B2 (en) * 2013-02-06 2018-01-02 International Business Machines Corporation Page level key-based memory protection
US9071424B1 (en) 2013-03-29 2015-06-30 Emc Corporation Token-based key generation
US9137010B2 (en) * 2014-01-13 2015-09-15 Cisco Technology Inc. Watermark with data integrity verification
US20150326392A1 (en) * 2014-05-06 2015-11-12 Cavalry Storage, Inc. Matrix-based cryptosystem
EP2963854A1 (en) 2014-07-02 2016-01-06 SECVRE GmbH Device for secure peer-to-peer communication for voice and data
US11831654B2 (en) * 2015-12-22 2023-11-28 Mcafee, Llc Secure over-the-air updates

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190026327A (ko) * 2017-09-05 2019-03-13 주식회사 와이키키소프트 웨어러블 단말을 이용한 데이터 암복호 방법 및 시스템
WO2020067616A1 (ko) * 2018-09-27 2020-04-02 (주)아이엔아이 데이터를 안전하게 보호하는 암호화 키 생성 모듈
KR102375616B1 (ko) * 2021-01-12 2022-03-18 주식회사 티이이웨어 엔드 유저 인증을 위한 키 관리 방법 및 시스템

Also Published As

Publication number Publication date
US20170250804A1 (en) 2017-08-31
KR101834504B1 (ko) 2018-03-06
US10389523B2 (en) 2019-08-20

Similar Documents

Publication Publication Date Title
KR101834504B1 (ko) 암복호화 장치 및 방법
US11615411B2 (en) POS system with white box encryption key sharing
JP6449970B2 (ja) IoTデバイス
RU2701480C2 (ru) Криптографическая система, выполненная для совместного использования ключей
US9787663B2 (en) Replaying a batch of secure commands in a secure channel
KR20150142623A (ko) 안전하게 메시지를 교환하기 위한 방법, 이 방법을 구현하기위한 장치 및 시스템
CN105723647A (zh) 用于共享密码密钥的系统
CN112087302A (zh) 一种非对称动态令牌加、解密算法的装置
CN110493265A (zh) 加密数据的方法及存储介质
KR101810165B1 (ko) 전자 화폐 단말 및 이를 이용하여 전자 화폐를 제공하는 방법
JP2006345160A (ja) 情報通信システム
EP3193487B1 (en) Encryption/decryption device and encryption/decryption method
KR101829423B1 (ko) 암복호화 장치 및 이를 이용한 암복호화 방법
KR101834522B1 (ko) 데이터 확인 장치 및 이를 이용하여 데이터를 확인하는 방법
US11075756B2 (en) Method of encryption, method of decryption, corresponding computer device and program
KR101834514B1 (ko) 고객측 단말과 서비스 제공 단말 간의 통신에 보안을 제공하는 보안 관리 장치
KR101834515B1 (ko) 입력부를 포함하는 암복호화 장치
CN110999205A (zh) 用于简档证书私有密钥或其他数据的封装的装置和方法
Magre Colorado Security in 1-wire system: case study: Home automation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right