KR100789354B1 - Method and apparatus for mataining data security on network camera, home gateway and home automation - Google Patents
Method and apparatus for mataining data security on network camera, home gateway and home automation Download PDFInfo
- Publication number
- KR100789354B1 KR100789354B1 KR1020010019664A KR20010019664A KR100789354B1 KR 100789354 B1 KR100789354 B1 KR 100789354B1 KR 1020010019664 A KR1020010019664 A KR 1020010019664A KR 20010019664 A KR20010019664 A KR 20010019664A KR 100789354 B1 KR100789354 B1 KR 100789354B1
- Authority
- KR
- South Korea
- Prior art keywords
- client
- server
- electronic information
- key
- value
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
- H04L63/205—Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
본 발명은 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치의 서버와 클라이언트 상호간에 네트워크를 기반으로 데이터를 전송하는데 있어 보안을 유지하는 방법 및 장치에 관한 것이다. 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치의 서버와 클라이언트 상호간에 네트워크를 기반으로한 데이터 전송의 보안을 유지하는 방법에 있어서, 클라이언트의 접속 요청 신호에 상응하여 서버의 시도값을 생성하는 단계 및 생성한 서버의 시도값을 클라이언트에 전송하는 단계클라이언트로부터 클라이언트의 응답값을 수신하는 단계 및 클라이언트로부터 아이디를 수신하는 단계 및 아이디에 상응하는 패스워드 및 시도값으로 클라이언트로부터 기대되는 응답값을 계산하여 클라이언트로부터 수신한 클라이언트의 응답값과 비교 인증하는 단계 및 인증 결과 유효하면, 전자 정보 암호키를 생성하는 단계 및 전자 정보 암호키를 암호화할 비밀키를 생성하는 단계 및 비밀키를 요소로하여 전자 정보 암호키를 대칭키 암호 알고리즘으로 암호화하는 단계 및 암호화된 전자 정보 암호키를 상기 클라이언트에게 전송하는 단계 및 전자 정보 암호키를 요소로하여 전자 정보를 대칭키 암호 알고리즘으로 암호화하는 단계 및 암호화된 전자 정보를 클라이언트에게 전송하는 단계를 포함한다.
The present invention relates to a method and apparatus for maintaining security in transmitting data based on a network between a server and a client of a network camera, a home gateway, and a home automation device. A method for securing network-based data transmission between a server and a client of a network camera, a home gateway, and a home automation device, the method comprising: generating and generating an attempt value of a server in response to a client connection request signal; Sending the server's challenge value to the client Receiving the client's response value from the client, Receiving the ID from the client, Computing the expected response value from the client with the password and the attempt value corresponding to the ID received from the client Comparing the response value of a client and authenticating the authentication information, generating an electronic information encryption key, generating a secret key to encrypt the electronic information encryption key, and using the secret key as an element. With symmetric key cryptographic algorithm Encrypting, transmitting an encrypted electronic information encryption key to the client, encrypting the electronic information with a symmetric key cryptographic algorithm using the electronic information encryption key as an element, and transmitting the encrypted electronic information to the client. do.
네트워크 망, 보안, 암호화, 복호화, 난수Network, security, encryption, decryption, random numbers
Description
도1은 본 발명의 바람직한 실시예에 따른 네트워크를 기반으로한 데이터를 송수신하는 서버와 클라이언트를 개략적으로 나타낸 도면.1 is a diagram schematically showing a server and a client for transmitting and receiving data based on a network according to a preferred embodiment of the present invention.
도2는 본 발명의 바람직한 실시예에 따른 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치에서의 데이터 보안 시스템의 구성을 나타낸 도면.2 is a diagram showing the configuration of a data security system in a network camera, a home gateway, and a home automation device according to a preferred embodiment of the present invention.
도 3은 본 발명의 바람직한 다른 실시예에 따른 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치에서의 데이터 보안 시스템의 구성을 나타낸 도면.3 is a diagram showing the configuration of a data security system in a network camera, a home gateway, and a home automation device according to another preferred embodiment of the present invention.
도 4는 본 발명의 바람직한 또 다른 실시예에 따른 네트워크를 기반으로한 데이터를 송수신하는 서버와 클라이언트를 개략적으로 나타낸 도면.4 is a schematic diagram of a server and a client for transmitting and receiving data based on a network according to another preferred embodiment of the present invention.
도 5는 본 발명의 바람직한 또 다른 실시예에 따른 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치에서의 데이터 보안 시스템의 구성을 나타낸 도면.5 is a diagram showing the configuration of a data security system in a network camera, a home gateway, and a home automation device according to another preferred embodiment of the present invention.
도 6은 본 발명의 바람직한 또 다른 실시예에 따른 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치에서의 데이터 보안 시스템의 구성을 나타낸 도면.6 is a diagram showing the configuration of a data security system in a network camera, a home gateway, and a home automation device according to another preferred embodiment of the present invention.
도 7은 본 발명의 바람직한 일 실시예에 따른 네트워크 카메라, 홈 게이트웨 이 및 홈 오토메이션 장치인 서버와 클라이언트 사이에 전송되는 전자 정보를 암호화하여 송수신하는 과정을 도시한 신호 흐름도이다.7 is a signal flow diagram illustrating a process of encrypting and transmitting electronic information transmitted between a server and a client, which are a network camera, a home gateway, and a home automation device, according to an exemplary embodiment of the present invention.
도 8은 본 발명의 바람직한 다른 실시예에 따른 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치인 서버와 클라이언트 사이에 전송되는 전자 정보를 암호화하여 송수신하는 과정을 도시한 신호 흐름도이다.8 is a signal flow diagram illustrating a process of encrypting and transmitting electronic information transmitted between a server and a client, which are a network camera, a home gateway, and a home automation device, according to another exemplary embodiment of the present invention.
도 9는 본 발명의 바람직한 또 다른 실시예에 따른 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치인 서버와 클라이언트 사이에 전송되는 전자 정보를 암호화하여 송수신하는 과정을 도시한 신호 흐름도이다.9 is a signal flow diagram illustrating a process of encrypting and transmitting electronic information transmitted between a server and a client, which are a network camera, a home gateway, and a home automation device, according to another embodiment of the present invention.
도 10은 본 발명의 바람직한 일 실시예에 따른 클라이언트의 암호화된 전자 정보를 서버에 전송하는 과정을 도시한 흐름도.
10 is a flowchart illustrating a process of transmitting encrypted electronic information of a client to a server according to an exemplary embodiment of the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
101…서버 102a, 102b…클라이언트101...
103…암호화/복호화부 105…시도값 생성부103... Encryption /
107…제어부 109…데이터베이스107...
111…입출력부 113…네트워크 망111... Input /
117a, 117b…입출력부 119a, 119b…암호화/복호화부117a, 117b... Input /
121a, 121b…제어부 120a, 120b…응답값 생성부121a, 121b...
201…서버 203a, 203b…클라이언트201...
204…네트워크 망 205…영상 정보 수집부 204... Network 205... Video Information Collector
207…음성 정보 수집부 209…사용자 데이터 발생부207... Voice
211…자동화 제어부 213…멀티 플렉스부211...
215…데이터 변환부 217…제어부215...
219…압축부 221…시도값 생성부219... .
223…암호화/복호화부 225…입출력부223... Encryption /
229a, 229b…입출력부 231a, 231b…암호화/복호화부229a, 229b... Input /
232a, 232b…응답값 생성부 233a, 233b…제어부232a, 232b...
301…데이터 저장부 401a, 401b…시도값 생성부301...
403a, 403b…응답값 생성부 405…응답값 생성부403a, 403b...
501…응답값 생성부 502a, 502b…시도값 생성부501...
503a, 503b…응답값 생성부 601…응답값 생성부503a, 503b...
602a, 602b…시도값 생성부 603a, 603b…응답값 생성부
602a, 602b...
본 발명은 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치의 서버와 클라이언트 상호간에 네트워크를 기반으로 데이터를 전송하는데 있어 보안을 유지하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for maintaining security in transmitting data based on a network between a server and a client of a network camera, a home gateway, and a home automation device.
일반적으로 보안은 네트워크 환경하의 시스템 보안과 네트워크 보안으로 나 눌 수 있다. 시스템 보안은 인터넷을 구성하고 있는 컴퓨터, 네트워크 장치(라우터등)에 대한 보안으로 여기에는 운영체제, 클라이언트/서버 어플리케이션, 파일 시스템 등에 대한 보안을 포함한다.In general, security can be divided into system security and network security in a network environment. System security is the security of the computers and network devices (routers, etc.) that make up the Internet, including security for operating systems, client / server applications, file systems, and so on.
네트워크 보안은 시스템과 시스템을 연결하는 통신 프로토콜에 대한 보안으로 네트워크를 통해 전송되는 데이터 보호가 가장 중요한 요소이다. 네트워크 보안은 TELNET, FTP, HTTP, SMTP 등과 같은 모든 통신 프로토콜을 통해 전송되는 데이터 보호를 의미하는데, 네트워크 특성상 상호 운용성(Inter-operability)이 요구되는 분야이기 때문에 표준단체에 의해 표준화가 이루어지고 있다Network security is the security of data transmitted over the network. The most important factor is the security of the communication protocols connecting the system. Network security refers to data protection transmitted through all communication protocols such as TELNET, FTP, HTTP, SMTP, etc., and is standardized by standards organizations because inter-operability is required due to network characteristics.
현재 이더넷(Ethernet)을 사용하는 곳에서는 그 서브넷 안에서 데이터 가로채기가 얼마든지 가능할 뿐만 아니라, 심지어 이들을 기록해주는 프로그램까지 존재하고 있다. Where Ethernet is currently used, not only can data be intercepted within that subnet, there are even programs that record them.
일반적으로 네트워크 상에서 데이터에 대한 정보를 보호하기 위해서는 암호화 방식을 많이 사용한다. 단순 암호화만을 통해 잘못 설계된 프로토콜의 경우는 재생(Replay)을 통해 공격당할 수 있다. 해커는 데이터의 내용은 모르더라도 관찰된 통신 내용을 동일하게 재생(Replay)하면 동일한 결과를 얻을 수 있다. 따라서, 단순한 암호화 외에 암호화 통신을 할 경우, 데이터는 여러가지 정보를 포함하여 암호화하는 것이 보통이다. In general, a lot of encryption methods are used to protect information about data on the network. Incorrectly designed protocols with only simple encryption can be attacked through replays. The hacker can achieve the same result by replaying the observed communication contents even if they do not know the contents of the data. Therefore, when performing encrypted communication in addition to simple encryption, data is usually encrypted including various information.
암호화 방식에는 해쉬 암호화 방식, 대칭키 암호화 방식, 공개키 암호화 방식 등 여러 가지가 있다. There are various encryption methods such as hash encryption method, symmetric key encryption method, and public key encryption method.
대칭키 암호화 방식은 암호화하는 키와 복호화하는 키다 같거나, 혹은 하나 를 알면 쉽게 대칭되는 키를 알 수 있는 암호시스템을 말한다.Symmetric key cryptography is a cryptographic system that knows a key that is the same as the encryption key and the decryption key, or knows one easily.
대칭키 암호화 방식은 Ek = Dk 로 두 개의 키가 같거나 하나의 키를 알았을 때 다른 키를 쉽게 알 수 있는 경우로서 송신자와 수신자가 사전에 키를 공유하고 있어야 한다. 이 암호시스템의 안전성은 키에 달려 있는데, 이를 식으로 표현하면 수학식 1과 같이 표현할 수 있다. Symmetric key cryptography is E k = D k When two keys are the same or when one key is known, the other key can be easily known. The sender and receiver must share the key beforehand. The security of this cryptosystem depends on the key, which can be expressed as in Equation 1.
대칭키 암호화 방식은 공개키 암호화 방식에 비하여 알고리즘의 내부구조가 간단한 치환과 순열의 조합으로 되어 있어 계산 복잡도가 낮으며, 시스템 환경에 맞는 적절한 암호 알고리즘 개발을 쉽게 구현할 수 있고 암호화/복호화 속도가 빠르고 난수 발생기나 해쉬 함수처럼 다른 암호 기법들과 쉽게 연동이 된다. 대칭키 암호화 방식은 암호화 키 크기는 공개키 암호 시스템보다는 상대적으로 작아서 효과적인 암호시스템을 구축할 수 있다. 그러나, 대칭키 암호화 방식은 정보교환 당사자간에 같은 키를 공유하여야 하므로 여러 사람과의 정보 교환시에 한 사용자는 많은 키를 유지 관리해야 하는 어려움이 있다. 대칭키 암호화 방식의 대표적인 예로는 SEED, AES(Rijndael), 3DES, GOST, IDEA, SKIPJACK(3) 등이 있다.Symmetric key cryptography is a combination of simple substitution and permutation of the internal structure of the algorithm compared to public key cryptography, which leads to low computational complexity, easy implementation of appropriate cryptographic algorithms for system environments, and fast encryption / decryption. It can be easily integrated with other cryptographic techniques such as random number generators and hash functions. In the symmetric key encryption method, the encryption key size is relatively smaller than that of the public key encryption system. However, symmetric key cryptography requires the same key to be shared among information exchange parties, so that one user has to maintain many keys when exchanging information with multiple people. Representative examples of symmetric key encryption include SEED, AES (Rijndael), 3DES, GOST, IDEA, and SKIPJACK (3).
공개키 방식(Public Key Method)은 키 쌍(Key Pair)을 생성한 후 하나의 키(Public Key)를 상대편에게 공개한 후 이를 이용하여 데이터를 보호하거나 무결성, 인증, 부인 봉쇄 등을 만족시킬 수 있는 방법이다. 키 쌍은 비대칭 암호화 알 고리즘의 키 쌍을 말하며 하나의 키로 암호화하면 다른 하나의 키로만 복호화할 수 있다. In public key method, after generating a key pair, one public key can be disclosed to the other party, and then the data can be protected or satisfied with integrity, authentication, and denial of service. That's how it is. A key pair refers to a key pair of an asymmetric encryption algorithm. If a key is encrypted, the key pair can be decrypted with only one key.
공개키 방식은 두 가지 용도로 이용될 수 있다. 첫째, 공개키 방식은 송신자가 수신자의 공개키로 암호화하여 전송하였을 때 수신자만이 복호화하여 정보를 얻을 수 있으므로 데이터 보호에 이용한다. 둘째, 공개키 방식은 송신자가 자신의 개인키로 암호화한 데이터를 전송하였을 때 수신자는 송신자의 공개키로 수신한 데이터의 정보를 얻을 수 있으므로 송신자가 보낸 데이터라는 것을 확인할 수 있으며 데이터를 보낸 사실에 대한 부인을 봉쇄할 수 있는 기능에 이용할 수 있다. The public key scheme can be used for two purposes. First, the public key method is used for data protection since only the receiver can obtain information by decrypting when the sender encrypts and transmits it with the receiver's public key. Second, in the public key method, when the sender transmits the data encrypted with his private key, the receiver can obtain the information of the data received by the sender's public key. It can be used for the function which can block | block.
공개키 암호화 방식에 사용하는 키는 두개로 하나는 암호화에 사용하고 다른 하나는 복호화에 사용한다. 따라서 공개키 암호화 방식은 암호화하기 위해서 키를 생성하면 두개의 키쌍(개인키, 공개키)이 생성된다. 여기서, 암호화에 사용되는 키는 공개키이고 복호화에 사용되는 키는 개인키이다. 공개키 암호화 방식은 공개키의 진위여부를 쉽게 확인하기 위하여 공개키를 상대편에게 공개하기 전에 제 3자를 통한 공개키의 인증을 받아야 하며 사회적인 기반시설이 잘 갖추어져야 그 사용 효율이 증대될 수 있다. There are two keys used in public key cryptography, one for encryption and one for decryption. Therefore, in public key encryption, two key pairs (private key and public key) are generated when a key is generated for encryption. Here, the key used for encryption is a public key and the key used for decryption is a private key. In order to easily verify the authenticity of a public key, public key cryptography requires authentication of the public key through a third party before the public key is disclosed to the other party.
해쉬 암호화 방식은 전자서명에 많이 사용되고 있다. 해쉬 암호화 방식은 입력 M에 해쉬 함수를 취한 결과인 해쉬코드 h(M)에 송신자는 비밀키로 서명을 하고, 수신자는 이를 공개키로 확인한 후 그 결과 h(M)을 수신된 M에 해쉬 함수를 취한 결과의 값과 비교하여 서명의 진위 여부를 밝힌다. 또한, 해쉬 암호화 방식은 정보의 무결성(integrity)에도 활용될 수 있다. 해쉬 암호화 방식은 무결성 검증을 원 하는 정보의 해쉬 코드를 계산하여 안전하게 보관하다가 무결성 검증이 필요할 때 다시 해쉬 코드를 계산하여 보관한 해쉬 코드를 값과 비교함으로써 정보의 무결성을 확인할 수 있다. 해쉬 함수 h는 그 안전도에 따라 충돌회피 해쉬 함수(collision free hash function), 또는 강한 일방향 해쉬 함수(SOWHF, Strong One-Way Hash Function)와 약한 일방향 해쉬 함수(WOWHF, Weak One-Way Hash Function)로 나누어 볼 수 있다.Hash encryption is widely used for digital signatures. In the hash encryption method, the sender signs the hash code h (M), which is the result of taking the hash function on the input M, with the secret key, and the receiver verifies it with the public key, and as a result, the hash function h (M) is applied to the received M. The authenticity of the signature is compared with the result. In addition, the hash encryption scheme may be utilized for the integrity of information. The hash encryption method can verify the integrity of information by calculating the hash code of the information to be verified and securely storing it, and then calculating the hash code and comparing the stored hash code with a value when integrity verification is needed. The hash function h is either a collision free hash function, or a strong one-way hash function (SOWHF) and a weak one-way hash function (WOWHF), depending on its safety. You can share it.
해쉬 함수 h는 다음과 같은 네 조건을 가져야 한다. 첫째, 해쉬 함수 h는 임의의 크기의 입력 M에 적용할 수 있어야 한다. 둘째, 해쉬 함수 h는 일정한 크기의 출력 H = h(M)을 내야한다. 셋째, 해쉬 함수 h는 h와 M이 주어졌을 때 H = h(M)을 계산하기 쉬워야한다. 넷째, 해쉬 함수 H = h(M)이 주어졌을 때 M을 구하는 역의 계산이 계산상 불가능 해야한다. 상기 네 가지 조건은 해쉬 함수 h에 공통적으로 적용되며, 이는 해쉬 함수가 가져야 하는 가장 기본적인 정의에 속한다. Hash function h must have four conditions: First, the hash function h must be applicable to any size input M. Second, the hash function h must yield a constant output H = h (M). Third, the hash function h should be easy to calculate H = h (M) given h and M. Fourth, given the hash function H = h (M), the inverse calculation of M must be impossible to calculate. The four conditions apply in common to the hash function h, which belongs to the most basic definition that a hash function must have.
해쉬 알고리즘에는 MD5 알고리즘이 있다. MD5 알고리즘은 Ron Rivest가 1990년에 개발한 MD4 알고리즘을 개선한 것으로써, 빠른 software implementation을 위해 디자인된 해쉬 함수(hash function)를 기반으로 하고 있다. MD5 알고리즘은 크기가 큰 파일이 RSA와 같이 public-key 암호화 시스템에서 private(또는 secret) key와 함께 암호화 및 압축되는 전자서명(digital signature) application 에 주로 이용될 목적으로 고안되었다. 그리고, MD5 알고리즘은 MD4 알고리즘을 확장한 것으로써 MD4보다는 약간 느리지만 구조에 있어서는 더 견고하다.The hash algorithm includes the MD5 algorithm. The MD5 algorithm is an improvement on the MD4 algorithm developed by Ron Rivest in 1990. It is based on a hash function designed for fast software implementation. The MD5 algorithm is designed primarily for use in digital signature applications where large files are encrypted and compressed with private (or secret) keys in public-key cryptography systems such as RSA. The MD5 algorithm is an extension of the MD4 algorithm, which is slightly slower than MD4 but more robust in structure.
종래에는 인터넷 등의 통신망의 급속한 발전으로 인하여 많은 사람들이 정보 를 공유할 수 있는 장점이 있지만 역으로 이와 같은 장점을 갖는 정보 통신 기술을 범죄에 역이용하는 경우가 발생하고 있다.Conventionally, due to the rapid development of the communication network, such as the Internet, there are advantages that many people can share information. On the contrary, there are cases where the information communication technology having such an advantage is reversely used for crime.
종래의 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치는 식별자와 패스워드를 가진 특정의 사용자만이 원격에서 사용자가 설치한 감시카메라 단말 장치에 접속하여 작동상태를 네트워크 망을 통하여 관측하는 기술이 연구되고 있지만, 실제로 네트워크 망에서는 암호화되지 않는 데이터가 전송되기 때문에 타인이 무단으로 감시 카메라의 작동 상태를 관측하여 범죄에 이용될 수 있는 보안의 문제가 있었다.Conventional network cameras, home gateways, and home automation devices have been studied in which only a specific user having an identifier and a password accesses a surveillance camera terminal device installed by a user remotely and observes an operation state through a network. In fact, because unencrypted data is transmitted in the network, there is a security problem that others can observe the operating state of the surveillance camera and use it for crime.
종래의 네트워크 기반 데이터 보안 유지 방법은 사용자 인증과정에서 사용자의 식별자, 패스워드가 암호화되지 않은 상태로 네트워크에 노출되어 전송 도중 가로채기를 당해서 정보가 유출될 수 있는 문제점이 있고 공개키를 제 3자에게서 공개키 인증을 받기 위해서는 비용이 발생한다.
In the conventional network-based data security maintenance method, there is a problem that the user's identifier and password are exposed to the network in an unencrypted state, and the information is leaked by being intercepted during transmission. There is a cost to get public key authentication.
따라서, 본 발명의 목적은 네트워크 망을 통한 데이터를 송수신 과정에서 서버와 사용자 사이에서 사전에 비밀리에 공유된 사용자의 패스워드만으로 서버와 사용자 상호간의 인증, 전자 정보 암호키의 분배/등록을 수행하며 전자 정보 암호키를 대칭키 암호 알고리즘의 비밀키로 사용하여 송수신하는 데이터의 암호화/복호화를 수행할 수 있는 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 시스템에서의 데이터 보안 유지 방법 및 장치를 제공하는 것이다. Accordingly, an object of the present invention is to perform authentication and distribution / registration of an electronic information encryption key between a server and a user only with a password of a user previously secretly shared between a server and a user in a process of transmitting and receiving data through a network. Provided are a method and apparatus for maintaining data security in a network camera, a home gateway, and a home automation system that can perform encryption / decryption of data transmitted and received using an information encryption key as a secret key of a symmetric key encryption algorithm.
본 발명의 다른 목적은, 계산 복잡도가 크며 공개키 인증을 받는데에 있어 비용이 발생하는 공개키 기반의 암호 알고리즘을 사용하지 않고 계산 복잡도가 덜한 대칭키 암호 알고리즘 또는 해쉬 알고리즘을 사용하여 사용자에 대한 인증 및 서버에 대한 인증을 수행할 수 있는 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 시스템에서의 데이터 보안 유지 방법 및 장치를 제공하는 것이다.Another object of the present invention is to authenticate a user by using a symmetric key cryptographic algorithm or a hash algorithm having a low computational complexity, without using a public key-based cryptographic algorithm that has a large computational complexity and a cost for receiving public key authentication. And a method and apparatus for maintaining data security in a network camera, a home gateway, and a home automation system capable of performing authentication on a server.
본 발명의 다른 목적은, 계산 복잡도가 크며 공개키 인증을 받는데에 있어 비용이 발생하는 공개키 기반의 암호 알고리즘을 사용하지 않고 계산 복잡도가 덜한 대칭키 암호 알고리즘을 사용하여 멀티미디어 데이터 또는 제어 데이터 등의 암호화/복호화에 필요한 대칭키(전자 정보 암호키)를 분배를 할 수 있는 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 시스템에서의 데이터 보안 유지 방법 및 장치를 제공하는 것이다.It is another object of the present invention to provide multimedia data or control data using a symmetric key cryptographic algorithm having a low computational complexity without using a public key-based cryptographic algorithm having a large computational complexity and a high cost in receiving public key authentication. The present invention provides a method and apparatus for maintaining data security in a network camera, a home gateway, and a home automation system that can distribute a symmetric key (electronic information encryption key) required for encryption / decryption.
본 발명의 다른 목적은, 대칭키 암호 알고리즘으로 분배받은 대칭키(전자 정보 암호키)를 이용하여 서버와 클라이언트간의 멀티미디어 데이터 또는 제어 데이터 등을 대칭키 암호 알고리즘으로 암호화하여 송수신할 수 있는 양 방향에서 암호화 및 복호화하는 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 시스템에서의 데이터 보안 유지 방법 및 장치를 제공하는 것이다.Another object of the present invention is to use a symmetric key (electronic information encryption key) distributed by the symmetric key cryptographic algorithm in both directions to encrypt and transmit multimedia data or control data between the server and the client with the symmetric key cryptographic algorithm. The present invention provides a method and apparatus for maintaining data security in a network camera, a home gateway, and a home automation system for encrypting and decrypting.
본 발명의 다른 목적은 네트워크 망을 통한 데이터를 송수신하는 과정에서 서버에서 제공하는 전자 정보를 권한이 없는 타인이 무단으로 도용하는 것을 방지하기 위하여 양 방향에서 암호화 및 복호화하는 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 시스템에서의 데이터 보안 유지 방법 및 장치를 제공하는 것이 다.Another object of the present invention is a network camera, a home gateway, and a home that encrypts and decrypts electronic information provided by a server in a process of transmitting and receiving data through a network to prevent unauthorized unauthorized theft of unauthorized information. It is to provide a method and apparatus for maintaining data security in an automation system.
본 발명의 또 다른 목적은 네트워크 망을 통한 데이터를 송수신하는 과정에서 비밀을 유지해야 할 필요가 있는 데이터를 전송해야 할 때 정보의 유출을 방지하기 위하여 양 방향에서 암호화 및 복호화하는 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 시스템에서의 데이터 보안 유지 방법 및 장치를 제공하는 것이다.
Another object of the present invention is a network camera, a home gateway that encrypts and decrypts in both directions to prevent the leakage of information when it is necessary to transmit data that needs to be kept confidential in the process of transmitting and receiving data through a network. And a method and apparatus for maintaining data security in a home automation system.
상술한 목적들을 달성하기 위하여 본 발명의 일 측면에 따르면, 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치의 서버와 클라이언트 상호간에 네트워크를 기반으로한 데이터 전송의 보안을 유지하는 방법에 있어서, 클라이언트의 접속 요청 신호에 상응하여 서버의 시도값을 생성하고 상기 생성한 서버의 시도값을 상기 클라이언트에 전송하고 상기 클라이언트로부터 클라이언트의 응답값을 수신하고 상기 클라이언트로부터 아이디를 수신하고 상기 아이디에 상응하는 패스워드 및 상기 시도값으로 클라이언트로부터 기대되는 응답값을 계산하여 상기 클라이언트로부터 수신한 클라이언트의 응답값과 비교 인증하고 상기 인증 결과 유효하면, 전자 정보 암호키를 생성하고 전자 정보 암호키를 암호화할 비밀키를 생성하고 상기 비밀키를 요소로하여 상기 전자 정보 암호키를 대칭키 암호 알고리즘으로 암호화하고 상기 암호화된 전자 정보 암호키를 상기 클라이언트에게 전송하고 상기 전자 정보 암호키를 요소로하여 전자 정보를 대칭키 암호 알고리즘으로 암호화하고 상기 암호 화된 전자 정보를 상기 클라이언트에게 전송하되, 클라이언트가 수신한 암호화된 전자 정보 암호키로부터 전자 정보 암호키를 추출하고 상기 추출한 전자 정보 암호키를 요소로하여 상기 수신한 암호화된 전자 정보의 대칭키 복호화를 수행하여 전자 정보를 추출하는 것을 특징으로 하는 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치 기반 데이터 보안 유지 방법, 상기 방법에 상응하는 시스템을 제공할 수 있다.According to an aspect of the present invention, in order to achieve the above objects, in a method for securing network-based data transmission between a server and a client of a network camera, a home gateway, and a home automation device, a client request for connection Generate an attempt value of the server in response to the signal, and transmit the generated attempt value of the server to the client, receive a response value of the client from the client, receive an ID from the client, a password corresponding to the ID, and the attempt Calculates a response value expected from the client by comparing with the client's response value received from the client, and if the authentication result is valid, generates an electronic information encryption key and generates a secret key for encrypting the electronic information encryption key. Secret key Encrypts the electronic information encryption key with a symmetric key encryption algorithm, transmits the encrypted electronic information encryption key to the client, encrypts the electronic information with the symmetric key encryption algorithm using the electronic information encryption key as an element, and encrypts the encrypted information. Transmit the electronic information to the client, extract the electronic information encryption key from the encrypted electronic information encryption key received by the client, and perform symmetric key decryption of the received encrypted electronic information using the extracted electronic information encryption key as an element; A method of maintaining data security based on a network camera, a home gateway and a home automation device, and a system corresponding to the method may be provided.
바람직한 일 실시예에서, 상기 시도값은 난수(Random Number), 순번(Sequence Number) 및 시각표(Timestamp) 중 적어도 하나일 수 있다.In a preferred embodiment, the trial value may be at least one of a random number, a sequence number, and a timestamp.
바람직한 다른 실시예에서, 상기 클라이언트의 응답값은 상기 패스워드 및 상기 서버의 시도값이 적용된 해쉬 함수일 수 있다.In another preferred embodiment, the response value of the client may be a hash function to which the password and the attempt value of the server are applied.
바람직한 또 다른 실시예에서, 상기 클라이언트의 응답값은 상기 클라이언트의 패스워드 및 상기 서버의 시도값이 적용된 비밀키를 동반한 해쉬 함수일 수 있다.In another preferred embodiment, the response value of the client may be a hash function with a secret key to which the client's password and the server's challenge value are applied.
바람직한 또 다른 실시예에서, 상기 클라이언트의 응답값은 상기 클라이언트의 패스워드 및 상기 서버의 시도값이 적용된 대칭키 암호 알고리즘일 수 있다.In another preferred embodiment, the response value of the client may be a symmetric key cryptographic algorithm to which the client's password and the server's challenge value are applied.
바람직한 또 다른 실시예에서, 상기 패스워드는 상기 서버와 클라이언트 사이에서 사전에 비밀리에 공유하고 있는 클라이언트의 패스워드이다.In another preferred embodiment, the password is the password of a client previously secretly shared between the server and the client.
바람직한 또 다른 실시예에서, 상기 아이디는 상기 클라이언트의 응답값과 동시에 또는 때를 달리하여 수신할 수 있다.In another preferred embodiment, the ID may be received at the same time or differently from the response value of the client.
바람직한 또 다른 실시예에서, 상기 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치 기반 데이터 보안 유지 방법은 상기 클라이언트에게 클라이언트 인증 승인 신호를 전송할 수 있다.In another preferred embodiment, the network camera, home gateway and home automation device based data security maintenance method may transmit a client authentication approval signal to the client.
바람직한 또 다른 실시예에서, 상기 전자 정보 암호키는 전자 정보의 대칭키 암호화 및 대칭키 복호화에 사용된다.In another preferred embodiment, the electronic information encryption key is used for symmetric key encryption and symmetric key decryption of electronic information.
바람직한 또 다른 실시예에서, 상기 전자 정보 암호키는 무작위(Random)로 선택될 수 있다.In another preferred embodiment, the electronic information encryption key may be selected randomly.
바람직한 또 다른 실시예에서, 상기 전자정보 암호키는 미리 정해진 시간마다 또는 필요한 경우에 갱신하여 생성될 수 있다.In another preferred embodiment, the electronic information encryption key may be generated by updating every predetermined time or if necessary.
바람직한 또 다른 실시예에서, 상기 비밀키는 전자 정보 암호키를 암호화하는데 필요한 대칭키 암호 알고리즘의 비밀키이다.In another preferred embodiment, the secret key is a secret key of a symmetric key cryptographic algorithm required to encrypt the electronic information encryption key.
바람직한 또 다른 실시예에서, 상기 비밀키는 시도값 및 패스워드를 상호 약속된 방법으로 가공하여 생성할 수 있다.In another preferred embodiment, the secret key can be generated by processing the challenge value and password in a mutually agreed manner.
바람직한 또 다른 실시예에서, 상기 클라이언트는 상기 클라이언트 인증 승인 신호에 상응하여 암호화된 전자 정보 암호키를 복호화하여 전자 정보 암호키를 추출하는데 필요한 비밀키를 생성할 수 있다.In another preferred embodiment, the client may generate a secret key for extracting the electronic information encryption key by decrypting the encrypted electronic information encryption key corresponding to the client authentication approval signal.
바람직한 또 다른 실시예에서, 상기 비밀키는 대칭키 암호 알고리즘의 비밀키이다.In another preferred embodiment, the secret key is a secret key of a symmetric key cryptographic algorithm.
바람직한 또 다른 실시예에서, 상기 비밀키는 서버의 시도값 및 패스워드를 상호 약속된 방법으로 가공하여 생성될 수 있다.In another preferred embodiment, the secret key may be generated by processing the server's challenge value and password in a mutually agreed manner.
본 발명의 다른 측면에 따르면, 네트워크 카메라, 홈 게이트웨이 및 홈 오토 메이션 장치의 서버와 클라이언트 상호간에 네트워크를 기반으로한 데이터 전송의 보안을 유지하는 방법에 있어서, 클라이언트의 접속 요청 신호에 상응하여 서버의 시도값을 생성하고 상기 생성한 서버의 시도값을 상기 클라이언트에 전송하고 상기 클라이언트로부터 클라이언트의 응답값을 수신하고 상기 클라이언트로부터 아이디를 수신하고 상기 클라이언트로부터 클라이언트의 시도값을 수신하고 상기 아이디에 상응하는 패스워드 및 상기 서버의 시도값으로 상기 클라이언트로부터 기대되는 응답값을 계산하여 상기 클라이언트로부터 수신한 클라이언트의 응답값과 비교 인증하고 상기 인증 결과 유효하면, 서버의 응답값을 생성하고 상기 서버의 응답값을 클라이언트에 전송하고 상기 클라이언트로부터 서버 인증 승인 신호를 수신하고 상기 서버 인증 승인 신호에 상응하여 전자 정보 암호키를 생성하고 전자 정보 암호키를 암호화할 비밀키를 생성하고 상기 전자 정보 암호키를 대칭키 암호 알고리즘으로 암호화하고 상기 암호화된 전자 정보 암호키를 상기 클라이언트에게 전송하고 상기 전자 정보 암호키를 요소로하여 전자 정보를 대칭키 암호 알고리즘으로 암호화하고 상기 암호화된 전자 정보를 상기 클라이언트에게 전송하되, 클라이언트가 수신한 암호화된 전자 정보 암호키로부터 전자 정보 암호키를 추출하고 상기 추출한 전자 정보 암호키를 요소로하여 상기 수신한 암호화된 전자 정보의 대칭키 복호화를 수행하여 전자 정보를 추출하는 것을 특징으로 하는 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치 기반 데이터 보안 유지 방법, 상기 방법에 상응하는 시스템을 제공할 수 있다.According to another aspect of the present invention, in a method for securing network-based data transmission between a server and a client of a network camera, a home gateway, and a home automation device, the server may correspond to a connection request signal of a client. Generate an attempt value and send the generated server's attempt value to the client, receive a client's response value from the client, receive an ID from the client, receive a client's challenge value from the client and correspond to the ID The response value expected from the client is calculated using the password and the attempt value of the server, and the authentication value is compared with the response value of the client received from the client. Cline And a server authentication approval signal from the client, generate an electronic information encryption key corresponding to the server authentication approval signal, generate a secret key to encrypt the electronic information encryption key, and convert the electronic information encryption key into a symmetric key encryption. Encrypting with an algorithm and transmitting the encrypted electronic information encryption key to the client, encrypting the electronic information with a symmetric key encryption algorithm using the electronic information encryption key as an element, and transmitting the encrypted electronic information to the client, Extracting the electronic information encryption key from the received encrypted electronic information encryption key, and extracting the electronic information by performing symmetric key decryption of the received encrypted electronic information using the extracted electronic information encryption key as an element Camera, Home Gateway, and Home Auto It is possible to provide a device-based data security maintenance method and a system corresponding to the method.
바람직한 일 실시예에서 상기 서버의 시도값 및 클라이언트의 시도값은 난수(Random Number), 순번(Sequence Number) 및 시각표(Timestamp) 중 적어도 하나일 수 있다.In a preferred embodiment, the attempt value of the server and the attempt value of the client may be at least one of a random number, a sequence number, and a timestamp.
바람직한 다른 실시예에서, 상기 서버의 응답값 및 클라이언트의 응답값은 패스워드 및 상기 서버의 시도값이 적용된 비밀키를 동반한 해쉬 함수일 수 있다.In another preferred embodiment, the server's response and the client's response may be a hash function with a password and a secret key to which the server's challenge is applied.
바람직한 또 다른 실시예에서, 상기 서버의 응답값 및 클라이언트의 응답값은 패스워드 및 상기 서버의 시도값이 적용된 해쉬 함수일 수 있다.In another preferred embodiment, the response value of the server and the response value of the client may be a hash function to which a password and an attempt value of the server are applied.
바람직한 또 다른 실시예에서, 상기 서버의 응답값 및 클라이언트의 응답값은 패스워드 및 상기 서버의 시도값이 적용된 대칭키 암호 알고리즘일 수 있다.In another preferred embodiment, the response value of the server and the response value of the client may be a symmetric key cryptographic algorithm to which a password and an attempt value of the server are applied.
바람직한 또 다른 실시예에서, 상기 패스워드는 상기 서버와 클라이언트 사이에서 사전에 비밀리에 공유하고 있는 클라이언트의 패스워드이다.In another preferred embodiment, the password is the password of a client previously secretly shared between the server and the client.
바람직한 또 다른 실시예에서, 상기 아이디 및 상기 클라이언트의 시도값은 상기 클라이언트의 응답값과 동시에 또는 때를 달리하여 수신할 수 있다.In another preferred embodiment, the ID and the challenge value of the client may be received simultaneously or differently from the response value of the client.
바람직한 또 다른 실시예에서, 상기 서버 인증 승인 신호는 상기 클라이언트가 상기 아이디에 상응하는 패스워드 및 상기 클라이언트의 시도값으로 서버로부터 기대되는 응답값을 계산하여 상기 서버의 응답값과 비교 인증한 결과이다.In another preferred embodiment, the server authentication approval signal is a result of the client comparing the response value of the server by calculating a response value expected from the server using a password corresponding to the ID and the client's challenge value.
바람직한 또 다른 실시예에서, 상기 전자 정보 암호키는 상기 클라이언트가 생성할 수 있다.In another preferred embodiment, the electronic information encryption key may be generated by the client.
바람직한 또 다른 실시예에서, 상기 클라이언트는 상기 전자 정보 암호키를 암호화하는데 필요한 대칭키 암호 알고리즘의 비밀키를 생성할 수 있다.In another preferred embodiment, the client can generate a secret key of a symmetric key cryptographic algorithm required to encrypt the electronic information encryption key.
바람직한 또 다른 실시예에서, 상기 전자 정보 암호키는 무작위(Random)로 선택될 수 있다.In another preferred embodiment, the electronic information encryption key may be selected randomly.
바람직한 또 다른 실시예에서, 상기 전자 정보 암호키는 미리 정해진 시간마다 또는 필요한 경우에 갱신하여 생성될 수 있다.
In another preferred embodiment, the electronic information encryption key may be generated by updating every predetermined time or if necessary.
이어서, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.Next, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명은 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치의 서버와 클라이언트 상호간에 네트워크를 기반으로 데이터를 전송하는데 있어 보안을 유지하는 방법 및 장치에 관한 것이다. The present invention relates to a method and apparatus for maintaining security in transmitting data based on a network between a server and a client of a network camera, a home gateway, and a home automation device.
상기 클라이언트의 단말 장치인 컴퓨터는 유/무선을 통해 네트워크 망에 연결되고 개인 이동 통신 단말기는 무선 네트워크 망에 연결될 수 있다. A computer which is a terminal device of the client may be connected to a network via wired / wireless, and a personal mobile communication terminal may be connected to a wireless network .
상기 클라이언트는 상기 단말 장치를 이용하여 홈 게이트웨이 및 홈 오토메이션 장치의 서버에 접속해 사용자의 가정, 직장 등의 장소의 영상, 음성 및 전자 기기 상태 등의 자료를 제공받을 수 있고 제어 신호를 상기 서버에 송신하여 전자 기기 등을 제어할 수 있다.The client uses the terminal device By connecting to the server of home gateway and home automation device, it is possible to receive data such as video, audio and electronic device status of user's home, work place, etc., and to control electronic devices by sending control signal to the server. have.
예를 들어, 외부에서 집안의 난방을 조절하기를 원할 경우, 클라이언트는 단말 장치를 이용하여 홈 게이트웨이 및 홈 오토메이션 장치의 서버에 접속하여 인증 절차를 수행한 후 원하는 제어 신호를 송신함으로써 외부에서 집안의 난방을 조절할 수 있다. 또한, 클라이언트는 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치의 서버에 접속하여 네트워크 카메라를 통해 집안의 영상, 음성 및 전자 기 기 상태를 확인할 수 있다. 여기서, 상기 서버와 클라이언트 간에 인증 및 데이터의 송수신은 개인의 정보 보안을 위한 암호화 및 복호화를 수반하여야 한다. For example, if the user wants to control the heating of the house from the outside, the client connects to the server of the home gateway and the home automation device using a terminal device, performs an authentication procedure, and then transmits a desired control signal to the outside of the house. I can regulate heating. In addition, the client may access the server of the network camera, the home gateway, and the home automation device to check the video, audio, and electronic device status of the home through the network camera. In this case, the authentication and data transmission and reception between the server and the client must be accompanied by encryption and decryption for the security of personal information.
도1은 본 발명의 바람직한 실시예에 따른 네트워크를 기반으로한 데이터를 송수신하는 서버와 클라이언트를 개략적으로 나타낸 도면이다.1 is a diagram schematically illustrating a server and a client for transmitting and receiving data based on a network according to an exemplary embodiment of the present invention.
도1을 참조하면, 네트워크를 기반으로한 데이터를 송수신하는 서버와 클라이언트에 있어서, 서버(101)는 암호화/복호화부(103), 시도값 생성부(105), 제어부(107), 데이터베이스(109), 입출력부(111)를 포함하고, 클라이언트(102a, 102b, 이하 102라 칭함)는 입출력부(117a, 117b, 이하 117이라 칭함), 암호화/복호화부(119a, 119b, 이하 119라 칭함), 응답값 생성부(120a, 120b, 이하 120이라 칭함) 및 제어부(121a, 121b, 이하 121이라 칭함)를 포함한다. 여기서 상기 서버(101)와 클라이언트(102)는 네트워크 망(113)을 통해 서로 연결되어 있다. 상기 네트워크 망(113)은 유선 및 무선 네트워크 망을 모두 포함한다.Referring to FIG. 1, in a server and a client transmitting and receiving data based on a network, the
암호화/복호화부(103, 119)는 서버(101)와 클라이언트(102) 사이에 송수신되는 데이터 중에서 필요한 데이터를 암호화하거나 암호화된 데이터를 다시 복호화하는 역할을 수행한다. 여기서 상기 암호화 방법은 SEED, AES(Rijndael), 3DES 등의 대칭키 암호 알고리즘을 사용할 수 있다.The encryption /
시도값 생성부(105)는 상기 클라이언트(102)의 접속 요청 신호에 상응하여 클라이언트 인증 절차에 필요한 서버의 시도값(Cha_S)을 생성하는 역할을 수행한다. 여기서, 상기 시도값(Cha_S)은 난수(Random Number), 순번(Sequence Number), 시각표(Timestamp) 등이 될 수 있다.
The
응답값 생성부(120)는 서버와 클라이언트 사이에 약속된 방법으로 상기 서버의 시도값(Cha_S)에 상응하는 클라이언트의 응답값(Res_C)을 생성하는 역할을 수행한다. 여기서, 상기 서버와 클라이언트 사이에 약속된 방법은 비밀키를 동반한 해쉬 알고리즘, 해쉬 알고리즘, 대칭키 암호 알고리즘이 될 수 있다.The response value generator 120 generates a response value Res_C of the client corresponding to the attempt value Cha_S of the server in a method promised between the server and the client. Here, the method promised between the server and the client may be a hash algorithm, a hash algorithm, and a symmetric key encryption algorithm with a secret key.
데이터베이스(109)는 전자 정보 및 사용자 정보 등을 저장하고 있다. 여기서, 상기 전자 정보는 영상 데이터, 음성 데이터, 홈 오토메이션 제어 데이터, 전자 기기 상태 정보 등을 포함할 수 있다.The
입출력부(111, 117)는 서버(101)와 클라이언트(102) 사이의 송수신 데이터를 네트워크 망(113)을 통해 이동될 수 있도록 변환하여 송수신하는 역할을 수행한다.The input /
제어부(107, 121)는 상기 입출력부(111, 117), 암호화/복호화부(103, 119), 시도값 생성부(105), 응답값 생성부(120), 데이터베이스(109) 등을 제어하는 역할을 수행한다.The
클라이언트는 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치의 서버에 접속하여 서비스를 영위하기 위해 인증 절차를 수행하여야 한다.The client should access the server of the network camera, the home gateway, and the home automation device to perform the authentication procedure.
본 발명의 바람직한 실시예에 따른 서버와 클라이언트 상호간의 인증은 첫째, 비밀키를 동반한 해쉬 알고리즘을 이용하여 수행 될 수 있다. 상기 비밀키를 동반한 해쉬 함수를 사용하여 인증 절차를 수행하는 과정은 도 7을 참조하여 상세히 설명하기로 한다. Authentication between the server and the client according to a preferred embodiment of the present invention may be performed firstly using a hash algorithm with a secret key. A process of performing an authentication procedure using the hash function with the secret key will be described in detail with reference to FIG. 7.
둘째, 서버와 클라이언트 상호간의 인증은 해쉬 알고리즘을 이용하여 수행 될 수 있다. 상기 해쉬 함수를 사용하여 인증 절차를 수행하는 과정은 도 8을 참조 하여 상세히 설명하기로 한다.Second, authentication between the server and the client can be performed using a hash algorithm. A process of performing an authentication procedure using the hash function will be described in detail with reference to FIG. 8.
셋째, 서버와 클라이언트 상호간의 인증은 대칭키 암호 알고리즘을 이용하여 수행 될 수 있다. 상기 대칭키 암호 알고리즘을 사용하여 인증 절차를 수행하는 과정은 도 9를 참조하여 상세히 설명하기로 한다.Third, the authentication between the server and the client can be performed using a symmetric key cryptographic algorithm. A process of performing an authentication procedure using the symmetric key cryptographic algorithm will be described in detail with reference to FIG. 9.
본 발명의 바람직한 실시예에 따른 서버와 클라이언트 상호간의 인증은 서버가 클라이언트를 인증하는 과정은 필수 사항이며, 클라어언트가 서버를 인증하는 과정은 선택사항이다.In the authentication between the server and the client according to the preferred embodiment of the present invention, the process of authenticating the client by the server is essential, and the process of authenticating the server by the client is optional.
도2는 본 발명의 바람직한 실시예에 따른 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치에서의 데이터 보안 시스템의 구성을 나타낸 도면이다.2 is a diagram showing the configuration of a data security system in a network camera, a home gateway, and a home automation device according to a preferred embodiment of the present invention.
도2를 참조하면, 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치의 서버(201)는 영상 정보 수집부(205), 음성 정보 수집부(207), 사용자 데이터 발생부(209), 자동화 제어부(211), 멀티플렉스부(213), 데이터 변환부(215), 제어부(217), 압축부(219), 시도값 생성부(221), 암호화/복호화부(223), 입출력부(225)를 포함한다.Referring to FIG. 2, the
영상 정보 수집부(205)는 외부의 영상을 촬영하여 촬영된 영상 정보를 출력하는 역할을 수행하며 CCD 카메라, 비디오 카메라 등으로 구성될 수 있다.The image
음성 정보 수집부(207)는 외부의 음성을 인식하여 인식된 음성 정보를 출력하는 역할을 수행하며 마이크 등으로 구성된다.The voice
사용자 데이터 발생부(209)는 외부의 문자, 신호, 전자 기기 상태 등의 정보를 인식하여 출력하는 역할을 수행한다.
The
자동화 제어부(211)는 홈 오토메이션을 위한 제어 및 데이터를 처리하는 역할을 수행한다.The
멀티플렉스부(213)는 상기 영상 정보 수집부(205), 상기 음성 정보 수집부(207), 상기 사용자 데이터 발생부(209) 등의 멀티미디어 데이터 입력으로부터 사용자가 원하는 데이터를 선택하여 출력하는 역할을 수행한다. 또한, 상기 멀티플렉스부(213)는 사용자로부터 전송된 제어 데이터를 선택하여 상기 자동화 제어부(211)에 전송하는 역할을 수행한다. 여기서, 상기 제어 데이터는 사용자가 보낸 홈 오토메이션 장치 제어 데이터이다.The
데이터 변환부(215)는 상기 멀티플렉스부(213)에서 출력되는 멀티미디어 데이터를 필요한 경우 디코딩의 방법을 사용하여 디코딩하여 압축부(219)에 전송한다.The
압축부(219)는 상기 데이터 변환부(215)에서 변환되어 전달된 영상, 음성, 사용자 데이터를 압축하는 역할을 수행한다.The
시도값 생성부(221)는 사용자 인증에 필요한 서버의 시도값(Cha_S)을 생성한다. 여기서 시도값(Cha_S)으로 난수(Random Number), 순번(Sequence Number), 시각표(Timestamp) 등을 이용할 수 있다.The
암호화/복호화부(223)는 입력 데이터를 암호화하고 복호화하는 역할을 수행한다. 여기서, 상기 암호화/복호화부(223)는 암호화와 복호화를 위해서 대칭키 암호 알고리즘을 사용할 수 있다.The encryption /
입출력부(225)는 상기 암호화/복호화부(223)에서 암호화된 데이터를 TCP/IP 등의 패킷으로 변형하여 네트워크 망(204)을 통하여 사용자에게 전송하거나, 네트워크 망(204)을 통하여 전송된 입력 데이터를 암호화 및 복호화를 위한 데이터 형식으로 변형하여 암호화/복호화부(223)로 전송한다.The input /
제어부(217)는 데이터 변환부(215), 압축부(219), 시도값 생성부(221), 암호화/복호화부(223)에 연결되어 서버측의 제어 상태 정보를 제공하거나 사용자 식별자, 패스워드 등을 사용하여 사용자의 응답값(Res_C)을 확인하는 인증을 제어하는 역할을 수행하며 상기 장치들의 제어를 수행할 수 있다.The
네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치의 클라이언트(203a, 203b, 이하 203이라 칭함)는 입출력부(229a, , 229b, 이하 229라 칭함), 암호화/복호화부(231a, , 231b, 이하 231이라 칭함), 응답값 생성부(232a, 232b, 이하 232라 칭함), 제어부(233a, , 233b, 이하 233이라 칭함)를 포함한다.
입출력부(229)는 상술한 바와 같으므로 그 설명을 생략하기로 한다.Since the input / output unit 229 is as described above, a description thereof will be omitted.
암호화/복호화부(231)는 대칭키 암호 알고리즘을 사용하여 서버(201)에서 암호화된 전자 정보가 전송되는 경우에 이를 복호화하는 기능을 수행한다. 또한, 상기 암호화/복호화부(231)는 홈 오토메이션을 위한 제어 신호를 암호화하여 상기 서버(201)에 전송하는 기능을 수행한다.The encryption / decryption unit 231 decrypts the electronic information encrypted by the
응답값 생성부(232)는 서버와 클라이언트 사이에 약속된 방법으로 서버의 시도값(Cha_S)에 상응하는 클라이언트(203)의 응답값(Res_C)을 생성하는 역할을 수행한다. 여기서, 상기 서버(201)와 클라이언트(203) 사이에 약속된 방법은 비밀키를 동반한 해쉬 알고리즘, 해쉬 알고리즘, 대칭키 암호 알고리즘이 될 수 있다.
The response value generator 232 generates a response value Res_C of the client 203 corresponding to the attempt value Cha_S of the server in a method promised between the server and the client. Here, the method promised between the
제어부(233)는 상기 입출력부(229), 암호화/복호화부(231), 응답값 생성부(232)를 제어하는 역할을 수행한다. 클라이언트의 단말 장치는 개설된 웹 서버(201)에 접속하여 식별자 및 패스워드의 사용으로 사용자가 원하는 영상, 음성, 데이터 발생 장치의 작동 상태를 감시하고 가정용 기기를 제어하는 것으로 컴퓨터는 유/무선을 통해 모뎀이나 전용선 등으로 네트워크 망(204)에 연결된 것이고, 노트북 등의 휴대용 컴퓨터 및 개인 이동통신 단말기의 사용도 가능하다.The controller 233 controls the input / output unit 229, the encryption / decryption unit 231, and the response value generator 232. The client terminal device accesses the established
이때, 클라이언트(203)는 서버(201)에서 전송한 암호화된 데이터를 복호화하여 실시간으로 실행시킬 수 있는 유틸리티를 미리 설치하고 있음을 가정한다.In this case, it is assumed that the client 203 pre-installs a utility that can decrypt the encrypted data transmitted from the
도 3은 본 발명의 바람직한 다른 실시예에 따른 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치에서의 데이터 보안 시스템의 구성을 나타낸 도면이다.3 is a diagram illustrating a configuration of a data security system in a network camera, a home gateway, and a home automation device according to another exemplary embodiment of the present invention.
도 3을 참조하면, 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 시스템은 서버(201), 네트워크 망(204), 클라이언트(203)를 포함한다. 각각의 구성 요소에 대해서 도2를 참조하여 설명한 부분과 중복된 부분은 그 설명을 생략하기로 한다.Referring to FIG. 3, a network camera, a home gateway, and a home automation system include a
서버(201)는 도 2에서 도시된 바와 같은 구성 요소에 데이터 저장부(301)를 더 구비한다. 데이터 저장부(301)는 서버의 암호화/복호화부(223)에서 암호화된 멀티미디어 데이터를 외부 메모리나 하드디스크 등의 저장 장치에 저장하는 역할을 수행한다. 여기서, 상기 암호화된 데이터는 네트워크 망(204)을 통하여 실시간으로 전송되지만, 데이터 저장부(301)에 저장되어 사용자가 상기 데이터를 필요로 할 경우에 언제든지 찾아볼 수 있다.
The
도 4는 본 발명의 바람직한 또 다른 실시예에 따른 네트워크를 기반으로한 데이터를 송수신하는 서버와 클라이언트를 개략적으로 나타낸 도면이다.4 is a diagram schematically showing a server and a client for transmitting and receiving data based on a network according to another exemplary embodiment of the present invention.
도 4를 참조하면, 서버는 응답값 생성부(405)를 더 구비하고, 클라이언트(102)는 시도값 생성부(401a, , 401b, 이하 401이라 칭함) 및 응답값 생성부(403a, 403b, 이하 403이라 칭함)를 더 구비한다. 각각의 구성 요소에 대해서 도1을 참조하여 설명한 부분과 중복된 부분은 그 설명을 생략하기로 한다.Referring to FIG. 4, the server further includes a
응답값 생성부(405)는 서버(101)와 클라이언트(102) 사이에 약속된 방법으로 클라이언트의 시도값(Cha_C)에 상응하는 서버의 응답값(Res_S)을 생성하는 역할을 수행한다. 여기서, 상기 서버(101)와 클라이언트(102) 사이에 약속된 방법은 비밀키를 동반한 해쉬 알고리즘, 해쉬 알고리즘, 대칭키 암호 알고리즘이 될 수 있다.The
시도값 생성부(401)는 서버 인증에 필요한 클라이언트의 시도값(Cha_C)을 생성한다. 여기서 시도값(Cha_C)은 난수(Random Number), 순번(Sequence Number), 시각표(Timestamp) 등이 이용될 수 있다.The attempt value generator 401 generates a trial value (Cha_C) of the client required for server authentication. The attempt value Cha_C may be a random number, a sequence number, a timestamp, or the like.
응답값 생성부(403)는 서버(101)와 클라이언트(102) 사이에 약속된 방법으로 서버의 시도값(Cha_S)에 상응하는 클라이언트의 응답값(Res_C)을 생성하는 역할을 수행한다. 여기서, 상기 서버(101)와 클라이언트(102) 사이에 약속된 방법은 비밀키를 동반한 해쉬 알고리즘, 해쉬 알고리즘, 대칭키 암호 알고리즘이 될 수 있다.The response value generator 403 generates a response value Res_C of the client corresponding to the attempt value Cha_S of the server in a method promised between the
도 5는 본 발명의 바람직한 또 다른 실시예에 따른 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치에서의 데이터 보안 시스템의 구성을 나타낸 도면이다. 5 is a diagram showing the configuration of a data security system in a network camera, a home gateway, and a home automation device according to another preferred embodiment of the present invention.
도 5를 참조하면, 서버(201)는 응답값 생성부(501)를 더 구비하며, 클라이언트(203)는 시도값 생성부(502a, , 502b, 이하 502이라 칭함) 및 응답값 생성부(503a, 503b 이하 503이라 칭함)를 더 구비한다. 각각의 구성 요소에 대해서 도2를 참조하여 설명한 부분과 중복된 부분은 그 설명을 생략하기로 한다.Referring to FIG. 5, the
응답값 생성부(501)는 서버(201)와 클라이언트(203) 사이에 약속된 방법으로 클라이언트의 시도값(Cha_C)에 상응하는 서버의 응답값(Res_S)을 생성하는 역할을 수행한다. 여기서, 서버(201)와 클라이언트(203) 사이에 약속된 방법은 비밀키를 동반한 해쉬 알고리즘, 해쉬 알고리즘, 대칭키 암호 알고리즘이 될 수 있다.The
시도값 생성부(502)는 서버 인증에 필요한 클라이언트의 시도값(Cha_C)을 생성한다. 여기서 시도값(Cha_C)은 난수(Random Number), 순번(Sequence Number), 시각표(Timestamp) 등이 이용될 수 있다The attempt value generation unit 502 generates a trial value (Cha_C) of the client required for server authentication. The attempt value Cha_C may be a random number, a sequence number, a timestamp, or the like.
응답값 생성부(503)는 서버(201)와 클라이언트(203) 사이에 약속된 방법으로 서버의 시도값(Cha_S)에 상응하는 클라이언트의 응답값(Res_C)을 생성하는 역할을 수행한다. 여기서, 서버(201)와 클라이언트(203) 사이에 약속된 방법은 비밀키를 동반한 해쉬 알고리즘, 해쉬 알고리즘, 대칭키 암호 알고리즘이 될 수 있다.The response value generator 503 generates a response value Res_C of the client corresponding to the attempt value Cha_S of the server in a method promised between the
도 6은 본 발명의 바람직한 또 다른 실시예에 따른 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치에서의 데이터 보안 시스템의 구성을 나타낸 도면이다.6 is a diagram showing the configuration of a data security system in a network camera, a home gateway, and a home automation device according to another preferred embodiment of the present invention.
도 6을 참조하면, 서버(201)는 응답값 생성부(601)를 더 구비하며, 클라이언트(203)는 시도값 생성부(601a, , 601b, 이하 601이라 칭함) 및 응답값 생성부(603a, 603b, 이하 603이라 칭함)를 더 구비한다. 각각의 구성 요소에 대해서 도3을 참조하여 설명한 부분과 중복된 부분은 그 설명을 생략하기로 한다.Referring to FIG. 6, the
응답값 생성부(601)는 서버(201)와 클라이언트(203) 사이에 약속된 방법으로 클라이언트의 시도값(Cha_C)에 상응하는 서버의 응답값(Res_S)을 생성하는 역할을 수행한다. 여기서, 서버(201)와 클라이언트(203) 사이에 약속된 방법은 비밀키를 동반한 해쉬 알고리즘, 해쉬 알고리즘, 대칭키 암호 알고리즘이 될 수 있다.The
시도값 생성부(602)는 서버 인증에 필요한 클라이언트의 시도값(Cha_C)을 생성한다. 여기서 시도값(Cha_C)은 난수(Random Number), 순번(Sequence Number), 시각표(Timestamp) 등이 이용될 수 있다.The attempt value generator 602 generates a trial value (Cha_C) of the client required for server authentication. The attempt value Cha_C may be a random number, a sequence number, a timestamp, or the like.
응답값 생성부(603)는 서버(201)와 클라이언트(203) 사이에 약속된 방법으로 서버의 시도값(Cha_S)에 상응하는 클라이언트의 응답값(Res_C)을 생성하는 역할을 수행한다. 여기서, 서버(201)와 클라이언트(203) 사이에 약속된 방법은 비밀키를 동반한 해쉬 알고리즘, 해쉬 알고리즘, 대칭키 암호 알고리즘이 될 수 있다.The response value generator 603 generates a response value Res_C of the client corresponding to the attempt value Cha_S of the server in a method promised between the
도 7 내지 도 10은 본 발명의 바람직한 실시예에 따른 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치의 서버와 클라이언트 사이에 네트워크를 기반으로하여 데이터를 송수신하는 과정을 도시한 신호 흐름도이다.7 to 10 are signal flow diagrams illustrating a process of transmitting and receiving data based on a network between a server and a client of a network camera, a home gateway, and a home automation apparatus according to an exemplary embodiment of the present invention.
도 7 내지 10을 참조하면, 네트워크를 기반으로 하여 서버와 클라이언트 상호간의 인증, 데이터를 송수신하는 과정에서 암호화 및 복호화하는 과정에 사용되는 용어에 대한 설명은 다음과 같다.Referring to FIGS. 7 to 10, terms used in a process of encrypting and decrypting in a process of authenticating and transmitting and receiving data between a server and a client based on a network are as follows.
Cha_S : 서버가 클라이언트에게 제공하는 서버의 시도값(Challenge Value) Cha_S: Server's challenge value provided by server to client
Res_S : 클라이언트가 서버에게 제공하는 클라이언트의 응답값(Response Value)Res_S: Client's response value provided by client to server
Cha_C : 클라이언트가 서버에게 제공하는 클라이언트의 시도값(Challenge Value)Cha_C: Client's challenge value provided by client to server
Res_C : 서버가 클라이언트에게 제공하는 서버의 응답값(Response Value)Res_C: Response value of server provided by server to client
D : 전자 정보(멀티미디어 데이터, 제어 데이터)D: Electronic Information (Multimedia Data, Control Data)
RNS : 서버가 생성한 난수RN S : Server generated random number
RNC : 클라이언트가 생성한 난수RN C : random number generated by client
f : 서버와 클라이언트 간의 약속된 가공 함수f: promised machining function between server and client
H : 해쉬 함수H: Hash Function
HMAC : 비밀키를 동반한 해쉬 함수HMAC: Hash Function with Secret Key
HMACK : 비밀키를 동반한 해쉬 함수에 적용되는 비밀키HMAC K : Secret key applied to hash function with secret key
g : 대칭키 방식의 암호화 알고리즘g: symmetric-key encryption algorithm
g-1: 대칭키 방식의 복호화 알고리즘g -1 : symmetric key decoding algorithm
ID : 클라이언트의 식별자ID: identifier of the client
Password : 클라이언트의 패스워드Password: Client's Password
KA : 인증을 대칭키 암호 알고리즘에 기반하여 수행할 때 대칭키 암호 알고리즘의 비밀키 K A : Secret key of symmetric key cryptography when authentication is based on symmetric key crypto algorithm
KD : 전자 정보의 암호화/복호화에 사용될 대칭키 암호 알고리즘의 비밀키(전자 정보 암호키, 세션키)K D : Secret key of symmetric key encryption algorithm to be used for encryption / decryption of electronic information (electronic information encryption key, session key)
KS : 전자 정보 암호키(세션키)의 암호화/복호화에 사용될 대칭키 암호 알고리즘의 비밀키K S : Secret key of symmetric key encryption algorithm to be used for encryption / decryption of electronic information encryption key (session key)
ESK : 대칭키 암호 알고리즘으로 암호화된 전자 정보 암호키(세션키, KD)ESK: Electronic information encryption key (session key, K D ) encrypted with symmetric key encryption algorithm
E : 암호화된 전자 정보E: encrypted electronic information
도 7은 본 발명의 바람직한 일 실시예에 따른 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치인 서버와 클라이언트 사이에 전송되는 전자 정보를 암호화하여 송수신하는 과정을 도시한 신호 흐름도이다.FIG. 7 is a signal flowchart illustrating a process of encrypting and transmitting electronic information transmitted between a server and a client, which are a network camera, a home gateway, and a home automation device, according to an exemplary embodiment of the present invention.
도 7을 참조하면, 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치인 서버는 클라이언트와 사전에 비밀리에 공유하고 있는 클라이언트의 패스워드(Password)를 기반으로 비밀키를 동반한 해쉬 알고리즘을 이용하여 클라이언트를 인증(확인)한다. Referring to FIG. 7, a server, which is a network camera, a home gateway, and a home automation device, authenticates a client using a hash algorithm accompanied by a secret key based on a password of a client previously shared with the client. Check).
또한, 서버는 전자 정보를 대칭키 암호 알고리즘을 사용하여 암호화/복호화하는데 있어 필요한 전자 정보 암호키(세션키, KD)를 생성하고 대칭키 암호 알고리즘을 사용하여 암호화된 전자 정보 암호키(ESK)를 클라이언트에게 전송(분배)한다. 그 후, 서버와 클라이언트는 상호간에 전송되는 멀티미디어 데이터 또는 제어 데이터 등을 전자 정보 암호키(세션키, KD)를 대칭키 암호 알고리즘의 비밀키로 하여 암 호화하여 송수신한다.In addition, the server generates an electronic information encryption key (session key, K D ) necessary for encrypting / decrypting electronic information using a symmetric key encryption algorithm and encrypts the electronic information encryption key (ESK) encrypted using the symmetric key encryption algorithm. Send (distribute) to the client. Thereafter, the server and the client encrypt and transmit the multimedia data or the control data transmitted to each other using the electronic information encryption key (session key, K D ) as the secret key of the symmetric key encryption algorithm.
먼저, 클라이언트에서 서버에게 접속요청 신호를 전송(단계 701)하면 서버는 상기 접속 요청 신호를 수신한다.First, when the client transmits a connection request signal to the server (step 701), the server receives the connection request signal.
서버는 상기 접속 요청 신호에 상응하여 클라이언트에게 제공될 서버의 시도값(Cha_S)을 난수(RNS)로 생성(단계 703)하여 상기 클라이언트에게 전송(단계 705)한다. 여기서, 상기 서버의 시도값(Cha_S)은 상기 난수 이외에 순번(Sequence Number), 시각표(Timestamp) 등이 이용될 수도 있다.The server generates a random value (RN S ) of the server attempt value (Cha_S) to be provided to the client in response to the access request signal (step 703) and transmits it to the client (step 705). Here, in addition to the random number, the attempt value Cha_S of the server may use a sequence number, a timestamp, and the like.
상기 서버의 시도값(Cha_S)을 수신한 클라이언트는 비밀키를 동반한 해쉬 알고리즘을 이용하여 상기 클라이언트의 응답 값(Res_C)을 생성하는데 있어 필요한 비밀키(HMACK)를 서버와 클라이언트간에 비밀리에 갖고 있는 패스워드(Password)를 그대로 또는 서버와 클라이언트 상호간에 약속된 방법으로 가공(f)하여 생성(단계 707)한다. 여기서, 상기 가공(f)에는 서버의 시도값(Cha_s), 클라이언트의 식별자(ID)를 포함할 수 있다. The client receiving the attempt value (Cha_S) of the server secretly has a secret key (HMAC K ) necessary for generating the response value (Res_C) of the client using a hash algorithm with a secret key between the server and the client. The existing password (Password) is processed as it is, or processed (f) in the manner promised between the server and the client (step 707). Here, the processing (f) may include an attempt value (Cha_s) of the server and an identifier (ID) of the client.
그 후, 클라이언트는 서버와 클라이언트 상호간에 공유하고 있는 값(Cha_S, ID, Password)을 서버와 클라이언트 상호간에 약속된 방법으로 선택 및 가공(f)한다. 여기서, 서버의 시도값(Cha_S(RNS)), 패스워드(Password)는 반드시 포함되어야 한다. 그 후, 클라이언트는 상기 가공(f)된 값을 비밀키(HMACK)와 비밀키를 동반한 해쉬 알고리즘에 적용하여 상기 서버의 시도값(Cha_S)에 상응하는 클라이언트의 응답값(Res_C)을 생성(단계 709)한다. Thereafter, the client selects and manipulates the values (Cha_S, ID, Password) shared between the server and the client in the manner promised between the server and the client. Here, the attempt value (Cha_S (RN S )) and the password of the server must be included. Thereafter, the client generates the response value Res_C of the client corresponding to the attempt value Cha_S of the server by applying the processed value f to the hash algorithm with the secret key HMAC K and the secret key. (Step 709).
상기 클라이언트의 응답값(Res_C)을 생성하는 수식은 다음과 같이 수학식 2와 같이 표현할 수 있다.The formula for generating the response value Res_C of the client may be expressed as Equation 2 as follows.
상기 클라이언트는 서버가 클라이언트에게 제공한 서버의 시도값(Cha_S)에 상응하는 클라이언트의 응답값(Res_C)과 클라이언트 식별자(ID)를 서버에 전송(단계 711)하며, 상기 서버는 상기 클라이언트의 응답값(Res_C)과 클라이언트 식별자(ID)를 수신한다. 여기서, 상기 클라이언트는 시간차를 두고 상기 식별자(ID)를 서버에 전송할 수 있다.The client transmits a response value (Res_C) and a client identifier (ID) of the client corresponding to the attempt value (Cha_S) of the server provided to the client to the server (step 711), and the server responds to the client. Res_C and a client identifier (ID) are received. Here, the client may transmit the identifier (ID) to the server with a time difference.
서버는 사용자의 패스워드(Password), 식별자(ID) 및 서버가 클라이언트에게 제공하였던 시도값(Cha_S)들을 클라이언트가 행한 동일한 방법으로 비밀키를 동반한 해쉬 알고리즘에 적용하여 해쉬값을 계산하고 클라이언트로부터 받은 응답값(Res_C)과 비교하여 클라이언트 인증 절차를 수행(단계 713)한다.The server calculates the hash value by applying the user's password, identifier (ID) and the attempt value (Cha_S) provided by the server to the client to the hash algorithm with the secret key in the same way as the client did. The client authentication procedure is performed in comparison with the response value Res_C (step 713).
상기 서버는 상기 비교 결과가 유효하지 않으면 클라이언트에게 클라이언트 인증 실패 메시지를 전송한다.The server sends a client authentication failure message to the client if the comparison result is invalid.
서버의 클라이언트 인증이 확인된 후, 서버는 전자 정보(D)의 암호화/복호화에 사용될 대칭키 암호 알고리즘의 전자 정보 암호키(세션키)(KD)를 무작위(Random)로 선택(단계 715)한다. 그 후, 서버는 서버와 클라이언트간에 공유하고 있는 값(Password, ID, Cha_S)들 중에서 서버와 클라이언트간에 약속된 방법으로 선택 및 가공(f)하여 전자 정보 암호키(세션키)(KD)를 대칭키 암호 알고리즘을 사용하여 암호화는데 필요한 대칭키 암호 알고리즘의 비밀키(KS)를 생성(단계 716)한다.After client authentication of the server is confirmed, the server randomly selects the electronic information encryption key (session key) K D of the symmetric key cryptographic algorithm to be used for encryption / decryption of the electronic information ( D ) (step 715). do. Thereafter, the server selects and processes (f) the electronic information encryption key (session key) K D from among the values (Password, ID, Cha_S) shared between the server and the client in the manner promised between the server and the client. A secret key K S of the symmetric key cryptographic algorithm required for encryption using the symmetric key cryptographic algorithm is generated (step 716).
단계 716을 수행한 후, 서버는 전자 정보 암호키(세션키)(KD)를 대칭키 암호 알고리즘으로 암호화하는데 필요한 대칭키 암호 알고리즘의 비밀키를 KS로 하여 전자 정보 암호키(세션키)(KD)의 암호화(g)를 수행(단계 717)하여 클라이언트 인증 승인 신호와 함께 상기 클라이언트에게 전송(단계 719)한다. 상기 서버는 상기 클라이언트 인증 승인 신호를 따로 전송할 수도 있다. 여기서, 상기 서버는 어느 일정한 시간마다 또한 필요한 경우에 전자 정보(D)를 암호화할 전자 정보 암호키(세션키)(KD)를 새롭게 생성하고 암호화하여 클라이언트에게 전송할 수 있다. 전자 정보 암호키(세션키)(KD)를 암호화하는 수식은 수학식 3과 같이 표현할 수 있다.After performing the step 716, and the server electronic information, the cipher key (session key) (K D), the symmetric key a private key of the symmetric key encryption algorithm necessary to encrypt the encryption algorithm of Electronics, Information and the encryption key (session key) with a K S The encryption g of (K D ) is performed (step 717) and transmitted to the client (step 719) together with the client authentication acknowledgment signal. The server may separately transmit the client authentication approval signal. Here, the server may newly generate, encrypt and transmit an electronic information encryption key (session key) K D for encrypting the electronic information D at every predetermined time and if necessary. The equation for encrypting the electronic information encryption key (session key) K D may be expressed as in Equation 3 below.
클라이언트는 상기 암호화된 전자 정보 암호키(세션키)(KD)를 수신한 후, 상기 서버가 생성한 동일한 방법으로 KS를 생성(단계 720)한 후, 대칭키 암호 알고리즘의 복호화(g-1)를 수행하여 전자 정보 암호키(세션키)(KD)를 추출(단계 721)한다. 여기서, 상기 복호화 수식은 수학식 4와 같이 표현할 수 있다. After the client receives the encrypted electronic information encryption key (session key) K D , the client generates K S in the same method generated by the server (step 720), and then decrypts the symmetric key encryption algorithm (g −). 1 ), an electronic information encryption key (session key) K D is extracted (step 721). Here, the decoding equation may be expressed as Equation 4.
서버는 전자 정보 암호키(세션키)(KD)를 대칭키 암호 알고리즘의 비밀키로 사용하여 상기 클라이언트에게 전송할 전자 정보(D)의 암호화(g)를 수행(단계 723)하여 암호화된 전자 정보(E)를 상기 클라이언트에게 전송(단계 725)한다. 여기서, 상기 암호화 수식은 다음 수학식 5와 같이 표현할 수 있다.The server performs the encryption (g) of the electronic information (D) to be transmitted to the client using the electronic information encryption key (session key) K D as a secret key of the symmetric key encryption algorithm (step 723). E) is sent to the client (step 725). Here, the encryption formula can be expressed as Equation 5 below.
클라이언트는 상기 암호화된 전자 정보(E)를 수신하여 단계 721에서 추출한 전자 정보 암호키(세션키)(KD)를 이용하여 대칭키 암호 알고리즘의 복호화(g-1)를 수행하여 암호화된 전자 정보(E)로부터 전자 정보(D)를 추출(단계 727)한다. 여기서, 상기 복호화 수식은 수학식 6과 같이 표현할 수 있다.The client receives the encrypted electronic information E and decrypts the symmetric key encryption algorithm (g -1 ) using the electronic information encryption key (session key) K D extracted in step 721 to encrypt the electronic information. Electronic information D is extracted from step (E) (step 727). Here, the decoding equation may be expressed as in Equation 6.
도 8은 본 발명의 바람직한 다른 실시예에 따른 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 장치인 서버와 클라이언트 사이에 전송되는 전자 정보를 암호화하여 송수신하는 과정을 도시한 신호 흐름도이다.8 is a signal flow diagram illustrating a process of encrypting and transmitting electronic information transmitted between a server and a client, which are a network camera, a home gateway, and a home automation device, according to another exemplary embodiment of the present invention.
도 8을 참조하면, 서버와 클라이언트는 서버와 클라이언트 사이에서 사전에 비밀리에 공유하고 있는 클라이언트의 패스워드(Password)를 기반으로 하여 해쉬 알고리즘을 이용하여 상호 인증(확인)을 한다. 즉, 서버는 서버와 클라이언트 사이에서 사전에 비밀리에 공유하고 있는 클라이언트의 패스워드(Password)를 기반으로한 해쉬 암호 알고리즘을 이용하여 클라이언트를 인증(확인)하고 클라이언트는 서버와 클라이언트 사이에서 사전에 비밀리에 공유하고 있는 클라이언트의 패스워드(Password)를 기반으로한 해쉬 암호 알고리즘을 이용하여 서버를 인증(확인)한다.Referring to FIG. 8, the server and the client perform mutual authentication (confirmation) using a hash algorithm based on a password of a client previously secretly shared between the server and the client. In other words, the server authenticates (confirms) the client using a hash cipher algorithm based on the client's password that is previously secretly shared between the server and the client. The server is authenticated (confirmed) using a hash encryption algorithm based on the shared client's password.
또한, 서버는 전자 정보(D)를 대칭키 암호 알고리즘을 사용하여 암호화/복호화하는데 있어 필요한 전자 정보 암호키(세션키, KD)를 생성하고 대칭키 암호 알고리즘을 사용하여 암호화된 전자 정보 암호키(ESK)를 클라이언트에게 전송(분배)한다. 그 후, 서버와 클라이언트는 상호간에 전송되는 전자 정보(D)를 전자 정보 암호키(세션키, KD)를 대칭키 암호 알고리즘의 비밀키로 하여 암호화하여 송수신한다.In addition, the server generates an electronic information encryption key (session key, K D ) necessary for encrypting / decrypting the electronic information (D) using a symmetric key encryption algorithm, and encrypts the electronic information encryption key using the symmetric key encryption algorithm. Send (distribute) (ESK) to clients. Thereafter, the server and the client encrypt and transmit the electronic information D transmitted to each other using the electronic information encryption key (session key, K D ) as the secret key of the symmetric key encryption algorithm.
먼저 클라이언트에서 서버에게 접속 요청 신호를 전송(단계 801)하면 서버는 상기 접속 요청 신호를 수신한다.First, when the client transmits a connection request signal to the server (step 801), the server receives the connection request signal.
서버는 상기 접속 요청 신호에 상응하여 서버가 클라이언트에게 제공하는 서버의 시도값(Cha_S)을 난수(RNS)로 생성(단계 803)하여 상기 클라이언트에게 전송(단계 805)한다. 여기서, 상기 서버의 시도값(Cha_S)은 상기 난수 이외에 순번(Sequence Number), 시각표(Timestamp) 등이 이용될 수도 있다.In response to the access request signal, the server generates a random value RN S of the server's challenge value Cha_S provided to the client (step 803), and transmits it to the client (step 805). Here, in addition to the random number, the attempt value Cha_S of the server may use a sequence number, a timestamp, and the like.
상기 서버의 시도값(Cha_S)을 수신한 클라이언트는 서버와 클라이언트 상호간에 공유하고 있는 값(Cha_S, ID, Password)을 서버와 클라이언트 상호간에 약속 된 방법으로 선택 및 가공(f)하여 해쉬 알고리즘이 적용된 응답 값(Res_C)을 생성(단계 807)한다. 여기서, 시도값(Cha_S(RNS)), 패스워드(Password)는 반드시 포함되어야 한다.Upon receiving the attempt value (Cha_S) of the server, the client selects and processes the values (Cha_S, ID, and Password) shared between the server and the client in a promised manner between the server and the client, and applies a hash algorithm. The response value Res_C is generated (step 807). Here, the attempt value Cha_S (RN S ) and the password must be included.
상기 클라이언트의 응답 값(Res_C)을 생성하는 수식은 다음과 같이 수학식 7과 같이 표현할 수 있다.Equation for generating the response value (Res_C) of the client can be expressed as shown in Equation 7.
클라이언트는 클라이언트가 서버에게 제공하는 클라이언트의 시도 값(Cha_C)을 난수(RNC)로 생성(단계 809) 한다.The client generates a random value (RN C ) of the client's challenge value (Cha_C) that the client provides to the server (step 809).
상기 클라이언트는 서버가 클라이언트에게 제공한 서버의 시도 값(Cha_S)에 상응하는 클라이언트의 응답 값(Res_C)과 클라이언트 식별자(ID) 및 클라이언트의 시도 값(Cha_C)을 서버에 전송(단계 811)한다. 그 후, 상기 서버는 상기 클라이언트의 응답값(Res_C), 클라이언트 식별자(ID) 및 클라이언트의 시도값(Cha_C)을 수신한다. 여기서, 클라이언트의 시도값(Cha_C) 및 식별자(ID)는 클라이언트의 응답값(Res_C)과 시간차를 두고 서버에 전송할 수 있다.The client transmits the client's response value Res_C, the client identifier ID, and the client's challenge value Cha_C corresponding to the server's challenge value Cha_S provided to the client to the server (step 811). Thereafter, the server receives the client's response value Res_C, the client identifier ID, and the client's challenge value Cha_C. Here, the attempt value (Cha_C) and the identifier (ID) of the client may be transmitted to the server with a time difference from the response value (Res_C) of the client.
서버는 사용자의 패스워드(Password), 식별자(ID) 및 서버가 클라이언트에게 제공하였던 시도값(Cha_S)들을 클라이언트가 행한 동일한 방법으로 해쉬 알고리즘에 적용하여 해쉬값을 계산하고 클라이언트로부터 받은 응답값(Res_C)과 비교하여 클라이언트 인증 절차를 수행(단계 813)한다. The server calculates the hash value by applying the user's password, identifier (ID) and the attempt value (Cha_S) provided by the server to the client to the hash algorithm in the same way as the client did, and the response value (Res_C) received from the client. In step 813, the client authentication procedure is performed.
서버는 클라이언트 인증을 수행한 후, 클라이언트에게 서버의 인증을 받기 위하여 서버와 클라이언트 상호간에 공유하고 있는 값(Cha_S, Cha_C, ID, Password)을 서버와 클라이언트 상호간에 약속된 방법으로 선택 및 가공(f)하여 해쉬 알고리즘이 적용된 상기 클라이언트 시도값(Cha_C)에 상응하는 서버의 응답값(Res_S)을 생성(단계 815)하여 클라이언트에게 전송(단계 817)한다. 여기서, 시도값(Cha_C) 및 클라이언트의 패스워드(Password)는 반드시 포함되어야 한다.After the server performs the client authentication, the client selects and processes the values (Cha_S, Cha_C, ID, Password) shared between the server and the client in a promised way between the server and the client in order to authenticate the server to the client. In step 815, the server generates a response value Res_S corresponding to the client attempt value Cha_C to which the hash algorithm is applied (step 815), and transmits it to the client (step 817). Here, the trial value Cha_C and the password of the client must be included.
상기 서버의 응답 값(Res_S)을 생성하는 수식은 다음과 같이 수학식 8과 같이 표현할 수 있다.Equation for generating the response value (Res_S) of the server can be expressed as shown in Equation 8.
상기 서버의 응답값(Res_S)을 수신한 클라이언트는 사용자의 패스워드(Password), 식별자(ID), 서버의 시도값(Cha_S) 및 클라이언트가 서버에게 제공하였던 시도값(Cha_C)들을 서버가 행한 동일한 방법으로 해쉬 알고리즘에 적용하여 해쉬값을 계산하고 서버로부터 받은 응답값(Res_S)과 비교하여 서버를 인증하는 절차를 수행(단계 819)한다.The client receiving the response value (Res_S) of the server is the same method that the server performed the password (Password), the identifier (ID), the attempt value (Cha_S) of the server and the attempt value (Cha_C) provided by the client to the server In step 819, a hash value is calculated by applying the hash algorithm, and the server is authenticated by comparing with the response value Res_S received from the server (step 819).
상기 클라이언트는 인증을 수행한 후, 서버에게 서버 인증 승인 신호를 전송(단계 821)한다.After performing the authentication, the client sends a server authentication approval signal to the server (step 821).
이하, 단계 823부터 835는 도 7을 참조하여 설명한 부분과 중복되는 부분이므로 그 설명을 생략하기로 한다.Hereinafter, since steps 823 to 835 overlap with those described with reference to FIG. 7, description thereof will be omitted.
도 9는 본 발명의 바람직한 또 다른 실시예에 따른 네트워크 카메라, 홈 게 이트웨이 및 홈 오토메이션 장치인 서버와 클라이언트 사이에 전송되는 전자 정보를 암호화하여 송수신하는 과정을 도시한 신호 흐름도이다.9 is a signal flow diagram illustrating a process of encrypting and transmitting electronic information transmitted between a server and a client, which are a network camera, a home gateway, and a home automation device, according to another exemplary embodiment of the present invention.
도 9를 참조하면, 서버와 클라이언트는 대칭키 암호 알고리즘을 이용하여 상호 인증(확인)을 한다. 즉, 서버는 대칭키 암호 알고리즘을 이용하여 클라이언트를 인증(확인)하고 클라이언트는 대칭키 암호 알고리즘을 이용하여 서버를 인증(확인)한다. 9, the server and the client perform mutual authentication (confirmation) by using a symmetric key encryption algorithm. That is, the server authenticates (confirms) the client using a symmetric key cryptographic algorithm, and the client authenticates (confirms) the server using a symmetric key cryptographic algorithm.
클라이언트는 전자 정보(D)를 대칭키 암호 알고리즘을 사용하여 암호화/복호화하는데 필요한 전자 정보 암호키(세션키)를 생성하고 대칭키 암호 알고리즘을 사용하여 암호화된 전자 정보 암호키를 서버에 등록한다. 그 후, 서버와 클라이언트는 상호간에 전송되는 전자 정보(D)를 전자 정보 암호키를 이용하여 대칭키 암호 알고리즘으로 암호화하여 송수신한다.The client generates an electronic information encryption key (session key) necessary for encrypting / decrypting the electronic information D using the symmetric key encryption algorithm and registers the encrypted electronic information encryption key with the server using the symmetric key encryption algorithm. Thereafter, the server and the client encrypt and transmit the electronic information D transmitted to each other using a symmetric key encryption algorithm using the electronic information encryption key.
먼저 클라이언트에서 서버에게 접속 요청 신호를 전송(단계 901)하면 서버는 상기 접속 요청 신호를 수신한다.First, the client transmits an access request signal to the server (step 901). The server receives the access request signal.
서버는 상기 접속 요청 신호에 상응하여 서버가 클라이언트에게 제공하는 서버의 시도값(Cha_S)을 난수(RNS)로 생성(단계 903)하여 상기 클라이언트에게 전송(단계 904)한다. 여기서, 상기 서버의 시도값(Cha_S)은 상기 난수 이외에 순번(Sequence Number), 시각표(Timestamp) 등이 이용될 수도 있다.In response to the access request signal, the server generates a random value RN S of the server's attempt value Cha_S provided to the client (step 903), and transmits it to the client (step 904). Here, in addition to the random number, the attempt value Cha_S of the server may use a sequence number, a timestamp, and the like.
상기 서버의 시도값(Cha_S)을 수신한 클라이언트는 상기 클라이언트의 응답값(Res_C)을 생성하기 위하여 대칭키 암호 알고리즘을 사용하는데 필요한 대칭키 암호 알고리즘의 비밀키(KA)를 서버와 클라이언트간에 비밀리에 갖고 있는 패스워드(Password)를 그대로 또는 서버와 클라이언트 상호간에 약속된 방법으로 가공(f)하여 생성(단계 905)한다. 여기서, 상기 가공(f)에는 서버의 시도 값(Cha_S) 및 클라이언트의 식별자(ID)를 포함할 수 있다. Upon receiving the attempt value (Cha_S) of the server, the client secretly secrets the secret key (K A ) of the symmetric key encryption algorithm required to use the symmetric key encryption algorithm to generate the response value (Res_C) of the client. In step 905, a password (Password) that is stored in the server or the server and the client is processed (f) as promised. Here, the processing (f) may include an attempt value (Cha_S) of the server and an identifier (ID) of the client.
상기 클라이언트는 서버와 클라이언트 상호간에 공유하고 있는 값인 Cha_s, ID, Password 중 적어도 하나를 서버와 클라이언트 상호간에 약속된 방법으로 선택 및 가공(f)한다. 여기서, 서버의 시도값(Cha_S)은 반드시 포함되어야 한다. 그 후, 상기 클라이언트는 상기 생성한 비밀키(KA)를 사용하여 대칭키 암호 알고리즘의 암호화 방법으로 암호화(g)하여 상기 서버의 시도값(Cha_S)에 상응하는 클라이언트의 응답값(Res_C)을 생성(단계 907)한다.The client selects and processes (f) at least one of Cha_s, ID, and Password, which are values shared between the server and the client, in a promised manner between the server and the client. Here, the attempt value (Cha_S) of the server must be included. Thereafter, the client encrypts (g) an encryption method of a symmetric key encryption algorithm using the generated secret key K A to obtain a response value Res_C of the client corresponding to the attempt value Cha_S of the server. Create (step 907).
상기 클라이언트의 응답값(Res_C)을 생성하는 수식은 다음과 같이 수학식 9와 같이 표현할 수 있다.Equation for generating the response value (Res_C) of the client can be expressed as shown in equation (9).
클라이언트는 클라이언트가 서버에게 제공하는 클라이언트의 시도값(Cha_C)을 난수(RNC)로 생성(단계 909) 한다. 여기서, 상기 클라이언트의 시도값(Cha_S)은 상기 난수 이외에 순번(Sequence Number), 시각표(Timestamp) 등이 이용될 수도 있다.The client generates a random value RN C of the client's challenge value Cha_C that the client provides to the server (step 909). Here, in addition to the random number, the attempt value Cha_S of the client may use a sequence number, a timestamp, and the like.
상기 클라이언트는 서버가 클라이언트에게 제공한 서버의 시도값(Cha_S)에 상응하는 클라이언트의 응답값(Res_C)과 클라이언트 식별자(ID) 및 클라이언트의 시도값(Cha_C)을 서버에 전송(단계 911)한다. 여기서, 상기 클라이언트는 상기 클라이언트 식별자(ID) 및 클라이언트의 시도값(Cha_C)을 클라이언트의 응답값(Res_C)과 시간차를 두고 상기 서버에 전송할 수 있다. 상기 서버는 상기 클라이언트의 응답 값(Res_C), 클라이언트 식별자(ID) 및 클라이언트의 시도값(Cha_C)을 수신한다. 서버는 상기 수신한 클라이언트의 응답값(Res_C)에 대하여 대칭키 암호 알고리즘의 복호화를(g-1) 수행하는데 필요한 대칭키 암호 알고리즘의 비밀키(KA)를 상기 클라이언트가 생성한 방법과 동일하게 생성(단계 913)한다.The client transmits (step 911) the client's response value Res_C, the client identifier ID, and the client's attempt value Cha_C corresponding to the server's challenge value Cha_S provided by the server to the server. The client may transmit the client identifier ID and the client attempt value Cha_C to the server at a time difference from the client response value Res_C. The server receives the response value Res_C of the client, the client identifier ID, and the attempt value Cha_C of the client. The server generates the secret key K A of the symmetric key cryptographic algorithm required to perform decryption (g −1 ) of the symmetric key cryptographic algorithm with respect to the response value Res_C of the received client. Create (step 913).
서버는 상기 수신한 클라이언트의 응답값(Res_C)에 대하여 생성한 비밀키(KA)를 대칭키 암호 알고리즘의 비밀키로 하여 대칭키 암호 알고리즘의 복호화(g-1)를 수행하여 복호화된 값이 서버와 클라이언트 상호간에 공유하고 있는 값에 대하여 약속된 방법으로 선택 및 가공된 데이터인지를 확인하여 클라이언트를 인증하는 절차를 수행(단계 914)한다. 상기 복호화(g-1) 수식은 수학식 10과 같이 표현할 수 있다.The server performs decryption (g -1 ) of the symmetric key cryptographic algorithm by using the generated secret key K A for the received response value Res_C of the client as the secret key of the symmetric key cryptographic algorithm. In step 914, the client authenticates the client by checking whether the data is selected and processed in the promised manner with respect to the value shared between the client and the client. The decoding (g −1 ) equation may be expressed as in Equation 10.
서버는 클라이언트 인증을 수행한 후, 클라이언트에게 서버의 인증을 받기 위하여 상기 클라이언트 시도값(Cha_C)에 상응하는 서버의 응답값(Res_S)을 대칭키 암호 알고리즘의 암호화(g)방식으로 생성(단계 915)하여 클라이언트에게 전송(단계 917) 한다. 여기서 서버의 응답값 생성에는 서버와 클라이언트 간에 공유하고 있는 값인 클라이언트의 시도값, 사용자 식별자(ID), 클라이언트 패스워드 및 서버의 시도값 등이 클라아언트와 사전에 약속된 방법으로 선택 및 가공되어 이용될 수 있다.After the server performs the client authentication, the server generates a response value Res_S corresponding to the client attempt value Cha_C by the encryption (g) method of the symmetric key encryption algorithm in order to receive the server's authentication (step 915). To the client (step 917). Here, the server's response value is selected and processed by the client in advance and in a manner promised by the client such as the client's attempt value, user identifier (ID), client password, and the server's attempt value, which are values shared between the server and the client. Can be.
상기 서버의 응답값(Res_S)을 생성하는 수식은 다음과 같이 수학식 111과 같이 표현할 수 있다.Equation for generating the response value (Res_S) of the server can be expressed as shown in
클라이언트는 서버의 응답값(Res_S)을 수신하여 대칭키 암호 알고리즘의 복호화(g-1)를 수행하여 Cha_C 를 추출한 후, 상기 추출한 Cha_C와 클라이언트가 서버에게 보낸 클라이언트의 시도 값(Cha_C)과 비교하여 서버 인증을 수행(단계 919)한다. 상기 복호화(g-1) 수식은 수학식 12와 같이 표현할 수 있다.The client receives the server's response value (Res_S), performs a decryption (g -1 ) of the symmetric key encryption algorithm, extracts Cha_C, and compares the extracted Cha_C with the client's attempt value (Cha_C) sent to the server. Perform server authentication (step 919). The decoding (g −1 ) equation may be expressed as in Equation 12.
상기 서버의 인증을 수행한 후, 클라이언트는 전자 정보 암호키(세션키)(KD)를 무작위(Random)로 선택(단계 920)하고, 서버와 클라이언트간에 공유하고 있는 값(Password, ID, Cha_S, Cha_C)들 중에서 서버와 클라이언트간에 약속된 방법으로 선택 및 가공(f)하여 전자 정보 암호키를 대칭키 암호 알고리즘을 사용하여 암호화 는데 필요한 대칭키 암호 알고리즘의 비밀키(KS)를 생성(단계 921)한다.After authenticating the server, the client randomly selects an electronic information encryption key (session key) K D (step 920) and shares the values (Password, ID, Cha_S) between the server and the client. (Cha), among the Cha_C), are selected and processed by the method promised between the server and the client (f) to generate the secret key (K S ) of the symmetric key cryptographic algorithm required to encrypt the electronic information encryption key using the symmetric key cryptographic algorithm. 921).
단계 921을 수행한 후, 클라이언트는 전자 정보 암호키(세션키)(KD)를 대칭키 암호 알고리즘으로 암호화하는데 필요한 대칭키 암호 알고리즘의 비밀키를 KS로 하여 전자 정보 암호키(세션키)(KD)의 암호화(g)를 수행(단계 922)하여 상기 서버에게 전송(단계 923)한다. 상기 클라이언트는 어느 일정한 시간마다 또한 필요한 경우에 영상 또는 데이터를 암호화할 전자 정보 암호키(세션키)(KD)를 새롭게 생성하고 암호화하여 서버에게 전송할 수 있다. 여기서 전자 정보 암호키(세션키)(KD)를 암호화하는 수식은 수학식 13과 같이 표현할 수 있다.After performing step 921, the client sets the electronic information encryption key (session key) to K S as the secret key of the symmetric key encryption algorithm required for encrypting the electronic information encryption key (session key) K D with the symmetric key encryption algorithm. Encryption (g) of (K D ) is performed (step 922) and transmitted to the server (step 923). The client may newly generate, encrypt, and transmit an electronic information encryption key (session key) K D for encrypting an image or data at any predetermined time and if necessary. Here, the equation for encrypting the electronic information encryption key (session key) K D may be expressed as in Equation (13).
서버는 상기 암호화된 전자 정보 암호키(ESK)를 수신한 후, 상기 클라이언트가 생성한 동일한 약속된 방법으로 KS를 생성(단계 924)한 후, 대칭키 암호 알고리즘의 복호화(g-1)를 수행하여 전자 정보 암호키(세션키)(KD)를 추출(단계 925)한다. 여기서, 상기 복호화 수식은 수학식 14와 같이 표현할 수 있다.After receiving the encrypted electronic information encryption key (ESK), the server generates K S in the same promised method generated by the client (step 924), and then decrypts the symmetric key encryption algorithm (g -1 ). Then, the electronic information encryption key (session key) K D is extracted (step 925). Here, the decoding equation may be expressed as in Equation 14.
서버에서 전자 정보(D)를 클라이언트에게 전송하는 단계 927부터 단계 931은 도7을 참조하여 설명한 부분과 중복되는 부분이므로 그 설명을 생략하기로 한다.Since the steps 927 to 931 of transmitting the electronic information D to the client from the server overlap with the parts described with reference to FIG. 7, description thereof will be omitted.
도 10은 본 발명의 바람직한 일 실시예에 따른 클라이언트의 암호화된 전자 정보를 서버에 전송하는 과정을 도시한 흐름도이다.10 is a flowchart illustrating a process of transmitting encrypted electronic information of a client to a server according to an exemplary embodiment of the present invention.
도 10을 참조하면, 서버는 전자 정보 암호키(세션키)(KD)를 대칭키 암호 알고리즘으로 암호화하는데 필요한 대칭키 암호 알고리즘의 비밀키를 KS로 하여 전자 정보 암호키(세션키)(KD)의 암호화(g)를 수행하여 클라이언트 인증 승인 신호화 함께 상기 클라이언트에게 전송(단계 1001)한다.Referring to Figure 10, and the server electronic information, the cipher key (session key) (K D), the symmetric key a private key of the symmetric key encryption algorithm necessary to encrypt the encryption algorithm of Electronics, Information and the encryption key (session key) with a K S ( K D ) is encrypted (g) and transmitted (step 1001) to the client along with the client authentication acknowledgment.
클라이언트는 상기 암호화된 전자 정보 암호키(세션키)(KD)를 수신한 후, 상기 서버가 생성한 동일한 약속된 방법으로 KS를 생성(단계 1002)한 후, 대칭키 암호 알고리즘의 복호화(g-1)를 수행하여 전자 정보 암호키(세션키)(KD)를 추출(단계 1003)한다. 여기서, 상기 복호화 수식은 수학식 15와 같이 표현할 수 있다.After receiving the encrypted electronic information encryption key (session key) K D , the client generates K S in the same promised method generated by the server (step 1002), and then decrypts the symmetric key encryption algorithm ( g -1 ) to extract the electronic information encryption key (session key) K D (step 1003). Here, the decoding equation may be expressed as in Equation 15.
클라이언트는 전자 정보 암호키(세션키)(KD)를 대칭키 암호 알고리즘의 비밀키로 사용하여 상기 서버에게 전송할 데이터(D)의 암호화(g)를 수행(단계 1005)하여 암호화된 데이터(E)를 상기 서버에게 전송(단계 1007)한다. 여기서, 상기 암호화 수식은 다음 수학식 16과 같이 표현할 수 있다. The client performs the encryption (g) of the data (D) to be transmitted to the server (step 1005) using the electronic information encryption key (session key) K D as a secret key of the symmetric key encryption algorithm (step 1005). Is transmitted to the server (step 1007). Here, the encryption formula can be expressed as in Equation 16 below.
서버는 상기 암호화된 데이터(E)를 수신한 후에 전자 정보 암호키(세션키)(KD)를 이용하여 대칭키 암호 알고리즘의 복호화(g-1)를 수행(단계 1009)하여 암호화된 데이터(E)로부터 데이터(D)를 추출한다. 여기서, 상기 복호화 수식은 수학식 17과 같다.After the server receives the encrypted data E, the server performs decryption (g −1 ) of the symmetric key encryption algorithm using the electronic information encryption key (session key) K D (step 1009) to encrypt the encrypted data ( Data D is extracted from E). Here, the decoding equation is as shown in Equation 17.
그 후,상기 서버는 추출한 데이터(D)를 처리(단계 1011)한다. The server then processes the extracted data D (step 1011).
본 발명은 상기 실시예에 한정되지 않으며, 많은 변형이 본 발명의 사상 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 가능함은 물론이다.
The present invention is not limited to the above embodiments, and many variations are possible by those skilled in the art within the spirit of the present invention.
본 발명에 의하면, 네트워크 망을 통한 데이터를 송수신 과정에서 서버와 사용자 사이에서 사전에 비밀리에 공유된 사용자의 패스워드만으로 서버와 사용자 상호간의 인증, 전자 정보 암호키의 분배/등록을 수행하며 전자 정보 암호키를 대칭키 암호 알고리즘의 비밀키로 사용하여 송수신하는 데이터의 암호화/복호화를 수행할 수 있는 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 시스템에서의 데이터 보안 유지 방법 및 장치를 제공할 수 있다.. According to the present invention, in the process of transmitting and receiving data through a network, the server and the user can perform authentication and distribution / registration of an electronic information encryption key only with a password of a user previously secretly shared between the server and the user, and the electronic information encryption. A method and apparatus for maintaining data security in a network camera, a home gateway, and a home automation system capable of performing encryption / decryption of data transmitted and received using a key as a secret key of a symmetric key encryption algorithm can be provided.
본 발명에 의하면, 계산 복잡도가 크며 공개키 인증을 받는데에 있어 비용이 발생하는 공개키 기반의 암호 알고리즘을 사용하지 않고 계산 복잡도가 덜한 대칭키 암호 알고리즘 또는 해쉬 알고리즘을 사용하여 사용자에 대한 인증 및 서버에 대한 인증을 수행할 수 있는 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 시스템에서의 데이터 보안 유지 방법 및 장치를 제공할 수 있다.According to the present invention, an authentication and server for a user using a symmetric key cryptographic algorithm or a hash algorithm having a low computational complexity without using a public key-based cryptographic algorithm having a large computational complexity and a high cost in receiving a public key authentication. A method and apparatus for maintaining data security in a network camera, a home gateway, and a home automation system capable of performing authentication on a network can be provided.
본 발명에 의하면, 계산 복잡도가 크며 공개키 인증을 받는데에 있어 비용이 발생하는 공개키 기반의 암호 알고리즘을 사용하지 않고 계산 복잡도가 덜한 대칭키 암호 알고리즘을 사용하여 멀티미디어 데이터 또는 제어 데이터 등의 암호화/복호화에 필요한 대칭키(전자 정보 암호키, 세션키)를 분배를 할 수 있는 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 시스템에서의 데이터 보안 유지 방법 및 장치를 제공할 수 있다.According to the present invention, encryption / multimedia data or control data, etc., using a symmetric key cryptography algorithm having a large computational complexity and a low computational complexity without using a public key-based cryptographic algorithm, which is expensive to receive public key authentication, Provided are a method and apparatus for maintaining data security in a network camera, a home gateway, and a home automation system capable of distributing symmetric keys (electronic information encryption key and session key) required for decryption.
본 발명에 의하면, 대칭키 암호 알고리즘으로 분배받은 대칭키(전자 정보 암호키, 세션키)를 이용하여 서버와 클라이언트간의 멀티미디어 데이터 또는 제어 데이터 등을 대칭키 암호 알고리즘으로 암호화하여 송수신할 수 있는 양 방향에서 암호화 및 복호화하는 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 시스템에서의 데이터 보안 유지 방법 및 장치를 제공할 수 있다.According to the present invention, by using the symmetric key (electronic information encryption key, session key) distributed by the symmetric key encryption algorithm, the multimedia data or control data between the server and the client can be encrypted and transmitted by the symmetric key encryption algorithm in both directions The present invention provides a method and apparatus for maintaining data security in a network camera, a home gateway, and a home automation system that encrypts and decrypts a network.
본 발명에 의하면, 네트워크 망을 통한 데이터를 송수신하는 과정에서 서버에서 제공하는 전자 정보를 권한이 없는 타인이 무단으로 도용하는 것을 방지하기 위하여 양 방향에서 암호화 및 복호화하는 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 시스템에서의 데이터 보안 유지 방법 및 장치를 제공할 수 있다. According to the present invention, a network camera, a home gateway, and a home automation system encrypts and decrypts electronic information provided by a server in both directions in order to prevent unauthorized unauthorized theft of electronic information provided by a server in a process of transmitting and receiving data through a network. A method and apparatus for maintaining data security in a system can be provided.
본 발명에 의하면, 네트워크 망을 통한 데이터를 송수신하는 과정에서 비밀을 유지해야 할 필요가 있는 데이터를 전송해야 할 때 정보의 유출을 방지하기 위하여 양 방향에서 암호화 및 복호화하는 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션 시스템에서의 데이터 보안 유지 방법 및 장치를 제공할 수 있다.According to the present invention, a network camera, a home gateway, and a home, which encrypt and decrypt in both directions to prevent the leakage of information when data that needs to be kept confidential must be transmitted in the process of transmitting and receiving data through a network. A method and apparatus for maintaining data security in an automation system can be provided.
Claims (30)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010019664A KR100789354B1 (en) | 2001-04-12 | 2001-04-12 | Method and apparatus for mataining data security on network camera, home gateway and home automation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010019664A KR100789354B1 (en) | 2001-04-12 | 2001-04-12 | Method and apparatus for mataining data security on network camera, home gateway and home automation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020079044A KR20020079044A (en) | 2002-10-19 |
KR100789354B1 true KR100789354B1 (en) | 2007-12-28 |
Family
ID=27700923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020010019664A KR100789354B1 (en) | 2001-04-12 | 2001-04-12 | Method and apparatus for mataining data security on network camera, home gateway and home automation |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100789354B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014069783A1 (en) * | 2012-10-31 | 2014-05-08 | 삼성에스디에스 주식회사 | Password-based authentication method, and apparatus for performing same |
KR101493214B1 (en) | 2012-10-31 | 2015-02-24 | 삼성에스디에스 주식회사 | Method for password based authentication and apparatus executing the method |
KR101605766B1 (en) | 2015-01-20 | 2016-04-04 | 고려대학교 산학협력단 | Secret key generation method and deduplication method |
KR101835640B1 (en) * | 2011-03-10 | 2018-04-19 | 삼성전자주식회사 | Method for authentication of communication connecting, gateway apparatus thereof, and communication system thereof |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100601712B1 (en) * | 2004-11-18 | 2006-07-18 | 삼성전자주식회사 | Method for receiving a session key in home network and the method for reproducing content using the same |
KR100738353B1 (en) * | 2004-12-08 | 2007-07-12 | 한국전자통신연구원 | Apparatus and its method of optimizing security of the home network |
KR101331201B1 (en) * | 2012-08-20 | 2013-11-18 | 경북대학교 산학협력단 | Cctv media secure transmission system and method thereof |
KR101338341B1 (en) * | 2012-08-21 | 2013-12-06 | 경북대학교 산학협력단 | Cctv media secure transmission system and method thereof |
KR101964229B1 (en) * | 2013-07-26 | 2019-04-01 | 한화테크윈 주식회사 | Surveillance server, method of data processing thereof, and surveillance system |
KR102485857B1 (en) * | 2017-09-21 | 2023-01-05 | 한화테크윈 주식회사 | Authenticating a networked camera using a certificate having device binding information |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0152230B1 (en) * | 1995-09-29 | 1998-11-02 | 양승택 | Apparatus and method for checking & acknowledging identity of subscriber in network |
JPH11202765A (en) * | 1998-01-16 | 1999-07-30 | Mitsubishi Materials Corp | Ciphered information processor, ciphered information processing method and recording medium |
US6047072A (en) * | 1997-10-23 | 2000-04-04 | Signals, Inc. | Method for secure key distribution over a nonsecure communications network |
KR20000059049A (en) * | 2000-05-25 | 2000-10-05 | 이재흥 | Method and system for preserving data based on network |
-
2001
- 2001-04-12 KR KR1020010019664A patent/KR100789354B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0152230B1 (en) * | 1995-09-29 | 1998-11-02 | 양승택 | Apparatus and method for checking & acknowledging identity of subscriber in network |
US6047072A (en) * | 1997-10-23 | 2000-04-04 | Signals, Inc. | Method for secure key distribution over a nonsecure communications network |
JPH11202765A (en) * | 1998-01-16 | 1999-07-30 | Mitsubishi Materials Corp | Ciphered information processor, ciphered information processing method and recording medium |
KR20000059049A (en) * | 2000-05-25 | 2000-10-05 | 이재흥 | Method and system for preserving data based on network |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101835640B1 (en) * | 2011-03-10 | 2018-04-19 | 삼성전자주식회사 | Method for authentication of communication connecting, gateway apparatus thereof, and communication system thereof |
WO2014069783A1 (en) * | 2012-10-31 | 2014-05-08 | 삼성에스디에스 주식회사 | Password-based authentication method, and apparatus for performing same |
CN103795534A (en) * | 2012-10-31 | 2014-05-14 | 三星Sds株式会社 | Password-based authentication method and apparatus executing the method |
KR101493214B1 (en) | 2012-10-31 | 2015-02-24 | 삼성에스디에스 주식회사 | Method for password based authentication and apparatus executing the method |
KR101605766B1 (en) | 2015-01-20 | 2016-04-04 | 고려대학교 산학협력단 | Secret key generation method and deduplication method |
Also Published As
Publication number | Publication date |
---|---|
KR20020079044A (en) | 2002-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7769997B2 (en) | System, method and computer program product for guaranteeing electronic transactions | |
US9055047B2 (en) | Method and device for negotiating encryption information | |
US6874089B2 (en) | System, method and computer program product for guaranteeing electronic transactions | |
US7688975B2 (en) | Method and apparatus for dynamic generation of symmetric encryption keys and exchange of dynamic symmetric key infrastructure | |
US6215878B1 (en) | Group key distribution | |
EP3476078B1 (en) | Systems and methods for authenticating communications using a single message exchange and symmetric key | |
CN103763356A (en) | Establishment method, device and system for connection of secure sockets layers | |
KR20040017230A (en) | Authentication of A User Across Communication Sessions | |
CN112637136A (en) | Encrypted communication method and system | |
CN101958907A (en) | Method, system and device for transmitting key | |
CN116614599B (en) | Video monitoring method, device and storage medium for secure encryption | |
CN113225352A (en) | Data transmission method and device, electronic equipment and storage medium | |
JPH07325785A (en) | Network user identifying method, ciphering communication method, application client and server | |
KR100789354B1 (en) | Method and apparatus for mataining data security on network camera, home gateway and home automation | |
CN116743372A (en) | Quantum security protocol implementation method and system based on SSL protocol | |
CN114826659A (en) | Encryption communication method and system | |
Judmayer et al. | On the security of security extensions for IP-based KNX networks | |
CA2561644C (en) | A method to leverage a secure device to grant trust and identity to a second device | |
CN107104888B (en) | Safe instant messaging method | |
KR102523416B1 (en) | Security Device providing Security function for image, Camera Device having the same and System on Chip controlling Camera Device | |
JP4924943B2 (en) | Authenticated key exchange system, authenticated key exchange method and program | |
CN112953724B (en) | Authentication method of anti-theft chain, and related device and equipment | |
JP2005175992A (en) | Certificate distribution system and certificate distribution method | |
JP2004040273A (en) | Data security maintaining method and apparatus in network camera, home gateway, and home automation apparatus | |
KR100381710B1 (en) | Method For Security In Internet Server Based Upon Membership Operating System And Server Systems Regarding It |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121220 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20131220 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20141222 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |