KR20070005509A - 데이터 워드 처리 장치 및 방법, 암호화 데이터 워드 처리장치 및 방법, 데이터세트의 안전 처리 시스템 및 컴퓨터프로그램을 구비한 컴퓨터 판독가능한 기억 매체 - Google Patents

데이터 워드 처리 장치 및 방법, 암호화 데이터 워드 처리장치 및 방법, 데이터세트의 안전 처리 시스템 및 컴퓨터프로그램을 구비한 컴퓨터 판독가능한 기억 매체 Download PDF

Info

Publication number
KR20070005509A
KR20070005509A KR1020060062873A KR20060062873A KR20070005509A KR 20070005509 A KR20070005509 A KR 20070005509A KR 1020060062873 A KR1020060062873 A KR 1020060062873A KR 20060062873 A KR20060062873 A KR 20060062873A KR 20070005509 A KR20070005509 A KR 20070005509A
Authority
KR
South Korea
Prior art keywords
data
redundancy
encrypted
word
data word
Prior art date
Application number
KR1020060062873A
Other languages
English (en)
Other versions
KR100782614B1 (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 인피니언 테크놀로지스 아게
Publication of KR20070005509A publication Critical patent/KR20070005509A/ko
Application granted granted Critical
Publication of KR100782614B1 publication Critical patent/KR100782614B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

리던던시 정보(22)가 암호화 이전의 데이터세트(20)의 데이터 워드(20a-20d)와 관련된다는 사실로부터, 저장된 암호화 데이터세트(30)의 암호화 데이터 워드의 원하지 않는 변경이 결론지워질 수 있고, 리던던시 정보(22)는 또한 암호화되어 적어도 부분적으로 암호화 데이터세트(24)의 암호화 데이터 워드와 함께, 암호화 리던던시 데이터 워드(28)로서 저장된다. 암호화 데이터 워드(30)의 복호화로부터 초래되는 복호화 데이터 워드(34)를 이용하여, 새로운 암호화 리던던시 데이터 워드(38)로 암호화되는 새로운 리던던시 데이터 워드(36)를 형성한다는 사실로부터, 저장된 암호화 데이터 워드(30)의 변경이 결론지워질 수 있다. 새로운 암호화 리던던시 데이터 워드(38)와 암호화 리던던시 데이터 워드(28)를 비교함으로써, 암호화 데이터가 변경되었는지의 여부를 검사할 수 있다.

Description

데이터 워드 처리 장치 및 방법, 암호화 데이터 워드 처리 장치 및 방법, 데이터세트의 안전 처리 시스템 및 컴퓨터 프로그램을 구비한 컴퓨터 판독가능한 기억 매체{DETECTION OF A CHANGE OF THE DATA OF A DATASET}
도 1은 데이터를 안전하게 저장 및 판독하는 시스템을 도시한 도면,
도 2는 데이터를 안전하게 저장 및 판독하는 시스템의 하드웨어 구현을 도시하는 도면.
도면의 주요 부분에 대한 부호의 설명
2 : 프로세서 4 : 리던던시 수단
6 : 암호화/복호화 수단 8 : 리던던시 처리 수단
10 : 데이터 메모리 20a-20d : 데이터 워드
21 : 데이터세트 22 : 에러 코드 워드
24 : 암호화 데이터세트 26 : 암호화 에러 코드 워드
28 : 감소된 암호화 에러 코드 워드 30 : 암호화 데이터세트
32 : 감소된 암호화 에러 코드 워드 34 : 복호화 데이터세트
36 : 테스트 에러 코드 워드 38 : 암호화 테스트 에러 코드 워드
40 : 감소된 암호화 테스트 에러 코드 워드
50 : 비암호화 데이터세트 50a-50d : 비암호화 데이터 워드
52 : 제 1 다중화기 52a : 제 1 데이터 입력
52b : 제 2 데이터 입력 54 : 제 2 다중화기
54a : 제 1 데이터 입력 54b : 제 2 데이터 입력
56 : 연결 수단 58 : 래치
60 : 비암호화측 62 : 암호화/복호화 수단
64 : 암호화측 66 : 암호화 데이터세트
66a-66d : 암호화 데이터 워드 68 : 암호화 에러 코드 워드
70 : 코드 비교 수단 72 : 암호화 데이터 입력
74 : 암호화 데이터 출력 76 : 복호화 데이터 입력
78 : 복호화 데이터 출력
본 발명은, 예를 들면, 데이터 무결성을 보증하기 위해 데이터 처리 시스템에서의 데이터 처리 또는 저장시에 적용될 수 있는, 데이터세트의 데이터의 변경을 검출하는 장치 및 방법에 관한 것이다.
많은 응용 시나리오에서, 저장된 데이터를, 권한이 부여되지 않은 사람이 액세스하는 것을 방지하는 것이 바람직하며, 그것은 데이터가 메모리에 암호화되어 저장되는 이유이기도 하다. 특히, 오늘날 보안 응용에서는 암호화 유닛에 의한 데이터의 보호를 요구한다. 그것과는 별개의 문제로서, 판독된 데이터는 정확해야 하는데, 즉, 데이터는 판독 이전에 변경되지 않도록 보장되어야 한다. 예를 들어, 데이터는 버스 시스템을 통한 전송 동안에, 또는, 메모리에서의 유지 시간 동안에, 개별적인 비트의 토글링(toggling)과 같은 임의적으로 발생되는 에러에 의해 변경될 수 있다. 더욱이, (데이터 처리 유닛에 대한 공격에 의한) 부정 행위에 대한 데이터 처리 유닛의 보호는 점차 중요성이 커지고 있다. 데이터 처리 시스템을 공격하여 그것의 보안성에 영향을 미치고자 하는 공격자는 저장 데이터를 고의적으로 변경할 것이며, 그렇게 함으로써, 저장되거나 버스를 통해 송신된 데이터 워드의 1비트보다 많은 비트를 통상적으로 변경할 것이다. 데이터의 암호화 이외에도, 데이터에 대한 임의적이거나 고의적인 변경을 검출할 필요가 있다.
데이터를 저장하기 전, 또는 버스 시스템을 통해 송신하기 전, 각각에 있어서, 암호화 유닛(MED)에 의해 데이터의 암호화가 수행되며, 암호화 유닛은 고정된 시스템 의존적인 워드 길이를, 암호화 알고리즘(cryptographic algorithm)에 따라, 동일한 워드 길이의 암호화 데이터 워드로 암호화한다.
데이터 변경을 검출하여, 개별적인 비트 에러를 정정할 필요성으로 인해, 현재까지는, 에러 정정 다항식(ECC(error correction code) 다항식) 또는 리던던시 형성(redundancy formation)에 근거한 다른 에러 정정 방법을, 이미 암호화된 데이터에 적용한다. 암호화 MED에 의한 암호화 이후에 에러 정정 메카니즘을 적용하면, MED 그 자체는 일반적으로 보호되지 않거나, 또는 고가의 추가적인 하드웨어에 의해 검사되어야 한다. 또한, 에러 정정의 구현을 위해, 암호화 이후에는 전용의 보조 하드웨어가 요구된다. 지금까지 적용된 방법에 의해서는, 요구되는 하드웨어의 규모가 명백하게 증가되며, 데이터 처리 수단의 전류 소모는, 다른 것들 중에서, 이동 단말 장치에서의 가능한 이용과 관련하여 보호되어야 할 추가적인 하드웨어 만큼 증가된다.
독일 특허 출원 10 2005 001953.6은 리던던시 정보, 즉, 에러 정정 정보가, MED에 의한 데이터 워드의 암호화 이전에도, 데이터세트의 개별적인 데이터 워드의 비트별(bit-wise) 배타적 OR 연산에 의해 형성되는 방법 및 장치를 기술하고 있다. 에러 코드 워드 또는 리던던시 정보는 각각, 이러한 방법에서, 데이터 워드와 동일한 워드 길이 및 MED를 포함한다. DE 10 2005 001953.6에 기술된 방법에서, 에러 코드 워드는 데이터세트의 데이터 워드와 함께 암호화 또는 비암호화된 방식으로, 각각 송신 또는 저장될 수 있으므로, 데이터를 전송 또는 저장시의 데이터의 변경 검출이 가능하며, 데이터세트의 데이터 워드 중 하나의, 개별적인 1비트 만큼의 변경이 정정될 수 있다. 그러나, DE 10 2005 001953.6에 제안된 방법은, 하드웨어를 변경하지 않고서는, MED의 데이터 폭 또는 워드 길이보다 작은 에러 코드는 생성될 수 없다는 단점을 갖는다. 이것은 개별적인 보호 요건이 에러 코드의 보다 낮은 비트 카운트(lower bit count)를 이용하여 이미 달성될 수 있는 경우에 특히 단점이 되는 것이다. 에러 코드의 보다 낮은 비트 카운트를 달성하기 위해, 암호화 유닛에서 큰 변경이 수행되어야 하거나, 또는, 에러 코드의 실제 여분 비트가 데이터 워드와 함께 저장되어야 하는데, 이것은 메모리 요건을 명백하게 증가시키는 것이 다. 예를 들면, 이것은 이동 응용, 또는, 때때로 단지 제한된 메모리 공간만이 이용가능한 매립 영역에서의 응용에 대해 단점이 되는 것이다.
현재의 해결 방안에서는, 따라서, 보안 요건에 대한 보호 영역의 융통성있는 적응 또는 에러 정정 코드의 구현에서는, 현재의 하드웨어를 크게 변경 또는 확장할 필요가 있다.
본 발명의 목적은, 메모리내의 데이터 또는 데이터 처리 동안의 데이터의 변경을 검출할 수 있는 보다 효율적인 장치 및 방법을 제공하는 것이다.
이러한 목적은 제 1 항, 제 7 항 또는 제 13 항 중 어느 한 항에 따른 장치 및 제 14 항 또는 제 15 항에 따른 방법에 의해 달성된다.
본 발명의 중심적인 사상은, 리던던시 정보가 암호화 이전의, 암호화 데이터세트가 근거로 하는, 데이터세트의 데이터 워드와 관련된다는 사실로부터, 암호화 데이터세트의 암호화 데이터 워드의 변경이 결론지워질 수 있고, 리던던시 정보는 또한 암호화되어 적어도 부분적으로 암호화 데이터세트의 암호화 데이터 워드와 함께, 암호화 리던던시 데이터 워드로서 저장된다는 것이다. 암호화 데이터 워드의 복호화로부터 초래되는 복호화 데이터 워드를 이용하여, 새로운 암호화 리던던시 데이터 워드로 암호화되는 새로운 리던던시 데이터 워드를 형성한다는 사실로부터, 저장된 암호화 데이터 워드의 변경이 결론지워질 수 있다. 새로운 암호화 리던던시 데이터 워드와 암호화 리던던시 데이터 워드를 비교함으로써, 암호화 데이터가 변경되었는지의 여부를 검사할 수 있다. 암호화 하드웨어를 이용하여, 에러 정정 워드를 그들의 암호화 이후에 비교함으로써, 일관성 테스트가 수행된다는 사실로 인해, 보다 강한 에러 보호가 가능하며, 단지 몇 개의 추가적인 하드웨어 구성 요소만이 요구된다. 즉, 본 발명에 따르면, 단지 부분적으로 저장된 리던던시 데이터 워드만을 이용하여, 암호화 데이터가 변경되었는지 여부를 검사할 수 있기 때문에, 암호화 데이터 워드를 저장 또는 파일링(filing)시에 암호화 리던던시 데이터 워드의 일부분만을 저장하는 것으로 이미 충분하다.
본 발명의 일실시예에서, 우선, 리던던시 데이터 워드 형태의 리던던시 정보가, 수 개의 데이터 워드로 구성되는 데이터세트에 추가된다. 데이터세트 및 관련된 리던던시 데이터 워드를 저장하기 전에, 데이터 워드는 암호화 수단(MED)에 의해 워드 단위로 암호화되며, 또한, 리던던시 데이터 워드도 암호화된다.
데이터를 판독할 때, 암호화되어 저장된 리던던시 데이터 워드를 이용하여, 저장된 데이터 워드가 메모리에서의 그의 유지 시간 동안에 변경되었는지의 여부가 결정될 수 있다. 그러한 목적으로, 우선, 데이터세트의 암호화 데이터 워드 및 암호화 리던던시 데이터 워드가 메모리로부터 판독되고, 암호화 리던던시 데이터 워드는 또다른 이용을 위해 버퍼링되며, 암호화 데이터 워드는 MED에 의해 복호화된다. 암호화 데이터 워드가 메모리에서의 유지 시간 동안에 변경되었는지의 여부, 즉, 판독된 복호화 데이터 워드가 정수인 것으로 고려될 수 있는지의 여부가, MED에 의해 암호화되는 복호화 데이터 워드로부터 새로운 리던던시 데이터 워드를 형성함으로써 체크될 수 있다. 이러한 새로운 암호화 리던던시 데이터 워드가 암호 화 리던던시 데이터 워드와 매칭되는 경우, 암호화 데이터 워드는 메모리에서의 그의 유지 시간 동안에 변경되거나 조작되지 않은 것으로 가정된다.
전술한 본 발명의 실시예에서, MED 하드웨어 그 자체를 이용함으로써, 높은 에러 보호가 가능해진다. MED에 의한 암호화 이전에 리던던시을 형성함으로써, MED 동작 그 자체에서 발생되는 에러 조차도 검출된다.
본 발명의 다른 실시예에서, 데이터세트의 개별적인 데이터 워드를, 배타적 OR 연산에 의해 비트 단위로 서로 연결함으로써 리던던시 정보가 형성되어, 데이터 워드의 길이에 대응하는 리던던시 데이터 워드가 초래된다. 배타적 OR 연산에 의한, 이러한 간단한 형태의 리던던시 형성에 의해, 최소한의 추가적인 하드웨어 비용만이 요구되며, 따라서, 현존 시스템의 통상적인 데이터 흐름에 완전하게 통합될 수 있는 작은 통합된 해결책이 초래된다. 이와 같이 매우 적은 추가적 하드웨어 비용에 의해, MED 하드웨어 자체를 실질적으로 이용하는 에러 보호가 가능하고, 전류 소모의 커다란 증가를 초래하지 않으며, 동작시에 임의의 커다란 전류 피크를 발생시키지 않는다.
본 발명의 다른 실시예에서, 암호화 리던던시 데이터 워드는 저장 이전에, 사용자가 결정가능한 수의 비트 만큼 단축되어, 암호화 데이터세트의 암호화 데이터 워드와 함께 저장되는 단축된 암호화 리던던시 데이터 워드가 초래된다. 여기서, 단축된 암호화 리던던시 데이터 워드의 길이는 원하는 보호 영역에 의존하는데, 즉, 암호화 데이터 워드의 저장된 데이터세트가 변경될 수 있는 가능성에 의존하여, 암호화 및 클리핑(clipping) 이후의 저장된 암호화 리던던시 데이터 워드에 대응하는 변경된 복호화 데이터 워드로부터 새로운 리던던시 데이터 워드가 형성되도록 한다. 이러한 가능성이 작을수록, 보호 영역은 더 커지게 된다.
따라서, 바람직하게, 본 발명에 의하면, 암호화/복호화 유닛 MED 자체에서 변경이 수행되지 않고서도, 임의의 크기의 에러 코드가 생성될 수 있다. 이것은, 예를 들면, 상이한 보안 요건(즉, 리던던시 데이터 워드 길이 또는 코드 워드)을 갖는 수 개의 메모리 영역이, 데이터 처리 시스템에서 병렬로 존재하는 경우에 특히 바람직하다. 이미 존재하는 하드웨어 설계를 용이하게 수정하여, 에러 정정의 추가적인 기능을 구현할 수 있다.
높은 보호 요건인 경우, 원리적으로 코드 길이는, 리던던시 형성 동안에 데이터세트의 데이터 워드와는 상이한 방식으로 수 개의 독립적인 리던던시 데이터 워드를 형성함으로써, 쉽게 증가될 수 있다. 그 후, 이들 독립적인 리던던시 데이터 워드는 워드 단위로 암호화되어, 원하는 길이로 절단되며, 리던던시 정보가 증가되는 경우에, 보호 영역 또한 증가된다. 그로 인해, 보호 영역은 사실상 임의적인 방식으로 자유롭게 결정될 수 있다.
이하, 첨부 도면을 참조하여 본 발명의 바람직한 실시예를 보다 상세히 설명한다.
도 1에서의 개략적인 도면을 이용함으로써, 데이터의 안전한 처리를 위한 본 발명의 시스템의 기능을 설명한다. 도 1은 프로세서(2), 리던던시 수단(4), 암호 화/복호화 수단(6), 리던던시 처리 수단(8) 및 데이터 저장부(10)를 도시한다.
프로세서(2)는 암호화된 방식으로, 에러에 대하여 보호되고, 메모리(10)에 파일링되거나 또는 메모리로부터 판독될 데이터 워드를 처리 또는 생성한다. 이러한 처리를 위해, 프로세서(2)는 데이터 송신 및 수신 둘다를 가능하게 하는 데이터 접속을 통해 리던던시 수단(4)에 접속되고, 리던던시 수단(4)은 암호화/복호화 수단(6)에 접속되며, 암호화/복호화 수단(6)은 리던던시 처리 수단(8)에 접속되고, 리던던시 처리 수단(8)은 데이터 메모리(10)에 접속된다.
이하에서, 우선, 데이터를 메모리에 기록하는 경우의, 본 발명의 장치의 기능을 설명할 것이다. 이를 위해, 우선, 데이터 메모리(10)에 저장될 4개의 데이터세트(21)의 데이터 워드(20a-20d)가 프로세서(2)에 의해 생성되며, 본 명세서에서 기술된 본 발명의 실시예에서, 저장될 데이터세트(21)는 정확하게 4개의 데이터 워드(20a-20d)로 구성된다. 데이터 워드(20a-20d)는 먼저 리던던시 수단(4)으로 송신되고, 리던던시 수단(4)은 데이터 워드(20a-20d)로부터의 데이터세트(21)와 관련되는 에러 코드 워드(22)를 형성한다. 이 때, 이러한 리던던시 또는 에러 코드 형성은 임의의 적절한 에러 코드 메카니즘에 의해 수행될 수 있다. 에러 코드 워드(22)를 형성한 후, 데이터세트(21)의 데이터 워드(20a-20d) 및 에러 코드 워드(22)는 암호화/복호화 수단(6)으로 송신되어, 암호화/복호화 수단(6)에 의해, 사전결정된 암호화 방법을 이용하여, 암호화 데이터세트(24)의 암호화 데이터 워드 및 암호화 에러 코드 워드(26)로, 워드 단위로 암호화된다.
그 다음, 암호화 데이터세트(24) 및 그의 관련된 암호화 에러 코드 워드(26) 는 리던던시 처리 수단(8)으로 송신되며, 리던던시 처리 수단(8)은 암호화 에러 코드 워드(26)의 끝에서, 암호화 에러 코드 워드(26) 중 사전결정된 수의 비트를 폐기함으로써, 암호화 데이터세트(24) 및 감소된 암호화 에러 코드 워드(28)가 리던던시 처리 수단(8)의 출력에서 제공되도록 하며, 암호화 데이터세트(24)는 그의 관련된, 감소된 암호화 에러 코드 워드(28)와 함께 메모리(10)에 저장된다.
본 발명의 처리는, 이하에서 간단히 설명되는 바와 같이, 원하는 보호 영역을 이용하여, 본 발명에 따라 요구되는 메모리 영역이 스케일링되므로, 가용한 메모리 영역을 최상으로 이용할 수 있다는 이점을 갖는다.
암호화 수단은 암호화될 데이터 워드의 폭에 대응하는 워드 폭으로 자연적으로 동작한다. 이제까지, 암호화 수단의 워드 폭보다 작은 길이의 에러 코드를 생성하는 것은, 물론 가능한 것이었다. 그러나, 명백하게 데이터 보안성에 대해 부정적인 결과를 초래할 상기 제한 사항으로 인해, 동일한 것이 비암호화 방식으로 저장되어야 한다. 에러 코드가 암호화 방식으로 저장된다면, 종래 기술에 따른 에러 코드 길이는, 요구되는 보호 영역이 원리적으로 보다 작은 워드 폭으로 달성될 수 있다고 해도, 적어도 MED의 워드 길이에 대응해야 한다(또는 그것의 정수배).
바람직하게, 본 발명은 에러 코드를 암호화 방식으로 저장할 수 있고, 또한, 그의 길이를 보호 요건에 대해 임의적으로 적응시킬 수 있다. 이러한 문맥에서, 암호화 에러 코드(26)로부터 감소된 암호화 에러 코드 워드(28)로의 전이시에 폐기된 비트수의 증가에 비례하여, 본 발명의 장치의 보호 영역은 감소됨을 주지해야 한다.
이하, 암호화 방식으로 저장된 데이터의 판독 및 메모리에 저장된 데이터가 변경되었는지의 여부에 대한 검사가 간단하게 설명된다. 이를 위해, 우선, 암호화 데이터세트(30) 및 그의 관련된, 감소된 암호화 에러 코드 워드(32)가 메모리(10)로부터 판독된다. 이 때, 도 1에서, 메모리(10)에 대한 저장 처리 동안에 저장되었던 암호화 데이터세트(24)(
Figure 112006048233033-PAT00001
) 및 그의 관련된, 감소된 암호화 에러 코드 워드(28)(
Figure 112006048233033-PAT00002
)에, 판독된 데이터세트(30)(
Figure 112006048233033-PAT00003
) 및 판독된 감소된 암호화 에러 코드 워드(32)(
Figure 112006048233033-PAT00004
)와는 상이한 표시법을 제공하여, 암호화 데이터세트(24)의 원래 저장된 데이터 워드 및 원래 저장된, 감소된 암호화 에러 코드 워드(28) 둘다가, 메모리(10)에서의 그들의 유지 시간 동안에 변경된 가능성을 나타낸다.
판독 동작시에, 암호화 데이터세트(30) 및 감소된 암호화 에러 코드 워드(32)가 먼저, 메모리(10)로부터 리던던시 처리 수단(8)으로 송신되고, 리던던시 처리 수단(8)은 감소된 암호화 에러 코드 워드(32)를 버퍼링하며, 암호화 데이터세트(30)를 암호화/복호화 수단(6)으로 송신한다.
암호화/복호화 수단(6)은 암호화 데이터세트(30)의 데이터 워드를 복호화 데이터세트(34)의 복호화 데이터 워드로, 워드 단위로 복호화하며, 복호화 데이터세트(34)는 리던던시 수단(4)으로 전송된다.
리던던시 수단(4)은, 한편으로는, 복호화 데이터세트(34)를 프로세서(2)로 송신하고, 다른 한편으로는, 복호화 데이터세트(34)를 처리하여, 복호화 데이터세트(34)와 관련된 테스트 에러 코드 워드(36)를 형성한다.
그 후, 테스트 에러 코드 워드(36)는 암호화/복호화 수단(6)으로 전송되며, 암호화/복호화 수단(6)은 테스트 에러 코드 워드(36)로부터 암호화 테스트 에러 코드 워드(38)를 형성한다. 그 다음, 암호화 테스트 에러 코드 워드(38)는 리던던시 처리 수단(8)으로 송신되고, 리던던시 처리 수단(8)은 암호화 테스트 에러 코드 워드(38)의 사전결정된 수의 비트를 폐기하여, 그로부터 감소된 암호화 테스트 에러 코드 워드(40)를 형성한다.
암호화 데이터세트(30) 또는 그의 관련된, 감소된 암호화 에러 코드 워드(32)가 데이터 메모리(10)에서의 그들의 유지 시간 동안에 변경되었는지의 여부에 대한 판정은, 감소된 암호화 에러 코드 워드(32)와 감소된 암호화 테스트 에러 코드 워드(40)의 비교에 의해 결정될 수 있다. 감소된 암호화 에러 코드 워드(32)와 감소된 암호화 테스트 에러 코드 워드(40)가 동일하다면, 데이터 메모리(10)에서는, 암호화 데이터세트(30) 또는 감소된 암호화 에러 코드 워드(32)가 변경되지 않은 것으로, 즉, 프로세서로 송신된 복호화 데이터세트(34)는 조작되지 않고, 안전하게 이용될 수 있는 것으로 가정된다.
도 1에 기술된 판독 및 기록의 주기에서, 감소된 암호화 에러 코드 워드(32)와 감소된 암호화 테스트 에러 코드 워드(40)가 매칭되는 경우, 에러가 발생되지 않으며, 암호화 데이터세트(24) 및 감소된 암호화 에러 코드 워드(28)는 판독된 암호화 데이터세트(30) 및 그의 관련된, 감소된 암호화 에러 코드 워드(32)와 동일, 즉, 데이터는 조작되지 않은 것이다.
감소된 암호화 에러 코드 워드(32)와 감소된 암호화 테스트 에러 코드 워 드(40) 사이의 비교 결과, 2 코드 워드가 상이한 것으로 나타난다면, 적절한 조치, 예를 들면, 복호화 데이터세트(34)의 폐기와 같은 조치가 트리거링될 수 있다.
본 발명에 있어서, 암호화/복호화 수단(6)(MED)의 강한 비선형성 및 비트 의존성을 이용하여, 암호화 데이터에 대해서 및 복호화 동작 및 암호화 동작 자체에 대해서 간단한 방식으로 강한 에러 보호를 설정한다. 이 때, 실제 정확성 테스트를 수행하기 위해, 기본적으로 암호화/복호화 수단(6)(MED) 자체가 이용되며, 하드웨어의 작은 부가적인 부분만이 요구된다. 여기서, 에러 테스트 자체는, 통상적인 암호화 동작보다 많은 시간을 요구하지 않는다.
본 발명에서의 특별한 이점은, 한편으로는, 에러 테스트를 위해 단지 작은 추가적 하드웨어만이 구현되면 되고, 실제 암호화 이전에 리던던시을 적용함으로써, 원리적으로 오류의 비트 트랜잭션이 초래될 수 있는 암호화 처리 및 복호화 처리가 보호된다는 것이다.
다른 커다란 이점은, 실제 암호화/복호화 유닛(6)을 수정하지 않고서도, 감소된 암호화 에러 코드 워드(28)의 길이에 걸쳐, 사용자에 의한 보호 요건에 대해 보호 영역이 가변적으로 적응될 수 있다는 것이다. 여기서, 한편으로는, 감소된 암호화 에러 코드 워드(28)의 길이는 암호화 데이터세트(24)의 데이터 워드의 길이보다 실질적으로 작기 때문에, 감소된 보호 영역을 가지고, 데이터 메모리(10)에서의 커다란 메모리 영역 절약이 가능하다. 따라서, 본 발명의 장치에 따르면, 데이터 처리 시스템내 데이터 메모리(10)의 상이한 메모리 영역에서, 상이한 감도의 데이터를 가지고, 상이한 레벨의 에러 보호를 실현할 수도 있다.
암호화 키의 생성이, 데이터 워드가 데이터 메모리(10)에 저장될 물리적 메모리 어드레스에 의존하는, MED가 이용된다면, 판독될 데이터 워드의 선택, 즉, 데이터 메모리(10) 자체에서의 메모리 영역의 어드레싱이, 본 발명에 의해 추가적으로 보호되며, 오류의 어드레스 지시를 가지고, 감소된 암호화 테스트 에러 코드 워드(40)는, 메모리로부터 직접 판독되는 감소된 암호화 에러 코드 워드(32)와 더 이상 매칭되지 않는다.
도 2는 데이터를 안전하게 기록 및 판독하는 시스템과, 암호화/복호화 유닛 MED의 강한 비선형적 특성을 이용하여 동일한 시스템을 구현하는 것을 도시한다.
도 2는 데이터 경로의 비암호화측(60)에서의, 4개의 비암호화 데이터 워드(50a-50d)로 구성되는 비암호화 데이터세트(50)와, 제 1 데이터 입력(52a) 및 제 2 데이터 입력(52b)을 갖는 제 1 다중화기(52)와, 제 1 데이터 입력(54a) 및 제 2 데이터 입력(54b)을 갖는 제 2 다중화기(54)와, 연결 수단(56)과, 래치(58)를 도시한다. 더욱이, 데이터 경로의 암호화측(64)으로부터 비암호화측(60)을 분리시키는 암호화/복호화 수단(62)이 도시된다. 암호화측(64)에서, 4개의 암호화 데이터 워드(66a-66d)로 구성되는 암호화 데이터세트(66)와, 암호화 데이터세트(66)와 관련된 암호화 에러 코드 워드(68)와, 코드 비교 수단(70)이 도시된다.
데이터 접속을 통해, 비암호화 데이터세트의 비암호화 데이터 워드(50a-50d)가, 제 1 다중화기(52)의 제 1 데이터 입력(52a) 및 제 2 다중화기(54)의 제 1 데이터 입력(54a)으로 송신될 수 있다. 제 1 다중화기(52)의 데이터 출력은 연결 수단(56)의 2개의 데이터 입력 중 하나에 접속되고, 연결 수단(56)의 데이터 출력은 래치(58)의 데이터 입력에 접속되며, 래치(58)의 데이터 출력은 연결 수단(56)의 제 2 데이터 입력 및 제 2 다중화기(54)의 제 2 데이터 입력(54b)에 접속된다. 제 2 다중화기(54)의 데이터 출력은 암호화/복호화 수단(62)의 암호화 데이터 입력(72)에 접속된다. 암호화/복호화 수단(62)의 암호화 데이터 출력(74)을 통해, 암호화 데이터 워드 및 암호화 데이터세트(66)의 암호화 데이터 워드(66a-66d)가 저장될 수 있고, 또한, 코드 비교 수단(70)의 2개의 데이터 입력 중 하나로 송신될 수 있다. 암호화 데이터 워드(66a-66d) 및 암호화 에러 코드 워드는 암호화/복호화 수단(62)의 복호화 데이터 입력(76)에 송신될 수 있고, 암호화/복호화 수단(62)의 복호화 데이터 출력(78)은, 한편으로는, 제 1 다중화기(52)의 제 2 데이터 입력(52b)에 접속되고, 다른 한편으로는, 복호화 데이터 출력(78)으로부터의 복호화 데이터 워드를 이용하여, 4개의 비암호화 데이터 워드(50a-50d)로 구성되는 완전한 비암호화 데이터세트(50)를 형성할 수 있다.
도 2에 기술된 본 발명의 실시예에서, 비암호화 데이터 워드(50a-50d)의 간단한, 비트별 배타적 OR 연산에 의해 리던던시 데이터 워드가 형성된다. 완전한 기록 동작의 4개의 제 1 단계들 동안, 우선, 4개의 비암호화 데이터 워드(50a-50d)가 암호화되어, 암호화 데이터 워드(66a-66d)로서 저장되고, 그와 동시에, 4개의 비암호화 데이터 워드(50a-50d)로부터 에러 코드 워드가 생성되며, 에러 코드 워드는 제 5 단계에서 또한 암호화되어, 암호화 에러 코드 워드(68)로서 저장된다.
기록 동작의 처음의 4개의 단계들 동안, 제 1 다중화기(52)가 스위칭되어, 그의 제 1 데이터 입력(52a)에 인가된 비암호화 데이터 워드(50a-50d)가 다중화 기(52)의 데이터 출력으로 전달되도록 하고, 제 2 다중화기(54)가 동작되어, 그의 제 1 데이터 입력(54a)에 인가된 비암호화 데이터 워드(50a-50d)가 그의 데이터 출력을 통해 스위칭, 즉, 동일한 것이 암호화/복호화 수단(62)의 암호화 데이터 입력(72)에 인가되도록 한다. 연결 수단(56)은, 그의 2개의 데이터 입력에 인가된 데이터 워드를, 비트별 배타적 OR 연산에 의해, 새로운 데이터 워드로 변환하도록 구현되며, 새로운 데이터 워드는 연결 수단(56)의 데이터 출력에서 이용가능하며, 래치(58)에 저장된다. 이 때, 래치(58)에 저장된 데이터 워드는 연결 수단(56)의 입력 데이터 워드로서 이용된다. 저장 처리의 처음 4개의 단계들 동안, 제 2 다중화기(54)를 통해, 개별적인 비암호화 데이터 워드(50a-50d)는 암호화/복호화 수단(62)에 의해 암호화되어, 암호화 데이터 워드(66a-66d)로서 저장된다. 이하에 기술되는 바와 같이, 복호화 데이터 워드(50a-50d)의 암호화 및 저장과 동시에, 에러 코드 워드가 그로부터 결정된다.
저장 처리의 제 1 단계 동안, 제 1 비암호화 데이터 워드(50a)가 다중화기(52)를 통해 연결 수단(56)의 제 1 데이터 입력에 인가되어, 비암호화 데이터 워드(50a)와 동일한 길이를 갖지만, 그의 비트가 모두 0인 데이터 워드로 비트별 XOR 연산된다. 따라서, 데이터 워드(50a)는 제 1 단계에서 변경되지 않으며, 연결 수단(56)의 데이터 출력에서 비변경된 채로 출력되어, 래치(58)에 저장된다. 제 2 단계에서, 제 2 비암호화 데이터 워드(50b)가 연결 수단(56)의 제 1 입력에 인가되며, 연결 수단(56)의 제 2 입력에서, 래치(58)에 저장된 제 1 데이터 워드(50a)가 인가된다. 이와 같이 함으로써, 데이터 워드(50a, 50b)의 비트별 배타적 OR 연산 에 의해 형성되는 데이터 워드가 연결 수단(56)의 데이터 출력에 제공되어, 래치(58)에 저장된다. 제 4 단계를 완료한 후, 비암호화 데이터세트(50)의 4개의 비암호화 데이터 워드(50a-50d)의 비트별 XOR 연산에 의해 생성된, 즉, 원하는 원하는 에러 코드 워드에 대응하는 데이터 워드가 래치(58)에 위치된다. 데이터 저장의 제 5 단계에서, 제 2 다중화기(54)가 스위칭되어, 그의 제 2 데이터 입력(54b)에 인가된 에러 코드 워드가 다중화기(54)의 데이터 출력으로 스위칭되도록 함으로써, 동일한 것이 암호화/복호화 수단(62)의 암호화 데이터 입력(72)에 인가되어, 에러 코드 워드도 암호화되도록 한다.
도 2에 도시된 실시예에서, 암호화 이후에, 에러 코드 워드는 사전결정된 후의 마지막 비트 만큼 추가적으로 단축되어, 암호화 데이터세트(66)의 암호화 데이터 워드(66a-66d)와 관련되는 암호화 에러 코드 워드(68)가 초래되도록 하며, 그것을 이용함으로써, 판독 동안에, 비암호화 데이터 워드(50a-50d)가 암호화 또는 데이터 접속을 통한 전송 동안에 변경되었는지의 여부, 즉, 데이터 무결정이 안전한지의 여부가 테스트될 수 있다.
데이터의 판독 및 데이터 무결성 테스트에 대해서는, 이하에서 도 2를 참조하여 기술된다.
판독 동작은, 기록 동작과 마찬가지로, 5개의 논리적 단계로 분리될 수 있다. 처음의 4개의 단계들 동안, 암호화 데이터 워드(66a-66d)는 암호화/복호화 수단(62)의 복호화 데이터 입력(76)을 통해 복호화되어, 복호화 데이터세트(50)를 형성한다. 동시에, 복호화된 판독 데이터 워드(50a-50d)로부터, 기록 동작에서 이미 기술된 것과 동일한 방식으로, 새로운 에러 코드 워드가 결정된다. 이를 위해, 제 1 다중화기(52)는 스위칭되어, 그의 제 2 데이터 입력(52b)에 인가된 데이터 워드가 다중화기(52)의 데이터 출력을 통해 스위칭되도록 함으로써, 4개의 제 1 판독 단계들 동안, 복호화된 판독 데이터 워드의 비트별 XOR 연산에 의해 새로운 에러 코드 워드가 형성되도록 한다. 판독 동작의 제 5 단계에서, 새로운 에러 코드 워드가 제 2 다중화기(54)를 통해, 암호화/복호화 수단(62)의 암호화 입력(72)으로 전달되며, 암호화/복호화 수단(62)은 새로운 에러 코드 워드를 새로운 암호화 에러 코드 워드로 암호화한다. 그 후, 새로운 암호화 에러 코드 워드는, 기록시의 암호화 에러 코드 워드(68)에 대한 경우와 동일한 수의 비트 만큼 단축된다. 코드 비교 수단(70)은 그의 2개의 데이터 입력에 인가된 데이터 워드들, 즉 새로운 암호화 에러 코드 워드와, 암호화 데이터세트(66)를 기록하는 동안 생성된 암호화 에러 코드 워드(68)를 비교한다. 새로운 암호화 에러 코드 워드와 암호화 에러 코드 워드(68)가 매칭된다면, 암호화 데이터세트(66)의 판독된 복호화 데이터는 비암호화 데이터세트(50)의 원래의 비암호화 데이터 워드(50a-50d)에 대응, 즉, 전체 판독 및 기록 처리 동안 무결성이 유지되었던 것으로 가정된다.
도 2를 참조하면 알 수 있듯이, 매우 적은 추가적 하드웨어 비용으로도, 에러 검출의 기능에 의해, 현존하는 암호화 및 복호화 시스템을 확장하는 것이 가능하므로, 실리콘 칩상에 추가적인 영역이 거의 요구되지 않으며, 단지 최소한의 증가된 전류 소비만이 초래될 뿐이다.
에러 코드 워드의 숙련된 병렬 생성 및 암호화 데이터의 저장에 의해, 에러 검출 가능성에 의해서, 암호화/복호화 수단(62)의 암호화 동작의 지속 기간에 주로 의존하는 단지 약간의 추가적인 시간 비용만이 초래된다.
도 2에 기술된 본 발명의 실시예에서, 에러 코드 워드의 생성은 비암호화 데이터 워드(50a-50d)의 간단한 XOR 연산에 의해 수행되지만, 본 발명에 따른 데이터의 무결성을 보장하기 위한, 임의의 다른 형태의 에러 코드 워드 생성도 적합하다. 따라서, 예를 들면, 에러 정정 다항식의 적용 또는 하드웨어 효율적 하시아오 코드(hardware-efficient Hsiao codes)의 이용이 가능하다.
데이터 보안성의 개별적인 요건에 따라, 본 발명의 데이터 처리 장치를 이용함으로써, 보호 영역을 변화시킬 수 있다. 도 2에서의 본 발명의 바람직한 실시예에 기술된 원리는, 특히 암호화/복호화 수단(62)(MED)의 워드 폭보다 작은 길이의 코드를 이용하여, MED의 폭의 코드 워드에 대한 클리어 텍스트 데이터의 링크를 생성하는 것이다(바람직하게, 모든 워드의 XOR 처리, 그리고, "실제(real)" 에러 코드의 적용이 물론 가능함). 그 다음, 이러한 워드는 간단히 암호화된 후, (상위 n MSB를 폐기함으로써) 선택된 보다 짧은 길이로 절단된다. 따라서, 생성된 코드 워드는 그 후에 저장된다. 암호화 데이터가 판독되어 복호화된다면, 데이터의 정확성은, 코드 워드에 대한 클리어 텍스트 데이터의 새롭게 된 링크, 그의 암호화, 클리핑 및 저장된 코드워드에 대한 후속하는 비교에 의해 결정될 수 있다. 요망되는 보다 큰 보호 영역, 즉, 보다 큰 코드를 위해, 본 발명의 대안적인 실시예에서는, 클리어 텍스트 데이터가 상이한 방식으로 간단하게 연결된다. 그 다음, 결과적인 n 코드 워드가 전술한 바와 같이 암호화되어, 요구되는 전체 길이로 절단된 후, 저 장된다. 본 명세서에서, 데이터 무결성에 관한 테스트는, 도 2에서의 실시예를 참조하여 이미 기술된 것과 동등한 방식으로 수행된다.
그것에 추가하여, 본 발명의 데이터 처리 장치를 이용함으로써, 적어도 하나의 암호화 에러 코드 워드의 클리핑이 생략되는 경우, 암호화 데이터에서 발생된 1 비트 에러를 정정할 수 있다. 여기서, MED의 높은 비선형성을 이용하여, 1 비트 에러를 신속하게 정정하는 가능성을 추가적으로 제공하는 에러 코드를 구현한다.
도 1의 실시예에서, 데이터를 판독 및 저장하는 완전한 시스템이 기술되었지만, 본 발명의 대안적인 실시예에서는, 단지 기록 기능만을 구현하여, 예를 들면, 이후의 이용을 위해 데이터를 안전하게 저장할 수 있다. 따라서, 도 1에서, 암호화/복호화 수단(6)의 복호화 기능은 완전하게 생략될 수 있으며, 여기서, 리던던시 처리 수단(8)은 암호화 데이터세트(24)와 함께 비휘발성 메모리에 저장될 수 있는 감소된 암호화 에러 코드 워드(28)를 형성하기 위해 암호화 에러 코드 워드(26)의 원하는 수의 비트를 폐기하는 기능에만 한정된다. 따라서, 저장된 데이터는, 예를 들면, 메모리 매체로 전단될 수 있으며, 데이터가 그의 수송 동안에 조작되지 않았다는 것이, 이후의 판독에 의해 보장될 수 있다.
본 발명의 바람직한 다른 실시예에서, 하드웨어에만 데이터를 안전하게 저장 및 판독하는 시스템의 판독 기능을 구현하는 것이 바람직하다. 따라서, 예를 들면, 데이터 캐리어상에 제공되는 데이터가 그의 전달 동안에 또는 수송 동안에 각각 조작되었는지의 여부가 검사될 수 있다. 이를 위해, 암호화 데이터세트(30)의 암호화 데이터 워드는 복호화 데이터세트(34)를 얻기 위해, 암호화/복호화 수단(6) 에 의해 복호화되어야 한다. 또한, 메모리(10)로부터 판독된 감소된 암호화 에러 코드 워드(32)는 리던던시 처리 수단(8)에 의해 래치되어야 하며, 도 1에서의 리던던시 형성 수단(4)은 리던던시 처리 수단(8)에 의해 감소된 암호화 에러 코드 워드(32)에 비교되는 복호화 데이터세트(34)의 복호화 데이터 워드로부터 테스트 에러 코드 워드(36)를 형성하기 위해, 판독을 위해 요구되는 것이며, 암호화/복호화 수단(6)에 의한 암호화 및 원하는 길이로의 후속하는 클리핑 이후에, 데이터의 가능한 변경을 검출하기 위한 것이다.
조건에 따라, 데이터세트의 데이터의 변경을 검출하는 본 발명의 방법은 하드웨어 또는 소프트웨어로 구현될 수 있다. 그러한 구현은 프로그램가능 컴퓨터 시스템과 함께 동작할 수 있는 전자 판독가능 제어 신호를 갖는 디지털 저장 매체, 특히, 플로피 디스크 또는 CD상에서 발생되어, 데이터세트의 데이터의 변경을 검출하는 본 발명의 방법이 수행되도록 한다. 일반적으로, 본 발명은 기계 판독가능 캐리어상에 저장된 프로그램 코드를 갖는 컴퓨터 프로그램 제품에 있으며, 컴퓨터 프로그램 제품은 컴퓨터상에서 실행될 때, 본 발명의 방법을 수행한다. 즉, 본 발명은 프로그램 코드를 갖는 컴퓨터 프로그램으로서 실현될 수 있으며, 컴퓨터 프로그램은 컴퓨터상에서 실행될 때, 본 발명의 방법을 수행한다.
본 발명에 따르면, 메모리내의 데이터 또는 데이터 처리 동안의 데이터의 변경을 검출할 수 있는 보다 효율적인 장치 및 방법을 제공할 수 있다.

Claims (16)

  1. 데이터세트(dataset)(21; 50)의 데이터 워드(20a-20d; 50a-50d)를 처리하는 장치에 있어서,
    상기 데이터세트(21; 50)의 상기 데이터 워드(20a-20d; 50a-50d)로부터 상기 데이터세트(21; 50)와 관련된 리던던시(redundancy) 데이터 워드(22)를 결정하도록 구현되는 리던던시 수단(4; 56)과,
    상기 데이터 워드(20a-20d; 50a-50d)를 암호화 데이터 워드(24; 66a-66d)로 암호화하고, 상기 리던던시 데이터 워드(22)를 암호화 리던던시 데이터 워드(26)로 암호화하도록 구현되는 암호화 수단(6: 62)과,
    상기 암호화 리던던시 데이터 워드(26)의 사전결정된 비트를 폐기하면서, 상기 암호화 데이터 워드(24) 및 상기 암호화 리던던시 데이터 워드(26)를 처리하는 처리 수단(8)을 포함하는
    데이터 워드 처리 장치.
  2. 제 1 항에 있어서,
    상기 리던던시 수단(4: 56)은, 상기 데이터세트(21; 50)의 모든 데이터 워드(20a-20d; 50a-50d)의 비트별(bit-wise) 배타적 OR 연산에 의해, 상기 리던던시 데이터 워드(22)를 형성하도록 구현되는 데이터 워드 처리 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 암호화 수단(6; 62)은 메모리 어드레스에 의존하여, 상기 데이터 워드(20a-20d; 50a-50d) 및 상기 리던던시 데이터 워드(22)를 암호화하도록 구현되는 데이터 워드 처리 장치.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 처리 수단(8)은, 상기 암호화 리던던시 데이터 워드(26)의 사전결정된 수의 마지막 비트를 폐기하도록 구현되는 데이터 워드 처리 장치.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 처리 수단(8)은, 처리 이후에 상기 암호화 데이터 워드(24) 및 상기 암호화 리던던시 데이터 워드(26)를 메모리(10)에 저장하거나, 또는, 동일한 것을 상기 데이터 버스를 통해 송신하도록 구현되며, 폐기될 상기 사전결정된 비트는 저장 및 송신되지 않는 데이터 워드 처리 장치.
  6. 제 1 항 또는 제 2 항에 있어서,
    상기 리던던시 수단(4: 56)은 상기 데이터세트(21; 50)의 상기 데이터 워드(20a-20d; 50a-50d)로부터 복수의 리던던시 데이터 워드를 결정하도록 구현되고,
    상기 암호화 수단(6; 62)은 상기 복수의 리던던시 데이터 워드로부터 복수의 암호화 리던던시 데이터 워드를 형성하도록 구현되며,
    상기 처리 수단(8)은 상기 개별적인 리던던시 데이터 워드의 사전결정된 비트를 이용하여, 상기 복수의 암호화 리던던시 데이터 워드를 각각 처리하도록 구현되는 데이터 워드 처리 장치.
  7. 암호화 데이터세트(30; 66)의 암호화 데이터 워드(30; 66a-66d)를 처리하는 장치에 있어서,
    상기 암호화 데이터세트(30; 66)의 상기 암호화 데이터 워드(30; 66a-66d), 및 상기 암호화 데이터 워드(30; 66a-66d)와 관련되는 암호화 리던던시 데이터 워드(32; 68)를 제공하는 제공 수단과,
    상기 암호화 데이터세트(30; 66)의 상기 암호화 데이터 워드(30; 66a-66d)를, 복호화 데이터세트(34; 50)의 복호화 데이터 워드(34; 50a-50d)로 복호화하도록 구현되는 복호화 수단(6; 62)과,
    상기 복호화 데이터 워드(34; 50a-50d)로부터, 상기 복호화 데이터 워드(34; 50a-50d)와 관련되는 새로운 리던던시 데이터 워드(36)를 형성하도록 구현되는 리던던시 수단(4; 56)과,
    상기 새로운 리던던시 데이터 워드(36)로부터 새로운 암호화 리던던시 데이터 워드(38)를 형성하도록 구현되는 암호화 수단(6; 62)과,
    상기 암호화 리던던시 데이터 워드(32; 68)와 상기 새로운 암호화 리던던시 데이터 워드(38) 사이의 적어도 부분적인 비교를 수행하는 비교 수단(8; 70)을 포함하는
    암호화 데이터 워드 처리 장치.
  8. 제 7 항에 있어서,
    상기 제공 수단은, 완전한 암호화 리던던시 데이터 워드의 사전결정된 비트를 폐기함으로써, 상기 암호화 리던던시 데이터 워드(32)를 제공하도록 추가적으로 구현되고,
    상기 비교 수단(8; 70)은, 상기 암호화 리던던시 데이터 워드(32; 68)와 상기 새로운 암호화 리던던시 데이터 워드(38) 사이의 상기 비교에서 통지되지 않은, 상기 완전한 암호화 데이터 워드의 상기 사전결정된 비트에 대응하는, 상기 새로운 암호화 리던던시 데이터 워드(38)의 부분들을 남기도록 추가적으로 구현되는 암호화 데이터 워드 처리 장치.
  9. 제 7 항 또는 제 8 항에 있어서,
    상기 리던던시 수단(4; 56)은, 상기 복호화 데이터 워드(34; 50a-50d)로부터의 비트별 배타적 OR 연산에 의해, 상기 새로운 리던던시 데이터 워드(36)를 형성하도록 구현되는 암호화 데이터 워드 처리 장치.
  10. 제 7 항 또는 제 8 항에 있어서,
    상기 제공 수단은, 메모리(10)로부터 상기 암호화 데이터 워드(30; 66a-66d) 및 상기 암호화 리던던시 데이터 워드(32; 68)를 판독하거나, 또는 동일한 것을 상기 데이터 버스를 통해 수신하도록 구현되는 암호화 데이터 워드 처리 장치.
  11. 제 7 항 또는 제 8 항에 있어서,
    상기 복호화 수단(6; 62)은, 메모리 어드레스에 의존하여 상기 암호화 데이터 워드(30; 66a-66d)를 복호화하도록 구현되고, 상기 암호화 수단(6; 62)은, 메모리 어드레스에 의존하여 상기 새로운 암호화 리던던시 데이터 워드(38)를 형성하도록 구현되는 암호화 데이터 워드 처리 장치.
  12. 제 7 항 또는 제 8 항에 있어서,
    상기 제공 수단은, 완전한 암호화 리던던시 데이터 워드의 사전결정된 수의 마지막 비트를 폐기함으로써, 상기 암호화 리던던시 데이터 워드(32; 68)를 제공하도록 구현되고,
    상기 비교 수단(8; 70)은, 상기 암호화 리던던시 데이터 워드(32)의 상기 사전결정된 마지막 비트 및 상기 암호화 리던던시 데이터 워드(32; 68)와 상기 새로운 암호화 리던던시 데이터 워드(38) 사이의 상기 비교에서 통지되지 않은 상기 새로운 암호화 리던던시 데이터 워드(38)를 남기도록 구현되는 암호화 데이터 워드 처리 장치.
  13. 데이터세트(21; 30)의 안전한 처리를 위한 시스템에 있어서,
    데이터세트(21)의 데이터 워드(20a-20d)로부터 암호화 데이터 워드(24)를 형성하고, 상기 데이터 워드(20a-20d)와 관련된 리던던시 데이터 워드(22)로부터 암호화 리던던시 데이터 워드(26)를 형성하며, 새로운 리던던시 데이터 워드(36)로부터 새로운 암호화 리던던시 데이터 워드(38)를 형성하도록 구현되며, 암호화 데이터 워드(30)로부터 복호화 데이터 워드(34)를 형성하도록 더 구현되는 암호화/복호화 수단(6)과,
    상기 데이터 워드(20a-20d)로부터 상기 리던던시 데이터 워드(22)를 형성하고, 상기 복호화 데이터 워드(34)로부터 상기 새로운 리던던시 데이터 워드(26)를 형성하도록 구현되는 리던던시 수단(4)과,
    상기 암호화 리던던시 데이터 워드(32)와 상기 새로운 암호화 리던던시 데이 터 워드(38) 사이의 적어도 부분적인 비교를 수행하는 비교 수단(8)을 포함하는
    데이터세트의 안전 처리 시스템.
  14. 데이터세트(21; 50)의 데이터 워드(20a-20d; 50a-50d)를 처리하는 방법에 있어서,
    상기 데이터세트(21; 50)의 상기 데이터 워드(20a-20d; 50a-50d)로부터 상기 데이터세트(21; 50)와 관련되는 리던던시 데이터 워드(22)를 결정하는 단계와,
    상기 데이터 워드(20a-20d; 50a-50d)를 암호화 데이터 워드(24; 66a-66d)로 암호화하고, 상기 리던던시 데이터 워드(22)를 암호화 리던던시 데이터 워드(26)로 암호화하는 단계와,
    상기 암호화 리던던시 데이터 워드(26)의 사전결정된 비트를 폐기하면서, 상기 암호화 데이터 워드(24) 및 상기 암호화 리던던시 데이터 워드(26)를 처리하는 단계를 포함하는
    데이터 워드 처리 방법.
  15. 암호화 데이터세트(30; 66)의 암호화 데이터 워드(30; 66a-66d)를 처리하는 방법에 있어서,
    상기 암호화 데이터세트(30; 66)의 상기 암호화 데이터 워드(30; 66a-66d), 및 상기 암호화 데이터 워드(30; 66a-66d)와 관련되는 암호화 리던던시 데이터 워드(32; 68)를 제공하는 단계와,
    상기 암호화 데이터세트(30; 66)의 상기 암호화 데이터 워드(30; 66a-66d)를, 복호화 데이터세트(34; 50)의 복호화 데이터 워드(34; 50a-50d)로 복호화하는 단계와,
    상기 복호화 데이터 워드(34; 50a-50d)로부터, 상기 복호화 데이터 워드(34; 50a-50d)와 관련되는 새로운 리던던시 데이터 워드(36)를 형성하는 단계와,
    상기 새로운 리던던시 데이터 워드(36)를 새로운 암호화 리던던시 데이터 워드(38)로 암호화하는 단계와,
    상기 암호화 리던던시 데이터 워드(32)와 상기 새로운 암호화 리던던시 데이터 워드(38) 사이의 적어도 부분적인 비교를 수행하는 단계를 포함하는
    암호화 데이터 워드 처리 방법.
  16. 프로그램 코드를 갖는 컴퓨터 프로그램을 구비한 컴퓨터 판독가능한 기억 매체에 있어서,
    상기 프로그램 코드가 컴퓨터상에서 실행될 때, 제 14 항 또는 제 15 항에 따른 방법을 수행하는
    컴퓨터 프로그램을 구비한 컴퓨터 판독가능한 기억 매체.
KR1020060062873A 2005-07-06 2006-07-05 데이터 워드 처리 장치 및 방법, 암호화 데이터 워드 처리장치 및 방법, 데이터세트의 안전 처리 시스템 및 컴퓨터프로그램을 구비한 컴퓨터 판독가능한 기억 매체 KR100782614B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005031611A DE102005031611B4 (de) 2005-07-06 2005-07-06 Nachweis einer Veränderung der Daten eines Datensatzes
DE102005031611.5 2005-07-06

Publications (2)

Publication Number Publication Date
KR20070005509A true KR20070005509A (ko) 2007-01-10
KR100782614B1 KR100782614B1 (ko) 2007-12-06

Family

ID=37562517

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060062873A KR100782614B1 (ko) 2005-07-06 2006-07-05 데이터 워드 처리 장치 및 방법, 암호화 데이터 워드 처리장치 및 방법, 데이터세트의 안전 처리 시스템 및 컴퓨터프로그램을 구비한 컴퓨터 판독가능한 기억 매체

Country Status (4)

Country Link
US (1) US8199914B2 (ko)
KR (1) KR100782614B1 (ko)
DE (1) DE102005031611B4 (ko)
FR (1) FR2890202B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10368899B2 (en) * 2006-01-13 2019-08-06 Heartware, Inc. Surgical tool for coring precise holes and providing for retrieval of tissue
WO2008068078A1 (en) * 2006-12-07 2008-06-12 International Business Machines Corporation Remote controller having an rfid tag
WO2010112739A1 (fr) * 2009-03-31 2010-10-07 France Telecom Procede pour effectuer une tache cryptographique dans un composant electronique
US8429513B2 (en) * 2009-07-02 2013-04-23 Stmicroelectronics (Research & Development) Limited Loading secure code into a memory
US8416948B2 (en) * 2010-06-04 2013-04-09 Leanics Corporation System for secure variable data rate transmission
US8533557B2 (en) * 2011-01-28 2013-09-10 Infineon Technologies Ag Device and method for error correction and protection against data corruption
US11495145B2 (en) * 2019-09-27 2022-11-08 Wipro Limited Method and system for selectively encrypting dataset

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5388209A (en) * 1991-08-02 1995-02-07 Sony Corporation Apparatus for high-speed recording compressed digital data with increased compression
US5586185A (en) * 1994-03-15 1996-12-17 Mita Industrial Co., Ltd. Communications system capable of communicating encrypted information
US5668928A (en) * 1995-01-31 1997-09-16 Kor Team International, Inc. Speech recognition system and method with automatic syntax generation
KR0166889B1 (ko) * 1995-12-30 1999-01-15 구자홍 파셜 리스펀스 클래스-4 신호검출장치
US6047069A (en) * 1997-07-17 2000-04-04 Hewlett-Packard Company Method and apparatus for preserving error correction capabilities during data encryption/decryption
US6252961B1 (en) * 1997-07-17 2001-06-26 Hewlett-Packard Co Method and apparatus for performing data encryption and error code correction
JPH11266243A (ja) * 1997-12-09 1999-09-28 Canon Inc 情報処理装置及び方法
US6608861B1 (en) 1998-10-05 2003-08-19 Motorola, Inc. Data terminal and coding method for increased data packet reliability in a frequency hopping system
BR9917358B1 (pt) * 1999-06-10 2012-07-24 meio legÍvel por computador, sistema, e, mÉtodos para suportar armazenamento persistente de um conjunto de dados, e para atualizar um conjunto de dados.
US6745363B2 (en) * 1999-07-30 2004-06-01 Hewlett-Packard Development Company, Lp Early error detection using ECC
FR2805418B1 (fr) 2000-02-23 2003-05-30 Mitsubishi Electric Inf Tech Procede de transmission numerique de type a codage correcteur d'erreurs
US20020048364A1 (en) * 2000-08-24 2002-04-25 Vdg, Inc. Parallel block encryption method and modes for data confidentiality and integrity protection
KR20020060419A (ko) * 2001-01-11 2002-07-18 최웅림 메모리 접근 방법
US7095856B2 (en) * 2002-03-29 2006-08-22 Motorola, Inc. Method and apparatus to maintain encryption synchronization in a multi-modulation TDM system
US20050271246A1 (en) * 2002-07-10 2005-12-08 Sharma Ravi K Watermark payload encryption methods and systems
DE10239062A1 (de) * 2002-08-26 2004-04-01 Siemens Ag Verfahren zum Übertragen von verschlüsselten Nutzdatenobjekten
CZ2005209A3 (cs) * 2002-09-10 2005-12-14 Ivi Smart Technologies, Inc. Bezpečné biometrické ověření identity
KR100516304B1 (ko) * 2003-05-16 2005-09-26 주식회사 안철수연구소 프로세스메모리의 악성코드 검출기 및 그 방법
DE10345385B4 (de) * 2003-09-30 2005-10-06 Infineon Technologies Ag Entschlüsselung bzw. Verschlüsselung bei Schreibzugriffen auf einen Speicher
US7680273B2 (en) * 2004-12-08 2010-03-16 Schweitzer Engineering Laboratories, Inc. System and method for optimizing error detection to detect unauthorized modification of transmitted data

Also Published As

Publication number Publication date
KR100782614B1 (ko) 2007-12-06
DE102005031611B4 (de) 2007-11-22
FR2890202A1 (fr) 2007-03-02
US20070016768A1 (en) 2007-01-18
FR2890202B1 (fr) 2012-11-16
US8199914B2 (en) 2012-06-12
DE102005031611A1 (de) 2007-01-11

Similar Documents

Publication Publication Date Title
US8694862B2 (en) Data processing apparatus using implicit data storage data storage and method of implicit data storage
KR100782614B1 (ko) 데이터 워드 처리 장치 및 방법, 암호화 데이터 워드 처리장치 및 방법, 데이터세트의 안전 처리 시스템 및 컴퓨터프로그램을 구비한 컴퓨터 판독가능한 기억 매체
US10678636B2 (en) Techniques for detecting and correcting errors in data
JP4718319B2 (ja) 秘密の鍵を生成する装置と方法
EP1855281A2 (en) Apparatus for writing data to a medium
KR20180059954A (ko) 메모리 무결성
TW200921389A (en) Method and apparatus of providing the security and error ocrrection capability for memory storage devices
US20130019140A1 (en) Method of Identifying and Protecting the Integrity of a Set of Source Data
US10050645B2 (en) Joint encryption and error correction encoding
US20100194609A1 (en) Method and Device For Coding Data Words
US9471413B2 (en) Memory device with secure test mode
US7191339B1 (en) System and method for using a PLD identification code
US7949912B1 (en) System and method of securing data stored in a memory
CN116933242A (zh) 单次使用密码产生
US20050289409A1 (en) Parallel data bus
JP2009252142A (ja) データ処理装置
US20030103625A1 (en) Method for Calculating Cryptographic Key Check Data
US20110126085A1 (en) Method of signature verification
CN107861892B (zh) 一种实现数据处理的方法及终端
WO2006046484A1 (ja) 認証方法
JP2005045760A (ja) 暗号処理方法及び装置
US10649931B2 (en) Data encryption and verification between master and slave
JP2009169489A (ja) 暗号化方法、復号化方法、暗号化装置、復号化装置
US7313235B2 (en) Device and method of applying a parity to encrypt data for protection
US20060179395A1 (en) Method and circuit arrangement for verifying a data record having a plurality of data words

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: 20121116

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131122

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141125

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151120

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161118

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20171116

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181120

Year of fee payment: 12