KR20230076430A - 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기 - Google Patents

네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기 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
tag
router
authenticator
chip
network
Prior art date
Application number
KR1020210163346A
Other languages
English (en)
Other versions
KR102599674B1 (ko
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/ko
Publication of KR20230076430A publication Critical patent/KR20230076430A/ko
Application granted granted Critical
Publication of KR102599674B1 publication Critical patent/KR102599674B1/ko

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명에 따른 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기는, 각 라우터가 소유하는 32비트의 로컬 키(local key)값들을 저장하는 로컬 키 테이블과, 네트워크-온-칩(NoC) 라우터에 존재하는 라우팅 컴퓨테이션 기능으로부터 출발 및 도착 노드의 정보를 가지고 그에 해당하는 다수의 32비트의 카운터 값들을 생성하는 경로 할당부와, 상기 로컬 키 테이블로부터 제공되는 다수의 로컬 킷값들과 생성된 상기 다수의 32비트의 카운터 값들에 의거하여 다수의 갈루아 필드 곱셈(Galois Field Multiplication, GFM)값을 각각 생성하는 필드 곱셈값 생성부와, 생성된 상기 다수의 갈루아 필드 곱셈값들과 32비트로 나눈 각 플릿 세그먼트(segment)와의 XOR 연산을 통해 경로상의 각 라우터마다 다른 태그를 각각 생성하는 태그 생성부와, 생성된 상기 각 라우터의 태그들을 저장하는 전역 태그 테이블을 포함할 수 있다.

Description

네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기{TAG GENERATION AND AUTHENTICATOR FOR DATA INTEGRITY VERIFICATION IN NETWORK-ON-CHIP}
본 발명은 네트워크-온-칩(Network-on-Chip, NoC)에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기에 관한 것으로, 더욱 상세하게는 갈루아-카운터 모드(Galois-Counter Mode, GCM) 알고리즘을 응용함으로써, 데이터 무결성 검증을 고속의 병렬처리로 실현할 수 있는 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기에 관한 것이다.
반도체 공정 기술이 발전함에 따라 여러 개의 IP를 하나의 칩 위에 집적하는 시스템-온-칩(System-on-Chip, SoC)이 등장하게 되었다.
네트워크-온-칩(Network-on-Chip, NoC)은 IP마다 라우터를 할당하고 인접한 라우터들을 연결하여 하나의 큰 네트워크를 구축하는 방식이며, 이로 인하여 더 높은 대역폭과 병렬성을 확보할 수 있다. 특히, 메시 구조 NoC는 물리적 확장성 및 저렴한 비용으로 인해 고성능 SoC에서 널리 활용되고 있다.
최근 들어, SoC 내 IP의 수가 폭발적으로 증가하여 이를 위한 설계 및 검증하는 작업의 난이도 또한 상승하고 있다. 이에 따라 제3자 회사가 제공하는 재사용 가능한 IP를 활용하는 것이 설계비용을 단축시키는 경우가 많아지고 있다.
그러나, 제3자 회사의 악의로 인해 구입한 IP가 HT 기능을 숨기고 있을 수 있다.
NoC에서 HT의 존재가 보안에 끼치는 영향은 더욱 극대화된다. 하나의 악성 IP가 연결되어 HT에 감염된 라우터는 두 라우터 사이에서 주고받는 데이터를 상위 시스템의 간섭 없이 탈취하거나 변조할 수 있다.
그러나, HT는 특정한 발동 조건 전에는 정상적인 동작을 하는 경우가 있고, 그 물리적 크기는 가변적이라 단순히 몇 개의 트랜지스터로 이루어질 수도 있다.
수십억 개의 트랜지스터가 들어가는 현재의 SoC 디자인에서 이러한 HT의 존재 여부를 찾아내는 것은 상당히 어렵고, 무결성 검증을 위해서 SoC의 디자인 작업 자체보다 훨씬 막대한 시간과 비용을 들여야 할 수도 있는 만큼, SoC 자체에서 HT가 작동함과 동시에 이를 검출해 낼 수 있는 능력이 필요한 실정이다.
또한, 종래의 데이터 변조를 검출하기 위한 패킷 인증기는 암호 블록 체인링(Cipher Block Chaining, CBC) 기술을 이용하기 때문에 병렬적 처리가 불가능하여 전역 태그 테이블에 많은 메모리를 할당해야만 하는 문제가 있다.
한국공개특허 제10-2017-0072645호(공개일 : 2017. 06. 27.)
본 발명은, 갈루아-카운터 모드(Galois-Counter Mode, GCM) 알고리즘을 응용함으로써, 데이터 무결성 검증을 고속의 병렬처리로 실현할 수 있는 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기를 제공하고자 한다.
본 발명은, NoC 구조에 따라 전역 태그 테이블의 크기를 적응적으로 적용할 수 있는 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기를 제공하고자 한다.
본 발명이 해결하고자 하는 과제는 상기에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재들로부터 본 발명이 속하는 통상의 지식을 가진 자에 의해 명확하게 이해될 수 있을 것이다.
본 발명은, 일 관점에 따라, 각 라우터가 소유하는 32비트의 로컬 키(local key)값들을 저장하는 로컬 키 테이블과, 네트워크-온-칩(NoC) 라우터에 존재하는 라우팅 컴퓨테이션 기능으로부터 출발 및 도착 노드의 정보를 가지고 그에 해당하는 다수의 32비트의 카운터 값들을 생성하는 경로 할당부와, 상기 로컬 키 테이블로부터 제공되는 다수의 로컬 킷값들과 생성된 상기 다수의 32비트의 카운터 값들에 의거하여 다수의 갈루아 필드 곱셈(Galois Field Multiplication, GFM)값을 각각 생성하는 필드 곱셈값 생성부와, 생성된 상기 다수의 갈루아 필드 곱셈값들과 32비트로 나눈 각 플릿 세그먼트(segment)와의 XOR 연산을 통해 경로상의 각 라우터마다 다른 태그를 각각 생성하는 태그 생성부와, 생성된 상기 각 라우터의 태그들을 저장하는 전역 태그 테이블을 포함하는 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기를 제공할 수 있다.
본 발명의 상기 경로 할당부는, 프수도 난수 생성기(Pseudo Random Number Generator, PRNG) 알고리즘을 사용하여 상기 카운터 값들을 생성할 수 있다.
본 발명의 상기 태그는, 상기 GFM값과 카운터 모드를 이용한 방식으로 생성될 수 있다.
본 발명의 상기 각 라우터는, 출발 라우터로부터 공유 받은 로컬 키, 헤드 플릿의 목적지 정보, 플릿 데이터를 취합하여 태그를 생성한 후 상기 전역 태그 테이블에 저장된 값과 대조할 수 있다.
본 발명의 상기 인증기는, 상기 각 라우터마다 생성된 태그가 일치하면 정상적인 작동으로 판단하고, 상기 각 라우터마다 생성된 태그가 불일치하면 상기 전역 태그 테이블의 해당 플릿의 항에 기록하고, 다음 경로에 있을 라우터들에게 상기 전역 태그 테이블을 통해 데이터의 탈취 또는 변조를 경고할 수 있다.
본 발명의 상기 전역 태그 테이블의 크기는, (m+n)xN으로 설정(m:행, n:열, N: 최대 플릿의 수)될 수 있다.
본 발명의 실시예에 따르면, 갈루아-카운터 모드(Galois-Counter Mode, GCM) 알고리즘을 응용함으로써, 데이터 무결성 검증을 위한 고속의 병렬처리를 실현할 수 있다.
본 발명의 실시예에 따르면, NoC 라우터 내 태그를 이용해 변조된 패킷을 검출하고, 이 검출된 패킷을 이용해 HT의 위치를 추적함으로써, NoC 구조에 따라 전역 태그 테이블의 크기를 적응적으로 적용할 수 있으며, 이를 통해 전역 태그 테이블에의 크기를 효과적으로 축소할 수 있다.
도 1은 본 발명의 실시예에 따른 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기의 블록 구성도이다.
도 2는 기존의 전역 태그 테이블의 디자인에 대한 예시도이다.
도 3은 본 발명에 따른 전역 태그 테이블의 디자인에 대한 예시도이다.
도 4는 본 발명의 발명자들에 의해 수행된 실험 결과를 보여주는 표이다.
먼저, 본 발명의 장점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되는 실시 예들을 참조하면 명확해질 것이다. 여기에서, 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 발명의 범주를 명확하게 이해할 수 있도록 하기 위해 예시적으로 제공되는 것이므로, 본 발명의 기술적 범위는 청구항들에 의해 정의되어야 할 것이다.
아울러, 아래의 본 발명을 설명함에 있어서 공지 기능 또는 구성 등에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들인 것으로, 이는 사용자, 운용자 등의 의도 또는 관례 등에 따라 달라질 수 있음은 물론이다. 그러므로, 그 정의는 본 명세서의 전반에 걸쳐 기술되는 기술사상을 토대로 이루어져야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기의 블록 구성도이다.
도 1을 참조하면, 본 실시예에 태그 생성 및 인증기는 로컬 키 테이블(102), 경로 할당부(104), 필드 곱셈값 생성부(106), 태그 생성부(108) 및 전역 태그 테이블(110) 등을 포함할 수 있다.
로컬 키 테이블(102)은, 각 라우터(노드)가 지니고 있는 테이블로서, 모든 라우터들이 소유하는 32비트의 로컬 키(local key)값들을 저장하는 등의 기능을 수행할 수 있다. 각 로컬 킷값들은 32비트의 숫자로 정의되고, 총 로컬 키의 숫자는 라우터의 수, 즉 m(행) ㅧ n(열)개가 될 수 있다.
경로 할당부(104)는 네트워크-온-칩(NoC)의 라우터에 존재하는 라우팅 컴퓨테이션 기능으로부터 출발 및 도착 노드의 정보를 가지고 그에 해당하는 다수의 32비트의 카운터 값들을 생성하는 등의 기능을 수행할 수 있으며, 이를 위해 경로 할당기(1041) 및 4개의 카운터(1042 내지 1045)를 포함할 수 있다.
이 카운터 값들은 모든 노드에서 같은 입력 값을 얻는다면 같은 결과값을 생성해야 한다. 다양한 방법으로 적용할 수 있는데 단순한 방법으로 또 다른 로컬 테이블을 사용할 수도 있지만, 본 발명의 검증을 위한 실제 실험의 경우에서는 프수도 난수 생성기(Pseudo Random Number Generator, PRNG) 알고리즘을 사용하여 구현하였다.
필드 곱셈값 생성부(106)는 로컬 키 테이블(102)로부터 제공되는 다수의 로컬 키값들과 경로 할당부(104)로부터 전달되는 다수의 32비트의 카운터 값들에 의거하여 다수의 갈루아 필드 곱셈(Galois Field Multiplication, GFM)값을 각각 생성(연산)하는 등의 기능을 수행(즉, 플릿(Flit) 단위로 병렬적으로 진행)할 수 있다.
이를 위해, 필드 곱셈값 생성부(106)는, 예컨대 병렬적으로 갈루아 필도 곱셈값들을 각각 생성하는 4개의 갈루아 필드 곱셈기(1061 내지 1064)를 포함할 수 있다.
즉, 각 갈루아 필드 곱셈기(1061 내지 1064)는 갈루아 필드(혹은 유한 필드(Finite Field)) 내에서 계산을 실행하는데, 이러한 계산은 GF(232) 혹은 GF(28)의 바이너리 필드(binary field) 내에서 수행될 수 있으며, 본 발명에 대한 실험은 전자로 진행하였다.
갈루아 필드 내의 곱셈(Multiplication)을 간단히 설명하면 두 숫자의 캐리레스 곱셈(carryless multiplication)을 계산한 후 각 필드에 정해진 모듈로(modulo) 값으로 나눠 나머지를 취하여 결과로 출력한다. 해당 방식은 일방향 해시함수(one-way hash function)로서 결과값으로 입력 값을 유추할 수 없는 역할을 할 수 있다.
태그 생성부(108)는 곱셈값 생성부(106) 내의 각 갈루아 필드 곱셈기(1061 내지 1064)를 통해 생성된 다수의 갈루아 필드 곱셈값들과 32비트로 나눈 각 플릿 세그먼트(segment)(F0, F1, F2, F3)와의 XOR 연산을 통해 경로상의 각 라우터마다 다른 태그(tar0, tag1, tag2, tag3)를 각각 생성하는 등의 기능을 수행할 수 있으며, 여기에서 각각 생성되는 각 라우터의 태그들은 전역 태그 테이블(110)에 저장될 수 있다.
즉, 각 라우터의 태그는, GFM값과 카운터 모드를 이용한 방식으로 생성될 수 있으며, 각 라우터는 출발 라우터로부터 공유 받은 로컬 키, 헤드 플릿의 목적지 정보, 플릿 데이터를 취합하여 태그를 생성한 후 전역 태그 테이블(110)에 저장된 값과 대조함으로써, 데이터의 무결성 검증을 수행할 수 있다.
예컨대, 인증기는 각 라우터마다 생성된 태그가 일치하면 정상적인 작동으로 판단하고, 각 라우터마다 생성된 태그가 불일치하면 전역 태그 테이블(110)의 해당 플릿의 항에 기록하고, 다음 경로에 있을 라우터들에게 전역 태그 테이블(110)을 통해 데이터의 탈취 또는 변조를 경고할 수 있다.
여기에서, 전역 태그 테이블의 크기는, 예컨대 (m+n) ㅧ N으로 설정(m:행, n:열, N: 최대 플릿의 수)될 수 있다.
본 발명의 실시예에 따르면, 태그 생성 및 인증기에서의 태그 계산 과정은 다른 태그 계산과 독립적이기 때문에 전부 병렬적 실행이 가능하다. 예컨대, tag0을 생성하기 위한 계산인 F0과 첫번째 GFM 블록과의 XOR 연산은 다른 GFM 블록의 결과의 영향을 받지 않는다.
기존에 사용되던 암호 블록 체인링의 경우 각 GFM 블록이 이전 GFM 블록의 계산 값을 요구하기 때문에 블록 수에 비례한 만큼 총 실행 싸이클이 증가하겠지만, 본 발명에 따르면, 사용된 갈루아/카운터 모드의 경우 더 단축된 싸이클 내 모든 태그의 계산이 가능하다. 다만, 카운터 블록의 경우 경로 할당기로부터 받은 값을 증가(increment)시키는데, 각 1 싸이클이 소모되기 때문에, n이 블록 수라고 가정할 경우 정확히 1/n배만큼 단축되지는 않는다.
즉, 본 발명에 따르면, 각 플릿마다 NoC에 존재하는 모든 노드(라우터)마다 태그 테이블 항을 만드는 것이 아닌, 해당 플릿의 경로를 미리 계산한 후 경유해야 할 노드의 수만큼만 태그를 저장할 수 있다.
도 2는 기존의 전역 태그 테이블의 디자인에 대한 예시도이다.
도 2를 참조하면, 기존의 디자인은 각 노드마다 하나의 열을 가지고 있기 때문에, m개의 행과 n개의 열을 가진 NoC 구조의 태그 테이블은 m ㅧ n개의 태그 저장을 위한 열을 가진다.
각 태그값들은 32비트이므로, 해당 태그 테이블은 비트의 크기를 가지고 있다고 할 수 있다. 만일 플릿 0이 0번 노드(node)에서 2번 노드로 전송된다고 할 때, (노드 0은 출발점이기 때문에 태그 인증을 할 필요가 없어 제외함) 노드 1과 노드 2의 칸에는 태그가 저장되지만 나머지 (m x n - 1) - 2개의 칸은 무용하게 된다. 이러한 버려지는 32비트의 칸에는 0값을 저장한다.
도 3은 본 발명에 따른 전역 태그 테이블의 디자인에 대한 예시도이다.
도 3을 참조하면, m x n의 NoC 구조에서 XY 확정 경로(deterministic routing)를 가정하면, 하나의 플릿이 최대로 경유할 수 있는 노드의 수는 m + n - 2 이다. 따라서, 태그 테이블의 총 크기는 비트이며, 똑같이 플릿 0이 0번 노드에서 2번 노드로 전송된다고 할 때, 노드 0과 노드 1의 칸에 각각 tag0 그리고 tag1이 저장되고 노드 2부터 노드 m + n - 3까지는 0의 값이 저장된다.
이러한 변경점으로 얻게 되는 이득은 다음과 같다. 즉, m과 n 그리고 N이 자연수라고 가정 시(32 ㅧ (m + n -2) + 2) ×x N x < (32 x (m x n) + 2) x N은 언제나 성립하므로, NoC 내에서 관리해야 하는 전역 태그 테이블의 크기가 줄어들게 된다. 다만, 이 전역 태그 테이블은 XY 확정 경로와 같은 라우팅 알고리즘(Routing Algorithm)을 통해 출발 노드에서 경로를 완벽히 알고 있어야 한다는 가정이 필요하다.
본 발명의 발명자들은 본 발명에 대한 시뮬레이션(설험)을 진행하였다.
모든 라우터에는 인증기 모듈이 추가되어, 라우터로 들어오는 플릿을 검증하고 나가는 플릿의 태그를 생성하는 역할을 수행한다. 각 패킷이 IP와 연결된 네트워크 인터페이스(network interface, NI)를 통하여 라우터로 전송될 때 일정한 크기의 플릿으로 나누어지게 되는데, 여기서 플릿의 크기는, 예컨대 128비트로 정의한다.
패킷이 출발하는 라우터의 인증기는 패킷의 도착 라우터의 위치를 읽어 태그 생성기를 통해 태그를 생성하고 전역 태그 테이블에 저장한다.
나누어진 플릿이 경로 상에 있는 다음 라우터에 도착하게 되면, 라우터의 인증기는 해당 플릿이 할당된 태그 테이블의 항의 태그 하나를 이용하여 인증을 시도한다. 만일 인증이 성공한다면 라우터의 다음 작업을 속행하지만, 실패하게 된다면 해당 플릿은 변조되었다고 판단 후 다음 경로에 있을 라우터들에게 태그 테이블을 통하여 경고한다. 매 라우터마다 모든 태그를 검증할 수도 있지만, 이는 플릿이 움직일 때마다 큰 지연 시간을 유발할 가능성이 있어 그 중 하나의 태그만을 인증한다.
플릿이 최종 목표 라우터에 도착하게 되면, 해당 라우터의 인증기는 플릿이 태그 테이블에 가진 모든 태그에 대해 인증을 시도한다. 이는 플릿이 경로 도중 일정한 부분만 변조되었을 가능성을 배제하기 위해서이다.
디자인 성능 실험을 위하여 오픈소스 컴퓨터 구조 시뮬레이터인 gem5 상에 구현된 가넷(Garnet)2.0 시뮬레이터를 사용하여 디자인 검증을 실시하였으며, NoC 모델은 4x4 메시 구조에서 널리 사용되는 XY 라우팅 및 웜홀 스위칭을 채택하였다. 각 시뮬레이션은 2000 싸이클 동안 진행되었으며, 임의의 라우터가 HT에 감염된 라우터로 설정되어 데이터 변조 역할을 수행한다. 실험 결과는 도 4에 도시된 표와 같다.
실험에 사용한 모델은 본 발명에서 제시된 인증기가 구현되지 않은 모델 하나와 마지막 라우터에서 전체 태그에 대한 검증을 하지 않는 1-tag 모델, 그리고 검증을 하는 Full-tag 모델 총 3가지를 비교하였다.
마지막 검증에 하나의 싸이클을 더 소모해야 하기에 Full-tag 모델은 1-tag 모델보다 라우터의 버퍼 단계에서 98% 만큼 플릿 지연 시간이 증가하였다. 하지만 오히려 전체 NoC에서 동작 시간 동안의 홉(hops)의 수는 감소하고 변조된 플릿의 검출 성공률은 100%에 가까운 것으로 확인되었다.
큰 지연 시간 상승을 조금이나마 무마하기 위하여 전체 태그 검출을 시행하지 않는 모델 또한 실험에 포함하였으며, 이는 기존 모델에 비교하여 66%의 플릿 지연 시간 증가만을 불러왔으나 특정 라우터에서 생기는 변조의 경우 감지하지 못하는 상황이 발생하여 대략 3%의 검출 성공률의 감소가 일어남을 알 수 있었다.
이상의 설명은 본 발명의 기술사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경 등이 가능함을 쉽게 알 수 있을 것이다. 즉, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것으로서, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
따라서, 본 발명의 보호 범위는 후술되는 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
102 : 로컬 키 테이블
104 : 경로 할당부
106 : 필드 곱셈값 생성부
108 : 태그 생성부
110 : 전역 태그 테이블

Claims (6)

  1. 각 라우터가 소유하는 32비트의 로컬 키(local key)값들을 저장하는 로컬 키 테이블과,
    네트워크-온-칩(NoC) 라우터에 존재하는 라우팅 컴퓨테이션 기능으로부터 출발 및 도착 노드의 정보를 가지고 그에 해당하는 다수의 32비트의 카운터 값들을 생성하는 경로 할당부와,
    상기 로컬 키 테이블로부터 제공되는 다수의 로컬 킷값들과 생성된 상기 다수의 32비트의 카운터 값들에 의거하여 다수의 갈루아 필드 곱셈(Galois Field Multiplication, GFM)값을 각각 생성하는 필드 곱셈값 생성부와,
    생성된 상기 다수의 갈루아 필드 곱셈값들과 32비트로 나눈 각 플릿 세그먼트(segment)와의 XOR 연산을 통해 경로상의 각 라우터마다 다른 태그를 각각 생성하는 태그 생성부와,
    생성된 상기 각 라우터의 태그들을 저장하는 전역 태그 테이블을 포함하는
    네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기.
  2. 제 1 항에 있어서,
    상기 경로 할당부는,
    프수도 난수 생성기(Pseudo Random Number Generator, PRNG) 알고리즘을 사용하여 상기 카운터 값들을 생성하는
    네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기.
  3. 제 1 항에 있어서,
    상기 태그는,
    상기 GFM값과 카운터 모드를 이용한 방식으로 생성되는
    네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기.
  4. 제 1 항에 있어서,
    상기 각 라우터는,
    출발 라우터로부터 공유 받은 로컬 키, 헤드 플릿의 목적지 정보, 플릿 데이터를 취합하여 태그를 생성한 후 상기 전역 태그 테이블에 저장된 값과 대조하는
    네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기.
  5. 제 1 항에 있어서,
    상기 인증기는,
    상기 각 라우터마다 생성된 태그가 일치하면 정상적인 작동으로 판단하고, 상기 각 라우터마다 생성된 태그가 불일치하면 상기 전역 태그 테이블의 해당 플릿의 항에 기록하고, 다음 경로에 있을 라우터들에게 상기 전역 태그 테이블을 통해 데이터의 탈취 또는 변조를 경고하는
    네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기.
  6. 제 1 항에 있어서,
    상기 전역 태그 테이블의 크기는,
    (m+n)xN으로 설정(m:행, n:열, N: 최대 플릿의 수)되는
    네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기.
KR1020210163346A 2021-11-24 2021-11-24 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기 KR102599674B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210163346A KR102599674B1 (ko) 2021-11-24 2021-11-24 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210163346A KR102599674B1 (ko) 2021-11-24 2021-11-24 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기

Publications (2)

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

Family

ID=86543337

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210163346A KR102599674B1 (ko) 2021-11-24 2021-11-24 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기

Country Status (1)

Country Link
KR (1) KR102599674B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140025601A (ko) * 2011-07-01 2014-03-04 인텔 코오퍼레이션 갈루아 필드 산술을 사용하는 효율적이고 스케일링가능한 순환 중복 검사 회로
KR101373778B1 (ko) * 2012-02-13 2014-03-14 한양대학교 산학협력단 시스템 온 칩의 내부 통신을 위한 네트워크 온 칩 및 데이터 전송 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
KR20160008532A (ko) * 2013-05-15 2016-01-22 시놉시스, 인크. 진성 난수 생성기에 대한 자동 제어 시스템 및 방법
KR20170072645A (ko) 2015-12-17 2017-06-27 삼성전자주식회사 프로세서 및 프로세서에서 데이터를 처리하는 방법
KR20190034048A (ko) * 2017-09-22 2019-04-01 삼성전자주식회사 암호화 보안 프로토콜 기반 통신을 이용한 클라이언트의 서버 등록 방법 및 암호화 보안 프로토콜 기반 통신을 이용한 클라이언트와 서버간 무결성 검증 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140025601A (ko) * 2011-07-01 2014-03-04 인텔 코오퍼레이션 갈루아 필드 산술을 사용하는 효율적이고 스케일링가능한 순환 중복 검사 회로
KR101373778B1 (ko) * 2012-02-13 2014-03-14 한양대학교 산학협력단 시스템 온 칩의 내부 통신을 위한 네트워크 온 칩 및 데이터 전송 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
KR20160008532A (ko) * 2013-05-15 2016-01-22 시놉시스, 인크. 진성 난수 생성기에 대한 자동 제어 시스템 및 방법
KR20170072645A (ko) 2015-12-17 2017-06-27 삼성전자주식회사 프로세서 및 프로세서에서 데이터를 처리하는 방법
KR20190034048A (ko) * 2017-09-22 2019-04-01 삼성전자주식회사 암호화 보안 프로토콜 기반 통신을 이용한 클라이언트의 서버 등록 방법 및 암호화 보안 프로토콜 기반 통신을 이용한 클라이언트와 서버간 무결성 검증 방법

Also Published As

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

Similar Documents

Publication Publication Date Title
US20230132363A9 (en) Systems, devices, and methods for selecting a distributed framework
CN111382464B (zh) 包括电路编码变换函数的加密asic
CN110032884B (zh) 区块链中实现隐私保护的方法及节点、存储介质
CN110032883B (zh) 区块链中实现隐私保护的方法、系统和节点
CN110992027B (zh) 在区块链中实现隐私保护的高效交易方法及装置
Abdi Nasib Far et al. LAPTAS: lightweight anonymous privacy-preserving three-factor authentication scheme for WSN-based IIoT
US9485088B2 (en) Systems and methods for dynamic data masking
Li et al. A privacy-preserving storage scheme for logistics data with assistance of blockchain
US11316692B2 (en) Systems, devices, and methods for selecting a distributed framework
CN110008715B (zh) 区块链中实现隐私保护的方法及节点、存储介质
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
CN110750329B (zh) 基于fpga实现虚拟机运算的方法及装置
US11593298B2 (en) Reconfigurable network-on-chip security architecture
CN109376021A (zh) 接口调用的响应方法及服务器
CN109522758A (zh) 硬盘数据管理方法及硬盘
CN110738567B (zh) 基于fpga的安全智能合约处理器的交易处理方法及装置
CN110598416B (zh) 交易调度方法及装置
KR102599674B1 (ko) 네트워크-온-칩에서의 데이터 무결성 검증을 위한 태그 생성 및 인증기
Giehl et al. Implementing a performant security control for industrial ethernet
Wu Research of cloud platform data encryption technology based on ECC algorithm
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
Rekha et al. A holistic blockchain based IC traceability technique
CN111092716A (zh) 一种aes算法的加密模式实现方法及装置、设备、介质
WO2020058051A1 (en) Devices and methods for protecting cryptographic programs

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