KR20130130622A - Method of ramdom number generation using low power microprocessor and apparatus for the same - Google Patents
Method of ramdom number generation using low power microprocessor and apparatus for the same Download PDFInfo
- Publication number
- KR20130130622A KR20130130622A KR1020130016983A KR20130016983A KR20130130622A KR 20130130622 A KR20130130622 A KR 20130130622A KR 1020130016983 A KR1020130016983 A KR 1020130016983A KR 20130016983 A KR20130016983 A KR 20130016983A KR 20130130622 A KR20130130622 A KR 20130130622A
- Authority
- KR
- South Korea
- Prior art keywords
- random number
- internal state
- number generator
- power
- noise source
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Power Sources (AREA)
Abstract
Description
본 발명은 난수 발생 기술에 관한 것으로, 특히 난수 발생기 시드를 예측 불가능하도록 관리하여 인증 및 암호화에 필요한 난수의 기밀성 및 무결성을 제공하는 난수 발생기에 관한 것이다.The present invention relates to a random number generation technique, and more particularly, to a random number generator that manages a seed of a random number generator in an unpredictable manner to provide confidentiality and integrity of a random number necessary for authentication and encryption.
마이크로프로세서 기반의 난수 발생기는 크게 외부 하드웨어 잡음원(hardware noise source)에서 수집된 잡음에 대한 선행 처리 및 보정 처리를 통해 응용프로그램에서 필요로 하는 난수를 발생시키는 방식과, 난수 시드 초기값과 난수 발생 알고리즘을 이용하여 마이크로프로세서가 직접 난수를 발생시키는 두 가지 방식으로 나뉜다.A microprocessor-based random number generator can be classified into two types: a method of generating a random number needed in an application program through pre-processing and correction processing of noise collected from an external hardware noise source, a method of generating a random number seed initial value and a random number generation algorithm And the microprocessor directly generates random numbers using the two methods.
응용 프로그램은 생성된 난수를 이용하여 어플리케이션의 기밀성 및 무결성을 제공하며, 인증 및 암호화와 같은 서비스를 제공할 수 있다.The application uses the generated random number to provide the confidentiality and integrity of the application and can provide services such as authentication and encryption.
도 1 및 도 2는 종래 기술에 따른 난수 발생기의 블록도이다.1 and 2 are block diagrams of a conventional random number generator.
도 1을 참조하면, 난수 발생기(110)는 하드웨어 잡음원(101), 보정 알고리즘부(102), 외부 전원(103) 및 마이크로프로세서(104)를 포함한다.1, the
하드웨어 잡음원(hardware noise source; 101)은 링 오실레이터(ring oscillator) 또는 열잡음 다이오드 등을 이용하여 난수 발생에 사용되는 잡음을 생성한다.A
보정 알고리즘부(102)는 수집된 하드웨어 잡음을 소프트웨어적으로 보정하여 난수 특성을 개선시킨다.The
외부 전원(103)은 난수 발생기(110)에 전원을 공급한다.The
마이크로프로세서(104)는 수집된 하드웨어 잡음을 이용하여 난수열(random number sequence)을 생성하고 응용 프로그램부(105)의 요청시 생성된 난수열을 제공한다.The
응용 프로그램부(105)는 암호화 또는 인증에 필요한 난수를 요청한다.The
도 2를 참조하면, 난수 발생기(210)는 외부 전원(206), 마이크로프로세서(207), 초기값 제공부(209) 및 난수 발생 알고리즘부(201)를 포함한다.2, the
외부 전원(206)은 난수 발생기(210)에 전원을 공급한다.The
마이크로프로세서(207)는 초기값과 난수 발생 알고리즘을 이용하여 난수열(random number sequence)을 생성하고 응용 프로그램부(208)의 요청시 생성된 난수열을 제공한다.The
응용 프로그램부(208)는 암호화 또는 인증에 필요한 난수를 요청한다.The
초기값 제공부(209)는 난수 발생 알고리즘에 사용되는 시드 초기값을 제공한다.The initial
난수 발생 알고리즘부(201)는 SHA(Secure Hashing Algorithm)과 같은 메시지 압축 알고리즘 등을 이용하여 난수가 생성되도록 한다.The random number
도 1 및 도 2에 도시된 난수 발생기는 이전 시점의 시드와 함께 여러 가지 다양한 엔트로피 소스를 이용하여 구성된 내부 상태로부터 예측 불가능한 새로운 시드를 생성하는 방식으로 시드를 업데이트한다. 결국, 시드를 기반으로 하는 난수 발생 알고리즘에서 외부의 잡음원에 충분한 엔트로피가 보장되지 않으면 다음 시점의 난수가 예측 가능하게 된다.The random number generator shown in FIG. 1 and FIG. 2 updates the seed in such a manner as to generate a new seed that can not be predicted from the internal state configured using various various entropy sources together with the seed at the previous time. As a result, in a seed-based random number generation algorithm, if sufficient entropy is not ensured in an external noise source, a random number at the next time point can be predicted.
나아가, 도 1 및 도 2에 도시된 종래의 난수 발생기는 마이크로프로세서에 전원이 공급되고 있는 상태에서만 동작하는 것으로, 전원이 공급되지 않는 상태에서는 난수 발생기가 동작하지 아니하므로 난수 발생기의 시드(seed)가 업데이트되지 않는다는 단점이 있다.The conventional random number generator shown in FIGS. 1 and 2 operates only when the power is supplied to the microprocessor. When the power is not supplied, the random number generator does not operate. Therefore, Is not updated.
따라서, 외부의 하드웨어 잡음원과 시드가 사용되는 난수 발생 알고리즘을 이용하여 항상 예측이 불가능한 난수를 발생시키기 위한 새로운 난수 발생 방식 및 시드 관리 방식의 필요성이 절실하게 대두된다.Therefore, there is an urgent need for a new random number generation method and a seed management method for generating a random number that can not always be predicted by using a random number generation algorithm in which an external hardware noise source and a seed are used.
관련 선행기술로는 시드 알고리즘을 이용하여 예측 불가능한 난수를 생성하는 시스템 및 방법(SYSTEM AND METHOD FOR GENERATING AN UNPREDICTABLE NUMBER USING A SEEDED ALGORITHM)에 관한 미국등록특허 8,001,054호가 있다.Related prior art is U.S. Patent No. 8,001,054, entitled SYSTEM AND METHOD FOR GENERATING AN UNPREDICTABLE NUMBER USING A SEEDED ALGORITHM,
본 발명의 목적은 전원이 공급되고 있지 아니한 상황에서도 적절한 시드(내부 상태) 업데이트가 수행되도록 함으로써, 전원 공급 상태와 상관 없이 생성된 난수가 예측 불가능하도록 하여 인증 및 암호화의 기밀성 및 무결성을 보장하는 것이다.An object of the present invention is to ensure an appropriate seed (internal state) update even in a situation where no power is supplied, thereby ensuring the confidentiality and integrity of authentication and encryption by making the generated random number irrelevant to the power supply state .
또한, 본 발명의 목적은 전원이 공급되는 경우와 공급되지 않는 경우에 서로 다른 시드(내부 상태) 업데이트 방식을 사용하여 효율적으로, 생성된 난수가 예측 불가능하도록 하고 동일한 출력 난수열 생성을 방지하는 것이다.It is also an object of the present invention to efficiently generate the generated random number by using different seed (internal state) update schemes when the power is supplied and not supplied, thereby preventing generation of the same output random number sequence .
또한, 본 발명의 목적은 배터리를 이용하여 동작하는 경우에도 최소한의 시드(내부 상태) 업데이트가 수행되도록 하여 예측 불가능한 난수를 제공하는 것이다.It is also an object of the present invention to provide a random number that can not be predicted by performing a minimum seed (internal state) update even when operating using a battery.
상기한 목적을 달성하기 위한 본 발명에 따른 저전력 마이크로프로세서를 이용한 난수 발생 방법은, 저전력 마이크로프로세서가 난수 발생기에 외부 전원이 공급되는지 여부를 판단하는 단계; 상기 외부 전원이 공급되는 것으로 판단되는 경우 상기 저전력프로세서가 제1 방식으로 상기 난수 발생기의 내부 상태를 업데이트하는 단계; 및 상기 외부 전원이 공급되는 것으로 판단되지 않는 경우, 상기 저전력프로세서가 상기 제1 방식과 상이한 제2 방식으로 상기 난수 발생기의 내부 상태를 업데이트하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of generating a random number using a low power microprocessor, the method comprising: determining whether a low power microprocessor is supplied with an external power source; Updating the internal state of the random number generator in a first manner when the low power processor determines that the external power is supplied; And if the external power is not determined to be supplied, the low power processor updates the internal state of the random number generator in a second manner different from the first mode.
이 때, 상기 제2 방식으로 상기 난수 발생기의 내부 상태를 업데이트하는 단계는 배터리에서 제공되는 전력을 이용하여, 타이머 이벤트 발생 여부 및 상기 난수 발생기의 내부 상태의 기설정된 조건 만족 여부 중 하나 이상을 고려하여 상기 난수 발생기의 내부 상태를 업데이트할 수 있다.At this time, the step of updating the internal state of the random number generator in the second scheme considers at least one of whether a timer event is generated and whether the internal state of the random number generator satisfies predetermined conditions, using the power provided by the battery Thereby updating the internal state of the random number generator.
이 때, 기설정된 조건은 상기 내부 상태의 기설정된 비트가 기설정된 값으로 설정되어 있는지 여부일 수 있다.At this time, the predetermined condition may be whether or not the preset bit of the internal state is set to a predetermined value.
이 때, 제1 방식으로 상기 난수 발생기의 내부 상태를 업데이트하는 단계는 대기 상태에서 지속적으로 난수를 생성하고 상기 내부 상태를 업데이트하며, 응용 프로그램에서 난수를 요청하면 요청된 난수를 생성하여 제공한 후 다시 상기 대기 상태로 돌아갈 수 있다.At this time, the step of updating the internal state of the random number generator in the first method continuously generates a random number in a waiting state, updates the internal state, and when a random number is requested in an application program, And can return to the standby state again.
이 때, 내부 상태는 이전 내부 상태, 외부의 하드웨어 잡음원을 이용하여 생성된 잡음원 데이터 및 RTC(Real Time Counter)의 시간값을 이용하여 난수를 생성함으로써 업데이트될 수 있다.At this time, the internal state can be updated by generating a random number using the previous internal state, the noise source data generated using the external hardware noise source, and the time value of the RTC (Real Time Counter).
이 때, 잡음원 데이터는 난수 특성을 개선하기 위하여 기설정된 보정 알고리즘에 의해 보정된 것일 수 있다.In this case, the noise source data may be corrected by a predetermined correction algorithm to improve the random number characteristic.
또한, 본 발명의 일실시예에 따른 난수 발생기는, 외부 전원이 공급되지 않는 경우 전원을 공급하기 위한 배터리; 외부 전원 및 상기 배터리에서 공급되는 전원의 전압 차이에 기반하여 상기 외부 전원 및 상기 배터리에서 공급되는 전원 중 하나를 선택하는 전원 스위칭 회로; 및 상기 외부 전원을 이용하여 제1 방식으로 난수 발생을 위한 내부 상태를 업데이트하고, 상기 배터리에서 공급되는 전원을 이용하여 상기 제1 방식과 상이한 제2 방식으로 상기 내부 상태를 업데이트하는 저전력 마이크로프로세서를 포함한다.Also, a random number generator according to an embodiment of the present invention includes: a battery for supplying power when external power is not supplied; A power switching circuit for selecting one of the external power and the power supplied from the battery based on a voltage difference between the external power and the power supplied from the battery; And a low power microprocessor for updating the internal state for generating a random number in a first manner using the external power supply and updating the internal state in a second manner different from the first scheme by using power supplied from the battery, .
이 때, 난수 발생기는 상기 난수 발생에 사용되는 잡음원 데이터를 생성하기 위한 하드웨어 잡음원; 및 상기 난수 발생에 사용되는 시간값을 생성하기 위한 RTC(Real Time Clock)를 더 포함할 수 있다.In this case, the random number generator is a hardware noise source for generating noise source data used for generating the random number; And a real time clock (RTC) for generating a time value used for generating the random number.
이 때, 제2 방식은 상기 배터리에서 제공되는 전력을 이용하여, 타이머 이벤트 발생 여부 및 상기 난수 발생기의 내부 상태의 기설정된 조건 만족 여부 중 하나 이상을 고려하여 상기 내부 상태를 업데이트할 수 있다.In this case, the second scheme may update the internal state by taking into account at least one of whether a timer event has occurred and whether the internal state of the random number generator satisfies a predetermined condition, using the power provided by the battery.
이 때, 기설정된 조건은 내부 상태의 기설정된 비트가 기설정된 값으로 설정되어 있는지 여부일 수 있다.At this time, the predetermined condition may be whether or not the predetermined bit of the internal state is set to a predetermined value.
이 때, 제1 방식은 대기 상태에서 지속적으로 난수를 생성하고 상기 내부 상태를 업데이트하며, 응용 프로그램에서 난수를 요청하면 요청된 난수를 생성하여 제공한 후 다시 상기 대기 상태로 돌아갈 수 있다.At this time, the first scheme continuously generates a random number in the waiting state, updates the internal state, and when the application requests a random number, it generates and provides the requested random number, and then returns to the standby state.
이 때, 상기 내부 상태는 이전 내부 상태, 상기 하드웨어 잡음원을 이용하여 생성된 잡음원 데이터 및 상기 RTC의 시간값을 이용하여 난수를 생성함으로써 업데이트될 수 있다.At this time, the internal state can be updated by generating a random number using the previous internal state, the noise source data generated using the hardware noise source, and the time value of the RTC.
이 때, 상기 잡음원 데이터는 난수 특성을 개선하기 위한 보정 알고리즘에 의해 보정된 것일 수 있다.In this case, the noise source data may be corrected by a correction algorithm for improving the random number characteristic.
본 발명에 따르면, 타이머 이벤트가 발생한 경우에 배터리 전원을 이용한 액티브 모드에 상응하는 내부 상태 업데이트가 이루어지도록 함으로써 발생된 난수가 예측 불가능하도록 하고 인증 및 암호화의 기밀성 및 무결성을 보장할 수 있다.According to the present invention, when a timer event occurs, an internal state update corresponding to an active mode using battery power is performed, thereby making it impossible to predict a random number generated and guaranteeing the confidentiality and integrity of authentication and encryption.
또한, 본 발명은 전원이 공급되는 경우와 공급되지 않는 경우에 서로 다른 시드(내부 상태) 업데이트 방식을 사용하여 효율적으로, 생성된 난수가 예측 불가능하도록 하고 동일한 출력 난수열 생성을 방지할 수 있다.In addition, the present invention can efficiently generate the generated random number using different seed (internal state) update methods when power is supplied and not supplied, and can prevent generation of the same output random number sequence.
또한, 본 발명은 배터리를 이용하여 동작하는 경우에도 최소한의 시드(내부 상태) 업데이트가 수행되도록 하여 예측 불가능한 난수를 제공할 수 있다.In addition, the present invention can perform a minimum seed (internal state) update even when operating using a battery, thereby providing an unpredictable random number.
도 1 및 도 2는 종래 기술에 따른 난수 발생기의 블록도이다.
도 3은 본 발명의 일실시예에 따른 난수 발생기를 나타낸 블록도이다.
도 4는 본 발명의 일실시예에 따른 저전력 마이크로프로세서를 이용한 난수 발생 방법을 나타낸 동작 흐름도이다.
도 5는 도 4에 도시된 제1 방식으로 내부 상태를 업데이트하는 단계의 일 예를 나타낸 동작 흐름도이다.
도 6은 도 4에 도시된 제2 방식으로 내부 상태를 업데이트하는 단계의 일 예를 나타낸 동작 흐름도이다.
도 7은 내부 상태 업데이트의 일 예를 나타낸 동작 흐름도이다.1 and 2 are block diagrams of a conventional random number generator.
3 is a block diagram illustrating a random number generator according to an embodiment of the present invention.
4 is a flowchart illustrating a random number generating method using a low power microprocessor according to an embodiment of the present invention.
5 is an operational flowchart showing an example of a step of updating the internal state in the first scheme shown in FIG.
FIG. 6 is an operation flowchart showing an example of a step of updating the internal state in the second scheme shown in FIG.
7 is an operational flowchart showing an example of the internal state update.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.The present invention will now be described in detail with reference to the accompanying drawings. Hereinafter, a repeated description, a known function that may obscure the gist of the present invention, and a detailed description of the configuration will be omitted. Embodiments of the present invention are provided to more fully describe the present invention to those skilled in the art. Accordingly, the shapes and sizes of the elements in the drawings and the like can be exaggerated for clarity.
본 발명에서 저전력 마이크로프로세서는 타이머 이벤트가 발생하는 경우 배터리 전원을 이용한 액티브 모드로 전환된다. 이 때, 이전 시점에 업데이트된 난수 발생기 내부 상태(상태 정보)의 특정 비트를 확인하여 난수 발생기 내부 상태를 업데이트한다. 난수 발생기 내부 상태 업데이트는 이전 시점의 난수 발생기 내부 상태, 별도의 하드웨어 잡음원, 시간 정보 및 온도 정보 등을 이용하여 업데이트될 수 있으며, 업데이트된 상태 정보는 다시 메모리에 저장될 수 있다.In the present invention, the low power microprocessor is switched to an active mode using battery power when a timer event occurs. At this time, the internal state of the random number generator is updated by checking a specific bit of the internal state (state information) of the updated random number generator at the previous time. The internal state update of the random number generator may be updated using the internal state of the random number generator at the previous time, a separate hardware noise source, time information, and temperature information, and the updated state information may be stored again in the memory.
전원이 공급되는 경우, 마이크로프로세서는 내부 메모리에 저장되어 있는 내부 상태(상태 정보)를 이용하여 난수 발생기를 초기화하고, 대기 상태에서 난수 발생기 내부 상태를 지속적으로 업데이트하면서 대기할 수 있다. 이 때, 응용 프로그램에서 난수를 요청하면 마이크로프로세서는 요청된 난수를 생성하여 전송한 후 다시 대기상태로 전환된다. 이와 같은 방식으로 생성되어 응용 프로그램으로 전달된 난수는 인증 및 암/복호에 활용될 수 있다.When the power is supplied, the microprocessor can initialize the random number generator using the internal state (state information) stored in the internal memory, and wait while continuously updating the internal state of the random number generator in the standby state. At this time, when the application requests a random number, the microprocessor generates the requested random number, transmits the random number, and then returns to the standby state. Random numbers generated in this way and transferred to the application program can be used for authentication and encryption / decryption.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.
도 3은 본 발명의 일실시예에 따른 난수 발생기를 나타낸 블록도이다.3 is a block diagram illustrating a random number generator according to an embodiment of the present invention.
도 3을 참조하면, 본 발명의 일실시예에 따른 난수 발생기는 외부 전원(301), 전원 스위칭 회로(302), 배터리(303), 하드웨어 잡음원(304), 저전력 마이크로프로세서(305) 및 RTC(Real Time Clock; 306)를 포함한다.3, a random number generator according to an embodiment of the present invention includes an
이 때, 난수 발생기는 난수 발생 알고리즘부(307) 및 초기값 제공부(308)를 더 포함할 수 있고, 실시예에 따라 난수 발생 알고리즘부(307) 및 초기값 제공부(308)는 저전력 마이크로프로세서(305) 내부에 구비될 수도 있다. 예를 들어, 난수 발생 알고리즘부(307)는 저전력 마이크로프로세서(305)의 내부 메모리에 저장되어 있을 수 있고, 난수를 생성하고 시드(내부 상태)를 업데이트하며 응용 프로그램 요청시 난수를 전달하는 기능까지 수행할 수 있다. 이 때, 난수 발생 알고리즘은 SHA와 같이 메시지를 압축하는 알고리즘을 소프트웨어적으로 구현한 것일 수 있다.In this case, the random number generator may further include a random number
외부 전원(301)은 난수 발생기에 전원을 공급한다.The
배터리(303)는 외부 전원(301)이 공급되지 않는 경우 전원을 공급한다.The
전원 스위칭 회로(302)는 외부 전원(301) 및 배터리(303)에서 공급되는 전원의 전압 차이에 기반하여 외부 전원(301) 및 배터리(303) 중 어느 하나가 선택되도록 공급 전원 전환 기능을 수행한다.The power
하드웨어 잡음원(304)은 링 오실레이터 또는 열잡음 다이오드와 같은 잡음원으로 사용된다.The
저전력 마이크로프로세서(305)는 하드웨어 잡음원(304)을 보정하고, 난수 발생 알고리즘부(307)로부터 제공된 난수 발생 알고리즘을 실행시켜서 난수 시드(seed; 내부 상태)를 업데이트하며 응용 프로그램에 생성된 난수를 전달한다.The
RTC(306)는 난수 발생 알고리즘의 외부 입력 요소로 사용되는 시간값을 제공한다.The
난수 발생 알고리즘부(307)는 이전 시점의 시드(내부 상태)와 하드웨어 잡음원(304) 및 RTC(306)를 이용하여 난수를 생성하는 알고리즘을 제공한다.The random number
초기값 제공부(308)는 난수 발생기의 초기 시드(초기 내부 상태)를 제공한다.The initial
외부 전원(301)은 본 발명의 난수 발생기가 동작하기 위하여 필요한 전원을 공급한다. 배터리(303)는 외부 전원(301)이 공급되지 않는 경우 저전력 마이크로프로세서(305), RTC(306) 및 하드웨어 잡음원(304) 등이 동작하기 위하여 필요한 전원을 공급한다.The
본 발명에 따른 난수 발생기는 이와 같이 외부 전원이 공급되는 경우뿐만 아니라 외부 전원이 공급되지 않는 경우에도 동작이 가능하다. 이 때, 전원 스위칭 회로(302)는 외부 전원(301)과 배터리(303)의 전압 차이를 판단하여 난수 발생기에서 사용될 전원을 선택하여 공급한다.The random number generator according to the present invention can operate not only when external power is supplied but also when external power is not supplied. At this time, the power
하드웨어 잡음원(304)은 링 오실레이터 또는 열잡음 다이오드와 같은 외부 잡음원으로써, 난수 발생 알고리즘 실행시 필요한 특정 길이의 잡음원 데이터를 제공한다. 이 때, 하드웨어 잡음원(304)의 잡음 특성을 개선하기 위한 별도의 보정 알고리즘이 사용될 수 있다. 하드웨어 잡음원(304)과 함께 RTC(306)는 저전력 마이크로프로세서(305)의 제어에 의하여 난수 발생 알고리즘의 입력 엔트로피 소스로 사용되며 응용 프로그램 필요시 시스템의 시간 값을 제공한다.The
저전력 프로세서(305)는 전원이 공급되지 않는 경우 내부 메모리 영역에 저장되어 있는 난수 발생기 시드(내부 상태)를 읽고, 이전 시점의 난수 발생기 시드와 현재 시점에서 수집된 하드웨어 잡음원 데이터 및 RTC를 이용하여 확인된 시간값을 읽어서 난수 발생 알고리즘을 실행한다.The
외부 전원이 공급되는 경우, 저전력 마이크로프로세서(305)는 이전 시점의 난수 발생기 시드(내부 상태)를 이용하여 난수 발생기를 초기화하고 응용 프로그램 요청시 필요한 난수를 제공한다. 요청된 난수를 제공한 후, 저전력 마이크로프로세서(305)는 시스템 대기상태에서 지속적으로 난수 발생 알고리즘 실행을 위하여 난수 발생기 내부 상태를 업데이트할 수 있다.When the external power is supplied, the
이 때, 난수 발생 알고리즘은 SHA(Secure Hashing Algorithm)과 같이 메시지를 압축하는 함수를 이용하여 수행되는 알고리즘일 수 있고, 난수 발생기 내부 상태의 초기값과 하드웨어 잡음원(304) 및 RTC(306)로부터 제공된 난수 발생 시점의 시간값을 이용하여 난수를 생성하고 내부 상태(시드)를 업데이트할 수 있다.In this case, the random number generation algorithm may be an algorithm that is performed using a function of compressing a message, such as a SHA (Secure Hashing Algorithm), and may include an initial value of a random number generator internal state and an initial value of a random noise generator provided from the
저전력 마이크로프로세서(305)는 외부 전원이 공급되지 않는 경우 내부 메모리 영역에 저장되어 있는 내부 상태(시드)를 읽고, 이전 시점의 난수 발생기 내부 상태와 현재 시점에서 수집된 하드웨어 잡음원 데이터 및 시간값을 읽어 난수 발생 알고리즘을 실행한다. 외부 전원(301)이 공급되는 경우 본 발명의 난수 발생기는 이전 시점의 난수 발생기 내부 상태를 이용하여 난수 발생기를 초기화한 후 응용 프로그램 요청 시 필요한 난수를 제공한다. 또한, 요청된 난수를 제공한 후 시스템 대기상태에서 지속적으로 난수 발생 알고리즘 실행을 위하여 내부 상태를 업데이트한다.When the external power is not supplied, the low-
즉, 저전력 마이크로프로세서(305)는 외부 전원(301)을 이용하여 제1 방식으로 난수 발생을 위한 내부 상태를 업데이트하고, 배터리(303)에서 공급되는 전원을 이용하여 제1 방식과 상이한 제2 방식으로 내부 상태를 업데이트한다.
That is, the low-
도 4는 본 발명의 일실시예에 따른 저전력 마이크로프로세서를 이용한 난수 발생 방법을 나타낸 동작 흐름도이다.4 is a flowchart illustrating a random number generating method using a low power microprocessor according to an embodiment of the present invention.
도 4를 참조하면, 본 발명의 일실시예에 따른 난수 발생 방법은 난수 발생기의 시스템 초기화에 필요한 동작을 수행한다(S410).Referring to FIG. 4, a random number generating method according to an embodiment of the present invention performs operations necessary for system initialization of a random number generator (S410).
이 때, 단계(S410)는 시스템을 사용하기 위하여 필요한 메모리 자원 및 기타 주요 장치들의 초기화를 수행할 수 있다.At this time, step S410 may perform initialization of memory resources and other major devices necessary for using the system.
또한, 본 발명의 일실시예에 따른 난수 발생 방법은 난수 발생기에 외부 전원이 공급되는지 여부를 판단한다(S420).In addition, the random number generating method according to an embodiment of the present invention determines whether external power is supplied to the random number generator (S420).
이 때, 단계(S420)는 외부 전원과 배터리 전원 레벨을 비교하여 수행될 수 있다.At this time, step S420 may be performed by comparing the external power source and the battery power level.
단계(S420)의 판단 결과, 난수 발생기에 외부 전원이 공급되는 것으로 판단되는 경우 본 발명의 일실시예에 따른 난수 발생 방법은 제1 방식으로 난수 발생기의 내부 상태를 업데이트한다(S430).If it is determined in step S420 that external power is supplied to the random number generator, the random number generating method according to an embodiment of the present invention updates the internal state of the random number generator in the first method (S430).
단계(S420)의 판단 결과, 난수 발생기에 외부 전원이 공급되는 것으로 판단되지 아니하면 본 발명의 일실시예에 따른 난수 발생 방법은 제2 방식으로 난수 발생기의 내부 상태를 업데이트한다(S440).If it is determined in step S420 that external power is not supplied to the random number generator, the random number generating method according to the embodiment of the present invention updates the internal state of the random number generator in the second method (S440).
이 때, 제2 방식은 제1 방식과 상이한 방식이다.At this time, the second scheme is different from the first scheme.
이 때, 단계(S440)는 배터리에서 제공되는 전력을 이용하여, 타이머 이벤트 발생 여부 및 상기 난수 발생기의 내부 상태의 기설정된 조건 만족 여부 중 하나 이상을 고려하여 난수 발생기의 내부 상태를 업데이트할 수 있다.At this time, the internal state of the random number generator may be updated in consideration of at least one of whether or not a timer event has occurred and whether the internal state of the random number generator satisfies predetermined conditions by using the power provided by the battery .
이 때, 기설정된 조건은 내부 상태의 기설정된 비트가 기설정된 값으로 설정되어 있는지 여부일 수 있다.At this time, the predetermined condition may be whether or not the predetermined bit of the internal state is set to a predetermined value.
이 때, 단계(S430)는 대기 상태에서 지속적으로 난수를 생성하고 상기 내부 상태를 업데이트하며, 응용 프로그램에서 난수를 요청하면 요청된 난수를 생성하여 제공한 후, 다시 상기 대기 상태로 돌아가는 것일 수 있다.At this time, in step S430, the random number is continuously generated in the waiting state, the internal state is updated, and when the random number is requested by the application program, the requested random number may be generated and provided and then returned to the standby state .
이 때, 내부 상태는 이전 내부 상태, 외부의 하드웨어 잡음원을 이용하여 생성된 잡음원 데이터 및 RTC의 시간값을 이용하여 난수를 생성함으로써 업데이트될 수 있다.At this time, the internal state can be updated by generating a random number using the previous internal state, the noise source data generated using an external hardware noise source, and the time value of the RTC.
이 때, 잡음원 데이터는 난수 특성을 개선하기 위해 기설정된 보정 알고리즘에 의해 보정된 것일 수 있다.
In this case, the noise source data may be corrected by a predetermined correction algorithm to improve the random number characteristic.
도 5는 도 4에 도시된 제1 방식으로 내부 상태를 업데이트하는 단계의 일 예를 나타낸 동작 흐름도이다.5 is an operational flowchart showing an example of a step of updating the internal state in the first scheme shown in FIG.
도 5를 참조하면, 제1 방식으로 내부 상태를 업데이트하는 단계는 먼저 난수 발생기를 초기화한다(S510).Referring to FIG. 5, updating the internal state in the first method first initializes the random number generator (S510).
제1 방식으로 내부 상태를 업데이트하는 단계는 난수 발생기 초기화 후, 대기 상태에서 지속적으로 난수 생성 및 난수 내부 상태(시드)를 업데이트한다(S520).The step of updating the internal state in the first method continuously updates the random number generation and the random number internal state (seed) in the standby state after initialization of the random number generator (S520).
또한, 제1 방식으로 내부 상태를 업데이트하는 단계는 대기 상태 동작 중 응용 프로그램에서 특정 길이의 난수를 요청하는지 여부를 판단한다(S530).In addition, the step of updating the internal state in the first method determines whether the application requests a random number of a certain length during the standby state operation (S530).
단계(S530)의 판단 결과, 특정 길이의 난수가 요청된 것으로 판단되면 제1 방식으로 내부 상태를 업데이트하는 단계는 요청된 난수를 생성하고 난수 시드(내부 상태)를 업데이트한다(S540).If it is determined in step S530 that the random number of a specific length is requested, the step of updating the internal state in the first method generates the requested random number and updates the random number seed (internal state) in step S540.
이후, 생성된 난수는 응용 프로그램으로 제공되고(S550), 다시 단계(S520)에서 난수 생성 및 시드 업데이트가 지속적으로 수행된다.
Thereafter, the generated random number is provided to the application program (S550), and random number generation and seed updating are continuously performed again in step S520.
도 6은 도 4에 도시된 제2 방식으로 내부 상태를 업데이트하는 단계의 일 예를 나타낸 동작 흐름도이다.FIG. 6 is an operation flowchart showing an example of a step of updating the internal state in the second scheme shown in FIG.
도 6을 참조하면, 외부 전원이 공급되지 아니하여 제2 방식으로 내부 상태를 업데이트하는 단계는 먼저 타이머와 난수 발생기의 초기화 동작을 수행한다(S610).Referring to FIG. 6, in the step of updating the internal state in the second method after the external power is not supplied, the initialization operation of the timer and the random number generator is performed (S610).
타이머와 난수 발생기 초기화 후, 제2 방식으로 내부 상태를 업데이트하는 단계는 타이머 이벤트(인터럽트)의 발생을 대기한다(S620).After initializing the timer and the random number generator, updating the internal state in the second method waits for the occurrence of a timer event (interrupt) (S620).
타이머 이벤트(인터럽트)가 발생하지 않으면 단계(S620)는 유지된다.If the timer event (interrupt) does not occur, step S620 is maintained.
타이머 이벤트(인터럽트)가 발생하면, 제2 방식으로 내부 상태를 업데이트하는 단계는 이전 시점의 난수 발생기 내부 상태(시드)의 특정 비트를 확인하여 기설정된 비트 조건을 만족하는지 여부를 확인한다(S630).When a timer event (interrupt) occurs, the step of updating the internal state in the second scheme checks a specific bit of the internal state (seed) of the random number generator at the previous time and confirms whether or not the preset bit condition is satisfied (S630) .
예를 들어, 단계(S630)는 난수 발생기 시드의 최하위 비트가 기설정된 조건을 만족하는지 여부를 확인할 수 있다.For example, step S630 may check whether the least significant bit of the random number generator seed meets predetermined conditions.
단계(S630)의 판단 결과, 기설정된 비트 조건을 만족하면 난수가 생성되고 난수 발생기의 내부 상태가 업데이트된다(S640).If it is determined in step S630 that the predetermined bit condition is satisfied, a random number is generated and the internal state of the random number generator is updated (S640).
난수 발생기 내부 상태 업데이트 후 저전력 마이크로프로세서는 다음 이벤트 발생 전까지 대기 상태에서 대기할 수 있다.After updating the internal state of the random number generator, the low power microprocessor can wait in the wait state until the next event occurs.
단계(S630)의 판단 결과, 기설정된 비트 조건이 만족되지 않으면 저전력 마이크로프로세서는 대기 상태에서 대기할 수 있다.
As a result of the determination in step S630, if the predetermined bit condition is not satisfied, the low power microprocessor can wait in the standby state.
도 7은 내부 상태 업데이트의 일 예를 나타낸 동작 흐름도이다.7 is an operational flowchart showing an example of the internal state update.
도 5 또는 도 6에 도시된 난수 생성 및 내부 상태 업데이트는 하드웨어 잡음원 등의 엔트로피 소스들을 이용하여 저전력 마이크로프로세서에서 수행된다.The random number generation and internal state update shown in FIG. 5 or 6 is performed in a low power microprocessor using entropy sources such as a hardware noise source.
도 7을 참조하면, 이전 시점의 난수 발생기 내부 상태(Stateold)가 수신된다(S701).Referring to FIG. 7, the random number generator internal state at the previous time point (State old ) is received (S701).
또한, RTC 시간값(r)이 수신되고(S702), 하드웨어 잡음원으로부터 생성(S703)된 하드웨어 잡음원이 보정을 통하여 생성된 보정된 하드웨어 잡음원(e)이 수신된다(S704).In addition, the RTC time value r is received (S702), and the corrected hardware noise source e generated by the correction of the hardware noise source generated from the hardware noise source (S703) is received (S704).
저전력 마이크로프로세서는 이전 시점의 난수 발생기 내부 상태(시드; Stateold), RTC 시간값(r) 및 보정된 하드웨어 잡음원(e)을 입력으로 하여 하기 수학식 1과 같은 프로세스를 수행한다(S705).Low-power microprocessor, a random number generator internal state of the previous time point; performs a process such as the equation (1) below with the (seed State old), RTC time value (r) and the corrected hardware noise source (e) to the input (S705).
[수학식 1] [Equation 1]
Statenew = RNG( Stateold || r || e )State new = RNG (State old || r || e)
상기 수학식 1에서 Statenew는 새로운 내부 상태를 나타내고, RNG()는 난수 발생 알고리즘을 나타낸다.In Equation (1), State new represents a new internal state, and RNG () represents a random number generation algorithm.
난수 발생 알고리즘 실행 후, 저전력 마이크로프로세서는 난수 출력과 함께 시드(내부 상태)를 갱신한다(S706).After executing the random number generation algorithm, the low power microprocessor updates the seed (internal state) together with the random number output (S706).
갱신된 시드는 저전력 마이크로프로세서의 내부 특정 메모리 영역에 저장된다(S707).The updated seed is stored in an internal specific memory area of the low power microprocessor (S707).
저장된 갱신 시드는 다음 난수 발생 알고리즘 실행시 시드로 사용된다.
The stored update seed is used as a seed when executing the next random number generation algorithm.
이상에서와 같이 본 발명에 따른 저전력 마이크로프로세서를 이용한 난수 발생 방법 및 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, the method and apparatus for generating a random number using a low-power microprocessor according to the present invention are not limited to the configuration and method of the embodiments described above, but the embodiments may be modified in various ways All or some of the embodiments may be selectively combined.
301: 외부 전원
302: 전원 스위칭 회로
303: 배터리
304: 하드웨어 잡음원
305: 저전력 마이크로프로세서
306: RTC
307: 난수 발생 알고리즘부
308: 초기값 제공부301: External power source
302: Power supply switching circuit
303: battery
304: Hardware noise source
305: Low Power Microprocessor
306: RTC
307: Random number generation algorithm unit
308: Initial Value Offering
Claims (13)
상기 외부 전원이 공급되는 것으로 판단되는 경우 상기 저전력프로세서가 제1 방식으로 상기 난수 발생기의 내부 상태를 업데이트하는 단계; 및
상기 외부 전원이 공급되는 것으로 판단되지 않는 경우, 상기 저전력프로세서가 상기 제1 방식과 상이한 제2 방식으로 상기 난수 발생기의 내부 상태를 업데이트하는 단계
를 포함하는 것을 특징으로 하는 난수 발생 방법.Determining whether the low power microprocessor is supplied with external power to the random number generator;
Updating, by the low power processor, an internal state of the random number generator in a first manner when it is determined that the external power is supplied; And
If it is not determined that the external power is supplied, updating, by the low power processor, an internal state of the random number generator in a second manner different from the first scheme
Random number generation method comprising a.
상기 제2 방식으로 상기 난수 발생기의 내부 상태를 업데이트하는 단계는
배터리에서 제공되는 전력을 이용하여, 타이머 이벤트 발생 여부 및 상기 난수 발생기의 내부 상태의 기설정된 조건 만족 여부 중 하나 이상을 고려하여 상기 난수 발생기의 내부 상태를 업데이트하는 것을 특징으로 하는 난수 발생 방법.The method according to claim 1,
Wherein updating the internal state of the random number generator in the second manner comprises:
Wherein the internal state of the random number generator is updated in consideration of at least one of whether a timer event has occurred and whether a predetermined condition of the internal state of the random number generator is satisfied by using power provided from the battery.
상기 기설정된 조건은
상기 내부 상태의 기설정된 비트가 기설정된 값으로 설정되어 있는지 여부인 것을 특징으로 하는 난수 발생 방법.The method according to claim 2,
The predetermined condition is
And whether a predetermined bit of the internal state is set to a predetermined value.
상기 제1 방식으로 상기 난수 발생기의 내부 상태를 업데이트하는 단계는
대기 상태에서 지속적으로 난수를 생성하고 상기 내부 상태를 업데이트하며, 응용 프로그램에서 난수를 요청하면 요청된 난수를 생성하여 제공한 후, 다시 상기 대기 상태로 돌아가는 것을 특징으로 하는 난수 발생 방법.The method according to claim 2,
Wherein updating the internal state of the random number generator in the first manner comprises:
Wherein the random number generating unit continuously generates a random number in a waiting state, updates the internal state, and generates a random number by requesting a random number from an application program, and then returns to the standby state.
상기 내부 상태는
이전 내부 상태, 외부의 하드웨어 잡음원을 이용하여 생성된 잡음원 데이터 및 RTC(Real Time Clock)의 시간값을 이용하여 난수를 생성함으로써 업데이트되는 것을 특징으로 하는 난수 발생 방법.The method according to claim 3,
The internal state
Wherein the random number generator is updated by generating a random number using a previous internal state, noise source data generated using an external hardware noise source, and a time value of an RTC (Real Time Clock).
상기 잡음원 데이터는 난수 특성을 개선하기 위해 기설정된 보정 알고리즘에 의해 보정된 것을 특징으로 하는 난수 발생 방법.The method according to claim 5,
Wherein the noise source data is corrected by a predetermined correction algorithm to improve a random number characteristic.
외부 전원 및 상기 배터리에서 공급되는 전원의 전압 차이에 기반하여 상기 외부 전원 및 상기 배터리에서 공급되는 전원 중 하나를 선택하는 전원 스위칭 회로; 및
상기 외부 전원을 이용하여 제1 방식으로 난수 발생을 위한 내부 상태를 업데이트하고, 상기 배터리에서 공급되는 전원을 이용하여 상기 제1 방식과 상이한 제2 방식으로 상기 내부 상태를 업데이트하는 저전력 마이크로프로세서를 포함하는 것을 특징으로 하는 난수 발생기.A battery for supplying power when external power is not supplied;
A power switching circuit for selecting one of the external power and the power supplied from the battery based on a voltage difference between the external power and the power supplied from the battery; And
A low power microprocessor that updates the internal state for random number generation in a first manner using the external power source, and updates the internal state in a second manner different from the first manner by using power supplied from the battery; Random number generator, characterized in that.
상기 난수 발생기는
상기 난수 발생에 사용되는 잡음원 데이터를 생성하기 위한 하드웨어 잡음원; 및
상기 난수 발생에 사용되는 시간값을 생성하기 위한 RTC(Real Time Clock)를 더 포함하는 것을 특징으로 하는 난수 발생기.The method of claim 7,
The random number generator
A hardware noise source for generating noise source data used for generating the random number; And
And a RTC (Real Time Clock) for generating a time value used for generating the random number.
상기 제2 방식은
상기 배터리에서 제공되는 전력을 이용하여, 타이머 이벤트 발생 여부 및 상기 난수 발생기의 내부 상태의 기설정된 조건 만족 여부 중 하나 이상을 고려하여 상기 내부 상태를 업데이트하는 것을 특징으로 하는 난수 발생기.The method according to claim 8,
The second scheme
Wherein the internal state is updated in consideration of at least one of whether a timer event has occurred and whether or not the internal state of the random number generator satisfies predetermined conditions by using power provided from the battery.
상기 기설정된 조건은
상기 내부 상태의 기설정된 비트가 기설정된 값으로 설정되어 있는지 여부인 것을 특징으로 하는 난수 발생기.The method of claim 9,
The predetermined condition is
And whether or not a predetermined bit of the internal state is set to a predetermined value.
상기 제1 방식은
대기 상태에서 지속적으로 난수를 생성하고 상기 내부 상태를 업데이트하며, 응용 프로그램에서 난수를 요청하면 요청된 난수를 생성하여 제공한 후 다시 상기 대기 상태로 돌아가는 것을 특징으로 하는 난수 발생기.The method of claim 9,
The first scheme
Generates a random number continuously in a waiting state, updates the internal state, and generates a requested random number when an application requests a random number, and then returns to the standby state after generating the random number.
상기 내부 상태는
이전 내부 상태, 상기 하드웨어 잡음원을 이용하여 생성된 잡음원 데이터 및 상기 RTC의 시간값을 이용하여 난수를 생성함으로써 업데이트되는 것을 특징으로 하는 난수 발생기.The method of claim 9,
The internal state
Wherein the random number generator is updated by generating a random number using the previous internal state, the noise source data generated using the hardware noise source, and the time value of the RTC.
상기 잡음원 데이터는 난수 특성을 개선하기 위한 보정 알고리즘에 의해 보정된 것을 특징으로 하는 난수 발생기.The method of claim 12,
Wherein the noise source data is corrected by a correction algorithm for improving a random number characteristic.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/896,390 US9032005B2 (en) | 2012-05-22 | 2013-05-17 | Random number generation method and apparatus using low-power microprocessor |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20120053990 | 2012-05-22 | ||
KR1020120053990 | 2012-05-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130130622A true KR20130130622A (en) | 2013-12-02 |
KR101438010B1 KR101438010B1 (en) | 2014-09-05 |
Family
ID=49980255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130016983A KR101438010B1 (en) | 2012-05-22 | 2013-02-18 | Method of ramdom number generation using low power microprocessor and apparatus for the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101438010B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180005900A (en) * | 2016-07-07 | 2018-01-17 | 국민대학교산학협력단 | Random number generator for supporting multi entropy pool |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100829793B1 (en) * | 2006-08-14 | 2008-05-16 | 삼성전자주식회사 | Random signal generator and Random number generator including the same |
US20080263117A1 (en) * | 2007-04-23 | 2008-10-23 | Gregory Gordon Rose | Initial seed management for pseudorandom number generator |
US8189778B2 (en) * | 2008-07-07 | 2012-05-29 | General Instrument Corporation | Adaptive generation of a pseudo random number generator seed |
JP4405569B1 (en) * | 2008-07-23 | 2010-01-27 | 株式会社東芝 | Electronic device and communication control method |
-
2013
- 2013-02-18 KR KR1020130016983A patent/KR101438010B1/en active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180005900A (en) * | 2016-07-07 | 2018-01-17 | 국민대학교산학협력단 | Random number generator for supporting multi entropy pool |
KR101872329B1 (en) * | 2016-07-07 | 2018-06-28 | 국민대학교산학협력단 | Random number generator for supporting multi entropy pool |
Also Published As
Publication number | Publication date |
---|---|
KR101438010B1 (en) | 2014-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10715335B2 (en) | Methods and apparatus to provide for efficient and secure software updates | |
US9032005B2 (en) | Random number generation method and apparatus using low-power microprocessor | |
Hu et al. | Toward trusted wireless sensor networks | |
EP2695052B1 (en) | Random number generating system based on memory start-up noise | |
Hu et al. | secfleck: A public key technology platform for wireless sensor networks | |
US10305892B2 (en) | Device system for performing group authentication and operating method thereof | |
CN110008689A (en) | A kind of BMC starting method, apparatus, equipment and computer readable storage medium | |
US9384682B2 (en) | Electronic circuit, electronic apparatus, and authentication system | |
KR20190014444A (en) | Security device, electronic device including the same and method of operating electronic device | |
KR20180046593A (en) | Internet of things device firmware update system for firmware signature verification and security key management | |
US20170212701A1 (en) | Device, system and method for storing data | |
CN108898026B (en) | Data encryption method and device | |
KR101438010B1 (en) | Method of ramdom number generation using low power microprocessor and apparatus for the same | |
US11190351B2 (en) | Key generation method and acquisition method, private key update method, chip, and server | |
CN109428712B (en) | Data encryption and decryption method and data encryption and decryption system | |
CN109426727B (en) | Data encryption method, data decryption method, data encryption system and data decryption system | |
Scott | On TLS for the Internet of Things, in a Post Quantum world | |
Salas | A secure framework for OTA smart device ecosystems using ECC encryption and biometrics | |
Aitchison et al. | On the integration of physically unclonable functions into ARM trustzone security technology | |
EP3771978B1 (en) | Information processing apparatus | |
US10354094B2 (en) | Systems and methods for cache memory authentication | |
US20150281343A1 (en) | Information processing device, information processing system, and processing method | |
US20210194705A1 (en) | Certificate generation method | |
US7483537B2 (en) | Selecting cached RSA keys in response to RSA key requests | |
CN117610089B (en) | Encryption method, system, equipment and storage medium of multi-core heterogeneous chip |
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 | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170703 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180625 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190701 Year of fee payment: 6 |