KR102129668B1 - 공정편차를 이용한 디지털 값 생성 장치 및 방법 - Google Patents
공정편차를 이용한 디지털 값 생성 장치 및 방법 Download PDFInfo
- Publication number
- KR102129668B1 KR102129668B1 KR1020180094333A KR20180094333A KR102129668B1 KR 102129668 B1 KR102129668 B1 KR 102129668B1 KR 1020180094333 A KR1020180094333 A KR 1020180094333A KR 20180094333 A KR20180094333 A KR 20180094333A KR 102129668 B1 KR102129668 B1 KR 102129668B1
- Authority
- KR
- South Korea
- Prior art keywords
- group
- bit
- inverter unit
- nmos
- pmos
- 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/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
-
- 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/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/75—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
적어도 하나의 트랜지스터를 포함하는 제1 캐스코드 증폭기, 상기 제1 캐스코드 증폭기와 동일한 공급 전압과 동일한 인에이블 신호를 공급 받고 대칭 구조를 가지며, 적어도 하나의 트랜지스터를 포함하는 제2 캐스코드 증폭기, 상기 제1 캐스코드 증폭기의 양 단에 각각 직렬 연결되고, 제1 N 비트(단, N은 자연수)의 디지털 값을 챌린지(challenge) 신호로서 게이트 노드에 입력 받는 제1 NMOS(n-channel metal oxide semiconductor) 그룹 및 제1 P 비트(단, P는 자연수)의 디지털 값을 챌린지 신호로서 게이트 노드에 입력 받는 제1 PMOS 그룹을 포함하는 제1 인버터부 및 상기 제2 캐스코드 증폭기의 양 단에 각각 직렬 연결되고, 제2 N 비트의 디지털 값을 챌린지 신호로서 게이트 노드에 입력 받는 제2 NMOS 그룹 및 제2 P 비트의 디지털 값을 챌린지 신호로서 게이트 노드에 입력 받는 제2 PMOS 그룹을 포함하는 제2 인버터부를 포함하는 반도체 칩이 제공된다.
Description
본 발명의 실시예들은 식별키 생성을 위한 반도체 칩 및 식별 키 생성 방법에 관한 것이다.
최근 전자태그 등의 기술이 발달하면서 대량으로 생산하는 칩에 고유의 아이디(이하에서는 식별 키라 함)를 삽입해야 할 필요성이 증가하였다. 따라서, 무작위의 디지털 값(이를테면, 식별 키 또는 고유 아이디 등)을 생성하는 시스템 및 방법의 개발이 필요하게 되었다. 기존에는 무작위의 디지털 값을 생산하기 위한 방법의 일 예로 하드웨어 또는 소프트웨어를 통한 방법이 제시되었다.
그러나, 하드웨어 또는 소프트웨어를 통한 디지털 값의 생성은 하드웨어 및 소프트웨어 개발 또는 제작에 소요되는 경비로 인하여 칩 단가가 증가하는 문제점과 생산 속도의 한계를 가지고 있다.
물리적 복제 불가능 함수(PUF: Physical Unclonable Function)의 경우에는 특정한 입력 값(challenge)에 의해 고유한 출력 값(response)이 생성되며, 이러한 입출력 쌍을 챌린지 응답 쌍(CRP: Challenge Response Pair)이라고 정의한다. 많은 챌린지 응답 쌍을 생성하는 강한 퍼프(PUF)는 면적과 소모 전력이 증가하며, 동작에 필요한 시간이 길어지는 특징이 있다. 또한, 작은 면적과 낮은 소모 전력에 중점을 두는 약한 퍼프 구조는 챌린지 응답 쌍이 적게 생성되어 보안 상의 취약점이 존재한다.
일측에 따르면, 적어도 하나의 트랜지스터를 포함하는 제1 캐스코드 증폭기, 상기 제1 캐스코드 증폭기와 동일한 공급 전압과 동일한 인에이블 신호를 공급 받고 대칭 구조를 가지며, 적어도 하나의 트랜지스터를 포함하는 제2 캐스코드 증폭기, 상기 제1 캐스코드 증폭기의 양 단에 각각 직렬 연결되고, 제1 N 비트(단, N은 자연수)의 디지털 값을 챌린지(challenge) 신호로서 게이트 노드에 입력 받는 제1 NMOS(n-channel metal oxide semiconductor) 그룹 및 제1 P 비트(단, P는 자연수)의 디지털 값을 챌린지 신호로서 게이트 노드에 입력 받는 제1 PMOS 그룹을 포함하는 제1 인버터부 및 상기 제2 캐스코드 증폭기의 양 단에 각각 직렬 연결되고, 제2 N 비트의 디지털 값을 챌린지 신호로서 게이트 노드에 입력 받는 제2 NMOS 그룹 및 제2 P 비트의 디지털 값을 챌린지 신호로서 게이트 노드에 입력 받는 제2 PMOS 그룹을 포함하는 제2 인버터부를 포함하는 반도체 칩이 제공된다.
일실시예로서, 상기 제1 인버터부의 출력은 상기 제2 인버터부의 입력에 연결되고, 상기 제2 인버터부의 출력은 상기 제1 인버터부의 입력에 연결되어, 서로 교차결합(cross coupled)되며, 상기 제1 인버터부 및 상기 제2 인버터부에 포함되는 소자들의 전기적 특성 값의 차이에 의해 2N 비트 및 2P 비트의 챌린지 신호에 대한 응답(response) 신호를 생성할 수 있다.
다른 일실시예로서, 상기 제1 인버터부는 상기 제1 캐스코드 증폭기를 기준으로 병렬 연결되는 적어도 두 개의 NMOS 트랜지스터를 포함하는 상기 제1 NMOS 그룹 및 상기 제1 캐스코드 증폭기를 기준으로 병렬 연결되는 적어도 두 개의 PMOS 트랜지스터를 포함하는 상기 제1 PMOS 그룹을 포함하고, 상기 제2 인버터부는 상기 제2 캐스코드 증폭기를 기준으로 병렬 연결되는 적어도 두 개의 NMOS 트랜지스터를 포함하는 상기 제2 NMOS 그룹 및 상기 제2 캐스코드 증폭기를 기준으로 병렬 연결되는 적어도 두 개의 PMOS 트랜지스터를 포함하는 상기 제2 PMOS 그룹을 포함할 수 있다.
또 다른 일실시예로서, 상기 제1 N 비트 및 상기 제2 N 비트의 챌린지 신호는 상기 제1 NMOS 그룹 및 상기 제2 NMOS 그룹 각각의 게이트 노드에 입력되어, 상기 제1 NMOS 그룹 및 상기 제2 NMOS 그룹 내의 NMOS 트랜지스터가 동일한 개수 만큼 턴 온 되도록 제어하고, 상기 제1 P 비트 및 상기 제2 P 비트의 챌린지 신호는 상기 제1 PMOS 그룹 및 상기 제2 PMOS 그룹 각각의 게이트 노드에 입력되어, 상기 제1 PMOS 그룹 및 상기 제2 PMOS 그룹 내의 PMOS 트랜지스터가 동일한 개수 만큼 턴 온 되도록 제어할 수 있다.
또 다른 일실시예로서, 상기 제1 인버터부 및 상기 제2 인버터부는 제1 노드와 제2 노드 사이에서 교차결합되며, 상기 제1 N 비트, 상기 제2 N 비트, 상기 제1 P 비트 및 상기 제2 P 비트의 챌린지 신호에 따라 선택된 상기 제1 인버터부와 선택된 상기 제2 인버터부의 전기적 특성 값의 차이에 의해 상기 응답 신호를 생성할 수 있다.
또 다른 일실시예로서, 상기 응답 신호는 상기 제1 노드의 출력 값과 상기 제2 출력 값이 서로 다르게 설정되는 디지털 값으로 생성될 수 있다.
도 1은 일실시예에 따라 식별 키를 생성하는 반도체 칩을 도시하는 예시도이다.
도 2는 도 1의 반도체 칩에 포함되는 소자들의 전기적 특성을 도시하는 그래프이다.
도 3은 다른 일실시예에 따라 식별 키를 생성하는 반도체 칩을 도시하는 예시도이다.
도 4는 도 3의 반도체 칩에 포함되는 소자들의 동작을 설명하는 타이밍도이다.
도 5는 또 다른 일실시예에 따라 식별 키를 생성하는 반도체 칩을 도시하는 블록도이다.
도 6은 도 5의 반도체 칩에 포함되는 소자들의 동작을 설명하는 타이밍도이다.
도 2는 도 1의 반도체 칩에 포함되는 소자들의 전기적 특성을 도시하는 그래프이다.
도 3은 다른 일실시예에 따라 식별 키를 생성하는 반도체 칩을 도시하는 예시도이다.
도 4는 도 3의 반도체 칩에 포함되는 소자들의 동작을 설명하는 타이밍도이다.
도 5는 또 다른 일실시예에 따라 식별 키를 생성하는 반도체 칩을 도시하는 블록도이다.
도 6은 도 5의 반도체 칩에 포함되는 소자들의 동작을 설명하는 타이밍도이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일실시예에 따라 식별 키를 생성하는 반도체 칩을 도시하는 예시도이다. 도 1을 참조하면, 식별 키를 생성하는 반도체 칩이 도시된다. 도 1에서 설명되는 반도체 칩은 예시적으로 하나의 반도체 칩 상에서 구현될 수 있으나, 위와 같은 설명이 일부 실시예에 제한되어 해석되어서는 안 되며, 복수 개의 반도체 칩의 상호 연결 또는 동일한 기능을 하는 다른 어떤 등가 회로/장치(equivalent circuit or apparatus)에 의한 구현을 배제하는 것은 아니다.
현대 전자산업의 기초가 되고 있는 반도체 칩은 수 많은 공정과 수 많은 소자를 이용하여 제작되고, 다양한 산업 분야에서 활용되고 있다. 이러한 반도체 칩 제작 공정 시의 공정 편차로 인하여 발생하는 소자간의 전기적 특성 차이를 활용하면, 복제가 불가능하고, 영구적인 속성을 가질 수 있는 무작위적인(Random) 디지털 값(이하에서는 "식별 키(identification key)"라 한다)을 생성할 수 있다.
이하 실시예들은, 반도체 칩 상에서 구현되는 소자(또는 복수 개의 소자로 구성되는 회로, 이하 같다)를 제조하는 공정의 편차를 이용하여 무작위적이고(random), 물리적인 복제가 불가능하고, 한 번 제조된 이후에는 변하지 않는 식별 키를 생성한다.
여기서, 상기 언급된 구체적인 소자들은, 예시적인 것에 불과하며, 본 발명은 다양한 소자 또는 회로의 제조 과정에 존재하는 공정편차를 이용하여 무작위적 디지털 값을 생성하는 것에 그 권리범위가 미친다.
도 1에서 도시되는 반도체 칩은, 여러 반도체 소자를 이용하여 제작 가능한 여러 가지 형태의 칩, 모듈, 기타 시스템을 의미할 수 있다. 따라서, 이하에서 언급되는 반도체 칩은, 반도체 공정 이외의 공정에서 생산되는 다양한 종류의 칩까지 모두 포함하는 것으로 해석하여야 한다.
반도체 칩은 적어도 하나의 트랜지스터를 포함하는 제1 캐스코드 증폭기(110), 제1 캐스코드 증폭기(110)와 동일한 공급 전압과 동일한 인에이블 신호(Enable Signal)를 공급 받고 대칭 구조를 가지며, 적어도 하나의 트랜지스터를 포함하는 제2 캐스코드 증폭기(120)를 포함할 수 있다. 제1 캐스코드 증폭기(110) 및 제2 캐스코드 증폭기(120)의 구체적 구현 과정은 기술 분야의 전문가에게는 자명한 사항이므로, 중복되는 설명은 생략하기로 한다.
반도체 칩은 챌린지 신호의 일부(C0, C1, C4, C5)를 입력 받는 제1 인버터부 및 챌린지 신호의 다른 일부(C2, C3, C6, C7)를 입력 받는 제2 인버터부를 포함할 수 있다. 본 실시예에서 챌린지 신호 C0:7는 C0으로부터 C7를 포함하는 8비트의 디지털 값으로 구현될 수 있다. 다만, 8비트로 구현된 챌린지 신호는 이해를 돕기 위한 예시적 기재일 뿐, 다른 실시예의 범위를 제한하거나 한정하는 것으로 해석되어서는 안될 것이다. 이를테면, 2N+2P 비트(단, N 및 P는 자연수)로 구현된 디지털 값을 챌린지 신호로서 이용하는 실시예 또한 통상의 기술자에 의해 구현 가능하다고 할 것이다.
반도체 칩은 제1 캐스코드 증폭기(110)의 양 단에 각각 직렬 연결되고, 제1 N 비트(단, N은 자연수)의 디지털 값을 챌린지(challenge) 신호로서 게이트 노드에 입력 받는 제1 NMOS(n-channel metal oxide semiconductor) 그룹(112) 및 제1 P 비트(단, P는 자연수)의 디지털 값을 챌린지 신호로서 게이트 노드에 입력 받는 제1 PMOS 그룹(111)을 포함하는 제1 인버터부를 포함할 수 있다. 또한, 반도체 칩은 제2 캐스코드 증폭기(120)의 양 단에 각각 직렬 연결되고, 제2 N 비트의 디지털 값을 챌린지 신호로서 게이트 노드에 입력 받는 제2 NMOS 그룹(122) 및 제2 P 비트의 디지털 값을 챌린지 신호로서 게이트 노드에 입력 받는 제2 PMOS 그룹(121)을 포함하는 제2 인버터부를 포함할 수 있다.
이 경우에, 반도체 칩의 제1 인버터부의 출력은 제2 인버터부의 입력에 연결되고, 상기 제2 인버터부의 출력은 상기 제1 인버터부의 입력에 연결되어, 서로 교차결합(cross coupled)될 수 있다. 또한, 제1 인버터부 및 제2 인버터부에 포함되는 소자들의 전기적 특성 값의 차이에 의해 2N 비트 및 2P 비트의 챌린지 신호에 대한 응답(response) 신호를 생성할 수 있다.
본 실시예의 반도체 칩의 경우, 기존의 SRAM 구조에서 인버터를 구성하는 PMOS 트랜지스터 및 NMOS 트랜지스터를 각각 병렬로 연결하고, 캐스코드로 연결되는 트랜지스터를 상기 PMOS 트랜지스터 및 상기 NMOS 트랜지스터로 각각 추가하여 생성될 수 있다. 이 경우에, 각각의 PMOS 트랜지스터 및 NMOS 트랜지스터의 게이트 노드로 챌린지 신호가 입력된다. 도 1의 실시예의 경우, 8비트 챌린지 입력에 따라 교차결합(cross couple)을 구성하는 인버터의 핑거를 조절함으로써 동작 특성이 달라지며, 면적 대비 효율적인 CRP 증가의 효과를 기대할 수 있다.
도 2는 도 1의 반도체 칩에 포함되는 소자들의 전기적 특성을 도시하는 그래프이다. 도 2를 참조하면, 도 1의 회로 동작을 인버터의 특성 곡선으로 설명하는 그래프가 도시된다. 도 2의 X 축은 VOUT을 나타내고, 단위는 volt이다. 또한, 도 2의 Y 축은 을 나타내고, 단위는 volt이다. 교차결합된 인버터 구조(cross couple inverter) 구조에서 두 출력 VOUT 및 은 서로 반대이며, 그 값은 반도체 칩 제작 시의 공정상의 오차(process variation)에 의해 결정될 수 있다.
도 2에 도시된 것과 같이, 입력되는 챌린지 신호에 따라 교차결합을 구성하는 인버터부의 동작 특성이 달라지는 것을 알 수 있다. 이를테면, 제1 인버터부로 입력되는 챌린지 신호가 (C0,C4), (C1,C5) 또는 (C0,C1,C4,C5)일 수도 있고, 제2 인버터부로 입력되는 챌린지 신호가 (C2,C6), (C3,C7) 또는 (C2,C3,C6,C7)일 수도 있다. 다만, 입력되는 챌린지 신호는 제1 인버터부 및 제2 인버터부에 대해 좌우 대칭적으로 구성되어야 할 필요성이 존재하므로, 제1 인버터부 및 제2 인버터부는 상호 간에 동일한 개수의 트랜지스터를 선택해야 한다. 구체적으로, 제1 인버터부가 선택하는 PMOS 트랜지스터의 개수와 제2 인버터부가 선택하는 PMOS 트랜지스터의 개수가 같아야 하고, 마찬가지로 제1 인버터부가 선택하는 NMOS 트랜지스터의 개수와 제2 인버터부가 선택하는 NMOS 트랜지스터의 개수는 동일하게 제어되어야 한다.
도 3은 다른 일실시예에 따라 식별 키를 생성하는 반도체 칩을 도시하는 예시도이다. 도 3에서 CHAL_P <1:P>는 제1 PMOS 그룹(311)으로 입력되는 챌린지 신호를 나타내고, CHAL_N <1:N>은 제1 NMOS 그룹(312)으로 입력되는 챌린지 신호를 나타낸다. 또한, 도 3에서 CHAL_P <P+1:2P>는 제2 PMOS 그룹(321)으로 입력되는 챌린지 신호를 나타내고, CHAL_N <N+1:2N>는 제2 NMOS 그룹(322)입력되는 챌린지 신호를 나타낸다. 각각의 PMOS 그룹(311, 321)은 P 개의 병렬 연결된 트랜지스터를 포함하고, 각각의 NMOS 그룹(312, 322)은 N 개의 병렬 연결된 트랜지스터를 포함할 수 있다.
도 3에서 CHAL_P는 제1 PMOS 그룹(311) 및 제2 PMOS 그룹(321)에 입력되는 챌린지 신호, CHAL_N은 제1 NMOS 그룹(312) 및 제2 NMOS 그룹(322)에 입력되는 챌린지 신호를 나타낸다. 이 경우에, 반도체 칩으로 전달되는 챌린지 신호는 2N+2P 비트를 나타낼 수 있다. 일실시예로서, PMOS 그룹들(311, 321)에 포함되는 PMOS 트랜지스터의 개수와 NMOS 그룹들(312, 322)에 포함되는 NMOS 트랜지스터의 개수가 동일한 경우(N=P), 반도체 칩으로 전달되는 챌린지 신호는 4N비트, 챌린지 응답 쌍의 전체 개수는 개 이다. 본 실시예의 반도체 칩에서 챌린지 신호를 제어하는 경우, 양 쪽의 PMOS 그룹(311, 321) 및 NMOS 그룹(312, 322) 내에서 턴 온 되는 PMOS의 개수 및 NMOS의 개수가 동일하게 유지되어야 한다. 또한, 챌린지 신호의 전체 비트 길이가 Np 비트인 경우, 챌린지 응답 쌍의 개수는 개(단, Np/4는 자연수)이다.
도 4는 도 3의 반도체 칩에 포함되는 소자들의 동작을 설명하는 타이밍도이다. 도 4를 참고하면, 챌린지 신호 및 인에이블 신호 EN가 동시에 반도체 칩으로 인가되어, 물리적 복제 방지 기능 회로를 동작시킬 수 있다. 또한, 반도체 칩은 생성된 고유값을 워드라인 신호(WL: Word Line)로서 출력할 수 있다.
보다 구체적으로, 본 실시예의 반도체 칩을 구성하는 트랜지스터의 개수와 종래 구조 내에서의 트랜지스터의 개수를 비교하면 아래의 표 1과 같다.
도 5는 또 다른 일실시예에 따라 식별 키를 생성하는 반도체 칩을 도시하는 블록도이다. 도 5를 참조하면, 반도체 칩(500)은 행 디코더(510)(row decoder), 워드라인 드라이버(520), 클락 제어기(530), 챌린지 스크램블러(540) 및 퍼프 어레이(550)를 포함할 수 있다. 행 디코더(510)는 퍼프 어레이(550)의 각 행에 입력될 워드라인 신호를 생성할 수 있다. 워드라인 드라이버(520)는 워드라인 신호를 클락 신호(CLK, clock)에 동기화하여 출력할 수 있다. 클락 제어기(530)는 클락 신호를 입력 받고, 퍼프 어레이(550)에 입력된 신호의 타이밍을 제어할 수 있다. 챌린지 스크램블러(540)는 챌린지 신호를 퍼프 어레이(550)에 입력하기 전에 섞어주는 역할을 수행할 수 있다. 퍼프 어레이(550)는 복수의 퍼프 셀의 배열을 포함할 수 있다. 또한, 퍼프 어레이(550)는 출력 신호 VOUT를 응답 신호로서 출력할 수 있다. 이 경우에, 응답 신호의 비트 길이는 퍼프 어레이(550)를 구성하는 퍼프 셀의 개수를 조절하는 방식으로 임의로 조정 가능하다.
본 실시예에서 제안하는 퍼프 셀의 챌린지 응답 쌍의 개수는 2(N+P) 비트의 챌린지 신호가 입력된 경우, 이다. 본 실시예의 경우, 회로의 양 쪽 인버터에서 동일한 개수의 PMOS/NMOS 트랜지스터가 선택되어야 하므로 대칭적으로(symmetric) 구성되도록 할 필요성이 존재한다. 이러한 문제를 해결하기 위해, 챌린지 스크램블러(540)를 이용하여 22(N+P) 가지의 모드 챌린지 신호 입력에 대해 퍼프 셀이 정상적으로 동작할 수 있도록 챌린지 신호를 섞어준다. 이에 따라, 어떤 챌린지 신호가 입력된 경우에도, 인버터의 교차결합이 대칭적으로 구성되도록 챌린지를 섞어서 퍼프 어레이(550)에 입력되며, 챌린지 응답 쌍의 개수는 22(N+P) 개가 된다.
도 6은 도 5의 반도체 칩에 포함되는 소자들의 동작을 설명하는 타이밍도이다. 도 6을 참조하면, 대기 모드(Stand by mode)에서 클록의 상승 엣지(Rising edge)전에 챌린지 신호가 챌린지 스크램블러(Challenge scrambler)에 입력되어 섞인다. 이후 클록의 상승 엣지(Rising edge)가 발생하면 평가 모드(Evaluation mode)가 되고, 그에 따라 만들어진 인에이블 신호 EN가 챌린지 신호와 동기화되어 퍼프 어레이에 입력된다. 고유값이 결정되고 그 이후 클록 제어기(Clock controller)에 의해 지연된 신호로 입력된 워드라인(Word Line, W/L)신호가 결정된 고유값(=응답 신호)를 최종 출력한다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
Claims (5)
- 반도체 칩에 있어서,
제1 캐스코드 증폭기;
상기 제1 캐스코드 증폭기와 동일한 공급 전압과 동일한 인에이블 신호를 공급 받고 대칭 구조를 가지는 제2 캐스코드 증폭기;
상기 제1 캐스코드 증폭기의 양 단에 각각 직렬 연결되고, 챌린지 신호의 제1 일부 중에서 제1 비트의 신호를 게이트 노드에 입력 받는 제1 NMOS(n-channel metal oxide semiconductor) 그룹 및 상기 제1 일부 중에서 제2 비트의 신호를 게이트 노드에 입력 받는 제1 PMOS 그룹을 포함하는 제1 인버터부; 및
상기 제2 캐스코드 증폭기의 양 단에 각각 직렬 연결되고, 상기 챌린지 신호에서 상기 제1 일부를 제외한 제2 일부 중에서 제3 비트의 신호를 게이트 노드에 입력 받는 제2 NMOS 그룹 및 상기 제2 일부 중에서 제4 비트의 신호를 게이트 노드에 입력 받는 제2 PMOS 그룹을 포함하는 제2 인버터부
를 포함하고,
상기 제1 인버터부의 출력은 상기 제2 인버터부의 입력에 연결되고, 상기 제2 인버터부의 출력은 상기 제1 인버터부의 입력에 연결되어, 서로 교차결합(cross coupled)되며,
상기 반도체 칩은 상기 챌린지 신호에 대한 응답(response) 신호를 생성하는 반도체 칩.
- 제1항에 있어서,
상기 제1 인버터부는,
상기 제1 캐스코드 증폭기를 기준으로 병렬 연결되는 적어도 두 개의 NMOS 트랜지스터를 포함하는 상기 제1 NMOS 그룹 및 상기 제1 캐스코드 증폭기를 기준으로 병렬 연결되는 적어도 두 개의 PMOS 트랜지스터를 포함하는 상기 제1 PMOS 그룹을 포함하고,
상기 제2 인버터부는,
상기 제2 캐스코드 증폭기를 기준으로 병렬 연결되는 적어도 두 개의 NMOS 트랜지스터를 포함하는 상기 제2 NMOS 그룹 및 상기 제2 캐스코드 증폭기를 기준으로 병렬 연결되는 적어도 두 개의 PMOS 트랜지스터를 포함하는 상기 제2 PMOS 그룹을 포함하는 반도체 칩.
- 제2항에 있어서,
상기 제1 비트 및 상기 제3 비트의 신호는 상기 제1 NMOS 그룹 및 상기 제2 NMOS 그룹 각각의 게이트 노드에 입력되어, 상기 제1 NMOS 그룹 및 상기 제2 NMOS 그룹 내의 NMOS 트랜지스터가 동일한 개수 만큼 턴 온 되도록 제어하고,
상기 제2 비트 및 상기 제4 비트의 신호는 상기 제1 PMOS 그룹 및 상기 제2 PMOS 그룹 각각의 게이트 노드에 입력되어, 상기 제1 PMOS 그룹 및 상기 제2 PMOS 그룹 내의 PMOS 트랜지스터가 동일한 개수 만큼 턴 온 되도록 제어하는 반도체 칩.
- 제3항에 있어서,
상기 제1 인버터부 및 상기 제2 인버터부는 제1 노드와 제2 노드 사이에서 교차결합되며, 상기 제1 비트, 상기 제3 비트, 상기 제2 비트 및 상기 제4 비트의 신호에 따라 선택된 상기 제1 인버터부와 선택된 상기 제2 인버터부의 전기적 특성 값의 차이에 의해 상기 응답 신호를 생성하는 반도체 칩.
- 제4항에 있어서,
상기 응답 신호는 상기 제1 노드의 출력 값과 상기 제2 노드의 출력 값이 서로 다르게 설정되는 디지털 값으로 생성되는 반도체 칩.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180094333A KR102129668B1 (ko) | 2018-08-13 | 2018-08-13 | 공정편차를 이용한 디지털 값 생성 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180094333A KR102129668B1 (ko) | 2018-08-13 | 2018-08-13 | 공정편차를 이용한 디지털 값 생성 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200018920A KR20200018920A (ko) | 2020-02-21 |
KR102129668B1 true KR102129668B1 (ko) | 2020-07-02 |
Family
ID=69671105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180094333A KR102129668B1 (ko) | 2018-08-13 | 2018-08-13 | 공정편차를 이용한 디지털 값 생성 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102129668B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102688616B1 (ko) * | 2021-07-19 | 2024-07-25 | 한양대학교 산학협력단 | 공정 편차에 기초한 식별 키 생성 방법 및 회로 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DK2693370T3 (en) * | 2011-03-31 | 2016-09-26 | Ictk Co Ltd | Device and method for generation of a digital value |
KR20170132120A (ko) * | 2017-11-22 | 2017-12-01 | (주) 아이씨티케이 | 공정편차를 이용한 디지털 값 생성 장치 및 방법 |
-
2018
- 2018-08-13 KR KR1020180094333A patent/KR102129668B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20200018920A (ko) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11194519B2 (en) | Results processing circuits and methods associated with computational memory cells | |
US7408482B2 (en) | Integrated circuit devices having data inversion circuits therein with multi-bit prefetch structures and methods of operating same | |
TW202001575A (zh) | 用於物理不可複製功能產生器的測試方法 | |
US9431353B2 (en) | Method for manufacturing a digital circuit and digital circuit | |
US9712330B2 (en) | Physically uncloneable function device using MRAM | |
US10958270B2 (en) | Physical unclonable device and method of maximizing existing process variation for a physically unclonable device | |
CN106919860B (zh) | 用于实现物理不可克隆函数的电路以及相应的运行方法 | |
US9496872B1 (en) | Method for manufacturing a digital circuit and digital circuit | |
US9337156B2 (en) | Method for manufacturing a digital circuit and digital circuit | |
TW201944279A (zh) | 用於去偏的物理不可複製函數位元的方法與電路 | |
US10199334B2 (en) | Digital circuit and method for manufacturing a digital circuit | |
US8120406B2 (en) | Sequential circuit with dynamic pulse width control | |
Baek et al. | A reconfigurable SRAM based CMOS PUF with challenge to response pairs | |
KR102129668B1 (ko) | 공정편차를 이용한 디지털 값 생성 장치 및 방법 | |
US11955157B2 (en) | Physically unclonable function apparatus based on ferroelectric elements and operation method thereof | |
US10425076B2 (en) | Power-on-reset circuit | |
Santana-Andreo et al. | A DRV-based bit selection method for SRAM PUF key generation and its impact on ECCs | |
Idriss et al. | A highly reliable dual-arbiter PUF for lightweight authentication protocols | |
US11423290B2 (en) | Methods of executing an arithmetic operation and semiconductor devices performing the arithmetic operation | |
KR101920569B1 (ko) | 공정편차를 이용한 디지털 값 생성 장치 및 방법 | |
US9548737B1 (en) | Method for manufacturing a digital circuit and digital circuit | |
CN115525932A (zh) | 用于抵御机器学习建模攻击的puf电路 | |
KR102169468B1 (ko) | 물리적 복제 불가능 함수에 적용 가능한 챌린지 혼합기 및 챌린지 혼합 방법 | |
CN113535123A (zh) | 具有通过位线预充电的物理不可克隆函数 | |
KR102200488B1 (ko) | 다수 챌린지 응답 쌍을 갖는 디지털 난수 생성 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |