KR20100026775A - 디버깅 포트를 구비하는 임베디드 시스템 및 그 구동 방법 - Google Patents

디버깅 포트를 구비하는 임베디드 시스템 및 그 구동 방법 Download PDF

Info

Publication number
KR20100026775A
KR20100026775A KR1020080085909A KR20080085909A KR20100026775A KR 20100026775 A KR20100026775 A KR 20100026775A KR 1020080085909 A KR1020080085909 A KR 1020080085909A KR 20080085909 A KR20080085909 A KR 20080085909A KR 20100026775 A KR20100026775 A KR 20100026775A
Authority
KR
South Korea
Prior art keywords
storage unit
signature value
value
authentication
debugging port
Prior art date
Application number
KR1020080085909A
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 KR1020080085909A priority Critical patent/KR20100026775A/ko
Publication of KR20100026775A publication Critical patent/KR20100026775A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)

Abstract

디버깅 포트를 구비하는 임베디드 시스템 및 그 구동 방법이 개시된다. 상기 임베디드 시스템은, 디버깅 장비와 연결되어 디버깅 정보를 주고 받는 디버깅 포트(Debugging Port)와, 제1 저장부의 시그너쳐 값과 제2 저장부의 시그너쳐 값을 비교하여, 상기 비교 결과에 따라 상기 디버깅 포트를 인에이블(enable) 또는 디스에이블(disable)시키는 제어 회로 및 입출력 포트(I/O Port)로부터 입력된 신호에 따라 상기 제1 저장부의 시그너쳐 값을 변경하는 제어 관리부를 구비하는 것을 특징으로 한다.
디버깅 포트, 임베디드 시스템

Description

