KR101696900B1 - 임베디드 시스템의 실행코드 암호화 및 복호화장치 및 이를 이용하여 정보유출 방지기능을 가지는 임베디드 시스템 - Google Patents

임베디드 시스템의 실행코드 암호화 및 복호화장치 및 이를 이용하여 정보유출 방지기능을 가지는 임베디드 시스템 Download PDF

Info

Publication number
KR101696900B1
KR101696900B1 KR1020150106115A KR20150106115A KR101696900B1 KR 101696900 B1 KR101696900 B1 KR 101696900B1 KR 1020150106115 A KR1020150106115 A KR 1020150106115A KR 20150106115 A KR20150106115 A KR 20150106115A KR 101696900 B1 KR101696900 B1 KR 101696900B1
Authority
KR
South Korea
Prior art keywords
embedded system
memory
decrypting
encryption
encrypting
Prior art date
Application number
KR1020150106115A
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 한길씨앤씨 주식회사
Priority to KR1020150106115A priority Critical patent/KR101696900B1/ko
Application granted granted Critical
Publication of KR101696900B1 publication Critical patent/KR101696900B1/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 임베디드 시스템(Embedded System)에 관한 것으로, 본 발명에 따르면, 실행코드(execution codes)가 비휘발성 메모리에 저장됨으로 인해 시스템이 외부에 노출되었을 경우 리버스 엔지니어링을 통해 소스코드를 복원 가능한 문제점이 있었던 종래기술의 임베디드 시스템들의 문제점을 해결하기 위해, 실행코드를 임베디드 시스템에 탑재하기 전에 암호화를 수행하고, 임베디드 시스템에 탑재 후 사용자가 암호를 입력하여 실행코드를 복호화하여 실행하도록 구성됨으로써, 타인에 의한 리버스 엔지니어링을 통하여 소스코드가 노출될 우려를 미연에 방지할 수 있도록 구성되는 임베디드 시스템의 실행코드 암호화 및 복호화장치 및 이를 이용하여 정보유출 방지기능을 가지는 임베디드 시스템이 제공된다.

Description

임베디드 시스템의 실행코드 암호화 및 복호화장치 및 이를 이용하여 정보유출 방지기능을 가지는 임베디드 시스템{Apparatus for encrypting and decrypting execution codes of embedded system and embedded system with information leakage prevention function using thereof}
본 발명은 임베디드 시스템(Embedded System)에 관한 것으로, 더 상세하게는, 실행코드(execution codes)가 비휘발성 메모리에 저장됨으로 인해 시스템이 외부에 노출되었을 경우 리버스 엔지니어링을 통해 소스코드를 복원 가능한 문제점이 있었던 종래기술의 임베디드 시스템들의 문제점을 해결하기 위해, 임베디드 시스템의 실행코드를 암호화하여 타인에 의해 소스코드가 노출될 우려를 방지할 수 있도록 구성되는 임베디드 시스템의 실행코드 암호화 및 복호화장치에 관한 것이다.
또한, 본 발명은, 상기한 바와 같이 리버스 엔지니어링을 통해 소스코드를 복원 가능하였던 종래기술의 임베디드 시스템들의 문제점을 해결하기 위하여, 실행코드를 임베디드 시스템에 탑재하기 전에 암호화를 수행하고, 임베디드 시스템에 탑재 후 사용자가 암호를 입력하여 실행코드를 복호화하여 실행하도록 구성됨으로써, 타인에 의한 리버스 엔지니어링을 통하여 소스코드가 노출될 우려를 미연에 방지할 수 있도록 구성되는 임베디드 시스템의 실행코드 암호화 및 복호화장치에 관한 것이다.
아울러, 본 발명은, 상기한 바와 같이 실행코드를 임베디드 시스템에 탑재하기 전에 암호화를 수행하고, 임베디드 시스템에 탑재 후 사용자가 암호를 입력하여 실행코드를 복호화하여 실행하도록 구성되는 임베디드 시스템의 실행코드 암호화 및 복호화장치를 포함하여 구성됨으로써, 타인에 의한 리버스 엔지니어링을 통하여 소스코드가 노출될 우려를 미연에 방지할 수 있도록 구성되는 정보유출 방지기능을 가지는 임베디드 시스템에 관한 것이다.
최근, 전기, 전자 및 컴퓨터 기술의 발전에 따라, 예를 들면, 휴대전화기에 텔레비전 기능을 부가하는 것과 같이, 마이크로프로세서와 제어프로그램을 포함하여 시스템에 내장되는 이른바 임베디드 시스템(Embedded System)을 포함하여 단일의 시스템으로는 구현하기 어려운 복합적인 기능을 구현할 수 있도록 구성되는 제품들이 활발하게 개발되고 있다.
즉, 임베디드 시스템이란, 미리 정해진 특정 기능을 수행하기 위해 컴퓨터의 하드웨어와 소프트웨어가 조합된 전자제어 시스템으로서 특정 제품이나 솔루션에 추가로 탑재되어 해당 제품 내에서 미리 정해진 특정한 작업을 수행하도록 하는 구성되는 내장형 시스템을 의미하며, 일반적으로, 마이크로 프로세서와 소프트웨어가 저장되어 있는 메모리로 구성되어 컴퓨터가 아니면서도 컴퓨터와 유사한 기능을 할 수 있는 시스템으로서 이루어진다.
더 상세하게는, 임베디드 시스템은, 전원이 켜지자마자 특정 목적을 가진 어플리케이션이 동작하고, 이 어플리케이션은 전원을 끌 때까지 멈추지 않으며, 더욱이, OS 전체가 메모리 상에 언제나 상주해 있는 형태로 동작하므로, 바로 전원 오프(Power Off)를 하여도 안전한 장점이 있으며, OS 사이즈를 작게 만들 수 있고, OS의 기능을 최대한 살려서 제어할 수 있는 장점이 있다.
이러한 장점으로 인해, 임베디드 시스템은, 최근, TV, 냉장고, 세탁기, 전자레인지, 개인 휴대용 단말기 등과 같은 모바일 컴퓨팅 기기나, 마이크로 프로세서를 보유한 가전제품, 공장 자동화 기기와 사이버 아파트의 홈 오토메이션 시스템, 홈 네트워크 게이트웨이 시스템 그 밖의 교통관리 시스템, 주차관리 시스템, 엘리베이터 시스템, 현금지급기, 항공 관제시스템, 우주선 제어장치, 자동항법장치 등과 같이 다양한 분야에 적용되고 있다.
여기서, 상기한 바와 같은 임베디드 시스템에 대한 종래기술의 예로는, 예를 들면, 한국 공개특허공보 제10-2014-0018134호에 따르면, 비휘발성 메모리로부터 RAM으로의 실행코드의 복사, 주변장치의 초기화, 실행코드의 초기화 등 일련의 절차를 수행하면서 복잡도가 증가할수록 부팅시간이 늘어나는 종래기술의 임베디드 시스템 내에서의 부팅 시퀀스를 개선하기 위해, 임베디드 시스템을 오프 상태로부터 파워 온 상태로 전환하는 부팅 시퀀스를 재정립하여 응용프로그램들이 전원이 인가된 이후 빠르게 실행될 수 있도록 구성되는 오프 상태로부터의 운영 체제의 고속 부팅이 가능한 임베디드 시스템 및 임베디드 시스템에서 의 부팅방법이 제시된 바 있다.
아울러, 상기한 바와 같은 임베디드 시스템에 대한 종래기술의 다른 예로는, 예를 들면, 한국 공개특허공보 제10-2012-0064547호에 따르면, 미리 정의된 특정 기능을 수행하기 위한 하나 이상의 출판구독 미들웨어 기반의 임베디드 장치들, 임베디드 장치들을 시뮬레이션하기 위한 출판구독 미들웨어 기반의 시뮬레이터, 임베디드 장치들을 모니터링하는 출판구독 미들웨어 기반의 모니터링 장치 및 임베디드 장치들이 발행하는 데이터와 시뮬레이터가 발행하는 모의 데이터를 공유하기 위한 전역 데이터베이스를 포함하여, 다수의 임베디드 장치들 및 시뮬레이터가 출판구독 미들웨어를 통하여 전역 데이터베이스로 데이터를 발행하고 구독함으로써 대규모의 분산/이종 임베디드 장치들을 통합적으로 시뮬레이션할 수 있도록 구성되는 분산 임베디드 장치들을 위한 하드웨어-인-더-루프 시뮬레이션 시스템 및 방법이 제시된 바 있다.
더욱이, 상기한 바와 같은 임베디드 시스템에 대한 종래기술의 또 다른 예로는, 예를 들면, 한국 등록특허공보 제10-0953099호에 따르면, 주기적 실행 큐에서 찾은 주기적 태스크를 실행시키는 단계; 주기적 태스크의 실행된 결과값에 따라 실행된 주기적 태스크의 필드를 실행 대기 상태로 바꾼 후 주기적 태스크를 한 개 감소시키거나 태스크 변환을 수행하는 단계; 비주기적 실행 큐에서 찾은 비주기적 태스크를 가져오고 시스템클럭을 획득하는 단계; 최악 조건에서의 수행 시간에 따라 상기 가져온 비주기적 태스크를 실행시키는 단계; 비주기적 태스크의 실행된 결과 값에 따라 실행된 비주기적 태스크의 필드를 실행대기 상태로 바꾼 후 비주기적 태스크를 한 개 감소시키거나 이벤트 변환을 수행하는 단계를 포함하여, 태스크들의 동시 동작을 보장하면서 이중 우선순위 스케줄링 기반으로 태스크의 선점을 회피하여 스택 메모리를 사용하지 않도록 구성되는 소형 저전력 임베디드 시스템 및 그의 선점 회피 방법이 제시된 바 있다.
또한, 상기한 바와 같은 임베디드 시스템에 대한 종래기술의 또 다른 예로는, 예를 들면, 한국 등록특허공보 제10-0775887호에 따르면, CPU, 메인메모리, 플래시메모리, 하드디스크 드라이브가 구비된 임베디드 시스템에 있어서, 전원이 온되면 CPU가 플래시 메모리에 저장된 부트로더를 메인 메모리로 가져와 부트로더를 실행하는 제 1 단계; 부트로더가 하드디스크 드라이브에 저장된 원본 운영체계를 메인메모리로 로딩하는 제 2 단계; 제 2 단계에서 로딩에 실패하면 부트로더가 하드디스크 드라이브에 저장된 백업 운영체계를 메인메모리로 로딩하는 제 3 단계; 및 운영체계 로딩에 성공하면 운영체계를 실행하는 제 4 단계를 구비하여, 임베디드 시스템에서 운영체계를 플래시 메모리에 저장하지 않고 저가의 하드디스크 드라이브에 저장함으로써 적어도 2개의 백업본을 저장하여 비용을 거의 들이지 않고도 백업본의 운영이 가능하여 운영체계 업데이트 중에 전원이 꺼지거나 장애가 발생하더라도 복구가 가능하며, 업데이트에 걸리는 시간을 줄일 수 있도록 구성되는 임베디드 시스템에서 하드디스크를 이용한 운영체계 로딩 및 업데이트 방법이 제시된 바 있다.
상기한 바와 같이, 종래, 임베디드 시스템에 관한 여러 가지 기술내용들이 제시된 바 있으나, 상기한 바와 같은 종래기술의 임베디드 시스템들은 다음과 같은 문제점이 있는 것이었다.
즉, 종래의 임베디드 시스템들은, 실행코드가 바이너리 이미지로 만들어져 비휘발성 메모리에 저장되며, 전원이 인가되면 비휘발성 메모리에 저장되어 있는 데이터를 읽어 코드를 실행한다.
여기서, 종래의 임베디드 시스템들은, 상기한 바와 같이 실행코드가 비휘발성 메모리에 저장되어 있음으로 인해, 예를 들면, 군사적인 목적이나 보안이 필요한 장치의 경우, 장치가 적대세력의 손에 넘어가거나 외부에 노출되었을 경우, 리버스 엔지니어링을 통해 타인이 프로그램의 소스코드를 복원할 수 있는 문제가 있다.
따라서 상기한 바와 같이 실행코드가 비휘발성 메모리에 저장되어 있음으로 인해 시스템이 외부에 노출되었을 경우 리버스 엔지니어링을 통해 타인이 프로그램의 소스코드를 복원할 수 있는 문제가 있었던 종래기술의 임베디드 시스템들의 문제점을 해결하기 위하여는, 실행코드를 임베디드 시스템에 탑재하기 전에 암호화를 행하고 탑재 후 사용자가 암호를 입력하여 코드를 복호화하여 실행하도록 구성되는 새로운 구성의 정보유출 방지기능을 가지는 임베디드 시스템을 제공하는 것이 바람직하나, 아직까지 그러한 요구를 모두 만족시키는 장치나 방법은 제공되지 못하고 있는 실정이다.
[선행기술문헌]
1. 한국 공개특허공보 제10-2014-0018134호 (2014.02.12.)
2. 한국 공개특허공보 제10-2012-0064547호 (2012.06.19.)
3. 한국 등록특허공보 제10-0953099호 (2010.04.08.)
4. 한국 등록특허공보 제10-0775887호 (2007.11.06.)
본 발명은 상기한 바와 같은 종래기술의 문제점을 해결하고자 하는 것으로, 따라서 본 발명의 목적은, 실행코드(execution codes)가 비휘발성 메모리에 저장됨으로 인해 시스템이 외부에 노출되었을 경우 리버스 엔지니어링을 통해 소스코드를 복원 가능한 문제점이 있었던 종래기술의 임베디드 시스템들의 문제점을 해결하기 위해, 실행코드를 임베디드 시스템에 탑재하기 전에 암호화를 수행하고, 임베디드 시스템에 탑재 후 사용자가 암호를 입력하여 실행코드를 복호화하여 실행하도록 구성됨으로써, 타인에 의한 리버스 엔지니어링을 통하여 소스코드가 노출될 우려를 미연에 방지할 수 있도록 구성되는 임베디드 시스템의 실행코드 암호화 및 복호화장치를 제공하고자 하는 것이다.
또한, 본 발명의 다른 목적은, 상기한 바와 같이 실행코드를 임베디드 시스템에 탑재하기 전에 암호화를 수행하고, 임베디드 시스템에 탑재 후 사용자가 암호를 입력하여 실행코드를 복호화하여 실행하도록 구성되는 임베디드 시스템의 실행코드 암호화 및 복호화장치를 포함하여 구성됨으로써, 타인에 의한 리버스 엔지니어링을 통하여 소스코드가 노출될 우려를 미연에 방지할 수 있도록 구성되는 정보유출 방지기능을 가지는 임베디드 시스템을 제공하고자 하는 것이다.
상기한 바와 같은 목적을 달성하기 위해, 본 발명에 따르면, 실행코드(execution codes)가 비휘발성 메모리에 저장됨으로 인해 외부에 노출되었을 경우 리버스 엔지니어링을 통해 소스코드를 복원 가능한 문제점이 있었던 종래기술의 임베디드 시스템들의 문제점을 해결하기 위해, 상기 실행코드를 암호화하여 타인에 의해 소스코드가 노출될 우려를 방지할 수 있도록 구성되는 임베디드 시스템의 실행코드 암호화 및 복호화장치에 있어서, OS 및 응용프로그램을 포함하는 상기 임베디드 시스템의 구동에 필요한 데이터가 암호화되어 저장되어 있는 암호화부; 상기 암호화부에 저장된 암호화된 데이터를 복호화하기 위한 복호화부; 및 상기 복호화부에서 상기 암호화된 데이터를 복호화하기 위한 암호를 입력하기 위한 암호입력부를 포함하여 구성되는 것을 특징으로 하는 임베디드 시스템의 실행코드 암호화 및 복호화장치가 제공된다.
여기서, 상기 암호화부는, 비휘발성 메모리를 이용하여 구성되는 것을 특징으로 한다.
또한, 상기 암호화 및 복호화장치는, 상기 임베디드 시스템의 구동에 필요한 OS 및 응용 프로그램을 포함하는 데이터를 상기 임베디드 시스템에 탑재하기 전에 암호화를 수행하여 상기 암호화부에 저장하여 두고, 상기 임베디드 시스템의 동작시에 상기 암호입력부를 통하여 암호를 입력하면 상기 복호화부를 통해 복호화된 데이터가 상기 임베디드 시스템의 메인 메모리로 전달되어 상기 임베디드 시스템의 프로세서에 의해 해당 동작이 실행되도록 구성됨으로써, 상기 임베디드 시스템이 외부에 노출되더라도 타인에 의한 중요 데이터의 유출을 방지할 수 있도록 구성되는 것을 특징으로 한다.
아울러, 본 발명에 따르면, 실행코드(execution codes)가 비휘발성 메모리에 저장됨으로 인해 외부에 노출되었을 경우 리버스 엔지니어링을 통해 소스코드를 복원 가능한 문제점이 있었던 종래기술의 임베디드 시스템들의 문제점을 해결하기 위해, 상기 실행코드를 암호화하여 타인에 의해 소스코드가 노출될 우려를 방지할 수 있도록 구성되는 임베디드 시스템의 정보유출 방지방법에 있어서, 상기에 기재된 임베디드 시스템의 실행코드 암호화 및 복호화장치를 이용하여, 상기 임베디드 시스템의 구동에 필요한 OS 및 응용 프로그램을 포함하는 데이터를 상기 임베디드 시스템에 탑재하기 전에 암호화를 수행하여 상기 암호화 및 복호화장치의 암호화부에 저장하여 두고, 상기 임베디드 시스템의 동작시에 상기 암호화 및 복호화장치의 암호입력부를 통하여 암호를 입력하면 상기 암호화 및 복호화장치의 복호화부를 통해 복호화된 데이터가 상기 임베디드 시스템의 메인 메모리로 전달되어 상기 임베디드 시스템의 프로세서에 의해 해당 동작이 실행되도록 구성됨으로써, 상기 임베디드 시스템이 외부에 노출되더라도 타인에 의한 중요 데이터의 유출을 방지할 수 있도록 구성되는 것을 특징으로 하는 임베디드 시스템의 정보유출 방지방법이 제공된다.
더욱이, 본 발명에 따르면, 실행코드(execution codes)가 비휘발성 메모리에 저장됨으로 인해 외부에 노출되었을 경우 리버스 엔지니어링을 통해 소스코드를 복원 가능한 문제점이 있었던 종래기술의 임베디드 시스템들의 문제점을 해결하기 위해, 상기 실행코드를 암호화하여 타인에 의해 소스코드가 노출될 우려를 방지할 수 있도록 구성되는 정보유출 방지기능을 가지는 임베디드 시스템에 있어서, 상기 임베디드 시스템의 전체적인 동작을 제어하기 위한 프로세서; OS 및 응용프로그램을 포함하는 상기 임베디드 시스템의 동작에 필요한 데이터가 탑재되는 제 1 메모리; OS 및 응용프로그램을 포함하는 상기 임베디드 시스템의 동작에 필요한 데이터가 암호화되어 저장되어 있는 제 2 메모리; 상기 제 2 메모리에 저장된 암호화된 데이터를 복호화하기 위한 복호화부; 및 상기 복호화부에서 상기 제 2 메모리에 저장된 암호화된 데이터를 복호화하기 위한 암호를 입력하기 위한 암호입력부를 포함하여 구성되는 것을 특징으로 하는 정보유출 방지기능을 가지는 임베디드 시스템이 제공된다.
여기서, 상기 제 1 메모리는 휘발성 메모리로 구성되고, 상기 제 2 메모리는 비휘발성 메모리로 구성되는 것을 특징으로 한다.
또한, 상기 임베디드 시스템은, 상기 제 2 메모리에 OS 및 응용프로그램을 포함하는 상기 임베디드 시스템의 구동에 필요한 데이터를 암호화하여 저장하여 두고, 상기 임베디드 시스템의 동작시, 상기 암호입력부를 통하여 암호를 입력하면 상기 복호화부에서 상기 제 2 메모리에 저장된 데이터를 복호화하여 상기 제 1 메모리로 전송하며, 상기 제 1 메모리에 전달된 복호화된 데이터에 근거하여 상기 프로세서가 해당 동작을 수행하도록 구성됨으로써, 상기 제 1 메모리에 전달된 복호화된 데이터는 전원 오프시 휘발되어 사라지고 상기 임베디드 시스템 내에는 상기 제 2 메모리에 저장된 암호화된 데이터만 남게 되는 것에 의해, 상기 임베디드 시스템이 외부에 노출되더라도 타인에 의한 중요 데이터의 유출을 방지할 수 있도록 구성되는 것을 특징으로 한다.
상기한 바와 같이, 본 발명에 따르면, 실행코드를 임베디드 시스템에 탑재하기 전에 암호화를 수행하고, 임베디드 시스템에 탑재 후 사용자가 암호를 입력하여 실행코드를 복호화하여 실행하도록 하는 것에 의해 타인에 의한 리버스 엔지니어링을 통하여 소스코드가 노출될 우려를 미연에 방지할 수 있도록 구성되는 임베디드 시스템의 실행코드 암호화 및 복호화장치가 제공됨으로써, 실행코드(execution codes)가 비휘발성 메모리에 저장됨으로 인해 시스템이 외부에 노출되었을 경우 리버스 엔지니어링을 통해 소스코드를 복원 가능한 문제점이 있었던 종래기술의 임베디드 시스템들의 문제점을 해결할 수 있다.
또한, 본 발명에 따르면, 상기한 바와 같이 실행코드를 임베디드 시스템에 탑재하기 전에 암호화를 수행하고, 임베디드 시스템에 탑재 후 사용자가 암호를 입력하여 실행코드를 복호화하여 실행하도록 구성되는 임베디드 시스템의 실행코드 암호화 및 복호화장치를 포함하여 임베디드 시스템을 구현함으로써, 타인에 의한 리버스 엔지니어링을 통하여 소스코드가 노출될 우려를 미연에 방지할 수 있도록 구성되는 정보유출 방지기능을 가지는 임베디드 시스템을 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 임베디드 시스템의 실행코드 암호화 및 복호화장치의 전체적인 구성을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 실시예에 따라 도 1에 나타낸 임베디드 시스템의 실행코드 암호화 및 복호화장치를 이용하여 정보유출 방지기능을 가지는 임베디드 시스템의 전체적인 구성을 개략적으로 나타내는 도면이다.
도 3은 도 2에 나타낸 본 발명의 실시예에 따른 정보유출 방지기능을 가지는 임베디드 시스템의 구체적인 동작을 개략적으로 나타내는 개념도이다.
이하, 첨부된 도면을 참조하여, 본 발명에 따른 임베디드 시스템의 실행코드 암호화 및 복호화장치 및 이를 이용하여 정보유출 방지기능을 가지는 임베디드 시스템의 구체적인 실시예에 대하여 설명한다.
여기서, 이하에 설명하는 내용은 본 발명을 실시하기 위한 하나의 실시예일 뿐이며, 본 발명은 이하에 설명하는 실시예의 내용으로만 한정되는 것은 아니라는 사실에 유념해야 한다.
또한, 이하의 본 발명의 실시예에 대한 설명에 있어서, 종래기술의 내용과 동일 또는 유사하거나 당업자의 수준에서 용이하게 이해하고 실시할 수 있다고 판단되는 부분에 대하여는, 설명을 간략히 하기 위해 그 상세한 설명을 생략하였음에 유념해야 한다.
즉, 본 발명은, 후술하는 바와 같이, 실행코드(execution codes)가 비휘발성 메모리에 저장됨으로 인해 시스템이 외부에 노출되었을 경우 리버스 엔지니어링을 통해 소스코드를 복원 가능한 문제점이 있었던 종래기술의 임베디드 시스템들의 문제점을 해결하기 위해, 실행코드를 임베디드 시스템에 탑재하기 전에 암호화를 수행하고, 임베디드 시스템에 탑재 후 사용자가 암호를 입력하여 실행코드를 복호화하여 실행하도록 구성됨으로써, 타인에 의한 리버스 엔지니어링을 통하여 소스코드가 노출될 우려를 미연에 방지할 수 있도록 구성되는 임베디드 시스템의 실행코드 암호화 및 복호화장치에 관한 것이다.
아울러, 본 발명은, 후술하는 바와 같이, 실행코드를 임베디드 시스템에 탑재하기 전에 암호화를 수행하고, 임베디드 시스템에 탑재 후 사용자가 암호를 입력하여 실행코드를 복호화하여 실행하도록 구성되는 임베디드 시스템의 실행코드 암호화 및 복호화장치를 포함하여 구성됨으로써, 타인에 의한 리버스 엔지니어링을 통하여 소스코드가 노출될 우려를 미연에 방지할 수 있도록 구성되는 임베디드 시스템에 관한 것이다.
계속해서, 도면을 참조하여, 본 발명에 따른 임베디드 시스템의 실행코드 암호화 및 복호화장치 및 이를 이용한 임베디드 시스템의 구체적인 내용에 대하여 설명한다.
먼저, 도 1을 참조하면, 도 1은 본 발명의 실시예에 따른 임베디드 시스템의 실행코드 암호화 및 복호화장치(10)의 전체적인 구성을 개략적으로 나타내는 도면이다.
도 1에 나타낸 바와 같이, 본 발명의 실시예에 따른 임베디드 시스템의 실행코드 암호화 및 복호화장치(10)는, 크게 나누어, OS와 같이 시스템의 구동에 필요한 데이터가 암호화되어 저장되어 있는 암호화부(11)와, 암호화부(11)에 저장된 암호화된 데이터를 복호화하기 위한 복호화부(12) 및 복호화부(12)에서 암호화된 데이터를 복호화하기 위한 암호를 사용자가 입력하기 위한 암호입력부(13)를 포함하여 구성될 수 있다.
여기서, 상기한 암호화부(11)는, 비휘발성 메모리를 이용하여 전원이 인가되지 않아도 시스템의 구동에 필요한 암호화된 데이터가 소실되지 않도록 구성될 수 있다.
따라서 상기한 바와 같은 구성으로부터, 임베디드 시스템의 구동에 필요한 OS 및 프로그램과 같은 각종 데이터를 암호화하여 암호화부(11)에 저장하여 두고, 임베디드 시스템의 동작시에 암호입력부(13)를 통하여 암호를 입력하면 복호화부(13)를 통해 복호화된 데이터가 임베디드 시스템의 메인 메모리로 전달되어 임베디드 시스템의 프로세서에 의해 해당 동작이 실행되도록 함으로써, 임베디드 시스템이 외부에 노출되더라도 타인에 의한 중요 데이터의 유출을 방지할 수 있다.
더 상세하게는, 도 2를 참조하면, 도 2는 본 발명의 실시예에 따라 도 1에 나타낸 임베디드 시스템의 실행코드 암호화 및 복호화장치(10)를 이용하여 정보유출 방지기능을 가지는 임베디드 시스템(20)의 전체적인 구성을 개략적으로 나타내는 도면이다.
도 2에 나타낸 바와 같이, 본 발명의 실시예에 따른 정보유출 방지기능을 가지는 임베디드 시스템(20)은, 크게 나누어, 시스템의 전체적인 동작을 제어하기 위한 프로세서(21)와, 데이터를 저장하기 위한 제 1 메모리(22)를 포함하여 구성되고, 이에 더하여, 암호화된 시스템 데이터가 저장되어 있는 제 2 메모리(23)와, 제 2 메모리(23)에 저장된 암호화된 데이터를 복호화하기 위한 복호화부(24) 및 사용자가 암호를 입력하기 위한 암호입력부(25)를 포함하여 구성될 수 있다.
여기서, 상기한 프로세서(21)는 기존의 임베디드 시스템들과 동일하게 구성 가능하며, 제 1 메모리(22)는 RAM과 같은 휘발성 메모리로 구성되고, 제 2 메모리(23)는 비휘발성 메모리로 구성될 수 있다.
즉, 도 2에 나타낸 임베디드 시스템(20)에 있어서, 제 2 메모리(23)와 복호화부(24) 및 암호입력부는 도 1에 나타낸 임베디드 시스템의 실행코드 암호화 및 복호화장치(10)에 해당하는 것이다.
더 상세하게는, 도 3을 참조하면, 도 3은 도 2에 나타낸 본 발명의 실시예에 따른 정보유출 방지기능을 가지는 임베디드 시스템(20)의 구체적인 동작을 개략적으로 나타내는 개념도이다.
도 3에 나타낸 바와 같이, 도 2에 나타낸 본 발명의 실시예에 따른 정보유출 방지기능을 가지는 임베디드 시스템(20)의 구체적인 동작은, 먼저, 비휘발성 메모리로 구성되는 제 2 메모리(23)에 OS 및 응용프로그램 등과 같이 임베디드 시스템의 구동에 필요한 데이터를 암호화하여 저장한다.
다음으로, 임베디드 시스템을 기동시, 사용자가 암호입력부(25)를 통하여 암호를 입력하면, 복호화부(24)에서 제 2 메모리(23) 저장된 데이터를 복호화하여 제 1 메모리(22)로 전송하고, 프로세서(21)는 제 1 메모리(22)에 전달된 복호화된 데이터에 근거하여 해당 동작을 수행한다.
이때, 상기한 바와 같이 제 1 메모리(22)는 휘발성 메모리로 구성되므로, 제 1 메모리(22)에 전달된 복호화된 데이터는 전원 오프시 휘발되어 사라지고 임베디드 시스템(20) 내에는 제 2 메모리(23)에 저장된 암호화된 데이터만 남게 되므로, 임베디드 시스템(20)이 외부에 노출되더라도 암호를 알지 못하면 타인이 리버스 엔지니어링을 통하여 제 2 메모리(23)에 저장된 암호화된 데이터를 복원할 수 없게 된다.
즉, 도 1 내지 도 3을 참조하여 상기한 바와 같이, 본 발명의 실시예에 따른 정보유출 방지기능을 가지는 임베디드 시스템(20)은, 비휘발성 메모리로 구성되는 기존의 임베디드 시스템의 메인 메모리를 휘발성 메모리로 교체하고, 도 1에 나타낸 바와 같은 암호화 및 복호화장치(10)를 부가하는 간단한 구성만으로 임베디드 시스템의 보안을 확보할 수 있는 장점을 가지는 것이다.
따라서 상기한 바와 같이 하여 본 발명에 따른 임베디드 시스템의 실행코드 암호화 및 복호화장치 및 이를 이용하여 정보유출 방지기능을 가지는 임베디드 시스템을 구현할 수 있다.
또한, 상기한 바와 같이 하여 본 발명에 따른 임베디드 시스템의 실행코드 암호화 및 복호화장치 및 이를 이용하여 정보유출 방지기능을 가지는 임베디드 시스템을 구현하는 것에 의해, 본 발명에 따르면, 실행코드를 임베디드 시스템에 탑재하기 전에 암호화를 수행하고, 임베디드 시스템에 탑재 후 사용자가 암호를 입력하여 실행코드를 복호화하여 실행하도록 하는 것에 의해 타인에 의한 리버스 엔지니어링을 통하여 소스코드가 노출될 우려를 미연에 방지할 수 있도록 구성되는 임베디드 시스템의 실행코드 암호화 및 복호화장치가 제공됨으로써, 실행코드(execution codes)가 비휘발성 메모리에 저장됨으로 인해 시스템이 외부에 노출되었을 경우 리버스 엔지니어링을 통해 소스코드를 복원 가능한 문제점이 있었던 종래기술의 임베디드 시스템들의 문제점을 해결할 수 있다.
아울러, 본 발명에 따르면, 상기한 바와 같이 실행코드를 임베디드 시스템에 탑재하기 전에 암호화를 수행하고, 임베디드 시스템에 탑재 후 사용자가 암호를 입력하여 실행코드를 복호화하여 실행하도록 구성되는 임베디드 시스템의 실행코드 암호화 및 복호화장치를 포함하여 임베디드 시스템을 구현함으로써, 타인에 의한 리버스 엔지니어링을 통하여 소스코드가 노출될 우려를 미연에 방지할 수 있도록 구성되는 정보유출 방지기능을 가지는 임베디드 시스템을 제공할 수 있다.
이상, 상기한 바와 같은 본 발명의 실시예를 통하여 본 발명에 따른 임베디드 시스템의 실행코드 암호화 및 복호화장치 및 이를 이용하여 정보유출 방지기능을 가지는 임베디드 시스템의 상세한 내용에 대하여 설명하였으나, 본 발명은 상기한 실시예에 기재된 내용으로만 한정되는 것은 아니며, 따라서 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 설계상의 필요 및 기타 다양한 요인에 따라 여러 가지 수정, 변경, 결합 및 대체 등이 가능한 것임은 당연한 일이라 하겠다.
10. 임베디드 시스템의 실행코드 암호화 및 복호화장치
11. 암호화부 12. 복호화부
13. 암호입력부 20. 임베디드 시스템
21. 프로세서 22. 제 1 메모리
23. 제 2 메모리 24. 복호화부
25. 암호입력부

