KR20090089285A - 데이터를 안전하게 보호하기 위한 시스템 및 방법 - Google Patents

데이터를 안전하게 보호하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20090089285A
KR20090089285A KR1020097008182A KR20097008182A KR20090089285A KR 20090089285 A KR20090089285 A KR 20090089285A KR 1020097008182 A KR1020097008182 A KR 1020097008182A KR 20097008182 A KR20097008182 A KR 20097008182A KR 20090089285 A KR20090089285 A KR 20090089285A
Authority
KR
South Korea
Prior art keywords
data
master block
block
auth
authentication code
Prior art date
Application number
KR1020097008182A
Other languages
English (en)
Other versions
KR101443405B1 (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 KR20090089285A publication Critical patent/KR20090089285A/ko
Application granted granted Critical
Publication of KR101443405B1 publication Critical patent/KR101443405B1/ko

Links

Images

Classifications

    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers

Abstract

본 발명은 데이터를 안전하게 보호하는 시스템 및 방법에 관한 것이다. 본 발명의 시스템은 모노토닉 카운터; 계산 실재물; 하나 또는 복수의 보안 데이터 블록(DBk1, DBk2, DBk3, DBk4), 상기 모노토닉 카운터로부터 복구된 최종값(Vlast), 상기 매체 상에 기록된 최종 데이터 블록(DBk)의 식별자(IDlast), 기록된 데이터 블록 또는 블록들의 진짜임을 보증하는 제1 인증 코드(Auth_A), 그 데이터가 중립값으로 정해진 최종 기록된 데이터 블록으로부터 계산된 제2 인증 코드(Auth_B), 제1 마스터 블록의 진짜임을 보증하는 제3 인증 코드(Auth_C), 상기 제1 마스터 블록(MBk1)의 복제품을 구성하는 제2 마스터 블록(MBk2)을 포함하는 물리적 데이터 매체; 및 인증 키(15)를 포함하는 것을 특징으로 한다. 본 발명은 특히 재생 및 내장 시스템에서의 갑작스러운 서비스의 중단에 대해 데이터를 안전하게 보호하기 위해 사용된다.
데이터, 보호, 저장, 매체, 재생, 서비스, 중단, 안전, 불법, 복제

Description

데이터를 안전하게 보호하기 위한 시스템 및 방법{System and method for securing data}
본 발명은 물리적인 매체에 저장된 데이터를 안전하게 보호하기 위한 시스템 및 방법에 관한 것이다. 본 발명은 특히 한편으로는 재생에 대하여, 다른 한편으로는 특히 서비스에 있어서의 갑작스러운 중단에 의해 야기된 손상 또는 변경에 대하여 데이터가 안전하게 보호되는 그러한 시스템 및 방법에 관한 것이다.
재생은 데이터 관리 시스템의 선행하는 내용에 관한 불법 복제를 통해 데이터에 부정하게 접근하기 위하여 사용된다. 예를 들면, 시간 t0에서, 하나의 시스템 S0가 어떤 파일 F에 대한 독출 권한을 갖고, t0에 후속하는 시간 t에서 이러한 권리가 S와 동일한 상기 시스템의 내용으로 말미암아 소멸된다고 가정하면, 이때 재생은 시간 t에서 유효한 것으로 인정된 S0를 포함하는 하나의 시스템을 획득하기 위해 상기 시스템 S 내의 시스템 S0의 내용을 복제함으로써 시간 t에서 독출된 파일 F에 대한 부정한 접근을 허용한다.
일반적으로, 종래(선행기술)의 시스템들에서의 데이터는 매 세션(session), 타임-스탬프(time-stamp), 또는 그 밖에 모노토닉 카운터(monotonic counter)로 인해 바뀌는 랜덤 이벤트(random event)를 전송함으로써 재생에 대해 보호된다.
서비스에 있어서의 갑작스러운 중단은 예를 들면, 데이터가 독출되거나 기록될 때, 물리적인 매체 내에 담겨 있는 데이터를 손상시킬 수 있다. 이러한 서비스에 있어서의 갑작스러운 중단은 일반적으로, 주로 전력 차단의 사고 시에, 또는 시스템이 부주의하게 재부팅되는 사고 시에, 데이터 관리 시스템이 갑자기 정지되는 것에 의해 야기된다. 기록된 또는 독출된 데이터에 대한 손상은 더 나아가, 악인이 고의로 데이터 관리 시스템에서의 독출 또는 기록 행위를 변경할 때, 또는 그 밖에 특히, 하드 디스크 리드-헤드(read-head) 또는 그것이 움직이도록 하는 메커니즘에 대한 손상을 수반하는 우연한 에러 발생의 사고 시에, 침해 행위로 야기될 수도 있다.
일반적으로, 종래(선행기술)의 시스템들에서의 데이터는 상기 데이터가 백업(backed up)되는 것을 제공하고 백업된 데이터가 복구되는 것을 허용함으로써 서비스에 있어서의 갑작스러운 중단에 대해 보호된다. 예를 들면, 데이터 매체가 하드 디스크일 경우, 이러한 디스크는 하나 이상의 추가적인 디스크를 사용하는 RAID(Redundant Array of Independent Disks)에 장착된다. RAID에서의 디스크들의 배치가 특별히 언급될 것이다.
그렇지만, 한편으로, 서비스에 있어서의 갑작스러운 중단에 의해 야기된 손상에 대한 추후의 데이터 복구와, 다른 한편으로, 재생에 대한 상기 데이터의 보호를 결합하는 것은 쉬운 일이 아니다. 실제로, 데이터 복구에 관해서, 손상을 입은 데이터를 복구하는 것은 바람직하다. 반면에, 재생 방지에 있어서, 목적은 상기 데이터의 어떤 복구를 방지하는 것이다. 데이터를 포함하는 부분에 대한 백업 시스템 과 모노토닉 카운터를 포함하는 재생에 대한 상기 부분에 대한 보호를 결합하는 것은 그러므로 양립할 수 없는 것으로 보인다. 반대의 상황에서, 오래된 저장된 부분을 복구하는 것은 재생-방지 보호 시스템에 상반되는 일이다. 왜냐하면 그것은 모노토닉 카운터의 선행값을 사용하기 때문이다.
위에 개시된 선행기술이 주어질 때, 본 발명이 해결책을 제공하는 과제는 한편으로는 재생에 대하여, 그리고 다른 한편으로는 특히 서비스에서의 최후의 중단으로 인한 데이터 변경에 대하여 데이터를 안전하게 보호하는 시스템 및 방법의 실행이다.
제기된 바와 같은 이러한 과제에 대해 본 발명에 의해 제안된 해결책의 첫번째 목적은 데이터를 안전하게 보호하기 위한 시스템이며, 그 시스템은,
모노토닉 카운터;
계산 실재물(computational entity);
하나 또는 복수의 보안 데이터 블록과, 상기 모노토닉 카운터로부터 복구된 최종값, 상기 매체 상에 기록된 최종 데이터 블록의 식별자, 기록된 데이터 블록 또는 블록들의 진짜임을 보증하는 제1 인증 코드, 그 데이터가 중립값으로 정해진 최종 기록된 데이터 블록으로부터 계산된 제2 인증 코드, 제1 마스터 블록의 진짜임을 보증하는 제3 인증 코드를 포함하는 제1 마스터 블록과, 상기 제1 마스터 블록의 복제품을 구성하는 제2 마스터 블록을 포함하는 물리적 데이터 매체; 및
인증 키를 포함하는 점에 특징이 있다.
제2 목적은 데이터를 안전하게 보호하기 위한 방법이며, 그 방법은,
모노토닉 카운터, 계산 실재물, 물리적 데이터 매체 및 인증 키를 제공하는 단계; 및
상기 데이터 매체 상에, 하나 또는 복수의 보안 데이터 블록, 상기 모노토닉 카운터로부터 복구된 최종값, 상기 매체 상에 기록된 최종 데이터 블록의 식별자, 기록된 데이터 블록 또는 블록들에 관한 진짜임을 보증하는 제1 인증 코드, 그 데이터가 중립값으로 정해진 최종 기록된 데이터로부터 계산된 제2 인증 코드, 제1 마스터 블록의 진짜임을 보증하는 제3 인증 코드를 포함하는 제1 마스터 블록, 및 상기 제1 마스터 블록의 복제품을 구성하는 제2 마스터 블록을 기록하는 단계를 포함하는 점에 그 특징이 있다.
본 발명은 다음의 비-한정적인 설명을 읽는 것으로부터, 그리고 첨부된 도면과 관련하여 더 잘 이해될 것이다.
도 1a는 본 발명에 따른 시스템의 서로 다른 구성요소들을 도식적으로 보여준다.
도 1b는 물리적 매체 상에 기록된 한 세트의 데이터 블록과, 본 발명에 따라 그들이 안전하게 될 수 있도록 상기 데이터와 관련된 2개의 마스터 블록을 도식적으로 보여준다.
도 2는 본 발명의 시스템이 기동될 때, 본 발명에 따른 시스템의 일관성의 검증으로 유도하는 서로 다른 단계들을 보여준다.
도 3은 본 발명에 따른 시스템의 물리적 매체 상에의 새로운 데이터의 기록으로 유도하는 서로 다른 단계들을 보여준다.
도 4a는 본 발명에 따른 마스터 블록 인증 코드의 검증으로 유도하는 단계들을 도식적으로 보여준다.
도 4b는 본 발명에 따른 마스터 블록 인증 코드의 계산으로 유도하는 단계들을 도식적으로 보여준다.
도 5는 본 발명에 따른 시스템의 데이터 매체 상에 기록된 데이터의 독출로 유도하는 서로 다른 단계들을 보여준다.
도 6은 본 발명에 따른 데이터 복구 절차에 있어서의 서로 다른 단계들을 보여준다.
도 7은 본 발명에 따른 마스터 블록 복구 시스템에서의 서로 다른 단계들을 보여준다.
본 발명에 있어서, 어떤 데이터는 만일 그 데이터가 불법적으로 변경되거나 제3자에 의해 교체되지 않았다는 것을 보증하는 것이 허용된다면 진품인 것으로 간주된다. 그 데이터는 특히 MAC(Message Authentication Code)로 알려진 암호화된 데이터를 부여하는 암호법의 알고리즘에 의해 진품으로 인증된다. 그러한 알고리즘은 비밀 키를 사용하고 보호용 데이터로 작용한다. 그것은 오직 적절한 비밀 키를 제공함으로써 검증될 수 있다. 그것은 일반적으로 짧은 인증 코드를 산출(産出)하고, 인증 코드는 데이터의 기원 및 완전무결을 보증한다. 데이터 및 코드에 대한 단일 수정이 바뀐다.
본 발명은 데이터를 안전하게 보호하기 위한 시스템(10)에 관한 것이다. 일 예로, 상기 시스템은 특히, 키패드가 비치된 케이싱, 스크린, 마이크로폰, 확성기(loudspeaker), 전자 카드, 데이터 전송 및 수신 모듈, 가입자 확인 모듈(SIM), 전력을 제공하는 배터리를 포함하는 이동 전화기 형태의 장치에 내장된 시스템이다. 상기 전자 카드는 적어도 하나의 마이크로컨트롤러, RAM 메모리, 플래쉬 메모리, 및 버스 시스템을 포함한다. 전화기 작동은 예를 들면 상기 전화기의 메모리 속에 로드된 운영(operating) 시스템 및 일련의 응용 프로그램(application)에 의해 관리된다.
도 1a에 도시된 바와 같이, 본 발명의 시스템(10)은 모노토닉 카운터(11), 계산 실재물(computational entity)(12), 시스템 키(13) 및 물리적 데이터 매체(14)를 포함한다.
상기 시스템(10)은 특히 부분 관리 시스템 또는 파일 관리 시스템이다.
상기 모노토닉 카운터(11)는 오직 단일 유니트로 증가될 수 있는 카운터이다. 이 카운터의 현재값 Vc 은 복구될 수 있다. 그렇지만 이러한 현재값을 복구하는 것은 카운터(11)를 증가시키지 않는다는 것에 주목해야 할 것이다. 따라서 카운터(11)는 제1 증가 명령 및 그것의 현재값의 복구를 위한, 제1 명령과 다른 제2 명령에 대해 응답할 수 있다. 모노토닉 카운터(11)의 현재값은, 본 발명의 하나의 바람직한 실시예에 따라, 이러한 카운터 내에 부호화되어 저장된다. 이 경우에는, 이 러한 값은 오직 시스템의 정당하게 인증된 실재물에 의해 복구될 수 있다.
계산 실재물(12)은 물리적인 실재물 또는 논리적인 실재물이다. 물리적인 실재물이 관련될 경우, 이것은 예를 들면 아마 크립토-프로세서(crypto-processor)와 같은 계산 애플리케이션에 헌납되는 마이크로프로세서 또는 마이크로컨트롤러이다. 논리적인 실재물이 관련될 경우, 이것은 예를 들면 일반적인 프로세서 상에서 계산이 가능한 소프트웨어의 일부분이다. 이것은 본 발명에 따라 요구된 검증 뿐만 아니라, 특히 MAC, 또는 다른 부호화 및 복호화를 계산하는 실재물(12)이다. 이러한 실재물은 어쩌면 랜덤 액세스 메모리 자원과 같이 그렇게 보이지 않는 시스템 자원을 사용할 수 있다. 본 발명의 바람직한 실시예에 따라, 계산 실재물(12)은 하나 이상의 데이터 블록의 어레이 상에서 MAC들을 계산한다. 그것은 이러한 계산의 결과를 랜덤 액세스 메모리에 저장한다. 인증 코드 Auth_A 및 Auth_B는 이러한 결과의 MAC와 동일하다. 더 정확히 말해서, 그것은 제2 데이터 블록 어레이, 등..., 모든 어레이들이 고려될 때까지, 데이터 블록 어레들과 관련된 제1 데이터 블록 어레이의 한 세트의 MAC 중의 하나의 MAC이다. 그러므로 계산 실재물(12)은 인증 코드 Auth_A 및 Auth_B의 MAC들과, 마스터 블록에 기재되어 있는 어레이들의 크기를 계산하기 위하여 앞에서 언급된 결과들을 사용한다.
시스템 키(13)는 시스템(10)에 의해 인증된 실재물에 의해 오직 접근될 수 있는 암호의 키이다.
물리적 데이터 매체(14)는 컴퓨터 데이터의 지속적인 저장을 위한 매체이다. 그것은 예를 들면 하드 디스크, 플래쉬 메모리, 또는 심지어 디스켓 형태의 이동가 능한 디스크일 수 있다.
도 1b에 도시된 바와 같이, 매체(14)는 하나 또는 복수의 인접하는 데이터 블록 DBK와 2개의 인접하는 마스터 블록, 즉 제1 MBk1 및 제2 MBk2 마스터 블록을 포함하고, 상기 마스터 블록들은 상기 데이터 블록들과 관련되어 거기에 인접하며, 마스터 블록 MBk2는 마스터 블록 MBk1의 복제품이다. 다시 말해서, 마스터 블록 MBk1 및 MBk2는 통상적으로는 동일하다. 그러나, 그들은 예를 들면 서비스에서의 중단으로 인한 기록 에러의 경우에, 또는 그 밖의 상기 블록 중의 하나에 대한 공격의 경우에 특히 서로 다를 수 있다.
데이터 블록 DBK의 크기는 구성될 수 있다. 그것은 예를 들면 256 바이트이다. 본 발명에 따라 안전하게 보호된 데이터를 담고 있는 어떤 수의 데이터 블록이 있을 수 있다. 도 1b에서의 예로서, 4개의 블록 DBk1, DBk2, DBk3 및 DBk4가 도시되어 있다.
마스터 블록 MBk1 및 MBk2는 본 발명의 개시의 나머지 부분에서 설명될 데이터 필드를 가지기 위한 충분한 최소 사이즈이다. 실제로, 이러한 최소 사이즈는 약 100 바이트이다.
각 마스터 블록 MBk는 다음의 필드들을 포함한다: 모노토닉 카운터(110)의 최종 복구된(또는 귀환된) 값 Vlast, 데이터 매체(14) 상에 기록된 최종 데이터 블록 DBk의 식별자 IDlast, 시스템 키(13)에 의해 부호화된 인증 키(15), 데이터 블록 DBk1으로부터 DBk4까지의 진짜임과 완전무결을 보증하는 인증 코드 Auth_A, 거기 (최종 기록의 데이터 블록)에 데이터가 중립값으로 정해져 있고, 상기 중립값은 예를 들면 제로들의 시퀀스와 동일한 최종 기록된 데이터 블록으로부터, 그리고 다른 데이터 블록들 내에 그대로 저장되어 있는 데이터로부터 계산된 인증 코드 Auth_B, 그리고 마스터 블록 MBk의 진짜임과 완전무결, 다시 말해서, 더 정확히는, 필드 Auth_C가 거기에 중립값으로 정해져 있는 마스터 블록 MBk의 진짜임과 완전무결을 보증하는 인증 코드 Auth_C를 포함한다. 실제로, Auth_C는 필드 Auth_C가 거기에 중립값, 전형적으로 제로들의 시퀀스로 정해져 있는 마스터 블록 MBk로부터 계산된다. Auth_C가 계산될 경우, 그 값은 마스터 블록 MBk 내에 들어간다. 추가적으로, 각 마스터 블록 MBk는 어쩌면 예를 들면 그것의 크기, 또는 그것의 섹터들의 수와 관련있는 다른 정보를 포함한다. 그 다른 정보는 도 1b에는 도시되어 있지 않다.
본 발명에 따르면, 데이터 블록 DBk는 부호화 키에 의해 부호화될 수 있다. 계산 실재물(12)로 이루어진 몇몇 MAC 계산들은 이때 부호화된 데이터 블록 상에서 실행된다. 부호화 키는 마스터 블록 내에, 또는 그 밖에 시스템 자체에 직접 저장될 수 있다. 그것은 다른 방편으로 시스템 키(13)에 의해 부호화될 수 있다. 이러한 경우에, 오직 시스템 키만이 시스템 상에 존재한다.
데이터 블록들 DBk는 변경되지 않고 마스터 블록들 MBk는 상기 데이터 블록들 DBk 사이에 삽입되지 않는다. 따라서 데이터 블록들 DBk에서 데이터를 직접 읽는 것이 가능하다.
본 발명의 시스템의 일관성은 그것이 기동될 때 검증된다. 도 2에 도시된 바와 같이, 본 발명의 시스템의 일관성을 검증하기 위하여, 제1 마스터 블록 MBk1의 포맷이 무엇보다도 먼저 검증된다. 이러한 포맷 검증은 예를 들면 식별자 IDlast의 적법성, 모노토닉 카운터(11)의 최종 귀환값 Vlast, 인증 코드들 Auth_A, Auth_B 및 Auth_C, 및 시스템 키(13)에 의해 부호화된 인증 키(15)를 검증하는 단계들을 포함한다. 제1 마스터 블록 MBk1의 포맷이 불법적인 경우에, 제2 마스터 블록 MBk2의 포맷이 검증된다. 제2 마스터 블록 MBk2의 포맷이 불법적인 경우에, 시스템은 영원히 부정한(오류가 있는) 것으로, 데이터는 안전하지 않은 것으로, 상기 시스템은 예를 들면 침해를 받은 것으로 간주된다. 이때 경보가 시스템 사용자에게 나타날 수 있고, 데이터 접속이 형식적으로 금지된다. 반대로, 제2 마스터 블록 MBk2의 포맷이 적법한 경우에, 제1 마스터 블록 MBk1은 제2 마스터 블록 MBk2으로 교체된다.
상기 블록 MBk1의 포맷이 적법한 경우 또는 상기 블록 MBk1의 포맷이 불법적이나 상기 블록 MBk2의 포맷이 적법한 경우, 그리고 앞에서 나타내어진 바와 같이, 상기 블록 MBk1이 상기 블록 MBk2로 교체된 경우, 인증 코드 Auth_C는 본 발명의 방법에서의 후속 단계에 따라 검증된다. 도 4a에 그림의 형태로 도시된 이러한 검증은, 한편으로는 그것(암호 기능 MAC)에 시스템 키(13)를 사용하여 복호화된 인증 키(15)를 제공함으로써, 그리고 다른 한편으로는 모노토닉 카운터값 필드가 이러한 카운터(11)에 포함되어 있는 현재값 Vc에 의해 업데이트된 마스터 블록 MBk1의 내용을 제공함으로써 암호 기능 MAC를 요청하는 것을 포함한다. 이때 획득된 결과는 마스터 블록 MBk1의 인증 코드 Auth_C와 비교된다. 만일 이 결과가 마스터 블록 MBk1의 인증 코드 Auth_C로 이상적이면, 그때 상기 블록 MBk1은 인증된다. 반대인 경우 에, 그것은 인증된 것으로 간주되지 않고 마스터 블록 복구 절차가 시작된다(도 2).
만일 마스터 블록 MBk1이 인증되면, 이때 인증 코드 Auth_A는 본 발명의 방법에서의 다른 단계에 따라 검증된다. 이러한 검증은 또한 시스템 내의 데이터 블록 DBK에 포함되어 있는, 어쩌면 부호화된 모든 데이터 상에서 계산되는 MAC를 불러온다. 유리하게, 이러한 MAC는 데이터 블록 어레이에 관해서 처음에 계산될 수 있고, 그런 다음, 두번째로 데이터 어레이에 관하여 그렇게 계산된 인증 코드에 대하여 계산될 수 있다. 상기 코드 Auth_A의 검증이 옳은 경우에, 시스템은 일관성이 있는 것으로 간주된다. 반대의 경우에, 데이터 복구 절차가 유발된다.
시스템 일관성이 검증된 후, 시스템에 새로운 데이터를 기록하는 것에 관하여, 본 발명의 절차는 다음과 같이 계속된다.
우선, 도 3에 도시된 바와 같이, 블록 MBk1의 포맷, 여기서 적당하게는, 블록 MBk2의 포맷이 시스템 일관성을 검증하기 위해 앞에서 설명된 방식으로 검증된다. 앞에서와 같이, 만일 이러한 검증들이 실패하면, 시스템에는 영구히 오류가 발생된다.
그러면, 다음 단계에서, 코드 Auth_C가 검증된다. 앞에서와 같이, 만일 이 코드가 검증되지 않는다면, 마스터 블록 복구 절차가 시작된다. 반대로, 만일 이 코드가 검증되면, 블록 MBk1은 인증되고 새로운 마스터 블록 MBk1'가 코드 Auth_A의 검증 없이 생성된다. 실제로, 시스템이 가동되고 있는 동안, 제3자의 악인이 본 시스템과 상호작용하지 못할 것이다.
새로운 마스터 블록 MBk1'를 생성하기 위하여, 다음의 단계들이 실행된다. 먼저, 최종 기록의 데이터 블록의 식별자 IDlast가 업데이트된다. 이때, 모노토닉 카운터(11)의 현재값 Vc가 복구되고, 값 Vc+1이 새로운 마스터 블록 MBk1'에 기록된다. 이때 그 마스터 블록 내에 있을 수 있는 어떤 다른 정보가 업데이트된다. 새로운 마스터 블록 MBk1'에서, 미리-특정화된 값, 예를 들면 제로들의 열(sequence)이 이때 계산되고, 인증코드 Auth_A 및 Auth_B를 위해 제공된 시점에서, 상기 마스터 블록 MBk1'가 업데이트된다. 마지막으로 새로운 인증 코드 Auth_C가 계산되고, 이때 대응되는 값이 마스터 블록 MBk1'에 기록된다. 이러한 계산에 있어서의 단계들이 도 4B에 도식적으로 설명된다. 그것은 그렇게 구성된, 다시 말해서, 특히 새로운 데이터 식별자, Vc+1과 동일한 모노토닉 카운터 값, 및 새로운 데이터에 관한 인증 코드 A 및 B로 구성된 새로운 마스터 블록의 토대에서 이루어진다.
한 번 오직 한 번만 새로운 마스터 블록 MBk1'이 생성되고, 모노토닉 카운터 값이 Vc+1로 증가되며, 이때 마스터 블록 MBk1'이 시스템 속에 기록된다. 마스터 블록 MBk1의 복제물인 제2 마스터 블록 MBk2'가 또한 기록되고, 최종적으로 새로운 데이터가 기록된다.
데이터를 읽기 위하여, 도 5에 도시된 바와 같이, 절차는 다음과 같다. 앞에서와 같이, 마스터 블록 MBk1의 포맷이 검증된다. 만일 그것이 불법적이면, 마스터 블록 MBk2의 포맷이 검증된다. 만일 이 두번째 검증이 실패하면, 시스템은 영구히 오류가 발생된 것으로 간주된다.
반대로, 마스터 블록 MBk1 또는 MBk2 중의 하나의 포맷에 관한 검증이 성공적으로 완수된 경우에, 절차에서의 다음 단계들이 진행된다. 먼저, 코드 Auth_C가 모노토닉 카운터(11)의 현재값 Vc를 이용하여 검증된다. 마스터 블록 MBk1이 인증되지 않는 경우에, 마스터 블록 복구 절차가 시작된다. 반대의 경우에, 코드 Auth_A가 검증된다. 만일 이 검증이 실패하면, 데이터 복구 절차가 시작된다. 반대의 경우에, 제공된 데이터 식별자에 상응하는 데이터가 독출된다. 선택적으로, 만일 암호화가 활성화되어 있으면, 데이터가 독출된 후 복호화되고, 복호화된 데이터가 회복된다.
데이터 복구 시스템이 도 6에 도시된다. 이 절차는 시스템을 리부팅할 필요없이 자동으로 수행된다. 그것은 다음의 단계들을 포함한다. 먼저, 기록된 데이터 내에 미리 설정된 중립값, 예를 들면 제로(zero)들의 열을 채워넣음으로써 인증 코드가 계산된다. 이러한 최종 기록 데이터가 상기 마스터 블록에 기재된 식별자에 의해 확인된다.
만일 전술된 계산의 결과가 인증 코드 Auth_B와 동일하면, 절차는 다음과 같다. 먼저, 데이터가 실제로 중립값으로 채워진다. 그런 후, 인증 코드 Auth_B가 인증 코드 Auth_C로 복제된다. 그렇게 변경된 인증 코드 Auth_C가 모노토닉 카운터 의 현재값 Vc+1을 이용하여 다시 한 번 계산되고, 상기 계산은 마스터 블록 인증 코드 내에 있는 위치가 중립값으로 미리 채워진 상태에서 마스터 블록 MBk 상에서 수행된다. 마지막으로 모노토닉 카운터는 증가되고, 마스터 블록은 복제된다.
만일 전술된 계산의 결과가 인증 코드 Auth_B와 동일하지 않으면, 데이터 시스템은 영구히 오류가 발생된 것으로 간주되어야 한다.
마스터 블록의 자동 복구 절차가 도 7에 도시되어 있다. 그것은 인증 코드 Auth_C가 마스터 블록 MBk가 인증되지 않음을 표시할 때 실행된다. 이 절차는 다음의 방식으로 실행된다. 먼저, 모노토닉 카운터의 현재값 Vc가 복구된다. 만일 마스터 블록에서 표시된 모노토닉 카운터 값이 상기 값 Vc+1과 동일하면, 모노토닉 카운터 값이 현재값 Vc+1과 동일하다고 가정하여 인증 코드 Auth_C가 검증된다.
이러한 검증이 성공적으로 완료되면, 모노토닉 카운터(11)의 상기 값 Vc가 증가된다. 실제로, 이러한 상황은 모노토닉 카운터(11)가 증가되기 직전에 기록에 있어서 갑작스러운 중단이 있을 때 발생한다.
반대로, 이러한 검증이 성공적으로 완료되지 않으면, 제2 마스터 블록 MBk2의 인증 코드 Auth_C가 검증된다. 이러한 마지막 검증이 성공적으로 완료되는 경우에, 이때 마스터 블록 MBk1이 마스터 블록 MBk2로 대체된다. 반대의 경우에, 시스템에는 오류가 발생되고 회복불능이 된다.
일반적으로 말해서, 데이터 블록들이 마스터 블록들 내에 포함된 암호화 키에 의해 암호화되어 있는 경우에, 데이터 블록 기록은 상기 데이터를 암호화하는 단계에 의해 선행된다는 점에 유의해야 할 것이다. 독출을 위해, 상기 블록들은 또한 미리 복호화된다. 데이터 복구 시스템은 인증 코드 Auth_A가 암호화된 데이터로부터 특정화되어 있기 때문에 또한 약간 변경된다. 암호화된 중립값을 포함하는 최 종 블록으로부터 특정화되어 있는 인증 코드 Auth_B에 대해서도 마찬가지이다.
이하의 실시예들에서 설명된 바와 같이, 본 발명의 시스템은 재생 방지된다.
상기 시스템이 2개의 인증 마스터 블록 MBk1 및 MBk2와, Vc와 동일한 모노토닉 카운터 현재값을 갖는 콘텐트 데이터 DBk를 포함하는 것으로 가정하자. 나중에, 인증 마스터 블록 MBk1' 및 MBk2', 콘텐트 데이터 DBk' 그리고 Vc+1과 동일한 모노토닉 카운터 값으로 인해 시스템이 변경된다.
만일 공격자가 데이터 DBk'를 데이터 DBk로, 마스터 블록 MBk1' 및 MBk2'를 마스터 블록 MBk1 및 MBk2로 각각 대체하면, 이때 마스터 블록 MBk1 및 MBk2에 관한 인증 코드 Auth_C의 검증은 실패한다. 왜냐하면 이러한 블록들이 값 Vc로 계산되는 반면에 모노토닉 카운터의 현재값은 Vc+1과 동일하기 때문이다.
만일 공격자가 오직 데이터 DBk'만 데이터 DBk로 대체하고, 마스터 블록 MBk1' 및 MBk2'를 저장하면, 블록 MBk1'는 인증되지만 이 데이터의 인증 코드 Auth_A는 인증되지 않는다. 왜냐하면 그것은 데이터 DBk'에 관련되는 반면에 이 블록은 현재 데이터 DBk와 관련되기 때문이다. 만일 공격자에 의해 만들어진 변경이 최종 기록 데이터 블록에 관련되면, 이때 시스템 복구가 발생할 것이고 최종 데이터 블록은 중립값으로 채워질 것이다.
마지막으로, 공격자가 데이터 DBk'를 예를 들면 데이터 DBk로 대체하고, 마스터 블록 MBk1'가 Vc와 동일하고 Vc+1과 동일하지 않은 모노토닉 카운터 값 Vlast를 나타내는 것을 제외하고 마스터 블록 MBk1'와 동일한 마스터 블록 MBk1"를 위조하는 경우, 마스터 블록 MBk1'의 인증 코드 Auth_C는 모노토닉 카운터의 현재값이 Vc+1이기 때문에 유효하지 않을 것이다.
마찬가지로, 이하의 실시예들에서 설명된 바와 같이, 본 발명의 시스템은 시스템 재기동이나 전원 공급 차단과 같은 특히 그러한 서비스의 갑작스런 중단으로 인한 변경들에 대해 저항한다.
본 발명의 시스템이 2개의 마스터 블록 MBk1 및 MBk2, 데이터 DBk 및 Vc와 동일한 모노토닉 카운터 값을 포함하는 것으로 가정하자.
만일 새로운 데이터 DBk'를 기록하는 것이 희망되지만 마스터 블록이 기록된 후 모노토닉 카운터가 증가되기 전에 전력 차단이 발생하면, 그때 시스템은 마스터 블록 MBk1', 마스터 블록 MBk2, 데이터 DBk 및 값 Vc에 있는 모노토닉 카운터를 포함하는 그러한 상태에 있게 된다. 이때 블록 MBk1'의 인증 코드 Auth_C의 검증은 실패한다. 왜냐하면 그것은 카운터 값 Vc+1로 계산된 반면 현재값은 Vc이기 때문이다. 이때 마스터 블록 복구 절차가 기동된다. MBk1'에 기재된 카운터 값은 실제로 현재값+1이라는 것이 발생한다. 이때 마스터 블록 MBk1'는 카운터가 현재값+1과 동일하고, 그것이 작용한다고 가정하여 검증된다. 이때 모노토닉 카운터는 증가되고 시스템은 다시 일관성을 갖는다.
만일, 앞에서와 같이, 새로운 데이터 DBk'를 기록하는 것이 희망되고 모노토닉 카운터가 증가된 직후에 전력 차단이 발생하면, 그때 시스템은 마스터 블록 MBk1', MBk2, 데이터 DBk 및 Vc+1과 동일한 카운터 값으로 획득된다. MBk1'의 인증 코드 Auth_C의 검증은 카운터 값이 Vc+1이기 때문에 성공한다. 하지만, 인증 코드 Auth_A의 검증은 데이터 DBk'가 예상되고 DBk가 아니기 때문에 실패한다. 이때 데이터 복구 절차가 기동된다. 인증 코드 Auth_B는 최종 기록 데이터 블록에 대한 중립값을 이용하여 검증된다. 이것은 DBk에 대응하는 것으로 보인다. 그러므로 검증은 성공한다. 시스템은 최종 기록 블록 내의 중립값을 이용하여 그리고 마스터 블록을 수정함으로써 최종적으로 올바른 상태로 리셋된다. 시스템은 본 예에서도 역시, 다시 일관성을 갖는다.
만일 시스템으로의 전기 공급의 차단이 제2 마스터 블록이 기록된 후 발생하면, 프로세싱이 앞의 상황과 동일하다는 것에 주의해야 할 것이다.
만일 시스템으로의 전기 공급의 차단이 최종 데이터 블록이 기록된 후 발생하면, 시스템이 일관성 있는 상태로 되어 수정이 이루어져야 할 필요가 없다는 것에 최종적으로 주목해야 할 것이다.
모든 것이 말해지고 행해진 경우, 최종 기록 데이터는 다음의 3개의 메커니즘을 이용함으로써 본 발명에 따라 복구될 수 있다.
첫째로, 정확히 기록하는 것은 다음의 4개의 연속적인 단계들을 따른다: 모노토닉 카운터의 현재값+1을 이용하여 마스터 블록을 계산하고 기록하는 단계; 모노토닉 카운터의 값을 증가시키는 단계; 제2 마스터 블록을 기록하는 단계; 및 최종 데이터 블록을 기록하는 단계.
둘째로, 마스터 블록은 인증 코드 Auth_B 및 최종 기록의 데이터 블록의 식별자를 포함한다.
셋째로, 마스터 블록은 마스터 블록이 기록되는 바로 그 순간에 에러가 발생하는 경우에 그 자체가 복제된다.
이상의 실시예에서 개시된 바와 같이, 본 발명의 시스템은 특히 서비스에서의 중단에 이어 발생하는 단지 최종 에러를 복구하기 위해 사용될 수 있다. 그러나, 당해 기술 분야의 숙련자들은, 다른 마스터 블록을 추가함으로써, 앞서의 에러를 복구할 수 있다. 더 나아가, 본 발명의 시스템은, 위의 실시예에서 개시된 바와 같이, 복수의 다른 데이터 블록에 영향을 미치는 복수의 에러를 복구하기 위해 사용될 수 없다. 그렇지만, 거기에서도 역시, 당해 기술 분야의 숙련자들은 마스터 블록에 추가적인 인증 코드 Auth_B 필드를 추가함으로써, 복수의 데이터 블록에 있는 에러들에 의해 영향을 받은 데이터를 복구하기 시작할 수 있다.
마지막으로, 본 발명의 시스템은 원하지 않는 변경, 재생 및 고장 발생시의 자동 복구에 대해 저항하는 3개의 연속해서 발생하는 특성을 결합한다.

Claims (25)

  1. 데이터를 안전하게 보호하기 위한 시스템(10)으로서,
    모노토닉(monotonic) 카운터(11);
    계산 실재물(computational entity)(12);
    하나 또는 복수의 데이터 블록(DBk1, DBk2, DBk3, DBk4)과, 상기 모노토닉 카운터(11)의 복구된 최종값(Vlast), 상기 매체(14) 상에 기록된 최종 데이터 블록(DBk)의 식별자(IDlast), 기록된 데이터 블록 또는 블록들의 진짜임을 보증하는 제1 인증 코드(Auth_A), 그 데이터가 중립값으로 정해진 최종 기록된 데이터 블록으로부터 계산된 제2 인증 코드(Auth_B), 제1 마스터 블록의 진짜임을 보증하는 제3 인증 코드(Auth_C)를 포함하는 제1 마스터 블록(MBk1)과, 상기 제1 마스터 블록(MBk1)의 복제품을 구성하는 제2 마스터 블록(MBk2)을 포함하는 물리적 데이터 매체(14); 및
    인증 키(15)를 포함하는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 시스템(10).
  2. 제1항에 있어서,
    상기 데이터 블록들(DBk1, DBk2, DBk3, DBk4)의 크기는 변경구성될 수 있는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 시스템(10).
  3. 제1항 또는 제2항에 있어서,
    상기 제1 인증 코드(Auth_A)는 상기 기록된 데이터 블록 또는 블록들의 완전 무결을 더 보증하고, 상기 제3 인증 코드(Auth_C)는 상기 마스터 블록의 완전무결을 더 보증하는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 시스템(10).
  4. 제1항 내지 제3항 중의 한 항에 있어서,
    상기 제2 인증 코드(Auth_B)는 내부의 데이터가 중립값으로 정하여져 있는 최종 기록된 데이터 블록으로부터, 그리고 다른 데이터 블록들 내에 그대로 저장되어 있는 데이터로부터 계산되는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 시스템(10).
  5. 제1항 내지 제4항 중의 한 항에 있어서,
    상기 인증 키(15)는 제1 및 제2 마스터 블록(MBk1)(MBk2) 내에 포함되어 있는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 시스템(10).
  6. 제5항에 있어서,
    상기 시스템(10)은 시스템 키(13)를 더 포함하고, 상기 인증 키(15)는 상기 시스템 키(13)에 의해 암호화되는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 시스템(10).
  7. 제1항 내지 제6항 중의 한 항에 있어서,
    상기 데이터 블록들(DBk1, DBk2, DBk3, DBk4)은 암호화 키에 의해 암호화되는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 시스템(10).
  8. 제7항에 있어서,
    상기 암호화 키는 상기 시스템 키(13)에 의해 암호화되는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 시스템(10).
  9. 데이터를 안전하게 보호하기 위한 방법으로서,
    모노토닉 카운터(11), 계산 실재물(12), 물리적 데이터 매체(14) 및 인증 키(15)를 제공하는 단계; 및
    상기 데이터 매체(14) 상에, 하나 또는 복수의 데이터 블록(DBk1, DBk2, DBk3, DBk4), 상기 모노토닉 카운터(11)로부터 복구된 최종값(Vlast), 상기 매체(14) 상에 기록된 최종 데이터 블록(DBk)의 식별자(IDlast), 기록된 데이터 블록 또는 블록들의 진짜임을 보증하는 제1 인증 코드(Auth_A), 그 데이터가 중립값으로 정해져 있는 최종 기록된 데이터 블록으로부터 계산된 제2 인증 코드(Auth_B), 제1 마스터 블록(MBk1)과, 상기 제1 마스터 블록(MBk1)의 복제품을 구성하는 제2 마스터 블록(MBk2)의 진짜임을 보증하는 제3 인증 코드(Auth_C)를 기록하는 단계를 포함하는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 방법.
  10. 제9항에 있어서,
    시스템(10)이 기동될 때 시스템(10)의 일관성이 검증되는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 방법.
  11. 제10항에 있어서,
    상기 시스템(10)의 일관성을 검증하기 위하여, 상기 제1 마스터 블록(MBk1)의 포맷의 적법성이 검증되고, 상기 제1 마스터 블록(MBk1)이 불법적인 경우에, 상기 제2 마스터 블록(MBk2)의 적법성이, 제2 마스터 블록(MBk2)의 포맷이 적법한 경우에 상기 제1 마스터 블록(MBk1)이 제2 마스터 블록(MBk2)으로 대체된다는 인식에서 검증되고, 제2 마스터 블록(MBk2)의 포맷이 불법적인 경우에, 시스템은 영구적으로 오류가 발생되는 것으로 간주되는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 방법.
  12. 제10항 또는 제11항에 있어서,
    상기 시스템(10)의 일관성을 검증하기 위하여, 제3 인증 코드(Auth_C)가 검증되고, 이때 상기 제3 인증 코드(Auth_C)가 성공적으로 검증되는 경우에, 제1 인증 코드(Auth_A)가, 제3 인증 코드(Auth_C)의 검증이 실패하는 경우에 제1 마스터 블록(MBk1)의 복구 절차가 시작되고, 제1 인증 코드(Auth_A)의 검증이 실패하면 데 이터 복구 절차가 시작된다는 인식에서 검증되는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 방법.
  13. 제9항 내재 제12항 중의 한 항에 있어서,
    새로운 데이터를 기록하기 위하여, 제1 마스터 블록(MBk1)의 포맷의 적법성이 검증된 후 제3 인증 코드(Auth_C)가 검증되는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 방법.
  14. 제9항 내재 제13항 중의 한 항에 있어서,
    새로운 데이터를 기록하기 위하여, 새로운 제1 마스터 블록(MBk1')이 생성되고, 상기 모노토닉 카운터(11)가 증가되며, 상기 새로운 제1 마스터 블록(MBk1')이 기록되고, 새로운 제2 마스터 블록(MBk2')이 기록된 후 새로운 데이터가 기록되는것을 특징으로 하는 데이터를 안전하게 보호하기 위한 방법.
  15. 제14항에 있어서,
    상기 새로운 제1 마스터 블록(MBk1')을 생성하기 위하여, 최종 데이터 블록의 식별자가 업데이트되고, 모노토닉 카운터(11)의 현재값이 복구되며, 이 카운터 (11)의 현재값(Vc)+1이 상기 새로운 제1 마스터 블록(MBk1')에 기재된 후, 인증 코드들이 그렇게 구성된 상기 새로운 제1 마스터 블록(MBk1')으로부터 계산되는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 방법.
  16. 제9항 내재 제15항 중의 한 항에 있어서,
    데이터를 읽기 위하여, 제1 마스터 블록(MBk1)의 적법성이 검증된 후 제3 인증 코드(Auth_C)가 검증되는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 방법.
  17. 제9항 내재 제16항 중의 한 항에 있어서,
    데이터 복구 단계를 포함하고, 상기 데이터 복구 단계는 시스템(10)이 리부팅됨없이 자동으로 수행되는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 방법.
  18. 제17항에 있어서,
    데이터를 복구하기 위하여, 최종 기록된 데이터에 미리 정해진 중립값을 채워넣음으로써 인증 코드가 계산되고, 이 계산의 결과가 제2 인증 코드(Auth_B)와 동일하면, 상기 중립값 데이터가 채워져서 제2 인증 코드(Auth_B)가 제1 인증 코드(Auth_A)로 복제되며, 모노토닉 카운터의 현재값+1을 이용하여 제3 인증 코드 (Auth_C)가 계산된 후, 모노토닉 카운터가 증가되고 마스터 블록이 복제되는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 방법.
  19. 제9항 내지 제18항 중의 한 항에 있어서,
    마스터 블록의 자동 복구를 위한 단계를 포함하는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 방법.
  20. 제19항에 있어서,
    마스터 블록을 복구하기 위하여, 상기 모노토닉 카운터의 현재값이 복구되고, 상기 마스터 블록에 표시된 상기 모노토닉 카운터의 현재값이 이 값+1과 동일하면, 상기 모노토닉 카운터 값이 현재값+1과 동일하다고 가정하여 제3 인증 코드 (Auth_C)가 검증되는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 방법.
  21. 제20항에 있어서,
    검증이 성공적으로 완료된 경우에, 상기 모노토닉 카운터의 값이 증가되고, 검증이 실패한 경우, 제2 마스터 블록(MBk2)의 상기 인증 코드(Auth_C)가 검증되는것을 특징으로 하는 데이터를 안전하게 보호하기 위한 방법.
  22. 제9항 내지 제21항 중의 한 항에 있어서,
    상기 모노토닉 카운터의 현재값+1을 이용하여 마스터 블록을 계산하고, 기록하며, 상기 모노토닉 카운터의 연속적인 값을 증가시키는 연속적인 단계들과; 제2 마스터 블록(MBk2)을 기록한 후 최종 데이터 블록을 기록하는 단계를 포함하는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 방법.
  23. 제9항 내지 제22항 중의 한 항에 있어서,
    상기 계산 실재물(12)은 데이터 블록 MAC(Message Authentication Code) 계산을 수행하고, 상기 데이터 블록은 암호화 되어 있는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 방법.
  24. 제9항 내지 제23항 중의 한 항에 있어서,
    상기 계산 실재물(12)은 데이터 어레이 상에서 수행된 계산 결과들을 랜덤 액세스 메모리에 저장하고, 이 계산 결과들을 이용하여 제1 및 제2 인증 코드 (Auth_A)(Auth_B)의 MAC와, 마스터 블록에 기재되어 있는 어레이들의 크기를 계산하는 것을 특징으로 하는 데이터를 안전하게 보호하기 위한 방법.
  25. 한편으로는 재생에 대하여, 다른 한편으로는 서비스의 갑작스러운 중단에 대하여 데이터를 안전하게 보호하기 위한 제1항 내지 제8항 중의 한 항에서 청구된 바와 같은 시스템 및/또는 제9항 내지 제24항 중의 한 항에서 청구된 바와 같은 방법의 사용.
KR1020097008182A 2006-09-27 2007-09-27 데이터를 안전하게 보호하기 위한 시스템 및 방법 KR101443405B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0608451 2006-09-27
FR0608451A FR2906380B1 (fr) 2006-09-27 2006-09-27 Systeme et procede de securisation de donnees.
PCT/FR2007/001582 WO2008037895A2 (fr) 2006-09-27 2007-09-27 Systeme et procede de securisation de donnees

Publications (2)

Publication Number Publication Date
KR20090089285A true KR20090089285A (ko) 2009-08-21
KR101443405B1 KR101443405B1 (ko) 2014-09-24

Family

ID=37888068

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097008182A KR101443405B1 (ko) 2006-09-27 2007-09-27 데이터를 안전하게 보호하기 위한 시스템 및 방법

Country Status (7)

Country Link
US (1) US8880904B2 (ko)
EP (1) EP2100250B1 (ko)
JP (1) JP5076110B2 (ko)
KR (1) KR101443405B1 (ko)
CN (1) CN101589399B (ko)
FR (1) FR2906380B1 (ko)
WO (1) WO2008037895A2 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9405707B2 (en) 2011-12-20 2016-08-02 Intel Corporation Secure replay protected storage
US9411748B2 (en) 2011-12-20 2016-08-09 Intel Corporation Secure replay protected storage
FR3079044B1 (fr) 2018-03-14 2020-05-22 Ledger Traitement securise de donnees
DE102018120344A1 (de) * 2018-08-21 2020-02-27 Pilz Gmbh & Co. Kg Automatisierungssystem zur Überwachung eines sicherheitskritischen Prozesses
CN113228025A (zh) * 2018-12-21 2021-08-06 美光科技公司 确保安全的存储器存取的方法及装置
CN111062057B (zh) * 2019-12-16 2022-06-14 英联(厦门)金融技术服务股份有限公司 一种中立的数据应用方法、装置以及系统
CN112582009B (zh) * 2020-12-11 2022-06-21 武汉新芯集成电路制造有限公司 单调计数器及其计数方法
KR102576566B1 (ko) 2021-05-17 2023-09-08 (주)유미테크 데이터 암호화 시스템 및 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06511582A (ja) * 1992-07-24 1994-12-22 マイクロソフト コーポレイション メモリを割り当てそして解放するコンピュータ方法及びシステム
KR20010100011A (ko) * 1999-10-29 2001-11-09 요트.게.아. 롤페즈 보안 카운터를 경유하여 데이터 통합성을 보증하는 방법
WO2001061437A2 (en) * 2000-02-17 2001-08-23 General Instrument Corporation Method and system for secure downloading of software
US6947556B1 (en) * 2000-08-21 2005-09-20 International Business Machines Corporation Secure data storage and retrieval with key management and user authentication
US20020152396A1 (en) * 2001-04-11 2002-10-17 Fox Michael S. Method for secure restoration of a database stroring non-secure content
KR100583635B1 (ko) * 2003-01-24 2006-05-26 삼성전자주식회사 다수의 동작 모드들을 지원하는 암호화 장치
US7325130B2 (en) * 2003-03-21 2008-01-29 International Business Machines Corporation Method for guaranteeing freshness of results for queries against a non-secure data store
US7596570B1 (en) * 2003-11-04 2009-09-29 Emigh Aaron T Data sharing
JP2005293357A (ja) * 2004-04-01 2005-10-20 Toshiba Corp ログインシステム及び方法
CN100590606C (zh) * 2005-12-14 2010-02-17 兆日科技(深圳)有限公司 闪速存储器数据完整性保护方法

Also Published As

Publication number Publication date
JP5076110B2 (ja) 2012-11-21
WO2008037895A2 (fr) 2008-04-03
FR2906380A1 (fr) 2008-03-28
WO2008037895A3 (fr) 2008-05-08
US8880904B2 (en) 2014-11-04
CN101589399A (zh) 2009-11-25
FR2906380B1 (fr) 2008-12-19
KR101443405B1 (ko) 2014-09-24
EP2100250B1 (fr) 2019-08-21
JP2010505169A (ja) 2010-02-18
CN101589399B (zh) 2012-11-14
US20110162083A1 (en) 2011-06-30
EP2100250A2 (fr) 2009-09-16

Similar Documents

Publication Publication Date Title
KR101443405B1 (ko) 데이터를 안전하게 보호하기 위한 시스템 및 방법
US7707429B2 (en) System and method to proactively detect software tampering
US8726035B2 (en) Method and system for a recursive security protocol for digital copyright control
CN111723383B (zh) 数据存储、验证方法及装置
US20050283662A1 (en) Secure data backup and recovery
CN108170562B (zh) 一种固态硬盘及其数据处理方法和系统
EP2343662B1 (en) Method of and apparatus for storing data
WO2005106618A1 (en) A method of backing up and restoring data in a computing device
US20100194609A1 (en) Method and Device For Coding Data Words
CN108256351B (zh) 文件处理方法和装置、存储介质及终端
EP2119092A2 (en) Method and system for a recursive security protocol for digital copyright control
CN115310136B (zh) 基于sata桥接芯片的数据安全保障方法
CN110311773B (zh) 一种高级加密标准协处理器防注入式攻击的方法
CN113486399A (zh) 基于risc-v架构的数据存储方法及系统
WO2019008112A1 (en) DATA PROTECTION
CN117768114A (zh) 一种密钥派生方法及安全架构系统
CN115208554B (zh) 一种密钥自校验、自纠错、自恢复的管理方法及系统
CN112270019A (zh) 一种数据库关键信息表双重防篡改方法及系统
CN111259413A (zh) 一种基于区块链的数据管理方法及装置
CN116166277A (zh) 一种应用程序的管理装置和嵌入式设备
CN114239091A (zh) 基于可信芯片的磁盘加密方法及系统

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 5