KR101105205B1 - An apparatus and a method of processing data for guaranteeing data integrity and confidentiality in real time, and black box system using thereof - Google Patents

An apparatus and a method of processing data for guaranteeing data integrity and confidentiality in real time, and black box system using thereof Download PDF

Info

Publication number
KR101105205B1
KR101105205B1 KR1020110089760A KR20110089760A KR101105205B1 KR 101105205 B1 KR101105205 B1 KR 101105205B1 KR 1020110089760 A KR1020110089760 A KR 1020110089760A KR 20110089760 A KR20110089760 A KR 20110089760A KR 101105205 B1 KR101105205 B1 KR 101105205B1
Authority
KR
South Korea
Prior art keywords
data
value
data block
block
hash value
Prior art date
Application number
KR1020110089760A
Other languages
Korean (ko)
Inventor
김윤규
Original Assignee
주식회사 아나스타시스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아나스타시스 filed Critical 주식회사 아나스타시스
Priority to KR1020110089760A priority Critical patent/KR101105205B1/en
Application granted granted Critical
Publication of KR101105205B1 publication Critical patent/KR101105205B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D41/00Fittings for identifying vehicles in case of collision; Fittings for marking or recording collision areas
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

PURPOSE: A data processing method for guaranteeing integrity and confidentiality of real time data and a black box system using the same are provided to forbid data access through an unauthorized person, thereby preventing a leakage of data saved in the black box. CONSTITUTION: A data Input part(100) comprises an image photographing apparatus(110) which takes a photograph, a sound detection apparatus(120) which detects voice, signal tone, and etc. and an acceleration detection apparatus(130) which detects a change of speed. The data Input part comprises an angular velocity detection apparatus(140) which detects rotation and etc. and an impact detection apparatus(150) detects a collision state. A user input apparatus(300) transfers data saved in a black box to an input interface(210) of a black box system(200). The black box system comprises the input interface, an integrity and confidentiality protection apparatus(250), and a data storage module(240).

Description

실시간 데이터의 무결성과 기밀성을 보장하기 위한 데이터 처리방법과 장치 및 이를 이용한 블랙박스 시스템{An apparatus and a method of processing data for guaranteeing data integrity and confidentiality in real time, and black box system using thereof}An apparatus and a method of processing data for guaranteeing data integrity and confidentiality in real time, and black box system using Technical Field

본 발명은 차량 등에서 실시간으로 수집되는 데이터의 무결성과 기밀성을 보장하기 위한 데이터 처리방법 및 데이터 처리장치와, 이를 이용한 블랙박스 시스템에 관한 것이다.The present invention relates to a data processing method and data processing apparatus for ensuring the integrity and confidentiality of data collected in real time in a vehicle, and the like, and a black box system using the same.

블랙박스 시스템은 차량, 열차, 선박 등(이하, '차량 등')과 같은 특정 시스템 및 장치와 연동되어 작동하는 시스템으로써, 특정 시스템 및 장치의 정보를 수집하고 저장한다. 블랙박스 시스템은 평소에는 정보를 단순히 수집하고 저장하다가 특정 이벤트 및 사건이 발생한 경우 사용자나 제3자가 특정 이벤트 및 사건이 일어나게 된 배경 및 정황사항을 파악하기 위해 그 안의 정보를 열람하기 위한 목적으로 사용된다. The black box system is a system that works in conjunction with specific systems and devices such as vehicles, trains, ships (hereinafter, 'vehicles', etc.), and collects and stores information of specific systems and devices. The black box system usually collects and stores information, and when a specific event or event occurs, the user or a third party uses the information to view the background and context of the specific event and event. do.

보통의 블랙박스 시스템은 여태까지 항공기 및 선박 등에 장착되어 사용되어왔다. 하지만 근래 들어 자동차와 같은 차량에도 블랙박스 시스템이 장착되면서 그 용도 및 범위가 점차 넓어지고 있는 실정이다. 블랙박스는 운행기록계, 사고기록장치, 영상사고기록장치 등 여러 가지 이름으로 알려져 있다. 하지만 이들의 목적은 차량의 여러 정보들(운행정보, 사고정보, 영상 및 음성 정보 등)을 저장하여 사고가 일어났을 때에 이들 저장된 정보들을 통해 사고 원인 분석을 돕기 위한 점에서 실질적으로 동일하다. Common black box systems have been used in aircraft and ships until now. However, in recent years, as a black box system is installed in vehicles such as cars, its use and scope are gradually expanding. Black boxes are known by many names, such as driving recorders, accident recorders, and video accident recorders. However, their purpose is substantially the same in that it stores various information (vehicle information, accident information, video and audio information, etc.) of the vehicle to help analyze the cause of the accident through the stored information when an accident occurs.

또한 이러한 블랙박스 시스템과 이름은 다르지만 유사한 목적으로 작동하는 시스템들이 있다. 예를 들면 CCTV와 같은 모니터링 시스템들이다. CCTV도 평소에는 주변의 정보들을 수집하고 저장하지만 이벤트 및 사건이 발생했을 때, 그 안의 정보들을 열람하여 사건을 해결하기 위한 목적으로 사용된다.There are also systems that differ in name from these black box systems but serve similar purposes. For example, monitoring systems such as CCTV. CCTV also collects and stores the information around, but when the event and event occurs, it is used for the purpose of solving the event by reading the information in it.

그러나, 위에서 언급한 시스템들은 모두 실시간으로 정보를 저장하지만, 정보를 수집하고 저장할 때에 단순히 저장만 할 뿐, 데이터의 무결성(integrity)과 기밀성(confidentiality)을 보장하지는 못하는 한계가 있다. 무결성이란 데이터가 저장된 시점 그대로 유지되었음을 보장하는 성질을 의미한다. 즉, 데이터가 저장된 시점 이후로 위조, 변조 또는 삭제되지 않았음을 나타낸다. 그리고 기밀성은 데이터에 접근권한이 있는 사용자만 그 데이터를 열람할 수 있음을 보장하는 성질을 의미한다. 즉, 데이터에 접근권한이 없는 사용자가 데이터를 열람하여도 그 내용을 식별할 수 없음을 나타낸다. However, all of the above-mentioned systems store information in real time, but there is a limit in that it does not guarantee the integrity and confidentiality of the data simply by storing it when collecting and storing the information. Integrity refers to the nature of ensuring that data is retained as it is stored. In other words, it has not been forged, tampered with or deleted since the data was stored. Confidentiality is a property that guarantees that only users with access to the data can access it. That is, even if a user who does not have access to the data browses the data, its contents cannot be identified.

이 두 가지 성질은 블랙박스 시스템에서 매우 중요한 요소이다. 사고 발생후, 블랙박스 내의 데이터를 열람하여 그 데이터를 사건의 증거물로 사용하려는데 데이터가 신뢰할 수 없는 상태라면, 블랙박스는 무용지물이 되고 만다. 따라서, 무결성은 블랙박스의 존재 이유와 직결되는 점에서 매우 중요하다. 또한 기밀성은 사용자의 프라이버시와 직결되기 때문에, 이 또한 블랙박스 내에 저장된 데이터에 대해 매우 중요하게 고려되어야 한다. 왜냐하면, 블랙박스내의 저장된 정보들은 개인의 사생활과 밀접한 관련이 있기 때문에, 예를 들면 각 개인이 어디를 다녔는지, 어떤 사람을 만났는지, 어떤 말을 했는지 등의 개인의 사생활과 관련된 수많은 정보들이 블랙박스의 정보들을 통해 프로파일링될 수 있기 때문이다. 그렇기 때문에 블랙박스 내 데이터들은 함부로 타인에게 제공되거나 열람되어서는 안 된다.These two properties are very important in the black box system. After an accident, if you want to browse the data in the black box and use that data as evidence of the event and the data is unreliable, the black box becomes useless. Therefore, integrity is very important in direct connection with the reason for the existence of the black box. In addition, since confidentiality is directly related to the privacy of the user, this should also be considered very important for the data stored in the black box. Because the information stored in the black box is closely related to the individual's privacy, a lot of information related to the privacy of the individual, for example, where each person went, who met and what he said, This is because the information in the box can be profiled. For this reason, the data in the black box should not be provided or viewed without permission.

이와 같이 블랙박스 시스템에 의해 수집 및 저장되는 데이터와 관련된 연구는 주로 수집된 데이터를 통한 사고의 재구성에 초점이 맞추어져 있고, 실시간 무결성 및 기밀성 모두를 보장하기 위한 연구는 이루어지지 않았다. 따라서, 기존의 블랙박스 시스템에 의하면, 블랙박스 시스템에 저장된 데이터의 신뢰성이 떨어질 뿐만 아니라, 사용자는 프라이버시 침해 등의 위험에도 노출되는 문제들이 존재했다. As such, the research related to the data collected and stored by the black box system mainly focuses on the reconstruction of the incident through the collected data, and no research has been conducted to ensure both real-time integrity and confidentiality. Therefore, according to the existing black box system, not only the reliability of data stored in the black box system is deteriorated, but there are also problems in which the user is exposed to risks such as privacy infringement.

이와 관련한 선행기술로서, 한국공개특허공보 제10-2011-0023412호 (공개일: 2011.03.08)은 데이터의 위조, 변조, 삭제 등을 고려하여 실시간 차량 데이터의 무결성을 보장하기 위한 구성을 개시하고 있으나, 사용자가 아닌 제3자가 블랙박스 시스템에 저장된 데이터를 열람하게 되어 프라이버시 등이 손상되는 문제를 해결하지 못하는 단점이 있다. 또한 특정 시점 이후로 원본 데이터와 무결성 검증 데이터 쌍을 전부 삭제할 경우 이를 탐지 못한다는 단점이 있다. 그리고 데이터의 생성시점을 정확히 알 수 없다는 단점이 있다.As a related art in this regard, Korean Patent Laid-Open No. 10-2011-0023412 (published: 2011.03.08) discloses a configuration for ensuring the integrity of real-time vehicle data in consideration of forgery, tampering, deletion of data, and the like. However, there is a disadvantage in that a third party, not a user, reads the data stored in the black box system and thus does not solve the problem that privacy is damaged. In addition, if all original data and integrity verification data pairs are deleted after a certain point of time, it is not detected. The disadvantage is that you cannot know exactly when the data was created.

또한, 관련 선행기술로서, 한국공개특허공보 제10-2011-0022960호(공개일: 2011.03.08)는 주행정보를 암호화하여 암호화된 데이터를 저장하는 블랙박스 데이터의 위조 및 변조 방지 장치를 개시한다. 그러나. 선행기술 2에 개시된 패스워드 기반 암호화 방법은 이미 널리 알려져있는 암호화 기술 중 하나에 불과하며, 주행정보를 암호화하기 위한 구체적인 알고리즘에 대해 개시하는 바가 없다. 또한, 선행기술 2에 의하면 데이터가 저장되는 매 순간마다 사용자가 패스워드를 입력해야 하는 단점이 있다.In addition, as a related prior art, Korean Laid-Open Patent Publication No. 10-2011-0022960 (published: 2011.03.08) discloses an anti-counterfeiting and tamper-proof apparatus for black box data storing encrypted data by encrypting driving information. . But. The password-based encryption method disclosed in the prior art 2 is just one of the well-known encryption techniques, and there is no disclosure about a specific algorithm for encrypting driving information. In addition, the prior art 2 has the disadvantage that the user must enter a password every time the data is stored.

선행기술 1: 한국공개특허공보 제10-2011-0023412호 (공개일: 2011.03.08)Prior Art 1: Korean Patent Publication No. 10-2011-0023412 (Published: 2011.03.08) 선행기술 2: 한국공개특허공보 제10-2011-0022960호(공개일: 2011.03.08)Prior Art 2: Korean Patent Publication No. 10-2011-0022960 (published: 2011.03.08)

본 발명은 상기와 같은 선행기술들의 문제점을 해결하기 위하여 안출된 것으로서, 본 발명은 복잡한 연산 처리 없이 실시간으로 입력되는 데이터의 무결성과 기밀성을 모두 보장하기 위한 데이터 처리방법 및 장치를 제공하는 것을 제1 목적으로 한다.The present invention has been made to solve the problems of the prior art as described above, the present invention is to provide a data processing method and apparatus for ensuring both the integrity and confidentiality of data input in real time without complex operation processing The purpose.

또한, 본 발명은 부인 방지(non-repudiation) 및 에러 복구가 가능한 데이터 처리 방법 및 장치를 제공하는 것을 제2 목적으로 한다. Another object of the present invention is to provide a data processing method and apparatus capable of non-repudiation and error recovery.

그리고, 본 발명은 복잡한 연산 처리 없이 실시간으로 입력되는 데이터의 무결성과 기밀성을 모두 보장하기 위한 블랙박스 시스템을 제공하고자 한다.In addition, the present invention is to provide a black box system for ensuring both the integrity and confidentiality of data input in real time without complicated computational processing.

본 발명은 실시간으로 입력되는 데이터의 무결성과 기밀성을 보장하는 데이터 처리방법으로, 데이터를 미리 결정된 크기의 블록으로 분할하여 데이터 블록을 생성하는 단계, 사용자로부터 입력된 패스워드를 기초로 생성된 시드값을 이용하여 생성된 난수 수열값으로 상기 데이터 블록을 암호화하는 단계, 데이터의 최초 데이터 블록값과 최초 데이터 블록에 관한 타임 스탬프값과 인덱스값을 결합한 값에 대해 서명키에 의한 서명을 수행하여 초기 인증 데이터(Initial Authentication Data;IAD)를 생성하는 단계, 분할된 각 블록에 대해 무결성 검증 데이터를 생성하는 단계; 및 무결성 검증 데이터를 업데이트하는 단계를 포함하여 구성된다.The present invention provides a data processing method for guaranteeing the integrity and confidentiality of data input in real time, dividing the data into blocks having a predetermined size to generate a data block, and a seed value generated based on a password input from a user. Encrypting the data block with a random sequence value generated using the same; initial authentication data by performing a signature with a signature key on a combination of an initial data block value of the data, a time stamp value of the initial data block, and an index value Generating Initial Authentication Data (IAD), generating integrity verification data for each partitioned block; And updating the integrity verification data.

그리고, 본 발명의 암호화 단계는, 각 데이터 블록에 대해 상기 시드값으로부터 상기 데이터 블록과 동일한 크기를 갖는 난수 수열을 생성하는 단계; 및 상기 난수 수열과 데이터 블록값을 연산하여 암호화 데이터를 생성하는 단계를 포함한다.The encryption step of the present invention may include generating a random number sequence having the same size as the data block from the seed value for each data block; And generating encrypted data by calculating the random number sequence and the data block value.

또한, 본 발명의 무결성 검증 데이터를 생성하는 단계는, 상기 각 데이터 블록에 관한 제1 해시값을 생성하는 단계; 상기 제1 해시값을 재해싱하여 상기 데이터 블록에 관한 제2 해시값을 생성하는 단계; 및 상기 제2 해시값에 타임 스탬프를 결합한 값을 무결성 검증 데이터로 출력하는 단계를 포함하고, 상기 최초 블록에 관한 제1 해시값으로서 상기 초기 인증 데이터를 이용하는 것을 특징으로 한다.In addition, generating the integrity verification data of the present invention may include generating a first hash value for each of the data blocks; Regenerating the first hash value to generate a second hash value for the data block; And outputting a value obtained by combining a time stamp with the second hash value as integrity verification data, and using the initial authentication data as a first hash value for the first block.

그리고, 본 발명의 제1 해시값을 생성하는 단계는, 현재 데이터 블록값에 직전 데이터 블록의 제1 해시값, 현재 데이터 블록에 관한 타임 스탬프값 및 현재 데이터 블록에 관한 인덱스값을 결합하고, 상기 결합된 값을 해싱하여 제1 해시값을 생성하는 것을 특징으로 한다.The generating of the first hash value of the present invention may include combining the first hash value of the previous data block, the time stamp value of the current data block, and the index value of the current data block with the current data block value. And hashing the combined value to produce a first hash value.

본 발명은 현재 데이터 블록에 관한 제1 해시값이 생성되면, 직전 데이터 블록에 관한 제1 해시값 및 현재 데이터 블록값을 삭제하는 단계를 더 포함한다. The present invention further includes the step of deleting the first hash value for the immediately preceding data block and the current data block value when the first hash value for the current data block is generated.

그리고, 무결성 검증 데이터 업데이트 단계는, 현재 데이터 블록의 제1 해시값과 직전 데이터 블록의 제 2해시값을 결합하여 해싱하는 단계; 및 상기 해싱값에 직전 데이터 블록의 타임 스탬프를 부가한 값을 직전 데이터 블록에 관한 무결성 검증 데이터 업데이트값으로 출력하는 단계를 포함한다.The integrity verification data updating step may include: hashing by combining the first hash value of the current data block and the second hash value of the previous data block; And outputting a value obtained by adding a time stamp of a previous data block to the hashing value as an integrity verification data update value for the previous data block.

한편, 본 발명은 실시간으로 입력되는 데이터의 무결성과 기밀성을 보장하는 데이터 처리장치로서, 입력 데이터 스트림을 미리 결정된 크기의 데이터 블록으로 분할하는 데이터 블록 생성 모듈; 사용자로부터 입력된 패스워드를 기초로 시드값을 생성하고, 상기 데이터의 최초 데이터 블록값, 최초 데이터 블록에 관한 타임 스탬프값 및 인덱스값을 결합한 값에 대해 서명키에 의한 서명을 수행하여 초기 인증 데이터를 생성하는 보안 저장 모듈; 상기 시드값을 통해 생성된 난수 수열값을 이용하여 상기 데이터 블록을 암호화하는 데이터 암호화 처리 모듈; 및 상기 데이터 블록 각각에 대해 무결성 검증 데이터를 생성하고 업데이트하는 무결성 검증 데이터 처리 모듈을 포함하여 구성된다. On the other hand, the present invention provides a data processing apparatus for ensuring the integrity and confidentiality of data input in real time, comprising: a data block generation module for dividing an input data stream into data blocks having a predetermined size; A seed value is generated based on a password input from a user, and the initial authentication data is signed by signing a combination of an initial data block value of the data, a time stamp value of the initial data block, and an index value. A secure storage module for generating; A data encryption processing module for encrypting the data block by using the random number value generated through the seed value; And an integrity verification data processing module for generating and updating integrity verification data for each of the data blocks.

본 발명의 보안 저장 모듈은 상기 초기 인증 데이터, 상기 서명키 및 상기 시드값을 저장하는 것을 특징으로 한다.The secure storage module of the present invention is characterized by storing the initial authentication data, the signature key and the seed value.

또한, 본 발명의 데이터 암호화 처리 모듈은 상기 시드값을 기초로 상기 데이터 블록과 동일한 크기를 갖는 난수 수열을 생성하고, 상기 난수 수열과 상기 데이터 블록값을 연산하여 암호화 데이터를 생성한다.The data encryption processing module of the present invention generates a random number sequence having the same size as the data block based on the seed value, and generates encrypted data by calculating the random number sequence and the data block value.

본 발명의 무결성 검증 데이터 처리모듈은, 현재 데이터 블록값에 직전 데이터 블록에 관한 제1 해시값, 현재 데이터 블록에 관한 타임 스탬프값 및 현재 데이터 블록에 관한 인덱스값을 결합하고 해싱함으로써 현재 데이터 블록에 관한 제1 해시값을 생성하는 제1 해시모듈; 상기 제1 해시값을 저장하는 제1 해시값 저장모듈; 상기 제1 해시값을 재해싱하여 제2 해시값을 생성하는 제2 해시모듈; 상기 제2 해시값을 저장하는 제2 해시값 저장모듈; 및 상기 제2 해시값에 현재 데이터 블록에 관한 타임 스탬프값을 결합하여 현재 데이터 블록에 관한 무결성 검증 데이터를 생성하는 무결성 검증 데이터 생성 모듈을 포함한다.The integrity verification data processing module of the present invention combines and hashes a first hash value for the previous data block, a time stamp value for the current data block, and an index value for the current data block to the current data block with the current data block value. A first hash module for generating a first hash value relating to the first hash value; A first hash value storage module for storing the first hash value; A second hash module for regenerating the first hash value to generate a second hash value; A second hash value storage module for storing the second hash value; And an integrity verification data generation module for generating integrity verification data for the current data block by combining the second hash value with a time stamp value for the current data block.

그리고, 본 발명의 무결성 검증 데이터 처리 모듈은 현재 데이터 블록에 관한 제1 해시값과 직전 데이터 블록에 관한 제2 해시값을 결합하여 해싱하고, 직전 데이터 블록의 타임 스탬프값을 부가한 값을 직전 데이터블록에 관한 무결성 검증 데이터 업데이트값으로 출력하는 무결성 검증 데이터 업데이트 모듈을 더 포함한다.The integrity verification data processing module of the present invention combines and hashes the first hash value for the current data block and the second hash value for the previous data block, and adds the time stamp value of the immediately preceding data block to the previous data. The module may further include an integrity verification data update module configured to output an integrity verification data update value for the block.

본 발명의 보안 저장 모듈은 스마트 카드와 같은 보안 저장소(Secure Storage)인 것을 특징으로 한다. The secure storage module of the present invention is characterized by being a secure storage such as a smart card.

한편, 본 발명은 실시간으로 입력되는 데이터를 수집 및 저장하는 블랙박스 시스템으로서, 상기한 특징들을 구비한 데이터 처리 장치; 데이터를 수신하고, 사용자 입력 매체로부터 사용자 입력을 수신하는 입력 인터페이스; 및 암호화 데이터 및 상기 무결성 검증 데이터를 저장하는 데이터 저장 모듈을 포함한다. On the other hand, the present invention is a black box system for collecting and storing data input in real time, a data processing device having the above characteristics; An input interface for receiving data and receiving user input from a user input medium; And a data storage module for storing encrypted data and the integrity verification data.

상기와 같이, 본 발명에 의하면 블랙박스 시스템에 실시간으로 저장되는 데이터에 대해서 무결성 및 기밀성 모두를 함께 보장할 수 있다. 즉, 블랙박스 시스템에 저장된 데이터 원본의 진위여부(원본 데이터의 생성시간 포함)를 입증하고, 데이터의 훼손 여부(위조, 변조, 삭제(특정 시점 이후의 전부 삭제를 포함) 등)를 검출할 수 있다. 또한, 권한 없는 제3자에 의한 데이터 열람을 금지할 수 있게 되어, 블랙박스 내에 저장된 데이터 유출에 따른 사용자의 프라이버시 침해를 방지할 수 있다.
As described above, according to the present invention, both integrity and confidentiality may be guaranteed together with data stored in the black box system in real time. That is, it is possible to verify the authenticity of the data source stored in the black box system (including the creation time of the original data), and to detect whether the data is damaged (forgery, tampering, deletion (including all deletion after a certain point in time), etc.). have. In addition, it is possible to prohibit the viewing of data by an unauthorized third party, thereby preventing the user's privacy infringement due to data leakage stored in the black box.

도 1은 본 발명의 일실시예에 따른 블랙박스 시스템을 개략적으로 도시한 블록도이다.
도 2는 본 발명의 일실시예에 따른 블랙박스 시스템 내 무결성 및 기밀성 보호장치의 상세 구성을 도시한 블록도이다.
도 3은 본 발명의 바람직한 일실시예에 의한 기밀성 보장을 위한 데이터 암호화 처리의 연산을 도시한 흐름도이다.
도 4는 본 발명의 바람직한 일실시예에 의한 데이터 암호화 처리 연산을 도시한 플로우챠트이다.
도 5는 본 발명의 바람직한 일실시예에 의한 블록 데이터와 난수에 의해 생성된 암호화 데이터의 관계를 나타낸 표이다.
도 6은 본 발명의 바람직한 일실시예에 의한 무결성 보장을 위한 데이터 연산처리를 도시한 플로우챠트이다.
도 7은 본 발명의 바람직한 일실시예에 의한 무결성 보장을 위한 연산처리에 사용된 데이터들간의 상관관계를 나타낸 표이다.
1 is a block diagram schematically illustrating a black box system according to an embodiment of the present invention.
2 is a block diagram showing the detailed configuration of the integrity and confidentiality protection device in the black box system according to an embodiment of the present invention.
3 is a flowchart showing the operation of data encryption processing to ensure confidentiality according to a preferred embodiment of the present invention.
4 is a flowchart showing a data encryption processing operation according to a preferred embodiment of the present invention.
5 is a table showing a relationship between block data and encrypted data generated by random numbers according to an embodiment of the present invention.
6 is a flowchart illustrating a data operation process for ensuring the integrity according to an embodiment of the present invention.
7 is a table showing correlations between data used in arithmetic processing to ensure integrity according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 이들 실시예는 오로지 본 발명을 보다 구체적으로 설명하기 위한 것으로, 본 발명의 범위가 이들 실시예에 의해 제한되지 않는다는 것은 당업계에서 통상의 지식을 가진 자에게 있어서 자명할 것이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. These examples are only for illustrating the present invention in more detail, it will be apparent to those skilled in the art that the scope of the present invention is not limited by these examples.

도 1은 본 발명의 일실시예에 따른 블랙박스 시스템을 개략적으로 도시하고 있다. 도 1을 참조하면, 블랙박스 시스템은 다양한 정보들을 입력하는 데이터 입력부(100), 데이터 입력부(100)에 의해 입력된 정보를 수집 및 저장하는 블랙박스 시스템(200) 및 사용자로부터 블랙박스와 관련된 제어명령 등을 입력받기 위한 사용자 입력장치(300)를 포함한다.1 schematically illustrates a black box system according to an embodiment of the present invention. Referring to FIG. 1, the black box system includes a data input unit 100 for inputting various information, a black box system 200 for collecting and storing information input by the data input unit 100, and control related to the black box from a user. And a user input device 300 for receiving a command or the like.

데이터 입력부(100)는 음성, 영상 등과 같은 다양한 정보를 검출하기 위한 각종 장치들을 포함한다. 예를 들면, 데이터 입력부(100)는 영상을 촬영하는 영상촬영장치(110), 음성, 신호음 등을 검출하는 음향검출장치(120), 속도 변화를 감지하는 가속 감지장치(130), 회전 등을 감지하는 각속도 감지장치(140) 및 충돌 여부를 감지하는 충격 감지장치(150) 등을 포함할 수 있다. The data input unit 100 includes various devices for detecting various information such as voice and video. For example, the data input unit 100 may include an image photographing apparatus 110 for capturing an image, an acoustic detecting apparatus 120 for detecting a voice, a signal sound, and the like, an acceleration detecting apparatus 130 for detecting a speed change, and a rotation. It may include an angular velocity detection device 140 for detecting and a shock detection device 150 for detecting the collision.

사용자 입력장치(300)는 블랙박스 시스템에서의 데이터 암호화에 관한 패스워드 설정, 블랙박스에 저장된 데이터의 열람, 무결성 검증 등을 위한 정보들을 사용자로부터 입력받아 블랙박스 시스템(200)의 입력 인터페이스(210)로 전달하는 장치로서, 예를 들면 퍼스널 컴퓨터, 휴대폰, PDA등 사용자가 제어명령을 입력할 수 있는 단말로 구현될 수 있다. The user input device 300 receives information for setting a password for data encryption in the black box system, reading data stored in the black box, integrity verification, etc. from the user, and input the interface 210 of the black box system 200. As an apparatus for transmitting to a computer, for example, a personal computer, a mobile phone, a PDA, etc., the user may input a control command.

블랙박스 시스템(200)은 실시간으로 수집되는 데이터의 무결성 및 기밀성을 보호하기 위한 데이터 처리 및 저장이 이루어지는 장치로서, 입력 인터페이스(210), 무결성 및 기밀성 보호 장치(250) 및 데이터 저장모듈(240)을 포함한다.The black box system 200 is a device in which data processing and storage is performed to protect the integrity and confidentiality of data collected in real time. The black box system 200 includes an input interface 210, an integrity and confidentiality protection device 250, and a data storage module 240. It includes.

입력 인터페이스(210)는 데이터 입력부(100)에서 입력된 데이터 신호를 무결성 및 기밀성 보호 장치(250)로 전달한다. 만약, 데이터 입력부에서 입력된 데이터 신호가 아날로그 형태라면, 입력 인터페이스(210)는 데이터 신호를 디지털 형태의 입력 데이터 스트림으로 변환하고, 변환된 입력 데이터 신호를 무결성 및 기밀성 보호 장치(250)로 전달한다. 또한, 입력 인터페이스(210)는 사용자 입력 장치(300)로부터 입력되는 신호를 무결성 및 기밀성 보호 장치(250)로 전달한다.The input interface 210 transmits the data signal input from the data input unit 100 to the integrity and confidentiality protection device 250. If the data signal input from the data input unit is in an analog form, the input interface 210 converts the data signal into a digital input data stream and transfers the converted input data signal to the integrity and confidentiality protection device 250. . In addition, the input interface 210 transmits a signal input from the user input device 300 to the integrity and confidentiality protection device 250.

무결성 및 기밀성 보호 장치(250)는 무결성 및 기밀성 보호 알고리즘을 실행하여 입력 인터페이스(210)로부터 수신한 입력 데이터를 처리하는 장치로, 보안 저장모듈(220)과 무결성 및 기밀성 연산 처리 모듈(230)을 포함한다. 무결성 및 기밀성 보호 장치(250)에 관해서는, 이하 도 2를 참조하여 보다 상세하게 설명하도록 한다.The integrity and confidentiality protection device 250 executes an integrity and confidentiality protection algorithm to process input data received from the input interface 210. The integrity and confidentiality protection device 250 may be configured to include the secure storage module 220 and the integrity and confidentiality calculation processing module 230. Include. The integrity and confidentiality protection device 250 will be described in more detail with reference to FIG. 2 below.

한편, 데이터 저장 모듈(240)은 무결성 및 기밀성 보호 장치(250)에서 생성된 암호화된 데이터와 무결성 검증 데이터를 저장하는 메모리로서, 보안성이 보장된 보안 저장 모듈(220) 내 메모리와는 달리 보안이 취약한 일반 메모리로도 구현될 수 있다.
On the other hand, the data storage module 240 is a memory for storing the encrypted data and the integrity verification data generated by the integrity and confidentiality protection device 250, unlike the memory in the secure storage module 220 is guaranteed security It can also be implemented with this vulnerable generic memory.

도 2는 본 발명의 바람직한 일실시예에 따른 무결성 및 기밀성 보호장치(250)의 상세 구성을 도시한 블록도이다. 2 is a block diagram showing the detailed configuration of the integrity and confidentiality protection device 250 according to an embodiment of the present invention.