Claims (7)

  1. 임베디드 시스템의 실행코드 암호화 및 복호화장치에 있어서,
    비휘발성 메모리를 이용하여 이루어지고, OS 및 응용프로그램을 포함하는 상기 임베디드 시스템의 구동에 필요한 데이터가 암호화되어 저장되어 있는 암호화부;
    상기 암호화부에 저장된 암호화된 데이터를 복호화하기 위한 복호화부; 및
    상기 복호화부에서 상기 암호화된 데이터를 복호화하기 위한 암호를 입력하기 위한 암호입력부를 포함하여 구성되고,
    상기 암호화 및 복호화장치는,
    상기 임베디드 시스템의 구동에 필요한 OS 및 응용 프로그램을 포함하는 데이터를 상기 임베디드 시스템에 탑재하기 전에 암호화를 수행하여 상기 암호화부에 저장하여 두고, 상기 임베디드 시스템의 동작시에 상기 암호입력부를 통하여 암호를 입력하면 상기 복호화부를 통해 복호화된 데이터가 상기 임베디드 시스템의 메인 메모리로 전달되어 상기 임베디드 시스템의 프로세서에 의해 해당 동작이 실행되도록 구성됨으로써, 상기 임베디드 시스템이 외부에 노출되더라도 타인에 의한 중요 데이터의 유출을 방지할 수 있도록 구성되는 것을 특징으로 하는 임베디드 시스템의 실행코드 암호화 및 복호화장치.
  2. 삭제
  3. 삭제
  4. 청구항 1항에 기재된 임베디드 시스템의 실행코드 암호화 및 복호화장치를 이용한 임베디드 시스템의 정보유출 방지방법에 있어서,
    상기 임베디드 시스템의 구동에 필요한 OS 및 응용 프로그램을 포함하는 데이터를 상기 임베디드 시스템에 탑재하기 전에 암호화를 수행하여 상기 암호화 및 복호화장치의 암호화부에 저장하는 단계;
    상기 임베디드 시스템의 동작시에 상기 암호화 및 복호화장치의 암호입력부를 통하여 암호를 입력하면 상기 암호화 및 복호화장치의 복호화부를 통해 상기 암호화부에 저장된 데이터가 복호화되는 단계; 및
    상기 암호화 및 복호화장치의 복호화부를 통해 복호화된 데이터가 상기 임베디드 시스템의 메인 메모리로 전달되어 상기 임베디드 시스템의 프로세서에 의해 해당 동작이 실행되는 단계를 포함하여 구성됨으로써,
    상기 임베디드 시스템이 외부에 노출되더라도 타인에 의한 중요 데이터의 유출을 방지할 수 있도록 구성되는 것을 특징으로 하는 임베디드 시스템의 정보유출 방지방법.
  5. 청구항 1항에 기재된 임베디드 시스템의 실행코드 암호화 및 복호화장치를 이용한 정보유출 방지기능을 가지는 임베디드 시스템에 있어서,
    상기 임베디드 시스템의 전체적인 동작을 제어하기 위한 프로세서;
    OS 및 응용프로그램을 포함하는 상기 임베디드 시스템의 동작에 필요한 데이터가 탑재되는 제 1 메모리;
    OS 및 응용프로그램을 포함하는 상기 임베디드 시스템의 동작에 필요한 데이터가 암호화되어 저장되어 있는 제 2 메모리;
    상기 제 2 메모리에 저장된 암호화된 데이터를 복호화하기 위한 복호화부; 및
    상기 복호화부에서 상기 제 2 메모리에 저장된 암호화된 데이터를 복호화하기 위한 암호를 입력하기 위한 암호입력부를 포함하여 구성되는 것을 특징으로 하는 정보유출 방지기능을 가지는 임베디드 시스템.
  6. 제 5항에 있어서,
    상기 제 1 메모리는 휘발성 메모리로 구성되고,
    상기 제 2 메모리는 비휘발성 메모리로 구성되는 것을 특징으로 하는 정보유출 방지기능을 가지는 임베디드 시스템.
  7. 제 6항에 있어서,
    상기 임베디드 시스템은,
    상기 제 2 메모리에 OS 및 응용프로그램을 포함하는 상기 임베디드 시스템의 구동에 필요한 데이터를 암호화하여 저장하여 두고,
    상기 임베디드 시스템의 동작시, 상기 암호입력부를 통하여 암호를 입력하면 상기 복호화부에서 상기 제 2 메모리에 저장된 데이터를 복호화하여 상기 제 1 메모리로 전송하며,
    상기 제 1 메모리에 전달된 복호화된 데이터에 근거하여 상기 프로세서가 해당 동작을 수행하도록 구성됨으로써,
    상기 제 1 메모리에 전달된 복호화된 데이터는 전원 오프시 휘발되어 사라지고 상기 임베디드 시스템 내에는 상기 제 2 메모리에 저장된 암호화된 데이터만 남게 되는 것에 의해, 상기 임베디드 시스템이 외부에 노출되더라도 타인에 의한 중요 데이터의 유출을 방지할 수 있도록 구성되는 것을 특징으로 하는 정보유출 방지기능을 가지는 임베디드 시스템.
KR1020150106115A 2015-07-27 2015-07-27 임베디드 시스템의 실행코드 암호화 및 복호화장치 및 이를 이용하여 정보유출 방지기능을 가지는 임베디드 시스템 KR101696900B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150106115A KR101696900B1 (ko) 2015-07-27 2015-07-27 임베디드 시스템의 실행코드 암호화 및 복호화장치 및 이를 이용하여 정보유출 방지기능을 가지는 임베디드 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150106115A KR101696900B1 (ko) 2015-07-27 2015-07-27 임베디드 시스템의 실행코드 암호화 및 복호화장치 및 이를 이용하여 정보유출 방지기능을 가지는 임베디드 시스템

Publications (1)

Publication Number Publication Date
KR101696900B1 true KR101696900B1 (ko) 2017-01-17

Family

ID=57990557

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150106115A KR101696900B1 (ko) 2015-07-27 2015-07-27 임베디드 시스템의 실행코드 암호화 및 복호화장치 및 이를 이용하여 정보유출 방지기능을 가지는 임베디드 시스템

Country Status (1)

Country Link
KR (1) KR101696900B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108733987A (zh) * 2018-04-12 2018-11-02 惠州市源医科技有限公司 一种基于嵌入式设备的二进制目标文件的加密方法和装置
KR102618922B1 (ko) * 2023-04-26 2023-12-28 한화시스템(주) 무기체계 임베디드 시스템의 sw 역공학 방지장치 및 그 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130027498A (ko) * 2010-04-19 2013-03-15 애플 인크. 논로컬 저장 장치로부터의 서브시스템의 안전한 부팅 및 구성

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130027498A (ko) * 2010-04-19 2013-03-15 애플 인크. 논로컬 저장 장치로부터의 서브시스템의 안전한 부팅 및 구성

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108733987A (zh) * 2018-04-12 2018-11-02 惠州市源医科技有限公司 一种基于嵌入式设备的二进制目标文件的加密方法和装置
KR102618922B1 (ko) * 2023-04-26 2023-12-28 한화시스템(주) 무기체계 임베디드 시스템의 sw 역공학 방지장치 및 그 방법

Similar Documents

Publication Publication Date Title
US10853270B2 (en) Cryptographic pointer address encoding
US10152602B2 (en) Protecting state information for virtual machines
JP6843691B2 (ja) 安全なプログラム実行のための情報保証システム
CN109840430B (zh) Plc的安全处理单元及其总线仲裁方法
JP5940159B2 (ja) 非トラステッド・ユーザ端末にオペレーティング・システム・イメージをプロビジョニングするための方法、コンピュータ・プログラム、デバイス、装置
US9594915B2 (en) Information processing apparatus
CN112639778A (zh) 指针认证及指针认证方案之间的动态切换
TW201729136A (zh) 安全區之平台遷移
CN109684030B (zh) 虚拟机内存密钥生成装置、以及方法、加密方法和SoC系统
CN100492294C (zh) 程序动态加载方法
CN104486355A (zh) 防止代码被恶意篡改的方法和装置
CN103699832A (zh) 微处理器以及相关的操作方法
US20160124751A1 (en) Access isolation for multi-operating system devices
WO2018063604A1 (en) Return address encryption
CN111310209A (zh) 电子电路的安全启动
WO2020101771A2 (en) System and method for booting processors with encrypted boot image
KR101696900B1 (ko) 임베디드 시스템의 실행코드 암호화 및 복호화장치 및 이를 이용하여 정보유출 방지기능을 가지는 임베디드 시스템
CN103348355A (zh) 用于管理安全状态转换的方法和设备
CN110764813A (zh) 系统软件的升级方法及其运行方法
CN104809414A (zh) 一种防止冷启动攻击的u盘加密密钥存放方法
CN110046503B (zh) 安全固件提供和设备绑定机制
KR102584506B1 (ko) 가상 기계들을 위한 상태 정보 보호
JP6899308B2 (ja) 情報処理装置および情報処理装置のデータ処理方法
KR20170094737A (ko) 코드 보호 방법 및 시스템
US20220198020A1 (en) Encrypting table signatures

Legal Events

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

Payment date: 20200129

Year of fee payment: 4