【発明が解決しようとする課題】
【0004】
本発明が解決すべき技術課題は、暗号化通信方法と暗号化通信システムを提供することであり、モバイル端末を利用して、クライアントホストとアプリサーバーにIPアドレス、ランダム数とキーを送信させ、IPアドレスフィルター、双方向認証、キー認証を実行させて暗号化ネット通信を構築し、ネットアプリの安全性を向上させるものである。
【0005】
本発明の上記の技術課題を解決するための技術案は下記のとおりである:
暗号化通信方法であり、暗号化通信方法を使用する前に、ユーザーはアプリサーバーへ登録し、ユーザー情報をアプリサーバーに提出する。ユーザー情報は下記のものを含む:
ユーザーの生物学的な特徴、モバイル端末のモバイルユーザー総合業務デジタルネットワーク番号MSISDN(Mobile Subscriber Integrated Services Digital Network Number)、モバイル端末の国際モバイルユーザー識別コード IMSI(International Mobile Subscriber Identity)、モバイル端末の国際モバイル設備識別コードIMEI(International Mobile Equipment Identity)、モバイル端末SIMカードの集積回路カード識別コードICCID(Integrated Circuit Card Identity)、銀行口座(デビットカード、クレジットカードまたは預金通帳)の口座番号及び身分証明書のID、有効期間または住所;
アプリサーバーは対称キーKa/Ka’、Kc/Kc’、MemPa/MemPa’、MemKa/MemKa’、MemPc/MemPc’とMemKc/MemKc’を生成し、Ka、Kc、MemPa、MemKa、MemPcとMemKcをモバイル端末に書き込み、モバイル端末とアプリサーバーの双方向認証を実行させ、暗号化モバイル通信を構築し、キーを導出する。
【0006】
暗号化通信方法は下記のステップを含む:
ステップA:モバイル端末と応用サーバーは双方向認証を実行し、暗号化モバイル通信を構築し、キーを導出する;
ステップB:クライアントホストが起動し、読み取り専用記憶装置に保存しているクライアントシステムソフトとクライアントネットワークアプリケーションソフトを読み取り・稼働する;
ステップC:クライアントホストとアプリケーションサーバーがそれぞれ相手のIPアドレスを取得し、IPアドレスのフィルタールールをそれぞれ設定する;
ステップD:アプリケーションサーバーはランダム数とキーを生成し、モバイル端末を通じてクライアントホストに送信する;
ステップE:クライアントホストとアプリケーションサーバーはIPアドレスフィルター、双方向認証とキー認証を実行し、暗号化ネット通信を構築する。
【0007】
上記の方法を使う有益な効果として、ネットアプリの端末から端末まで(End−to−End)の安全性を保証する。
【0008】
上記の技術案について、暗号化通信方法を下記のように改善できる:
ステップAは以下のステップを含む:
ステップA11:モバイル端末とアプリサーバーは対称認証キーKa/Ka’に基づき、双方向認証を実行し、対称通信キーKc/Kc’に基づき、暗号化モバイル通信を構築し、かつ、Ka/Ka’とKc/Kc’の間には演算関係がない;
ステップA12:アプリサーバーはランダム数R1、R2、R3、R4を生成し、新しい認証キーKa’を導出し、Ka’を導出する過程は以下のステップを含む:
アプリサーバーは保存しているMemPa’に基づき、MemPa’=f(R1,MemPa’)を計算する、ここで、R1はランダム数であり、MemPaはキーであり、fは暗号化関数であり、fは単向Hash関数、対称暗号化関数、及び、当該二種類の関数により構成する関数を含む;
アプリサーバーは保存しているMemKa’に基づき、MemKa’=f(R2,MemKa’)を計算する、ここで、R2はランダム数であり、MemKa’はキーである;
アプリサーバーはKa’=f(R1,R2,MemPa’,MemKa’)を計算する、ここで、R1とR2はランダム数であり、MemPa’はパラメーターであり、MemKa’はキーである;
アプリサーバーは新しい通信キーKc’を導出し、Kc’の導出の過程は上記Ka’の導出の過程に演算関係がなく、Kc’の導出する過程は以下のステップを含む:
アプリサーバーは保存しているMemPc’に基づき、MemPc’=f(R3,MemPc’)を計算する、ここで、R3はランダム数であり、MemPc’はキーである;
アプリサーバーは保存しているMemKc’に基づき、MemKc’=f(R4,MemKc’)を計算する、ここで、R4はランダム数であり、MemKc’はキーである;
アプリサーバーはKc’=f(R3,R4,MemPc’,MemKc’)を計算する、ここで、R3とR4はランダム数であり、MemPc’はパラメーターであり、MemKc’はキーである;
アプリサーバーはKa’、Kc’、MemPa’、MemKa’、MemPc’、MemKc’を保存し、次の双方向認証、キー導出暗号化通信、キー導出に使う;
ステップA13:アプリサーバーはランダム数R1、R2、R3、R4をモバイル端末に送信する;
ステップA14:モバイル端末は新しい認証キーKaを導出し、Kaを導出する過程は以下のステップを含む:
モバイル端末は保存しているMemPaに基づき、MemPa=f(R1,MemPa)を計算する、ここで、R1はランダム数であり、MemPaはキーである;
モバイル端末は保存しているMemPaに基づき、MemKa=f(R2,MemKa)を計算する、ここで、R2はランダム数であり、MemKaはキーである;
モバイル端末はKa=f(R1,R2,MemPa,MemKa)を計算する、ここで、R1とR2はランダム数であり、MemPaはパラメーターであり、MemKaはキーである;
モバイル端末は新しい通信キーKcを導出し、Kcの導出過程は上記のKaの導出過程と演算関係がなく、Kcの導出過程は下記のものを含む:
Kcのモバイル端末は保存しているMemPcに基づき、MemPc=f(R3,MemPc)を計算する、ここで、R3はランダム数であり、MemPcはキーである;
モバイル端末は保存しているMemKcにより、MemKc=f(R4,MemKc)を計算する、ここで、R4はランダム数であり、MemKcはキーである;
モバイル端末はKc=f(R3,R4,MemPc,MemKc)を計算する、ここで、R3とR4はランダム数であり、MemPcはパラメーターであり、MemKcはキーである;
モバイル端末はKa、Kc、MemPa、MemKa、MemPc、MemKcを保存し、次の双方向認証、キー導出暗号化通信、キー導出に使う。
【0009】
上記の案を使う有益な効果として、認証キーKa/Ka’と通信キーKc/Kc’の間には演算関係がないため、Ka/Ka’に基づく認証情報によるKc/Kc’に対する無数攻撃が防止される。
ステップAをn回目実行した後における、MemPa、MemKa、MemPcとMemKcのそれぞれのキー導出は、再帰演算K
n=f(R
n,f(R
n−1,f(…,f(R
i,f(R
i−1,f(…,f(R
2,f(R
1,K
0))))))))によりなされ、ここで、1≦i≦nであり、K
n,…,K
i,…,K
0はキーであり、K
i=f(R
i,K
i−1)、R
n,R
n−1,…,R
i,…,R
2,R1はランダム数であり、それらは暗号化通信を通じて送信され、fは暗号化関数であり、fは単向Hash関数、対称暗号化関数、及び、当該二種類の関数により構成する関数を含み、当該再帰演算に基づくMemPa/MemPa’とMemKa/MemKa’をパラメーターとキーとして、認証キーKa/Ka’を計算し、当該再帰演算に基づくMemPc/MemPc’とMemKc/MemKc’をパラメーターとキーとして、通信キーKc/Kc’を計算し、ルートキーにより認証キーと通信キーを計算せず、また、Kc/Kc’の導出過程とKa/Ka’の導出過程に演算関係がないことで、双方向認証と暗号化通信の安全性が向上させられる。
【0010】
ステップBは以下のステップを含む:
ステップB11:クライアントホストが起動する:
ステップB12:読み取り専用記憶装置に保存しているクライアントシステムソフトを読み取り・稼働する;
ステップB13:クライアントホストはクライアントシステムソフトウェアでホストのハードディスクの使用を禁止する;
ステップB14:クライアントホストは読み取り専用記憶装置に保存しているクライアントネットアプリソフトウェアを読み取り・稼働する。
【0011】
上記の案を使う有益な効果として、クライアントホストが起動した後、読み取り専用記憶装置で保存されたソフトウェアを使用し、クライアントホストのハードディスク使用が禁止され、クライアントホストハードディスクに保存されたコンピューターウイルスによるネットアプリに対する危害を防止する。
【0012】
ステップCは以下のステップを含む:
ステップC11:クライアントホストはインターネットからホストのIPアドレスIPAcを取得する;
ステップC12:クライアントホストは読み取り専用記憶装置に保存しているアプリサーバーのIPアドレスIPAsを読み取り・稼働する、或いは、クライアントホストはユーザーにモバイル端末を用いてアプリサーバーからアプリサーバーのIPアドレスIPAsを取得させ、ユーザーにIPAsをクライアントに入力させる;
ステップC13:クライアントホストはIPアドレスフィルタールールを設定し、ホストによるIPソースアドレスがIPAsであるIPデータパッケージの受信を許可する;
ステップC14:クライアントホストはユーザーがモバイル端末を用いてアプリサーバーにIPAcを送信することを提示する;
ステップC15:IPAcをモバイル端末に入力する;
ステップC16:モバイル端末はIPAcをアプリサーバーに送信し、アプリサーバーはIPAcを受信し、同時にモバイル端末のモバイルユーザー総合業務デジタルネットワーク番号MSISDNを取得する;
ステップC17:アプリサーバーはIPアドレスフィルタールールを設定し、ホストはIPソースアドレスがIPAcであるIPデータパッケージの受信を許可する。
【0013】
上記の案を使う有益な効果として、クライアントホストは、DNSを使用せずに、IPAsを直接利用してアプリサーバーにアクセスし、DNSハイジャック(DNS Hijacking)によるネットアプリに対する危害を防止する。クライアントホストはユーザーにモバイル端末を通じてIPAcをアプリサーバーに送信させ、アプリサーバーに対し、アクセスするクライアントホストのIPアドレスを把握させ、IPアドレスフィルタールールを設定する。
【0014】
ステップDは以下のステップを含む:
ステップD11:アプリサーバーはランダム数rand1、rand2、対称キーK1/K1’、K2/K2’、K3/K3’を生成する、ここで、K1、K2、K3の任意の二者の間には演算関係がない;
ステップD12:アプリサーバーはrand1、rand2、K1、K2、K3をモバイル端末に送信する;
ステップD13:モバイル端末はユーザーにrand1、rand2、K1、K2、K3のクライアントホストへの入力を提示する;
ステップD14、rand1、rand2、K1、K2、K3をクライアントホストに入力する。
【0015】
上記の案を使う有益な効果として、アプリサーバーはモバイル端末を通じて、ランダム数とキーをクライアントホストに送信し、ネット通信のワンタイムの秘密性が保証される。
【0016】
ステップEは以下のステップを含む:
ステップE11:クライアントホストはres1=f(rand1,K1)を計算する、ここで、re1はレスポンスであり、rand1はランダム数であり、K1はキーであり、fは暗号化関数であり、fは単向Hash関数、対称暗号化関数、及び、当該二種類の関数により構成する関数を含む;
ステップE12:クライアントホストはIPデータパッケージIP1を通じて、res1をアプリサーバーに送信し、IP1のIPソースアドレスがIPAcである;
ステップE13:アプリサーバーはIPアドレスフィルターを実行し、IPアドレスフィルタールールにより、IP1を受信し、クライアントホストからアプリサーバへの接続を許可する;
ステップE14:アプリサーバーはres1’=f(rand1,K1’)を計算する、ここで、re1’はレスポンスであり、rand1はランダム数であり、K1’はキーである;
ステップE15:アプリサーバーはres1’とres1を比較し、同じである場合には、ステップE16へ進み、そうではない場合には、あらゆるフローが終了する;
ステップE16:アプリサーバーはres2’=f(rand2,K2’)を計算する、ここで、re2’はレスポンスであり、rand2はランダム数であり、K2’はキーである;アプリサーバーはランダム数rand3を生成し、rand3_c=E(rand3,K3’)を計算する、ここで、rand3_cが暗号文であり、K3’はキーであり、Eは暗号化関数である;
ステップE17:アプリサーバーはIPデータパッケージIP2を通じて、res2’とrand3_cをクライアントホストに送信し、IP2のIPソースアドレスがIPAsである;
ステップE18:クライアントホストはIPアドレスフィルターを実行し、IPアドレスフィルタールールによりIP2を受信し、アプリサーバーからクライアントホストへの接続を許可する;
ステップE19:クライアントホストはres2=f(rand2,K2)を計算する、ここで、res2はレスポンスであり、rand2はランダム数であり、K2はキーであり、クライアントホストはrand3_p=D(rand3_c,K3)を計算する、ここで、rand3_pはrand3_cの暗号化解除で取得した明文であり、rand3_cが暗号文であり、K3はキーであり、Dは暗号化関数Eに対応する暗号化解除関数である;
ステップE20:クライアントホストはres2とres2’を比較し、同じである場合には、ステップE21へ進み、そうではない場合には、あらゆるフローが終了する;
ステップE21、クライアントホストはユーザーにクライアントホストへのMSISDNの入力を提示する;
ステップE22:MSISDNをクライアントホストに入力する;
ステップE23:クライアントホストとアプリサーバーはrand3_p/rand3、MSISDN、K3/K3’に基づき、会話キーKsを認証し、Ksに基づき、暗号化ネット通信を構築する、または、アプリサーバーはユーザーの口座を開設するときに登録したユーザー情報からパラメーターCをランダムに選択し、モバイル端末またはクライアントホストを通じて、ユーザーへパラメーターCの名称を提示し、ユーザーをパラメーターCをクライアントホストに入力させ、クライアントホストとアプリサーバーはパラメーターC、rand3_p/rand3、MSISDN、K3/K3’に基づき、会話キーKsを認証し、Ksに基づき、暗号化ネット通信を構築する。
【0017】
上記の案を使う有益な効果として、アプリサーバーはIPアドレスフィルターを実行してクライアントホストを認証するので、DdoSによるアプリサーバーへの攻撃・危害が防止される。クライアントホストはIPアドレスフィルターを実行してアプリサーバーを認証するので、フィッシングによるクライアントホストに対する危害が防止される。ネット通信の双方向認証の過程において、クライアントホストとアプリサーバーの間ではランダム数が送信されず、レスポンスres1とres2’のみが送信され、res1とres2’の間には演算関係がないため、ネット送信される認証情報に基づく認証キーK1とK2に対する攻撃が防止される。res1とK3の間、res2’とK3の間には演算関係がなく、ネット送信される認証情報に基づく会話キーKsに対する攻撃が防止される。送信されないMSISDN(モバイル通信ネットはMSISDNに基づかず、臨時モバイルユーザー識別コードTMSI(Temporary Mobile Subscriber Identity)とIMSIに基づいてモバイル端末を識別し、モバイル通信ネットはTMSI/IMSIに対応するMSISDNとユーザーサービスをアプリサーバーに送信する)と、ランダムに選択されて送信されないパラメーターCと、モバイル通信ネットで送信されるK3と、インターネット暗号化送信されるrand3認証会話キーKsに基づくことで、キー認証の安全性が向上される。
【0018】
さらに、ステップE23にユーザーの口座開設するときに登録したユーザー情報は、ユーザーの生物的な特徴、国際モバイルユーザー識別コードIMSI 、国際モバイル設備識別番号IMEI、ICカード識別コードICCID、銀行口座の口座番号、身分証明書に明記するID、身分証明書に明記する有効期間または身分証明書に明記する住所を含む。
【0019】
上記の案を使う有益な効果として、ユーザー情報からパラメーターCがランダムに選択され、会話キーKsの認証に使われ、パラメーターCが伝達されないため、キー認証の安全性を向上させる。
【0020】
上記の暗号化通信方法において、対称キーK1とK2を非対称キーK1aとK2aとする取り替えを行い、K1a、K2a及び対称キーK3の任意の二者の間に演算関係がないこととし、暗号化関数fを非対称暗号化/暗号化解除関数に取り換え、クライアントホストはK1aプライベートキーとK2aパブリックキーに基づき、アプリサーバーはK2aプライベートキーとK1aパブリックキーに基づき、双方はランダム数を送信せずに、パブリックキーを交換することもなく、レスポンスのみを送信し、双方向認証を実行し、レスポンスの間には、演算関係がないこととする。
【0021】
上記の案を使う有益な効果として、暗号化通信方法に非対称暗号化アルゴリズムを採用して双方向認証を実行できる。双方向認証の際には、レスポンスのみが送信され、ランダム数が送信されず、パブリックキーが交換されず、レスポンスの間には演算関係がないので、ネット送信される認証情報による認証キーK1aとK2aに対する無数攻撃が防止される。K1aとK3の間、K2aとK3の間には演算関係がなく、ネット送信される認証情報による会話キーKsに対する攻撃が防止される。
【0022】
上記の暗号化通信方法において、双方向認証はレスポンスのみを送信し、ランダム数を送信せず、非対称暗号化アルゴリズムを採用するときには、パブリックキーを交換せず、レスポンスの間には演算関係がなく、レスポンスと会話キーの間にも演算関係がない。
【0023】
上記の案を使う有益な効果として、レスポンスのみが送信され、レスポンスの間には演算関係がないので、認証情報に基づく認証キーに対する無数攻撃が防止される。レスポンスと会話キーの間には演算関係がないので、認証情報に基づく会話キーに対する無数攻撃が防止される。
【0024】
暗号化通信方法の各実行ステップにおいて、モバイル端末を通じてクライアントホストの全ての機能を完了できる。
【0025】
上記の案を使う有益な効果として、本案のコストを更に削減できる。
【0026】
上述した暗号化通信方法に対応し、本発明の技術案には暗号化通信システムも含まれる。
即ち、読み取り専用記憶装置、クライアントホスト、モバイル端末とアプリケーションサーバーを含む暗号化通信システムであって、
読み取り専用記憶装置は、クライアントホストにクライアントシステムソフトウェアとクライアントネットワークアプリケーションソフトウェア及びアプリサーバーのIPアドレスを提供するものであり、
クライアントホストは、データ通信ネットを通じてアプリサーバーに接続し、起動した後、読み取り専用記憶装置に保存しているクライアントシステムソフトウェアとクライアントネットワークアプリケーションソフトウェアを読み取り・稼働し、読み取り専用記憶装置に保存しているアプリサーバーのIPアドレスを読み取り、モバイル端末を通じてIPアドレスをアプリサーバーに送信すし、モバイル端末を通じてアプリサーバーからランダム数とキーを受信し、アプリサーバーのIPアドレスに基づき、IPアドレスフィルターを実行し、アプリサーバーと双方向認証とキー認証を実行し、暗号化ネット通信を構築するものであり、
モバイル端末はモバイル通信ネットを通じてアプリサーバーに接続し、アプリサーバーと双方向認証を実行し、暗号化モバイル通信を構築し、クライアントホストとアプリサーバーにランダム数とキー及びIPアドレスを送信するものであり、
アプリサーバーは、モバイル端末と双方向認証を実行し、暗号化モバイル通信を構築し、モバイル端末を通じてクライアントホストのIPアドレスを受信し、ランダム数とキーを生成し、モバイル端末を通じてクライアントホストに送信し、クライアントホストのIPアドレスに基づき、IPアドレスフィルターを実行し、クライアントホストと双方向認証とキー認証を実行し、暗号化ネット通信を構築する。
【0027】
上記のシステムを使う有益な効果として、ネットアプリの端末から端末まで(End−to−End)の安全性が保証される。
【0028】
上記の技術案について、暗号化通信システムを下記のように改善できる。
読み取り専用記憶装置がCD−ROM、DVD−ROM、MASK ROM、PROM、EPROM、OTP ROM、EEPROMまたはFlash ROMのいずれかである。
【0029】
読み取り専用記憶装置は有線通信インタフェースまたは無線通信インタフェースを通じてクライアントホストに接続される、或いは読み取り専用記憶装置はクライアントホストのハードウェアとして設計される。
【0030】
モバイル端末は携帯電話、PDA、タブレットコンピュータまたはノートパソコンのいずれかである。
【0031】
暗号化通信システムはモバイル端末を通じてクライアントホストの全ての機能を完成できる。
【0032】
データ通信ネットはWAN、MANとLANを含む;モバイル端末は音声、メッセージまたはデータの方式でアプリサーバーと通信する。
【0033】
本発明が提供する方法とシステムは、ネットアプリの端末から端末まで(End−to−End)の安全性を保証する。