디버깅 포트를 구비하는 임베디드 시스템 및 그 구동 방법{Embedded system comprising debugging port and driving method thereof}
본 발명은 임베디드 시스템 및 그 구동 방법에 관한 것으로, 더 상세하게는 디버깅 포트를 구비하는 임베디드 시스템 및 그 구동 방법에 관한 것이다.
대부분의 임베디드 시스템(Embedded system)은 디버깅(debugging)을 위한 디버깅 포트(debugging port)를 가지고 있다. 디버깅 장비를 이용하면 디버깅 포트를 통해서 임베디드 시스템 내부의 정보를 실시간으로 읽어볼 수 있으며 심지어 특정 레지스터 값을 바꿀 수도 있다.
이와 같은 디버깅 포트를 개발단계의 디버깅용으로만 사용하지 않고 펌웨어 크랙(Firmware crack)이나 암호키를 훔치는 데 사용하면 DRM(Digital Rights Management)이나 FDE(Full Disk Encryption) 같은 보안기능을 가진 제품의 보안기능을 쉽게 무력화할 수 있는 문제점이 있다. 특히 JTAG(Joint Test Action Group)과 같이 표준 방식인 경우, 표준화된 장비를 통해 공격자로 하여금 디버깅 포트에 대한 접근을 용이하게 해주는 문제점이 있다.
본 발명은 임베디드 시스템의 디버깅 포트에 공격자가 쉽게 접근하지 못하도록 접근 제어를 할 수 있는 임베디드 시스템 및 그 구동 방법을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일실시예에 따른 임베디드 시스템은, 디버깅 장비와 연결되어 디버깅 정보를 주고 받는 디버깅 포트(Debugging Port)와, 제1 저장부의 시그너쳐 값과 제2 저장부의 시그너쳐 값을 비교하여, 상기 비교 결과에 따라 상기 디버깅 포트를 인에이블(enable) 또는 디스에이블(disable)시키는 제어 회로 및 입출력 포트(I/O Port)로부터 입력된 신호에 따라 상기 제1 저장부의 시그너쳐 값을 변경하는 제어 관리부를 구비하는 것을 특징으로 한다.
바람직하게는, 상기 제어 관리부는, 소정의 인증 프로토콜을 수행하여, 상기 인증 프로토콜의 수행 결과에 따라 상기 제1 저장부의 시그너쳐 값을 변경할 수 있다.
바람직하게는 상기 제어 회로는, 상기 제1 저장부의 시그너쳐 값과 상기 제2 저장부의 시그너쳐 값이 동일하면 상기 디버깅 포트를 인에이블시키고, 상기 제1 저장부의 시그너쳐 값과 상기 제2 저장부의 시그너쳐 값이 동일하지 않으면 상기 디버깅 포트를 디스에이블시키며, 상기 제어 관리부는, 상기 인증 프로토콜의 수행 결과가 인증 성공인 경우에는 상기 제1 저장부의 시그너쳐 값을 상기 제2 저장부의 시그너쳐 값과 동일한 값으로 변경하고, 상기 인증 프로토콜의 수행 결과가 인증 실패인 경우에는 상기 제1 저장부의 시그너쳐 값을 상기 제2 저장부의 시그너쳐 값과 다른 값으로 변경할 수 있다.
한편, 상기 제어 회로는, 상기 제1 저장부의 시그너쳐 값과 상기 제2 저장부의 시그너쳐 값이 동일하지 않으면 상기 디버깅 포트를 인에이블시키고, 상기 제1 저장부의 시그너쳐 값과 상기 제2 저장부의 시그너쳐 값이 동일하면 상기 디버깅 포트를 디스에이블시키며, 상기 제어 관리부는, 상기 인증 프로토콜의 수행 결과가 인증 성공인 경우에는 상기 제1 저장부의 시그너쳐 값을 상기 제2 저장부의 시그너쳐 값과 다른 값으로 변경하고, 상기 인증 프로토콜의 수행 결과가 인증 실패인 경우에는 상기 제1 저장부의 시그너쳐 값을 상기 제2 저장부의 시그너쳐 값과 동일한 값으로 변경할 수도 있다.
또한, 상기 제어 회로는 상기 제1 저장부 및 상기 제2 저장부를 구비하고, 상기 제1 저장부는 재기록 가능한 메모리이며, 상기 제2 저장부는 마스크 롬(Mask ROM)인 것이 바람직하다.
또한, 상기 제어 회로는, 상기 디버깅 포트에 연결된 스위치 회로를 턴오프(turn off)시키거나 상기 디버깅 포트를 통해 소정의 더미(dummy) 값을 제공함으로써 상기 디버깅 포트를 디스에이블시키는 것이 바람직하다.
본 발명의 일실시예에 따른 임베디드 시스템의 구동 방법은, 디버깅 포트를 구비하는 임베디드 시스템에 있어서, 상기 임베디드 시스템은 상기 디버깅 포트의 인에이블과 관련된 제1 저장부 및 제2 저장부를 구비하고, 소정의 인증 프로토콜을 수행하여, 사용자의 인증 여부를 확인하는 인증 확인 단계와, 상기 인증 확인 결과에 따라 제1 저장부의 시그너쳐 값을 변경하는 변경 단계 및 상기 제1 저장부의 시그너쳐 값과 제2 저장부의 시그너쳐 값을 비교하여, 상기 비교 결과에 따라 상기 디버깅 포트를 인에이블(enable) 또는 디스에이블(disable)시키는 결정 단계를 포함하는 것을 특징으로 한다.
바람직하게는 상기 변경 단계는, 상기 인증 확인 결과가 인증 성공인 경우에는 상기 제1 저장부의 시그너쳐 값을 상기 제2 저장부의 시그너쳐 값과 동일한 값으로 변경하고, 상기 인증 확인 결과가 인증 실패인 경우에는 상기 제1 저장부의 시그너쳐 값을 상기 제2 저장부의 시그너쳐 값과 다른 값으로 변경하며, 상기 결정 단계는, 상기 제1 저장부의 시그너쳐 값과 상기 제2 저장부의 시그너쳐 값이 동일하면 상기 디버깅 포트를 인에이블시키고, 상기 제1 저장부의 시그너쳐 값과 상기 제2 저장부의 시그너쳐 값이 동일하지 않으면 상기 디버깅 포트를 디스에이블시킬 수 있다.
한편, 상기 변경 단계는, 상기 인증 확인 결과가 인증 성공인 경우에는 상기 제1 저장부의 시그너쳐 값을 상기 제2 저장부의 시그너쳐 값과 다른 값으로 변경하고, 상기 인증 확인 결과가 인증 실패인 경우는 상기 제1 저장부의 시그너쳐 값을 상기 제2 저장부의 시그너쳐 값과 동일한 값으로 변경하며, 상기 결정 단계는, 상기 제1 저장부의 시그너쳐 값과 상기 제2 저장부의 시그너쳐 값이 동일하지 않으면 상기 디버깅 포트를 인에이블시키고, 상기 제1 저장부의 시그너쳐 값과 상기 제2 저장부의 시그너쳐 값이 동일하면 상기 디버깅 포트를 디스에이블시킬 수도 있다.
또한, 임베디드 시스템의 구동 방법은, 상기 디버깅 포트에 연결된 스위치 회로를 턴오프(turn off)시키거나 상기 디버깅 포트를 통해 소정의 더미(dummy) 값을 제공함으로써 상기 디버깅 포트를 디스에이블시키는 것이 바람직하다.
또한, 상기 인증 확인 단계는, 입출력 포트(I/O Port)를 통해 공개키기반구조(PKI; Public Key Infrastructure) 인증 또는 암호(Password) 인증을 이용하여 인증 여부를 확인하는 것이 바람직하다.
상기와 같은 본 발명에 따른 임베디드 시스템 및 그 구동 방법은, 임베디드 시스템의 디버깅 포트에 공격자가 쉽게 접근하지 못하도록 접근 제어를 할 수 있는 효과가 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 디버깅 포트를 구비하는 임베디드 시스템을 나타내는 블록도이다. 도시된 바와 같이, 상기 임베디드 시스템(100)은 제어관 리부(120), 제1 저장부(130), 제2 저장부(140), 제어 회로(150) 및 디버깅 포트(160)를 구비할 수 있다. 또한 상기 임베디드 시스템(100)은 입출력 포트(110)를 더 구비할 수도 있다.
도 1을 참조하면, 본 발명의 일실시예에 따른 상기 제어 관리부(120)는, HOST로부터 입출력 포트(110)를 통해 입력받은 신호에 따라 제1 저장부(130)의 시그너쳐 값을 변경할 수 있다. 제어 회로(150)는 제1 저장부(130)의 시그너쳐 값과 제2 저장부(140)의 시그너쳐 값을 비교하여, 두 개의 시그너쳐 값이 동일한 경우 디버깅 포트(160)를 인에이블시키고, 동일하지 않은 경우 디버깅 포트(160)를 디스에이블시킬 수 있다. 다른 실시예에 의하면, 제어 회로(150)는 상기 두 개의 시그너쳐 값을 비교하여, 두 개의 시그너쳐 값이 동일한 경우 디버깅 포트(160)를 디스에이블시키고, 동일하지 않은 경우 디버깅 포트(160)를 인에이블시킬 수도 있다.
한편, 본 발명의 다른 실시예에 따른 상기 제어 관리부(120)는 입출력 포트(110)를 통해서 정해진 인증 프로토콜을 수행할 수 있으며, 상기 인증 프로토콜의 결과에 따라 제1 저장부(130)의 시그너쳐 값을 변경할 수도 있다. 상기 인증 프로토콜은 공개키기반구조(PKI; Public Key Infrastructure) 인증 또는 암호(Password) 인증과 같은 인증 방법일 수 있다. 상기 제어 회로(150)는 제1 저장부(130)의 시그너쳐 값과 제2 저장부(140)의 시그너쳐 값을 비교하여, 상기 비교 결과에 따라 디버깅 포트(160)의 인에이블 여부를 제어하는 회로이다.
일예로서, 제어 관리부(120)는, 인증 프로토콜의 수행 결과가 인증 성공인 경우에는, 제1 저장부(130)의 시그너쳐 값을 제2 저장부(140)의 시그너쳐 값과 동 일한 값으로 변경하고, 인증 프로토콜의 수행 결과가 인증 실패인 경우에는 제1 저장부(130)의 시그너쳐 값을 제2 저장부(140)의 시그너쳐 값과 다른 값으로 변경할 수 있다.
이 경우에는, 상기 제어 회로(150)는, 제1 저장부(130)의 시그너쳐 값과 제2 저장부(140)의 시그너쳐 값이 동일하면, 제어 관리부(120)의 인증 프로토콜 수행 결과가 인증 성공이라는 것이므로 디버깅 포트(160)를 인에이블시킨다. 따라서, 사용자는 디버깅 포트(160)를 통해서 용이하게 디버깅 정보에 대해 접근할 수 있게 된다. 반면에, 제1 저장부(130)의 시그너쳐 값과 제2 저장부(140)의 시그너쳐 값이 동일하지 않으면, 제어 관리부(120)의 인증 프로토콜 수행 결과가 인증 실패라는 것이고 디버깅 포트(160)의 접근 권한이 없는 사용자에 의한 접근이라는 의미이므로, 이 경우에는 디버깅 포트(160)를 디스에이블시킨다.
한편, 본 발명의 또 다른 실시예에 따른 상기 제어 관리부(110)는, 인증 프로토콜의 수행 결과가 인증 성공인 경우에는, 제1 저장부(130)의 시그너쳐 값을 제2 저장부(140)의 시그너쳐 값과 다른 값으로 변경하고, 인증 프로토콜의 수행 결과가 인증 실패인 경우에는 제1 저장부(130)의 시그너쳐 값을 제2 저장부(140)의 시그너쳐 값과 동일한 값으로 변경할 수 있다.
이 경우에는, 상기 제어 회로(150)는, 제1 저장부(130)의 시그너쳐 값과 제2 저장부(140)의 시그너쳐 값이 동일하지 않으면, 제어 관리부(120)의 인증 프로토콜 수행 결과가 인증 성공이라는 것이므로 디버깅 포트(160)를 인에이블시킨다. 따라서, 사용자는 디버깅 포트(160)를 통해서 용이하게 디버깅 정보에 대해 접근할 수 있게 된다. 반면에, 제1 저장부(130)의 시그너쳐 값과 제2 저장부(140)의 시그너쳐 값이 동일하면, 제어 관리부(120)의 인증 프로토콜 수행 결과가 인증 실패라는 것이고 디버깅 포트(160)의 접근 권한이 없는 사용자에 의한 접근이라는 의미이므로, 이 경우에는 디버깅 포트(160)를 디스에이블시킨다.
한편, 상기 제1 저장부(130)는 제어 관리부(120)에 의해 결정된 시그너쳐 값을 저장하는 메모리로서, 재기록 가능한 메모리이고, 비휘발성 메모리 또는 휘발성 메모리일 수 있다. 제1 저장부(130)는 외부로부터의 공격을 피하기 위해서 입출력 포트(110)나 디버깅 포트(160)로부터 직접 접근이 불가능하게 구현할 수 있고, 바람직하게는 제1 저장부(130)는 인증 프로토콜 수행 결과에 따라 제어 관리부(120)로부터 접근가능할 수 있다. 상기 제2 저장부(140)는 특정 시그너쳐 값을 저장하고 있는 마스크 롬(Mask ROM)일 수 있다. 제2 저장부(140)의 시그너쳐 값은 하드웨어 생산 시 제2 저장부(140)에 저장될 수 있다. 한편, 상기 제1 저장부(130) 및 제2 저장부(140)는 제어 회로(150)에 포함될 수도 있다.
또한, 디버깅 포트(160)를 디스에이블시키는 방법의 일예로서, 디버깅 포트(160)와 임베디드 시스템 내부 회로(220)를 연결하는 스위치 회로(210)를 턴오프(turn off)시키는 방법이나 디버깅 포트(160)를 통해 외부로 소정의 더미(dummy) 값을 제공하는 방법을 사용할 수 있다.
도 2a는 본 발명의 일실시예에 따른 디버깅 포트를 디스에이블시키는 방법의 일예를 나타내는 블록도이다. 도 2a를 참조하면, 스위치 회로(210)는 디버깅 포트(160)와 임베디드 시스템의 내부회로(220) 사이에 연결되어 있고, 제어회로(150) 에 의해 스위치 회로(210)의 온/오프(on/off)가 제어된다. 디버깅 포트(160)에 연결된 스위치 회로(210)가 제어회로(150)에 의해 턴오프(turn off)되면, 디버깅 포트(160)와 임베디드 시스템의 내부회로(220) 사이의 연결이 끊어지므로 사용자는 디버깅 포트(160)로부터 디버깅 정보를 얻을 수 없게 되어, 디버깅 포트(160)는 디스에이블되고 디버깅 포트(160)로의 접근이 제한된다.
도 2b는 본 발명의 다른 실시예에 따른 디버깅 포트를 디스에이블시키는 방법의 일예를 나타내는 블록도이다. 도 2b를 참조하면, 멀티플렉서(230)는 제어회로(150)에 의해 제어되며, 이에 따라 더미 메모리(240) 또는 임베디드 시스템의 내부회로(220)로부터 입력받은 신호를 디버깅 포트(160)로 선택적으로 출력할 수 있다. 더미 메모리(240)는 디버깅 정보와 관계없는 더미(dummy) 값을 저장하고 있는 메모리로서, 제어회로(150)의 내부 또는 외부에 구비될 수 있다. 디버깅 포트(160)를 통해 외부로 소정의 더미(dummy) 값을 제공하는 방법은, 디버깅 정보와 관계없는 더미 값을 더미 메모리(240)에 저장해 놓고, 디버깅 포트(160)가 디스에이블되어 있을 때 디버깅 포트(160)를 통해 디버깅 정보를 얻으려는 시도가 있는 경우, 상기 더미 값을 디버깅 포트(160)를 통해 제공하는 방법이다. 즉, 디버깅 포트(160)를 인에이블시킬 경우에는, 제어회로(150)의 제어에 따라 멀티플렉서(230)가 내부회로(220)로부터 입력받은 신호를 디버깅 포트(160)로 출력하도록 하고, 디버깅 포트(160)를 디스에이블시킬 경우에는, 제어회로(150)의 제어에 따라 멀티플렉서(230)가 더미 메모리(240)에 저장된 소정의 더미 값을 디버깅 포트(160)로 출력하도록 한다. 상기 방법을 사용할 경우, 디버깅 포트(160)의 접근 권한이 없는 사용자는 디버깅 포트(160)를 통해서 디버깅 정보와는 무관한 데이터를 얻을 뿐이므로, 디버깅 포트(160)를 통한 접근을 차단한 것과 같은 효과를 얻을 수 있다.
도 3은 본 발명의 일실시예에 따른 임베디드 시스템의 구동 방법을 나타내는 순서도(Flow chart)이다. 도시된 바와 같이 상기 임베디드 시스템의 구동 방법은, 사용자의 인증 여부에 따라 제1 저장부의 시그너쳐 값을 변경하고, 제1 저장부의 시그너쳐 값과 제2 저장부의 시그너쳐 값을 비교하여 디버깅 포트의 인에이블 여부를 결정한다.
도 3을 참조하면, 먼저 사용자의 인증 여부를 확인한다(S21). 상기 인증 여부는, 사용자가 디버깅 포트의 접근 권한을 가지고 있는지 여부를 알아내기 위한 것으로서, 입출력 포트(I/O Port)를 통해 공개키기반구조(PKI; Public Key Infrastructure) 인증 또는 암호(Password) 인증과 같은 인증 방법을 이용하여 인증 여부를 확인할 수 있다.
인증 여부를 확인한 결과, 인증에 성공하면 제1 저장부의 시그너쳐 값을 제2 저장부의 시그너쳐 값과 동일한 값으로 변경한다(S23). 반면에, 인증에 실패하면 제1 저장부의 시그너쳐 값을 제2 저장부의 시그너쳐 값과 다른 값으로 변경한다(S24).
이후, 제1 저장부의 시그너쳐 값과 제2 저장부의 시그너쳐 값을 비교한다(S25). 상기 두 개의 시그너쳐 값을 비교하여, 두 개의 시그너쳐 값이 동일한 경우에는, 인증 성공을 의미하므로 디버깅 포트를 인에이블시킨다(S26). 반면에, 두 개의 시그너쳐 값이 동일하지 않은 경우에는, 인증 실패를 의미하므로 디버깅 포트 를 디스에이블시킨다(S27).
한편, 본 발명의 다른 실시예에 따른 임베디드 시스템의 구동 방법은, 먼저 사용자의 인증 여부를 확인하고, 인증 여부를 확인한 결과, 인증에 성공하면 제1 저장부의 시그너쳐 값을 제2 저장부의 시그너쳐 값과 다른 값으로 변경한다. 반면에, 인증에 실패하면 제1 저장부의 시그너쳐 값을 제2 저장부의 시그너쳐 값과 동일한 값으로 변경한다.
이후, 제1 저장부의 시그너쳐 값과 제2 저장부의 시그너쳐 값을 비교한다. 상기 두 개의 시그너쳐 값을 비교하여, 두 개의 시그너쳐 값이 동일하지 않은 경우에는, 인증 성공을 의미하므로 디버깅 포트를 인에이블시킨다. 반면에 두 개의 시그너쳐 값이 동일한 경우에는, 인증 실패를 의미하므로 디버깅 포트를 디스에이블시킨다.
상기 제1 저장부의 시그너쳐 값과 제2 저장부의 시그너쳐 값을 비교하는 단계(S25)는 임베디드 시스템의 전원이 켜질 때마다 수행될 수 있다.
상기 디버깅 포트를 디스에이블시키는 방법은, 도 2a 및 도 2b를 참조하여 상술한 바와 같이, 디버깅 포트와 임베디드 시스템 내부를 연결하는 스위치 회로를 턴오프(turn off)시키는 방법이나 디버깅 포트를 통해 외부로 소정의 더미(dummy) 값을 제공하는 방법을 사용할 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사 용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명의 일실시예에 따른 디버깅 포트를 구비하는 임베디드 시스템을 나타내는 블록도이다.
도 2a는 본 발명의 일실시예에 따른 디버깅 포트를 디스에이블시키는 방법의 일예를 나타내는 블록도이다.
도 2b는 본 발명의 다른 실시예에 따른 디버깅 포트를 디스에이블시키는 방법의 일예를 나타내는 블록도이다.
도 3은 본 발명의 일실시예에 따른 임베디드 시스템의 구동 방법을 나타내는 순서도(Flow chart)이다.
*도면의 주요 부분에 대한 부호의 설명*
120: 제어 관리부 130: 제1 저장부
140: 제2 저장부 150: 제어 회로
160: 디버깅 포트 210: 스위치 회로
220: 내부 회로 230: 멀티플렉서
240: 더미 메모리

Claims (11)

  1. 디버깅 장비와 연결되어 디버깅 정보를 주고 받는 디버깅 포트(Debugging Port);
    제1 저장부의 시그너쳐 값과 제2 저장부의 시그너쳐 값을 비교하여, 상기 비교 결과에 따라 상기 디버깅 포트를 인에이블(enable) 또는 디스에이블(disable)시키는 제어 회로; 및
    입출력 포트(I/O Port)로부터 입력된 신호에 따라 상기 제1 저장부의 시그너쳐 값을 변경하는 제어 관리부를 구비하는 것을 특징으로 하는 임베디드 시스템(Embedded system).
  2. 제 1항에 있어서,
    상기 제어 관리부는, 소정의 인증 프로토콜을 수행하여, 상기 인증 프로토콜의 수행 결과에 따라 상기 제1 저장부의 시그너쳐 값을 변경하는 것을 특징으로 하는 임베디드 시스템.
  3. 제 2항에 있어서,
    상기 제어 회로는, 상기 제1 저장부의 시그너쳐 값과 상기 제2 저장부의 시그너쳐 값이 동일하면 상기 디버깅 포트를 인에이블시키고, 상기 제1 저장부의 시그너쳐 값과 상기 제2 저장부의 시그너쳐 값이 동일하지 않으면 상기 디버깅 포트 를 디스에이블시키며,
    상기 제어 관리부는, 상기 인증 프로토콜의 수행 결과가 인증 성공인 경우에는 상기 제1 저장부의 시그너쳐 값을 상기 제2 저장부의 시그너쳐 값과 동일한 값으로 변경하고, 상기 인증 프로토콜의 수행 결과가 인증 실패인 경우에는 상기 제1 저장부의 시그너쳐 값을 상기 제2 저장부의 시그너쳐 값과 다른 값으로 변경하는 것을 특징으로 하는 임베디드 시스템.
  4. 제 2항에 있어서,
    상기 제어 회로는, 상기 제1 저장부의 시그너쳐 값과 상기 제2 저장부의 시그너쳐 값이 동일하지 않으면 상기 디버깅 포트를 인에이블시키고, 상기 제1 저장부의 시그너쳐 값과 상기 제2 저장부의 시그너쳐 값이 동일하면 상기 디버깅 포트를 디스에이블시키며,
    상기 제어 관리부는, 상기 인증 프로토콜의 수행 결과가 인증 성공인 경우에는 상기 제1 저장부의 시그너쳐 값을 상기 제2 저장부의 시그너쳐 값과 다른 값으로 변경하고, 상기 인증 프로토콜의 수행 결과가 인증 실패인 경우에는 상기 제1 저장부의 시그너쳐 값을 상기 제2 저장부의 시그너쳐 값과 동일한 값으로 변경하는 것을 특징으로 하는 임베디드 시스템.
  5. 제 1항 또는 제 2항에 있어서,
    상기 제어 회로는 상기 제1 저장부 및 상기 제2 저장부를 구비하고,
    상기 제1 저장부는 재기록 가능한 메모리이며,
    상기 제2 저장부는 마스크 롬(Mask ROM)인 것을 특징으로 하는 임베디드 시스템.
  6. 제 1항 또는 제 2항에 있어서, 상기 제어 회로는,
    상기 디버깅 포트에 연결된 스위치 회로를 턴오프(turn off)시키거나 상기 디버깅 포트를 통해 소정의 더미(dummy) 값을 제공함으로써 상기 디버깅 포트를 디스에이블시키는 것을 특징으로 하는 임베디드 시스템.
  7. 디버깅 포트를 구비하는 임베디드 시스템의 구동 방법에 있어서, 상기 임베디스 시스템은 상기 디버깅 포트의 인에이블과 관련된 제1 저장부 및 제2 저장부를 구비하고,
    소정의 인증 프로토콜을 수행하여, 사용자의 인증 여부를 확인하는 인증 확인 단계;
    상기 인증 확인 결과에 따라 상기 제1 저장부의 시그너쳐 값을 변경하는 변경 단계; 및
    상기 제1 저장부의 시그너쳐 값과 상기 제2 저장부의 시그너쳐 값을 비교하여, 상기 비교 결과에 따라 상기 디버깅 포트를 인에이블(enable) 또는 디스에이블(disable)시키는 결정 단계를 포함하는 것을 특징으로 하는 임베디드 시스템(Embedded system)의 구동 방법.
  8. 제 7항에 있어서,
    상기 변경 단계는, 상기 인증 확인 결과가 인증 성공인 경우에는 상기 제1 저장부의 시그너쳐 값을 상기 제2 저장부의 시그너쳐 값과 동일한 값으로 변경하고, 상기 인증 확인 결과가 인증 실패인 경우에는 상기 제1 저장부의 시그너쳐 값을 상기 제2 저장부의 시그너쳐 값과 다른 값으로 변경하며,
    상기 결정 단계는, 상기 제1 저장부의 시그너쳐 값과 상기 제2 저장부의 시그너쳐 값이 동일하면 상기 디버깅 포트를 인에이블시키고, 상기 제1 저장부의 시그너쳐 값과 상기 제2 저장부의 시그너쳐 값이 동일하지 않으면 상기 디버깅 포트를 디스에이블시키는 것을 특징으로 하는 임베디드 시스템의 구동 방법.
  9. 제 7항에 있어서,
    상기 변경 단계는, 상기 인증 확인 결과가 인증 성공인 경우에는 상기 제1 저장부의 시그너쳐 값을 상기 제2 저장부의 시그너쳐 값과 다른 값으로 변경하고, 상기 인증 확인 결과가 인증 실패인 경우는 상기 제1 저장부의 시그너쳐 값을 상기 제2 저장부의 시그너쳐 값과 동일한 값으로 변경하며,
    상기 결정 단계는, 상기 제1 저장부의 시그너쳐 값과 상기 제2 저장부의 시그너쳐 값이 동일하지 않으면 상기 디버깅 포트를 인에이블시키고, 상기 제1 저장부의 시그너쳐 값과 상기 제2 저장부의 시그너쳐 값이 동일하면 상기 디버깅 포트를 디스에이블시키는 것을 특징으로 하는 임베디드 시스템의 구동 방법.
  10. 제 7항에 있어서, 상기 임베디드 시스템의 구동 방법은,
    상기 디버깅 포트에 연결된 스위치 회로를 턴오프(turn off)시키거나 상기 디버깅 포트를 통해 소정의 더미(dummy) 값을 제공함으로써 상기 디버깅 포트를 디스에이블시키는 것을 특징으로 하는 임베디드 시스템의 구동 방법.
  11. 제 7항에 있어서, 상기 인증 확인 단계는,
    입출력 포트(I/O Port)를 통해 공개키기반구조(PKI; Public Key Infrastructure) 인증 또는 암호(Password) 인증을 이용하여 인증 여부를 확인하는 것을 특징으로 하는 임베디드 시스템의 구동 방법.
