KR20230076430A - Tag generation and authenticator for data integrity verification in network-on-chip - Google Patents

Tag generation and authenticator for data integrity verification in network-on-chip Download PDF

Info

Publication number
KR20230076430A
KR20230076430A KR1020210163346A KR20210163346A KR20230076430A KR 20230076430 A KR20230076430 A KR 20230076430A KR 1020210163346 A KR1020210163346 A KR 1020210163346A KR 20210163346 A KR20210163346 A KR 20210163346A KR 20230076430 A KR20230076430 A KR 20230076430A
Authority
KR
South Korea
Prior art keywords
router
tag
authenticator
network
chip
Prior art date
Application number
KR1020210163346A
Other languages
Korean (ko)
Other versions
KR102599674B1 (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 KR1020210163346A priority Critical patent/KR102599674B1/en
Publication of KR20230076430A publication Critical patent/KR20230076430A/en
Application granted granted Critical
Publication of KR102599674B1 publication Critical patent/KR102599674B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30029Logical and Boolean instructions, e.g. XOR, NOT

Abstract

본 발명에 따른 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기는, 각 라우터가 소유하는 32비트의 로컬 키(local key)값들을 저장하는 로컬 키 테이블과, 네트워크-온-칩(NoC) 라우터에 존재하는 라우팅 컴퓨테이션 기능으로부터 출발 및 도착 노드의 정보를 가지고 그에 해당하는 다수의 32비트의 카운터 값들을 생성하는 경로 할당부와, 상기 로컬 키 테이블로부터 제공되는 다수의 로컬 킷값들과 생성된 상기 다수의 32비트의 카운터 값들에 의거하여 다수의 갈루아 필드 곱셈(Galois Field Multiplication, GFM)값을 각각 생성하는 필드 곱셈값 생성부와, 생성된 상기 다수의 갈루아 필드 곱셈값들과 32비트로 나눈 각 플릿 세그먼트(segment)와의 XOR 연산을 통해 경로상의 각 라우터마다 다른 태그를 각각 생성하는 태그 생성부와, 생성된 상기 각 라우터의 태그들을 저장하는 전역 태그 테이블을 포함할 수 있다.A tag generation and authenticator for verifying data integrity in a Network-on-Chip according to the present invention includes a local key table storing 32-bit local key values owned by each router, and Network-on-Chip. (NoC) A route assignment unit that generates a number of 32-bit counter values corresponding to the information of the departure and destination nodes from the routing computation function existing in the router, and a number of local key values provided from the local key table. and a field multiplication value generator for generating a plurality of Galois Field Multiplication (GFM) values based on the generated plurality of 32-bit counter values, respectively, and a plurality of generated Galois field multiplication values and 32 It may include a tag generation unit that generates a different tag for each router on a path through an XOR operation with each flit segment divided into bits, and a global tag table that stores the generated tags of each router.

Description

네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기{TAG GENERATION AND AUTHENTICATOR FOR DATA INTEGRITY VERIFICATION IN NETWORK-ON-CHIP}TAG GENERATION AND AUTHENTICATOR FOR DATA INTEGRITY VERIFICATION IN NETWORK-ON-CHIP}

본 발명은 네트워크-온-칩(Network-on-Chip, NoC)에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기에 관한 것으로, 더욱 상세하게는 갈루아-카운터 모드(Galois-Counter Mode, GCM) 알고리즘을 응용함으로써, 데이터 무결성 검증을 고속의 병렬처리로 실현할 수 있는 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기에 관한 것이다.The present invention relates to a tag generation and authenticator for data integrity verification in a Network-on-Chip (NoC), and more particularly, to a Galois-Counter Mode (GCM) algorithm By application, it relates to a tag generation and authenticator for data integrity verification in a network-on-chip, which can realize data integrity verification with high-speed parallel processing.

반도체 공정 기술이 발전함에 따라 여러 개의 IP를 하나의 칩 위에 집적하는 시스템-온-칩(System-on-Chip, SoC)이 등장하게 되었다.As semiconductor process technology develops, System-on-Chip (SoC), which integrates multiple IPs on a single chip, has emerged.

네트워크-온-칩(Network-on-Chip, NoC)은 IP마다 라우터를 할당하고 인접한 라우터들을 연결하여 하나의 큰 네트워크를 구축하는 방식이며, 이로 인하여 더 높은 대역폭과 병렬성을 확보할 수 있다. 특히, 메시 구조 NoC는 물리적 확장성 및 저렴한 비용으로 인해 고성능 SoC에서 널리 활용되고 있다. Network-on-Chip (NoC) is a method of allocating a router to each IP and connecting adjacent routers to build one large network, thereby securing higher bandwidth and parallelism. In particular, mesh structure NoCs are widely used in high-performance SoCs due to their physical scalability and low cost.

최근 들어, SoC 내 IP의 수가 폭발적으로 증가하여 이를 위한 설계 및 검증하는 작업의 난이도 또한 상승하고 있다. 이에 따라 제3자 회사가 제공하는 재사용 가능한 IP를 활용하는 것이 설계비용을 단축시키는 경우가 많아지고 있다.Recently, the number of IPs in SoC has exploded, and the difficulty of designing and verifying them has also increased. Accordingly, utilizing reusable IP provided by third parties is increasingly reducing design costs.

그러나, 제3자 회사의 악의로 인해 구입한 IP가 HT 기능을 숨기고 있을 수 있다.However, the purchased IP may be hiding the HT function due to the malicious intent of the third party company.

NoC에서 HT의 존재가 보안에 끼치는 영향은 더욱 극대화된다. 하나의 악성 IP가 연결되어 HT에 감염된 라우터는 두 라우터 사이에서 주고받는 데이터를 상위 시스템의 간섭 없이 탈취하거나 변조할 수 있다.The presence of HT in NoC further maximizes the impact on security. A router infected with HT can steal or tamper with data exchanged between the two routers without interference from the upper system.

그러나, HT는 특정한 발동 조건 전에는 정상적인 동작을 하는 경우가 있고, 그 물리적 크기는 가변적이라 단순히 몇 개의 트랜지스터로 이루어질 수도 있다.However, there are cases where the HT operates normally before a specific activation condition, and since its physical size is variable, it may simply consist of several transistors.

수십억 개의 트랜지스터가 들어가는 현재의 SoC 디자인에서 이러한 HT의 존재 여부를 찾아내는 것은 상당히 어렵고, 무결성 검증을 위해서 SoC의 디자인 작업 자체보다 훨씬 막대한 시간과 비용을 들여야 할 수도 있는 만큼, SoC 자체에서 HT가 작동함과 동시에 이를 검출해 낼 수 있는 능력이 필요한 실정이다.It is quite difficult to detect the existence of such HT in the current SoC design with billions of transistors, and it may require much more time and money than the SoC design work itself for integrity verification, so HT operates in the SoC itself At the same time, there is a need for the ability to detect it.

또한, 종래의 데이터 변조를 검출하기 위한 패킷 인증기는 암호 블록 체인링(Cipher Block Chaining, CBC) 기술을 이용하기 때문에 병렬적 처리가 불가능하여 전역 태그 테이블에 많은 메모리를 할당해야만 하는 문제가 있다.In addition, since the conventional packet authenticator for detecting data alteration uses Cipher Block Chaining (CBC) technology, parallel processing is not possible, and thus a large amount of memory must be allocated to the global tag table.

한국공개특허 제10-2017-0072645호(공개일 : 2017. 06. 27.)Korean Patent Publication No. 10-2017-0072645 (Publication date: 2017. 06. 27.)

본 발명은, 갈루아-카운터 모드(Galois-Counter Mode, GCM) 알고리즘을 응용함으로써, 데이터 무결성 검증을 고속의 병렬처리로 실현할 수 있는 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기를 제공하고자 한다.The present invention is a tag generation and authenticator for data integrity verification in a network-on-chip that can realize data integrity verification with high-speed parallel processing by applying the Galois-Counter Mode (GCM) algorithm. want to provide

본 발명은, NoC 구조에 따라 전역 태그 테이블의 크기를 적응적으로 적용할 수 있는 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기를 제공하고자 한다.An object of the present invention is to provide a tag generation and authenticator for data integrity verification in a network-on-chip that can adaptively apply the size of a global tag table according to a NoC structure.

본 발명이 해결하고자 하는 과제는 상기에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재들로부터 본 발명이 속하는 통상의 지식을 가진 자에 의해 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to those mentioned above, and other problems to be solved that are not mentioned can be clearly understood by those skilled in the art from the description below. will be.

본 발명은, 일 관점에 따라, 각 라우터가 소유하는 32비트의 로컬 키(local key)값들을 저장하는 로컬 키 테이블과, 네트워크-온-칩(NoC) 라우터에 존재하는 라우팅 컴퓨테이션 기능으로부터 출발 및 도착 노드의 정보를 가지고 그에 해당하는 다수의 32비트의 카운터 값들을 생성하는 경로 할당부와, 상기 로컬 키 테이블로부터 제공되는 다수의 로컬 킷값들과 생성된 상기 다수의 32비트의 카운터 값들에 의거하여 다수의 갈루아 필드 곱셈(Galois Field Multiplication, GFM)값을 각각 생성하는 필드 곱셈값 생성부와, 생성된 상기 다수의 갈루아 필드 곱셈값들과 32비트로 나눈 각 플릿 세그먼트(segment)와의 XOR 연산을 통해 경로상의 각 라우터마다 다른 태그를 각각 생성하는 태그 생성부와, 생성된 상기 각 라우터의 태그들을 저장하는 전역 태그 테이블을 포함하는 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기를 제공할 수 있다.According to one aspect, the present invention starts from a local key table storing 32-bit local key values owned by each router and a routing computation function present in a network-on-chip (NoC) router. and a path allocator generating a plurality of 32-bit counter values corresponding to the information of the destination node, based on the plurality of local key values provided from the local key table and the generated plurality of 32-bit counter values. Through an XOR operation with a field multiplication value generation unit for generating a plurality of Galois Field Multiplication (GFM) values, respectively, and each flit segment divided into 32 bits with the generated plurality of Galois field multiplication values Provides a tag generator and authenticator for verifying data integrity in Network-on-Chip, including a tag generator that generates different tags for each router on a path, and a global tag table that stores the generated tags of each router can do.

본 발명의 상기 경로 할당부는, 프수도 난수 생성기(Pseudo Random Number Generator, PRNG) 알고리즘을 사용하여 상기 카운터 값들을 생성할 수 있다.The path assigning unit of the present invention may generate the counter values using a Pseudo Random Number Generator (PRNG) algorithm.

본 발명의 상기 태그는, 상기 GFM값과 카운터 모드를 이용한 방식으로 생성될 수 있다.The tag of the present invention may be generated by using the GFM value and the counter mode.

본 발명의 상기 각 라우터는, 출발 라우터로부터 공유 받은 로컬 키, 헤드 플릿의 목적지 정보, 플릿 데이터를 취합하여 태그를 생성한 후 상기 전역 태그 테이블에 저장된 값과 대조할 수 있다.Each of the routers of the present invention collects the local key shared from the starting router, the destination information of the head flit, and flit data to create a tag, and then compares the value stored in the global tag table.

본 발명의 상기 인증기는, 상기 각 라우터마다 생성된 태그가 일치하면 정상적인 작동으로 판단하고, 상기 각 라우터마다 생성된 태그가 불일치하면 상기 전역 태그 테이블의 해당 플릿의 항에 기록하고, 다음 경로에 있을 라우터들에게 상기 전역 태그 테이블을 통해 데이터의 탈취 또는 변조를 경고할 수 있다.In the authenticator of the present invention, if the tags generated for each router match, it is determined that the operation is normal, and if the tags generated for each router do not match, it is recorded in the item of the corresponding flit of the global tag table, and the next route Routers may be warned of data theft or tampering through the global tag table.

본 발명의 상기 전역 태그 테이블의 크기는, (m+n)xN으로 설정(m:행, n:열, N: 최대 플릿의 수)될 수 있다.The size of the global tag table of the present invention may be set to (m+n)xN (m: row, n: column, N: maximum number of flits).

본 발명의 실시예에 따르면, 갈루아-카운터 모드(Galois-Counter Mode, GCM) 알고리즘을 응용함으로써, 데이터 무결성 검증을 위한 고속의 병렬처리를 실현할 수 있다.According to an embodiment of the present invention, high-speed parallel processing for data integrity verification can be realized by applying a Galois-Counter Mode (GCM) algorithm.

본 발명의 실시예에 따르면, NoC 라우터 내 태그를 이용해 변조된 패킷을 검출하고, 이 검출된 패킷을 이용해 HT의 위치를 추적함으로써, NoC 구조에 따라 전역 태그 테이블의 크기를 적응적으로 적용할 수 있으며, 이를 통해 전역 태그 테이블에의 크기를 효과적으로 축소할 수 있다.According to an embodiment of the present invention, a modulated packet is detected using a tag in the NoC router, and the location of the HT is tracked using the detected packet, thereby adaptively applying the size of the global tag table according to the NoC structure. , which effectively reduces the size of the global tag table.

도 1은 본 발명의 실시예에 따른 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기의 블록 구성도이다.
도 2는 기존의 전역 태그 테이블의 디자인에 대한 예시도이다.
도 3은 본 발명에 따른 전역 태그 테이블의 디자인에 대한 예시도이다.
도 4는 본 발명의 발명자들에 의해 수행된 실험 결과를 보여주는 표이다.
1 is a block diagram of a tag generation and authenticator for data integrity verification in Network-on-Chip according to an embodiment of the present invention.
2 is an exemplary diagram of a design of an existing global tag table.
3 is an exemplary diagram of the design of a global tag table according to the present invention.
4 is a table showing the results of experiments conducted by the inventors of the present invention.

먼저, 본 발명의 장점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되는 실시 예들을 참조하면 명확해질 것이다. 여기에서, 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 발명의 범주를 명확하게 이해할 수 있도록 하기 위해 예시적으로 제공되는 것이므로, 본 발명의 기술적 범위는 청구항들에 의해 정의되어야 할 것이다.First, the advantages and characteristics of the present invention, and methods for achieving them will become clear with reference to the embodiments described later in detail in conjunction with the accompanying drawings. Here, the present invention is not limited to the embodiments disclosed below, but may be implemented in a variety of different forms, only the present embodiments make the disclosure of the present invention complete, and conventional techniques in the technical field to which the present invention pertains. Since it is provided as an example so that those skilled in the art can clearly understand the scope of the invention, the technical scope of the present invention should be defined by the claims.

아울러, 아래의 본 발명을 설명함에 있어서 공지 기능 또는 구성 등에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들인 것으로, 이는 사용자, 운용자 등의 의도 또는 관례 등에 따라 달라질 수 있음은 물론이다. 그러므로, 그 정의는 본 명세서의 전반에 걸쳐 기술되는 기술사상을 토대로 이루어져야 할 것이다.In addition, in describing the present invention below, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to intentions or customs of users, operators, etc., of course. Therefore, the definition should be made based on the technical idea described throughout this specification.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세하게 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기의 블록 구성도이다.1 is a block diagram of a tag generation and authenticator for data integrity verification in Network-on-Chip according to an embodiment of the present invention.

도 1을 참조하면, 본 실시예에 태그 생성 및 인증기는 로컬 키 테이블(102), 경로 할당부(104), 필드 곱셈값 생성부(106), 태그 생성부(108) 및 전역 태그 테이블(110) 등을 포함할 수 있다.Referring to FIG. 1, the tag generation and authenticator in this embodiment includes a local key table 102, a path allocation unit 104, a field multiplication value generation unit 106, a tag generation unit 108, and a global tag table 110. ) and the like.

로컬 키 테이블(102)은, 각 라우터(노드)가 지니고 있는 테이블로서, 모든 라우터들이 소유하는 32비트의 로컬 키(local key)값들을 저장하는 등의 기능을 수행할 수 있다. 각 로컬 킷값들은 32비트의 숫자로 정의되고, 총 로컬 키의 숫자는 라우터의 수, 즉 m(행) ㅧ n(열)개가 될 수 있다.The local key table 102 is a table possessed by each router (node) and can perform functions such as storing 32-bit local key values owned by all routers. Each local key value is defined as a 32-bit number, and the total number of local keys can be the number of routers, that is, m (row) × n (column).

경로 할당부(104)는 네트워크-온-칩(NoC)의 라우터에 존재하는 라우팅 컴퓨테이션 기능으로부터 출발 및 도착 노드의 정보를 가지고 그에 해당하는 다수의 32비트의 카운터 값들을 생성하는 등의 기능을 수행할 수 있으며, 이를 위해 경로 할당기(1041) 및 4개의 카운터(1042 내지 1045)를 포함할 수 있다.The path assigning unit 104 has functions such as generating a plurality of 32-bit counter values corresponding to the information of the departure and arrival nodes from the routing computation function present in the router of the Network-on-Chip (NoC). For this purpose, a path allocator 1041 and four counters 1042 to 1045 may be included.

이 카운터 값들은 모든 노드에서 같은 입력 값을 얻는다면 같은 결과값을 생성해야 한다. 다양한 방법으로 적용할 수 있는데 단순한 방법으로 또 다른 로컬 테이블을 사용할 수도 있지만, 본 발명의 검증을 위한 실제 실험의 경우에서는 프수도 난수 생성기(Pseudo Random Number Generator, PRNG) 알고리즘을 사용하여 구현하였다.These counter values should produce the same result if all nodes get the same input value. It can be applied in various ways, and another local table can be used in a simple way, but in the case of an actual experiment for the verification of the present invention, it was implemented using a Pseudo Random Number Generator (PRNG) algorithm.

필드 곱셈값 생성부(106)는 로컬 키 테이블(102)로부터 제공되는 다수의 로컬 키값들과 경로 할당부(104)로부터 전달되는 다수의 32비트의 카운터 값들에 의거하여 다수의 갈루아 필드 곱셈(Galois Field Multiplication, GFM)값을 각각 생성(연산)하는 등의 기능을 수행(즉, 플릿(Flit) 단위로 병렬적으로 진행)할 수 있다.The field multiplication value generator 106 generates a plurality of Galois field multiplications (Galois Functions such as generating (calculating) each Field Multiplication (GFM) value can be performed (that is, proceeding in parallel in units of flits).

이를 위해, 필드 곱셈값 생성부(106)는, 예컨대 병렬적으로 갈루아 필도 곱셈값들을 각각 생성하는 4개의 갈루아 필드 곱셈기(1061 내지 1064)를 포함할 수 있다.To this end, the field multiplication value generation unit 106 may include, for example, four Galois field multipliers 1061 to 1064 that each generate Galois field multiplication values in parallel.

즉, 각 갈루아 필드 곱셈기(1061 내지 1064)는 갈루아 필드(혹은 유한 필드(Finite Field)) 내에서 계산을 실행하는데, 이러한 계산은 GF(232) 혹은 GF(28)의 바이너리 필드(binary field) 내에서 수행될 수 있으며, 본 발명에 대한 실험은 전자로 진행하였다.That is, each of the Galois field multipliers 1061 to 1064 performs calculations within a Galois field (or finite field), and these calculations are performed using the binary field of GF(2 32 ) or GF(2 8 ). ), and the experiment for the present invention was conducted with the former.

갈루아 필드 내의 곱셈(Multiplication)을 간단히 설명하면 두 숫자의 캐리레스 곱셈(carryless multiplication)을 계산한 후 각 필드에 정해진 모듈로(modulo) 값으로 나눠 나머지를 취하여 결과로 출력한다. 해당 방식은 일방향 해시함수(one-way hash function)로서 결과값으로 입력 값을 유추할 수 없는 역할을 할 수 있다.To briefly explain the multiplication within the Galois field, after calculating the carryless multiplication of two numbers, dividing by the modulo value determined in each field, the remainder is taken and output as the result. This method is a one-way hash function, and may play a role in not being able to infer an input value from a result value.

태그 생성부(108)는 곱셈값 생성부(106) 내의 각 갈루아 필드 곱셈기(1061 내지 1064)를 통해 생성된 다수의 갈루아 필드 곱셈값들과 32비트로 나눈 각 플릿 세그먼트(segment)(F0, F1, F2, F3)와의 XOR 연산을 통해 경로상의 각 라우터마다 다른 태그(tar0, tag1, tag2, tag3)를 각각 생성하는 등의 기능을 수행할 수 있으며, 여기에서 각각 생성되는 각 라우터의 태그들은 전역 태그 테이블(110)에 저장될 수 있다.The tag generation unit 108 divides a plurality of Galois field multiplication values generated through each Galois field multiplier 1061 to 1064 in the multiplication value generation unit 106 into 32 bits and each flit segment (F 0 , F 1 , F 2 , F 3 ), it is possible to perform a function such as generating different tags (tar0, tag1, tag2, tag3) for each router on the path, respectively. Tags may be stored in the global tag table 110 .

즉, 각 라우터의 태그는, GFM값과 카운터 모드를 이용한 방식으로 생성될 수 있으며, 각 라우터는 출발 라우터로부터 공유 받은 로컬 키, 헤드 플릿의 목적지 정보, 플릿 데이터를 취합하여 태그를 생성한 후 전역 태그 테이블(110)에 저장된 값과 대조함으로써, 데이터의 무결성 검증을 수행할 수 있다.That is, the tag of each router can be created using the GFM value and the counter mode, and each router creates a tag by collecting the local key shared from the starting router, the destination information of the head fleet, and the fleet data, and then creates a global tag. Data integrity verification can be performed by comparing with values stored in the tag table 110 .

예컨대, 인증기는 각 라우터마다 생성된 태그가 일치하면 정상적인 작동으로 판단하고, 각 라우터마다 생성된 태그가 불일치하면 전역 태그 테이블(110)의 해당 플릿의 항에 기록하고, 다음 경로에 있을 라우터들에게 전역 태그 테이블(110)을 통해 데이터의 탈취 또는 변조를 경고할 수 있다.For example, the authenticator determines that the operation is normal if the tags generated by each router match, and if the tags generated by each router do not match, the authenticator records it in the item of the corresponding fleet of the global tag table 110, and informs routers on the next route. Data theft or tampering can be warned through the global tag table 110 .

여기에서, 전역 태그 테이블의 크기는, 예컨대 (m+n) ㅧ N으로 설정(m:행, n:열, N: 최대 플릿의 수)될 수 있다.Here, the size of the global tag table may be set to, for example, (m+n) × N (m: row, n: column, N: maximum number of flits).

본 발명의 실시예에 따르면, 태그 생성 및 인증기에서의 태그 계산 과정은 다른 태그 계산과 독립적이기 때문에 전부 병렬적 실행이 가능하다. 예컨대, tag0을 생성하기 위한 계산인 F0과 첫번째 GFM 블록과의 XOR 연산은 다른 GFM 블록의 결과의 영향을 받지 않는다.According to an embodiment of the present invention, since tag generation and tag calculation processes in the authenticator are independent of other tag calculations, parallel execution is possible. For example, the XOR operation between F 0 and the first GFM block, which is a calculation to create tag 0 , is not affected by the results of other GFM blocks.

기존에 사용되던 암호 블록 체인링의 경우 각 GFM 블록이 이전 GFM 블록의 계산 값을 요구하기 때문에 블록 수에 비례한 만큼 총 실행 싸이클이 증가하겠지만, 본 발명에 따르면, 사용된 갈루아/카운터 모드의 경우 더 단축된 싸이클 내 모든 태그의 계산이 가능하다. 다만, 카운터 블록의 경우 경로 할당기로부터 받은 값을 증가(increment)시키는데, 각 1 싸이클이 소모되기 때문에, n이 블록 수라고 가정할 경우 정확히 1/n배만큼 단축되지는 않는다.In the case of the previously used crypto block chaining, since each GFM block requires the calculated value of the previous GFM block, the total execution cycle will increase in proportion to the number of blocks. However, according to the present invention, in the case of the Galois/Counter mode used Calculation of all tags in shorter cycles is possible. However, in the case of a counter block, since the value received from the path allocator is incremented, each cycle is consumed, so assuming that n is the number of blocks, it is not exactly shortened by 1/n times.

즉, 본 발명에 따르면, 각 플릿마다 NoC에 존재하는 모든 노드(라우터)마다 태그 테이블 항을 만드는 것이 아닌, 해당 플릿의 경로를 미리 계산한 후 경유해야 할 노드의 수만큼만 태그를 저장할 수 있다.That is, according to the present invention, instead of creating a tag table item for every node (router) existing in the NoC for each flit, it is possible to pre-calculate the route of the corresponding flit and store tags as many as the number of nodes to be traversed.

도 2는 기존의 전역 태그 테이블의 디자인에 대한 예시도이다.2 is an exemplary diagram of a design of an existing global tag table.

도 2를 참조하면, 기존의 디자인은 각 노드마다 하나의 열을 가지고 있기 때문에, m개의 행과 n개의 열을 가진 NoC 구조의 태그 테이블은 m ㅧ n개의 태그 저장을 위한 열을 가진다.Referring to FIG. 2, since the existing design has one column for each node, the tag table of the NoC structure having m rows and n columns has m × n columns for tag storage.

각 태그값들은 32비트이므로, 해당 태그 테이블은 비트의 크기를 가지고 있다고 할 수 있다. 만일 플릿 0이 0번 노드(node)에서 2번 노드로 전송된다고 할 때, (노드 0은 출발점이기 때문에 태그 인증을 할 필요가 없어 제외함) 노드 1과 노드 2의 칸에는 태그가 저장되지만 나머지 (m x n - 1) - 2개의 칸은 무용하게 된다. 이러한 버려지는 32비트의 칸에는 0값을 저장한다.Since each tag value is 32 bits, it can be said that the corresponding tag table has the size of bits. If fleet 0 is transferred from node 0 to node 2, (except because node 0 is the starting point, tag authentication is not required), tags are stored in the spaces of node 1 and node 2, but the rest (m x n - 1) - 2 squares become useless. A value of 0 is stored in the discarded 32-bit cell.

도 3은 본 발명에 따른 전역 태그 테이블의 디자인에 대한 예시도이다.3 is an exemplary diagram of the design of a global tag table according to the present invention.

도 3을 참조하면, m x n의 NoC 구조에서 XY 확정 경로(deterministic routing)를 가정하면, 하나의 플릿이 최대로 경유할 수 있는 노드의 수는 m + n - 2 이다. 따라서, 태그 테이블의 총 크기는 비트이며, 똑같이 플릿 0이 0번 노드에서 2번 노드로 전송된다고 할 때, 노드 0과 노드 1의 칸에 각각 tag0 그리고 tag1이 저장되고 노드 2부터 노드 m + n - 3까지는 0의 값이 저장된다.Referring to FIG. 3, assuming XY deterministic routing in an mxn NoC structure, the maximum number of nodes that one flit can pass through is m + n - 2. Therefore, the total size of the tag table is bits, and assuming that fleet 0 is transferred from node 0 to node 2, tag 0 and tag 1 are stored in node 0 and node 1, respectively, and from node 2 to node m A value of 0 is stored until + n - 3.

이러한 변경점으로 얻게 되는 이득은 다음과 같다. 즉, m과 n 그리고 N이 자연수라고 가정 시(32 ㅧ (m + n -2) + 2) ×x N x < (32 x (m x n) + 2) x N은 언제나 성립하므로, NoC 내에서 관리해야 하는 전역 태그 테이블의 크기가 줄어들게 된다. 다만, 이 전역 태그 테이블은 XY 확정 경로와 같은 라우팅 알고리즘(Routing Algorithm)을 통해 출발 노드에서 경로를 완벽히 알고 있어야 한다는 가정이 필요하다.The benefits of these changes are: In other words, assuming that m, n, and N are natural numbers, (32 ㅧ (m + n -2) + 2) ×x N x < (32 x (m x n) + 2) x N is always true, so management within the NoC This reduces the size of the global tag table that must be used. However, this global tag table requires the assumption that the route must be perfectly known from the starting node through a routing algorithm such as XY confirmed route.

본 발명의 발명자들은 본 발명에 대한 시뮬레이션(설험)을 진행하였다.The inventors of the present invention conducted a simulation (experiment) for the present invention.

모든 라우터에는 인증기 모듈이 추가되어, 라우터로 들어오는 플릿을 검증하고 나가는 플릿의 태그를 생성하는 역할을 수행한다. 각 패킷이 IP와 연결된 네트워크 인터페이스(network interface, NI)를 통하여 라우터로 전송될 때 일정한 크기의 플릿으로 나누어지게 되는데, 여기서 플릿의 크기는, 예컨대 128비트로 정의한다.An authenticator module is added to every router, which serves to verify fleets entering the router and create tags for outgoing fleets. When each packet is transmitted to a router through a network interface (NI) connected to IP, it is divided into flits of a certain size. Here, the size of the flits is defined as, for example, 128 bits.

패킷이 출발하는 라우터의 인증기는 패킷의 도착 라우터의 위치를 읽어 태그 생성기를 통해 태그를 생성하고 전역 태그 테이블에 저장한다.The authenticator of the router from which the packet originates reads the location of the destination router of the packet, creates a tag through a tag generator, and stores it in the global tag table.

나누어진 플릿이 경로 상에 있는 다음 라우터에 도착하게 되면, 라우터의 인증기는 해당 플릿이 할당된 태그 테이블의 항의 태그 하나를 이용하여 인증을 시도한다. 만일 인증이 성공한다면 라우터의 다음 작업을 속행하지만, 실패하게 된다면 해당 플릿은 변조되었다고 판단 후 다음 경로에 있을 라우터들에게 태그 테이블을 통하여 경고한다. 매 라우터마다 모든 태그를 검증할 수도 있지만, 이는 플릿이 움직일 때마다 큰 지연 시간을 유발할 가능성이 있어 그 중 하나의 태그만을 인증한다.When the divided flit arrives at the next router on the route, the router's authenticator attempts authentication using one tag in the tag table to which the flit is assigned. If the authentication succeeds, the next task of the router is continued, but if it fails, the corresponding flit determines that it has been tampered with and warns routers on the next path through the tag table. It is also possible to verify all tags at every router, but this is likely to introduce large latency each time the fleet moves, so only one tag is authenticated.

플릿이 최종 목표 라우터에 도착하게 되면, 해당 라우터의 인증기는 플릿이 태그 테이블에 가진 모든 태그에 대해 인증을 시도한다. 이는 플릿이 경로 도중 일정한 부분만 변조되었을 가능성을 배제하기 위해서이다.When a fleet arrives at its ultimate destination router, that router's authenticator attempts to authenticate against every tag the fleet has in its tag table. This is to exclude the possibility that only a certain part of the flit is modulated during the path.

디자인 성능 실험을 위하여 오픈소스 컴퓨터 구조 시뮬레이터인 gem5 상에 구현된 가넷(Garnet)2.0 시뮬레이터를 사용하여 디자인 검증을 실시하였으며, NoC 모델은 4x4 메시 구조에서 널리 사용되는 XY 라우팅 및 웜홀 스위칭을 채택하였다. 각 시뮬레이션은 2000 싸이클 동안 진행되었으며, 임의의 라우터가 HT에 감염된 라우터로 설정되어 데이터 변조 역할을 수행한다. 실험 결과는 도 4에 도시된 표와 같다.For the design performance experiment, design verification was conducted using the Garnet 2.0 simulator implemented on gem5, an open source computer structure simulator, and the NoC model adopted XY routing and wormhole switching, which are widely used in 4x4 mesh structures. Each simulation was conducted for 2000 cycles, and a random router was configured as an HT-infected router to act as a data tamper. The experimental results are shown in the table shown in FIG. 4 .

실험에 사용한 모델은 본 발명에서 제시된 인증기가 구현되지 않은 모델 하나와 마지막 라우터에서 전체 태그에 대한 검증을 하지 않는 1-tag 모델, 그리고 검증을 하는 Full-tag 모델 총 3가지를 비교하였다.As for the models used in the experiment, a total of three models were compared: one model in which the authenticator proposed in the present invention is not implemented, a 1-tag model in which all tags are not verified in the last router, and a full-tag model in which verification is performed.

마지막 검증에 하나의 싸이클을 더 소모해야 하기에 Full-tag 모델은 1-tag 모델보다 라우터의 버퍼 단계에서 98% 만큼 플릿 지연 시간이 증가하였다. 하지만 오히려 전체 NoC에서 동작 시간 동안의 홉(hops)의 수는 감소하고 변조된 플릿의 검출 성공률은 100%에 가까운 것으로 확인되었다.Since one more cycle is required for the final verification, the full-tag model increases the fleet delay time by 98% in the router's buffer stage than the 1-tag model. However, rather, it was confirmed that the number of hops during operation time in the entire NoC decreased and the detection success rate of modulated flits was close to 100%.

큰 지연 시간 상승을 조금이나마 무마하기 위하여 전체 태그 검출을 시행하지 않는 모델 또한 실험에 포함하였으며, 이는 기존 모델에 비교하여 66%의 플릿 지연 시간 증가만을 불러왔으나 특정 라우터에서 생기는 변조의 경우 감지하지 못하는 상황이 발생하여 대략 3%의 검출 성공률의 감소가 일어남을 알 수 있었다.In order to alleviate the large latency increase, a model that does not perform full tag detection was also included in the experiment, which only increased fleet latency by 66% compared to the existing model, but in the case of modulation generated by a specific router, it could not be detected. It was found that the situation occurred and a decrease in the detection success rate of about 3% occurred.

이상의 설명은 본 발명의 기술사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경 등이 가능함을 쉽게 알 수 있을 것이다. 즉, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것으로서, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.The above description is merely illustrative of the technical idea of the present invention, and those skilled in the art can make various substitutions, modifications, and changes within the scope not departing from the essential characteristics of the present invention. You will easily see that this is possible. That is, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention but to explain, and the scope of the technical idea of the present invention is not limited by these embodiments.

따라서, 본 발명의 보호 범위는 후술되는 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Therefore, the protection scope of the present invention should be construed according to the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.

102 : 로컬 키 테이블
104 : 경로 할당부
106 : 필드 곱셈값 생성부
108 : 태그 생성부
110 : 전역 태그 테이블
102: local key table
104: path allocation unit
106: field multiplication value generation unit
108: tag generation unit
110: global tag table

Claims (6)

각 라우터가 소유하는 32비트의 로컬 키(local key)값들을 저장하는 로컬 키 테이블과,
네트워크-온-칩(NoC) 라우터에 존재하는 라우팅 컴퓨테이션 기능으로부터 출발 및 도착 노드의 정보를 가지고 그에 해당하는 다수의 32비트의 카운터 값들을 생성하는 경로 할당부와,
상기 로컬 키 테이블로부터 제공되는 다수의 로컬 킷값들과 생성된 상기 다수의 32비트의 카운터 값들에 의거하여 다수의 갈루아 필드 곱셈(Galois Field Multiplication, GFM)값을 각각 생성하는 필드 곱셈값 생성부와,
생성된 상기 다수의 갈루아 필드 곱셈값들과 32비트로 나눈 각 플릿 세그먼트(segment)와의 XOR 연산을 통해 경로상의 각 라우터마다 다른 태그를 각각 생성하는 태그 생성부와,
생성된 상기 각 라우터의 태그들을 저장하는 전역 태그 테이블을 포함하는
네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기.
A local key table that stores 32-bit local key values owned by each router;
a path allocator that generates a plurality of 32-bit counter values corresponding to the information of the departure and arrival nodes from a routing computation function existing in a network-on-chip (NoC) router;
A field multiplication value generator for generating a plurality of Galois Field Multiplication (GFM) values, respectively, based on the plurality of local key values provided from the local key table and the generated plurality of 32-bit counter values;
A tag generation unit that generates different tags for each router on a path through an XOR operation between the generated Galois field multiplication values and each flit segment divided into 32 bits;
Includes a global tag table for storing the generated tags of each router
Tag generation and authenticator for data integrity verification on Network-on-Chip.
제 1 항에 있어서,
상기 경로 할당부는,
프수도 난수 생성기(Pseudo Random Number Generator, PRNG) 알고리즘을 사용하여 상기 카운터 값들을 생성하는
네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기.
According to claim 1,
The path assignment unit,
Generating the counter values using a Pseudo Random Number Generator (PRNG) algorithm
Tag generation and authenticator for data integrity verification on Network-on-Chip.
제 1 항에 있어서,
상기 태그는,
상기 GFM값과 카운터 모드를 이용한 방식으로 생성되는
네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기.
According to claim 1,
The tag is
Generated by the method using the GFM value and the counter mode
Tag generation and authenticator for data integrity verification on Network-on-Chip.
제 1 항에 있어서,
상기 각 라우터는,
출발 라우터로부터 공유 받은 로컬 키, 헤드 플릿의 목적지 정보, 플릿 데이터를 취합하여 태그를 생성한 후 상기 전역 태그 테이블에 저장된 값과 대조하는
네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기.
According to claim 1,
Each router,
After collecting the local key shared from the departure router, destination information of the head fleet, and fleet data to create a tag, compare it with the value stored in the global tag table.
Tag generation and authenticator for data integrity verification on Network-on-Chip.
제 1 항에 있어서,
상기 인증기는,
상기 각 라우터마다 생성된 태그가 일치하면 정상적인 작동으로 판단하고, 상기 각 라우터마다 생성된 태그가 불일치하면 상기 전역 태그 테이블의 해당 플릿의 항에 기록하고, 다음 경로에 있을 라우터들에게 상기 전역 태그 테이블을 통해 데이터의 탈취 또는 변조를 경고하는
네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기.
According to claim 1,
The authenticator,
If the tags created for each router match, it is determined to be a normal operation. If the tags created for each router do not match, it is recorded in the item of the corresponding flit in the global tag table, and the global tag table is sent to routers on the next route. to warn of theft or falsification of data through
Tag generation and authenticator for data integrity verification on Network-on-Chip.
제 1 항에 있어서,
상기 전역 태그 테이블의 크기는,
(m+n)xN으로 설정(m:행, n:열, N: 최대 플릿의 수)되는
네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기.
According to claim 1,
The size of the global tag table is
set to (m+n)xN (m:rows, n:columns, N:max number of fleets)
Tag generation and authenticator for data integrity verification on Network-on-Chip.
KR1020210163346A 2021-11-24 2021-11-24 Tag generation and authenticator for data integrity verification in network-on-chip KR102599674B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210163346A KR102599674B1 (en) 2021-11-24 2021-11-24 Tag generation and authenticator for data integrity verification in network-on-chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210163346A KR102599674B1 (en) 2021-11-24 2021-11-24 Tag generation and authenticator for data integrity verification in network-on-chip

Publications (2)

Publication Number Publication Date
KR20230076430A true KR20230076430A (en) 2023-05-31
KR102599674B1 KR102599674B1 (en) 2023-11-06

Family

ID=86543337

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210163346A KR102599674B1 (en) 2021-11-24 2021-11-24 Tag generation and authenticator for data integrity verification in network-on-chip

Country Status (1)

Country Link
KR (1) KR102599674B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140025601A (en) * 2011-07-01 2014-03-04 인텔 코오퍼레이션 Efficient and scalable cyclic redundancy check circuit using galois-field arithmetic
KR101373778B1 (en) * 2012-02-13 2014-03-14 한양대학교 산학협력단 Network on chip and data transmission method for inter communication of system on chip, and recording medium storing program for executing method of the same in computer
KR20160008532A (en) * 2013-05-15 2016-01-22 시놉시스, 인크. Automatic control system and method for a true random number generator
KR20170072645A (en) 2015-12-17 2017-06-27 삼성전자주식회사 Processor and method for processing data thereof
KR20190034048A (en) * 2017-09-22 2019-04-01 삼성전자주식회사 Server registration method of client using encryption security protocol-based communication and integrity verification method between client and server using the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140025601A (en) * 2011-07-01 2014-03-04 인텔 코오퍼레이션 Efficient and scalable cyclic redundancy check circuit using galois-field arithmetic
KR101373778B1 (en) * 2012-02-13 2014-03-14 한양대학교 산학협력단 Network on chip and data transmission method for inter communication of system on chip, and recording medium storing program for executing method of the same in computer
KR20160008532A (en) * 2013-05-15 2016-01-22 시놉시스, 인크. Automatic control system and method for a true random number generator
KR20170072645A (en) 2015-12-17 2017-06-27 삼성전자주식회사 Processor and method for processing data thereof
KR20190034048A (en) * 2017-09-22 2019-04-01 삼성전자주식회사 Server registration method of client using encryption security protocol-based communication and integrity verification method between client and server using the same

Also Published As

Publication number Publication date
KR102599674B1 (en) 2023-11-06

Similar Documents

Publication Publication Date Title
US11861400B2 (en) Systems, devices, and methods for selecting a distributed framework
CN111382464B (en) Encryption ASIC including circuit code conversion function
Zhou et al. Security and privacy for the industrial internet of things: An overview of approaches to safeguarding endpoints
CN110032883B (en) Method, system and node for realizing privacy protection in block chain
CN110032884B (en) Method for realizing privacy protection in block chain, node and storage medium
CN110992027B (en) Efficient transaction method and device for realizing privacy protection in block chain
US9485088B2 (en) Systems and methods for dynamic data masking
Awan et al. Secure framework enhancing AES algorithm in cloud computing
Li et al. A privacy-preserving storage scheme for logistics data with assistance of blockchain
US9804891B1 (en) Parallelizing multiple signing and verifying operations within a secure routing context
US11316692B2 (en) Systems, devices, and methods for selecting a distributed framework
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
CN110750329B (en) Method and device for realizing operation of virtual machine based on FPGA
US11593298B2 (en) Reconfigurable network-on-chip security architecture
CN109376021A (en) The response method and server that interface calls
CN109522758A (en) Hard disk data management method and hard disk
CN110704368A (en) Efficient operation method and device of safe intelligent contract processor based on FPGA
Nesa et al. A lightweight security protocol for IoT using Merkle hash tree and chaotic cryptography
CN110598416B (en) Transaction scheduling method and device
KR102599674B1 (en) Tag generation and authenticator for data integrity verification in network-on-chip
Wu Research of cloud platform data encryption technology based on ECC algorithm
Giehl et al. Implementing a performant security control for industrial ethernet
Lefray et al. Microarchitecture-aware virtual machine placement under information leakage constraints
Wankhade et al. A Survey on Security Challenges and Defending Methods in Cloud Based Internet of Things Network
CN111092716A (en) Encryption mode realization method, device, equipment and medium of AES (advanced encryption Standard) algorithm

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant