KR20060058789A - Method and apparatus for data security on home network system - Google Patents

Method and apparatus for data security on home network system Download PDF

Info

Publication number
KR20060058789A
KR20060058789A KR1020040097477A KR20040097477A KR20060058789A KR 20060058789 A KR20060058789 A KR 20060058789A KR 1020040097477 A KR1020040097477 A KR 1020040097477A KR 20040097477 A KR20040097477 A KR 20040097477A KR 20060058789 A KR20060058789 A KR 20060058789A
Authority
KR
South Korea
Prior art keywords
data
aes
mode
local device
transmitted
Prior art date
Application number
KR1020040097477A
Other languages
Korean (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 KR1020040097477A priority Critical patent/KR20060058789A/en
Publication of KR20060058789A publication Critical patent/KR20060058789A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • 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/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 홈 네트워크 시스템에서의 데이터 보안 방법 및 장치에 관한 것으로, 홈 네크워크 시스템에서의 홈 서버와 로컬 디바이스간의 데이터 통신 보안 장치에 있어서, 상기 로컬 디바이스로 전송하고자 하는 데이터에 대하여 AES CBC 모드와 AES CTR 모드를 수행하여 상기 로컬 디바이스로 전송하고자 하는 데이터를 암호화하고, 상기 로컬 디바이스로부터 암호화되어서 전송되어 오는 데이터에 대하여 상기 AES CBC 모드와 상기 AES CTR 모드를 수행하여 복호화하는 홈 서버; 및 상기 홈 서버로 전송하고자 하는 데이터에 대하여 상기 AES CBC 모드와 상기 AES CTR 모드를 수행하여 상기 홈 서버로 전송하고자 하는 데이터를 암호화하거나, 상기 홈 서버로부터 암호화되어서 전송되어 오는 데이터에 대하여 상기 AES CBC 모드와 상기 AES CTR 모드를 수행하여 복호화하는 로컬 디바이스;로 구성된다. 따라서, 본 발명은 현재 특별한 보안 체계없이 위험에 노출되어 있는 홈 네터워크 시스템에서의 댁내 데이터 통신에 대하여 효과적인 보안 방법 및 장치를 제공할 수 있다.The present invention relates to a data security method and apparatus in a home network system. In an apparatus for securing a data communication between a home server and a local device in a home network system, an AES CBC mode and an AES is provided for data to be transmitted to the local device. A home server performing a CTR mode to encrypt data to be transmitted to the local device, and performing decryption by performing the AES CBC mode and the AES CTR mode on data encrypted and transmitted from the local device; And performing the AES CBC mode and the AES CTR mode for the data to be transmitted to the home server, encrypting the data to be transmitted to the home server, or the AES CBC for data transmitted by being encrypted from the home server. And a local device performing the AES CTR mode and decoding. Accordingly, the present invention can provide an effective security method and apparatus for home data communication in a home network system that is currently exposed to risk without a special security scheme.

Description

홈 네트워크 시스템에서의 데이터 보안 방법 및 장치{Method and apparatus for data security on home network system}Method and apparatus for data security in home network system {Method and apparatus for data security on home network system}

도 1은 종래의 홈 네트워크 시스템의 구성도이다.1 is a block diagram of a conventional home network system.

도 2는 본 발명의 일실시예에 따른 홈 네트워크 시스템의 구성을 나타내는 블럭도이다.2 is a block diagram showing the configuration of a home network system according to an embodiment of the present invention.

도 3은 본 발명의 일실시예에 따른 데이터 암호화 과정을 설명하는 흐름도이다.3 is a flowchart illustrating a data encryption process according to an embodiment of the present invention.

도 4는 본 발명의 일실시예에 따른 데이터 복호화 과정을 설명하는 흐름도이다.4 is a flowchart illustrating a data decoding process according to an embodiment of the present invention.

도 5는 도 3의 데이터 암호화 과정에 있어서 단계별 데이터 형태를 나타내는 것이다.FIG. 5 illustrates a step-by-step data format in the data encryption process of FIG. 3.

도 6은 도 3 및 도 4에 적용되는 AES CBC 모드 동작 과정을 설명하는 구조도이다.6 is a structural diagram illustrating an AES CBC mode operation process applied to FIGS. 3 and 4.

도 7은 도 3 및 도 4에 적용되는 AES CTR 모드 동작 과정을 설명하는 구조도이다.7 is a structural diagram illustrating an AES CTR mode operation process applied to FIGS. 3 and 4.

본 발명은 홈 네트워크 시스템에서의 데이터 보안 방법 및 장치에 관한 것으로, 더욱 상세하게는 홈 네트워크 내의 홈 서버와 특별한 암호화 기능이 없는 로컬 디바이스 간의 통신 과정에서 교환되는 데이터를 보호하기 위한 홈 네트워크 시스템에서의 데이터 보안 방법 및 장치를 제공하는 것이다.The present invention relates to a data security method and apparatus in a home network system, and more particularly, to a home network system for protecting data exchanged during a communication process between a home server in a home network and a local device without a special encryption function. It is to provide a data security method and apparatus.

도 1은 종래의 홈 네트워크 시스템의 구성도이다.1 is a block diagram of a conventional home network system.

도 1을 참조하면, 전체 홈 네트워크 시스템의 구성은 보안의 관점에서 크게 원격 클라이언트(100), 원격 클라이언트와 네트워크 망(120)으로 연결되어 있는 홈 서버(140) 및 가전기기 등으로 이루어진 로컬 디바이스(160)로 이루어져 있다.Referring to FIG. 1, the entire home network system is composed of a local device consisting of a remote client 100, a home server 140 connected to a remote client and a network 120, and a home appliance in terms of security. 160).

상기 도 1에서 살펴보는 바와 같이 최근 댁내의 TV, 냉장고, 세탁기, 보일러 등의 가전기기들을 네트워크로 연결하여 외부 인터넷 등을 통해 원격 클라이언트가 이를 자유롭게 접근 및 제어할 수 있도록 하는 홈 네트워크 시스템이 편리한 생활을 제공하는 하나의 수단으로 각광받고 있다. 또한 홈 네트워크 시스템과 관련된 연구들이 이루어지고 있는 추세이다.As shown in FIG. 1, a home network system for connecting home appliances such as a TV, a refrigerator, a washing machine, a boiler, and the like in a home network to a remote client can freely access and control it via an external Internet. It is in the spotlight as a means of providing. In addition, researches related to home network systems are being conducted.

그러나, 이러한 홈 네트워크 시스템은 기타 다른 유무선 네트워크와 마찬가지로 해킹이나 도청 등의 악의적인 보안 위협의 가능성이 존재한다. 즉, 보안 체계가 제대로 갖추어 지지 않은 경우, 인증되지 않은 사용자가 인터넷 등을 통해 다른 가정의 가전기기들을 마음대로 조작할 수도 있고, 댁내에서 이루어지고 있는 가전기기의 동작 상태를 도청(eavesdrop)하여 재공격(replay attack) 등을 시도할 수도 있다.However, such home network systems, like other wired and wireless networks, have the potential for malicious security threats such as hacking and eavesdropping. In other words, if the security system is not properly established, an unauthorized user may arbitrarily operate home appliances of other households through the Internet, or may eavesdrop on the operation state of home appliances that are made at home. You can also try a replay attack.

따라서, 홈 네트워크 시스템을 위한 보안 체계는 반드시 갖추어져야 하는데 이는 다시 사용자 인증 과정과 통신 데이터 암호화 과정 등 크게 두 부분으로 나누어 볼 수 있다.Therefore, a security system for a home network system must be provided, which can be divided into two parts, a user authentication process and a communication data encryption process.

첫째로, 사용자 인증 과정은 사용자가 원격 클라이언트를 이용해서 인터넷에 접속한 뒤, 이를 통해 댁내 홈 네트워크 시스템에 위치하여 로컬 디바이스들의 통신 제어를 담당하고 있는 홈 서버에 접근하게 되고 이 때 홈 서버는 사용자를 인증하여 로컬 디바이스들을 제어할 수 있는 권한을 제공하게 된다. 즉, 이 과정은 외부 네트워크에서 홈 네트워크 시스템으로의 접근까지를 보호하기 위한 것으로 이와 같은 인증 및 권한 과정을 통해 허가되지 않은 사용자의 접근을 막을 수 있게 된다.Firstly, the user authentication process uses a remote client to access the Internet, and then accesses a home server located in the home network system that is responsible for controlling communication between local devices. Authenticate will give you the authority to control local devices. In other words, this process protects the access from the external network to the home network system. Through this authentication and authorization process, unauthorized users can be prevented.

둘째로, 통신 데이터 암호화 과정은 사용자 인증 과정을 거쳐 홈 네트워크를 사용할 수 있게 된 사용자가 원하는 임의의 로컬 디바이스를 동작시켰을 경우 이에 해당하는 명령 등의 데이터 통신이 홈 서버와 로컬 디바이스 사이에 이루어지게 되고, 이 때 주고받는 데이터에 기밀성과 무결성을 제공하기 위해 암호화를 수행하는 과정을 의미한다. 이 과정을 통해 홈 네트워크 내부에서 이루어지는 데이터의 보안이 가능해지고 외부에서의 도청 시도 등을 방지할 수 있게 된다.Secondly, when the communication data encryption process operates any local device desired by the user who has been able to use the home network through the user authentication process, data communication such as a corresponding command is performed between the home server and the local device. This refers to the process of performing encryption to provide confidentiality and integrity to the data sent and received. This process enables the security of data inside the home network and prevents eavesdropping attempts from the outside.

이와 같이, 현재 홈 네트워크 시스템에서의 보안 취약성을 해소하기 위한 많은 연구들이 이루어지고 있으나 이는 대부분 사용자 인증에 관계하여 외부로부터 접근하는 공격자들로부터 홈 네트워크를 보호하기 위한 부분에 집중되고 있다. As such, many researches have been made to address security vulnerabilities in home network systems, but most of them are focused on protecting the home network from attackers from outside regarding user authentication.

그러나 홈 네트워크 내에 존재하는 홈 서버와 이에 연결된 로컬 디바이스 간 의 데이터 통신 역시 보안이 이루어지지 않을 경우 외부로 그 데이터의 내용이 노출될 수 있다는 문제점을 가지고 있다. 특히, 홈 네트워크 시스템에 연결된 TV, 냉장고, 보일러 등의 로컬 디바이스들의 경우 특별한 암호화 기능이 없는 경우가 대부분이며, 근거리 무선 통신이나 전력선 통신을 통한 인터페이스 방법은 인증과정과 상관없이 위장 홈 서버 등을 통한 도청(eavesdrop) 이나 재공격(replay attack) 등이 가능하다는 문제점이 있다.However, data communication between a home server existing in a home network and a local device connected thereto also has a problem that the contents of the data may be exposed to the outside when security is not achieved. In particular, local devices such as TVs, refrigerators, and boilers connected to home network systems usually do not have special encryption functions. The interface method through short-range wireless communication or power line communication is performed through a fake home server regardless of the authentication process. There is a problem in that eavesdrop or replay attack is possible.

본 발명은 상기에서 살펴본 홈 네트워크 시스템에서의 데이터 보안 방법 및 장치에 관한 것으로, 홈 서버와 로컬 디바이스 간의 중요한 데이터 통신에 있어서 AES 암호 알고리즘을 적용하여 데이터의 기밀성 및 무결성을 제공하고 특히 중요 제어 데이터의 특성을 감안하여 효과적인 초기화 과정을 부가하여 효과적으로 데이터를 보호할 수 있는 방법을 제공한다.The present invention relates to a data security method and apparatus in a home network system as described above, and provides confidentiality and integrity of data by applying an AES encryption algorithm in important data communication between a home server and a local device, Given the characteristics, it provides an effective method of protecting data by adding an effective initialization process.

상기 목적을 달성하기 위한 홈 네트워크 시스템에서의 데이터 보안 장치는, 홈 네크워크 시스템에서의 홈 서버와 로컬 디바이스간의 데이터 통신 보안 장치에 있어서, 상기 로컬 디바이스로 전송하고자 하는 데이터에 대하여 AES CBC 모드와 AES CTR 모드를 수행하여 상기 로컬 디바이스로 전송하고자 하는 데이터를 암호화하고, 상기 로컬 디바이스로부터 암호화되어서 전송되어 오는 데이터에 대하여 상기 AES CBC 모드와 상기 AES CTR 모드를 수행하여 복호화하는 홈 서버; 및 상기 홈 서버로 전송하고자 하는 데이터에 대하여 상기 AES CBC 모드와 상기 AES CTR 모드 를 수행하여 상기 홈 서버로 전송하고자 하는 데이터를 암호화하거나, 상기 홈 서버로부터 암호화되어서 전송되어 오는 데이터에 대하여 상기 AES CBC 모드와 상기 AES CTR 모드를 수행하여 복호화하는 로컬 디바이스;를 포함하는 것을 특징으로 가진다. A data security device in a home network system for achieving the above object is a data communication security device between a home server and a local device in a home network system, wherein the data to be transmitted to the local device is AES CBC mode and AES CTR. A home server performing a mode to encrypt data to be transmitted to the local device, and performing decryption by performing the AES CBC mode and the AES CTR mode on the data transmitted by being encrypted from the local device; And performing the AES CBC mode and the AES CTR mode for the data to be transmitted to the home server, encrypting the data to be transmitted to the home server, or the AES CBC for the data transmitted by being encrypted from the home server. And a local device that performs a decoding operation by performing a mode and the AES CTR mode.

상기 목적을 달성하기 위한 홈 네트워크 시스템에서의 데이터 보안 방법은, 홈 네크워크 시스템의 홈 서버에서 로컬 디바이스로 또는 상기 로컬 디바이스에서 상기 홈 서버로 데이터를 전송하는 경우에 전송하고자 하는 데이터를 암호화하여 데이터 통신을 보안하는 방법에 있어서, (a) 전송하고자 하는 데이터를 입력받는 단계; (b) 상기 전송하고자 하는 데이터에 대하여 AES CBC 모드를 수행하여 데이터의 MAC(Message Authentication Code)을 생성하는 단계; 및 (c) 상기 (a)단계에서 입력받은 전송하고자 하는 데이터와 상기 (b)단계에서 생성된 MAC를 더한 전체 데이터에 대하여 AES CTR 모드를 수행하여 상기 전체 데이터에 대하여 암호화하는 단계;를 포함하는 것을 특징으로 가진다.A data security method in a home network system for achieving the above object is a data communication by encrypting data to be transmitted when transmitting data from a home server of a home network system to a local device or from the local device to the home server. A method of securing the data, the method comprising: (a) receiving data to be transmitted; (b) generating a message authentication code (MAC) of data by performing AES CBC mode on the data to be transmitted; And (c) performing AES CTR mode on all data obtained by adding the data to be transmitted received in step (a) and the MAC generated in step (b) to encrypt the entire data. It is characterized by.

또한, 상기 목적을 달성하기 위한 홈 네트워크 시스템에서의 데이터 보안 방법은, 홈 네크워크 시스템의 홈 서버에서 로컬 디바이스로 또는 상기 로컬 디바이스에서 상기 홈 서버로 암호화된 데이터를 전송받아 이를 복호화하여 데이터 통신을 보안하는 방법에 있어서, (a) 상기 암호화된 데이터를 입력받는 단계; (b) 상기 암호화된 데이터에 대하여 AES CTR 모드를 수행하여 실제 전송하고자 하는 데이터와 제 1 MAC(Message Authentication Code)으로 이루어진 데이터로 복호화하는 단계; (c) 상기 (b)단계에서 출력된 복호화된 데이터 중에서 제 1 MAC을 제외한 상기 실제 전송하고자 하는 데이터에 대하여 AES CBC 모드를 수행하여 제 2 MAC을 생성하는 단계; (d) 상기 (b)단계에서 복호화된 제 1 MAC과 상기 (c)단계에서 생성된 제 2 MAC이 서로 일치하는지 판단하는 단계; 및 (e) 상기 (d)단계에서 두개의 MAC이 일치할 경우, 상기 (b)단계에서 복호화된 데이터를 출력하는 단계;를 포함하는 것을 특징으로 가진다.In addition, a data security method in a home network system for achieving the above object, the encrypted data received from the home server of the home network system to the local device or from the local device to the home server to secure the data communication by decrypting it A method comprising: (a) receiving the encrypted data; (b) performing AES CTR mode on the encrypted data and decrypting the data to be actually composed of data to be transmitted and first MAC (Message Authentication Code); (c) generating a second MAC by performing an AES CBC mode on the data to be actually transmitted except for the first MAC among the decoded data output in step (b); (d) determining whether the first MAC decrypted in step (b) and the second MAC generated in step (c) coincide with each other; And (e) if the two MACs coincide in step (d), outputting the decrypted data in step (b).

이하, 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention will be described in detail.

우선, 본 발명에서 데이터의 암호화를 위해 적용하는 암호화 알고리즘인 AES(Advanced Encryption Standard) 알고리즘에 대해서 살펴보면 다음과 같다. First, the AES (Advanced Encryption Standard) algorithm, which is an encryption algorithm applied for data encryption in the present invention, is as follows.

일반적으로, 데이터의 보안은 기밀성(confidentiality)과 무결성(integrity)을 제공하는 데에 있으며, 이는 일반적으로 데이터의 암호화를 통해 가능하게 된다. 데이터의 암호화를 위한 알고리즘은 크게 공개키 알고리즘과 대칭키 알고리즘으로 나눌 수 있으며, AES 알고리즘은 이중에서 대칭키 알고리즘에 속하는 것으로 종래의 DES(Data Encryption Standard) 알고리즘을 대신하기 위하여 미국표준기술연구소(NIST: National Institute of Standards and Technology)에서 선정된 알고리즘이다. In general, the security of the data is to provide confidentiality and integrity, which is generally possible through the encryption of data. Algorithms for data encryption can be broadly divided into public key algorithms and symmetric key algorithms. The AES algorithm belongs to the symmetric key algorithm, and the US Institute of Standards and Technology (NIST) replaces the conventional DES (Data Encryption Standard) algorithm. The algorithm was chosen by the National Institute of Standards and Technology.

AES 알고리즘은 128 비트 입력에 대해서 128, 192, 256 비트의 크기를 가질 수 있는 키 값을 가지고 기본적으로 SubBytes, ShiftRows, MixColumns, AddRoundKey 등 4개의 기본 연산을 반복 수행하는 것으로 암호화 과정을 수행한다. The AES algorithm performs encryption by repeating four basic operations such as SubBytes, ShiftRows, MixColumns, and AddRoundKey with key values that can be 128, 192, and 256 bits in size for 128-bit input.

AES 알고리즘에 대해서는 2001년 11월 25일에 발표된 최종표준안(FIPS-197) 에 상세히 나타나 있다.The AES algorithm is described in detail in the Final Standard, published on November 25, 2001 (FIPS-197).

그리고, 일반적인 메시지의 경우 128 비트, 즉 16 바이트 단위의 블록으로 전체 메시지를 AES로 암호화하고자 할 때는 반복적인 암호화가 필요하게 된다. 이 때, 여러 개의 블록을 연관시켜 암호화 시키는 것이 동작모드이다. In the case of a general message, it is necessary to repeatedly encrypt an entire message using AES in 128-bit, 16-byte blocks. At this time, the operation mode is to associate and encrypt several blocks.

미국표준기술연구소는 "NIST Special Publication 800-38A"의 문서를 통해 AES에 대하여 5가지의 AES 표준 동작모드를 제안하고 있다. 보다 구체적으로 살펴보면, AES는 ECB(Electric Code Book) 모드, CBC(Cipher Block Chaining) 모드, CFB(Cipher Feedback) 모드, OFB(Output Feedback) 모드 및 CTR(Counter) 모드 등 총 5 가지의 동작모드를 가진다. 본 발명에서는 이중에서 데이터의 기밀성 제공을 위해 CTR(Counter) 모드를 사용하고, 데이터의 무결성 제공을 위해서 CBC(Cipher Block Chaining) 모드를 활용하기로 한다.The National Institute of Standards and Technology proposes five AES standard operating modes for AES in a document in the "NIST Special Publication 800-38A". In more detail, AES includes five operation modes, such as Electric Code Book (ECB) mode, Cipher Block Chaining (CBC) mode, Cipher Feedback (CFB) mode, Output Feedback (OFB) mode, and Counter (CTR) mode. Have In the present invention, a CTR (Counter) mode is used to provide confidentiality of data, and a Cipher Block Chaining (CBC) mode is used to provide data integrity.

도 2는 본 발명의 일실시예에 따른 홈 네트워크 시스템의 구성을 나타내는 블럭도이다.2 is a block diagram showing the configuration of a home network system according to an embodiment of the present invention.

도 2를 참조하면, 본 발명에 따른 홈 네트워크 시스템은 홈 서버(200)(도 1의 140) 및 로컬 디바이스(250)(도 1의 160)로 이루어져 있다.Referring to FIG. 2, the home network system according to the present invention includes a home server 200 (140 in FIG. 1) and a local device 250 (160 in FIG. 1).

홈 서버(200)는 제어부(210), 보안 모듈(220), 네트워크 연결부(230) 및 데이터베이스(240)를 포함하여 구성된다. The home server 200 includes a control unit 210, a security module 220, a network connection unit 230, and a database 240.

제어부(210)는 홈 서버(200) 내부 각각의 구성요소에 대한 동작을 제어하는 역할을 수행한다.The controller 210 controls the operation of each component inside the home server 200.

데이터베이스(240)는 홈 서버(200)에 연결된 각각의 로컬 디바이스(250)들의 정보를 저장하는 역할을 수행한다. The database 240 stores information of each of the local devices 250 connected to the home server 200.

네트워크 연결부(230)는 데이터베이스(240)와 각각의 로컬 디바이스(250)와의 통신을 위한 인터페이스를 담당하는 역할을 수행한다.The network connector 230 plays a role of an interface for communication between the database 240 and each local device 250.

보안 모듈(220)은 홈 서버(200) 내에 존재하여 데이터 보안 기능을 수행하기 위해서 몇 개의 구성요소로 구성되는데 이들은 홈 네트워크 시스템의 특성에 따라 하드웨어 또는 소프트웨어로 구현될 수 있다.The security module 220 is composed of several components that exist in the home server 200 to perform data security functions, which may be implemented in hardware or software according to the characteristics of the home network system.

보안 모듈(220)은 핵심 연산을 수행하는 AES 연산부(224)를 가지고, 각종 동작모드를 수행하기 위해서 필요한 보조 연산 기능을 포함하는 부 연산부(226)를 가지며, 보안 모듈(220) 전체의 동작을 제어하는 암호 제어부(222)를 가진다.The security module 220 has an AES operation unit 224 performing core operations, a sub operation unit 226 including auxiliary operation functions necessary to perform various operation modes, and performs operations of the entire security module 220. It has a password control unit 222 to control.

또한, 홈 서버(100)측에 위치한 보안 모듈(220)에는 난수 발생부(228)를 포함하는데 이는 AES 연산부(224)를 이용하여 동작 모드를 수행할 때 필요한 초기화 값, 즉 초기화 벡터(IV)와 카운터 값(Counter Value)을 생성하기 위한 것이다.In addition, the security module 220 located at the home server 100 includes a random number generator 228, which is an initialization value necessary for performing an operation mode using the AES calculator 224, that is, an initialization vector IV. And to create a Counter Value.

상기에서 기술한 것처럼 본 발명에서 이용되는 AES CBC 모드 및 AES CTR 모드의 수행을 위해서는 초기화 벡터와 카운터 값이 필요하고 이는 초기값이 특정 약속에 의해서 주어져야 한다. As described above, in order to perform AES CBC mode and AES CTR mode used in the present invention, an initialization vector and a counter value are required, and an initial value must be given by a specific appointment.

일반적으로 긴 데이터를 송수신하는 경우에는 초기값들이 연속적으로 갱신될 수 있고, 또한 데이터 자체가 가지는 고유 정보 등을 이용해서 새로운 값들을 생성할 수 있다. 그러나, 본 발명에서 고려하는 홈 서버(200)와 로컬 디바이스(250) 간의 구동/정지, 동작 선택, 예약 명령 등과 같이 중요하지만 크기가 작은 제어 데이터들의 통신에 있어서는 긴 데이터 통신에서 일반적으로 행해지는 방법과 같은 초 기값 갱신에 따른 효과를 기대하기 어렵다. 그러므로 만일 이와 같은 방법을 그대로 쓴다면 이는 보안에 있어 취약한 부분이 될 수 있다. In general, in the case of transmitting and receiving long data, initial values may be continuously updated, and new values may be generated using unique information of the data itself. However, a method generally performed in long data communication in communication of important but small control data such as a start / stop, an operation selection, a reservation command, and the like, between the home server 200 and the local device 250 considered in the present invention. It is difficult to expect the effects of initial value update. Therefore, if you use this method, it can be a weak spot in security.

따라서, 본 발명에서는 홈 서버(200) 측에 난수 발생부(228)를 두어 주기적으로 초기화 벡터와 카운터 값의 초기값을 갱신할 수 있도록 하여 보다 효과적인 보안을 가능토록 한다.Therefore, in the present invention, a random number generator 228 is provided on the home server 200 side to periodically update the initial values of the initialization vector and the counter value, thereby enabling more effective security.

홈 서버(200)와 연결되는 로컬 디바이스(250)는 로컬 디바이스(250)의 동작을 제어하는 제어부(260), 홈 서버(200)와의 인터페이스를 담당하는 네트워크 연결부(280) 및 홈 서버(200)의 보안 모듈(220)에 상응하는 역할을 수행하는 보안 모듈(270)을 포함하여 이루어진다. The local device 250 connected to the home server 200 may include a control unit 260 that controls the operation of the local device 250, a network connection unit 280 that interfaces with the home server 200, and the home server 200. It comprises a security module 270 to perform a role corresponding to the security module 220 of the.

로컬 디바이스(250)의 특성에 따라 제어부(260)는 CPU 기반이 될 수도 있고 간단한 기능만을 수행하는 소형 가전기기와 같은 경우에는 간단한 제어 모듈이 적용될 수도 있다. According to the characteristics of the local device 250, the controller 260 may be CPU-based, or in the case of a small home appliance that performs only a simple function, a simple control module may be applied.

네트워크 연결부(280)는 홈 서버(200)와 사전에 약속된 방식으로 통신을 수행하는 역할을 담당한다. The network connection unit 280 is responsible for communicating with the home server 200 in a manner promised in advance.

보안 모듈(270)은 홈 서버(200)의 보안 모듈(220) 구성과 동일한 기능을 수행하는데, 핵심 연산을 수행하는 AES 연산부(274), 동작 모드별 보조 연산 기능을 가지는 부 연산부(276) 및 상기 구성요소들의 동작을 제어하는 암호 제어부(272)로 구성되어 데이터 보안 기능을 수행한다.The security module 270 performs the same function as the configuration of the security module 220 of the home server 200. The security module 270 includes an AES operation unit 274 performing core operations, a sub operation unit 276 having an auxiliary operation function for each operation mode, and It is composed of a password control unit 272 for controlling the operation of the components to perform a data security function.

도 3은 본 발명의 일실시예에 따른 데이터 암호화 과정을 설명하는 흐름도이다.3 is a flowchart illustrating a data encryption process according to an embodiment of the present invention.

도 3을 참조하면, 데이터를 암호화하여 전송하는 송신측에서의 데이터 암호화 과정을 나타낸 것이다. 대부분의 경우 송신측은 홈 서버(200)가 되므로 홈 서버(200)측의 송신 과정을 중심으로 나타내기로 한다.Referring to FIG. 3, a data encryption process of a transmitting side encrypting and transmitting data is shown. In most cases, since the transmission side becomes the home server 200, the transmission process of the home server 200 will be described.

우선, 홈 서버(200)가 보안 모듈(220)을 통해 데이터 암호화 과정을 수행하고자 하면 먼저 현재 수행하고자 하는 동작이 초기화 과정인지 여부를 판단하게 된다(S300).First, when the home server 200 attempts to perform a data encryption process through the security module 220, it is first determined whether an operation to be performed is an initialization process (S300).

상기에서 살펴본 바와 같이 보다 효과적인 보안을 위해 초기화 벡터와 카운터 값의 초기값을 홈 서버(200)의 난수 발생부(228)를 통해 생성하게 되는데 이와 같이 생성된 데이터도 설정된 로컬 디바이스(250)와 공유되기 위해서는 전송되어야 하므로 암호화 과정을 거치게 된다. 이 때, 난수 발생부(228)를 통해 생성된 데이터는 기존에 생성되어 있는 초기화 벡터와 카운터 값을 통해 암호화 되며, 다음 번 암호화 과정을 시작할 때는 갱신된 초기화 벡터와 카운터 값을 초기값으로 하여 암호화를 수행하게 된다. As described above, the initial values of the initialization vector and the counter value are generated through the random number generator 228 of the home server 200 for more effective security. The generated data is shared with the configured local device 250. In order to be transmitted, it must be transmitted. At this time, the data generated by the random number generator 228 is encrypted using the generated initialization vector and the counter value. When the next encryption process starts, the data is encrypted using the updated initialization vector and the counter value as initial values. Will be performed.

단계S300에서의 판단결과, 초기화 과정이라고 판단되면 초기화 벡터와 카운터 값의 초기 데이터를 생성한다(S305). 한편, 단계S300에서의 판단결과, 초기화 과정이 아니라고 판단되면 암호화될 데이터를 입력받게 된다(S310). As a result of the determination in step S300, if it is determined that the initialization process, initial data of the initialization vector and the counter value is generated (S305). On the other hand, if it is determined in step S300 that the initialization process is not received, the data to be encrypted is received (S310).

단계S305에서 초기화 벡터와 카운터 값의 초기 데이터와 단계S310에서 암호화될 데이터가 주어지면 AES 연산부(224)와 부 연산부(226)를 이용하여 AES CBC 모드를 수행하여 MAC을 생성한다(S320). AES CBC 모드에 대한 보다 구체적인 내용은 도 6에서 살펴보기로 한다.When the initial data of the initialization vector and the counter value and the data to be encrypted in step S310 are given in step S305, the AES CBC mode is performed using the AES operator 224 and the sub operator 226 to generate a MAC (S320). A more detailed description of the AES CBC mode will be described with reference to FIG. 6.

다음으로, 전송할 데이터와 MAC을 더한 전체 데이터에 대하여 암호화를 수행한다(S330). 이 때, 데이터 암호화 과정은 AES 연산부(224)와 부 연산부(226)를 이용하여 AES CTR 모드를 수행하여 이루어진다. AES CTR 모드에 대한 보다 구체적인 내용은 도 7에서 살펴보기로 한다.Next, encryption is performed on all data including the data to be transmitted and the MAC (S330). At this time, the data encryption process is performed by performing the AES CTR mode using the AES operator 224 and the sub operator 226. A more detailed description of the AES CTR mode will be described with reference to FIG. 7.

다음으로, 단계S330에서 암호화된 데이터는 네트워크 연결부(140)를 통하여 로컬 디바이스(250)로 출력된다(S340).Next, the data encrypted in step S330 is output to the local device 250 through the network connection unit 140 (S340).

본 발명의 일실시예인 도 3에서는 홈 서버(200) 측에서 데이터 암호화를 수행하는 경우에 대하여 살펴보았으나, 본 발명의 다른 일실시예에서는 만일 로컬 디바이스(250) 측에서 데이터 암호화를 수행하는 경우에는 상기 도 3의 과정 중 초기화 과정 판단 단계(S330) 및 초기화 데이터 생성 단계(S305) 없이 바로 암호화될 데이터가 입력 단계(S310)로 시작된다.In FIG. 3, an embodiment of the present invention has been described with respect to a case where data encryption is performed on the home server 200 side. However, in another embodiment of the present invention, if the local device 250 performs data encryption, In the process of FIG. 3, the data to be encrypted immediately starts with the input step S310 without the initialization process determination step S330 and the initialization data generation step S305.

도 4는 본 발명의 일실시예에 따른 데이터 복호화 과정을 설명하는 흐름도이다.4 is a flowchart illustrating a data decoding process according to an embodiment of the present invention.

도 4를 참조하면, 데이터를 복호화하는 수신측에서의 데이터 복호화 과정을 나타낸 것이다. 대부분의 경우 수신측은 로컬 디바이스(250)가 되므로 로컬 디바이스(250)측의 수신 과정을 중심으로 나타내기로 한다.Referring to FIG. 4, a data decoding process of a receiving side for decoding data is shown. In most cases, since the receiving side becomes the local device 250, the receiving process on the local device 250 side will be described.

우선, 로컬 디바이스(250)의 보안 모듈(270)에서는 복호화될 데이터를 입력받게 된다(S400).First, the security module 270 of the local device 250 receives data to be decrypted (S400).

다음으로, 복호화될 데이터는 AES 연산부(274)와 부 연산부(276)을 통해 AES CTR 모드를 수행하여 복호화된다(S410). 여기에서, 복호화된 데이터는 실제로 필요 한 데이터(홈 서버(200)에서 전송하기 원하는 데이터) 및 필요한 데이터에 대한 MAC으로 분리된다. AES CTR 모드에 대한 보다 구체적인 내용은 도 7에서 살펴보기로 한다.Next, the data to be decoded is decoded by performing the AES CTR mode through the AES operator 274 and the sub operator 276 (S410). Here, the decrypted data is separated into MACs for data actually needed (data to be transmitted from the home server 200) and data needed. A more detailed description of the AES CTR mode will be described with reference to FIG. 7.

다음으로, 입력받은 복호화될 데이터의 무결성을 검증하기 위하여 단계S410에서 복호화된 데이터 중에서 MAC을 제외한 나머지 실제 필요한 데이터에 대해서 AES 연산부(274)와 부 연산부(276)를 이용하여 AES CBC 모드를 수행하여 MAC을 생성한다(S420). AES CBC 모드에 대한 보다 구체적인 내용은 도 6에서 살펴보기로 한다.Next, in order to verify the integrity of the received data to be decoded, the AES CBC mode is performed using the AES operator 274 and the sub operator 276 on the data that is actually necessary except for the MAC among the data decoded in step S410. Create a MAC (S420). A more detailed description of the AES CBC mode will be described with reference to FIG. 6.

다음으로, 단계S410에서 분리된 MAC과 단계S420에서 생성된 MAC이 서로 일치하는지 여부를 판단한다(S430).Next, it is determined whether the MAC separated in step S410 and the MAC generated in step S420 coincide with each other (S430).

다음으로, 단계S430에서 일치한다고 판단되는 경우에 복호화된 데이터를 출력한다(S440). 이와 같이 출력되는 복호화된 데이터를 통해 로컬 디바이스(250)의 제어부(260)는 복호화된 데이터가 요청하는 동작을 수행하게 된다. Next, when it is determined in step S430 that the data match, the decoded data is output (S440). The control unit 260 of the local device 250 performs the operation requested by the decrypted data through the decoded data output as described above.

한편, 단계S430에서의 일치하지 않는다고 판단되는 경우에 에러 메시지를 출력하게 된다(S445). 단계S445를 통하여 전송상에 오류가 있었음을 알리게 된다. 이와 같이 출력되는 에러 메시지를 통해 로컬 디바이스(250)의 제어부(260)는 해당하는 동작을 수행하게 된다.On the other hand, if it is determined that there is a mismatch in step S430, an error message is output (S445). Through step S445, an error in transmission is reported. The controller 260 of the local device 250 performs a corresponding operation through the error message output as described above.

본 발명의 일실시예인 도 4에서는 로컬 디바이스(200) 측에서 데이터 복호화를 수행하는 경우에 대하여 살펴보았으나, 본 발명의 다른 일실시예에서는 만일 홈 서버(200)에서 데이터 복호화를 수행하는 경우에도 도 4와 동일한 과정을 통해 동 작이 이루어지게 된다.In FIG. 4, an embodiment of the present invention has been described with respect to the case of performing data decryption on the local device 200 side, in another embodiment of the present invention, even when the home server 200 performs data decryption. Operation is made through the same process as in FIG.

도 5는 도 3의 데이터 암호화 과정에 있어서 단계별 데이터 형태를 나타내는 것이다.FIG. 5 illustrates a step-by-step data format in the data encryption process of FIG. 3.

도 5를 참조하면, 먼저, 데이터(data)가 입력되면 AES CBC 모드를 통해 상기 데이터에 대한 MAC을 생성하게 된다(S500). AES CBC 모드에 대하여는 도 6에서 자세히 살펴보기로 한다.Referring to FIG. 5, first, when data is input, a MAC for the data is generated through the AES CBC mode (S500). The AES CBC mode will be described in detail with reference to FIG. 6.

다음으로, 이와 같이 단계S500에서 생성된 MAC은 다시 상기 데이터에 더해져서 전체 데이터는 데이터와 MAC이 더해져 있는 구조를 가지게 된다.Next, the MAC generated in step S500 is added to the data again, so that the entire data has a structure in which data and MAC are added.

다음으로, 데이터와 MAC이 더해져 있는 전체 데이터에 대해 AES CTR 모드로 암호화를 수행하게 된다(S520). 단계S520을 통하여 결국 암호화된 데이터가 출력되게 된다. AES CTR 모드에 대하여는 도 7에서 자세히 살펴보기로 한다.Next, encryption is performed in AES CTR mode for all data to which data and MAC are added (S520). Finally, the encrypted data is output through step S520. The AES CTR mode will be described in detail with reference to FIG. 7.

도 5의 경우에는 암호화 과정에 대하여 살펴보았으나, 복호화 과정의 경우에는 도 5의 역순으로 동작이 수행된다.In the case of FIG. 5, the encryption process has been described, but in the case of the decryption process, operations are performed in the reverse order of FIG. 5.

도 6은 도 3 및 도 4에 적용되는 AES CBC 모드 동작 과정을 설명하는 구조도이다.6 is a structural diagram illustrating an AES CBC mode operation process applied to FIGS. 3 and 4.

도 6을 참조하면, AES CBC 모드를 이용하여 데이터의 기밀성을 제공하기 위한 MAC(Message Authentication Code)를 생성하는 과정을 도시한 것이다.Referring to FIG. 6, a process of generating a message authentication code (MAC) for providing confidentiality of data using the AES CBC mode is illustrated.

이론적으로 AES CBC 모드는 암호화시에는 AES 암호화(AES Encryption) 연산을, 그리고 복호화시에는 AES 복호화(AES Decryption) 연산을 이용하여 암복호 연산을 수행하는 동작 모드이다. 그러나 일반적으로는 AES 암호화만을 이용하여 MAC 를 생성하는 데에 주로 사용된다. Theoretically, the AES CBC mode is an operation mode in which an encryption / decryption operation is performed by using an AES encryption operation in encryption and an AES decryption operation in decryption. In general, however, it is mainly used to generate MAC using only AES encryption.

암호화를 위해서 AES CBC 모든 초기화 벡터(IV: Initialization Vector)를 필요로 하는데 데이터의 길이나 순서 등의 고유 정보를 이용해서 초기에 생성되는 값으로 일반적으로는 연속적인 데이터의 입력이 이어질 경우 편리성을 위해서 0으로 초기에 설정해두고 이후 생성되는 값을 계속해서 사용하게 된다. For encryption, AES CBC requires all initialization vectors (IV), which are values that are initially generated using unique information such as the length and order of data. For this reason, it is set to 0 initially, and the generated value is used continuously.

먼저, AES CBC 연산 과정은 입력되는 제 1 평문(Plain text)과 초기화 벡터에 대하여 배타적 논리합(XOR) 연산을 수행한다(S601).First, the AES CBC operation performs an exclusive OR operation on the input plain text and the initialization vector (S601).

다음으로, 단계S601에서의 결과 값을 주어진 키(Key) 값을 통해 AES 암호화 한다(S621). Next, the resultant value in step S601 is AES-encrypted through the given key value (S621).

단계S621에서 출력되는 128 비트값은 제 1 암호문(Cipher text)이 된다. 또한, 계속 이어지는 제 2 평문(Plain text)이 있을 경우에는 단계S621에서 출력되는 128 비트값은 다음 연산을 위한 초기화 벡터로 제공된다. 즉, 입력되는 제 2 평문(Plain text)과 초기화 벡터로 제공되는 단계S621에서 출력되는 128 비트값에 대하여 배타적 논리합(XOR) 연산을 수행한다(S602).The 128-bit value output in step S621 becomes the first cipher text. In addition, when there is a second plain text that continues, the 128-bit value output in step S621 is provided as an initialization vector for the next operation. That is, an exclusive OR operation is performed on the 128-bit value output in step S621 provided as an input second plain text and an initialization vector (S602).

다음으로, 단계S601에서의 결과값에 대하여 AES 암호화 한다(S622).Next, AES encryption is performed on the resultant value in step S601 (S622).

단계S622에서 출력되는 128 비트값은 제 2 암호문(Cipher text)이 된다. The 128-bit value output in step S622 becomes a second cipher text.

또한, 이과 같은 방법으로 계속 이어지는 제 n 평문(Plain text)이 있을 경우에는 단계S62n-1(단계S62n의 전 단계를 나타냄)에서 출력되는 128 비트값은 다음 연산을 위한 초기화 벡터로 제공된다. 즉, 입력되는 제 n 평문(Plain text)과 초기화 벡터로 제공되는 단계S62n-1에서 출력되는 128 비트값에 대하여 배타적 논리합 (XOR) 연산을 수행한다(S62n).In addition, in the case where there are n-th plain text continued in this manner, the 128-bit value output in step S62n-1 (indicative of the previous step in step S62n) is provided as an initialization vector for the next operation. That is, an exclusive logical sum (XOR) operation is performed on the 128-bit value output in step S62n-1 provided by the input n-th plain text and the initialization vector (S62n).

상기와 같은 일련의 연산 과정을 거치고 나면 최종 128 비트의 암호문(Cipher text)이 출력되는데 이 중에서 상위 64 비트값을 MAC으로 사용한다. MAC 연산을 위해서 이용되는 AES CBC 모드의 경우에 AES 암호화만을 요구하는데 이는 데이터 무결성을 위해서 생성되는 MAC은 데이터 송신측과 수신측에서 모두 동일한 연산을 수행한 뒤 그 결과가 동일한가를 조사하는 방식이므로 AES 복호화를 수행할 필요가 없기 때문이다.After a series of operations as described above, the final 128-bit cipher text (Cipher text) is output, of which the upper 64-bit value is used as the MAC. In the case of AES CBC mode used for MAC operation, only AES encryption is required because MAC generated for data integrity performs the same operation on both the data sender and the receiver and checks whether the result is the same. This is because there is no need to perform decryption.

도 7은 도 3 및 도 4에 적용되는 AES CTR 모드 동작 과정을 설명하는 구조도이다.7 is a structural diagram illustrating an AES CTR mode operation process applied to FIGS. 3 and 4.

도 7을 참조하면, AES CTR 모드를 이용하여 데이터의 암호화 및 복호화 연산을 수행하는 것을 도시한 것이다.Referring to FIG. 7, an encryption and decryption operation of data is performed using the AES CTR mode.

AES CTR 모드의 동작을 위해서는 키(Key) 값, 상호 약속된 방식으로 증가하는 카운터(Counter) 값 및 암호화/복호화가 요구되는 입력값인 평문(Plain text) 또는 암호문(Cipher text)이 입력된다. 여기에서, 키 값은 데이터 통신 이전에 수행되어야 할 인증 과정에서 먼저 상호간에 공유 또는 동일한 방식으로 생성하여 같은 값으로 가지게 되는데 이는 미리 규정되어 있는 키 생성 프로토콜 등을 이용하여 가능하다. 또한 카운터 값은 상호간에 동일한 방식으로 증가하는 카운터 장치를 사용하여 생성하게 된다.For operation of the AES CTR mode, a key value, a counter value increasing in a mutually agreed manner, and plain text or cipher text, which are input values requiring encryption / decryption, are input. Here, in the authentication process to be performed before data communication, the key value is first shared or generated in the same manner to have the same value, which is possible using a predefined key generation protocol or the like. Counter values are also generated using counter devices that increment in the same way.

먼저, 제 1 평문(Plain text)을 제 1 암호문(Cipher text)으로 암호화 시에는 제 1 카운터 값을 주어진 키 값을 통해 AES 암호화한다(S701).First, when encrypting a first plain text to a first cipher text, the first counter value is AES encrypted through a given key value (S701).

단계S701에서의 결과값은 다시 제 1 평문과 배타적 논리합(XOR: Exclusive OR) 연산을 거쳐서 제 1 암호문으로 출력된다(S721). The resultant value in step S701 is again outputted as a first cipher text through an exclusive OR (XOR) operation with the first plain text (S721).

여기에서, 암호화 하고자 하는 평문의 크기에 따라 128 비트 단위로 나뉘어져 수행되는데 이 때 각 128 비트 연산에 대해서 입력되는 카운터 값은 순차적으로 증가되는 값이 된다. 즉, 제 2 카운터 값과 제 3 카운터 값은 순차적으로 증가되는 값이 된다.Here, it is divided into 128-bit units according to the size of the plain text to be encrypted. At this time, the counter value input for each 128-bit operation is sequentially increased. That is, the second counter value and the third counter value become values that are sequentially increased.

제 1 평문을 제 1 암호문으로 암호화하는 방법과 유사하게, 제 2 평문을 제 2 암호문으로 암호화 시에는 제 2 카운터 값을 AES 암호화한다(S702).Similar to the method of encrypting the first plain text with the first cipher text, when encrypting the second plain text with the second cipher text, the second counter value is AES encrypted (S702).

단계S702에서의 결과값은 다시 제 2 평문과 배타적 논리합(XOR: Exclusive OR) 연산을 거쳐서 제 2 암호문으로 출력된다(S722).The resultant value in step S702 is again output to the second cipher text through an exclusive OR operation (XOR) with the second plain text (S722).

상기와 같은 방법으로, 제 n 평문을 제 n 암호문으로 암호화 시에는 제 n 카운터 값을 AES 암호화한다(S70n).In the same manner as described above, when the nth plaintext is encrypted with the nth ciphertext, the nth counter value is AES encrypted (S70n).

단계S70n에서의 결과값은 다시 제 n 평문과 배타적 논리합(XOR: Exclusive OR) 연산을 거쳐서 제 n 암호문으로 출력된다(S72n).The resultant value in step S70n is again output as an nth ciphertext through an exclusive OR operation (XOR) with the nth plaintext (S72n).

상기에서 보는 바와 같이 암호화 하고자 하는 평문의 크기에 따라 128 비트 단위로 나뉘어져 수행되어 진다.As shown in the above, it is divided into 128 bit units according to the size of the plain text to be encrypted.

다음으로 암호화된 암호문에 대해서 복호화를 수행하는 경우엔 암호화의 과정과 동일한 연산 순서를 거치면 된다. 즉, 입력되는 데이터값이 평문이 아닌 암호문이 되고 그 출력이 암호문이 아닌 평문이 되어 복호화를 마치게 된다.Next, when decryption is performed on the encrypted ciphertext, the same operation sequence as the encryption process is required. That is, the input data value is a cipher text, not a plain text, and the output is a plain text, not a cipher text, and the decryption is completed.

복호화 과정에 대하여 구체적으로 살펴보면, 먼저, 제 1 암호문을 제 1 평문 으로 복호화 시에는 제 1 카운터 값을 AES 암호화한다(S741).Referring to the decryption process in detail, first, when decrypting the first cipher text to the first plain text, the first counter value is AES encrypted (S741).

단계S741에서의 결과값은 다시 제 1 암호문과 배타적 논리합(XOR: Exclusive OR) 연산을 거쳐서 제 1 평문으로 출력된다(S761). The resultant value in step S741 is again output to the first plaintext through an exclusive OR (XOR) operation with the first ciphertext (S761).

여기에서, 복호화 하고자 하는 암호문의 크기에 따라 128 비트 단위로 나뉘어져 수행되는데 이 때 각 128 비트 연산에 대해서 입력되는 카운터 값은 순차적으로 증가되는 값이 된다. 즉, 제 2 카운터 값과 제 3 카운터 값은 순차적으로 증가되는 값이 된다.Here, it is divided into 128 bit units according to the size of the ciphertext to be decrypted. At this time, the counter value input for each 128-bit operation is sequentially increased. That is, the second counter value and the third counter value become values that are sequentially increased.

제 1 암호문을 제 1 평문으로 복호화하는 방법과 유사하게, 제 2 암호문을 제 2 평문으로 복호화 시에는 제 2 카운터 값을 AES 암호화한다(S742).Similarly to the method of decrypting the first cipher text into the first plain text, the second counter value is AES encrypted when the second cipher text is decrypted into the second plain text (S742).

단계S742에서의 결과값은 다시 제 2 암호문과 배타적 논리합(XOR: Exclusive OR) 연산을 거쳐서 제 2 평문으로 출력된다(S762).The resultant value in step S742 is again output to the second plain text through an exclusive OR (XOR) operation with the second ciphertext (S762).

상기와 같은 방법으로, 제 n 암호문을 제 n 평문으로 복호화 시에는 제 n 카운터 값을 AES 암호화한다(S74n).In the same manner as described above, when decrypting the n-th cipher text to the n-th plain text, the n-th counter value is AES encrypted (S74n).

단계S74n에서의 결과값은 다시 제 n 암호문과 배타적 논리합(XOR: Exclusive OR) 연산을 거쳐서 제 n 평문으로 출력된다(S76n).The resultant value in step S74n is again output to the nth plaintext through an exclusive OR operation (XOR: Exclusive OR) operation (S76n).

이와 같이, AES CTR 모드를 이용하면 암호화와 복호화 모두 AES 암호화만 수행하면 되므로 별도로 AES 복호화 연산을 수행할 필요가 없다는 점과 카운터 값을 통해 전송상의 오류 등을 동시에 감지할 수 있다는 장점을 가진다.As described above, since the AES CTR mode requires only AES encryption for both encryption and decryption, there is no need to perform separate AES decryption operation, and it is possible to simultaneously detect a transmission error through a counter value.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스 템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD_ROM, 자기테이프, 플로피디스크 및 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. Computer-readable recording media include all types of recording devices that store data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CD_ROM, magnetic tape, floppy disks, and optical data storage, and may also include those implemented in the form of carrier waves (eg, transmission over the Internet). . The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, optimal embodiments have been disclosed in the drawings and the specification. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not intended to limit the scope of the invention as defined in the claims or the claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

상술한 바와 같이 본 발명에 의하면 홈 서버와 로컬 디바이스 간의 데이터 통신의 보안에 있어서 AES 암호화 알고리즘의 AES CTR 모드와 AES CBC 모드를 적용하여 데이터의 기밀성 및 무결성을 제공한다.As described above, the present invention provides the confidentiality and integrity of data by applying the AES CTR mode and the AES CBC mode of the AES encryption algorithm in the security of data communication between the home server and the local device.

또한, 본 발명에서 적용되는 AES 암호화 알고리즘의 두 동작 모드가 모두 AES 암호화 과정만을 필요로 하므로 별도의 복호화 모듈을 구현할 필요가 없게 된다. 특히 본 발명에서 고려하는 홈 서버와 보안 기능이 갖춰지지 않은 로컬 디바이 스 간의 데이터 통신에 있어서 구동 및 정지, 동작 선택, 예약 등의 중요하지만 크기가 작은 제어 데이터의 경우 암호화 기능을 수행하기 위해 필요한 초기화 벡터 및 카운터 초기값의 갱신이 원활히 이루어지기 어려우므로, 홈 서버가 이 값을 주기적으로 생성하여 로컬 디바이스와 공유하도록 하는 초기화 과정을 수행하도록 하여 보다 효과적인 보안을 가능하게 할 수 있다. In addition, since both operating modes of the AES encryption algorithm applied in the present invention require only the AES encryption process, there is no need to implement a separate decryption module. In particular, in case of important but small control data such as start and stop, operation selection, and reservation in data communication between a home server and a local device which is not equipped with security functions, the initialization required to perform an encryption function is considered. Since it is difficult to update the vector and counter initial values smoothly, the home server may periodically generate this value and share it with the local device, thereby enabling more effective security.

따라서, 본 발명은 특별한 보안 체계의 변경없이 위험에 노출되어 있는 홈 네트워크 시스템에서의 댁내 데이터 통신에 효과적인 보안 방법을 제공할 수 있다.Accordingly, the present invention can provide a security method effective for home data communication in a home network system that is exposed to risk without changing a special security system.

Claims (9)

홈 네크워크 시스템에서의 홈 서버와 로컬 디바이스간의 데이터 통신 보안 장치에 있어서,An apparatus for securing data communication between a home server and a local device in a home network system, 상기 로컬 디바이스로 전송하고자 하는 데이터에 대하여 AES CBC 모드와 AES CTR 모드를 수행하여 상기 로컬 디바이스로 전송하고자 하는 데이터를 암호화하고, 상기 로컬 디바이스로부터 암호화되어서 전송되어 오는 데이터에 대하여 상기 AES CBC 모드와 상기 AES CTR 모드를 수행하여 복호화하는 홈 서버; 및AES CBC mode and AES CTR mode are performed on the data to be transmitted to the local device to encrypt the data to be transmitted to the local device, and the AES CBC mode and the data are transmitted from the local device. A home server performing AES CTR mode to decrypt; And 상기 홈 서버로 전송하고자 하는 데이터에 대하여 상기 AES CBC 모드와 상기 AES CTR 모드를 수행하여 상기 홈 서버로 전송하고자 하는 데이터를 암호화하거나, 상기 홈 서버로부터 암호화되어서 전송되어 오는 데이터에 대하여 상기 AES CBC 모드와 상기 AES CTR 모드를 수행하여 복호화하는 로컬 디바이스;를 포함하는 것을 특징으로 하는 홈 네트워크 시스템에서의 데이터 보안 장치.Encrypt the data to be transmitted to the home server by performing the AES CBC mode and the AES CTR mode for the data to be transmitted to the home server, or the AES CBC mode for data transmitted by being encrypted from the home server. And a local device that performs the AES CTR mode and decrypts the data. 제 1 항에 있어서, 상기 홈 서버는,The method of claim 1, wherein the home server, 상기 로컬 디바이스의 정보를 저장하고 있는 데이터베이스;A database storing information of the local device; 상기 로컬 디바이스와의 인터페이스를 제공하는 네트워크 연결부; 및A network connection unit providing an interface with the local device; And 상기 AES CTR 모드와 상기 AES CBC 모드를 수행하는 보안 모듈;을 포함하는 것을 특징으로 하는 홈 네트워크 시스템에서의 데이터 보안 장치.And a security module for performing the AES CTR mode and the AES CBC mode. 제 2 항에 있어서, 상기 보안 모듈은The method of claim 2, wherein the security module 상기 AES CTR 모드와 상기 AES CBC 모드에 대한 암호화 연산을 수행하는 AES 연산;An AES operation for performing an encryption operation for the AES CTR mode and the AES CBC mode; 상기 AES CTR 모드와 상기 AES CBC 모드를 수행하도록 보조 연산 기능을 수행하는 부 연산부; 및A sub-operation unit that performs an auxiliary operation function to perform the AES CTR mode and the AES CBC mode; And 상기 AES CTR 모드와 상기 AES CBC 모드에 대한 초기화 데이터를 주기적으로 갱신하도록 하는 난수 발생부;를 포함하는 것을 특징으로 하는 홈 네트워크 시스템에서의 데이터 보안 장치.And a random number generator for periodically updating the initialization data for the AES CTR mode and the AES CBC mode. 제 1 항에 있어서, 상기 로컬 디바이스는The method of claim 1, wherein the local device is 상기 홈 서버와의 인터페이스를 제공하는 네트워크 연결부;A network connection unit providing an interface with the home server; 상기 AES CTR 모드와 상기 AES CBC 모드를 수행하는 보안 모듈;을 포함하는 것을 특징으로 하는 홈 네트워크 시스템에서의 데이터 보안 장치.And a security module for performing the AES CTR mode and the AES CBC mode. 제 4 항에 있어서, 상기 보안 모듈은The method of claim 4, wherein the security module 상기 AES CTR 모드와 상기 AES CBC 모드에 대한 암호화 연산을 수행하는 AES 연산; 및An AES operation for performing an encryption operation for the AES CTR mode and the AES CBC mode; And 상기 AES CTR 모드와 상기 AES CBC 모드를 수행하도록 주변 연산을 수행하는 부 연산부;를 포함하는 것을 특징으로 하는 홈 네트워크 시스템에서의 데이터 보안 장치.And a sub-operation unit configured to perform a peripheral operation to perform the AES CTR mode and the AES CBC mode. 홈 네크워크 시스템의 홈 서버에서 로컬 디바이스로 또는 상기 로컬 디바이스에서 상기 홈 서버로 데이터를 전송하는 경우에 전송하고자 하는 데이터를 암호화하여 데이터 통신을 보안하는 방법에 있어서,A method of securing data communication by encrypting data to be transmitted when data is transmitted from a home server to a local device or from the local device to the home server of a home network system, (a) 전송하고자 하는 데이터를 입력받는 단계;(a) receiving data to be transmitted; (b) 상기 전송하고자 하는 데이터에 대하여 AES CBC 모드를 수행하여 데이터의 MAC(Message Authentication Code)을 생성하는 단계; 및(b) generating a message authentication code (MAC) of data by performing AES CBC mode on the data to be transmitted; And (c) 상기 (a)단계에서 입력받은 전송하고자 하는 데이터와 상기 (b)단계에서 생성된 MAC를 더한 전체 데이터에 대하여 AES CTR 모드를 수행하여 상기 전체 데이터에 대하여 암호화하는 단계;를 포함하는 것을 특징으로 하는 홈 네트워크 시스템에서의 데이터 암호화 방법.(c) performing AES CTR mode on all data including the data to be transmitted received in step (a) and the MAC generated in step (b) and encrypting the entire data. A data encryption method in a home network system. 제 6 항에 있어서, 상기 홈 서버에서 상기 로컬 디바이스로 데이터를 전송하 는 경우에 상기 (a)단계 이전에는7. The method of claim 6, wherein the data is transmitted from the home server to the local device before step (a). 상기 홈 서버는 상기 로컬 디바이스로 전송하고자 하는 데이터 암호화 과정이 초기화 과정인지 여부를 판단하는 초기화 과정 판단 단계;An initialization process determining step of determining, by the home server, whether the data encryption process to be transmitted to the local device is an initialization process; 상기 초기화 과정 판단 단계에서 초기화 과정이라고 판단되면, 상기 홈 서버는 상기 AES CBC 모드에 사용될 초기화 벡터와 상기 AES CTR 모드에 사용될 카운터의 새로운 초기값을 생성하는 단계; 및If it is determined that the initialization process is performed in the initialization process determination step, the home server generates a new initial value of an initialization vector to be used in the AES CBC mode and a counter to be used in the AES CTR mode; And 상기 초기화 벡터와 상기 카운터의 새로운 초기값을 종래의 초기화 벡터와 카운터의 초기값으로 암호화하여 상기 로컬 디바이스에 전송하는 단계;를 더 포함하는 것을 특징으로 하는 홈 네트워크 시스템에서의 데이터 암호화 방법.Encrypting the initialization vector and the new initial value of the counter with the conventional initialization vector and the initial value of the counter and transmitting the encrypted data to the local device. 홈 네크워크 시스템의 홈 서버에서 로컬 디바이스로 또는 상기 로컬 디바이스에서 상기 홈 서버로 암호화된 데이터를 전송받아 이를 복호화하여 데이터 통신을 보안하는 방법에 있어서,In a method of securing data communication by receiving encrypted data from a home server of a home network system to a local device or from the local device to the home server, the encrypted data is decrypted. (a) 상기 암호화된 데이터를 입력받는 단계;(a) receiving the encrypted data; (b) 상기 암호화된 데이터에 대하여 AES CTR 모드를 수행하여 실제 전송하고자 하는 데이터와 제 1 MAC(Message Authentication Code)으로 이루어진 데이터로 복호화하는 단계;(b) performing AES CTR mode on the encrypted data and decrypting the data to be actually composed of data to be transmitted and first MAC (Message Authentication Code); (c) 상기 (b)단계에서 출력된 복호화된 데이터 중에서 제 1 MAC을 제외한 상기 실제 전송하고자 하는 데이터에 대하여 AES CBC 모드를 수행하여 제 2 MAC을 생성하는 단계;(c) generating a second MAC by performing an AES CBC mode on the data to be actually transmitted except for the first MAC among the decoded data output in step (b); (d) 상기 (b)단계에서 복호화된 제 1 MAC과 상기 (c)단계에서 생성된 제 2 MAC이 서로 일치하는지 판단하는 단계; 및 (d) determining whether the first MAC decrypted in step (b) and the second MAC generated in step (c) coincide with each other; And (e) 상기 (d)단계에서 두개의 MAC이 일치할 경우, 상기 (b)단계에서 복호화된 데이터를 출력하는 단계;를 포함하는 것을 특징으로 하는 홈 네트워크 시스템에서의 데이터 복호화 방법.and (e) if the two MACs coincide in step (d), outputting the decoded data in step (b). 제 8 항에 있어서,The method of claim 8, (f) 상기 (d)단계에서 두개의 MAC이 일치하지 않을 경우, 에러 메시지를 출력하는 단계;를 더 포함하는 것을 특징으로 하는 홈 네트워크 시스템에서의 데이터 복호화 방법.and (f) outputting an error message if the two MACs do not match in the step (d).
KR1020040097477A 2004-11-25 2004-11-25 Method and apparatus for data security on home network system KR20060058789A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040097477A KR20060058789A (en) 2004-11-25 2004-11-25 Method and apparatus for data security on home network system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040097477A KR20060058789A (en) 2004-11-25 2004-11-25 Method and apparatus for data security on home network system

Publications (1)

Publication Number Publication Date
KR20060058789A true KR20060058789A (en) 2006-06-01

Family

ID=37156170

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040097477A KR20060058789A (en) 2004-11-25 2004-11-25 Method and apparatus for data security on home network system

Country Status (1)

Country Link
KR (1) KR20060058789A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100739781B1 (en) * 2005-12-27 2007-07-13 삼성전자주식회사 Method and apparatus for transmitting message to each of wireless device groups
KR100835718B1 (en) * 2006-11-27 2008-06-05 삼성전기주식회사 Apparatus and method for encryption in advanced encryption standard
KR100954428B1 (en) * 2007-11-13 2010-04-26 인하대학교 산학협력단 Method for secret information protection in home device
KR100973785B1 (en) * 2008-03-03 2010-08-03 동국대학교 경주캠퍼스 산학협력단 Encryption apparatus and the method based on AES Counter mode
KR101677249B1 (en) * 2015-06-15 2016-11-17 주식회사 명인소프트 Security Apparatus and Method for Controlling Internet of Things Device Using User Token
US9584767B2 (en) 2013-07-26 2017-02-28 Hanwha Techwin Co., Ltd. Surveillance server, method of processing data of surveillance server, and surveillance system
KR20200136631A (en) * 2019-05-28 2020-12-08 국민대학교산학협력단 Apparatus and method for recovering deleted message using cache file

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100739781B1 (en) * 2005-12-27 2007-07-13 삼성전자주식회사 Method and apparatus for transmitting message to each of wireless device groups
US7984295B2 (en) 2005-12-27 2011-07-19 Samsung Electronics Co., Ltd. Method and apparatus for transmitting message to wireless devices that are classified into groups
KR100835718B1 (en) * 2006-11-27 2008-06-05 삼성전기주식회사 Apparatus and method for encryption in advanced encryption standard
KR100954428B1 (en) * 2007-11-13 2010-04-26 인하대학교 산학협력단 Method for secret information protection in home device
KR100973785B1 (en) * 2008-03-03 2010-08-03 동국대학교 경주캠퍼스 산학협력단 Encryption apparatus and the method based on AES Counter mode
US9584767B2 (en) 2013-07-26 2017-02-28 Hanwha Techwin Co., Ltd. Surveillance server, method of processing data of surveillance server, and surveillance system
US10567708B2 (en) 2013-07-26 2020-02-18 Hanwha Techwin Co., Ltd. Surveillance server, method of processing data of surveillance server, and surveillance system
KR101677249B1 (en) * 2015-06-15 2016-11-17 주식회사 명인소프트 Security Apparatus and Method for Controlling Internet of Things Device Using User Token
KR20200136631A (en) * 2019-05-28 2020-12-08 국민대학교산학협력단 Apparatus and method for recovering deleted message using cache file

Similar Documents

Publication Publication Date Title
US8259934B2 (en) Methods and devices for a chained encryption mode
CN1682479B (en) Method and device for efficient encryption and authentication for data processing systems
KR101088420B1 (en) Method and apparatus for cryptographically processing data
US7715553B2 (en) Encrypting a plaintext message with authentication
CA2291435C (en) Encryption/decryption method and authentication method using multiple-affine key system and apparatuses using the same
US20060159260A1 (en) Method and communication system employing secure key exchange for encoding and decoding messages between nodes of a communication network
WO2010064666A1 (en) Key distribution system
EP2334008A1 (en) A system and method for designing secure client-server communication protocols based on certificateless public key infrastructure
JPH0969830A (en) Cipher communication system
US20190268145A1 (en) Systems and Methods for Authenticating Communications Using a Single Message Exchange and Symmetric Key
Schwaiger et al. Smart card based security for fieldbus systems
JPH0918469A (en) Equipment and system for cipher communication and ciphering device
Koko et al. Comparison of Various Encryption Algorithms and Techniques for improving secured data Communication
CA2294170A1 (en) Bilateral authentication and encryption system
JPH10210023A (en) Authentication method, cipher key sharing method, and communication system
JPH09312643A (en) Key sharing method and ciphering communication method
JP2009177684A (en) Transmitter-receiver system, transmitter, receiver, method that is executed by them, and program
Daddala et al. Design and implementation of a customized encryption algorithm for authentication and secure communication between devices
KR20060058789A (en) Method and apparatus for data security on home network system
Kumar et al. Expansion of Round Key generations in Advanced Encryption Standard for secure communication
Knudsen Dynamic encryption
JP2007500481A (en) An encryption method based on the DES algorithm.
Landge et al. VHDL based Blowfish implementation for secured embedded system design
WO2003049363A1 (en) System and method for symmetrical cryptography
JP2000349748A (en) Secret information sharing method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application