KR102400260B1 - In-vehicle communication system based on edge computing using attribute-based access control and method thereof - Google Patents
In-vehicle communication system based on edge computing using attribute-based access control and method thereof Download PDFInfo
- Publication number
- KR102400260B1 KR102400260B1 KR1020200097834A KR20200097834A KR102400260B1 KR 102400260 B1 KR102400260 B1 KR 102400260B1 KR 1020200097834 A KR1020200097834 A KR 1020200097834A KR 20200097834 A KR20200097834 A KR 20200097834A KR 102400260 B1 KR102400260 B1 KR 102400260B1
- Authority
- KR
- South Korea
- Prior art keywords
- ecu
- ciphertext
- key
- vehicle communication
- receiving
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40104—Security; Encryption; Content protection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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 challenge-response
- H04L9/3273—Cryptographic 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 challenge-response for mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
- H04L2209/046—Masking or blinding of operations, operands or results of the operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명은 속성 기반 접근 제어를 이용하는 엣지 컴퓨팅 기반의 차량-내 통신 시스템 및 그 방법에 관한 것으로서, 일실시예에 따른 차량-내 통신 시스템은 메시지(message)에 대한 암호문을 생성하고, 암호문에 대한 셔플(shuffle) 연산을 수행하여 셔플된 암호문을 생성하는 송신-ECU와, 셔플된 암호문에 대한 부분 복호화(partial decryption) 연산을 수행하여 부분 복호화된 암호문을 생성하는 보안 에이전트 및 부분 복호화된 암호문에 대한 복호화 연산을 수행하여 메시지를 획득하는 수신-ECU를 포함할 수 있다.The present invention relates to an edge computing-based in-vehicle communication system and method using attribute-based access control, and the in-vehicle communication system according to an embodiment generates a cipher text for a message, and A transmission-ECU that generates a shuffled ciphertext by performing a shuffle operation, a security agent that generates a partially decrypted ciphertext by performing a partial decryption operation on the shuffled ciphertext, and a partially decrypted ciphertext It may include a receive-ECU that obtains a message by performing a decryption operation.
Description
본 발명은 차량-내 통신 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 속성 기반 접근 제어 및 엣지 컴퓨팅에 기반하여 보안 키를 공유하는 기술적 사상에 관한 것이다.The present invention relates to an in-vehicle communication system and method, and more particularly, to a technical idea of sharing a security key based on attribute-based access control and edge computing.
차량 기술의 비약적인 발전으로 인해, 차량의 내부 장치간의 데이터 공유 소요가 증가하고 있다. 데이터를 공유한다는 것은 데이터 처리 성능을 향상시킨다는 것을 의미하며, 일례로 차량에 구비된 전자 제어 장치들(electronic control units, ECUs)은 중요한 결정을 내릴 수 있도록 상호간의 정보를 교환할 수 있다. Due to the rapid development of vehicle technology, the need for data sharing between internal devices of a vehicle is increasing. Sharing data means improving data processing performance. For example, electronic control units (ECUs) provided in a vehicle may exchange information with each other to make important decisions.
그러나, 차량-내 통신(in-vehicle communications)에서는 중요한 데이터를 도청하려는 어태커(attackers)와 데이터의 무단 사용자(unauthorized users)의 존재 가능성이 있으며, 이에 보다 원할한 데이터 공유를 위해서는 상호간에 송수신되는 메시지의 기밀성(confidentiality)이 보장되어야 한다. However, in in-vehicle communications, there is a possibility that there are attackers who want to eavesdrop on important data and unauthorized users of data. The confidentiality of
일반적으로 CAN(controller area network) 프로토콜과 같은 차량-내 통신 프로토콜은 안전한 통신을 위한 가장 기본적인 요구 사항인 데이터 암호화(data encryption), 암호 복호화(decryption) 및 기타 암호화(other cryptography)를 제공하지 않기 때문에 도청 공격(eavesdropping attack)에 취약하다. In general, in-vehicle communication protocols such as the CAN (controller area network) protocol do not provide data encryption, decryption, and other cryptography, which are the most basic requirements for secure communication. Vulnerable to eavesdropping attacks.
이에, 프로토콜의 보안성 문제를 개선하기 위한 노력이 지속되어 왔으나, 보안성 문제의 개선을 위한 기존 연구들은 몇 가지 문제들로 인해 실적용에 어려움이 따르고 있다. Accordingly, efforts to improve the security problem of the protocol have been continued, but the existing studies for improving the security problem are having difficulties in implementation due to several problems.
구체적으로, 기존 연구에서는 차량-내 통신에서 보안 요구 사항을 충족하기 위해 복잡한 작업이 수행되어야 했으나, 일반적인 ECU는 컴퓨팅 성능이 낮기 때문에 복잡한 보안 연산을 처리할 수 없으므로, 복잡한 보안 연산을 처리하기 위한 추가적인 장치가 구비 되어야 했다. 즉, 기존 연구에서는 보안 연산을 위한 장치의 추가로 인해 추가적인 비용 발생을 야기하였다. Specifically, in previous studies, complex tasks had to be performed to meet the security requirements in in-vehicle communication, but typical ECUs cannot handle complex security operations due to their low computing power, so additional equipment had to be provided. That is, in the previous study, additional cost was caused by the addition of a device for secure operation.
또한, 기존 연구에서는 차량-내 통신의 실시간 제약 조건을 고려하여 프로토콜을 구성하려 하였으나, 결국 대칭 기반 암호화 체계(symmetric-based cryptographic schemes)를 사용하여 낮은 수준의 기본 보안 요구 사항(대칭 암호화, 해시 알고리즘 등)만을 충족하였다.In addition, existing studies tried to configure the protocol considering the real-time constraint of in-vehicle communication, but in the end, low-level basic security requirements (symmetric encryption, hash algorithm) were used using symmetric-based cryptographic schemes. etc.) were satisfied.
본 발명은 엣지 컴퓨팅에 기반한 보안 연산 처리를 통해 추가적인 장치의 구비없이 데이터의 기밀성 및 무결성을 확보할 수 있는 차량-내 통신 시스템 및 그 방법을 제공하고자 한다.An object of the present invention is to provide an in-vehicle communication system and method capable of securing confidentiality and integrity of data without additional devices through secure operation processing based on edge computing.
또한, 본 발명은 속성 기반 암호화를 통해 속성 기반 접근 제어 및 속성/정책 프라이버시를 달성함으로써, 보다 높은 수준의 보안 요구사항을 달성할 수 있는 차량-내 통신 시스템 및 그 방법을 제공하고자 한다.Another object of the present invention is to provide an in-vehicle communication system and method capable of achieving a higher level of security requirements by achieving attribute-based access control and attribute/policy privacy through attribute-based encryption.
본 발명의 일실시예에 따른 차량-내 통신 시스템은 메시지(message)에 대한 암호문을 생성하고, 암호문에 대한 셔플(shuffle) 연산을 수행하여 셔플된 암호문을 생성하는 송신-ECU와, 셔플된 암호문에 대한 부분 복호화(partial decryption) 연산을 수행하여 부분 복호화된 암호문을 생성하는 보안 에이전트 및 부분 복호화된 암호문에 대한 복호화 연산을 수행하여 메시지를 획득하는 수신-ECU를 포함할 수 있다. An in-vehicle communication system according to an embodiment of the present invention generates a cipher text for a message and performs a shuffle operation on the cipher text to generate a shuffled cipher text and a transmission-ECU, the shuffled cipher text It may include a security agent for generating a partially decrypted ciphertext by performing a partial decryption operation on the ciphertext, and a receiving-ECU for obtaining a message by performing a decryption operation on the partially decrypted ciphertext.
일측에 따르면, 송신-ECU는 데이터 공유키(data sharing key)를 생성하고, 데이터 공유키에 대한 암호문을 생성할 수 있다. According to one side, the transmit-ECU may generate a data sharing key and generate a ciphertext for the data sharing key.
일측에 따르면, 송신-ECU 및 수신-ECU 중 적어도 하나는 기저장된 그룹키(group key)와 타임 슬롯(time slot) 정보에 기초한 연산을 통해 타임키(time key)를 생성할 수 있다.According to one side, at least one of the transmit-ECU and the receive-ECU may generate a time key through an operation based on a pre-stored group key and time slot information.
일측에 따르면, 송신-ECU는 타임키, 기저장된 마스터 공개키(master public key) 및 기저장된 정책 세트(policy set) 중 적어도 하나에 기초한 연산을 통해 암호문을 생성할 수 있다. According to one side, the transmit-ECU may generate a ciphertext through an operation based on at least one of a time key, a pre-stored master public key, and a pre-stored policy set.
일측에 따르면, 송신-ECU는 타임키 및 기저장된 속성 인덱스(attribute index) 중 적어도 하나에 기초한 셔플 연산을 통해 셔플된 암호문을 생성할 수 있다. According to one side, the transmit-ECU may generate a shuffled ciphertext through a shuffle operation based on at least one of a time key and a pre-stored attribute index.
일측에 따르면, 수신-ECU는 부분 복호화된 암호문을 수신하기 위한 요청 메시지(request message)를 보안 에이전트에 전달하고, 보안 에이전트는 요청 메시지를 수신하면, 부분 복호화 연산을 수행할 수 있다. According to one side, the receiving-ECU transmits a request message for receiving the partially decrypted ciphertext to the security agent, and the security agent may perform a partial decryption operation upon receiving the request message.
일측에 따르면, 보안 에이전트는 기저장된 변환 비밀키(transformation secret key)에 기초한 연산을 통해 셔플된 암호문으로부터 변환된 암호문을 생성할 수 있다. According to one side, the security agent may generate a converted ciphertext from the shuffled ciphertext through an operation based on a pre-stored transformation secret key.
일측에 따르면, 보안 에이전트는 수신-ECU에 대한 역-순열 속성 인덱스 세트(inverse permuted attribute indices set)에 기초한 연산을 통해 변환된 암호문으로부터 추출된 암호문을 생성할 수 있다. According to one side, the security agent may generate a ciphertext extracted from the converted ciphertext through an operation based on an inverse permuted attribute indices set for the receiving-ECU.
일측에 따르면, 보안 에이전트는 변환 비밀키, 기저장된 재암호화키(re-encryption key), 변환된 사용자 속성키(user attribute keys) 중 적어도 하나에 기초한 연산을 통해 추출된 암호문으로부터 부분 복호화된 암호문을 생성할 수 있다.According to one side, the security agent partially decrypts the ciphertext from the ciphertext extracted through an operation based on at least one of the conversion secret key, the pre-stored re-encryption key, and the converted user attribute keys. can create
일측에 따르면, 수신-ECU는 기저장된 사용자 속성키와 타임키에 기초하여 변환된 사용자 속성키를 생성하고, 역-순열 속성 인덱스 세트와 변환된 사용자 속성키를 보안 에이전트에 전달할 수 있다. According to one side, the receiving-ECU may generate a transformed user attribute key based on the pre-stored user attribute key and time key, and transmit the inverse-permutation attribute index set and the transformed user attribute key to the security agent.
일측에 따르면, 수신-ECU는 부분 복호화 연산을 통해 산출되는 복호화 자료(decryption materials) 및 기저장된 수신-ECU에 대한 속성 인덱스 세트(attribute indices set) 중 적어도 하나에 기초한 연산을 통해 부분 복호화된 암호문으로부터 메시지를 획득할 수 있다. According to one side, the reception-ECU is obtained from a partially decrypted ciphertext through an operation based on at least one of decryption materials calculated through a partial decryption operation and a pre-stored attribute indices set for the reception-ECU. message can be obtained.
일측에 따르면, 송신-ECU, 보안 에이전트 및 수신-ECU 각각은 서명(signature) 및 넌스값(nonce)을 생성하고, 서명 및 넌스값에 기초하여 상호간의 인증을 수행할 수 있다.According to one side, each of the transmission-ECU, the security agent, and the reception-ECU may generate a signature and a nonce value, and perform mutual authentication based on the signature and the nonce value.
일측에 따르면, 송신-ECU는 메시지를 획득한 수신-ECU의 ID(identity)를 키 테이블(key table)에 저장할 수 있다.According to one side, the transmit-ECU may store the ID (identity) of the receive-ECU that obtained the message in a key table.
일측에 따르면, 보안 에이전트는 차량-내 구비되는 온-보드 유닛(on-board unit, OBU)일 수 있다. According to one side, the security agent may be an on-board unit (OBU) provided in-vehicle.
본 발명의 일실시예에 따른 차량-내 통신 시스템의 보안 에이전트는 암호문을 수신하는 암호문 수신부와, 기저장된 변환 비밀키(transformation secret key)에 기초한 연산을 통해 암호문으로부터 변환된 암호문을 생성하는 암호문 변환부와, 기저장된 역-순열 속성 인덱스 세트(inverse permuted attribute indices set)에 기초한 연산을 통해 변환된 암호문으로부터 추출된 암호문을 생성하는 암호문 추출부 및 추출된 암호문에 대한 부분 복호화(partial decryption) 연산을 수행하여 부분 복호화된 암호문을 생성하는 부분 복호화부를 포함할 수 있다. The security agent of the in-vehicle communication system according to an embodiment of the present invention includes a cipher text receiving unit that receives a cipher text, and a cipher text conversion that generates a cipher text converted from the cipher text through an operation based on a pre-stored transformation secret key. A ciphertext extractor that generates a ciphertext extracted from a ciphertext converted through an operation based on a copy and a pre-stored inverse permuted attribute indices set, and a partial decryption operation for the extracted ciphertext It may include a partial decryption unit for generating a partially decrypted ciphertext by performing the ciphertext.
일측에 따르면, 암호문은 데이터 공유키(data sharing key)를 포함하고, 셔플(shuffle) 연산을 통해 셔플된 암호문일 수 있다. According to one side, the cipher text includes a data sharing key and may be a cipher text shuffled through a shuffle operation.
일측에 따르면, 차량-내 통신 시스템의 보안 에이전트는 부분 복호화된 암호문을 수신하기 위한 요청 메시지(request message)를 수신하는 메시지 수신부를 더 포함하고, 암호문 추출부는 요청 메시지가 수신되면 추출된 암호문을 생성할 수 있다. According to one side, the security agent of the in-vehicle communication system further includes a message receiving unit for receiving a request message for receiving the partially decrypted cipher text, and the cipher text extracting unit generates the extracted cipher text when the request message is received can do.
본 발명의 일실시예에 따른 차량-내 통신 방법은 송신-ECU에서, 메시지(message)에 대한 암호문을 생성하고, 암호문에 대한 셔플(shuffle) 연산을 수행하여 셔플된 암호문을 생성하는 단계와, 보안 에이전트에서, 셔플된 암호문에 대한 부분 복호화(partial decryption) 연산을 수행하여 부분 복호화된 암호문을 생성하는 단계 및 수신-ECU에서, 부분 복호화된 암호문에 대한 복호화 연산을 수행하여 메시지를 획득하는 단계를 포함할 수 있다.In-vehicle communication method according to an embodiment of the present invention comprises the steps of generating, in a transmission-ECU, a cipher text for a message, and performing a shuffle operation on the cipher text to generate a shuffled cipher text; In the security agent, performing a partial decryption operation on the shuffled ciphertext to generate a partially decrypted ciphertext, and in the receiving-ECU, performing a decryption operation on the partially decrypted ciphertext to obtain a message may include
일실시예에 따르면, 본 발명은 엣지 컴퓨팅에 기반한 보안 연산 처리를 통해 추가적인 장치의 구비없이 데이터의 기밀성 및 무결성을 확보할 수 있다. According to one embodiment, according to the present invention, the confidentiality and integrity of data can be secured without additional devices through secure operation processing based on edge computing.
또한, 본 발명은 속성 기반 암호화를 통해 속성 기반 접근 제어 및 속성/정책 프라이버시를 달성함으로써, 보다 높은 수준의 보안 요구사항을 달성할 수 있다.In addition, the present invention can achieve a higher level of security requirements by achieving attribute-based access control and attribute/policy privacy through attribute-based encryption.
도 1은 일실시예에 따른 차량-내 통신 시스템을 설명하기 위한 도면이다.
도 2는 일실시예에 따른 차량-내 통신 시스템의 보안 에이전트를 설명하기 위한 도면이다.
도 3은 일실시예에 따른 차량-내 통신 시스템의 구현예를 설명하기 위한 도면이다.
도 4는 일실시예에 따른 차량-내 통신 시스템에서 사용하는 비밀키를 관리하는 과정을 설명하기 위한 도면이다.
도 5a 내지 도 5e는 일실시예에 따른 차량-내 통신 시스템의 특성 실험 결과를 설명하기 위한 도면이다.
도 6은 일실시예에 따른 차량-내 통신 방법을 설명하기 위한 도면이다.
도 7은 일실시예에 따른 차량-내 통신 방법의 구현예를 설명하기 위한 도면이다.1 is a view for explaining an in-vehicle communication system according to an embodiment.
2 is a diagram for explaining a security agent of an in-vehicle communication system according to an embodiment.
3 is a diagram for explaining an implementation example of an in-vehicle communication system according to an embodiment.
4 is a diagram for explaining a process of managing a secret key used in an in-vehicle communication system according to an embodiment.
5A to 5E are diagrams for explaining a characteristic test result of an in-vehicle communication system according to an exemplary embodiment.
6 is a diagram for explaining an in-vehicle communication method according to an embodiment.
7 is a diagram for explaining an implementation example of an in-vehicle communication method according to an embodiment.
이하, 본 문서의 다양한 실시 예들이 첨부된 도면을 참조하여 기재된다.Hereinafter, various embodiments of the present document will be described with reference to the accompanying drawings.
실시 예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다.Examples and terms used therein are not intended to limit the technology described in this document to a specific embodiment, but it should be understood to include various modifications, equivalents, and/or substitutions of the embodiments.
하기에서 다양한 실시 예들을 설명에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.In the following, when it is determined that a detailed description of a known function or configuration related to various embodiments may unnecessarily obscure the gist of the present invention, a detailed description thereof will be omitted.
그리고 후술되는 용어들은 다양한 실시 예들에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In addition, the terms to be described later are terms defined in consideration of functions in various embodiments, which may vary according to intentions or customs of users and operators. Therefore, the definition should be made based on the content throughout this specification.
도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.In connection with the description of the drawings, like reference numerals may be used for like components.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.The singular expression may include the plural expression unless the context clearly dictates otherwise.
본 문서에서, "A 또는 B" 또는 "A 및/또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다.In this document, expressions such as “A or B” or “at least one of A and/or B” may include all possible combinations of items listed together.
"제1," "제2," "첫째," 또는 "둘째," 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.Expressions such as "first," "second," "first," or "second," can modify the corresponding elements regardless of order or importance, and to distinguish one element from another element. It is used only and does not limit the corresponding components.
어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다.When an (eg, first) component is referred to as being “connected (functionally or communicatively)” or “connected” to another (eg, second) component, a component is referred to as that other component. It may be directly connected to the element, or may be connected through another element (eg, a third element).
본 명세서에서, "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다.As used herein, "configured to (or configured to)" according to the context, for example, hardware or software "suitable for," "having the ability to," "modified to ," "made to," "capable of," or "designed to" may be used interchangeably.
어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다.In some circumstances, the expression “a device configured to” may mean that the device is “capable of” with other devices or parts.
예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 application processor)를 의미할 수 있다.For example, the phrase "a processor configured (or configured to perform) A, B, and C" refers to a dedicated processor (eg, an embedded processor) for performing the corresponding operations, or by executing one or more software programs stored in a memory device. , may refer to a general-purpose processor (eg, a CPU or an application processor) capable of performing corresponding operations.
또한, '또는' 이라는 용어는 배타적 논리합 'exclusive or' 이기보다는 포함적인 논리합 'inclusive or' 를 의미한다.Also, the term 'or' means 'inclusive or' rather than 'exclusive or'.
즉, 달리 언급되지 않는 한 또는 문맥으로부터 명확하지 않는 한, 'x가 a 또는 b를 이용한다' 라는 표현은 포함적인 자연 순열들(natural inclusive permutations) 중 어느 하나를 의미한다.That is, unless stated otherwise or clear from context, the expression 'x employs a or b' means any one of natural inclusive permutations.
상술한 구체적인 실시예들에서, 발명에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다.In the above-described specific embodiments, elements included in the invention are expressed in the singular or plural according to the specific embodiments presented.
그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 상술한 실시 예들이 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.However, the singular or plural expression is appropriately selected for the situation presented for convenience of description, and the above-described embodiments are not limited to the singular or plural component, and even if the component is expressed in plural, it is composed of the singular or , even a component expressed in the singular may be composed of a plural.
한편 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 다양한 실시 예들이 내포하는 기술적 사상의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다.On the other hand, although specific embodiments have been described in the description of the invention, various modifications are possible without departing from the scope of the technical idea contained in the various embodiments.
그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니되며 후술하는 청구범위뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims described below as well as the claims and equivalents.
도 1은 일실시예에 따른 차량-내 통신 시스템을 설명하기 위한 도면이다. 1 is a view for explaining an in-vehicle communication system according to an embodiment.
이하에서 설명하는 차량-내 통신 시스템은 시스템의 형태뿐만 아니라 프로토콜(protocol)의 형태로 구현될 수 있다. The in-vehicle communication system described below may be implemented not only in the form of a system but also in the form of a protocol.
또한, 사용자는 차량 내에 구비되는 모든 엔티티들(일례로, ECU, OBU)을 의미할 수 있으나, 바람직하게는 암호화된 메시지를 수신하는 엔티티를 의미할 수 있다. In addition, the user may mean all entities (eg, ECU, OBU) provided in the vehicle, but preferably may mean an entity that receives an encrypted message.
또한, 어태커는 패시브 어태커(passive attacker)와 액티브 어태커(active attacker)로 구분할 수 있고, 패시브 어태커는 CAN 버스에 연결되어 CAN에서 메시지를 도청하는 장치를 의미하며, 액티브 어태커는 정상적인 ECU 및 OBU에서 전송한 데이터를 수정하거나 잘못된 키(key)를 전송하여 차량에 심각한 문제를 일으키는 장치를 의미할 수 있다. In addition, the attacker can be divided into a passive attacker and an active attacker. The passive attacker refers to a device connected to the CAN bus to eavesdrop on messages from CAN, and the active attacker is transmitted from a normal ECU and OBU. It can mean a device that causes serious problems with the vehicle by modifying one data or sending the wrong key.
도 1을 참조하면, 차량에 구비되는 모든 엔티티들(entities)은 다중 마스터 네트워크(multi-master network)인 CAN 버스에 연결되어 상호간의 통신을 수행할 수 있다.Referring to FIG. 1 , all entities included in a vehicle may be connected to a CAN bus, which is a multi-master network, to perform mutual communication.
예를 들면, 차량 내에 구비된 복수의 ECU 각각은 다른 ECU 및/또는 온-보드 유닛(on-board unit, OBU)과 상호 간 통신을 통해 데이터(메시지)를 공유할 수 있다. For example, each of a plurality of ECUs provided in the vehicle may share data (messages) with other ECUs and/or an on-board unit (OBU) through mutual communication.
그러나, 일반적인 ECU는 컴퓨팅 성능이 낮기 때문에 고급 보안(high-level of security)을 제공하는 고급 암호화 처리에 제약이 따른다. 또한, CAN 버스에는 정상적인 사용자 이외에도, 데이터를 도청하려는 어태커(attackers)와 데이터의 무단 사용자(unauthorized users)가 접근할 수 있으며, 이로 인한 보안 상 취약점이 나타나고 있다. However, since a typical ECU has low computing power, it is limited in advanced encryption processing that provides a high-level of security. In addition to normal users, the CAN bus can be accessed by attackers who want to eavesdrop on data and unauthorized users of data, resulting in security vulnerabilities.
이를 해결하기 위해, 일실시예에 따른 차량-내 통신 시스템(100)은 데이터 기밀성(data confidentiality), 인증(authentication), 무결성(integrity), 세분화된 액세스 제어(finegrained access control), 정책 및 크리덴셜 프라이버시(policy and credential privacy)를 지원할 수 있다. In order to solve this problem, the in-
또한, 차량-내 통신 시스템(100)은 컴퓨팅 성능이 낮은 ECU를 대신하여 암호화 작업을 처리하는 보안 에이전트(security agent, SA)를 이용하여 엣지 컴퓨팅에 기반한 보안 연산 처리를 수행할 수 있다. In addition, the in-
예를 들면, 보안 에이전트는 OBU일 수 있다. 다시 말해, 차량-내 통신 시스템(100)은 복잡한 보안 연산 처리를 위해 별도의 추가적인 장치를 구비하지 않고, 차량 내에 구비된 OBU를 이용하여 오프로드(off-road)된 암호화 작업을 수행(엣지 컴퓨팅을 구현)함으로써, 추가 비용의 발생 없이 낮은 지연시간에서 높은 수준의 보안 요구사항을 달성할 수 있다. For example, the security agent may be an OBU. In other words, the in-
또한, 차량-내 통신 시스템(100)은 숨겨진 정책 및 크리덴셜(hidden policy and credential)을 통해 강화된 속성 기반 암호화(enhanced attribute-based encryption) 기술을 제공하며, 이를 통해 보안 에이전트에 대한 데이터 기밀성(data confidentiality) 및 정책 프라이버시(policy privacy)에 기반한 속성 기반 접근 제어를 달성할 수 있다. In addition, the in-
구체적으로, 차량 내 통신의 특성으로 인해 CAN 버스를 통해 송수신되는 모든 메시지가 브로드캐스트(broadcast)되므로 어태커가 메시지를 쉽게 도청할 수 있다. 이에 차량-내 통신 시스템(100)은 의도된 수신자만이 메시지의 평문(plaintext)을 획득할 수 있는 기능을 제공하여 메시지의 기밀성을 보장할 수 있다. 예를 들면, 의도된 수신자는 이하에서 설명하는 수신-ECU일 수 있다. Specifically, since all messages transmitted and received through the CAN bus are broadcast due to the characteristics of in-vehicle communication, attackers can easily eavesdrop on messages. Accordingly, the in-
어태커는 이전 세션(session)에서 엔티티간에 교환된 메시지를 재전송하여 합법적인 장치로 가장할 수 있다. 이에 차량-내 통신 시스템(100)은 상호 간 통신을 수행하는 엔티티간의 인증 기능을 제공할 수 있다. An attacker can impersonate a legitimate device by retransmitting messages exchanged between entities in a previous session. Accordingly, the in-
차량에서 전송된 데이터의 대부분은 모든 ECU를 위한 것이 아니라 특정 ECU를 위한 것이며, 어태커에 의해 차량 내 통신 노드(일례로, ECU 또는 OBU)가 손상되거나 일부 악의적인 노드가 CAN 버스에 연결되면, CAN 버스를 통해 전송된 메시지가 접근 제어없이 노출될 수 있다. 이에 차량-내 통신 시스템(100)은 세분화된 접근 제어 기능을 제공할 수 있다. Most of the data transmitted from the vehicle is for a specific ECU, not all ECUs, and if an in-vehicle communication node (e.g. ECU or OBU) is compromised by an attacker or some malicious node is connected to the CAN bus, CAN Messages sent over the bus can be exposed without access control. Accordingly, the in-
차량-내 통신 시스템(100)에서 발신자(sender)는 메시지 교환의 접근 제어를 위한 속성에 따라 지정된 정책(policies)을 사용하여 의도된 수신자에 대한 정보가 반영된 메시지를 암호화하며, 이때 메시지에 대한 암호화 및 복호화 과정에서 정상적인 통신을 방해하는 잠재적인 분석이나 공격을 피하기 위해 발신자 및/또는 의도된 수신자에 대한 정보가 노출 되지 않도록 강화된 속성 기반 암호화 기능을 제공할 수 있다. 예를 들면, 발신자는 이하에서 설명하는 송신-ECU일 수 있다. In the in-
한편, 차량-내 통신 시스템(100)은 CAN 버스에 접근하는 어태커의 기능을 포착하기 위해 오라클 모델을 사용할 수 있다. 이하에서는 어태커의 기능을 포착하기 위해 사용되는 오라클 모델에 대하여 설명하기로 한다.On the other hand, the in-
이하에서는 차량-내 통신 시스템(100)에 따른 프로토콜을 이라 할때, 통신 세션(communication sessions) t1과 t2에서 사용자 A와 B간에 수행되는 통신을 각각 및 이라 정의하며, 정의된 및 를 이용하여 어태커의 기능을 포착하는 오라클 모델들에 대하여 설명하기로 한다. Hereinafter, a protocol according to the in-
오라클 모델은 와 사이의 모든 데이터를 도청 할 수 있는 모든 종류의 패시브 어태커를 모델링할 수 있다. Oracle model is Wow You can model any kind of passive attacker that can eavesdrop on any data in between.
오라클 모델은 를 통해 송신되는 메시지 M을 보내는 액티브 어태커를 모델링할 수 있다. Oracle model is We can model an active attacker that sends a message M sent through
오라클 모델은 통신 세션 t1에서 사용자A의 세션키(session key)를 노출하여 사용자 B와 공유할 수 있다. Oracle model exposes user A's session key in communication session t 1 and can share it with user B.
오라클 모델은 통신 세션 t1에서 사용자 A의 장기 비밀키(long-term secret key)를 노출하여 사용자 B와 공유할 수 있다. The oracle model exposes user A's long-term secret key in communication session t 1 and can share it with user B.
오라클 모델은 세션키 보안(session key security)을 테스트할 수 있다. 프로토콜에서 이 오라클 모델과 두 사용자 A 및 B를 쿼리하면 임의의 비트에 따라 실제 세션키(session key) 또는 임의의 문자열(random string)을 반환(return)하며, 그렇지 않으면 유효하지 않은 출력을 반환할 수 있다. The Oracle model can test session key security. Querying this Oracle model and two users A and B in the protocol will return the actual session key or a random string according to a random bit, otherwise it will return an invalid output. can
오라클 모델은 주어진 암호화 정책에 대한 프라이버시(privacy)를 테스트할 수 있다. 일례로 주어진 두 가지 정책 P0 및 P1과 메시지 M을 이용하여 이 오라클 모델을 쿼리하면, 임의로 선택된(randomly selected) 랜덤 비트 에 따라 정책 Pb(P0 및 P1)를 통해 메시지 M을 암호화하여 출력할 수 있다. The Oracle model can test privacy for a given encryption policy. As an example, if we query this Oracle model using the given two policies P 0 and P 1 and message M, we get a randomly selected random bit According to the policy P b (P 0 and P 1 ), the message M can be encrypted and output.
오라클 모델은 사용자 크리덴셜(credential)의 프라이버시(privacy)를 테스트할 수 있다. 와 타겟 정책(target policy)(시스템의 정책) 을 입력으로 쿼리할 때, 의 크리덴셜 또는 두 크리덴셜의 특성이 정책 를 만족하거나, 만족하지 않는다는 제한이 있는 임의로 선택된 크리덴셜을 출력할 수 있다. The Oracle model can test the privacy of user credentials. and the target policy (the policy of the system) When querying as input, The credential of or two credential attributes of this policy It is possible to output an arbitrarily selected credential that satisfies or is not satisfied.
이하에서는, 일실시예에 따른 차량-내 통신 시스템(100)에서 사용되는 암호화 알고리즘에 대하여 설명하기로 한다. Hereinafter, an encryption algorithm used in the in-
차량-내 통신 시스템(100)은 의사 난수 함수(pseudo random function, PRF) 및 의사 난수 순열(pseudo random permutation, PRP)을 각각 이용하는 해시 함수(hash function)와 대칭 암호화(symmetric encryption)를 사용하여 송수신되는 메시지를 암호화/복호화할 수 있다. The in-
PRF는 (K; X; Y)로 정의되는 효율적인 함수로, 하기 수학식1과 같은 의사 난수 출력 시퀀스(pseudo random output sequence)를 반환할 수 있다. PRF is an efficient function defined by (K; X; Y), and may return a pseudo random output sequence as shown in
[수학식1][Equation 1]
여기서, KH는 키 공간(key space)이고, 는 입력 공간(input space)이며, 를 만족할 수 있다. Here, K H is a key space, is the input space, can be satisfied with
PRP는 효율적인 반전 알고리즘(inversion algorithm)인 를 포함할 수 있다. PRP is an efficient inversion algorithm. may include
차량-내 통신 시스템(100)은 숨겨진 정책과 크리덴셜을 통해 강화된 속성 기반 암호화를 위해, 의사 난수 순열(pseudo random permutation)인 셔플 함수(shuffle function)를 이용할 수 있다. The in-
셔플 함수는 입력 및 출력 공간이 동일하므로, 하기 수학식2와 같이 의사 난수 출력 시퀀스(pseudo random output sequence)를 반환할 수 있다. Since the shuffle function has the same input and output space, it can return a pseudo random output sequence as shown in
[수학식2][Equation 2]
여기서, KSH는 키 공간(key space)이고, 는 입력 및 출력 공간(input and output space)일 수 있으며, 셔플 함수에 대한 반전 알고리즘(inversion algorithm)은 로 표현될 수 있다. Here, K SH is a key space, can be an input and output space, and the inversion algorithm for the shuffle function is can be expressed as
상술한 대로, 차량-내 통신 시스템(100)은 엣지 컴퓨팅 리소스(edge computing resources)를 활용하기 위해, ECU 보다 향상된 컴퓨팅 리소스를 활용하는 보안 에이전트를 이용하여 오프로드된 암호화 작업을 수행할 수 있다. As described above, in order to utilize edge computing resources, the in-
여기서, 보안 에이전트는 honest-but-curious 특성을 고려해야하기 때문에, 차량-내 통신 시스템(100)은 프록시 복호화(proxy decryption)을 위한 보안 에이전트의 기밀 유지(confidentiality against) 속성, 보안 에이전트에 대한 숨겨진 속성(hidden attributes) 및 숨겨진 정책(hidden policies) 특성을 만족해야 한다. Here, since the security agent must consider the honest-but-curious characteristic, the in-
구체적으로, 차량-내 통신 시스템(100)은 보안 에이전트(프록시)에 대하여 암호화된 메시지의 기밀성을 유기하기 위해 지정된 암호문 과 사용자 비밀키(secret keys) 로 'ProxyDecrypt1' 알고리즘을 수행할 수 있다. 여기서, 는 셔플 함수(shuffle function)를 통해 셔플 연산이 수행된 암호문으로, 셔플 연산은 각 타임 슬롯(time slot) k에서의 타임키(time key) 가 사용될 수 있다. Specifically, the in-
이때, 보안 에이전트에서는 타임키 를 알 수 없으므로, 보안 에이전트는 암호문 에서 원래의 암호 텍스트 를 복구하고 암호 텍스트 를 완벽하게 복호화할 수 없다.At this time, in the security agent, the time key is unknown, so the security agent original cipher text from Recover and cipher text cannot be completely decrypted.
구체적으로, 차량-내 통신 시스템(100)은 보안 에이전트에 알려지지 않은 추가적인 비밀키인 타임키 가 사용자 비밀키 AKUr에 포함된 비밀을 보호하기 위해 도입되므로 사용자 비밀키 AKUr가 노출이 되더라도 기밀성에는 영향을 미치지 않는다. 즉, 타임키 를 알지 못하면 보안 에이전트는 암호문에서 메시지를 차단하는 팩터(factor) 를 제거하여 기밀성을 침해할 수 없다.Specifically, the in-
차량-내 통신 시스템(100)은 보안 에이전트 및 외부인(outsiders)으로부터 암호화된 정책을 숨기기 위해, 분할된 부분 메시지인 메시지 튜플(message tuple)을 암호화 과정에서 사용할 수 있다. In order to hide the encrypted policy from security agents and outsiders, the in-
보다 구체적으로, 차량-내 통신 시스템(100)은 엔티티간 데이터 교환을 위한 세션 키를 교환하기 위해 요구되는 속성, 요구되지 않는 속성, 상관 없는 속성 3가지 기준을 통해 정책을 생성하고, 이러한 정책을 기반으로 데이터를 암호화할 수 있다. 차량-내 통신 시스템(100)에서 키 교환을 수행하는 예시는 이후 실시예 도 3을 통해 보다 구체적으로 설명하기로 한다. More specifically, the in-
즉, 어태커가 두 가지 정책 P0 및 P1 중 적어도 하나를 사용하여 암호문이 암호화 되는지를 식별하려는 경우에, 어태커는 암호화된 메시지 튜플의 암호를 먼저 복호화해야 하며, 그렇지 않으면 암호문의 모든 암호화된 메시지 튜플은 확률 변수로 간수될 수 있다. 어태커는 ElGamal 암호화를 기반으로 메시지 튜플의 비밀이 보장되는 경우 어떠한 정책 정보(policy information)도 학습하지 못하게 될 수 있다. That is, if an attacker attempts to identify whether a ciphertext is encrypted using at least one of two policies P 0 and P 1 , the attacker must first decrypt the encrypted message tuple, otherwise all encrypted messages in the ciphertext Tuples can be treated as random variables. If the confidentiality of the message tuple is guaranteed based on ElGamal encryption, the attacker may not be able to learn any policy information.
한편, 차량-내 통신 시스템(100)은 ProxyDecrypt1 알고리즘을 이용한 부분 복호화(partial decryption) 연산을 위해, 각 수신 엔티티(일례로, 수신-ECU)의 속성 인덱스(attribute indices)를 알아야 하기 때문에 사용자 속성 정보(user attribute information)를 노출시킬 수 있다. Meanwhile, since the in-
예를 들면, 차량-내 통신 시스템(100)은 수신-ECU r에 대한 역-순열 속성 인덱스 세트(inverse permuted attribute indices set) 를 부분 복호화 연산을 위해 프록시에 제공할 수 있다.For example, the in-
부분 복호화 연산을 수행하는 ProxyDecrypt1 알고리즘은 역-순열 속성 인덱스 세트 를 사용하므로, 알고리즘의 출력은 각 메시지 튜플에 대하여 로 유지될 수 있다. 여기서, 는 메시지 튜플, 는 제너레이터(generator), 는 속성 인덱스와 순열 속성 인덱스 및 역-순열 속성 인덱스, 는 셔플함수 를 이용하여 치환된 일 수 있다. The ProxyDecrypt1 algorithm, which performs partial decryption operations, is an inverse-permutation attribute index set. , so the output of the algorithm is for each message tuple can be maintained as here, is the message tuple, is a generator, is the attribute index and permutation attribute index and inverse-permutation attribute index, is the shuffle function replaced with can be
따라서, 타임키 를 알고 있는 수신 엔티티(일례로, 수신-ECU)는 역-순열 속성 인덱스 를 연산하고, 튜플(복호화 자료) 을 사용하여 를 캔슬(cancel)하여, ProxyDecrypt2 알고리즘에 의한 복호화 연산(decryption procedure) 동안 각 메시지 튜플 을 복구할 수 있다. Therefore, the time key A receiving entity (e.g., receiving-ECU) that knows , and tuple (decrypted data) using By canceling , each message tuple during the decryption procedure by the ProxyDecrypt2 algorithm can be restored
차량-내 통신 시스템(100)은 상술한 통신 과정을 수행하기 위해 적어도 하나 이상의 알고리즘을 사용할 수 있으며, 이하에서는 상술한 통신 과정에서 사용되는 알고리즘에 대하여 설명하기로 한다.The in-
알고리즘은 제너레이터(generator)를 갖는 프라임 오더(prime order) p의 사이클릭 그룹(cyclic group) 를 선택할 수 있다. 다음으로, 시스템의 모든 속성에 대해 및 랜덤 넘버(random numbers) 가 되도록 큰 프라임 넘버(prime number) q를 선택할 수 있다. 여기서, 는 시스템에 대한 속성 인덱스(attribute indices)의 범용 세트(universal set)이고, N은 속성의 개수(number of system attributes)일 수 있다. The algorithm is a cyclic group of prime order p with a generator can be selected. Next, for all properties of the system and random numbers We can choose a prime number q that is large so that here, is a universal set of attribute indices for the system, and N may be the number of system attributes.
이후 알고리즘은 하기 수학식3과 같은 시스템의 마스터 공개키(master public key) MPK를 생성할 수 있다.after The algorithm may generate a master public key MPK of the system as shown in
[수학식3][Equation 3]
여기서, 수학식3은 를 만족할 수 있다.Here,
그런 다음, 무작위(randomly)로 마스터 비밀키(master secret Key) MSK = KS를 선택하고 변환 비밀키(transformation secret Key) 를 생성할 수 있으며, 여기서 변환 비밀키 TK는 모든 에 대해 을 만족할 수 있다. Then, randomly select the master secret key MSK = K S and set the transformation secret key , where the transformation secret key TK is all About can be satisfied with
마지막으로, 알고리즘은 시스템의 모든 사용자에 대한 그룹키(group key) Kgroup를 생성할 수 있다. Finally, The algorithm can generate a group key K group for all users of the system.
알고리즘은 사용자 속성키(user attribute keys) 를 생성할 수 있으며, 여기서 는 사용자 j의 속성 인덱스 세트(attributes indices set)일 수 있다. Algorithms are user attribute keys can be created, where may be an attribute indices set of user j.
다음으로, 알고리즘은 모든 속성 인덱스 세트 Ij에 대하여 재암호화키(re-encryption key) (여기서, )를 생성할 수 있으며, 은 최종적으로 사용자 j에 대한 사용자 속성키 SKUJ 및 재암호화키 RKUJ를 출력할 수 있다. to the next, The algorithm uses a re-encryption key for all attribute index sets I j . (here, ) can be created, can finally output the user attribute key SK UJ and the re-encryption key RK UJ for user j.
알고리즘은 그룹키 Kgroup 및 타임 슬롯 tk를 입력으로 수신하여, 타임키 를 출력하며, 여기서 rk는 랜덤하게 선택되는 임의의 값으로, 다른 타임 슬롯 tk과 구분되는 값일 수 있다. The algorithm receives the group key K group and time slot t k as inputs, and the time key , where r k is a randomly selected value and may be a value differentiated from other time slots t k .
알고리즘은 타임키 및 사용자 속성키 SKUj를 입력으로 수신하여, 변환된 사용자 속성키(transformed user attribute key) 를 출력할 수 있다. Algorithm is time key And by receiving the user attribute key SK Uj as an input, a transformed user attribute key (transformed user attribute key) can be printed out.
알고리즘은 마스터 공개키 MPK, 정책 세트(policy set) T(여기서 ), 타임키 및 메시지 M을 입력으로 수신하여, 메시지 M의 암호문(ciphertext) 을 출력할 수 있다. The algorithm is the master public key MPK, policy set T (where ), time key and receiving the message M as input, the ciphertext of the message M can be printed out.
한편, 정책 세트 T를 구성하는 각 정책 ti는 속성 가 요구되는 경우에는 으로 결정되고, 속성 가 요구되지 않는 경우에는 으로 결정되며, 속성 와 상관 없는 경우에는 으로 결정될 수 있다. On the other hand, each policy t i constituting the policy set T has an attribute If is required is determined by the property If is not required is determined by the property In case it has nothing to do with can be determined as
구체적으로, 알고리즘은 하기 수학식4와 같이, 각 속성 에 따라 메시지 튜플 을 생성할 수 있다. Specifically, Algorithm as shown in
[수학식4][Equation 4]
여기서, 임의로 선택되는 값인 는 조건을 만족할 수 있다. Here, an arbitrarily selected value Is condition can be satisfied.
다음으로, 알고리즘은 무작위로 를 선택하고, 를 이용하여, 하기 수학식5와 같이 각 메시지 튜플 을 암호화하여 암호문 을 출력할 수 있다. to the next, Algorithm is random select and Using , each message tuple as shown in
[수학식5][Equation 5]
여기서, 는 시퀀스(sequence)일 수 있다. here, may be a sequence.
알고리즘은 하기 수학식6과 같이 의사 난수 순열(pseudo random permutation)을 통해 튜플의 순서(order)를 순열하여 셔플된 암호문을 출력할 수 있다. The algorithm may output a shuffled ciphertext by permuting the order of tuples through pseudo random permutation as shown in
[수학식6][Equation 6]
여기서, 는 셔플 함수로서, 타임키 및 속성 인덱스 를 입력으로 수신하여, 치환된 를 출력할 수 있다.here, is a shuffle function, the time key and attribute index by receiving as input, the substituted can be printed out.
알고리즘은 변환 비밀키(transformation secret key) TK를 사용하여 셔플된 암호문 을 하기 수학식7과 같이 변환하고, 변환된 암호문 를 출력할 수 있다. The algorithm uses the transformation secret key TK to shuffle the ciphertext is converted as in
[수학식7][Equation 7]
알고리즘은 변환된 암호문 및 역-순열 속성 인덱스 세트 를 입력으로 수신하여 하기 수학식8과 같이 암호문 을 출력할 수 있다. Algorithm converted ciphertext and inverse-permutation attribute index set by receiving as an input, the cipher text as shown in
[수학식8][Equation 8]
알고리즘은 추출된 암호문 , 변환된 사용자 속성키 AKUr, 재암호화키 RKUr 및 변환 비밀키 TK를 입력으로, 하기 수학식9와 같이 부분 복호화된 암호문(partial decrypted ciphertext) 및 복호화 자료(decryption materials) AMrj를 출력할 수 있다. Algorithm is the extracted ciphertext , the converted user attribute key AK Ur , the re-encryption key RK Ur and the converted secret key TK as inputs, a partially decrypted ciphertext as shown in
[수학식9][Equation 9]
여기서, , 일 수 있다. here, , can be
알고리즘은 부분 복호화된 암호문 , 복호화 자료 AMrj를 사용자(수신 엔티티)의 속성 인덱스 세트 을 입력으로 수신하여, 하기 수학식10과 같이 메시지 M을 출력할 수 있다. Algorithm is a partially decrypted ciphertext , the decrypted data AM rj , the set of attribute indexes of the user (receiving entity) By receiving as an input, it is possible to output a message M as shown in
[수학식10][Equation 10]
일실시예에 따른 차량-내 통신 시스템(100)에서 수행되는 암호화/복호화 과정은 이후 실시예 도 3을 통해 보다 구체적으로 설명하기로 한다.An encryption/decryption process performed in the in-
도 2는 일실시예에 따른 차량-내 통신 시스템의 보안 에이전트를 설명하기 위한 도면이다. 2 is a diagram for explaining a security agent of an in-vehicle communication system according to an embodiment.
다시 말해, 도 2는 도 1을 통해 설명한 일실시예에 따른 차량-내 통신 시스템에 대한 예시를 설명하는 도면으로, 이후 도 2를 통해 설명하는 내용 중 도 1을 통해 설명한 내용과 중복되는 설명은 생략 하기로 한다.In other words, FIG. 2 is a view for explaining an example of an in-vehicle communication system according to an embodiment described with reference to FIG. 1 , and the description overlaps with the content described with reference to FIG. 1 among the contents described with reference to FIG. 2 to be omitted.
도 2를 참조하면, 일실시예에 따른 보안 에이전트(security agent)(300)는 암호문 수신부(210), 암호문 변환부(220), 암호문 추출부(230) 및 부분 복호화부(240)를 포함할 수 있다. Referring to FIG. 2 , a
일실시예에 따른 암호문 수신부(210)는 암호문을 수신하고, 일실시예에 따른 암호문 변환부(220)는 기저장된 변환 비밀키(transformation secret key)에 기초한 연산을 통해 상기 암호문으로부터 변환된 암호문을 생성할 수 있다. The cipher
일측에 따르면, 암호문은 데이터 공유키(data sharing key)를 포함하고, 셔플(shuffle) 연산을 통해 셔플된 암호문일 수 있다. According to one side, the cipher text includes a data sharing key and may be a cipher text shuffled through a shuffle operation.
바람직하게는, 암호문 수신부(210)는 차량 내에 구비된 적어도 하나의 송신-ECU로부터 셔플된 암호문을 수신할 수 있다. Preferably, the encrypted
일실시예에 따른 암호문 추출부(230)는 기저장된 역-순열 속성 인덱스 세트(inverse permuted attribute indices set)에 기초한 연산을 통해 변환된 암호문으로부터 추출된 암호문을 생성할 수 있다. The
예를 들면, 암호문 추출부(230)는 이하에서 설명하는 부분 복호화된 암호문에 대한 수신하여 복호화 연산을 수행하는 수신-ECU에 대한 역-순열 속성 인덱스 세트일 수 있다. For example, the
일측에 따르면, 보안 에이전트(200)는 부분 복호화된 암호문을 수신하기 위한 요청 메시지(request message)를 수신하는 메시지 수신부(250)를 더 포함할 수 있다. According to one side, the
또한, 암호문 추출부(230)는 요청 메시지가 수신되면 상기 추출된 암호문을 생성할 수 있다. In addition, the
예를 들면, 메시지 수신부(250)는 송신-ECU에서 데이터 공유키를 전달하고자 하는 적어도 하나의 수신-ECU일 수 있다. For example, the
일실시예에 따른 부분 복호화부(240)는 추출된 암호문에 대한 부분 복호화(partial decryption) 연산을 수행하여 부분 복호화된 암호문을 생성할 수 있다. The
예를 들면, 부분 복호화부(240)는 요청 메시지를 송신한 적어도 하나의 수신-ECU에 부분 복호화된 암호문을 전달할 수 있으며, 수신-ECU는 부분 복호화된 암호문에 대한 복호화 연산을 수행하여 데이터 공유키를 획득할 수 있다. For example, the
일실시예에 따른 보안 에이전트(200)는 이후 실시예 도 3을 통해 보다 구체적으로 설명하기로 한다. The
도 3은 일실시예에 따른 차량-내 통신 시스템의 구현예를 설명하기 위한 도면이다. 3 is a diagram for explaining an implementation example of an in-vehicle communication system according to an embodiment.
다시 말해, 도 3은 도 1 내지 도 2를 통해 설명한 일실시예에 따른 차량-내 통신 시스템에 대한 예시를 설명하는 도면으로, 이후 도 3을 통해 설명하는 내용 중 도 1 내지 도 2를 통해 설명한 내용과 중복되는 설명은 생략 하기로 한다. In other words, FIG. 3 is a view for explaining an example of an in-vehicle communication system according to an embodiment described with reference to FIGS. 1 and 2 , and among the contents described with reference to FIG. 3 , it has been described with reference to FIGS. 1 and 2 A description that overlaps with the content will be omitted.
도 3을 참조하면, 일실시예에 따른 차량-내 통신 시스템(300)은 엣지 컴퓨팅에 기반한 보안 연산 처리를 통해 추가적인 장치의 구비없이 데이터의 기밀성 및 무결성을 확보할 수 있다. Referring to FIG. 3 , the in-
또한, 일실시예에 따른 차량-내 통신 시스템(300)은 속성 기반 암호화를 통해 속성 기반 접근 제어 및 속성/정책 프라이버시를 달성함으로써, 보다 높은 수준의 보안 요구사항을 달성할 수 있다. In addition, the in-
이를 위해, 차량-내 통신 시스템(300)은 송신-ECU(sender-ECU)(310), 보안 에이전트(security agent)(320) 및 수신-ECU(receiver-ECU)(330)를 포함할 수 있다. To this end, the in-
예를 들면, 차량-내 통신 시스템(300)은 CAN(controller area network) 프로토콜에 기반하여 차량-내 통신을 제어하는 시스템일 수 있다. For example, the in-
또한, 송신-ECU(310)는 차량 내에 구비된 복수의 ECU 중 정책을 생성하고 생성된 정책에 기초하여 암호화된 메시지를 브로드캐스트(broadcast)하는 ECU일 수 있고, 수신-ECU(330)는 차량 내에 구비된 복수의 ECU 중 암호화된 메시지에 대응되는 정책에 부합하는 적어도 하나의 ECU를 의미할 수 있다. 다시 말해, 수신-ECU(330)는 송신-ECU(310)에서 메시지를 수신하고자 하는 단일 또는 복수 개의 타겟 ECU들을 의미할 수 있다. In addition, the transmit-
일실시예에 따른 송신-ECU(310)는 메시지(message) M에 대한 암호문 을 생성하고, 암호문 에 대한 셔플(shuffle) 연산을 수행하여 셔플된 암호문 을 생성할 수 있다. Transmission-
일측에 따르면, 송신-ECU(310)는 데이터 공유키(data sharing key)를 생성하고, 데이터 공유키에 대한 암호문을 생성할 수 있다. 예를 들면, 데이터 공유키는 송신-ECU(310)와 수신-ECU(330)간 데이터 공유를 위한 세션키(session key)일 수 있다. According to one side, the transmit-
다시 말해, 차량-내 통신 시스템(300)은 송신-ECU(310)와 수신-ECU(330)간 키 교환(key exchange)을 지원하는 시스템일 수 있다. In other words, the in-
일측에 따르면, 송신-ECU(310)는 세션 키를 교환하기 위해 요구되는 속성, 요구되지 않는 속성, 상관 없는 속성 3가지 기준을 통해 정책을 생성하고 이러한 정책을 기반으로 암호문을 생성하되, 보안 에이전트(320)로부터 데이터 기밀성 및 정책, 개인 정보 보호를 위해 그룹키(group key) Kgroup 및 셔플 연산을 사용할 수 있다.According to one side, the transmit-
구체적으로, 송신-ECU(310)는 기저장된 그룹키 Kgroup와 타임 슬롯(time slot) 정보 tk에 기초한 연산을 통해 타임키(time key) 를 생성할 수 있다. Specifically, the transmit-
바람직하게는, 송신-ECU(310)는 그룹키 Kgroup와 타임 슬롯 정보 tk를 입력으로 하는 TimeKeyGen 알고리즘에 기초한 연산을 통해 타임키 를 생성할 수 있다. Preferably, the transmit-
다음으로, 송신-ECU(310)는 타임키 , 기저장된 마스터 공개키(master public key) MPK 및 기저장된 정책 세트(policy set) T 중 적어도 하나에 기초한 연산을 통해 암호문 을 생성할 수 있다. Next, the transmit-
바람직하게는, 송신-ECU(310)는 마스터 공개키 MPK, 정책 세트 T, 타임키 및 메시지 M을 입력으로 수신하는 Encrypt 알고리즘에 기초한 연산을 통해 메시지 M의 암호문 을 생성할 수 있다. Preferably, the transmit-
다음으로, 송신-ECU(310)는 타임키 및 기저장된 속성 인덱스(attribute index) 중 적어도 하나에 기초한 셔플 연산을 통해 셔플된 암호문 을 생성할 수 있으며, 셔플된 암호문 을 보안 에이전트(320)에 송신할 수 있다.Next, the transmit-
바람직하게는 송신-ECU(310)는 타임키 및 속성 인덱스 를 입력으로 수신하는 Shuffle 알고리즘에 기초한 연산을 통해 셔플된 암호문 을 생성할 수 있다. Preferably, the transmit-
일실시예에 따른 보안 에이전트(320)는 셔플된 암호문 에 대한 부분 복호화(partial decryption) 연산을 수행하여 부분 복호화된 암호문 을 생성할 수 있다. The
예를 들면, 보안 에이전트(320)는 챠랑 내에 구비되는 온-보드 유닛(on-board unit, OBU)일 수 있다. For example, the
일측에 따르면, 수신-ECU(330)는 부분 복호화된 암호문 을 수신하기 위한 요청 메시지(request message)를 보안 에이전트에 전달하고, 보안 에이전트(320)는 요청 메시지를 수신하면, 부분 복호화 연산을 수행할 수 있다. According to one side, the receiving-
구체적으로, 수신-ECU(330)는 CAN 버스를 통해 송신-ECU(310)에서 셔플된 암호문 이 보안 에이전트(320)로 전달되는 것을 인지할 수 있으며 이를 통해 요청 메시지를 전달할 수 있다. Specifically, the receive-
일측에 따르면, 보안 에이전트(320)는 기저장된 변환 비밀키(transformation secret key) TK에 기초한 연산을 통해 셔플된 암호문 으로부터 변환된 암호문 을 생성할 수 있다. According to one side, the
바람직하게는, 보안 에이전트(320)는 변환 비밀키 TK 및 셔플된 암호문 를 입력으로 수신하는 TransformCiperText 알고리즘에 기초한 연산을 통해 변환된 암호문 을 생성할 수 있다. Preferably, the
일측에 따르면, 보안 에이전트(320)는 수신-ECU(330)에 대한 역-순열 속성 인덱스 세트(inverse permuted attribute indices set) 에 기초한 연산을 통해 변환된 암호문 으로부터 추출된 암호문 을 생성할 수 있다. According to one side, the
바람직하게는, 보안 에이전트(320)는 역-순열 속성 인덱스 세트 및 변환된 암호문 을 입력으로 수신하는 Extract 알고리즘에 기초한 연산을 통해 암호문 을 추출할 수 있다. Preferably, the
일측에 따르면, 보안 에이전트(320)는 변환 비밀키 TK, 기저장된 재암호화키(re-encryption key) RKUr, 변환된 사용자 속성키(user attribute keys) AKUr 중 적어도 하나에 기초한 연산을 통해 추출된 암호문 으로부터 부분 복호화된 암호문 을 생성하고, 부분 복호화된 암호문 을 수신-ECU(330)에 송신할 수 있다. According to one side, the
바람직하게는, 보안 에이전트(320)는 추출된 암호문 , 변환된 사용자 속성키 AKUr, 재암호화키 RKUr 및 변환 비밀키 TK를 입력으로 수신하는 ProxyDecrypt1 알고리즘에 기초한 연산을 통해 부분 복호화된 암호문 및 복호화 자료(decryption materials) AMrj를 생성할 수 있으며, 부분 복호화된 암호문 및 복호화 자료 AMrj를 수신-ECU(330)에 송신할 수 있다.Preferably, the
다시 말해, 보안 에이전트(320)는 제1 복호화 연산(부분 복호화 연산)을 거친 부분 복호화된 암호문 과 이후 수신-ECU(330)에서 수행될 제2 복호화 연산(복호화 연산) 과정에서 필요한 복호화 자료 AMrj를 수신-ECU(330)에 송신할 수 있다.In other words, the
일실시예에 따른 수신-ECU(330)는 부분 복호화된 암호문 에 대한 복호화 연산을 수행하여 메시지 M를 획득할 수 있다. Receiving-
일측에 따르면, 수신-ECU(330)는 기저장된 그룹키 Kgroup와 타임 슬롯 정보 tk에 기초한 연산을 통해 타임키(time key) 를 생성할 수 있다.According to one side, the reception-
또한, 수신-ECU(330)는 기저장된 사용자 속성키 SKUj와 타임키 에 기초한 연산을 통해 변환된 사용자 속성키 AKUj를 생성하고, 기저장된 역-순열 속성 인덱스 세트 와 변환된 사용자 속성키 AKUj를 보안 에이전트(320)에 전달할 수 있다. In addition, the reception-
즉, 수신-ECU(330)는 추출된 암호문 및 부분 복호화된 암호문 에 필요한 역-순열 속성 인덱스 세트 와 변환된 사용자 속성키 AKUj를 보안 에이전트(320)에 전달할 수 있다. That is, the receiving-
다시 말해, 수신-ECU(330)는 복호화를 요청하기 위해 자신의 키를 보안 에이전트(320)에 전달할 수 있으며, 이 과정에서 보안 에이전트(320)로부터 수신-ECU(330)의 키를 숨기기 위해 타임키 가 사용될 수 있다. In other words, the receiving-
바람직하게는, 수신-ECU(330)는 타임키 및 사용자 속성키 SKUj를 입력으로 수신하는 TransformUserKey 알고리즘에 기초한 연산을 통해 변환된 사용자 속성키 AKUj를 생성할 수 있다. Preferably, the receive-
일측에 따르면, 수신-ECU(330)는 복호화 자료 AMrj 및 기저장된 수신-ECU에 대한 속성 인덱스 세트(attribute indices set) 중 적어도 하나에 기초한 연산을 통해 부분 복호화된 암호문으로부터 메시지를 획득할 수 있다. According to one side, the reception-
바람직하게는, 수신-ECU(330)는 부분 복호화된 암호문 , 복호화 자료 AMrj 및 수신-ECU에 대한 속성 인덱스 세트 를 입력으로 수신하는 ProxyDecrypt2 알고리즘에 기초한 복호화 연산(제2 복호화 연산)을 통해 송신-ECU(310)로부터 수신한 원문 메시지 M을 획득할 수 있다. Preferably, the receive-
일측에 따르면, 송신-ECU(310), 보안 에이전트(320) 및 수신-ECU(330) 각각은 서명(signature) 및 넌스값(nonce)을 생성하고, 생성된 서명 및 넌스값에 기초하여 상호간의 인증을 수행할 수 있다. According to one side, the transmission-
다시 말해, 송신-ECU(310), 보안 에이전트(320) 및 수신-ECU(330) 각각은 상술한 상호간의 통신 과정 각각에서, 생성된 서명 및 넌스값에 기초한 상호간의 인증 과정이 선행될 수 있다. In other words, each of the transmission-
또한, 송신-ECU(310)는 메시지 M를 획득한 수신-ECU(330)의 ID(identity)를 키 테이블(key table)에 저장할 수 있다. In addition, the transmit-
보다 구체적으로, 송신-ECU(310)는 메시지 M인 데이터 공유키를 수신한 수신-ECU(330)의 ID를 수신-ECU(330)로부터 수신하고, 수신한 ID를 구비된 키 테이블에 저장할 수 있다. More specifically, the transmit-
즉, 도 3에서 상술한 설명들은 차량이 시동 시간에 수행될 수 있으며, 이후 차량의 운행 시간 동안에는 데이터 공유키를 공유하는 송신-ECU(310) 및 수신-ECU(320)가 보안 에이전트(320)의 개입없이, 데이터 공유키를 이용하여 상호간의 통신을 수행할 수도 있다. That is, the descriptions described above in FIG. 3 may be performed at the vehicle starting time, and then, during the driving time of the vehicle, the transmitting-
일실시예에 따른 차량-내 통신 시스템(300)을 통해 수행되는 인증 과정 및 ID 저장 과정은 이후 실시예 도 6을 통해 보다 구체적으로 설명하기로 한다. An authentication process and an ID storage process performed through the in-
한편, 일실시예에 따른 차량-내 통신 시스템(300)은 송신-ECU(310), 보안 에이전트(320) 및 수신-ECU(330) 각각의 동작 과정에 필요한 키들과 정보들을 신뢰 기관(trust authority)으로부터 전달 받을 수 있다. Meanwhile, the in-
일측에 따르면, 신뢰 기관은 차량-내 통신 시스템(300)이 탑재되는 차량 내부 또는 외부에 구비될 수 있다. According to one side, the trusted authority may be provided inside or outside the vehicle in which the in-
일실시예에 따른 신뢰 기관은 이후 실시예 도 4를 통해 보다 구체적으로 설명하기로 한다.A trusted authority according to an embodiment will be described in more detail with reference to FIG. 4 in the following embodiment.
도 4는 일실시예에 따른 차량-내 통신 시스템에서 사용하는 비밀키를 관리하는 과정을 설명하기 위한 도면이다. 4 is a diagram for explaining a process of managing a secret key used in an in-vehicle communication system according to an embodiment.
도 4를 참조하면, 참조부호 400은 일실시예에 따른 신뢰 기관(trust authority, TA)에서 장기 비밀키(long-term secret key)를 생성하고 분배하는 예시를 도시한다. Referring to FIG. 4 ,
참조부호 400에 따르면, 일실시예에 따른 신뢰 기관은 setup 알고리즘을 이용하여, 마스터 비밀키 MSK, 마스터 공개키 MPK, 변환 비밀키 TK, 그룹키 Kgroup 및 각 ECU간에 교환된 롱-텀 키(long-term key) 를 생성할 수 있다. Referring to reference numeral 400, the trusted authority according to an embodiment uses a setup algorithm, a master secret key MSK, a master public key MPK, a conversion secret key TK, a group key K group , and a long-term key exchanged between each ECU ( long-term key) can create
다음으로, 신뢰 기관은 KeyGen 알고리즘을 이용하여, 각 ECUj에 대한 사용자 속성키 SKUj 및 재암호화키 RKUj를 생성할 수 있다. Next, the trusted authority may generate a user attribute key SK Uj and a re-encryption key RK Uj for each ECU j by using the KeyGen algorithm.
신뢰 기관은 마스터 공개키 MPK를 게시(publishes)하고, 마스터 비밀키 MSK를 비밀(secretly)로 유지하며, 를 대응되는 ECUj 각각에 제공할 수 있다. The trusted authority publishes the master public key MPK, keeps the master secret key MSK secretly, is the corresponding ECU j can be provided for each.
또한, 신뢰 기관은 재암호화키 RKUj, 변환 비밀키 TK 및 모든 ECUj에 대한 를 보안 에이전트에 제공하고, 그룹키 Kgroup를 각 ECUj에 제공할 수 있다. In addition, the trusted authority is responsible for the re-encryption key RK Uj , the transformation secret key TK and all ECU j can be provided to the security agent, and the group key K group can be provided to each ECU j .
도 5a 내지 도 5e는 일실시예에 따른 차량-내 통신 시스템의 특성 실험 결과를 설명하기 위한 도면이다. 5A to 5E are diagrams for explaining a characteristic test result of an in-vehicle communication system according to an exemplary embodiment.
도 5a 내지 도 5e를 참조하면, 참조부호 510은 시스템 속성의 개수가 16개일 때, 수신-ECU의 개수 및 수신 속성의 개수 에 따른 데이터 위상 비트율(data phase bit rate) 및 실행 시간(execution time) 특성을 도시한다. 5A to 5E,
참조부호 520은 시스템 속성의 개수가 32개일 때, 수신-ECU의 개수 및 수신 속성의 개수 에 따른 데이터 위상 비트율 및 실행 시간 특성을 도시한다.
참조부호 530은 수신-ECU의 개수 가 10개일 때, 시스템 속성의 개수 에 따른 수신 속성의 개수 및 실행 시간 특성을 도시하며, 여기서 각각의
참조부호 540은 수신-ECU의 개수 및 송신-ECU의 개수 에 따른 시스템 속성의 개수 및 실행 시간 특성을 도시하며, 여기서 송신-ECU 각각은 10개의 수신-ECU가 할당될 수 있다.
참조부호 550은 수신-ECU의 개수 및 송신-ECU의 개수 에 따른 데이터 위상 비트율 및 실행 시간 특성을 도시하며, 여기서 송신-ECU 각각은 10개의 수신-ECU가 할당될 수 있다.
참조부호 510 내지 550에서는 프로토콜 형태로 구현된 일실시예에 따른 차량-내 통신 시스템으로부터 도출된 결과를 도시한다.
참조부호 510 내지 520에 따르면, 일실시예에 따른 차량-내 통신 시스템은 CAN 버스에서의 통신 지연이 작아짐에 따라 데이터 위상 비트 레이트가 증가하게 되며, 이로 인해 실행 시간이 감소하는 것을 확인할 수 있다. Referring to reference
또한, 수신 속성의 개수 는 프로토콜 실행 시간에 거의 영향을 미치지 않지만, 시스템 속성의 개수 는 실행시간에 크게 영향을 미친다는 것을 확인할 수 있다. In addition, the number of reception attributes has little effect on the protocol execution time, but the number of system properties It can be seen that this significantly affects the execution time.
그러나, 차량 내부에는 역할이 중복되는 다수의 ECU가 존재하기 때문에 32개의 시스템 속성이 존재 한다고 가정하더라도, 실행 시간은 1초 미만으로 나타나며, 이는 일실시예에 따른 차량-내 통신 시스템이 실제 보안 요구사항을 충족시킬 수 있음을 의미한다. However, even if it is assumed that 32 system properties exist because there are a plurality of ECUs with overlapping roles inside the vehicle, the execution time appears to be less than 1 second, which means that the in-vehicle communication system according to an embodiment requires actual security. This means that the requirements can be satisfied.
참조부호 530에 따르면, 상술한 바와 같이 수신 속성의 개수 는 프로토콜 실행 시간에 거의 영향을 미치지 않지만, 시스템 속성의 개수 는 실행시간에 크게 영향을 미친다는 것을 확인할 수 있다.According to
이는, 수신 속성의 개수 에 영향을 받는 연산(Extract 알고리즘 및 ProxyDecrypt1 알고리즘 등)이 고성능 장치인 보안 에이전트에서 수행되기 때문이다. This is the number of received attributes This is because operations (such as the Extract algorithm and ProxyDecrypt1 algorithm) that are affected by
참조부호 540에 따르면, 10개의 수신-ECU가 하나의 송신-ECU로부터 메시지에 엑세스를 하는 경우, 시스템 속성의 개수 의 변화는 프로토콜 실행 시간의 차이에 약간의 영향만을 미친다는 것을 확인할 수 있다. According to
이는, 메시지의 우선 순위가 정해지면 시스템 속성의 개수 와 관련된 암호화 알고리즘 실행 시간이 일반적으로 통신 지연보다 훨씬 길기 때문이다. 즉, 메시지를 동시에 전송하는 송신-ECU의 개수가 증가함에 따라 통신 지연이 증가함을 확인할 수 있다. This is the number of system attributes when the priority of the message is determined. This is because the cryptographic algorithm execution time associated with it is usually much longer than the communication delay. That is, it can be seen that the communication delay increases as the number of transmit-ECUs simultaneously transmitting messages increases.
또한, 참조부호 540 내지 550에 따르면, 데이터 위상 비트율이 충분이 높으면, 차량의 모든 ECU에서 일실시예에 따른 차량-내 통신 시스템의 실행하는 시간은 네트워크 크기(일례로, 송신-ECU의 개수, 수신-ECU의 개수)에 크게 영향을 받지 않는 것을 확인할 수 있다.Further, according to
즉, 일실시예에 따른 차량-내 통신 시스템은 합리적인 실행 시간 내에서 구동이 가능함을 확인할 수 있다.That is, it can be confirmed that the in-vehicle communication system according to an embodiment can be driven within a reasonable execution time.
도 6은 일실시예에 따른 차량-내 통신 방법을 설명하기 위한 도면이다. 6 is a diagram for explaining an in-vehicle communication method according to an embodiment.
다시 말해, 도 6은 도 1 내지 도 5e를 통해 설명한 일실시예에 따른 차량-내 통신 시스템을 이용한 통신 방법에 관한 도면으로, 이후 도 6을 통해 설명하는 내용 중 도 1 내지 도 5e를 통해 설명한 내용과 중복되는 설명은 생략하기로 한다. In other words, FIG. 6 is a view of a communication method using an in-vehicle communication system according to an embodiment described with reference to FIGS. 1 to 5E . Among the contents described later with reference to FIG. 6 , FIG. 1 to FIG. 5E . A description that overlaps with the content will be omitted.
도 6을 참조하면, 610 단계에서 일실시예에 따른 차량-내 통신 방법은 송신-ECU에서, 메시지(message)에 대한 암호문을 생성하고, 상기 암호문에 대한 셔플(shuffle) 연산을 수행하여 셔플된 암호문을 생성할 수 있다. Referring to FIG. 6, in
다음으로, 620 단계에서 일실시예에 따른 차량-내 통신 방법은 보안 에이전트에서, 상기 셔플된 암호문에 대한 부분 복호화(partial decryption) 연산을 수행하여 부분 복호화된 암호문을 생성할 수 있다. Next, in
다음으로, 630 단계에서 일실시예에 따른 차량-내 통신 방법은 수신-ECU에서, 상기 부분 복호화된 암호문에 대한 복호화 연산을 수행하여 상기 메시지를 획득할 수 있다. Next, in
일실시예에 따른 차량-내 통신 방법은 이후 도 6을 통해 보다 구체적으로 설명하기로 한다. An in-vehicle communication method according to an embodiment will be described in more detail later with reference to FIG. 6 .
도 7은 일실시예에 따른 차량-내 통신 방법의 구현예를 설명하기 위한 도면이다. 7 is a diagram for explaining an implementation example of an in-vehicle communication method according to an embodiment.
이하에서 도 7을 통해 설명하는 710 단계 내지 790 단계는 도 6의 610 단계 내지 630 단계에서 수행될 수 있다.
도 7을 참조하면, 710 단계에서 일실시예에 따른 차량-내 통신 방법은 송신-ECU(ECUS)와 보안 에이전트(SA) 상호간의 인증을 수행할 수 있다. Referring to FIG. 7 , in
구체적으로, 송신-ECU(ECUS)는 제1 넌스값(nonce) 및 제1 서명(signature) 을 생성하고, 생성된 를 보안 에이전트(SA)로 전달할 수 있다. 예를 들면, 제1 서명 는 송신-ECU(ECUS)의 ID 정보 IDS를 포함할 수 있다. Specifically, the transmit-ECU (ECU S ) is a first nonce value (nonce) and a first signature created, and created can be forwarded to the security agent (SA). For example, the first signature may include ID information ID S of the transmit-ECU (ECU S ).
다음으로, 보안 에이전트(SA)는 제1 서명 을 검증(verify)하고, 제2 넌스값 및 제2 서명 을 생성하며, 생성된 를 송신-ECU(ECUS)에 전달할 수 있다. 이후, 송신-ECU(ECUS)는 제2 서명 를 검증할 수 있다. Next, the security agent (SA) first sign verify (verify), and the second nonce value and a second signature create, and may be transmitted to the transmit-ECU (ECU S ). Then, the transmit-ECU (ECU S ) is the second signature can be verified.
720 단계에서 일실시예에 따른 차량-내 통신 방법은 송신-ECU에서, 데이터 공유키(data sharing key) K에 대한 암호문 을 생성하고, 암호문 에 대한 셔플(shuffle) 연산을 수행하여 셔플된 암호문 을 생성할 수 있다. In
구체적으로, 송신-ECU(ECUS)는 제2 서명 에 대한 검증 결과가 패스(pass)되면, 타임키 를 생성하고, 데이터 공유키(data sharing key) 를 생성하며, 생성된 데이터 공유키 K를 으로 암호화할 수 있다. Specifically, the transmit-ECU (ECU S ) is the second signature If the verification result is passed, the time key and create a data sharing key , and the generated data sharing key K can be encrypted with
다음으로, 송신-ECU(ECUS)는 데이터 공유키 K에 대한 암호문(ciphertext) 을 생성할 수 있다. Next, the transmit-ECU (ECU S ) is the ciphertext for the data sharing key K can create
이후, 송신-ECU(ECUS)는 셔플된 암호문 , 송신 비밀 서명키 및 제3 서명 을 생성하고, 생성된 를 보안 에이전트(SA)에 전달할 수 있다. Then, the transmit-ECU (ECU S ) is the shuffled ciphertext , sending secret signing key and a third signature created, and created can be delivered to the security agent (SA).
730 단계에서 일실시예에 따른 차량-내 통신 방법은 보안 에이전트(SA)에서, 셔플된 암호문 으로부터 변환된 암호문 를 생성할 수 있다. In
구체적으로, 보안 에이전트(SA)는 송신 비밀 서명키 를 생성하고, 제3 서명 을 검증한 이후, 변환된 암호문 를 생성할 수 있으며, 이후 요청 메시지(request message)를 수신하기 위한 대기 모드에 진입할 수 있다. Specifically, the security agent (SA) transmits a secret signing key create a third signature After verifying the converted ciphertext may be generated, and then may enter a standby mode for receiving a request message.
740 단계에서 일실시예에 따른 차량-내 통신 방법은 수신-ECU(ECURj)에서, 타임키 및 변환된 사용자 속성키 를 생성하고, 변환된 사용자 속성키 를 데이터 공유키 K를 요청하는 메시지 와 함께 보안 에이전트(SA)에 전달할 수 있다. In
구체적으로, 수신-ECU(ECURj)는 타임키 를 생성하고, 변환된 사용자 속성키 를 생성할 수 있다. Specifically, the receive-ECU (ECU Rj ) is a time key Create and convert user attribute key can create
다음으로, 수신-ECU(ECURj)는 제3 넌스값 및 제4 서명 를 생성하고, 를 보안 에이전트(SA)에 전달할 수 있다. 여기서, IDRj는 수신-ECU(ECURj)의 ID 정보일 수 있다.Next, the receive-ECU (ECU Rj ) is the third nonce value and the fourth signature create, can be delivered to the security agent (SA). Here, ID Rj may be ID information of the receiving-ECU (ECU Rj ).
750 단계에서 일실시예에 따른 차량-내 통신 방법은 제4 서명 을 검증하고, 검증 결과가 패스(pass)이면, 제5 서명 을 생성하며, 를 보안 에이전트(SA)에 전달하는 상호 인증 절차를 수행할 수 있다. In
760 단계에서 일실시예에 따른 차량-내 통신 방법은 수신-ECU(ECURj)에서, 역-순열 속성 인덱스 및 변환된 사용자 속성키 를 보안 에이전트(SA)에 전달할 수 있다. In
구체적으로, 수신-ECU(ECURj)는 제5 서명 를 검증하고 수신 비밀 서명키 를 생성할 수 있다. Specifically, the receiving-ECU (ECU Rj ) is the fifth signature Validate and receive secret signing key can create
다음으로, 수신-ECU(ECURj)는 수신 비밀 서명키 를 이용하여 를 로 암호화 하고, 제6 서명 를 생성한 이후, 를 보안 에이전트(SA)에 전달할 수 있다. Next, the receiving-ECU (ECU Rj ) is the receiving secret signing key. using cast Encrypted with the 6th signature After creating can be delivered to the security agent (SA).
770 단계에서 일실시예에 따른 차량-내 통신 방법은 보안 에이전트(SA)에서, 요청 메시지 를 수신한 후, 부분 복호화(partial decryption) 연산을 수행하여 부분 복호화된 암호문 을 생성할 수 있다. In
구체적으로, 보안 에이전트(SA)는 를 수신한 후, 수신 비밀 서명키 를 생성하고, 를 수신 비밀 서명키 로 복호화(decrypts)하여 를 획득할 수 있다. Specifically, the security agent (SA) is After receiving the Receive Secret Signing Key create, receive secret signing key by decrypting can be obtained.
다음으로, 보안 에이전트(SA)는 제6 서명 을 검증하고, 추출된 암호문 를 생성한 후, 부분 복호화된 암호문 및 복호화 자료 를 생성할 수 있다. 여기서 rs는 Encrypt 알고리즘 수행 동안 송신-ECU(ECUS)에 의해 생성된 랜덤 넘버(random number)일 수 있다.Next, the security agent (SA) has a sixth signature verify the extracted ciphertext After generating the partially decrypted ciphertext and decrypted data can create Here, rs may be a random number generated by the transmit-ECU (ECU S ) during execution of the Encrypt algorithm.
이후, 보안 에이전트(SA)는 수신 비밀 서명키 로 를 암호화하여 를 생성하고, 제7 서명 를 생성하며, 를 수신-ECU(ECURj)에 전달할 수 있다. Then, the security agent (SA) receives the secret signing key as by encrypting to create a seventh signature creates, may be delivered to the receiving-ECU (ECU Rj ).
780 단계 내지 790 단계에서 일실시예에 따른 차량-내 통신 방법은 수신-ECU(ECURj)에서, 부분 복호화된 암호문 에 대한 복호화 연산을 수행하여 데이터 공유키 K를 획득하고, 송신-ECU(ECUS)에서, 데이터 공유키 K를 획득한 수신-ECU(ECURj)의 ID를 키 테이블에 저장할 수 있다. In
구체적으로, 송신-ECU(ECUS)는 수신-ECU(ECURj)에서 올바른 데이터 공유키 K를 수신하였는지를 확인하기 위해 검증 서명 을 생성하여 수신-ECU(ECURj)에 전달할 수 있다. Specifically, the sending-ECU (ECU S ) receives a verification signature to verify that the correct data sharing key K has been received from the receiving-ECU (ECU Rj ). can be created and delivered to the receiving-ECU (ECU Rj ).
다음으로, 수신-ECU(ECURj)는 를 획득하기 위해 를 복호화하고, 제7 서명 한 후, 암호화된 데이터 공유키 를 획득할 수 있다. Next, the receive-ECU (ECU Rj ) is to obtain Decrypt the 7th signature After that, encrypted data sharing key can be obtained.
이후, 암호화된 데이터 공유키 K'를 그룹키 Kgroup로 복호화하여 데이터 공유키 K를 획득할 수 있다. Thereafter, the encrypted data sharing key K' may be decrypted using the group key K group to obtain the data sharing key K.
다음으로, 수신-ECU(ECURj)는 송신-ECU(ECUS)로부터 수신한 검증 서명 을 검증하고, 및 제8 서명 을 생성한 후, 를 송신-ECU(ECUS)에 전달할 수 있다. Next, the receive-ECU(ECU Rj ) receives the verification signature from the transmit-ECU(ECU S ) to verify, and the eighth signature After creating may be transmitted to the transmit-ECU (ECU S ).
다음으로, 송신-ECU(ECUS)는 제8 서명 을 검증하고, 수신-ECU(ECURj)의 IDRj를 획득하기 위해 데이터 공유키 K로 를 복호화한 후, 복호화를 통해 획득된 IDRj를 구비된 키 테이블에 저장할 수 있다. Next, the transmit-ECU (ECU S ) is the eighth signature with the data sharing key K to verify and obtain the ID Rj of the receiving-ECU (ECU Rj ) After decrypting , the ID Rj obtained through decryption may be stored in the provided key table.
다음으로, 송신-ECU(ECUS)는 전체 수신-ECU(ECUR)들의 ID를 로 암호화하고, 제9 서명 을 생성하며, 를 수신-ECU(ECURj)에 전달할 수 있다. Next, the transmit-ECU (ECU S ) is the ID of all receive-ECUs (ECU R ) Encrypted with the ninth signature creates, may be delivered to the receiving-ECU (ECU Rj ).
이후, 수신-ECU(ECURj)는 제9 서명 을 검증하고, 를 복호화 하여 자신의 ID를 획득함으로써, 송신-ECU(ECUS)와 수신-ECU(ECURj)간의 상호 인증 과정을 완료할 수 있다. Then, the receiving-ECU (ECU Rj ) is the ninth signature to verify, By decrypting and obtaining its own ID, it is possible to complete the mutual authentication process between the transmit-ECU (ECU S ) and the receive-ECU (ECU Rj ).
결국, 본 발명을 이용하면, 엣지 컴퓨팅에 기반한 보안 연산 처리를 통해 추가적인 장치의 구비없이 데이터의 기밀성 및 무결성을 확보할 수 있다.As a result, by using the present invention, confidentiality and integrity of data can be secured without additional devices through secure operation processing based on edge computing.
또한, 속성 기반 암호화를 통해 속성 기반 접근 제어 및 속성/정책 프라이버시를 달성함으로써, 보다 높은 수준의 보안 요구사항을 달성할 수 있다.In addition, higher level security requirements can be achieved by achieving attribute-based access control and attribute/policy privacy through attribute-based encryption.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, various modifications and variations are possible by those skilled in the art from the above description. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
300: 차량-내 통신 시스템 310: 송신-ECU
320: 보안 에이전트 330: 수신-ECU300: in-vehicle communication system 310: transmit-ECU
320: security agent 330: receive-ECU
Claims (18)
상기 셔플된 암호문에 대한 부분 복호화(partial decryption) 연산을 수행하여 부분 복호화된 암호문을 생성하는 보안 에이전트 및
상기 부분 복호화된 암호문에 대한 복호화 연산을 수행하여 상기 메시지를 획득하는 수신-ECU
를 포함하고,
상기 수신-ECU는,
CAN 버스를 통해 상기 셔플된 암호문이 상기 보안 에이전트로 전달되면, 상기 부분 복호화된 암호문을 수신하기 위한 요청 메시지(request message)를 상기 보안 에이전트에 전달하고,
상기 보안 에이전트는,
차량-내 구비되는 온-보드 유닛(on-board unit, OBU)으로 구현되고, 상기 요청 메시지를 수신하면 상기 부분 복호화 연산을 수행하는
차량-내 통신 시스템.Generates a ciphertext for a message and shuffles the ciphertext using a shuffle function that is a pseudo random permutation for attribute-based encryption enhanced through hidden policies and credentials ) to generate a shuffled ciphertext by performing an operation -ECU;
a security agent for generating a partially decrypted ciphertext by performing a partial decryption operation on the shuffled ciphertext; and
Receiving-ECU to obtain the message by performing a decryption operation on the partially decrypted ciphertext
including,
The receiving-ECU is
When the shuffled ciphertext is transmitted to the security agent through a CAN bus, a request message for receiving the partially decrypted ciphertext is transmitted to the security agent;
The security agent is
It is implemented as an on-board unit (OBU) provided in the vehicle, and performs the partial decoding operation upon receiving the request message.
In-vehicle communication system.
상기 송신-ECU는,
데이터 공유키(data sharing key)를 생성하고, 상기 데이터 공유키에 대한 상기 암호문을 생성하는
차량-내 통신 시스템.According to claim 1,
The transmit-ECU is
generating a data sharing key and generating the ciphertext for the data sharing key
In-vehicle communication system.
상기 송신-ECU 및 수신-ECU 중 적어도 하나는,
기저장된 그룹키(group key)와 타임 슬롯(time slot) 정보에 기초한 연산을 통해 타임키(time key)를 생성하는
차량-내 통신 시스템.According to claim 1,
At least one of the transmit-ECU and the receive-ECU,
It generates a time key through an operation based on the pre-stored group key and time slot information.
In-vehicle communication system.
상기 송신-ECU는,
상기 타임키, 기저장된 마스터 공개키(master public key) 및 기저장된 정책 세트(policy set) 중 적어도 하나에 기초한 연산을 통해 상기 암호문을 생성하는
차량-내 통신 시스템.4. The method of claim 3,
The transmit-ECU is
generating the ciphertext through an operation based on at least one of the time key, a pre-stored master public key, and a pre-stored policy set
In-vehicle communication system.
상기 송신-ECU는,
상기 타임키 및 기저장된 속성 인덱스(attribute index) 중 적어도 하나에 기초한 셔플 연산을 통해 상기 셔플된 암호문을 생성하는
차량-내 통신 시스템.4. The method of claim 3,
The transmit-ECU is
generating the shuffled ciphertext through a shuffle operation based on at least one of the time key and a pre-stored attribute index
In-vehicle communication system.
상기 보안 에이전트는,
기저장된 변환 비밀키(transformation secret key)에 기초한 연산을 통해 상기 셔플된 암호문으로부터 변환된 암호문을 생성하는
차량-내 통신 시스템.4. The method of claim 3,
The security agent is
Generating a converted cipher text from the shuffled cipher text through an operation based on a pre-stored transformation secret key
In-vehicle communication system.
상기 보안 에이전트는,
상기 수신-ECU에 대한 역-순열 속성 인덱스 세트(inverse permuted attribute indices set)에 기초한 연산을 통해 상기 변환된 암호문으로부터 추출된 암호문을 생성하는
차량-내 통신 시스템.8. The method of claim 7,
The security agent is
To generate a ciphertext extracted from the converted ciphertext through an operation based on an inverse permuted attribute indices set for the receiving-ECU
In-vehicle communication system.
상기 보안 에이전트는,
상기 변환 비밀키, 기저장된 재암호화키(re-encryption key), 변환된 사용자 속성키(user attribute keys) 중 적어도 하나에 기초한 연산을 통해 상기 추출된 암호문으로부터 상기 부분 복호화된 암호문을 생성하는
차량-내 통신 시스템.9. The method of claim 8,
The security agent is
To generate the partially decrypted ciphertext from the extracted ciphertext through an operation based on at least one of the converted secret key, the pre-stored re-encryption key, and the converted user attribute keys.
In-vehicle communication system.
상기 수신-ECU는,
기저장된 사용자 속성키와 상기 타임키에 기초하여 상기 변환된 사용자 속성키를 생성하고, 상기 역-순열 속성 인덱스 세트와 상기 변환된 사용자 속성키를 상기 보안 에이전트에 전달하는
차량-내 통신 시스템.9. The method of claim 8,
The receiving-ECU is
generating the transformed user attribute key based on the pre-stored user attribute key and the time key, and passing the inverse-permutation attribute index set and the transformed user attribute key to the security agent
In-vehicle communication system.
상기 수신-ECU는,
상기 부분 복호화 연산을 통해 산출되는 복호화 자료(decryption materials) 및 기저장된 수신-ECU에 대한 속성 인덱스 세트(attribute indices set) 중 적어도 하나에 기초한 연산을 통해 상기 부분 복호화된 암호문으로부터 상기 메시지를 획득하는
차량-내 통신 시스템.According to claim 1,
The receiving-ECU is
Obtaining the message from the partially decrypted ciphertext through an operation based on at least one of decryption materials calculated through the partial decryption operation and a pre-stored set of attribute indices for receiving-ECU
In-vehicle communication system.
상기 송신-ECU, 상기 보안 에이전트 및 상기 수신-ECU 각각은,
서명(signature) 및 넌스값(nonce)을 생성하고, 상기 서명 및 상기 넌스값에 기초하여 상호간의 인증을 수행하는
차량-내 통신 시스템.According to claim 1,
each of the transmit-ECU, the security agent and the receive-ECU,
generating a signature and a nonce value, and performing mutual authentication based on the signature and the nonce value
In-vehicle communication system.
상기 송신-ECU는,
상기 메시지를 획득한 상기 수신-ECU의 ID(identity)를 키 테이블(key table)에 저장하는
차량-내 통신 시스템.According to claim 1,
The transmit-ECU is
Storing the ID (identity) of the receiving-ECU that obtained the message in a key table
In-vehicle communication system.
암호문을 수신하는 암호문 수신부;
기저장된 변환 비밀키(transformation secret key)에 기초한 연산을 통해 상기 암호문으로부터 변환된 암호문을 생성하는 암호문 변환부;
기저장된 역-순열 속성 인덱스 세트(inverse permuted attribute indices set)에 기초한 연산을 통해 상기 변환된 암호문으로부터 추출된 암호문을 생성하는 암호문 추출부 및
상기 추출된 암호문에 대한 부분 복호화(partial decryption) 연산을 수행하여 부분 복호화된 암호문을 생성하는 부분 복호화부
를 포함하고,
상기 암호문은,
숨겨진 정책 및 크리덴셜을 통해 강화된 속성 기반 암호화를 위해 의사 난수 순열(pseudo random permutation)인 셔플 함수(shuffle function)를 이용한 셔플 연산을 통해 셔플된 암호문이고,
상기 차량-내에 구비되는 수신-ECU로부터 상기 부분 복호화된 암호문을 수신하기 위한 요청 메시지(request message)를 수신하는 메시지 수신부를 더 포함하며,
상기 암호문 추출부는,
상기 요청 메시지가 수신되면 상기 추출된 암호문을 생성하고,
상기 수신-ECU는,
CAN 버스를 통해 상기 암호문이 상기 암호문 수신부로 전달되면, 상기 요청 메시지를 상기 메시지 수신부로 전달하는
차량-내 통신 시스템의 보안 에이전트.A security agent implemented as an on-board unit (OBU) provided in a vehicle, the security agent comprising:
a cipher text receiving unit for receiving the cipher text;
a ciphertext conversion unit for generating a ciphertext converted from the ciphertext through an operation based on a pre-stored transformation secret key;
A ciphertext extractor for generating a ciphertext extracted from the converted ciphertext through an operation based on a pre-stored inverse permuted attribute indices set, and
A partial decryption unit generating a partially decrypted ciphertext by performing a partial decryption operation on the extracted ciphertext
including,
The cipher text is
It is a ciphertext that is shuffled through a shuffle operation using a shuffle function, a pseudo random permutation, for attribute-based encryption strengthened through hidden policies and credentials.
Further comprising a message receiving unit for receiving a request message (request message) for receiving the partially decrypted cipher text from the receiving-ECU provided in the vehicle,
The cipher text extraction unit,
When the request message is received, the extracted cipher text is generated,
The receiving-ECU is
When the cipher text is transmitted to the cipher text receiver through the CAN bus, the request message is transferred to the message receiver
Security agent for in-vehicle communication systems.
상기 암호문은,
데이터 공유키(data sharing key)를 포함하는 암호문인
차량-내 통신 시스템의 보안 에이전트.16. The method of claim 15,
The cipher text is
A cipher text containing a data sharing key
Security agent for in-vehicle communication systems.
보안 에이전트에서, 상기 셔플된 암호문에 대한 부분 복호화(partial decryption) 연산을 수행하여 부분 복호화된 암호문을 생성하는 단계 및
수신-ECU에서, 상기 부분 복호화된 암호문에 대한 복호화 연산을 수행하여 상기 메시지를 획득하는 단계
를 포함하고,
상기 수신-ECU는,
CAN 버스를 통해 상기 셔플된 암호문이 상기 보안 에이전트로 전달되면, 상기 부분 복호화된 암호문을 수신하기 위한 요청 메시지(request message)를 상기 보안 에이전트에 전달하고,
상기 보안 에이전트는,
차량-내 구비되는 온-보드 유닛(on-board unit, OBU)으로 구현되고, 상기 요청 메시지를 수신하면 상기 부분 복호화 연산을 수행하는
차량-내 통신 방법.In the transmit-ECU, a cipher text for a message is generated, and the cipher text is generated using a shuffle function that is a pseudo random permutation for attribute-based encryption enhanced through hidden policies and credentials. generating a shuffled ciphertext by performing a shuffle operation on the ciphertext;
generating, in the security agent, a partially decrypted ciphertext by performing a partial decryption operation on the shuffled ciphertext; and
In the receiving-ECU, performing a decryption operation on the partially decrypted ciphertext to obtain the message
including,
The receiving-ECU is
When the shuffled ciphertext is transmitted to the security agent through a CAN bus, a request message for receiving the partially decrypted ciphertext is transmitted to the security agent;
The security agent is
It is implemented as an on-board unit (OBU) provided in the vehicle, and performs the partial decryption operation upon receiving the request message.
In-vehicle communication methods.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200097834A KR102400260B1 (en) | 2020-08-05 | 2020-08-05 | In-vehicle communication system based on edge computing using attribute-based access control and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200097834A KR102400260B1 (en) | 2020-08-05 | 2020-08-05 | In-vehicle communication system based on edge computing using attribute-based access control and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220018113A KR20220018113A (en) | 2022-02-15 |
KR102400260B1 true KR102400260B1 (en) | 2022-05-23 |
Family
ID=80325338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200097834A KR102400260B1 (en) | 2020-08-05 | 2020-08-05 | In-vehicle communication system based on edge computing using attribute-based access control and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102400260B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116319104B (en) * | 2023-05-22 | 2023-08-04 | 云上(江西)安全技术有限公司 | Data security operation method based on attribute re-encryption |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101003303B1 (en) * | 2008-12-18 | 2010-12-22 | 재단법인대구경북과학기술원 | Method for Authenticating Control Signal of Vehicle's Electronic Control Unit, Control Signal Transmitter and ECU using the same |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100400102B1 (en) * | 2001-08-07 | 2003-09-29 | 박주남 | Method for controling vehicle using a vin |
KR101062995B1 (en) * | 2009-01-19 | 2011-09-07 | 충남대학교산학협력단 | Key Management Method Effective for SCDA System Communication Environment |
KR101882694B1 (en) | 2016-11-03 | 2018-07-27 | 현대오토에버 주식회사 | Method and system for transceiving can message including mac |
KR102050887B1 (en) * | 2017-11-29 | 2019-12-02 | 고려대학교 산학협력단 | METHOD AND SYSTEM FOR DATA SHARING FOR INTERNET OF THINGS(IoT) MANAGEMENT IN CLOUD COMPUTING |
-
2020
- 2020-08-05 KR KR1020200097834A patent/KR102400260B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101003303B1 (en) * | 2008-12-18 | 2010-12-22 | 재단법인대구경북과학기술원 | Method for Authenticating Control Signal of Vehicle's Electronic Control Unit, Control Signal Transmitter and ECU using the same |
Non-Patent Citations (1)
Title |
---|
Jie Xu et al. "Succinct multi-authority attribute-based access control for circuits with authenticated outsourcing", Soft Computing (2017.) 1부.* |
Also Published As
Publication number | Publication date |
---|---|
KR20220018113A (en) | 2022-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jost et al. | Efficient ratcheting: almost-optimal guarantees for secure messaging | |
Aman et al. | Mutual authentication in IoT systems using physical unclonable functions | |
US8670563B2 (en) | System and method for designing secure client-server communication protocols based on certificateless public key infrastructure | |
Chandra | Bulletproof Wireless Security: GSM, UMTS, 802.11, and Ad Hoc Security | |
US10594479B2 (en) | Method for managing smart home environment, method for joining smart home environment and method for connecting communication session with smart device | |
JP2009529832A (en) | Undiscoverable, ie secure data communication using black data | |
Sari et al. | Comparative analysis of wireless security protocols: WEP vs WPA | |
US20200195446A1 (en) | System and method for ensuring forward & backward secrecy using physically unclonable functions | |
Yu et al. | EC-SVC: Secure CAN bus in-vehicle communications with fine-grained access control based on edge computing | |
US11240661B2 (en) | Secure simultaneous authentication of equals anti-clogging mechanism | |
KR102400260B1 (en) | In-vehicle communication system based on edge computing using attribute-based access control and method thereof | |
Farash | Cryptanalysis and improvement of ‘an improved authentication with key agreement scheme on elliptic curve cryptosystem for global mobility networks’ | |
CN115314284B (en) | Public key authentication searchable encryption method and system based on trusted execution environment | |
Prakash et al. | Data security in wired and wireless systems | |
KR102539418B1 (en) | Apparatus and method for mutual authentication based on physical unclonable function | |
Gupta | Cryptography and Network Security | |
Pilla et al. | A new authentication protocol for hardware-based authentication systems in an iot environment | |
KR100381710B1 (en) | Method For Security In Internet Server Based Upon Membership Operating System And Server Systems Regarding It | |
Pisa et al. | On the feasibility of attribute-based encryption for WLAN access control | |
Katz | Wpa vs. wpa2: Is wpa2 really an improvement on wpa? | |
Surya et al. | Single sign on mechanism using attribute based encryption in distributed computer networks | |
Hartl et al. | Subverting Counter Mode Encryption for Hidden Communication in High-Security Infrastructures | |
CN114218555B (en) | Method and device for enhancing password security strength of password management APP (application) password and storage medium | |
Pirzada et al. | Randomized Key Exchange Protocol Implementation for Internet of Things Application | |
Sandeep et al. | A Novel Mechanism for Design and Implementation of Confidentiality in Data for the Internet of Things with DES Technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |