KR20180058210A - 데이터의 검증 방법 - Google Patents

데이터의 검증 방법 Download PDF

Info

Publication number
KR20180058210A
KR20180058210A KR1020170157643A KR20170157643A KR20180058210A KR 20180058210 A KR20180058210 A KR 20180058210A KR 1020170157643 A KR1020170157643 A KR 1020170157643A KR 20170157643 A KR20170157643 A KR 20170157643A KR 20180058210 A KR20180058210 A KR 20180058210A
Authority
KR
South Korea
Prior art keywords
data
electronic device
server
memory
authentication key
Prior art date
Application number
KR1020170157643A
Other languages
English (en)
Other versions
KR102466866B1 (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 KR20180058210A publication Critical patent/KR20180058210A/ko
Application granted granted Critical
Publication of KR102466866B1 publication Critical patent/KR102466866B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • 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
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • 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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 장비에 포함된 전자 장치에 의해 발생된 데이터를 검증하기 위한 방법에 관한 것으로, 이러한 전자 장치는 계산 유닛, 1회 프로그램 가능한 메모리, 및 휘발성 메모리를 포함하고, 상기 장비는 다시 쓰기 가능한 비휘발성 메모리와, 상기 다시 쓰기 가능한 비휘발성 메모리에 상기 전자 장치가 데이터를 저장하는 것을 가능하게 하는 통신 버스를 포함한다. 이러한 방법은 장비와 서버 사이의 암호화에 의해 안전한 채널을 생성하는 단계(21); 상기 서버로부터, 인증 키를 얻는 단계(22, 23); 데이터와 메시지 인증 코드를 상기 다시 쓰기 가능한 비휘발성 메모리로부터 상기 휘발성 메모리에 로드하는 단계(24)로서, 상기 메시지 인증 코드는 상기 다시 쓰기 가능한 비휘발성 메모리에서의 메시지 인증 코드와 상기 데이터를 저장하기 전에, 상기 인증 키와 상기 데이터로부터 상기 전자 장치에 의해 얻어진 것이고, 상기 전자 장치는 상기 메시지 인증 코드를 얻은 후 상기 인증 키를 보관하지 않는, 상기 단계(24); 및 비밀 키와 메시지 인증 코드를 사용하여 상기 데이터를 검증하는 단계(26)를 포함한다.

Description

데이터의 검증 방법{DATA VERIFICATION METHOD}
본 발명은 통신 네트워크를 통해 서버와 통신을 행하기에 적합한 장비에 포함된 전자 장치에 의해 발생된 데이터를 검증하기 위한 방법과, 상기 방법을 구현할 수 있는 장치, 및 시스템에 관한 것이다.
점점 더 많은 전자 장치가 통신을 행하게 되었는데, 이는 그것들 자체가 통신 능력을 가지거나 다른 통신 전자 장치 또는 장비에 연결 또는 다른 통신 전자 장치 또는 장비에 통합되기 때문이다. 몇몇 경우에서, 이들 전자 장치는 민감하고 비밀인 데이터를 저장하고 때때로 교환하고, 이들은 보호하기 위해 필수적이다. 이들 데이터의 본래의 모습 및 진정성은 또한 보장되어야 한다. 이는 점점 더 많은 전자 장치(칩 카드, 스마트폰, 컴퓨터, 연결된 대상물 등)가 하드웨어 공격 또는 소프트웨어 공격을 처리해야 하기 때문이다. 보호 수단인 소프트웨어와 하드웨어 모두 그러한 공격을 다루기 위해 개발되었다. 이들 수단은 특히 데이터 교환을 보호하는 것을 가능하게 하는 암호화 수단을 포함하고, 전자 장치에서 메모리에 저장된 데이터 또는 프로그램들을 보호하는 것을 가능하게 하는 보호된 하드웨어 아키텍처들을 포함한다.
비밀 데이터를 복구하기 위해, 또는 이들 데이터의 본래의 모습 및 진정성(재연하는 것을 포함하여)을 보호하려고 의도된 공격들은 일반적으로 전자 장치들에서의 결함을 이용한다. 예를 들면, 보안상 이유로, 몇몇 전자 장치는 계산 유닛(computing unit)(즉, 마이크로프로세서, 마이크로컨트롤러 등)과, 이러한 계산 유닛용으로 의도된 적어도 하나의 메모리(일반적으로 플래시 메모리) 모두를 통합하는 성분들을 포함한다. 진보된 기술의 경우에는, 동일한 성분상의 계산 유닛과 메모리 사이의 공존에 관련된 비용 및 기술상의 문제들의 이유로, 이들 성분에 통합된 메모리들(플래시 타입의)은 예견될 수 없다. 다시 쓰기 가능하지 않은 비휘발성 메모리들의 특정 타입들만이 통합될 수 있다.
그럴 경우 이들 성분은 그것들의 기능을 위해 외부 메모리를 사용해야 한다. 그러한 성분의 계산 유닛과 외부 메모리 사이에는 통신 버스가 생성된다. 이러한 통신 버스는, 그것이 전자 장치에 의해 관리된 민감한 데이터에 대해 문을 열기 때문에 보안 실패(failing)를 성립시킬 수 있다. 이러한 실패는 이러한 외부 메모리가 다른 전자 장치들에 의해 공유될 때 전적으로 더 크다. 이는 공격자(attacker)가 데이터와, 버스 상에 놓인 데이터 주소를 검사하는 것이 쉽다고 일반적으로 간주되기 때문이다. 일반적으로 적용된 한 가지 해결책은 버스를 통해 전송된 데이터를 암호화하는 것으로 구성된다. 하지만, 그러한 암호화는 아이덴티티(identity) 절도 공격 "스푸핑(spoofing) 공격", 릴로케이션(relocation) 공격, 및 리플레이(replay) 공격과 같은 특정 공격들의 경우에는 충분히 효과적이지 않다고 알려져 있다.
스푸핑 공격은 전자 장치의 오작동을 야기하기 위해 버스에서 랜덤(random) 데이터를 공급하는 것으로 구성된다.
릴로케이션 공격은 공격자에 의해 버스에 놓인 명령이 상이한 주소로부터 복제될 때 일어난다.
리플레이 공격은 데이터 전송이 부정하게 반복될 때 일어난다. 이러한 공격은 데이터를 가로채는 공격자에 의해 구현된다. 그럴 경우 공격자는 나중에 이들 데이터를 다시 제공하고, 그것들을 이용(스스로 진짜임을 다시 증명하는 것, 이전 데이터를 복원하는 것)할 위치에 있다.
종래 기술의 이러한 결점들을 극복하는 것이 바람직하다. 특히 리플레이 공격들을 방지하기 위한 방법 및 장치를 제안하는 것이 바람직하다.
본 발명의 제1 양태에 따르면, 본 발명은 통신 네트워크를 통해 서버와 통신하기에 적합한 장비에 포함된 전자 장치에 의해 발생된 데이터를 검증하기 위한 방법에 관한 것으로, 이러한 전자 장치는 계산 유닛, 비휘발성 1회(one-time) 프로그램 가능한 메모리, 및 휘발성 메모리를 포함하고, 그러한 장비는 다시 쓰기 가능한 비휘발성 메모리와, 전자 장치가 다시 쓰기 가능한 비휘발성 메모리에 데이터를 저장하는 것을 가능하게 하는 통신 버스를 포함한다. 이러한 방법은 그러한 전자 장치에 의해 구현되고, 장비와 서버 사이의 암호화에 의해 안전한 채널을 생성하는 단계; 인증 키라고 부르는 메시지 인증 코드 키를 서버로부터 얻는 단계; 검증될 데이터와 상기 데이터에 대응하는 메시지 인증 코드를 다시 쓰기 가능한 비휘발성 메모리로부터 휘발성 메모리로 로드(load)하는 단계; 및 비밀 키와 메시지 인증 코드를 사용하여 검증될 데이터를 검증하고 그러한 검증이 긍정적일 때 데이터를 사용하는 단계를 포함하고, 이 경우 그러한 메시지 인증 코드는 다시 쓰기 가능한 비휘발성 메모리에서의 메시지 인증 코드와 상기 데이터를 저장하기 전에 인증 키와 상기 데이터로부터 전자 장치에 의해 얻어졌으며, 그러한 전자 장치는 메시지 인증 코드를 생성할 때에만 그러한 인증 키를 이용할 수 있었다.
그러므로 인증 키와 메시지 인증 키에 의해 긍정적으로 검증되지 않는다면 다시 쓰기 가능한 비휘발성 메모리에 저장된 데이터는 그 어느 것도 사용될 수 없고, 이는 리플레이 공격의 가능성을 제한한다.
일 구현예에 따르면, 검증될 데이터와 메시지 인증 코드는 다시 쓰기 가능한 비휘발성 메모리에 저장하기 전에 1회 프로그램 가능한 메모리에 저장된 제1 암호화 키를 사용하여 암호화되었고, 비휘발성 메모리에서의 로딩(loading) 후와 그것의 검증 전에 해독된다.
그러므로 통신 버스에 의한 다시 쓰기 가능한 비휘발성 메모리와 전자 장치 사이의 각각의 데이터 전달이 보호된다.
일 구현예에 따르면, 검증될 데이터는 장비와 서버 사이의 안전한 채널이 생성될 수 있을 때에만 사용된다.
일 구현예에 따르면, 안전한 채널을 생성하기 위해 사용된 암호화는 1회 프로그램 가능한 메모리에 저장된 제2 암호화 키를 사용한다.
일 구현예에 따르면, 인증 키는 서버에서 상기 인증 키를 얻기 위한 요청을 전자 장치가 전송한 후 전자 장치에 의해 얻어진다.
일 구현예에 따르면, 인증 키는 전자 장치에 의해 사전에 발생되었고 서버에 전송되었다.
일 구현예에 따르면, 인증 키는 서버에 의해 사전에 발생되었고, 보안 정보를 발생시키기 위해 전자 장치에 전송되었다.
일 구현예에 따르면, 다시 쓰기 가능한 메모리에서 전자 장치에 의해 데이터가 저장되거나 미리 정해진 규칙적인 시간 간격(interval)으로 또는 다시 쓰기 가능한 비휘발성 메모리에서의 미리 정해진 개수의 데이터의 저장 후 또는 임의로 결정된 시점들에서 저장될 때에는 언제나 상이한 새로운 인증 키가 발생된다.
데이터가 다시 쓰기 가능한 비휘발성 메모리에서 전자 장치에 의해 저장될 대 메시지 인증 코드를 발생시키기 위해 상이한 인증 키 또는 규칙적으로 바뀌는 것의 사용은 리플레이 공격을 방지한다. 전자 장치에 의해 다시 쓰기 가능한 비휘발성 메모리에 저장된 데이터를 복제하는 데 성공한 공격자는 그것들을 리플레이 공격 상황에서는 사용할 수 없다. 이는 다시 쓰기 가능한 비휘발성 메모리에서 이들 데이터와 연관된 메시지 인증 코드가, 서버에 의해 전송된 인증 키에 의해 발생시킬 메시지 인증 코드에 대응하는 기회가 거의 없게 되기 때문이다. 그럴 경우 데이터의 검증은 부정적이 된다.
본 발명의 제2 양태에 따르면, 본 발명은 제1 양태에 따른 방법을 구현하기 위한 수단을 포함하는 전자 장치에 관한 것이다.
본 발명의 제3 양태에 따르면, 본 발명은 다시 쓰기 가능한 비휘발성 메모리와 제2 양태에 따른 전자 장치를 포함하는 통신 네트워크를 통해 서버와 통신할 수 있는 장비에 관한 것이다.
본 발명의 제4 양태에 따르면, 본 발명은 제3 양태에 따른 장비와 서버를 포함하는 시스템에 관한 것이고, 그러한 장비는 통신 네트워크를 통해 서버와 통신하기에 적합하다.
본 발명의 제5 양태에 따르면, 본 발명은 컴퓨터 프로그램에 관한 것으로, 이러한 컴퓨터 프로그램은 제1 양태에 따른 방법의 장치에 의한 구현을 위한 명령들을 포함하는데, 이는 상기 프로그램이 상기 장치의 계산 유닛에 의해 실행될 때 그러하다.
본 발명의 제6 양태에 따르면, 본 발명은 컴퓨터 프로그램을 저장하는 저장 수단에 관계된 것으로, 이러한 컴퓨터 프로그램은 제1 양태에 따른 방법의 장치에 의한 구현을 위한 명령들을 포함하는데, 이는 상기 프로그램이 상기 장치의 계산 유닛에 의해 실행될 때 그러하다.
전술한 본 발명의 특징들은 다른 것들과 함께, 구현예의 후속 설명을 읽음으로써 더 명확하게 드러나게 되고, 상시 설명은 첨부 도면과 관련하여 주어진다.
도 1은 본 발명을 구현할 수 있는 전자 장치를 포함하는 연결된 장비의 하드웨어 아키텍처를 개략적으로 예시하는 도면.
도 2는 전자 장치의 데이터 검증을 위한 본 발명에 따른 방법의 일 예를 개략적으로 예시하는 도면.
도 3은 전자 장치의 오래된 데이터를 실효시키기 위한 본 발명에 따른 방법의 일 예를 개략적으로 예시하는 도면.
후속하는 설명은 SIM(subscriber identity module) 카드 타입의 전자 장치가 삽입되는 스마트폰의 상황에서 본 발명의 일 구현예를 더 특별히 상세하게 다룬다. 하지만, 여기에서 설명된 원리들은 기밀 데이터를 조작하는 전자 장치를 적어도 일시적으로 통합할 수 있는 원격(remote) 서버에 연결된 모든 타입의 장비에 적용하고, 상기 장치는 그 기능을 하기 위해서는 외부 메모리에 의존해야만 한다. 본 발명의 원리들은 예를 들면 칩 카드 리더(reader) 또는 연결된 대상물(object)에 적용된다.
도 1은 본 발명을 구현할 수 있는 전자 장치를 포함하는 연결된 장비의 하드웨어 아키텍처를 개략적으로 예시한다.
도 1은 네트워크(2)에 의해 서버(3)에 연결된 장비(1)를 보여준다. 장비(1)는 예를 들면 스마트폰이다. 통신 네트워크(2)는 예를 들면 3G 또는 4G 네트워크이다.
장비(1)는 예를 들면 EEPROM 메모리(electronically erasable programmable ROM)와 같은 다시 쓰기 가능한 비휘발성 메모리(10)(이후 RNVM이라고 표시함), 연결된 장비(1)를 통신 네트워크(2)에 연결하고 서버(3)와 통신을 가능하게 하는 통신 인터페이스(11), 및 마이크로 회로와 같은 전자 회로(12)를 포함한다. 이러한 전자 회로(12)는 통신 버스(122)에 의해 연결된, 프로세서 또는 마이크로컨트롤러와 같은 계산 유닛(120)과, SIM 카드와 같은 제거 가능할 수 있는 전자 장치(121)를 포함한다. 이러한 전자 장치(121)는 중대한 연산(operation)들을 수행하고, 기밀 데이터를 조작한다. 그럴 경우 전자 장치(121)는 보안 서비스를 제공하는 전자 회로(12)의 부속 부분(subpart)이다. 이후 전자 장치(121)는 보호된 코어(protected core)라고 부른다.
보호된 코어(121)는 프로세서 또는 마이크로컨트롤러와 같은 계산 유닛(1210), RAM(random access memory) 타입의 휘발성 메모리(1212), 및 PROM(programmable read-only memory)과 같은 OTP 메모리(one-time programmable)라고 부르는 단일(single) 프로그래밍 메모리(1211)를 포함한다.
변수들과 중간 계산 결과들과 같은 데이터를 일시적으로 저장하기 위해 휘발성 메모리(1212)가 사용된다. OTP 메모리(1211)는 보통 위에서 언급된 중대한 연산들과, 암호화 키들과 같은 민감한 데이터의 구현을 야기하는 명령들을 담고 있다.
버스(122)는 또한 보호된 코어(121)가 계산 유닛(121) 및 RNVM(10)과 통신을 행하게 할 수 있다.
연결된 장비(1)에 전원이 들어오면(즉, 전자 회로(12)와 보호된 코어(121)에 전원이 들어오면), 계산 유닛(1210)은 OTP 메모리(1211)에 저장된 명령들을 실행할 수 있다.
볼 수 있는 것처럼, 보호된 코어(121)는 다시 쓰기 가능한 비휘발성 메모리를 포함하지 않는다. 또한, 더 많은 메모리를 보호된 코어(121)에 추가하는 것이 불가능하다고 생각된다. 보호된 코어(121)는 그것이 기능을 하는 동안에 OTP 메모리(1211)에 새로운 민감한 데이터를 저장할 수 있었다. 하지만, 첫 번째는 OTP 메모리(1211)는 용량이 제한되고, 두 번째는 OTP 메모리(1211)를 구현하는 PROM 메모리와 같은 PROM 메모리의 내용물이 바뀔 수 없는데, 즉 일단 쓰기가 이루어지면 PROM 메모리에 쓰여진 데이터는 수정되거나 삭제될 수 없다. 따라서 OTP 메모리(1211)의 신속한 포화 위험이 존재한다. 이들 상태에서는, 보호된 코어(121)가 민감한 데이터를 저장하기 위해 RNVM(10)을 사용한다.
일 구현예에서는, 보호된 코어(121)의 계산 유닛(1210)은 마이크로 회로(120)의 계산 유닛의 슬레이브(slave)이다. 이러한 식으로, 보호된 코어(121)는 계산 유닛(120)의 제어하에서만 기능을 할 수 있다.
일 구현예에서, 보호된 코어(121)의 계산 유닛(1210)은 적어도 부분적으로는 독립적인 것이다. 그러므로 보호된 코어에 의해 수행된 몇몇 연산들은 계산 유닛(120)과의 상호 작용 없이 구현될 수 있다.
RNVM(10)에서의 저장은 민감한 데이터는 버스(122)를 통해 지나가야 하는 것을 의미한다. 그러한 구성은 RNVM(10)가 예를 들면 계산 유닛(120)과 같은 연결된 장비(1)의 다른 장치들에 의해 공유될 수 있기 때문에, 공격자들이 훨신 더 이용할 수 있는 보안 실패를 구성한다.
도 2는 전자 장치(121)의 데이터를 검증하기 위한 본 발명에 따른 방법의 일 예를 개략적으로 예시한다.
일 구현예에서, 도 2에 관련하여 설명된 방법은, 보호된 코어(121)의 계산 유닛(1210)이 RNVM(10)에 사전에 저장되는 데이터를 사용해야 할 때 구현된다. 그럴 경우 이들 데이터를 그것들을 사용하기 전에 검증하는 것이 필수적이다. 이러한 식으로, 보호된 코어(121)의 계산 유닛(1210)은 RNVM(10)에 저장된 그것이 필요로 하는 데이터가 공격자에 의해 수정되지 않았는지를 체크한다.
단계 20 동안에는, 보호된 코어(121)의 계산 유닛(1210)이 통신 네트워크(2)를 통해 서버(3)와 장비(1) 사이에 안전한 채널이 생성될 수 있는지를 체크한다. 이를 행하기 위해, 보호된 코어(121)의 계산 유닛(1210)은 서버(3)와 장비(1) 사이의 통신 테스트를 행한다. 예를 들면, 계산 유닛(1210)은 서버(3)용으로 의도된 요청을 장비(1)가 보내게 한다. 이러한 요청에 대한 응답이 장비(1)에 의해 수신되면, 보호된 코어(121)의 계산 유닛(1210)은 단계(21) 동안에 장비(1)와 서버(3) 사이에 안전한 채널이 생성될 수 있다고 간주한다.
만약 이러한 요청에 대한 어떠한 응답도 장비(1)에 의해 수신되지 않는다면, 보호된 코어의 계산 유닛(1210)은 단계(27) 동안에, 장비(1)와 서버(3) 사이에 안전한 채널을 생성하는 것이 가능하지 않다고 간주한다. 이 경우, 보호된 코어(121)의 계산 유닛(1210)은 검증할 수 없었던 RNVM(10)에 저장된 데이터를 사용하지 않는다. 그럴 경우 단계(27) 다음에는 단계(28)가 와서 이러한 방법이 끝나게 된다.
단계(21) 동안에는, 보호된 코어(121)의 계산 유닛(1210)은 장비(1)와 서버(3) 사이에 안전한 채널을 생성한다. 이를 행하기 위해, 장비(1)와 서버(3) 사이에서 통신 네트워크(2)를 통해 전송된 각각의 데이터 항목(item)은 암호화된다. 그럴 경우 예를 들면 3DES 알고리즘("Triple Data Encryption Standard(3DES)", RFC 1851, http://tools.ietf.org/html/rfc1851) 또는 AES 알고리즘("Advanced Encryption Standard", RFC 3565, http://tools.ietf.org/html/rfc3565)R과 같은 암호화 알고리즘이 사용된다. 이러한 암호화 알고리즘은 OTP 메모리(1211)에 저장된 제1의 고유한 암호화 키를 사용한다. 단계(21)로부터, 그리고 도 2에 관련하여 설명된 방법의 구현예의 끝까지, 장비(1)와 서버(3) 사이의 각각의 통신이 보호된다.
단계 22에서는, 보호된 코어(121)의 계산 유닛(1210)이 서버(3)로부터 인증 키라고 부르는 메시지 인증 코드의 키를 얻는 요청을 장비(1)가 보내게 한다. 이후 MAC 코드라고 부르는 메시지 인증 코드(MAC)가 인증 키와 조합하여 데이터에 암호화 해시 함수를 적용함으로써 얻어진다. MAC은 데이터를 본래의 모습 및 진정성 측면에서 동시에 검증하는 것을 허용한다.
단계 23 동안에는, 단계(22) 동안 보내진 요청에 응답하여, 보호된 코어(121)의 계산 유닛(1210)이 요청된 인증 키를 포함하는 요청을 서버(3)로부터 받는다.
단계 24 동안에는 보호된 코어(121)의 계산 유닛(1210)이 검증될 데이터를 로드하고 휘발성 메모리(1212)에 RNVM 메모리(10)의 상기 데이터에 대응하는 MAC 코드를 로드한다. 이후 도 3과 관련하여 설명된 것처럼, RNVM 메모리(10)에 검증될 데이터와 MAC 코드를 저장하기 전에 인증 키와 검증될 데이터로부터 보호된 코어(121)에 의해 MAC 코드가 얻어졌다. 하지만, 보안상의 이유로, 인증 키는 MAC 코드가 발생된 후 보호된 코어(121)에 의해 저장되지 않았다. 이러한 식으로, 보호된 코어는 MAC 코드의 발생시에만 인증 키를 이용할 수 있게 되고, 이는 보호된 코어에서 인증 키를 복구하려는 어떠한 시도도 방지한다.
단계 26에서는, 보호된 코어(121)의 계산 유닛(1210)이 RNVM 메모리(10)로부터 로드된 MAC 코드와 비밀 키를 사용하여 검증될 데이터를 검증한다. RNVM 메모리로부터 로드된 MAC 데이터는 제1 MAC 코드라고 부른다. 이를 행하기 위해, 보호된 코어(121)의 계산 유닛(1210)은 검증될 데이터에 인증 키와 조합하여 제1 MAC 코드를 계산하기 위해 사용된 암호화 해시 함수를 적용한다. 그럴 경우 보호된 코어(121)의 계산 유닛(1210)은 제2 MAC 코드라고 부르는 새로운 MAC 코드를 얻는다. 그 다음 제1 MAC 코드와 제2 MAC 코드를 비교한다. 제1 MAC 코드와 제2 MAC 코드가 동일하면, 검증은 긍정적이다. 검증이 긍정적일 때에는, 보호된 코어(121)의 계산 유닛(1210)은 그렇게 검증된 데이터를 사용할 수 있다. 그렇지 않으면, 보호된 코어(121)의 계산 유닛(1210)은 이들 데이터를 사용하는 것을 그만둔다.
단계 26 다음에는 단계 28이 와서 이러한 방법이 끝난다.
일 구현예에서, RNVM 메모리(10)에서 모든 데이터와, 보호된 코어(121)의 계산 유닛(1210)에 의해 저장된 이들 데이터에 대응하는 MAC 코드는 암호화 알고리즘에 의해 암호화된다. 이러한 식으로, 보호된 코어(121)와 RNVM 메모리(10) 사이의 데이터의 각각의 전송이 보호된다. RNVM 메모리(10)에 저장된 MAC 코드와 데이터에 인가된 암호화 알고리즘은 안전한 채널의 생성을 위해 사용된 것과 동일할 수 있다. 하지만, 이러한 암호화 알고리즘은 OTP 메모리(1211)에 저장된 제2의 고유한 암호화 키를 사용한다. 이러한 구현예에서, 도 2와 관련하여 설명된 방법은 단계(24)와 단계(26) 사이에 있는 중간 단계(25)를 포함하는데, 이러한 중간 단계(25) 동안에는 보호된 코어(121)의 계산 유닛(1210)이 휘발성 메모리(1212)에 로드된 MAC 코드와 검증될 데이터를 해독한다.
일 구현예에서, 도 2와 관련하여 설명된 방법은 보호된 코어(121)의 계산 유닛(1210)에 의해, 예를 들면 미리 정해진 기간에 따라서 규칙적으로 구현된다. 이러한 식으로, 보호된 코어(121)의 계산 유닛(1210)은 그것이 필요로 할 때에만 데이터를 검증하는 대신에, RNVM 메모리(10)에 저장된 데이터를 규칙적으로 검증한다.
일 구현예에서는, 보호된 코어(121)가 시작될 때, RNVM 메모리(10)는 민감한 데이터를 포함하고, 보호된 코어(121)의 계산 유닛(1210)에 의해 이들 민감한 데이터는 RNVM 메모리(10)에 공급되지 않았지만, 장비(1)가 제작되었을 때 RNVM 메모리(10)에 도입되었다. 이들 민감한 데이터는 초기(initial) 인증 키라고 부르는 인증 키를 사용하여 발생된 MAC 코드와 연관된다. 보호된 코어(121)의 계산 유닛(1210)이 이들 데이터를 검증할 수 있게 하기 위해, 서버는 이러한 초기 인증 키를 알고 그것을 요청시 보호된 코어(121)의 계산 유닛(1210)에 공급한다.
일 구현예에서는, 제보호된 코어가 제작되었을 때, 제1 암호화 키와 제2 암호화 키가 OTP 메모리(1211)에 도입되었다.
도 3은 전자 장치의 오래된 데이터를 실효시키기 위한 본 발명에 따른 방법의 일 예를 개략적으로 예시한다.
도 3과 관련하여 설명된 방법의 한 가지 목적은 임의의 리플레이 공격을 방지하는 것이다. 그러므로 RNVM 메모리(10)에 보호된 코어(121)의 계산 유닛(1210)에 의해 새로운 데이터가 저장될 때마다, 보호된 코어(121)의 계산 유닛(1210)에 의해 RNVM 메모리(10)에 저장된 모든 데이터와 연관된 MAC 코드는 수정된다. 이러한 식으로, RNVM 메모리(10)에 사전에 저장된 데이터를 복제하는 데 성공하는 공격자는 그것들을 재사용할 수 없는데, 이는 그것들이 그것들의 올바른 MAC 코드와 연관되지 않기 때문이다.
그러므로 도 3과 관련하여 설명된 방법은 보호된 코어(121)의 계산 유닛(1210)이 RNVM 메모리(10)에 새로운 데이터를 저장해야 할 때는 언제나 구현된다.
단계 30에서는 보호된 코어(121)의 계산 유닛(1210)이 이전 키들과는 상이한 새로운 인증 키를 발생시킨다. 보호된 코어(121)의 계산 유닛(1210)은, 예를 들면 이러한 목적을 위해 NIST 권고안(recommendation) SP 800-90A("Recommendation for Random Number Generation Using Deterministic Random Bit Generators")를 적용한다. 이러한 인증 키는 휘발성 메모리(1212)에 일시적으로 저장된다. 단계 20과 단계 21 동안에는 보호된 코어(121)의 계산 유닛(1210)이 장비(1)와 서버(3) 사이에 안전한 채널이 생성될 수 있는지를 체크하고, 이것이 가능할 때 그러한 제2 채널을 생성한다. 그럴 경우, 도 3과 관련하여 설명된 방법의 상황에서는 보호된 코어(121)의 계산 유닛(1210)과 서버(3) 사이의 데이터의 교환 각각은 그러한 안전한 채널을 사용한다. 만약 제2 채널이 생성될 수 없다면, 보호된 코어(121)의 계산 유닛(1210)은 단계 31에서 그러한 방법을 계속할 수 있기 전에 그러한 채널을 생성할 수 있을 때까지 기다린다.
단계 31 동안에는, 보호된 코어(121)의 계산 유닛(1210)이 장비(1)로 하여금 서버(3)에 인증 키를 보내게 한다. 서버(3)가 그러한 인증 키를 받을 때, 서버(3)는 이러한 키가 또 다른 인증 키에 의해 대체될 때까지, 이러한 인증 키를 저장한다.
단계 32 동안에는, 보호된 코어(121)의 계산 유닛(1210)이 단계 30 동안에 발생된 인증 키를 사용하여 RNVM 메모리에 저장된 모든 데이터에 관한 MAC 코드를 계산한다. 그러한 데이터 모두는 RNVM 메모리(10)에서의 보호된 코어(121)의 계산 유닛(1210)에 의해 사전에 저장된 데이터와 새로운 데이터를 포함한다.
단계 34에서는 보호된 코어(121)의 계산 유닛(1210)이 RNVM 메모리(10)에서의 인증 키와 이들 데이터로부터 계산된 MAC 코드와 모든 데이터를 저장한다.
단계 35 동안에는, 단계 31에서 받은 인증 키를 입증하기 위해, 보호된 코어(121)의 계산 유닛(1210)이 서버(3)에 요청을 보낸다.
단계 34와 단계 36은 원자성(atomicity)을 보장하기 위해 트랜잭션(transaction)으로서 수행된다.
이들 단계는 예를 들면 정전에 의해 중단될 수 있다. 이들 단계가 중단되면, 오래된 키로 암호화된 이전 데이터가 복원된다.
단계 35 다음에는 보호된 코어(121)의 계산 유닛(1210)이 이러한 방법을 끝내는 단계 36이 온다.
단계 36 동안에, 보호된 코어(121)의 계산 유닛(1210)은 휘발성 메모리(1212)로부터 인증 키를 삭제한다. 인증 키가 더 이상 장비(1)에서 이용 가능하지 않기 때문에, 그것은 공격자에 의해 더 이상 부정한 방법으로 회복될 수 없고, 이는 추가로 리플레이 공격 가능성을 제한한다.
위에서 본 바와 같이, 일 구현예에서는, RNVM 메모리(10)에서의 보호된 코어(121)의 계산 유닛(1210)에 의해 저장되게 의도된 MAC 코드와 데이터가 암호화된다. 이 경우, 도 3과 관련하여 설명된 방법은 단계 32와 단계 34 사이에서의 중간 암호화 단계(33)를 포함한다. 이 단계 동안에는, 모든 데이터와 MAC 코드가 보호된 코어(121)의 계산 유닛(1210)에 의해 암호화된다.
도 3과 관련하여 설명된 방법에서는, 보호된 코어(121)의 계산 유닛(1210)이 RNVM 메모리(10)에 새로운 데이터를 저장해야 할 때는 언제나, 보호된 코어(121)의 계산 유닛(1210)에 의해 상이한 새로운 인증 키가 발생되었음을 설명하였다. 일 구현예에서는, 보호된 코어(121)의 계산 유닛(1210)이 RNVM 메모리(10)에 새로운 데이터를 저장해야 할 때는 언제나 새로운 인증 키를 발생시키지 않지만, 미리 정해진 규칙적인 시간 간격들에서 또는 RNVM 메모리(10)에서 미리 정해진 개수의 새로운 데이터 저장 후에는 새로운 인증 키를 발생시킨다. 또 다른 구현예에서는, 보호된 코어(121)의 계산 유닛(1210)이 보호된 코어(121)의 계산 유닛(1210)에 의해 임의로 결정된 순간들에서 새로운 인증 키를 발생시킨다. 그러한 발생 후, 발생되는 인증 키는 서버(3)로 송신된다. 그러한 인증 키가 처음에 사용될 때에는, 보호된 코어의 계산 유닛에 의해 단계 30부터 단계 36까지가 구현된다. 하지만, 단계 36 동안에는 보호된 코어(121)의 계산 유닛(1210)이 휘발성 메모리(1212)로부터 인증 키를 삭제하기 때문에, 보호된 코어(121)의 계산 유닛(1210)은 더 이상 어떤 재사용을 위해 이용 가능한 이러한 인증 키를 가지지 않는다. 이 경우, 보호된 코어(121)의 계산 유닛(1210)이 이전에 이미 사용한 키를 재사용하기를 바랄 때에는, 서버(3)에 의해 발생된 마지막 인증 키를 재요청한다. 그럴 경우 서버(3)는 이러한 인증 키를 안전한 채널을 사용하여 보낸다. RNVM 메모리(10)에 데이터를 저장하기 위해 이미 사용된 인증 키를 재사용할 때에는, 보호된 코어(121)의 계산 유닛(1210)이 도 3과 관련하여 설명된 방법의 단계 30과 단계 31을 구현하지 않는다. 서버(3)로부터 발생된 마지막 인증 키를 받은 후에는, 보호된 코어(121)의 계산 유닛(1210)이 단계 32부터 단계 36까지를 구현한다. 또한, 이들 구현예에서는 비록 RNVM 메모리(10)에서의 데이터 저장이 존재할 때마다 인증 키가 변경되지 않지만, 계속해서 리플레이 공격의 확률은 낮게 남아 있다.
일 구현예에서는, 인증 키가 보호된 코어(121)의 계산 유닛(1210)이 아니라 서버(3)에 의해 발생된다. 이를 행하기 위해, 보호된 코어(121)의 계산 유닛(1210)이 RNVM 메모리(10)에 데이터를 저장해야 할 때는 언제나, 서버(3)로부터 인증 키를 얻는 것을 목표로 하는 요청을 장비(1)가 보내게 한다. 또한 서버(3)는 RNVM 메모리(10)에 데이터를 저장할 때마다 새로운 인증 키를 발생시킬 수 없다. 그러므로 보호된 코어(121)는 인증 키를 발생시키는 것을 가능하게 하는 알고리즘을 가지지 않고, 이는 공격에 대항하여 안전을 강화한다. 또한, 보호된 코어(121)는 인증 키를 저장하지 않고, MAC 코드가 발생하는 순간에만 이용 가능한 인증 키를 가지고, 이는 보호된 코어(121)에서 인증 키를 복구하려는 임의의 시도를 방지한다.

Claims (13)

  1. 커뮤니케이션 네트워크(2)를 통해 서버(3)와 교신하기에 적합한 장비(1)에 포함된 전자 장치(121)에 의해 발생된 데이터를 검증하기 위한 방법으로서,
    상기 전자 장치(121)는 계산 유닛(1210), 비휘발성 1회 프로그램 가능한 메모리(1211), 및 휘발성 메모리(1212)를 포함하고, 상기 장비(1)는 다시 쓰기 가능한 비휘발성 메모리(10)와, 상기 다시 쓰기 가능한 비휘발성 메모리에 상기 전자 장치(121)가 데이터를 저장하는 것을 가능하게 하는 통신 버스(122)를 포함하며,
    상기 방법은 상기 전자 장치에 의해 구현되고,
    상기 장비(1)와 상기 서버(3) 사이의 암호화에 의해 안전한 채널을 생성하는 단계(21);
    상기 서버(3)로부터, 인증 키라고 부르는 메시지 인증 코드 키를 얻는 단계(22, 23);
    검증될 데이터와, 상기 데이터에 대응하는 메시지 인증 코드를 상기 다시 쓰기 가능한 비휘발성 메모리(10)로부터 상기 휘발성 메모리(1212)에 로드하는 단계(24)로서, 상기 메시지 인증 코드는 상기 다시 쓰기 가능한 비휘발성 메모리(10)에서의 메시지 인증 코드와 상기 데이터를 저장하기 전에 상기 인증 키와 상기 데이터로부터 상기 전자 장치(121)에 의해 얻어진 것이고, 상기 전자 장치는 상기 메시지 인증 코드가 발생할 때에만 이용 가능한 인증 키를 가지는, 상기 단계(24); 및
    비밀 키와 메시지 인증 코드를 사용하여 검증될 상기 데이터를 검증하고, 그러한 검증이 긍정적일 때 상기 데이터를 사용하는 단계(26)를 포함하는 것을 특징으로 하는, 데이터의 검증 방법.
  2. 제1 항에 있어서,
    상기 검증될 데이터와 메시지 인증 코드는 다시 쓰기 가능한 비휘발성 메모리(10)에 저장하기 전에 1회 프로그램 가능한 메모리에 저장된 제1 암호화 키를 사용하여 암호화되었고, 암호화된 검증될 데이터와 메시지 인증 코드를 휘발성 메모리(1212)에 로드한 다음, 그리고 암호화된 검증될 데이터와 메시지 인증 코드를 검증하기 전에 해독되는(25) 것을 특징으로 하는, 데이터의 검증 방법.
  3. 제1 항 또는 제2 항에 있어서,
    상기 검증될 데이터는 상기 장비(1)와 상기 서버(3) 사이의 안전한 채널이 생성될 수 있을 때에만 사용되는 것을 특징으로 하는, 데이터의 검증 방법.
  4. 제1 항 내지 제3 항 중 어느 한 항에 있어서,
    안전한 채널을 생성하기 위해 사용된 암호화는 1회 프로그램 가능한 메모리(1211)에 저장된 제2 암호화 키를 사용하는 것을 특징으로 하는, 데이터의 검증 방법.
  5. 제1 항 내지 제4 항 중 어느 한 항에 있어서,
    상기 인증 키는, 상기 서버(3)로부터 상기 인증 키를 얻는 요청을 상기 전자 장치(121)가 전송한 후, 상기 전자 장치(121)에 의해 얻어지는 것을 특징으로 하는, 데이터의 검증 방법.
  6. 제1 항 내지 제5 항 중 어느 한 항에 있어서,
    상기 인증 키는 상기 전자 장치에 의해 사전에 발생되었고(30), 상기 서버(3)에 전송된(31) 것을 특징으로 하는, 데이터의 검증 방법.
  7. 제1 항 내지 제5 항 중 어느 한 항에 있어서,
    상기 인증 키는 상기 서버(3)에 의해 사전에 발생되었고(3), 안전 정보를 발생시키기 위해 상기 전자 장치(1)에 전송된 것을 특징으로 하는, 데이터의 검증 방법.
  8. 제1 항 내지 제7 항 중 어느 한 항에 있어서,
    다시 쓰기 가능한 비휘발성 메모리(10)에 상기 전자 장치(121)에 의해 데이터가 저장될(34) 때에는 언제나, 또는 미리 정해진 규칙적인 시간 간격마다 또는 다시 쓰기 가능한 비휘발성 메모리(10)에 미리 정해진 개수의 데이터 저장 후 또는 임의로 결정된 순간에 상이한 새로운 인증 키가 발생되는 것을 특징으로 하는, 데이터의 검증 방법.
  9. 전자 장치(121)로서,
    제1 항 내지 제8 항 중 어느 한 항에 따른 방법을 구현하기 위한 수단을 포함하는 전자 장치.
  10. 장비(1)로서,
    제9 항에 따른 전자 장치(121)와 다시 쓰기 가능한 비휘발성 메모리를 포함하는 통신 네트워크(2)를 통해 서버(3)와 통신을 행할 수 있는 장비.
  11. 제10 항에 따른 장비(1)와 서버(3)를 포함하는 시스템으로서,
    상기 장비(1)는 통신 네트워크(2)를 통해 상기 서버(3)와 통신하기에 적합하게 되어 있는, 시스템.
  12. 컴퓨터 프로그램으로서,
    장치(121)에 의해, 상기 프로그램이 상기 장치(121)의 계산 유닛(1210)에 의해 실행될 때, 제1 항 내지 제8 항 중 어느 한 항에 따른 방법을 구현하기 위한 명령들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  13. 컴퓨터 프로그램을 저장하는 저장 수단(1211)으로서,
    장치(121)에 의해, 상기 프로그램이 상기 장치(121)의 계산 유닛(1210)에 의해 실행될 때, 제1 항 내지 제8 항 중 어느 한 항에 따른 방법을 구현하기 위한 명령들을 포함하는 것을 특징으로 하는 저장 수단.
KR1020170157643A 2016-11-23 2017-11-23 데이터의 검증 방법 KR102466866B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1661389A FR3059121B1 (fr) 2016-11-23 2016-11-23 Procede de verification de donnees
FR16/61389 2016-11-23

Publications (2)

Publication Number Publication Date
KR20180058210A true KR20180058210A (ko) 2018-05-31
KR102466866B1 KR102466866B1 (ko) 2022-11-14

Family

ID=58645122

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170157643A KR102466866B1 (ko) 2016-11-23 2017-11-23 데이터의 검증 방법

Country Status (6)

Country Link
US (1) US10404719B2 (ko)
EP (1) EP3327607B1 (ko)
KR (1) KR102466866B1 (ko)
CN (1) CN108270767B (ko)
FR (1) FR3059121B1 (ko)
TW (1) TWI729236B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200130539A (ko) * 2019-05-08 2020-11-19 삼성전자주식회사 강력한 보안 기능을 제공하는 스토리지 장치 및 그 스토리지 장치를 포함하는 전자 장치
CN113158212A (zh) * 2021-04-23 2021-07-23 深圳前海华兆新能源有限公司 基于区块链技术的分布式数据库安全认证方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6381696B1 (en) * 1998-09-22 2002-04-30 Proofspace, Inc. Method and system for transient key digital time stamps
US20050159885A1 (en) * 2004-01-20 2005-07-21 Xanavi Informatics Corporation Method for updating map data used in on-vehicle navigation apparatus, map data update system, authentication key generation apparatus and navigation apparatus
US20140006798A1 (en) * 2012-06-29 2014-01-02 Gyan Prakash Device, system, and method for processor-based data protection
WO2016014919A1 (en) * 2014-07-25 2016-01-28 Qualcomm Incorporated Integrated circuit for determining whether data stored in external nonvolative memory is valid

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000019299A1 (en) * 1998-09-25 2000-04-06 Hughes Electronics Corporation An apparatus for providing a secure processing environment
JP4290401B2 (ja) * 2002-09-18 2009-07-08 三菱電機株式会社 量子鍵配送方法および通信装置
CN1707450A (zh) * 2004-06-08 2005-12-14 侯方勇 保护存储设备中数据机密性与完整性的方法和装置
CN100566255C (zh) * 2007-02-01 2009-12-02 北京飞天诚信科技有限公司 提高智能密钥设备安全性的方法和系统
CN100581102C (zh) * 2007-05-31 2010-01-13 北京泛亚创知科技发展有限公司 一种无线传感器网络中数据安全传输的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6381696B1 (en) * 1998-09-22 2002-04-30 Proofspace, Inc. Method and system for transient key digital time stamps
US20050159885A1 (en) * 2004-01-20 2005-07-21 Xanavi Informatics Corporation Method for updating map data used in on-vehicle navigation apparatus, map data update system, authentication key generation apparatus and navigation apparatus
US20140006798A1 (en) * 2012-06-29 2014-01-02 Gyan Prakash Device, system, and method for processor-based data protection
WO2016014919A1 (en) * 2014-07-25 2016-01-28 Qualcomm Incorporated Integrated circuit for determining whether data stored in external nonvolative memory is valid

Also Published As

Publication number Publication date
EP3327607A1 (fr) 2018-05-30
EP3327607B1 (fr) 2019-10-16
TW201826160A (zh) 2018-07-16
CN108270767A (zh) 2018-07-10
CN108270767B (zh) 2022-03-29
US10404719B2 (en) 2019-09-03
FR3059121B1 (fr) 2019-05-10
FR3059121A1 (fr) 2018-05-25
TWI729236B (zh) 2021-06-01
KR102466866B1 (ko) 2022-11-14
US20180145992A1 (en) 2018-05-24

Similar Documents

Publication Publication Date Title
US11018847B2 (en) Device keys protection
US20210012008A1 (en) Method of initializing device and method of updating firmware of device having enhanced security function
CN103138939B (zh) 云存储模式下基于可信平台模块的密钥使用次数管理方法
KR20180093038A (ko) 신뢰 실행 환경을 갖는 모바일 디바이스
JP2004265026A (ja) アプリケーション認証システムと装置
US20180204004A1 (en) Authentication method and apparatus for reinforced software
US8788847B2 (en) Secure data processing method and associated device
EP3292654B1 (en) A security approach for storing credentials for offline use and copy-protected vault content in devices
JP6188633B2 (ja) コンピュータシステム、コンピュータ、半導体装置、情報処理方法およびコンピュータプログラム
KR102466866B1 (ko) 데이터의 검증 방법
WO2019142307A1 (ja) 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム
CN110445774B (zh) IoT设备的安全防护方法、装置及设备
KR102663133B1 (ko) 전자 장치의 무결성 검사
CZ2007205A3 (cs) Zpusob vytvárení autorizovaného elektronického podpisu oprávnené osoby a zarízení k provádení tohoto zpusobu
CN117063174A (zh) 用于通过基于app的身份的app间相互信任的安全模块及方法
KR101906484B1 (ko) 어플리케이션 보안 방법 및 이를 수행하기 위한 시스템
CN114024702A (zh) 信息安全保护的方法以及计算设备
CN116248280B (zh) 免密钥发行的安全模组防盗用方法、安全模组及装置
CN109951319B (zh) 备份加密机管理员锁的方法和加密机设备
CN117411714A (zh) 拟态防御网络设备的授权认证方法、装置、电子设备和存储介质
Tsague et al. Secure firmware updates for point of sale terminals
Bürki et al. IKEv2 Separation: Extraction of security critical components into a Trusted Computing Base (TCB)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant