KR20050016386A - 보안 스캔 - Google Patents

보안 스캔

Info

Publication number
KR20050016386A
KR20050016386A KR10-2004-7017706A KR20047017706A KR20050016386A KR 20050016386 A KR20050016386 A KR 20050016386A KR 20047017706 A KR20047017706 A KR 20047017706A KR 20050016386 A KR20050016386 A KR 20050016386A
Authority
KR
South Korea
Prior art keywords
circuit
scan
dut
inspection information
data
Prior art date
Application number
KR10-2004-7017706A
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 KR10-2004-7017706A priority Critical patent/KR20050016386A/ko
Publication of KR20050016386A publication Critical patent/KR20050016386A/ko

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

본 발명에 따라, 자동화된 스캔 검사를 할 수 있는 회로는 개시된다. 회로에는 암호화 엔진, 디지털 회로, 입력 핀, 및 출력 핀을 포함한다. 암호화 엔진은 하나 이상의 디지털 신호들의 적어도 하나의 인크립션 및 디크립션을 수행할 수 있다. 디지털 회로는 조합 논리 및 다수의 메모리 셀들을 포함한다. 메모리 셀들은 스캔 체인에서 연속으로 접속된 스캔 입력을 가진다. 입력 핀 및 출력 핀은 스캔 체인에 결합된다. 적어도 하나의 입력 핀 및 출력 핀은 스캔 체인의 일부 암호문 데이터를 운반한다.

Description

보안 스캔 {Secure scan}
본 출원은 발명의 명칭이 "보안 스캔"(대리인 문서 번호 18926-009600US)인 2002년 5월 3일 출원된 미국예비출원번호 60/377,551; 및 발명의 명칭이 "보안 스캔"(대리인 문서 번호 18926-009610US)인 2003년 5월 1일 출원된 미국출원번호10/428,882에 대한 우선권을 주장한다.
본 발명은 전자 회로들, 특히 스캔 체인들을 갖는 전자 회로들의 자동화된 검사에 관한 것이다.
스캔 회로는 디지털 집적 회로들 및 회로 카드들을 검사하기 위해 사용된다. 내부 스캔은 입력 스캔 신호를 디지털 집적 회로의 F/F들의 스캔 체인으로 연속적으로 시프팅하여, 그것들을 초기 상태로 로딩하게 한다. 일단 로딩되면, 집적 회로는 정상 동작 모드에서 클럭될 수 있다. 일단 정상 동작이 정지되면, 출력 스캔 신호는 집적 회로의 적절한 동작을 확인하도록 분석용 스캔 체인을 판독할 수 있다. 유사하게, 회로 카드 배선은 집적된 회로 입력/출력 핀들을 검사하는 경계 스캔 기술들을 사용하여 검사될 수 있다.
디지털 집적 회로들의 검사는 대외적으로 수행되고 및/또는 검사시 보안 레벨을 용이하게 가변시킬 수 있다. 일부 구조들은, 그들이 사용하는 디지털 회로들이 가정용으로만 검사되게 한다. 내부 또는 경계 스캔 체인들에 대한 어떤 감지된 입력들 및/또는 출력들이 검사하는 회로들에 관한 정보를 획득하도록 사용될 수 있었다. 물리적 보안 방법들이 이용으로부터 검사 벡터들을 보호하기 위하여 통상적으로 사용된다. 예를 들어, 상기 벡터들을 저장하는 검사 벡터들 및 회로 검사기들은 제한된 개별 세트들에 이용 가능하다. 물리적 보안 및 스크린은 일반적으로 이용될 수 있는 것을 나타낸다.
도 1은 회로 검사 시스템의 일실시예의 블록도.
도 2a 내지 도 2h는 DUT의 일부의 실시예를 각각 도시하는 블록도.
도 3a 내지 3c는 인크립션 회로의 실시예를 각각 도시하는 블록도.
도 4는 DUT를 검사하기 위한 처리의 실시예의 흐름도.
도 5는 검사 시나리오의 실시예의 타이밍도.
본 발명의 일실시예에서, 자동화된 스캔 검사를 수행할 수 있는 회로가 개시된다. 상기 회로는 암호화 엔진, 디지털 회로, 입력 핀, 및 출력 핀을 포함한다. 암호화 엔진은 하나 이상의 디지털 신호들의 인크립션(encryption)과 디크립션(decryption) 중 적어도 하나를 수행할 수 있다. 디지털 회로는 조합 논리 및 다수의 메모리 셀들을 포함한다. 메모리 셀들은 스캔 체인에 연속으로 접속된 스캔 입력들을 갖는다. 입력 핀 및 출력 핀은 스캔 체인에 결합된다. 입력 핀과 출력 핀 중 적어도 하나는 스캔 체인의 적어도 일부의 암호문 데이터를 나른다.
본 발명은 첨부된 도면들과 관련하여 기술된다.
첨부된 도면에서, 유사한 구성요소들 및/또는 특징들은 동일한 참조 라벨을 갖을 수 있다. 또한, 동일한 유형의 다양한 구성요소들은 이하에서 대시(dash)에 의한 참조 라벨 및 유사한 구성요소들을 구분하는 제 2 라벨에 의해 구분될 수 있다. 만약 제 1 참조 라벨이 명세서에 사용되면, 상세한 설명은 제 2 참조 라벨과 무관한 동일한 제 1 참조 라벨을 갖는 유사한 구성요소들 중 임의의 하나에 적용 가능하다.
이하의 설명은 바람직한 대표적 실시예(들)만을 제공하지만, 본 발명의 범위, 적용 가능성, 또는 구성을 제한하도록 의도되지 않는다. 오히려, 바람직한 대표적 실시예(들)에 대한 이하의 설명은, 본 발명의 바람직한 대표적 실시예를 구현하게 하는 설명을 당업자에게 제공할 것이다. 첨부된 청구항들에 개시된 바와 같이 본 발명의 의도 및 범위를 벗어나지 않고 성분들의 기능 및 배열에 있어서 다양한 변화들이 형성될 수 있다는 점이 이해된다.
도 1을 우선 참조하여, 회로 검사 시스템(100)의 실시예들의 블록도가 도시된다. 검사 시스템(100)은 DUT(device under test)가 적절히 기능하는지를 확인하도록 사용된다. 이런 검사는 DUT의 디버그, 생산 검사 등일 수 있다. 회로 검사 시스템(100)은 디자인 워크스테이션(104), 회로 검사기(108), DUT(112), 입력 검사 벡터들(116), 및 출력 검사 벡터들을 포함한다. DUT(112)는 통상적으로 회로 검사기(108)의 일부인 DUT 캐리어에 삽입된다. 자동화된 시스템들은, 각각 연속적으로 검사하기 위해 많은 DUT(112)가 로딩되게 한다. DUT(112)는 베어 다이(bare die), 패키지된 집적 회로(IC), 다중 IC들의 하이브리드 패키지, 하나 이상의 IC들을 갖는 회로 카드, 하나 이상의 회로 카드들을 갖는 모듈, 모듈들의 시스템, 또는 임의의 다른 회로 구성들일 수 있다. DUT(112)는 인크립션, 디크립션 및/또는 해시 기능을 수행할 수 있는 암호화 기능을 포함한다.
회로 검사기(108)는 DUT(112)에 신호들을 인가하고, 다른 신호들을 판독한다. 구성 정보 및 입력 검사 벡터기들(116)은 DUT(112)를 자극(simulate)하는 방법을 회로 검사기(108)에 명령한다. 상기 자극은 DUT(112)의 출력 신호들이 반응하게 한다. 상기 반응들은 회로 검사기(108)에 의해 기록되고, 출력 검사 벡터들로서 저장된다. 회로 검사기(108)는 또한, 예상된 검사 벡터들(124) 세트에 대해 출력 검사 벡터들을 비교하여, DUT(112)가 적절하게 기능하는지에 대해 검사기(108)에 의해 결론 내릴 수 있다.
디자인 워크스테이션(104)은 많은 기능들을 갖고, 입력 검사 벡터들(116) 및 예상된 검사 벡터들(124)을 생성하도록 사용될 수 있다. 많은 경우들에서, 디자인 워크스테이션(104)은 검사 벡터들을 생성하도록 사용된 DUT(112)의 논리 모델을 갖는다. 논리 모델은 DUT와 동일한 방식으로 스캔 신호를 인크립트할 수 있어서, 예상된 검사 벡터는 결정론 방식으로 발생될 수 있다. 일부 실시예들은 공개키 또는 개인키를 사용하여 디자인 워크스테이션(104)에 의해 입력 검사 벡터들(116)을 인크립트한다. DUT는 스캔 체인의 플립플롭들(F/F)에 로딩하기 전에 입력 검사 벡터들(116)을 디크립트하여, 입력 자극이 결정된다.
입력 검사 벡터들(116)은 시드들, DUT 일련 번호, 키들, 및 다른 초기화를 DUT(112)에 로딩하도록 사용될 수 있다. 입력 검사 벡터들은 각각의 DUT(112)에 대해 부분적으로 또는 전체적으로 주문제작(customize)될 수 있고, 평문 또는 암호문 형태일 수 있다. 예를 들어, 전체적 또는 부분적으로 인크립트된 검사 벡터들은 DUT에 저장된 유일한 키를 갖는 특정 DUT(112)를 위해 제공될 수 있다. DUT 상의 라벨은 입력 검사 벡터들(116)에 의해 로딩되는 DUT 일련 번호와 매칭하게 사용될 수 있다.
도 2a 내지 도 2h를 참조하여, DUT(112)의 일부의 실시예를 각각 도시하는 블록도가 설명된다. 설명된 부분은 DUT의 전부 또는 일부일 수 있다. 도 2a를 참조하여, 단일 내부 스캔 체인 DUT(112-1)가 도시되고, 스캔 신호를 선택적으로-디크립트, 선택적으로-인크립트 및/또는 선택적으로-해시할 수 있다. DUT(112-1)는 회로 블록(204), 다수의 스위치들(208), 암호화 회로(212), 바이패스 회로(216), 디크립션 회로(220), 및 스캔 인터페이스(224)를 포함한다. DUT(112)의 일부 실시예들은, 비록 이 실시예가 단일 스캔 체인만을 포함하지만 임의의 수의 별개의 스캔 체인들을 포함할 수 있다.
회로 블록(204)은 F/F들이나 레지스터들의 조합이고(즉, 메모리 셀들의 결합), 조합 논리이다. 회로 블록(204)의 F/F들 및 레지스터들은 내부 스캔 체인에 연속으로 접속된다. 스캔 인터페이스(224)는 입력 검사 벡터들(116)에 지정된 스캔 신호를 수신한다. 제 1 스위치(208-1)는 디크립션 회로(220)에 스캔 신호를 결합하거나, 디크립션 회로에 바이패스(216)를 결합하기 위하여 사용된다. 이런 방식으로, 일부 스캔 신호가 디크립트되고, 일부는 디크립되지 않는다. 각각의 입력 검사 벡터의 비트는 제 1 스위치(208-1)로 디크립션을 선택적으로 활성화하기 위하여 사용될 수 있다. 이런 실시예에서, 디크립션 회로는 연속적 디크립션 및 인크립션을 사용한다.
일단 스캔 신호가 완전히 평문 형태이면, 회로 블록(204)에 공급된다. 회로 블록(204)의 레지스터들 및 F/F들은 이들 초기 값들로 연속적인 방식으로 로딩된다. 캡쳐 신호는 정상 동작시 회로 블록(204)을 클럭하기 위하여 활성화된다. 일단 정상 동작이 완료되고, 캡쳐 신호가 비활성화되면, 회로 블록(204)의 스캔 체인은 연속적인 방식으로 언로딩된다. 제 2 스위치(208-2)는 인크립션 회로(212) 또는 바이패스(216)를 선택적으로 사용함으로써 출력 스캔 신호를 선택적으로 인크립트하거나 해싱하기 위해 사용된다. 부분적으로 또는 전체적으로 인크립트/해싱될 수 있는 출력 스캔 신호는 출력 검사 벡터(120)의 일부로서 레지스터하기 위하여 스캔 인터페이스(224)를 통과한다. 비록 해시 기능 중 하나의 성질이 출력 스캔 신호의 평문 버젼을 검색하지 않게 하는 것이지만, 해시 출력을 사용하는 것은 회로 블록(204)이 적절하게 기능하게 하는 것을 검증한다.
도 2b를 참조하여, DUT(112-2)의 다른 실시예가 도시된다. 이 실시예는 다수의 회로 블록들(204)에 대한 다수의 스캔 체인들을 포함한다. 병렬 방식으로 입력 검사 벡터들(116)에 의해 구동되는 다수의 입력 스캔 신호들이 있다. 제 1 스위치(208)는 각각의 스캔 신호에 대해 개별적으로 턴오프하거나 디크립션할 수 있다. 디크립션 회로(220)는 연속 알고리듬으로 각각의 신호를 디크립트하거나 블록 알고리듬으로 다수의 입력 스캔 신호들을 디크립트할 수 있다. 예를 들어, 블록 디크립션에 대해 각각 1비트를 제공하는 604개의 입력 스캔 신호들이 있을 수 있다.
평문 입력 스캔 신호들은 각각의 회로 블록들(204)에 로딩된다. 이 실시예에서, 회로 블록(204)당 하나의 스캔 신호가 있다. 활성 캡쳐 신호로 정상 동작후, 회로 블록들(204)의 클럭킹은 계속되어 다중 스캔 체인들은 연속적인 방식으로 시프트된다. 제 2 스위치 뱅크(208)는 다른 출력 스캔 신호들을 선택적으로 조종한다. 예를 들어, 4개의 출력 스캔 신호들은 나머지가 클리어인 동안 전체적으로 또는 부분적으로 인크립트된다. 인크립션 회로(212)는 연속 또는 블록 알고리듬을 사용할 수 있다.
도 2c의 실시예(112-3)는 입력 스캔 신호들의 어느 것도 디크립트되지 않는 것을 제외하고 도 2b와 유사한다. 도 2d에서, 다른 실시예(112-4)는 모든 출력 스캔 신호들을 인크립트하는 것을 도시한다. 도 2e는 다른 것들이 클리어인 동안 일부 출력 스캔 신호들을 인크립트하는 실시예(112-5)를 도시한다. 다른 말로, 단일의 출력 스캔 신호는 선택적으로 인크립트될 수 없다. 도 2f의 실시예(112-6)에서, 일부 전체 입력 스캔 신호들은 디크립트되고, 다른 것들은 되지 않는다. 또한, 일부 전체 출력 스캔 신호들은 인크립트되거나 해싱되고, 다른 것들은 되지 않는다. 특정 체인은 임의의 인크립션, 디크립션 및/또는 해싱 치환을 가진다.
도 2g 및 2h의 실시예들(112-7, 112-8)은 다중 IC들을 가진 실시예들에 관한 것이다. 이들 IC들은 동일하거나 다른 회로보드상에 동일한 패키지 또는 다른 패키지들에 있을 수 있다. 도 2g에서, 다른 IC(204)의 3개의 회로 블록들은 연속적인 방식으로 접속된 스캔 체인들을 가진다. 디크립션 및 인크립션 회로들(220, 212)은 회로 블록들(204)들 중 하나로서 동일한 IC에 집적되거나, 독립된 IC이거나 동일한 IC일 수 있다. 이런 실시예(112-7)는 전체 스캔 신호들에 대한 바이패스(216)를 가지지만, 다른 실시예들은 부분적 스캔 신호 바이패스 옵션들을 갖을 수 있다.
도 2h를 참조하여, 이런 실시예(112-8)는 내부 및 경계 스캔을 검사한다. 제 1 회로(204-1)의 내부 스캔은 경계 스캔 체인(228) 및 제 2 회로(204-2)에 접속된다. 이런 방식에서, 경계 스캔 체인들은 또한 인크립트될 수 있다. 일부 실시예들은 내부 스캔 체인들을 통하여 링크하지 않고, 가능한 암호화로 경계 스캔 인터페이스를 검사할 수 있다. 또한, 다중 칩 패키지들, 회로 카드들 및 모듈들에 대한 경계 스캔 체인들은 회로 어셈블리들을 검사하기 위하여 임의의 결합으로 함께 데이지-체인(daisy-chain)될 수 있다.
도 3a를 참조하여, 인크립션 회로(212-1)의 실시예의 블록도가 도시된다. 이 인크립션 회로(212-1)의 실시예는 블록 인크립션을 수행한다. 워드 확장 블록(308)은 출력 스캔 신호들을 얻고, 블록 암호화 엔진의 워드 크기를 갖는 블록을 달성하기 위하여 몇번 복제한다. 예를 들어, 여기서 64비트 블록들이 블록 암호화 엔진(304)에 의해 인크립트되고, 단지 32 출력 스캔 신호들은 워드 확장 블록(308)에 입력되며, 각각의 출력 스캔 신호는 인크립션을 위한 64 비트 블록들을 달성하기 위하여 복제된다.
출력 스캔 신호들의 비트들은 임의의 방식으로 확장될 수 있다. 예를 들어, 몇몇의 비트들은 두번 복제되고, 몇몇은 전혀 복제되지 않으며, 몇몇은 블록의 각각의 비트에 입력되도록 4번 복제된다. 복제된 신호들이 할당되는 비트 위치들은 조종될 수 있다. 확장 처리는 다른 검사 시나리오가 다른 방식으로 확장될 수 있도록 프로그램될 수 있다. 워드 확장 블록(308)에 입력된 각각의 비트는 주문 방식으로 하나 이상의 출력 비트 위치들에 할당될 수 있다. 입력 벡터들(116)은 워드 확장 블록을 구성하기 위하여 사용될 수 있다.
일부 실시예들은 구성을 요구하지 않는 활성 입력 비트들에 기초하여 확장을 위한 세트 알고리듬을 갖을 수 있다. 산술 기능들은 입력 비트들 상에서 수행될 수 있고, 예를 들어, 확장된 비트는 하나 이상의 입력 비트들의 배타적-OR이다. 일부 실시예들은, 출력 스캔 신호가 인크립션 회로(212-1)를 바이패싱하고, 그 장소에서 다른 비트를 확장할 때를 결정할 수 있다. 비록 이 실시예는 비트 복사 또는 알고리듬 비트 복사를 사용하지만, 다른 실시예들은 적당한 크기의 블록을 달성하기 위하여 비트 채움(stuffing)을 간단히 사용할 수 있다.
블록 암호화 엔진(304)은 DUT(112)에 위치한다. 암호화 엔진(304)은 또한 디크립션할 수 있고, 디크립션동안 워드 확장을 사용할 수 있다. 다양한 암호화 알고리듬들은, 예를 들어 RSA, DES, 트리플 DES, AES 등과 같이 공개키이거나 개인키인 블록 암호화 엔진에 의해 사용될 수 있다. 이런 실시예는 확장된 출력 스캔 체인들로부터 시드 키를 수신한다. 제 1 인크립션 후, 출력 암호문은 CBC 체인 형태의 OR 게이트(312)의 사용에 의해 키에게 영향을 주도록 사용된다. 비록 이런 실시예가 블록 인크립션 회로(212-1)를 사용하지만, 다른 것들은 연속 인크립션 회로를 사용한다. 출력 검사 신호를 인크립트할때, 해시 기능은 대신 사용될 수 있다.
블록 암호화 엔진(304)은 출력 스캔 신호들을 처리할 때 일방향 기능 또는 해시를 사용할 수 있다. 스캔 체인 레지스터들 및 F/F들의 실제 값들은 종종 제품 검사시 필요하지 않지만, 대부분의 환경들에서 해시 출력은 적당한 동작을 검증할 수 있는 것을 검증한다. 비록 본 실시예가 각각 검사 벡터 사이클 동안 출력 스캔 신호를 생성하지만, CBC 체이닝은 키 입력으로서 다시 암호문 출력이 공급될 때 하나의 검사에서 하나의 에러가 모든 미래 출력에 대한 인크립션 처리에 영향을 미치기 때문에 출력 검사 벡터들(120)의 주기적 검사만을 요구한다.
도 3b를 참조하여, 인크립션 회로(212-2)의 다른 실시예의 블록도가 도시된다. 이 실시예는 CBC 체인에 대해 배타적-OR 또는 XOR 게이트(316)를 사용한다. 다른 실시예들은 블록 암호화 엔진(316)의 암호문 출력 및 평문 입력으로부터의 성분들을 결합하는 임의의 논리 게이트를 사용할 수 있다.
다음으로 도 3c를 참조하여, 인크립션 회로(212-3)의 또다른 실시예의 블록도가 도시된다. 이 실시예는 키 입력 상에서 CBC 체인을 사용하지 않는다. XOR 게이트(316)는 인크립션 처리 동안 암호문 출력 및 평문 입력으로부터의 엘리먼트들을 결합하기 위하여 사용된다. 블록 암호화 엔진(304)에 대한 키 입력은 이 실시예에서 미리 설정된 키, 일련의 미리 설정된 키들, 검사 벡터들로부터 로딩된 키, 또는 DUT(112)에서 생성된 키일 수 있다. 일부 실시예들은 제 1 암호화 동작에 대한 미리 결정된 키를 사용하고, 이 후 평문/암호문의 일부 결합을 사용한다.
도 4를 참조하여, DUT(112)를 검사하기 위한 처리(400)의 예시적 흐름도가 도시된다. 처리(400)의 도시된 부분은 단계(404)에서 시작하고, 디자인 워크스테이션(104)은 입력 검사 벡터들(116) 및 예상된 검사 벡터들(124)을 생성하기 위하여 사용된다. DUT의 논리 모델을 가진 ATPG 툴은 이런 목적에 사용될 수 있다. 검사 벡터들(116, 124)은 검사 프로토콜에 대한 구성 정보와 함께 회로 검사기에 제공된다. 단계(408)에서, DUT(112)는 회로 검사기(108)에 로딩된다. 자동화된 메카니즘들은 하나 이상의 DUT(112)를 빠르게 로딩 및 언로딩하기 위하여 사용될 수 있다.
입력 검사 벡터들(116)은 회로 검사기(108)에 의해 판독되고, 검사 프로토콜에 따라 DUT(112)의 입력 핀들에 제공된다. 이것은 단계(412)에서 스캔 체인들에 하나 이상의 입력 스캔 신호들을 로딩한다. 제 1 스위치(208-1)는 각각의 입력 스캔 신호에 대한 부분 또는 전체 디크립션을 달성하기 위하여 조종된다. 일단 회로 블록(204)에 대한 모든 레지스터들 및 F/F들은 로딩된다. 회로 블록(204)의 정상 동작은 연속 시프팅을 중단하고 다음 클럭 펄스의 정상 동작을 시작하는 캡쳐 신호를 활성화함으로써 단계(416)에서 활성화된다. 캡쳐 신호를 비활성화한 후, 스캔 체인들은 출력 스캔 체인들의 부분적 또는 전체 인크립션 동안 제 2 스위치(208-8)의 조종으로 단계(420)에서 시프트된다.
단계(424)에서, 예상된 출력 벡터들(124)은 DUT(112)의 적당한 동작을 확인하기 위하여 실제 출력 벡터들(120)에 대해 검사된다. 만약 에러들이 단계(428)에서 결정되면, 에러는 단계(434)에서 유의되고, 검사는 검사 프로토콜에 의해 정의된 바와 같이 중단될 수 있다. 단계(428)에서 에러가 없는 경우, 제 2 결정은 검사기(108)에 의해 이루어진다. 만약 많은 입력 검사 벡터들(116)이 있다면, 처리 루프들은 단계(412)로 다시 진행한다. 많은 입력 검사 벡터들(116)이 없다면, DUT(112)에 대한 검사 부분은 완료된다.
도 5를 참조하여, 검사 시나리오의 실시예의 흐름도(500)가 도시된다. 이 실시예에서, 활성화될 때 모든 스캔 신호들을 인크립하기 위하여 제 1 및 제 2 스위치들(208)은 단일의 입력을 갖는다. 스캔_인 신호(508)는 입력 스캔 신호들을 로딩하고 스캔_아웃 신호(516)는 챠트(500)의 일련의 워드들로 표시된 바와 같은 출력 스캔 신호들을 판독한다. 클럭 신호(512)는 정상 모드에서 동작할때 DUT를 클럭할뿐 아니라 스캔_인 신호(508) 및 스캔_아웃 신호(516)를 샘플링하기 위하여 사용된다. 캡쳐 신호는 연속 스캔 체인 시프트 모드 및 정상 모드 사이에서 DUT를 스위칭하기 위하여 메모리 레지스터들에 입력되는 클럭 신호를 조정한다. 특히, 정상 동작은 캡쳐 신호가 활성화될 때 인에이블되고, 스캔 시프트 동작은 캡쳐 신호가 비활성화될 때 인에이블된다. 디크립트 신호(504)는 모든 입력 스캔 신호들의 디크립션을 활성화/비활성화한다. 유사하게, 인크립트 신호(520)는 모든 출력 스캔 신호들의 인크립션을 활성화/비활성화한다.
본 발명의 다수의 변화들 및 변경들은 사용될 수 있다. 예를 들어, 일부 실시예들은 DUT에서 비동기 또는 자기-타이밍(self-timed) 회로를 사용할 수 있다. 비동기 또는 자기-타이밍 회로들은 처리시 모든 스테이지를 파이프라인하기 위하여 클럭 없이 일부 또는 모든 동작들을 수행한다. 비동기 회로들에 대한 입력 및/또는 출력 검사 신호들은 DUT 외부에서 암호문 형태로 전체적으로 또는 부분적으로 존재한다. 검사에 사용되는 임의의 방법은 검사에 사용되고, 비동기 DUT 외측 검사 데이터는 인크립트될 수 있다.
본 발명의 원리들이 특정 장치들 및 방법들과 관련하여 상기되었지만, 이 설명이 실시에로만 기재되고 본 발명의 범위를 제한하지 않는 것이 명확하게 이해된다.

Claims (25)

  1. 자동화된 스캔 검사를 수행할 수 있는 회로에 있어서:
    하나 이상의 디지털 신호들의 인크립션, 디크립션, 및 해시 중 적어도 하나를 수행할 수 있는 암호화 엔진(cryptographic engine);
    조합 논리 및 다수의 메모리 셀들을 포함하는 디지털 회로로서, 상기 다수의 메모리 셀들은 스캔 체인(scan chain)에 연속으로 접속된 스캔 입력들을 갖는, 상기 디지털 회로;
    상기 체인에 결합된 입력 핀; 및
    상기 스캔 체인에 결합된 출력 핀을 포함하고,
    상기 입력 핀과 상기 출력 핀 중 적어도 하나는 상기 스캔 체인의 적어도 일부의 암호문(cipher text) 데이터를 나르는, 자동화된 스캔 검사 수행 회로.
  2. 제 1 항에 있어서, 상기 암호화 엔진은 상기 출력 핀에 대해 상기 암호문 데이터를 생성하도록 상기 스캔 체인으로부터 적어도 일부의 평문(plain text) 데이터를 인크립트하는, 자동화된 스캔 검사 수행 회로.
  3. 제 1 항에 있어서, 상기 암호화 엔진은 상기 스캔 체인에 대해 평문 데이터를 생성하도록 상기 입력 핀으로부터 적어도 일부의 상기 암호문 데이터를 디크립트하는, 자동화된 스캔 검사 수행 회로.
  4. 제 1 항에 있어서, 상기 암호화 엔진은 상기 출력 핀에 대해 상기 암호문 데이터를 생성하도록 상기 스캔 체인으로부터 적어도 일부의 평문 데이터를 해싱하는, 자동화된 스캔 검사 수행 회로.
  5. 제 1 항에 있어서, 상기 암호화 엔진은 공개키 또는 개인키 알고리듬들을 사용하는, 자동화된 스캔 검사 수행 회로.
  6. 제 1 항에 있어서, 상기 암호화 엔진은 연속으로 또는 블록으로 처리하는, 자동화된 스캔 검사 수행 회로.
  7. 제 1 항에 있어서, 상기 스캔 체인에 대한 신호는, 블록으로 처리하는 상기 암호화 엔진의 다수의 입력 비트들에 결합되는, 자동화된 스캔 검사 수행 회로.
  8. 제 1 항에 있어서, 상기 암호화 엔진에 대한 시드(seed)는 상기 스캔 체인의 데이터와 관계가 있는, 자동화된 스캔 검사 수행 회로.
  9. 제 1 항에 있어서, 상기 암호화 엔진을 선택적으로 바이패싱하는 바이패스 회로를 더 포함하는, 자동화된 스캔 검사 수행 회로.
  10. 제 1 항에 있어서,
    다수의 스캔 체인들에 결합된 다수의 입력 핀들; 및
    상기 다수의 스캔 체인들에 결합된 다수의 출력 핀들을 더 포함하는, 자동화된 스캔 검사 수행 회로.
  11. 제 10 항에 있어서, 상기 다수의 입력 핀들의 서브세트는 상기 암호화 엔진에 결합되는, 자동화된 스캔 검사 수행 회로.
  12. 제 10 항에 있어서, 상기 다수의 출력 핀들의 서브세트는 상기 암호화 엔진에 결합되는, 자동화된 스캔 검사 수행 회로.
  13. 자동화된 검사를 수행할 수 있는 DUT(device under test)에 있어서:
    검사 정보의 인크립션, 디크립션, 및 해시 중 적어도 하나를 수행하는 암호화 엔진;
    검사 회로를 포함하는 디지털 회로;
    상기 DUT와 결합된 제 1 신호; 및
    상기 DUT와 결합된 제 2 신호로서, 상기 검사 정보는 상기 DUT 외부에서 적어도 부분적으로 인크립트되고, 상기 제 1 신호 및 상기 제 2 신호 중 적어도 하나는 상기 검사 정보를 나르는, 상기 제 2 신호를 포함하는, DUT.
  14. 제 13 항에 있어서, 상기 검사 회로는 내부 스캔 체인과 경계 스캔 체인 중 적어도 하나를 포함하는, DUT.
  15. 제 13 항에 있어서, 상기 검사 정보는 스캔 체인 데이터인, DUT.
  16. 제 13 항에 있어서, 상기 암호화 엔진을 선택적으로 바이패싱하는 바이패스를 더 포함하는, DUT.
  17. 제 13 항에 있어서, 상기 디지털 회로는 비동기 서브-회로를 포함하는, DUT.
  18. 디지털 회로의 보호된 검사 데이터를 처리하기 위한 방법에 있어서:
    상기 디지털 회로에 제 1 검사 정보를 수신하는 단계;
    상기 디지털 회로 내의 상기 제 1 검사 정보를 처리하여 상기 디지털 회로를 검사하는 단계; 및
    상기 제 1 검사 정보에 관한 제 2 검사 정보를 생성하는 단계로서, 검사 정보를 디크립트하는 단계와, 검사 정보를 인크립트하는 단계와, 검사 정보를 해싱하는 단계 중 적어도 하나를 포함하는, 상기 제 2 검사 정보 생성 단계를 포함하고,
    상기 제 1 검사 정보와 상기 제 2 검사 정보 중 적어도 하나는 암호화 형태로 디지털 회로에 출입하는, 보호된 검사 데이터 처리 방법.
  19. 제 18 항에 있어서, 상기 제 1 및 제 2 검사 정보는 상기 디지털 회로를 검사하기 위해 스캔 체인에 결합되는, 보호된 검사 데이터 처리 방법.
  20. 제 18 항에 있어서, 디크립트하기 위하여 상기 제 1 검사 정보의 일부를 선택하는 단계를 더 포함하는, 보호된 검사 데이터 처리 방법.
  21. 제 18 항에 있어서, 인크립트하기 위하여 상기 제 2 검사 정보의 일부를 선택하는 단계를 더 포함하는, 보호된 검사 데이터 처리 방법.
  22. 제 18 항에 있어서, 해싱하기 위하여 상기 제 2 검사 정보의 일부를 선택하는 단계를 더 포함하는, 보호된 검사 데이터 처리 방법.
  23. 제 18 항의 디지털 회로의 보호된 검사 데이터를 처리하기 위해 컴퓨터-구현가능한 방법을 수행하는 컴퓨터-실행가능한 명령들을 갖는 컴퓨터-판독가능한 매체.
  24. 제 18 항의 디지털 회로의 보호된 검사 데이터를 처리하기 위해 컴퓨터-구현 가능한 방법을 수행하도록 적응된 컴퓨터 시스템.
  25. 디지털 신호로 구현된 컴퓨터 데이터 신호에 있어서,
    평문 형태의 제 1 스캔 데이터; 및
    암호문 형태의 제 2 스캔 데이터를 포함하고, 상기 제 1 스캔 데이터 및 디크립트된 제 2 스캔 데이터는 상기 디지털 회로의 검사 동안 디지털 회로의 스캔 체인에 대해 적응되는, 컴퓨터 데이터 신호.
KR10-2004-7017706A 2002-05-03 2003-05-02 보안 스캔 KR20050016386A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2004-7017706A KR20050016386A (ko) 2002-05-03 2003-05-02 보안 스캔

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US60/377,551 2002-05-03
US10/428,882 2003-05-01
KR10-2004-7017706A KR20050016386A (ko) 2002-05-03 2003-05-02 보안 스캔

Publications (1)

Publication Number Publication Date
KR20050016386A true KR20050016386A (ko) 2005-02-21

Family

ID=41783355

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7017706A KR20050016386A (ko) 2002-05-03 2003-05-02 보안 스캔

Country Status (1)

Country Link
KR (1) KR20050016386A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190083996A (ko) * 2018-01-05 2019-07-15 주식회사 아이씨티케이 홀딩스 테스트 모드에서 데이터 보호 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190083996A (ko) * 2018-01-05 2019-07-15 주식회사 아이씨티케이 홀딩스 테스트 모드에서 데이터 보호 장치 및 방법

Similar Documents

Publication Publication Date Title
US7672452B2 (en) Secure scan
EP1499906B1 (en) Method and apparatus for secure scan testing
Sengar et al. Secured flipped scan-chain model for crypto-architecture
Cui et al. Static and dynamic obfuscations of scan data against scan-based side-channel attacks
Da Rolt et al. Test versus security: Past and present
Yasin et al. Activation of logic encrypted chips: Pre-test or post-test?
Da Silva et al. Preventing scan attacks on secure circuits through scan chain encryption
US20200342112A1 (en) An autonomous, self-authenticating and self-contained secure boot-up system and methods
US7334173B2 (en) Method and system for protecting processors from unauthorized debug access
US6738939B2 (en) Method and apparatus for fault tolerant and flexible test signature generator
EP0469238B1 (en) Reduced delay circuits for shift register latch scan strings
Da Silva et al. Scan chain encryption for the test, diagnosis and debug of secure circuits
US8195995B2 (en) Integrated circuit and method of protecting a circuit part of an integrated circuit
US20160377677A1 (en) Chip and method for testing a processing component of a chip
Hely et al. Secure scan techniques: a comparison
Vaghani et al. On securing scan design through test vector encryption
Valea et al. Encryption-based secure JTAG
US10222417B1 (en) Securing access to integrated circuit scan mode and data
EP0933644B1 (en) Device scan testing
KR20050016386A (ko) 보안 스캔
Di Natale et al. Manufacturing testing and security countermeasures
US20210083868A1 (en) Dynamic secret key security system for test circuit and method of the same
JP2001141791A (ja) スキャンパス回路を有する半導体回路
Huang et al. An obfuscation scheme of scan chain to protect the cryptographic chips
Jiang et al. Scan-based side-channel attack on the camellia block cipher using scan signatures

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application