도 2를 참조하면, 무결성 및 기밀성 보호장치(250)는 보안 저장 모듈(220)과, 입력 데이터 스트림에 대해 무결성 및 기밀성 보호 알고리즘을 실행하여 데이터 처리를 수행하는 무결성 및 기밀성 연산처리 모듈(230)를 포함한다.Referring to FIG. 2, the integrity and confidentiality protection device 250 includes a secure storage module 220 and an integrity and confidentiality operation processing module 230 for executing data processing by executing an integrity and confidentiality protection algorithm on an input data stream. It includes.

보안 저장 모듈(220)은 데이터 암호화 및 보안키 생성 알고리즘 등을 실행하는 프로세서(222)와 데이터를 저장하기 위한 메모리(224)를 포함하고, 예를 들면 집적회로(IC) 칩을 내장한 스마트 카드로 구현될 수 있다. The secure storage module 220 includes a processor 222 that executes data encryption and security key generation algorithms, and a memory 224 for storing data. For example, a smart card having an integrated circuit (IC) chip is included. It can be implemented as.

보안 저장 모듈의 메모리(224)에는 블랙박스를 셋업할 때 블랙박스 시스템의 권한있는 사용자가 설정한 패스워드로부터 생성된 시드값과 랜덤하게 생성된 서명키가 미리 저장되어 있다. 즉, 블랙박스의 셋업단계에서, 입력 인터페이스(210)를 통해 사용자로부터 패스워드가 입력되면, 보안 저장 모듈(220)의 프로세서(222)는 미리 설정된 알고리즘을 실행하여 시드값을 생성한다. 여기서 생성된 시드값은 데이터 암호화 처리를 위한 난수 수열 생성을 위해 이용되는 값으로, 보안성을 보장하기 위해 보안 저장 모듈 내 메모리(224)에 저장된다. 또한, 보안 저장 모듈(220)은 서명키/서명검증키 쌍을 램덤하게 생성하여, 서명키는 보안 저장 모듈(220) 내 메모리(224)에 저장하고, 서명 검증키는 데이터 저장 모듈(240)에 저장한다. 서명 검증키는 차후 무결성 검증시에 사용될 수 있다. The memory 224 of the secure storage module stores in advance a seed value generated from a password set by an authorized user of the black box system and a randomly generated signature key when the black box is set up. That is, in the setup phase of the black box, if a password is input from the user through the input interface 210, the processor 222 of the secure storage module 220 executes a preset algorithm to generate a seed value. The seed value generated here is a value used for generating a random number sequence for data encryption processing and is stored in the memory 224 in the secure storage module to ensure security. In addition, the secure storage module 220 randomly generates a signature key / signature verification key pair, so that the signature key is stored in the memory 224 in the secure storage module 220, and the signature verification key is the data storage module 240. Store in The signature verification key can be used for future integrity verification.

또한, 보안 저장 모듈(220) 내 프로세서(222)는 데이터 블록 생성 모듈(231)로부터 입력 데이터의 첫번째 데이터 블록을 수신하면, 첫번째 데이터 블록값에 첫번째 블록에 관한 타임 스탬프값 및 인덱스값을 연결하고, 보안 저장 모듈(220) 내 메모리(224)에 저장되어 있는 서명키로 전자서명을 하여 초기 인증 데이터(Initial Authentication Data, 이하, 'IAD')를 생성한다. 생성된 IAD는 보안 저장 모듈(220) 내 메모리(224)에 저장되고, 이후 무결성 검증 데이터 생성시 최초 블록에 관한 제1 해시값으로 사용된다. In addition, when the processor 222 of the secure storage module 220 receives the first data block of the input data from the data block generation module 231, the processor 222 connects the time stamp value and the index value of the first block to the first data block value. The digital signature is generated using a signature key stored in the memory 224 of the secure storage module 220 to generate initial authentication data (hereinafter, 'IAD'). The generated IAD is stored in the memory 224 in the secure storage module 220 and then used as the first hash value for the first block in generating integrity verification data.

무결성 및 기밀성 연산처리 모듈(230)는 데이터 블록 생성모듈(231), 데이터 암호화 처리 모듈(232), 제1 해시모듈(233), 제1 해시값 저장 모듈(235), 제2 해시모듈(234), 제2 해시값 저장 모듈(236), 무결성 검증 데이터 생성 모듈(237) 및 무결성 검증 데이터 업데이트 모듈(239)을 더 포함할 수 있다.The integrity and confidentiality operation processing module 230 may include a data block generation module 231, a data encryption processing module 232, a first hash module 233, a first hash value storage module 235, and a second hash module 234. ), The second hash value storage module 236, the integrity verification data generation module 237, and the integrity verification data update module 239 may be further included.

데이터 블록 생성모듈(231)은 입력 인터페이스(210)로부터 수신한 디지털 입력 데이터 스트림들을 소정 크기의 블록으로 분할하여 복수의 데이터 블록을 생성한다. The data block generation module 231 generates a plurality of data blocks by dividing the digital input data streams received from the input interface 210 into blocks having a predetermined size.

데이터 암호화 처리 모듈(232)은 보안 저장 모듈(220)의 메모리(224)에 저장된 시드값을 이용하여 데이터 블록의 크기와 동일한 크기를 갖는 난수 수열을 데이터 블록 각각에 대해 생성한다. 그리고, 데이터 블록 모듈(231)로부터 수신한 데이터 블록 각각에 대해 난수 수열을 이용하여 연산을 수행함으로써 데이터를 암호화한다. 데이터 암호화는 예를 들면 데이터 블록의 값과 난수 수열의 XOR 연산에 의해 수행될 수 있으나, 이에 한정되지 않고 다양한 방법을 이용할 수 있다. 데이터 암호화 연산에 의해 암호화된 데이터는 데이터 저장 모듈(240)에 저장된다.The data encryption processing module 232 generates a random number sequence having the same size as that of the data block for each data block by using the seed value stored in the memory 224 of the secure storage module 220. The data is encrypted by performing an operation on each of the data blocks received from the data block module 231 using a random number sequence. Data encryption may be performed by, for example, an XOR operation of a value of a data block and a random number sequence, but various methods may be used without being limited thereto. The data encrypted by the data encryption operation is stored in the data storage module 240.

제1 해시모듈(233)은 데이터 블록 모듈(231)로부터 수신한 데이터 블록에 대해 해시 연산을 수행한다. 제1 해시모듈(233)은 현재 데이터 블록 값에 직전 데이터 블록의 제1 해시값, 현재 데이터 블록에 관한 타임 스탬프값 및 인덱스값을 결합하여 해싱함으로써, 현재 데이터 블록에 관한 제1 해시값을 생성한다. 그러나, 첫번째 블록의 경우에는, 직전 데이터 블록이 존재하지 않기 때문에 현재 데이터 블록에 관한 제1 해시값을 생성할 수 없다. 본 발명은 제1 블록의 제1 해시값으로서 보안 저장 모듈(220)에 저장된 초기 인증 데이터(IAD)를 이용함으로써 이러한 문제를 해결한다.The first hash module 233 performs a hash operation on the data block received from the data block module 231. The first hash module 233 generates a first hash value for the current data block by combining and hashing the first hash value of the previous data block, the time stamp value for the current data block, and the index value to the current data block value. do. However, in the case of the first block, the first hash value for the current data block cannot be generated because there is no previous data block. The present invention solves this problem by using the initial authentication data IAD stored in the secure storage module 220 as the first hash value of the first block.

제1 해시값 저장 모듈(235)는 제1 해시모듈(233)에 의해 생성된 현재 데이터 블록의 제1 해시값을 저장한다.The first hash value storage module 235 stores the first hash value of the current data block generated by the first hash module 233.

제2 해시모듈(234)은 제1 해시값을 해싱하여 현재 데이터 블록의 제2 해시값을 생성하고, 제2 해시값 저장 모듈(236)는 제2 해시모듈(234)에서 생성한 제2 해시값을 저장한다.The second hash module 234 hashes the first hash value to generate a second hash value of the current data block, and the second hash value storage module 236 generates a second hash generated by the second hash module 234. Save the value.

무결성 검증 데이터 생성 모듈(237)은 현재 블록의 제2 해시값에 현재 데이터 블록의 타임 스탬프와 결합하여 현재 데이터 블록의 무결성 검증 데이터를 생성하고, 생성된 무결성 검증 데이터를 데이터 저장 모듈(240)에 전송한다.The integrity verification data generation module 237 combines the second hash value of the current block with the time stamp of the current data block to generate integrity verification data of the current data block, and generates the generated integrity verification data to the data storage module 240. send.

무결성 검증 데이터 업데이트 모듈(239)는 데이터 저장 모듈(240)에 저장된 무결성 검증 데이터를 업데이트하는 장치로서, 현재 데이터 블록에 관한 제1 해시값이 생성되면, 현재 데이터 블록에 관한 제1 해시값과 직전 데이터 블록의 제2 해시값을 결합하여 해싱한 값에 직전 데이터 블록의 타임 스탬프를 결합한 값을 직전 데이터 블록의 무결성 검증 데이터로 출력하여 데이터 저장 모듈(240)에 전송한다. 이에 따라, 직전 데이터 블록의 무결성 검증 데이터는 새로운 값으로 변환(업데이트)되어 저장된다.
The integrity verification data update module 239 is an apparatus for updating the integrity verification data stored in the data storage module 240. When the first hash value for the current data block is generated, the integrity verification data update module 239 is immediately before the first hash value for the current data block. The value obtained by combining the hash value by combining the second hash value of the data block and the time stamp of the previous data block is output as the integrity verification data of the previous data block and transmitted to the data storage module 240. Accordingly, the integrity verification data of the immediately preceding data block is converted (updated) to a new value and stored.

본 발명의 바람직한 일실시예에 따른 실시간 무결성 및 기밀성 보장을 위한 데이터 처리방법에 대해 이하 도 3 내지 도 6을 참조하여 설명한다.A data processing method for guaranteeing real-time integrity and confidentiality according to an exemplary embodiment of the present invention will be described below with reference to FIGS. 3 to 6.

도 3은 본 발명의 바람직한 일실시예에 따라 생성되는 입력 데이터 블록과 암호화 데이터 및 무결성 검증 데이터 및 무결성 검증 데이터 업데이트값을 도시한다.3 illustrates an input data block and encrypted data and integrity verification data and integrity verification data update values generated in accordance with one preferred embodiment of the present invention.

도 3을 참조하면, 데이터 입력모듈에서 입력된 데이터들, 즉 디지털 형태의 입력 데이터 스트림은 일정 크기의 블록으로 분할되여 총 N개의 데이터 블록 BD1, BD2, BD3, BD4, ..., BDN를 생성한다.Referring to FIG. 3, data input from a data input module, that is, an input data stream in a digital form is divided into blocks of a predetermined size so that a total of N data blocks BD 1 , BD 2 , BD 3 , BD 4 , ... , BD N is generated.

N개의 데이터 블록 BD1, BD2, BD3, BD4, ..., BDN에 대해 암호화 처리가 수행되면 암호화된 데이터 ED1,ED2,ED3,..., EDN을 생성한다. 그리고, N개의 데이터 블록 BD1, BD2, BD3, BD4, ..., BDN에 대해 무결성 검증 데이터 처리가 수행되면 N개의 무결성 검증 데이터 IVD1, IVD2, IVD3, ..., IVDN이 생성된다. 무결성 검증 데이터 형성과정에서, 데이터 블록 BD1, BD2, BD3, BD4, ..., BDN은 순차적으로 삭제되어 데이터 저장 모듈 내에 존재하지 않기 때문에, 데이터 저장 모듈이 노출되더라도 원본 데이터의 값이 바로 노출되지 않게 된다. 따라서, 블랙박스 시스템에 저장된 데이터의 기밀성을 보장할 수 있다.When encryption processing is performed on the N data blocks BD 1 , BD 2 , BD 3 , BD 4 , ..., BD N , the encrypted data ED 1 , ED 2 , ED 3 , ..., ED N is generated. . In addition, when integrity verification data processing is performed on the N data blocks BD 1 , BD 2 , BD 3 , BD 4 , ..., BD N , the N integrity verification data IVD 1 , IVD 2 , IVD 3 , ... , IVD N is generated. In the process of data integrity verification, the data blocks BD 1 , BD 2 , BD 3 , BD 4 , ..., BD N are sequentially deleted and do not exist in the data storage module. The value is not immediately exposed. Therefore, it is possible to ensure the confidentiality of the data stored in the black box system.

그리고, 무결성 검증 데이터 IVD1, IVD2, IVD3, ..., IVDN는 무결성 검증 데이터 업데이트 과정을 통해 무결성 검증 데이터 업데이트값 IVD'1, IVD'2, IVD'3, ..., IVD'N-1으로 치환되어 데이터 저장 모듈 내에 무결성 검증 데이터값 IVD1, IVD2, IVD3, ..., IVDN-1은 존재하지 않는다. 이와 같이, 본 발명에 의하면, 무결성 검증 데이터값이 아닌 무결성 검증 데이터를 업데이트한 값이 저장되기 때문에, 종래기술 1에 비해 보다 보안성을 더욱 강화할 수 있다. 이에 따라, 종래기술 1에서 탐지할 수 없었던 특정 시점 이후의 원본 데이터와 무결성 검증 데이터 쌍의 전부 삭제를 탐지할 수 있게 된다.
In addition, the integrity verification data IVD 1 , IVD 2 , IVD 3 , ..., IVD N is the integrity verification data update value IVD ' 1 , IVD' 2 , IVD ' 3 , ..., IVD ' Replaced by N-1 , the integrity verification data values IVD 1 , IVD 2 , IVD 3 , ..., IVD N-1 are not present in the data storage module. As described above, according to the present invention, since the updated value of the integrity verification data is stored instead of the integrity verification data value, security can be further enhanced compared to the prior art 1. Accordingly, it is possible to detect the deletion of all original data and integrity verification data pairs after a specific time point that could not be detected in the prior art 1.

도 4는 본 발명의 바람직한 일실시예에 의한 블랙박스 시스템(200) 내 데이터 암호화 처리 연산을 도시한 플로우챠트이고, 도 5는 블록 데이터와 난수에 의해 생성된 암호화 데이터의 관계를 나타내는 표이다.4 is a flowchart showing a data encryption processing operation in the black box system 200 according to an exemplary embodiment of the present invention, and FIG. 5 is a table showing a relationship between block data and encrypted data generated by random numbers.

도 4를 참조하면, 블랙박스 시스템(200)의 입력 인터페이스(210)를 통해 입력 데이터 스트림들이 입력되면, 입력 데이터 스트림을 일정 크기의 블록으로 분할하여 복수의 입력 데이터 블록들을 형성한다(S400). Referring to FIG. 4, when input data streams are input through the input interface 210 of the black box system 200, the input data streams are divided into blocks having a predetermined size to form a plurality of input data blocks (S400).

그리고, 첫 번째 데이터 블록(BD1)에 대해 보안 저장 모듈에 저장되어 있는 시드값을 이용하여 첫번째 데이터 블록의 크기와 동일한 크기를 갖는 난수 수열을 생성한다(S420). The random number sequence having the same size as that of the first data block is generated using the seed value stored in the secure storage module for the first data block BD 1 (S420).

도 5를 참조하면,

Figure 112011069265015-pat00001
는 XOR 연산의 논리 연산자 부호로서, 첫 번째 난수 수열(R1)과 첫번째 데이터 블록(BD1)을 XOR 연산하여 첫번째 데이터 블록의 암호화 데이터(ED1)를 생성한다(S440). 이에 따라 생성된 생성된 암호화 데이터(ED1)는 데이터 저장 모듈에 저장된다(S460).5,
Figure 112011069265015-pat00001
X is a logical operator code of the XOR operation, and generates an encrypted data ED 1 of the first data block by performing an XOR operation on the first random number sequence R 1 and the first data block BD 1 (S440). The generated encrypted data ED 1 is stored in the data storage module (S460).

그리고, 암호화할 다음 블록이 존재하는지 여부를 판단하여(S480), 다음 블록이 존재한다면 난수 수열을 생성하는 단계인 S420으로 복귀한다. 그러나, 암호화할 블록이 존재하지 않으면 암호화 처리를 종료한다.
Then, it is determined whether the next block to be encrypted exists (S480), and if the next block exists, the process returns to S420, in which a random number sequence is generated. However, if no block to encrypt exists, the encryption process ends.

도 6은 본 발명의 바람직한 일실시예에 의한 무결성 보장을 위한 데이터 처리를 도시한 플로우챠트이다.6 is a flowchart illustrating data processing for guaranteeing integrity according to a preferred embodiment of the present invention.

도 6을 참조하면, 데이터 블록 생성모듈(231)에서 생성된 복수의 데이터 블록들 중 첫번째 데이터 블록값(BD1)에 첫번째 블록의 타임스탬프 값(ts1)과 첫번째 블록을 나타내는 인덱스 값 1을 결합하고, 보안저장 모듈에 저장된 서명키(SK)로 서명을 하여, 결과값을 초기 인증 데이터(IAD)를 생성한다(S700). 그리고, IAD를 보안이 강화된 보안저장모듈에 저장한다(S710). Referring to FIG. 6, the first data block value BD 1 of the plurality of data blocks generated by the data block generation module 231 is converted into a time stamp value ts 1 of the first block and an index value 1 representing the first block. Combine, and sign with a signature key (SK) stored in the secure storage module, and generates the initial authentication data (IAD) of the result value (S700). Then, the IAD is stored in the security enhanced security storage module (S710).

그리고, 데이터 블록이 첫번째 블록 데이터, 즉 최초 데이터 블록인지 여부를 판별하여(S720), 데이터 블록이 최초 데이터 블록인 경우 IAD를 최초 데이터 블록에 관한 제1 해시값으로 저장한 후에 현재 블록 데이터값을 메모리에서 삭제한다(S735). Then, it is determined whether the data block is the first block data, that is, the first data block (S720). If the data block is the first data block, the current block data value is stored after storing the IAD as the first hash value for the first data block. Delete from memory (S735).

그러나, 데이터 블록이 최초 데이터 블록이 아닌 경우에는, 현재 데이터 블록값, 현재 블록의 타임 스탬프값 및 현재 블록의 인덱스값을 직전 블록의 제1 해시값과 결합하여 해싱함으로써 현재 블록의 제1 해시값을 생성한다(S730).However, if the data block is not the first data block, the first hash value of the current block is hashed by combining the current data block value, the time stamp value of the current block, and the index value of the current block with the first hash value of the previous block. To generate (S730).

현재 데이터 블록의 제1 해시값이 생성되면, 데이터 저장 모듈에 저장되어 있는 현재 데이터 블록값과 직전 블록의 제1 해시값을 삭제한다(S740). When the first hash value of the current data block is generated, the current data block value stored in the data storage module and the first hash value of the previous block are deleted (S740).

그리고, 제2 해시모듈에 의해 현재 블록의 제1 해시값을 재해싱하여, 현재 블록의 제2 해시값을 생성한다(S750).In operation S750, the second hash module regenerates the first hash value of the current block to generate a second hash value of the current block.

그리고, 제2 해시값을 현재 블록의 타임 스탬프값을 연결한 값을 현재 블록에 관한 무결성 검증 데이터로서 데이터 저장 모듈에 저장한다(S760).In operation S760, a value obtained by connecting the second hash value with the time stamp value of the current block is stored in the data storage module as integrity verification data regarding the current block.

현재 블록의 제1 해시값이 생성되면, 직전 블록에 관한 무결성 검증 데이터를 업데이트하기 위해, 제2 해시값 저장 모듈에 저장되어 있는 직전 블록의 제2 해시값과 현재 블록의 제1 해시값을 결합한 값을 해싱하고, 직전 블록의 타임 스탬프를 결합한 값으로 직전 블록에 관한 무결성 검증 데이터를 변환(업데이트)한다(S770). 상기 무결성 검증 데이터의 업데이트값은 데이터 저장 모듈에 저장된다. 이와 같은 무결성 검증 데이터 업데이트 연산 과정은 현재 블록의 제2 해시값을 구하기 전, 즉 S750단계 이전에 수행될 수도 있다.  When the first hash value of the current block is generated, the second hash value of the previous block stored in the second hash value storage module and the first hash value of the current block are combined to update the integrity verification data for the previous block. The value is hashed, and the integrity verification data for the previous block is converted (updated) to a value obtained by combining the time stamps of the previous block (S770). The update value of the integrity verification data is stored in the data storage module. The integrity verification data update operation may be performed before obtaining the second hash value of the current block, that is, before step S750.

상기 연산을 수행한 후, 다음 블록이 있는지 여부를 판단하여(S780), 다음 블록이 있으면 상기 S730단계로 되돌아가서 S770까지의 단계를 반복 수행한다. 만약, 다음 블록이 없는 경우에는 상기 과정을 종료한다.
After performing the operation, it is determined whether there is a next block (S780), and if there is a next block, the process returns to step S730 and repeats the steps up to S770. If there is no next block, the process ends.

도 7은 무결성 보장을 위한 연산처리에 사용된 데이터들간의 상관관계를 나타내는 표이다. 도 7에서, h()는 해시연산을 의미하고, ∥는 결합 연산을 의미한다.7 is a table showing correlations between data used in arithmetic processing to ensure integrity. In FIG. 7, h () means hash operation, and ∥ means join operation.

먼저, 첫번째 데이터 블록을 살펴보면, 첫번째 데이터 블록값, 첫번째 데이터 블록의 타임 스탬프(ts1) 및 인덱스값(1)을 결합한 값에 대해 보안 저장 모듈에 미리 저장되어 있는 서명키(SK)로 서명한 값인 IAD를 첫번째 데이터 블록에 관한 제1 해시값으로 이용한다. First, referring to the first data block, a signature key (SK) pre-stored in the secure storage module is signed for the combination of the first data block value, the time stamp (ts 1 ) and the index value (1) of the first data block. The value IAD is used as the first hash value for the first data block.

그리고, 첫번째 블록의 제 2 해시값(h'1)은 첫번째 블록의 제1 해시값(h1)을 해싱한 값이다. The second hash value h ' 1 of the first block is a hashed value of the first hash value h 1 of the first block.

한편, 첫번째 블록의 무결성 검증 데이터값(IVD1)은 첫번째 블록의 제2 해시값(h'1)과 첫번째 블록의 타임 스탬프(ts1)을 결합한 값이다.Meanwhile, the integrity verification data value IVD 1 of the first block is a value obtained by combining the second hash value h ′ 1 of the first block and the time stamp ts 1 of the first block.

그 다음, 두번째 블록을 살펴보면, 두 번째 블록에 관한 제1 해시값(h2)는 직전 데이터 블록인 제1 블록의 제1 해시값(h1)에 두 번째 블록의 타임스탬프 값(ts2) 및 두번째 블록의 인덱스 값(2)을 결합한 값을 해싱한 값이다. 그리고, 두번째 블록에 관한 제2 해시값(h'2)은 두번째 블록에 관한 제1 해시값(h2)을 해싱한 값이고, 두번째 블록에 관한 무결성 검증 데이터(IVD2)는 두번째 블록에 관한 제2 해시값(h'2)에 두번째 블록의 타임 스탬프값(ts2)을 결합한 값이다.Next, referring to the second block, the first hash value h 2 for the second block is the timestamp value ts 2 of the second block to the first hash value h 1 of the first block that is the previous data block. And a hashed value of the combination of the index values (2) of the second block. The second hash value h ' 2 of the second block is a hash of the first hash value h 2 of the second block, and the integrity verification data IVD 2 of the second block is of the second block. The second hash value h ' 2 is a value obtained by combining the time stamp value ts 2 of the second block.

두번째 블록에 관한 제1 해시값(h2)이 생성되면, 첫번째 블록에 관한 무결성 검증 데이터(IVD1)를 업데이트할 수 있게 된다. 업데이트는, 두번째 블록에 관한 제1 해시값(h2)와 첫번째 블록에 관한 제2 해시값(h'1)을 결합하여 해싱한 값에 첫번째 블록에 관한 타임 스탬프(ts1)를 결합한 값으로 첫번째 블록에 관한 무결성 검증 데이터(IVD1)를 변환하는 것으로 수행된다. When the first hash value h 2 for the second block is generated, the integrity verification data IVD 1 for the first block can be updated. The update is a value obtained by combining the first hash value h 2 of the second block with the second hash value h ' 1 of the first block and the time stamp ts 1 of the first block. Is performed by converting the integrity verification data IVD 1 for the first block.

세번째 이후의 데이터 블록 또한 상기 일련의 방법들로 연산과정을 거쳐 제1 해시값, 제2 해시값, 무결성 검증 데이터, 무결성 검증 데이터 업데이트값을 생성하고 생성된 값들은 데이터 저장 모듈에 저장된다.  The third and subsequent data blocks also generate the first hash value, the second hash value, the integrity verification data, and the integrity verification data update value through the above-described operations, and the generated values are stored in the data storage module.

상기한 데이터 암호화 및 무결성 검증 데이터 처리는 각 블록에 대해 일체적으로 수행될 수 있다.
The data encryption and integrity verification data processing can be performed integrally for each block.

한편, 본 발명의 의해 블랙박스에 저장된 데이터를 열람하는 과정은 이하와 같다. On the other hand, the process of reading the data stored in the black box by the present invention is as follows.

블랙박스 내 데이터를 열람하고자 할 경우, 사용자는 사용자 입력 장치(300)를 통해 블랙박스(200)에 패스워드를 입력해야 한다. 패스워드가 입력되면, 블랙박스(200)는 데이터 암호화 과정에서 사용된 동일한 알고리즘에 따라 패스워드로부터 시드값을 생성하고, 블랙박스 내에 저장된 시드값과 새로 생성된 시드값을 비교하여 양자가 일치하지 않으면 데이터 열람에 실패하게 된다.If you want to read the data in the black box, the user must enter a password to the black box 200 through the user input device (300). When the password is input, the black box 200 generates a seed value from the password according to the same algorithm used in the data encryption process, compares the seed value stored in the black box with the newly generated seed value and if the data do not match, Reading fails.

만약, 양자가 일치할 경우, 연산단계에서 사용한 동일한 방법으로 상기 시드값으로부터 난수 수열을 생성하여, 블랙박스 내 데이터 저장 모듈에 저장된 암호화 데이터와 난수 수열을 XOR 연산한다. XOR 연산에 의한 결과값은 블랙박스 시스템에서 생성된 원본 데이터값이 된다. 따라서, 정확한 패스워드를 알고 있는 사용자만이 블랙박스 시스템에 저장된 원본 데이터를 열람할 수 있다.If they match, a random number sequence is generated from the seed value in the same manner as used in the operation step, and the XOR operation of the encrypted data and the random number sequence stored in the data storage module in the black box is performed. The result of the XOR operation becomes the original data value generated by the black box system. Therefore, only a user who knows the correct password can read the original data stored in the black box system.

또한, 사용자가 데이터의 위/변조, 삭제 여부 등을 확인하기 위한 데이터 무결성 검증은 다음과 같이 이루어진다.  In addition, data integrity verification for checking whether a user has forged / modulated or deleted data is performed as follows.

상기 데이터 열람 과정을 통해 얻어낸 원본 데이터 값은 데이터 저장 모듈에 저장된 무결성 검증 데이터 값들과 함께 무결성 검증 단계의 입력으로 사용된다. The original data value obtained through the data viewing process is used as an input of the integrity verification step together with the integrity verification data values stored in the data storage module.

먼저, 사용자는 보안 저장 모듈에 저장되어 있는 초기 인증 데이터 값(IAD)에 대해 서명 검증키로 서명 검증을 한다. 이 때, 입력은 원본 데이터의 첫 번째 블록 값(BD1), 첫 번째 무결성 검증 데이터에 포함된 첫 번째 데이터 블록의 타임스탬프 값(ts1)과 인덱스 값(1)이고, 만약 서명검증을 통과하지 못하면 무결성 검증은 "실패"가 된다.First, the user performs signature verification with a signature verification key on an initial authentication data value (IAD) stored in a secure storage module. In this case, the inputs are the first block value (BD1) of the original data, the timestamp value (ts1) and the index value (1) of the first data block included in the first integrity verification data. Integrity verification becomes "failure".

만약, 서명검증이 통과되면, 초기 인증 데이터(IAD)를 첫 번째 블록의 제1해시값(h1)으로 사용하고, 첫 번째 블록의 제1해시값(h1)을 재해싱하여 연산된 결과값을 첫 번째 블록의 제2 해시값(h'1)으로 저장한다. If the signature verification passes, the result value calculated by using the initial authentication data IAD as the first hash value h1 of the first block and rehashing the first hash value h 1 of the first block. Is stored as the second hash value h ' 1 of the first block.

첫 번째 블록의 제2 해시값(h'1)을 첫 번째 무결성 검증 데이터(IVD1)에 포함된 타임스탬프 값(ts1)과 결합한 값을 첫 번째 블록의 무결성 검증 데이터 비교값(IVD'1)으로서 메모리에 저장한다.A second hash value of the first blocks (h '1) a first integrity check data (IVD 1) the time stamp value included in (ts 1) and the integrity verification data of the combined value of the first block comparison value (IVD' 1 ) Into memory.

한편, 원본 데이터의 두 번째 블록(BD2)은 첫번째 블록의 제1 해시값(h1), 두 번째 무결성 검증 데이터(IVD2)에 포함된 타임스탬프 값(ts2) 및 인덱스 값(2)과 결합되어 해싱한다. 연산된 결과 값은 두 번째 블록의 제1해시값(h2)으로 사용된다.On the other hand, the second block of the original data (BD 2) is the time stamp value included in the first hash value of the first blocks (h 1), and the second integrity check data (IVD 2) (ts 2) and an index value (2) Combined with hashing. The calculated result value is used as the first hash value h 2 of the second block.

두 번째 블록의 제1 해시값(h2)을 재해싱한 값을 두 번째 블록의 제2 해시값(h'2)으로서 사용하고, 두번째 블록의 제2 해시값을 두 번째 무결성 검증 데이터(IVD'2)에 포함된 타임스탬프 값(ts2)과 결합되어 두 번째 블록의 무결성 검증 데이터 비교값(IVD'2)으로 메모리에 저장된다.The rehashed value of the first hash value h 2 of the second block is used as the second hash value h ' 2 of the second block, and the second hash value of the second block is used as the second integrity verification data IVD. 'is combined with the time stamp value (ts 2) included in the second) two integrity verification data compared value (IVD of the second block, is stored in the memory in 2).

또한, 첫번째 블록의 무결성 검증 데이터 비교값(IVD'1)은 첫번째 블록의 제2 해시값(h'1)과 두번째 블록의 제1 해시값(h2)을 결합하여 해싱한 값에 첫번째 블록의 무결성 검증 데이터(IVD1)에 포함된 타임스탬프 값(ts1)을 결합하여 변환(업데이트)한다.In addition, the integrity verification data comparison value IVD ' 1 of the first block is hashed by combining the second hash value h' 1 of the first block with the first hash value h 2 of the second block. The time stamp values ts 1 included in the integrity verification data IVD 1 are combined to be converted (updated).

두번째 블록 이후의 원본 데이터의 블록 값들은 두번째 블록에 관해 서술한 일련의 방법들로 연산과정을 거쳐 무결성 검증 데이터 프라임값들을 생성하고 생성된 값들은 메모리에 저장된다.The block values of the original data after the second block are processed through a series of methods described for the second block to generate integrity verification data prime values, and the generated values are stored in memory.

이와 같이 생성된 무결성 검증 데이터 비교값들(IVD'1,IVD'2,IVD'3,..,IVD'N)이 데이터 저장 모듈에 저장되어 있는 무결성 검증 데이터 업데이트값(IVD1, IVD2, IVD3, ..., IVDN)들과 일치하는지 비교하고, 비교 결과, 양자가 모두가 일치하면 데이터의 무결성이 보장되는 데 반해, 복수의 블록 중 하나라도 일치하지 않으면 일치하지 않는 부분의 데이터가 훼손이나 제거되었음을 사용자가 알 수 있게 된다. To the integrity check data comparison value generated in this way (IVD '1, IVD' 2 , IVD '3, .., IVD' N) , the integrity verification data update value that is stored in the data storage module (IVD 1, IVD 2, IVD 3 , ..., IVD N ), and the comparison result shows that the data integrity is guaranteed if both match, whereas the data is not matched if any one of the blocks does not match. The user will be able to see that is corrupted or removed.

한편, 상기에서 구체적인 실시예에 의해 본 발명을 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이나 수정이 가능함은 물론이다. 따라서, 본 발명의 기술적 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 청구범위 뿐만 아니라, 이 청구의 범위와 균등한 것에 의해 정해져야 한다.
On the other hand, while the present invention has been described by the specific embodiment, it is obvious that various modifications and changes can be made without departing from the scope of the present invention. Therefore, the technical scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.

100: 데이터 입력부 110: 영상촬영장치
120: 음향검출장치 130: 가속감지장치
140: 각속도감지장치 150: 충격감지장치
200: 블랙박스 시스템 210: 입력 인터페이스
220: 보안 저장모듈
230: 무결성 및 기밀성 연산 처리 모듈 240: 데이터 저장 모듈
250: 무결성 및 기밀성 보호 장치 300: 사용자 입력장치
100: data input unit 110: video recording device
120: sound detection device 130: acceleration detection device
140: angular velocity detection device 150: impact detection device
200: black box system 210: input interface
220: secure storage module
230: integrity and confidentiality processing module 240: data storage module
250: integrity and confidentiality protection device 300: user input device

Claims (13)

실시간으로 입력되는 데이터의 무결성과 기밀성을 보장하는 데이터 처리장치에 의해 데이터를 처리하는 방법으로서,
상기 데이터를 미리 결정된 크기의 블록으로 분할하여 데이터 블록을 생성하는 단계;
사용자로부터 입력된 패스워드를 기초로 생성된 시드값을 이용하여 상기 데이터 블록을 암호화하는 단계;
상기 데이터의 최초 데이터 블록값과 최초 데이터 블록에 관한 타임 스탬프값과 인덱스값을 결합한 값에 대해 서명키에 의한 서명을 수행하여 초기 인증 데이터(Initial Authentication Data;IAD)를 생성하는 단계;
분할된 각 데이터 블록에 대해 무결성 검증 데이터를 생성하는 단계; 및
직전 데이터 블록의 제2 해시값을 이용하여 각 데이터 블록의 상기 무결성 검증 데이터를 업데이트하는 단계를 포함하고,
상기 무결성 검증 데이터를 생성하는 단계는,
현재 데이터 블록값에 직전 데이터 블록의 제1 해시값, 현재 데이터 블록에 관한 타임 스탬프값 및 현재 데이터 블록에 관한 인덱스값을 결합하고, 상기 결합된 값을 해싱하여 상기 각 데이터 블록에 관한 제1 해시값을 생성하는 단계;
상기 제1 해시값을 재해싱하여 상기 데이터 블록에 관한 제2 해시값을 생성하는 단계; 및
상기 제2 해시값에 타임 스탬프를 결합한 값을 무결성 검증 데이터로 출력하는 단계를 포함하고,
상기 최초 블록에 관한 제1 해시값으로서 상기 초기 인증 데이터를 이용하는 것을 특징으로 하는 데이터 처리방법.
A method of processing data by a data processing device that guarantees the integrity and confidentiality of data input in real time,
Dividing the data into blocks of a predetermined size to generate a data block;
Encrypting the data block using a seed value generated based on a password input from a user;
Generating initial authentication data (IAD) by performing a signature with a signature key on a value obtained by combining an initial data block value of the data, a time stamp value of the initial data block, and an index value;
Generating integrity verification data for each partitioned data block; And
Updating the integrity verification data of each data block using the second hash value of the immediately preceding data block,
Generating the integrity verification data,
Combines a first hash value of a previous data block, a time stamp value for a current data block, and an index value for a current data block, and hashes the combined value to a first hash for each data block. Generating a value;
Regenerating the first hash value to generate a second hash value for the data block; And
Outputting a value obtained by combining a time stamp with the second hash value as integrity verification data,
And the initial authentication data is used as a first hash value for the first block.
제 1 항에 있어서,
상기 암호화 단계는,
각 데이터 블록에 대해 상기 시드값으로부터 상기 데이터 블록과 동일한 크기를 갖는 난수 수열을 생성하는 단계; 및
상기 난수 수열과 데이터 블록값을 연산하여 암호화 데이터를 생성하는 단계를 포함하는, 데이터 처리방법.
The method of claim 1,
The encryption step,
Generating a random number sequence having the same size as the data block from the seed value for each data block; And
Generating encrypted data by calculating the random number sequence and a data block value.
삭제delete 삭제delete 제 1 항에 있어서,
현재 데이터 블록에 관한 제1 해시값이 생성되면, 직전 데이터 블록에 관한 제1 해시값 및 현재 데이터 블록값을 삭제하는 단계를 더 포함하는, 데이터 처리방법.
The method of claim 1,
If a first hash value for the current data block is generated, deleting the first hash value for the immediately preceding data block and the current data block value.
제 1 항에 있어서,
상기 무결성 검증 데이터 업데이트 단계는,
현재 데이터 블록의 제1 해시값과 직전 데이터 블록의 제 2해시값을 결합하여 해싱하는 단계; 및
상기 해싱값에 직전 데이터 블록의 타임 스탬프를 부가한 값을 직전 데이터 블록에 관한 무결성 검증 데이터 업데이트값으로 출력하는 단계를 포함하는, 데이터 처리방법.
The method of claim 1,
The integrity verification data update step,
Combining and hashing the first hash value of the current data block and the second hash value of the previous data block; And
And outputting a value obtained by adding a time stamp of a previous data block to the hashing value as an integrity verification data update value for the previous data block.
실시간으로 입력되는 데이터의 무결성과 기밀성을 보장하는 데이터 처리장치로서,
데이터의 입력 데이터 스트림을 미리 결정된 크기의 데이터 블록으로 분할하는 데이터 블록 생성 모듈;
사용자로부터 입력된 패스워드를 기초로 시드값을 생성하고, 상기 데이터의 최초 데이터 블록값, 최초 데이터 블록에 관한 타임 스탬프값 및 인덱스값을 결합한 값에 대해 서명키에 의한 서명을 수행하여 초기 인증 데이터를 생성하는 보안 저장 모듈;
상기 시드값을 이용하여 상기 데이터 블록을 암호화하는 데이터 암호화 처리 모듈; 및
상기 데이터 블록 각각에 대해 무결성 검증 데이터를 생성하고, 직전 데이터 블록의 제2 해시값을 이용하여 각 데이터 블록의 상기 무결성 검증 데이터를 업데이트하는 무결성 검증 데이터 처리 모듈을 포함하고,
상기 무결성 검증 데이터 처리모듈은:
현재 데이터 블록값에 직전 데이터 블록에 관한 제1 해시값, 현재 데이터 블록에 관한 타임 스탬프값 및 현재 데이터 블록에 관한 인덱스값을 결합하고 해싱함으로써 현재 데이터 블록에 관한 제1 해시값을 생성하는 제1 해시모듈;
상기 제1 해시값을 저장하는 제1 해시값 저장모듈;
상기 제1 해시값을 재해싱하여 제2 해시값을 생성하는 제2 해시모듈;
상기 제2 해시값을 저장하는 제2 해시값 저장모듈;
상기 제2 해시값에 현재 데이터 블록에 관한 타임 스탬프값을 결합하여 현재 데이터 블록에 관한 무결성 검증 데이터를 생성하는 무결성 검증 데이터 생성 모듈; 및
현재 데이터 블록에 관한 제1 해시값과 직전 데이터 블록에 관한 제2 해시값을 결합하여 해싱하고, 직전 데이터 블록의 타임 스탬프값을 부가한 값을 직전 데이터 블록에 관한 무결성 검증 데이터 업데이트값으로 출력하는 무결성 검증 데이터 업데이트 모듈을 포함하는, 데이터 처리장치.
As a data processing device that guarantees the integrity and confidentiality of data input in real time,
A data block generation module for dividing an input data stream of data into data blocks of a predetermined size;
A seed value is generated based on a password input from a user, and the initial authentication data is signed by signing a combination of an initial data block value of the data, a time stamp value of the initial data block, and an index value. A secure storage module for generating;
A data encryption processing module for encrypting the data block using the seed value; And
An integrity verification data processing module for generating integrity verification data for each of the data blocks, and updating the integrity verification data of each data block using a second hash value of the immediately preceding data block,
The integrity verification data processing module is:
A first hash value for the current data block by combining and hashing a first hash value for the previous data block, a time stamp value for the current data block, and an index value for the current data block to the current data block value; Hash module;
A first hash value storage module for storing the first hash value;
A second hash module for regenerating the first hash value to generate a second hash value;
A second hash value storage module for storing the second hash value;
An integrity verification data generation module for generating integrity verification data for a current data block by combining the second hash value with a time stamp value for a current data block; And
Combining and hashing the first hash value for the current data block and the second hash value for the previous data block, and outputting the value obtained by adding the time stamp value of the previous data block as an integrity verification data update value for the previous data block. And an integrity verification data update module.
제 7 항에 있어서,
상기 초기 인증 데이터, 상기 서명키 및 상기 시드값은 상기 보안 저장 모듈에 저장되는 것을 특징으로 하는, 데이터 처리 장치.
The method of claim 7, wherein
The initial authentication data, the signature key and the seed value are stored in the secure storage module.
제 7 항에 있어서,
상기 데이터 암호화 처리 모듈은 상기 시드값을 기초로 상기 데이터 블록과 동일한 크기를 갖는 난수 수열을 생성하고, 상기 난수 수열과 상기 데이터 블록값을 연산하여 암호화 데이터를 생성하는, 데이터 처리장치.
The method of claim 7, wherein
And the data encryption processing module generates a random number sequence having the same size as the data block based on the seed value, and generates encrypted data by calculating the random number sequence and the data block value.
삭제delete 삭제delete 제 7 항에 있어서,
상기 보안 저장 모듈은 스마트 카드와 같은 보안 저장소(Secure Storage)인 것을 특징으로 하는, 데이터 처리장치.
The method of claim 7, wherein
The secure storage module is characterized in that the secure storage (Secure Storage), such as a smart card.
실시간으로 입력되는 데이터를 수집 및 저장하는 블랙박스 시스템으로서,
제 7 항 내지 제 9 항 또는 제 12 항 중 어느 한 항에 따른 데이터 처리 장치;
상기 데이터를 수신하고, 사용자 입력 매체로부터 사용자 입력을 수신하는 입력 인터페이스; 및
상기 암호화 데이터 및 상기 무결성 검증 데이터를 저장하는 데이터 저장 모듈을 포함하는, 블랙박스 시스템.
It is a black box system that collects and stores data input in real time.
A data processing device according to any one of claims 7 to 9 or 12;
An input interface for receiving the data and receiving user input from a user input medium; And
And a data storage module for storing the encrypted data and the integrity verification data.
KR1020110089760A 2011-09-05 2011-09-05 An apparatus and a method of processing data for guaranteeing data integrity and confidentiality in real time, and black box system using thereof KR101105205B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110089760A KR101105205B1 (en) 2011-09-05 2011-09-05 An apparatus and a method of processing data for guaranteeing data integrity and confidentiality in real time, and black box system using thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110089760A KR101105205B1 (en) 2011-09-05 2011-09-05 An apparatus and a method of processing data for guaranteeing data integrity and confidentiality in real time, and black box system using thereof

Publications (1)

Publication Number Publication Date
KR101105205B1 true KR101105205B1 (en) 2012-01-13

Family

ID=45614182

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110089760A KR101105205B1 (en) 2011-09-05 2011-09-05 An apparatus and a method of processing data for guaranteeing data integrity and confidentiality in real time, and black box system using thereof

Country Status (1)

Country Link
KR (1) KR101105205B1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101285281B1 (en) * 2012-03-29 2013-08-23 주식회사 씨디에스 Security system and its security method for self-organization storage
KR20130137566A (en) * 2012-06-07 2013-12-17 시피 미디어 아게 Method for producing a secured data object and system
KR101441527B1 (en) 2012-05-31 2014-09-17 주식회사 코아로직 Method and apparatus for managing and verifying traveling information of car, and system using thereof
KR101609846B1 (en) * 2014-09-12 2016-04-20 주식회사 텔레칩스 Method for managing adequacy for blackbox video, and computer-readable recording medium for the same
KR20180030971A (en) * 2018-03-07 2018-03-27 유비벨록스(주) Photographing apparatus for generating digital image which can be verified by block-chain, digital image generating method using the same, and method for verifying image generated by the same
KR101946620B1 (en) * 2018-07-04 2019-02-11 넷마블 주식회사 Method and server for generating a block of data comprising signature of the server
KR20200074835A (en) * 2018-12-17 2020-06-25 주식회사 아이서티 Video data protection system and method
KR20200080161A (en) * 2018-12-26 2020-07-06 한국과학기술연구원 Appartus and method for forgery protection of digital information
EP3860078A1 (en) * 2020-01-31 2021-08-04 Siemens Mobility GmbH Method, devices, railway vehicle, computer program and computer-readable storage medium of storing network information
KR20210118525A (en) * 2020-03-23 2021-10-01 한양대학교 산학협력단 Additively-homomorphic method and apparatus specialized for non-interactive zero-knowledge proof
US11469881B2 (en) 2018-12-26 2022-10-11 Korea Institute Of Science And Technology Apparatus and method for forgery prevention of digital information

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11115831A (en) * 1997-09-30 1999-04-27 Motorola Inc Method and device of storing and protecting vehicle control event data
KR20110022960A (en) * 2009-08-28 2011-03-08 삼성에스디에스 주식회사 Apparatus for storing data and operating method implementing the same
KR20110023412A (en) * 2009-08-31 2011-03-08 고려대학교 산학협력단 Apparatus and method for guaranteeing vehicle data integrity in real time, and vehicle black box system using thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11115831A (en) * 1997-09-30 1999-04-27 Motorola Inc Method and device of storing and protecting vehicle control event data
KR20110022960A (en) * 2009-08-28 2011-03-08 삼성에스디에스 주식회사 Apparatus for storing data and operating method implementing the same
KR20110023412A (en) * 2009-08-31 2011-03-08 고려대학교 산학협력단 Apparatus and method for guaranteeing vehicle data integrity in real time, and vehicle black box system using thereof

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101285281B1 (en) * 2012-03-29 2013-08-23 주식회사 씨디에스 Security system and its security method for self-organization storage
US9336088B2 (en) 2012-05-31 2016-05-10 Core Logic Inc. Method and apparatus for managing and verifying car traveling information, and system using the same
KR101441527B1 (en) 2012-05-31 2014-09-17 주식회사 코아로직 Method and apparatus for managing and verifying traveling information of car, and system using thereof
KR102052347B1 (en) * 2012-06-07 2019-12-05 시피 미디어 아게 Method for producing a secured data object and system
KR20130137566A (en) * 2012-06-07 2013-12-17 시피 미디어 아게 Method for producing a secured data object and system
KR101609846B1 (en) * 2014-09-12 2016-04-20 주식회사 텔레칩스 Method for managing adequacy for blackbox video, and computer-readable recording medium for the same
KR20180030971A (en) * 2018-03-07 2018-03-27 유비벨록스(주) Photographing apparatus for generating digital image which can be verified by block-chain, digital image generating method using the same, and method for verifying image generated by the same
KR101880935B1 (en) * 2018-03-07 2018-07-23 유비벨록스(주) Photographing apparatus for generating digital image which can be verified by block-chain, digital image generating method using the same, and method for verifying image generated by the same
KR101946620B1 (en) * 2018-07-04 2019-02-11 넷마블 주식회사 Method and server for generating a block of data comprising signature of the server
KR102236897B1 (en) * 2018-12-17 2021-04-07 주식회사 렙딥 Video data protection system and method
KR20200074835A (en) * 2018-12-17 2020-06-25 주식회사 아이서티 Video data protection system and method
KR20200080161A (en) * 2018-12-26 2020-07-06 한국과학기술연구원 Appartus and method for forgery protection of digital information
KR102302779B1 (en) * 2018-12-26 2021-09-16 한국과학기술연구원 Appartus and method for forgery protection of digital information
US11469881B2 (en) 2018-12-26 2022-10-11 Korea Institute Of Science And Technology Apparatus and method for forgery prevention of digital information
EP3860078A1 (en) * 2020-01-31 2021-08-04 Siemens Mobility GmbH Method, devices, railway vehicle, computer program and computer-readable storage medium of storing network information
KR20210118525A (en) * 2020-03-23 2021-10-01 한양대학교 산학협력단 Additively-homomorphic method and apparatus specialized for non-interactive zero-knowledge proof
US11438138B2 (en) 2020-03-23 2022-09-06 Iucf-Hyu (Industry-University Cooperation Foundation Hanyang University) Additively-homomorphic method and apparatus specialized for non-interactive zero-knowledge proof
KR102470626B1 (en) * 2020-03-23 2022-11-23 한양대학교 산학협력단 Additively-homomorphic method and apparatus specialized for non-interactive zero-knowledge proof

Similar Documents

Publication Publication Date Title
KR101105205B1 (en) An apparatus and a method of processing data for guaranteeing data integrity and confidentiality in real time, and black box system using thereof
US8527778B2 (en) Apparatus and method for preventing falsification of black box data
JP4602931B2 (en) How to ensure image set integrity
CN103502992B (en) For the system and method for anti-tamper guiding
US9165147B2 (en) Apparatus and method for generating digital images
US8959357B2 (en) Biometric encryption and key generation
CN108734018B (en) Authentication method, device, system and computer readable storage medium
CN102325139A (en) Electronic document processing method, processing system and verification system
US10311215B2 (en) Secure recording and rendering of encrypted multimedia content
KR20020021080A (en) Method and apparatus for securely transmitting and authenticating biometric data over a network
KR20210114323A (en) Robust selective image, video, and audio content authentication
CN110995673A (en) Case evidence management method and device based on block chain, terminal and storage medium
US20120019640A1 (en) Camera guaranteeing authenticity of videos or photos taken and of when taken and optionally of all additional measurable facts of the circumstances of the taken videos or photos
CN103345601A (en) Identity recording and verification system based on radio frequency
JP4261724B2 (en) Signature data generation apparatus and image verification apparatus
KR101015401B1 (en) Method of checking integrity of data by storing data of common ID in separated database system
US8171282B2 (en) Encryption data integrity check with dual parallel encryption engines
CN112956167A (en) Authentication module for sensor data
CN111177748A (en) Fingerprint storage encryption method, device and system
JP2009290508A (en) Electronized information distribution system, client device, server device and electronized information distribution method
Winkler et al. Privacy and security in video surveillance
CN113595741B (en) Credible data chain generation system and method based on 5G law enforcement recorder
KR101746168B1 (en) Apparatus for processing image of vehicle black box, method thereof and computer recordable medium storing the method
KR101638790B1 (en) Apparatus for Preventing Data Falsification and Verificating Data Falsification
EP1119133B1 (en) Method and apparatus for secure data transmission via network

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee