KR102269335B1 - Apparatus and method for verifying suitability of code algorithm implementation in real time operating system - Google Patents
Apparatus and method for verifying suitability of code algorithm implementation in real time operating system Download PDFInfo
- Publication number
- KR102269335B1 KR102269335B1 KR1020190129986A KR20190129986A KR102269335B1 KR 102269335 B1 KR102269335 B1 KR 102269335B1 KR 1020190129986 A KR1020190129986 A KR 1020190129986A KR 20190129986 A KR20190129986 A KR 20190129986A KR 102269335 B1 KR102269335 B1 KR 102269335B1
- Authority
- KR
- South Korea
- Prior art keywords
- encryption algorithm
- verification
- operating system
- suitability
- implementation
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/26—Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명의 암호 알고리즘 구현 적합성 검증 장치는 암호 알고리즘이 구현된 소스 코드를 입력받는 입력부; 실시간 운영체제 환경에서 동작하는 임베디드 기기와의 통신 인터페이스를 제공하는 통신 인터페이스부; 및 기 설정된 제어 프로그램에 의거하여 상기 입력부 및 통신 인터페이스부를 제어하는 제어부를 포함하되, 상기 제어부는 상기 입력된 소스 코드에 의거하여 해당 암호 알고리즘에 대한 사전 검증을 실시한 후, 오류가 없는 것으로 결정된 암호 알고리즘에 대한 펌웨어를 생성하여 상기 통신 인터페이스부를 통해 상기 임베디드 기기로 업로드할 수 있다. 따라서, 본 발명은 실시간 운영체제 환경에서의 암호 알고리즘 구현 적합성 검증시, 프로세스 및 메모리 사용에 제약이 많은 실시간 운영체제 환경에서의 처리를 최소화함으로써 암호 알고리즘 구현 적합성 검증 효율을 향상시킬 수 있는 장점이 있다.The cryptographic algorithm implementation suitability verification apparatus of the present invention includes: an input unit for receiving a source code in which the cryptographic algorithm is implemented; a communication interface unit providing a communication interface with an embedded device operating in a real-time operating system environment; and a control unit for controlling the input unit and the communication interface unit based on a preset control program, wherein the control unit performs preliminary verification on the corresponding encryption algorithm based on the input source code, and then determines that there is no error. It is possible to generate firmware for the , and upload it to the embedded device through the communication interface unit. Accordingly, the present invention has the advantage of improving the encryption algorithm implementation suitability verification efficiency by minimizing processing in the real-time operating system environment, which has many restrictions on process and memory usage, when verifying the implementation suitability of the encryption algorithm in the real-time operating system environment.
Description
본 발명은 암호 알고리즘 구현 적합성 검증(CAVP: Cryptographic Algorithm Validation Program) 장치에 관한 것으로서, 보다 상세하게는, 실시간 운영체제(Real Time Operating System, 이하, ‘ RTOS’라 칭함) 환경에서의 암호 알고리즘 구현 적합성을 검증하는 장치 및 그 방법에 관한 것이다.The present invention relates to a cryptographic algorithm implementation suitability verification (CAVP: Cryptographic Algorithm Validation Program) device, and more particularly, to a cryptographic algorithm implementation suitability in a Real Time Operating System (hereinafter, referred to as 'RTOS') environment. It relates to an apparatus and method for verifying.
암호 알고리즘 구현 적합성 검증(CAVP: Cryptographic Algorithm Validation Program)이란 암호모듈 검증제도(CMVP: Cryptographic Module Validation Program) 인증시 암호모듈을 대상으로 적합성을 검증하는 프로세스를 말하며, 임베디드(Embedded Device) 기기에 탑재된 펌웨어의 적합성을 검증하기 위해서 사용되어질 수 있다.Cryptographic Algorithm Validation Program (CAVP) refers to the process of verifying the suitability of the cryptographic module during the Cryptographic Module Validation Program (CMVP) authentication. It can be used to verify the compatibility of the firmware.
상기 임베디드 기기는 미리 정해진 특정 기능을 수행하는 장치로서, DVD 플레이어, MP3 플레이어, 디지털 카메라, TV, 냉장고, 세탁기와 같은 가전기기는 물론이고, 의료기기, 자동차, 항공기 및 우주선 등의 다양한 정보처리 기기가 포함될 수 있으며, 대응된 기능을 수행하기 위해, 해당 프로그램이 탑재된 프로세서(예컨대, 펌웨어)를 내장하고 있어야 한다. The embedded device is a device that performs a predetermined specific function, and includes not only home appliances such as DVD players, MP3 players, digital cameras, TVs, refrigerators and washing machines, but also various information processing devices such as medical devices, automobiles, aircraft, and spacecraft. may be included, and in order to perform a corresponding function, a processor (eg, firmware) in which the corresponding program is loaded must be built-in.
또한, 상기 임베디드 기기의 동작 안정화를 위해, 상기 임베디드 기기에 탑재된 펌웨어는 암호 모듈에 대한 암호화 적합성 검증(이하, ‘CAVP 테스트’라 칭함)을 실시하여야 한다. 이 때, 상기 CAVP 테스트는 응용프로그램(예컨대, 시뮬레이터)으로 작성된 테스트 프로그램 및 암호 모듈 시험기관에서 제공하는 테스트 벡터를 이용하며, 테스트 결과는 정해진 규격에 맞춰 상기 암호 모듈 시험기관으로 제출하여야 한다. In addition, in order to stabilize the operation of the embedded device, the firmware mounted on the embedded device should perform encryption conformance verification (hereinafter, referred to as 'CAVP test') for the encryption module. In this case, the CAVP test uses a test program written in an application program (eg, a simulator) and a test vector provided by a cryptographic module testing institution, and the test result must be submitted to the cryptographic module testing institution in accordance with a set standard.
그런데 임베디드 기기에서 사용하는 실시간 운영체제(RTOS)는 파일시스템이 존재하지 않고 작은 용량(예컨대, 약 4MB)의 메모리를 보유하며 단일 프로세스만 지원하는 특징이 있다. 따라서, 상기 임베디드 기기에 대한 CAVP 테스트를 위해서는, 상기 CAVP 테스트에 필요한 데이터를 소스코드로 작성하여 상기 임베디드 기기의 메모리상에 올려야 한다.However, a real-time operating system (RTOS) used in embedded devices has no file system, has a small capacity (eg, about 4 MB) of memory, and supports only a single process. Therefore, for the CAVP test on the embedded device, data necessary for the CAVP test should be written as source code and loaded on the memory of the embedded device.
도 1은 종래의 실시예에 따른 CAVP 테스트 방법에 대한 처리 절차를 예시한 도면이다. 도 1을 참조하면, 먼저, 단계 S10에서, 암호 알고리즘이 구현된 소스코드의 입력이 확인되면, 별도의 프로그램 가능한 장치(즉, PC(Personal Computer)) (10)는, 상기 입력된 소스코드와 OS(Operating System)을 함께 컴파일한 후 바이너리 파일(.bin) 형태의 펌웨어를 생성한다. 단계 S30에서는 PC(10)가 상기 펌웨어를 임베디드 기기(20)로 전달한다. 즉, PC(10)가 상기 펌웨어를 임베디드 기기(20)에 업로드(up-load)한다. 1 is a diagram illustrating a processing procedure for a CAVP test method according to a conventional embodiment. Referring to FIG. 1 , first, in step S10, when the input of the source code in which the encryption algorithm is implemented is confirmed, a separate programmable device (that is, a personal computer (PC)) 10, the input source code and After compiling the OS (Operating System) together, the firmware in the form of a binary file (.bin) is created. In step S30 , the PC 10 transfers the firmware to the embedded
그러면 단계 S40에서는, 임베디드 기기(20)가 상기 펌웨어를 저장한다. 즉, 임베디드 기기(20)는 상기 펌웨어를 ROM(Read Only Memory) 영역에 저장한다. 단계 S50에서는, 임베디드 기기(20)가 상기 펌웨어를 이용하여 임베디드 CAVP 테스트를 실시한다. 이를 위해, 임베디드 기기(20)는 상기 펌웨어를 실제 물리 메모리(RAM: Random Access Memory)에 로딩(loading)한다. 단계 S60에서는, 임베디드 기기(20)가 상기 테스트 결과를 분석하여 오류발생 여부를 결정한다. 즉, CAVP 테스트 결과값이 틀리거나 프로그램상 버그가 발견된 경우 임베디드 기기(20)는 오류가 발생한 것으로 판단하고, PC(10)측으로 오류발생알림 신호를 전달한다.Then, in step S40, the embedded
그러면, PC(10)는, 단계 S70에서 소스코드를 수정하고, 단계 S20 및 단계 S30를 통해 새롭게 생성된 펌웨어를 임베디드 기기(20)로 전달한다. Then, the PC 10 modifies the source code in step S70 and transmits the newly generated firmware to the embedded
임베디드 기기(20)는, 단계 S40 내지 단계 S60을 통해, 펌웨어를 저장한 후 임베디드 CAVP 테스트를 실시하여 해당 펌웨어의 오류 발생 여부를 결정한다. The embedded
그리고, 단계 S60에서 해당 펌웨어에 오류가 발생하지 않은 것으로 판단될 때까지, 단계 S70과, 단계 S20 이후의 과정을 반복 수행한다. Then, until it is determined in step S60 that an error has not occurred in the corresponding firmware, steps S70 and S20 and subsequent processes are repeatedly performed.
이러한 종래의 CAVP 테스트 방법은 단일 프로세스만 지원하는 RTOS의 특성상 메모리 할당 오류 또는 런타임 에러와 같은 오류가 발생할 경우 임베디드 기기(20)에서 디버깅(debugging)하기가 어려운 문제가 있다. 또한, 디버깅 후 소스코드의 수정이 필요할 때마다 PC(10)측에서 새롭게 컴파일된 펌웨어를 임베디드 기기(20)에서 전달받아 저장해야하는 번거로움이 있다. 이를 위해 종래에는 상기 단계 20 내지 단계 40을 반복 수행해야 했다. 그런데, 상기 단계 20 내지 단계 40는 그 소요시간이 길어서 이와 같이 소스코드의 수정이 필요할 때마다 반복 수행할 경우, CAVP 테스트 효율을 떨어뜨리는 요인이 된다.This conventional CAVP test method has a problem in that it is difficult to debug in the embedded
그리고, 임베디드 기기(20)는 파일 시스템이 없는 RTOS를 사용하기 때문에 종래의 방법으로 CAVP 테스트를 수행할 경우, 이를 위한 데이터(예건대, 테스트 벡터)가 변경될 때마다, 소스코드에 하드-코딩해야 하는 불편함이 있으며, CAVP 결과를 저장 후 추출하는 것이 불가능하여 원격 접속을 통한 외부 출력 후 저장 및 가공 과정을 수동으로 처리해야 하는 어려움이 있다.And, since the embedded
또한, 대부분의 임베디드 기기(20)가 작은 용량(예컨대, MB 단위)의 메모리를 보유하고 있기 때문에 큰 데이터를 수용할 수 없는 문제가 있다. In addition, since most embedded
따라서, 본 발명은 실시간 운영체제 환경에서의 암호 알고리즘 구현 적합성 검증시, 프로세스 및 메모리 사용에 제약이 많은 실시간 운영체제 환경에서의 처리를 최소화함으로써 암호 알고리즘 구현 적합성 검증 효율을 향상시킬 수 있는 장치 및 그 방법을 제공하고자 한다. Accordingly, the present invention provides an apparatus and method capable of improving cryptographic algorithm implementation conformity verification efficiency by minimizing processing in a real-time operating system environment, which has many restrictions on process and memory usage, when verifying cryptographic algorithm implementation suitability in a real-time operating system environment. would like to provide
또한, 본 발명은 실시간 운영체제 환경에서 동작되어질 암호 알고리즘에 대하여, 컴퓨터 장치에서 사전 검증을 실시한 후 업로드함으로써, 암호 알고리즘 구현 적합성 검증에 소요되는 시간을 단축할 수 있는 장치 및 방법을 제공하고자 한다. Another object of the present invention is to provide an apparatus and method capable of reducing the time required for verifying implementation suitability of an encryption algorithm by uploading the encryption algorithm to be operated in a real-time operating system environment after performing prior verification in a computer device.
또한, 본 발명은 실시간 운영체제 환경에서 도출된 검증 결과값을 컴퓨터 장치에서 처리될 수 있도록 함으로써, 상기 검증 결과값 추출을 위해 외부출력 후 저장 및 가공 과정을 수동으로 처리해야 하는 단점을 해소할 수 있는 장치 및 방법을 제공하고자 한다. In addition, the present invention allows the verification result value derived from the real-time operating system environment to be processed in the computer device, thereby solving the disadvantage of having to manually process the storage and processing process after external output to extract the verification result value. An apparatus and method are provided.
상기 목적을 달성하기 위해, 본 발명에서 제공하는 암호 알고리즘 구현 적합성 검증 장치는 암호 알고리즘이 구현된 소스 코드를 입력받는 데이터 입력부; 실시간 운영체제 환경에서 동작하는 임베디드 기기와의 통신 인터페이스를 제공하는 통신 인터페이스부; 및 기 설정된 제어 프로그램에 의거하여 상기 데이터 입력부 및 통신 인터페이스부를 제어하는 제어부를 포함하되, 상기 제어부는 상기 입력된 소스 코드에 의거하여 해당 암호 알고리즘에 대한 사전 검증을 실시한 후, 오류가 없는 것으로 결정된 암호 알고리즘에 대한 펌웨어를 생성하여 상기 통신 인터페이스부를 통해 상기 임베디드 기기로 업로드하는 것을 특징으로 한다. In order to achieve the above object, the cryptographic algorithm implementation suitability verification apparatus provided in the present invention is a data input unit for receiving the source code in which the cryptographic algorithm is implemented; a communication interface unit providing a communication interface with an embedded device operating in a real-time operating system environment; and a control unit for controlling the data input unit and the communication interface unit based on a preset control program, wherein the control unit performs preliminary verification on the corresponding encryption algorithm based on the input source code, and then determines that there is no error. It is characterized in that the firmware for the algorithm is generated and uploaded to the embedded device through the communication interface unit.
바람직하게는, 상기 제어부는 상기 암호 알고리즘 구현 적합성 검증을 위한 검증 프로그램을 생성하되, 일반 운영체제에서 동작하는 컴퓨터 장치용 검증 프로그램을 생성하여 상기 사전 검증을 실시하고, 상기 사전 검증 결과 오류가 없는 것으로 결정된 암호 알고리즘을 컴파일하되, 상기 컴퓨터 장치용 검증 프로그램 및 실시간 운영체제를 구현하기 위한 소스 코드와 함께 상기 임베디드 기기용 컴파일러로 컴파일하여 펌웨어를 생성할 수 있다. Preferably, the control unit generates a verification program for verifying the implementation suitability of the encryption algorithm, generates a verification program for a computer device operating in a general operating system, performs the prior verification, and determines that there is no error as a result of the prior verification The encryption algorithm may be compiled, but the firmware may be generated by compiling with the compiler for the embedded device together with the source code for implementing the verification program for the computer device and the real-time operating system.
바람직하게는, 상기 장치는 데이터를 표시하는 표시부를 더 포함하고, 상기 제어부는 상기 통신 인터페이스부를 통해 상기 임베디드 기기로부터 상기 펌웨어에 포함된 암호 알고리즘 구현 적합성 검증 결과 값을 전달받아 상기 표시부에 표시한 후, 상기 표시부의 내용을 스크랩하여 최종 결과파일을 생성하고 상기 최종 결과파일의 오류여부에 따라 상기 펌웨어에 포함된 암호 알고리즘의 정상 동작 여부를 결정할 수 있다. Preferably, the device further includes a display unit for displaying data, and the control unit receives the encryption algorithm implementation suitability verification result value included in the firmware from the embedded device through the communication interface unit and displays the result value on the display unit. , it is possible to generate a final result file by scraping the contents of the display unit, and determine whether an encryption algorithm included in the firmware operates normally according to whether the final result file is in error.
바람직하게는, 상기 제어부는 파일을 시리얼 프로토콜로 변환하는 프로토콜 변환 모듈을 더 포함하고, 상기 프로토콜 변환 모듈은 상기 입력부를 통해 상기 암호 알고리즘 구현 적합성을 검증하기 위한 신규 데이터 파일이 입력되면, 상기 신규 데이터 파일을 시리얼 프로토콜로 변환하여 상기 통신인터페이스부를 통해 상기 임베디드 기기로 전달할 수 있다. Preferably, the control unit further comprises a protocol conversion module for converting a file into a serial protocol, wherein the protocol conversion module receives a new data file for verifying implementation suitability of the encryption algorithm through the input unit, the new data The file may be converted into a serial protocol and transmitted to the embedded device through the communication interface unit.
또한, 상기 목적을 달성하기 위해, 본 발명에서 제공하는 실시간 운영체제 환경에서 암호 알고리즘 구현 적합성을 검증하는 방법은 암호 알고리즘이 구현된 소스코드의 입력에 응답하여 상기 암호 알고리즘 구현 적합성 검증을 위한 검증 프로그램을 생성하되, 일반 운영체제 환경에서 동작하는 컴퓨터 장치용 검증 프로그램을 생성하는 검증 프로그램 생성 단계; 상기 컴퓨터 장치용 검증 프로그램을 이용하여 상기 암호 알고리즘 구현 적합성에 대한 사전 검증을 실시하는 사전 검증 단계; 상기 사전 검증 결과 오류가 없는 것으로 결정된 암호 알고리즘에 대하여 대응된 펌웨어를 생성하고, 그 펌웨어를 실시간 운영체제 환경에서 동작하는 임베디드 기기로 업로드하는 업로드 단계; 및 상기 업로드된 펌웨어를 이용하여 상기 임베디드 기기에서 암호 알고리즘 구현 적합성 검증을 실시하는 임베디드 검증 단계를 포함하는 것을 특징으로 한다. In addition, in order to achieve the above object, the method for verifying the implementation suitability of the encryption algorithm in the real-time operating system environment provided by the present invention includes a verification program for verifying the implementation suitability of the encryption algorithm in response to the input of the source code in which the encryption algorithm is implemented. a verification program generating step of generating a verification program for a computer device operating in a general operating system environment; a pre-verification step of performing pre-verification on the suitability of implementation of the encryption algorithm by using the verification program for the computer device; an uploading step of generating firmware corresponding to the encryption algorithm determined to have no error as a result of the pre-verification, and uploading the firmware to an embedded device operating in a real-time operating system environment; and an embedded verification step of verifying cryptographic algorithm implementation suitability in the embedded device using the uploaded firmware.
바람직하게는, 상기 사전 검증 단계는 상기 암호 알고리즘의 정상동작 여부를 확인하기 위해 미리 생성된 테스트 데이터를 파싱하여 상기 암호 알고리즘의 파라미터를 검출하는 제1 파싱단계; 상기 검출된 파라미터를 상기 암호 알고리즘에 반영하여 제1 결과값을 도출하는 제1 결과값 도출단계; 및 상기 제1 결과값과 상기 테스트 데이터를 비교하여 상기 제1 결과값의 오류 여부를 결정하고 그 결과에 따라 상기 암호 알고리즘의 정상동작 여부를 확인하는 제1 확인단계를 포함할 수 있다. Preferably, the pre-verification step comprises: a first parsing step of parsing pre-generated test data to check whether the encryption algorithm operates normally to detect parameters of the encryption algorithm; a first result value deriving step of deriving a first result value by reflecting the detected parameter in the encryption algorithm; and a first checking step of comparing the first result value with the test data to determine whether the first result value is in error, and confirming whether the encryption algorithm operates normally according to the result.
바람직하게는, 상기 업로드 단계는 상기 오류가 없는 것으로 결정된 암호 알고리즘을 컴파일하되, 상기 컴퓨터 장치용 검증 프로그램 및 실시간 운영체제를 구현하기 위한 소스코드와 함께 상기 임베디드 기기용 컴파일러로 컴파일하여 펌웨어를 생성하는 펌웨어 생성단계를 포함할 수 있다. Preferably, the uploading step compiles the encryption algorithm determined to have no error, and compiles the encryption algorithm with the source code for implementing the verification program for the computer device and the real-time operating system with the compiler for the embedded device to generate the firmware. It may include a creation step.
바람직하게는, 상기 임베디드 검증 단계는 상기 펌웨어에 포함된 암호 알고리즘의 정상동작 여부를 확인하기 위해 미리 생성된 테스트 데이터를 파싱하여 상기 암호 알고리즘의 파라미터를 검출하는 제2 파싱단계; 상기 검출된 파라미터를 상기 암호 알고리즘에 반영하여 제2 결과값을 도출하는 제2 결과값 도출단계; 및 상기 제2 결과값과 상기 테스트 데이터를 비교하여 상기 제2 결과값의 오류 여부를 결정하고 그 결과에 따라 상기 암호 알고리즘의 정상동작 여부를 확인하는 제2 확인단계를 포함할 수 있다. Preferably, the embedded verification step comprises: a second parsing step of detecting parameters of the encryption algorithm by parsing pre-generated test data to check whether the encryption algorithm included in the firmware operates normally; a second result value deriving step of deriving a second result value by reflecting the detected parameter in the encryption algorithm; and a second checking step of comparing the second result value with the test data to determine whether the second result value is in error, and confirming whether the encryption algorithm operates normally according to the result.
바람직하게는, 상기 제2 확인 단계는 상기 제2 결과값을 상기 컴퓨터 장치의 화면에 출력하는 출력 단계; 및 상기 컴퓨터 장치의 화면에 출력된 상기 제2 결과값을 스크랩하여 최종결과 파일을 생성하는 최종결과파일 생성단계를 더 포함하고, 상기 최종결과파일의 오류여부에 따라 상기 펌웨어에 포함된 암호 알고리즘의 정상 동작 여부를 확인할 수 있다. Preferably, the second confirmation step comprises: an output step of outputting the second result value to the screen of the computer device; and a final result file generating step of generating a final result file by scraping the second result value output on the screen of the computer device, wherein the encryption algorithm included in the firmware is determined according to whether the final result file is in error. You can check whether it is operating normally.
바람직하게는, 상기 방법은 상기 사전 검증 단계 또는 상기 임베디드 검증 단계의 검증 결과, 상기 암호 알고리즘에 오류가 있는 것으로 확인된 경우 상기 암호 알고리즘이 구현된 소스코드를 수정하는 소스코드 수정단계를 더 포함할 수 있다. Preferably, the method further comprises a source code modification step of correcting the source code in which the encryption algorithm is implemented when it is confirmed that there is an error in the encryption algorithm as a result of the verification of the pre-verification step or the embedded verification step can
바람직하게는, 상기 방법은 상기 암호 알고리즘 구현 적합성을 검증하기 위한 신규 데이터 파일의 입력에 응답하여, 상기 컴퓨터 장치가 신규 데이터 파일을 시리얼 프로토콜로 변환한 후 상기 임베디드 기기로 전송하는 신규 데이터 전송단계; 및 상기 컴퓨터 장치가 상기 임베디드 기기로부터 상기 신규 데이터 파일이 반영된 검증 결과값을 전달받는 수신단계를 더 포함할 수 있다. Preferably, the method further comprises: in response to input of a new data file for verifying implementation suitability of the encryption algorithm, the computer device converts the new data file into a serial protocol and then transmits the new data file to the embedded device; and a receiving step of receiving, by the computer device, a verification result value reflecting the new data file from the embedded device.
본 발명의 장치 및 그 방법은 실시간 운영체제 환경에서의 암호 알고리즘 구현 적합성 검증시, 프로세스 및 메모리 사용에 제약이 많은 실시간 운영체제 환경에서의 처리를 최소화함으로써 암호 알고리즘 구현 적합성 검증 효율을 향상시킬 수 있는 장점이 있다. 또한, 본 발명은 실시간 운영체제 환경에서 동작되어질 암호 알고리즘에 대하여, 컴퓨터 장치에서 사전 검증을 실시한 후 업로드함으로써, 암호 알고리즘 구현 적합성 검증에 소요되는 시간을 단축할 수 있는 장점이 있다. 또한, 본 발명은 실시간 운영체제 환경에서 도출된 검증 결과값을 컴퓨터 장치에서 처리될 수 있도록 함으로써, 상기 검증 결과값 추출을 위해 외부출력 후 저장 및 가공 과정을 수동으로 처리해야 하는 단점을 해소할 수 있다. The apparatus and method of the present invention have the advantage of improving encryption algorithm implementation conformity verification efficiency by minimizing processing in a real-time operating system environment with many restrictions on process and memory usage when verifying encryption algorithm implementation suitability in a real-time operating system environment. have. In addition, the present invention has an advantage in that it is possible to shorten the time required to verify the implementation suitability of an encryption algorithm by uploading the encryption algorithm to be operated in a real-time operating system environment after performing prior verification in the computer device. In addition, the present invention allows the verification result value derived from the real-time operating system environment to be processed in the computer device, thereby solving the disadvantage of having to manually process the storage and processing process after external output to extract the verification result value. .
도 1은 종래의 실시예에 따른 암호 알고리즘 구현 적합성 검증 방법에 대한 처리 절차를 예시한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 암호 알고리즘 구현 적합성 검증 장치에 대한 개략적인 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 암호 알고리즘 구현 적합성 검증 방법에 대한 처리 절차를 예시한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 사전 검증 단계를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시 예에 따른 테스트 데이터 및 검증 프로그램의 예를 도시한 도면이다.
도 6은 본 발명의 일 실시 예에 따라 실시간 운영체제 환경에서 도출된 검증 결과값을 컴퓨터 장치에서 처리하는 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시 예에 따라 신규 데이터를 이용한 암호 알고리즘 구현 적합성 검증 결과 추출 방법에 대한 처리 절차를 예시한 도면이다.
도 8은 본 발명의 일 실시 예에 따라 데이터 파일을 임베디드 기기측으로 전송하는 과정을 도식화하여 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시 예에 따라 암호 알고리즘 구현 적합성 검증을 수행하는 과정을 도식화하여 설명하기 위한 도면이다. 1 is a diagram illustrating a processing procedure for a method for verifying implementation suitability of an encryption algorithm according to a conventional embodiment.
2 is a schematic block diagram of a cryptographic algorithm implementation suitability verification apparatus according to an embodiment of the present invention.
3 is a diagram illustrating a processing procedure for a method for verifying implementation suitability of an encryption algorithm according to an embodiment of the present invention.
4 is a view for explaining a pre-verification step according to an embodiment of the present invention.
5 is a diagram illustrating an example of test data and a verification program according to an embodiment of the present invention.
6 is a diagram for explaining a process of processing a verification result value derived from a real-time operating system environment in a computer device according to an embodiment of the present invention.
7 is a diagram illustrating a processing procedure for a method of extracting an encryption algorithm implementation suitability verification result using new data according to an embodiment of the present invention.
8 is a diagram for schematically explaining a process of transmitting a data file to an embedded device according to an embodiment of the present invention.
9 is a diagram for schematically explaining a process of performing verification of implementation suitability of an encryption algorithm according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 설명하되, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 한편 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. 또한 상세한 설명을 생략하여도 본 기술 분야의 당업자가 쉽게 이해할 수 있는 부분의 설명은 생략하였다.Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings, but it will be described in detail so that those of ordinary skill in the art to which the present invention pertains can easily practice the present invention. However, the present invention may be embodied in various different forms and is not limited to the embodiments described herein. On the other hand, in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification. In addition, even if the detailed description is omitted, descriptions of parts that can be easily understood by those skilled in the art are omitted.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification and claims, when a part includes a certain element, it means that other elements may be further included, rather than excluding other elements, unless otherwise stated.
도 2는 본 발명의 일 실시 예에 따른 암호 알고리즘 구현 적합성 검증 장치에 대한 개략적인 블록도이다. 도 2를 참조하면, 본 발명의 일 실시 예에 따른 암호 알고리즘 구현 적합성 검증 장치(100)는 입력부(110), 통신 인터페이스부(I/F)(120), 표시부(130) 및 제어부(140)를 포함한다. 2 is a schematic block diagram of a cryptographic algorithm implementation suitability verification apparatus according to an embodiment of the present invention. Referring to FIG. 2 , the cryptographic algorithm implementation
입력부(110)는 암호 알고리즘 구현 적합성 검장치(100)로 입력되는 각종 데이터들을 입력받는다. 예를 들어, 입력부(110)는 암호 알고리즘이 구현된 소스 코드를 입력받는다. The
통신 인터페이스부(I/F)(120)는 통신망과의 통신 인터페이스를 제공한다. 특히, 실시간 운영체제 환경에서 동작하는 임베디드 기기(미도시)와의 통신 인터페이스를 제공한다. The communication interface unit (I/F) 120 provides a communication interface with a communication network. In particular, it provides a communication interface with an embedded device (not shown) operating in a real-time operating system environment.
표시부(130)는 암호 알고리즘 구현 적합성 검증 장치(100)의 동작에 따른 데이터를 표시한다. The
제어부(140)는 기 설정된 제어 프로그램 또는 입력부(110)를 통해 입력되는 조작신호에 의거하여 암호 알고리즘 구현 적합성 검증 장치(100)의 동작을 제어한다. 즉, 입력부(110), 통신 인터페이스부(I/F)(120) 및 제어부(130)의 동작을 제어한다. The
특히, 제어부(140)는 입력부(110)를 통해 입력된 소스 코드에 의거하여 해당 암호 알고리즘에 대한 사전 검증을 실시한 후, 오류가 없는 것으로 결정된 암호 알고리즘에 대한 펌웨어를 생성하고, 그 펌웨어를 통신 인터페이스부(I/F)(120)를 통해 상기 임베디드 기기(미도시)로 업로드한다. In particular, the
이를 위해, 제어부(140)는 상기 암호 알고리즘 구현 적합성 검증을 위한 검증 프로그램을 생성하되, 일반 운영체제에서 동작하는 컴퓨터 장치용 검증 프로그램을 생성하여 상기 사전 검증을 실시한다. 그리고, 상기 사전 검증 결과 오류가 없는 것으로 결정된 암호 알고리즘을 컴파일하여 펌웨어를 생성한다. 이 때, 제어부(140)는 상기 오류가 없는 것으로 결정된 암호 알고리즘을, 상기 실시간 운영체제를 구현하기 위한 소스코드, 및 상기 컴퓨터 장치용 검증 프로그램과 함께, 상기 임베디드 기기용 컴파일러로 컴파일하여 펌웨어를 생성할 수 있다. To this end, the
또한, 제어부(140)는 통신 인터페이스부(I/F)(120)를 통해 상기 임베디드 기기(미도시)로부터 상기 펌웨어에 포함된 암호 알고리즘 구현 적합성 검증 결과 값을 전달받아 표시부(130)에 표시한 후, 그 검증 결과값에 의거하여 상기 펌웨어에 포함된 암호 알고리즘의 정상 동작 여부를 결정한다. 이를 이해, 제어부(140)는 표시부(130)의 내용을 스크랩하여 최종 결과파일을 생성하고 상기 최종 결과파일의 오류여부에 따라 상기 펌웨어에 포함된 암호 알고리즘의 정상 동작 여부를 결정할 수 있다. In addition, the
또한, 제어부(140)는 파일을 시리얼 프로토콜로 변환하는 프로토콜 변환 모듈(미도시)을 더 포함하고, 상기 프로토콜 변환 모듈은 상기 입력부를 통해 상기 암호 알고리즘 구현 적합성을 검증하기 위한 신규 데이터 파일이 입력되면, 상기 신규 데이터 파일을 시리얼 프로토콜로 변환하여 상기 통신인터페이스부를 통해 상기 임베디드 기기로 전달할 수 있다. In addition, the
도 3은 본 발명의 일 실시 예에 따른 암호 알고리즘 구현 적합성 검증 방법에 대한 처리 절차를 예시한 도면으로서, 컴퓨터 장치(PC)에 구현된 암호 알고리즘 구현 적합성 검증 장치(이하, 컴퓨터 장치라 칭함)(100)가, 실시간 운영체제 환경에서 동작하는 임베디드 기기(200)에 탑재될 암호 알고리즘을 생성한 후, 임베디드 기기(200)와의 연동에 의해 상기 암호 알고리즘의 적합성을 검증하는 처리 절차의 예를 도시하고 있다. 이 때, 컴퓨터 장치(PC)(100)는 일반 운영체제 환경에서 동작하는 기기를 말하고, 상기 일반 운영체제란 상기 실시간 운영체제에 대비되는 표현으로, 일반적으로 사용되는 운영체제(예컨대, 윈도우, 리눅스 등)를 말한다. FIG. 3 is a diagram illustrating a processing procedure for a method for verifying cryptographic algorithm implementation conformity according to an embodiment of the present invention, and is a cryptographic algorithm implementation conformity verification device (hereinafter referred to as a computer device) implemented in a computer device (PC) ( 100) shows an example of a processing procedure for generating an encryption algorithm to be mounted on the embedded
도 2 및 도 3을 참조하여 본 발명의 일 실시 예에 따른 암호 알고리즘 구현 적합성 검증 방법을 설명하면 다음과 같다. A method for verifying implementation suitability of an encryption algorithm according to an embodiment of the present invention will be described with reference to FIGS. 2 and 3 .
먼저, 단계 S105에서는, 입력부(110)를 통해 소스코드가 입력되는 지를 결정한다. 이 때, 소스코드는 암호 알고리즘을 구현하기 위해 코딩된 데이터를 말한다. 단계 S105에서 상기 소스코드의 입력이 확인되면, 단계 S110에서는, 제어부(140)가, 그에 응답하여 상기 암호 알고리즘 구현 적합성 검증을 위한 검증 프로그램을 생성한다. 이를 위해, 단계 S110에서는, 제어부(140)가, 암호 알고리즘이 구현되어 있는 소스 코드를 컴퓨터 장치(PC)용 암호 라이브러리(예컨대, crypto.dll)로 생성하고, 상기 암호 라이브러리를 사용하여 암호 알고리즘 구현 적합성 검증을 수행하는 소스코드를 작성한 후, 컴퓨터 장치(PC)용 어플리케이션으로 컴파일하여 컴퓨터 장치(PC)용 검증 프로그램(예컨대, CAVP_test.exe)을 생성한다. First, in step S105 , it is determined whether the source code is input through the
단계 S115에서는, 제어부(140)가 상기 컴퓨터 장치용 검증 프로그램을 이용하여 상기 암호 알고리즘 구현 적합성에 대한 사전 검증을 실시한다. 이 때, 상기 암호 알고리즘 구현 적합성에 대한 검증은, 암호 알고리즘을 사용하여 각각의 암호 알고리즘의 운영모드, 구현 정확성, 구현과정의 결함 여부 등을 확인하기 위한 테스트를 말한다. 이를 위해, 단계 S115에서는, 제어부(140)가 상기 암호 알고리즘의 정상동작 여부를 확인하기 위해 미리 생성된 테스트 데이터를 파싱하여 상기 암호 알고리즘의 파라미터를 검출하고, 상기 검출된 파라미터를 상기 암호 알고리즘에 반영하여 제1 결과값을 도출하고, 상기 제1 결과값과 상기 테스트 데이터를 비교하여 상기 제1 결과값의 오류 여부를 결정한 후 그 결과에 따라 상기 암호 알고리즘의 정상동작 여부를 확인한다. 도 4는 이러한 사전 검증 단계(S115)를 설명하기 위한 도면으로서, 도 2 내지 도 4를 참조하면, 제어부(140)는 상기 테스트 데이터(예컨대, .req 파일)(A)를 파싱하여 상기 테스트 데이터(예컨대, .req 파일)(A)로부터 파라미터를 검출하고, 상기 파라미터를 검증 프로그램(B)으로 전달한다(S201). 그러면, 검증 프로그램(B)은 암호 알고리즘(C) 함수를 호출하고(S203), 그 응답으로 전달된(S205) 암호 알고리즘 함수(C)에 상기 파라미터를 적용하여 테스트 결과값(예컨대, .rsp 파일)(D)을 출력한다(S207).In step S115, the
그러면, 제어부(140)는 상기 테스트 결과값(예컨대, .rsp 파일)과 상기 테스트 데이터(예컨대, .req 파일)(A)를 비교하여 상기 암호 알고리즘에 대한 검증을 실시한다. 이 때, 상기 비교과정은 두 개의 파일을 비교하여 서로 다른 부분을 출력하는 툴(예컨대, diff 툴)을 사용하여 수행할 수 있다. Then, the
도 5는 상기 사전 검증을 위한 테스트 데이터 및 검증 프로그램의 예를 도시한 도면으로서, 도 5의 (a)는 ARIA 128 MCT 몬테 카를로 검사를 위한 테스트 데이터(.req 파일)의 예를 도시하고, 도 5의 (b)는 ARIA 128 MCT 몬테 카를로 검사를 위한 테스트 프로그램(즉, 검증 프로그램) 예를 도시한다. 5 is a view showing an example of test data and a verification program for the pre-verification. FIG. 5 (a) shows an example of test data (.req file) for ARIA 128 MCT Monte Carlo examination, and FIG. 5(b) shows an example of a test program (ie, verification program) for ARIA 128 MCT Monte Carlo test.
도 5의 (a)를 참조하면, 상기 테스트 데이터(.req 파일)는 일련의 영숫자를 포함하는 KEY, IV, PT 값을 포함하고, 도 5의 (b)를 참조하면, 상기 ARIA 128 MCT 몬테 카를로 검사를 위한 테스트 프로그램(즉, 검증 프로그램)은 변수 ‘i’를 0부터 99까지 증가시키고, 변수 ‘j’를 0부터 999까지 증가시키면서 상기 암호 알고리즘을 검증하되, ‘j’가 0일 때는 상기 테스트 데이터들 중 (Key[i], PT[j] xor IV[i])를 암호 알고리즘 ARIA의 파라미터로 하여 검증값(CT[j])을 검출하고, 그렇지 않을 경우(즉, ‘j’가 0이 아닐 경우)는 상기 테스트 데이터들 중 (Key[i], PT[j] xor CT[j-1])를 암호 알고리즘 ARIA의 파라미터로 하여 검증값(CT[j])을 검출하고, 상기 검증값(CT[j])을 이용하여 상기 암호 알고리즘 ARIA를 검증한다. 즉, 상기 검증값(CT[j])이 답안(즉, 상기 테스트 데이터(.req 파일))과 다를 경우 암호 알고리즘 또는 상기 검증 프로그램을 수정할 수 있다. 예를 들어, 상기 검증값(CT[j])이 답안(즉, 상기 테스트 데이터(.req 파일))과 같아지도록 상기 암호 알고리즘 또는 상기 검증 프로그램을 수정할 수 있다. Referring to (a) of FIG. 5, the test data (.req file) includes KEY, IV, and PT values including a series of alphanumeric characters. Referring to FIG. 5 (b), the ARIA 128 MCT Monte The test program for the Carlo check (that is, the verification program) increments the variable 'i' from 0 to 99 and increments the variable 'j' from 0 to 999 to verify the encryption algorithm, but when 'j' is 0, Among the test data, (Key[i], PT[j] xor IV[i]) is used as a parameter of the encryption algorithm ARIA to detect the verification value (CT[j]), otherwise (ie, 'j' is not 0) detects the verification value (CT[j]) using (Key[i], PT[j] xor CT[j-1]) as a parameter of the encryption algorithm ARIA among the test data, The encryption algorithm ARIA is verified using the verification value CT[j]. That is, when the verification value CT[j] is different from the answer (ie, the test data (.req file)), the encryption algorithm or the verification program may be modified. For example, the encryption algorithm or the verification program may be modified so that the verification value CT[j] is the same as the answer (ie, the test data (.req file)).
다시 도 2 및 도 3을 참조하면, 단계 S120에서는, 제어부(140)가 단계 S115의 사전 검증 결과를 분석하여 해당 암호 알고리즘에 오류가 발생했는지의 여부를 결정한다. 단계 S120에서 해당 암호 알고리즘에 오류가 발생하지 않은 것으로 결정된 경우, 단계 S125에서는, 제어부(140)가, 단계 S120에서 오류가 없는 것으로 결정된 암호 알고리즘에 대하여 대응된 펌웨어를 생성한다. 이 때, 제어부(140)는 상기 오류가 없는 것으로 결정된 암호 알고리즘을 컴파일하되, 상기 컴퓨터 장치용 검증 프로그램 및 실시간 운영체제(RTOS)를 구현하기 위한 소스코드와 함께 상기 암호 알고리즘을 컴파일하고, 상기 암호 알고리즘, 상기 검증 프로그램 및 실시간 운영체제를 모두 상기 임베디드 기기용 컴파일러로 빌드하여 빈파일(.bin 파일)을 생성할 수 있다. Referring again to FIGS. 2 and 3 , in step S120 , the
만약 단계 S120에서 해당 암호 알고리즘에 오류가 발생한 것으로 결정된 경우, 제어부(140)는 단계 S160에서 소스코드를 수정한다. 이를 위해, 제어부(140)는 암호 알고리즘에 발생한 오류를 표시부(130)를 통해 표시하여 관리자로부터 수정된 소스코드의 입력을 유도할 수 있다. 그리고 수정된 소스코드가 입력되면 그에 응답하여 제어부(140)가 기 저장된 소스 코드를 수정할 수 있다. If it is determined in step S120 that an error has occurred in the corresponding encryption algorithm, the
단계 S130에서는, 상기 통신 인터페이스부(120)를 통해 상기 펌웨어를 임베디드 기기(200)로 업로드한다. In step S130 , the firmware is uploaded to the embedded
그러면, 단계 S135에서는, 상기 임베디드 기기(200)가 상기 펌웨어를 저장하고, 단계 S140에서는, 상기 업로드된 펌웨어를 이용하여 상기 임베디드 기기(200)에서 암호 알고리즘 구현 적합성 검증을 실시한다. 즉, 임베디드 검증을 실시한다. Then, in step S135, the embedded
이 때, 상기 임베디드 검증은 상기 펌웨어에 포함된 암호 알고리즘의 정상동작 여부를 확인하기 위해 미리 생성된 테스트 데이터를 파싱하여 상기 암호 알고리즘의 파라미터를 검출하고, 상기 검출된 파라미터를 상기 암호 알고리즘에 반영하여 제2 결과값을 도출하고, 상기 제2 결과값과 상기 테스트 데이터를 비교하여 상기 제2 결과값의 오류 여부를 결정하고 그 결과에 따라 상기 암호 알고리즘의 정상동작 여부를 확인하는 일련의 과정을 포함할 수 있다. At this time, the embedded verification detects the parameters of the encryption algorithm by parsing test data generated in advance to check whether the encryption algorithm included in the firmware operates normally, and reflects the detected parameters in the encryption algorithm. It includes a series of processes of deriving a second result value, comparing the second result value with the test data, determining whether the second result value is in error, and confirming whether the encryption algorithm operates normally according to the result can do.
이 때, 상기 임베디드 검증 단계(S140)은 도 4에 예시된 사전 검증 단계(S115)와 일부 유사하다. 다만, 이 때, 임베디드 기기(200)는 파일 시스템을 가지고 있지 않을 뿐 아니라, 적은 용량의 메모리만을 포함하기 때문에, 이로 인한 문제를 해결하기 위해, 상기 제2 결과값을 컴퓨터 장치(100)에 출력할 수 있다. 즉, 단계 S145에서, 임베디드 기기(200)는 단계 S140의 검증 결과값을 컴퓨터 장치(100)에 출력할 수 있다. 그러면 컴퓨터 장치(100)는 단계 S150에서 상기 검증 결과값을 이용한 2차 검증을 실시한다. 이를 위해 컴퓨터 장치(100)는 상기 임베디드 기기(200)로부터 전달된 상기 검증 결과값을 이용하여 최종결과파일을 생성한 후 그 최종결과파일을 이용하여 2차 검증을 실시할 수 있다. 도 6은 본 발명의 일 실시 예에 따라 실시간 운영체제 환경에서 도출된 검증 결과값을 컴퓨터 장치에서 처리하는 과정을 설명하기 위한 도면을 예시한 도면으로서, 도 6의 (a)는 단계 S145에서 전달된 검증 결과값을 컴퓨터 장치(100)의 화면에 표시한 예를 설명하기 위한 도면이고, 도 6의 (b)는 컴퓨터 장치(100)가 상기 검증 결과값으로부터 최종결과파일을 생성하는 과정을 설명하기 위한 도면이다. 도 3 및 도 6을 참조하면, 컴퓨터 장치(100)는 단계 S145에서 임베디드 기기(200)로부터 전달된 검증 결과값(D)을 도 6의 (a)와 같이 표시부(130)에 표시한 후 그 화면을 스크랩하여 로(RAW) 데이터(F)를 추출한다. 그리고 도 6의 (b)에 예시된 바와 같이 상기 로(RAW) 데이터(F)와 SAM 파일(형식파일)(G)을 비교하여 최종결과파일(.rsp 파일)(H)을 생성한다. 이를 위해 제어부(140)는 임베디드 기기(200)의 검증 결과값을 시리얼 프로토콜로 전달받아 최종결과파일(.rsp 파일)(H)을 생성하는 결과파일 생성 에이전트를 포함할 수 있다. At this time, the embedded verification step S140 is partially similar to the pre-verification step S115 illustrated in FIG. 4 . However, at this time, since the embedded
한편, 단계 S155는, 제어부(140)가 단계 S150의 2차 검증 결과를 분석하여 해당 암호 알고리즘에 오류가 발생했는지의 여부를 결정한다. 만약, 단계 S155에서 상기 임베디드 기기(200)에 저장된 암호 알고리즘에 오류가 발생한 것으로 결정된 경우, 제어부(140)는 단계 S160에서 소스코드를 수정한다. 이를 위해, 제어부(140)는 암호 알고리즘에 발생한 오류를 표시부(130)를 통해 표시하여 관리자로부터 수정된 소스코드의 입력을 유도하고, 수정된 소스코드가 입력되면 그에 응답하여 기 저장된 소스 코드를 수정할 수 있다. Meanwhile, in step S155, the
한편, 암호 알고리즘 구현 적합성을 검증하기 위한 신규 데이터 파일이 입력된 경우, 컴퓨터 장치(100)는 이를 임베디드 기기(200)로 전달하고, 임베디드 기기(200)로부터 상기 신규 데이터 파일이 반영된 검증 결과값을 전달받아 관리할 수 있다. 이러한 처리 과정의 예가 도 7에 예시되어 있다. On the other hand, when a new data file for verifying the cryptographic algorithm implementation suitability is input, the
도 7은 본 발명의 일 실시 예에 따라 신규 데이터를 이용한 암호 알고리즘 구현 적합성 검증 결과 추출 방법에 대한 처리 절차를 예시한 도면으로서, 컴퓨터 장치(PC)에 구현된 암호 알고리즘 구현 적합성 검증 장치(이하, 컴퓨터 장치라 칭함)(100)가, 실시간 운영체제 환경에서 동작하는 임베디드 기기(200)로 신규 데이터 파일을 전송하고, 임베디드 기기(200)로부터 상기 신규 데이터 파일이 반영된 검증 결과값을 전달받는 일련의 처리 과정을 예시하고 있다. 이 때, 컴퓨터 장치(PC)(100)는 일반 운영체제 환경에서 동작하는 기기를 말하고, 상기 일반 운영체제란 상기 실시간 운영체제에 대비되는 표현으로, 일반적으로 사용되는 운영체제(예컨대, 윈도우, 리눅스 등)를 말한다. 7 is a diagram illustrating a processing procedure for a method of extracting an encryption algorithm implementation suitability verification result using new data according to an embodiment of the present invention, and is a cryptographic algorithm implementation suitability verification device implemented in a computer device (PC) (hereinafter, (referred to as a computer device) 100 transmits a new data file to the embedded
도 2 및 도 7을 참조하여 본 발명의 일 실시 예에 따라 신규 데이터를 이용한 암호 알고리즘 구현 적합성 검증 결과를 추출하는 방법을 설명하면 다음과 같다. A method of extracting an encryption algorithm implementation suitability verification result using new data according to an embodiment of the present invention will be described with reference to FIGS. 2 and 7 .
먼저, 단계 S305에서는, 입력부(110)를 통해 신규 데이터 파일이 입력되는 지를 결정한다. 이 때, 신규 데이터 파일은 암호 알고리즘의 정상동작 여부를 확인하기 위해 새롭게 생성된 테스트 데이터일 수 있다. First, in step S305 , it is determined whether a new data file is input through the
단계 S310에서는, 제어부(140)가 상기 신규 데이터 파일을 시리얼 프로토콜로 변환한다. 이를 위해 제어부(140)은 파일을 시리얼 프로토콜로 변환하는 프로토콜 변환 프로그램을 포함할 수 있다. In step S310, the
단계 S315에서는, 상기 시리얼 프로토콜로 변환된 신규 데이터 파일을 임베디드 기기(200)로 전송한다. In step S315 , the new data file converted to the serial protocol is transmitted to the embedded
단계 S320에서는, 임베디드 기기(200)가 상기 신규 데이터 파일을 반영한 임베디드 검증을 실시한다. 이 때, 상기 단계 S320에서는, 상기 신규 데이터 파일을 파싱하여 임베디드 기기(200)에 저장된 암호 알고리즘의 정상동작 여부를 확인하기 위한 파라미터를 검출하고, 상기 검출된 파라미터를 상기 암호 알고리즘에 반영하여 신규 데이터 파일이 반영된 검증 결과값을 도출할 수 있다. In step S320, the embedded
단계 S325에서는, 임베디드 기기(200)가 상기 신규 데이터 파일이 반영된 검증 결과값을 컴퓨터 장치(100)에 출력하고, 단계 S330에서는, 컴퓨터 장치(100)가 상기 신규 데이터 파일이 반영된 검증 결과값을 이용하여 최종 결과파일을 생성한다. In step S325, the embedded
이와 같이 함으로서, 본 발명은, 임베디드 기기(200)가 파일 시스템을 가지고 있지 않을 뿐 아니라 적은 용량의 메모리만을 포함함으로 인해 검증 결과값을 저장 후 추출하는 것이 불가능한, 문제점을 해결할 수 있다. In this way, the present invention can solve the problem that it is impossible to store and then extract the verification result value because the embedded
도 8은 본 발명의 일 실시 예에 따라 데이터 파일을 임베디드 기기측으로 전송하는 과정을 도식화하여 설명하기 위한 도면이다. 특히, 도 8의 (a)는 일반적인 운영체제 환경에서 동작하는 장치(예컨대, 컴퓨터 장치)측에서 이루어지는 처리 과정의 예를 도시하고, 도 8의 (b)는 실시간 운영체제 환경에서 동작하는 장치(예컨대, 임베디드 기기)측에서 이루어지는 처리 과정의 예를 도시한다. 도 8의 (a) 및 (b)를 참조하여 신규 CAVP 파일을 임베디드 기기측으로 전송하는 처리 과정의 예를 설명하면 다음과 같다. 먼저, 신규 CAVP 파일이 생성되어(S405) 상기 컴퓨터 장치로 파일이 입력되면(S410), 상기 컴퓨터 장치는 그 파일에 대하여 시리얼 프로토콜 변환을 수행한(S415) 후 시리얼 프로토콜(예컨대, Xmodem, Ymodem, Zmodem 등)을 이용하여 임베디드 기기 측으로 전송한다(S420). 그러면, 상기 임베디드 기기는 상기 데이터 스트림을 수신한(S425) 후 시뮬레이터 API를 통해 데이터를 입력받고(S430), CAVP 시뮬레이터에서 테스트 결과를 추출하여(S435) 그 결과를 전송하면(S440), 시리얼 프로토콜로 변환(S445)하여 상기 컴퓨터 장치 측으로 전송한다(S450). 그러면, 상기 컴퓨터 장치는 상기 데이터 스트림을 수신 및 변환(S455)하여 CMVP 결과 파일을 생성하고(S460), 그 결과값을 확인한다(S465).8 is a diagram for schematically explaining a process of transmitting a data file to an embedded device according to an embodiment of the present invention. In particular, FIG. 8(a) shows an example of a processing process performed on the side of a device (eg, a computer device) operating in a general operating system environment, and FIG. 8(b) is a device operating in a real-time operating system environment (eg, a real-time operating system). An example of the processing performed on the embedded device side is shown. An example of a process for transmitting a new CAVP file to the embedded device will be described with reference to FIGS. 8A and 8B . First, when a new CAVP file is created (S405) and the file is input to the computer device (S410), the computer device performs serial protocol conversion on the file (S415) and then serial protocol (eg, Xmodem, Ymodem, Zmodem, etc.) to transmit to the embedded device side (S420). Then, after receiving the data stream (S425), the embedded device receives data through the simulator API (S430), extracts the test result from the CAVP simulator (S435) and transmits the result (S440), serial protocol converted to (S445) and transmitted to the computer device (S450). Then, the computer device receives and converts the data stream (S455) to generate a CMVP result file (S460), and checks the result value (S465).
도 9는 본 발명의 일 실시 예에 따라 암호 알고리즘 구현 적합성 검증을 수행하는 과정을 도식화하여 설명하기 위한 도면이다. 특히, 도 9의 (a)는 일반적인 운영체제 환경에서 동작하는 장치(예컨대, 컴퓨터 장치)측에서 이루어지는 처리 과정의 예를 도시하고, 도 9의 (b)는 실시간 운영체제 환경에서 동작하는 장치(예컨대, 임베디드 기기)측에서 이루어지는 처리 과정의 예를 도시한다. 도 9의 (a) 및 (b)를 참조하여 암호 알고리즘 구현 적합성 검증을 수행하는 과정의 예를 설명하면 다음과 같다. 먼저, 신규 CAVP 파일이 생성되어(S505) 상기 컴퓨터 장치로 파일이 입력되면(S510), 상기 컴퓨터 장치는 그 파일에 대하여 시리얼 프로토콜 변환을 수행한(S515) 후 시리얼 프로토콜(예컨대, Xmodem, Ymodem, Zmodem 등)을 이용하여 임베디드 기기 측으로 전송한다(S520). 그러면, 상기 임베디드 기기는 상기 데이터 스트림을 수신한(S525) 후 시뮬레이터 API를 통해 데이터를 입력받고(S530), CAVP 시뮬레이터에서 테스트 결과를 추출한다(S435). 그리고 그 결과를 출력하되, 컴퓨터 장치의 터미널을 통해 상기 테스트 결과를 출력한다(S540). 그러면, 컴퓨터 장치는 표시부에 표시된 상기 테스트 결과에 의해 결과값을 확인하고(S545), 상기 화면을 스크랩하여(S550) 로(Raw) 데이터 파일을 생성(S555)하고, 파라미터 파싱(S560)을 거쳐 SAM 파일과의 비교(S565)를 통해 결과 파일을 생성한다(S570). 이 때, 상기 단계 S565에서는, 상기 로(Raw) 데이터 파일과 SAM 파일을 라인별로 비교하고, 파라미터 값 및 결과값을 입력한다. 9 is a diagram for schematically explaining a process of performing verification of implementation suitability of an encryption algorithm according to an embodiment of the present invention. In particular, FIG. 9(a) shows an example of a processing process performed on the side of a device (eg, a computer device) operating in a general operating system environment, and FIG. 9(b) is a device operating in a real-time operating system environment (eg, a real-time operating system). An example of the processing performed on the embedded device side is shown. An example of a process of verifying the implementation suitability of an encryption algorithm will be described with reference to FIGS. 9A and 9B . First, when a new CAVP file is created (S505) and a file is input to the computer device (S510), the computer device performs serial protocol conversion on the file (S515) and then serial protocol (eg, Xmodem, Ymodem, Zmodem, etc.) to transmit to the embedded device side (S520). Then, the embedded device receives the data stream (S525), receives data through the simulator API (S530), and extracts a test result from the CAVP simulator (S435). Then, the result is outputted, but the test result is output through the terminal of the computer device (S540). Then, the computer device confirms the result value by the test result displayed on the display unit (S545), scrapes the screen (S550), generates a raw data file (S555), and parses the parameter (S560) A result file is generated through comparison with the SAM file (S565) (S570). At this time, in step S565, the raw data file and the SAM file are compared line by line, and parameter values and result values are input.
상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. In the exemplary system described above, the methods are described on the basis of a flowchart as a series of steps or blocks, however, the present invention is not limited to the order of steps, and some steps may occur in a different order or concurrent with other steps as described above. can
또한, 당업자라면 순서도에 나타낸 단계들이 배타적이지 않고, 다른 단계가 포함되거나 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.In addition, those skilled in the art will understand that the steps shown in the flowchart are not exhaustive and that other steps may be included or that one or more steps in the flowchart may be deleted without affecting the scope of the present invention.
Claims (11)
실시간 운영체제 환경에서 동작하는 임베디드 기기와의 통신 인터페이스를 제공하는 통신 인터페이스부; 및
기 설정된 제어 프로그램에 의거하여 상기 입력부 및 통신 인터페이스부를 제어하는 제어부를 포함하고,
상기 제어부는
상기 입력된 소스 코드에 의거하여 해당 암호 알고리즘에 대한 사전 검증을 실시하되, 상기 암호 알고리즘 구현 적합성 검증을 위해 일반 운영체제에서 동작하는 컴퓨터 장치용 검증 프로그램을 생성하여 상기 사전 검증을 실시하고,
상기 사전 검증 결과 오류가 없는 것으로 결정된 암호 알고리즘을 컴파일하되, 상기 컴퓨터 장치용 검증 프로그램 및 실시간 운영체제를 구현하기 위한 소스 코드와 함께 상기 임베디드 기기용 컴파일러로 컴파일하여 펌웨어를 생성하여 상기 통신 인터페이스부를 통해 상기 임베디드 기기로 업로드하는 것을 특징으로 하는 암호 알고리즘 구현 적합성 검증 장치.an input unit for receiving a source code in which an encryption algorithm is implemented;
a communication interface unit providing a communication interface with an embedded device operating in a real-time operating system environment; and
A control unit for controlling the input unit and the communication interface unit based on a preset control program,
the control unit
Conducting prior verification of the encryption algorithm based on the input source code, generating a verification program for a computer device operating in a general operating system to verify the implementation suitability of the encryption algorithm and performing the prior verification,
Compiling the encryption algorithm determined to have no error as a result of the pre-verification, but compiling with the compiler for embedded devices together with the source code for implementing the verification program for the computer device and the real-time operating system to generate firmware, Encryption algorithm implementation conformity verification device, characterized in that it is uploaded to an embedded device.
데이터를 표시하는 표시부를 더 포함하고,
상기 제어부는
상기 통신 인터페이스부를 통해 상기 임베디드 기기로부터 상기 펌웨어에 포함된 암호 알고리즘 구현 적합성 검증 결과 값을 전달받아 상기 표시부에 표시한 후,
상기 표시부의 내용을 스크랩하여 최종 결과파일을 생성하고 상기 최종 결과파일의 오류여부에 따라 상기 펌웨어에 포함된 암호 알고리즘의 정상 동작 여부를 결정하는 것을 특징으로 하는 암호 알고리즘 구현 적합성 검증 장치.The apparatus of claim 1 , wherein the device
Further comprising a display unit for displaying data,
the control unit
After receiving the encryption algorithm implementation suitability verification result value included in the firmware from the embedded device through the communication interface unit and displaying it on the display unit,
Encryption algorithm implementation suitability verification apparatus, characterized in that the final result file is generated by scraping the contents of the display unit, and whether the encryption algorithm included in the firmware operates normally according to whether the final result file is in error.
파일을 시리얼 프로토콜로 변환하는 프로토콜 변환 모듈을 더 포함하고,
상기 프로토콜 변환 모듈은
상기 입력부를 통해 상기 암호 알고리즘 구현 적합성을 검증하기 위한 신규 데이터 파일이 입력되면, 상기 신규 데이터 파일을 시리얼 프로토콜로 변환하여 상기 통신인터페이스부를 통해 상기 임베디드 기기로 전달하는 것을 특징으로 하는 암호 알고리즘 구현 적합성 검증 장치.According to claim 1, wherein the control unit
Further comprising a protocol conversion module for converting the file to a serial protocol,
The protocol conversion module is
When a new data file for verifying the implementation suitability of the encryption algorithm is input through the input unit, the new data file is converted into a serial protocol and transmitted to the embedded device through the communication interface unit. Device.
상기 컴퓨터 장치용 검증 프로그램을 이용하여 상기 암호 알고리즘 구현 적합성에 대한 사전 검증을 실시하는 사전 검증 단계;
상기 사전 검증 결과 오류가 없는 것으로 결정된 암호 알고리즘에 대하여 대응된 펌웨어를 생성하고, 그 펌웨어를 실시간 운영체제 환경에서 동작하는 임베디드 기기로 업로드하는 업로드 단계; 및
상기 업로드된 펌웨어를 이용하여 상기 임베디드 기기에서 암호 알고리즘 구현 적합성 검증을 실시하는 임베디드 검증 단계를 포함하되,
상기 사전 검증 단계는
상기 암호 알고리즘의 정상동작 여부를 확인하기 위해 미리 생성된 테스트 데이터를 파싱하여 상기 암호 알고리즘의 파라미터를 검출하는 제1 파싱단계;
상기 검출된 파라미터를 상기 암호 알고리즘에 반영하여 제1 결과값을 도출하는 제1 결과값 도출단계; 및
상기 제1 결과값과 상기 테스트 데이터를 비교하여 상기 제1 결과값의 오류 여부를 결정하고 그 결과에 따라 상기 암호 알고리즘의 정상동작 여부를 확인하는 제1 확인단계를 포함하는 것을 특징으로 하는 실시간 운영체제 환경에서의 암호 알고리즘 구현 적합성 검증 방법.A verification program generating step of generating a verification program for verifying the implementation suitability of the encryption algorithm in response to an input of the source code in which the encryption algorithm is implemented, and generating a verification program for a computer device operating in a general operating system environment;
a pre-verification step of performing pre-verification on the suitability of implementation of the encryption algorithm by using the verification program for the computer device;
an uploading step of generating firmware corresponding to the encryption algorithm determined to have no error as a result of the pre-verification and uploading the firmware to an embedded device operating in a real-time operating system environment; and
An embedded verification step of verifying the implementation suitability of the encryption algorithm in the embedded device using the uploaded firmware,
The preliminary verification step is
a first parsing step of parsing pre-generated test data to check whether the encryption algorithm operates normally to detect parameters of the encryption algorithm;
a first result value deriving step of deriving a first result value by reflecting the detected parameter in the encryption algorithm; and
and a first confirmation step of determining whether the first result value is in error by comparing the first result value with the test data, and confirming whether the encryption algorithm operates normally according to the result. A method of verifying the suitability of cryptographic algorithm implementation in the environment.
상기 오류가 없는 것으로 결정된 암호 알고리즘을 컴파일하되, 상기 컴퓨터 장치용 검증 프로그램 및 실시간 운영체제를 구현하기 위한 소스코드와 함께 상기 임베디드 기기용 컴파일러로 컴파일하여 펌웨어를 생성하는 펌웨어 생성단계를 포함하는 것을 특징으로 하는 실시간 운영체제 환경에서의 암호 알고리즘 구현 적합성 검증 방법.The method of claim 5, wherein the uploading step
Compiling the encryption algorithm determined to have no error, and compiling with the compiler for embedded devices together with the source code for implementing the verification program for the computer device and the real-time operating system to generate firmware A method of verifying the suitability of implementation of cryptographic algorithms in real-time operating system
상기 펌웨어에 포함된 암호 알고리즘의 정상동작 여부를 확인하기 위해 미리 생성된 테스트 데이터를 파싱하여 상기 암호 알고리즘의 파라미터를 검출하는 제2 파싱단계;
상기 검출된 파라미터를 상기 암호 알고리즘에 반영하여 제2 결과값을 도출하는 제2 결과값 도출단계; 및
상기 제2 결과값과 상기 테스트 데이터를 비교하여 상기 제2 결과값의 오류 여부를 결정하고 그 결과에 따라 상기 암호 알고리즘의 정상동작 여부를 확인하는 제2 확인단계를 포함하는 것을 특징으로 하는 실시간 운영체제 환경에서의 암호 알고리즘 구현 적합성 검증 방법.8. The method of claim 7, wherein the embedded verification step
a second parsing step of parsing pre-generated test data to check whether the encryption algorithm included in the firmware operates normally to detect parameters of the encryption algorithm;
a second result value deriving step of deriving a second result value by reflecting the detected parameter in the encryption algorithm; and
and a second checking step of comparing the second result value with the test data to determine whether the second result value is in error, and confirming whether the encryption algorithm operates normally according to the result. A method of verifying the suitability of cryptographic algorithm implementation in the environment.
상기 제2 결과값을 상기 컴퓨터 장치의 화면에 출력하는 출력 단계; 및
상기 컴퓨터 장치의 화면에 출력된 상기 제2 결과값을 스크랩하여 최종결과 파일을 생성하는 최종결과파일 생성단계를 더 포함하고,
상기 최종결과파일의 오류여부에 따라 상기 펌웨어에 포함된 암호 알고리즘의 정상 동작 여부를 확인하는 것을 특징으로 하는 실시간 운영체제 환경에서의 암호 알고리즘 구현 적합성 검증 방법.The method of claim 8, wherein the second confirmation step
an output step of outputting the second result value on a screen of the computer device; and
Further comprising a final result file generation step of generating a final result file by scraping the second result value output on the screen of the computer device,
An encryption algorithm implementation suitability verification method in a real-time operating system environment, characterized in that it is checked whether an encryption algorithm included in the firmware operates normally according to whether the final result file is in error.
상기 사전 검증 단계 또는 상기 임베디드 검증 단계의 검증 결과,
상기 암호 알고리즘에 오류가 있는 것으로 확인된 경우 상기 암호 알고리즘이 구현된 소스코드를 수정하는 소스코드 수정단계를 더 포함하는 것을 특징으로 하는 실시간 운영체제 환경에서의 암호 알고리즘 구현 적합성 검증 방법.6. The method of claim 5, wherein the method
The verification result of the pre-verification step or the embedded verification step;
The method for verifying implementation suitability of an encryption algorithm in a real-time operating system environment, further comprising a source code modification step of correcting the source code in which the encryption algorithm is implemented when it is confirmed that there is an error in the encryption algorithm.
상기 암호 알고리즘 구현 적합성을 검증하기 위한 신규 데이터 파일의 입력에 응답하여, 상기 컴퓨터 장치가 신규 데이터 파일을 시리얼 프로토콜로 변환한 후 상기 임베디드 기기로 전송하는 신규 데이터 전송단계; 및
상기 컴퓨터 장치가 상기 임베디드 기기로부터 상기 신규 데이터 파일이 반영된 검증 결과값을 전달받는 수신단계를 더 포함하는 것을 특징으로 하는 실시간 운영체제 환경에서의 암호 알고리즘 구현 적합성 검증 방법.6. The method of claim 5, wherein the method
a new data transmission step in which the computer device converts the new data file into a serial protocol and then transmits it to the embedded device in response to the input of the new data file for verifying the implementation suitability of the encryption algorithm; and
The method for verifying implementation suitability of an encryption algorithm in a real-time operating system environment, further comprising a receiving step of receiving, by the computer device, a verification result value reflecting the new data file from the embedded device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190129986A KR102269335B1 (en) | 2019-10-18 | 2019-10-18 | Apparatus and method for verifying suitability of code algorithm implementation in real time operating system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190129986A KR102269335B1 (en) | 2019-10-18 | 2019-10-18 | Apparatus and method for verifying suitability of code algorithm implementation in real time operating system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210046363A KR20210046363A (en) | 2021-04-28 |
KR102269335B1 true KR102269335B1 (en) | 2021-06-24 |
Family
ID=75721092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190129986A KR102269335B1 (en) | 2019-10-18 | 2019-10-18 | Apparatus and method for verifying suitability of code algorithm implementation in real time operating system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102269335B1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007041804A (en) | 2005-08-02 | 2007-02-15 | Sharp Corp | Program generation device, program verification device, and verification program |
WO2008085579A2 (en) | 2006-10-25 | 2008-07-17 | Spyrus, Inc. | Method and system for deploying advanced cryptographic algorithms |
JP2013149134A (en) | 2012-01-20 | 2013-08-01 | Nec Corp | Static analysis device of source code, system, method, and program therefor |
JP2018018498A (en) | 2017-03-08 | 2018-02-01 | ネットエージェント株式会社 | Software generation system, information processing device, and program |
KR101972825B1 (en) * | 2019-01-18 | 2019-04-30 | 한국과학기술원 | Method and apparatus for automatically analyzing vulnerable point of embedded appliance by using hybrid analysis technology, and computer program for executing the method |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090060774A (en) | 2007-12-10 | 2009-06-15 | 한국전자통신연구원 | Apparatus and method for mirroring firmware and data of the embedded system |
-
2019
- 2019-10-18 KR KR1020190129986A patent/KR102269335B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007041804A (en) | 2005-08-02 | 2007-02-15 | Sharp Corp | Program generation device, program verification device, and verification program |
WO2008085579A2 (en) | 2006-10-25 | 2008-07-17 | Spyrus, Inc. | Method and system for deploying advanced cryptographic algorithms |
JP2013149134A (en) | 2012-01-20 | 2013-08-01 | Nec Corp | Static analysis device of source code, system, method, and program therefor |
JP2018018498A (en) | 2017-03-08 | 2018-02-01 | ネットエージェント株式会社 | Software generation system, information processing device, and program |
KR101972825B1 (en) * | 2019-01-18 | 2019-04-30 | 한국과학기술원 | Method and apparatus for automatically analyzing vulnerable point of embedded appliance by using hybrid analysis technology, and computer program for executing the method |
Also Published As
Publication number | Publication date |
---|---|
KR20210046363A (en) | 2021-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2816814C (en) | Repairing corrupt software | |
CN105159707A (en) | Secure financial terminal firmware programming method and financial terminal | |
CN104598408B (en) | A kind of disposable programmable read only memory data burning method | |
CN109388569B (en) | Method for remotely detecting environmental anomaly of client, test server and storage medium | |
US20170039053A1 (en) | Field update of boot loader using regular device firmware update procedure | |
CN109471768B (en) | Service problem monitoring method and device and electronic equipment | |
JP5725529B2 (en) | Web vulnerability repair system, web vulnerability repair method, and program | |
KR100872175B1 (en) | Secure booting apparatus and method of mobile platform using TPM | |
CN109144584A (en) | A kind of programmable logic device and its starting method, system and storage medium | |
CN104317690A (en) | Memory Demand Scrub testing method based on ITP (integration test platform) tool | |
CN105141429A (en) | User verifying method, user verifying device and server | |
CN111045713A (en) | Method, system and device for upgrading computer system | |
US20100312541A1 (en) | Program test device and program | |
CN107450953B (en) | Method and device for updating BIOS | |
US7418542B2 (en) | Rewritable, nonvolatile memory, electronic device, method of rewriting rewritable, nonvolatile memory, and storage medium having stored thereon rewrite program | |
CN114327518A (en) | Firmware storage method, firmware reading device, chip processor and storage medium | |
KR102269335B1 (en) | Apparatus and method for verifying suitability of code algorithm implementation in real time operating system | |
US8732843B2 (en) | Software validity period changing apparatus, method, and installation package | |
CN104036193A (en) | Local cross-domain vulnerability detection method and device for application program | |
CN106802810B (en) | Firmware upgrading method, device and system | |
CN112445670B (en) | eMMC test method and device | |
US20080115108A1 (en) | Microcomputer having security function for memory access and debugging method of the same | |
KR101320680B1 (en) | Method and apparatus for integrity check of software | |
CN114138587B (en) | Method, device and equipment for verifying reliability of server power firmware upgrade | |
CN107908418B (en) | Method for upgrading logic program of fiber channel node card and fiber channel bus equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |