KR20180026230A - Security gateway that implements multiple communication cryptographic operation parallelism - Google Patents

Security gateway that implements multiple communication cryptographic operation parallelism Download PDF

Info

Publication number
KR20180026230A
KR20180026230A KR1020160113333A KR20160113333A KR20180026230A KR 20180026230 A KR20180026230 A KR 20180026230A KR 1020160113333 A KR1020160113333 A KR 1020160113333A KR 20160113333 A KR20160113333 A KR 20160113333A KR 20180026230 A KR20180026230 A KR 20180026230A
Authority
KR
South Korea
Prior art keywords
communication
encryption
core
hsm
communication terminal
Prior art date
Application number
KR1020160113333A
Other languages
Korean (ko)
Other versions
KR101881117B1 (en
Inventor
이승원
이용구
박성완
Original Assignee
한전케이디엔주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한전케이디엔주식회사 filed Critical 한전케이디엔주식회사
Priority to KR1020160113333A priority Critical patent/KR101881117B1/en
Publication of KR20180026230A publication Critical patent/KR20180026230A/en
Application granted granted Critical
Publication of KR101881117B1 publication Critical patent/KR101881117B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/28
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

The present invention provides a security gateway to implement a multi-communication cryptographic operation parallel processing. The security gateway includes: a first communication port which enables communication using a first communication protocol from a first external communication terminal; a second communication port which enables communication using a second communication protocol from a second external communication terminal; a central processing unit (CPU) which supports many core processors (MCP), gives orders so that a hardware security module (HSM) can process encryption/decryption request data transmitted from the first communication terminal through a first interface, and gives orders so that the HSM can process encryption/decryption request data transmitted from a second communication terminal through a second interface; and the HSM which uses the MCP inside and performs data encryption/decryption of the first communication terminal ordered through the first interface and data encryption/decryption of the second communication terminal ordered through the second interface simultaneously and independently. The present invention is able to minimize time delay of internal processing.

Description

다중 통신 암호연산 병렬처리를 구현하는 보안 게이트웨이{SECURITY GATEWAY THAT IMPLEMENTS MULTIPLE COMMUNICATION CRYPTOGRAPHIC OPERATION PARALLELISM}[0001] SECURITY GATEWAY THAT IMPLEMENTS [0002] MULTIPLE COMMUNICATION CRYPTOGRAPHIC OPERATION PARALLELISM [

본 발명은 다중 통신 암호연산 병렬처리를 구현하는 보안 게이트웨이에 관한 것으로, 더욱 상세하게는 내부에 MCP(Many Core Processor)를 이용하며, 제1 인터페이스를 통해 명령된 제1 통신단말의 데이터 암복호화 및 제2 인터페이스를 통해 명령된 제2 통신단말의 데이터 암복호화를 서로 독립적으로 동시에 수행하되, 암호알고리즘 간의 상관관계, 사용 통신포트 및 코어 간의 데이터 이동 속도를 고려하여, MCP 내의 정방형 코어 블록의 각각의 코어에 배치되는 암호 알고리즘을 결정하는 하드웨어암호모듈(HSM)을 제공함으로, 복수의 통신단말을 통해 통신 수행 시에도 병목현상을 해소할 뿐 만 아니라, 각각의 코어 내에 보호함수 알고리즘의 최적 배치로 인해 내부처리 시간 지연을 최소화 할 수 있는, 다중 통신 암호연산 병렬처리를 구현하는 보안 게이트웨이에 관한 것이다.
The present invention relates to a security gateway that implements parallel communication cryptographic operation parallel processing, and more particularly, to a security gateway that uses MCP (Many Core Processor) internally and performs data encryption and decryption of a first communication terminal The data encryption / decryption of the second communication terminal instructed through the second interface is carried out independently of each other, and in consideration of the correlation between the encryption algorithms, the communication port used, and the data movement speed between the cores, The present invention provides a hardware cipher module (HSM) for deciding a cipher algorithm to be placed in a core, thereby solving a bottleneck even when communication is performed through a plurality of communication terminals. In addition, A security gateway that implements parallel communication cryptographic parallelism that can minimize internal processing time delays Relate to.

정보보호 및 인증기술에 있어서, 개인의 인증정보와 및 금융 거래를 위한 비밀번호 등의 정보를 하드웨어적으로 또한 암호학적으로 안전하게 관리하는 장치 및 시스템의 개발기술 필요성은 인터넷의 보급과 함께 제기되어 왔다.In the field of information security and authentication technology, the need for development of devices and systems for securely managing hardware authentication information such as personal authentication information and passwords for financial transactions has been raised along with the spread of the Internet.

이 비밀정보는 개인을 인증하고 본인이 직접 특정 행위를 한 것을 확인하는 수단이 되기 때문에, 만일 이 비밀정보가 타인에게 노출된다면 행위자를 특정할 수 없어서 전체 금융거래 체계가 붕괴될 수 있으므로 매우 안전하게 관리되어야 한다.This confidential information is a means of authenticating an individual and confirming that he or she has performed a certain act directly. Therefore, if the confidential information is exposed to another person, it is impossible to specify the actor, so that the entire financial transaction system may collapse. .

이와 같은 고도의 보안성을 제공하기 위해, 하드웨어적으로 동시에 암호학적으로 안전한 키 관리시스템을 탑재한 하드웨어암호모듈(HSM)이라는 개념이 소개되고 있다.To provide such high security, the concept of a hardware cryptographic module (HSM) equipped with a hardware cryptographically secure key management system is introduced.

HSM은 내부에 자체적으로 비밀 마스터 키를 생성하고 이를 바탕으로 유도 키 생성 및 데이터의 암/복호화를 처리하는 장치로서, 어떠한 방법으로도 내부에 저장된 데이터를 추출할 수 없고, 만일 물리적인 방법으로 데이터를 추출하고자 한다면 자체적으로 데이터를 소멸시키는 등의 안전장치를 확보하고, 이에 대한 공인기관의 인증을 받음으로써 비밀정보의 안전을 보장할 수 있는 장치이다.The HSM is a device that generates a secret master key in itself and handles generation of induction keys and encryption / decryption of data based on the generated secret master key. It can not extract data stored therein by any method, It is a device that can guarantee the security of confidential information by securing a safety device such as extinction of data by itself and by receiving the certification of the accredited institution.

도 1은 종래기술에 따른 하드웨어암호모듈(HSM)의 병목현상을 일으키는 게이트웨어의 개략적인 구성을 나타낸 것이다. FIG. 1 shows a schematic configuration of a gateway which causes a bottleneck of the hardware cipher module (HSM) according to the prior art.

도 1을 참조하면, 종래기술에 따른 게이트웨이(100a)는 하드웨어암호모듈(Hardware Security Module, HSM, 110), 중앙처리유닛(Central Processing Unit, CPU, 120), Ethernet 0(131) 및 Ethernet 1(132)을 포함하여 구성된다. 1, the gateway 100a according to the related art includes a hardware security module (HSM) 110, a central processing unit (CPU) 120, an Ethernet 0 131, and an Ethernet 1 132).

이 경우 중앙처리유닛(CPU, 120)과 하드웨어암호모듈(HSM, 110) 간에는 1개의 물리적 통신 포트인 제1 인터페이스(P1)를 통해 데이터가 송수신 되는 구조를 가짐으로써, 외부의 제1 통신단말(10a)로부터 전송된 암복호화 요청 데이터를 하드웨어암호모듈(HSM, 110)이 처리하는 동안, 외부의 다른 제2 통신단말(10b)로부터 전송된 암복호화 요청 데이터를 처리하지 못하고 대기 또는 지연되는(반대의 경우도 포함) 병목현상이 발생된다. In this case, data is transmitted / received between the central processing unit (CPU) 120 and the hardware cipher module (HSM) 110 through the first interface P1, which is one physical communication port, While the hardware encryption module (HSM) 110 processes the encryption / decryption request data transmitted from the first communication terminal 10a and the second encryption / decryption request data transmitted from the second communication terminal 10b, The bottleneck phenomenon occurs.

이와 같이 종래 기술은 2개 이상의 통신데이터의 암호연산을 처리하는 하드웨어암호모듈(HSM, 110)의 병목현상 때문에 시스템이 통신 속도가 전체적으로 저하되는 문제점이 있었다.
As described above, the prior art has a problem that the communication speed of the system is lowered as a whole due to the bottleneck phenomenon of the hardware cipher module (HSM) 110 that processes the cryptographic operation of two or more pieces of communication data.

대한민국 공개특허 제10-2016-0008560호Korean Patent Publication No. 10-2016-0008560

본 발명이 해결하고자 하는 기술적 과제는, 내부에 MCP(Many Core Processor)를 이용하며, 제1 인터페이스를 통해 명령된 제1 통신단말의 데이터 암복호화 및 제2 인터페이스를 통해 명령된 제2 통신단말의 데이터 암복호화를 서로 독립적으로 동시에 수행하되, 암호알고리즘 간의 상관관계, 사용 통신포트 및 코어 간의 데이터 이동 속도를 고려하여, MCP 내의 정방형 코어 블록의 각각의 코어에 배치되는 암호 알고리즘을 결정하는 하드웨어암호모듈(HSM)을 제공함으로, 복수의 통신단말을 통해 통신 수행 시에도 병목현상을 해소할 뿐 만 아니라, 각각의 코어 내에 보호함수 알고리즘의 최적 배치로 인해 내부처리 시간 지연을 최소화 할 수 있는, 다중 통신 암호연산 병렬처리를 구현하는 보안 게이트웨이를 제공하는데 있다.
SUMMARY OF THE INVENTION It is an object of the present invention to provide a data communication method and a data communication method using a MCP (Many Core Processor) in the inside, data encryption and decryption of a first communication terminal instructed through a first interface, A hardware cipher module for deciding a cipher algorithm to be placed in each core of the square core block in the MCP in consideration of the correlation between the encryption algorithms, the communication port used, and the data moving speed between the cores, (HSM), which not only eliminates the bottleneck even when performing communication through a plurality of communication terminals, but also minimizes the internal processing time delay due to the optimal arrangement of the protection function algorithm in each core, And to provide a security gateway that implements cryptographic computation parallel processing.

상기 기술적 과제를 이루기 위한 본 발명에 따른 다중 통신 암호연산 병렬처리를 구현하는 보안 게이트웨이는, 외부의 제1 통신단말로부터 제1 통신 프로토콜을 이용한 통신이 구현되도록 해주는 제1 통신포트; 외부의 제2 통신단말로부터 제2 통신 프로토콜을 이용한 통신이 구현되도록 해주는 제2 통신포트; MCP(Many Core Processor)를 지원하며, 상기 제1 통신단말로부터 전송된 암복호화 요청 데이터를 제1 인터페이스를 통해 하드웨어암호모듈(HSM)이 처리할 수 있도록 명령하고, 상기 제2 통신단말로부터 전송된 암복호화 요청 데이터를 제2 인터페이스를 통해 하드웨어암호모듈(HSM)이 처리할 수 있도록 명령하는 중앙처리유닛(CPU); 및 내부에 MCP(Many Core Processor)를 이용하며, 상기 제1 인터페이스를 통해 명령된 상기 제1 통신단말의 데이터 암복호화 및 상기 제2 인터페이스를 통해 명령된 상기 제2 통신단말의 데이터 암복호화를 서로 독립적으로 동시에 수행하는 하드웨어암호모듈(HSM)을 포함하는 기술을 제공한다.
According to an aspect of the present invention, there is provided a security gateway for implementing parallel communication processing of multiple communication cryptographic operations, the security gateway including: a first communication port for enabling communication using a first communication protocol from an external first communication terminal; A second communication port for allowing communication from an external second communication terminal to be implemented using the second communication protocol; (MCP), and instructs the hardware encryption module (HSM) to process the encryption / decryption request data transmitted from the first communication terminal through a first interface, A central processing unit (CPU) for instructing the hardware cryptographic module (HSM) to process the encryption / decryption request data via a second interface; And a plurality of MCPs (Many Core Processors) are used in the first interface, and the data encryption / decryption of the first communication terminal and the data encryption / decryption of the second communication terminal, which are commanded via the second interface, And a hardware cipher module (HSM) that performs independently and simultaneously.

본 발명은 복수의 통신단말을 통해 통신 수행 시에도 병목현상을 해소할 뿐 만 아니라, 각각의 코어 내에 보호함수 알고리즘의 최적 배치로 인해 내부처리 시간 지연을 최소화 할 수 있는 기술적 효과가 있다.
The present invention not only eliminates bottlenecks when performing communication through a plurality of communication terminals, but also has a technical effect of minimizing internal processing time delays due to optimal placement of a protection function algorithm in each core.

도 1은 종래기술에 따른 하드웨어암호모듈(HSM)의 병목현상을 일으키는 게이트웨어의 개략적인 구성을 나타낸 것이다.
도 2는 본 발명에 따른 MCP HSM을 이용한 다중통신 암호연산 병렬처리를 구현하는 보안 게이트웨이의 개략적인 구성을 나타낸 것이다.
도 3a는 본 발명에 따른 일 실시예로, MCP 6 × 6의 정방형 코어 블록도를 갖는 HSM의 구조를 상세히 나타낸 것이다.
도 3b는 본 발명에 따른 일 실시예로, 6 × 6의 정방형 코어 블록에서 좌표(0, 0)로부터 좌표(1, 1) 또는 좌표(5, 5)로 데이터 이동 시 소요되는 클락(clock)을 나타낸 것이다.
도 4는 본 발명에 따른 일 실시예로, MCP 6 × 6의 정방형 코어 블록도를 갖는 HSM에서 암호알고리즘 간의 상관관계, 사용통신포트 및 코어 간 데이터 이동 속도에 따른 8개의 암호알고리즘의 위치를 결정하는 방법을 설명하기 위해 나타낸 것이다.
FIG. 1 shows a schematic configuration of a gateway which causes a bottleneck of the hardware cipher module (HSM) according to the prior art.
FIG. 2 shows a schematic configuration of a security gateway for implementing parallel communication cryptographic operation parallel processing using the MCP HSM according to the present invention.
FIG. 3A shows a detailed structure of an HSM having a square core block diagram of MCP 6 × 6 according to an exemplary embodiment of the present invention.
FIG. 3B is a diagram illustrating a clock for a 6 × 6 square core block, which is used for moving data from coordinates (0, 0) to coordinates (1, 1) or coordinates (5, 5) Lt; / RTI >
FIG. 4 is a diagram illustrating the relationship between cipher algorithms, the communication port used, and the speed of data movement between cores in the HSM having a square core block diagram of MCP 6 × 6 according to an embodiment of the present invention. In order to explain how to do this.

이하에서는 본 발명의 구체적인 실시예를 도면을 참조하여 상세히 설명하도록 한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

도 2는 본 발명에 따른 MCP HSM을 이용한 다중통신 암호연산 병렬처리를 구현하는 보안 게이트웨이의 개략적인 구성을 나타낸 것이다. FIG. 2 shows a schematic configuration of a security gateway for implementing parallel communication cryptographic operation parallel processing using the MCP HSM according to the present invention.

도 2를 참조하면, 본 발명에 따른 다중통신 암호연산 병렬처리 시스템(200)은, 보안 게이트웨이(200a), 제1 통신단말(10a) 및 제2 통신단말(10b)을 포함한다. Referring to FIG. 2, the multiple communication cryptographic parallel processing system 200 according to the present invention includes a security gateway 200a, a first communication terminal 10a, and a second communication terminal 10b.

보안 게이트웨이(200a)는 하드웨어암호모듈(Hardware Security Module, HSM, 210), 중앙처리유닛(Central Processing Unit, CPU, 220), Ethernet 0(231) 및 Ethernet 1(232)을 포함하여 구성된다. The security gateway 200a includes a hardware security module (HSM) 210, A central processing unit (CPU) 220, an Ethernet 0 (231), and an Ethernet 1 (232).

여기서 HSM(210)은 MCP(Many Core Processor)를 이용하여 USB, PCI, SPI, UART, Ethernet 등의 통신포트를 각각 2개 이상씩 구성하여, 2개 이상의 동시 통신에 대한 암호연산을 처리해 주는데(이를테면, USB 2개, SPI 2개, UART 2개, PCIe 3개, Ethernet 4개 동시 지원), 이에 대한 구조 및 각각의 코어별 최적 배치를 통한 보호함수 알고리즘의 구현 방법 등은 도 3a 및 도 4에서 각각 후술한다. Here, the HSM 210 configures two or more communication ports such as USB, PCI, SPI, UART, and Ethernet by using a MCP (Many Core Processor) to process cipher operations for two or more simultaneous communications For example, two USBs, two SPIs, two UARTs, three PCIe, and four Ethernets are simultaneously supported), a structure thereof, and a method of implementing a protection function algorithm through optimal placement for each core are shown in FIGS. 3A and 4 Respectively.

CPU(220)는 중앙 연산 처리장치로, 프로세서(processor)가 MCP(Many Core Processor)로 8, 16, 32, 36, 64, 100 등의 코어를 지원하며, 특히 제1 인터페이스(P1)를 통해 제1 통신단말(10a)로부터 전송된 암복호화 요청 데이터를 HSM(210)이 처리할 수 있도록 해주며, 또한 제2 인터페이스(P2)를 통해 제2 통신단말(10b)로부터 전송된 암복호화 요청 데이터를 HSM(210)이 처리할 수 있도록 해준다. The CPU 220 is a central processing unit. The processor supports cores such as 8, 16, 32, 36, 64 and 100 as MCPs (Many Core Processors) The HSM 210 can process the encryption decryption request data transmitted from the first communication terminal 10a and the encryption decryption request data transmitted from the second communication terminal 10b through the second interface P2, To be processed by the HSM 210.

즉 본원발명은 상기 제1 인터페이스(P1) 및 제2 인터페이스(P2)와 같이 2개의 동시 통신포트, 또는 다중(3개 이상)의 동시 통신포트를 통한 암호연산 처리가 가능토록 지원함으로써, 종래 1개의 통신포트를 이용할 경우에 발생하는 병목현상을 해소할 수 있게 된다. That is, the present invention supports cryptographic operation processing through two simultaneous communication ports or multiple (three or more) simultaneous communication ports like the first interface (P1) and the second interface (P2) It is possible to solve the bottleneck phenomenon that occurs when the communication ports are used.

Ethernet 0(231)은 외부의 제1 통신단말(10a)과 CPU(220) 간에 제1 통신라인(Pa)을 통해 데이터가 송수신 되도록 해주고, Ethernet 1(232)은 외부의 제2 통신단말(10b)과 CPU(220) 간에 제2 통신라인(Pb)을 통해 데이터가 송수신 되도록 해준다.  The Ethernet 0 231 allows data to be transmitted and received between the first external communication terminal 10a and the CPU 220 via the first communication line Pa and the Ethernet 1 232 communicates with the external second communication terminal 10b And the CPU 220 through the second communication line Pb.

여기서 제1 통신단말(10a) 및 제2 통신단말(10b)은 보안 게이트웨이(200a)와 유선 또는 무선 통신이 가능한 통신장치로, 이를 테면, PC, 노트북, PDA, 스마트 폰 등을 포함할 수 있다. Here, the first communication terminal 10a and the second communication terminal 10b may be a communication device capable of performing wired or wireless communication with the security gateway 200a, such as a PC, a notebook, a PDA, a smart phone, .

도 3a는 본 발명에 따른 일 실시예로, MCP 6 × 6의 정방형 코어 블록도를 갖는 HSM의 구조를 상세히 나타낸 것이다. FIG. 3A shows a detailed structure of an HSM having a square core block diagram of MCP 6 × 6 according to an exemplary embodiment of the present invention.

도 3a를 참조하면, 본 발명의 HSM(210)은 MCP 6 × 6의 정방형 코어 블록(211)을 가지며, 상기 코어 블록(211)과 인접하여 사방으로 상위 통신 포트부(212), 하위 이더넷 포트부(213), 하위 PCI 포트부(214), 좌측 메모리부(215) 및 우측 메모리부(216)를 포함한다. 3A, the HSM 210 of the present invention has a square core block 211 of MCP 6 × 6, and is adjacent to the core block 211 and is connected to the upper communication port 212, A lower PCI port unit 214, a left memory unit 215, and a right memory unit 216. The lower memory port unit 214, the lower PCI port unit 214, the left memory unit 215,

여기서 코어 블록(211)을 구성하는 각각의 코어들((0,0) ~ (5,5))은 개별적으로 독립적인 프로세스를 처리할 수 있도록 각각이 물리적인 통신 버스(bus)를 통해 연결되어 있고, 각각의 코어는 다른 코어에게 데이터를 전송할 수 있는 구조를 가짐으로 인해, 암호 연산 처리 시 병렬 처리 환경을 제공한다. Herein, each of the cores (0, 0) to (5, 5) constituting the core block 211 are connected through a physical communication bus so as to be able to process independent processes individually And each core has a structure capable of transmitting data to the other cores, thereby providing a parallel processing environment in cryptographic operation processing.

이 때, MCP 내 각각의 코어들은 64bit 처리의 코어(core)로 구성되며, 1개의 코어에 8개의 보호함수 알고리즘을 구현하여 동작하도록 프로그램이 가능하지만, 활용할 수 있는 코어가 많기 때문에, 보호함수 하나당 코어 1개를 할당하여 처리속도를 높이거나 지연을 최소화 하도록 프로그래밍 하는 것이 바람직하다. In this case, each core in the MCP is composed of a core of 64-bit processing and can be programmed to operate by implementing eight protection function algorithms in one core. However, since there are many available cores, It is desirable to program one core to increase the processing speed or minimize the delay.

상위 코어들((0,0),(1,0),(2,0),(3,0),(4,0),(5,0))은 상위 통신 포트부(212)를 구성하는 SPI, UART(x2), USB(x2) 등 외부 통신포트와 연결되어 있는데, 이 경우 상위 코어들로부터 외부 통신포트로 1 클락(clock) 시간 동안 데이터를 전송하지만, 하위 코어로 갈수록 1 클락(clock) 씩 더 소요되는 구조를(도 3b 참조) 갖는다. The upper cores ((0,0), (1,0), (2,0), (3,0), (4,0), (5,0)) constitute the upper communication port unit 212 In this case, data is transferred from the upper cores to the external communication port for one clock period. However, as the clock goes to the lower core, clock) (see FIG. 3B).

하위 코어들((0,5),(1,5),(2,5),(3,5),(4,5),(5,5))은 하위 이더넷 포트부(213)를 구성하는 1GB 이더넷 포트(x4) 또는 하위 PCI 포트부(214)를 구성하는 PCI(x3)와 연결되어 있는데, 이 경우 하위 코어들로부터 하위 통신포트로 1 클락(clock) 시간 동안 데이터를 전송하지만, 상위 코어로 갈수록 1 클락(clock) 씩 더 소요되는 구조를(도 3b 참조) 갖는다. The lower cores ((0,5), (1,5), (2,5), (3,5), (4,5), (5,5) (X4) or a lower PCI port (214). In this case, data is transmitted from the lower cores to the lower communication port for one clock period. (See FIG. 3B), which takes one more clock to the core.

좌측 코어들((0,0), (0,1),(0,2),(0,3),(0,4),(0,5))은 좌측 메모리부(215)와 직접 연결되고, 우측 코어들((5,0), (5,1),(5,2),(5,3),(5,4),(5,5))은 우측 메모리부(216)와 직접 연결된다. The left cores ((0,0), (0,1), (0,2), (0,3), (0,4), (0,5) The right cores ((5,0), (5,1), (5,2), (5,3), (5,4), Directly connected.

도 3b는 본 발명에 따른 일 실시예로, 6 × 6의 정방형 코어 블록에서 좌표(0, 0)로부터 좌표(1, 1) 또는 좌표(5, 5)로 데이터 이동 시 소요되는 클락(clock)을 나타낸 것이다. FIG. 3B is a diagram illustrating a clock for a 6 × 6 square core block, which is used for moving data from coordinates (0, 0) to coordinates (1, 1) or coordinates (5, 5) Lt; / RTI >

도 3b를 참조하면, 우선 6 × 6의 정방형 코어 블록에서 좌표(0, 0)로부터 좌표(1, 1)로 데이터 이동 시 소요되는 클락(clock)은, 서로 이웃하는 곳으로 1칸 이동할 때 마다 1 클락(clock)이 소요되고, 총 2칸이 이동되는 경우임으로 총 2 클락(clock)이 소요된다. Referring to FIG. 3B, clocks required for data movement from the coordinates (0, 0) to the coordinates (1, 1) in the 6 × 6 square core block are shifted one time If a clock is used and a total of two cells are moved, a total of two clocks are required.

다음으로, 6 × 6의 정방형 코어 블록에서 좌표(0, 0)로부터 좌표(5, 5)로 데이터 이동 시 소요되는 클락(clock)은, 서로 이웃하는 곳으로 1칸 이동할 때 마다 1 클락(clock)이 소요되고, 총 10칸이 이동되는 경우임으로 총 10 클락(clock)이 소요된다. Next, in the 6 × 6 square core block, the clock required for moving data from the coordinates (0, 0) to the coordinates (5, 5) is one clock ), And a total of 10 clocks are required.

마찬가지 방식으로, 상기 6 × 6의 정방형 코어 블록에서, 임의 코어 좌표로부터 다른 코어 좌표로 데이터 이동 시 소요되는 총 클락(clock)을 계산할 수 있다. Similarly, in the 6x6 square core block, the total clock required for data movement from arbitrary core coordinates to other core coordinates can be calculated.

도 4는 본 발명에 따른 일 실시예로, MCP 6 × 6의 정방형 코어 블록도를 갖는 HSM에서 암호알고리즘 간의 상관관계, 사용통신포트 및 코어 간 데이터 이동 속도에 따른 8개의 암호알고리즘의 위치를 결정하는 방법을 설명하기 위해 나타낸 것이다. FIG. 4 is a diagram illustrating the relationship between cipher algorithms, the communication port used, and the speed of data movement between cores in the HSM having a square core block diagram of MCP 6 × 6 according to an embodiment of the present invention. In order to explain how to do this.

우선, 보안 게이트웨이(200a)의 MCP HSM 암호 알고리즘으로, 하기 [국가정보원 규정 최소 필요 8개 암호 알고리즘]에 대해 간단히 설명한다.
First, the MCP HSM cipher algorithm of the security gateway 200a will be briefly described below (the minimum required eight cipher algorithms of the National Intelligence Service).

[국가정보원 규정 최소 필요 8개 암호 알고리즘] [National Information Service Regulations Minimum 8 Required Cryptographic Algorithms]

① ARIA 암호 알고리즘(ECB/CBC/CTR/CCM/GCM): key 길이 128bit, block 길이 128bit① ARIA encryption algorithm (ECB / CBC / CTR / CCM / GCM): key length 128bit, block length 128bit

② LEA 암호알고리즘(ECB/CBC/CTR/CCM/GCM) : key 길이 128 bit, block 길이       ② LEA encryption algorithm (ECB / CBC / CTR / CCM / GCM): key length 128 bits, block length

128 bit128 bit

③ 메시지인증코드 : HMAC - SHA256      ③ Message authentication code: HMAC - SHA256

④ 해시(hash) 함수 : SHA-256      ④ Hash function: SHA-256

⑤ 난수발생기 : CTR_DRBC - 블록암호(ARIA-128)      ⑤ Random number generator: CTR_DRBC - Block cipher (ARIA-128)

⑥ 전자서명 ECDSA : Curve FIPS P-256, 해시(hash) SHA-256      ⑥ Digital signature ECDSA: Curve FIPS P-256, hash SHA-256

⑦ 전자서명 EC-KCDSA : Curve FIPS P-256, 해시(hash) SHA-256      ⑦ Digital signature EC-KCDSA: Curve FIPS P-256, hash SHA-256

⑧ 키 설정 방식 ECDH : Curve FIPS P-256
⑧ Key setting method ECDH: Curve FIPS P-256

여기서, 난수발생기의 난수는 암호화 알고리즘에 비밀 키를 생성할 때 사용되며, 이때 생성된 비밀 키를 이용하여 데이터의 암호화 또는 복호화가 수행된다. Here, the random number of the random number generator is used when a secret key is generated in the encryption algorithm, and encryption or decryption of data is performed using the generated secret key.

해시(hash) 함수는 전자서명과 메시지 인증코드를 생성할 때 해시(hash) 값을 생성하는 함수로, 길이가 긴 데이터를 일정한 길이의 임의 값으로 중복되지 않도록 생성하는 데 특징이 있다.
A hash function is a function that generates a hash value when generating an electronic signature and a message authentication code, and is characterized in that long data is generated so as not to be duplicated as a random value of a certain length.

도 4를 참조하면, 본 발명은 MCP 내에 총 6 × 6의 정방형 코어 블록을 가지는데, 이 경우 A통신영역 암호모듈(C_A)은 다시 3 × 3의 정방형 코어 블록((0,0)~(2,2))으로 상위 USB0 통신포트를 통해 IEC 61850 통신 프로토콜을 사용하여 통신이 수행되고, B통신영역 암호모듈(C_B)은 다시 3 × 3의 정방형 코어 블록((3,0)~(5,2))으로 상위 USB1 통신포트를 통해 DNP 3.0 통신 프로토콜을 사용하여 통신이 수행되며, C통신영역 암호모듈(C_C)은 다시 3 × 3의 정방형 코어 블록((0,3)~(2,5))으로 하위 Ethernet0 통신포트를 통해 IEC 61850 통신 프로토콜을 사용하여 통신이 수행되고, D통신영역 암호모듈(C_D)은 다시 3 × 3의 정방형 코어 블록((3,3)~(5,5))으로 하위 Ethernet1 통신포트를 통해 IEC 61850 통신 프로토콜을 사용하여 통신이 수행된다. Referring to FIG. 4, the present invention has a total of 6 × 6 square core blocks in the MCP. In this case, the A communication area cipher module C_A further includes 3 × 3 square core blocks ((0,0) to 2, 2), communication is performed using the IEC 61850 communication protocol via the upper USB0 communication port, and the B communication area cipher module C_B again transmits 3 × 3 square core blocks (3, 0) to , 2)), communication is performed using the DNP 3.0 communication protocol through the upper USB1 communication port, and the C communication area cipher module (C_C) again transmits the 3 × 3 square core blocks (0, 5)), communication is performed using the IEC 61850 communication protocol through the lower Ethernet0 communication port, and the D communication area encryption module (C_D) again transmits the 3 × 3 square core blocks (3,3 to 5,5 )), Communication is performed using the IEC 61850 communication protocol through the lower Ethernet1 communication port.

이하 MCP 내의 총 6 × 6의 정방형 코어 블록을 갖는 HSM에서 암호알고리즘 간의 상관관계, 사용 통신포트 및 코어 간 데이터 이동 속도에 따른 상기 [국가정보원 규정 최소 필요 8개 암호 알고리즘]의 위치를 결정하는 방법을 설명한다. Hereinafter, a method for determining the position of the above-mentioned "minimum required eight encryption algorithm of the National Information Society Regulation" according to the correlation between the encryption algorithms, the communication port used, and the data moving speed between the cores in the HSM having a total of 6 × 6 square core blocks in the MCP .

우선, ①ARIA 암호알고리즘 및 ②LEA 암호알고리즘은 통신데이터 암복호화로 가장 많이 사용되는 점을 고려하여 상위 또는 하위 통신포트와 최 인접한 코어에 배치됨이 바람직하다. First, it is preferable that the ARIA encryption algorithm and the LEA encryption algorithm are arranged in the closest core to the upper or lower communication port in consideration of the most frequently used communication data encryption / decryption.

이를테면, A통신영역 암호모듈(C_A)의 경우, 상위 USB0 통신포트와 최 인접한 코어(1,0)에 ①ARIA 암호알고리즘이, 코어(2,0)에 ②LEA 암호알고리즘이 각각 배치된다.For example, in the case of the A communication area cipher module C_A, the ARIA encryption algorithm is arranged in the core (1,0) closest to the upper USB0 communication port and the LEA encryption algorithm is arranged in the core (2,0).

마찬가지로, B통신영역 암호모듈(C_B)의 경우, 상위 USB1 통신포트와 최 인접한 코어(4,0)에 ①ARIA 암호알고리즘이, 코어(5,0)에 ②LEA 암호알고리즘이 각각 배치되고, C통신영역 암호모듈(C_C)의 경우, 하위 Ethernet0 통신포트와 최 인접한 코어(1,5)에 ①ARIA 암호알고리즘이, 코어(2,5)에 ②LEA 암호알고리즘이 각각 배치되며, D통신영역 암호모듈(C_D)의 경우, 하위 Ethernet1 통신포트와 최 인접한 코어(4,5)에 ①ARIA 암호알고리즘이, 코어(5,5)에 ②LEA 암호알고리즘이 각각 배치된다. Similarly, in the case of the B communication area cipher module C_B, the ARIA encryption algorithm is arranged in the core (4,0) closest to the upper USB1 communication port and the LEA encryption algorithm is arranged in the core (5,0) In the case of the cryptographic module C_C, the ARIA encryption algorithm and the LEA encryption algorithm are arranged in the cores 1 and 5 respectively nearest to the lower Ethernet0 communication port and the core 2 and 5, respectively, and the D communication area cipher module C_D, , The ARIA encryption algorithm is arranged in the core (4, 5) closest to the lower Ethernet 1 communication port, and the LEA encryption algorithm is arranged in the core (5, 5).

이 경우 A통신영역 암호모듈(C_A) 또는 B통신영역 암호모듈(C_B)에 USB가 아닌 Ethernet과 PCIe 통신 포트를 사용한다면, 추가되는 암호 알고리즘의 개수를 더 늘릴 수도 있다. In this case, if the non-USB Ethernet and PCIe communication ports are used for the A communication area encryption module (C_A) or the B communication area encryption module (C_B), the number of added encryption algorithms can be further increased.

다음으로, ⑤난수발생기는 난수를 발생시켜서 ①ARIA 암호알고리즘, ②LEA 암호알고리즘, ⑥ 전자서명 ECDSA, ⑦ 전자서명 EC-KCDSA, ⑧ 키 설정 방식 ECDH 함수에 각각 난수를 제공하기 때문에, 이들과 가장 가까운 위치인 중앙에 배치되어 이들 각각으로 난수를 신속하게 제공함이 바람직하다. Next, the random number generator generates a random number to generate a random number, thereby providing a random number to the ARIA encryption algorithm, the LEA encryption algorithm, the digital signature ECDSA, the digital signature EC-KCDSA, and the key establishment ECDH function, It is desirable to provide a random number in each of them quickly.

이를테면, A통신영역 암호모듈(C_A)의 경우, ⑤난수발생기는 상기 상황을 고려하여, 중앙에 위치한 코어(1,1)에 배치된다. For example, in the case of the A communication area cipher module (C_A), (5) the random number generator is disposed in the center core (1, 1) in consideration of the above situation.

마찬가지로, B통신영역 암호모듈(C_B)의 경우, ⑤난수발생기는 상기 상황을 고려하여, 중앙에 위치한 코어(4,1)에 배치되고, C통신영역 암호모듈(C_C)의 경우, ⑤난수발생기는 상기 상황을 고려하여, 중앙에 위치한 코어(1,4)에 배치되며, D통신영역 암호모듈(C_D)의 경우, ⑤난수발생기는 상기 상황을 고려하여, 중앙에 위치한 코어(4,4)에 배치된다. Likewise, in the case of the B communication area cipher module C_B, the random number generator is arranged in the central core 4,1 in consideration of the above situation, and in the case of the C communication area cryptographic module C_C, Considering the above situation, in the case of the D communication area cipher module (C_D), (5) the random number generator is arranged in the center positioned in the core (4, 4) .

다음으로, ④해시(hash) 함수는 전자서명에 많이 사용되는 점을 고려하여, ⑥전자서명 ECDSA 및 ⑦전자서명 EC-KCDSA과 근접한 위치에 배치됨이 바람직하다. Next, it is desirable that the hash function is placed in close proximity to the electronic signature ECDSA and the electronic signature EC-KCDSA, taking into account the fact that the hash function is often used for digital signatures.

이를테면, A통신영역 암호모듈(C_A)의 경우, ④해시(hash) 함수는 상기 상황을 고려하여, ⑥전자서명 ECDSA이 배치된 코어(0,1) 및 ⑦전자서명 EC-KCDSA이 배치된 코어(0,0)와 근접한 위치인 코어(0,2)에 배치될 수 있다. For example, in the case of the A communication domain cryptographic module (C_A), the hash function (4) takes into account the above situation, (6) the core (0,1) in which the electronic signature ECDSA is disposed, and (0, 2), which is a position close to the core (0, 0).

마찬가지로, B통신영역 암호모듈(C_B)의 경우, ④해시(hash) 함수는 상기 상황을 고려하여, ⑥전자서명 ECDSA이 배치된 코어(3,1) 및 ⑦전자서명 EC-KCDSA이 배치된 코어(5,1)와 근접한 위치인 코어(3,2)에 배치될 수 있다. Similarly, in the case of the B communication domain cipher module C_B, the hash function ④ takes the above situation into account, ⑥ the core (3,1) in which the electronic signature ECDSA is placed, and ⑦ the core Can be disposed in the core (3, 2), which is a position close to the core (5,1).

마찬가지로, C통신영역 암호모듈(C_C)의 경우, ④해시(hash) 함수는 상기 상황을 고려하여, ⑥전자서명 ECDSA이 배치된 코어(0,4) 및 ⑦전자서명 EC-KCDSA이 배치된 코어(0,5)와 근접한 위치인 코어(0,3)에 배치될 수 있다. Similarly, in the case of the C communication domain cryptographic module (C_C), the hash function (4) takes the above situation into account, (6) the core (0,4) in which the digital signature ECDSA is disposed, and (0, 3), which is a position close to the core (0, 5).

마찬가지로, D통신영역 암호모듈(C_D)의 경우, ④해시(hash) 함수는 상기 상황을 고려하여, ⑥전자서명 ECDSA이 배치된 코어(3,4) 및 ⑦전자서명 EC-KCDSA이 배치된 코어(3,5)와 근접한 위치인 코어(3,3)에 배치될 수 있다. Similarly, in the case of the D communication area cryptographic module (C_D), (4) the hash function takes into account the above situation, (6) the core (3,4) in which the digital signature ECDSA is disposed, and (3, 3), which are in close proximity to the cores (3, 5).

다음으로, ③메시지인증코드는 IEC 61850 통신 프로토콜을 사용하는 경우, 다른 암호알고리즘 보다 사용 빈도가 적은 점을 고려하여, ①ARIA 암호알고리즘 및 ②LEA 암호알고리즘 보다 1 클락(clock)이 더 소요되는 위치에 배치함이 바람직하다. Next, (3) When the IEC 61850 communication protocol is used, the message authentication code is placed at a position requiring one clock more than the ARIA encryption algorithm and the (2) LEA encryption algorithm, .

이를테면, A통신영역 암호모듈(C_A)의 경우, ③메시지인증코드는 IEC 61850 통신 프로토콜을 사용함으로 인해, 다른 암호알고리즘 보다 사용 빈도가 적은 점을 고려하여, ①ARIA 암호알고리즘이 위치한 코어(1, 0) 및 ②LEA 암호알고리즘이 위치한 코어(2,0) 보다 USB0 기준으로 1 클락(clock)이 더 소요되는 위치인 코어(2,1)에 배치할 수 있다. For example, in the case of the A communication area cipher module (C_A), (3) because the message authentication code uses the IEC 61850 communication protocol, it is less frequently used than other encryption algorithms. ) And (2) the core (2,1) where a clock is required for USB0 based on the core (2,0) where the LEA encryption algorithm is located.

마찬가지로, C통신영역 암호모듈(C_C)의 경우, ③메시지인증코드는 IEC 61850 통신 프로토콜을 사용함으로 인해, 다른 암호알고리즘 보다 사용 빈도가 적은 점을 고려하여, ①ARIA 암호알고리즘이 위치한 코어(1, 5) 및 ②LEA 암호알고리즘이 위치한 코어(2,5) 보다 Ethernet0 기준으로 1 클락(clock)이 더 소요되는 위치인 코어(2,4)에 배치할 수 있다. Similarly, in the case of the C communication domain cryptographic module (C_C), considering the fact that the message authentication code uses the IEC 61850 communication protocol, the frequency of use is smaller than that of other cryptographic algorithms. ) And (2) the core (2, 4) where one clock is required for Ethernet0 based on the core (2, 5) where the LEA encryption algorithm is located.

마찬가지로, D통신영역 암호모듈(C_D)의 경우, ③메시지인증코드는 IEC 61850 통신 프로토콜을 사용함으로 인해, 다른 암호알고리즘 보다 사용 빈도가 적은 점을 고려하여, ①ARIA 암호알고리즘이 위치한 코어(4, 5) 및 ②LEA 암호알고리즘이 위치한 코어(5,5) 보다 Ethernet1 기준으로 1 클락(clock)이 더 소요되는 위치인 코어(5,4)에 배치할 수 있다. Similarly, in the case of the D communication area cipher module (C_D), considering the fact that the message authentication code uses the IEC 61850 communication protocol, it is less frequently used than other encryption algorithms. ) And (2) the core 5, 5 at which a clock is required for the Ethernet 1 as compared to the core 5, 5 where the LEA encryption algorithm is located.

반면, ③메시지인증코드는 DNP 3.0 통신 프로토콜을 사용하는 경우, 다른 암호알고리즘 보다 사용 빈도가 많은 점을 고려하여, 상위 USB1 포트에 가까운 상위 코어에 배치함이 바람직하며, 이 때 ⑦전자서명 EC-KCDSA은 통신 연결 시 키 교환할 때 사용됨으로 빈도가 낮아 상위 USB1 포트로부터 먼 위치에 배치될 수 있다. On the other hand, when the DNP 3.0 communication protocol is used, it is preferable to place the message authentication code in the upper core close to the upper USB1 port, considering that the encryption algorithm is used more frequently than other encryption algorithms. KCDSA is used for key exchange when communicating, and can be placed far away from the upper USB1 port due to its low frequency.

이를테면, B통신영역 암호모듈(C_B)의 경우, DNP 3.0 통신 프로토콜을 사용함으로 인해, 다른 암호알고리즘 보다 사용 빈도가 많은 점을 고려하여, 상위 USB1 포트에 가까운 코어(3,0)에 배치될 수 있으며, 이 경우 ⑦전자서명 EC-KCDSA은 통신 연결 시 키 교환할 때 사용됨으로 빈도가 낮아 상위 USB1 포트로부터 멀리 떨어진 위치에 있는 코어(5,1)에 배치될 수 있다. For example, in the case of the B communication area cipher module C_B, since the DNP 3.0 communication protocol is used, it can be allocated to the core 3, which is close to the upper USB1 port, In this case, ⑦ electronic signature EC-KCDSA is used for key exchange when communication is connected, it can be placed in core (5,1) located far away from upper USB1 port because frequency is low.

이로써, 본 발명은 MCP 내의 총 6 × 6 코어 블록도를 갖는 HSM에서, 암호알고리즘 간의 상관관계, 사용 통신포트 및 코어 간 데이터 이동 속도를 고려하여 상기 [국가정보원 규정 최소 필요 8개 암호 알고리즘]을, 3 × 3의 정방형 코어블록을 갖는 4개의 A통신영역 암호모듈(C_A)~ D통신영역 암호모듈(C_D) 각각에 최적으로 배치함으로써, 암호 알고리즘 내부 처리 시 지연시간을 최소화 할 수 있는 장점을 갖는다. Thus, in the HSM having a total 6x6 core block diagram in the MCP, the above-mentioned [minimum required eight encryption algorithms of the National Intelligence Service] in consideration of the correlation among the encryption algorithms, the communication port used, , And 4 A communication area cryptographic modules (C_A) to D communication area cryptographic modules (C_D) each having a 3 × 3 square core block, thereby minimizing the delay time in the internal processing of the encryption algorithm .

이상에서는 본 발명에 대한 기술사상을 첨부 도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시 예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구나 본 발명의 기술적 사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다. While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments. It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit of the invention.

200a : 보안 게이트웨이
210 : 하드웨어암호모듈(HSM)
220 : 중앙처리유닛(CPU)
231 : Ethernet 0
232 : Ethernet 1
10a : 제1 통신단말
10b : 제2 통신단말
Pa : 제1 통신라인
Pb : 제2 통신라인
P1 : 제1 인터페이스
P2 : 제2 인터페이스
200a: Security gateway
210: Hardware Cipher Module (HSM)
220: central processing unit (CPU)
231: Ethernet 0
232: Ethernet 1
10a: first communication terminal
10b: second communication terminal
Pa: first communication line
Pb: second communication line
P1: First interface
P2: Second interface

Claims (9)

외부의 제1 통신단말로부터 제1 통신 프로토콜을 이용한 통신이 구현되도록 해주는 제1 통신포트;
외부의 제2 통신단말로부터 제2 통신 프로토콜을 이용한 통신이 구현되도록 해주는 제2 통신포트;
MCP(Many Core Processor)를 지원하며, 상기 제1 통신단말로부터 전송된 암복호화 요청 데이터를 제1 인터페이스를 통해 하드웨어암호모듈(HSM)이 처리할 수 있도록 명령하고, 상기 제2 통신단말로부터 전송된 암복호화 요청 데이터를 제2 인터페이스를 통해 하드웨어암호모듈(HSM)이 처리할 수 있도록 명령하는 중앙처리유닛(CPU); 및
내부에 MCP(Many Core Processor)를 이용하며, 상기 제1 인터페이스를 통해 명령된 상기 제1 통신단말의 데이터 암복호화 및 상기 제2 인터페이스를 통해 명령된 상기 제2 통신단말의 데이터 암복호화를 서로 독립적으로 동시에 수행하는 하드웨어암호모듈(HSM)을 포함하는 것을 특징으로 하는 다중 통신 암호연산 병렬처리를 구현하는 보안 게이트웨이.
A first communication port that enables communication using a first communication protocol from an external first communication terminal;
A second communication port for allowing communication from an external second communication terminal to be implemented using the second communication protocol;
(MCP), and instructs the hardware encryption module (HSM) to process the encryption / decryption request data transmitted from the first communication terminal through a first interface, A central processing unit (CPU) for instructing the hardware cryptographic module (HSM) to process the encryption / decryption request data via a second interface; And
Wherein the MCP (Many Core Processor) is used in the first interface and the data encryption and decryption of the first communication terminal instructed through the first interface and the data encryption and decryption of the second communication terminal instructed through the second interface are independent And a hardware cipher module (HSM) for simultaneously performing the cipher processing and the cipher processing.
제 1항에 있어서, 상기 하드웨어암호모듈(HSM)은,
암호알고리즘 간의 상관관계, 사용 통신포트 및 코어 간의 데이터 이동 속도를 고려하여, MCP 내의 정방형 코어 블록의 각각의 코어에 배치되는 암호 알고리즘을 결정하는 것을 특징으로 하는 다중 통신 암호연산 병렬처리를 구현하는 보안 게이트웨이.
The system according to claim 1, wherein the hardware cipher module (HSM)
A cryptographic algorithm disposed in each core of the square core block in the MCP is determined in consideration of the correlation between the encryption algorithms, the communication port used, and the data movement speed between the cores. Gateway.
제 2항에 있어서, 상기 MCP는,
N × N(N=4, 6, 8)의 정방형 코어 블록을 가지며,
상기 코어 블록과 인접하여 사방으로 상위 통신 포트부, 하위 통신 포트부, 좌측 메모리부 및 우측 메모리부를 갖는 것을 특징으로 하는 다중 통신 암호연산 병렬처리를 구현하는 보안 게이트웨이.
3. The MCP of claim 2,
N = N (N = 4, 6, 8) square core blocks,
And a high communication port unit, a low communication port unit, a left memory unit, and a right memory unit in four directions adjacent to the core block.
제 2항에 있어서, 상기 암호 알고리즘은,
[국가정보원 규정 최소 필요 8개 암호 알고리즘]을 사용하는 것을 특징으로 하는 다중 통신 암호연산 병렬처리를 구현하는 보안 게이트웨이.
3. The method according to claim 2,
(8) minimum cryptographic algorithms of the National Intelligence Service. ≪ / RTI >
제 4항에 있어서, 상기 [국가정보원 규정 최소 필요 8개 암호 알고리즘]은,
① ARIA 암호 알고리즘, ② LEA 암호알고리즘, ③ 메시지인증코드, ④ 해시(hash) 함수, ⑤ 난수발생기, ⑥ 전자서명 ECDSA, ⑦ 전자서명 EC-KCDSA 및 ⑧ 키 설정 방식 ECDH를 포함하는 것을 특징으로 하는 다중 통신 암호연산 병렬처리를 구현하는 보안 게이트웨이.
5. The method according to claim 4, wherein the above-mentioned "
(3) a message authentication code, (4) a hash function, (5) a random number generator, (6) an electronic signature ECDSA, (7) an electronic signature EC-KCDSA, and A security gateway that implements parallel communication.
제 5항에 있어서,
상기 ①ARIA 암호알고리즘 및 상기 ②LEA 암호알고리즘은,
암복호화로 가장 많이 사용되는 점을 고려하여 상위 통신포트부 또는 하위 통신 포트와 최 인접한 코어에 배치되는 것을 특징으로 하는 다중 통신 암호연산 병렬처리를 구현하는 보안 게이트웨이.
6. The method of claim 5,
The (1) ARIA encryption algorithm and (2) LEA encryption algorithm,
Wherein the security gateway is disposed in a core closest to the upper communication port or the lower communication port in consideration of the most frequently used encryption / decryption.
제 5항에 있어서, 상기 ⑤난수발생기는,
난수를 발생시켜서 상기 ①ARIA 암호알고리즘, 상기 ②LEA 암호알고리즘, 상기 ⑥ 전자서명 ECDSA, 상기 ⑦ 전자서명 EC-KCDSA 및 상기 ⑧ 키 설정 방식 ECDH 함수에 각각 난수를 제공하는 점을 고려하여, 이들과 가장 가까운 위치인 중앙의 코어에 배치되는 것을 특징으로 하는 다중 통신 암호연산 병렬처리를 구현하는 보안 게이트웨이.
6. The random number generator according to claim 5,
Considering that the random numbers are generated to provide the random numbers to the ARIA encryption algorithm, the LEA encryption algorithm, the digital signature ECDSA, the digital signature EC-KCDSA, and the key establishment ECDH function, Wherein the secure gateway is located in a central core that is at a location that is at least partially occupied by the security gateway.
제 5항에 있어서, 상기 ④해시(hash) 함수는,
전자서명에 많이 사용되는 점을 고려하여, 상기 ⑥전자서명 ECDSA 및 상기 ⑦전자서명 EC-KCDSA과 근접한 위치에 배치되는 것을 특징으로 하는 다중 통신 암호연산 병렬처리를 구현하는 보안 게이트웨이.
6. The method of claim 5, wherein the hash function (4)
The electronic signature ECDSA and the digital signature EC-KCDSA are placed in a position close to the digital signature ECDSA and the digital signature EC-KCDSA.
제 5항에 있어서, 상기 ③메시지인증코드는,
IEC 61850 통신 프로토콜을 사용하는 경우, 다른 암호알고리즘 보다 사용 빈도가 적은 점을 고려하여, 상기 ①ARIA 암호알고리즘 및 상기 ②LEA 암호알고리즘 보다 상위 통신포트부 또는 하위 통신 포트 기준으로 1 클락(clock)이 더 소요되는 위치에 배치되는 것을 특징으로 하는 다중 통신 암호연산 병렬처리를 구현하는 보안 게이트웨이.
6. The method of claim 5,
Considering that the frequency of use is less than that of other encryption algorithms when the IEC 61850 communication protocol is used, one clock is required for the higher communication port or lower communication port than the above-mentioned (1) ARIA encryption algorithm and (2) Wherein the secure gateway is located at a location where the cryptographic computation is performed.
KR1020160113333A 2016-09-02 2016-09-02 Security gateway that implements multiple communication cryptographic operation parallelism KR101881117B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160113333A KR101881117B1 (en) 2016-09-02 2016-09-02 Security gateway that implements multiple communication cryptographic operation parallelism

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160113333A KR101881117B1 (en) 2016-09-02 2016-09-02 Security gateway that implements multiple communication cryptographic operation parallelism

Publications (2)

Publication Number Publication Date
KR20180026230A true KR20180026230A (en) 2018-03-12
KR101881117B1 KR101881117B1 (en) 2018-07-23

Family

ID=61729125

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160113333A KR101881117B1 (en) 2016-09-02 2016-09-02 Security gateway that implements multiple communication cryptographic operation parallelism

Country Status (1)

Country Link
KR (1) KR101881117B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111756532A (en) * 2020-06-08 2020-10-09 西安万像电子科技有限公司 Data transmission method and device
KR20210062832A (en) * 2019-11-22 2021-06-01 주식회사 바른기술 Parallel interface security device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050087843A (en) * 2002-12-20 2005-08-31 코닌클리케 필립스 일렉트로닉스 엔.브이. Apparatus and method for processing streams
JP2015114771A (en) * 2013-12-10 2015-06-22 パテネット株式会社 Data encryption device, data restoration device, data encryption method, data restoration method, data encryption program, and data restoration program
KR20160008560A (en) 2013-04-18 2016-01-22 리소프트데브, 인코포레이티드 System and methods for encrypting data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050087843A (en) * 2002-12-20 2005-08-31 코닌클리케 필립스 일렉트로닉스 엔.브이. Apparatus and method for processing streams
KR20160008560A (en) 2013-04-18 2016-01-22 리소프트데브, 인코포레이티드 System and methods for encrypting data
JP2015114771A (en) * 2013-12-10 2015-06-22 パテネット株式会社 Data encryption device, data restoration device, data encryption method, data restoration method, data encryption program, and data restoration program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Tobias Fleig 외 2명, Evaluation of Adaptive Memory Management Techniques on the Tilera TILE-Gx Platform, In Workshop Proceedings of Architecture of Computing Systems (ARCS) 2014 (2014.03.) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210062832A (en) * 2019-11-22 2021-06-01 주식회사 바른기술 Parallel interface security device
CN111756532A (en) * 2020-06-08 2020-10-09 西安万像电子科技有限公司 Data transmission method and device
CN111756532B (en) * 2020-06-08 2024-06-07 西安万像电子科技有限公司 Data transmission method and device

Also Published As

Publication number Publication date
KR101881117B1 (en) 2018-07-23

Similar Documents

Publication Publication Date Title
US8438631B1 (en) Security enclave device to extend a virtual secure processing environment to a client device
CN100487715C (en) Date safety storing system, device and method
US20030159053A1 (en) Secure reconfigurable input device with transaction card reader
CN101019369A (en) Method for delivering direct proof private keys to devices using online services
US20190012472A1 (en) Hierarchical bus encryption system
CN107135070A (en) Method for implanting, framework and the system of RSA key pair and certificate
CN107454590A (en) A kind of data ciphering method, decryption method and wireless router
JP2015122620A (en) Authentication system, authentication method, authentication device, and authenticated device
CN108288004A (en) A kind of encryption chip is in REE and TEE environmental coexistence system and methods
CN114039753B (en) Access control method and device, storage medium and electronic equipment
CN104065485A (en) Power grid dispatching mobile platform safety guaranteeing and controlling method
US20190222563A1 (en) Hardware trusted data communications over system-on-chip (soc) architectures
WO2014105914A1 (en) Security enclave device to extend a virtual secure processing environment to a client device
US9887967B2 (en) Portable security device, method for securing a data exchange and computer program product
EP1447734A2 (en) Reconfigurable secure input device
WO2011141579A2 (en) System and method for providing security for cloud computing resources using portable security devices
KR101881117B1 (en) Security gateway that implements multiple communication cryptographic operation parallelism
US11997192B2 (en) Technologies for establishing device locality
EP3556046B1 (en) Method for secure management of secrets in a hierarchical multi-tenant environment
US20230289424A1 (en) Security Chip-Based Security Authentication Method and System, Security Chip, and Readable Storage Medium
CN102594564A (en) Equipment for traffic guidance information security management
WO2020177109A1 (en) Lot-drawing processing method, trusted chip, node, storage medium and electronic device
EP3236631B1 (en) Data checking device and data checking method using the same
Drimer et al. Protecting multiple cores in a single FPGA design
CN104376277A (en) Computing device, method and system

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