KR1020080085909A 2008-09-01 2008-09-01 디버깅 포트를 구비하는 임베디드 시스템 및 그 구동 방법 KR20100026775A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080085909A KR20100026775A (ko) 2008-09-01 2008-09-01 디버깅 포트를 구비하는 임베디드 시스템 및 그 구동 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080085909A KR20100026775A (ko) 2008-09-01 2008-09-01 디버깅 포트를 구비하는 임베디드 시스템 및 그 구동 방법

Publications (1)

Publication Number Publication Date
KR20100026775A true KR20100026775A (ko) 2010-03-10

Family

ID=42178064

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080085909A KR20100026775A (ko) 2008-09-01 2008-09-01 디버깅 포트를 구비하는 임베디드 시스템 및 그 구동 방법

Country Status (1)

Country Link
KR (1) KR20100026775A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9185106B2 (en) 2013-03-14 2015-11-10 Samsung Electronics Co., Ltd. Access control method and mobile terminal which employs an access control method
KR20190088659A (ko) * 2018-01-19 2019-07-29 삼성전자주식회사 저장 장치 및 이의 디버깅 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9185106B2 (en) 2013-03-14 2015-11-10 Samsung Electronics Co., Ltd. Access control method and mobile terminal which employs an access control method
KR20190088659A (ko) * 2018-01-19 2019-07-29 삼성전자주식회사 저장 장치 및 이의 디버깅 시스템

Similar Documents

Publication Publication Date Title
KR101502032B1 (ko) 보안 기능을 갖는 프로세서 장치
US11455397B2 (en) Secure boot assist for devices, and related systems, methods and devices
US8276199B2 (en) Method and device for secure test port authentication
CN102063592B (zh) 一种可信平台及其对硬件设备的控制方法
EP2248063B1 (en) Method and apparatus for controlling system access during protected modes of operation
US20190253417A1 (en) Hardware device and authenticating method thereof
US9141776B2 (en) Method and apparatus for secure hardware analysis
US7600166B1 (en) Method and system for providing trusted access to a JTAG scan interface in a microprocessor
US20170288867A1 (en) Authenticating a system to enable access to a diagnostic interface in a storage device
US20130086385A1 (en) System and Method for Providing Hardware-Based Security
WO2019144403A1 (zh) 芯片的访问方法、安全控制模块、芯片和调试设备
US11409872B2 (en) Confirming a version of firmware loaded to a processor-based device
US20150127930A1 (en) Authenticated device initialization
CN103269271A (zh) 一种备份电子签名令牌中私钥的方法和系统
EP1967977A2 (en) Method and apparatus for protecting flash memory
CN103248491A (zh) 一种电子签名令牌私钥的备份方法和系统
CN109800605A (zh) 一种安全计算机
JP2008005408A (ja) 記録データ処理装置
JP2007316968A (ja) セキュリティ機能付き外部記憶装置及び外部記憶装置のセキュリティ管理方法
KR101533857B1 (ko) 부정 사용 방지 제어 시스템 및 부정 사용 방지 제어 방법
CN113190880A (zh) 基于对安全协处理器的背书信息的分析确定是否对计算设备执行动作
KR20100026775A (ko) 디버깅 포트를 구비하는 임베디드 시스템 및 그 구동 방법
CN103281188A (zh) 一种备份电子签名令牌中私钥的方法和系统
KR20190058302A (ko) 반도체 장치, 인증 시스템 및 인증 방법
CN112860497B (zh) 芯片调试使能控制方法

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination