1 |
1
차량에 탑재되어, 상기 차량에서 생성되는 운행 데이터의 무결성 보장을 위한 블록체인 기반의 데이터 저장 장치에 있어서,복수의 블록들이 체인으로 연결된 제1 블록체인 데이터를 저장하고 있는 데이터 저장부;사전 설정된 제1 주기 간격으로, 상기 제1 블록체인 데이터에 연결될 신규 블록을 생성하기 위한 블록 생성 이벤트를 발생시키는 블록 생성 이벤트 발생부;상기 블록 생성 이벤트가 발생되면, 상기 제1 주기에 해당되는 시간 동안 상기 차량 내부에서 생성되는 운행 데이터를 확보하고, 상기 제1 주기에 해당되는 시간 동안 상기 차량의 주변에 위치하고 있는 다른 차량들 각각에 탑재된 데이터 저장 장치에서 생성되어 브로드캐스팅되는 블록들을 확보하는 수집부;상기 수집부를 통해, 제1 운행 데이터와 제1 블록들이 확보된 경우, 상기 제1 운행 데이터와 상기 제1 블록들로 구성되는 데이터셋을 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하는 해시부;전자 서명을 위한 제1 개인키와 제1 공개키를 생성한 후, 상기 제1 해시 값을 상기 제1 개인키로 전자 서명하여 제1 전자 서명 값을 생성하는 전자 서명부;상기 제1 해시 값, 상기 제1 전자 서명 값 및 상기 제1 공개키를 포함하는 제1 신규 블록을 생성한 후, 상기 제1 신규 블록을 상기 제1 블록체인 데이터에 체인으로 연결하는 블록 저장 처리부; 및상기 제1 신규 블록이 상기 제1 블록체인 데이터에 체인으로 연결되면, 상기 제1 신규 블록을, 상기 차량의 주변에 위치하고 있는 다른 차량들에 탑재된 데이터 저장 장치가 수신할 수 있도록 브로드캐스팅하는 브로드캐스팅부를 포함하는 데이터 저장 장치
|
2 |
2
제1항에 있어서,상기 제1 신규 블록이 브로드캐스팅되면, 운행 데이터들을 저장하기 위해 마련된 데이터베이스 상에, 상기 제1 운행 데이터와 상기 제1 해시 값을 서로 대응시켜 저장하는 저장 처리부; 및상기 데이터베이스 상에 상기 제1 운행 데이터의 저장이 완료된 이후, 관리자 단말로부터 상기 제1 운행 데이터의 전송 요청이 수신되면, 상기 데이터베이스로부터 상기 제1 운행 데이터를 추출하여 상기 관리자 단말로 전송하는 데이터 전송부를 더 포함하는 데이터 저장 장치
|
3 |
3
제2항에 있어서,상기 저장 처리부는상기 제1 신규 블록이 브로드캐스팅되면, 동형 암호화(Homomorphic Encryption)를 위한 사전 설정된 암호화키 - 상기 암호화키에 대응되는 복호화키는 상기 관리자 단말에 사전 저장되어 있음 - 를 이용하여 상기 제1 운행 데이터를 암호화한 후, 상기 데이터베이스 상에, 암호화된 상기 제1 운행 데이터와 상기 제1 해시 값을 서로 대응시켜 저장하고,상기 데이터 전송부는상기 관리자 단말로부터 상기 제1 운행 데이터의 전송 요청이 수신되면, 상기 데이터베이스로부터 암호화된 상기 제1 운행 데이터를 추출한 후, 더미(dummy) 데이터를 랜덤하게 생성하여, 상기 더미 데이터를 상기 암호화키로 암호화하고, 암호화된 상기 제1 운행 데이터와 암호화된 상기 더미 데이터를 사전 설정된 제1 동형 연산식에 따라 동형 연산을 수행함으로써, 제1 동형 연산 데이터를 생성한 후, 상기 제1 동형 연산 데이터와 상기 더미 데이터를 상기 관리자 단말로 전송하며,상기 관리자 단말은상기 제1 동형 연산 데이터와 상기 더미 데이터가 수신되면, 상기 복호화키를 이용하여 상기 제1 동형 연산 데이터에 대한 복호화를 수행함으로써, 제1 복호화 데이터를 생성한 후, 상기 제1 동형 연산식에 대응되는 평문 도메인에서의 제1 연산식에 따라 상기 더미 데이터와 서로 연산이 수행되었을 경우에 산출되는 연산 결과가, 상기 제1 복호화 데이터가 되도록 하는 해(solution)를 연산함으로써, 상기 제1 운행 데이터를 복원하는 것을 특징으로 하는 데이터 저장 장치
|
4 |
4
제2항에 있어서,상기 제1 운행 데이터가 상기 관리자 단말로 전송된 이후, 상기 관리자 단말로부터 상기 제1 운행 데이터에 대한 무결성 검증 요청이 수신되면, 상기 데이터베이스로부터 상기 제1 해시 값을 확인한 후, 상기 데이터 저장부에 저장되어 있는 상기 제1 블록체인 데이터로부터, 블록 내에 상기 제1 해시 값을 포함하고 있는 상기 제1 신규 블록을 추출하는 블록 추출부;상기 제1 신규 블록이 추출되면, 상기 제1 신규 블록에 포함되어 있는 상기 제1 공개키를 기초로 상기 제1 전자 서명 값을 복호화하였을 때 생성되는 결과가 상기 제1 신규 블록에 포함되어 있는 상기 제1 해시 값과 일치하는지 여부 확인함으로써, 상기 제1 전자 서명 값에 대한 검증을 수행하는 서명 검증부; 및상기 제1 전자 서명 값에 대한 검증이 완료되면, 상기 관리자 단말로, 상기 제1 운행 데이터의 무결성이 보장됨을 알리는 안내 메시지를 전송하는 안내 메시지 전송부를 더 포함하는 데이터 저장 장치
|
5 |
5
제2항에 있어서,상기 데이터베이스에 저장되어 있는 운행 데이터들의 개수가 사전 설정된 기준 개수를 초과하는지 여부를 확인하여, 상기 기준 개수를 초과하는 것으로 확인되는 경우, 상기 데이터베이스에 저장되어 있는 운행 데이터들을, 사전 설정된 외부 스토리지 서버로 전송함으로써, 상기 데이터베이스에 저장되어 있는 운행 데이터들을 상기 외부 스토리지 서버에 저장하는 외부 저장 처리부; 및상기 데이터베이스에 저장되어 있는 운행 데이터들이 상기 외부 스토리지 서버에 저장 완료되면, 상기 데이터베이스에 저장되어 있는 운행 데이터들을 삭제하는 삭제 처리부를 더 포함하는 데이터 저장 장치
|
6 |
6
차량에 탑재되어, 상기 차량에서 생성되는 운행 데이터의 무결성 보장을 위한 블록체인 기반의 데이터 저장 장치의 동작 방법에 있어서,복수의 블록들이 체인으로 연결된 제1 블록체인 데이터를 저장하고 있는 데이터 저장부를 유지하는 단계;사전 설정된 제1 주기 간격으로, 상기 제1 블록체인 데이터에 연결될 신규 블록을 생성하기 위한 블록 생성 이벤트를 발생시키는 단계;상기 블록 생성 이벤트가 발생되면, 상기 제1 주기에 해당되는 시간 동안 상기 차량 내부에서 생성되는 운행 데이터를 확보하고, 상기 제1 주기에 해당되는 시간 동안 상기 차량의 주변에 위치하고 있는 다른 차량들 각각에 탑재된 데이터 저장 장치에서 생성되어 브로드캐스팅되는 블록들을 확보하는 단계;상기 확보하는 단계를 통해, 제1 운행 데이터와 제1 블록들이 확보된 경우, 상기 제1 운행 데이터와 상기 제1 블록들로 구성되는 데이터셋을 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하는 단계;전자 서명을 위한 제1 개인키와 제1 공개키를 생성한 후, 상기 제1 해시 값을 상기 제1 개인키로 전자 서명하여 제1 전자 서명 값을 생성하는 단계;상기 제1 해시 값, 상기 제1 전자 서명 값 및 상기 제1 공개키를 포함하는 제1 신규 블록을 생성한 후, 상기 제1 신규 블록을 상기 제1 블록체인 데이터에 체인으로 연결하는 단계; 및상기 제1 신규 블록이 상기 제1 블록체인 데이터에 체인으로 연결되면, 상기 제1 신규 블록을, 상기 차량의 주변에 위치하고 있는 다른 차량들에 탑재된 데이터 저장 장치가 수신할 수 있도록 브로드캐스팅하는 단계를 포함하는 데이터 저장 장치의 동작 방법
|
7 |
7
제6항에 있어서,상기 제1 신규 블록이 브로드캐스팅되면, 운행 데이터들을 저장하기 위해 마련된 데이터베이스 상에, 상기 제1 운행 데이터와 상기 제1 해시 값을 서로 대응시켜 저장하는 단계; 및상기 데이터베이스 상에 상기 제1 운행 데이터의 저장이 완료된 이후, 관리자 단말로부터 상기 제1 운행 데이터의 전송 요청이 수신되면, 상기 데이터베이스로부터 상기 제1 운행 데이터를 추출하여 상기 관리자 단말로 전송하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법
|
8 |
8
제7항에 있어서,상기 저장하는 단계는상기 제1 신규 블록이 브로드캐스팅되면, 동형 암호화(Homomorphic Encryption)를 위한 사전 설정된 암호화키 - 상기 암호화키에 대응되는 복호화키는 상기 관리자 단말에 사전 저장되어 있음 - 를 이용하여 상기 제1 운행 데이터를 암호화한 후, 상기 데이터베이스 상에, 암호화된 상기 제1 운행 데이터와 상기 제1 해시 값을 서로 대응시켜 저장하고,상기 전송하는 단계는상기 관리자 단말로부터 상기 제1 운행 데이터의 전송 요청이 수신되면, 상기 데이터베이스로부터 암호화된 상기 제1 운행 데이터를 추출한 후, 더미(dummy) 데이터를 랜덤하게 생성하여, 상기 더미 데이터를 상기 암호화키로 암호화하고, 암호화된 상기 제1 운행 데이터와 암호화된 상기 더미 데이터를 사전 설정된 제1 동형 연산식에 따라 동형 연산을 수행함으로써, 제1 동형 연산 데이터를 생성한 후, 상기 제1 동형 연산 데이터와 상기 더미 데이터를 상기 관리자 단말로 전송하며,상기 관리자 단말은상기 제1 동형 연산 데이터와 상기 더미 데이터가 수신되면, 상기 복호화키를 이용하여 상기 제1 동형 연산 데이터에 대한 복호화를 수행함으로써, 제1 복호화 데이터를 생성한 후, 상기 제1 동형 연산식에 대응되는 평문 도메인에서의 제1 연산식에 따라 상기 더미 데이터와 서로 연산이 수행되었을 경우에 산출되는 연산 결과가, 상기 제1 복호화 데이터가 되도록 하는 해(solution)를 연산함으로써, 상기 제1 운행 데이터를 복원하는 것을 특징으로 하는 데이터 저장 장치의 동작 방법
|
9 |
9
제7항에 있어서,상기 제1 운행 데이터가 상기 관리자 단말로 전송된 이후, 상기 관리자 단말로부터 상기 제1 운행 데이터에 대한 무결성 검증 요청이 수신되면, 상기 데이터베이스로부터 상기 제1 해시 값을 확인한 후, 상기 데이터 저장부에 저장되어 있는 상기 제1 블록체인 데이터로부터, 블록 내에 상기 제1 해시 값을 포함하고 있는 상기 제1 신규 블록을 추출하는 단계;상기 제1 신규 블록이 추출되면, 상기 제1 신규 블록에 포함되어 있는 상기 제1 공개키를 기초로 상기 제1 전자 서명 값을 복호화하였을 때 생성되는 결과가 상기 제1 신규 블록에 포함되어 있는 상기 제1 해시 값과 일치하는지 여부 확인함으로써, 상기 제1 전자 서명 값에 대한 검증을 수행하는 단계; 및상기 제1 전자 서명 값에 대한 검증이 완료되면, 상기 관리자 단말로, 상기 제1 운행 데이터의 무결성이 보장됨을 알리는 안내 메시지를 전송하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법
|
10 |
10
제7항에 있어서,상기 데이터베이스에 저장되어 있는 운행 데이터들의 개수가 사전 설정된 기준 개수를 초과하는지 여부를 확인하여, 상기 기준 개수를 초과하는 것으로 확인되는 경우, 상기 데이터베이스에 저장되어 있는 운행 데이터들을, 사전 설정된 외부 스토리지 서버로 전송함으로써, 상기 데이터베이스에 저장되어 있는 운행 데이터들을 상기 외부 스토리지 서버에 저장하는 단계; 및상기 데이터베이스에 저장되어 있는 운행 데이터들이 상기 외부 스토리지 서버에 저장 완료되면, 상기 데이터베이스에 저장되어 있는 운행 데이터들을 삭제하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법
|
11 |
11
제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체
|
12 |
12
제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램
|