(57)【要約】【課題】電子会議室での会話内容を容易かつ確実に保護する。【解決手段】チャットシステムなどと共に用いる。コマンド解釈部３は、所定のタイミングで参加中のチャネル名CHi、時刻Ti及び秘密鍵Siを特定し、共通鍵生成部５に通知して共通鍵CSiの生成を指示する。共通鍵生成部５は、CHi、Ti及びSiから共通鍵を生成し、共通鍵記憶部６に蓄積する。共通鍵生成部５は、生成した各共通鍵と、生成タイミングを示すタイミング情報とを関連づけて蓄積する。暗号化／復号化部７は、入力される会話データを最新の共通鍵を用いて暗号化し、共通鍵のタイミング情報とともに通信装置に送出する。さらに、通信装置を介して他の利用者端末から会話データを受け取り、共通鍵で復号化する。復号化に用いる共通鍵は、会話データと共に送信されたタイミング情報に基づいて共通鍵記憶部６から取得する。【選択図】図２
2006174519.tif 000002
【特許請求の範囲】
【請求項１】
複数の利用者端末が互いに同一の電子会議室を共有して通信を行う通信システムに接続される利用者端末が実行するセキュリティ方法であって、
予め秘密鍵を生成する時間間隔を設定しておき、設定された時間間隔が経過する度にその時点の時刻情報を前記利用者端末から取得し、取得した時刻情報に基づいて秘密鍵を生成する秘密鍵生成ステップと、
時刻情報と、その時刻情報に基づいて前記秘密鍵生成ステップで生成された秘密鍵と、を対応付けて蓄積する秘密鍵記憶ステップと、
前記電子会議室における変化を検知した際に、その変化を検知した時刻に基づいて、前記秘密鍵記憶ステップで蓄積されている秘密鍵のうちの１つを特定し、特定した秘密鍵に基づいて公開鍵を生成する公開鍵生成ステップと、
前記公開鍵生成ステップで生成された公開鍵と、この公開鍵を特定するための公開鍵識別情報と、を対応付けて蓄積する公開鍵記憶ステップと、
会話データを送信する際に、前記公開鍵記憶ステップで蓄積された公開鍵のうち、最新に蓄積された公開鍵と公開鍵識別情報とを用いて前記会話データを暗号化し、暗号化した会話データと共に前記公開鍵識別情報を送信する暗号化処理ステップと、
会話データと共に公開鍵識別情報を受信した際に、受信した公開鍵識別情報に基づいて前記公開鍵記憶ステップで蓄積された公開鍵のうちの１つを特定し、特定した公開鍵にて受信した会話データを復号化する復号化処理ステップと、
を含むセキュリティ方法。
【請求項２】
複数の利用者端末が互いに同一の電子会議室を共有して通信を行う通信システムに接続される利用者端末に搭載されるセキュリティ装置であって、
予め秘密鍵を生成する時間間隔を設定しておき、設定された時間間隔が経過する度にその時点の時刻情報を前記利用者端末から取得し、取得した時刻情報に基づいて秘密鍵を生成する秘密鍵生成部と、
時刻情報と、その時刻情報に基づいて前記秘密鍵生成部が生成した秘密鍵と、を対応付けて蓄積する秘密鍵記憶部と、
前記電子会議室における変化を検知した際に、その変化を検知した時刻に基づいて、前記秘密鍵記憶部に蓄積されている秘密鍵のうちの１つを特定し、特定した秘密鍵に基づいて公開鍵を生成する公開鍵生成部と、
前記公開鍵生成部が生成した公開鍵と、この公開鍵を特定するための公開鍵識別情報と、を対応付けて蓄積する公開鍵記憶部と、
会話データを送信する際に、前記公開鍵記憶部に蓄積された公開鍵のうち、最新に蓄積された公開鍵と公開鍵識別情報とを前記公開鍵記憶部から読み出して前記会話データを暗号化し、暗号化した会話データと共に前記公開鍵識別情報を送信する暗号化処理部と、
会話データと共に公開鍵識別情報を受信した際に、受信した公開鍵識別情報に基づいて前記公開鍵記憶部に蓄積された公開鍵のうちの１つを特定し、特定した公開鍵にて受信した会話データを復号化する復号化処理部と、
を備えるセキュリティ装置。
【請求項３】
複数の利用者端末が互いに同一の電子会議室を共有して通信を行う通信システムに接続される利用者端末が実行するセキュリティプログラムを記録した、コンピュータ読み取り可能な記録媒体であって、
予め秘密鍵を生成する時間間隔を設定しておき、設定された時間間隔が経過する度にその時点の時刻情報を前記利用者端末から取得し、取得した時刻情報に基づいて秘密鍵を生成する秘密鍵生成ステップと、
時刻情報と、その時刻情報に基づいて前記秘密鍵生成ステップで生成された秘密鍵と、を対応付けて蓄積する秘密鍵記憶ステップと、
前記電子会議室における変化を検知した際に、その変化を検知した時刻に基づいて、前記秘密鍵記憶ステップで蓄積されている秘密鍵のうちの１つを特定し、特定した秘密鍵に基づいて公開鍵を生成する公開鍵生成ステップと、
前記公開鍵生成ステップで生成された公開鍵と、この公開鍵を特定するための公開鍵識別情報と、を対応付けて蓄積する公開鍵記憶ステップと、
会話データを送信する際に、前記公開鍵記憶ステップで蓄積された公開鍵のうち、最新に蓄積された公開鍵と公開鍵識別情報とを用いて前記会話データを暗号化し、暗号化した会話データと共に前記公開鍵識別情報を送信する暗号化処理ステップと、
会話データと共に公開鍵識別情報を受信した際に、受信した公開鍵識別情報に基づいて前記公開鍵記憶ステップで蓄積された公開鍵のうちの１つを特定し、特定した公開鍵にて受信した会話データを復号化する復号化処理ステップと、
を実行するためのセキュリティプログラムを記録した、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子会議室での会話のセキュリティを高める技術に関する。さらに詳しくは、チャットシステムや電子メールのメーリングリストなど、複数の利用者が同一の電子会議室を共有して通信する場合に、通信内容のセキュリティを高める技術に関する。
ここで、チャットシステムとは、複数の利用者端末が同一空間、すなわちチャネルを共有して同時に会話可能なシステムである。メーリングリストとは、複数の利用者が登録されたリストのアドレスに電子メールを送信することにより、同一内容を複数の利用者に配信可能するシステムである。
【背景技術】
【０００２】
近年、パソコン通信やインターネットの普及により、ネットワーク上での複数の利用者間のコミュニケーションが活発になってきている。なかでも、従来からある電子掲示板やメーリングリストのような非同期のコミュニケーションだけでなく、リアルタイムなコミュニケーション、すなわち会話ができるチャットシステムの利用が増えている。このようなコミュニケーションシステムでは、複数の利用者が互いに同一の仮想空間を共有し、この仮想空間、すなわちチャネルを会議室としてその中に入室している利用者に会話の閲覧、発言を限定するのが一般的である。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
コミュニケーションサーバ上に論理的に開催される電子会議室として、前記のメーリングリストやチャットシステムのチャネルなどがある。これらは、電子会議室に入室している複数の利用者の間でのみ、会話文の送受信を限定しており、電子会議室で発言される会話内容を会議室外の利用者には秘密にしたい。電子メール等のように１対１通信の場合には、公開鍵暗号方式を使った暗号化通信を行うことが出来る。しかし、複数の利用者が参加する電子会議室において、そこで交される会話を公開鍵暗号方式で暗号化／復号化するためには、一人一人に別々の公開鍵で暗号化しデータを配信する必要がある。従って、各利用者端末にデータを配信するサーバに、大きな負担がかかってしまう。
【０００４】
サーバへの負担を避けるためには、何らかの手段でクライアント間で暗号鍵（共通鍵）を共有しておく必要がある。この共有鍵をある任意のサーバが管理してクライアントに配布すると、共有鍵を暗号化してから配布しなければならず処理が複雑になってしまう。しかし、単純に、利用者端末に固定の秘密鍵を内蔵しておき、それを共有鍵として利用する方式では、鍵が容易に解読されてしまう危険がある。
【０００５】
本発明は、複数の利用者が同時に電子会議室を共有し、コミュニケーションを行う電子会議室システムにおいて、通信路上で暗号鍵を配布する手間を省き、かつ鍵の解読を困難にし、電子会議室の利用者間で送受信されるデータの暗号化／復号化を効率的かつ安全に行宇ことを目的とする。
【課題を解決するための手段】
【０００６】
前記課題を解決するために、本発明１は、複数の利用者端末が互いに同一の電子会議室を共有して通信を行う通信システムに接続される利用者端末が実行するセキュリティ方法を提供する。この方法は以下のステップを含んでいる。
・予め秘密鍵を生成する時間間隔を設定しておき、設定された時間間隔が経過する度にその時点の時刻情報を前記利用者端末から取得し、取得した時刻情報に基づいて秘密鍵を生成する秘密鍵生成ステップ、
・時刻情報と、その時刻情報に基づいて前記秘密鍵生成ステップで生成された秘密鍵と、を対応付けて蓄積する秘密鍵記憶ステップ、
・前記電子会議室における変化を検知した際に、その変化を検知した時刻に基づいて、前記秘密鍵記憶ステップで蓄積されている秘密鍵のうちの１つを特定し、特定した秘密鍵に基づいて公開鍵を生成する公開鍵生成ステップ、
・前記公開鍵生成ステップで生成された公開鍵と、この公開鍵を特定するための公開鍵識別情報と、を対応付けて蓄積する公開鍵記憶ステップ、
・会話データを送信する際に、前記公開鍵記憶ステップで蓄積された公開鍵のうち、最新に蓄積された公開鍵と公開鍵識別情報とを用いて前記会話データを暗号化し、暗号化した会話データと共に前記公開鍵識別情報を送信する暗号化処理ステップ、
・会話データと共に公開鍵識別情報を受信した際に、受信した公開鍵識別情報に基づいて前記公開鍵記憶ステップで蓄積された公開鍵のうちの１つを特定し、特定した公開鍵にて受信した会話データを復号化する復号化処理ステップ。
【０００７】
この方法において、電子会議室における変化とは、電子会議室に参加するためのパスワードの変化、電子会議室を共有する利用者の変化、共通鍵の変更の指示、利用者端末における発言、ファイルの転送の指示などが生じた場合を言う。チャットシステムに本発明を適用する場合を例に取れば、チャネルに参加しているユーザを変更するコマンド“JOIN”や“PART”をチャットクライアントから取得すると、公開鍵が生成される。例えば、ユーザがチャネルから脱退したタイミングで公開鍵を生成し、この公開鍵を用いて会話データを暗号化することにより、脱退したユーザは不正に会話内容を盗聴できなくなる。
【０００８】
本発明２は、複数の利用者端末が互いに同一の電子会議室を共有して通信を行う通信システムに接続される利用者端末に搭載されるセキュリティ装置を提供する。この装置は以下の構成要件を備えている。
・予め秘密鍵を生成する時間間隔を設定しておき、設定された時間間隔が経過する度にその時点の時刻情報を前記利用者端末から取得し、取得した時刻情報に基づいて秘密鍵を生成する秘密鍵生成部、
・時刻情報と、その時刻情報に基づいて前記秘密鍵生成部が生成した秘密鍵と、を対応付けて蓄積する秘密鍵記憶部、
・前記電子会議室における変化を検知した際に、その変化を検知した時刻に基づいて、前記秘密鍵記憶部に蓄積されている秘密鍵のうちの１つを特定し、特定した秘密鍵に基づいて公開鍵を生成する公開鍵生成部、
・前記公開鍵生成部が生成した公開鍵と、この公開鍵を特定するための公開鍵識別情報と、を対応付けて蓄積する公開鍵記憶部、
・会話データを送信する際に、前記公開鍵記憶部に蓄積された公開鍵のうち、最新に蓄積された公開鍵と公開鍵識別情報とを前記公開鍵記憶部から読み出して前記会話データを暗号化し、暗号化した会話データと共に前記公開鍵識別情報を送信する暗号化処理部、
・会話データと共に公開鍵識別情報を受信した際に、受信した公開鍵識別情報に基づいて前記公開鍵記憶部に蓄積された公開鍵のうちの１つを特定し、特定した公開鍵にて受信した会話データを復号化する復号化処理部。
【０００９】
前記本発明１と同様の作用効果を奏する。
本発明３は、複数の利用者端末が互いに同一の電子会議室を共有して通信を行う通信システムに接続される利用者端末が実行するセキュリティプログラムを記録した、コンピュータ読み取り可能な記録媒体を提供する。この記録媒体に記録されたセキュリティプログラムは、下記ステップを実行する。
・予め秘密鍵を生成する時間間隔を設定しておき、設定された時間間隔が経過する度にその時点の時刻情報を前記利用者端末から取得し、取得した時刻情報に基づいて秘密鍵を生成する秘密鍵生成ステップ、
・時刻情報と、その時刻情報に基づいて前記秘密鍵生成ステップで生成された秘密鍵と、を対応付けて蓄積する秘密鍵記憶ステップ、
・前記電子会議室における変化を検知した際に、その変化を検知した時刻に基づいて、前記秘密鍵記憶ステップで蓄積されている秘密鍵のうちの１つを特定し、特定した秘密鍵に基づいて公開鍵を生成する公開鍵生成ステップ、
・前記公開鍵生成ステップで生成された公開鍵と、この公開鍵を特定するための公開鍵識別情報と、を対応付けて蓄積する公開鍵記憶ステップ、
・会話データを送信する際に、前記公開鍵記憶ステップで蓄積された公開鍵のうち、最新に蓄積された公開鍵と公開鍵識別情報とを用いて前記会話データを暗号化し、暗号化した会話データと共に前記公開鍵識別情報を送信する暗号化処理ステップ、
・会話データと共に公開鍵識別情報を受信した際に、受信した公開鍵識別情報に基づいて前記公開鍵記憶ステップで蓄積された公開鍵のうちの１つを特定し、特定した公開鍵にて受信した会話データを復号化する復号化処理ステップ。
【００１０】
前記本発明１と同様の作用効果を奏する。
本発明１〜３に加え、本発明の別の態様として、複数の利用者端末が互いに同一の電子会議室を共有して通信を行う通信システムに用いられるセキュリティ方法も考えられる。この方法は下記の段階を含むことができる。
Ａ；それぞれの利用者端末に共通のタイミングで、互いに共有して通信を行っている電子会議室を特定する電子会議室名、前記タイミングが生じた時刻及び秘密鍵に基づく共通鍵を各利用者端末で生成し、
Ｂ；前記生成した共通鍵と、共通鍵が生成されたタイミングを示すタイミング情報とを関連づけて各利用者端末で蓄積し、
Ｃ；前記生成した共通鍵のいずれかを用いて暗号化された通信内容を、暗号化に用いた共通鍵のタイミング情報と共に前記通信システムに送出し、
Ｄ；他の利用者端末から送信される暗号化された通信内容及び前記タイミング情報を前記通信システムから取得し、前記タイミング情報に基づいて前記いずれかの共通鍵を特定し、通信内容を復号化する。
【００１１】
共通のタイミングとは、例えば日付が変わるとき、１時間間隔で毎時０分などである。電子会議室に参加している各利用者端末において、共通のタイミングで共通鍵を生成するためである。電子会議室名とは、電子会議室を特定する識別情報であり、例えばチャットシステムであればチャネル名、メーリングリストであればアドレスである。
各利用者端末で共通のタイミングで共通鍵を生成し、生成タイミングと共通鍵とを対応させて蓄積しておく。通信内容を暗号化した場合、暗号化のために用いた共通鍵の生成タイミングを暗号化したデータと共に送信する。受信側は、共通鍵の生成タイミングから、どの共通鍵で復号化すべきかが分かる。各利用者端末間で時差がある場合でも、暗号化と復号化とに用いる共通鍵を一致させることが出来る。
【００１２】
本発明の別の態様は、複数の利用者端末が互いに同一の電子会議室を共有して通信を行う通信装置に用いられるセキュリティ装置であって、蓄積手段と、指示手段と、生成手段と、暗号化手段と、復号化手段とを備えるセキュリティ装置を提供することができる。蓄積手段は、少なくとも１つの秘密鍵を蓄積する。指示手段は、前記複数の利用者端末に共通のタイミングで、前記通信装置が共有中の電子会議室名、時刻及び前記秘密鍵を特定し、共通鍵の生成を指示する。生成手段は、前記特定された電子会議室名、時刻及び秘密鍵に基づいて共通鍵を生成し、生成した共通鍵と前記共通のタイミングを示すタイミング情報とを関連づけて前記蓄積手段に格納する。
【００１３】
暗号化手段は、前記通信装置から送信対象の通信内容を取得し、前記通信内容を前記最新の共通鍵を用いて暗号化し、用いた共通鍵の前記タイミング情報と暗号化した通信内容とを含む通信メッセージを前記通信装置に送出する。復号化手段は、前記他の利用者端末から送信された前記通信メッセージを前記通信装置から取得し、取得した通信メッセージから前記タイミング情報を抽出し、前記タイミング情報に基づいて前記蓄積手段から共通鍵を特定し、前記暗号化された通信内容を復号化する。
【００１４】
前記の指示手段は、所定のタイミングで、参加中の電子会議室名ＣＨｉ、時刻Ｔｉ及び秘密鍵Ｓｉを特定し、生成手段に通知して共通鍵ＣＳｉの生成を指示する。生成手段は、電子会議室名ＣＨｉ、時刻Ｔｉ及び秘密鍵Ｓｉに基づいて共通鍵を生成し、蓄積手段に蓄積する。さらに、生成手段は、次々に生じる変化に応じて生成される各共通鍵と、生成タイミングを示すタイミング情報とを関連づけて蓄積する。
【００１５】
暗号化手段は、利用者端末において入力される会話内容を最新の共通鍵を用いて暗号化し、共通鍵のタイミング情報と暗号化された会話データとを含む通信メッセージを、通信装置を介して送出する。復号化手段は、通信装置を介して他の利用者端末から通信メッセージを受け取り、会話データを共通鍵で復号化する。復号化に用いる共通鍵は、通信メッセージに含まれているタイミング情報に基づいて蓄積手段から取得する。
【００１６】
例えば、毎時０分で共通鍵が生成される場合を考える。利用者端末Ａにおいてそれぞれ11:59に発言された会話データは、利用者端末Ａで11:00に生成された共通鍵ＣＳ11aで暗号化される。復号化手段は、暗号化された会話データ及び暗号化に用いた共通鍵の生成時刻を示すタイミング情報を通信メッセージに記載し、通信装置に送出する。この通信メッセージを受け取る利用者端末Ｂにおいては、時刻がすでに12:01だとすると、利用者端末Ｂにおける最新の共通鍵は12:00に生成された共通鍵ＣＳ12bになる。しかし、利用者端末Ｂの復号化手段は、通信メッセージに含まれるタイミング情報から、暗号化に用いられた共通鍵は11:00に生成されたことが分かる。そこで、復号化手段は、１つ前の共通鍵ＣＳ11bを蓄積手段から取得し、会話データを復号化する。各利用者端末において共通のタイミングで共通鍵を生成することにより、通信路上で暗号鍵を配布することが不要となる。しかも、時間変化により共有鍵を更新することにより、共通鍵の解読を困難にする。共通鍵が生成されるタイミングを共通鍵と共に記憶することにより、利用者端末間における時差から生じる共通鍵のずれを防止できる。
【００１７】
前記別態様のセキュリティ装置において、前記指示手段が、前記電子会議室における変化を検出して前記共通のタイミングとし、前記電子会議室名、変化が生じた時刻及び前記秘密鍵を特定して前記生成手段に通知し、共通鍵の生成を指示してもよい。
電子会議室における変化とは、電子会議室に参加するためのパスワードの変化、電子会議室を共有する利用者の変化、共通鍵の変更の指示、利用者端末における発言、ファイルの転送の指示などが生じた場合を言う。
【００１８】
前記別態様のセキュリティ装置において、前記蓄積手段には、複数の秘密鍵が時間と関連づけられて蓄積されており、前記指示手段は、前記共通のタイミングが生じた時刻に基づいていずれかの秘密鍵を特定してもよい。
例えば、指示手段が毎時０分に共通鍵ＣＳｉ（ｉ＝00〜23）の生成を指示する場合に、毎時間毎の秘密鍵Ｓｊ（j＝00〜23）を２４個準備しておく。指示手段は、共通鍵ＣＳｉの生成には、秘密鍵Ｓｊ（ｉ＝ｊ）を用いる。また、電子会議室における変化が例えば13:46に生じた場合、指示手段は秘密鍵Ｓｊ（ｊ＝13）を蓄積手段から取得する。
【００１９】
前記別態様のセキュリティ装置において、前記蓄積手段は、前記秘密鍵に代えて秘密鍵生成手段を蓄積していてもよい。
秘密鍵生成手段とは、具体的には秘密鍵生成プログラムである。秘密鍵そのものを内蔵することをさけ、秘密鍵を解読されにくく、ひいては共通鍵を解読されにくくする。
前記別態様のセキュリティ装置において、前記共通のタイミングを示すタイミング情報として、前記共通のタイミングが生じた時刻を用いてもよい。
【００２０】
通常、利用者端末内には時計が内蔵されているので、共通のタイミングが生じた時刻を内部時計から取得し、その時刻を共通鍵と関連づけて蓄積する。利用者端末間で内部時計に時差がある場合でも、互いの共通鍵の対応付けが容易になる。
前記別態様のセキュリティ装置において、前記暗号化手段が、利用者による暗号化の指示を受け付け、前記指示に基づいて前記通信内容の暗号化を行うこともできる。
【００２１】
例えば、暗号化手段は、暗号化のオン／オフを指定するためのコマンドボタンを画面上に表示し、コマンドボタンに従って暗号化を行う。利用者が通信相手や会話内容に応じて暗号化及びその解除を行うことが出来る。
前記別態様のセキュリティ装置において、前記暗号化手段が、前記通信内容が暗号化されていることを識別するためのフラグをさらに含む前記通信メッセージを、前記通信装置に送出することもできる。さらに、前記復号化手段は、前記通信装置から取得する通信メッセージのフラグに従って復号化を行うことができる。暗号化された通信内容を、自動的に復号化して表示することが出来る。
【００２２】
前記別態様のセキュリティ装置において、前記暗号化手段が、前記通信内容が暗号化されていることを識別するためのフラグをさらに含む前記通信メッセージを、前記通信装置に送出することができる。さらに、前記復号化手段は、前記他の利用者端末から送信された通信メッセージのフラグに従い、通信内容が暗号化されているか否かを視覚的に示すマークを出力することができる。
【００２３】
復号化手段は、受け取った通信内容が暗号化されているか否かを示すために、鍵マークなどを、チャネル名や会話文字列の先頭などに表示する。利用者は、暗号化されているか否かを視覚的に判断することが出来る。
前記別態様のセキュリティ装置において、前記指示手段が、前記電子会議室に参加するためのパスワードを前記通信装置から取得し、前記電子会議室名、時刻及び秘密鍵に加えてさらに前記パスワードを通知して共通鍵の生成を指示し、前記生成手段が、前記通知される電子会議室名、時刻、秘密鍵及びパスワードに基づいて共通鍵を生成してもよい。
【００２４】
例えば、チャットシステムにおいて、チャネルに入室するためのパスワードが設定されている場合がある。このパスワードを、共通鍵の変数の１つとして用いることにより、共通鍵の解読をさらに困難にすることが出来る。
前記別態様のセキュリティ装置において、前記共通のタイミングは、利用者端末において日付が代わるタイミングであってもよい。
【００２５】
指示手段は、利用者端末内の時計から時刻を１分ごとに取得し、その時刻が00:00となると、共通鍵の生成を指示する。電子会議室に変化が生じなくても、また利用者によるアクションが生じなくても、自動的に共通鍵を更新することが出来る。
前記別態様のセキュリティ装置において、前記共通のタイミングは、所定の時間間隔ごとに発生するタイミングであってもよい。
【００２６】
例えば１時間毎などの所定の時間間隔で自動的に共通鍵を生成する。前述の別態様のセキュリティ装置と同様の作用効果を有する。
前記別態様のセキュリティ装置において、前記共通のタイミングは、前記電子会議室を共有する利用者端末の構成に変化が生じたタイミングであってもよい。
チャットシステムを例に取れば、指示手段は、チャネルに参加しているユーザを変更するコマンド"JOIN"や"PART"をチャットクライアントから取得すると、共通鍵の生成を指示する。例えば、脱退したタイミングで共通鍵を更新することにより、脱退したユーザは不正に会話内容を盗聴できなくなる。
【００２７】
前記別態様のセキュリティ装置において、前記電子会議室にパスワードが設定されている場合、前記共通のタイミングは、前記電子会議室に設定されているパスワードが変更されたタイミングであってもよい。
チャットシステムを例に取れば、指示手段は、パスワードを変更するコマンド"MODE #CH +k"をチャットクライアントから取得すると、共通鍵の生成を指示する。パスワードが変更されたことに応じて共通鍵を変更することにより、第３者の盗聴をさらに困難にすることが可能である。
【００２８】
前記別態様のセキュリティ装置において、前記共通のタイミングは、共通鍵の変更が指示されるタイミングであってもよい。
チャットシステムを例に取れば、共通鍵の変更を指示する、チャットサーバの管理者だけが使用可能なコマンドを用意しておく。指示手段は、前記コマンドをチャットクライアントから取得すると、共通鍵の生成を指示する。管理者の所望する任意のタイミングで共通鍵を変更でき、会話内容のセキュリティをさらに高めることが出来る。
【００２９】
前記別態様のセキュリティ装置において、前記生成手段は、前記蓄積手段に蓄積する共通鍵の最大数の設定を受け付け、前記最大数まで共通鍵を格納した後は、最も古い共通鍵を消去して新しく生成した共通鍵を格納することができる。
蓄積される共通鍵の最大数を設定可能にすることで、利用者端末の資源を有効に活用できる。
【００３０】
本発明の別態様は、複数の利用者端末が互いに同一の電子会議室を共有して通信を行う通信装置に用いられる、セキュリティプログラムを記録したコンピュータ読み取り可能な記録媒体であって、下記Ａ〜Ｅ段階を実行させるセキュリティプログラムを記録した、コンピュータ読み取り可能な記録媒体を提供する。
Ａ；少なくとも１つの秘密鍵を蓄積する段階、
Ｂ；前記複数の利用者端末に共通のタイミングで、前記通信装置が共有中の電子会議室名、時刻及び前記秘密鍵を特定し、共通鍵の生成を指示する段階、
Ｃ；前記特定された電子会議室名、時刻及び秘密鍵に基づいて共通鍵を生成し、生成した共通鍵と前記共通のタイミングを示すタイミング情報とを関連づけて前記蓄積手段に格納する段階、
Ｄ；前記通信装置から送信対象の通信内容を取得し、前記通信内容を前記最新の共通鍵を用いて暗号化し、用いた共通鍵の前記タイミング情報と暗号化した通信内容とを含む通信メッセージを前記通信装置に送出する段階、
Ｅ；前記通信装置から前記通信メッセージを取得し、取得した通信メッセージから前記タイミング情報を抽出し、前記タイミング情報に基づいて前記蓄積手段から共通鍵を特定し、前記暗号化された通信内容を復号化する段階。
【００３１】
本発明の別態様は、互いに同一の電子会議室を共有して通信を行う複数の利用者端末と、前記利用者端末に前記通信を配信するサーバとからなるセキュリティシステムを提供する。このセキュリティシステムの利用者端末は、蓄積手段と、指示手段と、生成手段と、暗号化手段と、復号化手段とを備えている。
蓄積手段は、少なくとも１つの秘密鍵を蓄積する。指示手段は、前記複数の利用者端末に共通のタイミングで、前記通信装置が共有中の電子会議室名、時刻及び前記秘密鍵を特定し、共通鍵の生成を指示する。生成手段は、前記特定された電子会議室名、時刻及び秘密鍵に基づいて共通鍵を生成し、生成した共通鍵と前記共通のタイミングを示すタイミング情報とを関連づけて前記蓄積手段に格納する。
【００３２】
暗号化手段は、前記通信装置から送信対象の通信内容を取得し、前記通信内容を前記最新の共通鍵を用いて暗号化し、用いた共通鍵の前記タイミング情報と暗号化した通信内容とを含む通信メッセージを前記通信装置に送出する。復号化手段は、前記他の利用者端末から送信された前記通信メッセージを前記通信装置から取得し、取得した通信メッセージから前記タイミング情報を抽出し、前記タイミング情報に基づいて前記蓄積手段から共通鍵を特定し、前記暗号化された通信内容を復号化する。
【００３３】
前述の別態様のセキュリティ装置と同様の作用効果を有する。
【発明の効果】
【００３４】
本発明を用いれば、各利用者端末において時間的に変化する共通鍵を各端末で共通のタイミングで生成するので、鍵を配布する必要がなく、解読のおそれを少なくすることが出来る。暗号化された通信内容と共に、共通鍵の生成のタイミングを通知することにより、端末間に時間差が存在しても、暗号化に用いた共通鍵で復号化することが出来る。
【発明を実施するための最良の形態】
【００３５】
以下、実施形態例を挙げながら、本発明のセキュリティシステムについて具体的に説明する。
＜第１実施形態例＞
今、例としてチャットシステムにおける会話内容を暗号化／復号化する場合を例に取り、説明する。チャットシステムは、チャットサーバと、チャットクライアントが動作可能な利用者端末とが、データを送受信するための通信ネットワークで接続されて構成される。通信ネットワークとしては、LAN(Local Area Network)やInternetなどのコンピュータネットワークが挙げられる。チャットシステムのサーバは、チャネルの利用者及び管理者やチャネルを管理し、会話内容を各利用者端末に配信している。なお、チャットシステムにおける例では、電子会議室の識別子としてチャネル名を用いるが、例えば電子メールのメーリングリストであれば、メーリングリストのアドレス、例えば"foo@bar.com"という文字列を使用する。
【００３６】
図１は、第１実施形態例に係るセキュリティシステムの全体構成図である。図１に示すように、セキュリティシステムは、チャットシステムを構成する利用者端末に、それぞれセキュリティ装置を設けることにより構成される。
［セキュリティ装置］
図２に、各利用者端末に設けられたセキュリティ装置の機能構成図を示す。図２のセキュリティ装置８は、秘密鍵記憶部１、秘密鍵保持部２、コマンド解釈部３、時間取得部４、共通鍵生成部５、共有鍵記憶部６及び暗号化／復号化部７を有している。
【００３７】
秘密鍵記憶部１は、利用者端末内部のメモリに複数の秘密鍵Ｓｉを記憶している。図３に、秘密鍵テーブルの概念図を示す。複数の秘密鍵Ｓｉは、例えば時間と関連づけられて秘密鍵テーブルに登録され、時刻により秘密鍵が変化するようにしておくと好ましい。図３は、毎時間毎の秘密鍵が予め用意されて毎時０分で秘密鍵が変更される例を示す。例えば00:00〜00:59までの時刻においては、インデックス番号”０”の秘密鍵Ｓ0が有効である。また、複数の秘密鍵生成プログラムをインデックスと対応付けて秘密鍵テーブルに格納し、インデックスを指定することにより秘密鍵をその都度生成するようにしてもよい。
【００３８】
秘密鍵保持部２は、コマンド解釈部３または時間取得部４から渡される時刻データＴｉを用いてインデックスを求め、秘密鍵記憶部１から秘密鍵Ｓｉを取り出し、コマンド解釈部３または時間取得部４に渡す。図３を例に取ると、10:00〜10:59までの時刻データＴｉがインデックスとして指定されると、秘密鍵保持部２はインデックス番号”１０”をキーに秘密鍵テーブルを検索し、対応する秘密鍵Ｓ10を取得する。後述するように、秘密鍵Ｓｉを用いて共通鍵を生成する場合には、共通鍵を生成する時刻からインデックス番号を求め、用いる秘密鍵を取得する。
【００３９】
コマンド解釈部３は、チャットクライアントにおける様々なトリガの発生を検出し、トリガが発生したチャネル名ＣＨｉ、時刻データＴｉ及び秘密鍵Ｓｉを通知して、共通鍵の生成を共通鍵生成部５に指示する。チャネルＣＨｉにパスワードＰｉが設定されている場合、コマンド解釈部３はパスワードＰｉを併せて共通鍵生成部５に送出し、共通鍵の生成を指示する。具体的には、コマンド解釈部３は、チャネルに関する何らかの変化、すなわちトリガが発生した場合、そのチャネル名をチャットクライアントから取得する。チャネルにパスワードＰｉが設定されている場合は、パスワードも取得する。さらに、コマンド解釈部３は、トリガが発生した時刻データＴｉを時刻取得部から取得し、取得した時刻データＴｉを秘密鍵保持部２に渡し、秘密鍵保持部２から秘密鍵Ｓｉを取得する。以下に、コマンド解釈部３がチャットクライアントから検出するトリガの具体例を挙げる。
【００４０】
(1)コマンド解釈部３は、例えばチャネルに参加している構成員の変化やチャネルのパスワードの変更などを知らせるメッセージデータをチャットクライアントから取得した場合、共通鍵生成部５に共通鍵の生成を指示する。図４に、コマンド解釈部３がチャットクライアントから取得するメッセージデータＤ１の概念構造図を示す。図４に示すように、メッセージデータＤ１は、送信元識別子及び送信先識別子が含まれるヘッダ部と、データ部とからなる。送信元識別子は、送信者やサーバのＩＰアドレスなどである。送信先識別子は、チャネル名や特定のユーザのＩＰアドレスなどである。データ部には、チャネルにおける変化を示すデータが記載される。
【００４１】
例えば、チャネルの構成員が変化した場合、メッセージデータＤ１のデータ部には、構成員の変更を示すコマンド”JOIN”や”PART”などと、変更があった利用者端末のＩＰアドレスとが記載されている。コマンド解釈部３は、前記コマンドに従って共通鍵生成部５に指示を出す。
また、例えばチャネル名＃ＣＨ１のパスワードＰ１が”newP1”に変化した場合、コマンド解釈部は、図５に示すメッセージデータＤ２をチャットクライアントから取得する。メッセージデータＤ２のデータ部には、パスワードの変更を示すコマンド、例えば”MODE #CH1 +k ”と、新しいパスワード"newP1"とが記載される。コマンド解釈部３は、前記コマンドを解釈し、共通鍵生成部５に共通鍵の生成を指示する。
【００４２】
(2)コマンド解釈部３は、チャットクライアントから共通鍵の生成を指示するメッセージデータＤ３を取得すると、共通鍵の生成を共通鍵生成部５に指示する。図６にメッセージデータＤ３の概念構造図を示す。メッセージデータＤ３は、チャネルの管理者により送出され、サーバで管理者からのメッセージであるか否かを確認した後に、サーバから各チャットクライアントに配信される。この場合、メッセージデータＤ３のデータ部には共通鍵の生成を指示するコマンドが記載される。例えば、”MODE #CHi +c ”のコマンドに従って、コマンド解釈部３は共通鍵生成部５に共通鍵の生成を指示する。但し、このコマンドは別途新たに設けておく必要がある。
【００４３】
(3)コマンド解釈部３は、送信する会話データをチャットクライアントから取得した場合、暗号化が指示されていれば、共通鍵生成部５に共通鍵の生成を指示し、かつ暗号化／復号化部７に会話データを送出する。暗号化の指示については後述する。コマンド解釈部３は、暗号化が指示されていない場合は、共通鍵生成部５への指示を行わず、単に会話データを暗号化／復号化部７に送出して通信メッセージの作成を依頼する。
【００４４】
時間取得部４は、所定のタイミングで時刻データＴｉを取得し、取得した時刻データＴｉに基づいて秘密鍵Ｓｉを取得する。さらに、チャットクライアントから参加中のチャネル名ＣＨｉやそのチャネルのパスワードＰｉを取得して、時刻データＴｉ及び秘密鍵Ｓｉと共に共通鍵生成部５に送出して共通鍵の生成を指示する。まず、時間取得部４は、所定のタイミングで時刻データＴｉを取得する。時刻データＴｉの取得手段として、具体的には、利用者端末の内部時計を利用する時刻データ取得プログラムルーチンを用いるとよい。通常、この時刻データ取得プログラムルーチンは、情報端末上で動作するオペレーティングシステムにより提供されている。時刻データＴｉとしては、時刻データ取得プログラムルーチンが出力するGMT (1970年1月1日からの通算秒)を使用するとよい。時刻データを取得する所定のタイミングとは、例えば１分間隔で時刻データを取得し、その時刻がその日の午前0:00になった時点や、毎時０分の時点などが考えられる。時間取得部４は、取得した時刻データＴｉを秘密鍵保持部２に送出し、時刻データＴｉに対応する秘密鍵Ｓｉを取得する。
【００４５】
共通鍵生成部５は、コマンド解釈部３や時間取得部４からの指示に従い、取得するチャネル名ＣＨｉと秘密鍵Ｓｉと時刻データＴｉと、あればパスワードＰｉとに基づいて共通鍵ＣＳｉを生成する。共通鍵の生成には通常用いられる一方向関数Ｆを使用すればよい。従って、共通鍵ＣＳｉは、ＣＳｉ＝Ｆ（秘密鍵Ｓｉ、チャネル名ＣＨｉ、時間データＴｉ）により求められる。具体的には、一方向関数としてＭＤ５ (Message Digest Algorithm 参照：RFC1321)を使用し、出力される128ビット長のハッシュ値を共通鍵ＣＳｉとする。
【００４６】
また、共通鍵生成部５は、生成した共通鍵ＣＳｉを、共通鍵が生成されたタイミングと関連付けて共通鍵記憶部６に格納する。図７に、利用者端末Ａ及びＢの各共通鍵記憶部６に蓄積された共通鍵テーブルの概念図を示す。図７において、バージョンは共通鍵が生成されたタイミングを示している。本実施形態例では、毎時０分に時間取得部４からの指示に従って共通鍵を生成し、さらにコマンド解釈部３が何らかのトリガを検出した場合はコマンド解釈部３の指示に従って共通鍵を生成する。バージョンとして時間が示されている共通鍵は、各利用者端末におけるその時間に生成されたことを示している。また、”ver1”、”ver2”などで示される共通鍵は、何らかのトリガにより生成されたことを示している。バージョンが一致している共通鍵は、同じタイミングで生成されている。利用者端末Ａ及びＢにおいて、バージョン及び共通鍵の順序が異なっているのは、両端末間の内部時計がずれているためである。各利用者端末において、バージョンを共通鍵と対応付けて記憶させておくことにより、暗号化に用いた共通鍵と同じバージョンの共通鍵で復号化することが可能になる。
【００４７】
さらに、共通鍵生成部５は、共通鍵テーブルに蓄積される共通鍵の最大数Ｍａｘの利用者による設定を受け付ける。生成した共通鍵は、最大個数Ｍａｘに達するまで共通鍵テーブルに追加されていく。共通鍵テーブルでは、共通鍵が最大数Ｍａｘまで蓄積されると、古い共通鍵から一つずつ削除され、常に最新の共通鍵が蓄積される。
暗号化／復号化部７は、送信される会話データをコマンド解釈部３から取得し、格納されている最新の共有鍵ＣＳｉを用いて会話データを暗号化し、宛先情報を付加してメッセージデータＤ４を作成する。図８にメッセージデータＤ４の概念図を示す。メッセージデータＤ４は、ヘッダ部及びデータ部に加えて暗号化フラグを含んでいる。暗号化フラグは、会話データが暗号化されているか否かを示すビットフィールドであり、０：暗号化オフ、1：暗号化オンである。データ部には、暗号化フラグが１の場合は暗号化された会話データが、０の場合は暗号化されない会話データが記載される。また、メッセージデータＤ４のヘッダ部は、送信元識別子及び送信先識別子に加えてバージョン情報を含んでいる。バージョン情報には前記共通鍵テーブルのバージョンのいずれかが記載され、暗号化に用いた共通鍵の生成タイミングが示されている。暗号化に用いた共通鍵のバージョンをメッセージデータに含ませることにより、同じバージョンの共通鍵で復号化することが可能となる。作成したメッセージデータＤ４は、チャットクライアントに送出され、サーバを介して他の利用者端末に送信される。
【００４８】
また、暗号化／復号化部７は、利用者から会話内容を暗号化するか否かの指示を受け付ける。図９に、暗号化のオン／オフを指示するための指示ボタンが表示された画面例を示す。会話文字の暗号化を指示する場合は、指示ボタンをマウスでクリックすると指示ボタンの色が変わり、暗号化オンモードとなる。暗号化／復号化部７は、暗号化オンのモードで会話データを取得した場合、通信メッセージの暗号化フラグを１とし、データ部には暗号化した会話データを記載する。もう一度マウスクリックすると、指示ボタンの色が元に戻って暗号化オフモードになる。
【００４９】
一方、暗号化／復号化部７は、他の利用者端末において作成されたメッセージデータＤ４を、チャットクライアントから取得して復号化する。まず、メッセージデータＤ４を取得すると、暗号化／復号化部７は、暗号化フラグを参照し、フラグが１の場合にはヘッダ部のバージョン情報を抽出する。抽出したバージョンに基づいて共有鍵記憶部６から共有鍵ＣＳｉを取り出し、会話データの部分を抽出して共有鍵ＣＳｉにより復号化する。例えば、利用者端末Ａ及びＢの共通鍵が図７に示された状態にある場合に、利用者端末Ａからバージョン"ver1"の共通鍵で暗号化したメッセージデータを送信したとする。このメッセージデータを受け取った利用者端末Ｂでは、メッセージデータのバージョン情報"ver1"に対応した共通鍵を共通鍵テーブルから取得し、会話データを復号化する。復号化した会話データはチャットクライアントに送出され、画面上に表示される。暗号化／復号化には、一般の暗号／復号アルゴリズムを利用したプログラムルーチンを用いることが出来る。復号化に用いる共通鍵ＣＳｉは、メッセージデータＤ４内のバージョン情報を参照し、バージョン情報をインデックスとして共通鍵テーブルから取り出した共通鍵ＣＳｉを用いる。
【００５０】
さらに、暗号化／復号化部７は、表示されている会話データが暗号化されているか否かを表示可能である。図１０に、利用者端末の画面例を示す。図１０の画面例では、送信されてくる会話データが暗号化されている場合は、チャネル名の隣に暗号化を意味するアイコンが表示されている。また、図１１に、利用者端末の他の画面例を示す。図１１の画面例は、送信されてくる会話データが暗号化されている場合、その会話文の先頭に暗号化を意味するアイコンが表示されている。
【００５１】
［処理の流れ］
（１）共通鍵生成処理
次に、前記セキュリティ装置を用いた共通鍵の生成処理について説明する。図１２は、コマンド解釈部３からの指示に基づく共通鍵生成処理を示すフローチャートである。図１３は、時間取得部４からの指示により共通鍵生成処理を示すフローチャートである。図１２及び図１３に示す処理は、それぞれ独立して行われる。
【００５２】
まず、図１２について説明する。説明を容易にするため、トリガとしてチャネルの構成員の変化、パスワードの変更及び共通鍵の変更が生じる場合を例にとって示してある。何らかのトリガが発生することにより、図１２の処理が開始される。
ステップＳ１では、コマンド解釈部３は、チャネルの構成員に変化があったか否かを判断する。具体的には、コマンド解釈部３は、ユーザの参加コマンド”JOIN”または離脱コマンド”PART”を含むメッセージデータＤ１をチャットクライアントから取得した場合、ユーザに変化が生じたと判断して後述するステップＳ４に移行する。その他のコマンドであればステップＳ２に移行する。
【００５３】
ステップＳ２では、コマンド解釈部３は、参加中のチャネルのパスワードに変化があったか否かを判断する。具体的には、コマンド解釈部３は、パスワードの変更コマンド”MODE #チャネル名 +k”と新しいパスワードとがデータ部に含まれたメッセージデータＤ２をチャットクライアントから取得した場合、パスワードが変更されたと判断してステップＳ４に移行する。その他の場合はステップＳ３に移行する。
【００５４】
ステップＳ３では、コマンド解釈部３は、共通鍵の変更が指示されたか否かを判断する。具体的には、コマンド解釈部３は、共通鍵の変更を指示するコマンドがデータ部に含まれたメッセージデータＤ３をチャットクライアントから取得した場合、共通鍵を新たに生成すると判断してステップＳ４に移行する。その他の場合は、処理を終了する。
コマンド解釈部３は、前記いずれかのトリガが生じたと判断すると、ステップＳ４の処理に移行する。ステップＳ４では、コマンド解釈部３が、トリガが生じたチャネル名及びそのパスワードＰｉをチャットクライアントから取得する。今、チャネル名をＣＨｉとする。
【００５５】
ステップＳ５では、コマンド解釈部３は、トリガが生じた時刻を時刻取得部から取得し、取得した時刻を時刻データＴｉとする。
ステップＳ６では、コマンド解釈部３は、取得した時刻データＴｉを秘密鍵保持部２に渡す。秘密鍵保持部２は、時刻データＴｉからインデックス番号を求め、秘密鍵テーブルを検索して秘密鍵Ｓｉを取得し、コマンド解釈部３に送出する。
【００５６】
ステップＳ７では、コマンド解釈部３は、チャネル名＃ＣＨｉ、パスワードＰｉ、時刻データＴｉ及び秘密鍵Ｓｉを共通鍵生成部５に送出し、共通鍵の生成を指示する。
ステップＳ８では、共通鍵生成部５が、一方向関数を使用して共通鍵ＣＳｉを生成し、バージョンと関連づけて共通鍵テーブルに格納する。
次に、時間取得部４からの指示により共通鍵が生成される場合について、図１３を参照して説明する。説明を容易にするため、毎時０分に共通鍵を生成する場合を例に取るが、他の時間間隔でも処理は同様である。
【００５７】
ステップＳ１１〜１２では、時間取得部４は、例えば一分おきに時刻データ取得プログラムルーチンから時刻データを取得する。
ステップＳ１３では、取得した時刻データが毎時０分か否かを判断し、０分であればステップＳ１４に移行する。０分でなければ再びステップＳ１１〜１２を繰り返す。
ステップＳ１４では、時間取得部４は、取得した最新の時刻データを時刻データＴｉとする。
【００５８】
ステップＳ１５では、取得した時刻データＴｉを秘密鍵取得部に送出し、秘密鍵取得部を介して秘密鍵Ｓｉを取得する。
ステップＳ１６では、時間取得部４は、現在参加しているチャネル名ＣＨｉ及びそのチャネルのパスワードＰｉを、チャットクライアントから取得する。
ステップＳ１７では、取得した時刻データＴｉ、チャネル名ＣＨｉ、パスワードＰｉ及び秘密鍵Ｓｉを共通鍵生成部５に通知し、共通鍵の生成を指示する。その後、再びステップＳ１１に戻り、前記処理を繰り返す。
【００５９】
（２）暗号化／復号化処理
次に、チャットシステムにおける会話を、前記セキュリティ装置を用いて暗号化／復号化する処理の流れを説明する。図１４は、前記セキュリティ装置が行う暗号化処理の流れを示すフローチャートである。図１５は、前記セキュリティ装置が行う復号化処理の流れを示すフローチャートである。まず、図１４の暗号化処理について説明する。暗号化／復号化部７がチャットクライアントにおいて入力された会話データを取得することにより、処理が開始される。
【００６０】
ステップＳ２１では、暗号化／復号化部７は、暗号化オンのモードか否かを判断し、オンであればステップＳ２２に移行する。オフであれば、会話データを暗号化する必要がないので、後述するステップＳ２５に移行する。
ステップＳ２２では、暗号化／復号化部７は、会話が発言された時刻データＴｉを時間取得部４から取得する。
【００６１】
ステップＳ２３では、暗号化／復号化部７は、共通鍵テーブルから最新の共通鍵ＣＳｉを取得する。また、暗号化／復号化部７は、最新の共通鍵ＣＳｉのバージョン、すなわち共通鍵が生成されたタイミングを示す情報を、共通鍵テーブルから併せて取得する。
ステップＳ２４では、暗号化／復号化部７は、取得した共通鍵ＣＳｉを用い、会話データを暗号化する。
【００６２】
ステップＳ２５では、暗号化／復号化部７は、ヘッダ部、暗号化フラグ及びデータ部からなるメッセージデータＤ４を作成する。ステップＳ２１で暗号化オンのモードと判断された場合、暗号化／復号化部７は、暗号化フラグを１とし、データ部に暗号化された会話データを記載したメッセージデータＤ４を作成する。ステップＳ２１で暗号化オフのモードと判断された場合、暗号化／復号化部７は、暗号化フラグを０とし、データ部に暗号化されていない会話データを記載したメッセージデータＤ４を作成する。
【００６３】
ステップＳ２６では、ステップＳ２５で作成したメッセージデータＤ４を、チャットクライアントに送出する。送出されたメッセージデータＤ４は、サーバにより他の利用者端末に配信され、必要に応じて復号化される。
次に、図１５の復号化処理について説明する。暗号化／復号化部７が、他の利用者端末で作成されたメッセージデータＤ４をチャットクライアントから取得することにより、処理が開始される。
【００６４】
ステップＳ３１では、暗号化／復号化部７は、受信したメッセージデータの暗号化フラグが０か１かを判断し、１であればステップＳ３２に移行する。０であれば、会話データの復号化を行う必要がないので、後述するステップＳ３６に移行する。
ステップＳ３２では、暗号化／復号化部７は、メッセージデータのヘッダ部に含まれているバージョン情報、すなわち共通鍵が生成されたタイミングを示す情報を、メッセージデータＤ４から抽出する。
【００６５】
ステップＳ３３では、暗号化／復号化部７は、抽出したバージョン情報をインデックスとして、共通鍵テーブルから対応する共通鍵ＣＳｉを取得する。
ステップＳ３４では、暗号化／復号化部７は、メッセージデータＤ４から暗号化された会話データを抽出し、取得した共通鍵ＣＳｉを用いて復号化する。
ステップＳ３５では、暗号化／復号化部７が、会話文が表示される表示画面領域の先頭部分に、暗号化を示すアイコンを表示する。
【００６６】
ステップＳ３６では、暗号化／復号化部７は、ステップＳ３１で暗号化フラグが０と判断した場合であるので、メッセージデータＤ４のデータ部に含まれている会話データをそのまま抽出する。
ステップＳ３７では、暗号化／復号化部７は、復号化した会話データまたは抽出した会話データをチャットクライアントに送出し、表示画面上に表示させて処理を終了する。
【００６７】
＜第２実施形態例＞
チャットシステムにおいて１対１で会話を行う場合には、会話する利用者の識別子を用いて電子会議室の識別子を作成することも可能である。例えば、利用者Ａの識別子が文字列"foo"、利用者Ｂの識別子が文字列"bar"であり、利用者端末Ａから利用者端末Ｂに対して会話を開始する場合、電子会議室の識別子を文字列"foobar"とする。
【００６８】
また、利用者端末Ａから利用者端末Ｂにファイルを送信する場合、次のようにして共通鍵ＣＳを生成することが考えられる。まず、利用者端末Ａから利用者端末Ｂに対し、データ部に所定のデータを含むメッセージデータＤ５を送信する。メッセージデータＤ５のデータ部には、少なくともファイルを転送することを示すコマンド、ファイル名及びファイルのサイズを含める。両利用者端末は、メッセージデータＤ５のヘッダ部とデータ部とを文字列として扱い、電子会議室の識別子とみなすことにする。そうして両利用者端末で同一の共通鍵ＣＳを生成して暗号化通信を行う。
【産業上の利用可能性】
【００６９】
本発明を用いれば、各利用者端末において時間的に変化する共通鍵を各端末で共通のタイミングで生成するので、鍵を配布する必要がなく、解読のおそれを少なくすることが出来る。暗号化された通信内容と共に、共通鍵の生成のタイミングを通知することにより、端末間に時間差が存在しても、暗号化に用いた共通鍵で復号化することが出来る。
【図面の簡単な説明】
【００７０】
【図１】第１実施形態例に係るセキュリティシステムの全体構成図。
【図２】第１実施形態例に係るセキュリティ装置の機能構成図。
【図３】秘密鍵テーブルの概念を示す説明図。
【図４】構成員の変化を示すメッセージデータの一例。
【図５】パスワードの変化を示すメッセージデータの一例。
【図６】共通鍵の変更を指示するメッセージデータの一例。
【図７】共通鍵テーブルの概念を示す説明図。
【図８】会話データを含むメッセージデータの一例。
【図９】暗号化の指示ボタンが表示された画面例を示す説明図。
【図１０】暗号化されていることを示す画面の一例。
【図１１】暗号化されていることを示す画面の他の一例。
【図１２】コマンド解釈部の指示による共通鍵生成処理の流れを示すフローチャート。
【図１３】時間取得部の指示による共通鍵生成処理の流れを示すフローチャート。
【図１４】暗号化処理の流れを示すフローチャート。
【図１５】復号化処理の流れを示すフローチャート。
【図１】
2006174519.tif 000003
【図２】
2006174519.tif 000004
【図３】
2006174519.tif 000005
【図４】
2006174519.tif 000006
【図５】
2006174519.tif 000007
【図６】
2006174519.tif 000008
【図７】
2006174519.tif 000009
【図８】
2006174519.tif 000010
【図９】
2006174519.tif 000011
【図１０】
2006174519.tif 000012
【図１１】
2006174519.tif 000013
【図１２】
2006174519.tif 000014
【図１３】
2006174519.tif 000015
【図１４】
2006174519.tif 000016
【図１５】
2006174519.tif 000017