1 |
1
메모리(memory); 및 상기 메모리에 저장된 적어도 하나 이상의 명령을 실행하는 프로세서(processor)를 포함하고, 상기 프로세서는 상기 적어도 하나 이상의 명령을 실행함으로써:동적으로 가변하는 일괄처리(batch) 크기에 대응하는 개수의 메시지들을 하나의 블록으로 생성하고, 상기 블록 내 메시지 각각에 대하여 발행자(publisher) 인증 정보를 생성하고, 상기 발행자 인증 정보의 적어도 일부에 기반하여 상기 블록 내 메시지 각각에 대하여 상기 일괄처리 크기에 대응하는 크기를 가지며 상기 블록에 대응하는 머클 트리를 생성하고, 상기 블록 내 메시지 각각에 대하여 상기 블록 내 리프 노드(leaf node) 정보를 포함하는 메시지 스트림 멤버십 검증 정보를 생성하고, 상기 발행자 인증 정보 및 상기 메시지 스트림 멤버십 검증 정보를 포함하는 상기 블록 내 메시지 각각을 연결하여 상기 블록에 대응하는 메시지 스트림을 생성하는, 동적 머클 트리 기반 메시지 스트림을 생성하는 장치
|
2 |
2
제1항에 있어서, 상기 프로세서는 새로 생성되는 메시지들의 개수에 기반하여 상기 일괄처리 크기를 동적으로 변경하는, 동적 머클 트리 기반 메시지 스트림을 생성하는 장치
|
3 |
3
제2항에 있어서, 상기 프로세서는 상기 새로 생성되는 메시지들의 개수에 기반하되, 메시지 스트림 멤버십 검증 비용, 상기 메시지 스트림 멤버십 검증 정보의 크기, 및 상기 메시지 스트림 멤버십 검증 정보의 생성 비용 중 적어도 하나 이상에 기반하여 상기 일괄처리 크기를 동적으로 변경하는, 동적 머클 트리 기반 메시지 스트림을 생성하는 장치
|
4 |
4
제1항에 있어서, 상기 프로세서는 상기 발행자 인증 정보의 적어도 일부인 공개키와 메시지 인덱스를 연결한(concatenated) 값을 상기 블록 내 리프 노드로 생성하고, 상기 일괄처리 크기만큼의 개수의 상기 블록 내 리프 노드를 포함하는 상기 머클 트리를 생성하는, 동적 머클 트리 기반 메시지 스트림을 생성하는 장치
|
5 |
5
제4항에 있어서, 상기 프로세서는 상기 머클 트리 내에서 상기 메시지 각각에 대응하는 리프 노드의 순서를 상기 메시지 인덱스로 생성하고, 상기 머클 트리 내에서 상기 메시지 각각에 대응하는 리프 노드의 머클 경로, 상기 메시지 인덱스, 상기 메시지 스트림의 다음 연결 블록에 대한 다음 머클 트리의 머클 루트 정보, 및 발행자(publisher) 인증 정보를 상기 메시지 각각과 함께 포함하는 상기 메시지 스트림을 생성하는, 동적 머클 트리 기반 메시지 스트림을 생성하는 장치
|
6 |
6
제5항에 있어서, 상기 프로세서는 상기 블록 내에 포함되는 상기 일괄처리 크기만큼의 개수의 메시지들과, 상기 블록에 대응하는 상기 머클 트리의 머클 루트 정보, 및 상기 블록 내에 포함되는 메시지의 개수가 포함되도록 상기 메시지 스트림을 하나의 블록으로 일괄처리하는, 동적 머클 트리 기반 메시지 스트림을 생성하는 장치
|
7 |
7
제4항에 있어서, 상기 프로세서는 상기 일괄처리 크기에 대응하는 개수의 메시지들 각각에 대응하도록 상기 공개키와 개인키 쌍을 생성하고, 상기 메시지들 각각에 대응하도록 상기 공개키와 상기 메시지 인덱스를 연결한 값을 상기 블록 내 리프 노드로 생성하는, 동적 머클 트리 기반 메시지 스트림을 생성하는 장치
|
8 |
8
제4항에 있어서, 상기 프로세서는 메시지 스트림 채널 보안을 위하여 메시지 각각에 대한 대칭키를 생성하고, 상기 대칭키에 기반하여 상기 메시지 각각을 암호화하고, 상기 암호화된 상기 메시지 각각에 대한 서명 정보를 상기 블록 내 메시지 각각에 대한 상기 발행자 인증 정보로서 생성하는, 동적 머클 트리 기반 메시지 스트림을 생성하는 장치
|
9 |
9
제8항에 있어서, 상기 서명 정보에 대하여 서명 정보 크기와 서명 정보 생성 시간이 설정될 수 있고, 상기 프로세서는 메시지 스트리밍이 이루어지는 환경의 자원 제약 조건을 고려하여 상기 서명 정보 크기와 상기 서명 정보 생성 시간을 설정하는, 동적 머클 트리 기반 메시지 스트림을 생성하는 장치
|
10 |
10
제1항에 있어서, 상기 프로세서는 제1 일괄처리 크기만큼의 개수의 메시지들을 포함하고 상기 제1 일괄처리 크기에 대응하는 크기를 가지는 제1 머클 트리에 대응하는 제1 블록의 다음 블록인 제2 블록에 대해서, 상기 제2 블록에 적용될 제2 일괄처리 크기를 결정하고, 상기 제2 일괄처리 크기에 대응하는 크기를 가지는 제2 머클 트리를 생성하고, 상기 제1 블록의 이후에 생성되는 메시지들을 상기 제2 머클 트리에 대응하도록 상기 제2 블록으로 생성하는, 동적 머클 트리 기반 메시지 스트림을 생성하는 장치
|
11 |
11
제10항에 있어서, 상기 프로세서는 상기 제2 일괄처리 크기가 상기 제1 일괄처리 크기보다 큰 경우, 상기 제1 머클 트리를 포함하면서 상기 제2 일괄처리 크기만큼의 개수의 리프 노드를 포함하도록 상기 제2 머클 트리를 생성하는, 동적 머클 트리 기반 메시지 스트림을 생성하는 장치
|
12 |
12
메모리에 저장된 적어도 하나 이상의 명령을 로드하고 실행하는 프로세서(processor)에 의해서 수행되는 방법으로서, 동적으로 가변하는 일괄처리(batch) 크기만큼의 개수의 메시지들을 하나의 블록으로 생성하는 단계; 상기 블록 내 메시지 각각에 대하여 발행자(publisher) 인증 정보를 생성하는 단계; 상기 발행자 인증 정보의 적어도 일부에 기반하여 상기 블록 내 메시지 각각에 대하여 상기 일괄처리 크기에 대응하는 크기를 가지며 상기 블록에 대응하는 머클 트리를 생성하는 단계; 상기 블록 내 메시지 각각에 대하여 상기 블록 내 리프 노드(leaf node) 정보를 포함하는 메시지 스트림 멤버십 검증 정보를 생성하는 단계; 및 상기 발행자 인증 정보 및 상기 메시지 스트림 멤버십 검증 정보를 포함하는 상기 블록 내 메시지 각각을 연결하여 상기 블록에 대응하는 메시지 스트림을 생성하는 단계; 를 포함하는, 동적 머클 트리 기반 메시지 스트리밍 방법
|
13 |
13
제12항에 있어서, 새로 생성되는 메시지들의 개수에 기반하되, 메시지 스트림 멤버십 검증 비용, 상기 메시지 스트림 멤버십 검증 정보의 크기, 및 상기 메시지 스트림 멤버십 검증 정보의 생성 비용 중 적어도 하나 이상에 기반하여 상기 일괄처리 크기를 동적으로 변경하는 단계;를 더 포함하는, 동적 머클 트리 기반 메시지 스트리밍 방법
|
14 |
14
제12항에 있어서, 상기 블록에 대응하는 머클 트리를 생성하는 단계에서는, 상기 발행자 인증 정보의 적어도 일부인 공개키와 메시지 인덱스를 연결한(concatenated) 값을 상기 블록 내 리프 노드로 생성하고, 상기 일괄처리 크기만큼의 개수의 상기 블록 내 리프 노드를 포함하는 상기 머클 트리를 생성하는, 동적 머클 트리 기반 메시지 스트리밍 방법
|
15 |
15
제14항에 있어서, 상기 블록에 대응하는 메시지 스트림을 생성하는 단계는, 상기 머클 트리 내에서 상기 메시지 각각에 대응하는 리프 노드의 순서를 상기 메시지 인덱스로 생성하는 단계; 및 상기 머클 트리 내에서 상기 메시지 각각에 대응하는 리프 노드의 머클 경로, 상기 메시지 인덱스, 상기 메시지 스트림의 다음 연결 블록에 대한 다음 머클 트리의 머클 루트 정보, 및 발행자(publisher) 인증 정보를 상기 메시지 각각과 함께 포함하도록 연결함으로써 상기 메시지 스트림을 생성하는 단계; 를 포함하는, 동적 머클 트리 기반 메시지 스트리밍 방법
|
16 |
16
제12항에 있어서, 제1 일괄처리 크기가 결정된 상태에서 상기 제1 일괄처리 크기에 대응하는 크기를 가지는 제1 머클 트리에 대응하는 제1 블록에 대한 메시지 스트리밍 이후에, 상기 제1 블록의 다음 블록인 제2 블록에 대해서, 상기 제2 블록에 적용될 제2 일괄처리 크기를 결정하는 단계; 를 더 포함하고, 상기 머클 트리를 생성하는 단계에서는, 상기 제2 일괄처리 크기에 대응하는 크기를 가지는 제2 머클 트리를 생성하는, 동적 머클 트리 기반 메시지 스트리밍 방법
|
17 |
17
제16항에 있어서, 상기 제2 일괄처리 크기가 상기 제1 일괄처리 크기보다 큰 경우, 상기 머클 트리를 생성하는 단계에서는, 상기 제1 머클 트리를 포함하면서 상기 제2 일괄처리 크기만큼의 개수의 리프 노드를 포함하도록 상기 제2 머클 트리를 생성하는, 동적 머클 트리 기반 메시지 스트리밍 방법
|
18 |
18
메시지 스트림을 생성하고 발행하는 제1 엔티티; 및 상기 메시지 스트림을 수신하고 구독하는 제2 엔티티; 를 포함하고, 상기 제1 엔티티는, 동적으로 가변하는 일괄처리(batch) 크기만큼의 개수의 메시지들을 하나의 블록으로 생성하고, 상기 블록 내 메시지 각각에 대하여 발행자(publisher) 인증 정보를 생성하고, 상기 발행자 인증 정보의 적어도 일부에 기반하여 상기 블록 내 메시지 각각에 대하여 상기 일괄처리 크기에 대응하는 크기를 가지며 상기 블록에 대응하는 머클 트리를 생성하고, 상기 블록 내 메시지 각각에 대하여 상기 블록 내 리프 노드(leaf node) 정보를 포함하는 메시지 스트림 멤버십 검증 정보를 생성하고, 상기 발행자 인증 정보 및 상기 메시지 스트림 멤버십 검증 정보를 포함하는 상기 블록 내 메시지 각각을 연결하여 상기 블록에 대응하는 메시지 스트림을 생성하고, 상기 제2 엔티티는, 수신된 상기 메시지 스트림을 파싱하여 상기 발행자 인증 정보 및 상기 메시지 스트림 멤버십 검증 정보를 추출하고, 상기 발행자 인증 정보에 기반하여 상기 메시지 스트림의 발행자 인증 과정을 수행하고, 상기 발행자 인증 정보 및 상기 메시지 스트림 멤버십 검증 정보에 기반하여 상기 메시지 스트림 멤버십 검증 과정을 수행하는, 동적 머클 트리 기반 메시지 스트리밍 네트워크 시스템
|
19 |
19
제18항에 있어서, 상기 제1 엔티티로부터 전송되는 상기 메시지 스트림을 저장하는 채널 서버;를 더 포함하고, 상기 제2 엔티티는 상기 채널 서버에 의하여 제공되는 채널을 구독함으로써 상기 메시지 스트림을 수신하는, 동적 머클 트리 기반 메시지 스트리밍 네트워크 시스템
|