(57)【要約】【課題】加算と乗算による簡単で強固な認証方法を提供すること。【解決手段】乱数により一時キーを複数個生成し、当該複数の一時キーにより構成される一時キー配列を生成するステップと、乱数により一時キー配列の行番号及び列番号（「第１の番地」）となる整数を複数個生成し、一時キー取得用配列を生成するステップと、個人キーＰＫに基づいて、一時キー取得用配列における行番号及び列番号を複数個算出するステップと、個人キーＰＫに基づいて算出された一時キー取得用配列における行番号、列番号（複数組）に格納される、一時キー配列における行番号及び列番号（「第２の番地」）を複数個取得するステップと、一時キー配列における第２の番地に格納される、一時キーを複数取得する一時キー取得ステップとを含む認証方法。【選択図】図１
2017050710.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが整数からなる個人キーを入力する入力受付ステップと、
乱数を生成する乱数生成ステップと、
前記乱数生成ステップにより生成された乱数により、整数からなる一時キーを複数個生成し、当該複数個の一時キーにより構成される一時キー配列を生成する一時キー配列作成ステップと、
前記乱数生成ステップにより生成された乱数により、前記一時キー配列の行番号及び列番号となる整数を複数個生成し、当該複数個の整数から構成される一時キー取得用配列を生成する一時キー取得用配列作成ステップと、
個人キー、前記一時キー配列作成ステップにより作成された一時キー配列及び前記一時キー取得用配列作成ステップにより作成された一時キー取得用配列に基づいて、加算と乗算を用いて認証キーを生成する認証キー生成ステップと、
前記入力受付ステップを介してユーザにより入力された個人キーから前記認証キー生成ステップにより認証キーを生成し、前記ユーザを認証設定中状態とする認証設定中状態生成ステップと、
前記ユーザの認証設定中状態において、前記入力受付ステップを介してユーザにより入力された個人キーにより、前記ユーザを認証する認証ステップと、
を備え、
前記認証キー生成ステップは、
個人キーに基づいて、一時キー取得用配列における行番号及び列番号から構成される第１の番地を複数個算出する一時キー取得用配列番地算出ステップと、
前記一時キー取得用配列番地算出ステップにより算出された、一時キー取得用配列における複数の第１の番地に格納される、一時キー配列における行番号及び列番号から構成される第２の番地を複数個取得する一時キー配列番地取得ステップと、
前記一時キー配列番地取得ステップにより取得された、一時キー配列における複数の第２の番地に格納される、複数の一時キーを取得する一時キー取得ステップと、
前記一時キー取得ステップで取得した前記複数の一時キーと個人キーとから認証キーを算出する認証キー算出ステップと、
を備え、
前記認証設定中状態生成ステップは、
前記入力受付ステップを介して個人キーが入力されると、
前記一時キー配列作成ステップにより一時キー配列を作成し、
前記一時キー取得用配列作成ステップにより一時キー取得用配列を作成し、
前記一時キー配列及び前記一時キー取得用配列を予め設定された所定の記憶領域に保存し、
前記認証キー生成ステップにより、前記入力受付ステップを介して入力された個人キー、並びに前記一時キー配列作成ステップにより作成された一時キー配列及び前記一時キー取得用配列作成ステップにより作成された一時キー取得用配列に基づいて、認証キーを生成し、前記認証キーを前記所定の記憶領域に保存し、前記ユーザを認証設定中状態とし、
前記認証ステップは、前記所定の記憶領域に前記ユーザの認証キーが格納されている場合に、
前記認証キー生成ステップにより、前記入力受付ステップを介してユーザにより入力された第２の個人キー、並びに前記所定の記憶領域に保存されている一時キー配列及び一時キー取得用配列に基づいて、第２の認証キーを生成し、
前記所定の記憶領域に保存されている認証キーと前記第２の認証キーとを比較して、一致する場合に前記ユーザの認証成立を判定し、前記ユーザの認証設定中状態を解除し、前記所定の記憶領域に保存された、前記一時キー配列、前記一時キー取得用配列、及び前記認証キーをリセットし、
一致しない場合は、前記ユーザの認証不成立として、前記ユーザの認証設定中状態を維持することを特徴とする認証方法。
【請求項２】
ユーザが整数からなる個人キーを入力する入力受付部と、
乱数を生成する乱数生成部と、
前記乱数生成部により生成された乱数により、整数からなる一時キーを複数個生成し、当該複数個の一時キーにより構成される一時キー配列を生成する一時キー配列作成部と、
前記乱数生成部により生成された乱数により、前記一時キー配列の行番号及び列番号となる整数を複数個生成し、当該複数の整数から構成される一時キー取得用配列を生成する一時キー取得用配列作成部と、
個人キー、前記一時キー配列作成部により作成された一時キー配列及び前記一時キー取得用配列作成部により作成された一時キー取得用配列に基づいて、加算と乗算を用いて認証キーを生成する認証キー生成部と、
前記入力受付部を介してユーザにより入力された個人キーから前記認証キー生成部により認証キーを生成し、前記ユーザを認証設定中状態とする認証設定中状態生成部と、
前記ユーザの認証設定中状態において、前記入力受付部を介してユーザにより入力された個人キーにより、前記ユーザを認証する認証部と、
を備え、
前記認証キー生成部は、
個人キーに基づいて、一時キー取得用配列における行番号及び列番号から構成される第１の番地を複数個算出する一時キー取得用配列番地算出部と、
前記一時キー取得用配列番地算出部により算出された、一時キー取得用配列における複数の第１の番地に格納される、一時キー配列における行番号及び列番号から構成される第２の番地を複数個取得する一時キー配列番地取得部と、
前記一時キー配列番地取得部により取得された、一時キー配列における複数の第２の番地に格納される、複数の一時キーを取得する一時キー取得部と、
前記一時キー取得部で取得した前記複数の一時キーと個人キーとから認証キーを算出する認証キー算出部と、
を備え、
前記認証設定中状態生成部は、
前記入力受付部を介して個人キーが入力されると、
前記一時キー配列作成部により一時キー配列を作成し、
前記一時キー取得用配列作成部により一時キー取得用配列を作成し、
前記一時キー配列及び前記一時キー取得用配列を所定の記憶領域に保存し、
前記認証キー生成部により、前記入力受付部を介して入力された個人キー、並びに前記一時キー配列作成部により作成された一時キー配列及び前記一時キー取得用配列作成部により作成された一時キー取得用配列に基づいて、認証キーを生成し、前記認証キーを前記所定の記憶領域に保存し、前記ユーザを認証設定中状態とし、
前記認証部は、前記所定の記憶領域に前記ユーザの認証キーが格納されている場合に、
前記認証キー生成部により、前記入力受付部を介してユーザにより入力された第２の個人キー、並びに前記所定の記憶領域に保存されている一時キー配列及び一時キー取得用配列に基づいて、第２の認証キーを生成し、
前記所定の記憶領域に保存されている認証キーと前記第２の認証キーとを比較して、一致する場合に前記ユーザの認証成立を判定し、前記ユーザの認証設定中状態を解除し、前記所定の記憶領域に保存された、前記一時キー配列、前記一時キー取得用配列、及び前記認証キーをリセットし、
一致しない場合は、前記ユーザの認証不成立として、前記ユーザの認証設定中状態を維持することを特徴とする認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、「ユーザの認証」に関するもので、ユーザにより入力された個人キーから加算と乗算を用いて認証キーを生成する認証方法に関する。
【背景技術】
【０００２】
従来より、ユーザが真正のユーザであることを認証するための認証システムにおいて、ユーザＩＤとパスワードによる認証方法が採用されている。ここで、パスワードは、例えばハッシングにより、そのユーザの真正性を証明するものである。ここで、ハッシングとは、例えば長いビット列を一定長の短いビット列に圧縮する一方向性ハッシュ関数により、元の値からある一定の長さのハッシュ値を算出し、元の値が少しでも異なれば、ハッシュ値が全く異なるものとなるものである。
具体的なハッシュ関数はこれまでも数多く提案されている。例えば、アメリカ合衆国のＮＩＳＴ（Ｎａｔｉｏｎａｌ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｓｔａｎｄａｒｄｓ  ａｎｄ  Ｔｅｃｈｎｏｌｏｇｙ）は、ハッシュ関数として、ＳＨＡ（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ）ファミリーのＳＨＡ−１を示している。
【０００３】
特許文献１には、認証番号から一方向関数を用いて復号化用ＰＷを生成し、当該生成された復号化用ＰＷが復号化モジュール１２２に設定していた復号化用ＰＷ「Ｆ」に一致する場合に、復号化モジュール１２２が利用可能となることが記載されている（段落［００１９］、［００２０］）。
【０００４】
また、特許文献２には、小型デバイスが認証処理に必要な情報を排他的論理和演算と加算処理のみで生成し、生成した認証情報を認証機器に送信し、認証機器が、受信した認証情報に基づいて、小型デバイスの認証を行うことが記載されている。
【０００５】
また、特許文献３には、認証対象のユーザからのユーザＩＤの入力に応答してランダム数字を生成するステップと、前記ユーザから入力される第１暗証番号とランダム数字とから特定の計算方法により算出される第１文字列を取得するステップと、複数のユーザＩＤに対応付けて第２暗証番号を記憶した記憶手段よりユーザからのユーザＩＤに対応する１つの第２暗証番号を読み出すステップと、読み出された第２暗証番号と第２ランダム数字とから計算方法により第２文字列を算出するステップと、第１文字列と第２文字列とを比較することにより、ユーザの認証を行うステップとを具備する個人認証方法が記載されている。ここで、計算方法は、加算、乗算等の四則演算、及び排他的論理和、論理積等の論理演算を適宜採用できる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−４６０８０号公報
【特許文献２】特開２０１１−１６６５０７号公報
【特許文献３】特開２００６−１４６５８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１には、一方向性関数について具体的な例示はない。また、特許文献２には、小型デバイスが認証処理に必要な情報を排他的論理和演算と加算処理のみで生成し、生成した認証情報を認証機器に送信し、認証機器が、受信した認証情報に基づいて、小型デバイスの認証を行うことが記載されている。また、特許文献３には、認証アルゴリズムにおいて用いられる識別コードが、該識別コードの取得要求が発行されたタイミングで定まる値と固有のセキュリティコードとの演算結果として生成されるため、外部ツールからの識別コードの取得要求タイミングがたとえその発行タイミングで定まる値と同一であったとしても、それによって同一の識別コード、ひいては同一の認証コードが生成されてしまうといった懸念は確実に解消される認証方法が記載されている。
これに対して、本発明は、ユーザにより入力された個人キーから加算と乗算のみにより認証キーを生成するとともに、当該ユーザを認証設定中状態とすることで、例えば公知のアクセス制御システムにおいて、所定のファイルやデータに対するアクセスを制限することを可能とする簡単で強固な認証を提供することで、ユーザは、特別な認証ソフトを導入する必要がなく、例えば、Ｅｘｅｌ（登録商標）のようなツールを用いて、強固な認証方法及び認証システムを実現可能とすることを目的とする。
【課題を解決するための手段】
【０００８】
（１）ユーザが整数からなる個人キーを入力する入力受付ステップと、乱数を生成する乱数生成ステップと、前記乱数生成ステップにより生成された乱数により、整数からなる一時キーを複数個生成し、当該複数の一時キーにより構成される一時キー配列を生成する一時キー配列作成ステップと、前記乱数生成ステップにより生成された乱数により、前記一時キー配列の行番号及び列番号となる整数を複数個生成し、当該複数の整数から構成される一時キー取得用配列を生成する一時キー取得用配列作成ステップと、個人キー、前記一時キー配列作成ステップにより作成された一時キー配列及び前記一時キー取得用配列作成ステップにより作成された一時キー取得用配列に基づいて、加算と乗算を用いて認証キーを生成する認証キー生成ステップと、前記入力受付ステップを介してユーザにより入力された個人キーから前記認証キー生成ステップにより認証キーを生成し、前記ユーザを認証設定中状態とする認証設定中状態生成ステップと、前記ユーザの認証設定中状態において、前記入力受付ステップを介してユーザにより入力された個人キーにより、前記ユーザを認証する認証ステップと、を備え、前記認証キー生成ステップは、個人キーに基づいて、一時キー取得用配列における行番号及び列番号から構成される第１の番地を複数個算出する一時キー取得用配列番地算出ステップと、前記一時キー取得用配列番地算出ステップにより算出された、一時キー取得用配列における複数の第１の番地に格納される、一時キー配列における行番号及び列番号から構成される第２の番地を複数個取得する一時キー配列番地取得ステップと、前記一時キー配列番地取得ステップにより取得された、一時キー配列における複数の第２の番地に格納される、複数の一時キーを取得する一時キー取得ステップと、前記一時キー取得ステップで取得した前記複数の一時キーと個人キーとから認証キーを算出する認証キー算出ステップと、を備え、前記認証設定中状態生成ステップは、前記入力受付ステップを介して個人キーが入力されると、前記一時キー配列作成ステップにより一時キー配列を作成し、前記一時キー取得用配列作成ステップにより一時キー取得用配列を作成し、前記一時キー配列及び前記一時キー取得用配列を所定の記憶領域に保存し、前記認証キー生成ステップにより、前記入力受付ステップを介して入力された個人キー、並びに前記一時キー配列作成ステップにより作成された一時キー配列及び前記一時キー取得用配列作成ステップにより作成された一時キー取得用配列に基づいて、認証キーを生成し、前記認証キーを前記所定の記憶領域に保存し、前記ユーザを認証設定中状態とし、前記認証ステップは、前記所定の記憶領域に前記ユーザの認証キーが格納されている場合に、前記認証キー生成ステップにより、前記入力受付ステップを介してユーザにより入力された第２の個人キー、並びに前記所定の記憶領域に保存されている一時キー配列及び一時キー取得用配列に基づいて、第２の認証キーを生成し、前記所定の記憶領域に保存されている認証キーと前記第２の認証キーとを比較して、一致する場合に前記ユーザの認証成立を判定し、前記ユーザの認証設定中状態を解除し、前記所定の記憶領域に保存された、前記一時キー配列、前記一時キー取得用配列、及び前記認証キーをリセットし、一致しない場合は、前記ユーザの認証不成立として、前記ユーザの認証設定中状態を維持することを特徴とする認証方法。
【０００９】
（１）によれば、加算と乗算のみでハッシュの原理を模擬したもので、加算と乗算のみにより簡単でしかも強固な認証方法を提供することができる。
【００１０】
（２）ユーザが整数からなる個人キーを入力する入力受付部と、乱数を生成する乱数生成部と、前記乱数生成部により生成された乱数により、整数からなる一時キーを複数個生成し、当該複数の一時キーにより構成される一時キー配列を生成する一時キー配列作成部と、前記乱数生成部により生成された乱数により、前記一時キー配列の行番号及び列番号となる整数を複数個生成し、当該複数の整数から構成される一時キー取得用配列を生成する一時キー取得用配列作成部と、個人キー、前記一時キー配列作成部により作成された一時キー配列及び前記一時キー取得用配列作成部により作成された一時キー取得用配列に基づいて、加算と乗算を用いて認証キーを生成する認証キー生成部と、前記入力受付部を介してユーザにより入力された個人キーから前記認証キー生成部により認証キーを生成し、前記ユーザを認証設定中状態とする認証設定中状態生成部と、前記ユーザの認証設定中状態において、前記入力受付部を介してユーザにより入力された個人キーにより、前記ユーザを認証する認証部と、を備え、前記認証キー生成部は、個人キーに基づいて、一時キー取得用配列における行番号及び列番号から構成される第１の番地を複数個算出する一時キー取得用配列番地算出部と、前記一時キー取得用配列番地算出部により算出された、一時キー取得用配列における複数の第１の番地に格納される、一時キー配列における行番号及び列番号から構成される第２の番地を複数個取得する一時キー配列番地取得部と、前記一時キー配列番地取得部により取得された、一時キー配列における複数の第２の番地に格納される、複数の一時キーを取得する一時キー取得部と、前記一時キー取得部で取得した前記複数の一時キーと個人キーとから認証キーを算出する認証キー算出部と、を備え、前記認証設定中状態生成部は、前記入力受付部を介して個人キーが入力されると、前記一時キー配列作成部により一時キー配列を作成し、前記一時キー取得用配列作成部により一時キー取得用配列を作成し、前記一時キー配列及び前記一時キー取得用配列を所定の記憶領域に保存し、前記認証キー生成部により、前記入力受付部を介して入力された個人キー、並びに前記一時キー配列作成部により作成された一時キー配列及び前記一時キー取得用配列作成部により作成された一時キー取得用配列に基づいて、認証キーを生成し、前記認証キーを前記所定の記憶領域に保存し、前記ユーザを認証設定中状態とし、前記認証部は、前記所定の記憶領域に前記ユーザの認証キーが格納されている場合に、前記認証キー生成部により、前記入力受付部を介してユーザにより入力された第２の個人キー、並びに前記所定の記憶領域に保存されている一時キー配列及び一時キー取得用配列に基づいて、第２の認証キーを生成し、前記所定の記憶領域に格納されている認証キーと前記第２の認証キーとを比較して、一致する場合に前記ユーザの認証成立を判定し、前記ユーザの認証設定中状態を解除し、前記所定の記憶領域に保存された、前記一時キー配列、前記一時キー取得用配列、及び前記認証キーをリセットし、一致しない場合は、前記ユーザの認証不成立として、前記ユーザの認証設定中状態を維持することを特徴とする認証システム。
【００１１】
（２）によれば、加算と乗算のみでハッシュの原理を模擬したもので、加算と乗算のみにより簡単でしかも強固な認証システムを提供することができる。
【発明の効果】
【００１２】
本発明によれば、加算と乗算のみにより簡単で強固な認証を実現可能とすることで、ユーザは、特別な認証ソフトを導入する必要がなく、例えば、Ｅｘｅｌ（登録商標）のようなツールを用いて、強固な認証方法及び認証システムを実現できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態における認証方法を行うための認証システム１の機能的構成を示すブロック図である。
【図２】本発明の一実施形態における、一時キー取得用配列番地算出部１６１の処理の流れを示すフローチャートの図である。
【図３】本発明の一実施形態における、認証設定中状態生成部１７の処理の流れを示すフローチャートの図である。
【図４】本発明の一実施形態における、認証部１８の処理の流れを示すフローチャートの図である。
【図５】本発明の一実施形態における認証システムを適用した、閲覧制御システムの動作に伴う表示例を示す図である。
【図６】本発明の一実施形態における認証システムを適用した、閲覧制御システムの動作に伴う表示例を示す図である。
【図７】本発明の一実施形態における認証システムを適用した、閲覧制御システムの動作に伴う表示例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について、図面を参照しながら説明する。
［認証システム］
認証システム１は、例えばユーザの利用する所定のファイルに対して、ユーザにより入力された個人キーＰＫに基づいてユーザの認証キーＣＫを生成することで、当該所定のファイルを当該ユーザの認証設定中状態とし、当該ユーザの認証設定中状態を解除するために、当該ユーザにより入力された個人キーＰＫ´に基づいて認証キーＣＫ´を生成し、認証キーＣＫと認証キーＣＫ´とが一致する場合に、ユーザの認証が成立したと判定し、当該ユーザの認証設定中状態を解除するシステムである。
そうすることで、所定のファイルが当該ユーザの認証設定中状態の間、当該ユーザによる認証が成立しない限り、所定のファイルの利用制限をし、不正アクセスを防止することを可能とする。
なお、不正アクセス防止対象としては、所定のファイルに限定されない。例えば、公知のアクセス制御システムにおいて、当該ユーザによる認証が成立しない限り、アクセスを制限するように適用することができる。
【００１５】
ここで、電子機器は、公知のコンピュータ、例えば、パソコン、ノート型パソコンの外、タブレット端末、スマートフォン、携帯電話等の携帯端末、サーバー、クラウド等として構成することができる。電子機器は、例えば、制御部として、中央処理装置（ＣＰＵ）を備える他、記憶部として、例えばメモリ（ＲＡＭ、ＲＯＭ）、ハードディスク（ＨＤＤ）及び光ディスク（ＣＤ、ＤＶＤ等）を、表示部として、例えば、液晶ディスプレイ、プラズマディスプレイ等の各種ディスプレイを、入力部として、例えば、キーボードポインティング・デバイス（マウス、トラッキングボール等）、及び表示部の表示面に重ねて設けられたタッチパネル等の入力装置等を、通信部として、各種有線及び無線ＬＡＮ装置を、適宜備え、これらはバスラインにより接続されているように構成される。
【００１６】
制御部は、ＣＰＵ、ＲＡＭ、ＲＯＭ、Ｉ／Ｏ等を有するマイクロプロセッサにより構成される。ＣＰＵは、記憶部から読み出した各プログラムを実行し、その実行の際にはＲＡＭ、ＲＯＭ、及び記憶部から情報を読み出し、ＲＡＭ及び記憶部に対して情報の書き込みを行い、通信部、表示部、及び入力部等と信号の授受を行う。
【００１７】
記憶部は、例えば半導体メモリ等で構成され、オペレーティングシステム（ＯＳ）や認証システム１のプログラム等が記憶される。なお、認証システム１のプログラムについては、記憶部に予め記憶しておく構成でもよい。また、通信部を介して、ネットワーク上のサーバーから適宜取得する構成でもよい。
【００１８】
［認証システムの構成］
図１に、本発明の一実施形態における認証方法を行うための認証システム１の機能的構成を示す。
【００１９】
制御部は認証システム１のプログラムを実行することによって、電子機器に所定の手段（以下、「認証制御部」と総称する）として機能させるように構成することができる。
制御部によって、実現される機能には、後述するように、ユーザが所定の桁数以下となる整数となる個人キーを入力する入力受付部１１と、データ保存部１２と、乱数を生成する乱数生成部１３と、前記乱数生成部１３により生成された乱数により、所定の桁数以下となる整数からなる一時キーを複数個生成し、当該複数の一時キーにより構成される一時キー配列を生成する一時キー配列作成部１４と、前記乱数生成部１３により生成された乱数により、前記一時キー配列の行番号及び列番号に対応する番号を複数個生成し、当該複数の番号から構成される一時キー取得用配列を生成する一時キー取得用配列作成部１５と、個人キー、一時キー取得用配列、及び一時キー配列に基づいて、認証キーを生成する認証キー生成部１６と、前記入力受付部１１を介してユーザにより入力された個人キーから前記認証キー生成部１６により認証キーを生成し、前記ユーザを認証設定中状態とする認証設定中状態生成部１７と、前記ユーザの認証設定中状態において、前記入力受付部１１を介してユーザにより入力された個人キーにより、前記ユーザを認証する認証部１８が含まれる。
これらの制御部の詳細については、後述する。
【００２０】
ここで、本発明の一実施形態を説明するために、個人キーＰＫを例えば、５桁以上３０桁以下の整数とし、一時キー配列及び一時キー取得用配列をそれぞれ３０行３０列からなる配列とし、一時キー配列の各要素に格納される一時キーを１５桁以下の整数とし、一時キー取得用配列の各要素に格納されるデータは、１〜３０の値をとるものとする。なお、個人キーの桁数、一時キー配列及び一時キー取得用配列の行列の大きさ、及び一時キーの桁数は、本実施形態に限定されるものではない。当業者であれば、本発明の目的を達成できる範囲で適宜変更できる。
【００２１】
［入力受付部１１］
入力受付部１１は、例えば端末の表示部に表示される入力フォーム等により構成され、ユーザから所定の桁数以下となる整数となる個人キーＰＫの入力を受け付ける。
【００２２】
［データ保存部１２］
データ保存部１２は、後述する一時キー配列、一時キー取得用配列、及び認証キーＣＫを予め設定された所定の記憶領域に保存する。
【００２３】
［乱数生成部１３の構成］
乱数生成部１３は、例えば、乱数関数を適用することで、乱数を生成するように構成することができる。ここでは、例えば、１５桁以内となる整数（乱数）を９０個ランダムに生成する。
【００２４】
［一時キー配列作成部１４の構成］
一時キー配列作成部１４は、乱数生成部１３により生成された、９０個の１５桁以内となる整数（乱数）を、３０行３０列の一時キー配列の各要素に格納することで、３０行３０列からなる、一時キー配列を生成する。
【００２５】
［一時キー取得用配列作成部１５の構成］
一時キー取得用配列作成部１５は、乱数生成部１３により、１以上３０以下となる整数を９０個ランダムに生成し、３０行３０列の一時キー取得用配列の各要素に格納する。
【００２６】
［認証キー生成部１６の構成］
図１に示すように、認証キー生成部１６は、個人キーＰＫに基づいて、一時キー取得用配列における行番号及び列番号からなる第１の番地を複数個算出する一時キー取得用配列番地算出部１６１と、一時キー取得用配列番地算出部１６１により算出された、一時キー取得用配列における複数の第１の番地に格納される、１以上３０以下となる一時キー配列における行番号及び列番号からなる第２の番地を複数個取得する一時キー配列番地取得部１６２と、一時キー配列番地取得部１６２により取得された、一時キー配列における複数の第２の番地に格納される、複数の一時キーを取得する一時キー取得部１６３と、一時キー取得部１６３で取得した複数の一時キーＴＫと個人キーＰＫとから認証キーＣＫを算出する認証キー算出部１６４と、を備える。
そうすることで、認証キー生成部１６は、ユーザにより入力された個人キーＰＫから加算と乗算を用いて認証キーＣＫを生成する。
以下に、認証キー生成部１６を構成する各部の詳細について説明する。
【００２７】
［一時キー取得用配列番地算出部１６１の機能］
図２に、一時キー取得用配列番地算出部１６１の処理の流れを示す。
【００２８】
ＳＴ１において、一時キー取得用配列番地算出部１６１は、個人キーＰＫが３０桁未満の場合には、先頭からゼロ埋めすることにより、３０桁の整数に変換する。
【００２９】
ＳＴ２において、一時キー取得用配列番地算出部１６１は、（式１）に示すように、３０桁の整数となる個人キーＰＫを５桁ごとに分割して、５桁の整数を６個（ＡＮｉ）算出する。
ＰＫ  ＝  ＡＮ６ＡＮ５ＡＮ４ＡＮ３ＡＮ２ＡＮ１                （式１）
ここで、ＡＮｉは５桁の整数
【００３０】
ＳＴ３において、一時キー取得用配列番地算出部１６１は、（式２）に示すように６個の５桁の整数をそれぞれ二乗して、それらを加算した値（Ａ２）を算出する。
Ａ２  ＝  Σ（１≦ｉ≦６）  ＡＮｉ２                            （式２）
【００３１】
ＳＴ４において、一時キー取得用配列番地算出部１６１は、算出した値Ａ２を（式３）に示すように、例えば、定数５０で除算し、剰余Ａ５０＿０を算出する。
Ａ２  ＝  ５０＊Ｎ１  ＋  Ａ５０＿０                        （式３）
【００３２】
ＳＴ５において、一時キー取得用配列番地算出部１６１は、（式４）に示すように、算出した剰余Ａ５０＿０を始点として、一連の必要数分（例えば、８０個）を所定の値で増分して、８０個の整数（Ａ５０＿０＋Ｂ（ｉｊ））（１≦ｉ≦４０、１≦ｊ≦２）を算出する。
Ｂ（ｉｊ）  ＝  ｉ＋４０＊（ｊ−１）                        （式４）
【００３３】
ＳＴ６において、一時キー取得用配列番地算出部１６１は、（式５）に示すように、上記（式２）で算出されたＡ２を各（Ａ５０＿０＋Ｂ（ｉｊ））で除算し、８０個の剰余Ａ５０（ｉｊ）を算出する。
Ａ２  ＝  （Ａ５０＋Ｂ（ｉｊ））＊Ｎ２  ＋  Ａ５０（ｉｊ）    （式５）
１≦ｉ≦４０、１≦ｊ≦２
【００３４】
ＳＴ７において、一時キー取得用配列番地算出部１６１は、（式６）に示すように、（式５）で算出された各Ａ５０（ｉｊ）を３０で除算し、剰余Ａ３０´（ｉ、ｊ）を算出する。
Ａ５０（ｉｊ）  ＝  ３０＊Ｎ  ＋  Ａ３０´（ｉ、ｊ）        （式６）
【００３５】
ＳＴ８において、一時キー取得用配列番地算出部１６１は、（式７）に示すように、剰余Ａ３０´（ｉ、ｊ）に１を加算して、１以上３０以下の値となる乱数Ａ３０（ｉ，ｊ）を算出する。
Ａ３０（ｉ，ｊ）＝  Ａ３０´（ｉ、ｊ）＋１                  （式７）
【００３６】
ＳＴ９において、一時キー取得用配列番地算出部１６１は、８０個の値Ａ３０（ｉ，ｊ）に基づいて、２つの値（行番号、列番号）からなる４０組の第１の番地（行番号、列番号）を算出する。
【００３７】
［一時キー配列番地取得部１６２の構成］
一時キー配列番地取得部１６２は、一時キー取得用配列番地算出部１６１で算出された４０組の第１の番地（行番号、列番号）に基づいて、一時キー取得用配列の配列データを４０個取得する。
次に、一時キー配列番地取得部１６２は、一時キー取得用配列から取得した４０個の値に基づいて２０組の第２の番地（行番号、列番号）を算出する。なお、一時キー取得用配列から取得した４０個の値から、２個の値からなる２０組を算出する際、どのような順番で２個の値を１組とするかは、適宜設定することができる。
【００３８】
［一時キー取得部１６３の構成］
一時キー取得部１６３は、一時キー配列番地取得部１６２により算出された２０組の番地（行番号、列番号）に基づいて、一時キー配列の配列データすなわち、一時キーＴＫを２０個取得する。
【００３９】
［認証キー算出部１６４の構成］
認証キー算出部１６４は、一時キー取得部１６３により取得した２０個の一時キーＴＫｉと個人キーＰＫに基づいて、式（８）に示すように、認証キーＣＫを算出する。
ＣＫ  ＝  ＴＫ１＊ＴＫ２＋ＴＫ３＊ＴＫ４＋・・・ＴＫ１９＊ＴＫ２０＋ＰＫ  （式８）
【００４０】
［認証設定中状態生成部１７の機能］
図３に、本発明の一実施形態における認証設定中状態生成部１７の処理の流れを示す。
【００４１】
ＳＴ１１において、認証設定中状態解除時に、認証設定中状態生成部１７は、入力受付部１１を介して個人キーＰＫが入力される。
【００４２】
ＳＴ１２において、認証設定中状態生成部１７は、一時キー配列作成部１４により一時キー配列を作成する。
【００４３】
ＳＴ１３において、認証設定中状態生成部１７は、一時キー取得用配列作成部１５により一時キー取得用配列を作成する。
【００４４】
ＳＴ１４において、認証設定中状態生成部１７は、ＳＴ１２において作成した一時キー配列、及びＳＴ１３において作成した一時キー取得用配列を、データ保存部１２により所定の記憶領域に保存する。
【００４５】
ＳＴ１５において、認証設定中状態生成部１７は、認証キー生成部１６により、入力受付部１１を介して入力された個人キーＰＫ、並びにＳＴ１１において一時キー配列作成部１４により作成された一時キー配列及びＳＴ１２において一時キー取得用配列作成部１５により作成された一時キー取得用配列に基づいて、認証キーＣＫを生成する。
【００４６】
ＳＴ１６において、認証設定中状態生成部１７は、ＳＴ１５において生成した認証キーＣＫをデータ保存部１２により所定の記憶領域に保存し、当該ユーザを認証設定中状態とする。
当該ユーザを認証設定中状態とすることで、例えば公知のアクセス制御システムにおいて、当該ユーザによる認証が成立しない限り、所定のファイルやデータに対するアクセスを制限し、不正アクセスを防止するように制御することができる。
【００４７】
［認証部１８の構成］
図４に、本発明の一実施形態における認証部１８の処理の流れを示す。
【００４８】
ＳＴ２１において、認証部１８は、所定の記憶領域にユーザの認証キーＣＫが保存されている場合（認証設定中状態）に、入力受付部１１を介してユーザにより個人キーＰＫ´が入力される。
【００４９】
ＳＴ２２において、認証部１８は、認証キー生成部１６により、入力受付部１１を介して入力された個人キーＰＫ´、並びに所定の記憶領域に保存されている一時キー配列及び一時キー取得用配列に基づいて、認証キーＣＫ´を生成する。
【００５０】
ＳＴ２３において、認証部１８は、所定の記憶領域に保存されている認証キーＣＫと認証キー生成部１６により生成された認証キーＣＫ´とを比較する。認証キーＣＫと認証キーＣＫ´とが一致する場合にＳＴ２４に移る。一致しない場合、エンドに移る。（なお、ＳＴ２１に戻ってもよい。）
【００５１】
ＳＴ２４において、認証部１８は、当該ユーザの認証が成立したとして、当該ユーザの認証設定中状態を解除する。
【００５２】
ＳＴ２５において、認証部１８は、所定の記憶領域に保存されている、一時キー配列、一時キー取得用配列、及び認証キーＣＫをリセットする。
【００５３】
このように、認証部１８は、ユーザの認証が成立したと判定した場合に当該ユーザの認証設定中状態を解除することで、例えば公知のアクセス制御システムにおいて、当該ユーザからの所定のファイルやデータに対するアクセスを許可するように制御することができる。
なお、認証キーＣＫと認証キーＣＫ´とが一致しない場合、認証部１８は、当該ユーザの認証設定中状態を維持する。
こうすることで、認証部１８は、当該ユーザの認証が成立しない限り、例えば公知のアクセス制御システムにおいて、当該ユーザからの所定のファイルやデータに対するアクセスを制限するように維持することができる。
【００５４】
本発明の認証システム１によれば、認証番号により生成された認証キーは、一度認証される度に、認証解除状態になり、認証キー、一時キー配列、及び一時キー取得用配列がリセットされる。そして、次に当該ユーザが同じ認証番号（個人キーＰＫ）により認証キーを生成する場合、前回とは異なる新たな認証キーが生成されることになり、安全性をより担保することが可能となる。
【００５５】
［認証システム１の適用例］
次に、本発明の認証システム１を適用した具体的な閲覧制御システム２について説明する。
ここで、図５〜図７は、本発明の認証システム１を適用した秘密情報送受信の利用形態による閲覧制御システム２における動作を示した図である。
ここで閲覧制御システム２とは、作成者が作成したパスワード（以下「ＰＷ」ともいう）付文書を作成者端末２０から閲覧者端末１０に送信する。他方、当該ＰＷ情報をＰＷ通知用ファイルに格納して、作成者端末２０から閲覧者端末１０に送信する。そうすることで、正当な閲覧者は、ＰＷ通知用ファイルに格納されたＰＷにアクセスすることができ、ＰＷ付文書を解読し、閲覧できるようにするものである。
【００５６】
前述したように、閲覧制御システム２は、パスワード（以下「ＰＷ」ともいう）を通知するためのＰＷ通知用ファイルを用いて、ＰＷ情報を受け取る閲覧者端末１０とＰＷ情報を送る作成者端末２０との間でＰＷ情報の閲覧の制御を行う。
ＰＷ通知用ファイルは、暗号化モジュールと、復号化モジュールと、情報記憶領域と、を含んで構成され、作成者が作成したＰＷ情報を格納し、作成者・閲覧者間を行き来する。
復号化モジュールは、閲覧者の認証によって、利用可否の設定が可能に構成される。利用可否の設定方法は、認証システム１を適用することで、閲覧者が設定した認証番号（個人キーＰＫ）に基づき、復号化モジュールを当該閲覧者の認証が無ければ、利用できないようにアクセス制御する。
なお、暗号化モジュールの利用については、特に利用制限をかけない。
【００５７】
（１）初めに、図５に示すように、本発明の認証システム１を適用して、閲覧者端末１０は、入力フォーム２１１により受け付けた閲覧者の認証情報（「個人キー」に相当）に基づいて、ＰＷ通知用ファイルにおける復号化モジュールを当該閲覧者の認証設定中の状態に設定する。具体的には、作成者端末２０は、入力フォーム２１１により受け付けた閲覧者の認証情報（「個人キー」）を、例えば認証ボタン２１２を操作することで、認証システム１により、ＰＷ通知用ファイルにおける復号化モジュールを当該閲覧者の認証設定中の状態に設定する。そうすることで、閲覧制御システム２は、復号化モジュールを当該閲覧者の認証がなければ利用不可能となる。その後、閲覧者は、閲覧者の認証設定中の状態に設定されたＰＷ通知用ファイルを作成者端末２０に対して送信する。
【００５８】
（２）次に、図６に示すように、作成者端末２０は、入力フォーム２２１により受け付けた作成者の入力したＰＷを、例えば施錠ボタン２２２を操作することで、暗号化モジュールによりＰＷ情報を暗号化してＰＷ通知用ファイルに格納することで、正当な閲覧者以外、ＰＷ情報を判読できない状態とする。
ここで、ＰＷ通知用ファイルにおける復号化モジュールは、閲覧者の認証設定中の状態に設定されたままであり、復号化モジュールは依然として当該閲覧者の認証がなければ利用不可能な状態である。
その後、作成者は、作成者端末２０を介して、閲覧者の認証設定中の状態に設定されたままのＰＷ通知用ファイルを、閲覧者の閲覧者端末１０に対して送信する。
【００５９】
（３）図７に示すように、作成者端末２０から閲覧者端末１０を介してＰＷ通知用ファイルを受け取った閲覧者は、本発明の認証システム１を適用して、閲覧者の認証番号を閲覧者端末１０の入力フォーム２１１を介して入力することにより、当該閲覧者が認証されて、当該閲覧者の認証設定中の状態に設定されたＰＷ通知用ファイルにおける復号化モジュールを認証解除状態にする。
より具体的には、閲覧者は、入力フォーム２１１に閲覧者の認証情報（「個人キー」）を入力し、開錠ボタン２１３を操作することで、認証システム１により、閲覧者の認証を行う。閲覧者の認証が成立した場合、当該閲覧者の認証設定中の状態が解除されて、閲覧者は、ＰＷ通知用ファイルの復号化モジュールを利用可能となる。
その後、暗号化されたＰＷ情報は復号化モジュールによって復号され、ＰＷ情報が閲覧者に対して表示されるように制御できる。
【００６０】
以上、説明したように構成された本実施形態によれば、ユーザにより入力された個人キーＰＫから加算と乗算のみを用いて認証キーを生成し、当該ユーザの認証設定中状態とする簡単でかつ強固な認証システムを提供する。例えば、所定のファイルを認証設定中状態とすることで、公知のアクセス制御システムにおいて、当該ユーザからの所定のファイルやデータに対するアクセスを制限するように制御することが可能となる。
【００６１】
また、本実施形態によれば、当該ユーザの認証設定中状態において、ユーザにより個人キーが入力された場合、当該個人キーから加算と乗算のみを用いて第２認証キーを算出し、認証設定中状態の認証キーと一致するか否かを判定し、一致する場合に、ユーザの認証が成立したとして認証設定中状態を解除する、簡単でかつ強固な認証方法及び認証システムを提供する。これにより、例えば、公知のアクセス制御システムにおいて、当該ユーザからの所定のファイルやデータに対するアクセスを許可するように制御することが可能となる。
【００６２】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。例えば、上述した実施形態においては、個人キーＰＫを整数として説明したが、それに限るものではない。例えば、整数に換えて、英数記号文字列を入力してもよい。
この場合、英数記号文字列を整数に変換する整数変換部を備えることにより、個人キーＰＫを英数記号文字列とすることができる。
【００６３】
また、上述した実施形態においては、個人キーＰＫを例えば、５桁以上３０桁以下の整数とし、一時キー配列及び一時キー取得用配列をそれぞれ３０行３０列からなる配列とし、一時キー配列の各要素に格納される一時キーを１５桁以下の整数とし、一時キー取得用配列の各要素に格納されるデータは、１〜３０の値をとるものとしたが、個人キーの桁数、一時キー配列及び一時キー取得用配列の行列の大きさ、及び一時キーの桁数は、適宜変更してもよい。
【００６４】
以上に記載した各機能ブロックは、ハードウェア、又はメモリ上に展開しハードウェアを制御することでその作用が得られるソフトウェア、又はハードウェア及びソフトウェアの両方として実現されうる。具体的には、コンピュータを利用するものであれば、ＣＰＵ、メモリ、ハードディスクドライブ、ＣＤ−ＲＯＭ／ＤＶＤ−ＲＯＭ等の読み取りドライブ、各種通信用の送受信ポート・インターフェイス・その他の周辺装置等のハードウェア構成部、それらハードウェアを制御するためのドライバプログラム、その他アプリケーションプログラム等が挙げられる。
【００６５】
さらに、この発明は装置又はシステムとして実現できるのみでなく、方法としても実現可能である。またこのような発明の一部をソフトウェアとして構成することもできる。さらにそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品、及び同製品を固定した記録媒体も、当然にこの発明の技術的な範囲に含まれる（本明細書の全体を通じて同様である。）
【００６６】
本発明の認証システム１は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図１の機能的構成は例示に過ぎず、特に限定されない。すなわち、本発明の認証システム機能に関する一連の処理を全体として実行できる機能が認証システム１に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図１の例に限定されない。
また、１つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組合せで構成してもよい。
【００６７】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータであってもよい。
【００６８】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布されるリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディアは、例えば、磁気ディスク（フロッピディスクを含む）、ブルーレイディスク、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等により構成される。光磁気ディスクは、ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）、等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている記憶部に含まれるハードディスク等で構成される。
【符号の説明】
【００６９】
１  認証システム
１１  入力受付部
１２  データ保存部
１３  乱数生成部
１４  一次キー配列作成部
１５  一次キー取得用配列作成部
１６  認証キー生成部
１６１  一次キー取得用配列番地算出部
１６２  一次キー配列番地取得部
１６３  一次キー取得部
１６４  認証キー算出部
１７  認証設定中状態生成部
１８  認証部
２  閲覧制御システム
１０  閲覧者端末
２１１  入力フォーム
２１２  認証ボタン
２１３  開錠ボタン
２０  作成者端末２０
２２１  入力フォーム
２２２  施錠ボタン
【図１】
2017050710.tif 000003
【図２】
2017050710.tif 000004
【図３】
2017050710.tif 000005
【図４】
2017050710.tif 000006
【図５】
2017050710.tif 000007
【図６】
2017050710.tif 000008
【図７】
2017050710.tif 000009