(57)【特許請求の範囲】
【請求項１】
オンラインゲームで使用されるパスワードデータである暗号化対象データを暗号化した暗号化データを作成する暗号化データ作成装置であって、
前記暗号化対象データよりも大きいデータ長とされた暗号化演算及び復号化演算に用いる共通鍵データを示す共通鍵数値と任意に決定されたランダムデータを示すランダム数値との積と、前記暗号化対象データを示す暗号化対象数値との和を、暗号化データとして算出する前記暗号化演算を行う暗号化演算手段と、
前記暗号化演算により算出された前記暗号化データと、前記共通鍵データとを記憶する暗号化データ記憶手段とを備えた
ことを特徴とする暗号化データ作成装置。
【請求項２】
前記共通鍵データを決定する共通鍵データ決定手段を備え、
前記暗号化演算手段は、前記共通鍵データ決定手段が決定した前記共通鍵データを用いて前記暗号化演算を行う
請求項１記載の暗号化データ作成装置。
【請求項３】
前記共通鍵データ決定手段は、前記暗号化対象データに基づいて前記共通鍵データを決定する
請求項２記載の暗号化データ作成装置。
【請求項４】
前記暗号化対象データの指定を受け付ける暗号化対象データ受付手段を備え、
前記共通鍵データ決定手段は、前記暗号化対象データ受付手段が前記暗号化対象データの指定を受け付けた時間を示す時間データに基づいて前記共通鍵データを決定する
請求項２記載の暗号化データ作成装置。
【請求項５】
前記ランダムデータを任意に決定するランダムデータ決定手段を備え、
前記暗号化演算手段は、前記ランダムデータ決定手段が決定した前記ランダムデータを用いて前記暗号化演算を行う
請求項１から請求項４のうちいずれかに記載の暗号化データ作成装置。
【請求項６】
前記暗号化データ記憶手段に記憶されている前記暗号化データを示す暗号化数値を前記共通鍵データを示す共通鍵数値で除算した余りを、復号化データとして算出する前記復号化演算を行う復号化演算手段と、
該復号化演算手段により算出された前記復号化データを出力する復号化データ出力手段とを備えた
請求項１から請求項５のうちいずれかに記載の暗号化データ作成装置。
【請求項７】
前記暗号化対象データを用いた前記暗号化演算による算出された前記暗号化データを、あらかじめ定められたローテーションルールに従ってそれぞれビット単位でローテーションさせるローテーション処理手段を備え、
前記暗号化データ記憶手段は、前記ローテーション処理手段によりデータがローテーションされた暗号化データを記憶する
請求項１から請求項５のうちいずれかに記載の暗号化データ作成装置。
【請求項８】
オンラインゲームで使用されるパスワードデータである暗号化対象データを暗号化した暗号化データを作成させる暗号化データ作成プログラムであって、
コンピュータに、
前記暗号化対象データよりも大きいデータ長とされた暗号化演算及び復号化演算に用いる共通鍵データを示す共通鍵数値と任意に決定されたランダムデータを示すランダム数値との積と、前記暗号化対象データを示す暗号化対象数値との和を、暗号化データとして算出する前記暗号化演算を行う暗号化演算ステップと、
前記暗号化演算により算出した前記暗号化データと、前記共通鍵データとを暗号化データＤＢに格納する暗号化データ格納ステップとを
実行させるための暗号化データ作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化対象データを暗号化した暗号化データを作成するための技術に関する。
【背景技術】
【０００２】
従来から、インターネットなどの通信ネットワーク上に開設されたオンラインゲームサーバにビデオゲーム装置を接続してプレイを楽しむオンラインゲームと呼ばれるものある。このオンラインゲームをプレイする際にビデオゲーム装置内のデータが通信ネットワーク上に漏洩してしまうことを防止するために、ビデオゲーム装置には、オンラインゲーム用のパスワードが設定されて格納されている。このようなオンラインゲームでは、プレイヤを特定するために、ログイン時にプレイヤにパスワードを入力させることによって、悪意のある第三者が、当該のプレイヤに成り済ましてプレイをしたり、酷い場合は正規のプレイヤが獲得したアイテム等を不正に奪ったり消去したりすることを防いでいる。また、一部のオンラインゲームでは、ゲームで使用するアイテムを実世界で流通している貨幣で売買する「アイテム課金」と呼ばれる行為も行われるようになっており、このようなアイテム買い取りに利用するためのクレジットカード情報等が記録されている場合もあり、パスワードが解読されることを防ぐことは非常に重要な課題となっている。
【０００３】
しかし、パスワードデータはゲームデータ等の他のデータと合わせて通信ネットワーク上のサーバに記録されているため、データのどの領域にパスワードが格納されているかが特定されてしまうと、解読がされやすくなるという性質がある。ところが、あまりにも複雑な暗号化のルールを設定すると、一度に多くのプレイヤがアクセスすることが頻繁に発生するオンラインゲームにおいては処理負荷がかかりすぎてしまうため、プレイヤが快適にゲームを楽しむことを阻害してしまう。このような事情から、暗号化／復号化はできる限り負荷をかけずに実行できるようにすることが好ましい。
【０００４】
暗号化技術としては、例えば、特許文献１に記載されているように、ランダムに生成された２値系列から、暗号化及び復号化に用いる共通鍵を簡単に生成し、暗号化及び復号化処理の簡素化を図るようにしたものがある。
【０００５】
【特許文献１】特開平９−３１１６２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したように、特許文献１に記載された手法など様々な暗号化方式が提案され運用されているが、不正アクセス者に解読され難く、かつ簡単な処理によって暗号化／復号化することができる新たな暗号化方法の提案が望まれている。
【０００７】
本発明は、上記の問題を解消すべく、不正アクセス者に解読され難く、かつ簡単な処理によって暗号化／復号化することができるような新たな暗号化方式を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の暗号化データ作成装置は、オンラインゲームで使用されるパスワードデータである暗号化対象データを暗号化した暗号化データを作成する暗号化データ作成装置であって、前記暗号化対象データよりも大きいデータ長とされた暗号化演算及び復号化演算に用いる共通鍵データを示す共通鍵数値と任意に決定されたランダムデータを示すランダム数値との積と、前記暗号化対象データを示す暗号化対象数値との和を、暗号化データとして算出する前記暗号化演算を行う暗号化演算手段と、前記暗号化演算により算出された前記暗号化データと、前記共通鍵データとを記憶する暗号化データ記憶手段とを備えたことを特徴とする。
【０００９】
上記の構成としたことで、不正アクセス者に解読され難く、かつ簡単な処理によって暗号化／復号化することができるような新たな暗号化方式を提供することができるようになる。
【００１０】
前記共通鍵データを決定する共通鍵データ決定手段を備え、前記暗号化演算手段は、前記共通鍵データ決定手段が決定した前記共通鍵データを用いて前記暗号化演算を行う構成とされていてもよい。
【００１１】
前記共通鍵データ決定手段は、例えば、前記暗号化対象データに基づいて前記共通鍵データを決定する。
【００１２】
前記暗号化対象データの指定を受け付ける暗号化対象データ受付手段を備え、前記共通鍵データ決定手段は、例えば、前記暗号化対象データ受付手段が前記暗号化対象データの指定を受け付けた時間を示す時間データに基づいて前記共通鍵データを決定する。
【００１３】
前記ランダムデータを任意に決定するランダムデータ決定手段を備え、前記暗号化演算手段は、前記ランダムデータ決定手段が決定した前記ランダムデータを用いて前記暗号化演算を行うように構成されていてもよい。
【００１４】
前記暗号化データ記憶手段に記憶されている前記暗号化データを示す暗号化数値を前記共通鍵データを示す共通鍵数値で除算した余りを、復号化データとして算出する前記復号化演算を行う復号化演算手段と、該復号化演算手段により算出された前記復号化データを出力する復号化データ出力手段とを備えた構成とされていてもよい。
【００１５】
前記暗号化対象データを用いた前記暗号化演算による算出された前記暗号化データを、あらかじめ定められたローテーションルールに従ってそれぞれビット単位でローテーションさせるローテーション処理手段を備え、前記暗号化データ記憶手段は、前記ローテーション処理手段によりデータがローテーションされた暗号化データを記憶するように構成されていてもよい。
【００１８】
さらに、本発明の暗号化データ作成プログラムは、オンラインゲームで使用されるパスワードデータである暗号化対象データを暗号化した暗号化データを作成させる暗号化データ作成プログラムであって、コンピュータに、前記暗号化対象データよりも大きいデータ長とされた暗号化演算及び復号化演算に用いる共通鍵データを示す共通鍵数値と任意に決定されたランダムデータを示すランダム数値との積と、前記暗号化対象データを示す暗号化対象数値との和を、暗号化データとして算出する前記暗号化演算を行う暗号化演算ステップと、前記暗号化演算により算出した前記暗号化データと、前記共通鍵データとを暗号化データＤＢに格納する暗号化データ格納ステップとを実行させるためのものである。
【発明の効果】
【００１９】
本発明によれば、不正アクセス者に解読され難く、かつ簡単な処理によって暗号化／復号化することができるような新たな暗号化方式を提供することができるようになる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の一実施の形態について図面を参照して説明する。
【００２１】
図１は、本発明の一実施の形態における暗号化データ作成装置による暗号化データ作成方式の概要を示す概念図である。図１に示すように、本例の暗号化データ作成装置（図示せず）は、所定の暗号化演算式による演算を行うことで、暗号化対象データであるオンラインゲームのパスワードデータＰｄを暗号化した暗号化データを作成し、作成した暗号化データを暗号化データ格納メモリ１０に格納する機能を有する。また、暗号化データ作成装置は、暗号化データ格納メモリ１０に格納された暗号化データ及び共通鍵データを読み出して、所定の復号化演算式による演算を行うことで暗号化データを復号化し、復号化したパスワードデータＰｄを出力する機能を有する。
【００２２】
暗号化データ作成装置は、ビデオゲーム装置やパーソナルコンピュータなどの情報処理装置によって構成される。暗号化データ格納メモリ１０は、例えば暗号化データ作成装置内に備えられており、ＲＡＭやハードディスクなどの記憶媒体によって構成される。本例では、暗号化対象データとしてオンラインゲームのパスワードデータを用いているが、暗号化の対象となるようなデータであれば、どのようなデータであってもよい。
【００２３】
次に、本例の暗号化データ作成装置の動作について説明する。
ここでは、説明を簡単にするため、本発明に特に関わる処理以外は、説明を省略している場合があるものとする。なお、本例では、データ長が１バイトとされているオンラインゲームのパスワードデータＰｄ（ここでは「Ａ」をASCII（American Standard Code for Information Interchange）コードで表記した「０ｘ４１」）を暗号化する処理が実行されるものとする。
【００２４】
図２は、本例の暗号化データ作成装置が実行する暗号化処理の例を示すフローチャートである。図３は、１バイトの暗号化対象データを暗号化する場合の処理の概要を示す概念図である。
【００２５】
暗号化処理において、暗号化データ作成装置は、先ず、暗号化対象データであるパスワードデータＰｄを受け付ける（ステップＳ１０１）。ステップＳ１０１では、例えばパスワード設定画面においてユーザ（プレイヤ）が指定したパスワードを示すパスワードデータを受け付ける。ここでは、図３に示すように、１バイトのデータ長を有する暗号化対象データＰｄ「０ｘ４１」が受け付けられる。
【００２６】
次に、暗号化データ作成装置は、暗号化及び復号化に用いられる共通鍵データＫｄを決定する（ステップＳ１０２）。共通鍵データＫｄは、そのデータ長が、暗号化対象データＰｄよりも大きくなるようなものに決定される。ここでは、図３に示すように、２バイトの共通鍵データＫｄ「０ｘ１１１１」に決定されたものとする。なお、ステップＳ１０２では、共通鍵データが漏洩してしまうような場合に備えて、例えば、暗号化対象データＰｄに所定の演算処理を施すなどして、暗号化対象データＰｄに基づいて共通鍵データＫｄを生成するようにしてもよい。また、ステップＳ１０２にて、ステップＳ１０１にてパスワードデータＰｄを受け付けた時間を示す時間データを共通鍵データＫｄに決定するようにしてもよく、その時間データに所定の演算処理を施したものを共通鍵データＫｄが生成されるようにしてもよい。この共通鍵データＫｄは、暗号化データ作成装置がランダムに生成するようにしてもよいし、ユーザが任意に指定したものが生成されるようにしてもよい。
【００２７】
次に、暗号化データ作成装置は、暗号化演算に用いられるランダムデータＲｄを任意に決定する（ステップＳ１０３）。ランダムデータＲｄは、どのような値を示すものであってもよく、図３に示すように、ここでは１／２バイトのランダムデータＲｄ「０ｘ５」に決定されたものとする。このランダムデータＲｄは、暗号化データ作成装置がランダムに決定するようにしてもよいし、ユーザが任意に指定したものに決定されるようにしてもよい。
【００２８】
次に、暗号化データ作成装置は、ステップＳ１０１にて受け付けた暗号化対象データＰｄ「０ｘ４１」と、ステップＳ１０２にて決定した共通鍵データＫｄ「０ｘ１１１１」と、ステップＳ１０３にて決定したランダムデータＲｄ「０ｘ５」とを用いて、所定の暗号化演算式「共通鍵データＫｄ×ランダムデータＲｄ＋暗号化対象データＰｄ」による演算を行うことで、暗号化対象データＰｄ「０ｘ４１」を暗号化した暗号化データを作成する（ステップＳ１０４）。ここでは、図３に示すように、共通鍵データＫｄ「０ｘ１１１１」とランダムデータＲｄ「０ｘ５」との積である「０ｘ５５５５」と、暗号化対象データＰｄ「０ｘ４１」との和である「０ｘ５５９６」が暗号化データＥｄとして算出される。
【００２９】
そして、暗号化データ作成装置は、作成した暗号化データＥｄ「０ｘ５５９６」と、暗号化演算に使用した共通鍵データＫｄ「０ｘ１１１１」とを、暗号化データ格納メモリ１０に格納する（ステップＳ１０５）。
【００３０】
図４は、本例の暗号化データ作成装置が実行する復号化処理の例を示すフローチャートである。ここでは、所定の暗号化演算式による演算により作成された暗号化データＥｄ「０ｘ５５９６」を復号化する場合について説明する。
【００３１】
復号化処理において、暗号化データ作成装置は、先ず、復号化対象データである暗号化データを、暗号化データ格納メモリ１０から読み出す（ステップＳ２０１）。ここでは、図５に示すように、暗号化データＥｄ「０ｘ５５９６」が読み出されるものとする。
【００３２】
次に、暗号化データ作成装置は、暗号化データ格納メモリ１０から共通鍵データを、暗号化データ格納メモリ１０から読み出す（ステップＳ２０２）。ここでは、図５に示すように、共通鍵データＫｄ「０ｘ１１１１」が読み出されるものとする。
【００３３】
次に、暗号化データ作成装置は、ステップＳ２０１にて読み出した暗号化データＥｄ「０ｘ５５９６」と、ステップＳ２０２にて読み出した共通鍵データＫｄ「０ｘ１１１１」とを用いて、所定の復号化演算式「暗号化データＥｄ  ｍｏｄ  共通鍵データＫｄ（暗号化データＥｄを共通鍵データＫｄで除算したときの余りを解とする式）」による演算を行うことで、暗号化データＥｄ「０ｘ５５９６」を復号化する（ステップＳ２０３）。ここでは、図５に示すように、暗号化データＥｄ「０ｘ５５９６」を共通鍵データＫｄで除算したときの余り「０ｘ４１」が復号化データとして算出される。このようにして、暗号化対象データＰｄと同一の復号化データ「０ｘ４１」が作成される。
【００３４】
そして、暗号化データ作成装置は、作成した復号化データ「０ｘ４１」を出力し、例えばパスワードの照合などのために復号化データを使用する（ステップＳ２０４）。
【００３５】
なお、上記の例では、１６進数を用いて説明していたが、２進数や１０進数などの他の方式による数値であってもよい。また、上記の例において、「Ａ  ｍｏｄ  Ｂ」は、「ＡをＢで除算したときの余りの値」を意味する。また、上記の例においては、暗号化対象データＰｄを１バイトであるものとしていたが、他のデータ長であってもよい。
【００３６】
以上に説明したように、上述した一実施の形態では、暗号化データ作成装置が、暗号化対象データＰｄよりも大きいデータ長とされた暗号化演算及び復号化演算に用いる共通鍵データＫｄを示す共通鍵数値と任意に決定されたランダムデータＲｄを示すランダム数値との積と、暗号化対象データＰｄを示す暗号化対象数値との和を、暗号化データとして算出し、算出した暗号化データと、共通鍵データとを記憶する構成としたので、不正アクセス者に解読され難く、かつ簡単な処理によって暗号化／復号化することができるような新たな暗号化方式を提供することができるようになる。すなわち、ブロック変換ルールに基づきブロック単位でデータを入れ替えるという簡単な構成によって、不正アクセス者に解読され難い暗号化データを作成することができるため、新たな暗号化方式を提供することができる。また、ランダムデータＲｄが任意に決定されるため、同じ暗号化対象データであっても暗号化を行う毎に異なる暗号化データを得ることが可能となり、暗号化データに多様性を持たせることができ、セキュリティレベルを向上させること可能となる。また、簡単な復号化演算により演算することができるので、暗号化データ作成装置の処理負荷を軽減させることができ、また高速に復号化することができるようになる。
【００３７】
また、上述した実施の形態では、暗号化データ作成装置が、共通鍵データを決定し、決定した共通鍵データを用いて暗号化演算を行う構成としたので、同じ暗号化対象データであっても暗号化を行う毎に異なる暗号化データを得ることが可能となり、暗号化データに多様性を持たせることができ、セキュリティレベルを向上させること可能となる。
【００３８】
また、上述した実施の形態では、暗号化データ作成装置が、例えば、暗号化対象データに基づいて共通鍵データを決定する構成としたので、共通鍵データを簡単に決定することが可能となる。
【００３９】
また、上述した実施の形態では、暗号化データ作成装置が、例えば、暗号化対象データの指定を受け付けた時間を示す時間データに基づいて共通鍵データを決定する構成としたので、共通鍵データを簡単かつランダムに決定することが可能となる。
【００４０】
また、上述した実施の形態では、暗号化データ作成装置が、ランダムデータを任意に決定し、決定したランダムデータを用いて暗号化演算を行う構成としたので、ランダムデータの決定を簡単に行うことができ、また、同じ暗号化対象データであっても暗号化を行う毎に異なる暗号化データを得ることが可能となり、暗号化データに多様性を持たせることができ、セキュリティレベルを向上させること可能となる。
【００４１】
また、上述した実施の形態では、暗号化データ作成装置が、暗号化データ格納メモリ１０に記憶されている暗号化データを示す暗号化数値を、共通鍵データを示す共通鍵数値で除算した余りを、復号化データとして算出する前記復号化演算を行い、算出した復号化データを出力する構成としているので、簡単な復号化演算により演算することができ、暗号化データ作成装置の処理負荷を軽減させることができ、また高速に復号化することができるようになる。
【００４２】
なお、上述した実施の形態では特に言及していないが、暗号化データ作成装置は、自己が備える記憶装置に記憶されている制御プログラムに従って、上述した暗号化や復号化のための処理を実行する。
【００４３】
また、上述した実施の形態では特に言及していないが、暗号化データ作成装置が、暗号化対象データを用いた暗号化演算による算出された暗号化データを、あらかじめ定められたローテーションルール（例えば、「３ビットスライドする」など）に従ってそれぞれビット単位でローテーションさせ、データがローテーションされた暗号化データを暗号化データ格納メモリ１０に記憶するように構成されていてもよい。このように、暗号化データ作成装置が、データがローテーションされた暗号化データを暗号化データ格納メモリ１０に記憶する構成とした場合には、より不正アクセス者に解読され難い暗号化データを作成することができる。
【産業上の利用可能性】
【００４４】
本発明によれば、不正アクセス者に解読され難く、かつ簡単な処理によって暗号化／復号化することが可能な暗号化方式を使用する暗号化データ作成装置に適用するのに有用である。
【図面の簡単な説明】
【００４５】
【図１】本発明の一実施の形態における暗号化データ作成装置による暗号化データ作成方式の概要を示す概念図である。
【図２】暗号化処理の例を示すフローチャートである。
【図３】１バイトの暗号化対象データを暗号化する場合の処理の概要を示す概念図である。
【図４】復号化処理の例を示すフローチャートである。
【図５】１バイトの暗号化対象データを復号化する場合の処理の概要を示す概念図である。
【符号の説明】
【００４６】
１０    暗号化データ格納メモリ
Ｐｄ    暗号化対象データ
Ｋｄ    共通鍵データ
Ｒｄ    ランダムデータ
Ｅｄ    暗号化データ
【図１】
0004603022.tif 000002
【図２】
0004603022.tif 000003
【図３】
0004603022.tif 000004
【図４】
0004603022.tif 000005
【図５】
0004603022.tif 000006