(57)【要約】      （修正有）【課題】通信会社が提供する認証方法とは別個の認証が携帯端末器上で行え、しかもその認証時に、高い演算処理能力を必要としない、通信装置を提供する。【解決手段】復号化装置は、割り付けられたユニークなシリアル番号の属するロットに対応して割り当てられた複数の素数を記憶しておく第３の記憶手段と、第３の記憶手段に記憶された１の素数を読み出して、その値で、入力された乗算値Ｘを除算処理し、割り切れた素数があった時、その商をｙとして算出すると共に、さらに第３の記憶手段に記憶された他の素数を読み出して、その値で、上記商ｙを除算処理し、第３の記憶手段に記憶された全ての素数に対して以上の処理を繰り返して、最終的な商を出力する除算手段と、暗号化データを、除算手段から出力された最終的な商を用いて復号化し、最終的に認証データ列を出力する復号化手段とを有する。【選択図】図１
2007043428.tif 000002
【特許請求の範囲】
【請求項１】
予め生成された複数の素数を記憶しておく第１の記憶手段と、
各復号化装置に割り付けられたユニークなシリアル番号の属する任意のロット群毎に、対応して複数用いられる、特定された上記素数を各記憶しておく第２の記憶手段と、
与えられたシリアル番号に対して、該シリアル番号が属するロットに夫々割り当てられた２以上の素数を、第２の記憶手段から読み出すと共に、第１の記憶手段には記憶されており、そのシリアル番号に対応するものとしては該第２の記憶手段に記憶されていない、１乃至複数の素数を読み出す選択手段と、
選択手段により選択された全ての素数を乗算し、乗算値Ｘを出力する乗算手段と、
所定バイトのランダムなデータを生成し、そのデータに任意の認証データ列を埋め込む認証データ列入力手段と、
認証データ列の埋め込みが終了した上記データを、選択手段によって第１の記憶手段から読み出された１の素数乃至そこから読み出された複数の素数の積を用いて暗号化し、暗号化データとする暗号化手段と、
上記乗算値Ｘと、上記暗号化データとを出力する出力手段と
を有することを特徴とする暗号化通信装置。
【請求項２】
割り付けられたユニークなシリアル番号の属するロットに対応して割り当てられた複数の素数を記憶しておく第３の記憶手段と、
上記第３の記憶手段に記憶された１の素数を読み出して、その値で、入力された乗算値Ｘを除算処理し、割り切れた素数があった時、その商をｙとして算出すると共に、さらに第３の記憶手段に記憶された他の素数を読み出して、その値で、上記商ｙを除算処理し、第３の記憶手段に記憶された全ての素数に対して以上の処理を繰り返して、最終的な商を出力する除算手段と、
上記暗号化データを、除算手段から出力された最終的な商を用いて復号化し、最終的に認証データ列を出力する復号化手段と
を有することを特徴とする復号化装置。
【請求項３】
上記暗号化通信装置の出力手段から、乗算値Ｘと上記暗号化データとを受信する受信手段と、下記構成ａ）〜ｃ）を有する復号化手段と、該復号化手段により認証データ列が出力された時に、上記受信手段に他のデータ乃至プログラムをダウンロードさせ、又は、先に受信手段に他のデータ乃至プログラムを先にダウンロードしておいた後、上記復号化手段により認証データ列が出力されることで、ダウンロードされた該データ乃至プログラムに基づく処理を実行する制御手段とを少なくとも有する復号化通信装置。
ａ）割り付けられたユニークなシリアル番号の属するロットに対応して割り当てられた複数の素数を記憶しておく第３の記憶手段、
ｂ）上記第３の記憶手段に記憶された１の素数を読み出して、その値で、入力された乗算値Ｘを除算処理し、割り切れた素数があった時、その商をｙとして算出すると共に、さらに第３の記憶手段に記憶された他の素数を読み出して、その値で、上記商ｙを除算処理し、第３の記憶手段に記憶された全ての素数に対して以上の処理を繰り返して、最終的な商を出力する除算手段、
ｃ）上記暗号化データを、除算手段から出力された最終的な商を用いて復号化し、最終的に認証データ列を出力する復号化手段
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化通信装置、復号化装置、復号化通信装置に関する。
【背景技術】
【０００２】
これまで、携帯電話などの携帯端末器でデータ通信を使ったゲームなどのコンテンツ配信を有料で行う場合、該携帯端末器のサービスを提供する通信会社によって、その携帯端末器を保有するものが課金される側の本人であり、課金しても良いかの確認を取るため、暗証番号などの入力を行わせている。
【０００３】
その際、入力された暗証番号が、該携帯端末器に格納された、或いは通信会社側のサーバに認証データとして格納されている、暗証番号と一致するか否かが判断され、一致する場合に、ゲームなどのコンテンツ配信がなされることになる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
以上のような通信会社が提供する認証方法であると、個別のコンテンツ配信毎に、自由な課金方法をとることができない、すなわち、独自に課金する方法をとることができず、コンテンツ配信業者からは、このような問題の解決を図れる技術の提供が望まれていた。
【０００５】
一方、ＲＳＡなどの公開鍵暗号方式が、高いセキュリティレベルを有するとして、多くのネットセキュリティ技術に採用されてきた。
【０００６】
これらは、例えば大きな整数が公開鍵として公開されると共に、上記数値が２つ以上の素因数の積に分解されて１の素因数が秘密鍵扱いされ、公開鍵で対象となるデータなどの暗号化がなされ、また秘密鍵で復号化が行われるという形式で使用される。
【０００７】
しかし、上記方式を、携帯端末器の認証用に用いようとしても、公開鍵としての整数の桁数が大きい場合、携帯端末器中に使用されるＣＰＵなどでは、素因数分解して複数の素数を求めて、秘密鍵に相当するものであるか否かを確認するためには、多大な時間を要し、処理能力の面で、限界があり、コンテンツ配信に時間がかかるようでは、使い物にならないとして、携帯端末器のユーザがその利用を敬遠する理由になりかねない。
【０００８】
また最近の携帯端末器の中には、スマートフォンのように、すでにパソコンに匹敵するＣＰＵ処理能力と、パソコン上で処理されるプログラム処理とほぼ同一の処理を行える性能を有するものも出てきた。従って、上記の問題も少しずつではあるが、解決される方向性が見えてきた。
【０００９】
しかし、認証方法は相変わらず、上記のような方法が使用されている。また近似は、所謂トロイの木馬やキーロガー等の悪質なプログラムがネット上に流れ、上記秘密鍵も、外部に漏れる危険性があるのは、携帯端末器においても同様な状況にあることは言うまでもない。
【００１０】
上記技術では、公開鍵となる整数の生成も、それを素因数分解する処理も、新しい公開鍵を登録しようとする度に、コンピュータ乃至携帯端末器上で１回は行われることになる。
【００１１】
暗号化されたデータは、ネット上で目的とする相手方に送られるが、上記悪質なプログラムを使用する者にとっては、その秘密鍵の取得も困難ではないので（素因数分解処理時にその素因数を取得することで）、復号化は簡単にできることになる。さらにネット上で公開されている公開鍵を用いれば、他人のなりすましも、簡単にできることになる。
【００１２】
本発明は、以上のような問題に鑑み創案されたもので、通信会社が提供する認証方法とは別個の認証が携帯端末器上で行え、しかもその認証時に該携帯端末器において高い演算処理能力を必要としない、通信装置を提供せんとするものである。それによって、携帯端末器用のコンテンツ配信業者にとって、自由な課金の仕方が実現できるようにする。
【００１３】
また同時に、上記トロイの木馬やキーロガー等の悪質なプログラムが携帯端末器上で作動したとしても、容易には復号化処理などができないセキュリティレベルの高い暗号化・復号化のできる通信装置、及びその通信装置に使用される復号化装置を提供せんとするものである。
【課題を解決するための手段】
【００１４】
そのため本発明の請求項１に係る暗号化通信装置は、請求項３に係る復号化通信装置が携帯端末器に相当するものだとすると、それと通信を行い、その要求に従ったコンテンツ提供サービスを行うサーバなどに相当する構成であり、より具体的な構成は、
予め生成された複数の素数を記憶しておく第１の記憶手段と、
各復号化装置に割り付けられたユニークなシリアル番号の属する任意のロット群毎に、対応して複数用いられる、特定された上記素数を各記憶しておく第２の記憶手段と、
与えられたシリアル番号に対して、該シリアル番号が属するロットに夫々割り当てられた２以上の素数を、第２の記憶手段から読み出す（ここで読み出すとは選択すると同意；以下同じ）と共に、第１の記憶手段には記憶されており、そのシリアル番号に対応するものとしては該第２の記憶手段に記憶されていない、１乃至複数の素数を読み出す選択手段と、
選択手段により選択された全ての素数を乗算し、乗算値Ｘを出力する乗算手段と、
所定バイトのランダムなデータを生成し、そのデータに任意の認証データ列を埋め込む認証データ列入力手段と、
認証データ列の埋め込みが終了した上記データを、選択手段によって第１の記憶手段から読み出された１の素数乃至そこから読み出された複数の素数の積を用いて暗号化し、暗号化データとする暗号化手段と、
上記乗算値Ｘと、上記暗号化データとを出力する出力手段と
を有することを基本的特徴としている。
【００１５】
この請求項１の構成とこの後に述べる請求項３の復号化通信装置とは、上述のように、所謂サブコンビネーションの関係にある構成であり、さらに、請求項２の復号化装置の構成は、該復号化通信装置内に使用される復号化構成のみ（たとえば復号化チップなどとして提供される）をクレーム化したものである。これらの各請求項の構成について、先に説明する。
【００１６】
上記請求項２の復号化装置の構成は、
割り付けられたユニークなシリアル番号の属するロットに対応して割り当てられた複数の素数を記憶しておく第３の記憶手段と、
上記第３の記憶手段に記憶された１の素数を読み出して、その値で、入力された乗算値Ｘを除算処理し、割り切れた素数があった時、その商をｙとして算出すると共に、さらに第３の記憶手段に記憶された他の素数を読み出して、その値で、上記商ｙを除算処理し、第３の記憶手段に記憶された全ての素数に対して以上の処理を繰り返して、最終的な商を出力する除算手段と、
上記暗号化データを、除算手段から出力された最終的な商を用いて復号化し、最終的に認証データ列を出力する復号化手段と
を有することを特徴としている。
【００１７】
さらに、請求項３の復号化通信装置の構成は、請求項２の復号化装置の構成を備える通信装置の構成であり、
上記暗号化通信装置の出力手段から、乗算値Ｘと上記暗号化データとを受信する受信手段と、下記構成ａ）〜ｃ）を有する復号化手段と、該復号化手段により認証データ列が出力された時に、上記受信手段に他のデータ乃至プログラムをダウンロードさせ、又は、先に受信手段に他のデータ乃至プログラムを先にダウンロードしておいた後、上記復号化手段により認証データ列が出力されることで、ダウンロードされた該データ乃至プログラムに基づく処理を実行する制御手段とを少なくとも有する構成である。
ａ）割り付けられたユニークなシリアル番号の属するロットに対応して割り当てられた複数の素数を記憶しておく第３の記憶手段、
ｂ）上記第３の記憶手段に記憶された１の素数を読み出して、その値で、入力された乗算値Ｘを除算処理し、割り切れた素数があった時、その商をｙとして算出すると共に、さらに第３の記憶手段に記憶された他の素数を読み出して、その値で、上記商ｙを除算処理し、第３の記憶手段に記憶された全ての素数に対して以上の処理を繰り返して、最終的な商を出力する除算手段、
ｃ）上記暗号化データを、除算手段から出力された最終的な商を用いて復号化し、最終的に認証データ列を出力する復号化手段
【００１８】
上記構成のうち、請求項１に係る暗号化通信装置が、コンテンツ提供サービスを行うサーバ側の認証処理のための構成に相当する構成であるとしたならば、請求項３に係る復号化通信装置は、該サーバにコンテンツダウンロード配信要求を行う携帯端末器に相当するものということになる。その請求項３の構成中には、請求項２の復号化構成を備えることになる。
【００１９】
上記構成を組み合わせて使用すると、通信装置間で外部に出力されるものは、各復号化装置（復号化通信装置内に有している復号化チップなどの装置）に割り付けられたユニークな（唯一の）シリアル番号（製造番号など）と、上記乗算値Ｘと、上記暗号化データとの、３つのみとなり、どのデータを外部の者が仮に入手できたとしても、認証データ列の復号化処理は、無理であり、従って認証データ列を取り出すことはできないことになる。また、暗号化処理についてもできないことは言うまでもない。
【００２０】
暗号化通信装置において、なぜ、各記憶手段に、一方の装置では使用される素数（第２の記憶手段及び第３の記憶手段に記憶される素数）が記憶され、及び先の装置では使用されない素数（第１の記憶手段に記憶される素数）が、他方の装置（第１の記憶手段に）では記憶されているのかというのは、このような素数の記憶のさせ方によって、復号化装置の除算手段において闇雲に素因数分解などをせずに、上記乗算値Ｘを最初から除算できる「１の素数」又は「複数の素数の積」（第１の記憶手段に記憶された素数の積）を用意しておき（この「１の素数」乃至「複数の素数の積」は除算手段で出力された最終的な商と同じ）、演算処理速度を速めるためである。また他の前記シリアル番号を有する復号化装置乃至復号化通信装置で使用される可能性があるので、第１の記憶手段には、第２、第３の記憶手段に記憶された以外の素数を記憶させておくことになるが、これも、後述するように、このような「１の素数」乃至「複数の素数の積」を暗号化処理乃至復号化処理に使用するためである。このような素数は、外部へ出力されない構成とした。
【００２１】
さらに暗号化通信装置においてなぜ乗算値Ｘを求めるかというのは、後述する復号化装置における復号化処理において明らかであるが、要するに、外部に出力される数値としては途中で外部に漏れたとしても解析が困難な状況にしておき、他方、復号化装置において、「生成されたランダムなデータに対し、任意の認証データ列を埋め込んで、暗号化処理を行った暗号化データ」に対して、復号化装置の除算手段において出力される最終的な商［これは、除算手段により第３に記憶された素数（又は素数の積）から容易に求められる。またこの最終的な商は、第１の記憶手段から読み出した、第２の記憶手段には記憶されていない「１の素数」乃至「複数の素数の積」と同じ］を用いて、簡単に認証データ列が復号化できるようにするためである。
【００２２】
このように、暗号化データの復号化処理に必要な素数は、暗号化通信装置の両記憶手段及び復号化装置（乃至復号化通信装置）の第３の記憶手段に記憶されているだけで、これらの装置を操作するユーザでさえ、具体的に、それを自分の操作で読み出して、各処理に用いることはなく、従って、外部に遺漏されることは、一切ない。
【００２３】
他方、これらの構成では、復号化装置において、通信において暗号化通信装置の出力手段から転送されてきた暗号化データを復号化処理する場合に、まず、同時に受信された乗算値Ｘの値に対して、除算手段により、第３の記憶手段に記憶されている素数を用いて除算処理し、割り切れた素数があった時、その商をｙとして算出すると共に、さらに第３の記憶手段に記憶された他の素数を読み出して、その値で、上記商ｙを除算処理し、第３の記憶手段に記憶された全ての素数に対して以上の処理を繰り返して、最終的な商を割り出す。
【００２４】
この最終的な商（１の素数の場合や複数の素数の積の場合がある）が、上記暗号化データを復号化処理する場合に使用されるキー（鍵）となり、復号化手段により、上記暗号化手段とは逆に、受信された上記暗号化データを、除算手段から出力された最終的な商を用いて、上記復号化装置により復号化し、最終的に認証データ列を得ることになる。
【００２５】
上記第１の記憶手段で、予め生成された複数の素数を記憶しておく（たとえば３、５、７、１１、１３、１７、１９、２３、…、○○○○○○○○○）のは、暗号化・復号化処理を行うのに、その都度、演算して出すのでは処理が遅くなるからであり、また使用する素数を予め生成し記憶しておくことで、（暗号化通信装置の暗号化手段における暗号化処理だけでなく、）特に復号化装置及び復号化通信装置の復号化手段における復号化処理で、使用される「１の素数」乃至「複数の素数の積」を少ない個数の素数で（たとえば数個に）済ますことができる［第２の記憶手段に記憶される素数は、まず第１の記憶手段に記憶された素数中に含まれており、後述するように、各復号化装置自身に割り付けられたユニークなシリアル番号の属する任意のロット群毎に、対応して複数（たとえば数個に）決められ、記憶される］ため、携帯端末器などに適用されるこれら復号化通信装置において、演算処理負荷をかけることができない、内部に備えられる復号化装置では、その演算処理負荷が少なくなって、これらの処理がすぐに終了するようになり、非常に実用的だからである。尚、「第１の記憶手段に、予め生成された複数の素数を記憶しておく」というのは、暗号化通信装置（サーバなど）において、その時々に新しい素数を生成し、第１の記憶手段にそれまで記憶されていたものと置き換えるような構成の場合も含むことになる。
【００２６】
また暗号化通信装置の第２の記憶手段において、各復号化装置自身（復号化通信装置ではない、たとえば復号化チップなど）に割り付けられたユニークな（唯一の）シリアル番号（たとえば復号化チップの製造番号など）の属する任意のロット群（たとえば前記製造番号00000001〜00000100までは、ロット番号0001で、製造番号00000101〜00000200までは、ロット番号0002で）毎に、対応して複数用いられる、第１の記憶手段で特定された上記素数を各記憶しておいたり（たとえば前記ロット番号0001では、素数１、５、７を記憶しておき、ロット番号0002では、素数９、１１、１７を記憶しておく）、復号化装置の（或いは復号化通信装置の）第３の記憶手段において、該復号化装置自身（たとえば復号化チップなど）に割り付けられたユニークな（唯一の）シリアル番号（同上）の属するロット（同上）に対応して割り当てられた複数の素数を記憶しておく（同上）ようにしたのは、このように、復号化装置のロット群毎に、携帯端末器などの復号化通信装置（復号化装置を含む）で復号化処理などに「どの素数」が使用されるか、又はどのような「複数の素数の積」が使用されるか（すなわち除算手段により出力される最終的な商に等しい）を、サーバ側などの認証処理に使用される暗号化通信装置において管理がし易くなるからであり、逆に、携帯端末器などの復号化通信装置（復号化装置を含む）の方では、そのようにロット群毎に使用される復号化装置側の素数が暗号化通信装置の方で管理されていれば、復号化に使用する素数の個数が少なくて済んだり、該素数の桁数などが比較的小さくて済み、復号化装置ではその演算処理負荷が少なくなって、これらの処理がすぐに終了するようになり、非常に実用的だからである。
【００２７】
尚、復号化処理の復号化手段により、認証データ列が復号化され、出力された後は、認証後に処理すべきデータやプログラムなどのコンテンツの受信、或いはすでに受信されているこれらのデータやプログラムなどに基づく各処理が行われるように制御することで、たとえば携帯電話などの携帯端末器で、ゲームなどのコンテンツの提供ができるようになる。その場合、受信される或いは既に受信されたデータやプログラムなどのコンテンツ自身についても、暗号化処理をしておき、上記復号化手段で復号化処理しながら、コンテンツを提供できるような処理を一緒に行うようにしても良い。
【発明の効果】
【００２８】
本発明の請求項１〜請求項３記載の暗号化通信装置、復号化装置、復号化通信装置によれば、通信会社が提供する認証方法とは別個の認証が携帯端末器上で行え、しかもその認証時に該携帯端末器において高い演算処理能力を必要としない、通信環境を構築することができ、またそれによって、携帯端末器用のコンテンツ配信業者にとって、自由な課金の仕方が実現できるようになるという優れた効果を奏し得る。
【００２９】
さらに、上記トロイの木馬やキーロガー等の悪質なプログラムが携帯端末器上で作動したとしても、容易には復号化処理ができないなど、セキュリティレベルを非常に高めることができるようになる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の実施の形態を図示例と共に説明する。
図１は、サービスサーバ１００に携帯電話で構成される携帯端末器２０からの要求でゲームプログラムがダウンロードされる際に、本発明に係る暗号化通信装置たる認証サーバ１０と、復号化装置２１を有する復号化通信装置たる上記携帯端末器２０との間で、以下に示す認証処理が行われる状態を示す実施形態構成説明図である。
【００３１】
同図に示すように、本構成では、携帯端末器２０中に、通常の、ＣＰＵで構成される制御手段２６、フラッシュメモリなどで構成されるゲームプログラムメモリ２７、通信タワー２００との間でパケットなどの送受信を行う送受信手段２５、及び画像表示用に専用の演算処理を行い、端末画面の画面表示を行うビデオプロセッサ２８などを備えている他、さらに後述する復号化装置２１を備えている。
【００３２】
他方、サービスサーバ１００は、上記携帯端末器２０からの要求に応じて、該携帯端末器２０のユーザが欲するプログラムをゲームプログラム格納手段１０１から読み出し、インターネット及び通信サービス会社が提供する通信サービスを介して、その配信を行うコンピュータであり、通常のサーバ構成を有している。
【００３３】
このサービスサーバ１００は、携帯端末器２０からの要求を受けた後、ゲームプログラムの読み出し前に、そのユーザに対しての課金などを行うための認証処理を行っており、そのために必要な、暗号化・復号化処理も含めて、それらが行える構成を備えている。図１では、携帯端末器２０中に復号化装置２１を、またサービスサーバ１００側には、上記ゲームプログラム格納手段１０１に格納された特定のゲームプログラムのダウンロードを要求してきたユーザに対して、その認証処理を行い、課金などができるようにするための認証サーバ１０を、各備えている。
【００３４】
尚、本構成では、携帯端末器２０から上記ゲームプログラムのダウンロード要求が出力された際、サービスサーバ１００から指示を受けた認証サーバ１０が、該携帯端末器２０に対しシリアル番号（復号化装置２１がチップで構成されているためそのチップの製造番号に相当する）の出力要求を出し、該携帯端末器２０は、それに応じて自己の有する復号化装置２１のシリアル番号を上記認証サーバ１０に対して出力するようになっている。
【００３５】
図２は、そのうち、本発明の暗号化通信装置たる認証サーバ１０の構成を示している。同図に示すように、該認証サーバ１０は、第１の記憶手段１１と、第２の記憶手段１２と、選択手段１３と、乗算手段１４と、認証データ列入力手段１５と、暗号化手段１６と、出力手段１７とを有している。
【００３６】
上記第１の記憶手段１１は、予め計算され、後の第２の記憶手段１２及び第３の記憶手段２２でも使用されるものを含む、複数の素数を記憶しておくストレージデバイスである。この場合、認証サーバ１０において、その時々に新しい素数を生成し、第１の記憶手段１１にそれまで記憶されていたものと置き換えるような構成のものとしておいても良い。ただし、その置き換えの際には、第２の記憶手段及び携帯端末器２０の第３の記憶手段に記憶される素数に変更が内容にする必要がある。それができない場合には、上記置き換えの際に、第２の記憶手段及び携帯端末器２０の第３の記憶手段に記憶される素数を一緒に更新することになる。
【００３７】
上記第２の記憶手段１２は、各携帯端末器２０の上記復号化装置２１の夫々に割り付けられたユニークなシリアル番号の属する任意のロット群（シリアル番号00000001〜00000100、…、シリアル番号00000301〜00000400、…には、各ロット番号0001、〜0004、…が付けられている）毎に、対応して３つずつ用いられる、特定された上記素数（ロット番号0001には、３、５、７、〜ロット番号0004には、１３、１７、１９、…）を各記憶しておくストレージデバイスである。
【００３８】
上記選択手段１３は、認証サーバ１０のＣＰＵ及びメモリで構成されるもので、プログラムダウンロード要求の際、サービスサーバ１００からの認証処理指令を受信した際、該認証サーバ１０側から、携帯端末器２０に対し、その復号化装置２１（チップ）のシリアル番号送出要求を出し、それに応じて携帯端末器２０側が、そのシリアル番号を送信してきた際、受信されたシリアル番号に対して、該シリアル番号が属するロットに夫々割り当てられた３つの素数（たとえばシリアル番号が00000061の場合ロット番号は0001であり、その場合に読み出される素数は、３、５、７である）を、第２の記憶手段１２から読み出すと共に、第１の記憶手段１１には記憶されており、そのシリアル番号に対応するものとしては該第２の記憶手段１２に記憶されていない、素数ｐ０（たとえば上の場合素数２３）を読み出す機能を有している。尚、本実施例では第１の記憶手段１１から選択される素数は１つの例で示されているが、複数選択され、それらを掛け合わせて、後の暗号化処理に使用しても良い。
【００３９】
上記乗算手段１４は、同じく認証サーバ１０のＣＰＵ及びメモリで構成されるもので、上記選択手段１３により選択された全ての素数を乗算し、乗算値Ｘを出力する機能を有している。たとえば受信された上記シリアル番号が00000061であるとして、第２の記憶手段１２から読み出される素数は、３、５、７であり、さらに第１の記憶手段１１からは、この３、５、７以外の素数、たとえば２３をｐ０として読み出した場合、乗算値Ｘは、３×５×７×２３＝２４１５となる。
【００４０】
上記認証データ列入力手段１５は、同じく認証サーバ１０のＣＰＵ及びメモリで構成されるもので、ＣＰＵに、乱数発生器的に、ランダムなデータを生成させ、上記選択手段１３によって第２の記憶手段１２から読み出されたいずれかの素数ｐ１（３、５、７のいずれか）によって指示されるｐ１ビット目から、認証データ列（たとえばDesigned by 〜）を埋め込む機能を有している。たとえば生成されたランダムなデータが、fcde15ba855ef1893dccbab4752116bacd84cadabbefだとした場合、そのうちｐ１が素数５だとして、５ビット目である、１以下のデータ列に、上記、Designed by 〜を埋め込んで、fcdeDesigned by 〜bacd84cadabbefとのデータ列にする。
【００４１】
上記暗号化手段１６は、同じく認証サーバ１０のＣＰＵ及びメモリで構成されるもので、認証データ列の埋め込みが終了した上記データを、選択手段１３によって第１の記憶手段１１から読み出した素数ｐ０（上記の例では２３）を用いて暗号化し、暗号化データとする機能を有している。この暗号化方法には特に限定はないが、たとえば、上記fcdeDesigned by 〜bacd84cadabbefとのデータ列に素数ｐ０である２３を加算するものとすれば、fcの部分に２３を足して1e、deの部分に２３を足してｆ1、…、efの部分に２３を足して02となる。尚、上述のように、暗号化に使用されるものが、本実施例では１の素数（２３）であるが、複数の素数の積が使用されるようにしても良いことは前述の通りである。
【００４２】
上記出力手段１７は、上記乗算手段１４によって算出された乗算値Ｘ（たとえば２４１５）と、上記暗号化手段１６によって生成された暗号化データとを、サービスサーバ１００側に送る、イーサネット（登録商標）などの出力構成である。これら値は、サービスサーバ１００によって、携帯端末器２０の復号化装置２１に送出される。
【００４３】
図３は、携帯端末器２０の構成を示す説明図である。同図に示すように、該携帯端末器２０の構成は、送受信手段２５と、復号化装置２１と、ゲームプログラムメモリ２７と、制御手段２６とを有しており、該制御手段２６は、バスを介して、図１に示すように、ビデオプロセッサ２８、音源２９などに、接続されている。
【００４４】
上記送受信手段２５は、携帯端末器２０として当然備えている構成であり、通信会社の通信タワー２００に対して、パケット送受信を行える構成である。
【００４５】
上記ゲームプログラムメモリ２７は、内蔵のフラッシュメモリからなり、後述する復号化手段２４によって、認証データが抽出された段階で、制御手段２６からの送出指令により送受信手段２５が、ゲームプログラムの送出要求をサービスサーバ１００側に出し、それに応じてサービスサーバ１００側がゲームプログラム格納手段１０１からユーザの希望するゲームプログラムを読み出してアップロードしてきたものを、受信した際に、該ゲームプログラムを格納しておく構成である。外部記憶手段としてのフラッシュメモリであっても良い。
【００４６】
上記復号化装置２１は、下記構成ａ）〜ｃ）を有する構成であり、カスタムＬＳＩで構成されている。ただし、ｂ）の除算処理の一部及びｃ）の復号化処理の一部は、携帯端末器２０のＣＰＵ及びＲＡＭなどに指示、その処理を代行させる構成となっている。
【００４７】
ａ）の第３の記憶手段２２の構成は、当該復号化装置２１毎に割り付けられたユニークなシリアル番号（製造番号）の属するロットに対応して割り当てられた３つの素数（上記例では３、５、７）を記憶しておく構成である。
【００４８】
ｂ）の除算手段２３は、上記第３の記憶手段２２に記憶された１の素数（たとえば最初は３、次は５、さらに次は７）を読み出して、その値で、送受信手段２５で受信された乗算値Ｘ（上記の例では２４１５）を除算処理し、割り切れた素数があった時、その商をｙとして算出すると共に、さらに第３の記憶手段２２に記憶された他の素数を読み出して、その値で、上記商ｙを除算処理し、第３の記憶手段２２に記憶された全ての素数に対して以上の処理を繰り返して、最終的な商である素数ｐ０（上記の例では２３）を出力する構成である。尚、上述の暗号化手段１６によりその暗号化に使用されるものが、「複数の素数の積」である場合は、除算手段２３により出力される最終的な商は、素数ではない。
【００４９】
ｃ）の復号化手段２４の構成は、上記乗算値Ｘ乃至商ｙの除算処理で、割り切れた素数で指示される値（３、５、７）を、入力された暗号化データの該当ビット（最初は３）として、該ビット目（３ビット目）から、上記素数ｐ０（上記の例では２３）で復号化し、それによる認証データ列（上記の例ではDesigned by 〜）が復号化ができない時は、上記除算処理で割り切れた他の素数（次の値は５）で指示される値を、入力された暗号化データの該当ビットとして、該ビット目（５ビット目）から、上記素数ｐ０で復号化し、認証データ列が復号化できるまで、以上の処理を繰り返し、最終的に認証データ列を出力する構成である。
【００５０】
上記制御手段２６は、携帯端末器２０のＣＰＵで構成されており、上記該復号化手段２４により認証データ列（上記の例ではDesigned by 〜）が出力された時に、送出指令を出力し、上記送受信手段２５に、ユーザが指定したゲームプログラムをダウンロードさせ、該プログラムに基づく処理を実行する構成である。該ゲームプログラムの実行時に、上記ビデオプロセッサ２８や音源２９に、該プログラムに従った処理をさせ、画面での動画・静止画の表示やスピーカからの任意の楽音を出力するようにする。もちろん、該制御手段２６は、ユーザからの操作入力情報（携帯端末器２０の入力キー操作情報）も受付け、それに基づいたゲームプログラムの処理を行う。
【００５１】
尚、上記のように認証データ列が出力された時に、上記送受信手段２５に、ユーザが指定したゲームプログラムをダウンロードさせるのではなく、送受信手段２５に上記ゲームプログラムを先にダウンロードしておいた後、上記復号化手段２４により認証データ列が出力されることで、ダウンロードされた該データ乃至プログラムに基づく処理を実行する構成であっても良い。
【００５２】
図４は、上記認証サーバ１０における処理フローを示すフローチャートである。
【００５３】
まず同図に示すように、サービスサーバ１００側からプログラムダウンロード要求のあった携帯端末器２０のユーザについての認証指令が受信される（ステップＳ１００）。
【００５４】
すると、認証サーバ１０は、サービスサーバ１００を介して、要求してきた携帯端末器２０に対してシリアル番号の出力要求を出す（ステップＳ１０２）。
【００５５】
それを受けた携帯端末器２０では、内蔵された上記復号化装置２１（復号化チップ）のシリアル番号（製造番号）00000061を、サービスサーバ１００側を介して、該認証サーバ１０側に送信してくるので、認証サーバ１０は、該シリアル番号00000061を受信する（ステップＳ１０４）。
【００５６】
その後処理は２つに分かれ、選択手段１３により、第２の記憶手段１２から、受信したシリアル番号00000061の属するロット（ロット番号0001）の対応する素数３、５、７を読み出す（ステップＳ１０６）。
【００５７】
他方は、認証データ列入力手段１５により、ランダムなデータ列fcde15ba855ef1893dccbab4752116bacd84cadabbefが生成される（ステップＳ１１２）。
【００５８】
次に、上記選択手段１３により、上記ステップＳ１０６で読み出された素数３、５、７以外の素数ｐ０＝２３を第１の記憶手段１１から読み出す（ステップＳ１０８）。
【００５９】
上記のランダムなデータ列に対しては、同じく認証データ列入力手段１５により、上記素数ｐ１の１つが指示するたとえば５ビット目から、予め認証データ列として決めてある「Designed by 〜」を埋め込み、認証データ列fcdeDesigned by 〜bacd84cadabbefを生成する（ステップＳ１１４）。
【００６０】
さらに、上記乗算手段１４により、読み出された全ての素数３、５、７、２３を全て乗算して、乗算値Ｘ＝２４１５を算出する（ステップＳ１１０）。
【００６１】
先ほど生成された認証データ列fcdeDesigned by 〜bacd84cadabbefを、暗号化手段１６により、上記素数ｐ０＝２３により、暗号化データを生成する（ステップＳ１１６）。
【００６２】
以上のようにして算出乃至生成された乗算値Ｘ及び暗号化データを、出力手段１７により、サービスサーバ１００を介して、ゲームプログラムダウンロード要求を出した携帯端末器２０に出力する（ステップＳ１２０）。
【００６３】
図５は、携帯端末器２０の処理フローを示すフローチャートである。
【００６４】
同図に示すように、携帯端末器２０では、ユーザの操作によりモード変更がなされ（後述するステップＳ２３４参照）、たとえばダウンロードアプリケーション実行モード（後述するステップＳ２３６参照）として、ユーザが欲するゲームプログラムが課金の承認を受けた上でダウンロードされ、実行できるアプリモードに変更されたものとする（ステップＳ２００）。
【００６５】
そして後述するように、その携帯端末器２０のユーザに対して、選択可能なゲーム画面の表示を行う（ステップＳ２０２）。
【００６６】
同じく後述するように、ユーザの指示によるゲーム画面の選択の受付がなされそれとともに課金の承諾も一緒になされる（ステップ２０４）。
【００６７】
その後携帯端末器２０は、サービスサーバ１００に向けて、選択されたゲームプログラムのダウンロード要求を出力する（ステップＳ２０６）。
【００６８】
すると、それを受けたサービスサーバ１００は、そのユーザの認証を行うため、認証サーバ１０に該ユーザの認証処理を実行するよう指示を出す。そのため、該認証サーバ１０から、携帯端末器２０に保有するカスタムＬＳＩチップで構成された復号化装置２１のシリアル番号の出力要求が、上記サービスサーバ１００を介して、出される。携帯端末器２０は、そのシリアル番号の出力要求を受信する（ステップＳ２０８）。
【００６９】
その要求に呼応して、該携帯端末器２０から、上記復号化装置２１のユニークなシリアル番号が出力される（ステップＳ２１０）。
【００７０】
すると、上記図４で示したように、認証サーバ１０からサービスサーバ１００を介して、上記乗算値Ｘ及び暗号化データが、送受信手段２５によって、受信される（ステップＳ２１２）。
【００７１】
除算手段２３は、第３の記憶手段２２からそこに記憶された１の素数を読み出し（ステップＳ２１４）、受信された乗算値Ｘを該素数で除算する（ステップＳ２１６）。
【００７２】
この除算に対し余りが生ずるか否かをチェックし（ステップＳ２１８）、そこで、余りが生じていれば（ステップＳ２１８；Ｎ）、処理を終了する。乗算値Ｘは、本来その素数で割りきれるはずだからである。
【００７３】
他方余りが生じていなれば（ステップＳ２１８；Ｙ）、算出した商ｙを出力する。
【００７４】
そして、除算手段２３によって、第３の記憶手段２２から読み出された素数が最後のものか否かをチェックする（ステップＳ２２０）。
【００７５】
読み出された素数が最後のものでなければ（ステップＳ２２０；Ｎ）、ステップＳ２１４に戻して、新たな素数の読み出しから、上記の処理までを繰り返す。
【００７６】
他方読み出された素数が最後のものであれば（ステップＳ２２０；Ｙ）、第３の記憶手段２２に記憶された３つの素数とそれにない認証サーバ１０側の第１の記憶手段１１にある素数ｐ０が復号化手段２４に出力される。
【００７７】
それに従って、復号化手段２４により、受信された暗号化データに対し、復号化処理を行う（ステップＳ２２２）。
【００７８】
その復号化処理の結果、目的とする認証データ、すなわち、「Designed by 〜」が得られたか否かをチェックする（ステップＳ２２４）。
【００７９】
上記認証データが得られいなければ（ステップＳ２２４；Ｎ）、そこで処理を終了する。
【００８０】
反対に認証データが得られいれば（ステップＳ２２４；Ｙ）、復号化手段２４は、その認証データを制御手段２６に出力する（ステップＳ２２６）。
【００８１】
該認証データを受け取った制御手段２６は、送受信手段２５を介して、サービスサーバ１００に対し、ゲームプログラムの送出指令を出力する（ステップＳ２２８）。
【００８２】
この送出指令を受けたサービスサーバ１００は、ユーザが選択したゲームプログラムをゲームプログラム格納手段１０１から読み出し、上記携帯端末器２０に向けて送信する。従って、携帯端末器２０側では送受信手段２５を介して、ゲームプログラムメモリ２７に、後述するように、ユーザの選択したゲームプログラムがダウンロードされる（ステップＳ２３０）。
【００８３】
このダウンロードが終了すると、該ゲームプログラムが実行される（ステップＳ２３２）。
【００８４】
ゲーム終了後又はゲーム途中でポーズボタンなどが押され、ユーザが、さらに別のゲームを行うため、又は別の携帯端末器２０の処理を実行させるため、モード変更処理を実行した場合には、そのチェックがなされる（ステップＳ２３４）。
【００８５】
そのチェックで、モード変更処理が実行された場合には（ステップＳ２３４；Ｙ）、さらにそのモード変更がアプリモードであるか否かがさらにチェックされる（ステップＳ２３６）。
【００８６】
このチェックで該モード変更がアプリモードであれば（ステップＳ２３６；Ｙ）、上記ステップＳ２００に復帰する。
【００８７】
他方ステップＳ２３４のチェックでモード変更でなければ（ステップＳ２３４；Ｎ）、上記ステップＳ２３２に復帰する。
【００８８】
またステップＳ２３６のチェックでアプリモードでなければ（ステップＳ２３６；Ｎ）、他の処理を実行する。
【００８９】
図６は、携帯端末器２０のアプリモード画面で、選択してＰＬＡＹ可能なゲームプログラムの選択画面表示例を示している。同画面では、４つの画面に区分けされゲーム内容が１目で分かるように表示されている。また上下の矢印ボタンで、別のＰＬＡＹ可能なゲームプログラムの選択画面が表示されることになる。
【００９０】
図７は、上記ゲームプログラムの選択画面で、ユーザがＰＬＡＹしたいゲームの画面を選択した場合の携帯端末器２０の画面表示例である。同図に示すように、選択したゲームプログラムの画面左上隅の数字が反転表示されるとともに、その下に、「上のゲームタイトルが選択されました。○○円課金されますがよろしいでしょうか？」との確認画面が表示され、Ｙｅｓ又はＮｏの矢印マークでユーザ側からの確認をとる。
【００９１】
図８は、上記確認画面で、ユーザが確認をした場合、上記した図２〜図５までの処理がなされて、ユーザ認証がなされた結果、認証データが携帯端末器２０の制御手段２６に受け取られ、サービスサーバ１００へ当該ゲームプログラムの送出指令が出された後、サービスサーバ１００がゲームプログラム格納手段１０１から、指定されたゲームプログラムを読み出して、それを送信している際の、携帯端末器２０側の、ゲームプログラムダウンロード中の画面表示例を示している。
【００９２】
以上説明した本実施携帯構成によれば、携帯通信会社が提供する従来の認証方法とは別個の上記処理による認証が携帯端末器２０上で行え、しかもその認証時に該携帯端末器２０において高い演算処理能力を必要としない、通信環境を構築することができ、またそれによって、携帯端末器２０用のコンテンツ配信業者にとって、自由な課金の仕方が実現できるようになるという優れた効果を奏し得る。
【００９３】
さらに、上記トロイの木馬やキーロガー等の悪質なプログラムが携帯端末器２０上で作動したとしても、容易には復号化処理ができないなど、セキュリティレベルを非常に高めることができるようになる。
【００９４】
尚、本発明の暗号化通信装置及び復号化通信装置は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。たとえば、上記認証処理前乃至認証処理実行中に、ゲームプログラムのダウンロードを行っておき、復号化処理の復号化手段２４により認証データ列が復号化され、出力されることで、認証後に、すでに受信されているこれらのゲームプログラムなどに基づくプログラムの実行処理が行われるようにしても良い。そうすることで、携帯端末器２０で、ゲームなどのコンテンツが直ぐにＰＬＡＹ可能となる。
【産業上の利用可能性】
【００９５】
本発明の暗号化通信装置、復号化装置、復号化通信装置によれば、携帯端末器２０でデータ通信を使った有料コンテンツ配信を行うあらゆる場合に適用でき、通信会社が提供する従来の認証方法とは別に、コンテンツ配信者独自の、自由な課金方法をとることができる。そればかりか、この認証方法を使用することで、認証終了までの時間が短くなると共に、携帯端末器２０中に使用する演算処理装置の演算処理能力が高いものでなくても、セキュリティの高い認証が行えるようになり、たとえば、電子マネーやクレジットカード使用時の本人認証などにも適用可能である。さらに、近年では、家庭内インフラとして、或いは社会的インフラとして、欧州などで使用されるようになった、各建築物などに引き込まれる電力ケーブルに変調器を取り付け、さらにその電力ケーブル用の変圧器に、該変調器につながる無線ラン乃至電波送受信装置を使用することで、電力ケーブルを使用した毎秒２００Ｍｂｉｔクラスのインターネット接続インフラが普及した場合、この構成を適用することで、上記携帯端末器用の通信会社を経由しなくても、本構成が使用でき、その場合には、あらゆる場所で、携帯端末器とサーバ側との認証が可能であることは言うまでもない。
【図面の簡単な説明】
【００９６】
【図１】サービスサーバ１００に携帯電話で構成される携帯端末器２０からの要求でゲームプログラムがダウンロードされる際に、認証サーバ１０と、上記携帯端末器２０との間で、認証処理が行われる状態を示す実施形態構成説明図である。
【図２】本発明の暗号化通信装置たる認証サーバ１０の構成を示す機能ブロック図である。
【図３】携帯端末器２０の構成を示す機能ブロック図である。
【図４】認証サーバ１０における処理フローを示すフローチャートである。
【図５】携帯端末器２０の処理フローを示すフローチャートである。
【図６】携帯端末器２０のアプリモード画面で、選択してＰＬＡＹ可能なゲームプログラムの選択画面の表示例を示す説明図である。
【図７】ゲームプログラムの選択画面で、ユーザがＰＬＡＹしたいゲームの画面を選択した場合の携帯端末器２０の画面表示例を示す説明図である。
【図８】携帯端末器２０側のゲームプログラムダウンロード中の画面表示例を示す説明図である。
【符号の説明】
【００９７】
１０      認証サーバ
１１      第１の記憶手段
１２      第２の記憶手段
１３      選択手段
１４      乗算手段
１５      認証データ列入力手段
１６      暗号化手段
１７      出力手段
２０      携帯端末器
２１      復号化装置
２２      第３の記憶手段
２３      除算手段
２４      復号化手段
２５      送受信手段
２６      制御手段
２７      ゲームプログラムメモリ
２８      ビデオプロセッサ
２９      音源
１００      サービスサーバ
１０１      ゲームプログラム格納手段
２００      通信タワー
【図１】
2007043428.tif 000003
【図２】
2007043428.tif 000004
【図３】
2007043428.tif 000005
【図４】
2007043428.tif 000006
【図５】
2007043428.tif 000007
【図６】
2007043428.tif 000008
【図７】
2007043428.tif 000009
【図８】
2007043428.tif 000010