KR102663133B1 - 전자 장치의 무결성 검사 - Google Patents

전자 장치의 무결성 검사 Download PDF

Info

Publication number
KR102663133B1
KR102663133B1 KR1020207021714A KR20207021714A KR102663133B1 KR 102663133 B1 KR102663133 B1 KR 102663133B1 KR 1020207021714 A KR1020207021714 A KR 1020207021714A KR 20207021714 A KR20207021714 A KR 20207021714A KR 102663133 B1 KR102663133 B1 KR 102663133B1
Authority
KR
South Korea
Prior art keywords
memory
secure element
contents
processor
storage means
Prior art date
Application number
KR1020207021714A
Other languages
English (en)
Other versions
KR20210005841A (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 KR20210005841A publication Critical patent/KR20210005841A/ko
Application granted granted Critical
Publication of KR102663133B1 publication Critical patent/KR102663133B1/ko

Links

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/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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/602Providing cryptographic facilities or services
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은 적어도 프로세서(MPU), 데이터를 저장하고 관리할 수 있고 전자 서명을 검증할 수 있게 의도된 공개 키가 로드되어 있는 보안 요소(SE), 및 그 컨텐츠가 미리 인증되어 있고 그 무결성이 공개 키에 의해 검증될 수 있는 데이터 저장 수단(MEM)을 포함하는 전자 장치(DE), 특히 결제 단말기의 무결성을 검사하는 방법에 관한 것으로, 이 방법의 무결성을 검사하는 명령은 다음의 연속적인 단계들: 장치의 프로세서(MPU)가 보안 요소(SE)를 호출하는 단계; 이에 응답하여, 보안 요소(SE)가 메모리의 완전한 컨텐츠를 수신할 목적으로 요청을 보내는 단계; 보안 요소는, 데이터 저장 수단(MEM)의 메모리로부터 수신한 컨텐츠에 대해, 공개 키(KP)를 사용하여, 그의 초기 인증 이래로 그 컨텐츠가 수정되지 않았다는 것을 확인하기 위한 진위 검사를 실행하는 단계; 진위 검사가 성공하면, 장치는 무결하다고 간주되는 단계;를 실행한다.

Description

전자 장치의 무결성 검사
본 발명은 전자 장치의 무결성 검사 분야에 관한 것이다.
본 발명은 더 상세하게는 전자 장치의 무결성을 검사하는 방법, 이 방법을 구현할 수 있는 전자 장치, 및 이 방법을 구현하는 전자 장치의 사용에 관한 것이다. 이하, 이 전자 장치는 간단히 "장치"라고 언급되기도 한다.
본 발명에서 사용되는 것과 같은 장치는 카드 결제 시스템일 수 있고, 이 예시와 이 응용은 다른 것들을 배제하지 않는다. "카드 결제 시스템"은 결제 단말기와 은행 결제 칩 카드의 기능적 조합을 의미한다.
알려진 방식에 의하면, 본 발명에서 사용되는 종류의 장치는 적어도 다음을 포함한다:
- 프로세서 (일반적으로 "마이크로 프로세서 유닛"을 MPU라 부름),
- 데이터를 저장하고 관리할 수 있으며, 전자 서명을 확인하도록 의도된 공개 키가 로드되어 있는 보안 요소(특히, 스마트 카드일 수 있음), 및
- 데이터 저장 수단(가령, 메모리).
또한, 저장 수단의 내용을 미리 인증할 수 있어서 상기 인증에 사용된 비밀 키에 대응하는 공개 키로 그의 무결성을 검증할 수 있는 것도 알려져 있다. 본 발명의 맥락에 있어서, 이 공개 키는 보안 요소의 메모리에 로드된 것일 수 있다.
본 발명의 맥락에 있어서, "무결성 검사"는, ISO 표준 No. 7498-2 이 제공하는 정의에 따라, 승인되지 않은 방식으로 데이터가 수정되거나 파괴되지 않았음을 검증하는 것을 말한다.
알려진 방식에 있어서, 사용자에게 제공되기 전 단계 동안에, 문제로 삼고 있는 장치를 제조하는 것 또는 생산 또는 서비스 측 공급자가 이를 구성하는 것이 될 수 있는 단계 동안에, 이의 구성 요소들은 특설, 정부 또는 사설 인증 기관에 의해 인증될 수 있다.
이후의 배치 단계 동안에, 장치가 항상 사용자에게 신뢰를 가지고, 즉 그의 무결성의 보존을 보장하고서 구현될 수 있는 것이 중요하다.
전자 문서 또는 정보의 무결성을 보장하는데 사용되는 그리고 저자를 인증하는데 사용되는 전자 서명은 이미 알려져 있다. 그러나, 전자 서명 메커니즘만으로는 서명에 제공된 프로그램이 요청하는 것을 정확히 하고 있다고 보장하지 않는다.
신용 카드 결제 시스템은 은행 카드 / 인증 서버 및 결제 단말기 / 인증 서버 시도-응답 메커니즘에 의해 인증을 수행하는 것과 함께, 결제 단말기가 사용하는 카드를 위해선 필요로 하는 비밀 키를 정말로 가지고 있는지에 대한 검증도 수행한다. 그러나, 사용자는 알 수가 없으므로, 그가 결제 단말기로 수행한 트랜잭션과 결제 단말기에 의해 실제 수행되는 트랜잭션 사이의 상관관계에 대한 확신이 없다. EMVCo® 그룹 및 유사한 조직들이 제공하는 인증은 위조 또는 복제된 결제 단말기들을 사용하는 쪽에서 방지하지 않는다.
종래기술은 US 6,830,840 및 US 5,721,781 문서들에도 설명된다.
US 6,839840 문서는 메모리 카드와 단말기가 그들 스스로를 인증할 수 있게 하고 여기서 모든 알고리즘적 계산들은 메모리 카드가 연결되는 단말기에서 수행되는 방법을 기술한다. 인증과 연관된 작업들은 적절한 트랜잭션이 시작되기 전에, 그리고 다음 트랜잭션의 시작시에 인증을 보여주면서 트랜잭션이 끝난 후에 수행된다.
US 5,721,781 문서는 휴대용 정보 장치 및 단말기 사이의 트랜잭션을 인증하는 방법을 기술하며, 휴대용 정보 장치는 장치에 고유한 장치에 관련된 인증서를 저장하고 단말기는 단말기의 종류에 관한 정보를 포함하는 단말기에 고유한 단말기와 관련된 인증서를 저장한다. 방법은 다음 단계들을 포함한다: 휴대용 정보 장치와 단말기 사이에서 트랜잭션 동안 단말기와 관련된 그리고 단말기와 관련된 인증서들을 교환하는 단계; 교환한 장치와 단말기와 관련된 인증서들을 사용하여 휴대용 정보 장치와 단말기들 서로가 인증하는 단계; 휴대용 정보 시스템 상에서 단말기로부터 수신한 단말기와 관련된 인증서에 담긴 단말기 종류 정보에 기초하여 단말기에 대한 보안 레벨을 결정하는 단계, 보안 레벨은 트랜잭션 동안 수행된 트랜잭션의 값을 위한 연관된 한계 값을 가지고; 및 트랜잭션의 값을 결정된 보안 레벨과 연관된 한계 값으로 제한하는 단계.
US 2002/023032 문서는 전자 시스템을 사용하여 금융 트랜잭션이 수행될 수 있게 하는 방법에 관한 것으로서, 금융 거래 단말기에 대한 무결성 계량을 획득하기 위하여 전자 보안 장치로 전자 거래 단말기에 문의하는 단계; 무결성 계량에 기초하여 거래 단말기가 신뢰하는 단말기인지 여부를 결정하는 단계; 거래 단말기가 신뢰하는 단말기로 확인되었을 경우 금융 거래 데이터가 거래 단말기로 입력될 수 있게 하는 단계로 구성된다. US 2002/023032 문서는 또한 금융 거래 시스템에 관한 것으로서 전자 금융 단말기; 전자 금융 거래 단말기를 위한 무결성 계량을 획득하기 위하여 전자 금융 거래 단말기에 문의하는 문의 수단, 무결성 계량에 기초하여 거래 단말기가 단말기인지 여부를 결정하는 결정 수단, 거래 단말기가 신뢰하는 단말기로 확인된 경우 금융 거래 데이터가 거래 단말기로 입력되는 것을 인가하는 수단을 갖는 전자 보안 장치를 포함한다. US 2002/023032 문서에 기술된 방법 및 시스템은 거래 단말기의 전체 메모리가 보안 요소에 의해 해싱되는 것을 방지하지 않는다. 그러나, 해싱하는데 하나의 인증서와 하나의 체크 섬만 제시하는 것은 이들이 변조된 것일 수 있다는 것을 의미한다. US 2002/023032 문서에 기술된 방법 및 시스템은 무결성 계량의 함수에 따라 보안 요소의 기능의 수준이 조절되는 것을 허용하지 않는다.
US 9,177,152 문서는 보안 요소에 의해 실행되도록 의도된 암호화된 프로그램 파일의 인증 및 복호하는 방법에 관한 것으로서, 프로그램 파일 및 프로그램 파일에 연관된 디지털 인증서를 외부 장치로부터 수신하는 단계로 구성된다. 방법은 프로그램 파일 및 연관된 인증서를 보안 요소에 위치하는 보안 RAM에 저장하고 해시를 획득하기 위해 프로그램 파일을 해싱한다. 방법은 해시를 인증서에 저장된 체크섬과 비교함으로써 프로그램 파일을 인증한다. 나아가, 방법은 인증서에 저장된 실행 구성 정보를 보안 요소에 대응하는 구성 레지스터에 기록하고; 방법은 또한 인증서에 저장된 시드 값과 보안 요소에 위치한 고유 식별자를 사용하여 암호화 키를 생성하고, 생성된 암화화 키를 사용하여 프로그램 파일을 해독한다. US 9,177,152 문서에 따른 방법은 보안 요소가 그의 랜덤 액세스 메모리에 저장될 수 없는 프로그램을 해싱하는 것을 허용하지 않는다. 또한, 이 문서는 다른 마이크로프로세서가 프로그램의 실행을 인증하는 것을 다루지 않는다.
US 2002/023032 및 US 9,177,152에 기술된 방법들 및 시스템들은 보안 요소에 이러한 체크 섬 또는 완전하지만 상대적으로 작은 컨텐츠를 제출하여, 그의 무결성을 검증한다.
정반대로, 본 발명의 사상에 있어서, 목표하는 것은 나머지 플랫폼들 상에서 수행되는 무결성 검사의 결과에 따라서 어느 기능이 이를 다룰 수 있는지를 결정하는 보안 요소이고, 이는 보안 요소가 나머지 마이크로프로세서들의 전체 메모리를 제어해야 한다는 것을 의미한다.
이러한 목표는 두 가지 장애에 직면한다. 한가지 측면은, 많은 양의 정보의 무결성을 안전하게 검사하는 것은 컨텐츠가 보안 요소에 의해 반드시 송신되고 해싱되어야 하고, 이는 무결성 검사 작업의 성능 병목 현상을 생성한다는 사실로 인해 저해된다. 다른 한 측면은, 다른 마이크로프로세서가 그의 메모리의 전체 컨텐츠를 전송하는 동안 계속 가동 중이라는 사실은 시스템을 손상시키려는 악의적인 제3자에 의한 있을 수 있는 수정을 가리기 위하여 즉각 전송되는 데이터가 수정되지 않았다는 것을 보장할 필요가 있다.
이러한 두 가지 장애들은 현재 존재하는 해결책들이 왜 이 방향으로 진행하지 않고, 대신 실행 전에, 또는 단순 무결성 체크 섬 및 연관된 인증서를 통해 컨텐츠를 검증하는지를 설명해 준다.
그러나, 본 발명이 제시하는 바와 같이, 이들 두 장애에 대해 해결책은 시스템에 고급 기능들을 추가하는 것을 가능하게 한다. 예를 들어, 관찰된 무결성의 수준에 따라서, 보안 요소는 서비스를 제공하거나 제공하지 않는 양자택일로 줄어들지 않고, 기능의 변화도를 사용한다는 사실이다.
그래서, 사용자가 트랜잭션 검증 장치의 무결성, 즉 스마트 카드 / 결제 단말 쌍 (이들 장치들의 이기종성을 고려)의 무결성을 제어할 수 있게 하는 일반적인 문제가 존재하고 상술한 두 장애들을 극복하는 특정 문제가 존재한다.
본 발명은 보안 요소를 통해 이들 문제들에 대한 해결책을 제공하는 것을 목표한다. 따라서, 후속하는 장치의 배치 단계에서, 이는 항상 사용자에 의해 신뢰를 가지고 구현될 수 있다.
이를 위하여, 사전 단계(제조 또는 구성)에서 사용되어온 공개 키 / 비밀 키 쌍이 후속하는 배치단계에서 구현된다. 그러므로 이들 두 단계는 상호의존적이다.
이하는 본 발명의 설명이다.
제1 측면에 따르면, 본 발명의 목적은 적어도 다음을 포함하는 전자 장치, 특히 카드 결제 시스템의 무결성을 검사하는 방법을 제공하는 것이다:
- 프로세서,
- 데이터를 저장하고 관리할 수 있으며, 전자 서명을 검증하도록 의도된 공개 키가 로드 되어 있는 보안 요소, 및
- 데이터를 저장하는 수단으로서, 그 컨텐츠는 이미 인증 받았고 그 무결성은 공개 키를 사용해 검증될 수 있는, 데이터 저장 수단.
그리고 무결성 제어 명령은 다음 단계들의 실행을 불러온다:
- 보안 요소는, 프로세서를 통해 그리고 데이터 저장 수단의 메모리로부터 수신한 컨텐츠 상에서, 공개 키를 이용해, 최초 인증 절차를 밟은 이래로 그 컨텐츠가 수정되지 않았는지를 검증하기 위하여, 인증 검사를 수행하고,
- 인증 검사가 성공하면, 장치는 무결하다고 간주된다.
본 방법은 무결성 제어 명령이 다음의 연속적인 단계들의 실행을 수반하는 것이다:
- 장치의 프로세서는 보안 요소를 호출하고,
- 그에 응답하여, 보안 요소는 프로세서를 통해, 데이터 저장 수단에 의하여, 그 메모리의 전체 컨텐츠를 수신하기 위한 요청을 송신하고,
- 그리고 보안 요소는 상기 인증 검사를 수행한다.
일 실시예에 따르면, 장치가 무결하다고 간주되면, 상기 장치는 자신에게 주어진 명목상의 행동 규범에 따라 작동할 수 있고,
일 실시예에 따르면, 인증 검사가 성공하지 못하면, 장치는 검증 절차의 실패를 고려하여, 적절한 모드로 작동하도록 프로그램된다.
일 실시예에 따르면, 방법은, 무결성 제어 명령을 장치에 송신할 때마다 실행되는 단계들에 더해서, 전자 장치가 그 동안 구성되는 예비 단계를 포함하고, 여기서 데이터 저장 수단의 메모리의 초기 컨텐츠는 디지털 인증 수단, 예를 들어, 특히 보안 요소에 로드 된 공개 키에 대응하는 비밀 키를 사용하는 전자 서명 시스템을 사용하여 검증된다. 특히, 전자 장치의 예비 제조 또는 구성 단계 동안에 최초로 생성된 전자 서명은 데이터 저장 수단이나 보안 요소의 메모리에 로드 된다.
일 실시예에 따르면, 무결성 제어 명령은 장치가 시작할 때, 또는 그 사용자가 그 무결성의 검사를 요청할 때 수행된다.
일 실시예에 따르면, 무결성 제어 단계들을 적어도 한 번, 그러나 결정된 횟수만큼 실행한 결과 그 초기 상태에 비해서 메모리의 무결성의 확정이 되지 않은 후에, 메모리의 컨텐츠 상에서의 인증 검사의 실패는 다음 중 하나 이상의 저하된 작동 모드들의 사용을 가져온다:
- 사용자에게 무결성 검사의 실패를 알림,
- 보안 요소에 로드된 데이터로의 접근을 차단함,
- 전자 장치로의 접근을 차단함,
- 전자 장치에 저장된 데이터의 전체 또는 일부 및 이를 포함하는 요소들을 삭제함.
일 실시예에 따르면, 보안 요소는 보안 요소가 메모리의 전체 컨텐츠를 인증되도록 복구하기 위해 필요한 최대 시간보다 짧은 시간 간격(T)을 자신의 메모리 안에 가지고, 장치로 송신되는 각각의 무결성 제어 명령은 다음의 일련의 단계들이 실행되게 한다:
- 보안 요소는, 프로세서를 통해, 데이터 저장 수단에 그 메모리에서 추출한 하나 이상의 데이터 시퀀스를 보내달라는 호출을 송신하고,
- 보안 요소는, 프로세서를 통해, 호출을 보내고 요청한 시퀀스 또는 시퀀스들을 받기까지 경과한 시간을 식별하고, 이를 기준 시간 간격(T)과 비교하고,
- 경과한 시간이 시간(T)보다 긴 경우, 보안 요소는 데이터 저장 수단의 메모리 컨텐츠의 인증을 거부하고 무결성 제어 절차의 이후 단계들의 실행을 중단(interrupt)한다.
일 실시예에 따르면, 보안 요소가 요청을 보내고 시퀀스 또는 시퀀스들을 수신하기 까지 경과한 시간이 시간 간격(T)보다 짧으면, 보안 요소는 입증해야 하는 메모리의 컨텐츠의 진위성과 관련하여 수신한 시퀀스의 무결성을 검증하면서 무결성 제어 단계들을 수행한다.
일 실시예에 따르면, 프로세서의 기능은 마이크로컨트롤러에 의해 처리된다.
제2 측면에 따르면, 본 발명은 전자 장치, 특히 결제 단말기에 관한 것으로서 적어도 다음을 포함하고,
- 프로세서,
- 데이터를 저장하고 관리할 수 있으며, 전자 서명을 검증하도록 의도된 공개 키가 로드되어 있는 보안 요소(이는 특히 스마트 카드일 수 있음), 및
- 데이터를 저장하는 수단으로서, 그의 컨텐츠는 미리 인증을 받았고 그의 무결성은 공개 키를 사용해 검증될 수 있는, 데이터 저장 수단,
앞서 설명한 무결성 제어 방법을 구현할 수 있고 구현하도록 의도되었으며, 여기서 무결성 제어 명령은 다음의 연속하는 단계들의 실행을 수반한다:
- 프로세서는 보안 요소를 호출하고,
- 이에 응답하여, 보안 요소는, 프로세서를 통해, 데이터 저장소에 의하여, 그의 메모리의 전체 컨텐츠를 수신하겠다는 요청을 송신하고,
- 그리고 보안 요소는, 프로세서를 통해 그리고 데이터 저장 수단의 메모리로부터 수신한 컨텐츠 상에서, 공개 키를 사용하여, 그 컨텐츠가 초기 인증 절차를 밟은 이래로 수정되지 않았는지를 확인하기 위하여 인증 검사를 수행하고,
- 인증 검사가 성공하면, 장치는 무결한 것으로 간주된다.
보다 일반적으로, 장치는 다른 단계들 및/또는 위에 기술한 방법의 특징들을 구현한다.
일 실시예에 따르면, 장치는 마이크로컨트롤러를 포함하고 그의 메모리는 데이터 저장 수단의 전체 또는 일부를 포함하고 그의 프로세서는 프로세서의 기능을 수행한다.
경우에 따라서, 장치는 다음의 추가적인 수단 중 하나 및/또는 다른 하나도 포함한다.
- 사람/기계 인터페이스, 특히 키보드나 스크린,
- 외부 디지털 장치들, 특히 컴퓨터, 통신 네트워크 또는 원격 서버와 통신하는 인터페이스.
제3 측면에 따르면, 본 발명은 그러한 무결성 제어 방법을 구현하는 그러한 전자 장치의 용도에 관한 것이다.
이들 용도는 장치 자체에 저장되거나 또는 원격으로 통신 네트워크를 통해 액세스가능한 데이터의 인증, 암호화 및 보안 원격 교환, 또는 심지어 트랜잭션, 특히 금융 트랜잭션의 실행이다.
도면의 그림들은 이제 간략히 설명된다.
도 1은 본 발명에 따른 전자 장치를 도시한 도면이다.
도 2는 문제가 되는 장치를 제조하거나 설정하는 예비 단계를 도시한 도면이다.
도 3은 문제가 되는 장치의 무결성 제어 방법의 배치하는 시기의 단계들을 도시한 순서도이다.
본 발명은 전자 장치(DE)의 무결성을 검사하는 방법에 관한 것이다. 지시한 바와 같이, 전자 장치(DE)는 간단히 "장치"라고 언급되기도 할 것이다. 또한 상기 무결성 제어 절차를 구현할 수 있고 구현하도록 의도된 전자 장치(DE)에 관한 것이다.
또한 무결성 제어 방법을 구현하는 전자 장치(DE)의 용도에 관한 것이다.
"카드 결제 시스템"은 결제 단말기와 은행 결제 칩 카드의 기능적 조합을 말한다.
그러나, 이 예시 및 이 응용은 다른 것을 배제하지 않는다.
주지의 방식에 있어서, 이 종류의 장치는 적어도 다음을 포함한다:
- 프로세서(MPU),
- 데이터를 저장하고 관리할 수 있으며 전자 서명을 검증하도록 의도된 공개 키(KP)가 로드되어 있는 보안 요소(SE), 및
- 데이터를 저장하는 수단으로서, 그의 컨텐츠는 이미 인증을 받았고 그의 무결성은 공개 키(KP)를 사용하여 검증될 수 있다. 이 데이터 저장 수단(MEM)은 마이크로컨트롤러의 내부 메모리의 전체 또는 일부를 포함한다.
장치(DE)는 또한 사람/기계 인터페이스, 특히 키보드 또는 스크린을 포함할 수 있다. 이는 또한 외부 디지털 장치들, 특히 컴퓨터, 통신 네트워크 또는 원격 서버와의 통신 인터페이스를 포함할 수 있다.
장치(DE)는, 각 측면이 수 센티미터인, 납작하고 매우 두껍지 않은 박스의 형태를 취할 수 있고, 그렇지 않으면 USB 막대의 형태를 취할 수 있다.
이러한 장치(DE)는, 무결성 제어 방법의 구현을 통해, 보안 기능, 가령, 특히 장치(DE) 자체에 저장된 데이터, 또는 통신 네트워크를 통해 액세스 가능하다면 원격으로 데이터의 인증, 암호화 및 보안 원격 교환과 같은 보안 기능을 위해 사용될 수 있다. 장치(DE)는 그러므로 독립적으로 구현되거나 또는 다른 전자 수단과 함께 통신하여 구현될 수 있다. 장치(DE)의 통상적인 용도는 안전한 방식으로 트랜잭션의 실행, 특히 암호통화에 대한 것을 포함하는 금융 거래의 실행이다.
본 발명의 맥락에 있어서, "무결성 검사"는, ISO 표준 No. 7498-2에서 제시하는 정의에 따른, 데이터가 승인되지 않은 방식으로 수정되거나 파괴되지 않았음을 검증하는 것을 말한다.
장치(DE)의 사전 제조 또는 구성 단계(FAB) 동안, 그의 구성 요소들은 특설, 정부 또는 사설 기관에 의해 인증된다. 이렇게 하여, 장치(DE)는 이 초기 인증 절차 덕분에, 방법의 구현을 위해 구성된다.
본 발명의 무결성 제어 방법은 후속 배치 단계(USE)에서 구현된다.
이제 본 발명의 몇 가지 가능한 실시예들을 설명한다.
이제 도 2를 참조하여, 장치(DE)의 사전 제조 또는 구성 단계(FAB)를 보다 상세하게 설명해줄 것이다. 이 단계는 장치(DE)의 물리적 제조와 동시에, 또는 어쩌면 이후에, 그러나 후속 배치 단계(USE) 전에 일어난다. 생산 전 또는 구성 단계(FAB)에서 배치 단계(USE)로의 이행은 불가역적이다. 상기 전자 장치의 사전 구성 단계 동안, 데이터 저장 수단(MEM)의 메모리의 초기 컨텐츠(CO)는 디지털 인증 수단을 사용하여, 가령, 특히, 보안 요소(SE)에 로드된 공개 키(KP)에 대응하는 비밀 키(Kd)를 사용하는 전자 서명 시스템과 같은 디지털 인증 수단을 사용하여 검증된다. 경우에 따라서, 전자 서명(SIGN)은 (도 3에 도시된 바와 같은) 데이터 저장 수단(MEM) 또는 보안 요소(SE)의 메모리에 로드된다.
이제 후속 배치 단계(USE) 동안 전자 장치(DE)의 무결성을 검사하는 방법은 도 3을 참조하여 보다 상세히 설명될 것이다. 이 무결성 제어 방법은 무결성 제어 명령(A)이 아래 설명되는 연속적인 단계들 및 작동들(각 단계는 단계를 식별하는 기재와 함께, 화살표로 도 3에 도시됨)의 실행으로 이어지게 되는 것이다.
먼저, 장치의 프로세서(MPU)는 보안 요소(SE)를 호출한다(화살표 B).
이에 응답하여, 보안 요소(SE)는, 프로세서(MPU)를 통해(화살표 C), 데이터 저장소(MEM)에 의하여, 그 메모리의 전체 컨텐츠를 수신하기(화살표 E) 위한 요청을 송신한다(화살표 D).
본 발명은 시스템에 다양한 마이크로프로세서들의 메모리들을 손상시키지 않고 완전한 제어를 제공하는 장점을 갖는다.
보안 요소는 디스플레이 및 사용자 상호작용 작업들을 프로세서(MPU)에 위임해야 하고, 이를 위해서 프로세서(MPU) 상에서 실행되는 검증된 코드를 필요한다. 결과적으로, 프로세서(MPU)는 보안 요소(SE)에 의해 디스플레이된 정보 및 실제 조작된 정보 사이의 불일치를 사용자가 겪는 것을 회피하기 위하여 무결한 코드를 실행해야만 한다.
보안 요소(SE)와 협력하는 프로세서(MPU)의 전체 메모리가 제어되고, 완전한 보안이 제공된다는 사실로 인해, 프로세서(MPU)는 무결성이 아닌 절차를 작동하도록 기동할 여지가 없고, 보안 요소(SE)의 기능 수준이 적응된다.
보안 요소(SE)는 예를 들어, 다음과 같은 종합적인 보안 수준을 사용하는 것을 결정할 수 있다:
전: 프로세서(MPU)의 메모리는 무결한 것으로 인지되고 위조된 프로세서(MPU)를 검출하도록 설계된 대책들은 음성 결과를 리턴한다.
일부 (인증 기능만): 프로세서(MPU)의 메모리는 무결한 것으로 인지되나, 위조된 프로세서(MPU)를 검출하도록 설계된 특정 대책들은 양성 결과를 리턴하고, 보안 요소(SE)는 사용자 비밀을 통한 컨텐츠 인증을 위한 요청만 받아들이고, 모든 다른 요청은 거절한다.
널: 프로세서(MPU)의 메모리는 무결하다고 인지되지 않는다. 이 경우에, 보안 요소(SE)는 사용자의 비밀을 호출하는 어떤 요청도 응하지 않고, 그럼에도 다른 암호 작업의 실행(외부 비밀 불러오기, 그와 같은 것의 조작)은 인가된다. 이 경우에, 그리고 선택적으로, 보안 요소(SE)는 추가적인 기밀성을 위해 사용자의 비밀을 삭제하도록 결정할 수 있다.
이 보안 수준들로부터, 보안 요소(SE)는 이에 요청을 제출하는 시스템에 의해서 제어될 뿐만 아니라, 이들에 기초하여, 시스템으로 자신의 요청에 대한 응답 및 전달할 수 있는 기능 수준을 결정할 수 있는 것으로 보인다.
그리고, 보안 요소(SE)는 그 컨텐츠가 초기 인증 받은 이래로 변경되지 않았다는 것을 공개 키(KP)로 검증하기 위하여, 데이터 저장 수단(MEM)의 메모리로부터 수신한(화살표 F) 컨텐츠 상에서, 인증 검사(화살표 G)를 수행한다.
인증 검사가 성공하면, 장치(DE)는 무결하다고 간주된다.
경우에 따라서 그리고 장치(DE)의 구성 요소들의 능력에 따라서, 화살표 C, D, E 및 F에 대응하는 단계들 및 작업들은 데이터 저장 수단(MEM)의 메모리의 전체 컨텐츠에 관계하거나, 또는 상기 컨텐츠의 일부에 관계하고, 이 경우에 화살표 C, D, E 및 F에 대응하는 단계들 및 작업들은 보안 요소(SE)가 전체 컨텐츠를 수신할 때까지 반복되고, 그리고 이는 무결성 검사(화살표 G)를 실행할 수 있다.
경우에 따라서, 무결성 제어 명령(A)은 장치(DE)가 시작될 때, 또는 사용자가 무결성 검사를 요청할 때 실행된다.
장치(DE)가 무결하다고 간주되면, 장치는 자신에게 주어진 명목상 행동에 따라 작동할 수 있다.
반면에, 인증 검사가 실패하면, 장치(DE)는 인증 절차의 실패를 고려한 적절한 모드로 동작하도록 프로그래밍된다. 적절한 모드는, 예를 들어, 사용자 측에 장치(DE)의 이행을 계속할지, 아니면 이를 계속하지 말지에 대한 긍정적인 조치를 요구하는 사용자 경보 프로세스를 포함할 수 있다.
일 실시예에서, 적어도 한번의 또는 결정된 횟수의 무결성 제어 단계들의 실행한 결과 초기 상태에 대한 데이터 저장 수단(MEM)의 메모리의 무결성이 확정되지 않은 후에, 데이터 저장 수단(MEM)의 메모리의 컨텐츠 상의 인증 검사의 실패는 다음의 저하된 작동 모드들 중 하나 이상의 사용을 초래한다:
- 사용자는 무결성 검사의 실패를 통보 받음,
- 보안 요소(SE)에 로드된 데이터로의 접근이 차단됨,
- 장치(DE)로의 접근이 차단됨,
- 장치(DE)에 저장된 데이터의 전부 또는 일부 및 이를 포함하는 요소들을 삭제.
일 실시예에 있어서(도 3 참조), 보안 요소(SE)는 화살표 C, D, E 및 F에 대응하는 연속하는 단계들의 실행에 필요한 최대 시간보다 짧게 구성된 기준 시간 간격(T)을 가용할 수 있는 메모리에 갖도록 제공되고, 여기서 장치(DE)로 송신되는 각 무결성 제어 명령은 다음의 연이은 단계들의 실행을 수반한다:
- 보안 요소(SE)는, 프로세서(MPU)를 통해, 데이터 저장 수단(MEM)에, 그의 메모리로부터 추출된 하나 이상의 데이터 시퀀스를 송신하도록 하는 요청을 송신하고,
- 보안 요소(SE)는 요청을 보내고, 프로세서(MPU)를 통해 요청된 시퀀스 또는 시퀀스들을 수신하기까지의 시간을 측정하고, 이를 기준 시간 간격(T)과 비교하고,
경과한 시간이 시간(T)보다 긴 경우, 보안 요소는 데이터 저장 수단의 메모리의 컨텐츠를 인증하는 것을 거부하고 무결성 제어 절차의 이후 단계들의 실행을 중단한다.
보안 요소(SE)가 요청을 송신하고 요청한 시퀀스 또는 시퀀스들을 수신하기까지 경과한 시간이 시간 간격(T)보다 짧으면, 보안 요소(SE)는, 입증해야 하는 메모리 컨텐츠의 진위성과 관련하여 수신된 시퀀스의 무결성을 검증하면서 무결성 제어 절차의 단계들을 실행한다.

Claims (15)

  1. 전자 장치의 무결성을 검사하는 방법으로서,
    상기 전자 장치는:
    - 데이터를 저장 및 관리할 수 있고 전자 서명을 검증하기 위한 공개 키가 로드되어 있는, 보안 요소,
    - 상기 보안 요소와 협력하도록 구성된 프로세서, 및
    - 메모리를 포함하는 데이터 저장 수단을 포함하고, 상기 메모리의 모든 컨텐츠는 이미 인증을 받았고 그의 무결성은 상기 공개 키를 사용해 검증될 수 있고, 상기 메모리는 상기 프로세서에 의해 실행될 수 있는 코드를 포함하며,
    상기 장치가 시작할 때 상기 프로세서로부터의 호출에 응답하여, 상기 보안 요소는, 상기 공개 키를 사용하여, 상기 메모리의 컨텐츠가 초기 인증을 받은 이래로 수정되지 않았는지를 확인하기 위해, 상기 프로세서를 통해 수신한 상기 데이터 저장 수단의 메모리의 모든 컨텐츠 상에서, 상기 메모리의 모든 컨텐츠에 대한 인증 검사를 수행하고,
    상기 인증 검사가 성공하면, 상기 보안 요소는 상기 장치를 무결하다고 간주하고,
    상기 보안 요소는, 상기 보안 요소가 상기 프로세서를 통해서 인증하고자 하는 상기 메모리의 모든 컨텐츠를 복원하는데 필요한 최대 시간보다 짧게 구성된 기준 시간 간격 T을 저장하고,
    상기 메모리의 모든 컨텐츠에 대한 상기 인증 검사는 상기 보안 요소에 의해 수행되고 상기 메모리의 모든 컨텐츠를 수신할 때가지 반복되는 다음의 연속하는 단계들:
    - 상기 프로세서를 통해서, 메모리로부터 추출한 하나 이상의 데이터 시퀀스를 보내달라는 요청을 데이터 저장 수단에 송신하는 단계,
    - 상기 요청을 송신하고 요청한 시퀀스 또는 시퀀스들을 수신하기까지 경과한 시간을 측정하고, 이를 상기 기준 시간 간격 T와 비교하는 단계, 및
    - 상기 경과한 시간이 시간 T보다 긴 경우, 상기 데이터 저장 수단의 메모리의 컨텐츠를 인증하는 것을 거부하고 상기 인증 검사의 이후의 단계들의 실행을 중단하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 보안 요소는,
    상기 보안 요소가 상기 장치를 무결하다고 간주하면, 제1 작동 모드에 따라 작동하고,
    상기 인증 검사가 실패하면, 검증 절차의 실패를 고려한 제2 작동 모드로 작동하도록 구성되는, 방법.
  3. 제1항에 있어서,
    상기 방법은 상기 전자 장치를 구성하는 예비 단계를 포함하고,
    상기 예비 단계에서 상기 데이터 저장 수단의 메모리의 초기 컨텐츠는 상기 보안 요소에 로드된 공개 키에 대응하는 비밀 키를 사용하는 전자 서명 시스템을 사용하여 검증되는, 방법.
  4. 제3항에 있어서,
    상기 전자 장치를 구성하는 예비 단계 동안 최초로 생산되는 전자 서명은, 상기 데이터 저장 수단에, 또는 상기 보안 요소의 메모리에 로드되는, 방법.
  5. 제1항에 있어서,
    상기 인증 검사는 상기 장치가 시작될 때, 또는 사용자로부터 무결성 검사를 위한 요청을 수신했을 때 수행되는, 방법.
  6. 제1항에 있어서,
    상기 메모리의 모든 컨텐츠 상에서의 상기 인증 검사의 실패는 다음의 저하된 작동 모드들:
    - 사용자에게 무결성 검사의 실패를 알림,
    - 상기 보안 요소 상에 로드된 데이터로의 접근을 차단,
    - 상기 전자 장치로의 접근을 차단,
    - 상기 전자 장치에 저장된 데이터의 전부 또는 일부, 및 이를 포함하는 요소를 삭제,
    중 하나 이상의 사용으로 이어지는, 방법.
  7. 제1항에 있어서,
    상기 보안 요소가 상기 메모리로부터 추출한 하나 이상의 데이터 시퀀스를 보내달라는 요청을 송신하고 그 요청한 시퀀스 또는 시퀀스들을 수신하기까지 경과한 시간이 시간 간격 T보다 짧으면, 상기 보안 요소는, 입증해야 하는 메모리의 컨텐츠의 진위성과 관련하여 수신된 시퀀스 또는 시퀀스들의 무결성을 검증하는, 방법.
  8. 제1항에 있어서,
    상기 프로세서는 마이크로컨트롤러이고 상기 데이터 저장 수단의 메모리는 상기 마이크로컨트롤러의 메모리인, 방법.
  9. 제1항에 있어서,
    상기 전자 장치는 각 측면이 수 센티미터인, 납작한 박스의 형태를 취하고, 암호통화를 수반하는 금융 거래의 실행을 위해 구성되는, 방법.
  10. 전자 장치로서:
    - 데이터를 저장 및 관리할 수 있고 전자 서명을 검증하기 위한 공개 키가 로드되어 있는 보안 요소,
    - 상기 보안 요소와 협력하도록 구성된 프로세서, 및
    - 메모리를 포함하는 데이터 저장 수단을 포함하고, 상기 메모리의 모든 컨텐츠는 이미 인증을 받았고 그의 무결성은 상기 공개 키를 사용해 검증될 수 있고, 상기 메모리는 상기 프로세서에 의해 실행될 수 있는 코드를 포함하고,
    상기 보안 요소는, 상기 장치가 시작할 때 상기 프로세서로부터의 호출에 응답하여, 상기 공개 키를 사용하여, 상기 메모리의 컨텐츠가 초기 인증을 받은 이래로 수정되지 않았는지를 확인하기 위해, 상기 프로세서를 통해 수신한 상기 데이터 저장 수단의 메모리의 모든 컨텐츠 상에서, 상기 메모리의 모든 컨텐츠에 대한 인증 검사를 수행하도록 구성되고,
    상기 인증 검사가 성공하면, 상기 보안 요소는 상기 장치를 무결하다고 간주하고,
    상기 보안 요소는, 상기 보안 요소가 상기 프로세서를 통해서 인증하고자 하는 상기 메모리의 모든 컨텐츠를 복원하는데 필요한 최대 시간보다 짧게 구성된 기준 시간 간격 T을 저장하고,
    상기 메모리의 모든 컨텐츠에 대한 상기 인증 검사는 상기 보안 요소에 의해 수행되고 상기 메모리의 모든 컨텐츠를 수신할 때까지 반복되는 다음의 연속하는 단계들:
    - 상기 프로세서를 통해서, 메모리로부터 추출한 하나 이상의 데이터 시퀀스를 보내달라는 요청을 데이터 저장 수단에 송신하는 단계,
    - 상기 요청을 송신하고 요청한 시퀀스 또는 시퀀스들을 수신하기까지 경과한 시간을 측정하고, 이를 상기 기준 시간 간격 T와 비교하는 단계, 및
    - 상기 경과한 시간이 시간 T보다 긴 경우, 상기 데이터 저장 수단의 메모리의 컨텐츠를 인증하는 것을 거부하고 상기 인증 검사의 이후의 단계들의 실행을 중단하는 단계를 포함하는, 전자 장치.
  11. 제10항에 있어서,
    상기 프로세서는 마이크로컨트롤러이고, 상기 데이터 저장 수단의 메모리는 상기 마이크로컨트롤러의 메모리인, 전자 장치.
  12. 제10항에 있어서,
    상기 전자 장치는 각 측면이 수 센티미터인, 납작한 박스의 형태를 취하고, 암호통화를 수반하는 금융 거래의 실행을 위해 구성되는, 전자 장치.
  13. 제10항에 있어서,
    상기 전자 장치는, 다음의 보완적 수단:
    - 인간/기계 인터페이스, 특히 키보드 또는 스크린,
    - 외부 디지털 장치, 특히 컴퓨터, 통신 네트워크 또는 원격 서버와의 통신 인터페이스 중 하나 이상을 포함하는 것을 특징으로 하는, 전자 장치.
  14. 삭제
  15. 삭제
KR1020207021714A 2017-12-26 2018-12-21 전자 장치의 무결성 검사 KR102663133B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1771431 2017-12-26
FR1771431A FR3076014B1 (fr) 2017-12-26 2017-12-26 Controle d'integrite d'un dispositif electronique
PCT/FR2018/000270 WO2019129937A1 (fr) 2017-12-26 2018-12-21 Contrôle d'intégrité d'un dispositif électronique

Publications (2)

Publication Number Publication Date
KR20210005841A KR20210005841A (ko) 2021-01-15
KR102663133B1 true KR102663133B1 (ko) 2024-05-03

Family

ID=62143310

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207021714A KR102663133B1 (ko) 2017-12-26 2018-12-21 전자 장치의 무결성 검사

Country Status (9)

Country Link
US (1) US11693991B2 (ko)
EP (1) EP3732604A1 (ko)
JP (1) JP7296390B2 (ko)
KR (1) KR102663133B1 (ko)
AU (1) AU2018398972B2 (ko)
CA (1) CA3086863A1 (ko)
FR (1) FR3076014B1 (ko)
SG (1) SG11202006149YA (ko)
WO (1) WO2019129937A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3105484B1 (fr) * 2019-12-19 2021-12-10 Commissariat Energie Atomique Méthode de vérification dynamique de l’intégrité d’un code machine
EP4145325A1 (en) 2021-09-06 2023-03-08 ID Secure Spolka Z Ograniczona Opdowiedzialnoscia Cryptographic device, method of performing cryptographic operation, and computer program product

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020023032A1 (en) * 2000-08-18 2002-02-21 Hewlett-Packard Company Trusted system
US20120079287A1 (en) 2010-03-26 2012-03-29 Maxlinear, Inc. Firmware Authentication and Deciphering for Secure TV Receiver
US20140278882A1 (en) 2012-09-18 2014-09-18 Cheer Berry Limited Method and system for implementing electronic promotional offers

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721781A (en) 1995-09-13 1998-02-24 Microsoft Corporation Authentication system and method for smart card transactions
FR2786013B1 (fr) 1998-11-12 2001-01-19 Gemplus Card Int Procede d'authentification entre une carte a memoire et un terminal
WO2000065678A1 (fr) 1999-04-26 2000-11-02 Matsushita Electric Industrial Co., Ltd. Procede de fonctionnement d'une pile a combustible electrolytique a polymere
JP2008176435A (ja) 2007-01-17 2008-07-31 Hitachi Ltd 決済端末およびicカード
JP6181493B2 (ja) 2013-09-20 2017-08-16 国立大学法人名古屋大学 書換検出システム、書換検出装置及び情報処理装置
JP6464816B2 (ja) 2015-02-27 2019-02-06 オムロン株式会社 決済端末
KR20160142809A (ko) * 2016-11-30 2016-12-13 주식회사 비즈모델라인 결제 처리 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020023032A1 (en) * 2000-08-18 2002-02-21 Hewlett-Packard Company Trusted system
US20120079287A1 (en) 2010-03-26 2012-03-29 Maxlinear, Inc. Firmware Authentication and Deciphering for Secure TV Receiver
US20140278882A1 (en) 2012-09-18 2014-09-18 Cheer Berry Limited Method and system for implementing electronic promotional offers

Also Published As

Publication number Publication date
AU2018398972B2 (en) 2024-05-02
FR3076014B1 (fr) 2020-09-25
JP2021508892A (ja) 2021-03-11
SG11202006149YA (en) 2020-07-29
EP3732604A1 (fr) 2020-11-04
US20200342141A1 (en) 2020-10-29
AU2018398972A1 (en) 2020-08-06
US11693991B2 (en) 2023-07-04
CA3086863A1 (fr) 2019-07-04
WO2019129937A1 (fr) 2019-07-04
FR3076014A1 (fr) 2019-06-28
CN112020718A (zh) 2020-12-01
JP7296390B2 (ja) 2023-06-22
KR20210005841A (ko) 2021-01-15

Similar Documents

Publication Publication Date Title
US10839391B2 (en) Method and apparatus for secure offline payment
KR100806477B1 (ko) 리모트 액세스 시스템, 게이트웨이, 클라이언트 기기,프로그램 및 기억 매체
US20190050598A1 (en) Secure data storage
US10650139B2 (en) Securing temporal digital communications via authentication and validation for wireless user and access devices with securitized containers
US8332930B2 (en) Secure use of user secrets on a computing platform
CN111431707B (zh) 业务数据信息处理方法、装置、设备以及可读存储介质
CA3058240A1 (en) Cryptographic key management based on identity information
US20120233456A1 (en) Method for securely interacting with a security element
KR102011763B1 (ko) 보안 터널 기반 인증 방법 및 장치
US11997210B2 (en) Protection of online applications and webpages using a blockchain
KR102663133B1 (ko) 전자 장치의 무결성 검사
KR102466866B1 (ko) 데이터의 검증 방법
CN117063174A (zh) 用于通过基于app的身份的app间相互信任的安全模块及方法
US11481759B2 (en) Method and system for implementing a virtual smart card service
CN112020718B (zh) 电子装置的完整性检查
KR20190017370A (ko) 해시체인 기반의 일회용 패스워드를 이용한 사용자 인증 방법 및 장치
KR20080013837A (ko) 웹서버 상호 인증을 위한 스마트카드 및 리더기
KR20230089559A (ko) 블록체인 기반 fido 인증 방법 및 이를 이용한 시스템
Polon Attestation-based remote biometric authentication

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