KR102334443B1 - Can 통신 시스템에서 데이터 보안 방법 및 장치 - Google Patents

Can 통신 시스템에서 데이터 보안 방법 및 장치 Download PDF

Info

Publication number
KR102334443B1
KR102334443B1 KR1020190149674A KR20190149674A KR102334443B1 KR 102334443 B1 KR102334443 B1 KR 102334443B1 KR 1020190149674 A KR1020190149674 A KR 1020190149674A KR 20190149674 A KR20190149674 A KR 20190149674A KR 102334443 B1 KR102334443 B1 KR 102334443B1
Authority
KR
South Korea
Prior art keywords
blocks
data
predetermined
communication system
predetermined pattern
Prior art date
Application number
KR1020190149674A
Other languages
English (en)
Other versions
KR20210061757A (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 KR1020190149674A priority Critical patent/KR102334443B1/ko
Publication of KR20210061757A publication Critical patent/KR20210061757A/ko
Application granted granted Critical
Publication of KR102334443B1 publication Critical patent/KR102334443B1/ko

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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40104Security; Encryption; Content protection
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • 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/20Manipulating the length of blocks of bits, e.g. padding or block truncation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 CAN 통신 시스템에서 데이터 보안 방법 및 장치에 관한 것이다. 본 발명의 일 실시예에 따른 CAN 통신 시스템에서 송신 노드의 동작 방법은 (a) 데이터를 2차원 배열로 구성하는 단계; (b) 상기 2차원 배열로 구성된 데이터를 다수의 블록으로 분할하는 단계; (c) 상기 2차원 배열 상에서, 상기 다수의 블록 중 적어도 두 개의 블록의 위치를 서로 변경하여 상기 데이터를 암호화하는 단계; 및 (d) 상기 암호화된 데이터를 수신 노드에게 송신하는 단계;를 포함할 수 있다.

Description

CAN 통신 시스템에서 데이터 보안 방법 및 장치{A method and apparatus for data security in CAN communication system}
본 발명은 CAN 통신 시스템에서 데이터 보안 방법 및 장치에 관한 것으로, 더욱 상세하게는 데이터를 다수의 블록으로 분할 후 셔플링을 통해 암호화하는 데이터 보안 방법 및 장치에 관한 것이다.
전자 제어 기술의 발전에 따라 차량에서도 기계적인 방법에 의해 동작하던 각종 장치들이 운전자의 편의성 및 운행의 안전성을 위해 전기적인 방법에 의해 구동되도록 진화되고 있다. 특히, 차량의 시스템이 전자동화됨에 따라, 차량제어기들 간의 통신 또한 빈번하게 이루어지고 있으며, 차량의 내부 통신을 위해서 CAN(Controller Area Network) 통신이 일반적으로 이용되고 있다.
차량 내부의 전자 제어 시스템은 엔진 제어 장치, 변속 제어 장치, 제동 제어 장치, 조향 제어 장치 및 에어백 제어 장치 등 다양한 전자 제어 장치(ECU: Electronic Control Unit)들로 구성되어 있다.
다만, 이러한 종래의 CAN 통신 시스템은 외부 해킹 공격에 의해 취약하다는 문제점이 있어, 이에 대한 데이터 보안 방안 필요성이 증가하고 있으나 이에 대한 연구는 미흡한 실정이다.
[특허문헌 1] 한국등록특허 제10-1967144호
본 발명은 전술한 문제점을 해결하기 위하여 창출된 것으로, CAN 통신 시스템에서 데이터 보안 방법 및 장치를 제공하는 것을 그 목적으로 한다.
또한, 본 발명은 데이터를 2차원 배열 상에서 다수의 블록으로 분할한 후, 특정 블록의 위치를 서로 교환하여 암호화하기 위한 데이터 보안 방법 및 장치를 제공하는 것을 그 목적으로 한다.
또한, 본 발명은 데이터를 2차원 배열 상에서 구성된 특정 패턴이 나타날 때까지 복호화하여, 특정 패턴이 나타내는 블록 크기, 블록위치 변경 횟수 및 랜덤함수의 시드값을 업데이트하기 위한 데이터 보안 방법 및 장치를 제공하는 것을 그 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상기한 목적들을 달성하기 위하여, 본 발명의 일 실시예에 따른 CAN 통신 시스템에서 송신 노드의 동작 방법은 (a) 데이터를 2차원 배열로 구성하는 단계; (b) 상기 2차원 배열로 구성된 데이터를 다수의 블록으로 분할하는 단계; (c) 상기 2차원 배열 상에서, 상기 다수의 블록 중 적어도 두 개의 블록의 위치를 서로 변경하여 상기 데이터를 암호화하는 단계; 및 (d) 상기 암호화된 데이터를 수신 노드에게 송신하는 단계;를 포함할 수 있다.
실시예에서, 상기 (b) 단계는, 미리 결정된 블록 크기 및 블록 개수에 따라 상기 2차원 배열로 구성된 데이터를 상기 다수의 블록으로 분할하는 단계;를 포함할 수 있다.
실시예에서, 상기 (c) 단계는, 미리 결정된 시드(seed)값에 따른 랜덤함수의 결과값에 기반하여 상기 다수의 블록 중 적어도 두 개의 블록을 선택하는 단계; 및 미리 결정된 블록위치 변경 횟수에 따라 상기 선택된 적어도 두 개의 블록의 위치를 서로 변경하여 상기 데이터를 암호화하는 단계;를 포함할 수 있다.
실시예에서, 상기 (a) 단계는, 상기 데이터를 상기 2차원 배열 상에서 미리 결정된 패턴으로 구성하는 단계;를 포함할 수 있다.
실시예에서, 상기 (b) 단계는, 상기 미리 결정된 패턴으로 구성된 데이터를 다수의 단위블록(unit block)으로 분할하는 단계;를 포함할 수 있다.
실시예에서, 상기 미리 결정된 패턴은, 상기 수신 노드에 의해 업데이트되는 블록 크기, 블록위치 변경 횟수 및 랜덤함수의 시드값을 나타낼 수 있다.
실시예에서, 상기 (c) 단계는, 미리 결정된 시드(seed)값에 따른 랜덤함수의 결과값에 기반하여 상기 다수의 단위블록 중 적어도 두 개의 단위블록을 선택하는 단계; 및 미리 결정된 블록위치 변경 횟수에 따라 상기 선택된 적어도 두 개의 단위블록의 위치를 서로 변경하여 상기 미리 결정된 패턴으로 구성된 데이터를 암호화하는 단계;를 포함할 수 있다.
실시예에서, 상기 (d) 단계는, 상기 미리 결정된 패턴으로 구성되고 암호화된 데이터를 상기 수신 노드에게 송신하는 단계;를 포함할 수 있다.
실시예에서, CAN 통신 시스템에서 수신 노드의 동작 방법은 (a) 송신 노드로부터 2차원 배열로 구성되어 암호화된 데이터를 수신하는 단계; (b) 미리 결정된 블록 크기 및 블록 개수에 따라 상기 2차원 배열로 구성된 데이터를 다수의 블록으로 분할하는 단계; (c) 미리 결정된 시드(seed)값에 따른 랜덤함수의 결과값에 기반하여 상기 다수의 블록 중 적어도 두 개의 블록을 선택하는 단계; 및 (d) 미리 결정된 블록위치 변경 횟수에 따라 상기 선택된 적어도 두 개의 블록의 위치를 암호화 역순으로 서로 변경하여 상기 데이터를 복호화하는 단계;를 포함할 수 있다.
실시예에서, 상기 (b) 단계는, 상기 2차원 배열로 구성되어 암호화된 데이터를 다수의 단위블록(unit block)으로 분할하는 단계;를 포함할 수 있다.
실시예에서, 상기 (c) 단계는, 상기 미리 결정된 시드값에 따른 랜덤함수의 결과값에 기반하여 상기 다수의 단위블록 중 적어도 두 개의 단위블록을 선택하는 단계;를 포함할 수 있다.
실시예에서, 상기 (d) 단계는, 상기 선택된 적어도 두 개의 단위블록의 위치를 암호화 역순으로 서로 변경하여 상기 데이터로부터 미리 결정된 패턴을 식별하는 단계; 및 상기 미리 결정된 패턴이 나타내는 블록 크기, 블록위치 변경 횟수 및 랜덤함수의 시드값을 업데이트하는 단계;를 포함할 수 있다.
실시예에서, CAN 통신 시스템에서 송신 노드 장치는, 데이터를 2차원 배열로 구성하고, 상기 2차원 배열로 구성된 데이터를 다수의 블록으로 분할하며, 상기 2차원 배열 상에서, 상기 다수의 블록 중 적어도 두 개의 블록의 위치를 서로 변경하여 상기 데이터를 암호화하는 제어부; 및 상기 암호화된 데이터를 수신 노드에게 송신하는 통신부;를 포함할 수 있다.
실시예에서, 상기 제어부는, 미리 결정된 블록 크기 및 블록 개수에 따라 상기 2차원 배열로 구성된 데이터를 상기 다수의 블록으로 분할할 수 있다.
실시예에서, 상기 제어부는, 미리 결정된 시드(seed)값에 따른 랜덤함수의 결과값에 기반하여 상기 다수의 블록 중 적어도 두 개의 블록을 선택하고, 미리 결정된 블록위치 변경 횟수에 따라 상기 선택된 적어도 두 개의 블록의 위치를 서로 변경하여 상기 데이터를 암호화할 수 있다.
실시예에서, 상기 제어부는, 상기 데이터를 상기 2차원 배열 상에서 미리 결정된 패턴으로 구성할 수 있다.
실시예에서, 상기 제어부는, 상기 미리 결정된 패턴으로 구성된 데이터를 다수의 단위블록(unit block)으로 분할할 수 있다.
실시예에서, 상기 미리 결정된 패턴은, 상기 수신 노드에 의해 업데이트되는 블록 크기, 블록위치 변경 횟수 및 랜덤함수의 시드값을 나타낼 수 있다.
실시예에서, 상기 제어부는, 미리 결정된 시드(seed)값에 따른 랜덤함수의 결과값에 기반하여 상기 다수의 단위블록 중 적어도 두 개의 단위블록을 선택하고, 미리 결정된 블록위치 변경 횟수에 따라 상기 선택된 적어도 두 개의 단위블록의 위치를 서로 변경하여 상기 미리 결정된 패턴으로 구성된 데이터를 암호화할 수 있다.
실시예에서, 상기 통신부는, 상기 미리 결정된 패턴으로 구성되고 암호화된 데이터를 상기 수신 노드에게 송신할 수 있다.
실시예에서, CAN 통신 시스템에서 수신 노드 장치는, 송신 노드로부터 2차원 배열로 구성되어 암호화된 데이터를 수신하는 통신부; 및 미리 결정된 블록 크기 및 블록 개수에 따라 상기 2차원 배열로 구성된 데이터를 다수의 블록으로 분할하고, 미리 결정된 시드(seed)값에 따른 랜덤함수의 결과값에 기반하여 상기 다수의 블록 중 적어도 두 개의 블록을 선택하며, 미리 결정된 블록위치 변경 횟수에 따라 상기 선택된 적어도 두 개의 블록의 위치를 암호화 역순으로 서로 변경하여 상기 데이터를 복호화하는 제어부;를 포함할 수 있다.
실시예에서, 상기 제어부는, 상기 2차원 배열로 구성되어 암호화된 데이터를 다수의 단위블록(unit block)으로 분할할 수 있다.
실시예에서, 상기 제어부는, 상기 미리 결정된 시드값에 따른 랜덤함수의 결과값에 기반하여 상기 다수의 단위블록 중 적어도 두 개의 단위블록을 선택할 수 있다.
실시예에서, 상기 제어부는, 상기 선택된 적어도 두 개의 단위블록의 위치를 암호화 역순으로 서로 변경하여 상기 데이터로부터 미리 결정된 패턴을 식별하고, 상기 미리 결정된 패턴이 나타내는 블록 크기, 블록위치 변경 횟수 및 랜덤함수의 시드값을 업데이트할 수 있다.
상기한 목적들을 달성하기 위한 구체적인 사항들은 첨부된 도면과 함께 상세하게 후술될 실시예들을 참조하면 명확해질 것이다.
그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라, 서로 다른 다양한 형태로 구성될 수 있으며, 본 발명의 개시가 완전하도록 하고 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자(이하, "통상의 기술자")에게 발명의 범주를 완전하게 알려주기 위해서 제공되는 것이다.
본 발명의 일 실시예에 의하면, 물리적인 네트워크의 변경 없이 차량 내 데이터를 외부로부터 보호함과 동시에 부가적인 암호키 전송이 없어 통신 부하를 감소시켜 암호화 및 복호화 시간을 현저히 줄일 수 있다.
본 발명의 효과들은 상술된 효과들로 제한되지 않으며, 본 발명의 기술적 특징들에 의하여 기대되는 잠정적인 효과들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 CAN 통신 시스템에서 송신 노드의 동작 방법을 도시한 도면이다.
도 2a는 본 발명의 일 실시예에 따른 2차원 배열로 구성된 데이터를 도시한 도면이다.
도 2b는 본 발명의 일 실시예에 따른 2차원 배열 상에서 다수의 블록으로 분할된 데이터를 도시한 도면이다.
도 2c는 본 발명의 일 실시예에 따른 다수의 블록 중 선택된 블록을 도시한 도면이다.
도 2d는 본 발명의 일 실시예에 따른 블록 위치 변경을 도시한 도면이다.
도 2e는 본 발명의 일 실시예에 따른 데이터의 복호화를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 CAN 통신 시스템에서 수신 노드의 동작 방법을 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 셔플 알고리즘 업데이트를 위한 송신 노드의 동작 방법을 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 데이터의 2차원 배열 상에서 구성된 패턴을 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 셔플 알고리즘 업데이트를 위한 수신 노드의 동작 방법을 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 송신 노드의 기능적 구성을 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 수신 노드의 기능적 구성을 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고, 여러 가지 실시예들을 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세히 설명하고자 한다.
청구범위에 개시된 발명의 다양한 특징들은 도면 및 상세한 설명을 고려하여 더 잘 이해될 수 있을 것이다. 명세서에 개시된 장치, 방법, 제법 및 다양한 실시예들은 예시를 위해서 제공되는 것이다. 개시된 구조 및 기능상의 특징들은 통상의 기술자로 하여금 다양한 실시예들을 구체적으로 실시할 수 있도록 하기 위한 것이고, 발명의 범위를 제한하기 위한 것이 아니다. 개시된 용어 및 문장들은 개시된 발명의 다양한 특징들을 이해하기 쉽게 설명하기 위한 것이고, 발명의 범위를 제한하기 위한 것이 아니다.
본 발명을 설명함에 있어서, 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그 상세한 설명을 생략한다.
이하, 본 발명의 일 실시예에 따른 CAN 통신 시스템에서 데이터 보안 방법 및 장치를 설명한다.
도 1은 본 발명의 일 실시예에 따른 CAN 통신 시스템에서 송신 노드의 동작 방법을 도시한 도면이다.
도 1을 참고하면, S101 단계는 데이터를 2차원 배열로 구성하는 단계이다. 예를 들어, 도 2a를 참고하면, 송신할 데이터가 0th byte(0x08), 0x19, 0x2A, 0x3B, 0x4C, 0x5D, 0x6E, 7th byte(0x7F)인 경우, 이를 2차원 배열로 구성할 수 있다.
S103 단계는 2차원 배열로 구성된 데이터를 다수의 블록으로 분할하는 단계이다. 일 실시예에서, 미리 결정된 블록 크기 및 블록 개수에 따라 2차원 배열로 구성된 데이터를 다수의 블록으로 분할할 수 있다.
예를 들어, 도 2b를 참고하면, 8byte의 CAN 데이터 크기를 갖는 경우, 블록 크기는 1x1, 1x2, 2x2, 2x3, 3x3, 등 다양한 크기를 가질 수 있으며, 각 블록 크기마다 만들 수 있는 블록의 최대 개수는 제한될 수 있다. 이 경우, 1x1의 단위블록(unit block)을 제외하고, 각각의 블록은 중첩될 수 있다.
예를 들어, 2x2 블록 크기로 중첩하지 않고 최소로 만들 수 있는 블록 개수는 4*4=16개이며, 중첩해서 최대로 만들 수 있는 블록 개수는 7*7=49개 일 수 있다.
일 실시예에서, 모든 블록은 8x8 CAN-FD와 같은 통신의 경우, 한번에 전송할 수 있는 데이터의 크기가 최대 64byte까지 가능하므로, 더 많은 블록이 생성될 수 있다.
S105 단계는 2차원 배열 상에서 다수의 블록 중 적어도 두 개의 블록의 위치를 서로 변경하여 데이터를 암호화하는 단계이다.
일 실시예에서, 미리 결정된 시드(seed)값에 따른 랜덤함수의 결과값에 기반하여 다수의 블록 중 적어도 두 개의 블록을 선택할 수 있다. 일 실시예에서, 시드값은 송신 노드와 수신 노드 간의 사전 약속되어 미리 결정된 값을 의미할 수 있다.
이 경우, 미리 결정된 시드값을 랜덤함수에 적용하여 산출되는 결과값은 특정 블록을 지시할 수 있고, 지시된 블록을 셔플(shuffle)을 위한 블록으로 선택할 수 있다. 이 때, 랜덤함수의 결과값은 미리 결정된 시드값에 따라 알고리즘 적용 순서대로 산출될 수 있다. 여기서, 랜덤함수는 사용자 정의 rand() 함수 또는 표준 rand() 함수 중 적어도 하나를 포함할 수 있다.
예를 들어, 도 2c를 참고하면, 시드값이 1인 경우, 이를 rand()에 적용하여 산출된 결과값에 따라 블록 #1와 블록 #7이 선택될 수 있다.
일 실시예에서, 미리 결정된 블록위치 변경 횟수에 따라 적어도 두 개의 블록의 위치를 서로 변경하여 데이터를 암호화할 수 있다. 여기서, 블록위치 변경 횟수는 셔플 횟수 또는 이와 동등한 기술적 의미를 갖는 용어로 지칭될 수 있다.
예를 들어, 도 2d를 참고하면, 블록 #1과 블록 #7의 암호화를 위한 데이터 위치 변경은 하기 <표 1>과 같은 알고리즘을 통해 수행될 수 있다.
for (i=0; I < N; i++) {
swap (rand(1)%NumberofBlock, rand(1)%NumberofBlock)
}
여기서, N은 미리 결정된 블록위치 변경 횟수, NumberofBlock은 선택된 블록의 개수를 나타낸다.
S107 단계는 암호화된 데이터를 수신 노드에게 송신하는 단계이다.
도 3은 본 발명의 일 실시예에 따른 CAN 통신 시스템에서 수신 노드의 동작 방법을 도시한 도면이다.
도 3을 참고하면, S301 단계는 송신 노드로부터 2차원 배열로 구성되어 암호화된 데이터를 수신하는 단계이다.
S303 단계는 미리 결정된 블록 크기 및 블록 개수에 따라 2차원 배열로 구성된 데이터를 다수의 블록으로 분할하는 단계이다.
S305 단계는 미리 결정된 시드(seed)값에 따른 랜덤함수의 결과값에 기반하여 다수의 블록 중 적어도 두 개의 블록을 선택하는 단계이다.
S307 단계는 미리 결정된 블록위치 변경 횟수에 따라 선택된 적어도 두 개의 블록의 위치를 암호화 역순으로 서로 변경하여 데이터를 복호화하는 단계이다.
예를 들어, 도 2e를 참고하면, 미리 결정된 시드(seed)값에 따른 랜덤함수의 결과값에 기반하여 다수의 블록 중 블록 #1과 블록 #7을 선택하여, 미리 결정된 블록위치 변경 횟수에 따라 두 블록의 위치를 암호화 역순으로 서로 변경하여 데이터를 암호화하기 전 원본 데이터로 복원할 수 있다.
이 경우, 예를 들어, 블록 #1과 블록 #7의 복호화를 위한 데이터 위치 변경은 하기 <표 2>와 같은 알고리즘을 통해 수행될 수 있다.
for (i=0; I < 2*N; i++) {
randNumber [ I ] = rand(1) % NumberofBlock;
}
for (i=2*N-1; I > 0; i=i-2) {
swap (randNumber[i-1], randNumber[i]);
}
도 4는 본 발명의 일 실시예에 따른 셔플 알고리즘 업데이트를 위한 송신 노드의 동작 방법을 도시한 도면이다.
도 4를 참고하면, S401 단계는 데이터를 2차원 배열 상에서 미리 결정된 패턴으로 구성하는 단계이다.
즉, 원본 데이터를 2차원 배열 상에서 특정한 패턴으로 생성할 수 있으며, 예를 들어, 도 5를 참고하면, 알파벳 대문자 H를 패턴으로 생성할 수 있다.
일 실시예에서, S401 단계 이전에, CAN 통신 시스템을 구성하는 진단모드 진입을 명령할 수 있으며, 이는 정상적인 상황에서 제어 명령어와 구분하기 위함일 수 있다.
이 경우, 미리 결정된 패턴은 송신 노드와 수신 노드 간에 사전에 정의될 수 있으며, 수신 노드에 의해 업데이트되는 블록 크기, 블록위치 변경 횟수 및 랜덤함수의 시드값을 나타낼 수 있다.
예를 들어, H 패턴은 2x2의 블록 크기, 100회의 블록위치 변경 횟수 및 5의 랜덤함수 시드값을 나타낼 수 있다.
또한, 일 실시예에서, 미리 결정된 패턴은 H 패턴 이외에 A 패턴, B 패턴 등 다양한 패턴을 가질 수 있으며, 각 패턴이 나타내는 블록 크기, 블록위치 변경 횟수 및 랜덤함수의 시드값 중 적어도 하나가 룩업(look-up) 테이블로 정의될 수 있다.
S403 단계는 미리 결정된 패턴으로 구성된 데이터를 다수의 단위블록(unit block)으로 분할하는 단계이다. 여기서, 단위블록은 1x1의 블록 크기를 갖는 블록을 의미할 수 있다.
S405 단계는 미리 결정된 시드값에 따른 랜덤함수의 결과값에 기반하여 다수의 단위블록 중 적어도 두 개의 단위블록을 선택하는 단계이다.
S407 단계는 미리 결정된 블록위치 변경 횟수에 따라 선택된 적어도 두 개의 단위블록의 위치를 서로 변경하여 미리 결정된 패턴으로 구성된 데이터를 암호화하는 단계이다.
즉, 이전에 사용하던 미리 결정된 블록위치 변경 횟수에 따라 셔플링 동작을 수행하여 원본 패턴을 암호화할 수 있다.
S409 단계는 미리 결정된 패턴으로 구성되고 암호화된 데이터를 수신 노드에게 송신하는 단계이다.
따라서, 본 발명에 따르면, 블록 크기, 블록위치 변경 횟수 및 랜덤함수의 시드값과 같은 파라미터들이 비밀로 유지되어 야 보안성을 보장할 수 있으며, 이와 같은 파라미터들이 외부로 유출되는 경우 셔플 알고리즘 업데이트를 통해 보안성을 유지할 수 있다.
도 6은 본 발명의 일 실시예에 따른 셔플 알고리즘 업데이트를 위한 수신 노드의 동작 방법을 도시한 도면이다.
도 6을 참고하면, S601 단계는 송신 노드로부터 2차원 배열로 구성되어 암호화된 데이터를 수신하는 단계이다.
S603 단계는 2차원 배열로 구성되어 암호화된 데이터를 다수의 단위블록으로 분할하는 단계이다.
S605 단계는 미리 결정된 시드값에 따른 랜덤함수의 결과값에 기반하여 다수의 단위블록 중 적어도 두 개의 단위블록을 선택하는 단계이다.
S607 단계는 적어도 두 개의 단위블록의 위치를 암호화 역순으로 서로 변경하여 데이터로부터 미리 결정된 패턴을 식별하는 단계이다. 즉, 암호화된 패턴을 수신한 후, 1x1의 단위블록을 이용하여 셔플링 동작은 1회, 2회를 거쳐 무한히 시도하며 미리 결정된 패턴이 나타날 때까지 셔플링 동작을 수행할 수 있다.
S609 단계는 미리 결정된 패턴이 나타내는 블록 크기, 블록위치 변경 횟수 및 랜덤함수의 시드값을 업데이트하는 단계이다.
예를 들어, 특정 H 패턴이 식별되는 경우, 셔플 알고리즘 업데이트를 수행하며, 블록 크기, 블록위치 변경 횟수 및 랜덤함수의 시드값이 새롭게 H 패턴에 맞게 2x2, 100회, 5로 재지정되어 플래시 메모리에 기록될 수 있다.
이후, 송신 노드와 수신 노드는 새롭게 정의된 셔플 알고리즘 파라미터에 따라 데이터 암호화/복호화를 수행할 수 있다.
도 7은 본 발명의 일 실시예에 따른 송신 노드(700)의 기능적 구성을 도시한 도면이다.
도 7을 참고하면, 송신 노드(700)는 제어부(710), 통신부(720) 및 저장부(730)를 포함할 수 있다.
제어부(710)는 데이터 생성부(711), 블록 생성부(712), 블록 선택부(713) 및 암호화 수행부(714) 중 적어도 하나를 포함할 수 있다.
데이터 생성부(711)는 데이터를 2차원 배열로 구성할 수 있다. 블록 생성부(712)는 2차원 배열로 구성된 데이터를 다수의 블록으로 분할할 수 있다. 블록 선택부(713)는 다수의 블록 중 적어도 두 개의 블록을 선택할 수 있다. 암호화 수행부(714)는 2차원 배열 상에서 다수의 블록 중 적어도 두 개의 블록의 위치를 서로 변경하여 데이터를 암호화할 수 있다.
또한, 일 실시예에서, 데이터 생성부(711)는 데이터를 2차원 배열 상에서 미리 결정된 패턴으로 구성할 수 있다. 블록 생성부(712)는 미리 결정된 패턴으로 구성된 데이터를 다수의 단위블록으로 분할할 수 있다. 블록 선택부(713)는 미리 결정된 시드값에 따른 랜덤함수의 결과값에 기반하여 다수의 단위블록 중 적어도 두 개의 단위블록을 선택할 수 있다. 암호화 수행부(714)는 미리 결정된 블록위치 변경 횟수에 따른 적어도 두 개의 단위블록의 위치를 서로 변경하여 미리 결정된 패턴으로 구성된 데이터를 암호화할 수 있다.
일 실시예에서, 제어부(710)는 적어도 하나의 프로세서 또는 마이크로(micro) 프로세서를 포함하거나, 또는, 프로세서의 일부일 수 있다. 또한, 제어부(710)는 CP(communication processor)라 지칭될 수 있다. 제어부(710)는 본 발명의 다양한 실시예에 따른 송신 노드(700)의 동작을 제어할 수 있다.
통신부(720)는 암호화된 데이터를 수신 노드에게 송신할 수 있다. 또한, 통신부(720)는 미리 결정된 패턴으로 구성되고 암호화된 데이터를 수신 노드에게 송신할 수 있다.
일 실시예에서, 통신부(720)는 유선 통신 모듈 및 무선 통신 모듈 중 적어도 하나를 포함할 수 있다. 통신부(720)의 전부 또는 일부는 '송신부', '수신부' 또는 '송수신부(transceiver)'로 지칭될 수 있다.
저장부(730)는 미리 결정된 블록 크기 및 블록 개수, 미리 결정된 시드(seed)값, 미리 결정된 블록위치 변경 횟수를 저장할 수 있다.
또한, 저장부(730)는 미리 결정된 패턴 및 미리 결정된 패턴이 나타내는 블록 크기, 블록위치 변경 횟수 및 랜덤함수의 시드값 중 적어도 하나가 룩업(look-up) 테이블을 저장할 수 있다.
일 실시예에서, 저장부(730)는 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 그리고, 저장부(730)는 제어부(710)의 요청에 따라 저장된 데이터를 제공할 수 있다.
도 7을 참고하면, 송신 노드(700)는 제어부(710), 통신부(720) 및 저장부(730)를 포함할 수 있다. 본 발명의 다양한 실시 예들에서 송신 노드(700)는 도 7에 설명된 구성들이 필수적인 것은 아니어서, 도 7에 설명된 구성들보다 많은 구성들을 가지거나, 또는 그보다 적은 구성들을 가지는 것으로 구현될 수 있다.
도 8은 본 발명의 일 실시예에 따른 수신 노드(800)의 기능적 구성을 도시한 도면이다.
도 8을 참고하면, 수신 노드(800)는 통신부(810), 제어부(820) 및 저장부(830)를 포함할 수 있다.
통신부(810)는 송신 노드로부터 2차원 배열로 구성되어 암호화된 데이터를 수신할 수 있다.
일 실시예에서, 통신부(810)는 유선 통신 모듈 및 무선 통신 모듈 중 적어도 하나를 포함할 수 있다. 통신부(810)의 전부 또는 일부는 '송신부', '수신부' 또는 '송수신부(transceiver)'로 지칭될 수 있다.
제어부(820)는 데이터 생성부(821), 블록 생성부(822), 블록 선택부(823), 복호화 수행부(824), 패턴 분석부(825) 및 셔플알고리즘 업데이트부(826) 중 적어도 하나를 포함할 수 있다.
데이터 생성부(821)는 수신된 2차원 배열로 구성되어 암호화된 데이터를 생성할 수 있다. 블록 생성부(822)는 미리 결정된 블록 크기 및 블록 개수에 따라 2차원 배열로 구성된 데이터를 다수의 블록으로 분할할 수 있다. 블록 선택부(823)는 미리 결정된 시드(seed)값에 따른 랜덤함수의 결과값에 기반하여 상기 다수의 블록 중 적어도 두 개의 블록을 선택할 수 있다. 복호화 수행부(824)는 미리 결정된 블록위치 변경 횟수에 따라 상기 선택된 적어도 두 개의 블록의 위치를 암호화 역순으로 서로 변경하여 상기 데이터를 복호화할 수 있다.
또한, 블록 생성부(822)는 2차원 배열로 구성되어 암호화된 데이터를 다수의 단위블록으로 분할할 수 있다. 블록 선택부(823)는 미리 결정된 시드값에 따른 랜덤함수의 결과값에 기반하여 다수의 단위블록 중 적어도 두 개의 단위블록을 선택할 수 있다. 복호화 수행부(824)는 적어도 두 개의 단위블록의 위치를 암호화 역순으로 서로 변경하여 데이터를 복호화할 수 있다. 패턴 분석부(825)는 복호화된 데이터로부터 미리 결정된 패턴을 식별할 수 있다. 셔플알고리즘 업데이트부(826)는 미리 결정된 패턴이 나타내는 블록 크기, 블록위치 변경 횟수 및 랜덤함수의 시드값을 업데이트할 수 있다.
일 실시예에서, 제어부(820)는 적어도 하나의 프로세서 또는 마이크로(micro) 프로세서를 포함하거나, 또는, 프로세서의 일부일 수 있다. 또한, 제어부(820)는 CP(communication processor)라 지칭될 수 있다. 제어부(820)는 본 발명의 다양한 실시예에 따른 수신 노드(800)의 동작을 제어할 수 있다.
저장부(830)는 미리 결정된 패턴 및 미리 결정된 패턴이 나타내는 블록 크기, 블록위치 변경 횟수 및 랜덤함수의 시드값 중 적어도 하나가 룩업 테이블을 저장할 수 있다.
일 실시예에서, 저장부(830)는 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 그리고, 저장부(830)는 제어부(820)의 요청에 따라 저장된 데이터를 제공할 수 있다.
도 8을 참고하면, 수신 노드(800)는 통신부(810), 제어부(820) 및 저장부(830)를 포함할 수 있다. 본 발명의 다양한 실시 예들에서 수신 노드(800)는 도 8에 설명된 구성들이 필수적인 것은 아니어서, 도 8에 설명된 구성들보다 많은 구성들을 가지거나, 또는 그보다 적은 구성들을 가지는 것으로 구현될 수 있다.
이상의 설명은 본 발명의 기술적 사상을 예시적으로 설명한 것에 불과한 것으로, 통상의 기술자라면 본 발명의 본질적인 특성이 벗어나지 않는 범위에서 다양한 변경 및 수정이 가능할 것이다.
따라서, 본 명세서에 개시된 실시예들은 본 발명의 기술적 사상을 한정하기 위한 것이 아니라, 설명하기 위한 것이고, 이러한 실시예들에 의하여 본 발명의 범위가 한정되는 것은 아니다.
본 발명의 보호범위는 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 이해되어야 한다.
700: 송신 노드
710: 제어부
711: 데이터 생성부
712: 블록 생성부
713: 블록 선택부
714: 암호화 수행부
720: 통신부
730: 저장부
800: 수신 노드
810: 통신부
820: 제어부
821: 데이터 생성부
822: 블록 생성부
823: 블록 선택부
824: 복호화 수행부
825: 패턴 분석부
826: 셔플알고리즘 업데이트부
830: 저장부

Claims (24)

  1. (a) 데이터를 2차원 배열 상에서 미리 결정된 패턴으로 구성하는 단계;
    (b) 상기 미리 결정된 패턴으로 구성된 데이터를 다수의 블록으로 분할하는 단계;
    (c) 상기 2차원 배열 상에서, 상기 다수의 블록 중 적어도 두 개의 블록의 위치를 서로 변경하여 상기 데이터를 암호화하는 단계; 및
    (d) 상기 암호화된 데이터를 수신 노드에게 송신하는 단계;
    를 포함하고,
    상기 미리 결정된 패턴은,
    상기 수신 노드에 의해 업데이트되는 블록 크기, 블록위치 변경 횟수 및 랜덤함수의 시드값을 나타내는,
    CAN 통신 시스템에서 송신 노드의 동작 방법.
  2. 제1항에 있어서,
    상기 (b) 단계는,
    미리 결정된 블록 크기 및 블록 개수에 따라 상기 2차원 배열로 구성된 데이터를 상기 다수의 블록으로 분할하는 단계;
    를 포함하는,
    CAN 통신 시스템에서 송신 노드의 동작 방법.
  3. 제1항에 있어서,
    상기 (c) 단계는,
    미리 결정된 시드(seed)값에 따른 랜덤함수의 결과값에 기반하여 상기 다수의 블록 중 적어도 두 개의 블록을 선택하는 단계; 및
    미리 결정된 블록위치 변경 횟수에 따라 상기 선택된 적어도 두 개의 블록의 위치를 서로 변경하여 상기 데이터를 암호화하는 단계;
    를 포함하는,
    CAN 통신 시스템에서 송신 노드의 동작 방법.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 (c) 단계는,
    미리 결정된 시드(seed)값에 따른 랜덤함수의 결과값에 기반하여 상기 다수의 블록 중 적어도 두 개의 블록을 선택하는 단계; 및
    미리 결정된 블록위치 변경 횟수에 따라 상기 선택된 적어도 두 개의 블록의 위치를 서로 변경하여 상기 미리 결정된 패턴으로 구성된 데이터를 암호화하는 단계;
    를 포함하는,
    CAN 통신 시스템에서 송신 노드의 동작 방법.
  8. 제7항에 있어서,
    상기 (d) 단계는,
    상기 미리 결정된 패턴으로 구성되고 암호화된 데이터를 상기 수신 노드에게 송신하는 단계;
    를 포함하는,
    CAN 통신 시스템에서 송신 노드의 동작 방법.
  9. (a) 송신 노드로부터 2차원 배열로 구성되어 암호화된 데이터를 수신하는 단계;
    (b) 미리 결정된 블록 크기 및 블록 개수에 따라 상기 2차원 배열로 구성된 데이터를 다수의 블록으로 분할하는 단계;
    (c) 미리 결정된 시드(seed)값에 따른 랜덤함수의 결과값에 기반하여 상기 다수의 블록 중 적어도 두 개의 블록을 선택하는 단계;
    (d) 미리 결정된 블록위치 변경 횟수에 따라 상기 선택된 적어도 두 개의 블록의 위치를 암호화 역순으로 서로 변경하여 상기 데이터로부터 미리 결정된 패턴을 식별하는 단계; 및
    (e) 상기 미리 결정된 패턴이 나타내는 블록 크기, 블록위치 변경 횟수 및 랜덤함수의 시드값을 업데이트하는 단계;
    를 포함하는,
    CAN 통신 시스템에서 수신 노드의 동작 방법.
  10. 삭제
  11. 제9항에 있어서,
    상기 (c) 단계는,
    상기 미리 결정된 시드값에 따른 랜덤함수의 결과값에 기반하여 상기 다수의 블록 중 적어도 두 개의 블록을 선택하는 단계;
    를 포함하는,
    CAN 통신 시스템에서 수신 노드의 동작 방법.
  12. 제11항에 있어서,
    상기 (d) 단계는,
    상기 선택된 적어도 두 개의 블록의 위치를 암호화 역순으로 서로 변경하여 상기 데이터로부터 미리 결정된 패턴을 식별하는 단계;
    를 포함하는,
    CAN 통신 시스템에서 수신 노드의 동작 방법.
  13. 데이터를 2차원 배열 상에서 미리 결정된 패턴으로 구성하고,
    상기 미리 결정된 패턴으로 구성된 데이터를 다수의 블록으로 분할하며,
    상기 2차원 배열 상에서, 상기 다수의 블록 중 적어도 두 개의 블록의 위치를 서로 변경하여 상기 데이터를 암호화하는 제어부; 및
    상기 암호화된 데이터를 수신 노드에게 송신하는 통신부;
    를 포함하고,
    상기 미리 결정된 패턴은,
    상기 수신 노드에 의해 업데이트되는 블록 크기, 블록위치 변경 횟수 및 랜덤함수의 시드값을 나타내는,
    CAN 통신 시스템에서 송신 노드 장치.
  14. 제13항에 있어서,
    상기 제어부는,
    미리 결정된 블록 크기 및 블록 개수에 따라 상기 2차원 배열로 구성된 데이터를 상기 다수의 블록으로 분할하는,
    CAN 통신 시스템에서 송신 노드 장치.
  15. 제13항에 있어서,
    상기 제어부는,
    미리 결정된 시드(seed)값에 따른 랜덤함수의 결과값에 기반하여 상기 다수의 블록 중 적어도 두 개의 블록을 선택하고,
    미리 결정된 블록위치 변경 횟수에 따라 상기 선택된 적어도 두 개의 블록의 위치를 서로 변경하여 상기 데이터를 암호화하는,
    CAN 통신 시스템에서 송신 노드 장치.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 제13항에 있어서,
    상기 제어부는,
    미리 결정된 시드(seed)값에 따른 랜덤함수의 결과값에 기반하여 상기 다수의 블록 중 적어도 두 개의 블록을 선택하고,
    미리 결정된 블록위치 변경 횟수에 따라 상기 선택된 적어도 두 개의 블록의 위치를 서로 변경하여 상기 미리 결정된 패턴으로 구성된 데이터를 암호화하는,
    CAN 통신 시스템에서 송신 노드 장치.
  20. 제19항에 있어서,
    상기 통신부는,
    상기 미리 결정된 패턴으로 구성되고 암호화된 데이터를 상기 수신 노드에게 송신하는,
    CAN 통신 시스템에서 송신 노드 장치.
  21. 송신 노드로부터 2차원 배열로 구성되어 암호화된 데이터를 수신하는 통신부; 및
    미리 결정된 블록 크기 및 블록 개수에 따라 상기 2차원 배열로 구성된 데이터를 다수의 블록으로 분할하고,
    미리 결정된 시드(seed)값에 따른 랜덤함수의 결과값에 기반하여 상기 다수의 블록 중 적어도 두 개의 블록을 선택하며,
    미리 결정된 블록위치 변경 횟수에 따라 상기 선택된 적어도 두 개의 블록의 위치를 암호화 역순으로 서로 변경하여 상기 데이터로부터 미리 결정된 패턴을 식별하고,
    상기 미리 결정된 패턴이 나타내는 블록 크기, 블록위치 변경 횟수 및 랜덤함수의 시드값을 업데이트하는 제어부;
    를 포함하는,
    CAN 통신 시스템에서 수신 노드 장치.
  22. 삭제
  23. 제21항에 있어서,
    상기 제어부는,
    상기 미리 결정된 시드값에 따른 랜덤함수의 결과값에 기반하여 상기 다수의 블록 중 적어도 두 개의 블록을 선택하는,
    CAN 통신 시스템에서 수신 노드 장치.
  24. 제23항에 있어서,
    상기 제어부는,
    상기 선택된 적어도 두 개의 블록의 위치를 암호화 역순으로 서로 변경하여 상기 데이터로부터 미리 결정된 패턴을 식별하고,
    상기 미리 결정된 패턴이 나타내는 블록 크기, 블록위치 변경 횟수 및 랜덤함수의 시드값을 업데이트하는,
    CAN 통신 시스템에서 수신 노드 장치.
KR1020190149674A 2019-11-20 2019-11-20 Can 통신 시스템에서 데이터 보안 방법 및 장치 KR102334443B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190149674A KR102334443B1 (ko) 2019-11-20 2019-11-20 Can 통신 시스템에서 데이터 보안 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190149674A KR102334443B1 (ko) 2019-11-20 2019-11-20 Can 통신 시스템에서 데이터 보안 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210061757A KR20210061757A (ko) 2021-05-28
KR102334443B1 true KR102334443B1 (ko) 2021-12-03

Family

ID=76140510

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190149674A KR102334443B1 (ko) 2019-11-20 2019-11-20 Can 통신 시스템에서 데이터 보안 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102334443B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102524377B1 (ko) 2022-11-25 2023-04-21 주식회사 유니온플레이스 비히클 관제를 위한 비히클 데이터의 통신 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101804791B1 (ko) * 2017-10-13 2017-12-07 주식회사세오 실시간 영상통신구간 암호화 시스템 및 그 암호화 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5076539B2 (ja) * 2007-02-16 2012-11-21 富士通株式会社 符号化装置および符号化方法
KR20160057038A (ko) * 2014-11-12 2016-05-23 삼성에스디에스 주식회사 큐알 코드의 암호화 및 복호화를 위한 장치 및 방법
KR101967144B1 (ko) 2018-09-13 2019-04-09 자동차부품연구원 차량의 통신 보안 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101804791B1 (ko) * 2017-10-13 2017-12-07 주식회사세오 실시간 영상통신구간 암호화 시스템 및 그 암호화 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102524377B1 (ko) 2022-11-25 2023-04-21 주식회사 유니온플레이스 비히클 관제를 위한 비히클 데이터의 통신 방법

Also Published As

Publication number Publication date
KR20210061757A (ko) 2021-05-28

Similar Documents

Publication Publication Date Title
EP2817916B1 (en) Cryptographic transmission system using key encryption key
EP3010176B1 (en) Method and receiver entity for secure execution of software
US9843440B2 (en) Encryptor/decryptor, electronic device including encryptor/decryptor, and method of operating encryptor/decryptor
EP2667539A1 (en) Key sharing methods, device and system for configuration thereof.
MXPA06009235A (es) Metodo y aparato para procesar criptograficamente datos.
US20170026342A1 (en) Systems and processes for executing private programs on untrusted computers
KR20080078013A (ko) 보안 시스템 온 칩
US8281130B2 (en) Authentication system and authentication object device
KR101834504B1 (ko) 암복호화 장치 및 방법
CN112906037A (zh) 一种通信加密系统、方法及装置
CN1592190B (zh) 硬件加密引擎和加密方法
CN114697094B (zh) 兼容多加密算法的加密方法和加密装置、存储介质
KR102334443B1 (ko) Can 통신 시스템에서 데이터 보안 방법 및 장치
CN113098675B (zh) 基于多项式完全同态的二进制数据加密系统及方法
US20230239144A1 (en) Deterministic chaos-based quantum computer resistant data encryption for large scale wide area network solutions
CN113839780A (zh) 加密方法、解密方法、服务器及存储介质
CN109446793B (zh) 一种基于Windows agent的账户改密方法及装置
CN111459869B (zh) 一种数据访问的方法、装置、设备及存储介质
EP1507356A2 (en) Cryptographic method
CN103501220A (zh) 加密方法和装置
KR100480998B1 (ko) 디지털 하드웨어 시스템 보안 장치 및 방법
CN106257858A (zh) 一种远端存储设备的数据加密方法、装置及系统
CN115865448A (zh) 一种数据自加密装置和方法
RU2007129927A (ru) Система связи и способ связи
KR101810165B1 (ko) 전자 화폐 단말 및 이를 이용하여 전자 화폐를 제공하는 방법

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