KR20090012528A - 난수 발생 장치의 자발적인 온라인 테스트 장치 및 방법 - Google Patents

난수 발생 장치의 자발적인 온라인 테스트 장치 및 방법 Download PDF

Info

Publication number
KR20090012528A
KR20090012528A KR1020070076433A KR20070076433A KR20090012528A KR 20090012528 A KR20090012528 A KR 20090012528A KR 1020070076433 A KR1020070076433 A KR 1020070076433A KR 20070076433 A KR20070076433 A KR 20070076433A KR 20090012528 A KR20090012528 A KR 20090012528A
Authority
KR
South Korea
Prior art keywords
random number
test
data
unit
number data
Prior art date
Application number
KR1020070076433A
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 KR1020070076433A priority Critical patent/KR20090012528A/ko
Priority to DE102007052226A priority patent/DE102007052226A1/de
Priority to US11/978,464 priority patent/US8250128B2/en
Publication of KR20090012528A publication Critical patent/KR20090012528A/ko

Links

Images

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
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C15/00Generating random numbers; Lottery apparatus
    • G07C15/006Generating random numbers; Lottery apparatus electronically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Abstract

본 발명의 일 실시예에 따른 난수 발생 장치의 온라인 테스트 장치는 난수 발생부, 스위칭 부, 및 테스트 부를 구비한다. 난수 발생부는 난수 데이터를 발생시켜 스위칭 부로 출력한다. 스위칭 부는 스위칭 제어 신호에 응답하여, 난수 데이터를 최종 출력단 또는 테스트 부로 전송한다. 테스트 부는 전송된 난수 데이터를 이용하여 기본 테스트를 수행하고 그에 따라 난수 발생을 제어하며, 계속 테스트를 수행할지 여부에 따라 스위칭 제어 신호를 출력한다. 여기서, 기본 테스트란 상기 전송된 난수 데이터가 통계적 범위 내에 존재하는지를 판단하는 테스트가 된다. 본 발명의 일 실시예에 따른 난수 발생 장치는 스위칭 부를 테스트 부에 의하여 제어할 수 있다. 또한, 테스트 수행 완료에 따라서 난수의 최종 출력 여부를 결정함으로써, 통계적으로 약한 데이터의 출력을 방지할 수 있으며, 그에 따라 출력되는 난수의 품질을 보장할 수 있다. 또한, 수행이 완료된 후에도 시스템의 시간 정보를 확인하여 필요한 경우 새로운 테스트를 자발적으로 수행할 수 있다.

Description

