KR101052600B1 - Apparatus for storing encoded data and method thereof - Google Patents

Apparatus for storing encoded data and method thereof Download PDF

Info

Publication number
KR101052600B1
KR101052600B1 KR1020100015560A KR20100015560A KR101052600B1 KR 101052600 B1 KR101052600 B1 KR 101052600B1 KR 1020100015560 A KR1020100015560 A KR 1020100015560A KR 20100015560 A KR20100015560 A KR 20100015560A KR 101052600 B1 KR101052600 B1 KR 101052600B1
Authority
KR
South Korea
Prior art keywords
data
encrypted data
error correction
correction code
unit
Prior art date
Application number
KR1020100015560A
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 KR1020100015560A priority Critical patent/KR101052600B1/en
Application granted granted Critical
Publication of KR101052600B1 publication Critical patent/KR101052600B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

PURPOSE: An encoding data storage device and method are provided to easily check the change or conversion of encoded data in case the encoded data is changed or converted. CONSTITUTION: An input interface(12) receives data from an external device(20). A control unit(14) divides the received data into a predetermined length unit, calculates a CECC(Check Error Correcting Code) from data belonging to each length unit, and encodes the calculated CECC with the data of the length unit. A memory(16) receives and stores the encoded data from the control unit.

Description

암호화 데이터 저장장치 및 그 저장방법{APPARATUS FOR STORING ENCODED DATA AND METHOD THEREOF}Encryption data storage device and its storage method {APPARATUS FOR STORING ENCODED DATA AND METHOD THEREOF}

본 발명은 암호화 데이터 저장장치 및 그 저장방법에 관한 것으로서, 보다 상세하게는 암호화된 데이터를 임의로 변경하거나 수정하는 것을 체크할 수 있도록 구성된 데이터 저장장치 및 그 방법에 관한 것이다.The present invention relates to an encrypted data storage device and a storage method thereof, and more particularly, to a data storage device and a method configured to check whether the encrypted data is arbitrarily changed or modified.

현대 사회에서는 자동차 배기가스로 인한 환경오염이 심각하다. 이를 극복하기 위하여 각 나라마다 이를 줄이고자 하는 노력을 하고 있다. 정부에서는 이를 위해서 현재 자동차 요일제 등을 실시하여 배기가스를 줄이고자 하고 있으며, 향후에는 자동차 운행거리에 따른 세금 및 보험료에 등에 우대혜택을 부여하여 배기가스의 양을 줄이고자 하고 있다. 이를 위해서 운행기록계를 장착하도록 하여 자동차 운행거리 및 시간을 확인하도록 유도하고 있다. In the modern society, environmental pollution due to automobile exhaust is serious. In order to overcome this, each country is trying to reduce it. To this end, the government is currently trying to reduce the amount of exhaust gas by operating the day of the week system, and in the future, to reduce the amount of exhaust gas by granting preferential benefits to taxes and insurance premiums depending on the distance driven. To this end, a driving recorder is mounted to check the driving distance and time.

환경 규제와 관련된 대표적인 운행기록계가 현재 미국, 유럽, 일본, 한국 등에서 실시하고 있는 OBD(On-Board Diagnosis) 시스템이다. 이 OBD 시스템은 자동차에 내장된 자기 진단 컴퓨터로 운행 중에 배출가스 제어 부품 등을 감시하여 고장 여부를 진단하게 되며, 고장이 진단되면 운전자에게 실시간으로 이를 통보하여 정비를 받을 수 있도록 유도하는 시스템에 관한 규정이다.A representative tachograph related to environmental regulation is the OBD (On-Board Diagnosis) system currently implemented in the US, Europe, Japan, and Korea. This OBD system is a self-diagnostic computer built into the car to monitor the emission control parts while driving and diagnose the failure, and when the failure is diagnosed, the OBD system notifies the driver in real time to induce maintenance. It is a regulation.

이 OBD 시스템에 따르면, 자동차의 운행거리 및 시간과 같은 기본 정보뿐만 아니라, 운행 중에 ECU(Engine control unit) 또는 PCM(Powertrain Control Module)과 같은 내장 컨트롤러를 이용하여 간단한 OPEN/SHORT 전자회로 점검에서부터 카탈리스트(CATALYST), O2 센서, 연료 증발가스 방지장치(Evaporative Emission Control System) 등 배출가스 제어 시스템의 고장과 연소실 내에서 혼합기가 완전히 연소되지 못하는 실화(Misfire) 현상 등을 진단하고, 이와 관련된 정보를 데이터로 저장한다. According to this OBD system, from basic OPEN / SHORT electronic circuit checks using a built-in controller such as an ECU (Engine control unit) or PCM (Powertrain Control Module), as well as basic information such as the vehicle's distance and time, (CATALYST), O 2 sensor, Evaporative Emission Control System (Evaporative Emission Control System), such as failure of the exhaust gas control system and the combustion of the mixture in the combustion chamber (Misfire) phenomenon, etc. Save as data.

이와 같이 자동차의 OBD 시스템에서 저장되어 있는 데이터는 법규 적용이나 세금 혜택 등을 부여함에 있어서 중요한 정보로 활용되므로, 정보의 무결성(Intergrity)이 무엇보다 중요하다. 그러나, 현재까지 개발된 데이터 암호화 방법은 OBD 시스템에 저장된 데이터를 암호화하여 제3자가 이를 해독할 수 없도록 하는 수단만을 제공할 뿐, 암호화된 데이터를 임의로 변경하거나 수정하더라도 이를 체크할 수 있는 방법이 없었다. As such, the data stored in the OBD system of automobiles is used as important information in granting regulations or tax benefits, so the integrity of information is important. However, the data encryption method developed so far provides only a means of encrypting the data stored in the OBD system so that a third party cannot decrypt it, and there is no way to check even if the encrypted data is arbitrarily changed or modified. .

따라서, 향후 자동차 운전자 또는 제3자가 자동차의 운행정보를 임의로 조작하여 제시하는 경우에, 이에 대한 확인이 제대로 이루어지지 않아 정확한 법 적용을 할 수 없는 위험이 예상되므로, 누군가가 운행기록계에 저장되어 있는 파일을 임으로 변경하거나 수정할 수 없도록 하는 방법이 요구되고 있다.Therefore, in the future, when the driver or a third party arbitrarily manipulates and presents the driving information of the vehicle, it is anticipated that the verification is not properly performed and the risk of not being able to apply the correct law is expected, so that someone is stored in the driving recorder. There is a need for a way to prevent files from being tampered with or modified.

본 발명은 이러한 업계의 요구를 충족시키기 위하여 개발된 것으로서, 자동차의 운행기록계에 저장된 데이터를 일정 길이 단위마다 그 변경 여부를 체크할 수 있는 오류정정 코드(CECC: Check Error Correcting Codes)를 삽입한 후 이를 암호화함으로써, 데이터가 암호화된 후에 변경되었는지 여부를 복호화된 이후에 손쉽게 체크할 수 있도록 해주는 암호화 데이터 저장장치 및 그 저장방법을 제공하는데 주된 목적이 있다.The present invention was developed to meet the needs of the industry, and after inserting the error correction code (CECC: Check Error Correcting Codes) that can check whether the data stored in the driving recorder of the vehicle for each fixed length unit By encrypting this, a main object of the present invention is to provide an encrypted data storage device and a method of storing the same, which enable the user to easily check whether data has been changed after being encrypted.

상기한 목적을 달성하기 위한 본 발명의 암호화 데이터 저장방법은, 외부장치부터 데이터를 전송받는 단계; 전송받은 데이터를 일정 길이 단위로 구분하고, 각 길이 단위에 속하는 데이터로부터 체크용 오류정정 코드를 계산하는 단계; 계산된 체크용 오류정정 코드를 해당 길이 단위의 데이터와 함께 암호화하는 단계; 및 암호화된 데이터를 메모리로 전송하여 저장하는 단계;를 포함한다. The encrypted data storage method of the present invention for achieving the above object, the step of receiving data from an external device; Dividing the received data into predetermined length units and calculating an error correction code for checking from data belonging to each length unit; Encrypting the calculated error correction code for check together with data of a corresponding length unit; And transmitting the encrypted data to the memory and storing the encrypted data.

또한, 본 발명에 따른 암호화 데이터 저장장치는, 외부 장치로부터 데이터를 전송받는 입력 인터페이스; 상기 입력 인터페이스를 통해 전송받은 데이터를 일정한 길이 단위로 구분하고, 각 길이 단위에 속하는 데이터로부터 체크용 오류정정 코드를 계산하며, 계산된 체크용 오류정정 코드를 해당 길이 단위의 데이터와 함께 암호화하는 제어부; 상기 제어부로부터 암호화된 데이터를 전송받아 저장하는 메모리; 및 상기 메모리에 저장된 암호화된 데이터를 호스트 장치로 전송하는 통신 인터페이스를 포함한다.In addition, the encrypted data storage device according to the present invention, the input interface for receiving data from an external device; A control unit for classifying the data transmitted through the input interface into a predetermined length unit, calculating a check error correction code from data belonging to each length unit, and encrypting the calculated check error correction code together with data of the corresponding length unit ; A memory for receiving and storing encrypted data from the controller; And a communication interface for transmitting encrypted data stored in the memory to a host device.

상기 외부 장치는 주기적인 데이터 백업이나 저장을 필요로 하는 것이면 어느 것이든 적용 가능하며, 그 일 예로서 통신 데이터 저장 서버, 공장설비 관리 서버, 자동차의 운행기록계인 OBD 시스템 등이 있다. 이하에서는 자동차의 운행기록계인 OBD 시스템을 예로 들어 설명하나, 본 발명의 기술사상이 이에 한정되지 아니함은 당연하다 할 것이다.The external device may be applied to any one that requires periodic data backup or storage. Examples of the external device include a communication data storage server, a factory facility management server, and an OBD system that is a driving recorder of a vehicle. Hereinafter, an OBD system, which is a driving recorder of an automobile, will be described as an example. However, the technical concept of the present invention is not limited thereto.

상기와 같이 구성된 본 발명에 따르면, 실제 정보 데이터와 오류정정 코드를 함께 암호화하므로, 암호화된 데이터를 변경하거나 개조한 경우에 이를 정확히 체크할 수 있어 정보 데이터의 무결성을 보장할 수 있다.According to the present invention configured as described above, since the actual information data and the error correction code is encrypted together, it is possible to check exactly when changing or modifying the encrypted data can ensure the integrity of the information data.

또한, 실제 정보 데이터와 오류정정 코드를 암호화에 필요한 길이 단위로 관리함으로써 다 함께 암호화할 수 있도록 해준다.In addition, by managing the actual information data and error correction code in the length unit necessary for encryption, it can be encrypted together.

또한, 실제 정보 데이터와 오류정정 코드를 함께 암호화한 데이터를 플래시 메모리의 논리적 기본 액세스 단위로 전송하여 저장하므로 데이터의 전송 속도를 향상시킬 수 있다.In addition, since the data encrypted with the actual information data and the error correction code are transmitted and stored in the logical basic access unit of the flash memory, the data transfer speed can be improved.

또한, 암호화된 데이터를 플래시 메모리에 저장한 후에 페이지 단위로 전송 오류를 정정할 수 있는 플래시 오류정정 코드를 계산한 후 함께 저장함으로써, 플래시 메모리로부터 암호화된 데이터를 읽어오는 때 발생할 수 있는 전송 에러를 방지할 수 있다. In addition, after storing the encrypted data in the flash memory and calculating the flash error correction code for correcting the transmission error on a page-by-page basis, the transmission error may occur when the encrypted data is read from the flash memory. It can prevent.

도 1은 본 발명에 따른 암호화 데이터 저장장치의 블록도.
도 2는 본 발명에 따른 암호화 데이터의 일 예를 나타낸 도면.
도 3은 본 발명에 따른 암호화 데이터의 저장 단계를 나타낸 순서도.
도 4는 본 발명에 따른 암호화 데이터의 전송 단계를 나타낸 순서도.
도 5는 본 발명에 따른 암호화 데이터의 체크 단계를 나타낸 순서도.
도 6 내지 도 10은 본 발명에 따른 암호화 데이터의 변경 여부를 체크하는 일 예를 나타낸 도면.
1 is a block diagram of an encrypted data storage device in accordance with the present invention.
2 is a diagram illustrating an example of encrypted data according to the present invention;
3 is a flow chart illustrating a storage step of encrypted data according to the present invention.
4 is a flowchart illustrating a step of transmitting encrypted data according to the present invention.
5 is a flowchart illustrating a step of checking encrypted data according to the present invention.
6 to 10 are diagrams showing an example of checking whether the encrypted data is changed according to the present invention.

