KR20140129207A - 키 암호화 키를 사용하는 암호 송신 시스템 - Google Patents

키 암호화 키를 사용하는 암호 송신 시스템 Download PDF

Info

Publication number
KR20140129207A
KR20140129207A KR20147026098A KR20147026098A KR20140129207A KR 20140129207 A KR20140129207 A KR 20140129207A KR 20147026098 A KR20147026098 A KR 20147026098A KR 20147026098 A KR20147026098 A KR 20147026098A KR 20140129207 A KR20140129207 A KR 20140129207A
Authority
KR
South Korea
Prior art keywords
key
keys
encryption
kek
data
Prior art date
Application number
KR20147026098A
Other languages
English (en)
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 KR20140129207A publication Critical patent/KR20140129207A/ko

Links

Images

Classifications

    • 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
    • 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/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/2113Multi-level security, e.g. mandatory access control

Landscapes

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

Abstract

마이크로컨트롤러는 비휘발성 메모리에 저장된 온-칩 키 저장 슬롯들을 포함하며, 여기서 어느 키가 사용될 것인지를 선택하는 것은 소프트웨어로 제한되고, 미리 결정된 키 저장 슬롯은 키 암호화 키(KEK)를 저장하고, 레지스터 플래그는 상기 미리 결정된 키 저장 슬롯이 데이터를 암호화/복호화하기 위한 키를 저장하는지 또는 키를 암호화/복호화하기 위한 상기 KEK를 저장하는지를 결정하기 위해 제공된다.

Description

키 암호화 키를 사용하는 암호 송신 시스템{CRYPTOGRAPHIC TRANSMISSION SYSTEM USING KEY ENCRYPTION KEY}
본 출원은, 2012년 2월 21일 출원되고, 공동으로 양도되어 계류중인 미국 가출원 일련 번호 제 61/601,253 호의 우선권의 이익을 주장하며, 상기 미국 가출원은 본 출원에 완전히 개시된 것처럼 그 전체가 본 출원에 참조로서 통합된다.
본 개시는 암호 송신 시스템 및 암호 송신 방법에 관한 것이다.
암호 작성에 있어서, 암호화된 데이터/트래픽을 통신하기를 소망하는 둘 이상의 노드들 사이에 암호 작성 키들을 공유하기 위한 2개의 일반적인 방법들, 즉 공개 키 암호화 및 개인 (공유) 키 암호화 방법이 있다. 공개 키 시스템들에서, 세션 키들은 몇몇 시간 제약들(temporal constraints)에 기초하여 생성되고, 공개 키 교환(public key exchange; PKE) 프로토콜의 사용을 통해 교환된다. 현대의 PKE 방식들은 매우 계산 집약적인 비대칭 암호화에 기초한다.
몇몇 애플리케이션들에서, 키들의 교환은 개인 키 암호화를 사용하여 수행될 수 있다. 개인 키 암호화에서, (키 교환 키(Key Exchange Key), 또는 KEK라고 불리는) "마스터" 키는 어떻게든 모든 노드들에 사전-로딩되고, (전형적으로 "세션 키들"이라 불리는) 이후의 데이터 암호화 키들은 KEK에 의해 이 키들을 암호화/복호화하여 공유된다.
따라서, "사전-공유된" 키 시스템들에서, 보안 통신 채널의 양측들(노드들)은 동일한 사전-정의된 키를 사용한다. 이러한 시스템은 사용하기에 용이하다. 그러나, 키가 (비(non)-침입적인 측부 채널 공격들을 통해) 손상되면, 전체 시스템이 손상된다. 특히, 소프트웨어는 항상 수신된 세션 키를 취하고, 이것을 (키로서라기 보다는 오히려) 암호문으로서 시스템에 로딩하고, 그리고 세션 키를 "보통문으로" 복구하기 위해 표준 복호 동작을 실행할 수 있다.
따라서, KEK가 소프트웨어에 노출되는 위험 없이 KEK를 저장하고 이용하는 보안 방법이 필요하다. 기존 해결책들은, 효율적이지만 보안성이 낮은 사전-공유된 키들 및 보다 안전하지만 매우 계산 집약적인 공개 키 교환 중 어느 하나를 사용한다.
종래 기술의 이들 및 다른 결점들은 본 발명의 실시예들에 따른 시스템 및 방법에 의해 대부분 극복된다. 실시예들은 사전-공유된 키들의 효율성을 갖지만 보안성이 높은 해결책을 제공한다.
실시예들에 따른 마이크로컨트롤러는 비휘발성 메모리에 저장된 온-칩 키 저장 슬롯들을 포함하며, 여기서 어느 키가 사용될 것인지를 선택하는 것은 소프트웨어로 제한되고, 미리 결정된 키 저장 슬롯은 키 암호화 키(Key Encrypt Key; KEK)를 저장하고, 레지스터 플래그는 상기 미리 결정된 키 저장 슬롯이 데이터를 암호화/복호화하기 위한 키를 저장하는지 또는 키를 암호화/복호화하기 위한 상기 KEK를 저장하는지를 결정하기 위해 제공된다.
실시예들은 데이터 암호화/복호화 및 키 암호화/복호화 모드들 중 어느 하나를 선택하도록 구성 비트를 제공한다. 몇몇 실시예들에서, 이 비트는 상기 키들 자체와 동일한 보안 권한들을 가질 수 있다. 실시예들은 또한 상기 키 자체라기보다는 오히려 어느 키가 사용되어야 할지를 특정함으로써 암호화/복호화 동작들이 수행되는 방식을 제공할 수 있다. 몇몇 실시예들은 또한 데이터 (결과들) 레지스터들(TEXT 레지스터들이라고 불림) 및 키 레지스터(들)(KEY 레지스터(들)라고 불림)의 논리적 분할을 제공하며, 이는 소프트웨어 읽기/쓰기 기능성을 갖는 데이터 저장소 및 소프트웨어에 완전히 접근할 수 없거나 소프트웨어 쓰기 기능성만을 갖는 키 저장소이다. 실시예들은 수행되고 있는 동작 유형의 소프트웨어 선택에 기초하여 비휘발성 키 저장소 및 휘발성 KEY 레지스터 사이의 모든 데이터 암호화/복호화 동작들을 위한 키의 소스를 선택하는 하드웨어 메커니즘을 제공할 수 있고, 또한 상기 값 구성 비트 및 상기 소프트웨어 선택 키 소스에 기초하여, 모든 복호 동작들의 결과를 위한 목적지를 상기 데이터 저장소 (TEXT) 및 상기 키 저장소 (KEY) 중 어느 하나로 선택하는 하드웨어 메커니즘을 제공할 수 있다.
다양한 실시예들에 따른 시스템은 키 암호화 키 저장을 위한 적어도 하나의 온-칩 키 저장 슬롯들을 제공하고, 소프트웨어로 하여금 단지 상기 키 자체보다는 오히려 어느 키가 사용되어야 할지를 선택할 수 있게 한다. 다양한 실시예들은 또한 플래시(flash)에서의 대규모 키 세트들의 저장(대(versus) 통신 채널을 통한 키들의 송신)에 적용될 수 있다. 몇몇 실시예들에서, 사용자들은 상기 KEK 슬롯(들) 자체에 결합되는 하나 이상의 비트들을 이용하여 "정상(normal)" (암호화/복호화 데이터) 및 "KEK" (암호화/복호화 키) 사이에 상기 KEK 슬롯(들)의 기능성을 선택할 수 있다.
본 발명에 따라, KEK가 소프트웨어에 노출되는 위험 없이 KEK를 저장하고 이용하는 보안 방법이 제공되며, 사전-공유된 키들의 효율성을 갖지만 보안성이 높은 해결책이 제공된다.
첨부된 도면들을 참조하면, 본 발명은 더 잘 이해될 수 있고, 본 발명의 수많은 목적들, 특징들, 및 장점들은 본 기술분야의 당업자들에게 명백해질 수 있다. 상이한 도면들에서 동일한 도면 부호들의 사용은 유사하거나 동일한 항목들임을 나타낸다.
도 1은 예시적인 프로세서의 블록도이다.
도 2a 및 도 2b는 실시예들의 동작을 개략적으로 도시한 블록도들이다.
도 3은 실시예들의 동작을 도시한 흐름도이다.
도 4는 실시예들의 동작을 위한 네트워크 구성을 도시한 다이어그램이다.
본 개시 및 다양한 특징들 및 이들의 유리한 세부 사항들은 예시적이고 따라서 비제한적인 실시예들을 참고로 하여 보다 상세히 설명되고, 이 실시예들은 첨부 도면들에 도시되었으며 이하에 상세히 설명된다. 알려진 프로그래밍 기술들, 컴퓨터 소프트웨어, 하드웨어, 동작 플랫폼들 및 프로토콜들의 설명들은 상세한 개시를 불필요하게 모호하게 하지 않도록 하기 위해 생략될 수 있다. 그러나, 상세한 설명 및 특정 예시들은 바람직한 실시예들을 나타내지만 예시적으로만 주어지며 한정적으로 주어지지 않음을 이해해야 한다. 기본적인 발명의 개념의 사상 및/또는 범위 내에서의 다양한 대체들, 변경들, 추가들 및/또는 재배열들은 본 개시로부터 본 기술분야의 당업자들에게 명백해질 것이다.
여기에서 사용되는 바와 같이, "포함한다", "포함하는", "가진다", "갖는" 또는 이들의 임의의 다른 변형의 용어들은 비(non) 배타적인 포함을 포괄한다. 예를 들어, 구성요소들의 리스트를 포함하는 프로세스, 제품, 물건, 또는 장치는 반드시 이 구성요소들만으로 제한되는 것은 아니라, 이러한 프로세스, 제품, 물건, 또는 장치에 명시적으로 나열되지 않았거나 고유하지 않은 다른 구성요소들을 포함할 수 있다. 또한, 명시적으로 반대로 진술되지 않는다면, "또는"은 포괄적인 '또는'을 가리키며, 배타적인 '또는'을 가리키지 않는다. 예를 들어, 조건 A 또는 B는 다음 중 어느 하나에 의해 만족된다: A가 참이고(또는 존재하고) B는 거짓이다(또는 존재하지 않는다), A가 거짓이고(또는 존재하지 않고) B가 참이다(또는 존재한다), 및 A와 B는 둘 다 참이다(또는 존재한다).
부가적으로, 여기에서 주어진 임의의 예시들 또는 도시들은 어떤 경우에도 이들과 함께 사용되는 임의의 용어 또는 용어들의 제한들, 한정들, 또는 명시적 정의들로서 간주되어서는 안된다. 대신에 이 예시들 또는 도시들은 하나의 특정 실시예에 관하여 설명된다고 간주되고, 또한 단지 예시적인 것으로 간주되어야 한다. 본 기술분야의 통상의 기술을 가진 자들은 이 예시들 또는 도시들과 함께 사용되는 임의의 용어 또는 용어들이 실시예들의 구현들 또는 개조들뿐만 아니라 다른 실시예들을 포괄하고, 이것들은 본 명세서에서 실시예와 함께 또는 다른 곳에서 제공될 수도 안될 수도 있으며 모든 이러한 실시예들은 그 용어 또는 용어들의 범위 내에 포함되도록 되어 있음을 인식할 것이다. 이러한 비제한적인 예시들 및 도시들을 지시하는 언어는 "예를 들어", "예를 들면", "예컨대", "일 실시예에서" 등을 포함하지만, 이들로 한정되는 것은 아니다.
이하에서 보다 상세히 설명되는 바와 같이, 실시예들에 따른 암호화/복호화 방식을 구현하는 마이크로컨트롤러는 비휘발성 메모리에 저장된 온-칩 키 저장 슬롯들을 포함할 수 있으며, 여기서 소프트웨어만이 어느 키가 사용되어야 하는지를 선택할 수 있다. 미리 결정된 키 저장 슬롯은 키 암호화 키(Key Encrypt Key; KEK)를 저장하고, 레지스터 플래그는 상기 미리 결정된 키 저장 슬롯이 데이터를 암호화/복호화하기 위해 키를 저장하는지 또는 키를 암호화/복호화하기 위해 상기 KEK를 저장하는지를 결정하는데 사용된다. 또한, 몇몇 실시예들에 따르면, 암호화/복호화 동작들은 상기 키 자체보다는 오히려 어느 키가 사용되어야 할지를 특정함으로써 수행된다.
몇몇 실시예들에서, 데이터 (결과들) 레지스터들(TEXT 레지스터들이라고 불림) 및 키 레지스터들(KEY 레지스터라고 불림)의 논리적 분할이 유지되며, 여기서 데이터 저장소는 소프트웨어 읽기/쓰기 기능성을 구비하고, 키 저장소는 소프트웨어에 완전히 접근할 수 없거나 소프트웨어 쓰기 기능성만을 갖는다.
몇몇 실시예들에서, 하드웨어 메커니즘은 수행되고 있는 동작 유형의 소프트웨어 선택에 기초하여 비휘발성 키 저장소 및 휘발성 KEY 레지스터 사이의 모든 데이터 암호화/복호화 동작들을 위한 키의 소스를 선택하는데 사용된다. 게다가, 하드웨어 메커니즘은 상기 구성 비트의 값 및 상기 소프트웨어 선택 키 소스에 기초하여, 모든 복호 동작들의 결과를 위한 목적지를 상기 데이터 저장소 (TEXT) 및 상기 키 저장소 (KEY) 중 어느 하나로 선택하는데 이용될 수 있다.
몇몇 실시예들에서, 상기 온-칩 키 저장 슬롯들 중 하나 이상은 키 암호화 키 슬롯들로서 제공되고, 소프트웨어가 단지 상기 키 자체보다는 오히려 어느 키가 사용되어야 할지를 선택하는 것이 오직 가능하다. 따라서, 몇몇 실시예들에 따르면, 소프트웨어는 공장에서(또는 공장에서 수행된) 키들을 사전-프로그래밍한다.
다양한 실시예들에 따른 원리들은 송신된 세션 키들 및 플래시에서의 대규모 암호화된 키 세트들의 저장 둘 다에 적용됨을 알 수 있다. 따라서, 몇몇 실시예들은 플래시에서의 대규모 키 세트들의 저장(대 통신 채널을 통한 키들의 송신)에 적용될 수 있다. 이 경우에는 상기 키들이 암호화된 형식으로 플래시에 저장되고, 상기 KEK는 사용되어야 할 때 상기 키를 복호화하는데 사용된다.
몇몇 실시예들에서, 사용자들은 상기 KEK 슬롯 자체에 결합되는 하나의 비트를 이용하여 "정상" (암호화/복호화 데이터) 및 "KEK" (암호화/복호화 키) 사이에 상기 KEK 슬롯의 기능성을 선택할 수 있다(즉, 상기 키 저장소가 일회성 프로그램 가능(one-time programmable; OTP)하지 않으면, 상기 KEK 슬롯의 소거는 상기 선택 비트를 소거할 것이고, 반대의 경우도 마찬가지이다). 몇몇 실시예들에서, 이러한 비트는 공장에서 설정된다. 유사하게, 상기 키 저장소가 비휘발성 메모리(non-volatile memory; NVM)에 구현된다면, 상기 비트는 상기 키 저장소와 동일한 읽기/쓰기/소거 권한 방식을 공유하는 NVM에 구현되는 것을 필요로 할 것이다.
단일 저장 슬롯의 단일 KEK 및 상기 저장 슬롯에 결합되는 단일 비트의 관계에서 설명되었지만, 원칙적으로, 하나보다 많은 KEK 및 하나보다 많은 KEK 슬롯 및 대응 비트(들)가 이용될 수 있음을 또한 알 수 있다.
이제 도 4를 보면, 암호화/복호화 시스템의 예시적인 네트워크 구성을 보여주는 다이어그램이 도시되어 있다. 시스템(400)은 송신 노드(420) 및 수신 노드(422)를 포함한다. 송신 노드(420)는 일반 텍스트(plaintext)(406)(즉, 암호화될 데이터)를 수신하도록 구성된 암호화기(402), 및 암호화 키(408)를 포함한다. 암호화기(402)는 암호화 키(408)를 이용하여 일반 텍스트 데이터(406)를 암호화한다. 결과적인 출력은 암호문(410)이다.
암호문(410)은 네트워크(411)를 통해 수신 노드(422)로 송신된다. 네트워크(411)는, 예를 들어 인터넷 또는 로컬 영역 네트워크(LAN)를 포함하는 다양한 네트워크 유형들 중의 어떤 것일 수 있다. 상기 네트워크는 또한 유선 또는 무선 송신 매체들을 이용할 수 있다. 암호화된 데이터는 암호문(412)으로서 노드(422)에서 수신된다. 노드(422)는 암호화 키(408)에 대응하는 복호화 키(414)를 수신하는 복호화기(404)를 포함한다. 복호화기(404)는 키(414)를 이용하여 암호문(412)을 복호한다. 복호된 데이터는 이후 일반 텍스트(416)로서 저장된다. 이하 더욱 상세히 설명되는 바와 같이, 실시예들은 상기 키들을 관리하기 위해 제공된다.
전형적인 구현들에서, KEK 키는 송신 노드(420) 및 수신 노드(422) 사이에 사전-공유될 수 있다. 세션 키는 미리 결정된 주기 혹은 랜덤을 기반으로 KEK를 이용하여 생성되고 암호화되어, 여러 노드들에 송신될 수 있다. 실시예들에 따른 시스템들은 수신된 암호문이 데이터인지 또는 세션 키인지의 여부를 선택하고 어느 키가 상기 데이터 또는 세션 키를 해독하는데 사용되어야 할지를 특정하며, 이는 이하에서 더욱 상세히 설명될 것이다.
이제 도 1을 보면, 암호화기(402) 및 복호화기(404)를 포함하는 암호화/복호화 시스템을 구현하기 위한 예시적인 프로세서 또는 마이크로컨트롤러 구성을 개략적으로 보여주는 블록도가 도시되어 있으며, 일반적으로 도면 부호 100으로 식별된다. 프로세서 또는 마이크로컨트롤러의 다른 구성들이 가능함을 알 수 있다. 따라서, 도면은 단지 예시일 뿐이다.
도시된 예에서, 마이크로컨트롤러(100)는 중앙 처리 장치(CPU) 코어(102)를 포함한다. CPU 코어(102)는, 예를 들어 버스를 통해, 하나 이상의 제어/상태 레지스터들 및 프로그램 메모리(도시되지 않음)와 통신할 수 있다. 몇몇 실시예들에서, CPU 코어(102)는 저장소(110)와 통신한다. 저장소(110)는 복호된 데이터뿐만 아니라 복호될 데이터와 암호화될 데이터를 (즉, 암호문 및 일반 텍스트를) 저장할 수 있다.
몇몇 실시예들에서, 방화벽(10)은 CPU 코어(102)를 하드웨어 암호화/복호화 엔진(103) 및 키 저장소(118)로부터 분리한다. 키 저장소(118)는 프로그램 방식으로 안전하며, 즉 CPU 코어(102)에 의해 액세스될 수 없으며(읽히거나 쓰여질 수 없으며); 키 저장소(118)는 오직 하드웨어 엔진(103)에 의해서만 액세스 가능할 수 있다. 몇몇 실시예들에서, 키 저장소(118)는 최대 7개의 DES(Data encryption standard; 데이터 암호화 표준) 혹은 4개의 AES(advanced encryption standard; 고급 암호화 표준) 키들을 저장할 수 있다.
키 저장소(118)는 임의의 적절한 방식으로 구현될 수 있다. 키 저장소의 적절한 형태들로서, 예를 들어 일회성 프로그램 가능한 메모리, 비휘발성 메모리, 및 배터리 백업 정적 랜덤 액세스 메모리(SRAM)가 있다.
실시예들의 동작이 도 2a 및 도 2b에 개략적으로 도시되어 있다.
특히, 도 2a는 데이터 복호를 위한 키 #1("KEK 슬롯")의 사용을 개략적으로 도시한다. 방화벽(10)의 양 측부에는 하드웨어 엔진 측(21) 및 CPU 측(23)이 있다. 하드웨어 엔진 측(21)의 항목들은 암호화/복호화 하드웨어 엔진(103)에 의해서만 액세스 가능하지만, CPU(102)는 CPU 측(21)의 모든 것을 판독 및 기록할 수 있다.
특히, 방화벽(10) 뒤에는 프로그램 방식의 보안 키 저장소(118), 현재 키 레지스터(104), 복호화 모듈(103), 및 레지스터들(250, 252)이 있다. 몇몇 실시예들에서, 레지스터(250)는 키 구성 레지스터이고, 레지스터(252)는 암호화 상태 레지스터이다. 몇몇 실시예들에서, 상기 프로그램 방식의 보안 키 저장소(118)의 적어도 하나의 슬롯은 데이터 암호화/복호화를 위해 지정되거나, 아니면 세션 키 암호화/복호화를 위한 KEK 키(들)로서 사용하기 위해 지정된다.
방화벽(10)의 다른 쪽 측부에는 키 선택 레지스터(201), 및 암호문(202) 또는 일반 텍스트(204)를 저장하기 위해 할당된 데이터 메모리(110)의 일부분들이 있다. 일반 텍스트(204)는 복호된 텍스트를 저장하지만, 암호문(202)은 복호되어야 할 텍스트를 저장한다.
데이터 암호화/복호화 동작이 구현될 때, 키는 201에 도시된 바와 같이 소프트웨어를 이용하여 선택된다(키 자체는 레지스터(201)에 저장되지 않고, HW 엔진에게 지정된 슬롯의 키를 사용하라고 명령하는 명령어들만 저장된다). 데이터 복호를 위한 KEK 키를 선택할 수 있도록, 소정 실시예들에서는, 예를 들어 키 구성 레지스터(250)의 하나 이상의 구성 비트들이 하드웨어에 의해 적절히 설정되었을 수 있다(또는 설정되었음에 틀림없다). 도시된 예에서는 이 구성 비트들이 "0"으로 설정된다. 암호화 상태 레지스터(252)의 상태 비트도 이후 마찬가지로 적절한 대응 상태로 설정될 수 있다.
데이터 복호화 동작이 선택되었을 때, 대응 키는 현재 키 레지스터(104)로 로딩된다. 현재 키(이 경우에 키 #1 또는 KEK 키)는 복호화 모듈(103)에 의해 액세스된다. 복호화 모듈(103)은 암호문 저장소(202)로부터의 데이터를 판독하고, 현재 키 레지스터(104)로부터 현재 키를 이용하여 텍스트를 복호하고, 그리고 복호된 텍스트를 일반 텍스트 저장소(204)에 다시 기록한다. 몇몇 실시예들에서는 복호된 데이터의 저장 위치가 어느 키를 데이터를 복호하는데 사용하였는지에 따라 상이할 수 있음을 알 수 있다.
도 2b는 세션 키를 복호하기 위한 KEK의 사용을 도시한다. 보다 상세하게는 암호화된 텍스트가 수신되어 암호문 저장소(202)에 저장된다. 암호화된 텍스트와 동반하는 명령어들은 어느 키가 사용되어야 할지를 선택하고, 키 선택 레지스터(201)를 설정한다. 따라서, 도시된 실시예에서는, 세션 키를 해독하기 위해, KEK 슬롯의 키가 레지스터(201)로부터 적절한 명령들을 이용하여 선택된다. 이 경우에는 세션 키 동작이 가능하게 되는데, 왜냐하면 예를 들어 키 구성 레지스터(250)의 하나 이상의 구성 비트들이 세션 키 복호를 위해 KEK 키를 사용할 수 있도록 하드웨어에 의해 설정되기(혹은 설정되었기) 때문이다. 유사하게는 상태 레지스터(252)의 상태 비트가 상응하여 설정될 수 있다. 몇몇 실시예들에서는 특정 키 슬롯이 KEKE 키로서 사용하기 위해 배타적으로 지정될 수 있음을 알 수 있다. 어느 경우에도 동작시에는 KEK 키가 현재 키 레지스터(104)에 로딩된다. 복호화 모듈(206)은 현재 키 레지스터로부터 키를 사용하고, 암호문 저장소(202)로부터의 암호화된 데이터에 액세스한다. KEK 키 기능성이 선택되었기 때문에, 암호문 저장소(202)로부터 복호화된 텍스트(즉, 세션 키)는 일반 텍스트 저장소(204)가 아닌 현재 키 레지스터(104)로 반환된다.
따라서, KEK 키로서 지정된 키의 사용을 선택하거나 허가하는 것 이외에도, 키 구성 레지스터(250)의 설정은 복호된 데이터가 어디로 발송되어야 할지를 선택할 수 있는데, 여기서 발송될 곳은 (세션 키 복호를 위한) 현재 키 레지스터와 (데이터 복호의 경우의) 일반 텍스트 저장소(204) 중 어느 하나이다. 다른 실시예들에서, 다른 구성 레지스터들 또는 하드웨어 메커니즘들은 복호된 데이터가 현재 키 레지스터에 저장되는지 또는 일반 텍스트 저장소에 저장되는지를 특정하는데 사용될 수 있다. 또 다른 실시예들은 어느 키가 선택되었는지에 따라, 일반 텍스트 저장소(204)에서 데이터가 저장되어야 할 장소를 특정할 수 있다.
바람직하게는, 복호된 세션 키는 항상 방화벽(10) 뒤에 저장되고 소프트웨어에 의해 액세스될 수 없다. 이후 복호된 세션 키는, 일반적으로 도 2a에 관하여 설명된 것과 유사한 방식으로, 필요에 따라 암호문을 복호하는데 사용된다.
위에서 알 수 있는 바와 같이, 실시예들에 따르면, 키 구성 레지스터(250)의 키 구성 비트가 설정될 때, KEK 키(예컨대, 슬롯 #1의 키)는 "정규(regular)" 데이터를 해독하는데 사용될 수 없다. KEK 키가 텍스트 복호화(또는 암호화) 동작에서의 사용을 위해 요청되면, 복호화 에러 비트가 복호화 에러 레지스터(254)에 설정될 수 있다. 이 경우에는, 키 선택 레지스터(201)가 적절한 값을 가질 때까지, 어떠한 암호화 또는 복호화 동작도 수행될 수 없다.
이제 도 3을 보면, 실시예들의 동작을 보여주는 흐름도가 도시되어 있다. 특히, 도 3의 흐름도(300)는 실시예들에 따라 세션 키를 이용하는 데이터의 복호화를 보여준다.
처음에, 소프트웨어는 복호화 동작이 수행되어야 함을 특정할 수 있다. 예를 들어, 처리 단계(302)에서, 데이터는 또 하나의 노드로부터 수신되어 암호문 저장소(202)의 일부분에 저장될 수 있다. 처리 단계(304)에서는 키가 식별될 수 있다. 예를 들어, 실시예들에 따르면, 소프트웨어 명령어들은 사용되어야 할 키에 대응하는 키 슬롯을 선택하기 위해 키 선택 레지스터(201)를 설정할 수 있다. 게다가, 처리 단계(306)에서, 텍스트가 데이터에 대응하거나 세션 키에 대응하면 스펙(specification)이 만들어질 수 있다. 데이터 송신과 동반하는 하나 이상의 지침들 또는 명령어들과 같은, 이러한 스펙을 만들기 위해 다양한 방법들이 알려져 있다.
처리 단계(308)에서, 암호문이 데이터라면, 마이크로컨트롤러는 KEK 슬롯의 키가 선택되었는지의 여부를 결정할 수 있다. 선택된 슬롯이 KEK 키 슬롯에 대응하지 않은 상황에서, 이후 암호문이 세션 키라면(단계(310)), 예를 들어 복호화 에러 레지스터에 하나 이상의 비트들을 설정함으로써, 에러를 발생시킬 수 있다(단계(312)). 암호문이 데이터라면, 데이터는 복호되고(단계(318)) 소프트웨어에 의해 액세스 가능한 일반 텍스트 저장소에 일반 텍스트로서 저장될 것이다(단계(320)).
단계(308)에서, KEK 키 슬롯이 선택되었다면, 그리고 수신된 암호문이 데이터이었다면, 이후 KEK 슬롯의 키가 데이터를 해독하는데 사용될 수 있는지의 여부가 결정된다(단계(314)). 예를 들어, 암호화 상태 레지스터(252)와 같은 레지스터의 KEK 암호화 비트 또는 비트들과 같은 하나 이상의 구성 비트들이 체크될 수 있다. KEK 슬롯 키가 데이터를 해독하는데 사용될 수 없다면, 예를 들어 복호화 에러 레지스터(254)에 하나 이상의 에러 비트들을 설정함으로써, 에러를 시그널링할 수 있다(단계(316)). 이러한 실시예들에서, CPU 코어의 복호화 모듈은 유효 키가 키 선택 레지스터(201)에 특정될 때까지 어떠한 복호화나 암호화도 수행할 수 없을 것이다.
KEK 슬롯 키가 데이터를 해독하는데 사용될 수 있다면, 암호문은 복호되고(단계(318)) 소프트웨어에 액세스 가능한 일반 텍스트 저장소에 저장될 것이다(단계(320)).
단계(306)에서, 암호문이 세션 키라고 결정되면, 이후 단계(321)에서, KEK 슬롯의 키가 선택되었는지의 여부가 결정된다. 단계(321)에서 선택되지 않았다면, 에러가 발생될 수 있다(단계(323)). KEK 슬롯의 키가 선택되면, 단계(322)에서, KEK 슬롯의 키가 세션 키를 해독하는데 사용될 수 있는지의 여부가 결정된다. 예를 들어, 구성 레지스터 또는 상태 레지스터의 하나 이상의 비트들이 체크될 수 있다. KEK 슬롯의 키가 텍스트를 해독하는데 사용될 수 없다면, 예를 들어 에러 레지스터의 하나 이상의 비트들을 설정함으로써, 에러를 표시할 수 있다(단계(324)).
KEK 슬롯의 키가 세션 키를 해독하는데 사용될 수 있다면, 암호문은 복호될 것이다(단계(326)). 그러나, 세션 키는 소프트웨어에 액세스할 수 있는 일반 텍스트 저장소(204)에 일반 텍스트로서 저장되기보다는 오히려 방화벽(10) 뒤에 저장된다. 예를 들어, 세션 키는 현재 키 레지스터에 로딩될 수 있고(단계(328)) 및/또는 키 저장소(118)에 저장될 수 있다. 이후 복호된 세션 키는 위에 논의된 바와 같이 데이터를 복호하는데 사용될 수 있다.
전술한 본 명세서는 특정 실시예들을 설명하지만, 여기에 개시된 실시예들의 세부 사항들에서의 수많은 변화들 및 부가적인 실시예들은 이 설명을 참조하는 이 기술분야에 통상의 기술을 가진 사람들에게 명백할 것이고, 또한 이들에 의해 만들어질 수 있다. 이러한 관계에서, 본 명세서 및 도면은 제한적인 의미라기보다는 오히려 예시적인 의미로 간주되어야 하고, 모든 이러한 변경들은 본 개시의 범위 안에 포함된다. 따라서, 본 개시의 범위는 다음의 청구항들 및 이들의 법적인 균등물들에 의해 결정되어야 한다.

Claims (18)

  1. 마이크로컨트롤러로서,
    비휘발성 메모리에 저장된 온-칩 키 저장 슬롯들을 포함하며,
    어느 키가 사용될 것인지를 선택하는 것은 소프트웨어로 제한되고, 미리 결정된 키 저장 슬롯은 키 암호화 키(Key Encrypt Key; KEK)를 저장하고, 레지스터 플래그는 상기 미리 결정된 키 저장 슬롯이 데이터를 암호화/복호화하기 위한 키를 저장하는지 또는 키를 암호화/복호화하기 위한 상기 KEK를 저장하는지를 결정하기 위해 제공되는, 마이크로컨트롤러.
  2. 제 1 항에 있어서,
    상기 비휘발성 메모리는 일회성 프로그램 가능한 메모리인, 마이크로컨트롤러.
  3. 제 1 항에 있어서,
    상기 비휘발성 메모리는 플래시 메모리이고, 상기 키들은 암호화된 형식으로 저장되며, 상기 KEK는 상기 키들을 복호화하는데 사용될 수 있는, 마이크로컨트롤러.
  4. 제 1 항에 있어서,
    상기 레지스터 플래그가 설정되고 상기 미리 결정된 키 슬롯이 암호화 또는 복호화 동작에 사용되면, 키 구성 에러가 발생되는, 마이크로컨트롤러.
  5. 제 1 항에 있어서,
    상기 레지스터 플래그 및 상기 키들은 보안 권한의 레벨을 공유하는, 마이크로컨트롤러.
  6. 제 1 항에 있어서,
    상기 KEK 선택을 위한 상기 레지스터 플래그가 설정되었는지의 여부에 기초하여 그리고 복수의 키들 중 어느 키가 선택되었는지에 기초하여, 암호화된 데이터에 대한 목적지를 선택하기 위한 하드웨어를 더 포함하는 마이크로컨트롤러.
  7. 프로세서에서 암호화 키들을 처리하기 위한 방법으로서,
    비휘발성 메모리 내의 복수의 키 저장 슬롯들 중 미리 결정된 슬롯들로부터 적어도 하나의 키 암호화 키(KEK)를 선택하는 단계;
    상기 적어도 하나의 키 암호화 키가 데이터를 암호화/복호화하는데 사용되어야 할지 또는 세션 키를 암호화/복호화하는데 사용되어야 할지를 결정하는 단계; 및
    상기 적어도 하나의 키 암호화 키가 세션 키를 암호화/복호화하는데 사용되어야 하면, 상기 키 암호화 키가 데이터를 암호화/복호화하는 것을 방지하는 단계를 포함하는, 암호화 키들 처리 방법.
  8. 제 7 항에 있어서,
    상기 비휘발성 메모리는 일회성 프로그램 가능한 메모리인, 암호화 키들 처리 방법.
  9. 제 7 항에 있어서,
    상기 비휘발성 메모리는 플래시 메모리이고, 상기 키들은 암호화된 형식으로 저장되며, 상기 KEK는 상기 키들을 복호화하는데 사용될 수 있는, 암호화 키들 처리 방법.
  10. 제 7 항에 있어서,
    레지스터 플래그가 설정되고 상기 미리 결정된 키 슬롯이 암호화 또는 복호화 동작에 사용되면, 키 구성 에러가 발생되는, 암호화 키들 처리 방법.
  11. 제 7 항에 있어서,
    암호화/복호화 상태에 대응하는 레지스터 플래그 및 상기 키들은 보안 권한의 레벨을 공유하는, 암호화 키들 처리 방법.
  12. 제 7 항에 있어서,
    KEK 선택이 설정되었는지의 여부에 기초하여 그리고 데이터를 암호화/복호화하기 위해 복수의 키들 중 어느 키가 선택되었는지에 기초하여, 암호화된 데이터에 대한 목적지를 선택하는 단계를 더 포함하는, 암호화 키들 처리 방법.
  13. 프로세서에서 암호화 키들을 처리하기 위한 방법으로서,
    비휘발성 메모리 내의 복수의 키 저장 슬롯들 중 미리 결정된 슬롯 내의 복수의 키들 중에서 듀얼 모드 암호화 키를 제공하는 단계; 및
    상기 듀얼 모드 암호화 키가 데이터를 암호화/복호화하는데 사용되어야 할지 또는 세션 키를 암호화/복호화하는데 사용되어야 할지를 정의하는 단계를 포함하고,
    여기서, 듀얼 모드 암호화 키가 세션 키를 암호화/복호화하는데 사용되도록 정의되면, 상기 듀얼 모드 암호화 키는 데이터를 암호화 또는 복호화하는데 사용될 수 없는, 암호화 키들 처리 방법.
  14. 제 13 항에 있어서,
    상기 비휘발성 메모리는 일회성 프로그램 가능한 메모리인, 암호화 키들 처리 방법.
  15. 제 13 항에 있어서,
    상기 비휘발성 메모리는 플래시 메모리이고, 상기 복수의 키들은 암호화된 형식으로 저장되며, 상기 듀얼 모드 암호화 키는 상기 키들을 복호화하는데 사용되는, 암호화 키들 처리 방법.
  16. 제 13 항에 있어서,
    상태 비트가 설정되고 상기 듀얼 모드 암호화 키 슬롯이 암호화 또는 복호화 동작에 사용되면, 키 구성 에러가 발생되는, 암호화 키들 처리 방법.
  17. 제 16 항에 있어서,
    상기 상태 비트 및 상기 키들은 보안 권한의 레벨을 공유하는, 암호화 키들 처리 방법.
  18. 제 13 항에 있어서,
    어느 모드가 설정되는지에 기초하여 그리고 데이터를 암호화/복호화하기 위해 복수의 키들 중 어느 키가 선택되었는지에 기초하여, 암호화된 데이터에 대한 목적지를 선택하는 단계를 더 포함하는, 암호화 키들 처리 방법.
KR20147026098A 2012-02-21 2013-02-20 키 암호화 키를 사용하는 암호 송신 시스템 KR20140129207A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261601253P 2012-02-21 2012-02-21
US61/601,253 2012-02-21
US13/771,572 2013-02-20
US13/771,572 US9286241B2 (en) 2012-02-21 2013-02-20 Cryptographic transmission system
PCT/US2013/026891 WO2013126422A1 (en) 2012-02-21 2013-02-20 Cryptographic transmission system using key encryption key

Publications (1)

Publication Number Publication Date
KR20140129207A true KR20140129207A (ko) 2014-11-06

Family

ID=48983268

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20147026098A KR20140129207A (ko) 2012-02-21 2013-02-20 키 암호화 키를 사용하는 암호 송신 시스템

Country Status (5)

Country Link
US (1) US9286241B2 (ko)
EP (1) EP2817916B1 (ko)
KR (1) KR20140129207A (ko)
CN (1) CN104247327B (ko)
WO (1) WO2013126422A1 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2817916B1 (en) * 2012-02-21 2020-06-10 Microchip Technology Incorporated Cryptographic transmission system using key encryption key
US9087205B2 (en) * 2013-10-11 2015-07-21 Sap Se Shared encrypted storage
US9647832B2 (en) 2014-01-13 2017-05-09 Visa International Service Association Efficient methods for protecting identity in authenticated transmissions
US9443111B2 (en) 2014-02-28 2016-09-13 Seagate Technology Llc Device security using an encrypted keystore data structure
JP6368531B2 (ja) * 2014-04-28 2018-08-01 達広 白井 暗号処理装置、暗号処理システム、および暗号処理方法
US9984256B2 (en) * 2014-05-15 2018-05-29 Seagate Technology Llc Storage device tampering detection
CN111355749A (zh) 2014-06-18 2020-06-30 维萨国际服务协会 用于已认证的通信的高效方法
US9258117B1 (en) 2014-06-26 2016-02-09 Amazon Technologies, Inc. Mutual authentication with symmetric secrets and signatures
AU2015290223B2 (en) 2014-07-16 2018-05-10 Bae Systems Information And Electronic Systems Integration Inc. Flash memory device for storing sensitive information and other data
US10387662B2 (en) 2014-07-16 2019-08-20 Jeffrey B. Canter Flash memory device for storing sensitive information and other data
EP3195521B1 (en) 2014-08-29 2020-03-04 Visa International Service Association Methods for secure cryptogram generation
US10461933B2 (en) 2015-01-27 2019-10-29 Visa International Service Association Methods for secure credential provisioning
EP3257227B1 (en) 2015-02-13 2021-03-31 Visa International Service Association Confidential communication management
US10122689B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Load balancing with handshake offload
US10122692B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Handshake offload
CN105512517A (zh) * 2015-11-25 2016-04-20 成都天奥测控技术有限公司 一种嵌入式软件加密方法
SG11201807726QA (en) 2016-06-07 2018-10-30 Visa Int Service Ass Multi-level communication encryption
EP3299988B1 (en) * 2016-09-22 2021-03-10 MARICI Holdings The Netherlands B.V. Secure communication method and system
EP3639176A4 (en) * 2017-06-12 2021-01-06 Daniel Maurice Lerner COMBINED HIDDEN DEVICES FOR DYNAMIC DIRECT ACCESS USING SELECTABLE KEYS AND KEY LOCATORS TO COMMUNICATE RANDOMIZED DATA TOGETHER WITH SUBCHANNELS AND ENCODED KEYS
US10158613B1 (en) 2017-06-12 2018-12-18 Ironclad Encryption Corporation Combined hidden dynamic random-access devices utilizing selectable keys and key locators for communicating randomized data together with sub-channels and coded encryption keys
US11032067B2 (en) * 2017-07-03 2021-06-08 Stmicroelectronics S.R.L. Hardware secure module, related processing system, integrated circuit, device and method
WO2019178559A1 (en) * 2018-03-15 2019-09-19 Medici Ventures, Inc. Splitting encrypted key and encryption key used to encrypt key into key components allowing assembly with subset of key components to decrypt encrypted key
GB201807257D0 (en) * 2018-05-02 2018-06-13 Nordic Semiconductor Asa Cryptographic key distribution
WO2020018644A1 (en) * 2018-07-17 2020-01-23 Canter Jeffrey B Flash memory device for storing sensitive information and other data
EP3864793A4 (en) 2018-10-12 2022-08-10 tZERO IP, LLC ENCRYPTED ASSET ENCRYPTION KEY PARTS FOR ASSEMBLING AN ASSET ENCRYPTION KEY USING A SUBSET OF THE ENCRYPTED ASSET ENCRYPTION KEY PARTS
FR3094520B1 (fr) * 2019-03-25 2021-10-22 St Microelectronics Rousset Clé de chiffrement et/ou de déchiffrement
TWI728355B (zh) * 2019-05-10 2021-05-21 慧榮科技股份有限公司 密碼保護的資料儲存裝置以及非揮發式記憶體控制方法
CN112231719A (zh) * 2019-07-15 2021-01-15 美光科技公司 密码密钥管理
US11205003B2 (en) 2020-03-27 2021-12-21 Intel Corporation Platform security mechanism
CN112417491A (zh) * 2020-12-11 2021-02-26 合肥大唐存储科技有限公司 固态硬盘的数据加密密钥获取、恢复方法和数据读写方法
WO2022256555A2 (en) * 2021-06-03 2022-12-08 Ntt Research, Inc. Function-embedded traitor tracing for a digital content distribution system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237611A (en) 1992-07-23 1993-08-17 Crest Industries, Inc. Encryption/decryption apparatus with non-accessible table of keys
GB9930145D0 (en) * 1999-12-22 2000-02-09 Kean Thomas A Method and apparatus for secure configuration of a field programmable gate array
US7005733B2 (en) * 1999-12-30 2006-02-28 Koemmerling Oliver Anti tamper encapsulation for an integrated circuit
US7469338B2 (en) * 2002-07-29 2008-12-23 Broadcom Corporation System and method for cryptographic control of system configurations
EP1429224A1 (en) 2002-12-10 2004-06-16 Texas Instruments Incorporated Firmware run-time authentication
US7280956B2 (en) * 2003-10-24 2007-10-09 Microsoft Corporation System, method, and computer program product for file encryption, decryption and transfer
WO2005121972A1 (en) * 2004-06-14 2005-12-22 Research In Motion Limited Method and system for securing data utilizing redundant secure key storage
JP4447977B2 (ja) * 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
US8160244B2 (en) * 2004-10-01 2012-04-17 Broadcom Corporation Stateless hardware security module
AU2005285538A1 (en) * 2005-01-06 2006-03-23 Measat Broadcast Network Systems Sdn.Bhd. An interactive television system
US20070162964A1 (en) * 2006-01-12 2007-07-12 Wang Liang-Yun Embedded system insuring security and integrity, and method of increasing security thereof
WO2009029842A1 (en) * 2007-08-31 2009-03-05 Exegy Incorporated Method and apparatus for hardware-accelerated encryption/decryption
JP4884412B2 (ja) * 2008-03-12 2012-02-29 京セラ株式会社 携帯端末
US8635402B2 (en) * 2009-03-31 2014-01-21 Nec Corporation Storage system and storage access method and program
KR101601790B1 (ko) * 2009-09-22 2016-03-21 삼성전자주식회사 암호키 선택장치를 구비하는 스토리지 시스템 및 암호 키 선택방법
US8661266B2 (en) * 2010-04-21 2014-02-25 Cavium, Inc. System and method for secure device key storage
EP2817916B1 (en) * 2012-02-21 2020-06-10 Microchip Technology Incorporated Cryptographic transmission system using key encryption key

Also Published As

Publication number Publication date
EP2817916B1 (en) 2020-06-10
CN104247327B (zh) 2017-11-10
WO2013126422A1 (en) 2013-08-29
US20130219189A1 (en) 2013-08-22
EP2817916A1 (en) 2014-12-31
US9286241B2 (en) 2016-03-15
CN104247327A (zh) 2014-12-24

Similar Documents

Publication Publication Date Title
KR20140129207A (ko) 키 암호화 키를 사용하는 암호 송신 시스템
US8484486B2 (en) Integrated cryptographic security module for a network node
JP5275482B2 (ja) ストレージメディア、ホスト装置、メモリ装置、及びシステム
KR101704569B1 (ko) 시동 기반 동적 차량 보안 통신 제어 방법 및 그를 위한 장치 및 시스템
US11032067B2 (en) Hardware secure module, related processing system, integrated circuit, device and method
US8600061B2 (en) Generating secure device secret key
JP4964945B2 (ja) 共通プライベートキーセットを利用した複数のキーラダーのサポート
CN105009597A (zh) 作为阻止密钥恢复攻击的对策的用于发射器-接收器配对的主密钥加密功能
US9288046B2 (en) Device for generating an encrypted key and method for providing an encrypted key to a receiver
JP2009521154A (ja) セキュア・システム・オン・チップ
JP2014175970A (ja) 情報配信システム、情報処理装置及びプログラム
US9729319B2 (en) Key management for on-the-fly hardware decryption within integrated circuits
KR102569893B1 (ko) 차량 네트워크를 위한 보안 기법 및 그 장치
TWI797353B (zh) 動態密碼密鑰擴展之電路、方法及系統
US7975141B2 (en) Method of sharing bus key and apparatus therefor
EP3425552B1 (en) Hardware secure module, related processing system, integrated circuit, device and method
KR20140112815A (ko) 조건부 프록시 재암호화 기법을 이용한 데이터 전송 방법 및 시스템
EP3425551B1 (en) A processing system, related integrated circuit, device and method for a hardware secure module
KR20220000537A (ko) 차량 네트워크 기반의 데이터 송수신 시스템 및 그 방법
CN109711207A (zh) 一种数据加密方法及装置
JP7385025B2 (ja) 暗号化コプロセッサにおけるエンティティ固有の暗号化コードの実行
JP2011039728A (ja) データ記憶装置、データ記憶システム、データ書き込み方法およびデータ読み出し方法
KR101758233B1 (ko) 비대칭 특성을 이용한 외부 저장장치의 데이터에 대한 암호화를 수행하는 장치 및 방법
JP6108012B2 (ja) 情報配信システム、情報処理装置及びプログラム
KR20190069763A (ko) 하드웨어 인증칩 기반의 경량 암호 알고리즘 보안 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application