(57)【要約】【課題】本発明は、セキュリティーシステムにを提供し、特に、クライアント（Ｃｌｉｅｎｔ）とサーバ（Ｓｅｒｖｅｒ）とがネットワークにより接続された環境（以下、「ＣＳ環境」とする。）において、サーバは不規則な一回用実行コードを生成してクライアントに送信し、クライアントは、メモリに領域で直接一回用実行コードを実行してその実行結果を伝達すると同時にこれを削除し、サーバは、再度実行結果を判断してエラーがある場合にクライアントとの接続を遮断する技術的特徴により、クライアントの偽変造、盗用などを監視できるという効果がある。【解決手段】本発明の一回用実行コードを利用したセキュリティークライアントは、サーバとクライアントとがネットワークにより接続された環境において、前記サーバから一回用実行コードを受信して、現在実行中であるクライアントプログラムのメモリ領域に確保されたコードコンテナに積載し、該積載された一回用実行コードを実行してその実行結果を前記サーバに送信し、前記一回用実行コードを削除する。【選択図】図２
2010529522.tif 000002
【特許請求の範囲】
【請求項１】
サーバとクライアントとがネットワークにより接続された環境において、
前記サーバから一回用実行コードを受信して、現在実行中であるクライアントプログラムのメモリ領域に確保されたコードコンテナに積載し、該積載された一回用実行コードを実行してその実行結果を前記サーバに送信し、前記一回用実行コードを削除することを特徴とする一回用実行コードを利用したセキュリティークライアント。
【請求項２】
前記コードコンテナは、
前記クライアントプログラムが実行される時に予め確保されて、前記一回用実行コードが受信される時に、前記一回用実行コードを積載することを特徴とする請求項１に記載の一回用実行コードを利用したセキュリティークライアント。
【請求項３】
前記一回用実行コードは、
前記サーバから伝送されるパケットを分析して取り出されることを特徴とする請求項１に記載の一回用実行コードを利用したセキュリティークライアント。
【請求項４】
前記受信された一回用実行コードは、
ファイルとして生成されず、前記クライアントプログラムのメモリ領域に直接積載されることを特徴とする請求項１に記載の一回用実行コードを利用したセキュリティークライアント。
【請求項５】
サーバとクライアントとがネットワークにより接続された環境において、
不規則な一回用実行コードを生成して、前記クライアントに伝送する一回用実行コード生成部と、
前記クライアントから伝達された前記一回用実行コードの実行結果を分析して、前記結果に対するエラーの発生有無を判断する結果分析部と、
前記結果分析部によりエラーが発生すると、前記クライアントとの接続を断絶するクライアント接続制御部と
を備えることを特徴とする一回用実行コードを利用したセキュリティーサーバ。
【請求項６】
前記一回用実行コード生成部は、
ランダム関数を呼び出して、その結果値に応じて一回用実行コードを獲得して生成することを特徴とする請求項５に記載の一回用実行コードを利用したセキュリティーサーバ。
【請求項７】
前記一回用実行コード生成部は、
前記一回用実行コードを、予め設定されたデータベースから獲得するか、あるいは新しく生成することを特徴とする請求項６に記載の一回用実行コードを利用したセキュリティーサーバ。
【請求項８】
前記結果分析部は、
前記一回用実行コードの実行結果が受信されないか、あるいは前記一回用実行コードの実行結果が誤った場合に、エラーが発生すると判断することを特徴とする請求項５に記載の一回用実行コードを利用したセキュリティーサーバ。
【請求項９】
サーバから一回用実行コードを受信する第１ステップと、
前記受信された一回用実行コードを現在実行中であるクライアントプログラムのメモリ領域のコードコンテナに積載する第２ステップと、
前記積載された一回用実行コードを実行して、その結果を前記サーバに伝送する第３ステップと、
前記結果がサーバに伝送されると、前記積載された一回用実行コードを削除する第４ステップと
を含むクライアントにおける一回用実行コードを利用したセキュリティー方法。
【請求項１０】
一回用実行コードを生成して、ネットワークにより接続されたクライアントに伝送する第１ステップと、
前記クライアントから前記一回用実行コードの実行結果を受信して、前記結果を分析する第２ステップと、
前記結果にエラーが発生する場合に、前記クライアントとの接続を遮断する第３ステップと
を含むサーバにおける一回用実行コードを利用したセキュリティー方法。
【請求項１１】
前記一回用実行コードの生成は、
ランダム関数を呼び出すステップと、
前記呼び出されたランダム関数の結果を利用して、一回用実行コードを獲得して生成するステップと
を含むことを特徴とする請求項１０に記載のサーバにおける一回用実行コードを利用したセキュリティー方法。
【請求項１２】
前記一回用実行コードは、
予め設定されたデータベースから一回用実行コードを獲得するか、あるいは新しく生成して獲得することを特徴とする請求項１１に記載のサーバにおける一回用実行コードを利用したセキュリティー方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティーシステムに関し、特に、クライアント（Ｃｌｉｅｎｔ）とサーバ（Ｓｅｒｖｅｒ）とがネットワークにより接続された環境（以下、「ＣＳ環境」とする。）において、サーバから生成された一回用実行コードを利用して複数のクライアントの偽変造、盗用などを監視して、クライアントプログラムに問題がある場合にクライアントの接続を遮断する、一回用実行コードを利用したセキュリティーシステム及び方法に関する。
【背景技術】
【０００２】
最近、インターネットのサービスが多様化され、インターネットを使用する頻度の増加によってインターネットを利用するユーザの個人情報を、インターネットを介して流出して悪意的な目的で使用する犯罪が頻繁に発生している。これにより、クライアントＰＣに格納された個人情報の流出を防止するために、様々な種類のセキュリティーシステム及びセキュリティー方法が開発されて販売されている。
【０００３】
しかしながら、インターネットを利用した情報システムの殆どを占めているＣＳ環境の情報システムにおいてクライアント自体を偽変造したり盗用したりする場合、該当サーバは何らの疑問なしでサーバ内に格納された重要な個人情報をクライアントに送信するため、既存の個人情報を保護するためのセキュリティーシステムは、この場合に無用の長物にならざるをえない。
【０００４】
特に、オンラインゲームの場合、ゲーム用ハッキングツールなどの悪性コードを利用してクライアントプログラムを無力化する場合には、ゲームの規則が崩れるようになり、公正なゲームができないので、公正なゲームでゲームする人々が興味を持てないという問題がある。例えば、オンラインゲームでＮｏｎ  Ｃｌｉｅｎｔ  ＢＯＴにより多くの問題が発生している。これにより、オンライン上でゲームサービスを提供するゲーム提供者は、ゲームを楽しむ人が減ることにより、多くの経済的な損失を被るほかない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の問題を解決するための本発明の目的は、サーバでクライアントプログラムが正常に作動しているか否かを判断できる一回用実行コードを生成してクライアントに送信し、一回用実行コードの実行結果を受信してその実行結果にエラーがある場合に、クライアントの接続を遮断して偽変造、盗用又は詐称を防止する、一回用実行コードを利用したセキュリティーシステム及びセキュリティー方法を提供することにある。
【０００６】
また、本発明の他の目的は、クライアント側で一回用実行コードによるクライアントの偽変造などを判断するか否かを認識できないように一回用実行コードをファイルとして生成せず、現在実行中であるクライアントプログラムのメモリ領域に直接積載して実行できるようにする、一回用実行コードを利用したセキュリティーシステム及びセキュリティー方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記の目的を達成すべく、本発明の一回用実行コードを利用したセキュリティーシステムは、サーバとクライアントとがネットワークにより接続された環境において、前記サーバから一回用実行コードを受信して、現在実行中であるクライアントプログラムのメモリ領域に確保されたコードコンテナに積載し、該積載された一回用実行コードを実行してその実行結果を前記サーバに送信し、前記一回用実行コードを削除するクライアントを含む。
【０００８】
このとき、前記コードコンテナは、前記クライアントプログラムが実行される時に予め確保されて、前記一回用実行コードが受信される時に、前記一回用実行コードを積載することを特徴とし、前記一回用実行コードは、前記サーバから伝送されるパケットを分析して取り出され、また、前記一回用実行コードは、ファイルとして生成されず、前記クライアントプログラムのメモリ領域に直接積載されることを特徴とする。
【０００９】
また、一回用実行コードを利用したセキュリティーシステムは、不規則な一回用実行コードを生成して、前記クライアントに伝送する一回用実行コード生成部と、前記クライアントから伝達された前記一回用実行コードの実行結果を分析して、前記結果に対するエラーの発生有無を判断する結果分析部と、前記結果分析部によりエラーが発生すると、前記クライアントとの接続を断絶するクライアント接続制御部とを備えるサーバを含む。
【００１０】
このとき、前記一回用実行コード生成部は、ランダム関数を呼び出して、その結果値に応じて一回用実行コードを獲得して生成することを特徴とし、特に、一回用実行コードの獲得は、予め設定されたデータベースから獲得するか、あるいは新しく生成することを特徴とする。
【００１１】
一方、前記結果分析部は、前記一回用実行コードの実行結果が受信されないか、あるいは前記一回用実行コードの実行結果が誤った場合に、エラーが発生すると判断する。
【００１２】
上記の目的を達成すべく、本発明の一回用実行コードを利用した保安方法は、サーバから一回用実行コードを受信する第１ステップと、前記受信された一回用実行コードを現在実行中であるクライアントプログラムのメモリ領域のコードコンテナに積載する第２ステップと、前記積載された一回用実行コードを実行して、その結果を前記サーバに伝送する第３ステップと、前記結果がサーバに伝送されると、前記積載された一回用実行コードを削除する第４ステップとを含む。
【００１３】
また、本発明の一回用実行コードを利用したキュリティー方法は、一回用実行コードを生成して、ネットワークにより接続されたクライアントに伝送する第１ステップと、前記クライアントから前記一回用実行コードの実行結果を受信して、前記結果を分析する第２ステップと、前記結果にエラーが発生する場合に、前記クライアントとの接続を遮断する第３ステップとを含むことを特徴とする。
【００１４】
このとき、前記一回用実行コードの生成は、ランダム関数を呼び出すステップと、前記呼び出されたランダム関数の結果を利用して、一回用実行コードを獲得して生成するステップとを含むことを特徴とする。
【発明の効果】
【００１５】
本発明による一回用実行コードを利用したセキュリティーシステムは、一回用実行コードを利用してクライアントプログラムが正常であるか否かを判断でき、クライアントとサーバとの間のすべてのパケットを分析して規則性を探した後、その規則性を利用して製作された偽クライアントプログラムを容易に探して、クライアントの接続を遮断できるという効果がある。
【００１６】
また、本発明による一回用実行コードを利用したセキュリティーシステムは、一回用実行コードをサーバから不規則に生成してクライアントに伝達し、クライアントは、一回用実行コードをメモリに直接積載して実行した後、積載された一回用実行コードを削除してクライアントを偽変造しようとする者が一回用実行コードに関する情報を認識できないようにするという効果がある。
【図面の簡単な説明】
【００１７】
【図１】本発明による一回用実行コードを利用したセキュリティーシステムの概念を示す図である。
【図２】本発明による一回用実行コードを利用したセキュリティーシステムの構成を示す図である。
【図３】本発明による一回用実行コードの処理順序を示す図である。
【図４】本発明による一回用実行コードを利用したセキュリティーシステムにおけるクライアント側の動作の流れを示す図である。
【図５】本発明による一回用実行コードを利用したセキュリティーシステムにおけるサーバ側の動作の流れを示す図である。
【図６】本発明によるクライアント側のクライアントＡＰＩの構成を示す図である。
【図７】本発明によるサーバ側のサーバＡＰＩの構成を示す図である。
【発明を実施するための形態】
【００１８】
以下、添付された図面を参照して、本発明の属する技術分野における通常の知識を有した者が本発明を容易に実施できる好ましい実施の形態を詳細に説明する。但し、本発明の好ましい実施の形態に対する動作原理を詳細に説明するに当たって、関連した公知機能あるいは構成についての具体的な説明が本発明の要旨を不明にするおそれがあると判断された場合には、その詳細な説明を省略する。
【００１９】
図１は、本発明による一回用実行コードを利用したセキュリティーシステムの概念を示す図である。
【００２０】
本発明の一回用実行コードを利用したセキュリティーシステムは、クライアント１０とサーバ２０とがネットワーク３０により接続された環境でクライアント１０のプログラムが偽変造、盗用されるのを防止し、クライアント１０とサーバ２０との間のパケットをそのまま摸倣する偽クライアントをサーバ２０から遮断するためである。
【００２１】
このために、サーバ２０は、一回用実行コード４０を利用して、クライアント１０が正常であるか否かを判断する。一回用実行コード４０は、クライアント１０のプログラムが正常に作動しているか否かを判断するためにパケットに含まれるコードを意味する。
【００２２】
例えば、１＋１の演算値が何であるかを計算するようにするコード、あるいはチェックサム（ｃｈｅｃｋｓｕｍ）の値を計算するようにするコード、正常なクライアントプログラム（Ｏｒｉｇｉｎａｌ  Ｃｌｉｅｎｔ  Ｐｒｏｇｒａｍ）から得られる多様な値を要求するコードを一回用実行コード４０として生成できる。
【００２３】
一回用実行コード４０がサーバ２０から生成されて、クライアント１０に伝達されれば、クライアント１０は、一回用実行コード４０に対する演算を行って、その結果値をサーバ２０に再度伝達する。
【００２４】
結果値がサーバ２０に伝達されると、サーバ２０は、伝達された結果値が正常であるか否かを判断し、判断結果、エラーの発生する場合にクライアント１０との接続を断絶する。例えば、一回用実行コード４０に対する結果値が伝達されない場合、又は１＋１に対した演算結果、チェックサムの値又は正常なクライアントプログラムにより得られる値にエラーがある場合に、サーバ２０は、クライアント１０が接続されるのを遮断する。
【００２５】
すなわち、クライアント１０は、一回用実行コード４０に対する演算を行って、その実行結果５０をサーバ２０に伝達し、サーバ２０は、実行結果５０にエラーがあるか否かを判断して、クライアント１０との接続を制御する（６０）。
【００２６】
但し、クライアント１０において一回用実行コード４０に対する情報はファイルとして生成されず、直接メモリに格納されて実行された後に削除されるが、これについての具体的な説明は図２で説明する。
【００２７】
図２は、本発明による一回用実行コードを利用したセキュリティーシステムの構成を示す図である。
【００２８】
一回用実行コードによるセキュリティーシステムは、クライアント１０とサーバ２０とから構成される。一つのサーバ２０には、複数のクライアント１０が接続されうるが、ここでは、一つのクライアント１０と一つのサーバ２０とがネットワーク３０により接続された場合を中心に説明する。
【００２９】
クライアント１０は、クライアントプログラム１１０、クライアントＡＰＩ１２０、そして一回用実行コードコンテナ１３０（以下、「コードコンテナ」とする）から構成される。クライアントプログラム１１０は、クライアント１０がサーバ２０との関係で運用するプログラムのことを意味する。例えば、クライアント１０がサーバ２０を介してオンラインゲームを行う場合に、クライアント１０には、そのゲームを行うためのプログラムが設定されていなければならない。
【００３０】
クライアントプログラム１１０が実行されると、クライアントの運営体制は、クライアント１０に格納されているオリジナルクライアントプログラム１１０とクライアントＡＰＩ１２０とをメモリにロードする。ただし、クライアントＡＰＩ１２０は、クライアントプログラム１１０に含まれて存在できる。
【００３１】
コードコンテナ１３０は、サーバ２０から伝達される一回用実行コードを積載するメモリ空間である。コードコンテナ１３０は、現在実行中であるクライアントプログラムのメモリ領域に確保される。具体的に、クライアントプログラム１１０が実行される時に提供されたクライアントＡＰＩ１２０を利用して、一回用実行コードを積載するためのメモリ空間であるコードコンテナ１３０が確保される。クライアント１０の各々の構成は、図３で具体的に説明する。
【００３２】
サーバ２０は、一回用実行コードを生成してクライアント１０に伝達し、その実行結果をクライアント１０から受信してこれを分析し、エラーがある場合に、クライアント１０との接続を切る。
【００３３】
このために、サーバ２０は、サーバプログラム２１０、サーバＡＰＩ２２０、接続制御部２３０、結果分析部２４０、一回用実行コード生成部２５０、及びデータベース２６０を備えて構成される。
【００３４】
サーバ２０は、複数のクライアントと接続して、クライアントの要請に対する応答を行い続ける。したがって、サーバ２０のサーバプログラム２１０は、少なくとも一つのクライアントが接続されているかぎり、実行され続ける。したがって、サーバ２０の運営体制は、サーバプログラム２１０とサーバＡＰＩ２２０とをロードする。
【００３５】
一回用実行コード生成部２５０は、クライアントプログラム１１０が正常であるか否かを判断するための一回用実行コードを生成して送信する。クライアントが一回用実行コードに対する情報が分からないようにするために、予測の難しい不規則な一回用コードを生成する。このために、一回用実行コード生成部２５０は、ランダム関数を呼び出してその結果値に応じて一回用実行コードの生成有無を判断して、乱数性一回用実行コードを生成する。
【００３６】
一回用実行コードは、データベース２６０に予め設定されているデータを利用して生成できるだけでなく、乱数発生器を利用して新しい一回用実行コードを任意に生成できる。
【００３７】
生成された一回用実行コードは、サーバプログラム２１０を介してクライアント１０に伝達される。
【００３８】
結果分析部２４０は、伝達された一回用実行コードに対する実行結果をクライアント１０から受信し、これを分析してエラーの有無を判断する。結果分析部２４０は、伝送された一回用実行コードに対する実行結果を予めデータベース２６０に格納して、クライアント１０から伝達された実行結果と比較して、エラーが発生したか否かを判断する。また、実行結果が伝達されない場合も、エラーが発生したと判断する。
【００３９】
結果分析部２４０は、一回用実行コードが簡単な演算あるいはクライアントプログラム１１０の遂行過程から得られる過程の場合には、自体判断により求めることもできる。
【００４０】
接続制御部２３０は、結果分析部２４０により実行結果にエラーがある場合には、クライアント１０の接続を遮断する。
【００４１】
図３は、本発明による一回用実行コードの処理順序を示す図である。
【００４２】
クライアントＡＰＩ１２０を含むクライアントプログラム１１０が実行されると、運営体制は、該当クライアントプログラム１１０とクライアントＡＰＩ１２０とをメモリマップ上でＸＸＸＸ番地以後にロードする。このとき、クライアントＡＰＩ１２０は、サーバ２０から伝達された一回用実行コードを積載するコードコンテナ１３０を確保する。
【００４３】
一回用実行コードの処理順序は、まず（１）クライアント１０がサーバ２０から一回用実行コードを受信する。ただし、一回用実行コードの受信は、サーバ２０から伝達されたパケットから一回用実行コードを抽出して受信することができる。（２）一回用実行コードが受信されると、受信された一回用実行コードをコードコンテナ１３０に積載する。（３）一回用実行コードが積載されると、クライアントＡＰＩ１２０は、クライアントプログラム１１０を利用して一回用実行コードを実行して実行結果を獲得する。ただし、一回用実行コードは、クライアントでファイルとして生成されず、メモリのコードコンテナ１３０に直接ロードされて実行される。（４）一回用実行コードが実行されて実行結果が得られると、これをクライアントプログラムに伝達し、再度（５）ネットワークを介してサーバに伝達する。（６）実行結果が伝達されると、一回用実行コードはその機能を果たしたため、コードコンテナ１３０から削除される。
【００４４】
図４は、本発明による一回用実行コードを利用したセキュリティーシステムにおけるクライアント側の動作の流れを示す図である。
【００４５】
クライアントは、クライアントプログラムの実行によってクライアントプログラム及びクライアントＡＰＩをメモリにロードする（Ｓ４１０）。
【００４６】
クライアントプログラムは、サーバからパケットを受信する（Ｓ４２０）。クライアントとサーバとはネットワークにより接続されて、パケットを送受信し続ける。
【００４７】
クライアントプログラムはパケットが受信されると、パケットに一回用実行コードが存在するか否かを判断する（Ｓ４３０）。
【００４８】
判断結果、一回用実行コードが存在すると、一回用実行コードを取り出す（Ｓ４４０）。
【００４９】
一回用実行コードが取り出されると、一回用実行コードはファイルとして生成されず、クライアントプログラムのメモリ領域に確保されたコードコンテナに積載する（Ｓ４４１）。
【００５０】
クライアントプログラムは、コードコンテナに一回用実行コードが積載されると、これを実行して実行結果を求める（Ｓ４４２）。
【００５１】
実行結果が求められると、実行結果を、ネットワークを介してサーバに伝達する（Ｓ４４３）。
【００５２】
一回用実行コードに対する実行結果が伝達されると、コードコンテナに積載された一回用実行コードを削除する（Ｓ４４４）。そして、パケットを受信し続け、同じ過程を行う。
【００５３】
受信されたパケットに一回用実行コードが存在しない場合には、クライアントのプログラムが終了しているか否かを判断して（Ｓ４５０）、クライアントプログラムが終了すると、クライアントを終了し、終了しない場合には、クライアントプログラムを実行し続ける（Ｓ４５１）。
【００５４】
図５は、本発明による一回用実行コードを利用したセキュリティーシステムにおけるサーバ側の動作の流れを示す図である。
【００５５】
サーバプログラムが実行されると、サーバ運営体制は、サーバプログラムとサーバＡＰＩとをロードし、一回用実行コードサブルーチンを呼び出す（Ｓ５００）。
【００５６】
呼び出された一回用実行コードサブルーチンによる実行過程を介して、クライアントからの実行結果に対するエラーの有無を判断した結果、リターンされる値がＴＲＵＥであるか否かを判断して（Ｓ５６０）、リターンされる値がＴＲＵＥである場合には、サーバプログラムを実行し続け（Ｓ５８０）、リターンされる値がＴＲＵＥではない場合には、クライアントとの接続を終了する（Ｓ５７０）。以下、一回用実行コードサブルーチンによる実行過程（Ｓ５１０）を説明する。
【００５７】
サーバプログラム及びサーバＡＰＩがロードされると、一回用実行コード生成部２５０は、ランダム関数を呼び出す（Ｓ５２０）。
【００５８】
ランダム関数が呼び出されると、呼び出されたランダム関数による値を利用して、一回用実行コードを送信するか否かを判断する（Ｓ５３０）。一回用実行コードは、伝達し続ける必要はない不規則な時間的間隔をおいて伝達して、その結果値を利用すればよい。
【００５９】
ランダム関数により、値に応じて一回用実行コードを送信することと決定されると、一回用実行コード生成部２５０は、一回用実行コードを生成する（Ｓ５４０）。一回用実行コードは、データベースに予め格納されたコードを利用することができ、又は新しいコードを生成することができる。ただし、一回用実行コードは、クライアント側が容易に認識できないように不規則に生成することが好ましい。
【００６０】
一回用実行コードが生成されると、一回用実行コードをクライアントに伝達する（Ｓ５４１）。一回用実行コードはパケットに含まれて、ネットワークを介してクライアントに伝達される。
【００６１】
一回用実行コードをクライアントに伝達すると、クライアントは、一回用実行コードを実行して実行結果をサーバに再度伝達する。しかしながら、クライアントプログラムが偽変造、盗用又は詐称される場合には、一回用実行コードが伝達されたか否かが分からないので、その実行結果をサーバに再度伝達できない。
【００６２】
したがって、サーバの結果分析部（Ｓ５４２）は、クライアントから実行結果が受信されているか否かを判断する（Ｓ５４２）。
【００６３】
判断結果、実行結果が受信されない場合には、エラーが発生したと判断して、リターン「ＦＡＬＳＥ」を出力する。
【００６４】
判断結果、実行結果が受信されると、実行結果にエラーがあるか否かを判断する（Ｓ５４３）。万一、エラーが発生する場合には、結果分析部２４０は、リターン「ＦＡＬＳＥ」を出力し（Ｓ５４４）、エラーが発生しない場合には、リターン「ＴＲＵＥ」を出力する（Ｓ５５０）。
【００６５】
このように、一回用実行コードのサブルーチンによるリターンの「ＴＲＵＥ」如何が出力されると、これを利用してクライアントの接続を断絶するか否かを判断する。
【００６６】
図６は、本発明によるクライアント側のクライアントＡＰＩの構成を示す図である。
【００６７】
クライアントＡＰＩは、サーバ側から伝達されたデータが一回用実行コードと判断されると、Ｐｒｏｃｅｓｓ＿ＯｎｅＴｉｍｅ＿Ｃｏｄｅ６００と名づけられた関数をクライアントプログラムから呼び出す。この関数の名称は、多様に変更できる。Ｐｒｏｃｅｓｓ＿ＯｎｅＴｉｍｅ＿Ｃｏｄｅ６００は、受信された一回用実行コードを実行し、その実行結果をサーバに送信した後に一回用実行コードを除去する機能を果たす。
【００６８】
具体的に、Ｐｒｏｃｅｓｓ＿ＯｎｅＴｉｍｅ＿Ｃｏｄｅ６００は、コードコンテナを割り当てるコードコンテナ割り当て器６１０、サーバ側から伝達された一回用実行コードが暗号化された場合に、一回用実行コードを復号化するコード復号化器６２０、伝達された一回用実行コードをコードコンテナに積載し、一回用実行コードを実行するコード実行器６３０、コード実行器６３０により実行された一回用実行コードの実行結果を伝達する実行結果処理器６４０、実行結果が伝達されるとコードコンテナに積載された一回用実行コードを除去するコード除去器６５０を備えて構成される。
【００６９】
図７は、本発明によるサーバ側のサーバＡＰＩの構成を示す図である。
【００７０】
サーバ側のサーバＡＰＩは、クライアントプログラムが正常であるか否かを判断するために、不規則な性質を有する一回用実行コードを生成してクライアントに伝達し、またクライアントから伝達された実行結果を分析して、クライアントの接続を遮断するか否かを決定するために、Ｇｅｔ＿ＯｎｅＴｉｍｅ＿Ｃｏｄｅ７００及びＣｈｅｃｋ＿Ｒｅｓｕｌｔ７４０と名づけられた関数をサーバプログラムから呼び出す。この関数の名称は、変更可能である。
【００７１】
サーバＡＰＩがＧｅｔ＿ＯｎｅＴｉｍｅ＿Ｃｏｄｅ７００関数を呼び出すと、Ｇｅｔ＿ＯｎｅＴｉｍｅ＿Ｃｏｄｅ７００は、乱数発生器７３０の結果によって一回用実行コードを生成するか否かを決定する。一回用実行コードは、クライアントプログラムが正常であるか否かを判断するためにのみ必要なので、これにより適当な時間の間隔をおいて、多様な種類で形成されることができる。
【００７２】
乱数発生器７３０の結果によって、一回用実行コードを生成することと決定されると、コード生成器７１０は一回用実行コードを生成する。コード生成器７１０により一回用実行コードが生成されると、コード暗号器７２０は、生成された一回用実行コードを暗号化した後、暗号化された一回用実行コードをクライアントに伝達する。そして、クライアントから一回用実行コードに対する実行結果を受信する。
【００７３】
サーバＡＰＩは、クライアントから実行結果を受信すると、実行結果を因子としてＣｈｅｃｋ＿Ｒｅｓｕｌｔ７４０関数を呼び出す。Ｃｈｅｃｋ＿Ｒｅｓｕｌｔ７４０は、受信された実行結果を、結果分析器７５０を利用して分析し、実行結果にエラーがあるか否かを判断する。結果分析器７５０によりエラーがある場合には、接続制御機７６０を利用してクライアントとの接続を遮断する。
【００７４】
以上説明した本発明は、前述した実施の形態及び添付された図面により限定されるものではなく、本発明の技術的思想から逸脱しない範囲内で様々な置換、変形及び変更が可能であるということは、本発明の属する技術分野における通常の知識を有した者にとって明らかであるはずである。
【符号の説明】
【００７５】
１０      クライアント
２０      サーバ
１１０      クライアントプログラム
１２０      クライアントＡＰＩ
１３０      コードコンテナ
２１０      サーバプログラム
２２０      サーバＡＰＩ
２３０      接続制御部
２４０      結果分析部
２５０      一回用実行コード生成部
【図１】
2010529522.tif 000003
【図２】
2010529522.tif 000004
【図３】
2010529522.tif 000005
【図４】
2010529522.tif 000006
【図５】
2010529522.tif 000007
【図６】
2010529522.tif 000008
【図７】
2010529522.tif 000009
【国際調査報告】
2010529522.tif 000010
2010529522.tif 000011