KR101475821B1 - Apparatus and method for encryption in system on chip - Google Patents
Apparatus and method for encryption in system on chip Download PDFInfo
- Publication number
- KR101475821B1 KR101475821B1 KR1020080075984A KR20080075984A KR101475821B1 KR 101475821 B1 KR101475821 B1 KR 101475821B1 KR 1020080075984 A KR1020080075984 A KR 1020080075984A KR 20080075984 A KR20080075984 A KR 20080075984A KR 101475821 B1 KR101475821 B1 KR 101475821B1
- Authority
- KR
- South Korea
- Prior art keywords
- encryption
- address
- data
- seed value
- seed
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
Abstract
본 발명은 시스템 온 칩에서 암호화 방법 및 장치에 관한 것으로서, 데이터와 주소를 입력받는 과정과, 상기 주소의 일부 비트를 이용하여 기 저장된 시드 테이블에서 암호화 시드 값을 선택하는 과정과, 상기 주소의 나머지 비트를 이용하여 상기 선택된 암호화 시드 값을 변형하는 과정과, 상기 변형된 시드 값으로 상기 데이터를 암호화하는 과정을 포함하여, 버스(bus)와 IP 사이에 추가된 래퍼(wrapper) 형식의 암호화/복호화 계층을 통해 주소(address) 정보를 이용하여 암호화를 위한 시드(seed)를 선택 및 변형하여 암호화/복호화를 수행함으로써, 소프트웨어 운영체제(Operating System) 수준에서의 해킹(hacking) 혹은 상호접속(interconnection)에 대해서 하드웨어적인 수준의 보안 기법을 제공할 수 있다.The present invention relates to an encryption method and apparatus in a system-on-chip, the method comprising: receiving data and an address; selecting an encryption seed value from a pre-stored seed table using some bits of the address; And a step of encoding the data using the modified seed value, wherein the step of encrypting the data with the modified seed value comprises: encrypting / decrypting a wrapper type added between a bus and an IP, The encryption and decryption are performed by selecting and modifying a seed for encryption by using address information through a hierarchical layer so as to prevent hacking or interconnection at a level of a software operating system A hardware level security technique can be provided.
SOC(System On Chip), 암호화(encryption), 시드(seed), 암호(cipher) System On Chip (SOC), encryption, seed, cipher,
Description
본 발명은 시스템 온 칩에서 암호화 방법 및 장치에 관한 것으로서, 특히 버스(bus)와 IP 사이에 래퍼(wrapper) 형식의 암호화/복호화 계층을 추가하여 데이터의 암호화/복호화(encryption/decryption)를 수행하는 방법 및 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an encryption method and apparatus in a system-on-chip, and more particularly, to an encryption / decryption layer in a wrapper format between a bus and an IP to perform encryption / ≪ / RTI >
일반적으로, 시스템 온 칩(System On Chip)에서는 도 1에 도시된 바와 같이 공통의 데이터 전송로인 버스(BUS)를 사용하여 중앙 처리 장치(CPU; Central Processor Unit)와 메모리(memory) 및 기타 주변기기들을 연결하고 있으며, 최근에는 단일 칩의 확장성을 위해 상기 시스템 온 칩 내부의 버스 신호들을 외부와 연결하여 상기 시스템 온 칩에 메모리 혹은 주변 기기를 추가할 수 있도록 하고 있다. 2. Description of the Related Art Generally, as shown in FIG. 1, in a system on chip, a central processing unit (CPU), a memory and other peripherals are connected to each other by using a bus (BUS) In recent years, memory signals or peripheral devices can be added to the system-on-chip by connecting bus signals in the system-on-chip to the outside in order to expand a single chip.
한편, 최근에는 전기전자 기술의 발달로 인해 과거보다 가치적으로 중요한 정보들이 디지털화되면서, 상기 정보들에 대한 보안과 저작권에 대한 관심이 높아 지고 있다. 예를 들어, 전자거래에 사용되는 아이디(ID), 비밀번호(password) 및 인증서 등과 같은 사용자 개인 정보가 누출될 경우, 사용자의 명의 도용을 통한 피해가 발생될 수 있으며, 특정 기기의 펌웨어(Firmware)가 유출될 경우 이를 해킹(Hacking)한 펌웨어를 통해 상기 펌웨어가 상기 제작자의 의도와는 다른 용도로 사용될 수 있어, 이를 방지 혹은 해결하기 위한 보안 및 저작권에 대한 연구가 활발히 진행되고 있다.In recent years, due to the development of electric and electronic technology, information that is more valuable than the past has been digitized, and interest in security and copyright of the above information is increasing. For example, if user personal information such as an ID, a password, and a certificate used for electronic transactions is leaked, damage may be caused through impersonation of the user, and the firmware of the specific device may be damaged. The firmware can be used for a purpose other than the intention of the maker through the hacking firmware, and studies on security and copyright for preventing or solving the firmware have been actively conducted.
종래에는 상기 중요한 정보들을 보호하기 위해 몇 가지 보안 기법이 제공되고 있다. 예를 들어, 소프트웨어 수준에서 중요한 정보를 암호화하여 저장하는 기법, 물리적으로 접근 가능한 외부 메모리 혹은 주변 기기에 전용의 암호와 인터페이스(encryption interface)를 이용하는 기법, 멀티 프로세서에 의한 내무 메모리의 정보 추출을 방지하기 위하여 내부적으로 이중 구조를 설계하는 기법, 및 버스 수준에서 영역별로 접근을 제어하는 기법이 제공되고 있다.In the past, several security techniques have been provided to protect the important information. For example, a technique for encrypting and storing important information at a software level, a technique for using a dedicated encryption and interface for a physically accessible external memory or a peripheral device, A technique for internally designing a dual structure, and a technique for controlling area-by-area access at the bus level are provided.
하지만, 상술한 바와 같이 종래에 제공되는 기법들은 모두 단점을 지니고 있다. 먼저, 상기 소프트웨어 수준에서 정보를 암호화하여 저장하는 기법은 소프트웨어 코드가 복잡해지며, 상기 중앙 처리 장치의 전력을 소모하게 되고, 다른 소프트웨어를 이용할 경우 전체 시스템에 저장된 중요 데이터에 접근이 가능해지는 문제가 있다. 그리고, 상기 외부 메모리 혹은 주변 기기에 전용의 암호와 인터페이스를 이용하는 기법은 동일한 암호화 인터페이스가 적용되지 않은 다른 칩과는 상기 외부 메모리 혹은 주변 기기를 공유할 수 없는 단점이 있으며, 상기 내부적으로 이중 구조를 설계하는 기법은 칩 내부에 두 개의 도메인(domain)이 생성되어 버스나 기 타 구조를 이중으로 설계해야 하므로 복잡도가 증가하며, 내부 도메인 간의 데이터 교환이 전용의 인터페이스를 통해서만 이루어져야 한다는 단점이 있다. 마지막으로, 상기 버스 수준에서 영역별로 접근을 제어하는 기법은 버스의 디버그 모드(debug mode) 등을 통해 버스 데이터가 유출될 수 있는 문제점이 있다.However, as described above, all the techniques provided in the prior art have disadvantages. First, the technique of encrypting and storing information at the software level complicates the software code, consumes power of the central processing unit, and accesses important data stored in the entire system when using other software . The technique using a dedicated encryption and interface for the external memory or peripheral device has a disadvantage in that it can not share the external memory or peripheral device with another chip to which the same encryption interface is not applied. In the designing method, since two domains are created in the chip, the bus or other structure must be designed in a dual structure, so that the complexity increases and data exchange between internal domains must be performed only through a dedicated interface. Lastly, there is a problem that bus data may be leaked through a debug mode of the bus or the like.
따라서, 상기와 같은 문제점들을 해결할 수 있는 보안 기법이 필요되고 있다.Accordingly, there is a need for a security technique that can solve the above problems.
본 발명은 상술한 바와 같은 문제점을 해결하기 위해 도출된 것으로서, 본 발명의 목적은 시스템 온 칩에서 암호화 방법 및 장치를 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and it is an object of the present invention to provide an encryption method and apparatus in a system-on-a-chip.
본 발명의 다른 목적은 시스템 온 칩에서 하드웨어 수준에서 정보를 암호화/복호화하는 보안 방법 및 장치를 제공함에 있다.It is another object of the present invention to provide a security method and apparatus for encrypting / decrypting information at a hardware level in a system-on-chip.
본 발명의 또 다른 목적은 시스템 온 칩에서 버스(bus)와 IP 사이에 래퍼(wrapper) 형식의 암호화/복호화 계층을 추가하여 데이터를 암호화/복호화(encryption/decryption)하기 위한 방법 및 장치를 제공함에 있다.It is still another object of the present invention to provide a method and apparatus for encrypting / decrypting data by adding a wrapper-type encryption / decryption layer between a bus and an IP in a system-on-chip have.
본 발명의 또 다른 목적은 시스템 온 칩에서 주소(address) 정보를 이용하여 암호화를 위한 시드(seed)를 선택 및 변형하여 암호화를 수행하기 위한 방법 및 장치를 제공함에 있다.It is still another object of the present invention to provide a method and apparatus for performing encryption by selecting and modifying a seed for encryption using address information in a system-on-chip.
상술한 목적들을 달성하기 위한 본 발명의 제 1 견지에 따르면, 시스템 온 칩에서 암호화 방법은, 데이터와 주소를 입력받는 과정과, 상기 주소의 일부 비트를 이용하여 기 저장된 시드 테이블에서 암호화 시드 값을 선택하는 과정과, 상기 주소의 나머지 비트를 이용하여 상기 선택된 암호화 시드 값을 변형하는 과정과, 상기 변형된 시드 값으로 상기 데이터를 암호화하는 과정을 포함한다.According to a first aspect of the present invention, there is provided an encryption method in a system-on-chip, comprising: receiving data and an address; Modifying the selected encryption seed value using the remaining bits of the address, and encrypting the data with the modified seed value.
상술한 목적들을 달성하기 위한 본 발명의 제 2 견지에 따르면, 시스템 온 칩에서 암호화 장치는, 데이터와 주소를 출력하는 IP 장치와, 상기 IP 장치로부터 제공되는 주소의 일부 비트를 이용하여 기 저장된 시드 테이블에서 암호화 시드 값을 선택하고, 상기 주소의 나머지 비트로 상기 선택된 암호화 시드 값을 변형하여 상기 데이터를 암호화하는 암호 래퍼(wrapper)를 포함한다.According to a second aspect of the present invention, there is provided an encryption device in a system-on-chip, comprising: an IP device outputting data and an address; And a cryptographic wrapper for encrypting the data by selecting an encryption seed value from the table and modifying the selected encryption seed value with the remaining bits of the address.
본 발명에서는 시스템 온 칩에서 버스(bus)와 IP 사이에 래퍼(wrapper) 형식의 암호화/복호화 계층을 추가하고, 주소(address) 정보를 이용하여 암호화를 위한 시드(seed)를 선택 및 변형하여 암호화/복호화를 수행함으로써, 소프트웨어 운영체제(Operating System) 수준에서의 해킹(hacking) 혹은 상호접속(interconnection)에 대한 하드웨어적인 불법접근에 대해서 하드웨어적인 수준의 보안 기법을 제공할 수 있다. 또한, 상기 암호화/복화화 계층의 위치와 그 동작 특성을 이용하여 다양한 방법으로 활용이 가능하며, 특정 주소에 대한 하드웨어적인 접근 제어가 가능하고, 주소 맵핑 테이블(address mapping table)을 이용한 가상 주소 맵핑(address mapping)등을 통해 물리적인 메모리의 가상화를 하드웨어 수준에서 제공할 수 있어 종래 기법들에 비해 강력한 보안 수단으로 사용될 수 있는 효과가 있다.In the present invention, a wrapper-type encryption / decryption layer is added between a bus and an IP in a system-on-chip, and a seed for encryption is selected and transformed using address information, It is possible to provide a hardware level security technique for hardware illegal access to hacking or interconnection at a level of a software operating system (Operating System). In addition, it is possible to use various methods by using the position of the encryption / decryption layer and its operation characteristics, hardware access control can be performed for a specific address, and virtual address mapping using an address mapping table it is possible to provide physical memory virtualization at the hardware level through address mapping and the like, which can be used as a strong security measure compared to the conventional techniques.
이하 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 설명한다. 그리 고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. In the following description of the present invention, detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.
이하 본 발명에서는 시스템 온 칩에서 버스(bus)와 IP(Intelligent Peripheral) 장치 사이에 래퍼(wrapper) 형식의 암호화/복호화 계층을 추가하고, 주소(address) 정보를 이용하여 암호화를 위한 시드(seed) 값을 선택 및 변형하여 암호화/복호화를 수행하는 기술에 관해 설명할 것이다.In the present invention, a wrapper-type encryption / decryption layer is added between a bus and an IP (Intelligent Peripheral) device in a system-on-chip, a seed for encryption is generated using address information, A technique for performing encryption / decryption by selecting and modifying a value will be described.
본 발명에서는 시스템 온 칩에서 도 2에 도시된 바와 같이 중앙 처리 장치(CPU: Central Processor Unit), 내부 메모리(Internal Memory), 외부 메모리(External Memory) 혹은 주변 기기(Peripheral device)와 같은 각각의 IP와 버스 사이에 암호화/복호화를 수행하는 계층, 즉 암호 래퍼(Cipher Wrapper)(200, 202, 204, 206, 208)를 추가하여 하드웨어 수준에서 데이터의 암호화/복호화를 수행한다. 즉, 상기 IP와 버스 사이에 암호 래퍼를 추가하여 상기 IP에서 버스로 출력되는 데이터를 암호화할 수 있다. 여기서, 상기 각각의 IP와 버스 사이에는 필요에 따라 상기 암호 래퍼가 추가될 수도 있으며, 추가되지 않을 수도 있다.In the present invention, as shown in FIG. 2, in the system-on-chip, each IP such as a central processing unit (CPU), an internal memory, an external memory or a peripheral device (Cipher Wrapper) 200, 202, 204, 206, 208 for performing encryption / decryption between the bus and the bus to encrypt / decrypt data at the hardware level. That is, it is possible to encrypt data output from the IP to the bus by adding a password wrapper between the IP and the bus. Here, the encryption wrapper may be added between the respective IPs and the bus, if necessary, or may not be added.
그러면, 하기 도 3을 참조하여 상기 암호 래퍼의 상세한 블록 구성에 대해 살펴보기로 한다. 이하에서는 상기 암호 래퍼가 데이터를 암호화하는 동작을 예로 들어 설명하며, 상기 암호 래퍼가 이하 설명되는 암호화 방식으로 암호화된 데이터를 대응되는 방식으로 복호화하는 것은 당연할 것이다.Hereinafter, a detailed block configuration of the encryption wrapper will be described with reference to FIG. Hereinafter, an operation of encrypting data by the cryptographic wrapper will be described as an example, and it will be appreciated that the cryptographic wrapper decrypts the data encrypted with the cryptographic method described below in a corresponding manner.
도 3은 본 발명에 따른 시스템 온 칩에서 암호 래퍼의 상세한 블록 구성을 도시하고 있다.FIG. 3 shows a detailed block configuration of a cryptographic wrapper in a system-on-chip according to the present invention.
상기 도 3을 참조하면, 상기 암호 래퍼(310)는 CPU(300)와 버스 래퍼(320) 사이에 존재하며, 영역 선택부(Range Selector)(312), 시드 메모리(Seed memory)(314), 시드 변형부(Seed Modifier)(316), 데이터 마스킹부(310)를 포함하여 구성된다. 여기서는, 상기 암호 래퍼(310)가 상기 CPU(300)와 버스 래퍼(320) 사이에 존재하는 경우를 예로 들어 설명하지만, 상기 CPU(300)이외의 다른 IP 장치와 버스 래퍼 사이에 존재할 경우에도 동일하게 적용된다.3, the
먼저, 상기 암호 래퍼(310)는 상기 CPU(310)로부터 데이터와 주소가 제공되면, 상기 주소를 이용하여 암호화 시드(encryption seed) 값을 선택 및 변형한 후, 상기 변형된 암호화 시드로 상기 데이터를 암호화하여 상기 버스 래퍼(320)로 제공한다. First, when the data and the address are provided from the
즉, 상기 암호 래퍼(310)는 상기 영역 선택부(312)를 통해 상기 CPU(300)로부터 입력되는 주소(address)에서 일부 비트(bit)를 추출하여 상기 데이터를 저장할 주소 영역을 구분하고, 상기 구분된 주소 영역을 이용하여 상기 시드 메모리(314)에서 해당 주소 영역에 대한 암호화 시드 값을 추출한다. That is, the
여기서, 상기 영역 선택부(312)는 도 4에 도시된 바와 같이, 기 설정된 주소 영역 선택 정보(402)에 따라 입력 주소(410)에서 일부 비트를 선택하는 비트 선택부(400)를 포함함으로써, 상기 CPU(300)로부터 입력되는 주소(410)에서 일부 비트를 선택하여 주소 영역을 선택하는 신호(Address Range selection)(412)를 생성하 고, 상기 주소에서 선택되지 않은 남은 비트들로 서브 주소 신호(Sub address)(414)를 생성하여 출력한다. 여기서, 상기 주소 영역 선택 정보(402)는 상기 CPU(300)의 제어에 의해 갱신이 가능하다.4, the
상기 시드 메모리(314)는 각 주소 영역에 대한 암호화 시드 값을 저장하고 있으며, 상기 시드 메모리(314)에 저장된 암호화 시드 값은 사용자에 의해 삭제, 추가 및 갱신이 가능하다. 즉, 도 5에 도시된 바와 같이, 상기 시드 메모리(314, 500)는 암호화를 위한 시드 테이블을 저장함으로써, 상기 영역 선택부(312)에서 생성된 주소 영역 선택 신호(Address Range selection)에 해당하는 영역의 시드 값을 상기 시드 변형부(316, 510)로 출력한다.The
또한, 상기 암호 래퍼(310)는 상기 시드 변형부(316)를 통해 상기 시드 메모리(314)에서 추출된 암호화 시드 값을 변형하여 암호 키를 생성한다. 이때, 상기 시드 변형부(316)는 상기 영역 선택부(312)에서 주소 영역 구분을 위해 추출된 일부 비트를 제외한 나머지 비트들을 이용하여 상기 추출된 암호화 시드 값을 변형한다. 즉, 도 5에 도시된 바와 같이, 상기 시드 변형부(316, 510)는 상기 영역 선택부(312)에서 생성된 서브 주소 신호(Sub address)를 이용하여 상기 시드 메모리(500)로부터 제공되는 시드 값을 변형한다. 여기서, 상기 서브 주소 신호를 이용하여 시드를 변형한 후 변형된 시드를 암호 키로 사용함으로써, 상기 주소에 해당하는 영역 내에 적용되는 암호 키의 값을 모두 다르게 할 수 있다.Also, the
상기 암호 래퍼(310)는 상기 데이터 마스킹부(318)를 통해 상기 변형된 암호화 시드 값을 이용하여 상기 CPU(300)로부터 제공된 데이터를 암호화한 후, 암호 화된 데이터를 상기 버스 래퍼(320)로 출력한다. 즉, 도 5에 도시된 바와 같이, 상기 데이터 마스킹부(318, 520)는 상기 시드 변형부(316, 510)에서 변형된 시드 값을 이용하여 상기 CPU(300)로부터 입력되는 데이터를 암호화한 후 암호화된 데이터를 출력한다. 여기서, 상기 암호 래퍼(310)는 기본적으로 전송 지연을 감소시키기 위해 마스킹 기법을 수행하여 데이터를 암호화하지만, 버스의 동작 속도를 훼손하지 않는 범위 내에서 복잡한 암호화 알고리즘을 적용하여 암호화할 수 있다. The
도 6은 본 발명의 실시 예에 따른 시스템 온 칩의 암호 래퍼에서 데이터를 암호화하는 절차를 도시하고 있다. FIG. 6 illustrates a procedure for encrypting data in a cipher wrapper of a system-on-chip according to an embodiment of the present invention.
상기 도 6을 참조하면, 상기 암호 래퍼는 CPU로부터 주소와 데이터가 수신되면, 603단계로 진행하여 상기 수신된 주소에서 일부 비트를 추출하여 주소 영역 선택 신호와 서브 주소 신호를 생성한다. 즉, 상기 암호 래퍼는 기 설정된 주소 영역 선택 정보에 따라 상기 수신된 주소에서 일부 비트를 선택하여 주소 영역을 선택하는 신호(Address Range selection)를 생성하고, 상기 주소에서 선택되지 않은 남은 비트들로 서브 주소(Sub Address) 신호를 생성한다.Referring to FIG. 6, when the address and data are received from the CPU, the encryption wrapper extracts some bits from the received address in
이후, 상기 암호 래퍼는 605단계에서 각 주소 영역에 대한 암호화 시드 값을 저장하고 있는 시드 메모리에서 상기 주소 영역 선택 신호에 해당하는 암호화 시드 값을 추출한 후, 607단계에서 상기 서브 주소 신호를 이용하여 상기 시드 메모리에서 추출된 암호화 시드 값을 변형하여 암호 키를 생성한다.In
이후, 상기 암호 래퍼는 609단계에서 상기 생성된 암호 키, 즉, 상기 변형된 암호화 시드 값을 이용하여 상기 CPU로부터 제공된 데이터를 암호화한 후, 암호화된 데이터와 상기 수신된 주소를 버스 래퍼를 통해 다른 장치로 전송한다.In
이후, 상기 암호 래퍼는 본 발명에 따른 알고리즘을 종료한다.Thereafter, the encryption wrapper terminates the algorithm according to the present invention.
그러면, 이하에서는 상술한 바와 같은 구성을 바탕으로 하기 도 7a 내지 7e를 참조하여 본 발명에 따른 암호 래퍼를 활용하는 예를 살펴보기로 한다.Hereinafter, an example of utilizing the cipher wrapper according to the present invention will be described with reference to FIGS. 7A to 7E based on the above-described configuration.
도 7a 내지 7e는 본 발명의 실시 예에 따른 시스템 온 칩에서 암호 래퍼를 활용한 예를 도시하고 있다.7A to 7E illustrate an example of utilizing a cryptographic wrapper in a system-on-chip according to an embodiment of the present invention.
먼저, 상기 도 7a는 CPU의 데이터를 내부 메모리의 보안 영역(secure range)(701)에 저장하는 예를 나타내는 것으로서, 소프트웨어를 통해 데이터를 암호화하고 저장위치를 결정하지 않고서도, 상기 CPU에서 데이터의 저장 위치를 상기 보안 영역(701)으로 정의해주면, 하드웨어에서 자체적으로 상기 데이터를 암호화하여 상기 보안 영역(701)에 저장할 수 있게 된다.7A illustrates an example of storing data of a CPU in a
도 7b와 7c는 시드 값에 따라 CPU가 접근할 수 있는 보안 영역이 달라짐을 나타내는 것으로서, 상기 도 7b는 암호 래퍼 내에 저장된 시드 메모리에서 특정 시드 값을 삭제할 경우, 해당 보안 영역에 접근할 수 없게되는 것을 나타낸다. 즉, CPU1(711)은 암호 래퍼를 통해 보안 영역 A, B(713, 715)에 접근이 가능했으나,상기 암호 래퍼에서 보안 영역 B에 대한 시드 값을 삭제함으로써, 상기 CPU1(711)은 상기 보안 영역 A(713)에만 접근할 수 있고, 보안 영역 B(715)에는 접근할 수 없게 된다. 7B and 7C show that the security area accessible by the CPU is changed according to the seed value. FIG. 7B shows that when a specific seed value is deleted from the seed memory stored in the encryption wrapper, the security area can not be accessed . That is, although the CPU 1 711 can access the security areas A and
또한, 상기 도 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 장치에 의해 별도로 암호화될 수 있게 된다.7C, in the system using a plurality of
상기 도 7b 및 7c에 도시된 바와 같이, 본 발명에 따른 암호 래퍼를 이용할 경우 시드 메모리에 저장된 시드 값을 변경 혹은 삭제함으로써, 각 IP 장치에 대해 해당 영역의 정보에 대한 접근을 허용하거나 금지할 수 있게 된다. 또한 상기 시드 값을 교환함으로써 복수의 보안 영역 간에 데이터의 교환이 짧은 시간 내에 가능하게 된다. As shown in FIGS. 7B and 7C, when the encryption wrapper according to the present invention is used, the seed value stored in the seed memory is changed or deleted to permit or prohibit access to the information of the corresponding region to each IP device . In addition, by exchanging the seed value, exchange of data between a plurality of security areas becomes possible within a short time.
도 7d는 CPU(731)와 암호 래퍼가 적용된 외부 기기(733) 사이에 데이터 채널을 나타낸 것으로서, 상기 CPU(731)와 외부 기기(733)를 통한 데이터 모두 암호 래퍼를 통해 암호화됨으로써, 둘 사이에 안정성이 높은 데이터 채널이 구성되어 암호화를 위한 별도의 암호 인터페이스(encryption interface) 모듈을 구비할 필요가 없게 된다. 7D shows a data channel between the
도 7e는 암호 래퍼가 추가된 각 IP간의 데이터 경로를 나타낸 것으로서, 각 IP의 데이터는 출력시에 바로 암호화된 후 수신 IP의 입력시에 복호화되어 대부분의 데이터 경로에서 암호화된 상태로 전달됨으로써, 버스(741)를 통해 악의적인 접근이 발생되더라도 원래 데이터가 노출될 위험이 적어진다.FIG. 7E shows a data path between IPs to which a cryptographic wrapper is added. The data of each IP is decrypted at the time of output, encrypted at the time of inputting the IP, and transmitted in an encrypted state in most data paths, The risk of exposure of the original data is reduced even if a malicious access is made through the
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments. Therefore, the scope of the present invention should not be limited by the illustrated embodiments, but should be determined by the scope of the appended claims and equivalents thereof.
도 1은 일반적인 시스템 온 칩의 버스 구조를 도시하는 도면,1 is a diagram showing a bus structure of a general system-on-chip,
도 2는 본 발명에 따른 시스템 온 칩에서 암호화/복호화 계층이 추가된 버스 구조를 도시하는 도면,FIG. 2 is a diagram illustrating a bus structure to which an encryption / decryption layer is added in a system-on-chip according to the present invention;
도 3은 본 발명에 따른 시스템 온 칩에서 암호 래퍼의 상세한 블록 구성을 도시하는 도면,3 is a block diagram showing a detailed block configuration of a cryptographic wrapper in a system-on-chip according to the present invention;
도 4는 본 발명의 실시 예에 따른 시스템 온 칩에서 주소 영역 선택부의 상세한 구성을 도시하는 도면,4 is a diagram showing a detailed configuration of an address region selection unit in a system-on-chip according to an embodiment of the present invention;
도 5는 본 발명의 실시 예에 따른 시스템 온 칩에서 시드를 선택 및 변형하여 데이터를 암호화하는 블록 구성을 도시하는 도면,FIG. 5 is a block diagram showing a block configuration for encrypting data by selecting and modifying a seed in a system-on-chip according to an embodiment of the present invention;
도 6은 본 발명의 실시 예에 따른 시스템 온 칩의 암호 래퍼에서 데이터를 암호화하는 절차를 도시하는 도면, 및6 is a diagram illustrating a procedure for encrypting data in a cipher wrapper of a system-on-chip according to an embodiment of the present invention; and
도 7a 내지 7e는 본 발명의 실시 예에 따른 시스템 온 칩에서 암호 래퍼를 활용한 예를 도시하는 도면.7A to 7E are diagrams illustrating an example of utilizing a password wrapper in a system-on-chip according to an embodiment of the present invention.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080075984A KR101475821B1 (en) | 2008-08-04 | 2008-08-04 | Apparatus and method for encryption in system on chip |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080075984A KR101475821B1 (en) | 2008-08-04 | 2008-08-04 | Apparatus and method for encryption in system on chip |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100015077A KR20100015077A (en) | 2010-02-12 |
KR101475821B1 true KR101475821B1 (en) | 2014-12-24 |
Family
ID=42088266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080075984A KR101475821B1 (en) | 2008-08-04 | 2008-08-04 | Apparatus and method for encryption in system on chip |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101475821B1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2775923T3 (en) * | 2016-03-14 | 2020-07-28 | Arris Entpr Llc | Cablemodem anti-cloning |
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 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070109488A (en) * | 2006-05-11 | 2007-11-15 | 곽우영 | The mouse of finger drive ring with nand flash memory |
-
2008
- 2008-08-04 KR KR1020080075984A patent/KR101475821B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070109488A (en) * | 2006-05-11 | 2007-11-15 | 곽우영 | The mouse of finger drive ring with nand flash memory |
Also Published As
Publication number | Publication date |
---|---|
KR20100015077A (en) | 2010-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6998435B2 (en) | Memory operation encryption | |
Awad et al. | Obfusmem: A low-overhead access obfuscation for trusted memories | |
Suh et al. | AEGIS: A single-chip secure processor | |
KR101224322B1 (en) | Methods and apparatus for the secure handling of data in a microcontroller | |
US5995623A (en) | Information processing apparatus with a software protecting function | |
US9251380B1 (en) | Method and storage device for isolating and preventing access to processor and memory used in decryption of text | |
TWI493951B (en) | Systems and methods for protecting symmetric encryption keys | |
JP4299679B2 (en) | Control function that restricts data access in the integrated system using the requesting master ID and data address | |
US8954751B2 (en) | Secure memory control parameters in table look aside buffer data fields and support memory array | |
KR100737628B1 (en) | Attestation using both fixed token and portable token | |
CN105580027B (en) | For using not same area specific key to ensure the method for content safety | |
US11030119B2 (en) | Storage data encryption and decryption apparatus and method | |
US20220197825A1 (en) | System, method and apparatus for total storage encryption | |
JP2020535693A (en) | Storage data encryption / decryption device and method | |
TW200937248A (en) | Secure software download | |
JP2003516071A (en) | Microprocessor device having encryption function | |
US20060015753A1 (en) | Internal RAM for integrity check values | |
Wong et al. | SMARTS: secure memory assurance of RISC-V trusted SoC | |
TWI393006B (en) | Security system and method for code dump protection | |
KR101475821B1 (en) | Apparatus and method for encryption in system on chip | |
JP2007310601A (en) | Microcomputer and method for protecting its software | |
Khan et al. | Utilizing and extending trusted execution environment in heterogeneous SoCs for a pay-per-device IP licensing scheme | |
CN110932853B (en) | Key management device and key management method based on trusted module | |
CN110955904B (en) | Data encryption method, data decryption method, processor and computer equipment | |
CN110837627A (en) | Software copyright authentication method, system and equipment based on hard disk serial number |
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 |