JP2023082548A - Web conference system, client device, client program, server device, server program, certificate authority device, and certificate authority program - Google Patents

Web conference system, client device, client program, server device, server program, certificate authority device, and certificate authority program Download PDF

Info

Publication number
JP2023082548A
JP2023082548A JP2021196392A JP2021196392A JP2023082548A JP 2023082548 A JP2023082548 A JP 2023082548A JP 2021196392 A JP2021196392 A JP 2021196392A JP 2021196392 A JP2021196392 A JP 2021196392A JP 2023082548 A JP2023082548 A JP 2023082548A
Authority
JP
Japan
Prior art keywords
client
key
web conference
communication key
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021196392A
Other languages
Japanese (ja)
Inventor
晃由 山口
Akiyoshi Yamaguchi
大輔 鈴木
Daisuke Suzuki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2021196392A priority Critical patent/JP2023082548A/en
Publication of JP2023082548A publication Critical patent/JP2023082548A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

To allow each participant in a web conference to obtain an encryption key for message communication through a small number of times of two-party key sharing.SOLUTION: A client device 200 generates and stores a communication key when the client device participates first, performs key sharing with a parent client when the client device participates second and later, and uses an encrypted communication key from the parent client to decrypt the communication key and store the communication key. If the key sharing with a child client is not performed, the client device 200 performs key sharing with a newly joined client device by making the same the child client, updates the stored communication key by hashing, and transmits the encrypted communication key to the child client, and transmits a participation notification to the parent client. When receiving the participation notification from the child client, the client device 200 updates the stored communication key by the hashing.SELECTED DRAWING: Figure 1

Description

本開示は、ウェブ会議システムに関するものである。 The present disclosure relates to web conferencing systems.

ウェブ会議システムにおいて、メッセージが暗号化され各参加者に送信される。メッセージ通信用の暗号鍵は、暗号化され各参加者に送信される。
非特許文献1には、各参加者が参加者全員と2者間鍵共有を行うことが記載されている。
In a web conferencing system, messages are encrypted and sent to each participant. A cryptographic key for messaging is encrypted and sent to each participant.
Non-Patent Document 1 describes that each participant performs bilateral key sharing with all participants.

n者がウェブ会議に参加すると回の鍵共有が必要となる。鍵共有には多大なコストがかかるため、鍵共有の回数をできるだけ減らす必要がある。 When n persons participate in the web conference, n C 2 times of key sharing are required. Since key sharing is very costly, it is necessary to reduce the number of times of key sharing as much as possible.

Paul Rosler, et.al., “More is Less: On the End-to-End Security of Group Chats in Signal, WhatsApp, and Threema”, 2018 IEEE European Symposium on Security and Privacy (EuroS&P)Paul Rosler, et. al. , "More is Less: On the End-to-End Security of Group Chats in Signal, WhatsApp, and Threema", 2018 IEEE European Symposium on Security and P rivacy (Euro S&P)

本開示は、ウェブ会議の各参加者が、少ない回数の2者間鍵共有によって、メッセージ通信用の暗号鍵を取得できるようにすることを目的とする。 The present disclosure aims to enable each participant in a web conference to obtain cryptographic keys for messaging through a small number of bilateral key agreements.

本開示のウェブ会議システムは、
ウェブ会議に参加する複数のクライアント装置を備える。
前記複数のクライアント装置のそれぞれは、
前記ウェブ会議に1番目に参加したときに、前記ウェブ会議でのメッセージの通信に用いられる通信鍵を生成して保管し、
前記ウェブ会議に2番目以降に参加したときに、前記ウェブ会議に参加中で親クライアントになったクライアント装置と鍵共有を行い、前記親クライアントからの暗号化通信鍵を受信し、前記親クライアントとの共有鍵を用いて前記暗号化通信鍵から前記通信鍵を復号し、前記通信鍵を保管し、
前記ウェブ会議に参加中で子クライアントとの前記鍵共有を行っていない場合、前記ウェブ会議に新たに参加したクライアント装置を前記子クライアントにして前記鍵共有を行い、保管中の前記通信鍵をハッシュ化によって更新し、更新済みで保管中の前記通信鍵を前記子クライアントとの共有鍵を用いて暗号化し、前記子クライアントに対して暗号化通信鍵を送信し、前記親クライアントに対して参加通知を送信し、
前記子クライアントからの参加通知を受信した場合、保管中の前記通信鍵を前記ハッシュ化によって更新する。
The web conference system of the present disclosure is
A plurality of client devices participating in a web conference.
each of the plurality of client devices,
generating and storing a communication key to be used for message communication in the web conference when first participating in the web conference;
When participating in the web conference for the second time or later, share a key with a client device that is participating in the web conference and has become a parent client, receive an encrypted communication key from the parent client, and communicate with the parent client. Decrypting the communication key from the encrypted communication key using the shared key of, storing the communication key,
When the key is not shared with a child client while participating in the web conference, the key is shared with a client device newly participating in the web conference as the child client, and the communication key being stored is hashed. encryption, encrypts the updated and stored communication key using a shared key shared with the child client, transmits the encrypted communication key to the child client, and notifies the parent client of participation. and send
When receiving a participation notification from the child client, the stored communication key is updated by the hashing.

本開示によれば、ウェブ会議の各参加者(クライアント装置)が、親となる参加者と子となる参加者との2回の2者間鍵共有によって、メッセージ通信用の暗号鍵(通信鍵)を取得することができる。 According to the present disclosure, each participant (client device) of the web conference shares an encryption key for message communication (communication key ) can be obtained.

実施の形態1におけるウェブ会議システム100の構成図。1 is a configuration diagram of a web conference system 100 according to Embodiment 1; FIG. 実施の形態1におけるクライアント装置200の構成図。FIG. 2 is a configuration diagram of a client device 200 according to Embodiment 1; FIG. 実施の形態1におけるクライアント装置200の機能構成図。3 is a functional configuration diagram of the client device 200 according to Embodiment 1. FIG. 実施の形態1におけるサーバ装置300の構成図。3 is a configuration diagram of a server device 300 according to Embodiment 1. FIG. 実施の形態1における認証局装置400の構成図。2 is a configuration diagram of a certificate authority device 400 according to Embodiment 1. FIG. 実施の形態1における準備処理および登録処理のフローチャート。4 is a flowchart of preparation processing and registration processing according to the first embodiment; 実施の形態1における準備処理のフローチャート。4 is a flowchart of preparation processing according to the first embodiment; 実施の形態1における登録処理のフローチャート(1/2)。4 is a flowchart (1/2) of registration processing according to Embodiment 1; 実施の形態1における登録処理のフローチャート(2/2)。4 is a flowchart (2/2) of registration processing according to Embodiment 1; 実施の形態1における設定処理(概要)のフローチャート。4 is a flowchart of setting processing (outline) according to the first embodiment; 実施の形態1における設定処理(具体例)のフローチャート(1/2)。10 is a flowchart (1/2) of setting processing (specific example) according to the first embodiment; 実施の形態1における設定処理(具体例)のフローチャート(2/2)。2 is a flowchart (2/2) of setting processing (specific example) according to Embodiment 1; 実施の形態1における署名付きメンバーリスト111を示す図。FIG. 2 shows a signed member list 111 according to the first embodiment; FIG. 実施の形態1における修正済みメンバーリスト112を示す図。FIG. 4 shows the corrected member list 112 according to the first embodiment; FIG. 実施の形態1における参加処理および離脱処理の概要図。4 is a schematic diagram of joining processing and leaving processing according to the first embodiment; FIG. 実施の形態1における参加処理および離脱処理のデータフロー図。4 is a data flow diagram of joining processing and leaving processing according to Embodiment 1. FIG. 実施の形態1における参加処理のフローチャート(1/4)。4 is a flowchart (1/4) of participation processing according to Embodiment 1; 実施の形態1における参加処理のフローチャート(2/4)。4 is a flowchart (2/4) of participation processing according to Embodiment 1; 実施の形態1における参加処理のフローチャート(3/4)。4 is a flowchart (3/4) of participation processing according to Embodiment 1; 実施の形態1における参加処理のフローチャート(4/4)。4 is a flowchart (4/4) of participation processing according to Embodiment 1; 実施の形態1における離脱処理のフローチャート(1/2)。4 is a flowchart (1/2) of the leaving process according to the first embodiment; 実施の形態1における離脱処理のフローチャート(2/2)。2 is a flowchart (2/2) of a leaving process according to Embodiment 1; 実施の形態1における通信処理のフローチャート。4 is a flowchart of communication processing according to Embodiment 1; 実施の形態2におけるクライアント装置200の構成図。FIG. 2 is a configuration diagram of a client device 200 according to Embodiment 2; 実施の形態2における検知部270の構成図。4 is a configuration diagram of a detection unit 270 according to Embodiment 2. FIG. 実施の形態2におけるサーバ装置300の構成図。FIG. 4 is a configuration diagram of a server device 300 according to Embodiment 2; 実施の形態2における検知処理のデータフロー図。FIG. 10 is a data flow diagram of detection processing according to the second embodiment; 実施の形態2における検知処理のフローチャート。9 is a flowchart of detection processing according to the second embodiment;

実施の形態および図面において、同じ要素または対応する要素には同じ符号を付している。説明した要素と同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。 The same or corresponding elements are denoted by the same reference numerals in the embodiments and drawings. Descriptions of elements having the same reference numerals as those described will be omitted or simplified as appropriate. Arrows in the figure mainly indicate the flow of data or the flow of processing.

実施の形態1.
ウェブ会議システム100について、図1から図23に基づいて説明する。
Embodiment 1.
The web conference system 100 will be described based on FIGS. 1 to 23. FIG.

***構成の説明***
図1に基づいて、ウェブ会議システム100の構成を説明する。
ウェブ会議システム100は、ウェブ会議に参加する複数のクライアント装置200を備える。
ウェブ会議システム100は、さらに、サーバ装置300と、認証局装置400と、を備える。
複数のクライアント装置200とサーバ装置300と認証局装置400は、ネットワーク101を介して互いに通信する。ネットワーク101の具体例はインターネットである。
*** Configuration description ***
The configuration of the web conference system 100 will be described based on FIG.
A web conference system 100 comprises a plurality of client devices 200 participating in a web conference.
The web conferencing system 100 further includes a server device 300 and a certificate authority device 400 .
A plurality of client devices 200 , server devices 300 and certificate authority devices 400 communicate with each other via network 101 . A specific example of network 101 is the Internet.

図2に基づいて、クライアント装置200の構成を説明する。
クライアント装置200は、プロセッサ201とメモリ202と補助記憶装置203と通信装置204と入出力インタフェース205といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
The configuration of the client device 200 will be described based on FIG.
The client device 200 is a computer including hardware such as a processor 201 , a memory 202 , an auxiliary storage device 203 , a communication device 204 and an input/output interface 205 . These pieces of hardware are connected to each other via signal lines.

プロセッサ201は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ201はCPUである。
ICは、Integrated Circuitの略称である。
CPUは、Central Processing Unitの略称である。
A processor 201 is an IC that performs arithmetic processing and controls other hardware. For example, processor 201 is a CPU.
IC is an abbreviation for Integrated Circuit.
CPU is an abbreviation for Central Processing Unit.

メモリ202は揮発性または不揮発性の記憶装置である。メモリ202は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ202はRAMである。メモリ202に記憶されたデータは必要に応じて補助記憶装置203に保存される。
RAMは、Random Access Memoryの略称である。
Memory 202 is a volatile or non-volatile storage device. Memory 202 is also referred to as main storage or main memory. For example, memory 202 is RAM. The data stored in memory 202 is saved in auxiliary storage device 203 as needed.
RAM is an abbreviation for Random Access Memory.

補助記憶装置203は不揮発性の記憶装置である。例えば、補助記憶装置203は、ROM、HDD、フラッシュメモリまたはこれらの組み合わせである。補助記憶装置203に記憶されたデータは必要に応じてメモリ202にロードされる。
ROMは、Read Only Memoryの略称である。
HDDは、Hard Disk Driveの略称である。
Auxiliary storage device 203 is a non-volatile storage device. For example, auxiliary storage device 203 is ROM, HDD, flash memory, or a combination thereof. Data stored in the auxiliary storage device 203 is loaded into the memory 202 as needed.
ROM is an abbreviation for Read Only Memory.
HDD is an abbreviation for Hard Disk Drive.

通信装置204はレシーバ及びトランスミッタである。例えば、通信装置204は通信チップまたはNICである。クライアント装置200の通信は通信装置204を用いて行われる。
NICは、Network Interface Cardの略称である。
Communication device 204 is a receiver and transmitter. For example, communication device 204 is a communication chip or NIC. Communication of the client device 200 is performed using the communication device 204 .
NIC is an abbreviation for Network Interface Card.

入出力インタフェース205は、入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース205はUSB端子であり、入力装置はキーボード、マウスおよびマイクであり、出力装置はディスプレイおよびスピーカである。クライアント装置200の入出力は入出力インタフェース205を用いて行われる。
USBは、Universal Serial Busの略称である。
The input/output interface 205 is a port to which an input device and an output device are connected. For example, the input/output interface 205 is a USB terminal, input devices are a keyboard, mouse and microphone, and output devices are a display and speakers. Input/output of the client device 200 is performed using the input/output interface 205 .
USB is an abbreviation for Universal Serial Bus.

クライアント装置200は、準備部210と登録部220と設定部230と参加部240と離脱部250と通信部260といった要素を備える。これらの要素はソフトウェアで実現される。 The client device 200 includes elements such as a preparation unit 210 , a registration unit 220 , a setting unit 230 , a joining unit 240 , a leaving unit 250 and a communication unit 260 . These elements are implemented in software.

補助記憶装置203には、準備部210と登録部220と設定部230と参加部240と離脱部250と通信部260としてコンピュータを機能させるためのクライアントプログラムが記憶されている。クライアントプログラムは、メモリ202にロードされて、プロセッサ201によって実行される。
補助記憶装置203には、さらに、OSが記憶されている。OSの少なくとも一部は、メモリ202にロードされて、プロセッサ201によって実行される。
プロセッサ201は、OSを実行しながら、クライアントプログラムを実行する。
OSは、Operating Systemの略称である。
The auxiliary storage device 203 stores client programs for causing the computer to function as a preparation section 210 , a registration section 220 , a setting section 230 , a joining section 240 , a leaving section 250 and a communication section 260 . The client program is loaded into memory 202 and executed by processor 201 .
The auxiliary storage device 203 further stores an OS. At least part of the OS is loaded into memory 202 and executed by processor 201 .
The processor 201 executes the client program while executing the OS.
OS is an abbreviation for Operating System.

クライアントプログラムの入出力データは記憶部290に記憶される。
メモリ202は記憶部290として機能する。但し、補助記憶装置203、プロセッサ201内のレジスタおよびプロセッサ201内のキャッシュメモリなどの記憶装置が、メモリ202の代わりに、又は、メモリ202と共に、記憶部290として機能してもよい。
Input/output data of the client program is stored in the storage unit 290 .
Memory 202 functions as storage unit 290 . However, a storage device such as the auxiliary storage device 203 , a register within the processor 201 and a cache memory within the processor 201 may function as the storage unit 290 instead of or together with the memory 202 .

クライアント装置200は、プロセッサ201を代替する複数のプロセッサを備えてもよい。 The client device 200 may include multiple processors that substitute for the processor 201 .

クライアントプログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。 The client program can be recorded (stored) in a computer-readable manner in a non-volatile recording medium such as an optical disc or flash memory.

図3に基づいて、クライアント装置200の機能構成を説明する。
準備部210は、CA証明書取得部211を備える。
登録部220は、識別コード取得部221と、署名鍵生成部222と、CL証明書取得部223と、を備える。
設定部230は、メンバーリスト生成部231と、会議情報取得部232と、メンバーリスト修正部233と、を備える。
参加部240は、会議参加部241と、通信鍵生成部242と、鍵共有部243と、通信鍵更新部244と、通信鍵取得部245と、参加通知部246と、を備える。
離脱部250は、離脱通知部251と、再共有部252と、新鍵生成部253と、新鍵伝送部254と、を備える。
通信部260は、メッセージ送信部261と、メッセージ受信部262と、を備える。
「CA」は、認証局を意味する。
「CL」は、クライアントを意味する。
Based on FIG. 3, the functional configuration of the client device 200 will be described.
The preparation unit 210 has a CA certificate acquisition unit 211 .
The registration unit 220 includes an identification code acquisition unit 221 , a signature key generation unit 222 and a CL certificate acquisition unit 223 .
The setting unit 230 includes a member list generation unit 231 , a meeting information acquisition unit 232 and a member list correction unit 233 .
The participation unit 240 includes a conference participation unit 241 , a communication key generation unit 242 , a key sharing unit 243 , a communication key update unit 244 , a communication key acquisition unit 245 and a participation notification unit 246 .
The leaving unit 250 includes a leaving notification unit 251 , a re-sharing unit 252 , a new key generation unit 253 and a new key transmission unit 254 .
The communication section 260 includes a message transmission section 261 and a message reception section 262 .
"CA" means Certificate Authority.
"CL" means client.

図4に基づいて、サーバ装置300の構成を説明する。
サーバ装置300は、プロセッサ301とメモリ302と補助記憶装置303と通信装置304と入出力インタフェース305といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
The configuration of the server device 300 will be described based on FIG.
The server device 300 is a computer having hardware such as a processor 301 , a memory 302 , an auxiliary storage device 303 , a communication device 304 and an input/output interface 305 . These pieces of hardware are connected to each other via signal lines.

プロセッサ301は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ301はCPUである。
メモリ302は揮発性または不揮発性の記憶装置である。メモリ302は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ302はRAMである。メモリ302に記憶されたデータは必要に応じて補助記憶装置303に保存される。
補助記憶装置303は不揮発性の記憶装置である。例えば、補助記憶装置303は、ROM、HDD、フラッシュメモリまたはこれらの組み合わせである。補助記憶装置303に記憶されたデータは必要に応じてメモリ302にロードされる。
通信装置304はレシーバ及びトランスミッタである。例えば、通信装置304は通信チップまたはNICである。サーバ装置300の通信は通信装置304を用いて行われる。
入出力インタフェース305は、入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース305はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。サーバ装置300の入出力は入出力インタフェース305を用いて行われる。
A processor 301 is an IC that performs arithmetic processing and controls other hardware. For example, processor 301 is a CPU.
Memory 302 is a volatile or non-volatile storage device. Memory 302 is also referred to as main storage or main memory. For example, memory 302 is RAM. The data stored in the memory 302 is saved in the auxiliary storage device 303 as required.
Auxiliary storage device 303 is a non-volatile storage device. For example, auxiliary storage device 303 is ROM, HDD, flash memory, or a combination thereof. Data stored in the auxiliary storage device 303 is loaded into the memory 302 as required.
Communication device 304 is a receiver and transmitter. For example, communication device 304 is a communication chip or NIC. Communication of the server device 300 is performed using the communication device 304 .
The input/output interface 305 is a port to which an input device and an output device are connected. For example, the input/output interface 305 is a USB terminal, the input device is a keyboard and mouse, and the output device is a display. Input/output of the server device 300 is performed using the input/output interface 305 .

サーバ装置300は、識別コード管理部321と会議情報管理部331と参加管理部341と離脱管理部351と通信管理部361といった要素を備える。これらの要素はソフトウェアで実現される。 The server device 300 includes elements such as an identification code management section 321 , a conference information management section 331 , a participation management section 341 , a withdrawal management section 351 and a communication management section 361 . These elements are implemented in software.

補助記憶装置303には、識別コード管理部321と会議情報管理部331と参加管理部341と離脱管理部351と通信管理部361としてコンピュータを機能させるためのサーバプログラムが記憶されている。サーバプログラムは、メモリ302にロードされて、プロセッサ301によって実行される。
補助記憶装置303には、さらに、OSが記憶されている。OSの少なくとも一部は、メモリ302にロードされて、プロセッサ301によって実行される。
プロセッサ301は、OSを実行しながら、サーバプログラムを実行する。
The auxiliary storage device 303 stores server programs for causing the computer to function as an identification code management section 321 , a meeting information management section 331 , a participation management section 341 , a withdrawal management section 351 and a communication management section 361 . The server program is loaded into memory 302 and executed by processor 301 .
The auxiliary storage device 303 further stores an OS. At least part of the OS is loaded into memory 302 and executed by processor 301 .
The processor 301 executes the server program while executing the OS.

サーバプログラムの入出力データは記憶部390に記憶される。
メモリ302は記憶部390として機能する。但し、補助記憶装置303、プロセッサ301内のレジスタおよびプロセッサ301内のキャッシュメモリなどの記憶装置が、メモリ302の代わりに、又は、メモリ302と共に、記憶部390として機能してもよい。
Input/output data of the server program is stored in the storage unit 390 .
Memory 302 functions as storage unit 390 . However, a storage device such as the auxiliary storage device 303 , a register within the processor 301 and a cache memory within the processor 301 may function as the storage unit 390 instead of or together with the memory 302 .

サーバ装置300は、プロセッサ301を代替する複数のプロセッサを備えてもよい。 The server device 300 may include multiple processors that substitute for the processor 301 .

サーバプログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。 The server program can be recorded (stored) in a computer-readable manner in a non-volatile recording medium such as an optical disc or flash memory.

図5に基づいて、認証局装置400の構成を説明する。
認証局装置400は、プロセッサ401とメモリ402と補助記憶装置403と通信装置404と入出力インタフェース405といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
The configuration of the certificate authority device 400 will be described based on FIG.
The certificate authority device 400 is a computer having hardware such as a processor 401 , a memory 402 , an auxiliary storage device 403 , a communication device 404 and an input/output interface 405 . These pieces of hardware are connected to each other via signal lines.

プロセッサ401は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ401はCPUである。
メモリ402は揮発性または不揮発性の記憶装置である。メモリ402は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ402はRAMである。メモリ402に記憶されたデータは必要に応じて補助記憶装置403に保存される。
補助記憶装置403は不揮発性の記憶装置である。例えば、補助記憶装置403は、ROM、HDD、フラッシュメモリまたはこれらの組み合わせである。補助記憶装置403に記憶されたデータは必要に応じてメモリ402にロードされる。
通信装置404はレシーバ及びトランスミッタである。例えば、通信装置404は通信チップまたはNICである。認証局装置400の通信は通信装置404を用いて行われる。
入出力インタフェース405は、入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース405はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。認証局装置400の入出力は入出力インタフェース405を用いて行われる。
A processor 401 is an IC that performs arithmetic processing and controls other hardware. For example, processor 401 is a CPU.
Memory 402 is a volatile or non-volatile storage device. Memory 402 is also referred to as main storage or main memory. For example, memory 402 is RAM. The data stored in memory 402 is saved in auxiliary storage device 403 as needed.
Auxiliary storage device 403 is a non-volatile storage device. For example, auxiliary storage device 403 is ROM, HDD, flash memory, or a combination thereof. Data stored in the auxiliary storage device 403 is loaded into the memory 402 as needed.
Communication device 404 is a receiver and transmitter. For example, communication device 404 is a communication chip or NIC. Communication of the certificate authority device 400 is performed using the communication device 404 .
The input/output interface 405 is a port to which an input device and an output device are connected. For example, the input/output interface 405 is a USB terminal, the input device is a keyboard and mouse, and the output device is a display. Input/output of the certificate authority device 400 is performed using the input/output interface 405 .

認証局装置400は、CA証明書発行部411とCL証明書発行部421といった要素を備える。これらの要素はソフトウェアで実現される。 The certificate authority device 400 includes elements such as a CA certificate issuing unit 411 and a CL certificate issuing unit 421 . These elements are implemented in software.

補助記憶装置403には、CA証明書発行部411とCL証明書発行部421としてコンピュータを機能させるための認証局プログラムが記憶されている。認証局プログラムは、メモリ402にロードされて、プロセッサ401によって実行される。
補助記憶装置403には、さらに、OSが記憶されている。OSの少なくとも一部は、メモリ402にロードされて、プロセッサ401によって実行される。
プロセッサ401は、OSを実行しながら、認証局プログラムを実行する。
Auxiliary storage device 403 stores a certificate authority program for causing the computer to function as CA certificate issuing unit 411 and CL certificate issuing unit 421 . The certificate authority program is loaded into memory 402 and executed by processor 401 .
The auxiliary storage device 403 further stores an OS. At least part of the OS is loaded into memory 402 and executed by processor 401 .
The processor 401 executes the certification authority program while executing the OS.

認証局プログラムの入出力データは記憶部490に記憶される。
メモリ402は記憶部490として機能する。但し、補助記憶装置403、プロセッサ401内のレジスタおよびプロセッサ401内のキャッシュメモリなどの記憶装置が、メモリ402の代わりに、又は、メモリ402と共に、記憶部490として機能してもよい。
Input/output data of the certificate authority program is stored in the storage unit 490 .
Memory 402 functions as storage unit 490 . However, a storage device such as the auxiliary storage device 403 , a register within the processor 401 and a cache memory within the processor 401 may function as the storage unit 490 instead of or together with the memory 402 .

認証局装置400は、プロセッサ401を代替する複数のプロセッサを備えてもよい。 Certificate authority device 400 may include a plurality of processors in place of processor 401 .

認証局プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。 The certification authority program can be recorded (stored) in a computer-readable manner in a non-volatile recording medium such as an optical disc or flash memory.

***動作の説明***
ウェブ会議システム100の動作の手順はウェブ会議方法に相当する。
ウェブ会議システム100の動作の手順はウェブ会議プログラムによる処理の手順に相当する。ウェブ会議プログラムは、クライアントプログラム、サーバプログラムおよび認証局プログラムを含む。
***Description of operation***
The operation procedure of the web conference system 100 corresponds to the web conference method.
The procedure of operation of the web conference system 100 corresponds to the procedure of processing by the web conference program. A web conferencing program includes a client program, a server program and a certificate authority program.

ウェブ会議方法は、準備処理と、登録処理と、設定処理と、参加処理と、離脱処理と、通信処理と、を含む。 The web conference method includes preparation processing, registration processing, setting processing, joining processing, leaving processing, and communication processing.

図6に基づいて、準備処理および登録処理の概要を説明する。
準備処理は、各クライアント装置200がCA証明書を取得する処理である。
登録処理は、ウェブ会議の各メンバーが識別コードとCL証明書を取得する処理である。
CA証明書は、認証局装置400の電子証明書である。
識別コードは、メンバーまたはメンバー用のクライアント装置200を識別する。
CL証明書は、クライアント装置200の電子証明書である。
Based on FIG. 6, the overview of the preparation process and the registration process will be described.
The preparation process is a process for each client device 200 to obtain a CA certificate.
Registration processing is processing for each member of the web conference to obtain an identification code and a CL certificate.
A CA certificate is an electronic certificate of certificate authority device 400 .
The identification code identifies the member or client device 200 for the member.
A CL certificate is an electronic certificate of the client device 200 .

「クライアント」は、クライアント装置200を表す。
「サーバ」は、サーバ装置300を表す。
「認証局」は、認証局装置400を表す。
“Client” represents the client device 200 .
“Server” represents the server device 300 .
“Certificate authority” represents the certification authority device 400 .

まず、クライアント装置200は、認証局装置400からCA証明書を取得する。 First, client device 200 acquires a CA certificate from certificate authority device 400 .

次に、クライアント装置200は、利用者情報をサーバ装置300へ送信する。
利用者情報は、クライアント装置200の利用者に関する情報を示すデータである。例えば、利用者情報は、氏名およびメールアドレスなどを示す。
サーバ装置300は、本人確認要求をクライアント装置200へ送信する。
本人確認要求は、利用者本人に確認を要求するためのデータである。
クライアント装置200は、本人確認応答をサーバ装置300へ送信する。
本人確認応答は、本人確認要求に対する応答である。
サーバ装置300は、識別コードをクライアント装置200へ送信する。
そして、クライアント装置200は、識別コードを受信する。
The client device 200 then transmits the user information to the server device 300 .
User information is data indicating information about the user of the client device 200 . For example, the user information indicates the name, email address, and the like.
Server device 300 transmits an identity verification request to client device 200 .
The personal identification request is data for requesting confirmation from the user himself/herself.
The client device 200 transmits a personal identification response to the server device 300 .
The personal identification response is a response to the personal identification request.
Server device 300 transmits the identification code to client device 200 .
The client device 200 then receives the identification code.

次に、クライアント装置200は、証明書署名要求(CSR)を生成する。
CSRは、CL証明書を要求するためのデータである。CSRは識別コードを含む。
クライアント装置200は、CSRを認証局装置400へ送信する。
認証局装置400は、照会要求をサーバ装置300へ送信する。
照会要求は、識別コードの照会を要求するためのデータである。照会要求は、CSRに含まれる識別コードと同じ識別コードを含む。
サーバ装置300は、照会応答を認証局装置400へ送信する。
照会応答は、照会要求に対する応答である。照会応答は、照会要求に含まれる識別コードがクライアント装置200へ送信された識別コード(正しい識別コード)であるか否かを示す。照会要求に含まれる識別コードが正しい識別コードであると仮定して説明を続ける。
The client device 200 then generates a Certificate Signing Request (CSR).
A CSR is data for requesting a CL certificate. The CSR contains an identification code.
Client device 200 transmits the CSR to certification authority device 400 .
Certificate authority device 400 transmits a query request to server device 300 .
The inquiry request is data for requesting an identification code inquiry. The inquiry request contains the same identification code as contained in the CSR.
Server device 300 transmits an inquiry response to certification authority device 400 .
A query response is a response to a query request. The inquiry response indicates whether the identification code included in the inquiry request is the identification code sent to the client device 200 (correct identification code). We continue assuming that the identification code included in the inquiry request is the correct identification code.

次に、認証局装置400は、CL証明書を生成し、CL証明書をサーバ装置300へ送信する。
そして、サーバ装置300は、CL証明書を受信して保管する。
Next, certificate authority device 400 generates a CL certificate and transmits the CL certificate to server device 300 .
Then, server device 300 receives and stores the CL certificate.

図7に基づいて、準備処理の具体例を説明する。
クライアントの「取得部」は、CA証明書取得部211を表す。
認証局の「発行部」は、CA証明書発行部411を表す。
認証局の「記憶部」は、記憶部490を表す。
A specific example of the preparation process will be described with reference to FIG.
The “acquisition unit” of the client represents the CA certificate acquisition unit 211 .
The “issuer” of the certificate authority represents the CA certificate issuer 411 .
The “storage unit” of the certificate authority represents the storage unit 490 .

ステップS101において、CA証明書発行部411は、CA鍵ペアを生成する。
CA鍵ペアは、認証局装置400の鍵ペアである。
鍵ペアは、秘密鍵と公開鍵のペアである。
In step S101, the CA certificate issuing unit 411 generates a CA key pair.
A CA key pair is a key pair of certificate authority device 400 .
A key pair is a pair of a private key and a public key.

次に、CA証明書発行部411は、CA鍵ペアを用いてCA証明書を生成する。
CA証明書はCA公開鍵と署名を含む。この署名は、CA秘密鍵を用いて生成される。
Next, CA certificate issuing unit 411 generates a CA certificate using the CA key pair.
A CA certificate contains the CA public key and signature. This signature is generated using the CA private key.

そして、CA証明書発行部411は、CA秘密鍵とCA証明書を記憶部490に格納する。これにより、認証局装置400において、CA秘密鍵とCA証明書が保管される。 CA certificate issuing unit 411 then stores the CA private key and CA certificate in storage unit 490 . As a result, the CA private key and CA certificate are stored in the certificate authority device 400 .

ステップS102において、CA証明書取得部211はCA証明書を取得する。
例えば、CA証明書取得部211が認証局装置400にCA証明書を要求し、CA証明書発行部411がCA証明書をクライアント装置200へ送信し、CA証明書取得部211がCA証明書を受信する。CA証明書の通信には、ウェブ経由またはメールなどの手段が使われる。なお、CA証明書は改ざんされずにクライアント装置200に届く必要がある。
In step S102, the CA certificate acquisition unit 211 acquires a CA certificate.
For example, the CA certificate acquisition unit 211 requests the CA certificate from the certification authority device 400, the CA certificate issuing unit 411 transmits the CA certificate to the client device 200, and the CA certificate acquisition unit 211 issues the CA certificate. receive. Means such as via the web or e-mail are used for communication of the CA certificate. Note that the CA certificate must reach the client device 200 without being tampered with.

そして、CA証明書取得部211は、CA証明書を記憶部290に格納する。これにより、クライアント装置200において、CA証明書が保管される。 CA certificate acquisition unit 211 then stores the CA certificate in storage unit 290 . As a result, the CA certificate is stored in the client device 200 .

図8および図9に基づいて、登録処理の具体例を説明する。
クライアントの「取得部」は、識別コード取得部221またはCL証明書取得部223を表す。
クライアントの「生成部」は、署名鍵生成部222を表す。
クライアントの「記憶部」は、記憶部290を表す。
サーバの「管理部」は、識別コード管理部321を表す。
サーバの「記憶部」は、記憶部390を表す。
認証局の「発行部」は、CL証明書発行部421を表す。
認証局の「記憶部」は、記憶部490を表す。
A specific example of the registration process will be described with reference to FIGS. 8 and 9. FIG.
The “acquisition unit” of the client represents the identification code acquisition unit 221 or the CL certificate acquisition unit 223 .
The “generator” of the client represents the signature key generator 222 .
The “storage” of the client represents storage 290 .
The “management section” of the server represents the identification code management section 321 .
The “storage” of the server represents the storage 390 .
The “issuer” of the certificate authority represents the CL certificate issuer 421 .
The “storage unit” of the certificate authority represents the storage unit 490 .

ステップS201において、クライアント装置200の利用者は、利用者情報をクライアント装置200に入力する。
識別コード取得部221は、入力された利用者情報を受け付ける。
In step S<b>201 , the user of the client device 200 inputs user information to the client device 200 .
The identification code acquisition unit 221 accepts input user information.

ステップS202において、識別コード取得部221は、利用者情報をサーバ装置300へ送信する。
識別コード管理部321は、利用者情報を受信する。
In step S<b>202 , the identification code acquisition unit 221 transmits user information to the server device 300 .
The identification code management unit 321 receives user information.

次に、識別コード管理部321は、本人確認要求をクライアント装置200へ送信する。
識別コード取得部221は、本人確認要求を受信する。
本人確認要求は、確認用のウェブサイト(登録サイト)のアドレスを示す。ウェブサイトのアドレスはURLで示すことができる。URLは、Uniform Resource Locatorの略称である。
Next, the identification code management unit 321 transmits an identity verification request to the client device 200 .
The identification code acquisition unit 221 receives the personal identification request.
The personal identification request indicates the address of the confirmation website (registration site). A website address can be indicated by a URL. URL is an abbreviation for Uniform Resource Locator.

次に、識別コード取得部221は、登録サイトのアドレスをディスプレイに表示する。
クライアント装置200の利用者は、マウスなどを操作して登録サイトのアドレスを指定する。
Next, the identification code acquisition unit 221 displays the registered site address on the display.
The user of the client device 200 designates the address of the registration site by operating the mouse or the like.

そして、識別コード取得部221は、登録サイトにアクセスすることによって、本人確認応答をサーバ装置300へ送信する。
識別コード管理部321は、本人確認応答を受信する。
Then, the identification code acquisition unit 221 transmits a personal identification response to the server device 300 by accessing the registration site.
The identification code management unit 321 receives the personal identification response.

ステップS203において、識別コード管理部321は、クライアント装置200の利用者に対する識別コードを生成する。 In step S<b>203 , the identification code management section 321 generates an identification code for the user of the client device 200 .

識別コード管理部321は、利用者情報と識別コードを互いに対応付けて記憶部390に格納する。これにより、サーバ装置300において、利用者情報と識別コードが保管される。 The identification code management unit 321 associates the user information and the identification code with each other and stores them in the storage unit 390 . As a result, the user information and the identification code are stored in the server device 300 .

識別コード管理部321は、識別コードをクライアント装置200へ送信する。
識別コード取得部221は、識別コードを受信する。
The identification code management section 321 transmits the identification code to the client device 200 .
The identification code acquisition unit 221 receives the identification code.

識別コード取得部221は、識別コードを記憶部290に格納する。これにより、サーバ装置300において、識別コードが保管される。 The identification code acquisition section 221 stores the identification code in the storage section 290 . As a result, the identification code is stored in the server device 300 .

ステップS211において、署名鍵生成部222は、署名鍵ペアを生成する。
署名鍵ペアは、クライアント装置200の鍵ペアである。署名鍵ペアは、各種署名のために使われる。
In step S211, the signature key generation unit 222 generates a signature key pair.
The signature key pair is the key pair of client device 200 . A signature key pair is used for various signatures.

署名鍵生成部222は、署名鍵ペアを記憶部290に格納する。これにより、クライアント装置200において、署名鍵ペアが保管される。 Signature key generation unit 222 stores the signature key pair in storage unit 290 . As a result, the signature key pair is stored in the client device 200 .

ステップS212において、CL証明書取得部223は、CSRを生成する。
CSRは、識別コードと署名公開鍵を含む。
In step S212, the CL certificate acquisition unit 223 generates a CSR.
A CSR contains an identification code and a signing public key.

CL証明書取得部223は、CSRを認証局装置400へ送信する。
CL証明書発行部421は、CSRを受信する。
CL certificate acquisition unit 223 transmits the CSR to certificate authority device 400 .
The CL certificate issuing unit 421 receives the CSR.

ステップS213において、CL証明書発行部421は、照会要求をサーバ装置300へ送信する。
識別コード管理部321は、照会要求を受信する。
照会要求は、CSRに含まれる識別コードと同じ識別コードを含む。
In step S<b>213 , CL certificate issuing unit 421 transmits a query request to server device 300 .
The identification code management section 321 receives the inquiry request.
The inquiry request contains the same identification code as contained in the CSR.

識別コード管理部321は、照会要求に含まれる識別コードを保管中の識別コードと照会する。照会要求に含まれる識別コードを「対象コード」と称する。
対象コードが保管中のいずれかの識別コードと一致する場合、対象コードは正しい識別コードである。
The identification code management unit 321 checks the identification code included in the inquiry request with the stored identification code. The identification code included in the inquiry request is called the "subject code".
If the Subject Code matches any of the stored Identity Codes, then the Subject Code is the correct Identity Code.

識別コード管理部321は、照会応答を認証局装置400へ送信する。
CL証明書発行部421は、照会応答を受信する。
照会応答は、照会結果を含む。照会結果は、対象コードが正しい識別コードであるか否かを示す。
The identification code management unit 321 transmits the inquiry response to the certification authority device 400 .
The CL certificate issuing unit 421 receives the inquiry response.
The query response contains query results. The inquiry result indicates whether or not the target code is a correct identification code.

ステップS214において、CL証明書発行部421は、照会応答に含まれる照会結果を参照し、CSRに含まれる識別コードが正しい識別コードか判定する。
CSRに含まれる識別コードが正しい識別コードである場合、CL証明書発行部421は、CA秘密鍵を用いて、CL証明書を生成する。
CL証明書は、署名公開鍵と署名を含む。この署名は、CA秘密鍵を用いて生成される。
In step S214, the CL certificate issuing unit 421 refers to the inquiry result included in the inquiry response and determines whether the identification code included in the CSR is a correct identification code.
If the identification code included in the CSR is a correct identification code, the CL certificate issuing unit 421 uses the CA private key to generate the CL certificate.
A CL certificate contains a signing public key and a signature. This signature is generated using the CA private key.

CSRに含まれる識別コードが正しい識別コードでない場合、CL証明書は生成されない。この場合、CL証明書取得部223は、CL証明書を取得できない。 If the identification code contained in the CSR is not the correct identification code, the CL certificate will not be generated. In this case, the CL certificate acquisition unit 223 cannot acquire the CL certificate.

CSRに含まれる識別コードが正しい識別コードである場合について説明を続ける。
CL証明書発行部421は、CL証明書をクライアント装置200へ送信する。
CL証明書取得部223は、CL証明書を受信する。
The description is continued for the case where the identification code included in the CSR is the correct identification code.
CL certificate issuing unit 421 transmits the CL certificate to client device 200 .
The CL certificate acquisition unit 223 receives the CL certificate.

CL証明書取得部223は、CL証明書を記憶部290に格納する。これにより、クライアント装置200において、CL証明書が保管される。 The CL certificate acquisition unit 223 stores the CL certificate in the storage unit 290. FIG. Thereby, the CL certificate is stored in the client device 200 .

登録処理の特徴を説明する。
サーバ装置300は、複数のクライアント装置200のそれぞれの識別コードを生成し、複数のクライアント装置200のそれぞれに識別コードを送信する。
複数のクライアント装置200のそれぞれは、識別コードを受信する。また、各クライアント装置200は、署名鍵ペアを生成する。そして、各クライアント装置200は、署名公開鍵と識別コードを示す証明書要求を認証局装置400へ送信する。
認証局装置400は、証明書要求を受信し、証明書要求に示される識別コードを示す照会要求をサーバ装置300へ送信する。
サーバ装置300は、照会要求を受信し、照会要求に示される識別コードを複数のクライアント装置200のそれぞれの識別コードと照合する。そして、サーバ装置300は、照合結果を示す照会応答を認証局装置400へ送信する。
認証局装置400は、照会応答を受信する。そして、照会要求に示される識別コードが複数のクライアント装置200のいずれかの識別コードである場合に、認証局装置400は、証明書要求に示される署名公開鍵を含む電子証明書を、証明書要求の送信元であるクライアント装置200のために発行する。
Features of registration processing will be described.
The server device 300 generates an identification code for each of the multiple client devices 200 and transmits the identification code to each of the multiple client devices 200 .
Each of the plurality of client devices 200 receives the identification code. Each client device 200 also generates a signature key pair. Each client device 200 then transmits a certificate request indicating the signature public key and the identification code to the certification authority device 400 .
Certificate authority device 400 receives the certificate request and transmits to server device 300 a query request indicating the identification code indicated in the certificate request.
The server device 300 receives the inquiry request and checks the identification code indicated in the inquiry request with the respective identification codes of the plurality of client devices 200 . Server device 300 then transmits an inquiry response indicating the collation result to certification authority device 400 .
Certificate authority device 400 receives the inquiry response. Then, if the identification code indicated in the inquiry request is the identification code of one of the plurality of client devices 200, the certificate authority device 400 converts the electronic certificate containing the signature public key indicated in the certificate request into a certificate It is issued for the client device 200 that is the source of the request.

図10に基づいて、設定処理の概要を説明する。
設定処理は、ウェブ会議のメンバーリストを設定する処理である。
メンバーリストは、ウェブ会議に参加する各メンバーの識別コードを示すデータである。
Based on FIG. 10, the outline of the setting process will be described.
The setting process is a process of setting a member list for the web conference.
The member list is data indicating the identification code of each member participating in the web conference.

まず、クライアント(A)は、メンバーリストを生成する。
クライアント(A)は、メンバーリストに対する署名を生成する。
クライアント(A)は、署名付きメンバーリストをサーバ装置300へ送信する。
サーバ装置300は、メンバーリストの署名を検証する。署名が正しい場合、サーバ装置300はメンバーリストを保管する。
First, client (A) generates a member list.
Client (A) generates a signature for the member list.
Client (A) transmits the signed member list to server device 300 .
Server device 300 verifies the signature of the member list. If the signature is correct, server device 300 saves the member list.

そして、サーバ装置300は、メンバーリストに示される各メンバーへ会議情報を送信する。クライアント(A)およびクライアント(B)がメンバーリストに示される場合、サーバ装置300は、クライアント(A)とクライアント(B)のそれぞれに会議情報を送信する。
会議情報は、ウェブ会議の情報を示すデータである。
Then, server device 300 transmits the meeting information to each member indicated in the member list. When client (A) and client (B) are shown in the member list, server device 300 transmits conference information to each of client (A) and client (B).
The conference information is data indicating information about the web conference.

クライアント(B)がメンバーリストを修正する場合について説明を続ける。
クライアント(B)は、サーバ装置300にメンバーリストを要求する。
サーバ装置300は、メンバーリストをクライアント(B)へ送信する。
クライアント(B)は、メンバーリストを修正する。
クライアント(B)は、署名付きメンバーリストをサーバ装置300へ送信する。
サーバ装置300は、メンバーリストの署名を検証する。署名が正しい場合、サーバ装置300はメンバーリストを更新する。
We continue with the case where the client (B) modifies the member list.
Client (B) requests a member list from server device 300 .
Server device 300 transmits the member list to client (B).
Client (B) modifies the member list.
Client (B) transmits the signed member list to server device 300 .
Server device 300 verifies the signature of the member list. If the signature is correct, server device 300 updates the member list.

図11および図12に基づいて、設定処理の具体例を説明する。
クライアントの「生成部」は、メンバーリスト生成部231を表す。
クライアントの「取得部」は、会議情報取得部232を表す。
クライアントの「修正部」は、メンバーリスト修正部233を表す。
クライアントの「記憶部」は、記憶部290を表す。
サーバの「管理部」は、会議情報管理部331を表す。
サーバの「記憶部」は、記憶部390を表す。
A specific example of the setting process will be described with reference to FIGS. 11 and 12. FIG.
The “generator” of the client represents the member list generator 231 .
The “acquisition unit” of the client represents the conference information acquisition unit 232 .
The “modifier” of the client represents the member list modifier 233 .
The “storage” of the client represents storage 290 .
The “management section” of the server represents the conference information management section 331 .
The “storage” of the server represents the storage 390 .

ステップS301において、利用者(A)は、ウェブ会議に参加するメンバーそれぞれの識別コードをクライアント(A)に入力する。利用者は、各メンバーから識別コードを知らされているものとする。
メンバーリスト生成部231は、入力された各識別コードを受け付ける。
In step S301, the user (A) inputs the identification code of each member participating in the web conference to the client (A). The user shall be informed of the identification code by each member.
Member list generator 231 accepts each input identification code.

メンバーリスト生成部231は、メンバーリストを生成する。
メンバーリストは、受け付けられた各識別コードを示す。
Member list generation unit 231 generates a member list.
The member list shows each identification code accepted.

ステップS302において、メンバーリスト生成部231は、署名秘密鍵を用いて、メンバーリストに対する署名を生成する。 In step S302, member list generator 231 generates a signature for the member list using the signature private key.

そして、メンバーリスト生成部231は、署名付きメンバーリストを生成する。
署名付きメンバーリストは、メンバーリストと署名とCL証明書を含むデータである。
The member list generator 231 then generates a signed member list.
A signed member list is data that includes a member list, a signature, and a CL certificate.

図13に、署名付きメンバーリスト111を示す。署名付きメンバーリスト111は、クライアント(A)によって生成された署名付きメンバーリストの一例である。
署名付きメンバーリスト111は、メンバー毎に識別コードと属性を含んでいる。「加入」は、識別コードで識別される利用者がウェブ会議のメンバーに加わることを意味する。
署名付きメンバーリスト111は、メンバーリストと署名(A)とCL証明書(A)を含んでいる。
署名(A)は、クライアント(A)の署名秘密鍵を用いて生成された署名である。
CL証明書(A)は、クライアント(A)のCL証明書である。
FIG. 13 shows the signed member list 111 . Signed member list 111 is an example of a signed member list generated by client (A).
The signed member list 111 contains identification codes and attributes for each member. "Joining" means that the user identified by the identification code joins the members of the web conference.
The signed member list 111 includes a member list, signature (A) and CL certificate (A).
Signature (A) is a signature generated using the signature private key of client (A).
CL certificate (A) is the CL certificate of client (A).

図11に戻り、ステップS303から説明を続ける。
ステップS303において、メンバーリスト生成部231は、会議設定要求をサーバ装置300へ送信する。
会議情報管理部331は、会議設定要求を受信する。
会議設定要求は、ウェブ会議の設定を要求するためのデータである。会議設定要求は、署名付きメンバーリストを含む。
Returning to FIG. 11, the description continues from step S303.
In step S<b>303 , member list generating section 231 transmits a meeting setting request to server device 300 .
The conference information management unit 331 receives the conference setting request.
A conference setup request is data for requesting the setup of a web conference. The meeting setup request contains a signed member list.

会議情報管理部331は、会議設定要求に含まれる署名付きメンバーリストを検証する。
具体的には、会議情報管理部331は、署名付きメンバーリストの中のCL証明書に含まれる署名公開鍵を用いて、署名付きメンバーリストの中の署名を検証する。署名が正しい場合、署名付きメンバーリストは正しい。
The meeting information management unit 331 verifies the signed member list included in the meeting setting request.
Specifically, the meeting information management unit 331 verifies the signature in the signed member list using the signature public key included in the CL certificate in the signed member list. If the signature is correct, the signed member list is correct.

署名付きメンバーリストが正しい場合、会議情報管理部331は会議情報を生成する。
そして、会議情報管理部331は、署名付きメンバーリストと会議情報を互いに対応付けて記憶部390に格納する。これにより、サーバ装置300において、署名付きメンバーリストと会議情報が保管される。
会議情報は、会議URLとメンバーリストURLを含む。
会議URLは、ウェブ会議への参加時にアクセスされるウェブサイトのアドレスである。
メンバーリストURLは、メンバーリストにアクセスするためのウェブサイトのアドレスである。
If the signed member list is correct, the meeting information manager 331 generates meeting information.
Then, the meeting information management unit 331 associates the signed member list and the meeting information with each other and stores them in the storage unit 390 . As a result, the signed member list and meeting information are stored in server device 300 .
The meeting information includes meeting URL and member list URL.
The meeting URL is the address of the website accessed when joining the web conference.
The member list URL is the website address for accessing the member list.

署名付きメンバーリストが正しくない場合、ウェブ会議が設定されずメンバーリストが登録されない。 If the signed member list is incorrect, the web conference will not be set up and the member list will not be registered.

署名付きメンバーリストが正しい場合について説明を続ける。
ステップS304において、会議情報管理部331は、保管中の利用者情報に基づいて、メンバーリストに示される各識別コードで識別される利用者に対して会議情報を送信する。例えば、会議情報管理部331は、各利用者のメールアドレスを使って会議情報を送信する。
Continuing with the case where the signed member list is correct.
In step S304, the conference information management unit 331 transmits the conference information to the users identified by each identification code shown in the member list based on the stored user information. For example, the conference information management unit 331 transmits conference information using each user's email address.

各利用者のクライアント装置200において、会議情報取得部232は、会議情報を受信する。
そして、会議情報取得部232は、会議情報を記憶部290に格納する。これにより、クライアント装置200において、会議情報が保管される。
In the client device 200 of each user, the conference information acquisition unit 232 receives conference information.
Then, the meeting information acquiring section 232 stores the meeting information in the storage section 290 . Accordingly, the conference information is stored in the client device 200 .

各利用者は、必要に応じて他のメンバーに会議情報を送信してもよい。 Each user may send meeting information to other members as needed.

ステップS311において、メンバーリスト修正部233は、利用者(B)の指示に従ってメンバーリストURLを使ってメンバーリストにアクセスする。
そして、メンバーリスト修正部233は、メンバーリストをダウンロードする。このとき、会議情報管理部331がメンバーリストをクライアント(B)へ送信し、メンバーリスト修正部233がメンバーリストを受信する。
In step S311, the member list correction unit 233 accesses the member list using the member list URL according to the instruction of the user (B).
Member list correction unit 233 then downloads the member list. At this time, the meeting information management section 331 transmits the member list to the client (B), and the member list correction section 233 receives the member list.

ステップS312において、メンバーリスト修正部233は、利用者(B)の指示にしたがってメンバーリストを修正する。
具体的には、メンバーリスト修正部233は、修正データを署名付きメンバーリストに付加する。修正データは、メンバーリストに対する修正の内容を示す。
In step S312, member list correction unit 233 corrects the member list according to the instruction of user (B).
Specifically, member list correction unit 233 adds correction data to the signed member list. The correction data indicates the content of corrections to the member list.

ステップS313において、メンバーリスト修正部233は、署名秘密鍵を用いて、修正データに対する署名を生成する。 In step S313, member list correction unit 233 uses the signature private key to generate a signature for the correction data.

そして、メンバーリスト修正部233は、修正済みメンバーリストを生成する。
修正済みメンバーリストは、署名付きメンバーリストと修正データと署名とCL証明書を含む。
Member list correction unit 233 then generates a corrected member list.
The modified member list contains the signed member list, modification data, signature and CL certificate.

