KR20220146422A - 보안 관련 프로세스의 안전한 실행 방법 - Google Patents

보안 관련 프로세스의 안전한 실행 방법 Download PDF

Info

Publication number
KR20220146422A
KR20220146422A KR1020227024766A KR20227024766A KR20220146422A KR 20220146422 A KR20220146422 A KR 20220146422A KR 1020227024766 A KR1020227024766 A KR 1020227024766A KR 20227024766 A KR20227024766 A KR 20227024766A KR 20220146422 A KR20220146422 A KR 20220146422A
Authority
KR
South Korea
Prior art keywords
memory
security
charge pump
row
computer
Prior art date
Application number
KR1020227024766A
Other languages
English (en)
Inventor
모운디 필리페 로베트
다빗 나우라
쟝 로크 쿨롱
Original Assignee
탈레스 Dis 프랑스 Sas
탈레스 Dis 디자인 서비스시스 Sas
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 탈레스 Dis 프랑스 Sas, 탈레스 Dis 디자인 서비스시스 Sas filed Critical 탈레스 Dis 프랑스 Sas
Publication of KR20220146422A publication Critical patent/KR20220146422A/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/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/75Protecting 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 by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting 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 by inhibiting the analysis of circuitry or operation with measures against power attack
    • 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
    • G06F21/79Protecting 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 in semiconductor storage media, e.g. directly-addressable memories
    • 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/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/145Applications of charge pumps; Boosted voltage circuits; Clamp circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명은 시스템의 제1 메모리의 제1 메모리 행에 있는 메모리 영역의 적어도 제1 동작 및 후속 프로그래밍 동작을 포함하는, 그리고 상기 시스템의 상기 제2 메모리에 저장된 보안 데이터를 입력으로 사용하는, 보안 관련 프로세스를 실행하는 방법에 관한 것이며, 상기 제1 메모리는 비휘발성 메모리이고, 상기 시스템은 제1 메모리 차지 펌프를 포함하고, 상기 방법은, 상기 보안 관련 프로세스의 실행이 트리거될 때: 제1 메모리 행 열기(S2); 상기 제1 메모리 차지 펌프를 충전(S3); 제2 메모리로부터의 상기 보안 데이터에 기초하여, 보안 관련 프로세스의 상기 제1 동작을 수행(S4); 상기 충전된 전하 펌프를 사용하여 상기 열린 제1 메모리 행에서 상기 메모리 영역의 상기 프로그래밍 동작을 수행(S5)의 단계들을 포함한다.

Description

보안 관련 프로세스의 안전한 실행 방법
본 발명은 비휘발성 메모리(NVM) 프로그래밍을 포함하는 보안 관련 프로세스를 안전하게 실행하는 방법에 관한 것으로, 상기 방법은 NVM 메모리에 정보를 기록하는 것을 보호하고, 보다 구체적으로 공격자에 의한 NVM 프로그래밍 탐지를 방지한다.
암호화 거동과 같은 민감한 거동을 포함하는 보안 관련 프로세스가 실행될 때, 때때로 일부 데이터를 비휘발성 메모리(NVM)에 써야 할 수 있다. 예를 들어, 대부분의 보안 장치 및 알고리즘은 보호할 장치 또는 알고리즘의 실행 환경이나 거동을 모니터링하는 하드웨어 보안 센서 또는 소프트웨어 대응책에 의존한다. 비정상적인 거동이 감지되면 이러한 장치나 알고리즘은 일반적으로 비휘발성 메모리(NVM)의 보안 카운터 값을 업데이트하여 이러한 감지를 추적한다.
문제는 이러한 값을 NVM에 기록하기 위해서는 NVM 차지 펌프를 충전해야 하므로 도 1과 같이 장치의 전류 소모량 급증을 유도한다는 점이다. 그 결과 전력 소모량을 모니터링하는 공격자가 이러한 펌프 충전을 쉽게 감지할 수 있고, NVM에서 쓰기 거동이 수행되고 있음을 인지할 수 있으며, 자신의 이익을 위해 이를 사용할 수 있다. 예를 들어, 보안 카운터 업데이트의 경우 보안 카운터 업데이트를 방지하기 위해 전원 차단을 트리거할 수 있다. 이렇게 하면 카운터가 업데이트되지 않으며 공격자는 성공할 때까지 계속해서 공격을 수행할 수 있다.
따라서, NVM 프로그래밍을 포함하는 보안 관련 프로세스를 안전하게 실행하고, 장치 전력 소비에 대한 가시적인 영향 없이 NVM을 프로그래밍할 수 있는 방법이 필요하다.
이러한 목적을 위해 그리고 제1 양태에 따라, 따라서 본 발명은 시스템(100)의 제1 메모리(103)의 제1 메모리 행에 있는 메모리 영역의 적어도 제1 동작 및 후속 프로그래밍 동작을 포함하는, 그리고 상기 시스템(100)의 제2 메모리(104)에 저장된 입력 보안 데이터로 사용하는, 보안 관련 프로세스를 실행하기 위한 방법으로서, 상기 제1 메모리는 비휘발성 메모리이고 상기 시스템은 제1 메모리 차지 펌프(108)를 포함하며, 상기 방법은, 상기 보안 관련 프로세스의 실행이 트리거될 때:
● 제1 메모리 행을 여는 단계(S2),
● 상기 제1 메모리 차지 펌프를 충전하는 단계(S3),
● 제2 메모리로부터의 상기 보안 데이터에 기초하여, 보안 관련 프로세스의 상기 제1 동작을 수행하는 단계(S4),
● 상기 충전된 전하 펌프를 사용하여 상기 열린 제1 메모리 행에서 상기 메모리 영역의 상기 프로그래밍 동작을 수행하는 단계를 포함한다.
이렇게 하면 보안 관련 프로세스의 제1 거동 실행이 시작되기 전에도 차지 펌프가 미리 충전되어 행이 열린다. 그러면 프로그래밍 동작을 수행할 때 펌프의 충전과 제1 행의 열림을 기다리지 않고 훨씬 더 빠르게 수행되며, 공격자가 감지할 수 있는 전류 소모 스파이크를 유도하지 않는다.
보안 관련 프로세스의 제1 동작을 수행하기 위해 사용되는 보안 데이터는 제1 메모리 차지 펌프를 충전하거나 제1 메모리 행을 열기 전에 제1 메모리에서 제2 메모리로 복사될 수 있다.
이러한 복사 동작은 이 데이터가 제2 메모리에서 사용 가능한 상태로 유지되는 반면 차지 펌프의 충전 상태는 제1 메모리를 읽지 못하도록 함을 보장한다.
상기 시스템이 하드웨어 보안 센서를 포함하거나 소프트웨어 대응책을 실행하도록 구성된 실시예에서, 제1 양태에 따른 방법의 상기 프로그래밍 동작은 상기 하드웨어 보안 센서 또는 상기 소프트웨어 대응책에 의해 감지되는 일부 비정상적인 거동을 기록하는 영구 보안 카운터를 상기 제1 메모리에 기입하는 단계를 포함할 수 있다.
상기 제2 메모리는 캐시 메모리, 랜덤 액세스 메모리(RAM), 비휘발성 메모리(NVM) 또는 읽기 전용 메모리(ROM) 중의 것일 수 있다.
상기 제1 메모리 차지 펌프는 시스템의 전류 소비의 가시적인 스파이크를 유도하지 않도록 미리 결정된 주파수에서 충전될 수 있다.
이렇게 하면 제1 동작을 실행하기 전에도 펌프의 충전으로 인한 전류 소모 스파이크가 발생하지 않는다.
따라서 제2 양태에 따르면, 본 발명은 또한 적어도 하나의 컴퓨터의 메모리에 직접 로드할 수 있는 컴퓨터 프로그램 제품에 관한 것으로, 상기 제품이 컴퓨터에서 실행될 때 제1 양태에 따른 방법의 단계를 수행하기 위한 소프트웨어 코드 명령어를 포함한다.
따라서 제3 양태에 따르면, 본 발명은 또한 적어도 하나의 프로세서, 제1 메모리, 제1 메모리 차지 펌프 및 제2 메모리를 포함하는 시스템에 의해 실행될 때, 제1 양태에 따른 방법을 수행하는, 실행 가능한 컴퓨터 코드를 저장하는 비일시적 컴퓨터 판독 가능 매체에 관한 것이다.
제4 양태에 따르면, 따라서 본 발명은 또한 제1 양태에 따른 방법을 수행하도록 구성된 적어도 하나의 프로세서, 제1 메모리, 제1 메모리 차지 펌프 및 제2 메모리를 포함하는 시스템에 관한 것이다.
다음 설명 및 첨부된 도면은 특정 예시적인 양태를 상세히 설명하고 실시예의 원리가 사용될 수 있는 다양한 방식 중 일부만을 나타낸다. 다른 이점 및 신규한 특징은 도면과 함께 고려될 때 다음의 상세한 설명으로부터 명백해질 것이고 개시된 실시예는 이러한 모든 양태 및 그 등가물을 포함하도록 의도된다.
도 1은 종래 기술에 따른 NVM 프로그래밍 전류 소비의 오실로스코프 스냅샷의 개략도이다.
도 2는 본 발명의 실시예에 따른 시스템의 개략도이다.
도 3은 본 발명의 실시예에 따른 방법의 개략도이다.
도 4는 본 발명의 실시예에 따른 시스템의 NVM 프로그래밍 전류 소비의 오실로스코프 스냅샷의 개략도이다.
본 발명은 시스템의 제1 메모리라고 하는 비휘발성 메모리(NVM)의 메모리 영역의 자동 프로그래밍을 포함하는 보안 관련 프로세스의 실행을 보호하는 것을 목표로 한다.
도 2는 이러한 시스템(100)의 개략도이다. 도면은 버스(102)를 통해 NVM 제1 메모리(103)에, 그리고, 캐시 메모리, 랜덤 액세스 메모리(RAM), 다른 NVM 메모리 또는 ROM 중의 적어도 하나의 제2 메모리(104)에 연결되는 프로세서(101)를 포함할 수 있다. 그것은 또한 읽기 전용 메모리(ROM)(105)를 포함할 수 있다.
시스템(100)은 프로세서에 연결된 커넥터(106)를 더 포함할 수 있다.
시스템(100)은 또한 하나 이상의 스크린, 확성기, 마우스, 촉각 표면, 키보드 등과 같이, 시스템(100)의 사용자에게 인터페이스를 제공하는 입/출력 수단(107)을 포함할 수 있다.
시스템(100)은 제1 메모리의 메모리 영역을 프로그래밍하도록 동작가능한 제1 메모리 차지 펌프(108)를 더 포함한다.
본 발명은 제1 또는 제2 메모리에 저장된 보안 데이터를 입력으로 사용하고 적어도 제1 동작을 수행하는 보안 관련 프로세스의 실행과 관련하여 이루어진다. 이러한 보안 관련 프로세스는 예를 들어 암호화된 값 또는 서명을 생성하는 암호화 프로세스, 또는 비밀 키를 복사하는 거동일 수 있다. 이러한 보안 데이터는 신원 데이터 또는 비밀 키와 같은 민감한 데이터일 수 있다. 또한 보안 관련 프로세스의 일부 거동을 수행하기 위해 실행되는 코드를 포함할 수 있다.
보안 관련 프로세스는 예를 들어 특정 프로세스 또는 키가 사용된 횟수를 나타내는 카운터를 업데이트하기 위한 루틴 거동으로서 비휘발성 메모리에 쓰기 거동을 포함할 수 있다. 또한 보안 관련 프로세스의 실행 중에 공격이 감지될 때 대응책으로 쓰기 거동을 포함할 수 있다. 예를 들어, 이 적어도 하나의 동작을 실행하는 동안 공격이 감지되면 공격이 감지된 횟수를 나타내는 보안 카운터 값을 NVM에서 업데이트하기 위해 메모리 영역의 NVM 프로그래밍이 요청된다. 다음 단락에서 NVM 프로그래밍 동작에 의해 프로그래밍된 메모리 영역은 제1 메모리의 제1 메모리 행에 위치한다고 가정한다.
시스템은 하나 이상의 하드웨어 보안 센서를 더 포함하거나, 소프트웨어 대응책을 실행하도록 구성될 수 있어서, 이러한 센서 또는 소프트웨어 대응책은 공격의 결과일 가능성이 있는 비정상적인 거동을 감지할 수 있다. 그러한 경우에, 제1 메모리의 프로그래밍 동작은 상기 하드웨어 보안 센서 또는 상기 소프트웨어 대응책에 의해 검출된 일부 비정상적인 거동을 기록하는 영구 보안 카운터를 제1 메모리에 기록하는 것을 포함할 수 있다.
도 1과 같이 시스템의 제1 메모리의 제1 행의 메모리 영역에 대한 프로그래밍 거동이 요청되면 다음 단계를 수행해야 한다:
● NVM 프로그래밍을 준비하는 거동(CPU 실행)이 실행되는 구성 단계.
● 프로그래밍할 행이 열리는 행 열기 단계. 이 단계의 기간을 T1이라고 한다.
● 제1 메모리의 차지 펌프가 충전되는 펌프 충전 단계. 이 단계의 기간을 T2라고 한다.
● NVM 프로그래밍이 충전된 차지 펌프를 사용하여 수행되는 프로그래밍 단계. 이 단계의 기간을 T3라고 한다.
● 프로그래밍된 행이 닫히는 행 닫기 단계. 이 단계의 기간을 T4라고 한다.
본 발명의 주요 아이디어는 공격자가 이러한 제1 메모리 프로그래밍을 볼 수 없도록 하기 위해 보안 관련 프로세스 실행의 맨 처음에 펌프 충전 단계 및 행 열기 단계를 예상하는 것이다. 그렇게 함으로써, 차지 펌프는 이러한 프로그래밍이 필요할 때 이미 제1 메모리를 프로그래밍할 준비가 되어 있고 프로그래밍 단계는 전력 소비 스파이크를 유발하지 않고 훨씬 더 빠르게 수행될 수 있다.
다음 단락은 적어도 제1 동작 및 제1 메모리의 제1 메모리 행의 메모리 영역의 후속 프로그래밍 동작을 포함하는 보안 관련 프로세스를 실행하기 위해 시스템에 의해 수행되는 도 3에 도시된 본 발명에 따른 방법의 단계를 보다 정확하게 설명한다.
제1 단계(S1) 동안, 시스템은 제1 메모리로부터 제2 메모리로 보안 데이터를 복사할 수 있다. 이 동작은 보안 데이터가 제2 메모리에 아직 저장되어 있지 않은 경우, 다음 단계에서 수행할 제1 메모리의 차지 펌프가 충전된 후에도 보안 데이터를 계속 사용할 수 있도록 하기 위해 필요하다. 실제로, 차지 펌프를 충전하면, 제1 메모리 프로그래밍이 수행되고 펌프가 방전되고 행이 닫힐 때까지, 제1 메모리에서 읽기 거동을 수행할 수 없다. 보안 데이터를 제2 메모리에 복사하면 보안 관련 프로세스의 거동을 실행하기 위한 입력으로 데이터가 필요할 때 프로세서가 이를 읽을 수 있음을 보장한다. 이 제1 단계는 필요한 경우 보안 관련 프로세스의 실행이 트리거되는 즉시 수행된다.
제2 단계(S2)에서 시스템은 제1 메모리의 제1 메모리 행을 연다. 이 단계가 끝나면 시스템은 프로그래밍 요청이 아직 발행되지 않았음에도 불구하고 제1 메모리 행의 메모리 영역을 프로그래밍할 준비가 되었다.
제3 단계(S3)에서, 시스템은 제1 메모리 차지 펌프를 충전한다. 이 단계는 제2 단계(S2) 이전 또는 이후에 수행될 수 있다.
제4 단계(S4)에서, 시스템은 제2 메모리로부터의 보안 데이터에 기초하여 보안 관련 프로세스의 제1 동작을 수행한다. 이 단계에서 제1 동작에 대한 입력 데이터로 필요한 보안 데이터는 차지 펌프가 충전된 상태이기 때문에 제1 메모리에서 액세스되지 않을 수 있다. 따라서 시스템의 프로세서는 위에서 설명한 제1 단계에서 필요한 경우 복사된 제2 메모리의 보안 데이터를 읽는다. 제1 동작이 끝나면 제1 거동 자체에 의해, 또는 제1 거동을 실행하는 동안 비정상적인 거동이 감지되기 때문에, 그리고 예를 들어 제1 메모리의 로그 또는 카운터의 업데이트가 필요하기 때문에, 제1 메모리의 프로그래밍이 요청될 수 있다.
제5 단계(S5)에서, 상기 열린 제1 메모리 행의 상기 메모리 영역의 프로그래밍 동작은 상기 충전된 전하 펌프를 사용하여 수행된다.
제5 단계(S5)는 NVM의 프로그래밍 동작이 요청되지 않은 경우, 예를 들어 그러한 프로그래밍이 공격의 검출에 의해 트리거될 수 있지만 어떤 공격도 검출되지 않은 경우 건너뛸 수 있다.
제6 단계(S6)에서 제1 행이 닫힐 수 있다.
이러한 단계로 인한 시스템의 전류 소비가 도 4에 나와 있다. 도 1과 달리, 제1 동작 실행 시작부터 제1 행이 닫힐 때까지 소비 스파이크가 나타나지 않는다. 실제로, 본 발명에 따른 방법에서, 제 4 단계(S4)에서 제 1 동작이 수행될 때 제 3 단계(S3)에서 전하 펌프가 이미 충전되어 있다.
또한 제1 동작에 의해 실행되는, 또는, 실행 중 특정 지점에서 공격이 감지되기 때문에, 제1 메모리를 프로그래밍하기 위한 요청의 발행과, 제1 행이 닫히기까지의 시간이 훨씬 짧다. 도 1에서 이는 적어도 T1+T2+T3+T4 = 12 + 6.6 + 18 + 7.7μs 이상이었다. 도 4에서 펌프 충전 및 행 열기가 미리 수행되었기 때문에 T3+T4 = 18 + 7.7μs에 가깝다.
전류 소비의 스파이크는 제1 동작을 실행하기 전에 차지 펌프가 충전될 때 여전히 표시될 수 있다. 이러한 스파이크를 줄이거나 피하기 위해, 전하 펌프는 미리 결정된 더 낮은 주파수, 예를 들어 평소보다 최대 8배 더 낮은 주파수로 충전될 수 있다.
따라서 제2 양태에 따르면, 본 발명은 적어도 하나의 컴퓨터의 메모리에 직접 로드할 수 있는 컴퓨터 프로그램 제품에 관한 것으로, 상기 제품이 컴퓨터에서 실행될 때 제1 양태에 따른 방법의 단계를 수행하기 위한 소프트웨어 코드 명령어를 포함한다.
따라서 제3 양태에 따르면, 본 발명은 또한 위에서 설명된 시스템(100)에 의해 실행될 때, 제1 양태에 따른 방법을 수행하는 실행 가능한 컴퓨터 코드를 저장하는 비일시적 컴퓨터 판독 가능 매체에 관한 것이다.
따라서 제4 양태에 따르면, 본 발명은 제1 양태에 따른 방법을 수행하도록 구성된 프로세서(101), 제1 메모리(103), 제1 메모리 차지 펌프(108) 및 제2 메모리(104)를 포함하는 위에서 설명된 시스템(100)에 관한 것이다.

Claims (8)

  1. 시스템(100)의 제1 메모리(103)의 제1 메모리 행에 있는 메모리 영역의 적어도 제1 동작 및 후속 프로그래밍 동작을 포함하는, 그리고 상기 시스템(100)의 제2 메모리(104)에 저장된 입력 보안 데이터로 사용하는, 보안 관련 프로세스를 실행하기 위한 방법으로서, 상기 제1 메모리는 비휘발성 메모리이고 상기 시스템은 제1 메모리 차지 펌프(108)를 포함하며, 상기 방법은, 상기 보안 관련 프로세스의 실행이 트리거될 때:
    제1 메모리 행을 여는 단계(S2),
    상기 제1 메모리 차지 펌프를 충전하는 단계(S3),
    제2 메모리로부터의 상기 보안 데이터에 기초하여, 보안 관련 프로세스의 상기 제1 동작을 수행하는 단계(S4),
    상기 충전된 전하 펌프를 사용하여 상기 열린 제1 메모리 행에서 상기 메모리 영역의 상기 프로그래밍 동작을 수행하는 단계(S5)를 포함하는, 보안 관련 프로세스 실행 방법.
  2. 제1항에 있어서, 상기 제1 메모리 차지 펌프를 충전하거나 상기 제1 메모리 행을 열기 전에 상기 보안 데이터를 상기 제1 메모리로부터 제2 메모리로 복사하는 단계(S1)를 포함하는 보안 관련 프로세스 실행 방법.
  3. 제1항 또는 제2항에 있어서, 상기 시스템은 하드웨어 보안 센서를 포함하거나 소프트웨어 대응책을 실행하도록 구성되고, 상기 프로그래밍 동작은 상기 소프트웨어 대응책 또는 상기 하드웨어 보안 센서에 의해 검출된 일부 비정상적인 거동을 기록하는 영구 보안 카운터를 상기 제1 메모리에 기록하는 단계를 포함하는 보안 관련 프로세스 실행 방법.
  4. 제1항 또는 제2항에 있어서, 상기 제2 메모리(104)는 캐시 메모리, 랜덤 액세스 메모리(RAM), 비휘발성 메모리(NVM) 또는 읽기 전용 메모리(ROM) 중 하나인 보안 관련 프로세스 실행 방법.
  5. 제1항 또는 제2항에 있어서, 상기 제1 메모리 전하 펌프는 시스템의 전류 소비의 가시적인 스파이크를 유도하지 않도록 미리 결정된 주파수에서 충전되는 보안 관련 프로세스 실행 방법.
  6. 적어도 하나의 컴퓨터의 메모리에 직접 로드할 수 있는 컴퓨터 프로그램으로서, 상기 제품이 컴퓨터에서 실행될 때 제1항 또는 제2항에 따른 방법의 단계를 수행하기 위한 소프트웨어 코드 명령어를 컴퓨터 판독형 기록 매체에 저장한 컴퓨터 프로그램.
  7. 적어도 하나의 프로세서(101), 제1 메모리(103), 제1 메모리 차지 펌프(108) 및 제2 메모리(104)를 포함하는 시스템(100)에 의해 실행될 때, 제1 항 또는 제2항에 따른 방법의 단계들을 수행하는 실행 가능한 컴퓨터 코드를 저장하는 비일시적 컴퓨터 판독 가능 매체.
  8. 제1항 또는 제2항에 따른 방법의 단계들을 수행하도록 구성된 프로세서(101), 제1 메모리(103), 제1 메모리 전하 펌프(108) 및 제2 메모리(104)를 포함하는 시스템(100).
KR1020227024766A 2019-12-18 2020-12-17 보안 관련 프로세스의 안전한 실행 방법 KR20220146422A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19306678.4A EP3839750A1 (en) 2019-12-18 2019-12-18 Method for secure executing of a security related process
EP19306678.4 2019-12-18
PCT/EP2020/086662 WO2021122907A1 (en) 2019-12-18 2020-12-17 Method for secure executing of a security related process

Publications (1)

Publication Number Publication Date
KR20220146422A true KR20220146422A (ko) 2022-11-01

Family

ID=69650517

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227024766A KR20220146422A (ko) 2019-12-18 2020-12-17 보안 관련 프로세스의 안전한 실행 방법

Country Status (5)

Country Link
US (1) US20230019987A1 (ko)
EP (2) EP3839750A1 (ko)
JP (1) JP7383156B2 (ko)
KR (1) KR20220146422A (ko)
WO (1) WO2021122907A1 (ko)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112829A (ja) 1998-09-30 2000-04-21 Sanyo Electric Co Ltd 不揮発性メモリのデータ保護装置
FR2968806B1 (fr) 2010-12-14 2013-01-18 Oberthur Technologies Securisation de l'alimentation de moyens de commande d'une carte a microcircuit en cas d'attaque
US8925098B2 (en) * 2012-11-15 2014-12-30 Elwha Llc Data security and access tracking in memory
JP6340935B2 (ja) 2014-06-16 2018-06-13 大日本印刷株式会社 Icチップ、異常検知処理方法、及びプログラム
US10521617B2 (en) * 2017-08-14 2019-12-31 Western Digital Technologies, Inc. Non-volatile memory device with secure read
US10534554B2 (en) * 2017-10-13 2020-01-14 Silicon Storage Technology, Inc. Anti-hacking mechanisms for flash memory device

Also Published As

Publication number Publication date
EP3839750A1 (en) 2021-06-23
EP4078425A1 (en) 2022-10-26
WO2021122907A1 (en) 2021-06-24
JP7383156B2 (ja) 2023-11-17
JP2023507997A (ja) 2023-02-28
US20230019987A1 (en) 2023-01-19

Similar Documents

Publication Publication Date Title
US9965268B2 (en) Method and apparatus for preventing software version rollback
TWI607376B (zh) 用於處理改變依照統一可延伸韌體介面計算裝置中之系統安全資料庫及韌體儲存區請求的系統及方法
US7228423B2 (en) Apparatuses and methods for decrypting encrypted data and locating the decrypted data in a memory space used for execution
KR100746012B1 (ko) 코드 이미지를 안전하게 갱신하고 부팅하는 방법 및 장치
US10354073B2 (en) Information processor device verifying software and method of controlling information processor device
EP2434683A1 (en) Electronic device, key generation program, recording medium, and key generation method
JP2017021434A5 (ko)
JP2007304954A (ja) メモリ保護機能を有するコンピュータシステム
US20150302195A1 (en) Hardware-based stack control information protection
WO2014168868A1 (en) Detection of secure variable alteration in a computing device equipped with unified extensible firmware interface (uefi)-compliant firmware
US9262631B2 (en) Embedded device and control method thereof
CN102667794A (zh) 用于保护操作系统免于非授权修改的方法和系统
US9047448B2 (en) Branch auditing in a computer program
KR20220146422A (ko) 보안 관련 프로세스의 안전한 실행 방법
EP3140775B1 (en) Dynamic change of security configurations
US11941159B2 (en) Configuration data deletion based on tamper status
JP4643201B2 (ja) バッファオーバーフロー脆弱性分析方法、データ処理装置、分析情報提供装置、分析情報抽出処理用プログラムおよび分析情報提供処理用プログラム
US11328055B2 (en) Process verification
CN108292260B (zh) 用于软件自测试的装置和方法
US20130091324A1 (en) Data processing apparatus and validity verification method
KR101986028B1 (ko) 코드 포인터 보수를 사용하여 프로세싱 흐름에 대한 공격에 대해 장치를 보호하기 위한 시스템 및 방법
JP7097407B2 (ja) ビットエラー修正の試行錯誤を優先順位付けるためのシステムおよび方法
WO2023174755A1 (en) Method to prevent anti-replay attack
WO2016058747A1 (en) System and method for protecting a device against attacks on procedure calls by encrypting arguments
CN115935443A (zh) 用于安全启动的处理设备和方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal