KR20030002266A - 난수 발생 장치 - Google Patents

난수 발생 장치 Download PDF

Info

Publication number
KR20030002266A
KR20030002266A KR1020010039040A KR20010039040A KR20030002266A KR 20030002266 A KR20030002266 A KR 20030002266A KR 1020010039040 A KR1020010039040 A KR 1020010039040A KR 20010039040 A KR20010039040 A KR 20010039040A KR 20030002266 A KR20030002266 A KR 20030002266A
Authority
KR
South Korea
Prior art keywords
random number
smart card
clock signal
clock
generator
Prior art date
Application number
KR1020010039040A
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 KR1020010039040A priority Critical patent/KR20030002266A/ko
Publication of KR20030002266A publication Critical patent/KR20030002266A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Power Sources (AREA)

Abstract

본 발명에 따른 난수 발생 장치는, 스마트 카드의 직렬 통신 시 발생하는 입출력 장치의 인터럽트를 이용하여 구동되고, 중앙 처리 장치(CPU)를 디스에이블 시키는 명령에 따라 디스에이블 되어, 전력 소모를 줄이고, 분주기를 이용하여 분주한 클럭 신호를 사용하여 동일한 난수 값이 다시 읽어지는 경우를 방지하여 보안성을 향상시킬 수 있는 난수 발생기에 관한 것으로, 클럭 신호를 생성하는 클럭 발생 수단; 상기 클럭 발생 수단으로부터 생성된 상기 클럭 신호를 분주하는 분주 수단; 및 상기 분주 수단에 의해 분주된 클럭 신호에 따라 저장된 난수 값을 데이터 버스로 출력하는 레지스터부를 포함하여 구성된다.

Description

난수 발생 장치{Random number generator}
본 발명은 난수 발생기에 관한 것으로, 보다 상세하게는 스마트 카드의 직렬 통신 시 발생하는 입출력 장치의 인터럽트를 이용하여 구동되고, 중앙 처리 장치(CPU)를 디스에이블 시키는 명령에 따라 디스에이블 되어, 전력 소모를 줄이고, 분주기를 이용하여 분주한 클럭 신호를 사용하여 동일한 난수 값이 다시 읽어지는 경우를 방지하여 보안성을 향상시킬 수 있는 난수 발생기에 관한 것이다.
일반적으로 스마트 카드에는 인증용으로 사용되는 난수 발생회로를 사용한다.
즉, 스마트 카드에서는 소프트웨어를 이용하여 사용하던 난수 발생 방법을사용자의 편의를 돕기 위해 하드웨어로 만들어 내장하여 사용자가 사용할 수 있게 구성한다.
이러한 하드웨어인 난수 발생기는 8 비트 스마트 카드의 경우 통상적으로 16 비트 레지스터를 이용하여 프리머티브 폴리노미얼(primitive polynomial) 방식을 이용한다.
도 1은 종래 기술에 따른 난수 발생기를 개략적으로 보인 블록도이다.
난수 발생기는, 클럭 신호(HCLK)를 발생하는 클럭 발생부(1)와, 클럭 발생부(1)에서 발생한 클럭 신호(HCLK)의 주기를 설정하는 캐패시터(C1)와, 데이터 버스(DB)에 실린 임의의 난수 값에 따라 캐패시터(C1)를 클럭 발생부(1)의 출력 단자와 선택적으로 연결하는 스위칭부(2)와, 클럭 발생부(1)에 의해 발생된 클럭 신호(HCLK)에 따라 저장된 난수를 데이터 버스(DB)에 출력하는 레지스터부(3)를 포함하여 구성된다.
여기서, 클럭 발생부(1)는 해킹을 방지하기 위해 시스템 클럭 신호보다 고주파인 클럭 신호(HCLK)를 발생한다.
여러 가지 임의의 주기를 갖는 클럭 신호(HCLK)를 생성하기 위해 데이터 버스(DB)에 실린 난수 값에 의해 스위칭부(2)를 제어하여 클럭 발생부(1)의 출력 단자를 캐패시터(C1)에 선택적으로 연결한다.
따라서, 클럭 신호(HCLK)의 주기를 조절하여 외부에서 난수 발생 장치의 다음 상태가 어떻게 되는지 예측할 수 없도록 한다.
이러한 방식을 사용하는 난수 발생기는 빠른 입력 클럭 신호(HCLK)를 사용하여 외부에서 다음에 발생할 난수 값을 예측하는 것이 어렵다.
그러나, 주기가 짧아지는 문제점이 발생한다. 즉, 레지스터부(3)가 16 비트 레지스터로 구성된다면 216클럭 이상이 되면 다시 주기가 시작되어 스마트 카드와 같이 직렬 통신을 이용하는 경우 외부에서 난수를 읽어내는 동안의 주기가 난수 발생기의 주기를 초과하게 되어 결국 같은 값을 읽어낼 가능성이 증가하는 문제점이 발생한다.
또한, 종래 기술에 따른 난수 발생기는 입력 클럭 시호를 일정하게 하지 않게 하기 위해 내부에서 클럭 발생부(1)에 의해 발생된 클럭 신호(HCLK)를 캐패시터 배열을 이용하여 주기를 다르게 하는 방법을 이용하고 있지만, 캐패시터(C1)를 실리콘 벌크 위에 구현하기 위해서는 매우 많은 면적을 차지하지만, 주기는 여러 가지로 변동시킬 수 없는 문제점이 발생한다.
이와 같은 문제점을 해결하기 위한 본 발명의 목적은, 스마트 카드의 직렬 통신 시 발생하는 입출력 장치의 인터럽트를 이용하여 난수 발생 장치를 구동시키고, 파워 다운 모드 또는 스탠바이 모드에서 자동으로 난수 발생 장치를 디스에이블 시켜 전류 소모를 줄이고, 분주기를 사용하여 여러 가지 주기를 갖는 클럭 신호를 생성하여 보안성을 향상시키는 것이다.
도 1은 종래 기술에 따른 난수 발생 장치를 나타낸 블록도.
도 2는 본 발명에 따른 난수 발생 장치를 나타낸 블록도.
< 도면의 주요부분에 대한 부호의 설명 >
10 : 클럭 발생부20 : 분주기
30 : 레지스터부DB : 데이터 버스
상기 목적을 달성하기 위한 본 발명에 따른 난수 발생 장치는, 클럭 신호를생성하는 클럭 발생 수단; 상기 클럭 발생 수단으로부터 생성된 상기 클럭 신호를 분주하는 분주 수단; 및 상기 분주 수단에 의해 분주된 클럭 신호에 따라 저장된 난수 값을 데이터 버스로 출력하는 레지스터부를 포함하여 구성된 것을 특징으로 한다.
상술한 목적 및 기타의 목적과 본 발명의 특징 및 이점은 첨부도면과 관련한 다음의 상세한 설명을 통해 보다 분명해 질 것이다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세히 설명하면 다음과 같다.
도 2는 본 발명에 따른 난수 발생 장치를 나타낸 블록도이다.
난수 발생 장치는, 입출력 장치의 인터럽트(INT)에 의해 인에이블 되고, 파워 다운 신호(DW)에 따라 디스에이블 되는 클럭 발생부(10)와, 클럭 발생부(10)에 의해 생성된 클럭 신호(HCLK)의 주파수를 분주하는 분주기(20)와, 분주기(20)에 의해 분주된 클럭 신호(DCLK)에 따라 저장되어 있는 난수를 데이터 버스(DB)로 출력하는 레지스터부(30)를 포함하여 구성된다.
여기서, 분주기(20)는 데이터 버스(DB)에 실린 임의의 난수 값에 따라 분주비가 설정된다.
접촉식 스마트 카드는 ISO7816에 규정된 직렬 통신 규약에 따라 모든 데이터를 받아들일 때 초기에 스타트 비트를 포함한다.
스타트 비트를 스마트 카드에 입력하면 입출력 장치는 자동으로 인터럽트(INT)를 방생한다.
이와 같이 발생된 인터럽트(INT)는 난수 발생 장치의 클럭 발생부(10)에 입력되어 클럭 발생부(10)를 인에이블 시킨다.
따라서, 난수 발생 장치의 레지스터부(30)는 프리머티브 폴리노미얼(primitive polynomial) 방식에 의해 변이를 시작한다.
또한, 스마트 카드의 모든 동작이 끝나면, 즉 파워다운 모드 또는 스탠바이 모드로 설정되면, 전력 소모를 줄이기 위해 명령어(여기서는 파워다운 신호(DW))를 발생하여 중앙 처리 장치(CPU)를 디스에이블 시킨다.
이때, 파워다운 신호(DW)는 클럭 발생기(10)에 인가되어 클럭 발생부(10)를 디스에이블 시킨다.
따라서, 난수 발생 장치는 정해진 난수의 발생 순서를 디스에이블 되어 있는 동안 발생시키지 않기 때문에 디스에이블 되어 있는 동안 발생되지 않는 만큼의 난수 발생의 수가 줄어들기 때문에 난수 발생 장치가 사용하는 클럭 신호의 주기가 길어지고, 소모전류가 줄어든다.
한편, 외부에서 난수 발생 장치에서 발생되는 난수 값을 예측할 수 없도록 클럭 발생부(10)에서 생성된 고주파수의 클럭 신호(HCLK)를 사용한다.
클럭 발생부(10)에서 생성된 클럭 신호(HCLK)가 항상 동일한 주기를 가질 때, 프리머티브 폴리노미얼(primitive polynomial) 방식을 안다면, 외부에서 난수 발생 장치에서 발생되는 난수 값을 예측할 수 있기 때문에, 주기를 변동시키기 위해 분주기(20)를 사용하여 분주된 클럭 신호(DCLK)가 시스템 클럭 신호보다 주기가 길어지도록 설정한다.
이때, 분주된 클럭 신호(DCLK)의 주기가 너무 길어져 난수를 읽어 내는 명령어의 동작시간보다 더 길어지면 같은 값을 여러 번 읽어내어 외부에서 난수의 다음 값을 예측할 수 있게 되기 때문에 레지스터부(30)에서 레지스터 값을 읽어내는 명령어의 동작 시간, 여기서는 8 비트 전용 프로세서(micro controller unit; MCU)의 경우 최소 3 시스템 클럭보다는 주기가 짧도록 설정되어 분주된 클럭 신호(DCLK)를 난수 발생 장치로 입력하여야 한다.
또한, 외부에서 난수 발생 장치에서 발생되는 난수 값을 예측할 수 없도록 하기 위해 분주기(20)의 분주비는 데이터 버스(DB)에 실리는 임의의 난수 값을 분주기(20)의 제어신호로 사용하여 레지스터부(30)에 입력되는 분주 클럭 신호(DCLK)를 발생하도록 제어한다.
이상에서 살펴본 바와 같이, 본 발명에 따른 난수 발생 장치는, 스마트 카드의 직렬 입력 시에 사용되는 인터럽트에 의해 인에이블 되고, 스마트 카드가 스탠바이 모드 또는 파워다운 모드가 되면 중앙 처리 장치(CPU)를 디스에이블 시키기 위한 명령어(DW)에 의해 디스에이블 되어, 전력 소모를 줄일 수 있고, 클럭 발생기에서 발생된 클럭 신호를 분주기를 사용하여 분주하기 때문에 임의의 주기를 갖는 분주된 클럭 신호를 발생하여 동작하기 때문에 보안성이 향상되는 효과가 있다.
아울러 본 발명의 바람직한 실시예는 예시의 목적을 위한 것으로, 당업자라면 첨부된 특허청구범위의 기술적 사상과 범위를 통해 다양한 수정, 변경, 대체 및 부가가 가능할 것이며, 이러한 수정 변경 등은 이하의 특허청구범위에 속하는 것으로 보아야 할 것이다.

Claims (3)

  1. 클럭 신호를 생성하는 클럭 발생 수단;
    상기 클럭 발생 수단으로부터 생성된 상기 클럭 신호를 분주하는 분주 수단; 및
    상기 분주 수단에 의해 분주된 클럭 신호에 따라 저장된 난수 값을 데이터 버스로 출력하는 레지스터부
    를 포함하여 구성된 것을 특징으로 하는 난수 발생 장치.
  2. 제 1 항에 있어서,
    상기 클럭 발생 수단은,
    입출력 장치의 인터럽트에 따라 인에이블 되고, 중앙 처리 장치의 디스에이블 명령에 따라 디스에이블 되는 것을 특징으로 하는 난수 발생 장치.
  3. 제 1 항에 있어서,
    상기 분주 수단은,
    상기 데이터 버스에 실린 난수 값에 따라 분주비가 설정되는 것을 특징으로 하는 난수 발생 장치.
KR1020010039040A 2001-06-30 2001-06-30 난수 발생 장치 KR20030002266A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010039040A KR20030002266A (ko) 2001-06-30 2001-06-30 난수 발생 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010039040A KR20030002266A (ko) 2001-06-30 2001-06-30 난수 발생 장치

Publications (1)

Publication Number Publication Date
KR20030002266A true KR20030002266A (ko) 2003-01-08

Family

ID=27712894

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010039040A KR20030002266A (ko) 2001-06-30 2001-06-30 난수 발생 장치

Country Status (1)

Country Link
KR (1) KR20030002266A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199073A (zh) * 2020-09-22 2021-01-08 深圳市微特自动化设备有限公司 一种基于单片机的随机数生成方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199073A (zh) * 2020-09-22 2021-01-08 深圳市微特自动化设备有限公司 一种基于单片机的随机数生成方法
CN112199073B (zh) * 2020-09-22 2024-02-02 深圳市微特自动化设备有限公司 一种基于单片机的随机数生成方法

Similar Documents

Publication Publication Date Title
CN1742458B (zh) 在调试过程中用于控制数据处理系统的方法和设备
US6363031B2 (en) Circuit, architecture and method for reducing power consumption in a synchronous integrated circuit
US6801956B2 (en) Arrangement with a microprocessor
US20050083098A1 (en) Clock shift circuit for gradual frequency change
US6542726B2 (en) Personal data assistant terminal with radio
US20080235428A1 (en) Method and system for dynamic switching between multiplexed interfaces
JPH10154021A (ja) クロック切換装置およびクロック切換方法
KR20030002266A (ko) 난수 발생 장치
US5467042A (en) Low power clocking apparatus and method
US8731042B2 (en) Generating pulse width modulated signals
KR100846398B1 (ko) 반도체 집적 회로 및 클록 제어 방법
US6827278B1 (en) Data carrier
US6631467B1 (en) Microcomputer timing control circuit provided with internal reset signal generator triggered by external reset signal
JPH1185724A (ja) Cpuモード切替回路
KR100479340B1 (ko) 저전력 스마트 카드 및 그 제어 방법
US7443222B1 (en) Dynamic clock control
KR100616683B1 (ko) 파워다운 및 웨이크업 회로
KR20030054756A (ko) 의사 난수 발생 장치 및 방법
US11855616B2 (en) Integrated circuit, control method, and system
EP4246285A1 (en) Semiconductor device operating modes management
JPH0398188A (ja) Icカード
KR100630934B1 (ko) 컴퓨터 시스템 및 컴퓨터 시스템의 제어방법
KR100800665B1 (ko) 중앙처리장치와 주변 장치들간의 인터페이스를 위한 장치
JP3506047B2 (ja) テストモード設定方法とテスト回路およびマイクロコントローラ
JP2000029560A (ja) 電子装置

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITB Written withdrawal of application