KR20100015077A - 시스템 온 칩에서 암호화 방법 및 장치 - Google Patents

시스템 온 칩에서 암호화 방법 및 장치 Download PDF

Info

Publication number
KR20100015077A
KR20100015077A KR1020080075984A KR20080075984A KR20100015077A KR 20100015077 A KR20100015077 A KR 20100015077A KR 1020080075984 A KR1020080075984 A KR 1020080075984A KR 20080075984 A KR20080075984 A KR 20080075984A KR 20100015077 A KR20100015077 A KR 20100015077A
Authority
KR
South Korea
Prior art keywords
encryption
address
data
seed
wrapper
Prior art date
Application number
KR1020080075984A
Other languages
English (en)
Other versions
KR101475821B1 (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 삼성전자주식회사
Priority to KR1020080075984A priority Critical patent/KR101475821B1/ko
Publication of KR20100015077A publication Critical patent/KR20100015077A/ko
Application granted granted Critical
Publication of KR101475821B1 publication Critical patent/KR101475821B1/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/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
    • 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/82Protecting input, output or interconnection devices
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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

Landscapes

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

Abstract

본 발명은 시스템 온 칩에서 암호화 방법 및 장치에 관한 것으로서, 데이터와 주소를 입력받는 과정과, 상기 주소의 일부 비트를 이용하여 기 저장된 시드 테이블에서 암호화 시드 값을 선택하는 과정과, 상기 주소의 나머지 비트를 이용하여 상기 선택된 암호화 시드 값을 변형하는 과정과, 상기 변형된 시드 값으로 상기 데이터를 암호화하는 과정을 포함하여, 버스(bus)와 IP 사이에 추가된 래퍼(wrapper) 형식의 암호화/복호화 계층을 통해 주소(address) 정보를 이용하여 암호화를 위한 시드(seed)를 선택 및 변형하여 암호화/복호화를 수행함으로써, 소프트웨어 운영체제(Operating System) 수준에서의 해킹(hacking) 혹은 상호접속(interconnection)에 대해서 하드웨어적인 수준의 보안 기법을 제공할 수 있다.
SOC(System On Chip), 암호화(encryption), 시드(seed), 암호(cipher)

Description

시스템 온 칩에서 암호화 방법 및 장치{APPARATUS AND METHOD FOR ENCRYPTION IN SYSTEM ON CHIP}
본 발명은 시스템 온 칩에서 암호화 방법 및 장치에 관한 것으로서, 특히 버스(bus)와 IP 사이에 래퍼(wrapper) 형식의 암호화/복호화 계층을 추가하여 데이터의 암호화/복호화(encryption/decryption)를 수행하는 방법 및 장치에 관한 것이다.
일반적으로, 시스템 온 칩(System On Chip)에서는 도 1에 도시된 바와 같이 공통의 데이터 전송로인 버스(BUS)를 사용하여 중앙 처리 장치(CPU; Central Processor Unit)와 메모리(memory) 및 기타 주변기기들을 연결하고 있으며, 최근에는 단일 칩의 확장성을 위해 상기 시스템 온 칩 내부의 버스 신호들을 외부와 연결하여 상기 시스템 온 칩에 메모리 혹은 주변 기기를 추가할 수 있도록 하고 있다.
한편, 최근에는 전기전자 기술의 발달로 인해 과거보다 가치적으로 중요한 정보들이 디지털화되면서, 상기 정보들에 대한 보안과 저작권에 대한 관심이 높아 지고 있다. 예를 들어, 전자거래에 사용되는 아이디(ID), 비밀번호(password) 및 인증서 등과 같은 사용자 개인 정보가 누출될 경우, 사용자의 명의 도용을 통한 피해가 발생될 수 있으며, 특정 기기의 펌웨어(Firmware)가 유출될 경우 이를 해킹(Hacking)한 펌웨어를 통해 상기 펌웨어가 상기 제작자의 의도와는 다른 용도로 사용될 수 있어, 이를 방지 혹은 해결하기 위한 보안 및 저작권에 대한 연구가 활발히 진행되고 있다.
종래에는 상기 중요한 정보들을 보호하기 위해 몇 가지 보안 기법이 제공되고 있다. 예를 들어, 소프트웨어 수준에서 중요한 정보를 암호화하여 저장하는 기법, 물리적으로 접근 가능한 외부 메모리 혹은 주변 기기에 전용의 암호와 인터페이스(encryption interface)를 이용하는 기법, 멀티 프로세서에 의한 내무 메모리의 정보 추출을 방지하기 위하여 내부적으로 이중 구조를 설계하는 기법, 및 버스 수준에서 영역별로 접근을 제어하는 기법이 제공되고 있다.
하지만, 상술한 바와 같이 종래에 제공되는 기법들은 모두 단점을 지니고 있다. 먼저, 상기 소프트웨어 수준에서 정보를 암호화하여 저장하는 기법은 소프트웨어 코드가 복잡해지며, 상기 중앙 처리 장치의 전력을 소모하게 되고, 다른 소프트웨어를 이용할 경우 전체 시스템에 저장된 중요 데이터에 접근이 가능해지는 문제가 있다. 그리고, 상기 외부 메모리 혹은 주변 기기에 전용의 암호와 인터페이스를 이용하는 기법은 동일한 암호화 인터페이스가 적용되지 않은 다른 칩과는 상기 외부 메모리 혹은 주변 기기를 공유할 수 없는 단점이 있으며, 상기 내부적으로 이중 구조를 설계하는 기법은 칩 내부에 두 개의 도메인(domain)이 생성되어 버스나 기 타 구조를 이중으로 설계해야 하므로 복잡도가 증가하며, 내부 도메인 간의 데이터 교환이 전용의 인터페이스를 통해서만 이루어져야 한다는 단점이 있다. 마지막으로, 상기 버스 수준에서 영역별로 접근을 제어하는 기법은 버스의 디버그 모드(debug mode) 등을 통해 버스 데이터가 유출될 수 있는 문제점이 있다.
따라서, 상기와 같은 문제점들을 해결할 수 있는 보안 기법이 필요되고 있다.
본 발명은 상술한 바와 같은 문제점을 해결하기 위해 도출된 것으로서, 본 발명의 목적은 시스템 온 칩에서 암호화 방법 및 장치를 제공함에 있다.
본 발명의 다른 목적은 시스템 온 칩에서 하드웨어 수준에서 정보를 암호화/복호화하는 보안 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 목적은 시스템 온 칩에서 버스(bus)와 IP 사이에 래퍼(wrapper) 형식의 암호화/복호화 계층을 추가하여 데이터를 암호화/복호화(encryption/decryption)하기 위한 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 목적은 시스템 온 칩에서 주소(address) 정보를 이용하여 암호화를 위한 시드(seed)를 선택 및 변형하여 암호화를 수행하기 위한 방법 및 장치를 제공함에 있다.
상술한 목적들을 달성하기 위한 본 발명의 제 1 견지에 따르면, 시스템 온 칩에서 암호화 방법은, 데이터와 주소를 입력받는 과정과, 상기 주소의 일부 비트를 이용하여 기 저장된 시드 테이블에서 암호화 시드 값을 선택하는 과정과, 상기 주소의 나머지 비트를 이용하여 상기 선택된 암호화 시드 값을 변형하는 과정과, 상기 변형된 시드 값으로 상기 데이터를 암호화하는 과정을 포함하는 것을 특징으로 한다.
상술한 목적들을 달성하기 위한 본 발명의 제 2 견지에 따르면, 시스템 온 칩에서 암호화 장치는, 데이터와 주소를 출력하는 IP 장치와, 상기 IP 장치로부터 제공되는 주소의 일부 비트를 이용하여 기 저장된 시드 테이블에서 암호화 시드 값을 선택하고, 상기 주소의 나머지 비트로 상기 선택된 암호화 시드 값을 변형하여 상기 데이터를 암호화하는 암호 래퍼를 포함하는 것을 특징으로 한다.
본 발명에서는 시스템 온 칩에서 버스(bus)와 IP 사이에 래퍼(wrapper) 형식의 암호화/복호화 계층을 추가하고, 주소(address) 정보를 이용하여 암호화를 위한 시드(seed)를 선택 및 변형하여 암호화/복호화를 수행함으로써, 소프트웨어 운영체제(Operating System) 수준에서의 해킹(hacking) 혹은 상호접속(interconnection)에 대한 하드웨어적인 불법접근에 대해서 하드웨어적인 수준의 보안 기법을 제공할 수 있다. 또한, 상기 암호화/복화화 계층의 위치와 그 동작 특성을 이용하여 다양한 방법으로 활용이 가능하며, 특정 주소에 대한 하드웨어적인 접근 제어가 가능하고, 주소 맵핑 테이블(address mapping table)을 이용한 가상 주소 맵핑(address mapping)등을 통해 물리적인 메모리의 가상화를 하드웨어 수준에서 제공할 수 있어 종래 기법들에 비해 강력한 보안 수단으로 사용될 수 있는 효과가 있다.
이하 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 설명한다. 그리 고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
이하 본 발명에서는 시스템 온 칩에서 버스(bus)와 IP(Intelligent Peripheral) 장치 사이에 래퍼(wrapper) 형식의 암호화/복호화 계층을 추가하고, 주소(address) 정보를 이용하여 암호화를 위한 시드(seed) 값을 선택 및 변형하여 암호화/복호화를 수행하는 기술에 관해 설명할 것이다.
본 발명에서는 시스템 온 칩에서 도 2에 도시된 바와 같이 중앙 처리 장치(CPU: Central Processor Unit), 내부 메모리(Internal Memory), 외부 메모리(External Memory) 혹은 주변 기기(Peripheral device)와 같은 각각의 IP와 버스 사이에 암호화/복호화를 수행하는 계층, 즉 암호 래퍼(Cipher Wrapper)(200, 202, 204, 206, 208)를 추가하여 하드웨어 수준에서 데이터의 암호화/복호화를 수행한다. 즉, 상기 IP와 버스 사이에 암호 래퍼를 추가하여 상기 IP에서 버스로 출력되는 데이터를 암호화할 수 있다. 여기서, 상기 각각의 IP와 버스 사이에는 필요에 따라 상기 암호 래퍼가 추가될 수도 있으며, 추가되지 않을 수도 있다.
그러면, 하기 도 3을 참조하여 상기 암호 래퍼의 상세한 블록 구성에 대해 살펴보기로 한다. 이하에서는 상기 암호 래퍼가 데이터를 암호화하는 동작을 예로 들어 설명하며, 상기 암호 래퍼가 이하 설명되는 암호화 방식으로 암호화된 데이터를 대응되는 방식으로 복호화하는 것은 당연할 것이다.
도 3은 본 발명에 따른 시스템 온 칩에서 암호 래퍼의 상세한 블록 구성을 도시하고 있다.
상기 도 3을 참조하면, 상기 암호 래퍼(310)는 CPU(300)와 버스 래퍼(320) 사이에 존재하며, 영역 선택부(Range Selector)(312), 시드 메모리(Seed memory)(314), 시드 변형부(Seed Modifier)(316), 데이터 마스킹부(310)를 포함하여 구성된다. 여기서는, 상기 암호 래퍼(310)가 상기 CPU(300)와 버스 래퍼(320) 사이에 존재하는 경우를 예로 들어 설명하지만, 상기 CPU(300)이외의 다른 IP 장치와 버스 래퍼 사이에 존재할 경우에도 동일하게 적용된다.
먼저, 상기 암호 래퍼(310)는 상기 CPU(310)로부터 데이터와 주소가 제공되면, 상기 주소를 이용하여 암호화 시드(encryption seed) 값을 선택 및 변형한 후, 상기 변형된 암호화 시드로 상기 데이터를 암호화하여 상기 버스 래퍼(320)로 제공한다.
즉, 상기 암호 래퍼(310)는 상기 영역 선택부(312)를 통해 상기 CPU(300)로부터 입력되는 주소(address)에서 일부 비트(bit)를 추출하여 상기 데이터를 저장할 주소 영역을 구분하고, 상기 구분된 주소 영역을 이용하여 상기 시드 메모리(314)에서 해당 주소 영역에 대한 암호화 시드 값을 추출한다.
여기서, 상기 영역 선택부(312)는 도 4에 도시된 바와 같이, 기 설정된 주소 영역 선택 정보(402)에 따라 입력 주소(410)에서 일부 비트를 선택하는 비트 선택부(400)를 포함함으로써, 상기 CPU(300)로부터 입력되는 주소(410)에서 일부 비트를 선택하여 주소 영역을 선택하는 신호(Address Range selection)(412)를 생성하 고, 상기 주소에서 선택되지 않은 남은 비트들로 서브 주소 신호(Sub address)(414)를 생성하여 출력한다. 여기서, 상기 주소 영역 선택 정보(402)는 상기 CPU(300)의 제어에 의해 갱신이 가능하다.
상기 시드 메모리(314)는 각 주소 영역에 대한 암호화 시드 값을 저장하고 있으며, 상기 시드 메모리(314)에 저장된 암호화 시드 값은 사용자에 의해 삭제, 추가 및 갱신이 가능하다. 즉, 도 5에 도시된 바와 같이, 상기 시드 메모리(314, 500)는 암호화를 위한 시드 테이블을 저장함으로써, 상기 영역 선택부(312)에서 생성된 주소 영역 선택 신호(Address Range selection)에 해당하는 영역의 시드 값을 상기 시드 변형부(316, 510)로 출력한다.
또한, 상기 암호 래퍼(310)는 상기 시드 변형부(316)를 통해 상기 시드 메모리(314)에서 추출된 암호화 시드 값을 변형하여 암호 키를 생성한다. 이때, 상기 시드 변형부(316)는 상기 영역 선택부(312)에서 주소 영역 구분을 위해 추출된 일부 비트를 제외한 나머지 비트들을 이용하여 상기 추출된 암호화 시드 값을 변형한다. 즉, 도 5에 도시된 바와 같이, 상기 시드 변형부(316, 510)는 상기 영역 선택부(312)에서 생성된 서브 주소 신호(Sub address)를 이용하여 상기 시드 메모리(500)로부터 제공되는 시드 값을 변형한다. 여기서, 상기 서브 주소 신호를 이용하여 시드를 변형한 후 변형된 시드를 암호 키로 사용함으로써, 상기 주소에 해당하는 영역 내에 적용되는 암호 키의 값을 모두 다르게 할 수 있다.
상기 암호 래퍼(310)는 상기 데이터 마스킹부(318)를 통해 상기 변형된 암호화 시드 값을 이용하여 상기 CPU(300)로부터 제공된 데이터를 암호화한 후, 암호 화된 데이터를 상기 버스 래퍼(320)로 출력한다. 즉, 도 5에 도시된 바와 같이, 상기 데이터 마스킹부(318, 520)는 상기 시드 변형부(316, 510)에서 변형된 시드 값을 이용하여 상기 CPU(300)로부터 입력되는 데이터를 암호화한 후 암호화된 데이터를 출력한다. 여기서, 상기 암호 래퍼(310)는 기본적으로 전송 지연을 감소시키기 위해 마스킹 기법을 수행하여 데이터를 암호화하지만, 버스의 동작 속도를 훼손하지 않는 범위 내에서 복잡한 암호화 알고리즘을 적용하여 암호화할 수 있다.
도 6은 본 발명의 실시 예에 따른 시스템 온 칩의 암호 래퍼에서 데이터를 암호화하는 절차를 도시하고 있다.
상기 도 6을 참조하면, 상기 암호 래퍼는 CPU로부터 주소와 데이터가 수신되면, 603단계로 진행하여 상기 수신된 주소에서 일부 비트를 추출하여 주소 영역 선택 신호와 서브 주소 신호를 생성한다. 즉, 상기 암호 래퍼는 기 설정된 주소 영역 선택 정보에 따라 상기 수신된 주소에서 일부 비트를 선택하여 주소 영역을 선택하는 신호(Address Range selection)를 생성하고, 상기 주소에서 선택되지 않은 남은 비트들로 서브 주소(Sub Address) 신호를 생성한다.
이후, 상기 암호 래퍼는 605단계에서 각 주소 영역에 대한 암호화 시드 값을 저장하고 있는 시드 메모리에서 상기 주소 영역 선택 신호에 해당하는 암호화 시드 값을 추출한 후, 607단계에서 상기 서브 주소 신호를 이용하여 상기 시드 메모리에서 추출된 암호화 시드 값을 변형하여 암호 키를 생성한다.
이후, 상기 암호 래퍼는 609단계에서 상기 생성된 암호 키, 즉, 상기 변형된 암호화 시드 값을 이용하여 상기 CPU로부터 제공된 데이터를 암호화한 후, 암호화된 데이터와 상기 수신된 주소를 버스 래퍼를 통해 다른 장치로 전송한다.
이후, 상기 암호 래퍼는 본 발명에 따른 알고리즘을 종료한다.
그러면, 이하에서는 상술한 바와 같은 구성을 바탕으로 하기 도 7a 내지 7e를 참조하여 본 발명에 따른 암호 래퍼를 활용하는 예를 살펴보기로 한다.
도 7a 내지 7e는 본 발명의 실시 예에 따른 시스템 온 칩에서 암호 래퍼를 활용한 예를 도시하고 있다.
먼저, 상기 도 7a는 CPU의 데이터를 내부 메모리의 보안 영역(secure range)(701)에 저장하는 예를 나타내는 것으로서, 소프트웨어를 통해 데이터를 암호화하고 저장위치를 결정하지 않고서도, 상기 CPU에서 데이터의 저장 위치를 상기 보안 영역(701)으로 정의해주면, 하드웨어에서 자체적으로 상기 데이터를 암호화하여 상기 보안 영역(701)에 저장할 수 있게 된다.
도 7b와 7c는 시드 값에 따라 CPU가 접근할 수 있는 보안 영역이 달라짐을 나타내는 것으로서, 상기 도 7b는 암호 래퍼 내에 저장된 시드 메모리에서 특정 시드 값을 삭제할 경우, 해당 보안 영역에 접근할 수 없게되는 것을 나타낸다. 즉, CPU1(711)은 암호 래퍼를 통해 보안 영역 A, B(713, 715)에 접근이 가능했으나,상기 암호 래퍼에서 보안 영역 B에 대한 시드 값을 삭제함으로써, 상기 CPU1(711)은 상기 보안 영역 A(713)에만 접근할 수 있고, 보안 영역 B(715)에는 접근할 수 없게 된다.
또한, 상기 도 7c는 복수의 CPU(721, 723)를 사용하는 시스템에서 상기 CPU 각각(721, 723)에 연결된 암호 래퍼 내에 저장된 시드 메모리의 시드 값을 서로 교환하여 변경할 경우, 각 CPU(721, 723)가 접근할 수 있는 보안 영역이 달라지는 것을 나타낸다. 즉, 각각의 암호 래퍼에 저장된 시드 값에 의해 CPU 1(721)은 보안 영역 B(727)에 접근이 가능하고, CPU 2(723)는 보안 영역 A(725)에 접근이 가능했으나, 상기 암호 래퍼에 저장된 시드 값을 서로 교환함으로써, CPU 1(721)은 보안 영역 A(725)에 접근이 가능하고, CPU 2(723)는 보안 영역 B(727)에 접근이 가능하게 된다. 여기서, 내부 메모리2(Internal Memory 2)와 내부 메모리2 버스 래퍼(Internal Memory2 BUS wrapper) 사이에는 암호 래퍼가 존재하지 않으므로, 상기 내부 메모리 2의 각 영역은 각각의 IP 장치에 의해 별도로 암호화될 수 있게 된다.
상기 도 7b 및 7c에 도시된 바와 같이, 본 발명에 따른 암호 래퍼를 이용할 경우 시드 메모리에 저장된 시드 값을 변경 혹은 삭제함으로써, 각 IP 장치에 대해 해당 영역의 정보에 대한 접근을 허용하거나 금지할 수 있게 된다. 또한 상기 시드 값을 교환함으로써 복수의 보안 영역 간에 데이터의 교환이 짧은 시간 내에 가능하게 된다.
도 7d는 CPU(731)와 암호 래퍼가 적용된 외부 기기(733) 사이에 데이터 채널을 나타낸 것으로서, 상기 CPU(731)와 외부 기기(733)를 통한 데이터 모두 암호 래퍼를 통해 암호화됨으로써, 둘 사이에 안정성이 높은 데이터 채널이 구성되어 암호화를 위한 별도의 암호 인터페이스(encryption interface) 모듈을 구비할 필요가 없게 된다.
도 7e는 암호 래퍼가 추가된 각 IP간의 데이터 경로를 나타낸 것으로서, 각 IP의 데이터는 출력시에 바로 암호화된 후 수신 IP의 입력시에 복호화되어 대부분의 데이터 경로에서 암호화된 상태로 전달됨으로써, 버스(741)를 통해 악의적인 접근이 발생되더라도 원래 데이터가 노출될 위험이 적어진다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
도 1은 일반적인 시스템 온 칩의 버스 구조를 도시하는 도면,
도 2는 본 발명에 따른 시스템 온 칩에서 암호화/복호화 계층이 추가된 버스 구조를 도시하는 도면,
도 3은 본 발명에 따른 시스템 온 칩에서 암호 래퍼의 상세한 블록 구성을 도시하는 도면,
도 4는 본 발명의 실시 예에 따른 시스템 온 칩에서 주소 영역 선택부의 상세한 구성을 도시하는 도면,
도 5는 본 발명의 실시 예에 따른 시스템 온 칩에서 시드를 선택 및 변형하여 데이터를 암호화하는 블록 구성을 도시하는 도면,
도 6은 본 발명의 실시 예에 따른 시스템 온 칩의 암호 래퍼에서 데이터를 암호화하는 절차를 도시하는 도면, 및
도 7a 내지 7e는 본 발명의 실시 예에 따른 시스템 온 칩에서 암호 래퍼를 활용한 예를 도시하는 도면.

Claims (2)

  1. 시스템 온 칩에서 암호화 방법에 있어서,
    데이터와 주소를 입력받는 과정과,
    상기 주소의 일부 비트를 이용하여 기 저장된 시드 테이블에서 암호화 시드 값을 선택하는 과정과,
    상기 주소의 나머지 비트를 이용하여 상기 선택된 암호화 시드 값을 변형하는 과정과,
    상기 변형된 시드 값으로 상기 데이터를 암호화하는 과정을 포함하는 것을 특징으로 하는 방법.
  2. 시스템 온 칩에서 암호화 장치에 있어서,
    데이터와 주소를 출력하는 IP 장치와,
    상기 IP 장치로부터 제공되는 주소의 일부 비트를 이용하여 기 저장된 시드 테이블에서 암호화 시드 값을 선택하고, 상기 주소의 나머지 비트로 상기 선택된 암호화 시드 값을 변형하여 상기 데이터를 암호화하는 암호 래퍼를 포함하는 것을 특징으로 하는 장치.
KR1020080075984A 2008-08-04 2008-08-04 시스템 온 칩에서 암호화 방법 및 장치 KR101475821B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080075984A KR101475821B1 (ko) 2008-08-04 2008-08-04 시스템 온 칩에서 암호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080075984A KR101475821B1 (ko) 2008-08-04 2008-08-04 시스템 온 칩에서 암호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20100015077A true KR20100015077A (ko) 2010-02-12
KR101475821B1 KR101475821B1 (ko) 2014-12-24

Family

ID=42088266

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080075984A KR101475821B1 (ko) 2008-08-04 2008-08-04 시스템 온 칩에서 암호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101475821B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180113211A (ko) * 2016-03-14 2018-10-15 애리스 엔터프라이지즈 엘엘씨 케이블 모뎀 복제 방지
US10880090B2 (en) 2016-03-14 2020-12-29 Arris Enterprises Llc Cable modem anti-cloning
US11387996B2 (en) 2016-03-14 2022-07-12 Arris Enterprises Llc Cable modem anti-cloning

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070109488A (ko) * 2006-05-11 2007-11-15 곽우영 보안성이 우수한 플래쉬 메모리가 내장된 지문인식 마우스

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180113211A (ko) * 2016-03-14 2018-10-15 애리스 엔터프라이지즈 엘엘씨 케이블 모뎀 복제 방지
US10880090B2 (en) 2016-03-14 2020-12-29 Arris Enterprises Llc Cable modem anti-cloning
US11387996B2 (en) 2016-03-14 2022-07-12 Arris Enterprises Llc Cable modem anti-cloning

Also Published As

Publication number Publication date
KR101475821B1 (ko) 2014-12-24

Similar Documents

Publication Publication Date Title
Awad et al. Obfusmem: A low-overhead access obfuscation for trusted memories
US10176122B2 (en) Direct memory access authorization in a processing system
US10097349B2 (en) Systems and methods for protecting symmetric encryption keys
Suh et al. AEGIS: A single-chip secure processor
US10671422B2 (en) Monitoring of memory page transitions between a hypervisor and a virtual machine
US8473754B2 (en) Hardware-facilitated secure software execution environment
KR101224322B1 (ko) 마이크로제어기 내의 데이터 보안 처리를 위한 방법, 장치 및 집적 회로
CN105580027B (zh) 用于使用不同域特定密钥确保内容安全的方法
US9397834B2 (en) Scrambling an address and encrypting write data for storing in a storage device
TWI483139B (zh) 使用物理性不可複製功能的安全金鑰儲存器
US9280675B2 (en) Encrypting and storing confidential data
US8799673B2 (en) Seamlessly encrypting memory regions to protect against hardware-based attacks
JP2020535693A (ja) 記憶データ暗号化/復号化装置及び方法
KR20080100673A (ko) 암호화 기반의 프로세서 보안 방법 및 장치
US20220197825A1 (en) System, method and apparatus for total storage encryption
US20200065527A1 (en) Varying-layered encryption
Khan et al. Utilizing and extending trusted execution environment in heterogeneous SoCs for a pay-per-device IP licensing scheme
JP2007310601A (ja) マイクロコンピュータおよびそのソフトウェア保護方法
KR101475821B1 (ko) 시스템 온 칩에서 암호화 방법 및 장치
CN110955904B (zh) 一种数据加密方法、数据解密方法、处理器及计算机设备
CN110837627A (zh) 一种基于硬盘序列号的软件版权认证方法、系统和设备
JP4580024B2 (ja) コンテンツ再生方法
Zhang Comparison of prominent trusted execution environments
Hughes Access Control Design and Implementation for Direct Memory Access Attack
Ahn et al. Countermeasures against a side-channel attack in a kernel memory

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171129

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181129

Year of fee payment: 5