이하에서 첨부된 도면을 참조로 본 발명에 따른 바람직한 일 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 암호화 데이터 저장장치의 구성을 나타낸 블록도이다. 암호화 데이터 저장장치(10)는 크게 자동차(20)로부터 운행에 관련된 데이터를 전송받는 OBD 인터페이스(12); 이 OBD 인터페이스(12)를 통해 전송받은 데이터를 가공하기 위하여 체크용 오류정정 코드를 생성하는 알고리즘과, 상기 전송받은 데이터와 체크용 오류정정 코드를 함께 암호화하는 암호화 알고리즘이 내장된 제어부(14); 이 제어부(14)로부터 암호화된 데이터를 전송받아 저장하는 플래시 메모리(16); 및 이 플래시 메모리(16)에 저장된 암호화된 데이터를 호스트 장치(30)로 전송하는 통신 인터페이스(18)로 구성된다.1 is a block diagram showing the configuration of an encrypted data storage device according to the present invention. The encrypted data storage device 10 includes an OBD interface 12 which receives data related to driving from a vehicle 20 largely; A controller 14 having an algorithm for generating a check error correction code for processing the data transmitted through the OBD interface 12 and an encryption algorithm for encrypting the received data and the check error correction code together; A flash memory 16 for receiving and storing encrypted data from the control unit 14; And a communication interface 18 for transmitting encrypted data stored in the flash memory 16 to the host device 30.

상기 OBD 인터페이스(12)는 자동차(20)의 OBD 시스템으로부터 운행거리, 운행시간, 운행 중에 발생된 고장에 관한 기록 등 자동차 운행 시에 발생하는 제반 정보(이하 "운행정보 데이터"라 함)를 전송받기 위한 입력 인터페이스이다. 이 입력 인터페이스는 OBD의 통신 프로토콜 규격에 맞추어 설계된다.The OBD interface 12 transmits general information (hereinafter referred to as “operation information data”) generated during the operation of the vehicle, such as a record of the mileage, the operation time, and the fault generated during the operation, from the OBD system of the automobile 20. Input interface for receiving. This input interface is designed to meet the communication protocol specifications of the OBD.

상기 제어부(14)는 데이터 입출력, 메모리 저장, 통신 등의 제어 기능을 갖춘 범용 마이크로 프로세서가 사용되며, 도 1에 도시되어 있지는 않지만 제어 대상인 데이터를 임시로 저장하기 위하여 휘발성 메모리인 램(RAM) 등이 추가로 구비될 수 있다. 제어부(14)는 상기한 통상의 제어 기능을 수행하는 알고리즘 이외에도 본 발명의 기술적 특징인 데이터의 무결성을 보장하기 위하여 후술하는 2가지 알고리즘이 추가로 내장된다. The controller 14 is a general-purpose microprocessor having a control function such as data input / output, memory storage, communication, etc., although not shown in FIG. 1, RAM (RAM), etc., is used to temporarily store data to be controlled. This may be further provided. The control unit 14 further includes two algorithms described below to ensure the integrity of data, which is a technical feature of the present invention, in addition to the algorithm for performing the above-described normal control function.

먼저, 체크용 오류정정 코드 생성 알고리즘은 상기 OBD 인터페이스(12)를 통해 전송받은 운행정보 데이터를 일정한 길이 단위로 구분하고, 각 길이 단위에 속하는 운행정보 데이터로부터 체크용 오류정정 코드(CECC: Check Error Correcting Codes)를 계산한 후 이를 운행정보 데이터와 함께 배열한다. 상기 CECC는 데이터를 전송하거나, 저장매체에 저장할 때 오류가 발생했는지 판별하거나 오류를 수정하여 정확한 데이터 전송과 저장을 위한 알고리즘으로서, Reed-Solomon codes, turbo codes, BCH codes, Reed-Muller codes, Binary Golay codes, low-density parity-check codes(LDPC) 등이 사용될 수 있다.First, the check error correction code generation algorithm divides the driving information data received through the OBD interface 12 into a predetermined length unit, and checks error correction code (CECC) from the driving information data belonging to each length unit. Calculate Correcting Codes and arrange them together with driving information data. The CECC is an algorithm for accurate data transmission and storage by determining whether an error has occurred during data transmission or storage in a storage medium or correcting an error. Reed-Solomon codes, turbo codes, BCH codes, Reed-Muller codes, Binary Golay codes, low-density parity-check codes (LDPC), etc. may be used.

도 2는 운행정보 데이터와 체크용 오류정정 코드가 함께 배열된 일 예를 나타낸다. OBD 인터페이스를 통해 전송받은 운행정보 데이터는 일정한 길이 단위(#1 ~ #N)로 구분되고, 각각의 길이 단위별 운행정보 데이터로부터 각각의 체크용 오류정정 코드가 계산된다. 계산된 체크용 오류정정 코드는 해당 운행정보 데이터의 끝에 삽입된다. 2 illustrates an example in which driving information data and a check error correction code are arranged together. The driving information data received through the OBD interface is divided into fixed length units (# 1 to #N), and each error correction code for checking is calculated from the driving information data for each length unit. The calculated error correction code for check is inserted at the end of the corresponding driving information data.

한편, 암호화 알고리즘은 운행정보 데이터와 이에 해당하는 체크용 오류정정 코드를 함께 암호화한다. 암호화 알고리즘은 크게 대칭키(비밀키)알고리즘과 비대칭키(공개키)알고리즘으로 분류된다. 비대칭키는 보안성은 대칭키보다 뛰어나지만, 알고리즘이 복잡하여 엠베디드 단말기에 적용하기에는 무리가 있다. 따라서, 대칭키 알고리즘을 많이 사용되고 있으며, 대표적인 대칭키 알고리즘으로는 DES, 3DES, SEED, ARIA, HIGHT 등이 있다. 이 중에서 현재 국제 표준으로 제정되어 있는 것은 DES, 3DES, SEED가 있다.Meanwhile, the encryption algorithm encrypts the driving information data and the error correction code for checking corresponding thereto. Encryption algorithms are largely classified into symmetric (secret) algorithms and asymmetric (public key) algorithms. Asymmetric keys are superior to symmetric keys in security, but their algorithms are complicated to apply to embedded terminals. Therefore, symmetric key algorithms are widely used, and representative symmetric key algorithms include DES, 3DES, SEED, ARIA, HIGHT, and the like. Among these, currently established international standards are DES, 3DES, and SEED.

상기한 바와 같이, 제어부(14)는 운행정보 데이터를 일정한 길이 단위로 구분하여 체크용 오류정정 코드를 생성하는데, 상기 길이 단위는 암호화 알고리즘에 따라 결정하는 것이 바람직하다. 예를 들어, SEED와 같은 대칭키 알고리즘은 데이터를 16byte 단위로 암호화시키므로, 도 2에 도시된 바와 같이 운행정보 데이터를 14byte 길이 단위로 구분하고, 14byte의 운행정보 데이터에 대한 체크용 오류정정 코드를 2byte로 생성함으로써, 운행정보 데이터와 이에 해당하는 체크용 오류정정 코드를 합한 데이터의 길이가 16byte가 되도록 구성한다. As described above, the controller 14 generates the error correction code for checking by dividing the driving information data into a predetermined length unit, and the length unit is preferably determined according to an encryption algorithm. For example, since a symmetric key algorithm such as SEED encrypts data in units of 16 bytes, as shown in FIG. 2, the operation information data is divided into units of 14 bytes in length, and an error correction code for checking the operation information data of 14 bytes is determined. By generating 2 bytes, the length of the sum of the driving information data and the corresponding error correction code for check is configured to be 16 bytes.

통상 암호화 알고리즘은 일정한 공식에 따라 제3자가 해독할 수 없도록 암호화된 데이터를 생성하는 것이므로, 데이터가 압축되지는 아니한다. 따라서, 상기 16byte의 운행정보 데이터와 체크용 오류정정 코드를 암호화하면 같은 길이를 가진 16byte의 암호화된 데이터가 생성된다. Since encryption algorithms typically produce data that is encrypted so that it cannot be decrypted by a third party according to a certain formula, the data is not compressed. Therefore, when the 16-byte driving information data and the check error correction code are encrypted, 16-byte encrypted data having the same length is generated.

상기 플래시 메모리(16)는 메모리 칩 안에 정보를 유지시키는 데에 전력이 필요없는 비휘발성 메모리로서, 작동 원리에 따라 NOR 플래시 메모리와 NAND 플래시 메모리로 구분된다. 플래시 메모리는 자기 디스크, 하드 디스크, 광 디스크 등에 비하여 읽기 속도가 매우 빠르고 내충격성이 우수하다는 장점이 있어, 최근에 USB 메모리, 솔리드 스테이트 디스크(SSD), MP3 플레이어, 디지털 카메라, 휴대폰 등의 저장매체로서 많이 사용되고 있다. The flash memory 16 is a nonvolatile memory that requires no power to maintain information in a memory chip. The flash memory 16 is classified into a NOR flash memory and a NAND flash memory according to an operating principle. Flash memory has the advantage that it has a very fast reading speed and excellent impact resistance compared to magnetic disks, hard disks, optical disks, etc. Recently, storage media such as USB memory, solid state disk (SSD), MP3 player, digital camera, mobile phone It is used a lot as.

통상적으로, 플래시 메모리(16)는 논리적 기본 액세스 단위가 여러 개의 섹터(sector)로 구성된 1페이지(1Page)로 정해져 있으므로, 제어부(14)는 상기 암호화된 데이터를 플래시 메모리(16)의 논리적 기본 액세스 단위별로 전송하는 것이 바람직하다. 예를 들어, 도 2에 도시된 바와 같이 16byte로 된 [운행정보 데이터 + CECC]를 페이지 단위로 묶어서 플래시 메모리(16)로 전송함으로써 데이터 전송 속도를 향상시킬 수 있다. Typically, since the flash memory 16 has a logical basic access unit defined as one page composed of several sectors, the controller 14 controls the encrypted data to be logically accessed by the flash memory 16. It is preferable to transmit in units. For example, as shown in FIG. 2, the data transfer speed can be improved by grouping 16 [bytes] [operation information data + CECC] in page units and transmitting them to the flash memory 16.

또한, 상기 제어부(14)는 상기 암호화된 데이터에 대한 전송 오류를 정정하기 위하여 플래시 오류정정 코드(FECC: Flash Error Correcting Codes)를 계산하여 함께 저장한다. 플래시 오류정정 코드는 플래시 메모리로부터 데이터를 읽어 올 때 발생할 수 있는 전송 에러를 감지하고 이를 정정하기 위한 것으로서, 통상 1페이지(page) 단위로 계산되고, 도 2에 도시된 바와 같이 스페어(spare) 영역(1page 당 64byte)에 별도로 저장된다.In addition, the controller 14 calculates and stores Flash Error Correcting Codes (FECC) in order to correct transmission errors of the encrypted data. The flash error correction code is for detecting and correcting a transmission error that may occur when data is read from the flash memory. The flash error correction code is usually calculated in units of one page and has a spare area as shown in FIG. 2. It is stored separately (64 bytes per page).

상기 통신 인터페이스(18)는 플래시 메모리(16)에 저장된 암호화된 데이터를 호스트 장치(30)로 전송하기 위한 출력 인터페이스이다. 이러한 출력 인터페이스는 통상 사용하는 병렬(Parallel) 및 직렬(Serial) 통신 프로토콜을 모두 사용 가능하다. 예를 들어, 병렬 통신 프로토콜로는 ISA, PATA, SCSI, PCI, IEEE-1284 등이 있으며, 직렬 통신 프로토콜로는 RS-232C, USB, SATA, PCI 등이 사용될 수 있다.
The communication interface 18 is an output interface for transmitting encrypted data stored in the flash memory 16 to the host device 30. This output interface can use both the parallel and serial communication protocols commonly used. For example, parallel communication protocols include ISA, PATA, SCSI, PCI, IEEE-1284, and the like, and RS-232C, USB, SATA, and PCI may be used as the serial communication protocol.

도 3 내지 도 5를 참조로 본 발명에 따른 암호화 데이터 저장방법을 상세히 설명한다. 3 to 5 will be described in detail the encrypted data storage method according to the present invention.

도 3에 도시된 바와 같이, 본 발명에 따른 암호화 데이터 저장방법은, 자동차로부터 운행정보 데이터를 전송받는 단계; 전송받은 운행정보 데이터를 일정한 길이 단위로 구분하고, 각 길이 단위에 속하는 운행정보 데이터로부터 체크용 오류정정 코드(CECC: Check Error Correcting Codes)를 계산하는 단계(S30); 계산된 체크용 오류정정 코드를 해당 길이 단위의 운행정보 데이터와 함께 암호화하는 단계(S31); 및 암호화된 데이터를 플래시 메모리로 전송하여 저장하는 단계(S32);로 구성된다.As shown in FIG. 3, the method for storing encrypted data according to the present invention includes: receiving driving information data from a vehicle; Dividing the received driving information data by a predetermined length unit, and calculating check error correcting codes (CECC) from the driving information data belonging to each length unit (S30); Encrypting the calculated error correction code for check together with the driving information data of the corresponding length unit (S31); And transmitting and storing the encrypted data to the flash memory (S32).

상기 S30 단계는, OBD 시스템과 같은 자동차의 운행기록계로부터 운행정보 데이터를 전송받고, 전송받은 운행정보 데이터로부터 체크용 오류정정 코드를 계산하여 해당 운행정보 데이터와 함께 배열한다. [운행정보 데이터 + 체크용 오류정정 코드]의 길이 단위는 후술하는 S32 단계에서 사용하는 암호화 알고리즘을 맞추어 정해지며, 복수 개의 [운행정보 데이터 + 체크용 오류정정 코드]의 배열은 램(RAM)과 같은 임시 저장 메모리에 저장된다. In step S30, the driving information data is transmitted from the driving recorder of the vehicle such as an OBD system, and the error correction code for checking is calculated from the received driving information data and arranged together with the corresponding driving information data. The length unit of [operation information data + check error correction code] is determined according to the encryption algorithm used in step S32 which will be described later, and the arrangement of a plurality of [operation information data + check error correction codes] is RAM and RAM. It is stored in the same temporary storage memory.

상기 S31 단계는, [운행정보 데이터 + 체크용 오류정정 코드]의 배열을 특정한 암호화 알고리즘을 통해 함께 암호화시킨다. SEED와 같은 대칭키 알고리즘은 대상 데이터를 16byte 단위로 암호화시켜 동일한 16byte 크기의 암호화된 데이터를 생성하므로, 상기 [운행정보 데이터(14byte) + 체크용 오류정정 코드(2byte)]의 길이 단위도 16byte로 구성된다는 것은 도 2를 참조로 상술한 바와 같다. 암호화된 데이터는 램(RAM)과 같은 임시 저장 메모리에 저장된다.In step S31, the array of [operation information data + check error correction code] is encrypted together through a specific encryption algorithm. A symmetric key algorithm such as SEED encrypts the target data in units of 16 bytes to generate encrypted data having the same size of 16 bytes. Therefore, the length unit of the [operation information data (14 bytes) + check error correction code (2 bytes)] is also 16 bytes. It is configured as described above with reference to FIG. Encrypted data is stored in temporary storage memory, such as RAM.

상기 S32 단계는, 암호화된 데이터를 플래시 메모리로 전송하여 저장한다. 이 때, 암호화된 데이터는 플래시 메모리의 논리적 기본 액세스 단위인 1페이지(1Page = 4 ~ 8 sector) 단위로 전송하는 것이 바람직하다. 이와 같이 구성하면, 데이터 전송을 위한 메모리 액세스 횟수를 최소화할 수 있으므로, 전송 속도를 향상시킬 수 있다. In step S32, encrypted data is transmitted to and stored in a flash memory. In this case, it is preferable to transmit the encrypted data in units of one page (1 page = 4 to 8 sectors) which is a logical basic access unit of the flash memory. In this configuration, the number of memory accesses for data transmission can be minimized, thereby improving the transmission speed.

상기 S32 단계는, 암호화된 데이터에 대한 전송 오류를 정정하기 위하여 플래시 오류정정 코드(FECC: Flash Error Correcting Codes)를 계산하여 함께 저장하는 단계(S33)를 더 포함하는 것이 바람직하다. 이 S33 단계에서 생성되는 플래시 오류정정 코드는 제어부에 내장된 FTL(Flash Translation Layer: 플래시 변환계층)에서 사용되어, 플래시 메모리로부터 암호화된 데이터를 읽어오는 과정 중에 발생하는 전송 오류를 검출하고 이를 정정할 수 있도록 해준다.Preferably, the step S32 further includes calculating and storing Flash Error Correcting Codes (FECC) in order to correct transmission errors with respect to the encrypted data (S33). The flash error correction code generated in this step S33 is used in the Flash Translation Layer (FTL) built into the control unit to detect and correct transmission errors that occur during the process of reading encrypted data from the flash memory. To help.

도 4는 암호화된 데이터를 호스트 장치로 전송하는 과정을 나타낸다. 암호화된 데이터는 주기적으로 또는 필요에 따라 호스트 장치로 전송된다. 호스트 장치는 본 발명에 따른 암호화 데이터 저장장치와 병렬 또는 직렬 통신이 가능한 외부 제어장치로서, 스마트 폰, PDA, 넷 북, 랩 탑 컴퓨터, 데스크 탑 컴퓨터, 중앙서버에 연결된 단말기 등이 사용될 수 있다. 이 호스트 장치에는 암호화된 데이터를 복호화하고, 복호화된 운행정보 데이터를 분석할 수 있는 어플리케이션 프로그램이 내장된다.4 illustrates a process of transmitting encrypted data to a host device. The encrypted data is sent to the host device periodically or as needed. The host device is an external control device capable of parallel or serial communication with an encrypted data storage device according to the present invention, and may be a smartphone, PDA, netbook, laptop computer, desktop computer, terminal connected to a central server, or the like. The host device has a built-in application program that can decrypt the encrypted data and analyze the decrypted driving information data.

본 발명에 따르면, 제어부는 플래시 메모리에 저장된 암호화된 데이터를 읽어와 램(RAM)과 같은 임시 저장 메모리에 저장한다(S40). 이 암호화된 데이터 내에는 도 2에 도시된 바와 같이 각 페이지별 스페어 영역에 플래시 오류정정 코드(FECC)가 저장되어 있다. 따라서, 제어부는 전송받은 암호화된 데이터를 대상으로 동일한 오류정정 코드 생성 알고리즘을 이용하여 플래시 오류정정 코드를 계산한다. 계산된 플래시 오류정정 코드를 이용하여 전송 과정에서 암호화된 데이터가 변경되었는지 여부를 검출하고, 이를 정정한다(S41). According to the present invention, the control unit reads the encrypted data stored in the flash memory and stores it in a temporary storage memory such as RAM (S40). In the encrypted data, a flash error correction code FECC is stored in the spare area for each page as shown in FIG. Therefore, the controller calculates the flash error correction code for the received encrypted data using the same error correction code generation algorithm. Using the calculated flash error correction code, it is detected whether the encrypted data has changed in the transmission process and corrects it (S41).

전송 에러 검출 및 정정 과정이 완료되면, 램(RAM)에 저장되어 있는 암호화된 데이터를 통신 인터페이스를 통해 전송하고(S42), 호스트 장치는 전송받은 암호화된 데이터를 별도로 저장한다(S43).When the transmission error detection and correction process is completed, the encrypted data stored in the RAM is transmitted through the communication interface (S42), and the host device separately stores the received encrypted data (S43).

도 5는 호스트 장치에서 암호화된 데이터의 변경 여부를 체크하는 과정을 나타낸다. 먼저, 호스트 장치는 전송받은 암호화된 데이터를 복호화한다(S50). 이를 위해 호스트 장치에는 본 발명에 따른 암호화 데이터 저장장치가 가지는 암호화 알고리즘과 동일한 원리로 구성된 복호화 알고리즘이 내장된다. 복호화된 데이터로부터 실제 데이터인 운행정보 데이터와 이 운행정보 데이터로부터 생성된 체크용 오류정정 코드(CECC)를 분리하여 추출한다(S51). 5 shows a process of checking whether encrypted data is changed in a host device. First, the host device decrypts the received encrypted data (S50). To this end, the host device has a built-in decryption algorithm composed of the same principle as the encryption algorithm of the encrypted data storage device according to the present invention. From the decoded data, the driving information data which is actual data and the check error correction code CECC generated from the driving information data are separated and extracted (S51).

각각의 운행정보 데이터를 이용해 새로운 오류정정 코드를 계산한다(S52). 이를 위해 호스트 장치에는 본 발명에 따른 암호화 데이터 저장장치가 가지는 오류정정 코드 생성 알고리즘과 동일한 것이 저장된다. 계산된 오류정정 코드가 해당 운행정보 데이터와 함께 저장되어 있던 체크용 오류정정 코드와 동일한지 여부를 비교한다(S53). 비교 결과, 2개의 오류정정 코드가 상이한 경우에는 암호화된 후에 데이터가 변경되거나 수정된 것으로 표시한다. A new error correction code is calculated using the respective driving information data (S52). To this end, the host device stores the same error correction code generation algorithm as the encryption data storage device of the present invention. The calculated error correction code is compared with the check error correction code stored together with the corresponding driving information data (S53). As a result of the comparison, if the two error correction codes are different, the data is marked as changed or modified after being encrypted.

또한, 암호화를 위한 길이 단위별로 데이터의 변경 여부를 표시함으로써 데이터가 변경된 위치와 정도 등에 대한 보다 자세한 정보를 알려 줄 수 있으며, 오류정정 코드 생성 알고리즘에 따라서는 변경된 부분을 원래의 데이터로 복원할 수도 있다. 이러한 과정을 통해 본 발명의 주된 목적인 운행정보 데이터의 무결성이 보장된다.
In addition, by displaying whether the data has been changed for each length unit for encryption, it is possible to inform more detailed information about the location and extent of the data change, and depending on the error correction code generation algorithm, the changed part may be restored to the original data. have. Through this process, the integrity of the driving information data, which is the main object of the present invention, is guaranteed.

도 6 내지 도 10을 참조하여 본 발명에 따라 암호화 데이터의 변경 여부를 체크하는 일 실시예를 설명한다. An embodiment of checking whether encrypted data is changed according to the present invention will be described with reference to FIGS. 6 to 10.

도 6에 도시된 바와 같이 14byte로 된 운행정보 데이터와 이 운행정보 데이터를 이용하여 계산된 2byte의 체크용 오류정정 코드가 하나의 길이 단위를 이루며, 16byte로 된 [운행정보 데이터 + 체크용 오류정정 코드]가 복수 개로 배열된다. 예를 들어, 14byte로 된 첫 번째 운행정보 데이터에 대한 체크용 오류정정 코드(CECC A)가 [89,72]로 계산되어 함께 저장된다.As shown in FIG. 6, the operation information data of 14 bytes and the error correction code of 2 bytes calculated using the operation information data constitute one length unit, and the operation information data + error correction of 16 bytes is used. Codes] are arranged in plural. For example, a check error correction code (CECC A) for the first driving information data of 14 bytes is calculated as [89,72] and stored together.

도 7에 도시된 바와 같이, 복수 개의 [운행정보 데이터 + 체크용 오류정정 코드]의 배열은 암호화 알고리즘에 따라 16byte의 동일한 크기를 갖는 암호화된 데이터로 변화된다. 이와 같이 암호화되면 이를 해독하기 전에는 실제 운행정보 데이터를 읽어 올 수 없으므로 이를 변경할 수 없다. As shown in Fig. 7, the arrangement of a plurality of [run information data + check error correction codes] is changed into encrypted data having the same size of 16 bytes according to the encryption algorithm. In this way, since the actual driving information data cannot be read until it is decrypted, it cannot be changed.

그러나, 암호화된 데이터 자체를 변경하는 것은 가능하다. 왜냐하면, 암호화는 운행정보 데이터를 해독할 수 없도록 하는 것일 뿐이므로, 암호화된 데이터 자체를 변경하는 것까지 막을 수는 없기 때문이다. 암호화된 데이터가 변경될 경우, 이를 복호화하면 운행정보 데이터 자체도 변경되므로 결과적으로 운행정보 데이터의 무결성을 보장할 수 없게 된다. However, it is possible to change the encrypted data itself. This is because the encryption is only to make it impossible to decrypt the driving information data, and thus cannot change the encrypted data itself. When the encrypted data is changed, decrypting it changes the driving information data itself so that the integrity of the driving information data cannot be guaranteed.

도 8은 암호화된 데이터 자체가 변경된 예를 나타낸다. 도 7에 도시된 첫 번째 운행정보 데이터 배열 중에서 10번째와 14번째의 데이터가 각각 96, 23에서 48, 98로 변경되었다. 8 shows an example in which the encrypted data itself is changed. The 10th and 14th data of the first driving information data array shown in FIG. 7 are changed from 96, 23 to 48, 98, respectively.

도 9는 변경된 [운행정보 데이터 + 체크용 오류정정 코드] 배열이 복호화된 상태를 나타낸다. 이를 도 7과 비교해 보면, 복호화가 16byte 단위로 실행되는 관계로 첫 번째 [운행정보 데이터 + 체크용 오류정정 코드] 배열의 데이터 값이 모두 변경되었음을 확인할 수 있다. 체크용 오류정정 코드 부분까지 함께 복호화되므로 체크용 오류정정 코드 부분(CECC B)도 새로운 값인 [23,43]을 가진다.9 shows a state in which the changed [operation information data + check error correction code] array is decoded. In comparison with FIG. 7, it can be seen that all data values of the first array of [operation information data + check error correction code] have been changed since decoding is performed in units of 16 bytes. Since the error correction code part for checking is also decoded together, the error correction code part for checking (CECC B) also has a new value [23,43].

도 10에 도시된 바와 같이, 복호화된 14Byte의 운행정보 데이터를 가지고 새로운 체크용 오류정정 코드(CECC C)를 계산해 보면 [56,67]이 된다. 계산된 체크용 오류정정 코드(CECC C)와 복호화된 체크용 오류정정 코드(CECC B)를 비교해 보면 [56,67] ≠ [23,43]로서 완전히 상이한 값을 가지게 되므로, 암호화된 데이터가 변경되었음을 쉽게 체크할 수 있게 된다. As shown in FIG. 10, when the new check error correction code CECC C is calculated using the decoded 14-byte driving information data, it is [56,67]. Comparing the computed check error correcting code (CECC C) with the decrypted check error correcting code (CECC B), it is a completely different value as [56,67] ≠ [23,43]. It can be easily checked.

본 발명에 따른 암호화 데이터 저장장치 및 방법은 상기한 과정을 통해 암호화된 데이터의 무결성을 보장할 수 있게 되는 것이다.The encrypted data storage device and method according to the present invention can ensure the integrity of the encrypted data through the above process.

10: 암호화 데이터 저장장치 12: OBD 인터페이스
14: 제어부 16: 플래시 메모리
18: 통신 인터페이스 20: 자동차
30: 호스트 장치
10: encrypted data storage 12: OBD interface
14: control unit 16: flash memory
18: communication interface 20: car
30: host device

Claims (10)

외부 장치로부터 데이터를 전송받는 입력 인터페이스;
상기 입력 인터페이스를 통해 전송받은 데이터를 일정한 길이 단위로 구분하고, 각 길이 단위에 속하는 데이터로부터 체크용 오류정정 코드(CECC: Check Error Correcting Codes)를 계산하며, 계산된 체크용 오류정정 코드를 해당 길이 단위의 데이터와 함께 암호화하는 제어부;
상기 제어부로부터 암호화된 데이터를 전송받아 저장하는 메모리; 및
상기 메모리에 저장된 암호화된 데이터를 호스트 장치로 전송하는 통신 인터페이스로 이루어진 암호화된 데이터 저장장치.
An input interface for receiving data from an external device;
The data transmitted through the input interface is divided into a predetermined length unit, a check error correction code (CECC) is calculated from the data belonging to each length unit, and the calculated error correction code for the check is applied to the corresponding length. A control unit for encrypting the data with the unit;
A memory for receiving and storing encrypted data from the controller; And
And a communication interface for transmitting encrypted data stored in the memory to a host device.
자동차로부터 운행정보 데이터를 전송받는 OBD 인터페이스(12);
상기 OBD 인터페이스(12)를 통해 전송받은 운행정보 데이터를 일정한 길이 단위로 구분하고, 각 길이 단위에 속하는 운행정보 데이터로부터 체크용 오류정정 코드(CECC: Check Error Correcting Codes)를 계산하며, 계산된 체크용 오류정정 코드를 해당 길이 단위의 운행정보 데이터와 함께 암호화하는 제어부(14);
상기 제어부(14)로부터 암호화된 데이터를 전송받아 저장하는 플래시 메모리(16); 및
상기 플래시 메모리(16)에 저장된 암호화된 데이터를 호스트 장치(30)로 전송하는 통신 인터페이스(18)로 이루어진 암호화된 데이터 저장장치.
An OBD interface 12 for receiving driving information data from a vehicle;
The driving information data received through the OBD interface 12 is divided into a predetermined length unit, a check error correction code (CECC) is calculated from the driving information data belonging to each length unit, and the calculated check A controller 14 for encrypting the error correction code together with the driving information data of the corresponding length unit;
A flash memory 16 for receiving and storing encrypted data from the control unit 14; And
An encrypted data storage device comprising a communication interface (18) for transmitting encrypted data stored in the flash memory (16) to a host device (30).
청구항 2에 있어서,
상기 제어부(14)는 상기 길이 단위를 암호화 알고리즘에 따라 결정하는 것을 특징으로 하는 암호화 데이터 저장장치.
The method according to claim 2,
The control unit (14) is characterized in that for determining the length unit according to an encryption algorithm.
청구항 2에 있어서,
상기 제어부(14)는 상기 암호화된 데이터를 상기 플래시 메모리(16)의 논리적 기본 액세스 단위별로 전송하는 것을 특징으로 하는 암호화 데이터 저장장치.
The method according to claim 2,
The control unit (14) is characterized in that for transmitting the encrypted data for each logical basic access unit of the flash memory (16).
청구항 2에 있어서,
상기 제어부(14)는 상기 암호화된 데이터에 대한 전송 오류를 정정하기 위하여 플래시 오류정정 코드(FECC: Flash Error Correcting Codes)를 계산하여 함께 저장하는 것을 특징으로 하는 암호화 데이터 저장장치.
The method according to claim 2,
The control unit (14) is characterized in that to calculate the flash error correction code (FECC: Flash Error Correcting Codes) in order to correct the transmission error for the encrypted data, characterized in that the storage device.
외부장치부터 데이터를 전송받는 단계;
전송받은 데이터를 일정 길이 단위로 구분하고, 각 길이 단위에 속하는 데이터로부터 체크용 오류정정 코드(CECC: Check Error Correcting Codes)를 계산하는 단계;
계산된 체크용 오류정정 코드를 해당 길이 단위의 데이터와 함께 암호화하는 단계; 및
암호화된 데이터를 메모리로 전송하여 저장하는 단계;로 이루어진 암호화 데이터 저장방법.
Receiving data from an external device;
Dividing the received data into units of a predetermined length and calculating Check Error Correcting Codes (CECC) from data belonging to each unit of length;
Encrypting the calculated error correction code for check together with data of a corresponding length unit; And
And transmitting the encrypted data to a memory and storing the encrypted data.
자동차로부터 운행정보 데이터를 전송받는 단계;
전송받은 운행정보 데이터를 일정한 길이 단위로 구분하고, 각 길이 단위에 속하는 운행정보 데이터로부터 체크용 오류정정 코드(CECC: Check Error Correcting Codes)를 계산하는 단계;
계산된 체크용 오류정정 코드를 해당 길이 단위의 운행정보 데이터와 함께 암호화하는 단계; 및
암호화된 데이터를 플래시 메모리로 전송하여 저장하는 단계;로 이루어진 암호화 데이터 저장방법.
Receiving driving information data from a vehicle;
Dividing the received driving information data into fixed length units and calculating check error correcting codes (CECC) from the driving information data belonging to each length unit;
Encrypting the calculated error correction code for check together with the driving information data of the corresponding length unit; And
And transmitting the encrypted data to a flash memory and storing the encrypted data.
청구항 7에 있어서,
상기 길이 단위는 암호화 알고리즘에 의해 결정되는 것을 특징으로 하는 암호화 데이터 저장방법.
The method according to claim 7,
The length unit is encrypted data storage method, characterized in that determined by the encryption algorithm.
청구항 7에 있어서,
상기 플래시 메모리 저장 단계는, 플래시 메모리의 논리적 기본 액세스 단위별로 이루어지는 것을 특징으로 하는 암호화 데이터 저장방법.
The method according to claim 7,
The storing of the flash memory is performed according to a logical basic access unit of the flash memory.
청구항 7에 있어서,
상기 플래시 메모리 저장 단계는, 상기 암호화된 데이터에 대한 전송 오류를 정정하기 위하여 플래시 오류정정 코드(FECC: Flash Error Correcting Codes)를 계산하여 함께 저장하는 단계를 더 포함하는 것을 특징으로 하는 암호화 데이터 저장방법.
The method according to claim 7,
The storing of the flash memory may further include calculating and storing Flash Error Correcting Codes (FECC) to correct transmission errors of the encrypted data. .
KR1020100015560A 2010-02-22 2010-02-22 Apparatus for storing encoded data and method thereof KR101052600B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100015560A KR101052600B1 (en) 2010-02-22 2010-02-22 Apparatus for storing encoded data and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100015560A KR101052600B1 (en) 2010-02-22 2010-02-22 Apparatus for storing encoded data and method thereof

Publications (1)

Publication Number Publication Date
KR101052600B1 true KR101052600B1 (en) 2011-07-29

Family

ID=44924197

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100015560A KR101052600B1 (en) 2010-02-22 2010-02-22 Apparatus for storing encoded data and method thereof

Country Status (1)

Country Link
KR (1) KR101052600B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0973414A (en) * 1995-06-30 1997-03-18 Sony Corp Method and device for data recording, data recording medium, and method and device for data reproduction
US20060239449A1 (en) 2004-12-21 2006-10-26 Michael Holtzman Memory system with in stream data encryption / decryption and error correction

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0973414A (en) * 1995-06-30 1997-03-18 Sony Corp Method and device for data recording, data recording medium, and method and device for data reproduction
US20060239449A1 (en) 2004-12-21 2006-10-26 Michael Holtzman Memory system with in stream data encryption / decryption and error correction

Similar Documents

Publication Publication Date Title
US10802910B2 (en) System for identifying and correcting data errors
EP2449468B1 (en) System and method of tracking error data within a storage device
TWI496161B (en) Memory identification code generating method, management method, controller and storage system
US11755406B2 (en) Error identification in executed code
US9357102B2 (en) Systems and methods of securing operational information associated with an imaging device
TW201314454A (en) Memory storage apparatus, memory controller and password verification method
EP2568655B1 (en) Method for authenticating a storage device, machine-readable storage medium, and host device
US11818248B2 (en) Encoder and decoder using physically unclonable functions
JP5926355B2 (en) Memory device having secure test mode and method thereof
CN111428280A (en) SoC (System on chip) security chip key information integrity storage and error self-repairing method
KR101052600B1 (en) Apparatus for storing encoded data and method thereof
US9218235B2 (en) Systems and methods of verifying operational information associated with an imaging device
CN115827304A (en) System and method for checking on-chip high-speed bus data
CN103034594A (en) Memory storage device and memory controller and password authentication method thereof
CN102375943B (en) Identification code generation method, memory management method, controller and storage system
TWI529736B (en) Test method and system for memory device
US20230057004A1 (en) Secure Collection of Diagnostics Data about Integrated Circuit Memory Cells
CN115410292B (en) Vehicle fault analysis method, device, computer equipment and storage medium
WO2023162151A1 (en) Data storage device, data storage method, and program
EP2945092B1 (en) Memory device with secure test mode
CN117112290A (en) Power-down messy code protection method for yaffs file system
CN117494161A (en) Mobile hard disk encryption/decryption method, system and medium capable of recovering error data

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140715

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150623

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160719

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170705

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180710

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190710

Year of fee payment: 9