KR101702545B1 - 데이터 인증방법 및 그 장치 - Google Patents

데이터 인증방법 및 그 장치 Download PDF

Info

Publication number
KR101702545B1
KR101702545B1 KR1020140125134A KR20140125134A KR101702545B1 KR 101702545 B1 KR101702545 B1 KR 101702545B1 KR 1020140125134 A KR1020140125134 A KR 1020140125134A KR 20140125134 A KR20140125134 A KR 20140125134A KR 101702545 B1 KR101702545 B1 KR 101702545B1
Authority
KR
South Korea
Prior art keywords
signature
word
data
sequence
words
Prior art date
Application number
KR1020140125134A
Other languages
English (en)
Other versions
KR20150033557A (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 KR20150033557A publication Critical patent/KR20150033557A/ko
Application granted granted Critical
Publication of KR101702545B1 publication Critical patent/KR101702545B1/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
    • G06F21/604Tools and structures for managing or administering access control systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

일종의 데이터 인증방법 및 그 장치로서, 상기 방법은 다수의 데이터워드의 제1 시퀀스를 생성하여 인터페이스를 통해 발송하고, 다수의 서명워드의 제2 시퀀스를 계산하여, 상기 제2 시퀀스를 상기 제1 시퀀스에 인터리브하여 인터리브 시퀀스를 생성하는 단계를 포함한다. 상기 인터리브 시퀀스 중의 매 규정 서명워드는 인터리브 시퀀스 중 이전 서명워드에 의해 서명된 데이터워드 및 이전 서명워드와 규정 서명워드 사이에 위치하는 데이터워드에 대하여 서명을 실시한다. 또한, 인터페이스를 통해 인터리브 시퀀스를 전송한다.

Description

데이터 인증방법 및 그 장치 {Data authentication method and apparatus thereof}
본 발명은 데이터의 보안에 관한 것으로서, 특히 암호화 데이터의 인증 방법 및 시스템에 관한 것이다.
데이터 인증방안은 예컨대 암호 공격을 피하는데 사용되는 등 다양하게 응용될 수 있다. 예를 들어, 미국 특허 제8,429,513호에 게시된 내용을 참고로 인용하면, 프로그래머블 메모리 중 코드의 무결성 검사 방법을 설명한 것으로서, 상기 방법은 안전하지 않은 메모리로부터 코드를 수신하며, 또한 안전하지 않은 메모리로부터 코드를 수신할 때, 이 코드에 대하여 에러 검출 비트를 생성하고, 코드와 에러 검출 비트를 프로그래머블 메모리에 저장하는 단계, 및 프로그래머블 메모리에 저장된 코드와 에러 검출 비트에 대하여 인증 검사를 수행하여 프로그래머블 메모리에 저장된 코드의 무결성을 인증하는 단계를 포함한다.
여기에 미국 특허 출원 공개 공보 제2012/0102307호에 게시된 내용을 참고로 인용하면, 보안 자산 관리 유닛(secure asset management unit, SAMU)을 포함하며, 민감한 코드와 데이터를 수행하기 위한 보안 수행 환경을 설명한 것으로서, 보안 자산 관리 유닛은 안전한 수행 환경을 제공함으로써 민감한 코드, 예를 들어 콘텐츠 소비를 대상으로 구축된 복제 보호 방안과 관련된 코드를 실행한다. 보안 자산 관리 유닛의 구조는 하드웨어를 기반으로 하는 보안 부팅과 메모리 보호를 허용하며, 호스트 프로세서가 제공하는 코드에 주문형 코드(on-demand code)의 수행을 제공한다. 보안 자산 관리 유닛은 이미 암호화 및 서명된 핵심 코드를 통해 시동 가능하고, 또한 암호화 및 서명된 코드를 수행할 수 있으며, 하드웨어의 보안 구성을 기반으로, 수직 또는 수평 특권 침해(privilege violations)를 방지할 수 있다.
여기 인용하는 미국 특허 출원 공개번호 제2006/0253708호에 공개된 내용을 참조하면, 가변 데이터 중 적어도 하나의 데이터 블록을 마이크로프로세서 외부의 제1 휘발성 메모리에 기록하는 방법을 설명한 것으로서, 이 방법은 디지털 서명을 계산하고 저장하는 단계를 포함하며, 그 중 상기 디지털 서명은 메모리 중에서의 상기 데이터 블록 중 적어도 일부 어드레스와 내용 및 마이크로프로세서 내부의 적어도 제1 랜덤 디지털값을 고려한 것이다.
여기 인용하는 호주 특허 출원 공개번호 제AU 2001/027074호에 공개된 내용을 참조하면, 데이터의 정확성을 효과적으로 판단하는 기술을 설명한 것으로서, 일부 데이터의 인증 과정은 콘텐츠의 부분 데이터를 조합하여, 완전한 부분 데이터를 다수의 검사 값으로 정리하여 수행하고, 또한 부분 데이터의 전체를 조합하는 검사 과정은 부분 무결성 검사값(integrity-check-value-verifying)이 인증한 무결성 검사값의 정리를 통해 수행하며, 상기 무결성 검사값은 일부 무결성 검사값의 조합에 대하여 인증을 실시한다.
본 발명은 데이터 인증방법 및 그 장치를 제공하려고 한다.
본 발명의 실시예는 일종의 방법을 제공하며, 상기 방법은 다수의 데이터 워드의 제1 시퀀스를 생성하여 인터페이스를 통해 발송하고, 다수의 서명 워드의 제2 시퀀스를 계산하여, 제 2 시퀀스를 제1 시퀀스에 교차 배치함으로써 인터리브 시퀀스를 생성하고, 상기 인터리브 시퀀스 중의 매 규정 서명 워드가 인터리브 시퀀스 중 이전 서명 워드에 의해 서명된 데이터 워드 및 이전 서명 워드와 규정 서명 워드 사이에 위치하는 데이터 워드에 대하여 누적되게 서명을 실시하는 단계, 및 인터페이스를 통해 인터리브 시퀀스를 전송하는 단계를 포함한다.
몇몇의 실시예에서, 서명 워드의 계산은 인터리브 시퀀스 중 각 서명 워드 이전의 데이터 워드를 근거로 인터리브 시퀀스 중의 각 서명 워드를 생성하는 단계를 포함한다. 기타 실시예에서, 서명 워드의 계산은 인터리브 시퀀스를 따라 추가되는 데이터 워드의 상응하는 수량을 근거로 인터리브 시퀀스 중의 각 서명 워드를 생성하는 단계를 포함한다.
몇몇의 실시예에서, 상기 방법은 인터페이스로부터 인터리브 시퀀스를 수신하는 단계, 및 서명 워드의 제2 시퀀스를 사용하여 데이터 워드의 제1 시퀀스를 점진적으로 인증하는 단계를 포함한다. 데이터 워드의 인증은 통상적으로 각 규정 서명 워드를 사용하여 인터리브 시퀀스 중 이전 서명 워드에 의해 인증된 데이터 워드 및 이전 서명 워드와 규정 서명 워드 사이에 위치한 데이터 워드를 인증하는 단계를 포함한다.
몇몇의 실시예에서, 서명 워드의 제2 시퀀스 계산은 리니어 피드백 쉬프트 레지스터(Linear feedback shift register, LFSR)를 데이터 워드에 응용하는 단계, 및 비선형 함수를 리니어 피드백 쉬프트 레지스터의 출력에 응용하는 단계를 포함한다. 기타 실시예에서, 서명 워드의 제2 시퀀스 계산은 규정 서명워드의 다수 비트의 제1 서브셋을 설정하여, 인터리브 시퀀스 중 규정 서명 워드 이전의 데이터 워드에 대하여 서명을 실시하는 단계, 및 에러 검출 코드로부터 규정 서명 워드의 상기 비트의 제2 서브셋을 도출하는 단계를 포함하며, 그 중, 에러 검출 코드는 데이터 워드 중의 적어도 하나를 통해 계산되어 메모리에 저장된다.
몇몇의 실시예에서, 상기 방법은 패스워드 함수를 사용하여 규정 서명 워드 중의 다수의 비트 위치를 암호화하여 제1 및 제2 서브셋에 할당하는 단계를 포함한다. 기타 실시예에서, 상기 방법은 인터페이스로부터 인터리브 시퀀스를 수신하고, 서명 워드로부터 상기 비트의 제1 및 제2 서브셋을 추출하여, 제1 서브셋을 사용하여 인터페이스를 통해 데이터 워드를 전송하는 무결성을 평가하는 단계, 및 제2 서브셋을 사용하여 데이터워드를 메모리에 저장하는 무결성을 평가하는 단계를 포함한다.
본 발명의 실시예는 또한 일종의 장치를 더 제공하며, 상기 장치는 메모리 및 메모리 인증 유닛을 포함한다. 상기 메모리 인증 유닛은 다수의 데이터워드의 제1 시퀀스를 생성하여 인터페이스를 통해 발송하고, 다수의 서명 워드의 제2 시퀀스를 계산하여, 제 2 시퀀스를 제1 시퀀스에 교차 배치함으로써 인터리브 시퀀스를 생성하며, 상기 인터리브 시퀀스 중의 매 규정 서명 워드가 인터리브 시퀀스 중 이전 서명 워드에 의해 서명된 데이터 워드 및 이전 서명 워드와 규정 서명 워드 사이에 위치하는 데이터 워드에 대하여 누적되게 서명을 실시하고, 인터페이스를 통해 인터리브 시퀀스를 전송하도록 배치된다.
본 발명의 실시예는 또한 일종의 방법을 더 제공하며, 상기 방법은 인터페이스를 통해 다수의 데이터 워드의 제1 시퀀스와 다수의 서명 워드의 제2 시퀀스에 의해 형성된 인터리브 시퀀스를 수신하여, 매 규정 서명 워드가 인터리브 시퀀스 중 이전 서명 워드에 의해 서명된 데이터 워드 및 이전 서명 워드와 규정 서명 워드 사이에 위치하는 데이터 워드에 대하여 누적되게 서명을 실시하는 단계, 및 서명 워드의 제2 시퀀스를 사용하여 점진적으로 데이터 워드의 제1 시퀀스를 인증하는 단계를 포함한다.
본 발명의 실시예는 또한 일종의 장치를 더 제공하며, 상기 장치는 인증 유닛과 프로세서를 포함한다. 상기 인증 유닛은 인터페이스를 통해 다수의 데이터 워드의 제1 시퀀스와 다수의 서명 워드의 제2 시퀀스에 의해 형성된 인터리브 시퀀스를 수신하여, 매 규정 서명 워드가 인터리브 시퀀스 중 이전 서명 워드에 의해 서명된 데이터 워드 및 이전 서명 워드와 규정 서명 워드 사이에 위치하는 데이터 워드에 대하여 누적되게 서명을 실시하고, 서명 워드의 제2 시퀀스를 사용하여 점진적으로 데이터 워드의 제1 시퀀스를 인증하도록 배치된다.
본 발명의 상기 특징과 장점을 더욱 분명하고 쉽게 이해할 수 있도록, 이하 실시에를 첨부도면과 결합하여 다음과 같이 상세히 설명한다.
본 발명의 효과는 본 명세서의 해당되는 부분들에 개별적으로 명시되어 있다.
도 1a는 본 발명에 따른 일 실시예에 도시된 계산 시스템의 블록도.
도 1b는 본 발명에 따른 일 실시예에 도시된 버스 인터페이스를 통해 전송되는 인터리브 시퀀스 설명도.
도 2는 본 발명에 따른 일 실시예에 도시된 인터리브 시퀀스에 대해 서명을 실시하여 버스 인터페이스를 통해 전송하는 방법 흐름도.
도 3은 본 발명에 따른 일 실시예에 도시된 버스 인터페이스를 통해 수신된 서명을 거친 데이터를 인증하는 방법 흐름도.
도 4a는 본 발명에 따른 일 실시예에 도시된 무결성 검사 엔진(integrity check engine, ICE)의 제1 실시방안의 블록도.
도 4b는 본 발명에 따른 일 교체 실시예에 도시된 무결성 검사 엔진의 제2 실시방안의 블록도.
도 5는 본 발명에 따른 일 실시예에 도시된 버스 인터페이스를 통해 수신된 데이터를 동시에 인증하고 메모리에 저장된 데이터를 검사하는 방법 흐름도.
[개술]
많은 보안 저장 시스템 중, 호스트 기기는 메모리버스 인터페이스를 통해 메모리장치와 통신하는데, 전송 과정에서 데이터가 각종 암호 공격을 받을 가능성이 있다. 본 발명의 실시예는 버스 인터페이스를 통해 통신하는 암호화를 거친 데이터를 점진적으로 인증하고, 공격자가 통신되는 암호화를 거친 데이터를 위조하거나 또는 위해를 가하는지 여부를 식별하기 위한 개선방법과 시스템을 제공한다.
본문에 설명하는 몇몇의 실시예에서, 메모리 장치는 메모리 및 메모리 인증유닛(memory authentication unit, MAU)을 포함한다. 메모리장치가 버스 인터페이스를 통해 데이터를 호스트로 발송할 준비를 할 때, 메모리 인증유닛은 메모리로부터 데이터를 추출하여 암호화를 거친 데이터워드의 제1 시퀀스를 생성한다. 동시에, 메모리 인증유닛은 상기 추출된 데이터를 기반으로 서명워드의 제2 시퀀스를 계산한다.
메모리 인증 유닛은 데이터워드의 시퀀스를 서명워드의 시퀀스와 인터리브시켜 버스 인터페이스를 통해 전송함으로써, 각각의 서명워드가 끊임없이 인터리브 시퀀스 중의 상기 서명 워드 이전의 데이터워드에 대하여 서명을 실시하도록 배치된다. 다시 말해, 인터리브 시퀀스 중의 매 규정 서명워드(제1 서명워드 제외)는 이전 서명 워드가 서명한 데이터워드 및 이전 서명워드와 규정 서명워드 사이에 위치하는 데이터워드에 대해 서명을 실시한다. 따라서, 인증 강도는 매 데이터워드 시퀀스를 따라 인증되면서 끊임없이 강화된다.
호스트는 호스트 인증 유닛(host authentication unit, HAU)을 사용하여 인터리브 시퀀스를 수신하고, 데이터워드를 서명워드와 분리하며, 데이터워드를 복호화한다. 이와 동시에, 호스트 인증 유닛은 수신된 복호화 데이터로부터 서명워드를 계산하고, 산출된 서명워드를 수신된 서명 워드와 서로 비교하여 데이터워드를 인증한다. 다시 말해, 호스트 인증 유닛은 인터리브 시퀀스 중의 매 서명 워드를 사용하여 이전 서명워드가 인증한 데이터워드 및 이전 서명워드와 규정 서명워드 사이에 위치하는 데이터워드를 인증한다.
다시 말해, 공개되는 기술 중, 메모리장치는 주기적으로 서명워드를 발송하며, 또한 이러한 서명워드는 수량이 점차 증가하는 데이터워드에 대하여 서명을 실시한다. 시퀀스 중의 제1 서명워드는 중간 등급의 인증 성능만 제공할 가능성이 있으나, 단 후속되는 서명워드에서는 인증 성능이 대폭 향상된다. 이와 동시에, 인증 과정으로 인한 대기시간이 매우 짧기 때문에 큰 블록의 데이터워드가 누적될 때까지 기다렸다가 서명을 인증할 필요가 없다. 인스턴트 코드인증의 경우(즉, 인터페이스를 통해 전송되는 데이터워드가 호스트에 의해 즉시 실행되는 소프트웨어 코드를 전달하는 경우), 신뢰성 인증과 낮은 대기시간의 조합이 특히 유용하다.
몇몇의 실시예에서, 호스트는 메모리장치 자체의 데이터의 무결성을 원격 검증하는데 사용될 수도 있다. 이러한 실시예에서, 메모리 인증 유닛은 데이터워드의 그룹을 대응되는 에러검출코드와 함께 메모리에 저장하며, 상기 에러검출코드는 메모리에 저장된 데이터워드의 변경을 검출한다. 만약 공격자가 메모리 장치 중의 데이터 및/또는 전용 논리회로(상기 데이터 및/또는 전용 논리회로는 저장된 데이터의 무결성을 인증하기 위한 것이다)를 위조하려고 시도한 경우, 이 메모리장치가 그 자신의 메모리에 저장된 데이터의 무결성에 대하여 내린 평가를 더 이상 신임할 수 없게 된다. 이하 제시되는 몇몇의 실시예에서, 호스트는 메모리 장치에 저장된 데이터의 무결성을 원격 검증할 수 있다.
이러한 실시예에서, 메모리 인증유닛은 메모리 무결성 비트와 인터페이스 인증 비트의 조합을 포함하는 하이브리드 서명워드를 형성한다. 인터페이스 인증 비트는 상기 서명워드로부터 도출되고, 메모리 무결성 비트는 데이터와 함께 메모리에 저장된 에러검출 코드로부터 도출된다.
일 실시예에서, 인터페이스 인증 비트와 메모리 무결성 비트로 암호화하여 하이브리드 서명워드 중의 비트를 계산한다. 메모리 무결성 비트 자체는 통상적으로 암호화 강도를 구비하지 않으며, 또한 위조를 당하기가 쉬울 가능성이 있다. 그러나 공개하는 기술은 메모리 무결성 비트를 통해서는 인터페이스 인증 비트와 구별할 수 없어 메모리 무결성 비트를 효과적으로 숨길 수 있다. 따라서, 메모리 무결성 비트를 식별하고 수정하기가 확실히 더욱 복잡해진다. 이어서, 앞에 설명한 동일한 방식(예를 들어 인터리브 시퀀스 중에서)과 같이 버스 인터페이스를 통해 하이브리드 서명워드를 호스트로 발송한다. 이어서, 호스트는 인터페이스 인증 비트를 추출하여 인터페이스를 인증하고, 메모리 무결성 비트를 추출하여 메모리에 저장된 데이터를 인증할 수 있다.
[시스템 설명]
도 1a는 본 발명에 따라 일 실시예를 도시한 계산 시스템(10)의 블록도이다. 시스템(10)은 호스트(15)와 메모리장치(20)를 포함한다. 호스트(15)와 메모리장치(20)는 버스 인터페이스(25)를 통해 상호 통신한다. 시스템(10)은 예를 들어 컴퓨터를 포함할 수 있다. 호스트(15)는 컴퓨터의 중앙처리장치(CPU)를 포함할 수 있으며, 메모리장치(20)는 외부 메모리장치를 포함할 수 있다. 상기 외부 메모리장치는 적합한 유형의 모든 메모리, 예를 들어 플래시 메모리 또는 랜덤액세스메모리를 사용한다.
전형적인 플로우에서, 호스트(15)는 버스 인터페이스(25)를 통해 데이터에 대한 요청을 메모리장치(20)로 발송한다. 메모리장치(20)는 메모리(30)로부터 데이터워드를 추출한다. 데이터워드는 Dj로 표시되며, 그 중 j는 인터리브 시퀀스 중 제j번째 데이터워드의 정수를 나타내는데, 조금 후에 논하도록 하겠다. 데이터워드는 메모리(30)와 결합되는 메모리 인증 유닛(35)에 릴레이된다. 메모리 인증유닛(35) 중의 암호화장치(40)는 데이터워드 Dj에 대하여 암호화를 실시한다. 유사하게, 메모리 무결성 검사 엔진(memory integrity check engine, ICE)(45)은 데이터워드 Dj를 입력삼아 서명워드 Si를 계산하며, 그 중 i는 i번째 서명워드의 정수를 나타낸다. 마지막으로, 인터리버(50)는 다음 도면에 도시된 바와 같이 데이터워드 Dj와 서명워드 Si를 포함하는 인터리브 시퀀스를 생성한다.
호스트(15)는 프로세서(60)와 호스트 메모리(65)를 포함한다. 호스트 메모리(65)는 호스트 인증유닛(70)에 연결된다. 호스트 인증유닛(70)은 디인터리버(75)를 포함하며, 상기 디인터리버(75)는 수신된 인터리브 데이터 중 암호화를 거친 데이터를 수신된 서명워드 SiR와 분리시킬 수 있으며, 그 중 i는 인터리브 시퀀스 중 i번째 서명워드의 정수를 나타낸다. 그 후 복호화 장치(80)가 디인터리버(75)로부터 데이터워드 Dj를 추출한다.
호스트 무결성 검사 엔진(85)은 추출된 데이터워드 Dj를 수신하여 데이터워드 Dj로 서명워드 SiR를 계산한다. 데이터워드 Dj와 메모리(30) 중의 서명된 데이터워드가 부합되는지 검증하기 위하여, 비교기(90)가 프로세서(60)로 통과 또는 실패를 지시함으로써(도 1a 중에 도시된 P/F) 서명워드 Si가 수신된 서명워드 SiR와 동일한지 여부를 평가한다. 통과로 지시되었을 때, 규정 인덱스 i의 경우, 현재 수신된 서명워드 SiR가 서명워드 SiR 이전의 서명을 거친 모든 데이터워드에 대하여 인증을 실시한다.
도 1a 중에 도시된 시스템(10)은 예를 든 것일 뿐, 결코 본 발명의 실시예를 제한하는 것은 아니다. 예를 들어, 메모리 무결성 검사 엔진(45)과 호스트 무결성 검사 엔진(85)은 암호화된 데이터워드(도 1a 중 미도시)를 통해 서명워드를 계산하도록 배치될 수 있다. 호스트(10)와 메모리 장치(20)의 각기 다른 소자들은 각자 임의의 적합한 하드웨어, 예를 들어 특수한 응용 집적회로 또는 프로그래머블 논리게이트 어레이(FPGA)를 사용할 수 있다. 몇몇의 실시예에서, 상기 기능은 인쇄회로기판 상의 이산소자 또는 그 조합을 사용하여, 임의의 적합한 방식으로 실현할 수 있다. 기타 실시예에서, 메모리(30)와 메모리 인증유닛(35)은 독립형(self-contained) 보안 메모리장치를 제공하기 위해 통상적으로 동일한 장치의 패키지에 패키징된다.
몇몇의 실시예에서, 버스 인터페이스(25)는 독립된 신호선을 통해 어드레스, 데이터 및 명령을 제공하는 병렬 인터페이스일 수 있다. 기타 실시예에서, 버스 인터페이스(25)는 직렬 인터페이스, 예를 들어 직렬 주변기기 인터페이스(SPI), 인터 인테그레이티드 회로(I2C), 범용 시리얼 버스(USB), 멀티미디어카드(MMC) 또는 보안 디지털(SD) 인터페이스일 수 있다. 버스 인터페이스(25)는 칩 및/또는 인쇄회로기판에 실시되는 임의의 적합한 인터페이스일 수 있다. 메모리(30)와 호스트 메모리(65)는 랜덤액세스메모리, 비휘발성 메모리 또는 그 두 가지일 수 있다.
기타 실시예에서, 호스트(15) 및/또는 메모리 장치(20)의 모종 소자, 예를 들어 메모리 인증 유닛(35), 호스트 인증 유닛(70) 및 프로세서(60)는 범용형 컴퓨터로 실시됨과 아울러 소프트웨어로 상기 범용형 컴퓨터에 대해 프로그래밍을 실시하여 본문에서 설명하는 기능을 실현할 수 있다. 소프트웨어는 예를 들어 전자형식으로 네트워크를 통해 컴퓨터로 다운로드하거나, 또는 교체 또는 추가적으로 비임시성 유형 매체(예를 들어 자기, 광 또는 전자메모리)에 의해 제공되거나 또는 저장될 수 있다.
[데이터를 서명워드와 인터리브시켜 보안 메모리 인터페이스를 통해 실시하는 누적 데이터 인증]
본문에서 설명하는 실시예 중, 누적 데이터를 인증하기 위한 방법은 통상적으로 호스트(15)와 메모리 장치(20)가 분리되는 경우이다. 호스트(15)가 요청하는 데이터는 버스 인터페이스(25)를 통해 발송된다. 설사 데이터가 암호화되었다 하더라도, 공격자는 인터페이스(25)를 통해 데이터 플로우 중의 모 비트를 변경하여 데이터를 획득하려고 시도하거나, 또는 기타 방식으로 시스템에 영향을 주려고 시도할 가능성이 있다.
몇몇의 실시예에서, 디지털 서명은 데이터에 대하여 인증을 실시하기 위한 것으로, 디지털 서명은 호스트(15)와 메모리장치(20)가 모두 알고 있는 전용 비밀값(통상적으로 비밀 디지털 시크릿 키)으로 산출된 데이터의 함수를 사용할 수 있다. 데이터를 수신하는 과정에서, 호스트(15)는 메모리장치(20) 중의 서명을 생성하기 위한 전용 비밀값을 반드시 알아야만 수신된 데이터워드를 이용하여 동일한 서명을 계산해낼 수 있으며, 이로써 상기 수신된 서명과 산출된 서명이 매칭되는지 검증할 수 있다. 이렇게 하면 곧 서명을 거친 데이터워드가 인증되며, 아울러 데이터가 버스 인터페이스를 거치지 않아 위조된 것을 나타낸다. 긴 데이터 블록의 경우, 먼저 데이터에 대하여 해쉬 연산을 실시하고, 이어서 함수를 해쉬 시퀀스에 응용한다.
본문에서 설명하는 실시예는 특히 호스트(15)가 메모리 장치(20)로부터 즉시 추출하는 코드를 연산하는 경우에 관한 것이다. 이러한 경우, 호스트(15) 인증 데이터와 관련된 대기시간이 매우 길기 때문에, 일반적인 블록 인증 방법은 통상적으로 적합하지 않다. 이밖에, 일반적인 암호화 서명은 통상적으로 적어도 8 바이트(byte) 길이인데, 버스 인터페이스(25)를 거쳐 즉시 이러한 서명을 전송할 경우 버스 인터페이스(25)를 거치는 채널 처리량을 심각하게 저하시킬 수 있다.
본문에서 설명하는 실시예에서, 메모리(30)로부터 메모리 인증 유닛(35)으로 전달되는 데이터를 사용하여 메모리 인증유닛(35)에서 끊임없이 서명워드에 대해 계산을 실시하기 때문에, 서명 과정은 누적되는 것이다. 시범적인 실시예에서 이에 대해 설명하면, 그 중 매 4개의 1바이트 데이터워드마다 상응하는 1바이트의 서명워드를 추가하여 전송함으로써, 매 서명워드가 시퀀스 중의 모든 이전 데이터 워드에 대해 서명을 실시하게 한다.
만약 공격자가 이전 4개의 데이터워드를 수정하였다면, 첫 번째 서명워드는 p=255/256의 가능성으로 공격을 검출할 수 있다. 이러한 가능성은 일반적인 암호화 알고리즘에 비해 상대적으로 높지 않을 수 있으나, 두 번째 서명워드가 이전의 8개의 데이터워드에 대해 서명을 실시할 때, 이때의 공격 오검출 가능성은 (1-p)2가 되며, i번째 서명워드 Si로 검출되는 공격 가능성은 1-(1-p)i가 된다. 따라서, 공격자가 버스 인터페이스(25)를 통해 전송 중인 데이터워드에 대해 실시하는 모든 변경을 매우 정확하게 검출할 수 있다.
도 1b는 본 발명의 일 실시예에 도시된 버스 인터페이스(25)를 통해 전송되는 인터리브 시퀀스(100)의 설명도이다. 앞에서 설명한 바와 같이, Dj로 표시되는 다수의 데이터워드(110)를 Si로 표시되는 서명워드(120)와 인터리브시킨다. 도 1b에 도시된 시범적 실시예에서, 서명워드 S1은 데이터워드 D1-D4에 대하여 서명을 실시하고, 서명워드 S2는 데이터워드 D1-D8에 대하여 서명을 실시하며, 서명워드 S3는 데이터워드 D1-D12에 대하여 서명을 실시하는 등등이다. 주의해야 할 점은, 도 1b에서, (D1, D2, ...Dj)로 표시되는 데이터워드(110)는 도 1a에 도시된 데이터워드 Dj의 암호화를 거친 버전이다. 용어 「서명워드」와 「서명」은 여기서는 호환 사용 가능하다.
도 2는 본 발명의 일 실시예에 도시된 인터리브 시퀀스(100)에 대하여 서명을 실시하여 버스 인터페이스(25)를 통해 전송하는 방법 흐름도이다. 발송 단계(200)에서, 호스트(15)는 버스 인터페이스(25)를 통해 데이터에 대한 요청을 메모리장치(20)로 발송한다. 메모리장치(20)는 메모리(30)로부터 요청된 데이터를 읽어 들인다. 암호화 단계(210)에서, 메모리 인증 유닛(35)은 데이터워드(예를 들어 도 1b에 도시된 데이터워드(110))의 제1 시퀀스에 대하여 암호화를 실시한다.
계산 및 인터리브 단계(220)에서, 메모리 인증 유닛(35)은 서명워드 Si의 제2 시퀀스(도 1b 중 서명워드(120)로 표시)를 계산하고, 제1 (Dj)를 제2 (Si) 시퀀스와 인터리브시켜, 매 서명워드 Si마다 도 1b에 도시된 인터리브 시퀀스(100) 중의 상기 서명워드 Si 이전의 데이터워드 Dj에 대하여 서명을 실시한다.
전송 단계(230)에서, 메모리장치(20)는 버스 인터페이스(25)를 통해 인터리브 시퀀스(100)를 호스트(15)로 전송한다. 판단 단계(240)에서, 호스트(15)는 메모리장치(20)가 모든 서명을 거친 데이터를 전송하였는지 여부를 평가한다. 만약 No인 경우, 메모리장치(20)는 계속 메모리(30)로부터 데이터를 읽어 들이고, 메모리 인증 유닛(35)은 계속 암호화 단계(210)에서 읽어 들인 데이터에 대해 암호화를 실시한다. 만약 Yes인 경우, 종료 단계(250)에서 버스 인터페이스(25)를 통한 데이터 전송을 종료한다.
도 3은 본 발명의 일 실시예에 도시된 버스 인터페이스(25)를 통해 수신된 서명을 거친 데이터를 인증하는 방법 흐름도이다. 수신 단계(255)에서, 호스트(15)는 수신된 서명워드 SiR 및 암호화를 거친 데이터워드(110)의 인터리브 시퀀스(100)를 수신한다. 디인터리버(75)는 수신된 서명워드 SiR를 암호화를 거친 데이터워드와 분리시킨다. 복호화 장치(80)에서 암호화를 거친 데이터워드를 복호화한다.
사용단계(260)에서, 호스트 무결성 검사 엔진(85)은 복호화된 데이터워드 Dj를 사용하여 서명워드 Si를 계산한다. 판단 단계(270)에서, 비교기(90)는 산출된 서명워드 Si와 수신된 서명워드 SiR가 같은지 여부를 평가한다. 만약 No인 경우, 실패보고 단계(280)에서, 비교기(90)는 (통상적으로 프로세서(60)에) 데이터가 버스 인터페이스(25) 상에서 위조되었음을 보고한다. 그렇지 않은 경우 성공 보고 단계 (290)에서, 비교기(90)는 (통상적으로 프로세서(60)에) 인증 성공을 보고한다.
도 2 및 도 3의 흐름도에 공개된 기술은 메모리장치로부터 호스트로 발송된 데이터를 인증하는데에만 국한되지 않는다. 공개된된 누적 인증 방안은 역방향(즉, 호스트로부터 메모리장치로 발송되는) 데이터, 및/또는 일반적으로 임의의 기타 적합한 인터페이스를 통해 발송되는 데이터를 인증하는데 사용될 수 있다.
[누적 인증을 위한 서명워드 계산]
본 발명의 실시예에서는 무결성 검사 엔진(예를 들어 각각 호스트(15)와 메모리장치(20) 중의 호스트 무결성 검사 엔진(85) 및 메모리 무결성 검사 엔진(45))을 사용하여 메모리 인증 유닛(35)과 호스트 인증 유닛(70)에서 서명워드(120)를 계산한다. 무결성 검사 엔진은 통상적으로 입력 데이터워드 Dj에 대하여 해쉬 연산을 실시하여 서명워드 Si를 계산한다. 해쉬 레지스터는 예를 들어 리니어 피드백 쉬프트 레지스터(LFSR)로 실현할 수 있다.
도 4a는 본 발명의 일 실시예에 도시된 무결성 검사 엔진(300)의 제1 실시방안의 블록도이다. 도 4a 중의 무결성 검사 엔진(300)은 도 1a에 도시된 호스트 무결성 검사 엔진(85) 및 메모리 무결성 검사 엔지(45)에 적용될 수 있다. 8비트 데이터워드 Dj[7:0]는 리니어 피드백 쉬프트 레지스터(LFSR)(305)에 입력된다. 여기 도시된 실시예는 시크릿 키 K를 사용하여 리니어 피드백 쉬프트 레지스터(305)에 대해 초기화를 실시한다. 리니어 피드백 쉬프트 레지스터(305)가 충분히 크다고 가정할 경우(예를 들어 적어도 64비트 폭), 공격자는 밀집된 계산 분석을 통해(예를 들어 폭력) 리니어 피드백 쉬프트 레지스터(305)의 내용을 추측하거나 평가할 수 없게 된다.
리니어 피드백 쉬프트 레지스터(305)의 출력을 F블록(310)에 입력하며, 상기 F 블록은 적합한 비선형 함수 F를 응용하도록 배치되고, 또한 상기 비선형 함수 F는 해쉬 레지스터 비트(예를 들어 리니어 피드백 쉬프트 레지스터(305)의 비트)의 서브셋을 통해 서명워드 Si[7:0]의 서명 비트를 계산하는데 사용된다. 현재 리니어 피드백 쉬프트 레지스터(305)가 본 시범적 실시예에서 64비트로 작동된다고 가정하면, 리니어 피드백 쉬프트 레지스터(305)의 출력 비트는 LFSR[64:0]으로 표시한다. 몇몇의 실시예에서, 리니어 피드백 쉬프트 레지스터(305)(입력 데이터는 Dj[7:0])의 출력을 사용함과 아울러, 예를 들어 방정식(1)을 통해 i번째 서명워드 Si[7:0]의 서명 비트를 계산할 수 있다. 상기 방정식(1)은 다음과 같다:
F[7:0] = (LFSR[7:0] & LFSR[15:8]) | (LFSR[15:8] & LFSR[23:16]) |(LFSR[23:16] & LFSR[7:0]) (1)
그 중 부호 「&」는 비트와이즈 AND 연산(bitwise-and)을 나타내고, 부호 「|」는 비트와이즈 OR 연산(bitwise-or)을 나타낸다.
도 4a와 방정식 (1)에 도시된 실시예는 단지 개념을 명확히 하기위해 사용된 것일 뿐, 결코 본 발명의 실시예를 제한하는 것은 아니다. 무결성 검사 엔진은 임의의 적합한 알고리즘을 사용하는 임의의 적합한 회로를 통해 도 1b에 도시된 인터리브 시퀀스(100) 중 데이터워드에 대해 누적되게 서명을 실시하는 서명워드(120)를 형성할 수 있다. 기타 실시예에서, 호스트(15) 중 무결성 검사 엔진(300)을 사용하여 읽어 들인 명령의 요청 명령과 어드레스에 대하여 해쉬 연산을 실시할 수 있다. 읽어 들인 명령은 단계 (200)( 도 중 미도시)에서 안전한 암호화 방식으로 메모리장치(20)에 발송될 수 있다. 이어서, 본문에서 설명하는 실시예와 동일한 방법을 사용하여, 시스템(10)에서 읽어 들인 명령과 어드레스에 대해 서명 및 인증을 실시할 수 있다.
데이터 세트는 버스 인터페이스를 통해 발송된 모든 데이터워드로부터의 데이터를 포함한다. 몇몇의 실시예에서, 인터리브 시퀀스(100) 중의 약간의 서명워드(120)는 메모리장치(20)에 의해 발송되어 호스트(15)가 모든 데이터워드를 수신 완료하여 인증을 실시한 후 데이터 세트에 대해 서명을 실시할 수 있다. 기타 실시예에서, 본문에 기재된 방법 이외에, 호스트(15)에서 데이터세트 중의 모든 데이터워드를 수신 완료한 후, 기타 인증방법을 사용하여 전체 데이터 세트를 인증할 수 있다. 기타 실시예에서, F 블록(310)은 사용 가능한 서명워드(120) 중의 어떤 비트로 끊임없이 데이터워드에 대해 서명을 실시할 것인지 선택하고, 어떤 비트로 전체 데이터 세트에 대해 서명을 실시할 것인지 선택하도록 배치할 수 있다.
[보안 메모리 인터페이스를 통해 누적 데이터 인증을 실시하고 메모리 무결성을 평가하기 위한 서명워드]
본문에서 제공하는 기타 실시예에서, 서명을 데이터워드와 인터리브시키는 방법은 앞에서 설명한 버스 인터페이스(25)를 통해 발송되는 데이터워드에 대해 끊임없이 서명과 인증을 실시하는 방법에만 국한되지 않는다. 호스트(15)는 또한 이러한 방법을 사용하여 메모리(30)에 저장된 데이터의 무결성을 원격 검사할 수도 있다.
이러한 실시예에서, 메모리 인증 유닛(35)은 데이터를 어레이로 메모리(30)에 저장하며, 상기 어레이에는, 데이터워드의 매 그룹이 상기 그룹을 통해 산출된 상응하는 에러 검출 코드(error detection code, EDC) 워드와 함께 저장된다. 에러검출코드는 예를 들어 32비트의 누적중복검사(CRC-32)코드 또는 임의의 기타 적합한 에러검출코드를 포함할 수 있다. 메모리장치(20) 중(아마도 메모리 인증 유닛(35) 중)의 전용 논리회로는 통상적으로 저장된 데이터를 통해 에러검출 코드를 재계산하고, 산출된 에러검출코드를 메모리(30)에 저장된 에러검출 코드와 비교하여 데이터의 무결성을 검사한다.
그런데, 어떤 경우, 공격자는 메모리 장치의 내부 회로를 위조할 가능성이 있기 때문에, 내부 인증 메커니즘은 완전히 믿을만한 것이 아니다. 본 발명의 실시예에서, 메모리 인증 유닛(35)이 에러검출코드를 사용하여 저장된 데이터를 인증하는 임무를 호스트(15)가 담당한다.
몇몇의 실시예에서, 메모리 인증 유닛(35)은 끊임없이 데이터에 대해 서명을 실시하기 위한 서명 비트(예를 들어 인터페이스 인증 비트) 및 메모리(30)에 저장된 에러검출코드워드로부터 도출된 메모리 무결성 비트를 포함하는 하이브리드 서명워드를 형성하며, 상기 메모리 무결성 비트는 메모리(30)에 저장된 데이터의 무결성을 검사하는데 사용된다. 본문 중에 교시된 실시예는 메모리장치(20)가 하이브리드 서명워드를 형성하는 방법을 설명하였으며, 또한 호스트(15)가 앞에서 설명한 유사한 방식으로 서명을 거친 데이터워드를 인증하고 메모리(30)에 저장된 데이터의 무결성에 대해 원격 검사를 실시하는 방법을 대응되게 설명하였다.
도 1a 및 도 1b를 사용하여 이하 실시예의 개념을 명확히 해석하기 위해, 하이브리드 서명워드는 부호 HSi로 표시하며, 또한 이는 부호 Si와 호환될 수 있다. 하이브리드 서명워드는 서명워드(120)로 표시할 수도 있으며, 또한 도 1b와 유사한 방식으로 인터리브 시퀀스(100)에서 데이터워드(110)와 인터리브되고, 버스 인터페이스(25)를 통해 호스트(15)로 발송된다. 용어 「하이브리드 서명워드」와 「하이브리드 서명」은 여기서는 호환 사용이 가능하다.
도 4b는 본 발명의 대체 실시예에 도시된 무결성 검사 엔진(400)의 제2 실시방안의 블록도이다. 무결성 검사 엔진(400)은 메모리장치(20)에 HSi로 표시되는 하이브리드 서명워드를 생성하기 위한 것이다.
무결성 검사 엔진(400)은 데이터워드 Dj[7:0]를 리니어 피드백 쉬프트 레지스터(LFSR)(405)에 입력하는 조작이 무결성 검사 엔진(300)과 유사하다. 도 4b에 도시된 실시예는 시크릿 키(미도시)를 통해 리니어 피드백 쉬프트 레지스터(405)를 초기화하고, 리니어 피드백 쉬프트 레지스터(405)가 64비트로 조작된다고 가정한 것이다. 리니어 피드백 쉬프트 레지스터(405)의 출력 LFSR[64:0]을 F블록(410)에 입력하며, 상기 F블록은 임의의 비선형 함수 F(예를 들어 방정식 (1))를 응용하도록 배치되고, 또한 상기 비선형 함수 F는 해쉬 레지스터 비트(예를 들어 리니어 피드백 쉬프트 레지스터(405)의 비트)의 서브셋을 통해 서명워드 Si[7:0]의 서명 비트를 계산하는데 사용된다.
그런데, i번째 하이브리드 서명워드 HSi[7:0]의 하이브리드 서명 비트는 리니어 피드백 쉬프트 레지스터의 출력을 사용하여 계산될 뿐만 아니라, 데이터워드 Dj[7:0]와 함께 메모리(30)에 저장되어 데이터워드 Dj[7:0]와 함께 추출된 에러검출코드워드(예를 들어, CRC-32워드)를 더 사용하여 계산을 실시한다. 본문에서 설명하는 실시예에서, 하이브리드 서명워드 HSi의 비트는 인터페이스 인증 유닛 및 메모리 무결성을 검사하기 위한 메모리 무결성 비트에 의해 형성되며, 이는 잠시 후 설명하겠다. 인터페이스 인증 유닛은 방정식 (1)로부터 도출되며, 또한 앞에서 설명한 바와 같이 끊임없이 데이터워드(110)에 대해 서명을 실시하는데 사용된다.
데이터워드 Dj[7:0] 이외에, 무결성 검사 엔진(400)은 입력으로써 데이터워드 Dj[7:0]와 함께 저장되는 에러검출코드워드를 더 수신하며, 그 중 에러검출코드워드는 CRCi[7:0]으로 표시된다. 데이터워드 Dj[7:0]는 F' 블록(415)에도 입력되며, 또한 F' 블록(415)은 방정식 (2)에 따라 함수 F' [7:0]를 해쉬 레지스터 비트(예를 들어, LFSR[64:0])의 서브셋에 응용한다. 상기 방정식(2)은 다음과 같다:
F’[7:0]=LFSR[39:32] & LFSR[31:24] (2)
그 중 부호 「&」는 비트와이즈 AND 연산(bitwise-and)을 나타낸다.
기본적으로, F' [7:0]는 멀티플렉서(425)의 단말 제어(비트 선택)에 응용되는 함수이며, 또한 Fi[7:0]와 CRC[7:0]는 멀티플렉서(425)의 신호 입력에 사용된다.정수 k는 인터페이스 인증 비트 F[k], 멀티플렉서 제어 비트 F'[k] 및 메모리 무결성 비트 CRC[k] 중의 k번째 비트를 나타내며, 그 중 k = 0, 1, 2, ..., 7이다. 8비트 하이브리드 서명워드(120)를 형성하는 하이브리드 서명 비트 HS[k]는 아래에 공개되는 방정식 (3)으로 계산할 수 있다:
HS[k] = F[k](3)
그 중, 멀티플렉서가 비트 F'[k]를 0으로 제어할 때, 하이브리드 서명 비트 HS[k]는 인터페이스 인증 비트 F[k]와 같고, 멀티플렉서가 비트 F'[k]를 0이 아니도록 제어할 때, 하이브리드 서명 비트 HS[k]는 즉 메모리 무결성 비트 CRC[k]이다.
이러한 방식으로, 하이브리드 서명워드를 형성하는 하이브리드 서명 비트 HS[k]는 거의 랜덤 방식으로 LFSR[64:0]에 의해 산출된 인터페이스 인증 비트 F[k]와 메모리 무결성 비트 CRC[k]를 공유함으로써, 하이브리드 서명워드를 형성하는 과정에서, 이러한 암호화 방법을 복호화하는 공격의 발생이 거의 불가능하게 된다.
몇몇의 실시예에서, 무결성 검사 엔진(400)의 수정 배치는 도 1a에 도시된 호스트 무결성 검사 엔진(85)을 실현하는데 사용될 수 있다. 그러나, 호스트에서 누적중복검사워드 CRCi는 즉 수신된 데이터워드를 통해 계산된다.
도 5는 본 발명에 따라 일 실시예에 도시된 버스 인터페이스(25)를 통해 수신된 데이터를 동시에 인증하고 메모리(30)에 저장된 데이터를 검사하는 방법의 흐름도이다. 수신 단계(430)에서, 호스트(15)는 버스 인터페이스(25)를 통해 메모리장치(20)로부터 하이브리드 서명워드 HSiR 및 암호화를 거친 데이터워드의 인터리브 시퀀스(100)를 수신한다.
사용단계 (435)에서, 호스트 무결성 검사 엔진(85)(무결성 검사 엔진(400)으로 실현)은 복호화 장치(80)로부터의 데이터워드 Dj를 사용하여, 데이터워드 Dj 및 누적중복검사워드 CRCi를 통해 하이브리드 서명워드 HSi를 계산한다. 매 (하이브리드) 서명워드(120)(수신된 하이브리드 서명워드 HSiR 및 산출된 하이브리드 서명워드 HSi) 중의 하이브리드 서명 비트 HS[k]에 대하여 분석을 실시함으로써, 버스 인터페이스(25)를 통해 위조된 데이터를 검증하고 메모리(30)에 저장된 데이터의 무결성을 원격 검사한다.
판단 단계(440)에서, 비교기(90)는 이하 방정식 (4) 중의 논리 동등성이 성립되는지 여부의 평가를 통해, 수신된 서명워드와 산출된 서명워드 중의 인터페이스 인증 비트(예를 들어, F[k])가 동일한지 여부를 평가한다. 상기 방정식 (4)는 다음과 같다:
(HS[k]) & (~F’[k])==F[k] & (~F’[k]) (4)
그 중, 부호「&」는 비트와이즈 AND 연산(bitwise-and)을 나타내고, 부호 「~」는 부정연산(not)을 나타내며, 또한 부호「==」는 논리 동등성 조건이 성립되는지 여부의 판단을 나타낸다.
만약 비교기(90)가 방정식 (4) 중의 논리 동등성이 성립한다고 평가한 경우, 보고 단계(450)에서, 비교기(90)는 수신된 데이터가 버스 인터페이스(25)에서 인증되었음을 보고한다. 아닌 경우, 보고 단계(445)에서, 비교기(90)는 데이터가 버스 인터페이스(25)에서 위조되었음을 보고한다. 다시 말해, 단계 450은 인터리브 시퀀스(100) 중의 데이터워드 Dj(110)를 점진적으로 인증한다.
제2 판단 단계(455)에서, 비교기(90)는 방정식 (5) 중의 논리 동등성이 성립되는지 여부의 평가를 통해, 수신된 하이브리드 서명워드 HSiR와 산출된 하이브리드 서명워드 HSi를 비교하여 메모리 무결성 비트 CRC[k]가 동일한지 여부를 평가한다. 상기 방정식 (5)는 다음과 같다:
(HS[k]) & (F’[k])==F[k] & (F’[k]) (5)
그 중, 부호「&」는 비트와이즈 AND 연산(bitwise-and)을 나타내고, 또한 부호「==」는 논리 동등성 조건이 성립되는지 여부의 판단을 나타낸다.
만약 비교기(90)가 방정식 (5) 중의 논리 동등성이 성립한다고 평가한 경우, 보고 단계(465)에서, 비교기(90)는 메모리장치(20) 중의 메모리(30)에 저장된 데이터가 위조되지 않았음을 보고하며, 즉 저장 데이터의 무결성을 인증한다. 만약 아닌 경우, 보고 단계(460)에서, 비교기(90)는 메모리장치(20)에 저장된 데이터가 위조되었음을 보고한다. 다시 말해, 단계 465는 메모리(30)에 저장된 인터리브 시퀀스(100) 중의 데이터워드 Dj(110)를 점진적으로 인증한다.
비록 본 발명은 실시예를 통해 상기와 같이 공개하였으나, 이는 결코 본 발명을 한정하기 위한 것이 아니며, 소속 기술분야에서 통상적인 지식을 갖춘 자라면 누구든지 본 발명의 정신과 범위를 벗어나지 않는 전제 하에, 약간의 변동과 수식을 실시할 수 있으며, 따라서 본 발명의 보호범위는 뒤에 첨부되는 특허출원범위로 한정된 것에 준한다.
10: 시스템 15: 호스트
20: 메모리 장치 25: 버스 인터페이스
30: 메모리 35: 메모리 인증 유닛
40: 암호화장치 45: 메모리 무결성 검사 엔진
50: 인터리버 60: 프로세서
65: 호스트 메모리 70: 호스트 인증 유닛
75: 디인터리버 80: 복호화장치
85: 호스트 무결성 검사 엔진 90: 비교기
100: 인터리브 시퀀스
110, D1~D12, Dj: 데이터워드
120, S1, S2, S3, Si, SiR: 서명워드
300, 400: 무결성 검사 엔진
305, 405, LFSR: 리니어 피드백 쉬프트 레지스터
310, 410: F 블록415: F'블록
425: 멀티플렉서CRCi: 누적중복검사워드
F, F': 함수Fi, F'i: 신호
HSi: 하이브리드 서명워드K: 시크릿 키
P/F: 통과 또는 실패
200~250, 255~290, 430~465: 단계

Claims (12)

  1. 데이터 인증 방법으로서, 상기 데이터 인증 방법은 :
    다수의 데이터워드의 제1 시퀀스를 생성하는 단계;
    상기 다수의 데이터워드에 따라 다수의 서명워드의 제2 시퀀스를 계산하고, 상기 다수의 서명워드의 제2 시퀀스를 상기 제1 시퀀스에 인터리브하여 인터리브 시퀀스를 생성하며, 상기 인터리브 시퀀스에서, 각 규정 서명워드가 상기 인터리브 시퀀스 중 이전의 서명워드에 의해 서명된 상기 데이터워드, 그리고 상기 이전 서명워드와 상기 규정 서명워드 사이에 위치하는 상기 데이터워드에 대하여 서명을 실시하는 단계; 및
    인터페이스를 통해 상기 인터리브 시퀀스를 전송하는 단계를 포함하고,
    상기 서명워드의 상기 제2 시퀀스를 계산하는 단계는:
    상기 규정 서명워드의 다수의 비트의 제1 서브셋을 설정하여, 상기 인터리브 시퀀스 중 상기 규정 서명워드 이전의 상기 데이터워드에 대하여 서명을 실시하는 단계; 및
    에러검출코드로부터 상기 규정 서명워드의 상기 비트의 제2 서브셋을 도출하는 단계를 포함하며,
    그 중, 상기 에러검출코드는 상기 데이터워드 중의 적어도 하나를 통해 계산되어 메모리에 저장되고,
    상기 데이터 인증 방법은 :
    상기 인터페이스로부터 상기 인터리브 시퀀스를 수신하는 단계;
    상기 제1 서브셋을 사용하여 상기 인터페이스를 통해 전송되는 상기 데이터워드의 무결성을 평가하는 단계; 및
    상기 제2 서브셋을 사용하여 상기 메모리에 저장된 상기 데이터워드의 상기 무결성을 평가하는 단계를 더 포함하는, 데이터 인증 방법.
  2. 제 1항에 있어서,
    각 규정 서명워드를 사용하여 상기 인터리브 시퀀스 중 상기 이전 서명워드에 의해 인증된 상기 데이터워드 및 상기 이전 서명워드와 상기 규정 서명워드 사이에 위치하는 상기 데이터워드를 점진적으로 인증하는 단계를 더 포함하는 데이터 인증방법.
  3. 제 1항에 있어서,
    상기 서명워드의 상기 제2 시퀀스를 계산하는 단계는:
    리니어 피드백 쉬프트 레지스터를 상기 데이터워드에 응용하는 단계; 및
    비선형 함수를 상기 리니어 피드백 쉬프트 레지스터의 출력에 응용하는 단계를 포함하는 데이터 인증방법.
  4. 삭제
  5. 삭제
  6. 데이터 인증 장치로서, 상기 데이터 인증 장치는 :
    메모리; 및
    다수의 데이터워드의 제1 시퀀스를 생성하여 인터페이스를 통해 발송하고, 상기 다수의 데이터워드에 따라 다수의 서명워드의 제2 시퀀스를 계산하여, 상기 다수의 서명워드의 제2 시퀀스를 상기 제1 시퀀스에 인터리브함으로써 인터리브 시퀀스를 생성하며, 상기 인터리브 시퀀스에서, 각 규정 서명워드가 상기 인터리브 시퀀스 중 이전의 서명워드에 의해 서명된 상기 데이터워드 및 상기 이전 서명워드와 상기 규정 서명워드 사이에 위치하는 상기 데이터워드에 대하여 서명을 실시하고, 상기 인터페이스를 통해 상기 인터리브 시퀀스를 전송하도록 배치되는 메모리 인증 유닛을 포함하며,
    상기 메모리 인증 유닛은 상기 규정 서명워드 중의 다수 비트의 제1 서브셋을 설정하여, 상기 인터리브 시퀀스 중 상기 규정 서명워드 이전의 상기 데이터워드에 대하여 서명을 실시하고, 에러검출코드로부터 상기 규정 서명워드의 상기 비트의 제2 서브셋을 도출하도록 배치되며, 그 중 상기 에러검출코드는 상기 데이터워드 중의 적어도 하나를 통해 계산되어 상기 메모리에 저장되고,
    상기 데이터 인증 장치는 :
    상기 인터페이스로부터 상기 인터리브 시퀀스를 수신하고, 상기 서명워드로부터 상기 비트의 상기 제1 및 제2 서브셋을 추출하여, 상기 제1 서브셋을 사용하여 상기 인터페이스를 통해 상기 데이터워드를 전송하는 무결성을 평가하고, 상기 제2 서브셋을 통해 상기 데이터워드를 상기 메모리에 저장하는 무결성을 평가하도록 배치되는 호스트를 더 포함하는, 데이터 인증 장치.
  7. 제 6항에 있어서,
    상기 인터페이스로부터 상기 인터리브 시퀀스를 수신하고, 상기 각 규정 서명워드를 사용하여 상기 인터리브 시퀀스 중 상기 이전 서명워드에 의해 인증된 상기 데이터워드 및 상기 이전 서명워드와 상기 규정 서명워드 사이에 위치하는 상기 데이터워드를 인증하도록 배치되는 호스트를 더 포함하는 데이터 인증 장치.
  8. 제 6항에 있어서,
    상기 메모리 인증 유닛이 리니어 피드백 쉬프트 레지스터를 상기 데이터워드에 응용하고, 비선형 함수를 상기 리니어 피드백 쉬프트 레지스터의 출력에 응용하여 상기 서명워드의 상기 제2 시퀀스를 계산하도록 배치되는 데이터 인증 장치.
  9. 삭제
  10. 삭제
  11. 데이터 인증 방법으로서, 상기 데이터 인증 방법은 :
    인터페이스를 통해 다수의 데이터 워드의 제1 시퀀스 및 상기 다수의 데이터 워드에 따라 계산된 다수의 서명 워드의 제2 시퀀스에 의해 형성된 인터리브 시퀀스를 수신하여, 각 규정 서명 워드가 인터리브 시퀀스 중 이전 서명 워드에 의해 서명된 데이터 워드 및 이전 서명 워드와 규정 서명 워드 사이에 위치하는 데이터 워드에 대하여 누적되게 서명을 실시하는 단계; 및
    상기 서명 워드의 상기 제2 시퀀스를 사용하여 점진적으로 데이터 워드의 제1 시퀀스를 인증하는 단계를 포함하며,
    상기 다수의 서명워드의 상기 제2 시퀀스를 계산하는 단계는:
    상기 규정 서명워드의 다수의 비트의 제1 서브셋을 설정하여, 상기 인터리브 시퀀스 중 상기 규정 서명워드 이전의 상기 데이터 워드에 대하여 서명을 실시하는 단계; 및
    에러검출코드로부터 상기 규정 서명워드의 상기 비트의 제2 서브셋을 도출하는 단계를 포함하며,
    상기 에러검출코드는 상기 데이터워드 중의 적어도 하나를 통해 계산되어 메모리에 저장되고,
    상기 데이터 인증 방법은 :
    상기 인터페이스로부터 상기 인터리브 시퀀스를 수신하는 단계;
    상기 제1 서브셋을 사용하여 상기 인터페이스를 통해 전송되는 상기 데이터워드의 무결성을 평가하는 단계; 및
    상기 제2 서브셋을 사용하여 상기 메모리에 저장된 상기 데이터워드의 상기 무결성을 평가하는 단계를 더 포함하는, 데이터 인증 방법.
  12. 데이터 인증 장치로서, 상기 데이터 인증 장치는 :
    메모리;
    인터페이스를 통해 다수의 데이터 워드의 제1 시퀀스 및 상기 다수의 데이터 워드에 따라 계산된 다수의 서명 워드의 제2 시퀀스에 의해 형성된 인터리브 시퀀스를 수신하여, 각 규정 서명 워드가 상기 인터리브 시퀀스 중 이전 서명 워드에 의해 서명된 상기 데이터 워드 및 이전 서명 워드와 상기 규정 서명 워드 사이에 위치하는 상기 데이터 워드에 대하여 누적되게 서명을 실시하고, 상기 서명 워드의 상기 제2 시퀀스를 사용하여 점진적으로 상기 데이터 워드의 제1 시퀀스를 인증하도록 배치되는 인증유닛 ; 및
    상기 인증을 거친 데이터워드를 처리하도록 배치되는 프로세서를 포함하며,
    상기 인증 유닛은 상기 규정 서명 워드 중의 다수 비트의 제1 서브셋을 설정하여, 상기 인터리브 시퀀스 중 상기 규정 서명워드 이전의 상기 데이터워드에 대하여 서명을 실시하고, 에러검출코드로부터 상기 규정 서명워드의 상기 비트의 제2 서브셋을 도출하도록 배치되며, 상기 에러검출코드는 상기 데이터워드 중의 적어도 하나를 통해 계산되어 상기 메모리에 저장되고,
    상기 데이터 인증 장치는 :
    상기 인터페이스로부터 상기 인터리브 시퀀스를 수신하고, 상기 서명워드로부터 상기 비트의 상기 제1 및 제2 서브셋을 추출하여, 상기 제1 서브셋을 사용하여 상기 인터페이스를 통해 상기 데이터워드를 전송하는 무결성을 평가하고, 상기 제2 서브셋을 통해 상기 데이터워드를 상기 메모리에 저장하는 무결성을 평가하도록 배치되는 호스트를 더 포함하는, 데이터 인증 장치.
KR1020140125134A 2013-09-22 2014-09-19 데이터 인증방법 및 그 장치 KR101702545B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361880932P 2013-09-22 2013-09-22
US61/880,932 2013-09-22

Publications (2)

Publication Number Publication Date
KR20150033557A KR20150033557A (ko) 2015-04-01
KR101702545B1 true KR101702545B1 (ko) 2017-02-13

Family

ID=51570277

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020140125216A KR101669157B1 (ko) 2013-09-22 2014-09-19 데이터 보호장치 및 그 방법
KR1020140125134A KR101702545B1 (ko) 2013-09-22 2014-09-19 데이터 인증방법 및 그 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020140125216A KR101669157B1 (ko) 2013-09-22 2014-09-19 데이터 보호장치 및 그 방법

Country Status (7)

Country Link
US (3) US9455962B2 (ko)
EP (2) EP2852090B1 (ko)
JP (2) JP6277101B2 (ko)
KR (2) KR101669157B1 (ko)
CN (2) CN104468089B (ko)
ES (2) ES2709124T3 (ko)
TW (2) TWI531925B (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL234956A (en) 2014-10-02 2017-10-31 Kaluzhny Uri Data bus protection with enhanced key entropy
EP3082290A1 (en) * 2015-04-17 2016-10-19 Gemalto Sa Device for managing multiple accesses to a secure module of a system on chip of an apparatus
EP3326323B1 (en) * 2015-07-17 2021-05-12 Robert Bosch GmbH Method and system for shared key and message authentication over an insecure shared communication medium
JP2017076854A (ja) 2015-10-14 2017-04-20 富士通株式会社 電子装置、及びデータ検証方法
US10019571B2 (en) 2016-03-13 2018-07-10 Winbond Electronics Corporation Protection from side-channel attacks by varying clock delays
US10438022B2 (en) * 2016-12-16 2019-10-08 Arm Limited Logic encryption using on-chip memory cells
CN106936819B (zh) * 2017-03-01 2019-11-01 无锡紫光存储系统有限公司 云存储子系统及安全存储系统
US20180270205A1 (en) * 2017-03-15 2018-09-20 Image Match Design Inc. Fingerprint-sensing integrated circuit and scrambling encryption method thereof
ES2685123B1 (es) * 2017-03-31 2019-07-18 Gruprex S L Dispositivo de cifrado individual con mecanismo de protección de credenciales de usuario
TWI666569B (zh) * 2017-04-19 2019-07-21 映智科技股份有限公司 應用在指紋感測器及主控端之間的橋接晶片及指紋加密方法、指紋偵測及加密電路及方法
CN107392063B (zh) * 2017-07-11 2019-05-28 深圳大普微电子科技有限公司 存储设备和主机的绑定、验证方法及系统
CA3073549C (en) * 2017-10-27 2021-06-08 Quantropi Inc. Methods and systems for secure data communication
US11323247B2 (en) 2017-10-27 2022-05-03 Quantropi Inc. Methods and systems for secure data communication
US10476664B2 (en) 2017-10-27 2019-11-12 Quantropi Inc. Methods and systems for data protection
DE102018208851A1 (de) * 2018-06-05 2019-12-05 Infineon Technologies Ag Vorrichtung und Verfahren zum Umwandeln von Eingangsbitfolgen
TWI813733B (zh) * 2018-08-07 2023-09-01 南韓商三星電子股份有限公司 檢測設備以及操作檢測設備的方法
US10892891B2 (en) * 2019-03-13 2021-01-12 Digital 14 Llc System, method, and computer program product for zero round trip secure communications based on two noisy secrets
US10951415B2 (en) * 2019-03-13 2021-03-16 Digital 14 Llc System, method, and computer program product for implementing zero round trip secure communications based on noisy secrets with a polynomial secret sharing scheme
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption
CN110909375B (zh) * 2019-10-12 2022-04-08 浙江工业大学 一种保留分布特征的地址脱敏方法
US11449601B2 (en) * 2020-01-08 2022-09-20 Red Hat, Inc. Proof of code compliance and protected integrity using a trusted execution environment
US11329797B2 (en) 2020-02-25 2022-05-10 Quantropi Inc. Method and system for secure phase-encoded digital communication over optical channels
US11693733B2 (en) 2021-01-21 2023-07-04 Kioxia Corporation Soft error detection and correction for data storage devices
US12001822B2 (en) * 2021-02-01 2024-06-04 Capital One Services, Llc Multi-signature validation of deployment artifacts
WO2024015079A1 (en) * 2022-07-15 2024-01-18 Hewlett-Packard Development Company, L.P. Digital signature

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002314534A (ja) * 1993-12-01 2002-10-25 Rpk New Zealand Ltd 非決定論的ミクスチャー発生器ストリーム暗号化システム
JP2008532410A (ja) * 2005-03-01 2008-08-14 エヌエックスピー ビー ヴィ メッセージ認証コードを発生する発生器、発生方法、プログラム要素、及びコンピュータ読取可能媒体

Family Cites Families (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4521853A (en) 1982-06-30 1985-06-04 Texas Instruments Incorporated Secure microprocessor/microcomputer with secured memory
EP0681768B1 (en) 1992-12-30 2001-03-28 Telstra Corporation Limited A method and apparatus for generating a cipher stream
US5671283A (en) 1995-06-08 1997-09-23 Wave Systems Corp. Secure communication system with cross linked cryptographic codes
US6272637B1 (en) 1997-04-14 2001-08-07 Dallas Semiconductor Corporation Systems and methods for protecting access to encrypted information
WO2000057290A1 (fr) 1999-03-19 2000-09-28 Hitachi, Ltd. Processeur d'informations
ATE403992T1 (de) 1999-06-22 2008-08-15 Hitachi Ltd Kryptografisches gerät und verfahren
KR20020026370A (ko) * 1999-08-09 2002-04-09 러셀 비. 밀러 메시지 인증 코드를 발생시키기 위한 방법 및 장치
FR2801751B1 (fr) 1999-11-30 2002-01-18 St Microelectronics Sa Composant electronique de securite
CN100511329C (zh) 2000-01-21 2009-07-08 索尼公司 数据处理设备和数据处理方法
US7242772B1 (en) * 2000-09-07 2007-07-10 Eastman Kodak Company Encryption apparatus and method for synchronizing multiple encryption keys with a data stream
US6934389B2 (en) 2001-03-02 2005-08-23 Ati International Srl Method and apparatus for providing bus-encrypted copy protection key to an unsecured bus
KR100385228B1 (ko) 2001-04-18 2003-05-27 삼성전자주식회사 불휘발성 메모리를 프로그램하는 방법 및 장치
US6976136B2 (en) 2001-05-07 2005-12-13 National Semiconductor Corporation Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller
US6760918B2 (en) * 2001-06-29 2004-07-06 Scientific-Atlanta, Inc. Method and apparatus for recordable media content distribution
EP1293856A1 (fr) 2001-09-18 2003-03-19 EM Microelectronic-Marin SA Circuit Intégré sécurisé comprenant des parties à caractère confidentiel, et procédé pour sa mise en action
US7490250B2 (en) 2001-10-26 2009-02-10 Lenovo (Singapore) Pte Ltd. Method and system for detecting a tamper event in a trusted computing environment
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US7137004B2 (en) 2001-11-16 2006-11-14 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
WO2003053001A1 (en) 2001-12-18 2003-06-26 Analog Devices, Inc. Programmable data encryption engine for advanced encryption standard algorithm
US6768943B2 (en) 2002-04-18 2004-07-27 Aviation Communication & Surveillance Systems, Llc System and method using environment memory having signatures
US7248696B2 (en) 2002-09-12 2007-07-24 International Business Machines Corporation Dynamic system bus encryption using improved differential transitional encoding
US7194626B2 (en) 2002-11-21 2007-03-20 International Business Machines Corporation Hardware-based secure code authentication
US8140824B2 (en) 2002-11-21 2012-03-20 International Business Machines Corporation Secure code authentication
US7269747B2 (en) 2003-04-10 2007-09-11 Lenovo (Singapore) Pte. Ltd. Physical presence determination in a trusted platform
US6965521B2 (en) 2003-07-31 2005-11-15 Bae Systems, Information And Electronics Systems Integration, Inc. Read/write circuit for accessing chalcogenide non-volatile memory cells
US7533262B2 (en) 2003-08-01 2009-05-12 Microsoft Corporation Media data protection
US7421076B2 (en) * 2003-09-17 2008-09-02 Analog Devices, Inc. Advanced encryption standard (AES) engine with real time S-box generation
DE10345385B4 (de) 2003-09-30 2005-10-06 Infineon Technologies Ag Entschlüsselung bzw. Verschlüsselung bei Schreibzugriffen auf einen Speicher
US20050114687A1 (en) 2003-11-21 2005-05-26 Zimmer Vincent J. Methods and apparatus to provide protection for firmware resources
KR100891222B1 (ko) 2003-12-05 2009-04-01 모션 픽쳐 어쏘시에이션 오브 아메리카 디스플레이 어댑터를 위한 보안 비디오 시스템
EP1615370B1 (en) 2004-07-05 2011-08-31 ABB Research Ltd. Authentication of short messages
US8955104B2 (en) 2004-07-07 2015-02-10 University Of Maryland College Park Method and system for monitoring system memory integrity
US20060026418A1 (en) 2004-07-29 2006-02-02 International Business Machines Corporation Method, apparatus, and product for providing a multi-tiered trust architecture
US7484099B2 (en) 2004-07-29 2009-01-27 International Business Machines Corporation Method, apparatus, and product for asserting physical presence with a trusted platform module in a hypervisor environment
US7822993B2 (en) 2004-08-27 2010-10-26 Microsoft Corporation System and method for using address bits to affect encryption
US20060107054A1 (en) 2004-11-16 2006-05-18 Young David W Method, apparatus and system to authenticate chipset patches with cryptographic signatures
JP4537908B2 (ja) 2005-03-29 2010-09-08 株式会社東芝 プロセッサ、メモリ、コンピュータシステムおよびシステムlsi
FR2885709A1 (fr) 2005-05-10 2006-11-17 St Microelectronics Sa Controle d'integrite d'une memoire externe a un processeur
US20070101424A1 (en) 2005-07-25 2007-05-03 Nec Laboratories America, Inc. Apparatus and Method for Improving Security of a Bus Based System Through Communication Architecture Enhancements
US8041032B2 (en) 2005-08-19 2011-10-18 Cardiac Pacemakers, Inc. Symmetric key encryption system with synchronously updating expanded key
US20070133437A1 (en) 2005-12-13 2007-06-14 Wengrovitz Michael S System and methods for enabling applications of who-is-speaking (WIS) signals
US8452981B1 (en) 2006-03-01 2013-05-28 Nvidia Corporation Method for author verification and software authorization
US8997255B2 (en) 2006-07-31 2015-03-31 Inside Secure Verifying data integrity in a data storage device
US20080155273A1 (en) 2006-12-21 2008-06-26 Texas Instruments, Inc. Automatic Bus Encryption And Decryption
US7882365B2 (en) 2006-12-22 2011-02-01 Spansion Llc Systems and methods for distinguishing between actual data and erased/blank memory with regard to encrypted data
US7836269B2 (en) 2006-12-29 2010-11-16 Spansion Llc Systems and methods for access violation management of secured memory
US8781111B2 (en) 2007-07-05 2014-07-15 Broadcom Corporation System and methods for side-channel attack prevention
US7739565B1 (en) 2007-07-19 2010-06-15 Xilinx, Inc. Detecting corruption of configuration data of a programmable logic device
KR101321472B1 (ko) 2007-07-23 2013-10-25 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 프로그램 방법
US8578179B2 (en) 2007-10-19 2013-11-05 Samsung Electronics Co., Ltd Safe command execution and error recovery for storage devices
US8180055B2 (en) 2008-02-05 2012-05-15 Harris Corporation Cryptographic system incorporating a digitally generated chaotic numerical sequence
US8549246B2 (en) 2008-04-30 2013-10-01 Micron Technology, Inc. SPI NAND protected mode entry methodology
US7826271B2 (en) 2008-06-12 2010-11-02 Sandisk Corporation Nonvolatile memory with index programming and reduced verify
JP4620146B2 (ja) 2008-07-18 2011-01-26 株式会社東芝 情報処理装置及び認証方法
EP2166696B1 (fr) 2008-08-27 2016-10-05 STMicroelectronics (Rousset) SAS Protection de l'intégrité de données chiffrées en utilisant un état intermédiare de chiffrement pour générer une signature
US20100098247A1 (en) 2008-10-20 2010-04-22 Nokia Corporation Method, Apparatus And Computer Program Product For Generating An Encryption Key And An Authentication Code Key Utilizing A Generic Key Counter
US9117094B2 (en) 2008-10-29 2015-08-25 Microsoft Technology Licensing, Llc Data location obfuscation
US7881094B2 (en) 2008-11-12 2011-02-01 Seagate Technology Llc Voltage reference generation for resistive sense memory cells
TWI393143B (zh) 2008-12-05 2013-04-11 Phison Electronics Corp 快閃記憶體儲存系統及其控制器與防資料竄改方法
US8649509B2 (en) 2008-12-18 2014-02-11 At&T Intellectual Property I, L.P. Systems and computer program products for generating and verifying randomized hash values
US20100235689A1 (en) * 2009-03-16 2010-09-16 Qualcomm Incorporated Apparatus and method for employing codes for telecommunications
US8429513B2 (en) 2009-07-02 2013-04-23 Stmicroelectronics (Research & Development) Limited Loading secure code into a memory
US20110022916A1 (en) 2009-07-24 2011-01-27 Prasanna Desai Method and system for saving power for packet re-transmission in an encrypted bluetooth low power link layer connection
US8756439B1 (en) 2009-08-28 2014-06-17 Physical Optics Corporation Encryption key management for secured access
US8225182B2 (en) 2009-10-04 2012-07-17 Mellanox Technologies Ltd. Processing of block and transaction signatures
JP5840138B2 (ja) 2009-11-25 2016-01-06 アクララ・テクノロジーズ・リミテッド・ライアビリティ・カンパニーAclara Technologies LLC. 暗号法的に安全な認証装置、システム及び方法
TWI436372B (zh) 2010-01-28 2014-05-01 Phison Electronics Corp 快閃記憶體儲存系統及其控制器與防資料竄改方法
EP2388730A1 (en) 2010-05-17 2011-11-23 Nagravision S.A. Method for generating software code
US8427194B2 (en) 2010-05-24 2013-04-23 Alexander Roger Deas Logic system with resistance to side-channel attack by exhibiting a closed clock-data eye diagram
US20110285421A1 (en) 2010-05-24 2011-11-24 Alexander Roger Deas Synchronous logic system secured against side-channel attack
US8904190B2 (en) 2010-10-20 2014-12-02 Advanced Micro Devices, Inc. Method and apparatus including architecture for protecting sensitive code and data
US20120124374A1 (en) * 2010-11-12 2012-05-17 Nxp B.V. Secured acknowledge protocol for automotive remote keyless entry systems and for networked sensor devices
KR101792868B1 (ko) 2010-11-25 2017-11-02 삼성전자주식회사 플래시 메모리 장치 및 그것의 읽기 방법
GB2487901B (en) 2011-02-03 2019-12-04 Advanced Risc Mach Ltd Power signature obfuscation
US8745408B2 (en) 2011-04-08 2014-06-03 Infineon Technologies Ag Instruction encryption/decryption arrangement and method with iterative encryption/decryption key update
US8699712B2 (en) 2011-09-02 2014-04-15 Blackberry Limited Randomization of plain text for GSM SACCH
GB2494731B (en) 2011-09-06 2013-11-20 Nds Ltd Preventing data extraction by sidechannel attack
US8832455B1 (en) 2011-09-21 2014-09-09 Google Inc. Verified boot path retry
US9128876B2 (en) 2011-12-06 2015-09-08 Honeywell International Inc. Memory location specific data encryption key
US9304944B2 (en) 2012-03-29 2016-04-05 Broadcom Corporation Secure memory access controller
CN104350503A (zh) 2012-05-25 2015-02-11 株式会社东芝 存储器设备和存储器系统
US8751814B2 (en) 2012-06-14 2014-06-10 Kabushiki Kaisha Toshiba Device
US8650398B2 (en) 2012-06-14 2014-02-11 Kabushiki Kaisha Toshiba Device authentication using restricted memory
US9703945B2 (en) 2012-09-19 2017-07-11 Winbond Electronics Corporation Secured computing system with asynchronous authentication
US20140281564A1 (en) 2013-03-13 2014-09-18 Kabushiki Kaisha Toshiba Method of authenticating access to memory device
TWI620094B (zh) 2013-05-31 2018-04-01 凱爾拉吉克斯股份有限公司 電荷分布控制系統、加密系統和藉由操作其防止以旁通道攻擊之方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002314534A (ja) * 1993-12-01 2002-10-25 Rpk New Zealand Ltd 非決定論的ミクスチャー発生器ストリーム暗号化システム
JP2008532410A (ja) * 2005-03-01 2008-08-14 エヌエックスピー ビー ヴィ メッセージ認証コードを発生する発生器、発生方法、プログラム要素、及びコンピュータ読取可能媒体

Also Published As

Publication number Publication date
TWI533653B (zh) 2016-05-11
TW201512892A (zh) 2015-04-01
US9641491B2 (en) 2017-05-02
TWI531925B (zh) 2016-05-01
CN104463007B (zh) 2018-10-16
CN104468089B (zh) 2018-11-13
ES2826985T3 (es) 2021-05-19
CN104468089A (zh) 2015-03-25
US20150089234A1 (en) 2015-03-26
JP6277101B2 (ja) 2018-02-07
JP2015062286A (ja) 2015-04-02
KR20150033558A (ko) 2015-04-01
JP6030103B2 (ja) 2016-11-24
US9455962B2 (en) 2016-09-27
EP2852089A1 (en) 2015-03-25
EP2852090B1 (en) 2018-11-07
KR20150033557A (ko) 2015-04-01
ES2709124T3 (es) 2019-04-15
TW201513626A (zh) 2015-04-01
US20160294792A1 (en) 2016-10-06
EP2852090A1 (en) 2015-03-25
US9819657B2 (en) 2017-11-14
EP2852089B1 (en) 2020-08-26
US20150089223A1 (en) 2015-03-26
CN104463007A (zh) 2015-03-25
KR101669157B1 (ko) 2016-10-25
JP2015062064A (ja) 2015-04-02

Similar Documents

Publication Publication Date Title
KR101702545B1 (ko) 데이터 인증방법 및 그 장치
CN110493197B (zh) 一种登录处理方法及相关设备
CN107438850B (zh) 使用签名的地址验证
CN101369889B (zh) 一种对文档进行电子签名的方法
US9418027B2 (en) Secure boot information with validation control data specifying a validation technique
CN103634114B (zh) 智能密码钥匙的验证方法及系统
CN110995685B (zh) 数据的加解密方法、装置、系统及存储介质
US11755406B2 (en) Error identification in executed code
JP2005341552A (ja) 証明書失効リストの分配管理方法
CN113632084B (zh) 运行时代码执行验证方法、设备及系统
CN113688399A (zh) 固件数字签名保护方法、装置、计算机设备及存储介质
CN117640256A (zh) 一种无线网卡的数据加密方法、推荐装置和存储介质
JP2017076854A (ja) 電子装置、及びデータ検証方法
CN106548098A (zh) 用于检测故障攻击的方法和系统
CN116781265A (zh) 一种数据加密的方法和装置
CN107292172B (zh) 用于相对于参考计算机文件自动验证目标计算机文件的方法
CN105554033A (zh) 一种图像输入设备的可信认证方法及其图像输入设备
JP6069120B2 (ja) 情報処理システム
JP6124338B2 (ja) 情報処理システム
CN105760744A (zh) 一种图像输入设备及其安全检验方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
FPAY Annual fee payment

Payment date: 20200108

Year of fee payment: 4