(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024068390
(43)【公開日】2024-05-20
(54)【発明の名称】パスフレーズ生成プログラム、パスフレーズ生成方法、及びパスフレーズ生成装置
(51)【国際特許分類】
H04L 9/08 20060101AFI20240513BHJP
【FI】
H04L9/08 C
H04L9/08 E
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2022178801
(22)【出願日】2022-11-08
(71)【出願人】
【識別番号】504171134
【氏名又は名称】国立大学法人 筑波大学
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】鈴木 伸崇
(72)【発明者】
【氏名】細谷 雄一
(57)【要約】
【課題】暗号化に関するパスフレーズを適切に生成する。
【解決手段】本願に係るパスフレーズ生成プログラムは、取得手順と、生成手順とをコンピュータに実行させる。取得手順は、送信対象の情報である送信対象情報の送信者に対応する第1文字列と、送信対象情報の受信者に対応する第2文字列とを取得する。生成手順は、第1文字列と、第2文字列と、送信対象情報の送信日時に対応する第3文字列とに基づいて、送信対象情報の暗号化に用いるパスフレーズを生成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
送信対象の情報である送信対象情報の送信者に対応する第1文字列と、前記送信対象情報の受信者に対応する第2文字列とを取得する取得手順と、
前記第1文字列と、前記第2文字列と、前記送信対象情報の送信日時に対応する第3文字列とに基づいて、前記送信対象情報の暗号化に用いるパスフレーズを生成する生成手順と、
をコンピュータに実行させることを特徴とするパスフレーズ生成プログラム。
【請求項2】
前記生成手順は、
前記第1文字列と、前記第2文字列と、前記第3文字列とを所定の順序で並べることにより、前記パスフレーズを生成する
ことを特徴とする請求項1に記載のパスフレーズ生成プログラム。
【請求項3】
前記生成手順は、
前記第1文字列及び前記第2文字列のうち一方に続けて前記第3文字列を並べ、前記第3文字列に続けて、前記第1文字列及び前記第2文字列のうち他方を並べることにより、前記パスフレーズを生成する
ことを特徴とする請求項2に記載のパスフレーズ生成プログラム。
【請求項4】
前記生成手順は、
前記送信日時を示す数字を含む前記第3文字列に基づいて、前記パスフレーズを生成する
ことを特徴とする請求項1に記載のパスフレーズ生成プログラム。
【請求項5】
前記生成手順は、
前記送信日時の年月日を含む文字列である前記第3文字列に基づいて、前記パスフレーズを生成する
ことを特徴とする請求項4に記載のパスフレーズ生成プログラム。
【請求項6】
前記取得手順は、
前記送信者を示す文字列の一部である前記第1文字列を取得し、
前記生成手順は、
前記送信者を示す文字列の一部である前記第1文字列に基づいて、前記パスフレーズを生成する
ことを特徴とする請求項1に記載のパスフレーズ生成プログラム。
【請求項7】
前記取得手順は、
前記送信者のメールアドレスの一部である前記第1文字列を取得し、
前記生成手順は、
前記送信者のメールアドレスの一部である前記第1文字列に基づいて、前記パスフレーズを生成する
ことを特徴とする請求項6に記載のパスフレーズ生成プログラム。
【請求項8】
前記取得手順は、
前記受信者を示す文字列の一部である前記第2文字列を取得し、
前記生成手順は、
前記受信者を示す文字列の一部である前記第2文字列に基づいて、前記パスフレーズを生成する
ことを特徴とする請求項1に記載のパスフレーズ生成プログラム。
【請求項9】
前記取得手順は、
前記受信者のメールアドレスの一部である前記第2文字列を取得し、
前記生成手順は、
前記受信者のメールアドレスの一部である前記第2文字列に基づいて、前記パスフレーズを生成する
ことを特徴とする請求項8に記載のパスフレーズ生成プログラム。
【請求項10】
前記生成手順は、
前記パスフレーズを用いて前記送信対象情報を暗号化した暗号化後対象情報を生成する
ことを特徴とする請求項1に記載のパスフレーズ生成プログラム。
【請求項11】
前記暗号化後対象情報を前記受信者が利用する端末装置に送信する送信手順、
を実行させることを特徴とする請求項10に記載のパスフレーズ生成プログラム。
【請求項12】
前記送信手順は、
前記パスフレーズに含まれる文字列が予め定めた変換手法により変換された変換後パスフレーズを前記受信者が利用する端末装置に送信する
ことを特徴とする請求項11に記載のパスフレーズ生成プログラム。
【請求項13】
前記生成手順は、
前記パスフレーズに含まれる文字列を予め定めた変換手法により変換することにより前記変換後パスフレーズを生成する
ことを特徴とする請求項12に記載のパスフレーズ生成プログラム。
【請求項14】
前記生成手順は、
前記パスフレーズに含まれる文字列を正規表現により変換することにより前記変換後パスフレーズを生成する
ことを特徴とする請求項13に記載のパスフレーズ生成プログラム。
【請求項15】
前記生成手順は、
前記第1文字列、前記第2文字列及び前記第3文字列の各々を正規表現により変換することにより前記変換後パスフレーズを生成する
ことを特徴とする請求項14に記載のパスフレーズ生成プログラム。
【請求項16】
前記生成手順は、
前記第1文字列が前記正規表現により変換された変換後第1文字列、前記第2文字列が前記正規表現により変換された変換後第2文字列、及び前記第3文字列が前記正規表現により変換された変換後第3文字列の各々を用いて前記変換後パスフレーズを生成する
ことを特徴とする請求項15に記載のパスフレーズ生成プログラム。
【請求項17】
前記生成手順は、
前記変換後第1文字列と、前記変換後第2文字列と、前記変換後第3文字列とを所定の規則で組み合わせることに、前記変換後パスフレーズを生成する
ことを特徴とする請求項16に記載のパスフレーズ生成プログラム。
【請求項18】
前記生成手順は、
前記第1文字列と、前記第2文字列と、前記第3文字列とに基づいて、電子メールに添付される前記送信対象情報の暗号化に用いる前記パスフレーズを生成する
請求項1に記載のパスフレーズ生成プログラム。
【請求項19】
コンピュータが実行するパスフレーズ生成方法であって、
送信対象の情報である送信対象情報の送信者に対応する第1文字列と、前記送信対象情報の受信者に対応する第2文字列とを取得する取得工程と、
前記第1文字列と、前記第2文字列と、前記送信対象情報の送信日時に対応する第3文字列とに基づいて、前記送信対象情報の暗号化に用いるパスフレーズを生成する生成工程と、
を含むことを特徴とするパスフレーズ生成方法。
【請求項20】
送信対象の情報である送信対象情報の送信者に対応する第1文字列と、前記送信対象情報の受信者に対応する第2文字列とを取得する取得部と、
前記第1文字列と、前記第2文字列と、前記送信対象情報の送信日時に対応する第3文字列とに基づいて、前記送信対象情報の暗号化に用いるパスフレーズを生成する生成部と、
を備えることを特徴とするパスフレーズ生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パスフレーズ生成プログラム、パスフレーズ生成方法、及びパスフレーズ生成装置に関する。
【背景技術】
【0002】
従来、情報の暗号化に関する技術が提供されている。例えば、電子メールの本文や添付ファイルを自動的に暗号化して送信する際、電子メールに記憶された情報が漏洩する危険性を低下させる電子メール暗号化システムが提供されている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術には、改善の余地がある。例えば、上記の従来技術では、情報の暗号化に自動生成されたパスワード(文字列)が用いられており、自動生成された文字列を紛失したり、忘れたりしてしまうこと等により、暗号化された情報を復号することが難しい場合がある。また、例えばエンド・トゥ・エンドでセキュアになっていないSTARTTLS等、暗号化に対応しているメールサーバ間でのみ通信が暗号化され、受信先サーバや、クライアント・サーバ間では、平文(暗号化されていないデータ)で通信されることとなる場合がある。そのため、暗号化に用いるパスワードやパスフレーズ等の文字列の生成の点については改善の余地がある。
【0005】
本願は、上記に鑑みてなされたものであって、暗号化に関するパスフレーズを適切に生成するパスフレーズ生成プログラム、パスフレーズ生成方法、及びパスフレーズ生成装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本願に係るパスフレーズ生成プログラムは、送信対象の情報である送信対象情報の送信者に対応する第1文字列と、前記送信対象情報の受信者に対応する第2文字列とを取得する取得手順と、前記第1文字列と、前記第2文字列と、前記送信対象情報の送信日時に対応する第3文字列とに基づいて、前記送信対象情報の暗号化に用いるパスフレーズを生成する生成手順と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【0007】
実施形態の一態様によれば、暗号化に関するパスフレーズを適切に生成することができるという効果を奏する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る情報処理の一例を示す図である。
【
図2】
図2は、パスフレーズ生成処理の第1の例を示す図である。
【
図3】
図3は、パスフレーズ生成処理の第2の例を示す図である。
【
図4】
図4は、パスフレーズ生成処理の第3の例を示す図である。
【
図5】
図5は、パスフレーズ生成処理の第4の例を示す図である。
【
図6】
図6は、実施形態に係る情報処理システムの構成例を示す図である。
【
図7】
図7は、実施形態に係る端末装置の構成例を示す図である。
【
図8】
図8は、実施形態に係る情報処理の一例を示すフローチャートである。
【
図9】
図9は、トークンの相互共有態様の一例を示す図である。
【
図10】
図10は、正規表現への変換及びパスフレーズの生成の一例を示す図である。
【
図11】
図11は、変換後パスフレーズと各文字列の関係の一例を示す図である。
【
図12】
図12は、端末装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0009】
以下に、本願に係るパスフレーズ生成プログラム、パスフレーズ生成方法、及びパスフレーズ生成装置を実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係るパスフレーズ生成プログラム、パスフレーズ生成方法、及びパスフレーズ生成装置が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
(実施形態)
〔1.情報処理〕
まず、
図1を用いて、実施形態に係る情報処理の一例について説明する。
図1は、実施形態に係る情報処理の一例を示す図である。
図1では、端末装置10が情報の暗号化や復号化に用いるパスフレーズを生成するパスフレーズ生成プログラムにより、送信対象の情報(「送信対象情報」ともいう)を暗号化する処理の一例を示す。
【0011】
以下、
図1に示す処理において情報の送信者(送信側)となるユーザSDが利用する端末装置10を端末装置10aとし、情報の受信者(受信側)となるユーザRVが利用する端末装置10を端末装置10bとして説明する。すなわち、
図1ではユーザSDが送信者(Sender)であり、ユーザRVが受信者(Receiver)である場合を一例として説明する。なお、端末装置10a及び端末装置10b等について、特に区別なく説明する場合には、端末装置10と記載する。
【0012】
また、ここでいう送信者及び受信者は、ある情報送信における各ユーザを明示的に区別して説明するための用語に過ぎず、ある情報送信における送信者が他の情報送信においては受信者となり得る。すなわち、送信者及び受信者は、相対的な概念であって、例えば
図1の説明での送信者であるユーザSDが、受信者となり得る。例えば、
図1の説明での受信者であるユーザRVが、ユーザSDを送信先として情報送信を行う場合、ユーザRVが送信者となり、ユーザSDが受信者となる。すなわち、ここでいう送信者及び受信者とは、ある情報送信におけるユーザを区別して表現可能にするための名称である。
【0013】
ここから
図1に示す情報処理の流れについて説明する。
図1では、ユーザSDの端末装置10aが電子メール(単に「メール」ともいう)を用いて、送信対象情報OD1をユーザRVの端末装置10bに送信する場合の処理の流れを示す。
【0014】
送信側の端末装置10である端末装置10aは、送信者に対応する文字列(「第1文字列」ともいう)及び受信者に対応する文字列(「第2文字列」ともいう)を取得する(ステップS11)。
図1では、端末装置10aは、送信者であるユーザSDに対応する第1文字列FT1である「XXXX」及び受信者であるユーザRVに対応する第2文字列ST1である「VVVVV」を取得する。なお、端末装置10aは、第1文字列及び第2文字列を、外部装置や自装置の記憶部14(
図7参照)等から取得してもよいが詳細については後述する。また、
図1では「XXXX」と抽象的な文字列で第1文字列を示すが、第1文字列は、送信者のメールアドレス等に基づく送信者を示す具体的な文字列である。なお、第1文字列の具体的な例示については後述する。また、
図1では「VVVVV」と抽象的な文字列で第2文字列を示すが、第2文字列は、受信者のメールアドレス等に基づく受信者を示す具体的な文字列である。なお、第2文字列の具体的な例示については後述する。
【0015】
そして、端末装置10aは、第1文字列、第2文字列及び送信日時に対応する文字列(「第3文字列」ともいう)に基づいて、送信対象情報の暗号化に用いるパスフレーズを生成する(ステップS12)。例えば、端末装置10aは、送信対象情報OD1の送信日時を基に第3文字列TT1である「ZZZZZZ」を生成する。なお、
図1では「ZZZZZZ」と抽象的な文字列で第3文字列を示すが、第3文字列は、送信日時の年月日等の具体的な文字列である。なお、第3文字列の具体的な例示については後述する。
【0016】
端末装置10aは、第1文字列FT1、第2文字列ST1及び第3文字列TT1に基づいて、送信対象情報OD1の暗号化に用いるパスフレーズPP1を生成する。
図1では、端末装置10aは、第1文字列FT1である「XXXX」、第3文字列TT1である「ZZZZZZ」、第2文字列ST1である「VVVVV」の順に並べることによりパスフレーズPP1を生成する。これにより、端末装置10aは、文字列「XXXXZZZZZZVVVVV」であるパスフレーズPP1を生成する。端末装置10aは、パスフレーズ生成プログラムによりパスフレーズPP1を生成する。例えば、端末装置10aは、パスフレーズを生成するアプリケーション(「パスフレーズ生成アプリ」ともいう)を用いてパスフレーズPP1を生成する。なお、パスフレーズの生成については、上記の処理に限らず、任意の態様であってもよいが、他の生成例については後述する。
【0017】
そして、端末装置10aは、パスフレーズを用いて送信対象情報を暗号化した情報(「暗号化後対象情報」ともいう)を生成する(ステップS13)。
図1では、端末装置10aは、生成したパスフレーズPP1を用いて、送信対象情報OD1を暗号化した暗号化後対象情報ED1を生成する。例えば、端末装置10aは、7-Zip(登録商標)等の任意の圧縮解凍ソフトを用いて送信対象情報OD1を暗号化した暗号化後対象情報ED1を生成する。この場合、端末装置10aは、圧縮解凍ソフトを起動して、パスフレーズPP1を暗号化用のパスフレーズ(パスワード)に指定し、送信対象情報OD1を暗号化の対象として暗号化後対象情報ED1を生成する。なお、上記は一例に過ぎず、暗号化手法は、パスワード付ZIP形式のみならず、任意の形式に適用可能であり、例えばPDFやWordファイル自体のパスフレーズ(パスワード)にも適用することができる。また、パスフレーズ生成アプリが情報の暗号化の処理までを実行可能なアプリ(暗号化アプリ)である場合、端末装置10aは、パスフレーズ生成アプリにより暗号化後対象情報を生成する処理まで実行してもよい。
【0018】
そして、端末装置10aは、パスフレーズを用いて送信対象情報を暗号化した暗号化後対象情報を受信者であるユーザRVへ送信する(ステップS14)。
図1では、送信者であるユーザSDは、端末装置10aを操作し、電子メールML1に暗号化後対象情報ED1を添付し、宛先にユーザRVに対応するメールアドレス等を指定する。これにより、ユーザSDは、暗号化後対象情報ED1をユーザRVに対応するメールアドレス等により指定される送信先(宛先)へ送信する。このように、
図1では暗号化後対象情報ED1が添付された電子メールML1がユーザSDからユーザRVへ送信される。
【0019】
そして、受信側の端末装置10である端末装置10bは、ユーザRVの操作などに応じて暗号化後対象情報ED1が添付された電子メールML1を受信する(ステップS15)。例えば、ユーザRVは、端末装置10bを操作して、電子メールML1をメールサーバ等に要求し、メールサーバを介して暗号化後対象情報ED1が添付された電子メールML1を受信する。そして、ユーザRVは、電子メールML1に添付された暗号化後対象情報ED1のパスフレーズPP1を、送信者であるユーザSD、受信者であるユーザRV、及び電子メールML1の送信日時を基に推測する。そして、ユーザRVは、推測したパスフレーズを用いて、電子メールML1に添付された暗号化後対象情報ED1を解凍する。
【0020】
上述したように、端末装置10は、パスフレーズ生成プログラムにより、送信者に対応する第1文字列と、受信者に対応する第2文字列と、送信対象情報の送信日時に対応する第3文字列とに基づいて、パスフレーズを生成する。このようにパスフレーズを生成することにより、例えば第1文字列と第2文字列と第3文字列とを用いるという規則が送信者と受信者との間で共有されている場合、受信者がパスフレーズを推測することができる。そのため、端末装置10は、パスフレーズ自体を受信者へ渡すことなく、パスフレーズで暗号化された送信対象情報のみを受信者へ送信することで、受信者が送信対象情報の復号することができる。したがって、端末装置10は、暗号化に関するパスフレーズを適切に生成することができる。
【0021】
〔1-1.パスフレーズ生成処理例〕
ここから、
図2~
図4を用いて、パスフレーズ生成処理の具体的な例について説明する。なお、
図1で説明した点と同様の点については適宜説明を省略する。
【0022】
〔1-1-1.第1の例〕
まず、
図2を用いて、パスフレーズ生成処理の第1の例を説明する。
図2は、パスフレーズ生成処理の第1の例を示す図である。
図2は、
図1の情報送信に対応し、2022年6月22日にユーザSDからユーザRVに対して情報送信を行う場合を示す。ユーザSDのメールアドレスAD1は、「taro@example.com」である。また、ユーザRVのメールアドレスAD2は、「hanako@example.com」である。なお、「example.com」はメールアドレスのドメインの例示であり、メールアドレスAD1及びメールアドレスAD2は各々異なるドメインであってもよい。
【0023】
図2では、送信側の端末装置10である端末装置10aは、ユーザSDのメールアドレスAD1の一部の文字列「taro」を第1文字列FT2として取得する。例えば、端末装置10aは、外部装置または自装置の記憶部14等から第1文字列FT2を取得する。なお、端末装置10aは、メールアドレスAD1から文字列「taro」を第1文字列FT2として抽出してもよい。例えば第1文字列FT2が
図1の第1文字列FT1であってもよい。
【0024】
また、端末装置10aは、ユーザRVのメールアドレスAD2の一部の文字列「hanako」を第2文字列ST2として取得する。例えば、端末装置10aは、外部装置または自装置の記憶部14等から第2文字列ST2を取得する。なお、端末装置10aは、メールアドレスAD2から文字列「hanako」を第2文字列ST2として抽出してもよい。例えば第2文字列ST2が
図1の第2文字列ST1であってもよい。
【0025】
また、端末装置10aは、送信対象情報OD2の送信日時「2022年6月22日」を基に第3文字列TT2である「20220622」を生成する。なお、
図2では年月日を示す8桁の数字(8文字の文字列)を第3文字列として用いる場合を示すが、第3文字列は、送信日時に関する情報であれば時分秒等の他の情報であってもよく、また8文字以外の文字列(例えば6文字、12文字等の文字列)であってもよい。例えば第3文字列TT2が
図1の第3文字列TT1であってもよい。
【0026】
端末装置10aは、第1文字列FT2、第2文字列ST2及び第3文字列TT2に基づいて、送信対象情報OD2の暗号化に用いるパスフレーズPP2を生成する。例えば送信対象情報OD2が
図1の送信対象情報OD1であってもよい。
図2では、端末装置10aは、第1文字列FT2である「taro」、第3文字列TT2である「20220622」、第2文字列ST2である「hanako」の順に並べることによりパスフレーズPP2を生成する。これにより、端末装置10aは、「taro20220622hanako」であるパスフレーズPP2を生成する。例えばパスフレーズPP2が
図1のパスフレーズPP1であってもよい。
【0027】
そして、端末装置10aは、パスフレーズPP2を用いて送信対象情報OD2を暗号化した暗号化後対象情報(暗号化後対象情報ED2)を生成する。例えば暗号化後対象情報ED2が
図1の暗号化後対象情報ED1であってもよい。そして、端末装置10aは、メールアドレスAD2を宛先とする電子メールに暗号化後対象情報ED2を添付して送信する。暗号化後対象情報ED2が添付された電子メールを受信したユーザRVは、暗号化後対象情報ED2のパスフレーズPP2を、送信者のメールアドレスAD1、受信者のメールアドレスAD2、及び暗号化後対象情報ED2が添付された電子メールの送信日時を基に推測する。そして、ユーザRVは、推測したパスフレーズを用いて、暗号化後対象情報ED2を解凍する。
【0028】
〔1-1-2.第2の例〕
また、送信者と受信者が逆、すなわちユーザRVが送信者であり、ユーザSDが受信者である場合であっても同様の処理が可能である。この点に関する処理の一例を第2の例として、
図3を用いて説明する。
図3は、パスフレーズ生成処理の第2の例を示す図である。
図3は、
図1の情報送信後に、受信者から送信者へ返信を行う情報送信に対応し、2022年6月24日にユーザSDからユーザRVに対して情報送信を行う場合を示す。なお、
図2等で説明した点と同様の点については適宜説明を省略する。
【0029】
図3では、送信側の端末装置10である端末装置10bは、ユーザRVのメールアドレスAD2の一部の文字列「hanako」を第1文字列FT3として取得する。例えば、端末装置10bは、外部装置または自装置の記憶部14等から第1文字列FT3を取得する。また、端末装置10bは、ユーザRVのメールアドレスAD1の一部の文字列「taro」を第2文字列ST3として取得する。例えば、端末装置10bは、外部装置または自装置の記憶部14等から第2文字列ST3を取得する。また、端末装置10bは、送信対象情報OD3の送信日時「2022年6月24日」を基に第3文字列TT3である「20220624」を生成する。
【0030】
端末装置10bは、第1文字列FT3、第2文字列ST3及び第3文字列TT3に基づいて、送信対象情報OD3の暗号化に用いるパスフレーズPP3を生成する。
図3では、端末装置10bは、第1文字列FT3である「hanako」、第3文字列TT3である「20220624」、第2文字列ST3である「taro」の順に並べることによりパスフレーズPP3を生成する。これにより、端末装置10bは、「hanako20220624taro」であるパスフレーズPP3を生成する。
【0031】
そして、端末装置10bは、パスフレーズPP3を用いて送信対象情報OD3を暗号化した暗号化後対象情報(暗号化後対象情報ED3)を生成する。そして、端末装置10bは、メールアドレスAD1を宛先とする電子メールに暗号化後対象情報ED3を添付して送信する。暗号化後対象情報ED3が添付された電子メールを受信したユーザSDは、暗号化後対象情報ED3のパスフレーズPP3を、送信者のメールアドレスAD2、受信者のメールアドレスAD1、及び暗号化後対象情報ED3が添付された電子メールの送信日時を基に推測する。そして、ユーザSDは、推測したパスフレーズを用いて、暗号化後対象情報ED3を解凍する。
【0032】
〔1-1-3.第3の例〕
上述したパスフレーズの生成は一例に過ぎず、端末装置10は、任意の方法によりパスフレーズを生成してもよい。例えば、パスフレーズにおける各文字列の並び順は上記に限らず、受信者側の文字列(第2文字列)が先であってもよい。この点に関する処理の一例を第3の例として、
図4を用いて説明する。
図4は、パスフレーズ生成処理の第3の例を示す図である。
図4は、
図2と同様に2022年6月22日にユーザSDからユーザRVに対して情報送信を行う場合を示す。なお、
図4は生成されるパスフレーズ以外は、
図2と同様であり、
図2と同様の点については適宜説明を省略する。
【0033】
図4では、送信側の端末装置10である端末装置10aは、ユーザSDのメールアドレスAD1の一部の文字列「taro」を第1文字列FT2として取得する。また、端末装置10aは、ユーザRVのメールアドレスAD2の一部の文字列「hanako」を第2文字列ST2として取得する。また、端末装置10aは、送信対象情報OD2の送信日時「2022年6月22日」を基に第3文字列TT2である「20220622」を生成する。
【0034】
端末装置10aは、第1文字列FT2、第2文字列ST2及び第3文字列TT2に基づいて、送信対象情報OD2の暗号化に用いるパスフレーズPP2bを生成する。
図4では、端末装置10aは、第2文字列ST2である「hanako」、第3文字列TT2である「20220622」、第1文字列FT2である「taro」の順に並べることによりパスフレーズPP2bを生成する。これにより、端末装置10aは、「hanako20220622taro」であるパスフレーズPP2bを生成する。
【0035】
そして、端末装置10aは、パスフレーズPP2bを用いて送信対象情報OD2を暗号化した暗号化後対象情報(暗号化後対象情報ED2b)を生成する。そして、端末装置10aは、メールアドレスAD2を宛先とする電子メールに暗号化後対象情報ED2bを添付して送信する。暗号化後対象情報ED2bが添付された電子メールを受信したユーザRVは、暗号化後対象情報ED2bのパスフレーズPP2bを、受信者のメールアドレスAD2、送信者のメールアドレスAD1、及び暗号化後対象情報ED2bが添付された電子メールの送信日時を基に推測する。そして、ユーザRVは、推測したパスフレーズを用いて、暗号化後対象情報ED2bを解凍する。
【0036】
〔1-1-4.第4の例〕
また、送信者と受信者が逆、すなわちユーザRVが送信者であり、ユーザSDが受信者である場合であっても、パスフレーズにおける各文字列の並び順は上記に限らず、受信者側の文字列(第2文字列)が先であってもよい。この点に関する処理の一例を第4の例として、
図5を用いて説明する。
図5は、パスフレーズ生成処理の第4の例を示す図である。
図5は、
図3と同様に2022年6月24日にユーザSDからユーザRVに対して情報送信を行う場合を示す。なお、
図5は生成されるパスフレーズ以外は、
図3と同様であり、
図3と同様の点については適宜説明を省略する。
【0037】
図5では、送信側の端末装置10である端末装置10bは、ユーザRVのメールアドレスAD2の一部の文字列「hanako」を第1文字列FT3として取得する。また、端末装置10bは、ユーザRVのメールアドレスAD1の一部の文字列「taro」を第2文字列ST3として取得する。また、端末装置10bは、送信対象情報OD3の送信日時「2022年6月24日」を基に第3文字列TT3である「20220624」を生成する。
【0038】
端末装置10bは、第1文字列FT3、第2文字列ST3及び第3文字列TT3に基づいて、送信対象情報OD3の暗号化に用いるパスフレーズPP3bを生成する。
図5では、端末装置10bは、第2文字列ST3である「taro」、第3文字列TT3である「20220624」、第1文字列FT3である「hanako」の順に並べることによりパスフレーズPP3bを生成する。これにより、端末装置10bは、「taro20220624hanako」であるパスフレーズPP3bを生成する。
【0039】
そして、端末装置10bは、パスフレーズPP3bを用いて送信対象情報OD3を暗号化した暗号化後対象情報(暗号化後対象情報ED3b)を生成する。そして、端末装置10bは、メールアドレスAD1を宛先とする電子メールに暗号化後対象情報ED3bを添付して送信する。暗号化後対象情報ED3bが添付された電子メールを受信したユーザSDは、暗号化後対象情報ED3bのパスフレーズPP3bを、受信者のメールアドレスAD1、送信者のメールアドレスAD2、及び暗号化後対象情報ED3bが添付された電子メールの送信日時を基に推測する。そして、ユーザSDは、推測したパスフレーズを用いて、暗号化後対象情報ED3bを解凍する。
【0040】
〔1-2.前提、効果等〕
上述したようなパスフレーズ生成処理は、メール添付ファイル用パススレーズが必要となる場面に適用可能である。例えば、一般的なメール添付ファイルでの暗号化及び復号化手法では、Sender(送信者)がパスフレーズを決定し暗号化し、Receiver(受信者)が添付ファイルを受け取る。そして、Senderが別メールでパスフレーズを伝達し、Receiverが受領したパスフレーズを用いて復号化する。
【0041】
このような一般的な手法の問題点としては、パスフレーズ等として暗号化に用いる文字列を考えるのがユーザの負担となること等が挙げられるが、このような問題点は、ソフトウェアでランダムなパスフレーズを生成することで解決することも可能である。しかし、Senderが生成するランダムなパスフレーズは通常、規則性がないため覚えることが難しく、毎回パスフレーズ全体をReceiverへ送信するのが手間である。また、考えても思いつかず、紛失した場合等に復元不可能となるため、メーラー等から探し出す必要性が生じたり、Receiverの記憶に依存した属人的な手法となったりする。また、転送されたりすると暗号化した主体が不明確になる。
【0042】
そこで、端末装置10は、パスフレーズ生成プログラム等により上述したようなパスフレーズを生成する。例えば、端末装置10は、SenderとReceiverが決めた文字列(フレーズ)と日付を、予め決めた所定の順序で組合せてパスフレーズを生成する。例えば、端末装置10は、上述したように送信者の第1文字列、送信日時の第3文字列、受信者の第2文字列等の所定の順序で組合せてパスフレーズを生成する。
【0043】
例えば、端末装置10は、Senderが決定する第1文字列である部分パスフレーズS(以下「Sトークン」ともいう)と、8桁等の任意の桁数の数字(年月日、以下「8トークン」とする)と、Receiverが決定する第2文字列である部分パスフレーズR(以下「Rトークン」とする)の3つの部位を所定の順序に並べることによりパスフレーズを生成する。この場合、SenderとReceiverはメール送信時に相対的に決定される。なお、端末装置10は、Sトークン、8トークン、Rトークンの順で並べたパスフレーズ(以下「S8R」とする)におけるSトークンと8トークン、または8トークンとRトークンの間に区切り文字(列)を予め決めて入れてもよい。Senderは、8トークンとRトークンを知ることによって暗号化可能となる。
【0044】
また、ReceiverはSトークンと8トークンを知ることによって復号化可能となる。SトークンはReceiverが思いつく限りにおいて複雑なレベルに決定することができる。例えば、Sトークンはメールアカウントの文字列を逆順にすることや、会社のURL(Uniform Resource Locator)を用いること等により生成されてもよい。また、Rトークンも同様にSenderが思いつく限りにおいて複雑なレベルに決定することができる。
【0045】
また、8トークンは世界共通で、年(Year)に対応するYYYY(0001~9999)と、月(Month)に対応するMM(01~12)と、日(Day)に対応するDD(01~31)の3つの部分の組合せ(6通り)によって構成される。例えば、YYYYは、4つの文字からなる文字列であり、2022年の場合は「2022」となる。例えば、MMは、2つの文字からなる文字列であり、8月の場合は「08」となる。例えば、DDは、2つの文字からなる文字列であり、1日の場合は「01」となる。例えば、8トークンはYYYYMMDD、MMDDYYYY等の任意の並び順により構成される。また、8トークンは当事者の合意によって決めることができる。例えば、8トークンは送信日、SenderやReceiverの誕生日や創立記念日等に基づく文字列であってもよい。
【0046】
上記のように、パスフレーズが毎回一方向性をもって生成されるため,暗号化した主体や復号化を期する主体を特定できる可能性が高い。そこで、S8Rを平文で利用するのではなくBASE64等一般的な手法により暗号化してもよい。この場合、パスフレーズにランダム性がないため生成ルールから推定して復号化を試みることができる。
【0047】
また、Senderがパスフレーズの生成に関する規則(「S8Rルール」ともいう)に準拠してパスフレーズを生成しているかの検証作業を不定期に任意のタイミングで実施してもよい。これにより,情報処理システム1(
図6参照)の管理者等は、復号可能性を任意の時点で確認可能となる。また、Senderのメーラーが開けなくなってもパスフレーズを推定可能となる。また、自動暗号化及び復号化機能を備えたメーラーにSトークンと、8トークンと、Rトークンとを入力することによって、S8Rルールに基づく暗号化及び復号化に関する処理を自動化することが可能となる。
【0048】
また、情報処理システム1では、Sトークン、8トークン及びRトークンに対応する文字列をリモートホストに保存してもよい。情報処理システム1では、リモートホストに保存する文字列は暗号化してもよい。情報処理システム1では、リモートホストには平文または暗号化した文字列を保存することに代えて、推定するためのルールを保存してもよい。
【0049】
パターンとは、異なる具体的な文字列に共通してみられるテキストの並び順の抽象的な性質をいい、たとえば西暦によって表現される日付形式の文字列は、慣習的にYYYYMMDDと表記される。同様に、時間形式の文字列は、慣習的にHHMMSSと表記される。日付や時間以外のパターンとして代表的なものには、多くの種類のプログラミング言語において慣習的に用いられる正規表現がある。
【0050】
上記の例を用いて取り上げたパターンは、いずれも複数の具体的な文字列を、特定の抽象的な文字列によって表現するという点で、多対1の関係に適用される変換手法である。このようなパターンは、変換後の抽象的な文字列から変換前の具体的な文字列を特定することができないという点で、不可逆性を有する変換手法である。
【0051】
これに対して、ある体系において表現された文字列を、別の体系において表現された文字列に変換する、1対1の変換手法がある。たとえば、UnicodeやURLエンコーディング等のコード化では、特定の文字を表す体系的コードが一意に定義されており、変換前の文字と変換後の文字コードが1対1に対応しているため、可逆性を有する変換手法である。
【0052】
このように、変換手法とは、多対1の関係を表すパターンや、1対1の関係を表すコード化の、両者を含む上位概念であり、さらにパターンの下位概念として、日付形式、時間形式、正規表現が位置付けられる。
【0053】
日付の文字列のパターンは,YYYYMMDD形式のみであっても一年で365通りであり、形式(並び順)のバリエーションは6通りである。そのため、年のYYYYの部分に相当なバリエーションを見積もったとしても、自動的に8トークンを生成して,当該8トークンが不特定の文字列に含まれるか否かを計算するコストは多項式時間で可能であり得る。したがって、あるパスフレーズがS8Rの形式であるか否かの判定は、8トークンが中間地点に含まれているかによって可能であり、これによりSトークンとRトークンの文字列を括り出すことができ得る。
【0054】
したがって、暗号化に利用されているパスフレーズ決定アルゴリズム(パスフレーズ生成処理)にS8Rルールが用いられているかどうかの判定が、あるパスフレーズの中間部分に8トークンが含まれているかどうかによって可能になると考えられる。このように限られたパターンの文字列として8トークンを中間部分に含むパスフレーズを生成すること、及び8トークンは世界共通の文字列(数字)であることから、プログラム(パスフレーズ生成プログラム等)によって全パターンが生成できるため、送受信には、相互に相手方の決めた部分パスフレーズのみを伝達することで足りる。
【0055】
上記のようなパスフレーズ生成処理により生成されたパスフレーズには、以下のような特徴がある。例えば、パスフレーズ生成処理により生成されたパスフレーズは、リカバリー可能性を高めた特定のパターンの組合せであるという特徴がある。また、パスフレーズ生成処理により生成されたパスフレーズは、ReceiverはSenderが任意に決定したトークンが過去に利用したトークンの一覧であるトークン・リストからピックアップしたものであるか、新規に生成したものであるかを検出可能であるという特徴がある。また、パスフレーズ生成処理により生成されたパスフレーズは、Senderのトークン・リストをReceiver側で保持することが可能であるという特徴がある。
【0056】
また、上述したように、端末装置10は、Rトークン、8トークン、Sトークンの順で並べたパスフレーズ(以下「R8S」とする)を生成してもよい。この場合、Rトークンは、Receiverがパスフレーズの先頭に含まれることを期待するトークンである。また、Sトークンは、Senderが任意に決定してパスフレーズの末尾に含まれることを期待するトークンである。また、8トークンのパターンは、YYYYMMDDの順では、プログラム化すれば総当たりで検証可能なパターンであるため、Senderが任意に決定して伝達せずとも、Receiverがプログラムで検証する限り不都合はなく、セキュリティ上も望ましい。
【0057】
情報処理システム1では、以下のような処理によりSenderの暗号化プロセスが行われる。Senderは、ReceiverからRトークンを受領する。Senderは、Rトークンを社内(例えばSenderが属する組織の施設内)またはクラウドのサーバにRトークンの一覧であるRトークン・リストの一部として保存する。Senderは、Rトークンを先頭文字列とし、続く8トークンを任意に決定し、末尾のSトークンを任意に決定してパスフレーズを生成する。Senderは、生成したパスフレーズを用いて添付ファイルを暗号化し、暗号化済み添付ファイルをメールにて送信する。なお、上記のステップはメーラーのモジュールとして実装されてもよいし、別途プログラムを開発して実装されてもよい。
【0058】
また、情報処理システム1では、以下のような処理によりReceiverの復号化プロセスが行われる。Receiverは、Senderから添付ファイルありのメールを受信し、メーラーで添付ファイルをピックアップする。Receiverは、自ら決定したRトークンを先頭とし,8トークンをプログラムによる推定、または総当たりにより生成し、Sトークンを社内(例えばReceiverが属する組織の施設内)またはクラウドのサーバのSトークンの一覧であるSトークン・リストからピックアップして特定のパスフレーズを生成する。そして、Receiverは、生成したパスフレーズを利用して復号化を試み、復号化(解読)できない場合、8トークン、Sトークン等を変更して別のパスフレーズを生成し、再度復号化を試みる処理を復号化できるまで繰り返す。
【0059】
Receiverは、8トークンとSトークン・リストの組合せの全パターンによって生成し得るパスフレーズをすべて試しても解読できない場合、Senderが過去に利用したことのない新しいSトークンを用いてパスフレーズを生成したことが検出される。この場合、Receiverは、Senderにパスフレーズの生成に用いたSトークンを問い合わせて、社内のリストに追加する。これにより、Receiverは、RトークンとSトークンが確定するので、8トークンを総当たりで生成して復号化を試みる。
【0060】
上述した処理により、情報処理システム1では、パスフレーズ全体をランダムにせずR8SやS8R等のように、三部構成に規則化することにより、暗号化に関するパスフレーズを適切に生成することができる。また、情報処理システム1では、Rトークン・リストやSトークン・リスト等を社内サーバに保存することでトークンの逸失を回避することができる。また、情報処理システム1では、万が一パスフレーズを逸失した場合であっても、例えば「Rトークン・リスト×総当たり8トークン×Sトークン・リスト」等の計算式で再現可能となる。また、情報処理システム1では、Rトークン、8トークン、Sトークンはそれぞれ固定値(または固定ルール)とすることもでき、パスフレーズの複雑さを調整することができる。
【0061】
〔1-3.情報処理システム構成例〕
ここから、
図6を用いて、パスフレーズ生成処理等の各種の情報処理を実行する情報処理システム1の構成について説明する。
図6は、実施形態に係る情報処理システムの構成例を示す図である。
図6に示すように、情報処理システム1には、端末装置10a、10b等の複数の端末装置10と、サービス提供装置50とが含まれる。複数の端末装置10の各々と、サービス提供装置50とは所定のネットワークNを介して、有線または無線により通信可能に接続される。なお、
図6に示す情報処理システム1には、複数台のサービス提供装置50が含まれてもよい。
【0062】
端末装置10は、ユーザによって利用されるコンピュータである。例えば、端末装置10aは、ユーザSDが利用する端末装置10である。例えば、端末装置10bは、ユーザRVが利用する端末装置10である。なお、
図6では、端末装置10a及び端末装置10bの2つの端末装置10のみを図示するが、端末装置10は3つ以上であってもよい。
【0063】
例えば、端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。なお、
図1では、端末装置10がノート型PCである場合を一例として示す。また、端末装置10をユーザと表記する場合がある。すなわち、ユーザを端末装置10と読み替えることもできる。例えば、Sender(送信者)やReceiver(受信者)等のユーザを、そのユーザが利用する端末装置10と読み替えることもできる。
【0064】
端末装置10は、暗号化用のパスフレーズを生成するパスフレーズ生成装置(情報処理装置)である。端末装置10は、送信対象の情報である送信対象情報の送信者に対応する第1文字列と、送信対象情報の受信者に対応する第2文字列と、送信対象情報の送信日時に対応する第3文字列とに基づいて、送信対象情報の暗号化に用いるパスフレーズを生成する。例えば、端末装置10は、暗号化に関する種々の処理を暗号化に関するプログラム(制御情報)により実行する。例えば、端末装置10は、パスフレーズ生成プログラムにより暗号化用のパスフレーズを生成する。
【0065】
サービス提供装置50は、端末装置10を利用するユーザに各種のサービスを提供する情報処理装置である。サービス提供装置50は、端末装置10を利用するユーザに暗号化サービスを提供する。例えば、サービス提供装置50は、端末装置10を利用するユーザにパスフレーズ生成に関する暗号化サービスを提供する。サービス提供装置50は、端末装置10にパスフレーズ生成アプリに関する各種情報を提供する。例えば、サービス提供装置50は、パスフレーズ生成プログラムを端末装置10に送信する。例えば、サービス提供装置50は、パスフレーズ生成アプリを端末装置10に送信する。また、サービス提供装置50は、各ユーザが利用する電子メールサービスのメールサーバであってもよい。
【0066】
なお、
図6に示す情報処理システム1は一例に過ぎず、上記情報処理を実現するシステム構成については、
図6に示す情報処理システム1に限らず種々の態様であってもよい。例えば、情報処理システム1には、各ユーザが利用する電子メールサービスのメールサーバが含まれてもよい。例えば、情報処理システム1は、第1文字列や第2文字列等、パスフレーズの生成に用いる情報を端末装置10に提供する装置が含まれてもよいが、この点については後述する。
【0067】
〔2.端末装置の構成〕
次に、
図7を用いて、パスフレーズ生成装置の一例である端末装置10の構成について説明する。
図7は、実施形態に係る端末装置の構成例を示す図である。例えば、端末装置10は、パスフレーズ生成プログラムを有し、パスフレーズ生成プログラムによりパスフレーズ生成方法に基づく処理を実行する情報処理装置である。
図7に示すように、端末装置10は、通信部11と、入力部12と、出力部13と、記憶部14と、制御部15とを有する。なお、端末装置10は、上記以外にも各種機能を実現する構成を有し、例えば音声を出力するスピーカ(音声出力部)を有する。
【0068】
通信部11は、例えば、通信回路等によって実現される。そして、通信部11は、所定の通信網と有線または無線で接続され、外部の情報処理装置との間で情報の送受信を行う。例えば、通信部11は、所定のネットワークN(
図6参照)と有線または無線で接続され、他の端末装置10やサービス提供装置50との間で情報の送受信を行う。
【0069】
入力部12は、ユーザから各種操作が入力される。入力部12は、端末装置10に設けられたボタンや、端末装置10に接続されたキーボードやマウスからの各種操作を受け付ける。例えば、入力部12は、タッチパネル機能により表示面(例えば出力部13)を介してユーザからの各種操作を受け付けてもよい。
【0070】
出力部13は、各種情報を表示する。出力部13は、例えば液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等によって実現されるタブレット端末等の表示画面であり、各種情報を表示するための表示装置である。出力部13は、パスフレーズ生成プログラムを実行するための情報を表示する。例えば、出力部13は、パスフレーズ生成プログラムにより生成されたパスフレーズを用いて、情報を暗号化するためのアプリケーション(パスフレーズ生成アプリ)を表示する。
【0071】
記憶部14は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部14は、例えば、端末装置10にインストールされているアプリケーションに関する情報(プログラム等)を記憶する。記憶部14は、暗号化に用いる各種情報を記憶する。
【0072】
記憶部14は、パスフレーズ生成プログラムを記憶する。記憶部14は、第1文字列に関する情報を記憶する。例えば、記憶部14は、第1文字列を記憶する。例えば、記憶部14は、第1文字列として用いる候補となる文字列のリストを記憶する。記憶部14は、第2文字列に関する情報を記憶する。例えば、記憶部14は、第2文字列を記憶する。例えば、記憶部14は、第2文字列として用いる候補となる文字列のリストを記憶する。また、記憶部14は、第3文字列を記憶してもよい。例えば、記憶部14は、生成された第3文字列を記憶する。
【0073】
制御部15は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、端末装置10内部の記憶部14などの記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。例えば、この各種プログラムは、情報処理を行うアプリケーションのプログラム(例えばパスフレーズ生成プログラム)が含まれる。また、制御部15は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0074】
図7に示すように、制御部15は、取得部151と、生成部152と、送信部153とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部15の内部構成は、
図7に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部15が有する各処理部の接続関係は、
図7に示した接続関係に限られず、他の接続関係であってもよい。
【0075】
取得部151は、各種情報を取得する。例えば、取得部151は、記憶部14から各種情報を取得する。また、取得部151は、他の端末装置10やサービス提供装置50等の外部の情報処理装置から各種情報を受信する。例えば、取得部151は、他の端末装置10から送信される電子メールを受信する。
【0076】
取得部151は、パスフレーズ生成プログラム等の情報処理に用いる各種情報を受信する。例えば、取得部151は、サービス提供装置50からパスフレーズ生成アプリに関する各種情報を取得する。例えば、取得部151は、サービス提供装置50からパスフレーズ生成アプリのインストールに用いる情報やパスフレーズ生成アプリのアップデートに用いる情報を取得する。
【0077】
取得部151は、取得部151は、送信対象の情報である送信対象情報の送信者に対応する第1文字列を取得する。取得部151は、送信者を示す文字列の一部である第1文字列を取得する。取得部151は、送信者のメールアドレスの一部である第1文字列を取得する。
【0078】
取得部151は、送信対象情報の受信者に対応する第2文字列を取得する。取得部151は、受信者を示す文字列の一部である第2文字列を取得する。取得部151は、受信者のメールアドレスの一部である第2文字列を取得する。取得部151は、送信対象情報の送信日時を示す情報を取得する。
【0079】
生成部152は、種々の情報を生成する生成処理を実行する。生成部152は、取得部151により取得された情報に基づいて各種情報を生成する。生成部152は、記憶部14に記憶された情報に基づいて各種情報を生成する。
【0080】
生成部152は、送信対象の情報である送信対象情報の送信者に対応する第1文字列と、送信対象情報の受信者に対応する第2文字列と、送信対象情報の送信日時に対応する第3文字列とに基づいて、送信対象情報の暗号化に用いるパスフレーズを生成する。生成部152は、第1文字列と、第2文字列と、第3文字列とを所定の順序で並べることにより、パスフレーズを生成する。生成部152は、第1文字列及び第2文字列のうち一方に続けて第3文字列を並べ、第3文字列に続けて、第1文字列及び第2文字列のうち他方を並べることにより、パスフレーズを生成する。
【0081】
生成部152は、送信日時を示す数字を含む第3文字列に基づいて、パスフレーズを生成する。生成部152は、送信日時の年月日を含む文字列である第3文字列に基づいて、パスフレーズを生成する。生成部152は、送信者を示す文字列の一部である第1文字列に基づいて、パスフレーズを生成する。生成部152は、送信者のメールアドレスの一部である第1文字列に基づいて、パスフレーズを生成する。生成部152は、受信者を示す文字列の一部である第2文字列に基づいて、パスフレーズを生成する。生成部152は、受信者のメールアドレスの一部である第2文字列に基づいて、パスフレーズを生成する。
【0082】
生成部152は、パスフレーズを用いて送信対象情報を暗号化した暗号化後対象情報を生成する。生成部152は、パスフレーズに含まれる文字列を予め定めた変換手法により変換することにより変換後パスフレーズを生成する。たとえば、一般的な正規表現の処理系において、アルファベット大文字1文字にマッチする正規表現は[A-Z]として、アルファベット小文字1文字にマッチする正規表現は[a-z]として表現することができる。
【0083】
この場合、正規表現化されたパスフレーズ[A-Z][a-z][a-z][a-z][a-z][a-z][a-z]は、パスワードTsukubaとマッチするが、それ以外のパスワードであるShimanoやBianchiともマッチする。そのため、Tsukubaがパスワードであることを知らずに、Tsukubaによって暗号化された添付ファイルを解読するためには、取得したパスフレーズにマッチする26文字の7乗(8,031,810,176通り)の組み合わせの文字列を総当たりで適用して解読しなければならない。その他、正規表現では、特定の文字の集合を表現するための多様な表現が可能であるため、大文字、小文字、数字といった単純な文字の集合のみならず、より複雑な文字の集合を組み合わせて、暗号の強度を制限したパスフレーズの生成が可能である。
【0084】
また、正規表現の場合には、変換前の文字列と変換後の文字列が多対1の関係に対応する不可逆性の高い変換手法であるが、UnicodeやURLエンコーディングは、それらが1対1の関係に対応する可逆変換手法である。このため、パスワードに対して多対1の関係となるパターンの変換手法を適用する前処理で、1対1の関係に対応する変換手法を適用してもよい。たとえば、日本語パスワード「筑波」のURLエンコーディングは、「%E7%AD%91%E6%B3%A2」が対応するため、これを前処理として適用した上で、次のステップでURLエンコーディングされた文字列を正規表現化することにより、暗号の強度を高めることも可能である。
【0085】
生成部152は、パスフレーズに含まれる文字列を正規表現により変換することにより変換後パスフレーズを生成する。生成部152は、第1文字列、第2文字列及び第3文字列の各々を正規表現により変換することにより変換後パスフレーズを生成する。なお、正規表現による変換は、パターンによる変換手法による変換の一例に過ぎず、パターンによる変換は、正規表現による変換に限らず、YYYYMMDD、HHMMSS等の正規表現ではない形式による変換であってもよい。なお、正規表現による変換で正規表現化された文字列はパターンの一例に過ぎず、パターンは、上述したように、YYYYMMDD、HHMMSS等の正規表現ではない形式による変換後の文字列であってもよい。生成部152は、正規表現に限らず、任意のパターンに変換する変換手法により変換を行ってもよい。
【0086】
生成部152は、第1文字列が正規表現により変換された変換後第1文字列、第2文字列が正規表現により変換された変換後第2文字列、及び第3文字列が正規表現により変換された変換後第3文字列の各々を用いて変換後パスフレーズを生成する。生成部152は、変換後第1文字列と、変換後第2文字列と、変換後第3文字列とを所定の規則で組み合わせることに、変換後パスフレーズを生成する。生成部152は、第1文字列と、第2文字列と、第3文字列とに基づいて、電子メールに添付される送信対象情報の暗号化に用いるパスフレーズを生成する。
【0087】
生成部152は、送信対象情報の送信日時を示す情報を用いて、第3文字列を生成する。例えば、生成部152は、所定の文字数の第3文字列を生成する。生成部152は、送信対象情報の送信日時を示す情報を用いて、送信日時を示す数字を含む第3文字列を生成する。生成部152は、送信対象情報の送信日時を示す情報を用いて、送信日時の年月日を含む文字列である第3文字列を生成する。
【0088】
送信部153は、各種情報を送信する。例えば、送信部153は、入力部12により入力されたユーザ操作に従って、外部の情報処理装置へ種々の情報を送信する。例えば、送信部153は、生成部152により生成された暗号化後対象情報を指定された送信先へ送信する。例えば、送信部153は、暗号化後対象情報を他の端末装置10へ送信する。例えば、送信部153は、暗号化後対象情報が添付された電子メールを宛先に指定されたメールアドレスへ送信する。
【0089】
送信部153は、暗号化後対象情報を受信者が利用する他の端末装置10に送信する。送信部153は、パスフレーズに含まれる文字列が予め定めた変換手法により変換された変換後パスフレーズを受信者が利用する他の端末装置10に送信する。
【0090】
送信部153は、パスフレーズを用いて送信対象情報を暗号化された暗号化後対象情報を送信する。送信部153は、パスフレーズに含まれる文字列を予め定めた変換手法により変換することにより生成された変換後パスフレーズを送信する。送信部153は、パスフレーズに含まれる文字列を正規表現により変換することにより生成された変換後パスフレーズを送信する。
【0091】
送信部153は、第1文字列、第2文字列及び第3文字列の各々を正規表現により変換することにより生成された変換後パスフレーズを送信する。送信部153は、第1文字列が正規表現により変換された変換後第1文字列、第2文字列が正規表現により変換された変換後第2文字列、及び第3文字列が正規表現により変換された変換後第3文字列の各々を用いて生成された変換後パスフレーズを送信する。送信部153は、変換後第1文字列と、変換後第2文字列と、変換後第3文字列とを所定の規則で組み合わせることに、変換後パスフレーズを送信する。
【0092】
送信部153は、サービス提供装置50にパスフレーズ生成アプリに関する各種情報の要求を送信する。送信部153は、サービス提供装置50にパスフレーズ生成アプリの提供を要求する。送信部153は、パスフレーズ生成アプリのダウンロードを要求するリクエスト情報等をサービス提供装置50に送信する。
【0093】
なお、上述した制御部15によるパスフレーズ生成処理等の各種の情報処理は、所定のアプリケーションにより行われる場合、制御部15の各部は、例えば、所定のアプリケーションにより実現されてもよい。例えば、制御部15によるパスフレーズ生成処理等の各種の情報処理の処理は、JavaScript(登録商標)などを含む制御情報により実現されてもよい。また、上述したパスフレーズ生成処理等の各種の情報処理が専用アプリにより行われる場合、制御部15は、例えば、所定のアプリ(例えばパスフレーズ生成アプリ等)や専用アプリを制御するアプリ制御部を有してもよい。
【0094】
〔3.情報処理のフロー〕
次に、
図8を用いて、実施形態に係る端末装置10による情報処理の手順について説明する。
図8は、実施形態に係る情報処理の一例を示すフローチャートである。
【0095】
図8に示すように、端末装置10は、送信対象の情報である送信対象情報の送信者に対応する第1文字列と、送信対象情報の受信者に対応する第2文字列とを取得する(ステップS101)。そして、端末装置10は、第1文字列と、第2文字列と、送信対象情報の送信日時に対応する第3文字列とに基づいて、送信対象情報の暗号化に用いるパスフレーズを生成する(ステップS102)。
【0096】
そして、端末装置10は、パスフレーズを用いて送信対象情報を暗号化した暗号化情報を生成する(ステップS103)。そして、端末装置10は、暗号化情報を受信者が利用する端末装置10に送信する(ステップS104)。
【0097】
〔4.適用例〕
なお、上述した例では、パスフレーズ生成処理を含む各種の情報処理を実行する情報処理システム1は、様々な態様で適用されてもよい。以下、この点について例示を記載する。以下に示す適用例における情報処理システム1では、SenderとReceiverはトークンを相互に共有する。すなわち、適用例における情報処理システム1では、Sトークン(「S-Token」と記載する場合がある)及びRトークン(「R-Token」と記載する場合がある)等のトークンを相互共有する。なお、情報処理システム1を適用する態様は、以下に示す例に限られない。
【0098】
〔4-1.システム構成例〕
まず、
図9を用いて、トークンの相互共有態様の一例を説明する。
図9は、トークンの相互共有態様の一例を示す図である。例えば、
図9に示す適用例における情報処理システム1は、クラウドで運用されるLDAP(Lightweight Directory Access Protocol)等のIDaaS(IDentity as a Service)を利用する形態により実現される。なお、
図9では、FW(Firewall)やDMZ(DeMilitarized Zone)のネットワーク設計の詳細については省略する。なお、第1文字列及び第2文字列は、メールアドレスより派生する文字列に限定されず、任意の文字列が採用可能である。例えば、第1文字列および第2文字列は、会社名から組織までブレークダウンされた階層構造の連結文字で、スペシャリティ・珈琲名等の着想に基づく文字列であってもよい。例えば、高価な「cerro azul gesha varietal」など、地域名、農家名など本来階層構造である名称が連結されてユニークな名前を生成する手法と同様の手法により第1文字列および第2文字列が生成されてもよい。これにより、情報処理システム1では、会社でも担当者が定期的に入れ替わっても、推定しやすいパスフレーズ(パスワード)が生成可能となる。この場合、情報処理システム1では、例えば担当者に割り当てられた氏名のみを総当たりで検索するのみで復元が可能となる。
【0099】
例えば、
図9は、法人がトークンを管理する場合の一例を示す。
図9に示す適用例における情報処理システム1では、LDAPサーバであるサーバ装置30a、30bが用いられる場合を一例として示す。なお、サーバ装置30a及びサーバ装置30b等について、特に区別なく説明する場合には、サーバ装置30と記載する。LDAPサーバであるサーバ装置30a及びサーバ装置30bの同期については、サーバ装置30a及びサーバ装置30bは、相互にエントリのレプリケーションを実施する。また、サーバ装置30a及びサーバ装置30b間の通信にはLDAPS(LDAP over SSL/TLS)等のセキュアなプロトコルが採用される。なお、サーバ装置30は、所望のトークンの管理が可能であれば、LDAPサーバに限らず、任意のサーバが用いられてもよい。
【0100】
例えば、サーバ装置30aは、
図9中のSender側でのトークンの管理に用いられるコンピュータ(情報処理装置)である。また、サーバ装置30bは、
図9中のReceiver側でのトークンの管理に用いられるコンピュータ(情報処理装置)である。また、トークンは個人用途の場合、リストによりトークンが管理されてもよい。なお、情報処理システム1では、リストやLDAPサーバ等は将来の復号用に定期的にバックアップされる。
【0101】
サーバ装置30aは、中継器40aを介してインターネット等のネットワークNに接続され、サーバ装置30b等の外部装置と通信可能である。また、サーバ装置30aは、端末装置10aに対してトークンに関する各種情報を提供する。例えば、サーバ装置30aは、中継器40aを介して、端末装置10aと有線または無線により通信可能に接続される。例えば、中継器40aは、ルーターやゲートウェイ装置等の任意の中継用の装置が用いられてもよい。
【0102】
例えば、サーバ装置30aは、S-TokenProviderであるトークン管理装置50aからSトークンとして用いられる文字列に関する情報を取得し、端末装置10aに対してSトークンとして用いられる文字列に関する情報を提供する。例えば、サーバ装置30aは、R-TokenConsumerであるトークン管理装置60aからRトークンとして用いられる文字列に関する情報を取得し、端末装置10aに対してRトークンとして用いられる文字列に関する情報を提供する。なお、トークン管理装置50a及びトークン管理装置60aは、トークンに関して所望の管理が可能であれば、任意の構成が採用可能である。例えば、トークン管理装置50a及びトークン管理装置60aはマスタースレーブ方式により構成され、トークン管理装置50aがマスターとして機能し、トークン管理装置60aがスレーブとして機能する。
【0103】
サーバ装置30bは、中継器40bを介してインターネット等のネットワークNに接続され、サーバ装置30a等の外部装置と通信可能である。また、サーバ装置30bは、端末装置10bに対してトークンに関する各種情報を提供する。例えば、サーバ装置30bは、中継器40bを介して、端末装置10bと有線または無線により通信可能に接続される。例えば、中継器40bは、ルーターやゲートウェイ装置等の任意の中継用の装置が用いられてもよい。
【0104】
例えば、サーバ装置30bは、S-TokenConsumerであるトークン管理装置50bからSトークンとして用いられる文字列に関する情報を取得し、端末装置10bに対してSトークンとして用いられる文字列に関する情報を提供する。例えば、サーバ装置30bは、R-TokenProviderであるトークン管理装置60bからRトークンとして用いられる文字列に関する情報を取得し、端末装置10bに対してRトークンとして用いられる文字列に関する情報を提供する。なお、トークン管理装置50b及びトークン管理装置60bは、トークンに関して所望の管理が可能であれば、任意の構成が採用可能である。例えば、トークン管理装置50b及びトークン管理装置60bはマスタースレーブ方式により構成され、トークン管理装置60bがマスターとして機能し、トークン管理装置50bがスレーブとして機能する。
【0105】
〔4-2.情報処理例〕
ここから、
図9に示す適用例における情報処理システム1での各種の情報処理について説明する。以下では、パスフレーズの生成処理及びトークンの正規表現への変換処理を実行するアプリケーション(以下「S8RApp」ともいう)を用いて端末装置10が各種の処理を実行する場合を一例として説明する。例えば、S8RAppは、上述したパスフレーズ生成アプリにトークンの正規表現への変換に関する処理の機能が追加されたアプリケーションであってもよい。
【0106】
図9では、Senderは、S8RApp等により、以下のような添付ファイルのパスフレーズの生成や正規表現への変換に関する各種の処理を行う。Senderは、S8RAppを起動し、サーバ装置30aからS-Token及びR-Tokenを取得する。また、Senderは、8トークン(「8-Token」と記載する場合がある)を入力する。
【0107】
そして、Senderは、S8RAppにより8-Tokenを正規表現に変換する。例えば、8-Tokenの正規表現への変換には、Receiverが総当たりで復元できる計算量の複雑さレベルの正規表現が用いられる。以下、8-Token(第3文字列)の変換後の正規表現(変換後第3文字列)を8-Regexとする。
【0108】
そして、Senderは、S8RAppによりS-Token及びR-Tokenをそれぞれ正規表現に変換する。例えば、S-Token及びR-Tokenの正規表現への変換については、Senderが変換の複雑さを指定する。Receiverは取得したパスフレーズの先頭または末尾からS-Token及びR-Tokenとのマッチングを実施する。以下、S-Token(第1文字列)の変換後の正規表現(変換後第1文字列)をS-Regexとし、R-Token(第2文字列)の変換後の正規表現(変換後第2文字列)をR-Regexとする。
【0109】
ここで、
図10を用いて、正規表現への変換及びパスフレーズの生成の一例について説明する。
図10は、正規表現への変換及びパスフレーズの生成の一例を示す図である。
【0110】
図10では、S-Tokenである第1文字列FT21、R-Tokenである第2文字列ST21、及び8-Tokenである第3文字列TT21が用いられる場合を一例として示す。なお、
図10中で「パスフレーズ(暗号化用)」で示す暗号化用のパスフレーズPP21の生成については、上述した処理と同様であるため、詳細な説明は省略する。例えば、端末装置10は、第1文字列FT21、第3文字列TT21、第2文字列ST21の順に並べることにより、暗号化用のパスフレーズPP21を生成する。
【0111】
図10では、端末装置10(例えば送信側の端末装置10a)は、例えばS8RAppにより、第1文字列FT21を正規表現に変換する変換処理により、変換後の正規表現(S-Regex)である変換後第1文字列AF21を生成する。また、端末装置10は、例えばS8RAppにより、第2文字列ST21を正規表現に変換する変換処理により、変換後の正規表現(R-Regex)である変換後第2文字列AS21を生成する。また、端末装置10は、例えばS8RAppにより、第3文字列TT21を正規表現に変換する変換処理により、変換後の正規表現(8-Regex)である変換後第3文字列AT21を生成する。
【0112】
そして、
図10では、端末装置10は、変換後第1文字列AF21、変換後第3文字列AT21、変換後第2文字列AS21の順に並べることにより、正規表現へ変換後のパスフレーズとして、
図10中で「パスフレーズ(Regex)」で示す変換後パスフレーズAP21を生成する。なお、上述した処理は一例に過ぎず、端末装置10は、様々な処理により、パスフレーズPP21や変換後パスフレーズAP21を生成してもよい。例えば、S-Regex、R-Regex及び8-Regexの順序は、上記に限らず任意の順序であってもよい。また、S-Regex及びR-Regexは固定文字列であってもよいし、後述するS-Regexのみとしてもよい。また、S-Regex及びR-Regexを8-Regexの前後ではなく内部に埋め込んでもよい。
【0113】
ここから、
図9に戻って、添付ファイルとパスフレーズの送信の例について説明する。Senderは、例えばS8RAppにより生成されたパスフレーズ、すなわち正規表現変換前のパスフレーズ(
図10ではパスフレーズPP21)を利用して添付ファイルを暗号化する。そして、Senderは、添付ファイルをメールにて送信する。また、Senderは、正規表現へ変換後のパスフレーズ(
図10では変換後パスフレーズAP21)を送信する。
【0114】
例えば、正規表現へ変換後のパスフレーズ(「Regexパスフレーズ」ともいう)が通信経路上で捕捉された場合、第三者がRegexパスフレーズを取得しても第三者は総当たりで文字列を生成する必要がある。また、第三者は、S-Regex、8-Regex、R-Regexの区切りをRegexパスフレーズのみでは判定できない。情報処理システム1は、S-Regex及びR-Regexの長さを調整することでパスフレーズの強度を制御可能となる。
【0115】
なお、Regexパスフレーズは添付ファイル付メールの本文またはヘッダ等の任意の箇所に記述してもよいし、別メールにて添付して送信してもよい。すなわち、PPAP(Password付きZIPファイルを送ります、Passwordを送ります、Angoka(暗号化)Protocol(プロトコル))のように2通送らずに、一通目の添付ファイル付メールにRegexパスフレーズを含めてもよい。例えば、Regexパスフレーズを本文に記述した場合、パスフレーズの復元可能性を高めることができる。
【0116】
次に、パスフレーズの解析と添付ファイルの復号化等のReceiverのオペレーションの例について説明する。Receiverは、
図11に示すように、例えばS8RAppによりS-Token及びR-Tokenをマッチングする。
図11は、変換後パスフレーズと各文字列の関係の一例を示す図である。なお、上述した内容と同様の点については、同様の符号を付すこと等により適宜説明を省略する。
【0117】
図11では、Regexパスフレーズを受信した端末装置10(例えば受信側の端末装置10b)は、例えばS8RAppにより、S-Regex及びR-Regex等の部分パスフレーズを判定する。例えば、端末装置10は、S8RAppにより、パスフレーズからS-Regex及びR-Regexを切り出し(抽出し)、残りの8-Regexから総当たり計算で文字列(8-Token)を生成する。そして、端末装置10は、S8RAppにより、S-Token及びR-Tokenと8-Tokenの組合せと、S-Regex、8-Regex、R-Regexの結合順を用いて添付ファイルを復号化する。
【0118】
上述したように、
図9に示す適用例における情報処理システム1では、SenderがSトークン、8トークン、Rトークンでパスフレーズ(パスワード)を生成し、データを暗号化してReceiverに送信し、各トークンを正規表現化して正規表現をReceiverに送信する。Receiverは、正規表現をトークンに変換して、パスワード生成し、データを復元する。したがって、情報処理システム1は、暗号化に関するパスフレーズを適切に生成し、生成したパスフレーズを用いて暗号化した情報を適切に送受信することができる。
【0119】
上述したように、暗号化の際に用いるパスフレーズ(暗号化パスフレーズ)は、復号化の際に用いるパスフレーズ(復号化パスフレーズ)と同一である。このようなパスフレーズを生成する処理は、例えば暗号化の際のみならず、復号化の際にパスフレーズを失念してしまい、これを復元する処理、または自動で暗号化、復号化を行うようなメーラーアプリケーションが暗号化の際や復号化の際にパスフレーズを生成する処理等に内包され、暗号化の際のパスフレーズ生成処理のみならず、復号化の際のパスフレーズ生成処理をも含み得るものである。
【0120】
〔4-3.アプリケーションの実装形態〕
上述したパスフレーズ生成アプリやS8RApp等のアプリケーションの実装形態は、任意の実装形態が採用可能である。例えば、S8RAppは、デスクトップアプリケーション、メーラー用モジュール及びウェブメール用ブラウザ拡張モジュール等の任意の実装形態が採用可能である。これにより、情報処理システム1は、クライアントの環境に柔軟に対応することができる。
【0121】
〔4-4.その他の実装形態〕
なお、上述した態様は一例に過ぎず、S-Regex、8-Regex、R-Regexの並べ順や埋め込みは様々な実装形態(バリエーション)であってもよい。例えば、Receiverは最初にSenderが用いていると想定するS-Tokenと受領したRegexパスフレーズとのマッチングを試行することで、S-Regexのみ固定文字列とする場合等において、開封(復号)の可否を判定可能にしてもよい。例えば、情報処理システム1は、Regexパスフレーズ生成手順として、正規表現を破壊しない制約条件を満たす限りにおいて、8-Regexの任意の位置にR-Regexを埋め込み、さらに任意の位置にS-Regexを埋め込むことで暗号の強度を上げることが可能である。
【0122】
〔4-4-1.受信のプリプロセス〕
情報処理システム1は、マルウェア等の悪意のあるソフトウェア等への対策として、メール受信のプリプロセス(事前処理)としてパスフレーズの解析を行ってもよい。例えば、情報処理システム1では、マルウェア等の悪意のあるソフトウェア等を検出するためのソフトウェア(「マルウェア対策ソフト」ともいう)を運用し、メールを受信する前にサーバ(メールサーバ等)上でマルウェア等の悪意のあるソフトウェア等に関するチェックを行う。
【0123】
この場合、マルウェア対策ソフト(もしくはプリプロセスとしての解析プログラム)がSトークン及びRトークンを取得し、パスフレーズを解析して添付ファイルを検証する。例えば、マルウェア対策ソフトは、S8RAppにより、RegexパスフレーズからSトークン及びRトークンを取得し、取得したSトークン及びRトークン等を用いてパスフレーズを解析して添付ファイルがマルウェア等の悪意のあるソフトウェアであるか否かを判定する。これにより、情報処理システム1は、添付ファイルにパスフレーズ(パスワード)等がかかっている場合であっても適切にマルウェア等の悪意のあるソフトウェアを検出することができる。
【0124】
〔5.プログラム〕
上述してきた端末装置10等のパスフレーズ生成装置(情報処理装置)による処理は、本願に係るパスフレーズ生成プログラムにより実現される。例えば、端末装置10に係る取得部151及び生成部152等は、端末装置10が有するCPUやMPU等によって、パスフレーズ生成プログラムがRAMを作業領域として、パスフレーズ生成プログラムに係る各手順が実行されることにより実現される。
【0125】
例えば、端末装置10に係る取得部151は、端末装置10が有するCPUやMPU等によって、パスフレーズ生成プログラムがRAMを作業領域として、パスフレーズ生成プログラムに係る取得手順が実行されることにより実現される。また、例えば、端末装置10に係る生成部152は、端末装置10が有するCPUやMPU等によって、パスフレーズ生成プログラムがRAMを作業領域として、パスフレーズ生成プログラムに係る生成手順が実行されることにより実現される。また、例えば、端末装置10に係る送信部153は、端末装置10が有するCPUやMPU等によって、パスフレーズ生成プログラムがRAMを作業領域として、パスフレーズ生成プログラムに係る送信手順が実行されることにより実現されてもよい。
【0126】
なお、本願に係る端末装置10が実行する処理は、必ずしも全てがパスフレーズ生成プログラムによって実現されるものでなくてもよい。例えば、端末装置10外の情報等は、端末装置10が有するOS(Operating System)によって取得されてもよい。すなわち、パスフレーズ生成プログラム自体が、上述してきたような端末装置10で実行される処理を実行するのではなく、OSによって取得されたデータ(例えば、会議情報等を表示するために用いるデータ)を受け取ったりすることにより、上述してきた端末装置10の処理を実現するようにしてもよい。
【0127】
〔6.ハードウェア構成〕
上述してきた実施形態に係る端末装置10は、例えば
図12に示すような構成のコンピュータ1000によって実現される。
図12は、端末装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0128】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0129】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定のネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定のネットワークNを介して他の機器へ送信する。
【0130】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0131】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0132】
例えば、コンピュータ1000が実施形態に係る端末装置10として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部15の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定のネットワークNを介してこれらのプログラムを取得してもよい。
【0133】
以上、本願の実施形態を図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0134】
〔7.その他〕
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0135】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0136】
また、上述してきた各実施形態に記載された各処理は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0137】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0138】
1 情報処理システム
10 端末装置(パスフレーズ生成装置)
14 記憶部
15 制御部
151 取得部
152 生成部
153 送信部
50 サービス提供装置
N ネットワーク