난수 발생 장치의 자발적인 온라인 테스트 장치 및 방법{Method and apparatus for autonomous online test of random number generator}
본 발명은 난수 발생 장치의 온라인 테스트 장치에 관한 것으로, 특히 통계적으로 허용되는 범위 밖의 값을 갖는 난수를 외부로 출력하지 않는 난수 발생 장치의 온라인 테스트에 관한 것이다.
정보 통신 기술의 발전에 따라서, 정보의 암호화 및 복호화 기술은 해당 정보의 보안 유지를 위하여 매우 중요시되고 있다. 난수(random number)는 보안 시스템(security system)의 비밀키(secret key)를 비롯한 여러 곳에서 사용된다. 따라서, 보안이 중요시되는 시스템에 있어서는 난수 발생기(random number generator)가 구비되며, 상기 난수 발생기는 예측 불가능한 값을 갖는 난수를 발생시킨다.
일반적으로, 난수들은 수학 공식 및 소프트웨어에 의하여 만들어지는 의사 난수(pseudo random number)와 물리적 노이즈 원(physical noise source)으로부터 생성되는 참 난수(true random number, 이하 'TRN')가 있다.
의사 난수의 경우, 일정 수학공식들에 따라서 만들어진다. 의사 난수는 상황에 따라 예측이 가능하고, 생성 방법에 따라 주기성과 규칙성을 갖게 되며, 따라서 완전한 난수 일 수 없다. 그러므로 중요한 개인 정보 등 보안이 매우 중요시 되는 시스템에 있어서는, 시스템의 보안을 의사 난수를 이용하여 수행할 수 없다. 난수 발생기에서 출력되는 난수의 품질은 곧 보안 시스템 전체의 보안 유지와 직결되기 때문이다.
그러므로, 철저한 보안을 요구하는 시스템의 경우, 참 난수(TRN)를 발생시켜야 할 필요성이 있다.
또한, 참 난수가 갖춰야 할 기능과 난수의 통계적 데이터의 테스트 방법을 기술한 난수 보안 표준인 AIS. 31이 공표되면서, AIS. 31의 규정들을 만족하면서 난수를 발생시켜야 할 필요성이 있다. 또한, AIS. 31은 보안 시스템에 적용되는 참 난수 발생기의 경우 동작 중에도 통계적 특성을 테스트 받아야 한다는 점을 요구하고 있다.
본 발명이 이루고자 하는 기술적 과제는 통계적으로 약한 값을 갖는 난수를 외부로 출력하지 않음으로써, 난수의 품질을 보장할 수 있는 난수 발생 장치의 온라인 테스트 장치를 제공하는데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 통계적으로 약한 값을 갖는 난수를 외부로 출력하지 않음으로써, 난수의 품질을 보장할 수 있는 자발적인 온라인 테스트 방법을 제공하는데 있다.
본 발명의 일 실시예에 따른 온라인 테스트 장치는 난수 발생부, 스위칭 부, 및 테스트 부를 구비한다.
난수 발생부는 난수 데이터를 발생시켜 스위칭 부로 출력한다.
스위칭 부는 스위칭 제어 신호에 응답하여, 난수 데이터를 최종 출력단 또는 테스트 부로 전송한다.
테스트 부는 전송된 난수 데이터를 이용하여 기본 테스트를 수행하고 그에 따라 난수 발생을 제어하며, 계속 테스트를 수행할지 여부에 따라 스위칭 제어 신호를 출력한다.
여기서, 기본 테스트란 상기 전송된 난수 데이터가 통계적 범위 내에 존재하는지를 판단하는 테스트가 된다.
테스트 부는 하나의 기본 테스트가 완료된 후에도, 일정한 간격으로 자발적 으로 테스트를 실행시킬 수 있도록 시스템의 시간 정보를 계속해서 관찰하고, 테스트가 필요한 경우 스위칭 부를 제어한다.
바람직하게, 테스트 부는 전송된 난수 데이터를 이용하여 통계적 데이터를 산출한다. 여기서, 통계적 데이터는 전송된 난수 데이터가 정상적인 것으로 판단되는 범위 내에 있는지에 관한 정보를 가진 데이터이다.
바람직하게, 테스트 부는 기본 테스트 결과 전송된 난수 데이터가 통계적 범위를 벗어나는 경우 예비적 에러로 판단한다.
바람직하게, 테스트 부는 예비적 에러가 초기 설정 횟수 이상 반복하여 일어나면, 난수 발생부에 에러가 있는 것으로 판단한다. 그에 따라, 난수 발생부로 난수 발생을 중지하도록 명령하는 난수 발생 중지 신호를 출력한다.
바람직하게, 테스트 부는 난수 데이터가 정상적인 것으로 판단되고 기본 테스트가 완료되면, 테스트 수행이 초기 설정된 요구 횟수만큼 수행되었는지 판단한다. 그리고, 테스트 수행이 초기 설정된 요구 횟수만큼 수행되었으면, 난수 발생부와 최종 출력을 연결하도록 하는 스위칭 제어 신호를 발생한다.
본 발명의 다른 실시예에 따른 난수의 온라인 테스트 방법은 발생된 난수 데이터를 이용하여 상기 난수 데이터가 통계적 범위 내에 존재하는지를 판단하는 기본 테스트를 수행하는 단계, 기본 테스트 결과 및 완료 여부에 따라 난수 발생을 제어하는 단계, 기본 테스트를 계속 수행할지 여부를 결정하는 단계, 기본 테스트 수행이 완료되면, 난수 데이터를 최종 출력하는 단계, 및 테스트 종료 이후에 일정 시간이 지나면 테스트를 자발적으로 실행하는 단계를 구비한다.
본 발명의 일 실시예에 따른 난수 발생 장치의 테스트 부는 난수 발생부로부터 통계적 데이터만 받아서 테스트를 수행한다. 따라서 전송된 난수 데이터를 저장하기 위한 별도의 메모리를 구비하지 않아도 되며, 그에 따라서 장치가 간소화될 수 있다. 또한, 메모리에 저장된 난수로 인하여 외부로 비밀 정보가 노출될 위험도 없다. 그리고, 스위칭 부를 테스트 부에 의하여 자동적으로 제어할 수 있다.
그리고, 테스트 수행 완료에 따라서 난수의 최종 출력 여부를 결정함으로써, 통계적으로 허용되는 범위를 벗어나는 데이터의 출력을 방지할 수 있으며, 그에 따라 출력되는 난수의 품질을 보장할 수 있다.
본 발명의 다른 실시예에 따른 난수의 온라인 테스트 방법은 기본 테스트 결과에 따라서 난수 발생 및 출력 여부를 결정함으로써, 난수의 최종 출력을 자동적으로 제어할 수 있다. 또한, 테스트 수행 완료에 따라서 난수의 최종 출력 여부를 결정함으로써, 통계적으로 허용되는 범위를 벗어나는 데이터의 출력을 방지할 수 있다.
보안이 매우 중요시 되는 시스템에 있어서는 참 난수를 발생시켜 이용하여야 한다. 이때 참 난수의 품질은 보안과 직결되는 중요한 문제가 된다.
참 난수 발생의 발생에 있어서, 외부의 노이즈 원을 이용하여 난수를 발생시키는 난수 발생기는, 서로 다른 외부 요인의 영향을 받는다. 즉, 참 난수 발생기는 칩의 노화로 인한 성능 저하 요인(age degradation effects), 온도 발열 등의 환경 적 변동(environment fluctuations)등의 영향을 받는다.
이러한 외부 요인의 영향은, 발생되는 난수의 품질(quality)을 변동시킬 수 있다. 외부 요인의 영향으로 인하여, 통계적으로 약한 데이터(statistically weak data)가 출력될 수 있다.
여기서, 통계적으로 약한 데이터(statistically weak data)란, 참 난수(TRN)의 통계적 특성이 NIST SP800-22, FIPS 140-1/2 등의 표준에 의하여 만족되지 못하는 데이터를 뜻한다. 참고로, NIST SP800-22, FIPS 140-1/2 등의 표준은, 난수들의 통계적 수치를 기준으로, 난수로써 인정될 수 있는 범위를 정해놓고 있다. 통계적 특성이란, 표준에서 정하는 범위내의 값이 되는지 아닌지를 나타내는 특성이다. NIST SP800-22, FIPS 140-1/2 등은 난수로서의 통계적 특성을 정해놓은 규격이며, 이는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명하다 할 것이다.
참 난수(TRN)로서 인정될 수 있으려면, 발생한 난수는 균형성과 낮은 상관성을 가져야 한다. 즉, NIST SP800-22, FIPS 140-1/2 등의 표준이 통계적 수치를 기준으로 정하고 있는, 난수로써 허용할 수 있는 일정 한계 범위 내의 값을 가져야 한다.
난수의 품질(quality)은 시스템의 보안과 직결된다. 난수가 통계적 특성을 만족하지 못하고 일정 주기성 또는 일정 규칙성을 가진다면, 난수의 값은 예측될 수 있다. 그리고 상기 예측 가능한 난수는 시스템의 보안키로 쓰이게 되므로, 시스템의 보안이 위협받게 되는 것이다.
따라서, 통계적 특성이 만족되지 못하는 통계적으로 약한 데이터(statistically weak data)는 시스템에 이용되는 난수로써 출력되면 안 된다.
또한, 표준 AIS. 31에서는 난수 발생기 및 난수 발생에 있어서, 최종 출력되는 난수는 통계적 특성을 만족할 것을 요구하고 있다.
본 발명에 따른 난수의 온라인 테스트 장치 및 난수의 테스트 방법은 난수의 통계적 특성을 테스트 하고, 그에 따라서 스위칭 부를 자동적으로 제어함으로써, 통계적으로 약한 난수의 발생을 방지한다. 즉, 표준 AIS. 31을 만족시키면서, 난수의 품질을 보장할 수 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명이 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 일반적인 난수 발생 장치를 나타내는 도면이다.
도 1을 참조하면, 난수의 테스트가 가능한 일반적인 난수 발생 장치(100)는 난수 발생기(101), 출력부(103), 및 테스트 부(105)를 구비한다.
난수 발생기(101)는 물리적 노이즈 원(noise source)으로부터, 참 난수(true random number)를 발생시킨다. 난수 발생기(101)에서 출력되는 난수들은 제1 노드(N1)로 전송되고, 이에서 출력부(103) 및 테스트 부(105)에 병렬적으로 전송된 다.
출력부(103)는 난수 발생기(101)에서 출력되는 난수들을 바로 출력하게 된다. 즉, 발생된 균형성과 낮은 상관성을 갖는지 여부와 관계없이, 난수 발생기(101)로부터 난수가 발생하여 전송되면 외부로 출력하는 것이다.
테스트 부(105)는 출력된 난수의 품질(quality)을 평가한다. 난수의 품질은 다양한 방법 및 기준에 의하여 평가될 수 있다.
도 1의 난수 발생 장치(100)는 난수의 출력과 테스트를 동시에 수행한다. 출력단(103)을 통하여 출력되는 난수들은 난수로써 구비해야할 조건들(균형성, 낮은 상관성 등)을 검증받지 않은 난수들이 되며, 따라서 표준에서 정한 허용범위를 벗어나는 높은 상관성 또는 불균형성을 갖는 오류 있는 난수들이 발생되어 출력될 수 있다.
테스트 결과를 피드백하여 난수 발생에 반영한다고 하더라도, 이미 오류 있는 난수들은 출력된 후가 된다. 오류 있는 난수들이 출력되면, 이는 암호화 장치 등의 보안키로 사용되게 된다. 오류 있는 난수가 보안키로 사용되게 되면 보안 시스템은 보안을 유지하지 못하게 되는 문제가 발생하는 것이다.
도 2는 본 발명의 일 실시예에 따른 난수의 온라인 테스트 장치를 나타내는 도면이다.
도 3은 도 2의 테스트 부 및 스위칭 부의 동작을 나타내는 플로우차트이다.
이하에서는 도 2 및 도 3을 참조하여, 본 발명의 일 실시예에 따른 난수의 온라인 테스트 장치(200)의 구성 및 동작을 설명한다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 테스트 장치(200)는 난수 발생부(210), 스위칭 부(220), 테스트 부(230), 스위칭 제어부(250)를 구비한다. 그리고, 최종 출력단(240)을 더 구비할 수 있다.
난수 발생부(210)는 참 난수(TRN)를 발생시켜 제1 노드(N1)로 출력한다. 그리고, 난수 발생부(210)는 테스트 부(230) 및 스위칭 제어부(250)에서 출력되는 리프레쉬 신호(CON_ref), 난수 발생 중지 신호(S_stop), 및 추가 발생 신호(S_gen)를 인가받고, 그에 응답하여 동작한다. 난수 발생부(210)는 내부적으로, 발생시킨 난수를 저장하는 별도의 메모리(예를 들어, 레지스터)(미도시)를 구비할 수 있다.
스위칭 부(220)는 스위칭 제어 신호(CON_switch)에 응답하여, 제1 노드(N1)를 최종 출력단(240)과 연결되는 S1 단자 또는 테스트 부(230)와 연결되는 S2 단자와 연결한다.
테스트 부(230)는 S2 단자를 통하여 전송된 난수 데이터를 테스트 슈트(test suite)(232)로 출력하고(310 단계), 테스트 슈트(232)에서는 이를 이용하여 기본 테스트(basic test)를 수행한다. 기본 테스트에서는 난수 데이터의 통계적 데이터만 추출하여 사용하고 난수 데이터들을 따로 저장하지 않는다.
그리고, 기본 테스트에서는 추출된 통계적 데이터가 규격에 의하여 요구되는 통계적 범위 내에 존재하는지를 판단하고, 그 결과에 따라서 난수 발생부(210)의 난수 발생을 제어한다(320 단계). 기본 테스트의 결과에 따라서, 발생한 난수가 통계적 범위를 만족하지 않는 것으로 판단되면 리프레쉬 신호(CON_ref)를 활성화 상태로 출력한다. 이하에서, 발생한 난수가 통계적 범위를 만족하지 않는 것을 예비 적 에러(preliminary error)라고 한다.
리프레쉬 신호(CON_ref)는 난수 발생부(210) 내 별도 메모리에 존재하는 난수 데이터들을 리프레쉬(refresh) 시킨다. 여기서, 리프레쉬란, 상기 별도 메모리(미도시)에 저장된 난수 데이터들을 모두 초기화(reset)하고 새로운 난수 데이터들이 저장되도록 하는 동작을 뜻한다.
그리고, 에러 확정부(234)는 예비적 에러 발생시 예비적 에러 발생과 관련된 정보를 저장한다. 그리고, 예비적 에러가 초기 설정 횟수 이상 발생하면 난수 발생부(210)의 난수 발생에 에러가 있는 것으로 판단한다. 테스트 부(230)의 내부에 구비되는 에러 확정부(234)에서 예비적 에러 발생 정보를 인가받고, 그에 따라서 에러 확정을 결정하는 것이다.
여기서, 에러 확정부(234)는 테스트 슈트(232)의 내부에 구비될 수 도 있다. 즉, 테스트 슈트(232)가 에러 확정부(234)의 역할까지 할 수 있다.
테스트 부(230)의 에러 확정부(234)에서 에러 발생을 확정하면, 난수 발생부(210)가 더 이상 난수를 발생시키지 않도록, 난수 발생 중지를 명령하는 난수 발생 중지 신호(S_stop)를 출력한다. 즉, 기본 테스트 수행 결과에 따라서 난수 발생이 제어되는 것이다(320 단계).
스위칭 제어부(250)는 테스트 부(230)의 기본 테스트가 성공적으로 완료되면, 기본 테스트를 계속 수행할지 여부를 결정한다. 그리고 그에 따라서 난수 발생부(210)에서 발생한 난수를 최종 출력단(240)으로 출력할지, 테스트 부(230)로 출력할지 여부를 결정하는 스위칭 제어 신호(CON_switch)를 출력한다(330 단계).
이하에서, 도 4a를 참조하여 본 발명에 따른 난수 발생 장치(200)의 동작을 상세히 설명한다.
도 4a는 도 2의 테스트 및 스위칭 부의 동작을 구체적으로 나타내는 도면이다.
도 4a를 참조하면, 난수 발생부(210)는 참 난수(TRN)를 계속하여 발생시킨다. 난수 발생부(210)에서 출력되는 난수들은 계속 하여 출력되므로, 일정 크기의 수열 데이터(sequence data)로 출력된다.
스위칭 부(220)는 디 멀티플렉서(De-multiplexer), 전송 게이트, 트랜지스터 등의 스위칭 소자(switching component) 형태로 형성된다. 이러한 스위칭 소자는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명하다 할 것이다. 도 4에서는 스위칭 부(220)가 디 멀티 플렉서(401)로 형성된 경우를 도시하였다.
402 블록 내의 플로우 차트는 도 2의 테트스 부(230)의 동작을 나타낸다. 그리고, 430 블록 내의 플로우 차트는 도 2의 스위칭 제어부(250)의 동작을 나타낸다.
난수 발생 장치(400)는 테스트 모드(test mode)에 진입하고, 제1 노드(N1)는 S2 단자로 연결된다. 그에 따라서 먼저 기본 테스트(basic test)가 수행된다(S403). 테스트 부(230)는 난수 발생부(210)에서 발생한 난수 데이터들을 이용하여 통계적 데이터를 추출한다.
여기서, 통계적 데이터는 발생한 난수들이 NIST SP800-2 또는 FIPS 140-1/2 등의 규격에 의한 통계적 특성을 만족하는지 여부에 관한 정보를 가진 데이터이다. 전술한 바와 같이, 난수가 보안 시스템 등의 보안키로 인정되기 위해서는 균형성과 낮은 상관성 등의 조건을 만족하여야 한다. 보안 시스템에서 이용할 수 있을 정도의 비규칙성 또는 비주기성의 한계 범위를 정해 놓은 것이 NIST SP800-2 또는 FIPS 140-1/2 등의 규격이 된다. 따라서, 통계적 데이터는 난수 발생부(210)에서 발생한 데이터가 상기 한계 범위 내에 들어가는지에 대한 정보를 가진다.
본 발명에 따른 402 블록(즉, 테스트 부(230))은 난수 발생부(210)에서 발생하여 전송된 난수들을 그대로 저장하지 않고, 난수들로부터 통계적 데이터만 얻어 이용한다. 따라서, 전송된 난수들을 저장하기 위한 별도의 메모리(레지스터 등)를 구비하지 않아도 된다. 그에 따라서 장치는 간소화되며 별도 메모리 구비를 위한 비용을 감소시킬 수 있다.
그리고, 기본 테스트가 완성되었는지 판단한다(S405). 기본 테스트는 일정 량의 난수(제1 분량)들에 대하여 이뤄지며, 일정량(제1 분량)만큼의 난수들이 테스트 되었으면 기본 테스트가 완성된다. 기본 테스트가 완성되지 않았으면, 일정량만큼의 난수들이 전송되지 않은 것이다. 따라서, 일정 비트를 더 발생시키라는 명령을 난수 발생부(210)로 출력한다(S421).
기본 테스트가 완성되었으면, 기본 테스트 결과가 성공적(pass)인지 판단한다(S407). 전송된 난수 데이터의 통계적 데이터가 규격에서 요구하는 통계적 특성을 만족하는 것으로 판단되면, 테스트 결과가 성공적인 것으로 판단한다. 그리고, 통계적 특성을 만족하지 않으면, 테스트 결과가 실패한 것으로 판단한다.
기본 테스트가 성공적이지 않으면, 예비적 에러(preliminary error)가 발생 한 것으로 판단한다(S409). 즉, 제1 분량의 난수의 통계적 데이터에 있어서 통계적 특성을 벗어나는 난수가 존재한다면, 난수 발생부(210)에서 발생한 일부의 난수 데이터에 에러가 존재하는 것이다.
이때, 에러 정보는 에러 확정부(234)(도 2에 도시됨)에서 수집된다(S415).
그리고, 계속하여 난수 발생부에 에러가 발생한 것인지 판단한다(S411). 난수 발생부의 에러 발생여부 판단은, 예비적 에러가 초기 설정 횟수 이상으로 발생했는지 여부를 판단함으로써 이뤄진다. 여기서, 초기 설정 횟수는 보안 시스템의 보안 요구 정도에 따라서 달라진다. 보안이 매우 철저하게 요구되는 시스템은 초기 설정 횟수를 매우 작은 값으로 설정할 수 있다. 일반적으로 3회 전후로 하여 초기 설정 횟수를 설정할 수 있다.
즉, 기본 테스트를 연속해서 수행한 결과, 예비적 에러가 일정 횟수 이상으로 계속하여 발생하면, 에러 확정부(234)는 난수 발생부(210)에 에러가 발생한 것으로 판단한다(S413). 그리고, 그에 따라서 난수 발생을 중지하라는 신호(S_stop)를 난수 발생부(210)로 출력한다. 난수 발생부(210)는 S_stop 신호에 응답하여 난수 발생을 중단하게 된다.
난수 발생부(210)에 에러가 발생한 것이 아니면(S411), 테스트 부(230)를 리셋 시킨다(S417). 여기서, 테스트 부(230)의 리셋은 테스트 부(230)에 저장된 통계적 데이터를 모두 초기화하고, 난수 발생부(210)에서 새로운 난수들을 전달받아 새로운 통계적 데이터를 생성시킴으로써 이뤄진다. 즉, 예비적 에러가 발생하면, 테 스트 부(230)에 저장된 통계적 데이터를 모두 리셋시키고 다시 테스트를 진행하는 것이다.
테스트 결과가 성공적이면, 테스트 수행(test suite)이 완료되었는지를 판단한다(S419). S419의 테스트 수행 완료와, S405의 기본 테스트 완성 판단의 차이점은 이하의 도 4b를 참조하여 설명한다.
도 4b는 테스트 되는 난수 데이터들을 나타내는 도면이다.
난수 발생부(210)는 제2 분량(473)만큼의 연속되는 난수 데이터들을 출력한다. 테스트 부(230)는 한번에 제2 분량(473) 만큼의 난수 데이터를 이용한 통계적 데이터를 생성하여 테스트를 하게 된다.
기본 테스트(basic test)란 제1 분량(471)의 난수 데이터들이 통계적 특성을 만족하는지 여부를 검토하는 것이다. 따라서, 제1 분량(471)에 대한 통계적 특성 검토가 종료되면, 기본 테스트가 완성(S405)된 것으로 판단한다. 즉, 기본 테스트란 최소 데이터 량 단위로 이뤄진다.
테스트 부(230)는 1회의 테스트 동안 제2 분량(473)만큼의 난수 데이터를 테스트하여야 한다. 따라서, 제1 분량(471)씩 수행되는 기본 테스트가 다수회 실시되어야 테스트 수행(test suite)이 완성(S419)되는 것이다.
테스트 수행이 완성되지 않았으면(S419), 일정 비트분량의 난수 데이터를 더 생성하라는 신호(S_gen)를 난수 발생부(210)로 출력한다(S421).
상술한 바와 같이, 본 발명에 따른 난수 발생 장치(400)는 테스트 수행 결과에 따라서, S_stop, CON_ref, 및 S_gen 신호들을 난수 발생부(210)로 출력한다. 따 라서, 난수 발생부(210)의 동작을 테스트 부(230)에 의하여 제어할 수 있게 된다.
테스트 수행이 완료되었으면, 새로운 테스트 수행을 할 것인지 여부를 판단한다(S435). 여기서, 상기 판단은 시스템 클락(system clock)의 정보 및 테스트 수행 횟수의 정보의 정보를 인가받는다(S431, 433). 난수의 품질을 보장하기 위해서는, 일정 시간마다 일정 횟수의 테스트가 수행되어야 한다. 예를 들어, 자발적으로 1분에 1회의 테스트를 수행함으로써, 정기적으로 발생되는 난수들의 질을 평가하게 되는 것이다. 여기서, '자발적으로 테스트 한다'는 것은, 외부에서 누가 테스트 시작을 명령하지 않아도, 온라인 테스트가 저절로 계속하여 실행될 수 있다는 것을 뜻한다.
따라서, 시스템 클락을 통하여 얻는 시간 정보와 지금까지 수행된 테스트 수행 횟수를 비교 검토함으로써, 추가의 테스트가 수행되어야 하는지를 검토하는 것이다. 예를 들어, 1시간에 60번의 테스트가 수행되어야 하는데, 60분이 지나도록 60번 미만의 테스트가 이뤄졌다면, 추가적인 테스트를 계속하여 수행하는 것이다.
테스트 수행을 계속 할 것으로 결정되면, 테스트 모드(test mode)의 진입을 결정한다(S451). 그에 따라서, 스위칭 부(220)가 제1 노드(N1)와 S2 단자를 연결하도록 스위칭 제어 신호(CON_switch)를 출력한다.
그리고, 테스트 수행을 멈출 것으로 결정하면, 출력 모드(output mode)의 진입을 결정한다(S453). 그에 따라서, 스위칭 부(220)가 제1 노드(N1)와 W1 단자를 연결하도록 스위칭 제어 신호(CON_switch)를 출력한다.
본 발명에 따른 난수의 온라인 테스트 장치(400)는 스위칭 부(220)를 스위칭 제어부(430)에 의하여 제어할 수 있다. 또한, 테스트 수행이 완료되지 않았거나, 테스트 결과가 성공적이지 않으면, 스위칭 부(220)가 제1 노드(N1)와 S1 단자를 연결하지 않는다. 따라서, 난수의 품질(quality)이 확보되지 않은, 통계적으로 약한 데이터(statistically weak data)는 출력되지 못하도록 한다. 즉, 신뢰할 수 있는 난수들만 출력할 수 있게 된다.
본 발명의 실시예에 따른 난수 생성 방법은 앞서 설명된 난수 발생 장치와 그 기술적 상이 동일하다. 그러므로 당업자라면 앞서의 설명으로부터 본 발명에 따른 난수 생성 방법에 대하여 이해할 수 있을 것이므로 이에 대한 자세한 설명은 생략된다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 일반적인 난수 발생 장치를 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 난수 발생 장치의 테스트 장치를 나타내는 도면이다.
도 3은 도 2의 테스트 부 및 스위칭 부의 동작을 나타내는 플로우차트이다.
도 4a는 도 2의 테스트 및 스위칭 부의 동작을 구체적으로 나타내는 도면이다.
도 4b는 테스트 되는 난수 데이터들을 나타내는 도면이다.
200: 온라인 테스트 장치
210: 난수 발생부(random number generating unit)
220: 스위칭 부(switching unit)
230: 테스트 부(test unit)
232: 테스트 슈트(test suite)
234: 에러 확정부
240: 최종 출력단
250: 스위칭 제어부

Claims (21)

  1. 난수 데이터를 발생시켜 스위칭 부로 출력하는 난수 발생부;
    스위칭 제어 신호에 응답하여, 상기 난수 데이터를 최종 출력단 또는 테스트 부로 전송하는 스위칭 부; 및
    전송된 난수 데이터를 이용하여 기본 테스트를 수행하고 그에 따라 난수 발생을 제어하며, 계속 테스트를 수행할지 여부에 따라 상기 스위칭 제어 신호를 출력하는 테스트 부를 구비하며,
    상기 기본 테스트란 상기 전송된 난수 데이터가 통계적 범위 내에 존재하는지를 판단하는 테스트인 것을 특징으로 하는 난수 발생 장치의 온라인 테스트 장치.
  2. 제1항에 있어서,
    상기 테스트 부는
    상기 전송된 난수 데이터를 이용하여 통계적 데이터를 산출하며,
    상기 통계적 데이터는
    상기 전송된 난수 데이터가 정상적인 것으로 판단되는 범위 내에 있는지에 관한 정보를 가진 데이터인 것을 특징으로 하는 난수 발생 장치의 온라인 테스트 장치.
  3. 제1항에 있어서, 상기 테스트 부는
    상기 기본 테스트 결과 상기 전송된 난수 데이터가 상기 통계적 범위를 벗어나는 경우 예비적 에러로 판단하는 것을 특징으로 하는 난수 발생 장치의 테스트 장치.
  4. 제3항에 있어서, 상기 테스트 부는
    상기 예비적 에러가 초기 설정 횟수 이상 반복하여 일어나면, 상기 난수 발생부에 에러가 있는 것으로 판단하는 것을 특징으로 하는 난수 발생 장치의 온라인 테스트 장치.
  5. 제4항에 있어서,
    상기 테스트 부는
    상기 난수 발생부에 에러가 있는 것으로 판단하면, 상기 난수 발생부로 난수 발생 중지 신호를 출력하며,
    상기 난수 발생 중지 신호는
    난수 발생을 중지하도록 명령하는 신호인 것을 특징으로 하는 난수 발생 장치의 온라인 테스트 장치.
  6. 제3항에 있어서, 상기 테스트 부는
    상기 예비적 에러 발생으로 판단하면, 상기 난수 발생부로 리프레쉬 신호를 출력하며,
    상기 리프레쉬 신호는
    상기 난수 발생부에서 생성된 난수 데이터를 모두 리셋 시키는 것을 특징으로 하는 난수 발생 장치의 온라인 테스트 장치.
  7. 제6항에 있어서, 상기 테스트 부는
    상기 예비적 에러가 초기 발생 횟수 미만으로 발생하면, 상기 기본 테스트를 초기화(reset)시키고 다시 기본 테스트를 수행하게 되는 것을 특징으로 하는 난수 발생 장치의 온라인 테스트 장치.
  8. 제2항에 있어서, 상기 테스트 부는
    상기 난수 데이터가 정상적인 것으로 판단되었으나 상기 기본 테스트가 완료되지 않은 것으로 판단되면, 난수 데이터를 더 발생시킬 것을 명령하는 신호를 난수 발생부로 출력하는 것을 특징으로 하는 난수 발생 장치의 온라인 테스트 장치.
  9. 제2항에 있어서, 상기 테스트 부는
    상기 난수 데이터가 정상적인 것으로 판단되고 상기 기본 테스트가 완료되면, 상기 테스트 수행이 초기 설정된 요구 횟수만큼 수행되었는지 판단하는 것을 특징으로 하는 난수 발생 장치의 온라인 테스트 장치.
  10. 제9항에 있어서, 상기 테스트 부는
    상기 테스트 수행이 상기 초기 설정된 요구 횟수만큼 수행되었으면, 상기 난수 발생부와 상기 최종 출력단을 연결하도록 하는 스위칭 제어 신호를 발생시키며,
    상기 테스트 수행이 상기 초기 설정 요구 횟수만큼 수행되지 않았으면, 상기 난수 발생부와 상기 테스트 부를 연결하도록 하는 스위칭 제어 신호를 발생시키는 것을 특징으로 하는 것을 특징으로 하는 난수 발생 장치의 온라인 테스트 장치.
  11. 제9항에 있어서, 상기 테스트 부는
    시스템 클락과 일정 기간동안 행해졌던 테스트 횟수 정보를 인가받고, 상기 인가받은 정보를 이용하여 상기 테스트 수행이 상기 초기 설정된 요구 횟수만큼 수행되었는지 판단하는 것을 특징으로 하는 난수 발생 장치의 온라인 테스트 장치.
  12. 제1항에 있어서,
    상기 스위칭 부는
    디-멀티플렉서로 이뤄지며,
    상기 디-멀티플렉서는
    상기 스위칭 제어 신호에 응답하여 동작하며, 입력단이 상기 난수 발생부 출력단과 연결되며, 출력단 일단이 상기 최종 출력단과 연결되고, 출력단 다른 일단이 상기 테스트 부의 입력단과 연결되는 것을 특징으로 하는 난수 발생 장치의 온라인 테스트 장치.
  13. 발생된 난수 데이터를 이용하여 상기 난수 데이터가 통계적 범위 내에 존재하는지를 판단하는 기본 테스트를 수행하는 단계;
    상기 기본 테스트 결과 및 완료 여부에 따라 난수 발생을 제어하는 단계;
    상기 기본 테스트를 계속 수행할지 여부를 결정하는 단계; 및
    상기 기본 테스트 수행이 완료되면, 상기 난수 데이터를 최종 출력하는 단계를 구비하는 것을 특징으로 하는 난수의 온라인 테스트 방법.
  14. 제13항에 있어서, 상기 기본 테스트 수행 단계는
    상기 발생된 난수 데이터를 이용하여 통계적 데이터를 산출하며, 이를 이용하여 상기 난수 데이터가 통계적 범위 내에 존재하는지 여부를 판단하는 것을 특징으로 하는 난수의 온라인 테스트 방법.
  15. 제13항에 있어서, 상기 난수 발생 제어 단계는
    상기 기본 테스트 결과 상기 난수 데이터가 상기 통계적 범위를 벗어나는 경우, 예비적 에러 발생으로 판단하는 단계;
    상기 발생된 난수 데이터를 모두 리셋시키는 단계를 구비하는 것을 특징으로 하는 난수의 온라인 테스트 방법.
  16. 제15항에 있어서, 상기 난수 발생 제어 단계는
    상기 예비적 에러가 초기 설정 횟수 이상 반복하여 일어나는지 판단하는 단계; 및
    상기 예비적 에러가 상기 초기 설정 횟수 이상 일어나면, 상기 난수 발생에 에러가 있는 것으로 판단하는 단계를 더 구비하는 것을 특징으로 하는 난수의 온라인 테스트 방법.
  17. 제16항에 있어서, 상기 난수 발생 제어 단계는
    상기 난수 발생 에러가 있는 것으로 판단되면, 상기 난수 발생 자체를 중지시키는 단계를 더 구비하는 것을 특징으로 하는 난수의 온라인 테스트 방법.
  18. 제16항에 있어서, 상기 난수 발생 제어 단계는
    상기 예비적 에러가 상기 초기 발생 횟수 미만 발생하면, 난수 데이터를 더 발생시키고 상기 기본 테스트 단계로 회귀하는 단계를 더 구비하는 것을 특징으로 하는 것을 특징으로 하는 난수의 온라인 테스트 방법.
  19. 제13항에 있어서, 상기 계속 수행 여부의 결정 단계는
    상기 난수 데이터가 정상적인 것으로 판단되었으나, 상기 기본 테스트가 완료되지 않은 것으로 판단되면, 상기 난수 데이터를 더 발생시키는 단계를 더 구비하는 것을 특징으로 하는 난수의 온라인 테스트 방법.
  20. 제13항에 있어서, 상기 계속 수행 여부의 결정 단계는
    상기 난수 데이터가 정상적인 것으로 판단되고 상기 기본 테스트가 완료되면, 상기 테스트 수행이 초기 설정된 요구 횟수만큼 수행되었는지 판단하는 단계;
    상기 테스트 수행이 상기 요구 횟수만큼 수행되었으면, 상기 기본 테스트 수행을 완료하는 단계; 및
    상기 테스트 수행이 상기 요구 횟수만큼 수행되지 않았으면, 기본 테스트 수행 단계로 회귀하는 단계를 포함하는 것을 특징으로 하는 난수의 온라인 테스트 방법.
  21. 제19항에 있어서, 상기 계속 수행 여부의 결정 단계는
    시스템 클락과 일정 기간동안 행해졌던 상기 기본 테스트 횟수 정보를 인가받는 단계; 및
    상기 인가받은 정보를 이용하여, 상기 테스트 수행이 상기 초기 설정된 횟수만큼 이루어졌는지 판단하는 단계를 포함하는 것을 특징으로 하는 난수의 온라인 테스트 방법.
KR1020070076433A 2007-07-30 2007-07-30 난수 발생 장치의 자발적인 온라인 테스트 장치 및 방법 KR20090012528A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020070076433A KR20090012528A (ko) 2007-07-30 2007-07-30 난수 발생 장치의 자발적인 온라인 테스트 장치 및 방법
DE102007052226A DE102007052226A1 (de) 2007-07-30 2007-10-23 Zufallszahlenerzeugungsvorrichtung und Verfahren zum Testen
US11/978,464 US8250128B2 (en) 2007-07-30 2007-10-29 Apparatus and methods for autonomous testing of random number generators

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070076433A KR20090012528A (ko) 2007-07-30 2007-07-30 난수 발생 장치의 자발적인 온라인 테스트 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20090012528A true KR20090012528A (ko) 2009-02-04

Family

ID=40176019

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070076433A KR20090012528A (ko) 2007-07-30 2007-07-30 난수 발생 장치의 자발적인 온라인 테스트 장치 및 방법

Country Status (3)

Country Link
US (1) US8250128B2 (ko)
KR (1) KR20090012528A (ko)
DE (1) DE102007052226A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8346832B2 (en) * 2006-10-12 2013-01-01 The Regents Of The University Of Michigan Random number generator
KR20110060033A (ko) * 2009-11-30 2011-06-08 박옥희 해상 구조물용 커플링
US20130333051A1 (en) * 2011-03-04 2013-12-12 Nec Corporation Random value identification device, random value identification system, and random value identification method
US20150199175A1 (en) * 2013-02-14 2015-07-16 Yongge Wang Systems and Methods for Performing Randomness and Pseudorandomness Generation, Testing, and Related Cryptographic Techniques
KR20180055299A (ko) * 2016-11-16 2018-05-25 삼성전자주식회사 난수 생성기의 랜덤성 시험 장치 및 방법
KR102073474B1 (ko) * 2018-05-24 2020-02-04 홍익대학교 산학협력단 비트스트림의 임의성을 검증하는 방법 및 그 시스템
CN111290799B (zh) * 2020-02-06 2023-09-19 北京字节跳动网络技术有限公司 组件加载方法、装置、电子设备、及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8315383B2 (en) * 2001-07-27 2012-11-20 Hewlett-Packard Development Company, L.P. Method and apparatus for random bit-string generation utilizing environment sensors
US7219112B2 (en) * 2001-11-20 2007-05-15 Ip-First, Llc Microprocessor with instruction translator for translating an instruction for storing random data bytes
US20030158876A1 (en) * 2002-02-21 2003-08-21 Koninklijke Philips Electronics N.V. On-line randomness test through overlapping word counts
US6947960B2 (en) * 2002-02-21 2005-09-20 Koninklijke Philips Electronics N.V. Randomness test utilizing auto-correlation
US6675113B2 (en) * 2002-03-26 2004-01-06 Koninklijke Philips Electronics N.V. Monobit-run frequency on-line randomness test
US7031991B2 (en) * 2002-04-17 2006-04-18 Koninklijke Philips Electronics N.V. Hadamard-transform on-line randomness test
US6993543B2 (en) * 2002-04-22 2006-01-31 Koninklijke Philips Electronics N.V. Gap histogram on-line randomness test
KR100637704B1 (ko) 2004-12-21 2006-10-26 삼성에스디에스 주식회사 제한된 컴퓨팅 자원을 갖는 시스템에서의 난수성 테스트방법
JP2006318092A (ja) 2005-05-11 2006-11-24 Canon Inc 乱数生成エージェント
JP2008027327A (ja) * 2006-07-25 2008-02-07 Sony Corp メモリアクセス制御装置および方法、並びに、通信装置

Also Published As

Publication number Publication date
US20090037787A1 (en) 2009-02-05
US8250128B2 (en) 2012-08-21
DE102007052226A1 (de) 2009-02-05

Similar Documents

Publication Publication Date Title
KR20090012528A (ko) 난수 발생 장치의 자발적인 온라인 테스트 장치 및 방법
EP3287800B1 (en) Jtag debug apparatus and jtag debug method
US20060080537A1 (en) Illegal analysis / falsification preventing system
US8290601B2 (en) Plant control system
CN111095213A (zh) 嵌入式程序的安全引导方法、装置、设备及存储介质
US20090228711A1 (en) Processor apparatus having a security function
KR20180050276A (ko) 물리적 복제방지 기능을 위한 임베디드 테스트 회로
US8675805B2 (en) Automated periodic surveillance testing method and apparatus in digital reactor protection system
US8056142B2 (en) Apparatus and method of authenticating joint test action group (JTAG)
US11074370B2 (en) Information processing system, information processing device, and method for controlling information processing device
CN102541048A (zh) 控制器局域网消息传送停止测试系统和方法
CN210776693U (zh) 片上系统和电子装置
JPH08508352A (ja) データ処理システムのための安全臨界プロセッサおよび処理方法
US5767694A (en) Information processing apparatus with a mode setting circuit
EP3361335B1 (en) Safety controller using hardware memory protection
US20080028263A1 (en) Apparatus and method for protection of JTAG scan chains in a microprocessor
US20030196152A1 (en) Method of testing a circuit using an output vector
CN110399258B (zh) 一种服务器系统的稳定性测试方法、系统及装置
KR20170125580A (ko) 원자력 발전소 plc의 제어논리 검증 방법 및 시스템
TWI775786B (zh) 半導體裝置
WO2023012898A1 (ja) 情報処理システム、情報処理装置、及び情報処理方法
US11010268B1 (en) Embedded timed attestation process
TWI760673B (zh) 電子裝置
KR102190196B1 (ko) 안전등급 제어기 및 이의 구성정보 관리방법
KR101072810B1 (ko) 자동차용 asic의 자가 진단 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20090624

Effective date: 20110122