図14に、修正済みメンバーリスト112を示す。修正済みメンバーリスト112は、クライアント(B)によって修正された署名付きメンバーリスト111(図11を参照)の一例である。
修正済みメンバーリスト112は、署名付きメンバーリスト111と修正データと署名(B)とCL証明書(B)を含んでいる。「除外」は、識別コードで識別される利用者がウェブ会議のメンバーから除外されることを意味する。
修正データは、メンバー(D)がウェブ会議のメンバーに加わること、および、メンバー(C)がウェブ会議のメンバーから除外されること、を示している。
署名(B)は、クライアント(B)の署名秘密鍵を用いて生成された署名である。
CL証明書(B)は、クライアント(B)のCL証明書である。
The modified member list 112 is shown in FIG. Modified member list 112 is an example of signed member list 111 (see FIG. 11) that has been modified by client (B).
The modified member list 112 contains the signed member list 111, modification data, signature (B) and CL certificate (B). "Exclusion" means that the user identified by the identification code is excluded from the members of the web conference.
The modified data indicates that member (D) is joining the web conference membership and member (C) is being removed from the web conference membership.
Signature (B) is a signature generated using the signature private key of client (B).
CL certificate (B) is the CL certificate of client (B).

図12に戻り、ステップS314から説明を続ける。
ステップS314において、メンバーリスト修正部233は、修正済みメンバーリストをサーバ装置300へ送信する。
会議情報管理部331は、修正済みメンバーリストを受信する。
Returning to FIG. 12, the description continues from step S314.
In step S<b>314 , member list correction unit 233 transmits the corrected member list to server device 300 .
The meeting information manager 331 receives the corrected member list.

会議情報管理部331は、修正済みメンバーリストを検証する。
具体的には、会議情報管理部331は、修正済みメンバーリストの中のCL証明書に含まれる署名公開鍵を用いて、修正済みメンバーリストの中の署名を検証する。
The meeting information manager 331 verifies the corrected member list.
Specifically, the meeting information management unit 331 verifies the signature in the corrected member list using the signature public key included in the CL certificate in the corrected member list.

会議情報管理部331は、修正済みメンバーリストの中の修正データを検証する。
例えば、会議情報管理部331は、未加入メンバーの除外が修正内容に含まれていないか判定する。
The meeting information manager 331 verifies the corrected data in the corrected member list.
For example, the meeting information management unit 331 determines whether or not exclusion of non-members is included in the correction content.

署名および修正データが正しい場合、会議情報管理部331は、保管中の署名付きメンバーリストを修正済みメンバーリストで更新する。 If the signature and correction data are correct, the meeting information management section 331 updates the stored signed member list with the corrected member list.

署名と修正データの少なくとも一方が正しくない場合、修正済みメンバーリストが破棄され、保管中の署名付きメンバーリストは更新されない。 If at least one of the signature and modification data is incorrect, the modified member list is discarded and the stored signed member list is not updated.

設定処理の特徴を説明する。
複数のクライアント装置200のいずれかは、メンバーリストを生成し、署名付きメンバーリストをサーバ装置300へ送信する。
サーバ装置300は、署名付きメンバーリストを受信し、署名付きメンバーリストの署名を検証する。そして、署名付きメンバーリストの署名が正しい場合に、サーバ装置300は、メンバーリストを保管する。
複数のクライアント装置200のそれぞれは、サーバ装置300からメンバーリストを受信する。そして、各クライアント装置200は、メンバーリストを修正し、署名付き修正済みリストをサーバ装置300へ送信する。修正済みリストは、修正済みのメンバーリストである。
サーバ装置300は、署名付き修正済みリストを受信し、署名付き修正済みリストの署名を検証する。そして、署名付き修正済みリストの署名が正しい場合に、サーバ装置300は、保管中のメンバーリストを修正済みリストで更新する。
Features of the setting process will be described.
Any one of the client devices 200 generates a member list and transmits the signed member list to the server device 300 .
Server device 300 receives the signed member list and verifies the signature of the signed member list. Then, if the signature of the signed member list is correct, server device 300 stores the member list.
Each of the multiple client devices 200 receives the member list from the server device 300 . Each client device 200 then modifies the member list and transmits the signed modified list to the server device 300 . A modified list is a modified member list.
Server device 300 receives the signed modified list and verifies the signature of the signed modified list. Then, if the signature of the signed modified list is correct, the server device 300 updates the stored member list with the modified list.

図15および図16に基づいて、参加処理および離脱処理の概要を説明する。
参加処理は、各メンバーがウェブ会議に参加するための処理である。
離脱処理は、ウェブ会議に参加済みのメンバーがウェブ会議から離脱するための処理である。
An overview of the joining process and the leaving process will be described with reference to FIGS. 15 and 16. FIG.
Participation processing is processing for each member to participate in the web conference.
The withdrawal process is for a member who has already participated in the web conference to withdraw from the web conference.

図15において、実線の白丸はウェブ会議に参加中のメンバーを示す。破線の白丸はウェブ会議に未参加のメンバーを示す。黒丸はウェブ会議から離脱したメンバーを示す。
メンバー(A)がウェブ会議に1番目に参加する場合、メンバー(A)の参加の可否は、サーバ装置300によってメンバーリストを使って判定される。
各メンバーがウェブ会議に2番目以降に参加する場合、各メンバーの参加の可否は、参加中の一人のメンバーによって判定される。例えば、メンバー(B)の参加の可否はメンバー(A)によって判定される。また、メンバー(C)の参加の可否はメンバー(B)によって判定される。
参加の可否を判定したメンバーを「親メンバー」と称する。また、参加の可否を判定されたメンバーを「子メンバー」と称する。
親メンバーと子メンバーは鍵共有を行う。例えば、メンバー(A)はメンバー(B)と鍵共有を行う。また、メンバー(B)は、メンバー(A)とメンバー(B)のそれぞれと鍵共有を行う。
参加中のメンバーがウェブ会議から離脱した場合、離脱メンバーに対する親メンバーと離脱メンバーに対する子メンバーが鍵共有を行う。例えば、メンバー(C)が離脱した場合、メンバー(B)とメンバー(D)が鍵共有を行う。
In FIG. 15, solid white circles indicate members participating in the web conference. Dashed white circles indicate members who have not participated in the web conference. Black circles indicate members who left the web conference.
When member (A) participates in the web conference first, server device 300 determines whether member (A) can participate using the member list.
When each member participates in the web conference for the second time or later, each member's participation is determined by one of the participating members. For example, whether or not member (B) can participate is determined by member (A). Member (B) determines whether member (C) can participate.
A member who has decided whether or not to participate is called a "parent member". Also, a member whose participation is determined to be possible is referred to as a "child member".
Parent and child members share a key. For example, member (A) shares a key with member (B). Also, member (B) shares a key with each of member (A) and member (B).
When a participating member leaves the web conference, the parent member for the leaving member and the child member for the leaving member share a key. For example, when member (C) leaves, member (B) and member (D) share a key.

図16において、「Join」はウェブ会議への参加を意味する。「Auth」はウェブ会議への参加の可否の判定(認証)を意味する。「Ratchet」はハッシュ化を意味する。「Leave」はウェブ会議からの離脱を意味する。「Gen」は通信鍵の生成を意味する。
通信鍵は、ウェブ会議においてメッセージの通信に用いられる共通鍵である。通信鍵はグループ鍵ともいう。
また、「kX,Y」はメンバー(X)とメンバー(Y)の共有鍵を表す。「kX,G」は更新済み通信鍵を表す。
In FIG. 16, "Join" means participation in the web conference. “Auth” means determination (authentication) of whether or not to participate in the web conference. "Ratchet" means hashed. "Leave" means leaving the web conference. "Gen" means generation of a communication key.
A communication key is a common key used for message communication in a web conference. The communication key is also called a group key.
Also, “k X,Y ” represents a shared key of member (X) and member (Y). “k X,G ” represents the updated communication key.

新規メンバーがウェブ会議に参加した場合、新たなメンバーに対する親メンバー(該当メンバー)は、保管中の通信鍵をハッシュ化して更新し、更新済み通信鍵を新規メンバーに配布する。
さらに、該当メンバーに対する親メンバーが存在する場合、該当メンバーは、新規メンバーの参加を親メンバーに通知する。
そして、親メンバーは、保管中の通信鍵をハッシュ化して更新する。親メンバーに対する親メンバー(上位メンバー)が存在する場合、親メンバーは新規メンバーの参加を上位メンバーに通知する。上位メンバーは親メンバーと同様に動作する
例えば、メンバー(C)がウェブ会議に参加した場合、メンバー(B)は通信鍵k’A,Gをハッシュ化して更新し、更新済み通信鍵k’’A,Gをメンバー(B)に配布する。さらに、メンバー(B)はメンバー(C)の参加をメンバー(A)に通知する。そして、メンバー(A)は、通信鍵k’A,Gをハッシュ化して通信鍵k’’A,Gに更新する。
When a new member participates in the web conference, the parent member (corresponding member) for the new member hashes the communication key being stored, updates it, and distributes the updated communication key to the new member.
Further, if there is a parent member for the member, the member notifies the parent member of the new member's participation.
The parent member then hashes and updates the stored communication key. If there is a parent member (superordinate member) for the parent member, the parent member notifies the superordinate member of the new member's participation. Upper members operate in the same manner as parent members. For example, when member (C) participates in a web conference, member (B) hashes and updates communication keys k′A and G , and updates the updated communication key k″. Distribute A and G to members (B). Further, member (B) notifies member (A) of member (C)'s participation. Member (A) then hashes the communication keys k′A ,G and updates them to communication keys k″ A,G .

参加中のメンバーがウェブ会議から離脱した場合、離脱メンバーに対する親メンバー(該当メンバー)は、新たな通信鍵を生成し、親メンバーと離脱メンバーに対する子メンバーのそれぞれに新たな通信鍵を配布する。親メンバーに対する親メンバー(上位メンバー)が存在する場合、上位メンバーは親メンバーに新たな通信鍵を配布する。そして、上位メンバーに対する親メンバーは上位メンバーと同様に動作する。子メンバーに対する子メンバ(下位メンバー)が存在する場合、子メンバーは下位メンバーに新たな通信鍵を配布する。そして、下位メンバーは子メンバーと同様に動作する。
例えば、メンバー(C)がウェブ会議から離脱した場合、メンバー(B)は、新たな通信鍵kB,Gを生成し、メンバー(A)とメンバー(D)とのそれぞれに新たな通信鍵kB,Gを配布する。
When a participating member leaves the web conference, the parent member (corresponding member) of the leaving member generates a new communication key and distributes the new communication key to each child member of the parent member and the leaving member. If there is a parent member (superior member) for the parent member, the superior member distributes a new communication key to the parent member. And the parent member to the superior member behaves like the superior member. If there is a child member (lower member) for the child member, the child member distributes a new communication key to the lower member. Subordinate members then behave like child members.
For example, when member (C) withdraws from the web conference, member (B) generates new communication keys k B and G , and new communication keys k for each of member (A) and member (D). Distribute B and G.

図17から図20に基づいて、参加処理の具体例を説明する。
「クライアント(A)」は、ウェブ会議に1番目に参加するクライアント装置200を表す。
「クライアント(B)」は、ウェブ会議に2番目に参加するクライアント装置200を表す。
「クライアント(C)」は、ウェブ会議に3番目に参加するクライアント装置200を表す。
「クライアント(D)」は、ウェブ会議に4番目に参加するクライアント装置200を表す。
クライアントの「参加部」は、会議参加部241を表す。
クライアントの「生成部」は、通信鍵生成部242を表す。
クライアントの「共有部」は、鍵共有部243を表す。
クライアントの「更新部」は、通信鍵更新部244を表す。
クライアントの「取得部」は、通信鍵取得部245を表す。
クライアントの「通知部」は、参加通知部246を表す。
クライアントの「記憶部」は、記憶部290を表す。
サーバの「管理部」は、参加管理部341を表す。
サーバの「記憶部」は、記憶部390を表す。
A specific example of the participation process will be described with reference to FIGS. 17 to 20. FIG.
“Client (A)” represents the client device 200 that first participates in the web conference.
“Client (B)” represents the client device 200 that participates in the web conference second.
"Client (C)" represents the client device 200 that participates in the web conference third.
“Client (D)” represents the client device 200 that participates in the web conference fourth.
The client's “participant” represents the conference participant 241 .
The “generation unit” of the client represents the communication key generation unit 242 .
The “shared part” of the client represents the key sharer 243 .
The “updater” of the client represents the communication key updater 244 .
The “acquisition unit” of the client represents the communication key acquisition unit 245 .
The client's “notifier” represents the participation notifier 246 .
The “storage” of the client represents storage 290 .
The “management section” of the server represents the participation management section 341 .
The “storage” of the server represents the storage 390 .

ステップS401において、クライアント(A)の会議参加部241は、参加要求をサーバ装置300へ送信する。
参加管理部341は、参加要求を受信する。
参加要求は、ウェブ会議に参加するためのデータである。参加要求は、識別コードを含む。
In step S<b>401 , the conference participation unit 241 of client (A) transmits a participation request to the server device 300 .
The participation management unit 341 receives the participation request.
A participation request is data for participating in a web conference. The join request contains an identification code.

参加管理部341は、ウェブ会議に参加中のクライアント装置200が存在するか判定する。このとき、ウェブ会議に参加中のクライアント装置200は存在しない。
この場合、参加管理部341は、参加要求に含まれる識別コードと同じ識別コードが保管中のメンバーリストに含まれるか判定する。参加要求に含まれる識別コードと同じ識別コードを「対象コード」と称する。
対象コードが保管中のメンバーリストに含まれる場合、参加管理部341は、ウェブ会議へのクライアント(A)の参加を許可する。そして、参加管理部341は、ウェブ会議への参加の許可を示す参加応答をクライアント(A)へ送信する。なお、参加管理部341は、ウェブ会議に参加中の各メンバーの識別コードを管理する。
対象コードが保管中のメンバーリストに含まれない場合、参加管理部341は、ウェブ会議への参加の不許可を示す参加応答をクライアント(A)へ送信する。
会議参加部241は、参加応答を受信する。参加応答は、参加要求に対応する応答である。
The participation management unit 341 determines whether there is a client device 200 participating in the web conference. At this time, there is no client device 200 participating in the web conference.
In this case, the participation management unit 341 determines whether the same identification code as the identification code included in the participation request is included in the stored member list. An identification code that is the same as the identification code included in the participation request is called a “target code”.
If the target code is included in the stored member list, the participation management unit 341 permits the client (A) to participate in the web conference. Then, the participation management unit 341 transmits a participation response indicating permission to participate in the web conference to the client (A). The participation management unit 341 manages the identification code of each member participating in the web conference.
If the target code is not included in the stored member list, the participation management unit 341 transmits a participation response indicating disapproval of participation in the web conference to the client (A).
The conference participation unit 241 receives the participation response. A join response is a response corresponding to the join request.

ウェブ会議に参加中のクライアント装置200が存在する場合については後述する。 A case where there is a client device 200 participating in the web conference will be described later.

ステップS402において、会議参加部241は通信鍵を生成する。通信鍵は例えば乱数である。
そして、会議参加部241は、通信鍵を記憶部290に格納する。これにより、クライアント(A)において通信鍵が保管される。
In step S402, the conference participation unit 241 generates a communication key. A communication key is, for example, a random number.
Then, conference participation unit 241 stores the communication key in storage unit 290 . Thereby, the communication key is stored in the client (A).

ステップS411において、クライアント(B)の会議参加部241は、参加要求をサーバ装置300へ送信する。
参加管理部341は、参加要求を受信する。
In step S<b>411 , the conference participation unit 241 of the client (B) transmits a participation request to the server device 300 .
The participation management unit 341 receives the participation request.

参加管理部341は、ウェブ会議に参加中のクライアント装置200が存在するか判定する。このとき、クライアント(A)がウェブ会議に参加中である。
この場合、参加管理部341は、参加中のクライアント装置200が存在することを示す参加応答をクライアント(B)へ送信する。
クライアント(B)の参加管理部341は、参加応答を受信する。
The participation management unit 341 determines whether there is a client device 200 participating in the web conference. At this time, client (A) is participating in the web conference.
In this case, the participation management unit 341 transmits a participation response indicating that there is a participating client device 200 to the client (B).
The participation management unit 341 of the client (B) receives the participation response.

ステップS412において、クライアント(B)の鍵共有部243は、交換鍵ペアを生成する。
交換鍵ペアは、他のクライアント装置200と鍵共有を行うための鍵ペアである。交換鍵の具体例は、ECDH鍵またはDH鍵である。ECDHは、Elliptic curve Diffie-Hellmanの略称である。DHは、Diffie-Hellmanの略称である。
In step S412, the key sharing unit 243 of the client (B) generates an exchange key pair.
The exchange key pair is a key pair for sharing keys with other client devices 200 . Examples of exchange keys are ECDH keys or DH keys. ECDH is an abbreviation for Elliptic curve Diffie-Hellman. DH is an abbreviation for Diffie-Hellman.

クライアント(B)の鍵共有部243は、署名秘密鍵を用いて、交換公開鍵に対する署名を生成する。 The key sharing unit 243 of client (B) uses the signature private key to generate a signature for the exchange public key.

クライアント(B)の鍵共有部243は、交換データを生成し、交換データをサーバ装置300へ送信する。
交換データは、他のクライアント装置200と鍵交換を行うためのデータである。交換データは、交換公開鍵と署名とCL証明書を含む。
The key sharing unit 243 of the client (B) generates exchange data and transmits the exchange data to the server device 300 .
Exchange data is data for exchanging keys with other client devices 200 . The exchange data includes the exchange public key, signature and CL certificate.

クライアント(B)の交換データを交換データ(B)と称する。
交換データ(B)に含まれる交換公開鍵を交換公開鍵(B)と称する。
交換データ(B)に含まれる署名を署名(B)と称する。
交換データ(B)に含まれるCL証明書をCL証明書(B)と称する。
The exchange data of the client (B) is called exchange data (B).
The exchange public key included in the exchange data (B) is called an exchange public key (B).
A signature included in the exchange data (B) is called a signature (B).
The CL certificate included in exchange data (B) is called CL certificate (B).

参加管理部341は、交換データ(B)を受信し、交換データ(B)を記憶部390に格納する。 Participation management unit 341 receives exchange data (B) and stores exchange data (B) in storage unit 390 .

ステップS413において、参加管理部341は、ウェブ会議に参加中の全てのクライアント装置に認証要求を送信する。
クライアント(A)の鍵共有部243は、認証要求を受信する。
認証要求は、ウェブ会議への新たな参加を知らせるためのデータである。
In step S413, the participation management unit 341 transmits an authentication request to all client devices participating in the web conference.
The key sharing unit 243 of client (A) receives the authentication request.
The authentication request is data for notifying new participation in the web conference.

クライアント(A)の鍵共有部243は、子クライアントと鍵共有を行っているか判定する。このとき、クライアント(A)は、子クライアントと鍵共有を行っていない。
この場合、クライアント(A)の鍵共有部243は、交換鍵ペアを生成する。
また、鍵共有部243は、署名秘密鍵を用いて、交換公開鍵に対する署名を生成する。
そして、鍵共有部243は、交換データを生成し、交換データをサーバ装置300へ送信する。
The key sharing unit 243 of client (A) determines whether the key is shared with the child client. At this time, the client (A) does not share the key with the child client.
In this case, the key sharing unit 243 of client (A) generates an exchange key pair.
The key sharing unit 243 also uses the signature private key to generate a signature for the exchange public key.
Then, key sharing section 243 generates exchange data and transmits the exchange data to server device 300 .

クライアント(A)の交換データを交換データ(A)と称する。
交換データ(A)に含まれる交換公開鍵を交換公開鍵(A)と称する。
交換データ(A)に含まれる署名を署名(A)と称する。
交換データ(A)に含まれるCL証明書をCL証明書(A)と称する。
The exchange data of client (A) is called exchange data (A).
The exchange public key included in the exchange data (A) is called an exchange public key (A).
A signature included in the exchange data (A) is called a signature (A).
The CL certificate included in exchange data (A) is called CL certificate (A).

参加管理部341は、交換データ(A)を受信し、交換データ(A)を記憶部390に格納する。 Participation management unit 341 receives exchange data (A) and stores exchange data (A) in storage unit 390 .

ステップS414において、参加管理部341は、交換データ(A)をクライアント(B)へ送信し、交換データ(B)をクライアント(A)へ送信する。
クライアント(B)の鍵共有部243は、交換データ(A)を受信する。
クライアント(A)の鍵共有部243は、交換データ(B)を受信する。
In step S414, the participation management unit 341 transmits the exchange data (A) to the client (B), and transmits the exchange data (B) to the client (A).
The key sharing unit 243 of the client (B) receives exchange data (A).
The key sharing unit 243 of the client (A) receives exchange data (B).

ステップS415において、クライアント(B)の鍵共有部243は、交換データ(A)を検証する。
具体的には、鍵共有部243は、CA証明書の中のCA公開鍵を用いて、CL証明書(A)の中の署名を検証する。
CL証明書(A)の中の署名が正しい場合、鍵共有部243は、CL証明書(A)の中の署名公開鍵を用いて、署名(A)を検証する。
署名(A)が正しい場合、交換データ(A)は正しい。そして、クライアント(A)が認証される。
In step S415, the key sharing unit 243 of the client (B) verifies the exchange data (A).
Specifically, the key sharing unit 243 verifies the signature in the CL certificate (A) using the CA public key in the CA certificate.
If the signature in CL certificate (A) is correct, key sharing unit 243 verifies signature (A) using the signature public key in CL certificate (A).
If the signature (A) is correct, then the exchange data (A) is correct. The client (A) is then authenticated.

交換データ(A)が正しい場合、鍵共有部243は、交換公開鍵(A)を用いて鍵共有のための処理を実行する。これにより、共有鍵(AB)が生成される。
そして、鍵共有部243は、共有鍵(AB)を記憶部290に格納する。これにより、クライアント(A)において、共有鍵(AB)が保管される。
共有鍵(AB)は、クライアント(A)とクライアント(B)の間で共有される共通鍵である。
If the exchange data (A) is correct, the key sharing unit 243 executes processing for key sharing using the exchange public key (A). A shared key (AB) is thereby generated.
Then, key sharing section 243 stores the shared key (AB) in storage section 290 . As a result, the shared key (AB) is stored in the client (A).
Shared key (AB) is a common key shared between client (A) and client (B).

交換データ(A)が正しくない場合、クライアント(B)において共有鍵(AB)が生成されない。つまり、鍵共有が行われない。 If the exchange data (A) is incorrect, the shared key (AB) will not be generated at the client (B). That is, no key sharing is performed.

ステップS416において、クライアント(A)の鍵共有部243は、交換データ(B)を検証する。
具体的には、鍵共有部243は、CA証明書の中のCA公開鍵を用いて、CL証明書(B)の中の署名を検証する。
CL証明書(B)の中の署名が正しい場合、鍵共有部243は、CL証明書(B)の中の署名公開鍵を用いて、署名(B)を検証する。
署名(B)が正しい場合、交換データ(B)は正しい。そして、クライアント(B)が認証される。これにより、ウェブ会議へのクライアント(B)の参加が許可される。
In step S416, the key sharing unit 243 of the client (A) verifies the exchange data (B).
Specifically, the key sharing unit 243 verifies the signature in the CL certificate (B) using the CA public key in the CA certificate.
If the signature in CL certificate (B) is correct, key sharing unit 243 verifies signature (B) using the signature public key in CL certificate (B).
If signature (B) is correct, exchange data (B) is correct. The client (B) is then authenticated. This permits the client (B) to participate in the web conference.

交換データ(B)が正しい場合、鍵共有部243は、交換公開鍵(B)を用いて鍵共有のための処理を実行する。これにより、共有鍵(AB)が生成される。
そして、鍵共有部243は、共有鍵(AB)を記憶部290に格納する。これにより、クライアント(B)において、共有鍵(AB)が保管される。
If the exchange data (B) is correct, the key sharing unit 243 executes processing for key sharing using the exchange public key (B). A shared key (AB) is thereby generated.
Then, key sharing section 243 stores the shared key (AB) in storage section 290 . As a result, the shared key (AB) is stored in the client (B).

交換データ(B)が正しくない場合、クライアント(A)において共有鍵(AB)が生成されない。つまり、鍵共有が行われない。 If the exchange data (B) is incorrect, the shared key (AB) will not be generated at the client (A). That is, no key sharing is performed.

ステップS421において、クライアント(A)の通信鍵更新部244は、保管中の通信鍵をハッシュ化して更新する。
つまり、通信鍵更新部244は、保管中の通信鍵にハッシュを施し、得られたハッシュ値で保管中の通信鍵を更新する。
In step S421, the communication key updating unit 244 of the client (A) hashes and updates the communication key being stored.
In other words, the communication key updating unit 244 performs hashing on the stored communication key, and updates the stored communication key with the obtained hash value.

ステップS422において、クライアント(A)の通信鍵更新部244は、共有鍵(AB)を用いて更新済みの保管中の通信鍵を暗号化する。これにより、暗号化通信鍵が得られる。 In step S422, the communication key updating unit 244 of the client (A) encrypts the updated and stored communication key using the shared key (AB). As a result, an encrypted communication key is obtained.

クライアント(A)の通信鍵更新部244は、暗号化通信鍵をサーバ装置300へ送信する。
参加管理部341は、暗号化通信鍵を受信し、暗号化通信鍵を記憶部390に格納する。
Communication key update unit 244 of client (A) transmits the encrypted communication key to server device 300 .
Participation management unit 341 receives the encrypted communication key and stores the encrypted communication key in storage unit 390 .

ステップS423において、クライアント(B)の通信鍵取得部245は、通信鍵要求をサーバ装置300へ送信する。
参加管理部341は、通信鍵要求を受信する。
通信鍵要求は、通信鍵を要求するためのデータである。
In step S<b>423 , communication key acquisition unit 245 of client (B) transmits a communication key request to server device 300 .
The participation manager 341 receives the communication key request.
A communication key request is data for requesting a communication key.

参加管理部341は、暗号化通信鍵をクライアント(B)へ送信する。
クライアント(B)の通信鍵取得部245は、暗号化通信鍵を受信する。
The participation management unit 341 transmits the encrypted communication key to the client (B).
The communication key acquisition unit 245 of client (B) receives the encrypted communication key.

ステップS424において、クライアント(B)の通信鍵取得部245は、共有鍵(AB)を用いて暗号化通信鍵から通信鍵を復号する。 In step S424, the communication key acquisition unit 245 of the client (B) decrypts the communication key from the encrypted communication key using the shared key (AB).

クライアント(B)の通信鍵取得部245は、通信鍵を記憶部290に格納する。これにより、クライアント(B)において、クライアント(A)に保管中の通信鍵と同じ通信鍵が保管される。 Communication key acquisition unit 245 of client (B) stores the communication key in storage unit 290 . As a result, the client (B) stores the same communication key as the communication key being stored in the client (A).

ステップS425において、クライアント(A)の参加通知部246は、クライアント(A)に対する親クライアントが存在するか判定する。このとき、クライアント(A)に対する親クライアントは存在しない。
この場合、処理は終了する。
In step S425, the participation notification unit 246 of client (A) determines whether there is a parent client for client (A). At this time, there is no parent client for client (A).
In this case, the process ends.

ステップS431において、クライアント(C)が子クライアントになり、クライアント(B)が親クライアントになる。
そして、クライアント(B)とクライアント(C)の間で鍵共有が行われる。鍵共有の手順は、クライアント(A)とクライアント(B)の間で行われた鍵共有の手順(S411~S416)と同じである。
これにより、クライアント(B)とクライアント(C)のそれぞれにおいて、共有鍵(BC)が保管される。
共有鍵(BC)は、クライアント(B)とクライアント(C)の間で共有される共通鍵である。
In step S431, client (C) becomes the child client and client (B) becomes the parent client.
Key sharing is then performed between the client (B) and the client (C). The key sharing procedure is the same as the key sharing procedure (S411 to S416) performed between client (A) and client (B).
Thereby, the shared key (BC) is stored in each of the client (B) and the client (C).
Shared key (BC) is a common key shared between client (B) and client (C).

さらに、クライアント(B)とクライアント(C)の間で鍵更新が行われる。鍵更新の手順は、クライアント(A)とクライアント(B)の間で行われた鍵更新の手順(S421~S424)と同じである。
これにより、クライアント(B)とクライアント(C)のそれぞれにおいて、通信鍵が保管される。
この通信鍵は、クライアント(B)によってハッシュ化されているため、クライアント(A)に保管中の通信鍵と異なる。
Further, key update is performed between the client (B) and the client (C). The key update procedure is the same as the key update procedure (S421 to S424) performed between the client (A) and the client (B).
Thereby, the communication key is stored in each of the client (B) and the client (C).
This communication key is hashed by the client (B), so it differs from the communication key stored in the client (A).

そして、クライアント(B)の参加通知部246は、クライアント(B)に対する親クライアントが存在するか判定する(ステップS425と同じ)。クライアント(A)がクライアント(B)に対する親クライアントである。
この場合、処理はステップS432に進む。
Then, the participation notification unit 246 of client (B) determines whether or not there is a parent client for client (B) (same as step S425). Client (A) is the parent client to client (B).
In this case, the process proceeds to step S432.

ステップS432において、クライアント(B)の参加通知部246は、参加通知を生成する。
参加通知は、ウェブ会議への新たな参加を親クライアントに知らせるためのデータである。
さらに、参加通知部246は、共有鍵(AB)を用いてメッセージ認証符号(MAC)を生成する。
そして、参加通知部246は、MACを含んだ参加通知をサーバ装置300へ送信する。
参加管理部341は、参加通知を受信する。
In step S432, the participation notification unit 246 of the client (B) generates a participation notification.
A participation notification is data for notifying the parent client of new participation in the web conference.
Furthermore, the participation notification unit 246 generates a message authentication code (MAC) using the shared key (AB).
The participation notification unit 246 then transmits a participation notification including the MAC to the server device 300 .
The participation management unit 341 receives the participation notification.

参加通知を識別するための情報(タイムスタンプまたはシーケンス番号など)が参加通知に含まれてもよい。この情報は、参加通知の再送の防止のために使用することができる。 Information to identify the join notification (such as a timestamp or sequence number) may be included in the join notification. This information can be used to prevent retransmission of join notifications.

参加管理部341は、参加通知をクライアント(A)へ送信する。
クライアント(A)の通信鍵更新部244は、参加通知を受信する。
The participation management unit 341 transmits a participation notification to the client (A).
The communication key update unit 244 of client (A) receives the participation notification.

ステップS434において、クライアント(A)の通信鍵更新部244は、共有鍵(AB)を用いて、参加通知に含まれるMACを検証する。 In step S434, the communication key updating unit 244 of the client (A) verifies the MAC included in the participation notification using the shared key (AB).

MACが正しい場合、通信鍵更新部244は、保管中の通信鍵をハッシュ化して更新する。
これにより、クライアント(A)において、クライアント(B)に保管中の通信鍵と同じ通信鍵が保管される。
If the MAC is correct, the communication key updating unit 244 hashes the stored communication key and updates it.
As a result, the client (A) stores the same communication key as the communication key being stored in the client (B).

ハッシュ化の方法は複数のクライアント装置200において共通であり、ハッシュ化の結果は複数のクライアント装置200において同じになる。例えば、複数のクライアント装置200は、ハッシュ化のために同一のハッシュ関数を用いる。 The hashing method is common to the plurality of client devices 200, and the hashing results are the same for the plurality of client devices 200. FIG. For example, multiple client devices 200 use the same hash function for hashing.

ステップS435において、クライアント(A)の参加通知部246は、クライアント(A)に対する親クライアントが存在するか判定する。
クライアント(A)に対する親クライアントは存在しないため、処理は終了する。
In step S435, the participation notification unit 246 of client (A) determines whether there is a parent client for client (A).
Since there is no parent client for client (A), the process ends.

クライアント(A)に対する親クライアントが存在する場合、クライアント(A)は、クライアント(B)と同様に、親クライアントに対して参加通知を送信する。
そして、親クライアントは、クライアント(A)と同様に、保管中の通信鍵を更新し(ステップS434)、必要に応じて参加通知を送信する(ステップS435)。
この処理は、親クライアントを持たないクライアント装置200が保管中の通信鍵を更新するまで続けられる。
If there is a parent client for client (A), client (A), like client (B), sends a participation notification to the parent client.
Then, the parent client, like client (A), updates the stored communication key (step S434), and if necessary, transmits a participation notification (step S435).
This process continues until the client device 200 that does not have a parent client updates the stored communication key.

参加処理の特徴を説明する。
ウェブ会議に1番目に参加したときに、クライアント装置200は、通信鍵を生成して保管する。
ウェブ会議に2番目以降に参加したときに、クライアント装置200は、ウェブ会議に参加中で親クライアントになったクライアント装置と鍵共有を行う。そして、クライアント装置200は、親クライアントからの暗号化通信鍵を受信し、親クライアントとの共有鍵を用いて暗号化通信鍵から通信鍵を復号し、通信鍵を保管する。
ウェブ会議に参加中で子クライアントとの鍵共有を行っていない場合、クライアント装置200は、ウェブ会議に新たに参加したクライアント装置を子クライアントにして鍵共有を行う。また、クライアント装置200は、保管中の通信鍵をハッシュ化によって更新する。そして、クライアント装置200は、更新済みで保管中の通信鍵を子クライアントとの共有鍵を用いて暗号化し、子クライアントに対して暗号化通信鍵を送信する。さらに、クライアント装置200は、親クライアントに対して参加通知を送信する。
子クライアントからの参加通知を受信した場合、クライアント装置200は、保管中の通信鍵をハッシュ化によって更新する。
Features of participation processing will be described.
When participating in the web conference for the first time, the client device 200 generates and stores a communication key.
When participating in the web conference for the second time or later, the client device 200 shares a key with the client device that is participating in the web conference and has become a parent client. Then, the client device 200 receives the encrypted communication key from the parent client, decrypts the communication key from the encrypted communication key using the shared key with the parent client, and stores the communication key.
When participating in a web conference and not sharing a key with a child client, the client device 200 performs key sharing with a client device newly participating in the web conference as a child client. Also, the client device 200 updates the stored communication key by hashing. Then, the client device 200 encrypts the updated and stored communication key using the shared key with the child client, and transmits the encrypted communication key to the child client. Furthermore, the client device 200 transmits a participation notification to the parent client.
Upon receiving a participation notification from a child client, the client device 200 updates the stored communication key by hashing.

複数のクライアント装置200のそれぞれは、ウェブ会議に参加するときに、参加要求クライアントになる。そして、各クライアント装置200は、識別コードを示す参加要求をサーバ装置300へ送信する。
ウェブ会議に1番目に参加する参加要求クライアントの参加要求を受信した場合、サーバ装置300は、受信した参加要求に示される識別コードをウェブ会議のメンバーリストと照合する。サーバ装置300は、照合結果に基づいて参加要求クライアントの参加可否を判定する。そして、サーバ装置300は、判定結果を示す参加応答を参加要求クライアントへ送信する。
ウェブ会議に2番目以降に参加する参加要求クライアントの参加要求を受信した場合、サーバ装置300は、参加要求クライアントのための認証要求をウェブ会議に参加中の全てのクライアント装置200へ送信する。
ウェブ会議に参加中の各クライアント装置200は、次のように動作する。認証要求を受信したときに子クライアントとの鍵共有を行っていない場合、クライアント装置200は、参加要求クライアントから送信される署名付き交換鍵を受信し、署名付き交換鍵の署名を検証する。そして、署名付き交換鍵の交換鍵が正しい場合に、クライアント装置200は、参加要求クライアントを子クライアントにして交換鍵を用いて鍵共有を行う。
Each of the plurality of client devices 200 becomes a participation requesting client when participating in the web conference. Each client device 200 then transmits a participation request indicating an identification code to the server device 300 .
When receiving a participation request from a participation request client who participates in the web conference first, server device 300 checks the identification code indicated in the received participation request with the member list of the web conference. The server device 300 determines whether or not the participation requesting client can participate based on the collation result. Then, the server device 300 transmits a participation response indicating the determination result to the participation request client.
When receiving the participation request of the second and subsequent participation requesting clients in the web conference, the server device 300 transmits an authentication request for the participation requesting client to all the client devices 200 participating in the web conference.
Each client device 200 participating in the web conference operates as follows. If the key is not shared with the child client when the authentication request is received, the client device 200 receives the signed exchange key transmitted from the participation request client and verifies the signature of the signed exchange key. Then, when the exchange key of the signed exchange key is correct, the client device 200 makes the participation requesting client a child client and performs key sharing using the exchange key.

図21および図22に基づいて、離脱処理の具体例を説明する。
「クライアント(A)」は、ウェブ会議に1番目に参加したクライアント装置200を表す。
「クライアント(B)」は、ウェブ会議に2番目に参加したクライアント装置200を表す。
「クライアント(C)」は、ウェブ会議に3番目に参加したクライアント装置200を表す。
「クライアント(D)」は、ウェブ会議に4番目に参加したクライアント装置200を表す。
クライアントの「通知部」は、離脱通知部251を表す。
クライアントの「共有部」は、再共有部252を表す。
クライアントの「生成部」は、新鍵生成部253を表す。
クライアントの「伝送部」は、新鍵伝送部254を表す。
クライアントの「記憶部」は、記憶部290を表す。
サーバの「管理部」は、離脱管理部351を表す。
サーバの「記憶部」は、記憶部390を表す。
A specific example of the leaving process will be described with reference to FIGS. 21 and 22. FIG.
“Client (A)” represents the client device 200 that first participates in the web conference.
“Client (B)” represents the client device 200 that joined the web conference second.
“Client (C)” represents the client device 200 that joined the web conference third.
“Client (D)” represents the client device 200 that joined the web conference fourth.
The “notifier” of the client represents the withdrawal notifier 251 .
The client's “shared portion” represents the re-shared portion 252 .
The “generator” of the client represents the new key generator 253 .
The “Transmitter” of the client represents the new key transporter 254 .
The “storage” of the client represents storage 290 .
The “management section” of the server represents the withdrawal management section 351 .
The “storage” of the server represents the storage 390 .

ステップS501において、クライアント(B)の離脱通知部251は、離脱通知をサーバ装置300へ送信する。
離脱管理部351は、離脱通知を受信する。
離脱通知は、ウェブ会議から離脱するためのデータである。離脱通知は、離脱クライアントの識別コードを含む。
離脱クライアントは、ウェブ会議から離脱したクライアント装置200である。
In step S<b>501 , the client (B)'s withdrawal notification unit 251 transmits a withdrawal notification to the server device 300 .
The leaving manager 351 receives the leaving notification.
The withdrawal notice is data for withdrawing from the web conference. The leave notification includes the identity code of the leave client.
A leaving client is a client device 200 that has left the web conference.

離脱管理部351は、ウェブ会議に参加中の全てのクライアント装置200へ離脱通知を送信する。
参加中の各クライアント装置200において、再共有部252は、離脱通知を受信する。
The withdrawal management unit 351 transmits a withdrawal notice to all client devices 200 participating in the web conference.
In each participating client device 200, the re-sharing unit 252 receives the withdrawal notification.

参加中の各クライアント装置200において、再共有部252は、離脱通知に含まれる識別コードを参照する。
そして、再共有部252は、クライアント装置200が離脱クライアントに対する親クライアントまたは離脱クライアントに対する子クライアントであるか判定する。
In each participating client device 200, the re-sharing unit 252 refers to the identification code included in the withdrawal notification.
Then, the re-sharing unit 252 determines whether the client device 200 is a parent client of the departed client or a child client of the departed client.

クライアント(A)は、クライアント(B)に対する親クライアントである。この場合、クライアント(A)において処理はステップS502に進む。
クライアント(C)は、クライアント(B)に対する子クライアントである。この場合、クライアント(C)において処理はステップS502に進む。
クライアント(D)は、クライアント(B)に対する親クライアントではない。また、クライアント(D)は、クライアント(B)に対する子クライアントではない。この場合、クライアント(D)において、離脱通知に対する処理は行われない。
Client (A) is a parent client to client (B). In this case, the process proceeds to step S502 in the client (A).
Client (C) is a child client to client (B). In this case, the process proceeds to step S502 in the client (C).
Client (D) is not a parent client to client (B). Also, client (D) is not a child client to client (B). In this case, the client (D) does not process the withdrawal notification.

ステップS502において、クライアント(A)の再共有部252は、交換データ(A’)を生成し、交換データ(A’)をサーバ装置300へ送信する。
また、クライアント(C)の再共有部252は、交換データ(C’)を生成し、交換データ(C’)をサーバ装置300へ送信する。
交換データの生成方法は、参加処理での方法と同じである(図18を参照)。
In step S<b>502 , the re-sharing unit 252 of the client (A) generates exchange data (A′) and transmits the exchange data (A′) to the server device 300 .
Also, the re-sharing unit 252 of the client (C) generates exchange data (C′) and transmits the exchange data (C′) to the server device 300 .
The method of generating the exchange data is the same as in the participation process (see FIG. 18).

離脱管理部351は、交換データ(A’)と交換データ(C’)を受信し、交換データ(C’)をクライアント(A)へ送信し、交換データ(A’)をクライアント(C)へ送信する。 The leaving management unit 351 receives the exchange data (A') and the exchange data (C'), transmits the exchange data (C') to the client (A), and transmits the exchange data (A') to the client (C). Send.

ステップS503において、クライアント(A)の再共有部252は、交換データ(C’)を検証し、鍵共有によって共有鍵(AC)を生成し、共有鍵(AC)を保管する。
また、クライアント(C)の再共有部252は、交換データ(A’)を検証し、鍵共有によって共有鍵(AC)を生成し、共有鍵(AC)を保管する。
検証および鍵共有の方法は、参加処理での方法と同じである(図18を参照)。
In step S503, the re-sharing unit 252 of the client (A) verifies the exchange data (C'), generates a shared key (AC) through key sharing, and stores the shared key (AC).
Also, the re-sharing unit 252 of the client (C) verifies the exchange data (A'), generates a shared key (AC) through key sharing, and stores the shared key (AC).
The method of verification and key agreement is the same as in the joining process (see Figure 18).

ステップS511において、クライアント(A)の新鍵生成部253は、新たな通信鍵を生成する。
新鍵生成部253は、保管中の通信鍵を新たな通信鍵で更新する。これにより、クライアント(A)において、新たな通信鍵が保管される。
In step S511, the new key generator 253 of client (A) generates a new communication key.
The new key generation unit 253 updates the stored communication key with a new communication key. As a result, a new communication key is stored in the client (A).

ステップS512において、クライアント(A)の新鍵伝送部254は、共有鍵(AC)を用いて新たな通信鍵を暗号化する。これにより、暗号化通信鍵が得られる。 In step S512, the new key transmission unit 254 of the client (A) encrypts the new communication key using the common key (AC). As a result, an encrypted communication key is obtained.

新鍵伝送部254は、暗号化通信鍵をサーバ装置300へ送信する。
離脱管理部351は、暗号化通信鍵を受信し、暗号化通信鍵を記憶部390に格納する。
New key transmission unit 254 transmits the encrypted communication key to server device 300 .
The withdrawal management unit 351 receives the encrypted communication key and stores the encrypted communication key in the storage unit 390 .

離脱管理部351は、暗号化通信鍵をクライアント(C)へ送信する。
クライアント(C)の新鍵伝送部254は、暗号化通信鍵を受信する。
The withdrawal management unit 351 transmits the encrypted communication key to the client (C).
The new key transmission unit 254 of client (C) receives the encrypted communication key.

ステップS513において、クライアント(C)の新鍵伝送部254は、共有鍵(AC)を用いて暗号化通信鍵から新たな通信鍵を復号する。
新鍵伝送部254は、保管中の通信鍵を新たな通信鍵で更新する。これにより、クライアント(C)において、新たな通信鍵が保管される。
In step S513, the new key transmission unit 254 of the client (C) decrypts the new communication key from the encrypted communication key using the shared key (AC).
The new key transmission unit 254 updates the stored communication key with a new communication key. As a result, a new communication key is stored in the client (C).

ステップS514において、クライアント(C)の新鍵伝送部254は、クライアント(C)に対する子クライアントが存在するか判定する。クライアント(D)がクライアント(C)に対する子クライアントである。
この場合、クライアント(C)の新鍵伝送部254は、共有鍵(CD)を用いて新たな通信鍵を暗号化し、暗号化通信鍵をサーバ装置300へ送信する。
離脱管理部351は、暗号化通信鍵を受信し、暗号化通信鍵をクライアント(D)へ送信する。
クライアント(D)の新鍵伝送部254は、暗号化通信鍵を受信する。
In step S514, the new key transmission unit 254 of client (C) determines whether there is a child client for client (C). Client (D) is a child client to client (C).
In this case, new key transmission unit 254 of client (C) encrypts the new communication key using the shared key (CD) and transmits the encrypted communication key to server device 300 .
The withdrawal management unit 351 receives the encrypted communication key and transmits the encrypted communication key to the client (D).
New key transmission unit 254 of client (D) receives the encrypted communication key.

ステップS515において、クライアント(D)の新鍵伝送部254は、共有鍵(CD)を用いて暗号化通信鍵から新たな通信鍵を復号し、保管中の通信鍵を新たな通信鍵で更新する。これにより、クライアント(D)において、新たな通信鍵が保管される。 In step S515, the new key transmission unit 254 of the client (D) decrypts the new communication key from the encrypted communication key using the shared key (CD), and updates the stored communication key with the new communication key. . As a result, a new communication key is stored in the client (D).

クライアント(D)の新鍵伝送部254は、クライアント(D)に対する子クライアントが存在するか判定する。クライアント(D)に対する子クライアントは存在しない。
この場合、処理は終了する。
The new key transmission unit 254 of client (D) determines whether there is a child client for client (D). There are no child clients for client (D).
In this case, the process ends.

クライアント(D)に対する子クライアントが存在する場合、クライアント(D)は、クライアント(C)と同様に、子クライアントに対して暗号化通信鍵を送信する。
そして、子クライアントは、クライアント(D)と同様に、保管中の通信鍵を更新し(ステップS515)、必要に応じて暗号化通信鍵を送信する。
この処理は、子クライアントを持たないクライアント装置200が保管中の通信鍵を更新するまで続けられる。
If there is a child client for client (D), client (D) sends an encrypted communication key to the child client, like client (C).
Then, the child client updates the stored communication key (step S515), and transmits the encrypted communication key as necessary, in the same manner as the client (D).
This process continues until the client device 200 that does not have a child client updates the stored communication key.

離脱処理の特徴を説明する。
ウェブ会議から離脱したときに、クライアント装置200は、親クライアントと子クライアントのそれぞれに対して離脱通知を送信する。
親クライアントの離脱通知を受信した場合、クライアント装置200は、新たな親クライアントと鍵共有を行う。親クライアントに対する親クライアントが新たな親クライアントになる。クライアント装置200は、新たな親クライアントからの暗号化通信鍵を受信し、新たな親クライアントとの共有鍵を用いて暗号化通信鍵から新たな通信鍵を復号する。そして、クライアント装置200は、保管中の通信鍵の代わりに新たな通信鍵を保管する。さらに、クライアント装置200は、新たな通信鍵を子クライアントとの共有鍵を用いて暗号化し、子クライアントに対して暗号化通信鍵を送信する。
親クライアントからの暗号化通信鍵を受信した場合、クライアント装置200は、親クライアントとの共有鍵を用いて暗号化通信鍵から新たな通信鍵を復号し、保管中の通信鍵の代わりに新たな通信鍵を保管する。
子クライアントの離脱通知を受信した場合、クライアント装置200は、新たな子クライアントと鍵共有を行う。子クライアントに対する子クライアントが新たな子クライアントになる。また、クライアント装置200は、新たな通信鍵を生成して保管中の通信鍵の代わりに保管する。そして、クライアント装置200は、新たな通信鍵を新たな子クライアントとの共有鍵を用いて暗号化し、新たな子クライアントに対して暗号化通信鍵を送信する。
Features of the leaving process will be described.
When leaving the web conference, the client device 200 transmits a leaving notice to each of the parent client and child client.
Upon receiving the parent client's withdrawal notification, the client device 200 shares a key with a new parent client. A parent client for a parent client becomes the new parent client. The client device 200 receives the encrypted communication key from the new parent client, and decrypts the new communication key from the encrypted communication key using the shared key with the new parent client. Then, the client device 200 stores a new communication key instead of the communication key being stored. Furthermore, the client device 200 encrypts the new communication key using the shared key with the child client, and transmits the encrypted communication key to the child client.
When receiving the encrypted communication key from the parent client, the client device 200 decrypts the new communication key from the encrypted communication key using the shared key with the parent client, and replaces the stored communication key with the new communication key. Store communication keys.
Upon receiving the child client's withdrawal notification, the client device 200 shares the key with the new child client. A child client for a child client becomes a new child client. Also, the client device 200 generates a new communication key and stores it instead of the communication key being stored. The client device 200 then encrypts the new communication key using the shared key shared with the new child client, and transmits the encrypted communication key to the new child client.

複数のクライアント装置200のそれぞれは、親クライアントと子クライアントのいずれかがウェブ会議から離脱しない限り他のクライアント装置と鍵共有を行わない。 Each of the plurality of client devices 200 does not share keys with other client devices unless either the parent client or the child client leaves the web conference.

図23に基づいて、通信処理を説明する。
通信処理は、ウェブ会議に参加中のクライアント装置200がメッセージを通信する処理である。
Communication processing will be described based on FIG.
The communication process is a process in which the client devices 200 participating in the web conference communicate messages.

クライアントの「送信部」は、メッセージ送信部261を表す。
クライアントの「受信部」は、メッセージ受信部262を表す。
クライアントの「記憶部」は、記憶部290を表す。
サーバの「記憶部」は、記憶部390を表す。
The “sender” of the client represents the message sender 261 .
The “receiver” of the client represents the message receiver 262 .
The “storage” of the client represents storage 290 .
The “storage” of the server represents the storage 390 .

ステップS601において、クライアント(A)の利用者は、メッセージをクライアント(A)に入力する。
メッセージ送信部261は、メッセージを受け付ける。メッセージの形態は、例えば、文字列、音声または映像である。
In step S601, the user of client (A) inputs a message to client (A).
Message transmission unit 261 receives messages. The form of the message is, for example, text, audio or video.

メッセージ送信部261は、メッセージをエンコードする。つまり、メッセージ送信部261は、メッセージを規定のフォーマットのデータに変換する。これにより、エンコードメッセージが得られる。 The message transmission unit 261 encodes messages. In other words, the message transmission unit 261 converts the message into data in a prescribed format. This gives us an encoded message.

メッセージ送信部261は、通信鍵を用いてエンコードメッセージを暗号化する。これにより、暗号化メッセージが得られる。 The message sending unit 261 encrypts the encoded message using the communication key. This results in an encrypted message.

メッセージ送信部261は、暗号化メッセージをサーバ装置300へ送信する。
通信管理部361は、暗号化メッセージを受信し、記憶部390に格納する。
Message transmission unit 261 transmits the encrypted message to server device 300 .
Communication management unit 361 receives the encrypted message and stores it in storage unit 390 .

通信管理部361は、暗号化メッセージをウェブ会議に参加中の各クライアント装置200へ送信する。
クライアント(B)のメッセージ受信部262は、暗号化メッセージを受信する。
The communication manager 361 transmits the encrypted message to each client device 200 participating in the web conference.
The message receiver 262 of client (B) receives the encrypted message.

ステップS603において、クライアント(B)のメッセージ受信部262は、保管中の通信鍵を用いて、暗号化メッセージからエンコードメッセージを復号する。 In step S603, the message receiving unit 262 of the client (B) decrypts the encoded message from the encrypted message using the stored communication key.

メッセージ受信部262は、エンコードメッセージからメッセージをデコードする。 Message receiver 262 decodes the message from the encoded message.

メッセージ受信部262は、メッセージを出力する。例えば、メッセージ受信部262は、メッセージをディスプレイに表示する。 The message receiver 262 outputs messages. For example, the message receiving section 262 displays the message on the display.

***実施の形態1の効果***
2者間鍵共有のためには、各利用者の初期鍵(交換鍵)を安全に相手に渡す必要がある。従来、初期鍵は、電話番号と共にサーバに登録されていた。そのため、サーバの管理者に悪意がある場合、初期鍵のすり替えによるなりすましが可能となる。
実施の形態1では、初期鍵は、電子証明書を使って配布される。これにより、サーバでの初期鍵の改ざんを防止できる。
*** Effect of Embodiment 1 ***
For bilateral key sharing, it is necessary to safely deliver the initial key (exchange key) of each user to the other party. Conventionally, the initial key was registered with the server along with the telephone number. Therefore, if the server administrator has malicious intent, spoofing by replacing the initial key becomes possible.
In the first embodiment, initial keys are distributed using electronic certificates. This makes it possible to prevent tampering with the initial key on the server.

実施の形態1では、ウェブ会議の開設時に、参加メンバーのリストが生成される。これにより、招待されていない第3者の入室(ウェブ会議への参加)を防止できる。 In Embodiment 1, a list of participating members is generated when a web conference is established. This can prevent an uninvited third party from entering the room (participating in the web conference).

従来、n人のメンバーに対して回の鍵共有が必要であった。
実施の形態1により、鍵共有の回数を(n-1+α)回に減らすことができる。「α」は離脱回数を意味する。
Traditionally, n C 2 key agreements were required for n members.
According to Embodiment 1, the number of times of key sharing can be reduced to (n−1+α) times. "α" means the number of withdrawals.

実施の形態1では、新たな参加クライアントにはハッシュ化によって更新された通信鍵が渡される。これにより、新たな参加クライアントは参加前のメッセージを復号できない。 In Embodiment 1, a new participating client is passed an updated communication key by hashing. This prevents newly joining clients from decrypting messages before joining.

実施の形態1では、ウェブ会議に参加していたクライアントがウェブ会議から離脱した場合、新たな通信鍵が生成される。これにより、離脱クライアントは離脱後のメッセージを復号できない。 In Embodiment 1, a new communication key is generated when a client participating in the web conference leaves the web conference. This prevents the leaving client from decrypting messages after leaving.

実施の形態2.
通知無しでのウェブ会議からの離脱に対処する形態について、主に実施の形態1と異なる点を図24から図28に基づいて説明する。
Embodiment 2.
A form of coping with withdrawal from a web conference without notification will be described mainly with reference to FIGS. 24 to 28 for differences from the first embodiment.

***構成の説明***
図24に基づいて、クライアント装置200の構成を説明する。
クライアント装置200は、さらに、検知部270という要素を備える。検知部270は、ソフトウェアで実現される。
クライアントプログラムは、さらに、検知部270としてコンピュータを機能させる。
*** Configuration description ***
The configuration of the client device 200 will be described based on FIG.
The client device 200 further includes an element called a detector 270 . The detection unit 270 is realized by software.
The client program also causes the computer to function as the detector 270 .

図25に基づいて、検知部270の構成を説明する。
検知部270は、確認要求部271と、確認応答部272と、代理通知部273と、を備える。
The configuration of the detection unit 270 will be described based on FIG. 25 .
The detection unit 270 includes a confirmation request unit 271 , a confirmation response unit 272 and a proxy notification unit 273 .

図26に基づいて、サーバ装置300の構成を説明する。
サーバ装置300は、さらに、検知管理部371を備える。検知管理部371は、ソフトウェアで実現される。
サーバプログラムは、さらに、検知管理部371としてコンピュータを機能させる。
Based on FIG. 26, the configuration of the server device 300 will be described.
The server device 300 further includes a detection manager 371 . The detection manager 371 is realized by software.
The server program further causes the computer to function as the detection manager 371 .

***動作の説明***
ウェブ会議方法は、検知処理を含む。
検知処理は、離脱通知を出さずにウェブ会議から離脱したクライアント装置200を検知する処理である。
***Description of operation***
A web conferencing method includes a sensing process.
The detection process is a process of detecting a client device 200 that has left the web conference without issuing a withdrawal notification.

図27に基づいて、検知処理の概要を説明する。
「Join」は、ウェブ会議への参加を意味する。
「Gen nonce」は、ノンスの生成を意味する。ノンスはランダムな値である。
「Sign」は、署名を意味する。
「Verify」は、署名の検証を意味する。
「Auth」は、子クライアントの認証を意味する。
「Gen kB,G」は、通信鍵の生成を意味する。
Based on FIG. 27, the outline of the detection process will be described.
"Join" means participation in a web conference.
"Gen nonce" means generation of a nonce. A nonce is a random value.
"Sign" means signature.
"Verify" means signature verification.
"Auth" means authentication of the child client.
“Gen k B,G ” means generation of a communication key.

ウェブ会議に参加中に、クライアント(A)は、ウェブ会議に参加中の各クライアントに対してノンスを送信する。ウェブ会議に参加中の各クライアントは、ノンスに対する署名を生成し、クライアント(A)に対して署名を送信する。クライアント(A)は、各署名を検証する。
その後、クライアント(C)が、離脱通知を出さずにウェブ会議から離脱した。
その後、クライアント(E)は、ウェブ会議に参加中の各クライアントに対してノンスを送信した。しかし、クライアント(C)から署名を受信できなかった。
この場合、クライアント(E)は、クライアント(C)がウェブ会議から離脱したことを各クライアントに対して通知する。
その後、クライアント(C)の親クライアントであったクライアント(B)が新たな通信鍵kB,Gを生成し、新たな通信鍵kB,Gが各クライアントに伝送される。
While participating in the web conference, client (A) sends a nonce to each client participating in the web conference. Each client participating in the web conference generates a signature for the nonce and sends the signature to client (A). Client (A) verifies each signature.
After that, client (C) left the web conference without issuing a leave notice.
Client (E) then sent a nonce to each client participating in the web conference. However, the signature could not be received from the client (C).
In this case, client (E) notifies each client that client (C) has left the web conference.
After that, the client (B), which was the parent client of the client (C), generates new communication keys kB, G , and the new communication keys kB, G are transmitted to each client.

図28に基づいて、検知処理の具体例を説明する。
クライアントの「要求部」は、確認要求部271を表す。
クライアントの「応答部」は、確認応答部272を表す。
クライアントの「記憶部」は、記憶部290を表す。
サーバの「管理部」は、検知管理部371を表す。
サーバの「記憶部」は、記憶部390を表す。
A specific example of the detection process will be described with reference to FIG.
The “request part” of the client represents the confirmation request part 271 .
The client's “response part” represents the acknowledgment part 272 .
The “storage” of the client represents storage 290 .
The “management section” of the server represents the detection management section 371 .
The “storage” of the server represents the storage 390 .

ステップS701において、参加中の各クライアント装置200の確認要求部271は、確認タイミングであるか判定する。
確認タイミングは、離脱確認のための既定のタイミングである。例えば、参加通知の送信以後に一定周期で訪れる各時刻が確認タイミングとなる。
In step S701, the confirmation request unit 271 of each participating client device 200 determines whether it is the confirmation timing.
The confirmation timing is a default timing for confirmation of leaving. For example, each time that occurs at regular intervals after the transmission of the participation notification is the confirmation timing.

クライアント(A)において、確認タイミングが検出された。
この場合、クライアント(A)の確認要求部271は、離脱確認要求をサーバ装置300へ送信する。
検知管理部371は、離脱確認要求を受信する。
離脱確認要求は、ウェブ会議から離脱したクライアント装置200を確認するためのデータである。離脱確認要求は、確認メッセージを含む。確認メッセージは、任意のメッセージであり、確認メッセージの再送の防止のためにノンスを含む。
Acknowledgment timing is detected at client (A).
In this case, the confirmation request unit 271 of the client (A) transmits a withdrawal confirmation request to the server device 300 .
The detection management unit 371 receives the withdrawal confirmation request.
The withdrawal confirmation request is data for confirming the client device 200 that has withdrawn from the web conference. The leave confirmation request includes a confirmation message. A confirmation message is an arbitrary message and includes a nonce to prevent retransmission of the confirmation message.

検知管理部371は、参加中のクライアント装置200として管理されている全てのクライアント装置200へ離脱確認要求を送信する。
クライアント(B)の確認応答部272は、離脱確認要求を受信する。
クライアント(C)の確認応答部272は、離脱確認要求を受信する。
The detection management unit 371 transmits a withdrawal confirmation request to all the client devices 200 managed as participating client devices 200 .
The confirmation response unit 272 of the client (B) receives the withdrawal confirmation request.
The confirmation response unit 272 of the client (C) receives the withdrawal confirmation request.

ステップS702において、クライアント(B)の確認応答部272は、署名秘密鍵を用いて、確認メッセージに対する署名を生成する。
確認応答部272は、離脱確認応答を生成し、離脱確認応答をサーバ装置300へ送信する。
検知管理部371は、離脱確認応答を受信する。
離脱確認応答は、離脱確認要求に対する応答である。離脱確認応答は、確認メッセージに対する署名とCL証明書と識別コードを含む。
In step S702, the confirmation response section 272 of client (B) generates a signature for the confirmation message using the signature private key.
The acknowledgment unit 272 generates a leave acknowledgment and transmits the leave acknowledgment to the server device 300 .
The detection management unit 371 receives the withdrawal confirmation response.
The leave confirmation response is a response to the leave confirmation request. The leave acknowledgment contains the signature, CL certificate and identification code for the acknowledgment message.

クライアント(C)の確認応答部272は、クライアント(B)と同じく、離脱確認応答をサーバ装置300へ送信する。
検知管理部371は、離脱確認応答を受信する。
The acknowledgment unit 272 of the client (C) transmits a withdrawal acknowledgment to the server device 300 in the same way as the client (B).
The detection management unit 371 receives the withdrawal confirmation response.

ステップS703において、検知管理部371は、管理データを生成する。
管理データは、各離脱確認応答と、参加クライアントリストと、を含む。
参加クライアントリストは、参加中のクライアント装置200として管理されているクライアント装置200の識別コードのリストである。
In step S703, the detection manager 371 generates management data.
The management data includes each leaving acknowledgment and a joining client list.
The participating client list is a list of identification codes of client devices 200 managed as participating client devices 200 .

検知管理部371は、管理データをクライアント(A)へ送信する。
クライアント(A)の代理通知部273は、管理データを受信する。
The detection management unit 371 transmits management data to the client (A).
The proxy notification unit 273 of client (A) receives the management data.

ステップS704において、クライアント(A)の代理通知部273は、管理データに含まれる各離脱確認応答を検証する。
具体的には、代理通知部273は、CA証明書の中のCA公開鍵を用いて、CL証明書の中の署名を検証する。
CL証明書の中の署名が正しい場合、代理通知部273は、CL証明書の中の署名公開鍵を用いて、確認メッセージに対する署名を検証する。
確認メッセージに対する署名が正しい場合、離脱確認応答は正しい。
In step S704, the proxy notification unit 273 of client (A) verifies each withdrawal confirmation response included in the management data.
Specifically, proxy notification unit 273 verifies the signature in the CL certificate using the CA public key in the CA certificate.
If the signature in the CL certificate is correct, proxy notification unit 273 verifies the signature on the confirmation message using the signature public key in the CL certificate.
If the signature on the confirmation message is correct, then the leave acknowledgment is correct.

代理通知部273は、いずれの正しい離脱確認応答の中の識別コードとも一致しない識別コードを参加クライアントリストから抽出する。
抽出される識別コードで識別されるクライアント装置200を離脱済みクライアントと称する。
離脱済みクライアントは、離脱通知を送信せずにウェブ会議から離脱したクライアント装置200である。
The proxy notification unit 273 extracts from the participating client list an identification code that does not match any identification code in any correct withdrawal confirmation response.
The client device 200 identified by the extracted identification code is called a withdrawn client.
A withdrawn client is a client device 200 that has withdrawn from the web conference without sending a withdrawal notification.

離脱済みクライアントが存在する場合、クライアント(A)の代理通知部273は、離脱済みクライアントの代わりに離脱通知を送信する。
離脱通知に対する処理(離脱処理)は、実施の形態1で説明した通りである。
If there is a withdrawn client, the proxy notification unit 273 of client (A) sends a withdrawal notification on behalf of the withdrawn client.
The processing for the withdrawal notification (withdrawal processing) is as described in the first embodiment.

検知処理の特徴を説明する。
ウェブ会議からの離脱済みを確認するための確認要求を受信した場合、ウェブ会議に参加中の各クライアント装置200は、確認要求に対する確認応答を送信する。
ウェブ会議に参加中の各クライアント装置200は、任意のタイミングになったときに、確認要求を送信し、ウェブ会議に参加中のクライアント装置からの確認応答を受信する。次に、クライアント装置200は、ウェブ会議から離脱済みでなく確認応答の送信元でないクライアント装置200を離脱済みクライアントとして検出する。そして、クライアント装置200は、離脱済みクライアントの離脱通知を送信する。
Features of detection processing will be described.
When receiving a confirmation request for confirming that the user has left the web conference, each client device 200 participating in the web conference transmits an acknowledgment to the confirmation request.
Each client device 200 participating in the web conference transmits a confirmation request at an arbitrary timing, and receives a confirmation response from the client devices participating in the web conference. Next, the client device 200 detects the client device 200 that has not left the web conference and is not the sender of the confirmation response as a withdrawn client. Then, the client device 200 transmits a withdrawal notice of the withdrawn client.

***実施の形態2の効果***
実施の形態2により、メンバーがウェブ会議から黙って離脱した場合に対処することができる。
*** Effect of Embodiment 2 ***
According to the second embodiment, it is possible to deal with the case where the member silently leaves the web conference.

***実施の形態のまとめ***
ウェブ会議に最初に参加したメンバーは、通信鍵を生成する。ウェブ会議に二番目以降に参加したメンバーは、参加済みのメンバーのうちの1人と認証および鍵共有を行う。ウェブ会議から離脱したメンバーが発生したら、離脱メンバーを認証したメンバーが、離脱メンバーが認証したメンバーと認証および鍵共有を行う。
***Summary of Embodiments***
A member who joins the web conference first generates a communication key. Members who join the web conference for the second time or later perform authentication and key sharing with one of the members who have already joined. When a member leaves the web conference, the member who authenticates the leaving member performs authentication and key sharing with the member authenticated by the leaving member.

参加時の認証および鍵共有が成功したら、認証メンバーは自身の通信鍵にハッシュを施し、ハッシュ値を通信鍵として被認証メンバーに渡す。同時に、認証メンバーは、その旨を他の参加中メンバーに連絡する。連絡を受けた各メンバーは、自身の通信鍵にハッシュを施す。 If the authentication and key sharing at the time of participation are successful, the authenticating member hashes its own communication key and passes the hash value as the communication key to the member to be authenticated. At the same time, the authenticated member notifies other participating members to that effect. Each member contacted hashes its communication key.

離脱時の認証および鍵共有がすんだら、離脱メンバーを認証したメンバーは、通信鍵を生成し、鍵共有を行ったメンバーに通信鍵を配布する。通信鍵を受け取ったメンバーは、鍵共有を行ったメンバーに通信鍵を配布する。 After leaving authentication and key sharing, the member who authenticated the leaving member generates a communication key and distributes the communication key to the members who have shared the key. The member who received the communication key distributes the communication key to the members who have shared the key.

ウェブ会議に最初に参加するメンバーは、メンバーリストを使って参加の可否を判定される。 The first member to join the web conference is judged by the member list.

各メンバーが認証および鍵交換を行う相手は最大2人である。 Each member authenticates and exchanges keys with up to two people.

ウェブ会議を開設するメンバーは、参加メンバーのリストを生成し、署名を施してリストをサーバに送信し、会議用URLの発行を受ける。リストに記載された各メンバーは、必要に応じて次のように動作する。メンバーは、サーバからリストを受信し、メンバーの追加と削除をリストに加筆し、署名を施してリストをサーバに送信する。 A member who establishes a web conference generates a list of participating members, affixes signatures to the list, transmits the list to the server, and is issued a URL for the conference. Each member on the list behaves as follows, as appropriate. A member receives the list from the server, adds and deletes members to the list, signs the list, and sends the list to the server.

利用者の初期登録の際に、サーバは、本人確認を行い、確認された利用者を一意に識別する識別コードを発行する。利用者は、識別コードを含む証明書発行要求(CSR)をCAに送信する。CAは、識別コードの有無をサーバに問い合わせ、識別コードの登録があれば証明書を発行する。 Upon initial registration of a user, the server performs identity verification and issues an identification code that uniquely identifies the verified user. A subscriber sends a certificate issuance request (CSR) containing an identification code to the CA. The CA inquires of the server about the existence of the identification code, and issues a certificate if the identification code is registered.

ウェブ会議中、1人のメンバーは任意のタイミングでノンスを生成し、他のメンバーに署名を要求する。他のメンバーは、ノンスに署名を施し、署名を要求したメンバーに証明書と共に署名を返信する。署名を要求したメンバーは、署名を検証し、黙って離脱したメンバーを検出する。検出後、退会処理(認証、鍵共有、通信鍵更新)が実行される。 At any time during the web conference, one member generates a nonce and requests signatures from other members. Other members sign the nonce and send the signature back to the requesting member along with the certificate. A member who requests a signature verifies the signature to detect silently leaving members. After detection, withdrawal processing (authentication, key sharing, communication key update) is executed.

***実施の形態の補足***
サーバ装置300と認証局装置400は1つの装置で構成されてもよい。
*** Supplement to the embodiment ***
Server device 300 and certificate authority device 400 may be configured as one device.

各実施の形態は、好ましい形態の例示であり、本開示の技術的範囲を制限することを意図するものではない。各実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。 Each embodiment is an example of a preferred form and is not intended to limit the technical scope of the present disclosure. Each embodiment may be implemented partially or in combination with other embodiments. The procedures described using flowcharts and the like may be changed as appropriate.

クライアント装置200、サーバ装置300および認証局装置400の各要素は、ソフトウェア、ハードウェア、ファームウェアまたはこれらの組み合わせのいずれで実現されてもよい。
クライアント装置200、サーバ装置300および認証局装置400の要素である「部」は、「処理」、「工程」、「回路」または「サーキットリ」と読み替えてもよい。
Each element of client device 200, server device 300, and certificate authority device 400 may be implemented in software, hardware, firmware, or a combination thereof.
The "units" that are elements of the client device 200, the server device 300 and the certificate authority device 400 may be read as "processing", "process", "circuit" or "circuitry".

100 ウェブ会議システム、101 ネットワーク、111 署名付きメンバーリスト、112 修正済みメンバーリスト、200 クライアント装置、201 プロセッサ、202 メモリ、203 補助記憶装置、204 通信装置、205 入出力インタフェース、210 準備部、211 CA証明書取得部、220 登録部、221 識別コード取得部、222 署名鍵生成部、223 CL証明書取得部、230 設定部、231 メンバーリスト生成部、232 会議情報取得部、233 メンバーリスト修正部、240 参加部、241 会議参加部、242 通信鍵生成部、243 鍵共有部、244 通信鍵更新部、245 通信鍵取得部、246 参加通知部、250 離脱部、251 離脱通知部、252 再共有部、253 新鍵生成部、254 新鍵伝送部、260 通信部、261 メッセージ送信部、262 メッセージ受信部、270 検知部、271 確認要求部、272 確認応答部、273 代理通知部、290 記憶部、300 サーバ装置、301 プロセッサ、302 メモリ、303 補助記憶装置、304 通信装置、305 入出力インタフェース、321 識別コード管理部、331 会議情報管理部、341 参加管理部、351 離脱管理部、361 通信管理部、371 検知管理部、390 記憶部、400 認証局装置、401 プロセッサ、402 メモリ、403 補助記憶装置、404 通信装置、405 入出力インタフェース、411 CA証明書発行部、421 CL証明書発行部、490 記憶部。 100 web conference system, 101 network, 111 signed member list, 112 modified member list, 200 client device, 201 processor, 202 memory, 203 auxiliary storage device, 204 communication device, 205 input/output interface, 210 preparation unit, 211 CA certificate acquisition unit, 220 registration unit, 221 identification code acquisition unit, 222 signature key generation unit, 223 CL certificate acquisition unit, 230 setting unit, 231 member list generation unit, 232 meeting information acquisition unit, 233 member list correction unit, 240 participation unit, 241 conference participation unit, 242 communication key generation unit, 243 key sharing unit, 244 communication key update unit, 245 communication key acquisition unit, 246 participation notification unit, 250 withdrawal unit, 251 withdrawal notification unit, 252 re-sharing unit , 253 new key generation unit, 254 new key transmission unit, 260 communication unit, 261 message transmission unit, 262 message reception unit, 270 detection unit, 271 confirmation request unit, 272 confirmation response unit, 273 proxy notification unit, 290 storage unit, 300 server device, 301 processor, 302 memory, 303 auxiliary storage device, 304 communication device, 305 input/output interface, 321 identification code management unit, 331 conference information management unit, 341 participation management unit, 351 withdrawal management unit, 361 communication management unit , 371 detection management unit, 390 storage unit, 400 certification authority device, 401 processor, 402 memory, 403 auxiliary storage device, 404 communication device, 405 input/output interface, 411 CA certificate issuing unit, 421 CL certificate issuing unit, 490 memory unit.

Claims (13)

ウェブ会議に参加する複数のクライアント装置を備え、
前記複数のクライアント装置のそれぞれは、
前記ウェブ会議に1番目に参加したときに、前記ウェブ会議でのメッセージの通信に用いられる通信鍵を生成して保管し、
前記ウェブ会議に2番目以降に参加したときに、前記ウェブ会議に参加中で親クライアントになったクライアント装置と鍵共有を行い、前記親クライアントからの暗号化済み通信鍵を受信し、前記親クライアントとの共有鍵を用いて前記暗号化済み通信鍵から前記通信鍵を復号し、前記通信鍵を保管し、
前記ウェブ会議に参加中で子クライアントとの前記鍵共有を行っていない場合、前記ウェブ会議に新たに参加したクライアント装置を前記子クライアントにして前記鍵共有を行い、保管中の前記通信鍵をハッシュ化によって更新し、更新済みで保管中の前記通信鍵を前記子クライアントとの共有鍵を用いて暗号化し、前記子クライアントに対して暗号化済み通信鍵を送信し、前記親クライアントに対して参加通知を送信し、
前記子クライアントからの参加通知を受信した場合、保管中の前記通信鍵を前記ハッシュ化によって更新する
ウェブ会議システム。
comprising a plurality of client devices participating in a web conference;
each of the plurality of client devices,
generating and storing a communication key to be used for message communication in the web conference when first participating in the web conference;
When participating in the web conference for the second time or later, share a key with a client device that is participating in the web conference and has become a parent client, receive an encrypted communication key from the parent client, and receive the encrypted communication key from the parent client. Decrypt the communication key from the encrypted communication key using a shared key with, store the communication key,
When the key is not shared with a child client while participating in the web conference, the key is shared with a client device newly participating in the web conference as the child client, and the communication key being stored is hashed. encryption, encrypts the updated and stored communication key using a shared key shared with the child client, transmits the encrypted communication key to the child client, and joins the parent client send notifications and
A web conferencing system that updates the stored communication key by the hashing when a participation notification from the child client is received.
前記ウェブ会議に参加済みの各クライアント装置は、
前記ウェブ会議から離脱したときに、前記親クライアントと前記子クライアントのそれぞれに対して離脱通知を送信し、
前記ウェブ会議に参加中の各クライアント装置は、
前記親クライアントの離脱通知を受信した場合、前記親クライアントに対する親クライアントを新たな親クライアントにして前記新たな親クライアントと前記鍵共有を行い、前記新たな親クライアントからの暗号化通信鍵を受信し、前記新たな親クライアントとの共有鍵を用いて前記暗号化通信鍵から新たな通信鍵を復号し、保管中の前記通信鍵の代わりに前記新たな通信鍵を保管し、前記新たな通信鍵を前記子クライアントとの前記共有鍵を用いて暗号化し、前記子クライアントに対して暗号化通信鍵を送信し、
前記親クライアントからの暗号化通信鍵を受信した場合、前記親クライアントとの前記共有鍵を用いて前記暗号化通信鍵から新たな通信鍵を復号し、保管中の前記通信鍵の代わりに前記新たな通信鍵を保管し、
前記子クライアントの離脱通知を受信した場合、前記子クライアントに対する子クライアントを新たな子クライアントにして前記新たな子クライアントと前記鍵共有を行い、新たな通信鍵を生成して保管中の前記通信鍵の代わりに保管し、前記新たな通信鍵を前記新たな子クライアントとの共有鍵を用いて暗号化し、前記新たな子クライアントに対して暗号化通信鍵を送信する
請求項1に記載のウェブ会議システム。
Each client device that has participated in the web conference,
sending a withdrawal notification to each of the parent client and the child client when leaving the web conference;
Each client device participating in the web conference,
When receiving the parent client's withdrawal notification, the parent client for the parent client is set as a new parent client, and the key is shared with the new parent client, and the encrypted communication key is received from the new parent client. decrypting a new communication key from the encrypted communication key using a shared key with the new parent client, storing the new communication key instead of the currently stored communication key, and generating the new communication key is encrypted using the shared key with the child client, and an encrypted communication key is transmitted to the child client;
When an encrypted communication key is received from the parent client, a new communication key is decrypted from the encrypted communication key using the shared key with the parent client, and the new communication key is replaced with the communication key being stored. store a valid communication key,
when receiving a notification of leaving the child client, making the child client of the child client a new child client, sharing the key with the new child client, generating a new communication key, and generating the communication key being stored. 2. The web conference according to claim 1, wherein the new communication key is encrypted using a shared key shared with the new child client, and the encrypted communication key is transmitted to the new child client. system.
前記ウェブ会議に参加中の各クライアント装置は、
前記ウェブ会議からの離脱済みを確認するための確認要求を受信した場合、前記確認要求に対する確認応答を送信し、
任意のタイミングになったときに、前記確認要求を送信し、前記ウェブ会議に参加中のクライアント装置からの前記確認応答を受信し、前記ウェブ会議から離脱済みでなく前記確認応答の送信元でないクライアント装置を離脱済みクライアントとして検出し、前記離脱済みクライアントの離脱通知を送信する
請求項2に記載のウェブ会議システム。
Each client device participating in the web conference,
when receiving a confirmation request for confirming that the user has left the web conference, sending an acknowledgment to the confirmation request;
A client that transmits the confirmation request at an arbitrary timing, receives the confirmation response from a client device participating in the web conference, and is not the sender of the confirmation response and has not left the web conference. 3. The web conferencing system according to claim 2, wherein the device is detected as a departed client, and the exit notification of said departed client is sent.
前記複数のクライアント装置のそれぞれは、前記親クライアントと前記子クライアントのいずれかが前記ウェブ会議から離脱しない限り他のクライアント装置と前記鍵共有を行わない
請求項1から請求項3のいずれか1項に記載のウェブ会議システム。
4. Each of the plurality of client devices does not share the key with other client devices unless one of the parent client and the child client leaves the web conference. The web conference system described in .
前記ウェブ会議システムは、サーバ装置を備え、
前記複数のクライアント装置のそれぞれは、前記ウェブ会議に参加するときに、参加要求クライアントになって識別コードを示す参加要求を前記サーバ装置へ送信し、
前記サーバ装置は、
前記ウェブ会議に1番目に参加する参加要求クライアントの参加要求を受信した場合、受信した参加要求に示される識別コードを前記ウェブ会議のメンバーリストと照合し、照合結果に基づいて前記参加要求クライアントの参加可否を判定し、判定結果を示す参加応答を前記参加要求クライアントへ送信し、
前記ウェブ会議に2番目以降に参加する参加要求クライアントの参加要求を受信した場合、前記参加要求クライアントのための認証要求を前記ウェブ会議に参加中の全てのクライアント装置へ送信し、
前記ウェブ会議に参加中の各クライアント装置は、
前記認証要求を受信したときに子クライアントとの前記鍵共有を行っていない場合、前記参加要求クライアントから送信される署名付き交換鍵を受信し、前記署名付き交換鍵の署名を検証し、前記署名付き交換鍵の前記署名が正しい場合に前記参加要求クライアントを前記子クライアントにして前記交換鍵を用いて前記鍵共有を行う
請求項1から請求項4のいずれか1項に記載のウェブ会議システム。
The web conference system comprises a server device,
each of the plurality of client devices becomes a participation request client and transmits a participation request indicating an identification code to the server device when participating in the web conference;
The server device
When receiving the participation request of the participation request client that first participates in the web conference, the identification code indicated in the received participation request is collated with the member list of the web conference, and based on the collation result, the participation request client determine whether or not to participate, and transmit a participation response indicating the determination result to the participation request client;
When receiving a participation request of a participation request client that participates second or later in the web conference, sending an authentication request for the participation request client to all client devices participating in the web conference;
Each client device participating in the web conference,
receiving a signed exchange key transmitted from the join request client, verifying a signature of the signed exchange key, and verifying the signature if the key sharing with the child client has not been performed when the authentication request is received; 5. The web conference system according to any one of claims 1 to 4, wherein, if the signature of the exchange key with attachment is correct, the participation requesting client is made the child client and the key is shared using the exchange key.
前記複数のクライアント装置のいずれかは、前記メンバーリストを生成し、署名付きメンバーリストを前記サーバ装置へ送信し、
前記サーバ装置は、前記署名付きメンバーリストを受信し、前記署名付きメンバーリストの署名を検証し、前記署名付きメンバーリストの前記署名が正しい場合に前記メンバーリストを保管し、
前記複数のクライアント装置のそれぞれは、前記サーバ装置から前記メンバーリストを受信し、前記メンバーリストを修正し、署名付き修正済みリストを前記サーバ装置へ送信し、
前記サーバ装置は、前記署名付き修正済みリストを受信し、前記署名付き修正済みリストの署名を検証し、前記署名付き修正済みリストの前記署名が正しい場合に保管中の前記メンバーリストを前記修正済みリストで更新する
請求項5に記載のウェブ会議システム。
any one of the plurality of client devices generates the member list and transmits the signed member list to the server device;
the server device receives the signed member list, verifies the signature of the signed member list, and stores the member list if the signature of the signed member list is correct;
each of the plurality of client devices receives the member list from the server device, modifies the member list, and transmits a signed modified list to the server device;
The server device receives the signed modified list, verifies the signature of the signed modified list, and if the signature of the signed modified list is correct, updates the stored member list to the modified list. The web conference system according to claim 5, wherein the list is updated.
前記ウェブ会議システムは、認証局装置を備え、
前記サーバ装置は、前記複数のクライアント装置のそれぞれの前記識別コードを生成し、前記複数のクライアント装置のそれぞれに前記識別コードを送信し、
前記複数のクライアント装置のそれぞれは、前記識別コードを受信し、署名鍵ペアを生成し、署名公開鍵と前記識別コードを示す証明書要求を前記認証局装置へ送信し、
前記認証局装置は、前記証明書要求を受信し、前記証明書要求に示される前記識別コードを示す照会要求を前記サーバ装置へ送信し、
前記サーバ装置は、前記照会要求を受信し、前記照会要求に示される前記識別コードを前記複数のクライアント装置のそれぞれの前記識別コードと照合し、照合結果を示す照会応答を前記認証局装置へ送信し、
前記認証局装置は、前記照会応答を受信し、前記照会要求に示される前記識別コードが前記複数のクライアント装置のいずれかの前記識別コードである場合に前記証明書要求に示される前記署名公開鍵を含む電子証明書を前記証明書要求の送信元であるクライアント装置のために発行する
請求項5または請求項6に記載のウェブ会議システム。
The web conference system includes a certificate authority device,
the server device generates the identification code for each of the plurality of client devices, transmits the identification code to each of the plurality of client devices;
each of the plurality of client devices receives the identification code, generates a signature key pair, and transmits a certificate request indicating the signature public key and the identification code to the certification authority device;
The certificate authority device receives the certificate request, and transmits a query request indicating the identification code indicated in the certificate request to the server device,
The server device receives the inquiry request, compares the identification code indicated in the inquiry request with the identification code of each of the plurality of client devices, and transmits an inquiry response indicating the comparison result to the certification authority device. death,
The certificate authority device receives the inquiry response, and the signature public key indicated in the certificate request when the identification code indicated in the inquiry request is the identification code of one of the plurality of client devices. 7. The web conference system according to claim 5 or 6, wherein an electronic certificate containing is issued for a client device that is the sender of the certificate request.
請求項1から請求項7のいずれか1項に記載のウェブ会議システムで使用されるクライアント装置。 A client device used in the web conference system according to any one of claims 1 to 7. 請求項8に記載のクライアント装置としてコンピュータを機能させるためのクライアントプログラム。 A client program for causing a computer to function as the client device according to claim 8. 請求項5から請求項7のいずれか1項に記載のウェブ会議システムで使用されるサーバ装置。 A server device used in the web conference system according to any one of claims 5 to 7. 請求項10に記載のサーバ装置としてコンピュータを機能させるためのサーバプログラム。 A server program for causing a computer to function as the server apparatus according to claim 10. 請求項7に記載のウェブ会議システムで使用される認証局装置。 A certificate authority device used in the web conference system according to claim 7. 請求項12に記載の認証局装置としてコンピュータを機能させるための認証局プログラム。 A certificate authority program for causing a computer to function as the certificate authority device according to claim 12.
JP2021196392A 2021-12-02 2021-12-02 Web conference system, client device, client program, server device, server program, certificate authority device, and certificate authority program Pending JP2023082548A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021196392A JP2023082548A (en) 2021-12-02 2021-12-02 Web conference system, client device, client program, server device, server program, certificate authority device, and certificate authority program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021196392A JP2023082548A (en) 2021-12-02 2021-12-02 Web conference system, client device, client program, server device, server program, certificate authority device, and certificate authority program

Publications (1)

Publication Number Publication Date
JP2023082548A true JP2023082548A (en) 2023-06-14

Family

ID=86728416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021196392A Pending JP2023082548A (en) 2021-12-02 2021-12-02 Web conference system, client device, client program, server device, server program, certificate authority device, and certificate authority program

Country Status (1)

Country Link
JP (1) JP2023082548A (en)

Similar Documents

Publication Publication Date Title
TWI730692B (en) Improving integrity of communications between blockchain networks and external data sources
TWI707245B (en) Retrieving access data for blockchain networks using highly available trusted execution environments
CN107690798B (en) Automatic identification of invalid participants in a secure synchronization system
WO2022262078A1 (en) Access control method based on zero-trust security, and device and storage medium
US20200284579A9 (en) Certificate authority master key tracking on distributed ledger
US20200084027A1 (en) Systems and methods for encryption of data on a blockchain
WO2019127278A1 (en) Safe access blockchain method, apparatus, system, storage medium, and electronic device
CN110709875B (en) Method and system for establishing trusted peer-to-peer communication between nodes in a blockchain network
US8196186B2 (en) Security architecture for peer-to-peer storage system
WO2021169107A1 (en) Internet identity protection method and apparatus, electronic device, and storage medium
KR102177848B1 (en) Method and system for verifying an access request
CN108696358B (en) Digital certificate management method and device, readable storage medium and service terminal
US20080005562A1 (en) Public key infrastructure certificate entrustment
US10742426B2 (en) Public key infrastructure and method of distribution
US20220051314A1 (en) Information processing apparatus, information processing system, member identification method, and non-transitory computer readable medium storing program
US9100171B1 (en) Computer-implemented forum for enabling secure exchange of information
US11979392B2 (en) Systems and methods for managing device association
JP2018503199A (en) Account recovery protocol
CN112396421B (en) Identity authentication system and method based on blockchain pass
US11838405B1 (en) Blockchain delegation
JPWO2020050390A1 (en) Right holder terminal, user terminal, right holder program, user program, content use system and content use method
JP6742558B2 (en) Certification system and certification program
KR102295113B1 (en) Electronic contract management system using zero knowledge proof based on blockchain, and method thereof
TW202118271A (en) Computer-implemented system and method for facilitating transactions associated with a blockchain using a network identifier for participating entities
CN107104938B (en) Method for establishing secure data exchange channel, client and computer readable medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240524