KR102067425B1 - 사물인터넷 환경에서 기기 데이터 저장 장치 및 그 방법 - Google Patents

사물인터넷 환경에서 기기 데이터 저장 장치 및 그 방법 Download PDF

Info

Publication number
KR102067425B1
KR102067425B1 KR1020170131243A KR20170131243A KR102067425B1 KR 102067425 B1 KR102067425 B1 KR 102067425B1 KR 1020170131243 A KR1020170131243 A KR 1020170131243A KR 20170131243 A KR20170131243 A KR 20170131243A KR 102067425 B1 KR102067425 B1 KR 102067425B1
Authority
KR
South Korea
Prior art keywords
data
data storage
encryption key
authentication
information
Prior art date
Application number
KR1020170131243A
Other languages
English (en)
Other versions
KR20190040772A (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 KR1020170131243A priority Critical patent/KR102067425B1/ko
Priority to US16/011,957 priority patent/US20190109829A1/en
Publication of KR20190040772A publication Critical patent/KR20190040772A/ko
Application granted granted Critical
Publication of KR102067425B1 publication Critical patent/KR102067425B1/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/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key 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) using key encryption key
    • 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
    • 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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • 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/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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Abstract

본 발명의 일 실시예는, 데이터 저장 요청 장치와 기기 인증을 수행하고, 상기 데이터 저장 요청 장치와 데이터 저장용 인증을 수행하는 인증부; 데이터 암호화를 위한 암호화키를 생성하는데 이용된 암호화키 기반 정보와 암호화된 데이터를 저장하는 데이터 저장부; 상기 데이터 저장부를 이용하여 상기 데이터 저장 요청 장치로부터 수신한 암호화된 데이터에 대한 처리 요청 메시지를 처리하는 요청 메시지 처리부; 및 상기 데이터 저장 요청 장치로부터 상기 처리 요청 메시지를 수신하고, 상기 데이터 저장 요청 장치로 처리 결과를 전송하는 통신부를 포함하는, 데이터 저장기능 제공 장치를 제공한다.

Description

사물인터넷 환경에서 기기 데이터 저장 장치 및 그 방법 {APPARATUS FOR STORING DEVICE DATA IN INTERNET OF THINGS ENVIRONMENT AND METHOD FOR THE SAME}
본 발명은 스마트홈 등의 사물인터넷 환경에서 기기들의 데이터의 저장 기능을 제공하는 장치 및 그 방법에 관한 것으로, 상세히 사물인터넷 환경에서 로컬 네트워크 내의 별도 장치를 활용하여 사물인터넷 기기들의 데이터를 저장하는 효율적인 데이터 저장 방법 및 그 장치에 관한 것이다.
IoT(Internet of Things; 사물인터넷) 기술의 발전에 따라, 다양한 기기들에 연결성을 부가하고 유용한 기능을 탑재하여 사용자를 위한 새로운 서비스를 제공하는 스마트홈 등과 같은 IoT 환경에서의 서비스가 현실화되고 있으며, 관련 기술의 발전과 아울러 더 다양한 기기와 서비스가 등장하고 있는 추세이다.
특히, 디바이스 분야에서는 새로운 서비스 창출의 핵심 요소인 가치있는 정보 획득을 가능하게 하는 센서 디바이스와 같은 저전력, 경량 디바이스가 폭발적으로 증가하고 있다.
그런데, 이러한 센서 디바이스와 같은 저사양의 디바이스들은 최소한의 사양으로 필요한 기능을 제공하는 것이 주목적이므로, 데이터 저장 기능 및 이에 필요한 리소스 등은 내장하지 않는 경우가 있다.
그러나, 새로운 IoT 서비스들의 등장에 따라 데이터 저장 기능을 보유하지 않은 디바이스들에 대해서도 데이터 저장의 기능이 요구될 수 있다. 따라서, 기능적인 측면에서 데이터 저장이 불가한 디바이스들은 이러한 서비스에 적용될 수 없거나 제한적으로만 적용이 가능한 문제를 가지게 된다. 또한 보안적인 측면에서 기기에 저장되는 데이터들은 위변조나 해킹 등의 공격에 대한 취약성을 가지게 되므로, 데이터를 안전하게 저장할 수 있는 기능이 제공될 필요도 있다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라할 수는 없다.
국내 등록특허공보 제10-1616795호
본 발명의 목적은 사물인터넷 로컬 네트워크의 게이트웨이나 관리 서버 등의 리소스를 활용하여 사물인터넷 기기들의 데이터를 저장하는 기능을 제공하는 것이다.
또한, 본 발명의 목적은 데이터를 안전하게 저장하기 위하여 일회용 암호화키를 이용하여 데이터를 암호화하여 저장하는 장치 및 그 방법을 제공하는 것이다.
본 발명의 일 실시예는, 데이터 저장 요청 장치와 기기 인증을 수행하고, 상기 데이터 저장 요청 장치와 데이터 저장용 인증을 수행하는 인증부; 데이터 암호화를 위한 암호화키를 생성하는데 이용된 암호화키 기반 정보와 암호화된 데이터를 저장하는 데이터 저장부; 상기 데이터 저장부를 이용하여 상기 데이터 저장 요청 장치로부터 수신한 암호화된 데이터에 대한 처리 요청 메시지를 처리하는 요청 메시지 처리부; 및 상기 데이터 저장 요청 장치로부터 상기 처리 요청 메시지를 수신하고, 상기 데이터 저장 요청 장치로 처리 결과를 전송하는 통신부를 포함하는, 데이터 저장기능 제공 장치를 제공한다
이때, 상기 암호화키 기반 정보는 상기 저장 요청 장치를 식별하기 위한 장치 ID와 암호화 대상 데이터를 식별하기 위한 데이터 ID를 포함하고, 상기 인증부는 상기 데이터 저장용 인증을 수행할 때 상기 장치 ID를 상호 교환할 수 있다.
이때, 상기 요청 메시지 처리부는 상기 처리 요청 메시지가 데이터 저장 메시지인 경우, 저장 대상 암호화된 데이터와 상기 저장 대상 암호화된 데이터에 상응하는 암호화키 기반 정보를 상기 데이터 저장부에 저장하고, 상기 처리 요청 메시지가 데이터 삭제 메시지인 경우, 상기 데이터 저장부에 저장된 삭제 대상 암호화된 데이터와 상기 삭제 대상 암호화된 데이터에 상응하는 암호화키 기반 정보를 삭제할 수 있다.
이때, 상기 암호화키 기반 정보는 일회용 암호화키 생성을 위한 동기화 정보를 더 포함하고, 상기 인증부는 상기 데이터 저장용 인증을 수행할 때 상기 데이터 저장 요청 장치에 상기 동기화 정보를 전송하고, 상기 암호화키는 상기 동기화 정보를 이용하여 생성되는 일회용 암호화키일 수 있다.
이때, 상기 동기화 정보는 시간 동기화 정보 또는 카운터 동기화 정보 중에서 적어도 하나 이상을 포함할 수 있다.
이때, 상기 암호화키 기반 정보를 이용하여 상기 데이터 저장 요청 장치와 동일한 방법으로 암호화키를 생성하는 암호화키 생성부; 및 상기 처리 요청 메시지가 데이터 읽기 메시지인 경우에, 읽기 대상 암호화된 데이터를 저장 시점의 암호화키를 이용하여 복호화하고 읽기 시점의 암호화키를 이용하여 암호화하여 암호화 정보를 갱신하는 암호화 정보 갱신부를 더 포함하고, 상기 요청 메시지 처리부는 상기 처리 요청 메시지가 데이터 읽기 메시지인 경우에, 암호화 정보가 갱신된 암호화된 데이터를 상기 데이터 저장 요청 장치에 반환할 수 있다.
이때, 상기 처리 요청 메시지는 데이터의 암호화 여부 또는 보안 저장 여부 중 적어도 하나를 포함하는 태그 정보를 포함하며, 상기 데이터 저장소는 상기 태그 정보의 보안 저장 여부에 따라 보안 저장 기능을 제공할 수 있다.
본 발명의 다른 일 실시예는, 데이터 저장 요청 장치와 기기 인증을 수행하는 단계; 상기 데이터 저장 요청 장치와 데이터 저장용 인증을 수행하는 단계; 상기 데이터 저장 요청 장치로부터 암호화된 데이터에 대한 처리 요청 메시지를 수신하는 단계; 데이터 암호화를 위한 암호화키를 생성하는데 이용된 암호화키 기반 정보와 암호화된 데이터를 저장하는 데이터 저장부를 이용하여 상기 처리 요청 메시지를 처리하는 단계; 및 상기 데이터 저장 요청 장치로 처리 결과를 전송하는 단계를 포함하는, 데이터 저장 방법을 제공한다.
이때, 상기 암호화키 기반 정보는 상기 저장 요청 장치를 식별하기 위한 장치 ID와 암호화 대상 데이터를 식별하기 위한 데이터 ID를 포함하고, 상기 데이터 저장용 인증을 수행하는 단계는 상기 장치 ID를 상호 교환할 수 있다.
이때, 상기 처리 요청 메시지를 처리하는 단계는 상기 처리 요청 메시지가 데이터 저장 메시지인 경우, 저장 대상 암호화된 데이터와 상기 저장 대상 암호화된 데이터에 상응하는 암호화키 기반 정보를 상기 데이터 저장부에 저장하고, 상기 처리 요청 메시지가 데이터 삭제 메시지인 경우, 상기 데이터 저장부에 저장된 삭제 대상 암호화된 데이터와 상기 삭제 대상 암호화된 데이터에 상응하는 암호화키 기반 정보를 삭제할 수 있다.
이때, 상기 암호화키 기반 정보는 일회용 암호화키 생성을 위한 동기화 정보를 더 포함하고, 상기 데이터 저장용 인증을 수행하는 단계는 상기 데이터 저장 요청 장치에 상기 동기화 정보를 전송하고, 상기 암호화키는 상기 동기화 정보를 이용하여 생성되는 일회용 암호화키일 수 있다.
이때, 상기 동기화 정보는 시간 동기화 정보 또는 카운터 동기화 정보 중에서 적어도 하나 이상을 포함할 수 있다.
이때, 상기 암호화키 기반 정보를 이용하여 상기 데이터 저장 요청 장치와 동일한 방법으로 암호화키를 생성하는 단계; 및 상기 처리 요청 메시지가 데이터 읽기 메시지인 경우에, 읽기 대상 암호화된 데이터를 저장 시점의 암호화키를 이용하여 복호화하고 읽기 시점의 암호화키를 이용하여 암호화하여 암호화 정보를 갱신하는 단계를 더 포함하고, 상기 처리 요청 메시지를 처리하는 단계는 상기 처리 요청 메시지가 데이터 읽기 메시지인 경우에, 암호화 정보가 갱신된 암호화된 데이터를 상기 데이터 저장 요청 장치에 반환할 수 있다.
이때, 상기 처리 요청 메시지는 데이터의 암호화 여부 또는 보안 저장 여부 중 적어도 하나를 포함하는 태그 정보를 포함하며, 상기 데이터를 저장하는 단계는 상기 태그 정보의 보안 저장 여부에 따라 보안 저장 기능을 제공할 수 있다.
본 발명의 다른 일 실시예는, 데이터 저장기능 제공 장치와 기기 인증을 수행하고, 상기 데이터 저장기능 제공 장치와 데이터 저장용 인증을 수행하는 인증부; 암호화키 기반 정보를 이용하여 상기 데이터 저장기능 제공 장치와 동일한 방법으로 암호화키를 생성하는 암호화키 생성부; 저장 대상 데이터를 암호화하거나, 상기 데이터 저장기능 제공 장치로부터 수신한 암호화된 데이터를 복호화하는 암복호화부; 상기 데이터 저장기능 제공 장치로부터 데이터의 처리를 요청하기 위한 처리 요청 메시지를 생성하는 요청 메시지 생성부; 및 상기 데이터 저장기능 제공 장치에 상기 처리 요청 메시지를 전송하고, 상기 데이터 저장기능 제공 장치로부터 처리 결과를 수신하는 통신부를 포함하는, 데이터 저장 요청 장치를 제공한다.
이때, 상기 암호화키 기반 정보는 상기 저장 요청 장치를 식별하기 위한 장치 ID와 암호화 대상 데이터를 식별하기 위한 데이터 ID를 포함하고, 상기 인증부는 상기 데이터 저장용 인증을 수행할 때 상기 장치 ID를 상호 교환할 수 있다.
이때, 상기 요청 메시지 생성부는 데이터의 저장을 요청하는 경우, 저장 대상 암호화된 데이터와 상기 저장 대상 암호화된 데이터에 상응하는 암호화키 기반 정보를 상기 데이터 저장기능 제공 장치에 저장하도록 요청하는 메시지를 생성하고, 데이터의 삭제를 요청하는 경우, 상기 데이터 저장기능 제공 장치에 저장된 삭제 대상 암호화된 데이터와 상기 삭제 대상 암호화된 데이터에 상응하는 암호화키 기반 정보를 삭제하도록 요청하는 메시지를 생성할 수 있다.
이때, 상기 암호화키 기반 정보는 일회용 암호화키 생성을 위한 동기화 정보를 더 포함하고, 상기 인증부는 상기 데이터 저장용 인증을 수행할 때 상기 데이터 저장기능 제공 장치로부터 상기 동기화 정보를 수신하고, 상기 암호화키는 상기 동기화 정보를 이용하여 생성되는 일회용 암호화키일 수 있다.
이때, 상기 요청 메시지 생성부는 데이터의 읽기를 요청하는 경우, 상기 데이터 저장기능 제공 장치가 읽기 대상 암호화된 데이터를 저장 시점의 암호화키를 이용하여 복호화하고 읽기 시점의 암호화키를 이용하여 암호화하여 암호화 정보를 갱신하여 반환하도록 요청하는 메시지를 생성할 수 있다.
이때, 상기 처리 요청 메시지는 데이터의 암호화 여부 또는 보안 저장 여부 중 적어도 하나를 포함하는 태그 정보를 더 포함하며, 상기 데이터 저장기능 제공 장치는 상기 태그 정보의 보안 저장 여부에 따라 보안 저장 기능을 제공할 수 있다.
본 발명에 따르면, 사물인터넷 환경에서 기기 데이터 저장 장치 및 그 방법에 의해, 데이터 저장 기능을 제공하지 않는 사물인터넷 기기들에 대하여도 저장 기능을 제공함으로써, 사물인터넷 기기의 데이터를 활용하는 다양한 서비스를 제공할 수 있다.
또한, 본 발명은 사물인터넷 환경에서 기기 데이터 저장 장치 및 그 방법에 의해, 일회용 암호화키를 이용하여 데이터를 암호화하여 저장함으로써, 데이터 보안 기능을 제공하고 다양한 위변조 및 해킹 시도로부터 보호할 수 있다.
도 1 및 2는 본 발명의 일 실시예에 따른 데이터 저장 시스템의 구성을 나타낸 도면이다.
도 3은 도 1 및 2에 도시된 데이터 저장 요청 장치의 일 예를 나타낸 블록도이다.
도 4는 도 1 및 2에 도시된 데이터 저장기능 제공 장치의 일 예를 나타낸 블록도이다.
도 5는 본 발명의 일 실시예에 따른 데이터 저장 요청 장치에서 수행되는 데이터 저장 방법을 나타낸 동작 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 데이터 저장기능 제공 장치에서 수행되는 데이터 저장 방법을 나타낸 동작 흐름도이다.
도 7은 도 5에 도시된 데이터 저장용 인증을 수행하는 단계의 일 예를 나타낸 동작 흐름도이다.
도 8은 도 5에 도시된 데이터 저장용 인증을 수행하는 단계의 일 예를 나타낸 동작 흐름도이다.
도 9는 도 6에 도시된 데이터 저장용 인증을 수행하는 단계의 일 예를 나타낸 동작 흐름도이다.
도 10은 도 6에 도시된 데이터 저장용 인증을 수행하는 단계의 일 예를 나타낸 동작 흐름도이다.
도 11은 도 5에 도시된 데이터 처리 요청 메시지를 생성하는 단계의 일 예를 나타낸 동작 흐름도이다.
도 12는 도 6에 도시된 데이터를 처리하는 단계의 일 예를 나타낸 동작 흐름도이다.
도 13은 본 발명의 일 실시예에 따른 데이터 저장 방법을 나타낸 동작 흐름도이다.
도 14는 본 발명의 일 실시예에 따른 데이터 처리 방법을 나타낸 동작 흐름도이다.
도 15는 본 발명의 일 실시예에 따른 데이터 처리 요청 메시지의 예시를 나타낸 도면이다.
도 16은 본 발명의 일 실시예에 따른 장치 설정 정보의 예시를 나타낸 도면이다.
도 17은 본 발명의 일 실시예에 따른 데이터 설정 정보의 예시를 나타낸 도면이다.
도 18은 본 발명의 일 실시예에 따른 일회용 키를 생성하는 방법을 나타낸 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성되어 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는한 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1 및 2는 본 발명의 일 실시예에 따른 데이터 저장 시스템(1)의 구성을 나타낸 도면이다.
도 1 및 2를 참조하면, 본 발명의 일 실시예에 따른 데이터 저장 시스템(1)에서 데이터 저장기능 제공 장치(200)는 적어도 하나 이상의 데이터 저장 요청 장치들(100)과 상호 연결된다.
이때, 데이터 저장기능 제공 장치(200)는 게이트웨이(300)을 통하여 적어도 하나 이상의 데이터 저장 요청 장치들(100)과 상호 연결될 수도 있다.
특히, 일부 데이터 저장 요청 장치들(100)은 데이터 저장기능 제공 장치(200)와 직접 상호 연결되고, 다른 일부 데이터 저장 요청 장치들(100)은 게이트웨이(300)을 통하여 데이터 저장기능 제공 장치(200)와 상호 연결될 수 있다.
여기서, 상호 연결은 유선 통신, 무선 통신, 유무선 통신 등을 통하여 이루어진다.
본 발명의 일 실시예에 따른 데이터 저장 요청 장치(100)는 데이터 저장기능 제공 장치(200)에 데이터의 저장을 요청하는 다양한 전자기기, 사용자 단말기, 사물인터넷 기기 등을 포함한다.
이때, 데이터 저장 요청 장치(100)는 저사양 기기, 저장기능을 제공하지 않는 기기, 저장기능을 제공하는 기기 등을 포함할 수 있다.
예컨대, 데이터 저장 요청 장치(100)에는 조도 센서 기반 디바이스(조명 등), 온도 센서 기반 디바이스(온도 조절기 등), 가스 검출 센서 기반 디바이스(가스 검출기 등)와 같은 특정 정보를 센싱하여 획득하고 추가적으로 엑츄에이팅 기능까지 포함될 수 있는 디바이스들이 포함될 수 있다.
데이터 저장기능 제공 장치(200)는 데이터 저장 요청 장치(100)의 데이터 저장 요청에 따라 데이터를 대신 저장하고, 저장된 데이터에 대한 관리를 대신해준다.
이때, 데이터 저장기능 제공 장치(200)는 데이터 저장 요청 장치들(100)의 구성 및 관리를 담당하는 관리 서버를 의미할 수 있다.
이때, 데이터 저장기능 제공 장치(200)는 관리 대상의 데이터 저장 요청 장치들(100)에 대하여 관리, 설정, 제어 등을 담당하는 관리 소프트웨어를 실행시킬 수 있는 충분한 사양을 갖춘 PC(Personal Computer)일 수 있다.
게이트웨이(300)는 하나 이상의 데이터 저장 요청 장치들(100)과 로컬 네트워크를 구성하며, 외부 네트워크와의 연결을 담당하여 데이터 저장 요청 장치(100)와 데이터 저장기능 제공 장치(200)를 연결시켜주는 역할을 한다.
이때, 게이트웨이(300)는 데이터 저장기능 제공 장치(200)와 물리적으로 하나의 장치로도 구현할 수 있다.
이때, 게이트웨이(300)는 유선 공유기, 무선 공유기, 유무선 공유기 등으로 구성될 수 있다.
즉, 데이터 저장 요청 장치(100)에서 수집되거나 생성된 데이터를 데이터 저장기능 제공 장치(200)에 대신 저장함에 따라 데이터 저장 요청 장치들(100)이 저장기능의 제공 여부와 무관하게 데이터를 저장할 수 있다. 또한, 후술하는 것과 같이 데이터를 암호화하여 저장함으로써 보안성을 높일 수 있다.
도 3은 도 1 및 2에 도시된 데이터 저장 요청 장치(100)의 일 예를 나타낸 블록도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 데이터 저장 요청 장치(100)는 제어부(110), 통신부(120), 메모리(130), 정보 수집부(140), 인증부(150), 암호화키 생성부(160), 암복호화부(170) 및 요청 메시지 생성부(180) 등을 포함한다.
상세히, 제어부(110)는 일종의 중앙처리장치로서 데이터 저장을 요청하는 전체 과정을 제어한다. 즉, 제어부(110)는 정보 수집부(140), 인증부(150), 암호화키 생성부(160), 암복호화부(170) 및 요청 메시지 생성부(180) 등을 제어하여 다양한 기능을 제공할 수 있다.
여기서, 제어부(110)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
통신부(120)는 데이터 저장 요청 장치(100)와 데이터 저장기능 제공 장치(도 2의 200 참조) 및 게이트웨이(도 2의 300 참조) 간의 송수신 신호를 전송하는데 필요한 통신 인터페이스를 제공한다.
여기서, 통신부(120)는 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
메모리(130)는 제어부(110)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 여기서, 메모리(130)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
정보 수집부(140)는 저장이 필요한 데이터를 생성하기 정보 혹은 데이터를 수집한다. 여기서, 정보 수집부(140)는 사물인터넷 기기의 다양한 센서들(온도 센서, 습도 센서, 조도 센서, 가스 검출 센서 등)을 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
인증부(150)는 데이터 저장기능 제공 장치(도 2의 200 참조)와 통신을 위한 상호 기기 인증을 수행하고, 데이터를 저장하기 위한 데이터 저장용 인증을 수행한다.
이때, 인증부(150)는 상호 기기 인증시 다양한 인증 방법 중에서 인증을 수행하는 장치들이 지원하는 인증 방법을 이용할 수 있다. 즉, 해당 사물인터넷 시스템의 인증 방식에 따라 수행될 수 있다.
이때, 인증부(150)의 상호 기기 인증의 결과로 데이터 저장 요청 장치(100)와 데이터 저장기능 제공 장치(도 2의 200 참조)가 동일한 세션키를 공유할 수 있다.
이때, 인증부(150)는 상호 기기 인증을 해당 사물인터넷 시스템의 인증 방법에 따라 매번 수행하거나, 간헐적으로 수행하거나, 최초의 1회에만 수행할 수 있다.
이때, 인증부(150)는 데이터 저장용 인증시 암호화키를 생성하는데 이용할 암호화키 기반 정보를 생성 및 공유할 수 있다. 여기서, 암호화키는 저장할 데이터를 암호화하여 보안성을 높이는데 이용된다.
이때, 인증부(150)는 데이터 저장용 인증시 데이터 저장기능 제공 장치(도 2의 200 참조)에 본 데이터 저장 요청 장치(100)의 장치 ID, 세션키로 암호화된 제1 난수값을 전송하고, 데이터 저장기능 제공 장치(도 2의 200 참조)로부터 세션키로 암호화된 제2 난수값을 전송받을 수 있다. 그리고, 암호화키 기반 정보에 장치 ID, 제1 난수값, 제2 난수값이 포함될 수 있다. 장치 ID는 데이터 저장기능 제공 장치(도 2의 200 참조)가 관리하는 데이터 저장 요청 장치(100)를 식별하기 위한 값이다. 그리고 장치 ID는 데이터 저장기능 제공 장치(도 2의 200 참조)가 데이터 저장 영역을 관리하기 위한 값으로 사용될 수 있다.
이때, 인증부(150)는 데이터 저장용 인증시 데이터 저장기능 제공 장치(도 2의 200 참조)로부터 동기화 정보를 추가적으로 전송받을 수 있고, 동기화 정보는 데이터 암호화를 위한 암호화키를 일회용 암호화키로 만드는데 이용될 수 있다. 여기서, 동기화 정보는 시간 동기화 정보 또는 카운터 동기화 정보 중에서 적어도 하나 이상을 포함할 수 있다. 그리고, 암호화키 기반 정보에 동기화 정보가 더 포함될 수 있다.
여기서, 암호화키 기반 정보는 장치 설정 정보와 데이터 설정 정보로 구분될 수 있다. 장치 설정 정보는 장치 ID, 제1 난수값, 제2 난수값을 포함하며, 데이터 설정 정보는 데이터 ID, 세션키, 동기화 정보 등을 포함할 수 있다. 특히, 장치 설정 정보와 데이터 설정 정보는 데이터 저장 요청 장치(100)와 데이터 저장기능 제공 장치(도 2의 200 참조)가 상시 공유하는 값이며, 이를 이용하여 필요한 시점에 필요한 암호화키를 생성할 수 있다.
이때, 인증부(150)는 데이터 저장용 인증시 최초 데이터 저장 요청이 아닌 경우에는 데이터 저장기능 제공 장치(도 2의 200 참조)로부터 동기화 정보만을 전송받을 수 있다. 이는, 최초 데이터 저장시 이루어지는 데이터 저장용 인증시 장치 ID, 세션키로 암호화된 제1 난수값, 세션키로 암호화된 제2 난수값이 서로 공유되기 때문에 반복하여 전송하지 않아도 되기 때문이다.
이때, 인증부(150)는 이벤트 설정 또는 주기 설정 등의 정책을 통하여 초기 데이터 저장용 인증 과정을 다시 수행하게 하거나, 기존의 데이터 저장용 인증값을 그대로 유지하도록 할 수 있다.
즉, 데이터 저장용 인증을 통하여 데이터 저장 요청 장치(100)와 데이터 저장기능 제공 장치(도 2의 200 참조)는 서로 동일한 장치 ID, 세션키로 암호화된 제1 난수값, 세션키로 암호화된 제2 난수값을 공유하게 되며, 데이터 암호화를 위하여 일회용 암호화키를 이용하는 경우에는 서로 동일한 동기화 정보를 추가적으로 공유하게 된다.
암호화키 생성부(160)는 인증부(150)의 인증 과정에서 공유한 암호화키 기반 정보를 이용하여 데이터 암호화에 이용될 암호화키를 생성한다.
이때, 암호화키 생성부(160)는 암호화키 기반 정보로서 장치 ID, 제1 난수값, 제2 난수값, 암호화 대상 데이터의 데이터 ID, 세션키를 이용하여 암호화키를 생성할 수 있다. 데이터 ID는 대상 데이터를 식별하기 위한 값으로 식별 ID 또는 파일명 등이 이용될 수 있다. 그리고 데이터 ID는 데이터 저장기능 제공 장치(도 2의 200 참조)에서 데이터 저장 영역을 관리하기 위한 값으로 사용될 수 있다.
이때, 암호화키 생성부(160)는 암호화키 기반 정보로서 동기화 정보를 추가적으로 이용하여 일회용 암호화키를 생성할 수 있다. 예컨대, 일회용 암호화키를 데이터 저장 기능을 수행할 때마다 새로이 생성하여 보안성을 강화할 수 있다.
여기서, 일회용 암호화키의 생성은 일회용 비밀번호 생성 기법(OTP; One Time Password) 생성 기법을 기반으로 할 수 있다. 최초의 데이터 저장시 데이터 저장 요청 장치(100)와 데이터 저장기능 제공 장치(도 2의 200 참조) 양 측의 동기를 맞추어 초기 동기화 정보를 설정하면, 이후의 데이터 처리시에는 동기화 정보만을 갱신함으로써 새로운 암호화키를 간단히 생성할 수 있다.
암복호화부(170)는 암호화키 생성부(160)에서 생성된 암호화키를 이용하여 데이터 저장기능 제공 장치(도 2의 200 참조)에서 저장할 데이터를 암호화하거나, 데이터 저장기능 제공 장치(도 2의 200 참조)로부터 읽어온 데이터를 복호화한다. 즉, 데이터 저장기능 제공 장치(도 2의 200 참조)로부터 읽어오는 데이터는 암호화된 상태이다.
요청 메시지 생성부(180)는 데이터 저장기능 제공 장치(도 2의 200 참조)로 전송하기 위한 데이터의 저장과 관련된 처리 요청 메시지를 생성한다.
이때, 요청 메시지 생성부(180)는 장치 ID, 데이터 ID, 명령어 종류, 데이터 관련 정보 등을 포함하는 처리 요청 메시지를 생성할 수 있다.
이때, 요청 메시지 생성부(180)는 데이터의 암호화 여부 또는 보안 저장 여부 중 적어도 하나를 포함하는 태그 정보를 더 포함하여 처리 요청 메시지를 생성할 수 있다. 즉, 태그 정보는 전송되는 데이터의 보안 강도를 나타낼 수 있다.
이때, 명령어 종류에는 데이터 저장(쓰기), 데이터 읽기, 데이터 삭제, 데이터 저장용 인증 등이 포함될 수 있고, 데이터 관련 정보에는 암호화된 데이터, 데이터의 길이 정보 등이 포함될 수 있다. 그리고, 처리 요청 메시지는 데이터 저장기능 제공 장치(도 2의 200 참조)로 전송되어 명령어의 종류에 따른 처리를 수행할 수 있도록 한다.
예컨대, 처리 요청 메시지가 데이터 저장 요청 메시지인 경우에는 명령어 종류가 데이터 저장이며, 장치 ID, 데이터 ID, 데이터 관련 정보로서 암호화된 데이터와 데이터의 길이 정보 등이 포함을 포함할 수 있다. 반면에 처리 요청 메시지가 데이터 삭제 요청 메시지인 경우에는 명령어 종류가 데이터 삭제이며, 장치 ID, 데이터 ID 등이 포함할 수 있다.
이와 같이, 데이터 저장 요청 장치(100)는 데이터 저장기능 제공 장치(도 2의 200 참조)에 데이터를 저장 및 관리하기 위하여 기기 인증 및 데이터 저장용 인증을 수행하고, 인증에 따라 암호화키 기반 정보를 서로 공유한다. 그리고 데이터를 저장하고자 하는 경우에는 암호화키 기반 정보를 이용하여 생성된 암호화키로 데이터를 암호화하여 데이터 저장기능 제공 장치(도 2의 200 참조)에 전송함으로써 데이터를 저장할 수 있다. 또한 데이터를 관리하고자 하는 경우에는 장치 ID, 데이터 ID, 명령어 종류 등을 포함하는 메시지를 데이터 저장기능 제공 장치(도 2의 200 참조)에 전송함으로써 데이터를 관리할 수 있다.
도 4는 도 1 및 2에 도시된 데이터 저장기능 제공 장치(200)의 일 예를 나타낸 블록도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 데이터 저장기능 제공 장치(200)는 제어부(210), 통신부(220), 메모리(230), 데이터 저장부(240), 인증부(250), 암호화키 생성부(260), 암호화 정보 갱신부(270) 및 요청 메시지 처리부(280) 등을 포함한다.
상세히, 제어부(210)는 일종의 중앙처리장치로서 데이터 저장기능을 제공하는 전체 과정을 제어한다. 즉, 제어부(210)는 데이터 저장부(240), 인증부(250), 암호화키 생성부(260), 암호화 정보 갱신부(270) 및 요청 메시지 처리부(280) 등을 제어하여 다양한 기능을 제공할 수 있다.
여기서, 제어부(210)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
통신부(220)는 데이터 저장기능 제공 장치(200)와 데이터 저장 요청 장치(도 2의 100 참조) 및 게이트웨이(도 2의 300 참조) 간의 송수신 신호를 전송하는데 필요한 통신 인터페이스를 제공한다.
여기서, 통신부(220)는 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
메모리(230)는 제어부(210)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 여기서, 메모리(230)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
데이터 저장부(240)는 데이터 저장 요청 장치(도 2의 100 참조)로부터 저장 및 관리를 요청받은 데이터를 저장한다.
이때, 데이터 저장부(240)는 데이터 저장 요청 장치(도 2의 100 참조)로부터 수신한 암호화된 데이터와 그에 상응하는 암호화키 기반 정보를 함께 저장할 수 있다.
이때, 데이터 저장부(240)는 자체적으로 보안 저장 기능 혹은 안전 저장 기능을 제공할 수 있다.
인증부(250)는 데이터 저장 요청 장치(도 1의 100 참조)와 통신을 위한 상호 기기 인증을 수행하고, 데이터를 저장하기 위한 데이터 저장용 인증을 수행한다.
이때, 인증부(250)는 상호 기기 인증시 다양한 인증 방법 중에서 인증을 수행하는 장치들이 지원하는 인증 방법을 이용할 수 있다. 즉, 해당 사물인터넷 시스템의 인증 방식에 따라 수행될 수 있다.
이때, 인증부(250)의 상호 기기 인증의 결과로 데이터 저장 요청 장치(도 2의 100 참조)와 데이터 저장기능 제공 장치(200)가 동일한 세션키를 공유할 수 있다.
이때, 인증부(250)는 데이터 저장용 인증시 암호화키를 생성하는데 이용할 암호화키 기반 정보를 생성 및 공유할 수 있다. 여기서, 암호화키는 저장할 데이터를 암호화하여 보안성을 높이는데 이용된다.
이때, 인증부(250)는 데이터 저장용 인증시 데이터 저장 요청 장치(도 2의 100 참조)로부터 데이터 저장 요청 장치(도 2의 100 참조)의 장치 ID, 세션키로 암호화된 제1 난수값을 전송받고, 데이터 저장 요청 장치(도 2의 100 참조)로 세션키로 암호화된 제2 난수값을 전송할 수 있다. 그리고, 암호화키 기반 정보에 장치 ID, 제1 난수값, 제2 난수값이 포함될 수 있다. 장치 ID는 데이터 저장기능 제공 장치(200)가 관리하는 데이터 저장 요청 장치(도 2의 100 참조)를 식별하기 위한 값이다. 그리고 장치 ID는 데이터 저장기능 제공 장치(200)가 데이터 저장 영역을 관리하기 위한 값으로 사용될 수 있다.
이때, 인증부(250)는 데이터 저장용 인증시 데이터 저장 요청 장치(도 1의 200 참조)로 동기화 정보를 추가적으로 전송할 수 있고, 동기화 정보는 데이터 암호화를 위한 암호화키를 일회용 암호화키로 만드는데 이용될 수 있다. 여기서, 동기화 정보는 시간 동기화 정보 또는 카운터 동기화 정보 중에서 적어도 하나 이상을 포함할 수 있다. 그리고, 암호화키 기반 정보에 동기화 정보가 더 포함될 수 있다.
이때, 인증부(250)는 데이터 저장용 인증시 최초 데이터 저장 요청이 아닌 경우에는 데이터 저장 요청 장치(도 1의 200 참조)로 동기화 정보만을 전송할 수 있다. 이는, 최초 데이터 저장시 이루어지는 데이터 저장용 인증시 장치 ID, 세션키로 암호화된 제1 난수값, 세션키로 암호화된 제2 난수값이 서로 공유되기 때문에 반복하여 전송하지 않아도 되기 때문이다.
즉, 데이터 저장용 인증을 통하여 데이터 저장 요청 장치(도 2의 100 참조)와 데이터 저장기능 제공 장치(200)는 서로 동일한 장치 ID, 세션키로 암호화된 제1 난수값, 세션키로 암호화된 제2 난수값을 공유하게 되며, 데이터 암호화를 위하여 일회용 암호화키를 이용하는 경우에는 서로 동일한 동기화 정보를 추가적으로 공유하게 된다.
암호화키 생성부(260)는 인증부(250)의 인증 과정에서 공유한 암호화키 기반 정보를 이용하여 데이터 저장 요청 장치(도 2의 100 참조)와 동일한 방법으로 데이터 암호화와 복호화에 이용될 암호화키를 생성한다. 다만, 암호화키 생성부(260)는 단순히 데이터를 저장하거나 삭제를 하는 경우에는 암호화키를 생성하지 않고, 데이터 읽기의 경우에 암호화 정보를 업데이트 하기 위한 목적으로 암호화키를 생성할 수 있다.
예컨대, 데이터 저장부(240)에 저장되는 데이터는 데이터 저장 요청 장치(도 2의 100 참조)에서 암호화된 데이터이며, 이후 데이터 저장 요청 장치(도 2의 100 참조)에 제공할 때에도 암호화된 상태로 전달할 수 있다. 다만, 데이터 저장 시점의 암호화키와 데이터 읽기 시점의 암호화키가 상이한 경우에는 암호화 정보를 업데이트 하기 위하여 암호화키를 생성할 수 있다.
이때, 암호화키 생성부(260)는 암호화키 기반 정보로서 장치 ID, 제1 난수값, 제2 난수값, 암호화 대상 데이터의 데이터 ID, 세션키를 이용하여 암호화키를 생성할 수 있다. 데이터 ID는 대상 데이터를 식별하기 위한 값으로 식별 ID 또는 파일명 등이 이용될 수 있다. 그리고 데이터 ID는 데이터 저장기능 제공 장치(200)에서 데이터 저장 영역을 관리하기 위한 값으로 사용될 수 있다.
이때, 암호화키 생성부(260)는 암호화키 기반 정보로서 동기화 정보를 추가적으로 이용하여 일회용 암호화키를 생성할 수 있다. 예컨대, 일회용 암호화키를 데이터 저장 기능을 수행할 때마다 새로이 생성하여 보안성을 강화할 수 있다.
여기서, 일회용 암호화키의 생성은 일회용 비밀번호 생성 기법(OTP; One Time Password) 생성 기법을 기반으로 할 수 있다. 최초의 데이터 저장시 데이터 저장 요청 장치(도 2의 100 참조)와 데이터 저장기능 제공 장치(200) 양 측의 동기를 맞추어 초기 동기화 정보를 설정하면, 이후의 데이터 처리시에는 동기화 정보만을 갱신함으로써 새로운 암호화키를 간단히 생성할 수 있다.
이때, 일회용 암호화키는 서로 공유하는 비밀 정보와 동기화 정보를 입력으로 하여 해쉬함수 기반으로 구현되는 OTP 함수로부터 생성할 수 있다.
암호화 정보 갱신부(270)는 데이터의 암호화키가 변경되었을 경우에 이를 반영하기 위하여 암호화 정보를 갱신한다. 예컨대, 데이터 저장 시점의 암호화키와 데이터 읽기 시점의 암호화키가 상이한 경우가 이에 해당한다.
이때, 암호화 정보 갱신부(270)는 데이터 저장을 위하여 일회용 암호화키를 이용하며 데이터 읽기 요청을 수신한 경우에, 데이터 저장 시점의 암호화키를 이용하여 암호화된 데이터를 복호화하고 데이터 읽기 시점의 새로운 암호화키를 이용하여 데이터를 암호화하여 암호화 정보를 갱신할 수 있다.
이때, 암호화 정보 갱신부(270)는 암호화 정보를 갱신할 때 데이터 저장부(240)에 저장된 암호화 기반 정보의 동기화 정보를 갱신할 수 있다.
요청 메시지 처리부(280)는 데이터 저장 요청 장치(도 2의 100 참조)로부터 수신한 데이터의 저장과 관련된 처리 요청 메시지를 처리한다.
이때, 요청 메시지 처리부(280)는 장치 ID, 데이터 ID, 명령어 종류, 데이터 관련 정보 등을 포함하는 처리 요청 메시지를 처리할 수 있다. 예컨대, 장치 ID와 데이터 ID를 통하여 데이터 저장부(240)의 영역을 구분하여 관리하고, 명령어의 종류에 따라 데이터 관련 정보를 처리할 수 있다.
이때, 요청 메시지 처리부(280)는 처리 요청 메시지에 포함된 데이터의 암호화 여부 또는 보안 저장 여부 중 적어도 하나를 포함하는 태그 정보에 따라 데이터 관련 정보를 처리할 수 있다. 예컨대, 데이터 저장 요청에 대하여 태그 정보에서 보안 저장을 활성화하는 경우에는 데이터 저장부(240)에서 자체적으로 지원하는 안전 저장기능을 추가적으로 이용하여 데이터를 저장할 수 있다.
이와 같이, 데이터 저장기능 제공 장치(200)는 데이터 저장 요청 장치(도 2의 100 참조)의 데이터를 저장 및 관리하기 위하여 기기 인증 및 데이터 저장용 인증을 수행하고, 인증에 따라 암호화키 기반 정보를 서로 공유한다. 그리고 데이터를 저장하고자 하는 경우에는 암호화키 기반 정보를 이용하여 생성된 암호화키로 암호화된 데이터를 데이터 저장 요청 장치(도 2의 100 참조)로부터 수신하여 저장할 수 있다. 또한 데이터를 관리하고자 하는 경우에는 장치 ID, 데이터 ID, 명령어 종류 등을 포함하는 메시지를 데이터 저장 요청 장치(도 2의 100 참조)로부터 수신함으로써 데이터를 관리할 수 있다.
도 5는 본 발명의 일 실시예에 따른 데이터 저장 요청 장치(도 2의 100 참조)에서 수행되는 데이터 저장 방법을 나타낸 동작 흐름도이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 데이터 저장 방법은 데이터 저장 요청 장치(도 2의 100 참조)가, 데이터 저장기능 제공 장치(도 2의 200 참조)와 기기 인증을 수행한다(S501).
이때, 기기 인증의 결과로 데이터 저장 요청 장치(도 2의 100 참조)와 데이터 저장기능 제공 장치(도 2의 200 참조)가 동일한 세션키를 공유할 수 있다.
또한, 본 발명의 일 실시예에 따른 데이터 저장 방법은 데이터 저장 요청 장치(도 2의 100 참조)가, 데이터 저장기능 제공 장치(도 2의 200 참조)와 데이터 저장용 인증을 수행한다(S503). 여기서 데이터 저장용 인증은 데이터를 암호화하여 저장하기 위하여 수행된다.
또한, 본 발명의 일 실시예에 따른 데이터 저장 방법은 데이터 저장 요청 장치(도 2의 100 참조)가, 데이터 처리 요청 메시지를 생성한다(S505).
이때, 데이터 처리 요청 메시지에는 장치 ID, 데이터 ID, 명령어 종류, 데이터 관련 정보 및 태그 정보 등이 포함될 수 있다.
또한, 본 발명의 일 실시예에 따른 데이터 저장 방법은 데이터 저장 요청 장치(도 2의 100 참조)가, 데이터 저장기능 제공 장치(도 2의 200 참조)에 데이터 처리 요청 메시지를 전송하여 데이터 처리를 요청한다(S507).
또한, 본 발명의 일 실시예에 따른 데이터 저장 방법은 데이터 저장 요청 장치(도 2의 100 참조)가, 데이터 저장기능 제공 장치(도 2의 200 참조)로부터 데이터 처리 결과를 수신한다(S509).
도 6은 본 발명의 일 실시예에 따른 데이터 저장기능 제공 장치(도 2의 200 참조)에서 수행되는 데이터 저장 방법을 나타낸 동작 흐름도이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 데이터 저장 방법은 데이터 저장기능 제공 장치(도 2의 200 참조)가, 데이터 저장 요청 장치(도 2의 100 참조)와 기기 인증을 수행한다(S601).
이때, 기기 인증의 결과로 데이터 저장 요청 장치(도 2의 100 참조)와 데이터 저장기능 제공 장치(도 2의 200 참조)가 동일한 세션키를 공유할 수 있다.
또한, 본 발명의 일 실시예에 따른 데이터 저장 방법은 데이터 저장기능 제공 장치(도 2의 200 참조)가, 데이터 저장 요청 장치(도 2의 100 참조)와 데이터 저장용 인증을 수행한다(S603). 여기서 데이터 저장용 인증은 데이터를 암호화하여 저장하기 위하여 수행된다.
또한, 본 발명의 일 실시예에 따른 데이터 저장 방법은 데이터 저장기능 제공 장치(도 2의 200 참조)가, 데이터 저장 요청 장치(도 2의 100 참조)로부터 생성된 데이터 처리 요청 메시지를 수신한다(S605).
이때, 데이터 처리 요청 메시지에는 장치 ID, 데이터 ID, 명령어 종류, 데이터 관련 정보 및 태그 정보 등이 포함될 수 있다.
또한, 본 발명의 일 실시예에 따른 데이터 저장 방법은 데이터 저장기능 제공 장치(도 2의 200 참조)가, 수신한 데이터 처리 요청 메시지에 따라 데이터를 처리한다(S607). 여기서, 데이터의 처리는 명령어의 종류에 따라 데이터의 저장(쓰기), 읽기, 삭제 등이 포함될 수 있다.
또한, 본 발명의 일 실시예에 따른 데이터 저장 방법은 데이터 저장기능 제공 장치(도 2의 200 참조)가, 데이터 저장 요청 장치(도 2의 100 참조)에 데이터 처리 결과를 전송한다(S609).
도 7은 도 5에 도시된 데이터 저장용 인증을 수행하는 단계(S503)의 일 예를 나타낸 동작 흐름도이다.
도 7을 참조하면, 도 5에 도시된 데이터 저장용 인증을 수행하는 단계(S503)는 데이터 저장 요청 장치(도 2의 100 참조)가, 데이터 저장기능 제공 장치(도 2의 200 참조)로 장치 ID 및 제1 난수값을 전송한다(S701). 여기서, 제1 난수값은 세션키로 암호화된 것일 수 있다.
또한, 도 5에 도시된 데이터 저장용 인증을 수행하는 단계(S503)는 데이터 저장 요청 장치(도 2의 100 참조)가, 데이터 저장기능 제공 장치(도 2의 200 참조)로부터 제2 난수값 및 동기화 정보를 수신한다(S703). 여기서 제2 난수값 및 동기화 정보는 세션키로 암호화된 것일 수 있다.
여기서, 동기화 정보는 데이터 저장 기능 이용시 사용할 일회용 암호화키를 생성하기 위하여 사용될 수 있다.
도 8은 도 5에 도시된 데이터 저장용 인증을 수행하는 단계(S503)의 일 예를 나타낸 동작 흐름도이다.
도 8을 참조하면, 도 5에 도시된 데이터 저장용 인증을 수행하는 단계(S503)는 데이터 저장 요청 장치(도 2의 100 참조)가, 데이터 저장기능 제공 장치(도 2의 200 참조)로부터 동기화 정보를 수신한다(S801). 여기서 동기화 정보는 세션키로 암호화된 것일 수 있다.
이는, 이미 장치 ID, 세션키로 암호화된 제1 난수값, 세션키로 암호화된 제2 난수값이 서로 공유된 상태에는 동기화 정보만 갱신하면 충분하기 때문이다.
도 9는 도 6에 도시된 데이터 저장용 인증을 수행하는 단계(S603)의 일 예를 나타낸 동작 흐름도이다.
도 9를 참조하면, 도 6에 도시된 데이터 저장용 인증을 수행하는 단계(S603)는 데이터 저장기능 제공 장치(도 2의 200 참조)가, 데이터 저장 요청 장치(도 2의 200 참조)로부터 장치 ID 및 제1 난수값을 수신한다(S901). 여기서, 제1 난수값은 세션키로 암호화된 것일 수 있다.
또한, 도 6에 도시된 데이터 저장용 인증을 수행하는 단계(S603)는 데이터 저장기능 제공 장치(도 2의 200 참조)가, 데이터 저장 요청 장치(도 2의 100 참조)로 제2 난수값 및 동기화 정보를 전송한다(S903). 여기서 제2 난수값 및 동기화 정보는 세션키로 암호화된 것일 수 있다.
여기서, 동기화 정보는 데이터 저장 기능 이용시 사용할 일회용 암호화키를 생성하기 위하여 사용될 수 있다.
도 10은 도 6에 도시된 데이터 저장용 인증을 수행하는 단계(S603)의 일 예를 나타낸 동작 흐름도이다.
도 10을 참조하면, 도 6에 도시된 데이터 저장용 인증을 수행하는 단계(S603)는 데이터 저장기능 제공 장치(도 2의 200 참조)가, 데이터 저장 요청 장치(도 2의 100 참조)로 동기화 정보를 전송한다(S1001). 여기서 동기화 정보는 세션키로 암호화된 것일 수 있다.
이는, 이미 장치 ID, 세션키로 암호화된 제1 난수값, 세션키로 암호화된 제2 난수값이 서로 공유된 상태에는 동기화 정보만 갱신하면 충분하기 때문이다.
도 11은 도 5에 도시된 데이터 처리 요청 메시지를 생성하는 단계(S505)의 일 예를 나타낸 동작 흐름도이다.
도 11을 참조하면, 도 5에 도시된 데이터 처리 요청 메시지를 생성하는 단계(S505)는 데이터 저장 요청 장치(도 2의 100 참조)가, 데이터 처리의 종류인 명령어 종류를 판단한다(S1101).
단계(S1101)의 판단 결과, 명령어가 데이터 저장인 경우에는 데이터 저장을 위한 암호화키를 생성하고(S1103), 생성된 암호화키를 이용하여 저장 대상 데이터를 암호화한다(S1105). 그리고 데이터 저장기능 제공 장치(도 2의 200 참조)가 지원하는 안전 저장 기능 혹은 보안 저장 기능을 이용할지 여부를 설정하고(S1107), 데이터 저장 메시지를 생성한다(S1109).
이때, 암호화키는 암호화키 기반 정보를 이용하여 생성될 수 있으며, 암호화키 기반 정보는 장치 ID, 데이터 ID, 동기화 정보, 제1 난수값, 제2 난수값 등이 이용될 수 있다.
이때, 데이터 저장 메시지에는 장치 ID, 데이터 ID, 데이터 저장 명령, 암호화된 데이터, 데이터의 길이, 보안 저장 여부 등의 정보가 포함될 수 있다.
단계(S1101)의 판단 결과, 명령어가 데이터 삭제인 경우에는 데이터 삭제 메시지를 생성한다(S1111).
이때, 데이터 삭제 메시지에는 장치 ID, 데이터 ID, 데이터 삭제 명령, 보안 저장 여부 등의 정보가 포함될 수 있다.
단계(S1101)의 판단 결과, 명령어가 데이터 읽기인 경우에는 데이터 읽기 메시지를 생성한다(S1113).
이때, 데이터 읽기 메시지에는 장치 ID, 데이터 ID, 데이터 읽기 명령, 보안 저장 여부 등의 정보가 포함될 수 있다.
도 12는 도 6에 도시된 데이터를 처리하는 단계(S607)의 일 예를 나타낸 동작 흐름도이다.
도 12를 참조하면, 도 6에 도시된 데이터를 처리하는 단계(S607)는 데이터 저장기능 제공 장치(도 2의 200 참조)가, 데이터 처리의 종류인 명령어 종류를 판단한다(S1201).
단계(S1201)의 판단 결과, 명령어가 데이터 저장인 경우에는 수신한 데이터를 저장하고(S1203), 안전 저장 옵션 설정에 따라 필요시 안전 저장을 수행한다(S1205).
단계(S1201)의 판단 결과, 명령어가 데이터 삭제인 경우에는 삭제 대상 데이터를 선택하여(S1207), 삭제 대상 데이터를 삭제한다(S1209).
이때, 삭제 대상 데이터는 장치 ID, 데이터 ID 등을 이용하여 선택할 수 있다.
단계(S1201)의 판단 결과, 명령어가 데이터 읽기인 경우에는 읽기 대상 데이터를 선택한다(S1211).
이때, 읽기 대상 데이터는 장치 ID, 데이터 ID 등을 이용하여 선택할 수 있다.
또한, 도 6에 도시된 데이터를 처리하는 단계(S607)는 데이터 저장기능 제공 장치(도 2의 200 참조)가, 선택된 읽기 대상 데이터에 대하여 암호화 정보가 변경되었는지 여부를 판단한다(S1213). 즉, 읽기 대상 데이터의 저장 시점에서의 암호화키와 읽기 요청 시점에서의 암호화키가 동일한지 여부를 판단한다.
단계(S1213)의 판단 결과, 암호화 정보가 변경되지 않은 경우에는 암호화 정보 변경 없이 읽기 대상 데이터를 반환한다(S1217).
단계(S1213)의 판단 결과, 암호화 정보가 변경된 경우에는 암호화 정보를 갱신하여(S1215), 읽기 대상 데이터를 반환한다(S1217).
이때, 암호화 정보의 갱신은 데이터 저장 시점에서의 암호화키를 이용하여 암호화된 데이터를 복호화하고, 읽기 요청 시점에서의 암호화키를 이용하여 복호화한 데이터를 다시 암호화하는 것을 의미할 수 있다. 그리고, 새로이 암호화된 데이터와 암호화키 기반 정보를 갱신하여 저장할 수 있다.
즉, 데이터 저장기능 제공 장치(도 2의 200 참조)에 저장되는 데이터는 암호화된 상태이며, 암호화 정보를 갱신하지 않을 경우에는 암호화된 데이터를 복호화하지 않음으로써 높은 보안성을 유지할 수 있다. 또한, 데이터 저장 과정과 데이터 읽기 과정에서 송수신되는 데이터가 서로 상이하므로 보다 안전하게 데이터 보호가 가능하다.
도 13은 본 발명의 일 실시예에 따른 데이터 저장 방법을 나타낸 동작 흐름도이다.
도 13을 참조하면, 본 발명의 일 실시예에 따른 데이터 저장 방법은 데이터 저장 요청 장치(100)와 데이터 저장기능 제공 장치(200)가 서로 기기 인증을 수행하여 세션키를 공유한다(S1301).
또한, 본 발명의 일 실시예에 따른 데이터 저장 방법은 데이터 저장 요청 장치(100)가, 데이터 저장기능 제공 장치(200)로 장치 ID 및 제1 난수값을 전송한다(S1303).
또한, 본 발명의 일 실시예에 따른 데이터 저장 방법은 데이터 저장기능 제공 장치(200)가, 데이터 저장 요청 장치(100)로 제2 난수값 및 동기화 정보를 전송한다(S1305).
또한, 본 발명의 일 실시예에 따른 데이터 저장 방법은 데이터 저장 요청 장치(100)가, 암호화키 기반 정보를 이용하여 데이터 저장에 사용될 암호화키를 생성하고(S1307), 생성된 암호화키를 이용하여 저장 대상 데이터를 암호화하며(S1309), 데이터 저장기능 제공 장치(200)에 데이터 저장을 요청하기 위한 데이터 저장 메시지를 생성한다(S1311).
또한, 본 발명의 일 실시예에 따른 데이터 저장 방법은 데이터 저장 요청 장치(100)가, 데이터 저장기능 제공 장치(200)로 데이터 저장 메시지를 전송한다(S1313).
또한, 본 발명의 일 실시예에 따른 데이터 저장 방법은 데이터 저장기능 제공 장치(200)가, 수신한 데이터 저장 메시지에 따라 데이터를 저장한다(S1315).
또한, 본 발명의 일 실시예에 따른 데이터 저장 방법은 데이터 저장기능 제공 장치(200)가, 데이터 저장 요청 장치(100)로 데이터 저장 요청에 대한 결과를 전송한다(S1317).
도 14는 본 발명의 일 실시예에 따른 데이터 처리 방법을 나타낸 동작 흐름도이다.
도 14를 참조하면, 본 발명의 일 실시예에 따른 데이터 처리 방법은 데이터 저장 요청 장치(100)와 데이터 저장기능 제공 장치(200)가 서로 기기 인증을 수행하여 세션키를 공유한다(S1401).
여기서, 데이터 처리는 데이터 삭제, 데이터 읽기, 최초의 데이터 저장을 제외한 데이터 저장 등을 포함한다.
또한, 본 발명의 일 실시예에 따른 데이터 처리 방법은 데이터 저장기능 제공 장치(200)가, 데이터 저장 요청 장치(100)로 동기화 정보를 전송한다(S1403). 이는, 데이터 저장 요청 장치(100)와 데이터 저장기능 제공 장치(200)가 최초의 데이터 저장 과정을 통하여 이미 동일한 장치 ID, 제1 난수값, 제2 난수값을 분배하여 갖고있기 때문이다.
또한, 본 발명의 일 실시예에 따른 데이터 처리 방법은 데이터 저장 요청 장치(100)가, 데이터 저장기능 제공 장치(200)에 데이터 처리를 요청하기 위한 데이터 처리 메시지를 생성한다(S1405).
또한, 본 발명의 일 실시예에 따른 데이터 처리 방법은 데이터 저장 요청 장치(100)가, 데이터 저장기능 제공 장치(200)로 데이터 처리 메시지를 이용하여 데이터 처리 요청을 전송한다(S1407).
또한, 본 발명의 일 실시예에 따른 데이터 처리 방법은 데이터 저장기능 제공 장치(200)가, 수신한 데이터 처리 메시지에 따라 데이터를 처리한다(S1409).
또한, 본 발명의 일 실시예에 따른 데이터 처리 방법은 데이터 저장기능 제공 장치(200)가, 데이터 저장 요청 장치(100)로 데이터 처리 요청에 대한 결과를 전송한다(S1411).
도 15는 본 발명의 일 실시예에 따른 데이터 처리 요청 메시지의 예시를 나타낸 도면이다.
도 15를 참조하면, 본 발명의 일 실시예에 따른 데이터 처리 요청 메시지에는 장치 ID(15a), 데이터 ID(15b), 명령어 종류(15c), 데이터 길이(15d), 데이터(15e) 및 태그 정보(15f) 등이 포함될 수 있다.
여기서, 장치 ID(15a)는 데이터 저장 요청 장치(도 2의 100 참조)에 상응하는 장치를 식별하기 위한 ID이며, 데이터 ID(15b)는 처리 대상 데이터를 식별하기 위한 ID이다. 명령어 종류(15c)에는 데이터 저장(쓰기), 데이터 읽기, 데이터 삭제, 인증 등이 포함될 수 있다. 데이터 길이(15d)는 데이터 관련 정보로, 처리 대상의 데이터의 길이 정보를 나타내며, 데이터(15e)는 처리 대상의 암호화된 데이터이다. 태그 정보(15f)는 데이터 암호화 유무 또는 보안 저장 여부 등이 포함될 수 있다.
구체적인 데이터 처리 요청 메시지는 명령어의 종류(15c)에 따라 상이할 수 있다. 예컨대, 데이터 읽기와 데이터 삭제의 경우에는 데이터(15e) 없이 데이터 처리 요청 메시지가 구성될 수 있다.
도 16은 본 발명의 일 실시예에 따른 장치 설정 정보의 예시를 나타낸 도면이다.
도 16을 참조하면, 본 발명의 일 실시예에 따른 장치 설정 정보에는 장치 ID(16a), 제1 난수(16b) 및 제2 난수(16c) 등이 포함된다.
여기서, 장치 설정 정보는 데이터 저장기능 제공 장치(도 2의 200 참조)가 각 데이터 저장 요청 장치(도 2의 100 참조)에 대한 설정을 관리하기 위한 정보이다.
도 17은 본 발명의 일 실시예에 따른 데이터 설정 정보의 예시를 나타낸 도면이다.
도 17을 참조하면, 본 발명의 일 실시예에 따른 데이터 설정 정보에는 데이터 ID(17a), 세션키(17b) 및 동기화 정보(17c) 등이 포함된다.
도 18은 본 발명의 일 실시예에 따른 일회용 키를 생성하는 방법을 나타낸 도면이다.
도 18을 참조하면, 본 발명의 일 실시예에 따른 데이터 저장 요청 장치(100)는 장치 설정 정보(18_1c)와 데이터 설정 정보(18_1d)를 이용하여 OTP 키(18_1b)를 생성하며, OTP 키를 이용하여 암호화키(18_1a)를 생성한다.
또한, 본 발명의 일 실시예에 따른 데이터 저장기능 제공 장치(200)는 장치 설정 정보(18_2c)와 데이터 설정 정보(18_2d)를 이용하여 OTP 키(18_2b)를 생성하며, OTP 키를 이용하여 암호화키(18_2a)를 생성한다.
여기서, 데이터 저장 요청 장치(100)가 이용하는 장치 설정 정보(18_1c)와 데이터 저장기능 제공 장치(200)가 이용하는 각각의 장치 설정 정보(18_2c)는 서로 같다. 그리고, 데이터 저장 요청 장치(100)가 이용하는 데이터 설정 정보(18_1d)와 데이터 저장기능 제공 장치(200)가 이용하는 각각의 데이터 설정 정보(18_2d)는 서로 같다. 특히, 데이터 저장 요청 장치(100)와 데이터 저장기능 제공 장치(200)가 OTP 키를 생성하는 방법이 동일하므로 생성된 OTP 키(18_1b 및 18_2b)는 서로 동일하다. 마찬가지로, 데이터 저장 요청 장치(100)와 데이터 저장기능 제공 장치(200)가 OTP 키로부터 암호화키를 생성하는 방법이 동일하므로 생성된 암호화키(18_1a 및 18_2a)는 서로 동일하다.
본 발명에서 설명하는 특정 실행들은 실시예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
1: 데이터 저장 시스템
100: 데이터 저장 요청 장치
110: 제어부 120: 통신부
130: 메모리 140: 정보 수집부
150: 인증부 160: 암호화키 생성부
170: 암복호화부 180: 요청 메시지 생성부
200: 데이터 저장기능 제공 장치
210: 제어부 220: 통신부
230: 메모리 240: 데이터 저장부
250: 인증부 260: 암호화키 생성부
270: 암호화 정보 갱신부 280: 요청 메시지 처리부
300: 게이트웨이

Claims (20)

  1. 적어도 하나 이상의 데이터 저장 요청 장치들에 대한 데이터 저장 요청을 처리하는 데이터 저장기능 제공장치에 있어서,
    데이터 암호화를 수행하는 데이터 저장 요청 장치와 기기 인증을 수행하고, 상기 데이터 저장 요청 장치와 데이터 저장용 인증을 수행하는 인증부;
    상기 데이터 암호화를 위한 암호화키를 생성하는데 이용된 암호화키 기반 정보와 암호화된 데이터를 저장하는 데이터 저장부;
    상기 데이터 저장부를 이용하여 상기 데이터 저장 요청 장치로부터 상기 암호화된 데이터에 대한 처리 요청 메시지를 처리하는 요청 메시지 처리부; 및
    상기 데이터 저장 요청 장치로부터 상기 데이터 암호화를 위한 암호화키를 생성하는데 이용된 암호화키 기반 정보 및 상기 암호화된 데이터를 수신하고, 상기 데이터 저장 요청 장치로부터 상기 처리 요청 메시지를 수신하고, 상기 데이터 저장 요청 장치로 처리 결과를 전송하는 통신부;
    상기 암호화키 기반 정보를 이용하여 상기 데이터 저장 요청 장치와 동일한 방법으로 암호화키를 생성하는 암호화키 생성부;
    를 포함하고,
    상기 인증부는
    상기 기기 인증으로 획득한 상기 데이터 저장 요청 장치의 장치 ID 및 세션키를 이용하여 상기 데이터 저장 요청 장치와 데이터를 저장하기 위한 데이터 저장용 인증을 수행하고,
    상기 암호화키 생성부는
    상기 기기 인증과 데이터 저장용 인증을 수행한 과정에서 획득한 동기화 정보가 포함된 상기 암호화키 기반 정보를 이용하여 상기 암호화키를 생성하고,
    상기 데이터 저장 요청 장치와 공유하는 상기 동기화 정보의 갱신에 따라 새로운 암호화키를 생성하는 것을 특징으로 하는, 데이터 저장기능 제공 장치.
  2. 청구항 1에 있어서,
    상기 암호화키 기반 정보는
    상기 저장 요청 장치를 식별하기 위한 장치 ID와 암호화 대상 데이터를 식별하기 위한 데이터 ID를 포함하고,
    상기 인증부는
    상기 데이터 저장용 인증을 수행할 때 상기 장치 ID를 상호 교환하는 것인, 데이터 저장기능 제공 장치.
  3. 청구항 2에 있어서,
    상기 요청 메시지 처리부는
    상기 처리 요청 메시지가 데이터 저장 메시지인 경우, 저장 대상 암호화된 데이터와 상기 저장 대상 암호화된 데이터에 상응하는 암호화키 기반 정보를 상기 데이터 저장부에 저장하고, 상기 처리 요청 메시지가 데이터 삭제 메시지인 경우, 상기 데이터 저장부에 저장된 삭제 대상 암호화된 데이터와 상기 삭제 대상 암호화된 데이터에 상응하는 암호화키 기반 정보를 삭제하는 것인, 데이터 저장기능 제공 장치.
  4. 청구항 3에 있어서,
    상기 암호화키 기반 정보는
    일회용 암호화키 생성을 위한 동기화 정보를 더 포함하고,
    상기 인증부는
    상기 데이터 저장용 인증을 수행할 때 상기 데이터 저장 요청 장치에 상기 동기화 정보를 전송하고,
    상기 암호화키는
    상기 동기화 정보를 이용하여 생성되는 일회용 암호화키인 것인, 데이터 저장기능 제공 장치.
  5. 청구항 4에 있어서,
    상기 동기화 정보는
    시간 동기화 정보 또는 카운터 동기화 정보 중에서 적어도 하나 이상을 포함하는 것인, 데이터 저장기능 제공 장치.
  6. 청구항 5에 있어서,
    상기 처리 요청 메시지가 데이터 읽기 메시지인 경우에, 읽기 대상 암호화된 데이터를 저장 시점의 암호화키를 이용하여 복호화하고 읽기 시점의 암호화키를 이용하여 암호화하여 암호화 정보를 갱신하는 암호화 정보 갱신부
    를 더 포함하고,
    상기 요청 메시지 처리부는
    상기 처리 요청 메시지가 데이터 읽기 메시지인 경우에, 암호화 정보가 갱신된 암호화된 데이터를 상기 데이터 저장 요청 장치에 반환하는 것인, 데이터 저장기능 제공 장치.
  7. 청구항 6에 있어서,
    상기 처리 요청 메시지는
    데이터의 암호화 여부 또는 보안 저장 여부 중 적어도 하나를 포함하는 태그 정보를 포함하며,
    상기 데이터 저장부는
    상기 태그 정보의 보안 저장 여부에 따라 보안 저장 기능을 제공하는 것인, 데이터 저장기능 제공 장치.
  8. 적어도 하나 이상의 데이터 저장 요청 장치들에 대한 데이터 저장 요청을 처리하는 데이터 저장기능 제공장치의 데이터 저장 방법에 있어서,
    데이터 암호화를 수행하는 데이터 저장 요청 장치와 기기 인증을 수행하는 단계;
    상기 데이터 저장 요청 장치와 데이터 저장용 인증을 수행하는 단계;
    암호화키 기반 정보를 이용하여 상기 데이터 저장 요청 장치와 동일한 방법으로 암호화키를 생성하는 단계;
    상기 데이터 저장 요청 장치로부터 상기 데이터 암호화를 위한 암호화키를 생성하는데 이용된 암호화키 기반 정보 및 상기 데이터 암호화의 결과에 따른 암호화된 데이터를 수신하는 단계;
    상기 데이터 저장 요청 장치로부터 상기 암호화된 데이터에 대한 처리 요청 메시지를 수신하는 단계;
    상기 암호화키 기반 정보와 상기 암호화된 데이터를 저장하는 데이터 저장부를 이용하여 상기 처리 요청 메시지를 처리하는 단계; 및
    상기 데이터 저장 요청 장치로 처리 결과를 전송하는 단계를 포함하고,
    상기 데이터 저장용 인증을 수행하는 단계는
    상기 기기 인증으로 획득한 상기 데이터 저장 요청 장치의 장치 ID 및 세션키를 이용하여 상기 데이터 저장 요청 장치와 데이터를 저장하기 위한 데이터 저장용 인증을 수행하고,
    상기 암호화키를 생성하는 단계는
    상기 기기 인증과 데이터 저장용 인증을 수행한 과정에서 획득한 동기화 정보가 포함된 상기 암호화키 기반 정보를 이용하여 상기 암호화키를 생성하고,
    상기 데이터 저장 요청 장치와 공유하는 상기 동기화 정보의 갱신에 따라 새로운 암호화키를 생성하는 것을 특징으로 하는, 데이터 저장 방법.
  9. 청구항 8에 있어서,
    상기 암호화키 기반 정보는
    상기 저장 요청 장치를 식별하기 위한 장치 ID와 암호화 대상 데이터를 식별하기 위한 데이터 ID를 포함하고,
    상기 데이터 저장용 인증을 수행하는 단계는
    상기 장치 ID를 상호 교환하는 것인, 데이터 저장 방법.
  10. 청구항 9에 있어서,
    상기 처리 요청 메시지를 처리하는 단계는
    상기 처리 요청 메시지가 데이터 저장 메시지인 경우, 저장 대상 암호화된 데이터와 상기 저장 대상 암호화된 데이터에 상응하는 암호화키 기반 정보를 상기 데이터 저장부에 저장하고, 상기 처리 요청 메시지가 데이터 삭제 메시지인 경우, 상기 데이터 저장부에 저장된 삭제 대상 암호화된 데이터와 상기 삭제 대상 암호화된 데이터에 상응하는 암호화키 기반 정보를 삭제하는 것인, 데이터 저장 방법.
  11. 청구항 10에 있어서,
    상기 암호화키 기반 정보는
    일회용 암호화키 생성을 위한 동기화 정보를 더 포함하고,
    상기 데이터 저장용 인증을 수행하는 단계는
    상기 데이터 저장 요청 장치에 상기 동기화 정보를 전송하고,
    상기 암호화키는
    상기 동기화 정보를 이용하여 생성되는 일회용 암호화키인 것인, 데이터 저장 방법.
  12. 청구항 11에 있어서,
    상기 동기화 정보는
    시간 동기화 정보 또는 카운터 동기화 정보 중에서 적어도 하나 이상을 포함하는 것인, 데이터 저장 방법.
  13. 청구항 12에 있어서,
    상기 처리 요청 메시지가 데이터 읽기 메시지인 경우에, 읽기 대상 암호화된 데이터를 저장 시점의 암호화키를 이용하여 복호화하고 읽기 시점의 암호화키를 이용하여 암호화하여 암호화 정보를 갱신하는 단계
    를 더 포함하고,
    상기 처리 요청 메시지를 처리하는 단계는
    상기 처리 요청 메시지가 데이터 읽기 메시지인 경우에, 암호화 정보가 갱신된 암호화된 데이터를 상기 데이터 저장 요청 장치에 반환하는 것인, 데이터 저장 방법.
  14. 청구항 13에 있어서,
    상기 처리 요청 메시지는 데이터의 암호화 여부 또는 보안 저장 여부 중 적어도 하나를 포함하는 태그 정보를 포함하며,
    상기 데이터를 저장하는 것은 상기 태그 정보의 보안 저장 여부에 따라 보안 저장 기능을 제공하는 것인, 데이터 저장 방법.
  15. 데이터 저장기능 제공 장치와 기기 인증을 수행하고, 상기 데이터 저장기능 제공 장치와 데이터 저장용 인증을 수행하는 인증부;
    암호화키 기반 정보를 이용하여 상기 데이터 저장기능 제공 장치와 동일한 방법으로 암호화키를 생성하는 암호화키 생성부;
    저장 대상 데이터를 암호화하거나, 상기 데이터 저장기능 제공 장치로부터 수신한 암호화된 데이터를 복호화하는 암복호화부;
    상기 데이터 저장기능 제공 장치로부터 데이터의 처리를 요청하기 위한 처리 요청 메시지를 생성하는 요청 메시지 생성부; 및
    상기 데이터 저장기능 제공 장치에 상기 암호화키 기반 정보 및 상기 암호화된 데이터를 전송하고, 상기 데이터 저장기능 제공 장치에 상기 처리 요청 메시지를 전송하고, 상기 데이터 저장기능 제공 장치로부터 처리 결과를 수신하는 통신부를 포함하고,
    상기 데이터 저장기능 제공장치는
    적어도 하나 이상의 데이터 저장 요청 장치들에 대한 데이터 저장 요청을 처리하고,
    상기 암호화키 기반 정보를 이용하여 상기 데이터 저장 요청 장치와 동일한 방법으로 암호화키를 생성하고,
    상기 기기 인증으로 획득한 데이터 저장 요청 장치의 장치 ID 및 세션키를 이용하여 상기 데이터 저장 요청 장치와 데이터를 저장하기 위한 데이터 저장용 인증을 수행하고,
    상기 기기 인증과 데이터 저장용 인증을 수행한 과정에서 획득한 동기화 정보가 포함된 상기 암호화키 기반 정보를 이용하여 상기 암호화키를 생성하고,
    상기 데이터 저장 요청 장치와 공유하는 상기 동기화 정보의 갱신에 따라 새로운 암호화키를 생성하는 것을 특징으로 하는, 데이터 저장 요청 장치.
  16. 청구항 15에 있어서,
    상기 암호화키 기반 정보는
    상기 저장 요청 장치를 식별하기 위한 장치 ID와 암호화 대상 데이터를 식별하기 위한 데이터 ID를 포함하고,
    상기 인증부는
    상기 데이터 저장용 인증을 수행할 때 상기 장치 ID를 상호 교환하는 것인, 데이터 저장 요청 장치.
  17. 청구항 16에 있어서,
    상기 요청 메시지 생성부는
    데이터의 저장을 요청하는 경우, 저장 대상 암호화된 데이터와 상기 저장 대상 암호화된 데이터에 상응하는 암호화키 기반 정보를 상기 데이터 저장기능 제공 장치에 저장하도록 요청하는 메시지를 생성하고, 데이터의 삭제를 요청하는 경우, 상기 데이터 저장기능 제공 장치에 저장된 삭제 대상 암호화된 데이터와 상기 삭제 대상 암호화된 데이터에 상응하는 암호화키 기반 정보를 삭제하도록 요청하는 메시지를 생성하는 것인, 데이터 저장 요청 장치.
  18. 청구항 17에 있어서,
    상기 암호화키 기반 정보는
    일회용 암호화키 생성을 위한 동기화 정보를 더 포함하고,
    상기 인증부는
    상기 데이터 저장용 인증을 수행할 때 상기 데이터 저장기능 제공 장치로부터 상기 동기화 정보를 수신하고,
    상기 암호화키는
    상기 동기화 정보를 이용하여 생성되는 일회용 암호화키인 것인, 데이터 저장 요청 장치.
  19. 청구항 18에 있어서,
    상기 요청 메시지 생성부는
    데이터의 읽기를 요청하는 경우, 상기 데이터 저장기능 제공 장치가 읽기 대상 암호화된 데이터를 저장 시점의 암호화키를 이용하여 복호화하고 읽기 시점의 암호화키를 이용하여 암호화하여 암호화 정보를 갱신하여 반환하도록 요청하는 메시지를 생성하는 것인, 데이터 저장 요청 장치.
  20. 청구항 19에 있어서,
    상기 처리 요청 메시지는
    데이터의 암호화 여부 또는 보안 저장 여부 중 적어도 하나를 포함하는 태그 정보를 더 포함하며,
    상기 데이터 저장기능 제공 장치는
    상기 태그 정보의 보안 저장 여부에 따라 보안 저장 기능을 제공하는 것인, 데이터 저장 요청 장치.
KR1020170131243A 2017-10-11 2017-10-11 사물인터넷 환경에서 기기 데이터 저장 장치 및 그 방법 KR102067425B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170131243A KR102067425B1 (ko) 2017-10-11 2017-10-11 사물인터넷 환경에서 기기 데이터 저장 장치 및 그 방법
US16/011,957 US20190109829A1 (en) 2017-10-11 2018-06-19 Apparatus and method for storing device data in internet-of-things environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170131243A KR102067425B1 (ko) 2017-10-11 2017-10-11 사물인터넷 환경에서 기기 데이터 저장 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20190040772A KR20190040772A (ko) 2019-04-19
KR102067425B1 true KR102067425B1 (ko) 2020-02-11

Family

ID=65993608

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170131243A KR102067425B1 (ko) 2017-10-11 2017-10-11 사물인터넷 환경에서 기기 데이터 저장 장치 및 그 방법

Country Status (2)

Country Link
US (1) US20190109829A1 (ko)
KR (1) KR102067425B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102030049B1 (ko) * 2019-04-30 2019-10-08 (주)그린아이티코리아 경량화된 보안 방식을 지원하는 통합 재난 비상 방송 시스템 및 방법
KR102030045B1 (ko) * 2019-04-30 2019-10-08 (주)그린아이티코리아 경량화된 보안 방식을 지원하는 영상 감시 시스템 및 방법
KR102652937B1 (ko) * 2021-07-20 2024-03-28 주식회사 케이티앤지 에어로졸 생성장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101254209B1 (ko) * 2004-03-22 2013-04-23 삼성전자주식회사 디바이스와 휴대용 저장장치간에 권리 객체를 이동,복사하는 방법 및 장치
JP4829639B2 (ja) * 2006-02-24 2011-12-07 キヤノン株式会社 データ処理装置およびデータ処理方法
KR101616795B1 (ko) 2015-04-17 2016-05-12 배재대학교 산학협력단 Pki 기반의 개인키 파일 관리 방법 및 그 시스템

Also Published As

Publication number Publication date
US20190109829A1 (en) 2019-04-11
KR20190040772A (ko) 2019-04-19

Similar Documents

Publication Publication Date Title
US11469885B2 (en) Remote grant of access to locked data storage device
JP5852265B2 (ja) 計算装置、コンピュータプログラム及びアクセス許否判定方法
TWI620084B (zh) 散發使用者憑證之裝置、方法及系統
US20160277933A1 (en) Secure Data Communication system between IoT smart devices and a Network gateway under Internet of Thing environment
EP2624081B1 (en) Configuration method, configuration device, computer program product and control system
US11675922B2 (en) Secure storage of and access to files through a web application
CN100587677C (zh) 数据处理设备和数据处理方法
CN103701611A (zh) 数据存储系统中访问、上传数据的方法
CN103051664A (zh) 一种云存储系统的文件管理方法、装置及该云存储系统
CN110599342B (zh) 基于区块链的身份信息的授权方法及装置
KR102067425B1 (ko) 사물인터넷 환경에서 기기 데이터 저장 장치 및 그 방법
EP2538366B1 (en) Generating secure device secret key
EP3782062B1 (en) Password reset for multi-domain environment
CN101605137A (zh) 安全分布式文件系统
CN110445840B (zh) 一种基于区块链技术的文件存储和读取的方法
US11606206B2 (en) Recovery key for unlocking a data storage device
KR101580514B1 (ko) 시드 키를 이용한 패스워드 관리방법, 패스워드 관리장치 및 이를 적용한 컴퓨터로 읽을 수 있는 기록매체
US11334677B2 (en) Multi-role unlocking of a data storage device
KR20200112055A (ko) 블록체인 환경에서의 데이터 공유 방법 및 이를 위한 장치
KR101848300B1 (ko) IoT 디바이스의 통신 클라이언트의 동작 방법 및 상기 통신 클라이언트를 포함하는 IoT 디바이스
US11366933B2 (en) Multi-device unlocking of a data storage device
WO2015094114A1 (en) Entity authentication in network
CN113545021A (zh) 预先授权设备的注册
JP2017108237A (ja) システム、端末装置、制御方法、およびプログラム
KR20180028705A (ko) 공유기와 연계되어 동작하는 보안요소, 공유기 및 이를 이용한 네트워크 형성 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant