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 PDFInfo
- 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
Links
- 230000006854 communication Effects 0.000 claims abstract description 224
- 238000004891 communication Methods 0.000 claims abstract description 223
- 238000012790 confirmation Methods 0.000 claims description 45
- 230000004044 response Effects 0.000 claims description 42
- 238000000034 method Methods 0.000 description 48
- 238000012545 processing Methods 0.000 description 45
- 238000001514 detection method Methods 0.000 description 23
- 230000005540 biological transmission Effects 0.000 description 19
- 238000012937 correction Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000002360 preparation method Methods 0.000 description 10
- 238000012795 verification Methods 0.000 description 5
- 230000002146 bilateral effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000007717 exclusion Effects 0.000 description 2
- 239000003607 modifier Substances 0.000 description 2
- 230000010485 coping Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
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者がウェブ会議に参加するとnC2回の鍵共有が必要となる。鍵共有には多大なコストがかかるため、鍵共有の回数をできるだけ減らす必要がある。 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.
本開示は、ウェブ会議の各参加者が、少ない回数の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.
実施の形態および図面において、同じ要素または対応する要素には同じ符号を付している。説明した要素と同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。 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
The web conferencing system 100 further includes a
A plurality of
図2に基づいて、クライアント装置200の構成を説明する。
クライアント装置200は、プロセッサ201とメモリ202と補助記憶装置203と通信装置204と入出力インタフェース205といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
The configuration of the
The
プロセッサ201は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ201はCPUである。
ICは、Integrated Circuitの略称である。
CPUは、Central Processing Unitの略称である。
A
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の略称である。
RAM is an abbreviation for Random Access Memory.
補助記憶装置203は不揮発性の記憶装置である。例えば、補助記憶装置203は、ROM、HDD、フラッシュメモリまたはこれらの組み合わせである。補助記憶装置203に記憶されたデータは必要に応じてメモリ202にロードされる。
ROMは、Read Only Memoryの略称である。
HDDは、Hard Disk Driveの略称である。
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の略称である。
NIC is an abbreviation for Network Interface Card.
入出力インタフェース205は、入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース205はUSB端子であり、入力装置はキーボード、マウスおよびマイクであり、出力装置はディスプレイおよびスピーカである。クライアント装置200の入出力は入出力インタフェース205を用いて行われる。
USBは、Universal Serial Busの略称である。
The input/
USB is an abbreviation for Universal Serial Bus.
クライアント装置200は、準備部210と登録部220と設定部230と参加部240と離脱部250と通信部260といった要素を備える。これらの要素はソフトウェアで実現される。
The
補助記憶装置203には、準備部210と登録部220と設定部230と参加部240と離脱部250と通信部260としてコンピュータを機能させるためのクライアントプログラムが記憶されている。クライアントプログラムは、メモリ202にロードされて、プロセッサ201によって実行される。
補助記憶装置203には、さらに、OSが記憶されている。OSの少なくとも一部は、メモリ202にロードされて、プロセッサ201によって実行される。
プロセッサ201は、OSを実行しながら、クライアントプログラムを実行する。
OSは、Operating Systemの略称である。
The
The
The
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
クライアント装置200は、プロセッサ201を代替する複数のプロセッサを備えてもよい。
The
クライアントプログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。 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
The
The
The
The
The leaving
The
"CA" means Certificate Authority.
"CL" means client.
図4に基づいて、サーバ装置300の構成を説明する。
サーバ装置300は、プロセッサ301とメモリ302と補助記憶装置303と通信装置304と入出力インタフェース305といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
The configuration of the
The
プロセッサ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
The input/
サーバ装置300は、識別コード管理部321と会議情報管理部331と参加管理部341と離脱管理部351と通信管理部361といった要素を備える。これらの要素はソフトウェアで実現される。
The
補助記憶装置303には、識別コード管理部321と会議情報管理部331と参加管理部341と離脱管理部351と通信管理部361としてコンピュータを機能させるためのサーバプログラムが記憶されている。サーバプログラムは、メモリ302にロードされて、プロセッサ301によって実行される。
補助記憶装置303には、さらに、OSが記憶されている。OSの少なくとも一部は、メモリ302にロードされて、プロセッサ301によって実行される。
プロセッサ301は、OSを実行しながら、サーバプログラムを実行する。
The
The
The
サーバプログラムの入出力データは記憶部390に記憶される。
メモリ302は記憶部390として機能する。但し、補助記憶装置303、プロセッサ301内のレジスタおよびプロセッサ301内のキャッシュメモリなどの記憶装置が、メモリ302の代わりに、又は、メモリ302と共に、記憶部390として機能してもよい。
Input/output data of the server program is stored in the
サーバ装置300は、プロセッサ301を代替する複数のプロセッサを備えてもよい。
The
サーバプログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。 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
The
プロセッサ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
The input/
認証局装置400は、CA証明書発行部411とCL証明書発行部421といった要素を備える。これらの要素はソフトウェアで実現される。
The
補助記憶装置403には、CA証明書発行部411とCL証明書発行部421としてコンピュータを機能させるための認証局プログラムが記憶されている。認証局プログラムは、メモリ402にロードされて、プロセッサ401によって実行される。
補助記憶装置403には、さらに、OSが記憶されている。OSの少なくとも一部は、メモリ402にロードされて、プロセッサ401によって実行される。
プロセッサ401は、OSを実行しながら、認証局プログラムを実行する。
The
The
認証局プログラムの入出力データは記憶部490に記憶される。
メモリ402は記憶部490として機能する。但し、補助記憶装置403、プロセッサ401内のレジスタおよびプロセッサ401内のキャッシュメモリなどの記憶装置が、メモリ402の代わりに、又は、メモリ402と共に、記憶部490として機能してもよい。
Input/output data of the certificate authority program is stored in the
認証局装置400は、プロセッサ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
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
The identification code identifies the member or
A CL certificate is an electronic certificate of the
「クライアント」は、クライアント装置200を表す。
「サーバ」は、サーバ装置300を表す。
「認証局」は、認証局装置400を表す。
“Client” represents the
“Server” represents the
“Certificate authority” represents the
まず、クライアント装置200は、認証局装置400からCA証明書を取得する。
First,
次に、クライアント装置200は、利用者情報をサーバ装置300へ送信する。
利用者情報は、クライアント装置200の利用者に関する情報を示すデータである。例えば、利用者情報は、氏名およびメールアドレスなどを示す。
サーバ装置300は、本人確認要求をクライアント装置200へ送信する。
本人確認要求は、利用者本人に確認を要求するためのデータである。
クライアント装置200は、本人確認応答をサーバ装置300へ送信する。
本人確認応答は、本人確認要求に対する応答である。
サーバ装置300は、識別コードをクライアント装置200へ送信する。
そして、クライアント装置200は、識別コードを受信する。
The
User information is data indicating information about the user of the
The personal identification request is data for requesting confirmation from the user himself/herself.
The
The personal identification response is a response to the personal identification request.
The
次に、クライアント装置200は、証明書署名要求(CSR)を生成する。
CSRは、CL証明書を要求するためのデータである。CSRは識別コードを含む。
クライアント装置200は、CSRを認証局装置400へ送信する。
認証局装置400は、照会要求をサーバ装置300へ送信する。
照会要求は、識別コードの照会を要求するためのデータである。照会要求は、CSRに含まれる識別コードと同じ識別コードを含む。
サーバ装置300は、照会応答を認証局装置400へ送信する。
照会応答は、照会要求に対する応答である。照会応答は、照会要求に含まれる識別コードがクライアント装置200へ送信された識別コード(正しい識別コード)であるか否かを示す。照会要求に含まれる識別コードが正しい識別コードであると仮定して説明を続ける。
The
A CSR is data for requesting a CL certificate. The CSR contains an identification code.
The inquiry request is data for requesting an identification code inquiry. The inquiry request contains the same identification code as contained in the CSR.
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,
Then,
図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
The “issuer” of the certificate authority represents the
The “storage unit” of the certificate authority represents the
ステップS101において、CA証明書発行部411は、CA鍵ペアを生成する。
CA鍵ペアは、認証局装置400の鍵ペアである。
鍵ペアは、秘密鍵と公開鍵のペアである。
In step S101, the CA
A CA key pair is a key pair of
A key pair is a pair of a private key and a public key.
次に、CA証明書発行部411は、CA鍵ペアを用いてCA証明書を生成する。
CA証明書はCA公開鍵と署名を含む。この署名は、CA秘密鍵を用いて生成される。
Next, CA
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
ステップS102において、CA証明書取得部211はCA証明書を取得する。
例えば、CA証明書取得部211が認証局装置400にCA証明書を要求し、CA証明書発行部411がCA証明書をクライアント装置200へ送信し、CA証明書取得部211がCA証明書を受信する。CA証明書の通信には、ウェブ経由またはメールなどの手段が使われる。なお、CA証明書は改ざんされずにクライアント装置200に届く必要がある。
In step S102, the CA
For example, the CA
そして、CA証明書取得部211は、CA証明書を記憶部290に格納する。これにより、クライアント装置200において、CA証明書が保管される。
CA
図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
The “generator” of the client represents the signature
The “storage” of the client represents
The “management section” of the server represents the identification
The “storage” of the server represents the
The “issuer” of the certificate authority represents the
The “storage unit” of the certificate authority represents the
ステップS201において、クライアント装置200の利用者は、利用者情報をクライアント装置200に入力する。
識別コード取得部221は、入力された利用者情報を受け付ける。
In step S<b>201 , the user of the
The identification
ステップS202において、識別コード取得部221は、利用者情報をサーバ装置300へ送信する。
識別コード管理部321は、利用者情報を受信する。
In step S<b>202 , the identification
The identification
次に、識別コード管理部321は、本人確認要求をクライアント装置200へ送信する。
識別コード取得部221は、本人確認要求を受信する。
本人確認要求は、確認用のウェブサイト(登録サイト)のアドレスを示す。ウェブサイトのアドレスはURLで示すことができる。URLは、Uniform Resource Locatorの略称である。
Next, the identification
The identification
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
The user of the
そして、識別コード取得部221は、登録サイトにアクセスすることによって、本人確認応答をサーバ装置300へ送信する。
識別コード管理部321は、本人確認応答を受信する。
Then, the identification
The identification
ステップS203において、識別コード管理部321は、クライアント装置200の利用者に対する識別コードを生成する。
In step S<b>203 , the identification
識別コード管理部321は、利用者情報と識別コードを互いに対応付けて記憶部390に格納する。これにより、サーバ装置300において、利用者情報と識別コードが保管される。
The identification
識別コード管理部321は、識別コードをクライアント装置200へ送信する。
識別コード取得部221は、識別コードを受信する。
The identification
The identification
識別コード取得部221は、識別コードを記憶部290に格納する。これにより、サーバ装置300において、識別コードが保管される。
The identification
ステップS211において、署名鍵生成部222は、署名鍵ペアを生成する。
署名鍵ペアは、クライアント装置200の鍵ペアである。署名鍵ペアは、各種署名のために使われる。
In step S211, the signature
The signature key pair is the key pair of
署名鍵生成部222は、署名鍵ペアを記憶部290に格納する。これにより、クライアント装置200において、署名鍵ペアが保管される。
Signature
ステップS212において、CL証明書取得部223は、CSRを生成する。
CSRは、識別コードと署名公開鍵を含む。
In step S212, the CL
A CSR contains an identification code and a signing public key.
CL証明書取得部223は、CSRを認証局装置400へ送信する。
CL証明書発行部421は、CSRを受信する。
CL
The CL
ステップS213において、CL証明書発行部421は、照会要求をサーバ装置300へ送信する。
識別コード管理部321は、照会要求を受信する。
照会要求は、CSRに含まれる識別コードと同じ識別コードを含む。
In step S<b>213 , CL
The identification
The inquiry request contains the same identification code as contained in the CSR.
識別コード管理部321は、照会要求に含まれる識別コードを保管中の識別コードと照会する。照会要求に含まれる識別コードを「対象コード」と称する。
対象コードが保管中のいずれかの識別コードと一致する場合、対象コードは正しい識別コードである。
The identification
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
The CL
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
If the identification code included in the CSR is a correct identification code, the CL
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
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
The CL
CL証明書取得部223は、CL証明書を記憶部290に格納する。これにより、クライアント装置200において、CL証明書が保管される。
The CL
登録処理の特徴を説明する。
サーバ装置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
Each of the plurality of
The
図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
そして、サーバ装置300は、メンバーリストに示される各メンバーへ会議情報を送信する。クライアント(A)およびクライアント(B)がメンバーリストに示される場合、サーバ装置300は、クライアント(A)とクライアント(B)のそれぞれに会議情報を送信する。
会議情報は、ウェブ会議の情報を示すデータである。
Then,
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
Client (B) modifies the member list.
Client (B) transmits the signed member list to
図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
The “acquisition unit” of the client represents the conference
The “modifier” of the client represents the
The “storage” of the client represents
The “management section” of the server represents the conference
The “storage” of the server represents the
ステップ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.
メンバーリスト生成部231は、メンバーリストを生成する。
メンバーリストは、受け付けられた各識別コードを示す。
Member
The member list shows each identification code accepted.
ステップS302において、メンバーリスト生成部231は、署名秘密鍵を用いて、メンバーリストに対する署名を生成する。
In step S302,
そして、メンバーリスト生成部231は、署名付きメンバーリストを生成する。
署名付きメンバーリストは、メンバーリストと署名とCL証明書を含むデータである。
The
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
The conference
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
Specifically, the meeting
署名付きメンバーリストが正しい場合、会議情報管理部331は会議情報を生成する。
そして、会議情報管理部331は、署名付きメンバーリストと会議情報を互いに対応付けて記憶部390に格納する。これにより、サーバ装置300において、署名付きメンバーリストと会議情報が保管される。
会議情報は、会議URLとメンバーリストURLを含む。
会議URLは、ウェブ会議への参加時にアクセスされるウェブサイトのアドレスである。
メンバーリストURLは、メンバーリストにアクセスするためのウェブサイトのアドレスである。
If the signed member list is correct, the
Then, the meeting
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
各利用者のクライアント装置200において、会議情報取得部232は、会議情報を受信する。
そして、会議情報取得部232は、会議情報を記憶部290に格納する。これにより、クライアント装置200において、会議情報が保管される。
In the
Then, the meeting
各利用者は、必要に応じて他のメンバーに会議情報を送信してもよい。 Each user may send meeting information to other members as needed.
ステップS311において、メンバーリスト修正部233は、利用者(B)の指示に従ってメンバーリストURLを使ってメンバーリストにアクセスする。
そして、メンバーリスト修正部233は、メンバーリストをダウンロードする。このとき、会議情報管理部331がメンバーリストをクライアント(B)へ送信し、メンバーリスト修正部233がメンバーリストを受信する。
In step S311, the member
Member
ステップS312において、メンバーリスト修正部233は、利用者(B)の指示にしたがってメンバーリストを修正する。
具体的には、メンバーリスト修正部233は、修正データを署名付きメンバーリストに付加する。修正データは、メンバーリストに対する修正の内容を示す。
In step S312, member
Specifically, member
ステップS313において、メンバーリスト修正部233は、署名秘密鍵を用いて、修正データに対する署名を生成する。
In step S313, member
そして、メンバーリスト修正部233は、修正済みメンバーリストを生成する。
修正済みメンバーリストは、署名付きメンバーリストと修正データと署名とCL証明書を含む。
Member
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
The
会議情報管理部331は、修正済みメンバーリストを検証する。
具体的には、会議情報管理部331は、修正済みメンバーリストの中のCL証明書に含まれる署名公開鍵を用いて、修正済みメンバーリストの中の署名を検証する。
The
Specifically, the meeting
会議情報管理部331は、修正済みメンバーリストの中の修正データを検証する。
例えば、会議情報管理部331は、未加入メンバーの除外が修正内容に含まれていないか判定する。
The
For example, the meeting
署名および修正データが正しい場合、会議情報管理部331は、保管中の署名付きメンバーリストを修正済みメンバーリストで更新する。
If the signature and correction data are correct, the meeting
署名と修正データの少なくとも一方が正しくない場合、修正済みメンバーリストが破棄され、保管中の署名付きメンバーリストは更新されない。 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
Each of the
図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,
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 (B)” represents the
"Client (C)" represents the
“Client (D)” represents the
The client's “participant” represents the
The “generation unit” of the client represents the communication
The “shared part” of the client represents the
The “updater” of the client represents the
The “acquisition unit” of the client represents the communication
The client's “notifier” represents the
The “storage” of the client represents
The “management section” of the server represents the
The “storage” of the server represents the
ステップS401において、クライアント(A)の会議参加部241は、参加要求をサーバ装置300へ送信する。
参加管理部341は、参加要求を受信する。
参加要求は、ウェブ会議に参加するためのデータである。参加要求は、識別コードを含む。
In step S<b>401 , the
The
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
In this case, the
If the target code is included in the stored member list, the
If the target code is not included in the stored member list, the
The
ウェブ会議に参加中のクライアント装置200が存在する場合については後述する。
A case where there is a
ステップS402において、会議参加部241は通信鍵を生成する。通信鍵は例えば乱数である。
そして、会議参加部241は、通信鍵を記憶部290に格納する。これにより、クライアント(A)において通信鍵が保管される。
In step S402, the
Then,
ステップS411において、クライアント(B)の会議参加部241は、参加要求をサーバ装置300へ送信する。
参加管理部341は、参加要求を受信する。
In step S<b>411 , the
The
参加管理部341は、ウェブ会議に参加中のクライアント装置200が存在するか判定する。このとき、クライアント(A)がウェブ会議に参加中である。
この場合、参加管理部341は、参加中のクライアント装置200が存在することを示す参加応答をクライアント(B)へ送信する。
クライアント(B)の参加管理部341は、参加応答を受信する。
The
In this case, the
The
ステップS412において、クライアント(B)の鍵共有部243は、交換鍵ペアを生成する。
交換鍵ペアは、他のクライアント装置200と鍵共有を行うための鍵ペアである。交換鍵の具体例は、ECDH鍵またはDH鍵である。ECDHは、Elliptic curve Diffie-Hellmanの略称である。DHは、Diffie-Hellmanの略称である。
In step S412, the
The exchange key pair is a key pair for sharing keys with
クライアント(B)の鍵共有部243は、署名秘密鍵を用いて、交換公開鍵に対する署名を生成する。
The
クライアント(B)の鍵共有部243は、交換データを生成し、交換データをサーバ装置300へ送信する。
交換データは、他のクライアント装置200と鍵交換を行うためのデータである。交換データは、交換公開鍵と署名とCL証明書を含む。
The
Exchange data is data for exchanging keys with
クライアント(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に格納する。
ステップS413において、参加管理部341は、ウェブ会議に参加中の全てのクライアント装置に認証要求を送信する。
クライアント(A)の鍵共有部243は、認証要求を受信する。
認証要求は、ウェブ会議への新たな参加を知らせるためのデータである。
In step S413, the
The
The authentication request is data for notifying new participation in the web conference.
クライアント(A)の鍵共有部243は、子クライアントと鍵共有を行っているか判定する。このとき、クライアント(A)は、子クライアントと鍵共有を行っていない。
この場合、クライアント(A)の鍵共有部243は、交換鍵ペアを生成する。
また、鍵共有部243は、署名秘密鍵を用いて、交換公開鍵に対する署名を生成する。
そして、鍵共有部243は、交換データを生成し、交換データをサーバ装置300へ送信する。
The
In this case, the
The
Then,
クライアント(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に格納する。
ステップS414において、参加管理部341は、交換データ(A)をクライアント(B)へ送信し、交換データ(B)をクライアント(A)へ送信する。
クライアント(B)の鍵共有部243は、交換データ(A)を受信する。
クライアント(A)の鍵共有部243は、交換データ(B)を受信する。
In step S414, the
The
The
ステップS415において、クライアント(B)の鍵共有部243は、交換データ(A)を検証する。
具体的には、鍵共有部243は、CA証明書の中のCA公開鍵を用いて、CL証明書(A)の中の署名を検証する。
CL証明書(A)の中の署名が正しい場合、鍵共有部243は、CL証明書(A)の中の署名公開鍵を用いて、署名(A)を検証する。
署名(A)が正しい場合、交換データ(A)は正しい。そして、クライアント(A)が認証される。
In step S415, the
Specifically, the
If the signature in CL certificate (A) is correct,
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
Then,
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
Specifically, the
If the signature in CL certificate (B) is correct,
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
Then,
交換データ(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
In other words, the communication
ステップS422において、クライアント(A)の通信鍵更新部244は、共有鍵(AB)を用いて更新済みの保管中の通信鍵を暗号化する。これにより、暗号化通信鍵が得られる。
In step S422, the communication
クライアント(A)の通信鍵更新部244は、暗号化通信鍵をサーバ装置300へ送信する。
参加管理部341は、暗号化通信鍵を受信し、暗号化通信鍵を記憶部390に格納する。
Communication
ステップS423において、クライアント(B)の通信鍵取得部245は、通信鍵要求をサーバ装置300へ送信する。
参加管理部341は、通信鍵要求を受信する。
通信鍵要求は、通信鍵を要求するためのデータである。
In step S<b>423 , communication
The
A communication key request is data for requesting a communication key.
参加管理部341は、暗号化通信鍵をクライアント(B)へ送信する。
クライアント(B)の通信鍵取得部245は、暗号化通信鍵を受信する。
The
The communication
ステップS424において、クライアント(B)の通信鍵取得部245は、共有鍵(AB)を用いて暗号化通信鍵から通信鍵を復号する。
In step S424, the communication
クライアント(B)の通信鍵取得部245は、通信鍵を記憶部290に格納する。これにより、クライアント(B)において、クライアント(A)に保管中の通信鍵と同じ通信鍵が保管される。
Communication
ステップS425において、クライアント(A)の参加通知部246は、クライアント(A)に対する親クライアントが存在するか判定する。このとき、クライアント(A)に対する親クライアントは存在しない。
この場合、処理は終了する。
In step S425, the
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
In this case, the process proceeds to step S432.
ステップS432において、クライアント(B)の参加通知部246は、参加通知を生成する。
参加通知は、ウェブ会議への新たな参加を親クライアントに知らせるためのデータである。
さらに、参加通知部246は、共有鍵(AB)を用いてメッセージ認証符号(MAC)を生成する。
そして、参加通知部246は、MACを含んだ参加通知をサーバ装置300へ送信する。
参加管理部341は、参加通知を受信する。
In step S432, the
A participation notification is data for notifying the parent client of new participation in the web conference.
Furthermore, the
The
The
参加通知を識別するための情報(タイムスタンプまたはシーケンス番号など)が参加通知に含まれてもよい。この情報は、参加通知の再送の防止のために使用することができる。 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
The communication
ステップS434において、クライアント(A)の通信鍵更新部244は、共有鍵(AB)を用いて、参加通知に含まれるMACを検証する。
In step S434, the communication
MACが正しい場合、通信鍵更新部244は、保管中の通信鍵をハッシュ化して更新する。
これにより、クライアント(A)において、クライアント(B)に保管中の通信鍵と同じ通信鍵が保管される。
If the MAC is correct, the communication
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
ステップS435において、クライアント(A)の参加通知部246は、クライアント(A)に対する親クライアントが存在するか判定する。
クライアント(A)に対する親クライアントは存在しないため、処理は終了する。
In step S435, the
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
参加処理の特徴を説明する。
ウェブ会議に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
When participating in the web conference for the second time or later, the
When participating in a web conference and not sharing a key with a child client, the
Upon receiving a participation notification from a child client, the
複数のクライアント装置200のそれぞれは、ウェブ会議に参加するときに、参加要求クライアントになる。そして、各クライアント装置200は、識別コードを示す参加要求をサーバ装置300へ送信する。
ウェブ会議に1番目に参加する参加要求クライアントの参加要求を受信した場合、サーバ装置300は、受信した参加要求に示される識別コードをウェブ会議のメンバーリストと照合する。サーバ装置300は、照合結果に基づいて参加要求クライアントの参加可否を判定する。そして、サーバ装置300は、判定結果を示す参加応答を参加要求クライアントへ送信する。
ウェブ会議に2番目以降に参加する参加要求クライアントの参加要求を受信した場合、サーバ装置300は、参加要求クライアントのための認証要求をウェブ会議に参加中の全てのクライアント装置200へ送信する。
ウェブ会議に参加中の各クライアント装置200は、次のように動作する。認証要求を受信したときに子クライアントとの鍵共有を行っていない場合、クライアント装置200は、参加要求クライアントから送信される署名付き交換鍵を受信し、署名付き交換鍵の署名を検証する。そして、署名付き交換鍵の交換鍵が正しい場合に、クライアント装置200は、参加要求クライアントを子クライアントにして交換鍵を用いて鍵共有を行う。
Each of the plurality of
When receiving a participation request from a participation request client who participates in the web conference first,
When receiving the participation request of the second and subsequent participation requesting clients in the web conference, the
Each
図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 (B)” represents the
“Client (C)” represents the
“Client (D)” represents the
The “notifier” of the client represents the
The client's “shared portion” represents the
The “generator” of the client represents the new
The “Transmitter” of the client represents the new
The “storage” of the client represents
The “management section” of the server represents the
The “storage” of the server represents the
ステップS501において、クライアント(B)の離脱通知部251は、離脱通知をサーバ装置300へ送信する。
離脱管理部351は、離脱通知を受信する。
離脱通知は、ウェブ会議から離脱するためのデータである。離脱通知は、離脱クライアントの識別コードを含む。
離脱クライアントは、ウェブ会議から離脱したクライアント装置200である。
In step S<b>501 , the client (B)'s
The leaving
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
離脱管理部351は、ウェブ会議に参加中の全てのクライアント装置200へ離脱通知を送信する。
参加中の各クライアント装置200において、再共有部252は、離脱通知を受信する。
The
In each participating
参加中の各クライアント装置200において、再共有部252は、離脱通知に含まれる識別コードを参照する。
そして、再共有部252は、クライアント装置200が離脱クライアントに対する親クライアントまたは離脱クライアントに対する子クライアントであるか判定する。
In each participating
Then, the
クライアント(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
Also, the
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
ステップS503において、クライアント(A)の再共有部252は、交換データ(C’)を検証し、鍵共有によって共有鍵(AC)を生成し、共有鍵(AC)を保管する。
また、クライアント(C)の再共有部252は、交換データ(A’)を検証し、鍵共有によって共有鍵(AC)を生成し、共有鍵(AC)を保管する。
検証および鍵共有の方法は、参加処理での方法と同じである(図18を参照)。
In step S503, the
Also, the
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
The new
ステップS512において、クライアント(A)の新鍵伝送部254は、共有鍵(AC)を用いて新たな通信鍵を暗号化する。これにより、暗号化通信鍵が得られる。
In step S512, the new
新鍵伝送部254は、暗号化通信鍵をサーバ装置300へ送信する。
離脱管理部351は、暗号化通信鍵を受信し、暗号化通信鍵を記憶部390に格納する。
New
The
離脱管理部351は、暗号化通信鍵をクライアント(C)へ送信する。
クライアント(C)の新鍵伝送部254は、暗号化通信鍵を受信する。
The
The new
ステップS513において、クライアント(C)の新鍵伝送部254は、共有鍵(AC)を用いて暗号化通信鍵から新たな通信鍵を復号する。
新鍵伝送部254は、保管中の通信鍵を新たな通信鍵で更新する。これにより、クライアント(C)において、新たな通信鍵が保管される。
In step S513, the new
The new
ステップS514において、クライアント(C)の新鍵伝送部254は、クライアント(C)に対する子クライアントが存在するか判定する。クライアント(D)がクライアント(C)に対する子クライアントである。
この場合、クライアント(C)の新鍵伝送部254は、共有鍵(CD)を用いて新たな通信鍵を暗号化し、暗号化通信鍵をサーバ装置300へ送信する。
離脱管理部351は、暗号化通信鍵を受信し、暗号化通信鍵をクライアント(D)へ送信する。
クライアント(D)の新鍵伝送部254は、暗号化通信鍵を受信する。
In step S514, the new
In this case, new
The
New
ステップS515において、クライアント(D)の新鍵伝送部254は、共有鍵(CD)を用いて暗号化通信鍵から新たな通信鍵を復号し、保管中の通信鍵を新たな通信鍵で更新する。これにより、クライアント(D)において、新たな通信鍵が保管される。
In step S515, the new
クライアント(D)の新鍵伝送部254は、クライアント(D)に対する子クライアントが存在するか判定する。クライアント(D)に対する子クライアントは存在しない。
この場合、処理は終了する。
The new
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
離脱処理の特徴を説明する。
ウェブ会議から離脱したときに、クライアント装置200は、親クライアントと子クライアントのそれぞれに対して離脱通知を送信する。
親クライアントの離脱通知を受信した場合、クライアント装置200は、新たな親クライアントと鍵共有を行う。親クライアントに対する親クライアントが新たな親クライアントになる。クライアント装置200は、新たな親クライアントからの暗号化通信鍵を受信し、新たな親クライアントとの共有鍵を用いて暗号化通信鍵から新たな通信鍵を復号する。そして、クライアント装置200は、保管中の通信鍵の代わりに新たな通信鍵を保管する。さらに、クライアント装置200は、新たな通信鍵を子クライアントとの共有鍵を用いて暗号化し、子クライアントに対して暗号化通信鍵を送信する。
親クライアントからの暗号化通信鍵を受信した場合、クライアント装置200は、親クライアントとの共有鍵を用いて暗号化通信鍵から新たな通信鍵を復号し、保管中の通信鍵の代わりに新たな通信鍵を保管する。
子クライアントの離脱通知を受信した場合、クライアント装置200は、新たな子クライアントと鍵共有を行う。子クライアントに対する子クライアントが新たな子クライアントになる。また、クライアント装置200は、新たな通信鍵を生成して保管中の通信鍵の代わりに保管する。そして、クライアント装置200は、新たな通信鍵を新たな子クライアントとの共有鍵を用いて暗号化し、新たな子クライアントに対して暗号化通信鍵を送信する。
Features of the leaving process will be described.
When leaving the web conference, the
Upon receiving the parent client's withdrawal notification, the
When receiving the encrypted communication key from the parent client, the
Upon receiving the child client's withdrawal notification, the
複数のクライアント装置200のそれぞれは、親クライアントと子クライアントのいずれかがウェブ会議から離脱しない限り他のクライアント装置と鍵共有を行わない。
Each of the plurality of
図23に基づいて、通信処理を説明する。
通信処理は、ウェブ会議に参加中のクライアント装置200がメッセージを通信する処理である。
Communication processing will be described based on FIG.
The communication process is a process in which the
クライアントの「送信部」は、メッセージ送信部261を表す。
クライアントの「受信部」は、メッセージ受信部262を表す。
クライアントの「記憶部」は、記憶部290を表す。
サーバの「記憶部」は、記憶部390を表す。
The “sender” of the client represents the
The “receiver” of the client represents the
The “storage” of the client represents
The “storage” of the server represents the
ステップS601において、クライアント(A)の利用者は、メッセージをクライアント(A)に入力する。
メッセージ送信部261は、メッセージを受け付ける。メッセージの形態は、例えば、文字列、音声または映像である。
In step S601, the user of client (A) inputs a message to client (A).
メッセージ送信部261は、メッセージをエンコードする。つまり、メッセージ送信部261は、メッセージを規定のフォーマットのデータに変換する。これにより、エンコードメッセージが得られる。
The
メッセージ送信部261は、通信鍵を用いてエンコードメッセージを暗号化する。これにより、暗号化メッセージが得られる。
The
メッセージ送信部261は、暗号化メッセージをサーバ装置300へ送信する。
通信管理部361は、暗号化メッセージを受信し、記憶部390に格納する。
通信管理部361は、暗号化メッセージをウェブ会議に参加中の各クライアント装置200へ送信する。
クライアント(B)のメッセージ受信部262は、暗号化メッセージを受信する。
The
The
ステップS603において、クライアント(B)のメッセージ受信部262は、保管中の通信鍵を用いて、暗号化メッセージからエンコードメッセージを復号する。
In step S603, the
メッセージ受信部262は、エンコードメッセージからメッセージをデコードする。
メッセージ受信部262は、メッセージを出力する。例えば、メッセージ受信部262は、メッセージをディスプレイに表示する。
The
***実施の形態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人のメンバーに対してnC2回の鍵共有が必要であった。
実施の形態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
The
The client program also causes the computer to function as the
図25に基づいて、検知部270の構成を説明する。
検知部270は、確認要求部271と、確認応答部272と、代理通知部273と、を備える。
The configuration of the
The
図26に基づいて、サーバ装置300の構成を説明する。
サーバ装置300は、さらに、検知管理部371を備える。検知管理部371は、ソフトウェアで実現される。
サーバプログラムは、さらに、検知管理部371としてコンピュータを機能させる。
Based on FIG. 26, the configuration of the
The
The server program further causes the computer to function as the
***動作の説明***
ウェブ会議方法は、検知処理を含む。
検知処理は、離脱通知を出さずにウェブ会議から離脱したクライアント装置200を検知する処理である。
***Description of operation***
A web conferencing method includes a sensing process.
The detection process is a process of detecting a
図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
The client's “response part” represents the
The “storage” of the client represents
The “management section” of the server represents the
The “storage” of the server represents the
ステップS701において、参加中の各クライアント装置200の確認要求部271は、確認タイミングであるか判定する。
確認タイミングは、離脱確認のための既定のタイミングである。例えば、参加通知の送信以後に一定周期で訪れる各時刻が確認タイミングとなる。
In step S701, the
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
The
The withdrawal confirmation request is data for confirming the
検知管理部371は、参加中のクライアント装置200として管理されている全てのクライアント装置200へ離脱確認要求を送信する。
クライアント(B)の確認応答部272は、離脱確認要求を受信する。
クライアント(C)の確認応答部272は、離脱確認要求を受信する。
The
The
The
ステップS702において、クライアント(B)の確認応答部272は、署名秘密鍵を用いて、確認メッセージに対する署名を生成する。
確認応答部272は、離脱確認応答を生成し、離脱確認応答をサーバ装置300へ送信する。
検知管理部371は、離脱確認応答を受信する。
離脱確認応答は、離脱確認要求に対する応答である。離脱確認応答は、確認メッセージに対する署名とCL証明書と識別コードを含む。
In step S702, the
The
The
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
The
ステップS703において、検知管理部371は、管理データを生成する。
管理データは、各離脱確認応答と、参加クライアントリストと、を含む。
参加クライアントリストは、参加中のクライアント装置200として管理されているクライアント装置200の識別コードのリストである。
In step S703, the
The management data includes each leaving acknowledgment and a joining client list.
The participating client list is a list of identification codes of
検知管理部371は、管理データをクライアント(A)へ送信する。
クライアント(A)の代理通知部273は、管理データを受信する。
The
The
ステップS704において、クライアント(A)の代理通知部273は、管理データに含まれる各離脱確認応答を検証する。
具体的には、代理通知部273は、CA証明書の中のCA公開鍵を用いて、CL証明書の中の署名を検証する。
CL証明書の中の署名が正しい場合、代理通知部273は、CL証明書の中の署名公開鍵を用いて、確認メッセージに対する署名を検証する。
確認メッセージに対する署名が正しい場合、離脱確認応答は正しい。
In step S704, the
Specifically,
If the signature in the CL certificate is correct,
If the signature on the confirmation message is correct, then the leave acknowledgment is correct.
代理通知部273は、いずれの正しい離脱確認応答の中の識別コードとも一致しない識別コードを参加クライアントリストから抽出する。
抽出される識別コードで識別されるクライアント装置200を離脱済みクライアントと称する。
離脱済みクライアントは、離脱通知を送信せずにウェブ会議から離脱したクライアント装置200である。
The
The
A withdrawn client is a
離脱済みクライアントが存在する場合、クライアント(A)の代理通知部273は、離脱済みクライアントの代わりに離脱通知を送信する。
離脱通知に対する処理(離脱処理)は、実施の形態1で説明した通りである。
If there is a withdrawn client, the
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
Each
***実施の形態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 ***
各実施の形態は、好ましい形態の例示であり、本開示の技術的範囲を制限することを意図するものではない。各実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。 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
The "units" that are elements of the
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.
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) |
-
2021
- 2021-12-02 JP JP2021196392A patent/JP2023082548A/en active Pending
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 |