KR20160086058A - 반도체 장치의 테스트 회로 및 테스트 방법 - Google Patents
반도체 장치의 테스트 회로 및 테스트 방법 Download PDFInfo
- Publication number
- KR20160086058A KR20160086058A KR1020150003236A KR20150003236A KR20160086058A KR 20160086058 A KR20160086058 A KR 20160086058A KR 1020150003236 A KR1020150003236 A KR 1020150003236A KR 20150003236 A KR20150003236 A KR 20150003236A KR 20160086058 A KR20160086058 A KR 20160086058A
- Authority
- KR
- South Korea
- Prior art keywords
- test
- test program
- encrypted
- key
- program
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318307—Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31719—Security aspects, e.g. preventing unauthorised access during test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/48—Arrangements in static stores specially adapted for testing by means external to the store, e.g. using direct memory access [DMA] or using auxiliary access paths
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/802—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout by encoding redundancy signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/816—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
- G11C29/822—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for read only memories
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/26—Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Semiconductor Integrated Circuits (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
본 발명에 따른 반도체 장치의 테스트 방법은 외부 장치로부터 제1 암호화된 테스트 프로그램을 입력 받는 단계, 암호 키에 근거하여 상기 제1 암호화된 테스트 프로그램을 해독하는 단계 및 제1 해독된 테스트 프로그램을 구동하여 제1 테스트 신호를 생성하는 단계를 포함한다.
Description
본 발명은 반도체 장치에 관한 것으로, 더욱 상세하게는 반도체 장치의 테스트 회로에 관한 것이다.
최근, 반도체 장치의 효율적인 테스트를 위해, 빌트인 셀프 테스트 회로(이하, BIST)를 반도체 장치 내부에 포함시키는 기술이 개발되어 왔다. BIST는 자체적으로 테스트 프로그램을 구동함으로써 일련의 테스트 알고리즘에 따라 반도체 장치에 대한 테스트를 수행하고, 테스트 결과를 내부에 저장하거나 외부로 출력할 수 있다. 반도체 장치는 BIST를 내장함으로써, 외부의 테스트 장비와 반도체 장치를 연결하기 위한 복수의 채널들을 구비할 필요가 없고, 빠른 주파수에 의한 고속 동작 환경 하에서 테스트를 수행할 수 있다.
한편, BIST는 테스트 프로그램을 외부 장치 또는 사용자로부터 입력 받아 저장하고, 저장된 테스트 프로그램을 구동함으로써 테스트 동작을 수행할 수 있다. 테스트 프로그램은 테스트 패턴에 따라 다양하게 존재할 수 있고, 반도체 장치의 내부 동작을 제어하는 테스트 신호를 생성하기 위한 코드를 포함할 수 있다. 이때, 테스트 프로그램은 외부 장치로부터 BIST로 입력될 때 외부에 노출될 수 밖에 없고, 따라서, 바람직하지 않은 사용자에 의한 테스트 프로그램의 분석은 반도체 장치에 구현된 핵심적인 기술들의 유출로 이르게 할 수 있다.
본 발명의 실시 예는 암호화된 테스트 프로그램을 사용하여 반도체 장치에 대한 테스트를 수행할 수 있는 테스트 방법을 제공하는 데 있다.
본 발명의 실시 예에 따른 반도체 장치의 테스트 방법은 외부 장치로부터 제1 암호화된 테스트 프로그램을 입력 받는 단계, 암호 키에 근거하여 상기 제1 암호화된 테스트 프로그램을 해독하는 단계 및 제1 해독된 테스트 프로그램을 구동하여 제1 테스트 신호를 생성하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 반도체 장치의 테스트 회로는 외부 장치로부터 암호화된 테스트 프로그램을 입력 받고, 암호 키에 근거하여 상기 암호화된 테스트 프로그램을 해독하도록 구성된 해독부 및 해독된 테스트 프로그램을 구동하여 테스트 신호를 생성하도록 구성된 테스트 실행부를 포함할 수 있다.
본 발명의 실시 예에 따른 반도체 장치의 테스트 방법은 제1 암호 키를 사용하여 테스트 프로그램을 암호화함으로써 제1 암호화된 테스트 프로그램을 생성하는 단계, 상기 제1 암호 키를 제1 반도체 장치에 저장하는 단계 및 상기 제1 암호화된 테스트 프로그램을 외부 장치로부터 상기 제1 반도체 장치에 내장된 테스트 회로로 입력하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 테스트 회로는, 암호화된 테스트 프로그램을 외부 장치로부터 입력 받아 자체적으로 해독함으로써 테스트를 수행할 수 있다. 테스트 프로그램은 외부에 암호화되어 제공되므로, 테스트 프로그램의 분석을 통해 반도체 장치의 핵심 기술이 유출될 수 있는 위험이 제거될 수 있다.
도1은 본 발명의 실시 예에 따른 반도체 장치의 테스트 방법을 설명하기 위한 도면,
도2는 도1의 반도체 장치를 간략하게 도시한 블록도,
도3은 도2의 BIST를 상세하게 도시한 블록도,
도4는 도3에 도시된 BIST의 일부 구성들을 예시적으로 도시한 도면,
도5는 본 발명의 실시 예에 따른 반도체 장치의 테스트 방법을 설명하기 위한 순서도,
도6은 본 발명의 실시 예에 따른 반도체 장치의 보안 유지 방법을 설명하기 위한 순서도,
도7 및 도8은 본 발명의 다른 실시 예에 따른 반도체 장치의 테스트 방법을 설명하기 위한 도면,
도9는 본 발명의 다른 실시 예에 따른 반도체 장치의 보안 유지 방법을 설명하기 위한 순서도이다.
도2는 도1의 반도체 장치를 간략하게 도시한 블록도,
도3은 도2의 BIST를 상세하게 도시한 블록도,
도4는 도3에 도시된 BIST의 일부 구성들을 예시적으로 도시한 도면,
도5는 본 발명의 실시 예에 따른 반도체 장치의 테스트 방법을 설명하기 위한 순서도,
도6은 본 발명의 실시 예에 따른 반도체 장치의 보안 유지 방법을 설명하기 위한 순서도,
도7 및 도8은 본 발명의 다른 실시 예에 따른 반도체 장치의 테스트 방법을 설명하기 위한 도면,
도9는 본 발명의 다른 실시 예에 따른 반도체 장치의 보안 유지 방법을 설명하기 위한 순서도이다.
이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.
도1은 본 발명의 실시 예에 따른 반도체 장치(10)의 테스트 방법을 설명하기 위한 도면이다.
본 발명의 실시 예에 따르면, 테스트 프로그램(TP1, TP2)은 암호화 과정을 거쳐 암호화된 테스트 프로그램(TP_ECR1, TP_ECR2)으로 변환될 수 있다. 테스트 프로그램(TP1, TP2)은 소정의 암호 키(KEY)를 사용하여 암호화될 수 있다. 사용된 암호 키(KEY)는 테스트 회로(100)에 저장될 수 있다. 테스트 회로(100)는, 예를 들어, 빌트인 셀프 테스트 회로(BIST)일 수 있고, 다만, 본 발명의 실시 예는 이에 한정되지 않는다. BIST(100)는 반도체 장치(10)에 대한 테스트를 수행하기 위해, 외부 장치(미도시)로부터 암호화된 테스트 프로그램(TP_ECR1, TP_ECR2)을 입력 받을 수 있다. BIST(100)에 저장된 암호 키(KEY)를 사용하여 BIST(100)로 입력된 암호화된 테스트 프로그램(TP_ECR1, TP_ECR2)을 해독할 수 있다. BIST(100)는 암호화된 테스트 프로그램(TP_ECR1, TP_ECR2)에 대해 해독 과정을 거친 후에 해독된 테스트 프로그램을 구동함으로써 반도체 장치(10)에 대한 테스트를 수행할 수 있다.
한편, 테스트 프로그램은 테스트 패턴에 따라 다양하게 존재할 수 있고, 도1은, 예시적으로 2개의 테스트 프로그램들(TP1, TP2)을 도시한다. 테스트 프로그램들(TP1, TP2)은 암호 키(KEY)를 사용하여 각각 암호화될 수 있다. 이들 암호화된 테스트 프로그램들(TP_ECR1, TP_ECR2)은, 다양한 테스트 패턴들에 따른 테스트를 위해 BIST(100)로 각각 입력될 수 있다.
실시 예에 따라, 서로 다른 테스트 프로그램들(TP1, TP2)은 서로 다른 암호 키를 사용하여 각각 암호화될 수 있다. 다른 말로 하면, 암호 키(KEY)는 서로 다른 테스트 프로그램들(TP1, TP2)에 따라 각각 다르게 설정될 수 있다. 이에 대한 구체적인 설명은 도8을 참조하여 후술될 것이다.
암호화된 테스트 프로그램과 암호화된 테스트 프로그램을 해독 가능한 BIST는 반도체 장치의 보완 유지에 효과적일 수 있다. 사용자는 암호화된 테스트 프로그램을 공급받게 되므로, 테스트 프로그램의 분석을 통한 기술 유출 문제는 효과적으로 저지될 수 있다.
도2는 도1의 반도체 장치(10)를 간략하게 도시한 블록도이다.
반도체 장치(10)는 BIST(100) 및 내부 회로(200)를 포함할 수 있다.
BIST(100)는 외부 장치로부터 암호화된 테스트 프로그램(TP_ECR)을 입력 받을 수 있다. BIST(100)는 내재된 암호 키(KEY)를 사용하여 암호화된 테스트 프로그램(TP_ECR)을 해독하고, 해독된 테스트 프로그램에 근거하여 테스트 신호(TSG)를 생성할 수 있다. 테스트 신호(TSG)는, 예를 들어, 테스트 커맨드, 테스트 어드레스 및 테스트 데이터 등을 포함할 수 있고, BIST(100)는 테스트 신호(TSG)를 통해 내부 회로(200)의 동작을 제어할 수 있다. BIST(100)는 테스트 신호(TSG)에 따른 내부 회로(200)의 동작 수행 결과(RSP)를 내부 회로(200)로부터 수신하여 테스트 결과(TRES)로서 외부 장치로 출력할 수 있다.
내부 회로(200)는 테스트 신호(TSG)에 응답하여 설정된 내부 동작을 수행하고, 동작 수행 결과(RSP)를 BIST(100)로 출력할 수 있다. 내부 회로(200)는 메모리 영역(210)을 포함할 수 있다.
도3은 도2의 BIST(100)를 상세하게 도시한 블록도이다.
BIST(100)는 키 저장부(110), 해독부(120), 프로그램 레지스터(130) 및 테스트 실행부(140)를 포함할 수 있다.
키 저장부(110)는 암호 키(KEY)를 저장할 수 있다. 키 저장부(110)는, 예를 들어, 퓨즈 회로로 구성될 수 있다. 키 저장부(110)는 외부 장치로부터 암호화된 테스트 프로그램(TP_ECR)이 입력되면 저장된 암호 키(KEY)를 해독부(120)로 제공할 수 있다.
해독부(120)는 암호화된 테스트 프로그램(TP_ECR)을 암호 키(KEY)에 근거하여 해독할 수 있다. 예를 들어, 해독부(120)는 암호화된 테스트 프로그램(TP_ECR)과 암호 키(KEY)를 논리 연산함으로써 암호화된 테스트 프로그램(TP_ECR)을 해독할 수 있다. 해독부(120)는 해독된 테스트 프로그램(TP)을 프로그램 레지스터(130)로 출력할 수 있다.
프로그램 레지스터(130)는 해독된 테스트 프로그램(TP)을 저장할 수 있다. 프로그램 레지스터(130)는 테스트 실행부(140)에 의해 참조될 수 있다.
테스트 실행부(140)는 해독된 테스트 프로그램(TP)을 구동하여 테스트 신호(TSG)를 생성할 수 있다. 해독된 테스트 프로그램(TP)은 테스트 신호(TSG)를 생성하기 위한 코드를 포함할 수 있다. 미도시 되었지만, 테스트 실행부(140)는 내부 회로(도2의 200)로부터 테스트 신호(TSG)에 응답한 동작 수행 결과(RSP)를 전송 받고, 테스트 결과(TRES)를 생성하여 외부 장치로 출력할 수 있다.
도4는 도3에 도시된 BIST(100)의 일부 구성들을 예시적으로 도시한 도면이다. 도4에서 해독부(120)는, 예를 들어, 시리얼 방식의 인터페이스를 통해, 암호화된 테스트 프로그램(TP_ECR)을 입력 받을 수 있다.
해독부(120)는 카운터(121), 멀티플렉서(122) 및 연산부(123)를 포함할 수 있다.
카운터(121)는 클럭 신호(CLK)에 응답하여 멀티플렉서(122)로 키 선택 코드(SEL)를 출력할 수 있다. 예를 들어, 카운터(121)는 클럭 신호(CLK)의 토글을 카운팅하여 카운팅 결과를 키 선택 코드(SEL)로서 출력할 수 있다.
멀티플렉서(122)는 키 저장부(110)로부터 리드된 암호 키(KEY)를 키 선택 코드(SEL)에 응답하여 시리얼 변환된 암호 키(SKEY)로 출력할 수 있다.
연산부(123)는 암호화된 테스트 프로그램(TP_ECR)과 시리얼 변환된 암호 키(SKEY)를 논리 연산함으로써 해독된 테스트 프로그램(TP)을 시리얼로 출력할 수 있다. 연산부(123)는, 예를 들어, 앞서 테스트 프로그램의 암호화 과정이 테스트 프로그램과 암호 키의 배타적 오어 연산을 통해 수행된 경우라면, 배타적 오어 게이트(XOR)를 포함할 수 있다.
프로그램 레지스터(130)는 클럭 신호(CLK)에 응답하여 해독된 테스트 프로그램(TP)을 저장할 수 있다. 예를 들어, 프로그램 레지스터(130)는 시프트 레지스터로 구성될 수 있다.
도5는 본 발명의 실시 예에 따른 반도체 장치의 테스트 방법을 설명하기 위한 순서도이다. 이하, 도2, 도3 및 도5를 참조하여, 암호화된 테스트 프로그램(TP_ECR)를 사용한 반도체 장치(10)의 테스트 방법이 상세하게 설명될 것이다.
S110 단계에서, BIST(100)는 외부 장치로부터 암호화된 테스트 프로그램(TP_ECR)을 입력 받을 수 있다.
S120 단계에서, BIST(100)는 암호 키(KEY)에 근거하여 암호화된 테스트 프로그램(TP_ECR)을 해독할 수 있다. 암호 키(KEY)는 BIST(100)의 키 저장부(110)로부터 리드될 수 있다. 해독된 테스트 프로그램(TP)은 프로그램 레지스터(130)에 저장될 수 있다.
S130 단계에서, BIST(100)는 해독된 테스트 프로그램(TP)을 구동하여 테스트 신호(TSG)를 생성할 수 있다. 테스트 신호(TSG)는 내부 회로(200)의 내부 동작을 제어하기 위한 테스트 커맨드, 테스트 어드레스 및 테스트 데이터를 포함할 수 있다.
S140 단계에서, BIST(100)는 테스트 신호(TSG)를 사용하여 내부 회로(200)를 테스트할 수 있다. BIST(100)는 내부 회로(200)로 테스트 신호(TSG)를 전송하고, 내부 회로(200)로부터 동작 수행 결과를 전송 받아 테스트 결과로서 외부 장치로 출력할 수 있다.
도6은 본 발명의 실시 예에 따른 반도체 장치의 보안 유지 방법을 설명하기 위한 순서도이다.
S210 단계에서, 제조자는 암호 키를 사용하여 테스트 프로그램을 암호화할 수 있다.
S220 단계에서, 제조자는 사용한 암호 키를 반도체 장치에 저장할 수 있다. 암호 키는, 예를 들어, 퓨즈 회로에 저장될 수 있다.
S230 단계에서, 제조자는 암호화된 테스트 프로그램 및 반도체 장치를 사용자에게 공급할 수 있다. 사용자는 반도체 장치를 테스트하기 위해 암호화된 테스트 프로그램을 반도체 장치로 입력할 것이다. 테스트 프로그램은 암호화되었기 때문에 사용자에 의한 테스트 프로그램의 분석은 효과적으로 차단될 수 있다.
도7 및 도8은 본 발명의 다른 실시 예에 따른 반도체 장치의 테스트 방법을 설명하기 위한 도면이다.
도7을 참조하면, 테스트 프로그램(TP)을 서로 다른 암호 키들(KEY1, KEY2)을 사용하여 암호화하는 과정이 도시된다. 테스트 프로그램(TP)은 제1 및 제2 암호 키들(KEY1, KEY2)을 사용하여 암호화될 수 있다. 즉, 암호화된 테스트 프로그램은 암호화 과정에 사용된 암호 키에 따라 서로 다르게 생성될 수 있다. 서로 다른 암호 키들(KEY1, KEY2)에 의해 암호화된 제1 및 제2 암호화된 테스트 프로그램들(TP_ECR1, TP_ECR2) 각각은, 대응하는 암호 키를 저장한 반도체 장치로 입력될 경우에만 에러 없이 해독될 수 있을 것이다. 다른 말로 하면, 반도체 장치는 자신에게 저장된 암호 키에 의해 암호화된 테스트 프로그램을 입력 받을 경우에만, 정상적으로 테스트를 수행할 수 있을 것이다.
실시 예에 따라, 암호 키는 사용자마다 서로 다르게 할당될 수 있다. 암호 키는 동일한 테스트 프로그램(TP)을 암호화하기 위한 것일 지라도 사용자마다 서로 다르게 할당될 수 있다. 사용자는 자신에게 할당된 암호 키를 저장하는 반도체 장치와, 대응하는 암호화된 테스트 프로그램을 공급받을 수 있다.
이와 같이, 동일한 테스트 프로그램(TP)을 여러 사용자들에게 서로 다른 암호화된 테스트 프로그램들로서 공급함으로써 테스트 프로그램에 대한 보안 유지는 더욱 효과적일 수 있다.
도8을 참조하면, 서로 다른 테스트 패턴들에 각각 대응하는 테스트 프로그램들(TP1, TP2)을 서로 다른 암호 키들(KEY1, KEY2)을 사용하여 각각 암호화하는 과정이 도시된다. 제1 및 제2 테스트 프로그램들(TP1, TP2)은 서로 다른 테스트 패턴들에 각각 대응할 수 있고, 제1 및 제2 암호 키들(KEY1, KEY2)을 사용하여 각각 암호화될 수 있다. 하나의 테스트 패턴에 대응하는 테스트 프로그램은 하나의 암호 키만을 사용하여 암호화될 수 있다.
상술한 바와 같이, 암호 키는 사용자마다 또는 테스트 프로그램들(TP1, TP2)에 따라 서로 다르게 할당될 수 있다. 사용자는 자신에게 할당된 암호 키를 저장하는 반도체 장치와, 대응하는 암호화된 테스트 프로그램을 공급받을 수 있다.
제1 암호 키는 제1 사용자에게 할당되었고, 제2 암호 키는 제2 사용자에게 할당된 것으로 가정한다. 따라서, 제1 암호화된 테스트 프로그램(TP_ECR1) 및 제1 반도체 장치(11)는 제1 사용자에게 공급되고, 제2 암호화된 테스트 프로그램(TP_ECR2) 및 제2 반도체 장치(12)는 제2 사용자에게 공급될 수 있다. 이러한 경우, 제1 사용자는 자신이 테스트해보지 못한 테스트 패턴으로 제1 반도체 장치(11)를 테스트하기 위해서 제2 사용자로부터 제2 암호화된 테스트 프로그램(TP_ECR2)을 입수하더라도, 제1 반도체 장치(11)는 제2 암호화된 테스트 프로그램(TP_ECR2)을 해독할 능력이 없기 때문에, 즉, 제2 암호 키(KEY2)를 포함하지 않기 때문에, 원하는 결과를 얻지 못할 것이다. 즉, 본 발명의 실시 예에 따르면, 테스트 프로그램의 사용자 간 유통이 제한되므로, 테스트 프로그램에 대한 보안 유지 효과는 더욱 향상될 수 있다.
도9는 본 발명의 다른 실시 예에 따른 반도체 장치의 보안 유지 방법을 설명하기 위한 순서도이다.
S310 단계에서, 제조자는 사용자에 대응하는 암호 키를 설정할 수 있다. 제조자는 사용자에게 소정의 암호 키를 할당할 수 있다.
S320 단계에서, 제조자는 설정한 암호 키를 사용하여 테스트 프로그램을 암호화할 수 있다.
S330 단계에서, 제조자는 설정한 암호 키를 반도체 장치에 저장할 수 있다.
S340 단계에서, 제조자는 암호화된 테스트 프로그램 및 반도체 장치를 사용자에게 공급할 수 있다.
본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10 : 반도체 장치
100 : 테스트 회로
200 : 내부회로
210 : 메모리 영역
100 : 테스트 회로
200 : 내부회로
210 : 메모리 영역
Claims (19)
- 외부 장치로부터 제1 암호화된 테스트 프로그램을 입력 받는 단계;
암호 키에 근거하여 상기 제1 암호화된 테스트 프로그램을 해독하는 단계; 및
제1 해독된 테스트 프로그램을 구동하여 제1 테스트 신호를 생성하는 단계를 포함하는 반도체 장치의 테스트 방법. - 제1항에 있어서,
상기 암호 키를 내장된 키 저장부로부터 리드하는 단계를 더 포함하는 반도체 장치의 테스트 방법. - 제1항에 있어서,
상기 제1 해독된 테스트 프로그램을 레지스터에 저장하는 단계를 더 포함하는 반도체 장치의 테스트 방법. - 제1항에 있어서,
상기 제1 테스트 신호를 사용하여 내부 회로를 테스트하는 단계를 더 포함하는 반도체 장치의 테스트 방법. - 제1항에 있어서,
제1 테스트 프로그램을 상기 암호 키를 사용하여 상기 제1 암호화된 테스트 프로그램으로 암호화하는 단계를 더 포함하는 반도체 장치의 테스트 방법. - 제1항에 있어서,
외부 장치로부터 제2 암호화된 테스트 프로그램을 입력 받는 단계;
상기 암호 키에 근거하여 상기 제2 암호화된 테스트 프로그램을 해독하는 단계; 및
제2 해독된 테스트 프로그램을 구동하여 제2 테스트 신호를 생성하는 단계를 더 포함하되,
상기 제1 및 제2 암호화된 테스트 프로그램들은 서로 다른 테스트 패턴들에 각각 대응하는 반도체 장치의 테스트 방법. - 제6항에 있어서,
제2 테스트 프로그램을 상기 암호 키를 사용하여 상기 제2 암호화된 테스트 프로그램으로 암호화하는 단계를 더 포함하는 반도체 장치의 테스트 방법. - 외부 장치로부터 암호화된 테스트 프로그램을 입력 받고, 암호 키에 근거하여 상기 암호화된 테스트 프로그램을 해독하도록 구성된 해독부; 및
해독된 테스트 프로그램을 구동하여 테스트 신호를 생성하도록 구성된 테스트 실행부를 포함하는 반도체 장치의 테스트 회로. - 제8항에 있어서,
상기 암호 키를 저장하는 키 저장부를 더 포함하는 반도체 창치의 테스트 회로. - 제9항에 있어서,
상기 해독부는,
클럭 신호의 토글을 카운팅하고, 카운팅 결과를 키 선택 코드로서 출력하도록 구성된 카운터;
상기 키 선택 코드에 응답하여, 상기 키 저장부로부터 출력된 상기 암호 키를 시리얼 변환하고, 시리얼 변환된 암호 키를 출력하도록 구성된 멀티플렉서; 및
상기 암호화된 테스트 프로그램과 상기 시리얼 변환된 암호 키를 논리 연산함으로써 상기 해독된 테스트 프로그램을 출력하도록 구성된 연산부를 포함하는 반도체 장치의 테스트 회로. - 제8항에 있어서,
상기 해독된 테스트 프로그램을 저장하는 프로그램 레지스터를 더 포함하는 반도체 장치의 테스트 회로. - 제8항에 있어서,
상기 해독된 테스트 프로그램은 상기 테스트 신호를 생성하기 위한 코드를 포함하는 반도체 장치의 테스트 회로. - 제1 암호 키를 사용하여 테스트 프로그램을 암호화함으로써 제1 암호화된 테스트 프로그램을 생성하는 단계;
상기 제1 암호 키를 제1 반도체 장치에 저장하는 단계; 및
상기 제1 암호화된 테스트 프로그램을 외부 장치로부터 상기 제1 반도체 장치에 내장된 테스트 회로로 입력하는 단계를 포함하는 반도체 장치의 테스트 방법. - 제13항에 있어서,
상기 반도체 장치에 저장된 상기 제1 암호 키는 상기 테스트 회로에 의한 상기 제1 암호화된 테스트 프로그램의 해독 과정에 사용되는 반도체 장치의 테스트 방법. - 제13항에 있어서,
상기 제1 암호 키는 퓨즈 회로에 저장되고, 상기 제1 암호화된 테스트 프로그램이 상기 테스트 회로로 입력되면 상기 퓨즈 회로로부터 리드되는 반도체 장치의 테스트 방법. - 제13항에 있어서,
상기 테스트 프로그램은, 상기 제1 반도체 장치의 내부 동작을 제어하는 테스트 신호를 생성하기 위한 코드를 포함하는 반도체 장치의 테스트 방법. - 제13항에 있어서,
상기 제1 암호 키를 사용하여 복수의 테스트 패턴들에 각각 대응하는 복수의 테스트 프로그램들을 각각 암호화함으로써 복수의 암호화된 테스트 프로그램들을 생성하는 단계를 더 포함하는 반도체 장치의 테스트 방법. - 제13항에 있어서,
제2 암호 키를 사용하여 상기 테스트 프로그램을 암호화함으로써 제2 암호화된 테스트 프로그램을 생성하는 단계; 및
상기 제2 암호 키를 제2 반도체 장치에 저장하는 단계를 더 포함하는 반도체 장치의 테스트 방법. - 제18항에 있어서,
상기 제1 및 상기 제2 암호 키는 사용자마다 서로 다르게 할당되는 반도체 장치의 테스트 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150003236A KR20160086058A (ko) | 2015-01-09 | 2015-01-09 | 반도체 장치의 테스트 회로 및 테스트 방법 |
US14/635,784 US20160202314A1 (en) | 2015-01-09 | 2015-03-02 | Test circuit and method of semiconductor device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150003236A KR20160086058A (ko) | 2015-01-09 | 2015-01-09 | 반도체 장치의 테스트 회로 및 테스트 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20160086058A true KR20160086058A (ko) | 2016-07-19 |
Family
ID=56367398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150003236A KR20160086058A (ko) | 2015-01-09 | 2015-01-09 | 반도체 장치의 테스트 회로 및 테스트 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20160202314A1 (ko) |
KR (1) | KR20160086058A (ko) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7412053B1 (en) * | 2002-10-10 | 2008-08-12 | Silicon Image, Inc. | Cryptographic device with stored key data and method for using stored key data to perform an authentication exchange or self test |
-
2015
- 2015-01-09 KR KR1020150003236A patent/KR20160086058A/ko not_active Application Discontinuation
- 2015-03-02 US US14/635,784 patent/US20160202314A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20160202314A1 (en) | 2016-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6538908B2 (ja) | エントロピービットを用いたセキュリティシステム | |
US10341099B2 (en) | Cryptographic key generation using a stored input value and a stored count value | |
US10110380B2 (en) | Secure dynamic on chip key programming | |
US11728967B2 (en) | Dynamic masking | |
US20140016776A1 (en) | Establishing unique key during chip manufacturing | |
JP2015170952A (ja) | 暗号化/復号化システム及びその制御方法、並びにプログラム | |
US8351599B2 (en) | Cryptographic device for fast session switching | |
CN106919858B (zh) | 芯片、所述芯片的数据保护装置及方法 | |
CN111670443A (zh) | 集成电路个性化 | |
US9537655B2 (en) | Random number generating device, cipher processing device, storage device, and information processing system | |
KR20180059217A (ko) | 메모리 데이터 보안 처리 장치 및 방법 | |
JP7057675B2 (ja) | 半導体装置及び暗号鍵の生成方法 | |
US11698993B2 (en) | Integrated circuit configured to perform symmetric encryption operations with secret key protection | |
KR20160086058A (ko) | 반도체 장치의 테스트 회로 및 테스트 방법 | |
WO2019142260A1 (ja) | 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム | |
JP2018078610A (ja) | 暗号化/復号化システム及びその制御方法、並びにプログラム | |
US20240020383A1 (en) | Method and circuit for protecting an electronic device from a side-channel attack | |
KR20240048985A (ko) | 투표 분석 정보를 포함하는 동형 암호문을 생성하는 방법 및 그 전자 장치 | |
TW202147097A (zh) | 基於物理不可複製功能的真隨機數產生器以及用於產生真隨機數的方法 | |
JP2018092174A (ja) | 乱数生成装置、記憶装置及び情報処理システム | |
TWM520661U (zh) | 遠端監控系統 | |
CN106663177A (zh) | 加密代码执行 | |
JP2008283463A (ja) | 暗号処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |