(57)【特許請求の範囲】
【請求項１】
認証コードを生成するコンピュータ応用システムであって：
・ユーザ入力を基本文として受け取る、複数の英数字と特殊文字を持つユーザ入力モジュール、
・前記ユーザ入力モジュールと連携機能し、ユーザが入力した基本文の合計文字を計算し最も近い完成した正方マトリックスを決定する第一の計算素子を含み、基本文の各文字を第一のマトリックスの各セルに代入して第一のマトリックスを生成する第一のマトリックスジェネレータ、
・前記第一のマトリックスジェネレータと連携機能し、前記第一のマトリックスジェネレータによって生成された第一のマトリックスの少なくとも一つのセルを選択してパターンを生成するパターンジェネレータ、
・前記パターンジェネレータと連携機能し、前記パターンジェネレータによって生成されたパターン群から一つのパターンをユーザが選択することを可能にするパターンセレクタ、および
・前記パターンセレクタと連携機能し、最初に入力した基本文に基づいて認証コードを生成するコード生成エンジンを備え、
前記コード生成エンジンは、
・・前記選択されたパターンの各文字のASCII値を抽出するように構成された第一の抽出素子を含み、列数が第一のマトリックスの行数と等しい第二のマトリックスの各セルに、選択されたパターンの各文字のASCII値を代入して第二のマトリックスを生成する第二のマトリックスジェネレータを有していることと、
前記システムは、
・・・選択されたパターンの各文字の少なくとも一つの座標を抽出する第二の抽出素子、および
・・・前記第二の抽出素子と連携機能し、選択されたパターンの抽出された座標に含まれる合計文字数を計算する第二の計算素子、を有し、
・・・前記第二の抽出素子によって抽出された座標値を第三のマトリックスの各セルに代入して第三のマトリックスを生成する第三のマトリックスジェネレータをさらに備え、
前記第三のマトリックスは、前記第二の計算素子によって計算された座標文字合計数に基づいて最も近い完成した正方マトリックスに対応することと、
・・前記第二のマトリックスジェネレータおよび前記第三のマトリックスジェネレータと連携機能する第四のマトリックスジェネレータをさらに備え、該第四のマトリックスジェネレータは、第二のマトリックスと第三のマトリックスを掛け合わせマトリックスを乗算するマトリックス乗算素子を有し、マトリックスの乗算で得られた少なくとも一つの値を第四のマトリックスの各セルに代入することによって第四のマトリックスを生成することと、
・・前記第四のマトリックスジェネレータと連携し、前記第四のマトリックスの各セル値を１６進値に変換する１６進数コンバータ、および
・・前記１６進数コンバータと連携機能し、１６進値をハッシュして対応するユーザの認証コードを取得するハッシュコンバータをさらに備えたこと、
を特徴とする認証コードを生成するコンピュータ応用システム。
【請求項２】
請求項１記載の認証コードを生成するコンピュータ応用システムにおいて、前記ハッシュコンバータがSHA-256を使用して認証コードを取得するために１６進値をハッシュする認証コードを生成するコンピュータ応用システム。
【請求項３】
請求項１記載の認証コードを生成するコンピュータ応用システムにおいて、前記第一のマトリックスジェネレータは、さらに基本文の文字が最も近い完成した正方マトリックスにおさまるか否かを判定する決定素子を有し、該決定素子の否定的判定に基づいて最も近い完成した正方マトリックスの列数を一列増やす認証コードを生成するコンピュータ応用システム。
【請求項４】
請求項１記載の認証コードを生成するコンピュータ応用システムにおいて、前記パターンセレクタはユーザが選択されたパターンの文字をカスタム化できるカスタム化モジュールを有し、文字のカスタム化フォーマットは大文字フォーマット、小文字フォーマットおよびこれらの組合せから構成されるグループから選択される認証コードを生成するコンピュータ応用システム。
【請求項５】
請求項１記載の認証コードを生成するコンピュータ応用システムはさらに、
・少なくとも一つの四桁のPINを生成するピンジェネレータを有し、前記ピンジェネレータはユーザが生成されたPINをカスタム化可能に構成され、
・前記パターンセレクタおよび前記ピンジェネレータと連携機能するマスキングモジュールを有し、選択されたパターンをPINでマスクしてマスクされたパターンを生成するマスキングモジュールを備えた、
認証コードを生成するコンピュータ応用システム。
【請求項６】
請求項１記載の認証コードを生成するコンピュータ応用システムは、登録の際に発行されたユーザのログオン情報、ユーザが送信した基本文、選択されたパターンに対応するユーザがカスタム化したパターンおよびマスクされたパターン、PIN、認証コード、ユーザが選択した秘密の質問およびユーザが選択した秘密の質問への答え等のユーザ関連情報を格納するレポジトリをさらに備えた認証コードを生成するコンピュータ応用システム。
【請求項７】
認証コードを生成するコンピュータ応用方法であって、
・複数の英数字からなる基本文文字をユーザ入力として受け取るステップ、
・ユーザが入力した基本文の合計文字数を計算し、ユーザ入力による基本文に含まれる計算された合計文字数に基づいて最も近い完成した正方マトリックスを特定するステップ、
・第一のマトリックスの各セルに基本文のうち少なくとも一つの文字を代入して第一のマトリックスを作成するステップ、
・第一のマトリックスから少なくとも一つのセルを選択してパターンを生成するステップ、
・ユーザが生成されたパターンから一つのパターンを選択できるようにするステップ、
・選択されたパターンの各文字に対応するASCII値を抽出し、選択されたパターンの各文字ASCII値を第二のマトリックスの各セルに代入して第二のマトリックスを生成するステップ、
・選択されたパターンの各文字の少なくとも一つの座標を抽出し、選択されたパターンの抽出された座標に含まれる合計文字数を計算し、第三のマトリックスの各セルに選択されたパターンから抽出された座標値を代入して第三のマトリックスを生成するステップ、
・第二のマトリックスと第三のマトリックスを乗じて第四のマトリックスを得て、第四のマトリックスの各セル値を１６進値に変換するステップ、
・第四のマトリックスの１６進値をハッシュし認証コードを得るステップ、
を含むことを特徴とする認証コードを生成するコンピュータ応用方法。
【請求項８】
請求項７記載の認証コードを生成するコンピュータ応用方法において、前記ユーザ入力による基本文に基づいて計算された合計文字数から最も近い完成した正方マトリックスを識別するステップは、基本文の全文字を最も近い完成した正方マトリックスに代入可能か否かを決定するステップと、代入可能でない結果になった場合は、最も近い完成した正方マトリックスの列数を一つ増やして第一のマトリックスを作成するステップを含む認証コードを生成するコンピュータ応用方法。
【請求項９】
請求項７記載の認証コードを生成するコンピュータ応用方法において、前記選択されたパターンから抽出された座標に含まれる合計文字数を計算するステップはさらに、抽出された完成された正方マトリックスの計算上の合計数に基づいて最も近い完成した正方マトリックスを決定するステップを含む認証コードを生成するコンピュータ応用方法。
【請求項１０】
請求項７記載の認証コードを生成するコンピュータ応用方法において、前記ユーザがパターンを選択できるようにするステップはさらに、選択されたパターンの文字をカスタム化するステップを含み、カスタム化文字フォーマットは大文字、小文字およびこれらの組合せから成るグループから選択される認証コードを生成するコンピュータ応用方法。
【請求項１１】
請求項７記載の認証コードを生成するコンピュータ応用方法は、
・ユーザに対応する個人別暗証番号(PIN)を生成ステップ、および
・選択されたパターンをPINでマスキングするステップ、
を含む認証コードを生成するコンピュータ応用方法。
【請求項１２】
請求項７記載の認証コードを生成するコンピュータ応用方法は、レポジトリに登録の際に発行されたユーザのログオン情報、ユーザが送信した基本文、選択されたパターンに対応するユーザがカスタム化したパターンおよびマスクされたパターン、PIN、認証コード、ユーザが選択した秘密の質問およびユーザが選択した秘密の質問への答え等の少なくとも一つのユーザ関連情報を格納する格納するステップ、を含む認証コードを生成するコンピュータ応用方法。
【請求項１３】
認証コードを復元するコンピュータ応用システムであって、該システムは：
・ユーザ入力による基本文をレポジトリに格納するためにプロセッサがメモリに格納された一組のコマンドを計算する手段であって、
・・前記レポジトリは登録の際に発行されたユーザのログオン情報、ユーザが送信した基本文、選択されたパターンに対応するユーザがカスタム化したパターンおよびマスクされたパターン、PIN、認証コード、ユーザが選択した秘密の質問およびユーザが選択した秘密の質問への答え等の少なくとも一つのユーザ関連情報を格納し、
・・前記レポジトリと連携機能し、基本文の文字を取得する第一の抽出素子と、さらに基本文の各文字のASCII値を抽出する前記第一の抽出素子を有し、基本文の全文字を格納する第一のマトリックスセットであって、同基本文の文字が第一のマトリックスセットにある対応するASCII値によって表される第一のマトリックスセットを生成する第一のマトリックスジェネレータ、
・・前記レポジトリと連携機能し、ユーザが選択した秘密の質問の答えの文字を取得する第二の抽出素子と、さらに同答えの各文字のASCII値を抽出するように構成された前記第二の抽出素子を有し、同答えのすべての文字を格納するための第二のマトリックスセットであって、同答えの文字が第二のマトリックスセットにある対応するASCII値によって表される第二のマトリックスセットを生成する第二のマトリックスジェネレータ、
・・前記第一のマトリックスジェネレータおよび前記第二のマトリックスジェネレータと連携機能し、第一のマトリックスセットに対応する各マトリックスと第二のマトリックスセットに対応する各マトリックスを掛け合わせ、さらにマトリックスの乗算に基づいて第三のマトリックスセットを生成し、これを前記レポジトリに格納する第一のマトリックス乗算素子、
・・前記第一のマトリックスジェネレータおよび前記第二のマトリックスジェネレータと機能し、前記第一のマトリックスセットから選択されたマトリックス、前記第二のマトリックスセットから選択されたマトリックスおよびキーからマトリックスを乗算することによってキーマトリックスを生成する第四のマトリックスジェネレータ、および
・・前記第一のマトリックス乗算素子、前記第四のマトリックスジェネレータおよび前記レポジトリと連携機能し、第三のマトリックスセットに対応する各マトリックスとキーマトリックスを掛け合わせて第四のマトリックスセットを生成し、第四のマトリックスセットを前記レポジトリに格納する第二のマトリックス乗算素子を有することと、
・前記レポジトリに格納されたユーザ入力基本文を復元するためメモリに格納されたコマンドセットにより計算するプロセッサであって、
・・前記レポジトリと連携機能し、第四のマトリックスセット、第二のマトリックスセットおよびキーマトリックスを抽出する第三の抽出素子、
・・前記第三の抽出素子と連携機能し、キーマトリックスと第二のマトリックスセットを転置する転置モジュール、および
・・前記第三の抽出素子および前記転置モジュールと連携機能し、第四のマトリックスに対応する各マトリックスと転置されたキーマトリックスから第一のマトリックスの乗算を実行するとともに、前記第一のマトリックスの乗算の結果として得られたマトリックスに基づいて、さらに各結果マトリックスと転置された第二のマトリックスセットから第二のマトリックスの乗算を実行して基本文を復元する第三のマトリックス乗算素子、を備えたこと、
を特徴とする認証コードを復元するコンピュータ応用システム。
【請求項１４】
請求項１３記載の認証コードを復元するコンピュータ応用システムにおいて、前記第四のマトリックスジェネレータは、
・ユーザが第一のマトリックスセットおよび第二のマトリックスセットからマトリックスを選択してキーマトリックスを生成できるマトリックスセレクタ、および
・ユーザがアクセスしているコンピューティングデバイスのIP（インターネットプロトコル）、ユーザがアクセスしているコンピューティングデバイスのMAC(メディアアクセスコントロール)アドレス、登録ユーザのＥメールアドレスやユーザのコンピューティングデバイスのIMEI(国際携帯端末機器識別子)番号から成るグループから選択されたキーをユーザが入力できるキー入力素子を備えた認証コードを復元するコンピュータ応用システム。
【請求項１５】
請求項１３記載の認証コードを復元するコンピュータ応用システムであって、前記第三のマトリックス乗算素子はさらに第一のマトリックスの乗算が完了すると第三のマトリックスセットを取得する認証コードを復元するコンピュータ応用システム。
【請求項１６】
請求項１３記載の認証コードを復元するコンピュータ応用システムであって、前記第三のマトリックス乗算素子は、さらに第二のマトリックスの乗算が完了すると第一のマトリックスセットを取得するように構成されていて、第一のマトリックスセットは前記レポジトリに格納された基本文の文字のASCII値を表す認証コードを復元するコンピュータ応用システム。
【請求項１７】
認証コードを復元するシステムを実装するコンピュータ応用方法であって、
・ユーザ入力による基本文をレポジトリに格納するためにプロセッサがメモリに格納された一組のコマンドを計算するステップ、
・・登録の際に発行されたユーザのログオン情報、ユーザが送信した基本文、選択されたパターンに対応するユーザがカスタム化したパターンおよびマスクされたパターン、PIN、認証コード、ユーザが選択した秘密の質問およびユーザが選択した秘密の質問への答え等の少なくとも一つのユーザ関連情報をレポジトリに格納するステップ、
・・基本文文字および基本文の各文字の対応するASCII値を抽出するステップ、
・・基本文全文字をマトリックスセルに格納するため第一のマトリックスセットを生成するステップであって、基本文文字は第一のマトリックスセットにある対応するASCII値によって表されるステップ、
・・ユーザが選択した秘密の質問の答えの文字と同答えの各文字に対応するASCII値を抽出するステップ、
・・第二のマトリックスセットを生成して答えの全文字をマトリックスセルに格納するステップであって、答えの文字は対応するASCII値として第一のマトリックスセットに表されるステップ、
・・マトリックスを乗算し、第一のマトリックスセットに対応する各マトリックスと第二のマトリックスセットに対応する各マトリックスを掛け合わせ、さらに、このマトリックスの乗算に基づいて第三のマトリックスセットを生成し、前記レポジトリに格納するステップ、
・・第一のマトリックスセットから選択されたマトリックスと第二のマトリックスセットから選択されたマトリックスおよびキーを掛け合わせてキーマトリックスを生成するステップ、
・・マトリックスを乗算し、各マトリックスはキーマトリックスとともに第三のマトリックスセットに対応し、さらに第四のマトリックスセットを生成し、前記レポジトリに格納するステップ、
・前記レポジトリに格納されたユーザ入力基本文を復元するため前記メモリに格納されたコマンドセットを前記プロセッサが計算するステップ、
・・レポジトリから第四のマトリックスセット、第二のマトリックスセットおよびキーマトリックスを抽出するステップ、
・・キーマトリックスと第二のマトリックスセットにマトリックスの転置を実行するステップ、および
・・第四のマトリックスに対応する各マトリックスと転置されたキーマトリックスを掛け合わせ、マトリックスを乗算し、マトリックスの乗算の結果得られたマトリックスに基づいて、さらに各結果マトリックスと転置された第二のマトリックスセットを掛け合わせてマトリックスを乗算し、基本文を復元するステップ、
を含むこと、を特徴とする認証コードを復元するシステムを実装するコンピュータ応用方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証コードを生成および復元するコンピュータ応用システムおよび方法の分野に関わる。
【背景技術】
【０００２】
本明細書で以下に使用される「コンピューティングデバイス」という用語はこれに限定されることなく、デスクトップＰＣ、携帯電話、ノートブック、タブレット、ｉＰａｄ、ＰＤＡ、ネットブック、有線および／または無線コンピューティングデバイスを含む端末装置等を指す。
【０００３】
本明細書で以下に使用される「認証コード」という表現は限定することなく秘密鍵、パスワード、パスキー、キー、パスコード、シークレットコード、パスフレーズ、ウォッチワード、個人別暗証番号(PIN)およびコードワードを参照する。
以上の定義は、当該技術分野における表現、定義に追加される。
【０００４】
コンピューティング業界では情報のセキュリティを確立することは最も重要である。今日では情報を保護する手法は多数存在する。情報を保護する既知の方法の一つは認証コードまたは情報の暗号化のいずれかにより情報をロックすることにより情報を保護することである。この方法は、許可されたユーザまたは限定数のユーザがロックされた情報にアクセスすることを可能にする。認証コードでロックする情報保護方法は、情報へのアクセスを試行する他のユーザにアクセスさせないようにできる。
【０００５】
認証コードは個人情報に他者がアクセスするのを防止するために極めて重要な機能を果たす。現状のシナリオにおいては、メッセージ、メール、作業環境、写真、銀行口座情報、クレジットカード情報、社会保険関連情報、永続アカウント情報等類似の種類の情報に関わるユーザの情報は、現代生活においてはインターネットによって新たに生まれたデジタル世界への依存性に起因する認証コードよって保護されている。従って、コンピュータ業界がコンピュータクラッカー/ハッカー等として知られる一部のユーザに対して相当脆弱になったのに伴い強力な認証コードを作成し、それを記憶することが極めて重要になった。クラッカーがある特定ユーザの認証コードにアクセスした場合は、ユーザの情報はもはや機密ではなくなり、ユーザの個人情報が漏れ、このために不幸をもたらしたり名誉毀損したり、ゆすりにも至る可能性がある。この事情は、ユーザにコンピュータソフトウェア、クラッカーまたはハッカーによって容易にクラックされることがない強力な認証コードを作成させるに至った。しかしながら、このような認証コードは、文字の組合せが何らかの主題と関連性がないのでユーザに覚えられないほど極めて難解になった。しかしながら、賢明なユーザなら認証コードを記憶するが、それでも経時的には忘れる可能性があり、必要な時に混乱をきたし遅延に至る可能性がある。
【０００６】
従って、ユーザの情報を保護するための強力な認証コードを作成することを可能にすることを目的とするコンピュータ利用システムの必要性が以前から認識されていた。さらに、ユーザが作成した認証コードを容易に思い出せるソリューションのニーズがある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
既知の技術の1つまたは複数の課題を改善するか少なくとも有用な代替手段を提供することを意図する本発明の目的のうちいくつかのものについて以下で説明する。
【０００８】
本発明の目的は認証コードを生成するためのコンピュータ応用システムおよび方法を対象とするコンピュータ応用システムを提供することである。
【０００９】
本発明のもう一つの目的は認証コードを復元するためのコンピュータ応用システムおよび方法を対象とするコンピュータ応用システムを提供することである。
【００１０】
本発明のもう一つの目的は認証コードの生成および復元のために基本文をユーザ入力として受け取るシステムを提供することである。
【００１１】
本発明のもう一つの目的は認証コードの作成についての方針を遵守する認証コードを生成する能力を持つシステムを提供することである。
【００１２】
本発明のもう一つの目的はユーザが覚えやすい認証コードを生成するシステムを提供することである。
【００１３】
本発明のもう一つの目的は複数のユーザカウント用に複数の認証コードの作成を可能にするシステムを提供することである。
【００１４】
本発明のもう一つの目的はユーザの個人情報を保持しつつ高度にセキュアな認証コードを生成するシステムを提供することである。
【００１５】
本発明のもう一つの目的は忘れた認証コードを容易に復元できるようにするシステムを提供することである。
【００１６】
本発明のその他の目的と優位性は、本発明の範囲をこれに限定することは意図されていない添付図面を参照しつつ本明細書を読むと以下の説明からさらに明らかとなる。
【００１７】
本発明の一つの態様は、認証コード生成用コンピュータ応用システムおよび方法を目的としている。システムは基本文をユーザ入力として受け取る。システムは、基本文に含まれる文字を基に、基本文マトリックス計算する。ここに基本文マトリックスの各セルに基本文に対応する文字が代入される。システムによって計算された基本文マトリックスに従い、システムはユーザが望むパターンを選択することが可能な複数のパターンを生成可能である。システムは強力な認証コードを取得するために前向きの経路上で異なる段階においてマトリックスを乗算するように設定されている。
【００１８】
本発明の他の態様は、ユーザ入力による基本文の復元用コンピュータ応用システムおよび方法を提供する。システムは忘れられた認証コードも管理する。この管理は断片化した基本文を異なるマトリックスに入れて断片化マトリックスをマトリックスの乗算を秘密の質問への答えとユーザが提供する秘密鍵で計算した後にレポジトリに保存することによって達成される。
【図面の簡単な説明】
【００１９】
本発明による認証コードを生成および復元するコンピュータ応用システムおよび方法を限定されることがない添付の図面を参照しつつ説明する。同図面は以下の通りである。
【図１】本発明による認証コード生成用コンピュータ応用システムのコンポーネントのシステムレベルブロック図を示している。
【図２】本発明の図１に示した認証コード生成システム１００の実装方法を図解している。
【図３】本発明のユーザ入力による基本文を復元するコンピュータ応用システムのシステムレベルブロック図を図解している。
【図４ａ】本発明の図３に示したユーザ入力基本文の復元システム３００を実装する方法の一部を図解している。
【図４ｂ】本発明の図３に示したユーザ入力基本文の復元システム３００を実装する方法の一部を図解している。
【図５】本発明の忘れられた認証コードを管理するための一実施例を示すフローダイアグラムである。
【図６】本発明の基本文を復元する一実施例を示すフローダイアグラムである。
【発明を実施するための形態】
【００２０】
次に認証コードの生成および復元のコンピュータ応用システムおよび方法について本発明の範囲および目的を限定することを意図したものではない添付の図面を参照しながら説明する。この説明は図を用いて行われる。
【００２１】
本発明の実施例ならびに様々な特徴および優位性の詳細を限定することのない実施例を参照することによって以下に説明する。確立している既存のコンポーネントならびに処理技術についての説明は省略し、本発明の実施例についての理解を不要に困難にしないようにした。本発明に使用されている例は単に本発明の実施例を実用化可能にする方法の理解を容易にし、この分野の当業者が本発明の実施例を実施することを可能にすることのみを目的としている。従って、本発明の実施例の範囲を限定するものと解釈されてはならない。
【００２２】
具体的実施例についての以下の説明は本発明の実施例が持つ一般的性質を十分に明らかにしているので、現状の知識を適用することにより第三者は前記一般的概念から乖離することなく前記具体的実施例を異なる用途のために変更および／または適合することができる。従って、同適合や変更は本発明の実施例と同等の物としての意味およびその範囲で理解ることが意図されるべきであり、意図されている。本明細書に使用されている句節の用法や用語は説明目的のためであって限定するために使用されてはいない。従って、本明細書に記載された実施例は好ましい実施例に基づいて説明されていると同時に、同分野の当業者は、本明細書に記載された実施例を本明細書で説明された実施例の意図および範囲で変更可能であると認めることができる。
【００２３】
近年、銀行口座、メール、作業環境、メッセージ等の情報を保護するための認証コードの作成の際に以下の認証ポリシーに従って強力な認証コードを作成するのは極めて容易であることは認められてきた。強力な認証コードを作成する必要性は、ユーザの情報や個人情報が漏れる原因となっているクラッカーまたはハッカーによる増大する攻撃を原因として認識されている。
【００２４】
しかしながら、ユーザが前記認証コードを想起する必要があるときに問題が発生する。一定期間が経過すると、ユーザは複数の情報源を保護するために複数の認証コードを作成する。従って、複数の認証コードを記憶することはユーザにとって困難な作業となるほか、このために認証コードまたは認証コードの正しい文字の順序を必要な時に忘れている可能性が生じる。既存のソリューションにおいて、認証コードを忘れた場合に、認証コードを復元するため、既存のソリューションはユーザに選択された秘密の質問への答えを選ぶか記入すること、またはユーザ登録の際に入力した他の代替連絡先アカウントを要求する場合がある。後に、ユーザが忘れた認証コードを実際に要求するときには、ユーザの代替連絡先アカウントにリンクが送られて認証コードをリセットするよう求める、またはソリューションがユーザが選択した秘密の質問への答えを求める。ユーザが入力した答えが正解であればソリューションは既存の認証コードをリセット可能にする。しかし、忘れた認証コードを取得する前記方法が失敗した場合、または機能しなかった場合、ユーザはヘルプデスクに電話する羽目になりパニックに陥る。
【００２５】
既存のソリューションが持つ前記問題を回避するため、本発明は認証コード生成のコンピュータ応用システムおよび方法を提供する。本発明のシステムはユーザに情報を保護するための強力な認証コードを作成するのを可能にするばかりではなく、ユーザが認証コードを思い出しやすい仕組みを提供する。ユーザは登録フォームに記入することによってシステムに登録しシステムの機能にアクセスする。登録フォームにはユーザの選択に基づいて認証コードを作成し、認証コードを作成するためにすべての方針を満たすことが可能になるための規定が記載されている。
【００２６】
本明細書で説明される本発明の代表的実施例は、強力な認証コードの作成および認証方針をすべて満たすプロセスである。これらのプロセス（手順）は以下のステップを含む。
・ユーザ入力による基本文の受け取る：「これが私の銀行のパスワード」、
・基本文から認証コードを抽出する:this is my bank passwordとした場合、例えば"thismbakword"が基本文から抽出される。
・抽出されたコードに特殊文字を挿入する：$thismbak*word;
・数字を挿入する：$thismbak*word97;
・大文字と小文字を混ぜる：$thismbAK*word97;そして
・目的の認証コードが取得される：$thismbAK*word97
前記ステップによって作成される認証コードは強力ではあるが、ユーザにとってこの認証コードを常時思い出すのは至難である。
【００２７】
図1は、本発明を適用した認証コード生成用コンピュータ応用システム１００のコンポーネントのシステムレベルブロック図が示されている。システム１００は、メモリに格納されたコンピュータコマンドと、該コンピュータコマンドを実行するコンピューティングデバイスのプロセッサのセットである。システム１００に対応するこのコンピュータコマンドはサーバに保存して通信網からアクセス可能である。システム１００はこれに限定されることなく、ユーザ入力モジュール１０、第一のマトリックスジェネレータ２０、パターンジェネレータ３０、パターンセレクタ４０、コード生成エンジン５０、ピンジェネレータ６０、マスキングモジュール７０、およびレポジトリ９０を含む。ユーザは基本文をシステム１００に入力するよう要求される。この基本文はユーザ入力モジュール１０によって受け取られる。基本文は複数の英数字および特殊文字を含むことができる。英数字は次の文字を含む。
a、b、c、d、e、f、g、h、i、j、k、l、m、n、o、p、q、r、s、t、u、v、w、x、y、z、A、B、C、D、E、F、G、H、I、J、K、L、M、N、O、P、Q、R、S、T、U、V、W、X、Y、Z、0、1、2、3、4、5、6、7、8、9 
特殊文字は以下の文字を含む。
~、!、@、#、$、%、^、&、*、(、)、#、+、=、-、`、,、.、/、\、;、'、[、]、[、]、|、:、"、?、>、<
ユーザ入力モジュール１０は、ユーザ入力による基本文をユーザ入力モジュール１０がこれを介して受け取るキーパッドと接続されたハードウェアポートをインターフェイスとして使用する。
【００２８】
本発明の第一のマトリックスジェネレータ２０は、ユーザ入力モジュール１０と連携して機能し、ユーザが入力した基本文を受け取る。マトリックスジェネレータ２０は、参照数字２２が付された第一の計算素子および参照数字２４が付された決定素子を含む。第一の計算素子２２はユーザ入力による基本文を受け取り、基本文に含まれる合計文字数を計算する。計算された文字数に基づいて、第一の計算素子２２は最も完成度の高いマトリックスを決定する。さらに、決定素子２４は基本文の全文字が決定済みの最も近い完成した正方マトリックスに整合するか否かを判断する。基本文の全文字が最も完成度の高い正方マトリックスに整合しなければ、最も完成度の高い正方マトリックスに列数が一つ追加される。この過程は第一のマトリックスジェネレータ２０によって行われる。第一のマトリックスの行と列の数が決定されると、第一のマトリックスジェネレータ２０は第一のマトリックスに基本文の各文字を代入する。第一のマトリックスの各セルに基本文にある一つの文字が代入される。実施例のひとつにおいては、基本文の文字が第一のマトリックスのセルに順番に代入される。
【００２９】
システム１００のパターンジェネレータ３０は第一のマトリックスジェネレータ１０と連携して機能し、ユーザが入力した基本文から文字を埋められた第一のマトリックスを受け取る。パターンジェネレータ３０は第一のマトリックスジェネレータ２０によって作成された少なくとも第一のマトリックスセルを選択することにより複数のパターンを生成することができる。パターンジェネレータ３０はパターンセレクタ４０と連携して機能する。パターンセレクタ４０はパターンジェネレータ３０によって生成されたすべてのパターンを受け取り、ユーザが望むパターンを利用可能なものの中から一つ選択することができるようにする。パターンセレクタ４０は参照数字４２が付されたカスタム化モジュールを含む。カスタム化モジュール４２はユーザが選択したパターンの文字をカスタム化することを可能にする。ユーザは、選択されたパターンに含まれる文字を大文字か小文字にカスタム化することが可能であるか、または大文字と小文字を組合せることができる。
【００３０】
本発明のパターンセレクタ４０は、選択されたパターンがカスタム化され、ユーザから確認コマンドを受けると、コード生成エンジン５０と連携して機能し、選択されたパターンをユーザが最初に入力した基本文に基づいて認証コードを生成するために通信する。コード生成エンジン５０は限定されることなく、第二のマトリックスジェネレータ５１、第三のマトリックスジェネレータ５２、第四のマトリックスジェネレータ５３、１６進数コンバータ５４、ハッシュコンバータ５５を含む。第二のマトリックスジェネレータ５１は、参照数字５１ａが付された第一の抽出素子を含む。第二のマトリックスジェネレータ５１は選択されたパターンを受け取り選択されたパターンのセルに代入される文字を決定する。選択されたパターンにより決定された文字に基づいて、第一の抽出素子５１ａは決定された文字に対応するASCII値を抽出する。文字のASCII値が第一の抽出素子５１ａによって抽出されると、第二のマトリックスジェネレータ５１は第二のマトリックスを生成する。第二のマトリックスの各セルには、受け取られた選択されたパターンに対応する文字のASCII値を代入される。
【００３１】
第三のマトリックスジェネレータ５２は、選択されたパターンを受け取り選択されたパターンのセルに代入される文字を決定する。第三のマトリックスジェネレータ５２は、参照数字５２ａが付された第二の抽出素子および参照数字５２ｂが付された第二の計算素子を含む。第二の抽出素子５２ａは少なくとも選択されたパターンの各文字ごとの座標を抽出することができる。第二の計算素子５２ｂは第二の抽出素子５２ａと連携して機能し、選択されたパターンの文字に対応する座標リストを受け取る。第二の計算素子５２ｂは抽出された座標に含まれる合計文字数を計算することができる。通常の場合、座標は数字で抽出される。選択されたパターンの抽出された座標および計算された数字の数に基づいて第三のマトリックスジェネレータ５２は、第三のマトリックスを作成するための行と列の数を決定する。第三のマトリックスは、第二の計算素子５２ｂによって計算された座標文字の合計数に基づいた最も完成に近い正方マトリックスに対応する。第三のマトリックスの行と列の数が決定されると、第三のマトリックスジェネレータ５２は第二の抽出素子５２ａが抽出した座標値を第三のマトリックスの各セル代入することによって第三のマトリックスを生成する。
【００３２】
本発明の第四のマトリックスジェネレータ５３は、第二のマトリックスジェネレータ５１および第三のマトリックスジェネレータ５２と連携して機能する。第四のマトリックスジェネレータ５３は第二のマトリックスジェネレータ５１から第二のマトリックスを、第三のマトリックスジェネレータから第三のマトリックス５２を受け取る。第四のマトリックスジェネレータ５３は参照数字５３ａが付されたマトリックス乗算素子を含む。マトリックス乗算素子５３ａは第二のマトリックスを第三のマトリックスで乗算することができる。マトリックス乗算素子５３ａが実行したマトリックスの乗算結果に基づき、第四のマトリックスジェネレータ５３はマトリックスの乗算結果を格納すべき第四のマトリックスを作成するための行と列を決定する。第四のマトリックス用の行と列が決まると、第四のマトリックスジェネレータ５３は第四のマトリックスの各セルに少なくともマトリックスの乗算で取得された値を代入することによって第四のマトリックスを生成する。第四のマトリックスが生成されると、第四のマトリックスジェネレータ５３は１６進数コンバータ５４と連携して機能する。１６進数コンバータ５４は、第四のマトリックスを受け取った後、第四のマトリックスにある各セルの値を１６進数に変換する。１６進数コンバータ５４は１６進数マトリックスを第四のマトリックスから生成する。ハッシュコンバータ５５は１６進数コンバータ５４と連携して機能し、１６進数マトリックスを受け取る。ハッシュコンバータ５５は１６進数マトリックスの各セル値をハッシュし、対応するユーザのために認証コードを取得することができる。通常の場合は、ハッシュコンバータ５５はSHA-256を使用して１６進数マトリックスの１６進値をハッシュし、認証コードを取得する。
【００３３】
本発明による一実施例では、システム１００のピンジェネレータ６０は少なくとも四桁の個人別暗証番号（PIN）を生成する。ピンジェネレータ６０は、ユーザが生成されたPINをカスタム化することも可能にする。ピンジェネレータ６０はマスキングモジュール７０と連携して機能し、生成されたPINを転送する。マスキングモジュール７０はパターンセレクタモジュール４０と連携して機能し選択されたパターンを受け取る。マスキングモジュール７０は選択されたパターンをピンジェネレータ６０が生成したPINでマスクすることができる。マスクされ選択されたパターンはさらにレポジトリ９０に格納される。
【００３４】
本発明のレポジトリ９０は、登録の際に発行されたユーザのログオン情報、ユーザが送信した基本文、選択されたパターンに対応するユーザがカスタム化したパターンおよびマスクされたパターン、PIN、認証コード、ユーザが選択した秘密の質問およびユーザが選択した秘密の質問への答え等のユーザ関連情報を格納する。
【００３５】
図２は、本発明の図１に図示された認証コード生成用コンピュータ応用システム１００を実装する方法を示している。本発明が提供する方法は、以下のステップを含む。
・複数の英数字からなる基本文文字をユーザ入力として受け取るステップ２０２、
・ユーザが入力した基本文の合計文字数を計算し、ユーザ入力による基本文に含まれる計算された合計文字数に基づいて最も近い完成した正方マトリックスを特定するステップ２０４、
・第一のマトリックスの各セルに基本文のうち少なくとも一つの文字を代入することにより第一のマトリックスを作成するステップ２０６、
・第一のマトリックスの少なくとも一つのセルを選択することによりパターンを生成するステップ２０８、
・ユーザが生成されたパターンから一つのパターンを選択できるようにするステップ２１０、
・選択されたパターンの各文字に対応するASCII値を抽出し、選択されたパターンの各文字ASCII値を第二のマトリックスの各セルに代入することによって第二のマトリックスを生成するステップ２１２、
・選択されたパターンの各文字の少なくとも一つの座標を抽出し、選択されたパターンの抽出された座標に含まれる合計文字数を計算し、第三のマトリックスの各セルに選択されたパターンから抽出された座標値を代入することによって第三のマトリックスを生成するステップ２１４、
・第二のマトリックスと第三のマトリックスを乗じて第四のマトリックスを得る（第四のマトリックスの各セル値を１６進値に変換する）ステップ２１６、および
・第四のマトリックスの１６進値をハッシュし認証コードを得るステップ２１８。
【００３６】
本発明のこの方法は、生成するユーザに対応する個人別暗証番号（PIN）を生成し、次にこのPINを使用して選択されたパターンをマスクすることを含む。
【００３７】
本発明のユーザ入力による基本文に基づいて計算された合計文字数から最も近い完成した正方マトリックスを識別するステップは、基本文の全文字を最も近い完成した正方マトリックスに代入可能か否かを決定するステップを含む。ここに代入可能でないという結果になった場合は、最も近い完成した正方マトリックスの列数を一つ増やして第一のマトリックスを作成する。
【００３８】
本発明の選択されたパターンから抽出された座標に含まれる合計文字数を計算するステップはさらに、抽出された完成された正方マトリックスの計算上の合計数に基づいて最も近い完成した正方マトリックスを決定するステップを含む。
【００３９】
本発明のユーザがパターンを選択できるようにするステップはさらに、選択されたパターンの文字をカスタム化するステップを含む、ここにカスタム化文字フォーマットは大文字、小文字およびこれらの組合せから成るグループから選択される。
【００４０】
本発明のこの方法はレポジトリに登録の際に発行されたユーザのログオン情報、ユーザが送信した基本文、選択されたパターンに対応するユーザがカスタム化したパターンおよびマスクされたパターン、PIN、認証コード、ユーザが選択した秘密の質問およびユーザが選択した秘密の質問への答え等の少なくとも一つのユーザ関連情報を格納する格納するステップを含む。
【００４１】
図３には、本発明のユーザ入力による基本文を復元するためのコンピュータ応用システム３００のコンポーネントのシステムレベルブロック図が示されている。システム３００は限定されることなく、レポジトリ３１０、第一のマトリックスジェネレータ３２０、第二のマトリックスジェネレータ３３０、第一のマトリックス乗算素子３４０、第四のマトリックスジェネレータ３５０、第二のマトリックス乗算素子３６０、第三の抽出素子３７０、転置モジュール３８０および第三のマトリックス乗算素子３９０を含む。認証コードをレポジトリから復元するためのシステム３００は、ユーザが送信した要求に基づいている。本発明のシステム３００を以下二つの実施例によって説明する。
ａ）第一の実施例はユーザ入力基本文をレポジトリ３１０に格納するためのメモリに格納された一組のコマンドのプロセッサによる演算に関わり、
ｂ）第二の実施例はレポジトリ３１０から格納されたユーザ入力基本文を復元するためのメモリに格納された一組のコマンドのプロセッサによる演算に関わり、ここにメモリとプロセッサはユーザがアクセスするコンピューティングデバイスのハードウェア構成の中に構成されている。
【００４２】
レポジトリ３１０は登録の際に発行されたユーザのログオン情報、ユーザが送信した基本文、選択されたパターンに対応するユーザがカスタム化したパターンおよびマスクされたパターン、PIN、認証コード、ユーザが選択した秘密の質問およびユーザが選択した秘密の質問への答え等のユーザ関連情報を格納する。
【００４３】
システム３００の第一の実施例に含まれる第一のマトリックスジェネレータ３２０はレポジトリ３１０と連携して機能する。第一のマトリックスジェネレータ３２０は参照数字３２２が表す第一の抽出素子を含む。第一の抽出素子３２２はユーザ入力基本文の文字をレポジトリ３１０から抽出する。第一の抽出素子３２２も基本文の対応する文字のASCII値を抽出する。第一のマトリックスジェネレータ３２０は基本文に存在する文字数に基づいて作成されるマトリックスの数を決定する。第一のマトリックスジェネレータ３２０は基本文の全文字を格納する第一のマトリックスセットを生成する。第一のマトリックスセットに対応するマトリックスの各セルに対応する基本文の文字ASCII値を代入する。第一のマトリックスセットの各マトリックスは（３×３）マトリックスであり、換言すると行と列を三つずつ持つ。
【００４４】
第二のマトリックスジェネレータ３３０はレポジトリ３１０と連携して機能する。第二のマトリックスジェネレータ３３０は参照数字３３２が付された第二の抽出素子を含む。第二の抽出素子３３２はユーザが選択した秘密の質問のユーザが入力した答えから文字を抽出する。第二の抽出素子３３２はその答えの対応する文字のASCII値を抽出する。第二のマトリックスジェネレータ３３０は答えにある文字数に基づいて作成されるマトリックスの数を決定する。第二のマトリックスジェネレータ３３０は第二のマトリックスセットにある答えの全文字を格納する第二のマトリックスセットを生成する。第二のマトリックスセットに対応するマトリックスの各セルには答えに対応する文字のASCII値が代入される。第二のマトリックスセットの各マトリックスは（３×３）マトリックスであり、換言すると行と列を三つずつ持つ。
【００４５】
第一のマトリックスセットと第二のマトリックスセットが作成されると、第一のマトリックス乗算素子３４０は第一のマトリックスジェネレータ３２０および第二のマトリックスジェネレータ３３０と連携して機能する。第一のマトリックス乗算素子３４０はマトリックスを乗算する、ここに第一のマトリックスセットに対応する各マトリックスは第二のマトリックスセットに対応する各マトリックスを掛け合わせる。第一のマトリックス乗算素子３４０はさらに、マトリックスの乗算に基づいて第三のマトリックスセットを生成し、さらに、第三のマトリックスセットをレポジトリ３１０に格納する。
【００４６】
第四のマトリックスジェネレータ３５０は第一のマトリックスジェネレータ３２０と第二のマトリックスジェネレータ３３０と連携して機能する。第四のマトリックスジェネレータ３５０は、参照数字３５２を付したマトリックスセレクタおよび参照数字３５４を付したキー入力素子を含む。マトリックスセレクタ３５２は通常の場合、第一のマトリックスセットに対応する第一のマトリックスおよび第二のマトリックスセットから第一のマトリックスを選択する。ユーザはキー入力素子３５４によりキーを入力することができる。このキーはユーザがアクセスしているコンピューティングデバイスのIP（インターネットプロトコル）またはユーザがアクセスしているコンピューティングデバイスのMAC（メディアアクセスコントロール）アドレス、または登録ユーザのEメールアドレスやユーザのコンピューティングデバイスのIMEI（国際携帯端末機器識別子）番号であってよい。ユーザが入力するキーはセキュリティキーである。第四のマトリックスジェネレータ３５０は第一のマトリックスセットから選択されたマトリックス、第二のマトリックスセットから選択されたマトリックスおよびユーザが入力したキーのマトリックスを乗算する。乗算されたマトリックスに基づいて、第四のマトリックスジェネレータ３５０はキーマトリックスを生成する。
【００４７】
第二のマトリックス乗算素子３６０はレポジトリ３１０と連携して機能する。第二のマトリックス乗算素子３６０は第一のマトリックス乗算素子３４０と連携して機能し、第三のマトリックスセットを受け取る。第二のマトリックス乗算素子３６０は第四のマトリックスジェネレータ３５０と連携して機能し、キーマトリックスを受け取る。第二のマトリックス乗算素子３６０は第三のマトリックスセットに対応する各マトリックスとキーマトリックスを乗じてマトリックスを乗算する。乗算されたマトリックスに基づいて、第二のマトリックス乗算素子３６０は第四のマトリックスセットを生成し、さらに第四のマトリックスセットをレポジトリ３１０に格納する。一つの実施例においては、ユーザが入力したセキュリティキーがユーザのコンピューティングデバイスのＭＡＣ／ＩＰアドレスに対応していれば、第四のマトリックスセットもコンピューティングデバイスのメモリに格納される。他の一つの実施例においては、ユーザが入力したセキュリティキーがユーザの登録メールアドレスに対応していれば、第四のマトリックスセットもユーザのメールに格納される。さらに他の一つの実施例においては、ユーザが入力したセキュリティキーがユーザのコンピューティングデバイスのIMEI番号に対応していれば、第四のマトリックスセットもユーザのコンピューティングデバイスに格納される。
【００４８】
システム３００の第二の実施例に従い、第三の抽出素子３７０はレポジトリ３１０と連携して機能し、第四のマトリックスセット、第二のマトリックスセットおよびキーマトリックスを抽出する。転置モジュール３８０は第三の抽出素子３７０と連携して機能し、抽出された第四のマトリックスセット、第二のマトリックスセットおよびキーマトリックスを受け取る。転置モジュール３８０は第二のマトリックスセットおよびキーマトリックスに対してマトリックス転置機能を実行する。このアクションは転置された第二のマトリックスセットおよび転置されたキーマトリックスを生成する。第三のマトリックス乗算素子３９０はレポジトリ３１０、第三の抽出素子３７０および転置モジュール３８０と連携して機能する。第三のマトリックス乗算素子３９０は抽出された第四のマトリックスセット、転置された第二のマトリックスセットおよび転置されたキーマトリックスを受け取る。第三のマトリックス乗算素子３９０は第一のマトリックスを乗算する。ここに、第四のマトリックスセットに対応する各マトリックスは転置されたキーマトリックスと乗じられる。第一のマトリックスの乗算の結果得られたマトリックスに基づいて、第三のマトリックス乗算素子３９０は第二のマトリックスを乗算する。ここに、第一のマトリックスの乗算から得られた各結果マトリックスは転置された第二のマトリックスセットと乗じられて基本文を復元する。通常の場合、第一のマトリックスの乗算が完了した時点に得られた結果マトリックスは第三のマトリックスセットと対応する。第一のマトリックスの乗算から得られた結果マトリックスが第一のマトリックス乗算素子３４０によって先に生成され保存された第三のマトリックスセットと対応していなければ、エラーメッセージがユーザがアクセスしているコンピューティングデバイスのユーザインタフェースに表示される。通常の場合、第二のマトリックスの乗算が完了した時点で得られた結果マトリックスは第一のマトリックスセットに対応し、ここに第一のマトリックスセットは前記レポジトリに格納される基本文文字のASCII値を表す。第二のマトリックスの乗算が成功裏に完了したことに基づいて、確認メッセージがユーザがアクセスしているコンピューティングデバイスのユーザインタフェースに表示される。第二のマトリックスの乗算が完了した時点で得られた結果マトリックスが第一のマトリックスジェネレータ３２０によって生成され保存された第一のマトリックスセットに対応していなければ、エラーメッセージがユーザがアクセスしているコンピューティングデバイスのユーザインタフェースに表示される。
【００４９】
図４ａおよび図４ｂは、本発明の図３に図示されたユーザ入力基本文を復元するためのコンピュータ応用システム３００により実施する方法である。本発明が提供する方法は以下のステップを含む。
・一つの実施例においては、ユーザ入力による基本文をレポジトリに格納するためにプロセッサによるメモリに格納された一組のコマンドを計算するステップ、
・・登録の際に発行されたユーザのログオン情報、ユーザが送信した基本文、選択されたパターンに対応するユーザがカスタム化したパターンおよびマスクされたパターン、PIN、認証コード、ユーザが選択した秘密の質問およびユーザが選択した秘密の質問への答え等の少なくとも一つのユーザ関連情報をレポジトリに格納するステップ４０２、
・・基本文文字および基本文４０４各文字の対応するASCII値を抽出するステップ４０４、
・・基本文全文字をマトリックスセルに格納するため第一のマトリックスセットを生成するステップ（基本文文字は第一のマトリックスセットにある対応するASCII値によって表される）４０６、
・・ユーザが選択した秘密の質問の答えの文字と答えの各文字に対応するASCII値を抽出するステップ４０８、
・・第二のマトリックスセットを生成して答えの全文字をマトリックスセルに格納するステップ（答えの文字は対応するASCII値として第一のマトリックスセットに表される）４１０、
・・マトリックスを乗算し（各マトリックスが第二のマトリックスセットに対応する第一のマトリックスセットに各マトリックスが対応する）、さらにこのマトリックスの乗算に基づいて第三のマトリックスセットを生成し前記レポジトリに格納するステップ４１２、
・・第一のマトリックスセットから選択された一つのマトリックス、第二のマトリックスセットから選択されたマトリックスおよびキーを掛け合わせるマトリックスによってキーマトリックスを生成するステップ４１４と、最後に
・・マトリックスを乗算し（各マトリックスは、キーマトリックスとともに第三のマトリックスセットに対応する）、さらに第四のマトリックスセットを生成し、前記レポジトリに格納するステップ４１６、を含む。
・他の実施例は、前記レポジトリに格納されたユーザ入力基本文を復元するため前記メモリに格納されたコマンドセットを前記プロセッサが計算するステップ、
・・前記レポジトリから、第四のマトリックスセット、第二のマトリックスセットおよびキーマトリックスを抽出するステップ４１８、および
・・キーマトリックスと第二のマトリックスセットにマトリックスの転置を実行するステップ４２０と、最後に
・・マトリックスを乗算し（マトリックスの乗算の結果マトリックスに基づいた各マトリックスは、転置されたキーマトリックスとともに第四のマトリックスに対応する）、さらにマトリックスを乗算するステップ、つまり、各結果マトリックスと転置された第二のマトリックスセットを使用して（掛けわせてマトリックスを乗算し）基本文を復元するステップ４２２。
【００５０】
例1
本発明の強力な認証コードを生成するステップについて一実施例により説明する。
【００５１】
ステップ１：
・ユーザ入力による基本文-「this is my bank password」を受け取る。
・基本文に含まれる合計文字数、２０を計算する。ここに基本文の２０文字を（５×４）マトリックスに表現可能である。
【００５２】
ステップ２：
・最も近い完成した正方マトリックスを一つの（４×４）マトリックスとして決定する。基本文の合計文字数が２０なので、列数を一つ増やす。
・一つの（４×５)マトリックス生成し（４×５）マトリックスに表Ｉに示す基本文の文字を代入する。
表I
0006636265.tif 000002
【００５３】
ステップ３：
・表II、表III、表IV、表Ｖ等同様に表されている複数のパターンを生成する。
表II
0006636265.tif 000003
表III
0006636265.tif 000004
表IV
0006636265.tif 000005
表V
0006636265.tif 000006
【００５４】
ステップ４：
・ステップ３で生成されたパターンから一つのパターンを選択する。例えば、ユーザが表IIのパターンを選択する場合は「Ｆ」となる。
表II-1
0006636265.tif 000007
・選択されたパターンに存在する文字を抽出する。例えば「thisnks」。
【００５５】
ステップ５：
・選択されたパターンの文字をカスタム化する。ユーザは下記の表II-2に表されているように、選択されたパターンの文字を大文字、小文字またはこれらの組合せのいずれかでカスタム化可能である。
表II-2
0006636265.tif 000008
・変更された文字列「THIsnks」を抽出する。
【００５６】
ステップ６：
・表VIに表されるように選択されカスタム化されたパターンに対応するASCII値を抽出する。
表VI
0006636265.tif 000009
【００５７】
ステップ７：
・抽出されたASCII値のマトリックスを生成し、選択された文字がマトリックスの乗算規則を満たしていない場合は表VIIに表されるように、ゼロ（０）を補完記号として追加する。
【００５８】
表VII：マトリックスＣ
0006636265.tif 000010
【００５９】
ステップ８：
・関連付けられた座標およびステップ５の表II-2に表されているように選択されたパターンの文字(X/Y)  (1,1)  (1,2)  (1,3)  (2,1)  (3,1)  (3,2)  (4,1)を抽出する。
・表VIIIに表されるように、座標マトリックスを生成する。
表VIII :マトリックスＯ
0006636265.tif 000011
【００６０】
ステップ９：
・マトリックスを乗算し(マトリックスＣ × マトリックスＯ）、表IXに表される新規マトリックスＸを生成する。
0006636265.tif 000012
表IX：マトリックスＸ
0006636265.tif 000013
【００６１】
ステップ１０：
・  マトリックスＸの値を表Ｘに表すように１６進値に変換する。
表Ｘ：マトリックスＸ
0006636265.tif 000014
【００６２】
ステップ１１：
・SHA-256を使用して表Ｘに表されているように、マトリックスＸの値(343 1e8 1bf 182 d9 1af 144 147)に対してハッシュ関数を実行し、次の強力な認証コードを得る。
52fc413d703347754833af9f301c34c2e22caea5d9fbacc0d602b508427f676
パスワードを呼び出すにはユーザはステップ４で選択されたパターンを覚えていなければならない。
【００６３】
例２
本発明の、もう一つの実施例を、忘れた認証コードと基本文の復元を管理するステップを用いて説明する。
図５を参照すると、代表的実施例は忘れた認証コードを管理するための以下のステップを含む。
・  ユーザ入力による基本文を受け取る。
t h i s i s m y b a n k p a s s w o r d ;
・  基本文をなす文字のASCII値を生成する。
116 104 105 115 105 115 109 121 98 97 110 107 112 97 115 115 119 111 114 100 ;
・複数の(３×３）マトリックスを作成し、基本文の全文字を格納する。ここにASCII値はマトリックス (A1、A2、A3)に、表XIに示されるように代入される。
表XI
0006636265.tif 000015
・選択された秘密の質問への答えを受け取る。例えば以下のものが挙げられる。
秘密の質問:「最初に行った学校の名前は何？」
秘密の質問の答え： e c o s p a c e h i g h s c h o o l
・秘密の質問をなす文字のASCII値を生成する。
101 99 111 115 112 97 99 101 104 105 103 104 115 99 104 111 111 108
・複数の（３×３）マトリックスを作成し、秘密の質問の答えを格納する。ここにASCII値はマトリックス（S1およびS2）に、表XIIに示されるように代入される。
【００６４】
表XII
0006636265.tif 000016
【００６５】
・代替的には、基本文のマトリックス(A1、A2、A3)と秘密の質問の答えのマトリックス(S1およびS2)を掛け合わせ、マトリックスA1S1、A2S2、A3S1を得る。ここにマトリックスの乗算後に得たマトリックスはレポジトリに格納される。
マトリックスの乗算結果：A1S1、A2S2、A3S1
・秘密鍵(K1)をユーザから受け取る。例えば、ユーザはコンピューティングデバイスのMAC/IPアドレス、ユーザのEメールアドレス、ユーザのコンピューティングデバイスのIMEIを秘密鍵として入力可能である。
・基本文マトリックス(A1)、秘密の質問の答えのマトリックス(S1)および秘密鍵(K1)のマトリックス乗算を実行することによりセキュリティマトリックスを計算する。ここに、セキュリティマトリックス（A1 X S1 X K1）：A1S1K1
・マトリックス(A1S1、A2S2、A3S1)をセキュリティマトリックス(A1S1K1)とマトリックス乗算し、一組の結果マトリックスを得る。ここに、結果マトリックスは：[(A1S1) * (A1S1K1)]、[(A1S2) * (A1S1K1)]、[(A1S3) * (A1S1K1)]
・結果マトリックス 
[[(A1S1) * (A1S1K1)], [(A1S2) * (A1S1K1)], [(A1S3) * (A1S1K1)]]をレポジトリに格納する。
【００６６】
図６を参照すると、本発明の一実施例は基本文を復元するための以下のステップを含む。
・演算入力をセキュリティマトリックス(A1S1K1)、秘密の質問の答えをマトリックス(S1、S2)として受け取る。
・マトリックス
[[(A1S1) * (A1S1K1)]、[(A1S2) * (A1S1K1)]、[(A1S3) * (A1S1K1)]]をレポジトリから抽出する。
・セキュリティマトリックス(A1S1K1)、結果転置されたセキュリティマトリックス(A1S1K1)'のマトリックス転置を実行する。
・抽出されたマトリックス
[[(A1S1) * (A1S1K1)]、[(A1S2) * (A1S1K1)]、[(A1S3) * (A1S1K1)]]と転置されたセキュリティマトリックス(A1S1K1)'からマトリックスを乗算する。
・マトリックス (A1S1)、(A2S2)、(A3S1)を以下の結果として取得する。
・秘密の質問の答えマトリックス (S1、S2)を転置し、転置結果の秘密の質問の答えマトリックス (S1'、S2')、および、
・転置された秘密の質問の答えマトリックス (S1')とマトリックス(A1S1)および(A3S1)のマトリックス乗算を実行し、順に転置された秘密の質問の答えマトリックス(S2')とマトリックス(A2S2)のマトリックス乗算を順に実行する。および、
・マトリックスA1、A2、A3をユーザが入力した基本文に対応する結果マトリックスとして取得する。
【００６７】
＜技術的進歩＞
本発明が意図する認証コードの生成および復元のコンピュータ応用システムおよび方法の技術的進歩には以下の実現が含まれる。
・認証コード生成用コンピュータ応用システムおよび方法のためのコンピュータ応用システム、
・認証コード復元用コンピュータ応用システムおよび方法のためのコンピュータ応用システム、
・認証コードの生成および復元のために基本文をユーザ入力として受け取るシステム、
・認証コード生成に関わる方針に準拠する認証コードを生成できるシステム、
・ユーザが覚えやすい認証コードを生成するシステム、
・複数のユーザカウント用に複数の認証コードの作成を可能にするシステム、
・ユーザの個人情報を保持しつつ高度に安全な認証コードを生成するシステム、
・忘れた認証コードを容易に復元できるシステム、
・ユーザカウントに面倒無くログインすることを可能にするシステム、
・カスタム化可能であり複数のセキュリティレイヤーがあるシステム、および、
・総当たり攻撃や辞書攻撃のセキュリティリスクを軽減するシステム。
【００６８】
本明細書を一貫して用語「成す」「構成する」やその類語としての「組成する」または「なしている」は記載されている要素、整数またはステップまたは要素、整数またはステップのグループを含むがその他の要素、整数またはステップまたはその他の要素、整数またはステップのグループを除くことなくこれらを含むことを含意している。
【００６９】
異なる物理的パラメータ、変数、寸法や数量を表す数値は概数であって、パラメータ、変数、寸法や数量に代入された数値より高い/低い値は本発明の範囲に含まれることが意図されている。但し、明細書に異なる記載がなされている場合はこの限りではない。
【００７０】
前記具体的実施例は本発明の実施例が持つ一般的性質をじゅうぶんに明らかにしているので、現状の知識を適用することにより他者は前記一般的概念から乖離することなく前記具体的実施例を異なる用途のために変更および/または適合することができる。従って、同適合や変更は本発明の実施例と同等の物としての意味およびその範囲で理解されることが意図されるべきであり、意図されている。本明細書に使用されている句節の用法や用語は説明目的のためであって限定するために使用されてはいない。従って、本明細書に記載された実施例は好ましい実施例に基づいて説明されていると同時に、当業者は本明細書に記載された実施例が本明細書で説明された実施例の意図および範囲で変更しても実施可能であることが認められる。
【図１】
0006636265.tif 000017
【図２】
0006636265.tif 000018
【図３】
0006636265.tif 000019
【図４ａ】
0006636265.tif 000020
【図４ｂ】
0006636265.tif 000021
【図５】
0006636265.tif 000022
【図６】
0006636265.tif 000023