(57)【要約】本発明は、ユーザ端末機及び該ユーザ端末機の周辺機器を用いた核心コード保護方法に関するものであって、本発明の一実施形態によるユーザ端末機は、応用プログラム提供サーバから応用プログラムをダウンロードされて設置する過程で、応用プログラムの一般コードを受信し、応用プログラム提供サーバから核心コードを受信して保存した周辺機器とペアリング連結を行うペアリング部と、応用プログラムを実行する過程で、ペアリングされた周辺機器が核心コードの暗号化及び復号を行うように、ユーザ端末機固有情報を周辺機器に伝送する通信部と、周辺機器に実行呼び出しメッセージを伝送し、周辺機器から核心コードの実行結果を伝達される制御部と、を含む。このように、本発明によれば、ユーザ端末機及び該ユーザ端末機の周辺機器を用いた核心コード保護方法を用いることによって、核心コードをユーザ端末機とペアリングされた周辺機器に保存し、周辺機器の中央処理装置が核心コードを実行して、核心コードがユーザ端末機に露出されないので、応用プログラムの逆工学分析抵抗性を増加させることができる。【選択図】図４
2017506372.tif 000002
【特許請求の範囲】
【請求項１】
応用プログラム提供サーバから応用プログラムをダウンロードされて設置する過程で、前記応用プログラムの一般コードを受信し、前記応用プログラム提供サーバから核心コードを受信して保存した周辺機器とペアリング連結を行うペアリング部と、
前記応用プログラムを実行する過程で、前記ペアリングされた周辺機器が前記核心コードの暗号化及び復号を行うように、ユーザ端末機固有情報を前記周辺機器に伝送する通信部と、
前記周辺機器に実行呼び出しメッセージを伝送し、前記周辺機器から前記核心コードの実行結果を伝達される制御部と、を含むユーザ端末機。
【請求項２】
受信された前記核心コードの実行結果を画面上に表示する画面表示部をさらに含む請求項１に記載のユーザ端末機。
【請求項３】
前記周辺機器は、
前記応用プログラムの最初実行要請が入力されれば、前記ユーザ端末機固有情報を用いて前記核心コードを暗号化して保存し、
前記応用プログラムの再実行要請が入力されれば、前記ユーザ端末機固有情報を用いて前記暗号化された核心コードを復号し、前記復号された核心コードを実行して、該実行結果を前記ユーザ端末機に伝送する請求項１に記載のユーザ端末機。
【請求項４】
前記ユーザ端末機固有情報は、国際モバイル機器識別情報（ＩＭＥＩ）を含み、
前記周辺機器は、
前記ユーザ端末機固有情報を用いて前記核心コードを暗号化または復号する請求項３に記載のユーザ端末機。
【請求項５】
ユーザ端末機を用いた核心コード保護方法において、
前記ユーザ端末機は、応用プログラム提供サーバから応用プログラムをダウンロードされて設置する過程で、前記応用プログラムの一般コードを受信する段階と、
前記応用プログラム提供サーバから核心コードを受信して保存した周辺機器とペアリング連結を行う段階と、
前記応用プログラムを最初実行する過程で、前記ペアリングされた周辺機器が前記核心コードの暗号化を行うように、前記ユーザ端末機固有情報を前記周辺機器に伝送する段階と、
前記応用プログラムを再実行する過程で、前記周辺機器が前記暗号化された核心コードの復号を行うように、前記ユーザ端末機固有情報を前記周辺機器に伝送する段階と、
前記周辺機器に実行呼び出しメッセージを伝送し、前記周辺機器から前記核心コードの実行結果を伝達される段階と、を含む核心コード保護方法。
【請求項６】
受信された前記核心コードの実行結果を画面上に表示する段階をさらに含む請求項５に記載の核心コード保護方法。
【請求項７】
前記周辺機器は、
前記応用プログラムの最初実行要請が入力されれば、前記ユーザ端末機固有情報を用いて前記核心コードを暗号化して保存し、
前記応用プログラムの再実行要請が入力されれば、前記ユーザ端末機固有情報を用いて前記暗号化された核心コードを復号し、前記復号された核心コードを実行して、該実行結果を前記ユーザ端末機に伝送する請求項５に記載の核心コード保護方法。
【請求項８】
前記ユーザ端末機固有情報は、国際モバイル機器識別情報）を含み、
前記周辺機器は、
前記ユーザ端末機固有情報を用いて前記核心コードを暗号化または復号する請求項７に記載の核心コード保護方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ端末機及び該ユーザ端末機の周辺機器を用いた核心コード保護方法に係り、より詳細には、逆工学攻撃から応用プログラムの核心コードを保護することができるユーザ端末機及び該ユーザ端末機の周辺機器を用いた核心コード保護方法に関する。
【背景技術】
【０００２】
スマートフォンユーザは、第３者が開発してグーグル（Ｇｏｏｇｌｅ）プレイのようなデジタルオープンマーケットにアップロードしたアプリケーション及びコンテンツをダウンロードされて駆動させることによって、多様なサービスを利用可能になった。これにより、スマートフォンに多くのデータが蓄積される。蓄積されたデータのうちには、敏感または重要な情報も含まれており、このようなデータを保護しようとするスマートフォン関連保安技術が開発されている。
【０００３】
スマートフォン内に保存された金融及び個人情報を含む各種データは、フィッシング（ｐｈｉｓｈｉｎｇ）、ファーミング（ｐｈａｒｍｉｎｇ）、スミッシング（ｓｍｉｓｈｉｎｇ）だけではなく、偽造・変造されたアプリケーションを通じて奪取されうる。攻撃者は、アプリケーションを逆工学してデコンパイルされたソースコードを抽出した後、悪性コードを挿入して偽造・変造されたアプリケーションを生成するか、強制に抽出したソースコードを不法的に使って経済的に利得を得たりする。
【０００４】
特に、アンドロイドアプリケーションは、アイフォーン（ｉＰｈｏｎｅ）アプリケーションとは異なって、比較的容易にソースコードを抽出して分析し、アプリケーションの不法複製及び偽造・変造で悪性コードを挿入するハッキング攻撃の主要対象になっている。
【０００５】
アプリケーションの不法複製及び偽造・変造を遮断するために、多様なソース難読化技法及びグーグルのＬＶＬ（Ｌｉｃｅｎｓｉｎｇ  Ｖｅｒｉｆｉｃａｔｉｏｎ  Ｌｉｂｒａｒｙ）が提示されてアプリケーションの分析にかかる時間を増加させるか、逆工学を難しくした。
【０００６】
しかし、逆工学の難易度を増加させる方法で逆工学攻撃を防御するものではなく、アプリケーションのソースコードを抽出または分析することができないように保護する方法についての技術を用いて、根本的な側面でアプリケーション及びユーザの情報を保護する技術が必要である。
【０００７】
本発明の背景となる技術は、特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】韓国登録特許第１０−１２２３９８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、ユーザ端末機及び該ユーザ端末機の周辺機器を用いた核心コード保護方法に係り、より詳細には、逆工学攻撃から応用プログラムの核心コードを保護することができるユーザ端末機及び該ユーザ端末機の周辺機器を用いた核心コード保護方法を提供するところにその目的がある。
【課題を解決するための手段】
【００１０】
このような技術的課題を果たすための本発明の実施形態による核心コードを保護するユーザ端末機は、応用プログラム提供サーバから応用プログラムをダウンロードされて設置する過程で、前記応用プログラムの一般コードを受信し、前記応用プログラム提供サーバから核心コードを受信して保存した周辺機器とペアリング連結を行うペアリング部と、前記応用プログラムを実行する過程で、前記ペアリングされた周辺機器が前記核心コードの暗号化及び復号を行うように、前記ユーザ端末機固有情報を前記周辺機器に伝送する通信部と、前記周辺機器に実行呼び出しメッセージを伝送し、前記周辺機器から前記核心コードの実行結果を伝達される制御部と、を含む。
【００１１】
また、受信された前記核心コードの実行結果を画面上に表示する画面表示部をさらに含みうる。
【００１２】
また、前記周辺機器は、前記応用プログラムの最初実行要請が入力されれば、前記ユーザ端末機固有情報を用いて前記核心コードを暗号化して保存し、前記応用プログラムの再実行要請が入力されれば、前記ユーザ端末機固有情報を用いて前記暗号化された核心コードを復号し、前記復号された核心コードを実行して、該実行結果を前記ユーザ端末機に伝送しうる。
【００１３】
また、前記ユーザ端末機固有情報は、国際モバイル機器識別情報（ＩＭＥＩ；Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｍｏｂｉｌｅ  Ｅｑｕｉｐｍｅｎｔ  Ｉｄｅｎｔｉｔｙ）を含み、前記周辺機器は、前記ユーザ端末機固有情報を用いて前記核心コードを暗号化または復号することができる。
【００１４】
本発明の他の実施形態による核心コードを保護するための方法は、ユーザ端末機が、応用プログラム提供サーバから応用プログラムをダウンロードされて設置する過程で、前記応用プログラムの一般コードを受信する段階と、前記応用プログラム提供サーバから核心コードを受信して保存した周辺機器とペアリング連結を行う段階と、前記応用プログラムを最初実行する過程で、前記ペアリングされた周辺機器が前記核心コードの暗号化を行うように、前記ユーザ端末機固有情報を前記周辺機器に伝送する段階と、前記応用プログラムを再実行する過程で、前記周辺機器が前記暗号化された核心コードの復号を行うように、前記ユーザ端末機固有情報を前記周辺機器に伝送する段階と、前記周辺機器に実行呼び出しメッセージを伝送し、前記周辺機器から前記核心コードの実行結果を伝達される段階と、を含む。
【発明の効果】
【００１５】
本発明によれば、核心コードをユーザ端末機とペアリングされた周辺機器に保存し、周辺機器の中央処理装置が核心コードを実行して、核心コードがユーザ端末機に露出されないので、応用プログラムの逆工学分析抵抗性を増加させることができる。
【００１６】
また、ユーザ端末機固有情報を用いて暗号化した核心コードを周辺機器に保存して、ユーザ端末機または周辺機器のうちの何れか１つを紛失しても、拾得者が当該応用プログラムを実行できないようにして、応用プログラムの不正使用を防止することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態による核心コード保護システムを示す構成図である。
【図２】本発明の実施形態によるユーザ端末機の構成を示すブロック図である。
【図３】本発明の実施形態による周辺機器の構成を示すブロック図である。
【図４】本発明の実施形態による核心コードを保護する方法を説明するフローチャートである。
【発明を実施するための形態】
【００１８】
以下、添付した図面を参照して、本発明の実施形態について当業者が容易に実施できるように詳しく説明する。しかし、本発明は、さまざまな異なる形態として具現され、ここで説明する実施形態に限定されるものではない。そして、図面で本発明を明確に説明するために、説明と関係のない部分は省略し、明細書全体を通じて類似した部分については、類似した図面符号を付する。
【００１９】
以下、添付図面を参照しながら、本発明による望ましい実施形態を詳しく説明する。
【００２０】
図１は、本発明の実施形態による核心コード保護システムを示す構成図である。図１のように、本発明の実施形態による核心コード保護システムは、応用プログラム提供サーバ１００、ユーザ端末機２００及び周辺機器３００を含む。
【００２１】
図１に示したように、応用プログラム提供サーバ１００、ユーザ端末機２００及び周辺機器３００は、ネットワーク（ｎｅｔｗｏｒｋ）を通じて連結される。すなわち、図１のように、ネットワークを通じて、ユーザ端末機２００は、応用プログラム提供サーバ１００及び周辺機器３００と連結され、周辺機器３００は、応用プログラム提供サーバ１００とネットワークとを通じて連結される。
【００２２】
ここで、ネットワークは、ユーザ端末及びサーバのようなそれぞれのノード相互間に情報交換が可能な連結構造を意味するものであって、このようなネットワークの一例は、インターネット（Ｉｎｔｅｒｎｅｔ）、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｗｉｒｅｌｅｓｓ  ＬＡＮ（Ｗｉｒｅｌｅｓｓ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＰＡＮ（Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、３Ｇ、４Ｇ、Ｗｉ−Ｆｉなどが含まれるが、これに限定されるものではない。
【００２３】
特に、ユーザ端末機２００と周辺機器３００は、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ）、ジグビー（ＺｉｇＢｅｅ）、赤外線通信モジュール（ＩｒＤＡ、Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）などを用いて無線連結され、有線で連結されても良い。
【００２４】
まず、応用プログラム提供サーバ１００は、応用プログラムファイルを核心コードと一般コードとに分離する。そして、分離された核心コード及び一般コードをそれぞれ周辺機器３００及びユーザ端末機２００に伝達する。
【００２５】
応用プログラム提供サーバ１００は、応用プログラムパッケージからデコンパイルされた実行ファイルを通じて核心コードを設定することができる。そして、応用プログラム提供サーバ１００は、応用プログラムファイルのうちから核心コードを除去して一般コードを生成する。この際、一般コードと核心コードは、それぞれユーザ端末機２００と周辺機器３００とに設けられて実行可能なファイル形態であり得る。
【００２６】
本発明の実施形態による応用プログラム提供サーバ１００は、金融、ニュース、ショッピング、ゲームなど多種の応用プログラム一般コード及び核心コードを保存し、ユーザ端末機２００及び周辺機器３００が、このような応用プログラムの一般コード及び核心コードを応用プログラム提供サーバ１００からダウンロードされて設置可能にする。ここで、応用プログラム提供サーバ１００は、モバイルアプリケーションマーケットであり、例えば、グーグルプレイやアップル（Ａｐｐｌｅ）のアプリストアのような各種モバイルアプリケーションマーケットが応用プログラム提供サーバ１００に該当する。
【００２７】
次いで、ユーザ端末機２００は、応用プログラム提供サーバ１００から応用プログラムの一般コードを受信してユーザ端末機２００に設置する。そして、応用プログラムの最初実行時に、ユーザ端末機２００は、ペアリングされた周辺機器３００にユーザ端末機固有情報を伝送して周辺機器３００が核心コードをユーザ端末機固有情報に暗号化する。そして、応用プログラムが再実行される時、ユーザ端末機２００は、周辺機器３００から核心コードの実行結果を受信して応用プログラムの実行に適用するか、出力する。
【００２８】
ここで、ユーザ端末機２００は、応用プログラムを設置して実行する端末機であって、スマートフォン、スマートパッド、携帯電話、ノート型パソコン、タブレットＰＣ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）などが該当する。特に、スマートフォンまたはスマートパッドの場合、応用プログラムは、機器上にアプリケーションで提供することができる。
【００２９】
ここで、アプリケーションは、端末上の応用プログラムを意味し、例えば、モバイル端末（スマートフォン）で実行されるアプリ（ａｐｐ）を含む。ユーザは、アプリ（ａｐｐ）をモバイルコンテンツを自在に売買する仮想の市場であるモバイルアプリケーションマーケットでダウンロードされて、スマートフォンなどのユーザ端末機２００に設置することができる。
【００３０】
最後に、周辺機器３００は、応用プログラム提供サーバ１００から応用プログラムの核心コードを受信して保存する。そして、ペアリングされたユーザ端末機２００からユーザ端末機固有情報を受信して核心コードを暗号化し、ユーザ端末機２００に設けられた応用プログラムが再実行されて、ユーザ端末機２００からユーザ端末機固有情報及び実行呼び出しメッセージを受信すれば、ユーザ端末機固有情報を用いて復号した核心コードを実行し、核心コードの実行結果をユーザ端末機２００に伝送する。
【００３１】
この際、周辺機器３００は、核心コードの実行結果を周辺機器３００の出力部（図示せず）を通じて画面に表示するか、音で出力することができる。
【００３２】
ここで、周辺機器３００は、ユーザ端末機２００及び応用プログラム提供サーバ１００と通信し、応用プログラムの核心コードを受信して保存し、応用プログラムの核心コードを実行する中央処理装置を含む電気機器である。周辺機器３００は、スマートウォッチ、スマートメガネ、スマートバンドなどのウェアラブル機器であり得る。
【００３３】
また、活動追跡機、モバイルフォトプリンター、ホームモニタリング装置、おもちゃ、医療機器などのアプリアクセサリー（Ａｐｐｃｅｓｓｏｒｙ）を周辺機器３００として使うことができる。ここで、アプリアクセサリーは、ユーザ端末機２００であるスマートフォンがアプリケーションと連動されてスマートフォンの機能を拡張させるアクセサリーを意味する。
【００３４】
図２は、本発明の実施形態によるユーザ端末機の構成を示すブロック図である。
【００３５】
図２のように、本発明の実施形態によるユーザ端末機２００は、ペアリング部２１０、通信部２２０、制御部２３０及び画面表示部２４０を含む。
【００３６】
まず、ペアリング部２１０は、応用プログラム提供サーバ１００及び周辺機器３００と通信する。特に、ペアリング部２１０は、応用プログラム提供サーバ１００とＷｉ−Ｆｉ、３Ｇ、４Ｇ、ＬＴＥ、ワイブロなどの無線通信方式を通じて通信し、周辺機器３００とはブルートゥース、ジグビー、赤外線通信モジュールなどの近距離通信または有線を通じて通信することができる。
【００３７】
また、ペアリング部２１０は、応用プログラム提供サーバ１００から応用プログラムの一般コードを受信してユーザ端末機２００に当該応用プログラムを設置し、応用プログラム提供サーバ１００から応用プログラムの核心コードファイルを受信した周辺機器３００とペアリングを行う。
【００３８】
次いで、通信部２２０は、周辺機器３００にユーザ端末機固有情報を伝送する。ここで、ユーザ端末機固有情報は、ユーザ端末機２００の国際モバイル機器識別情報（ＩＭＥＩ）を含みうる。そして、通信部２２０は、ブルートゥース、ジグビー、赤外線通信モジュールなどの近距離通信または有線を通じて周辺機器３００にユーザ端末機固有情報を伝送しうる。
【００３９】
そして、制御部２３０は、一般コードを実行する過程で呼び出そうとする核心コードの情報を含めた実行呼び出しメッセージを周辺機器３００に伝送し、周辺機器３００から当該応用プログラムの核心コード実行結果を受信する。この際、制御部２３０は、ブルートゥース、ジグビー、赤外線通信モジュールなどの近距離通信または有線を通じて実行呼び出しメッセージを伝送するか、核心コード実行結果を受信することができる。
【００４０】
最後に、画面表示部２４０は、周辺機器３００から受信した核心コードの実行結果を画面上に出力する。また、画面表示部２４０は、ユーザが視覚、聴覚、触覚などで認知できるように実行結果を出力することもできる。
【００４１】
図３は、本発明の実施形態による周辺機器の構成を示すブロック図である。
【００４２】
図３に示したように、周辺機器３００は、通信部３１０と暗復号部３２０及びコード実行部３３０とを含む。
【００４３】
まず、通信部３１０は、応用プログラム提供サーバ１００及びユーザ端末機２００と通信を行う。特に、通信部３１０は、ユーザ端末機２００とブルートゥース、ジグビー、赤外線通信モジュールなどの近距離通信または有線を通じて通信することができる。
【００４４】
また、通信部３１０は、応用プログラム提供サーバ１００から受信した応用プログラムの核心コードを周辺機器３００に設置する。そして、通信部３１０は、応用プログラムが実行される時、ユーザ端末機２００からユーザ端末機固有情報と実行呼び出しメッセージとを受信する。
【００４５】
次いで、暗復号部３２０は、応用プログラムが最初実行されて核心コードを暗号化する段階でユーザ端末機２００から受信したユーザ端末機固有情報を用いて核心コードを暗号化して保存する。そして、応用プログラムが再実行されれば、暗復号部３２０は、ユーザ端末機２００から受信したユーザ端末機固有情報を用いて暗号化された核心コードを復号する。
【００４６】
最後に、コード実行部３３０は、ユーザ端末機２００から実行呼び出しメッセージを受信すれば、核心コードをローディングして核心コードを実行する。そして、核心コードの実行結果をユーザ端末機２００に伝送する。
【００４７】
以下、図４を通じて本発明の実施形態による周辺機器を用いて核心コードを保護する方法についてさらに詳細に説明する。
【００４８】
図４は、本発明の実施形態による周辺機器を用いて核心コードを保護する方法を説明するフローチャートである。
【００４９】
図４に示したように、周辺機器を用いて核心コードを保護する方法において、Ｓ４１０段階ないしＳ４３０段階は、応用プログラム分離及び伝達段階を意味し、Ｓ４４０段階及びＳ４５０段階は、核心コード暗号化段階を意味し、Ｓ４６０段階ないしＳ４９０段階は、応用プログラム実行段階を意味する。説明の便宜上、大きく３つの段階に分けて説明した。
【００５０】
まず、応用プログラム提供サーバ１００は、Ｓ４１０段階ないしＳ４３０段階を通じて応用プログラムを分離及び伝達段階を行う。
【００５１】
応用プログラム提供サーバ１００は、応用プログラムファイルを核心コードと核心コードが除去された一般コードとに分離する（ステップＳ４１０）。応用プログラム提供サーバ１００は、応用プログラムパッケージからデコンパイルされた実行ファイルを通じて核心コードを設定する。そして、応用プログラム提供サーバ１００は、応用プログラムファイルのうちから核心コードを削除して一般コードを生成する。
【００５２】
そして、応用プログラム提供サーバ１００は、分離された核心コードを周辺機器３００に伝送して保存させる（ステップＳ４２０）。この際、応用プログラム提供サーバ１００は、周辺機器３００に核心コードを伝達する過程でＷｉ−Ｆｉ、３Ｇ、４Ｇ、ＬＴＥ、ワイブロなどの無線通信方式を通じて通信し、保安を強化するために、近距離通信または有線を通じて核心コードを伝達することができる。
【００５３】
また、ユーザがユーザ端末機２００を通じて応用プログラム提供サーバ１００に接続すれば、応用プログラム提供サーバ１００は、一般コードをユーザ端末機２００にダウンロード方式で伝送する（ステップＳ４３０）。ユーザ端末機２００は、３Ｇ、４Ｇ、Ｗｉ−Ｆｉなどのネットワークを用いて設置しようとする応用プログラムの一般コードをダウンロードされて設置することができる。
【００５４】
応用プログラム分離及び伝達段階が行われた後、ユーザからユーザ端末機２００に設けられた応用プログラムの最初実行要請を入力されれば、後述するＳ４４０段階及びＳ４５０段階を通じて核心コードの暗号化を行う。一方、ユーザから応用プログラムの再実行要請を入力されれば、後述するＳ４６０段階ないしＳ５１０段階を通じて応用プログラムを実行する。
【００５５】
ユーザ端末機２００に設けられた応用プログラムの最初実行を入力された場合、核心コードの暗号化を行う前に、ユーザ端末機２００は、周辺機器３００とペアリング連結を行う。ユーザ端末機２００は、核心コードが保存された状態で配布または販売された周辺機器３００とペアリング連結を行う。また、ユーザ端末機２００は、ユーザが既存に所有した周辺機器３００が応用プログラム提供サーバ１００から核心コードを受信して保存すれば、当該周辺機器３００とペアリング連結を行うこともできる。
【００５６】
説明の便宜上、ユーザ端末機２００と周辺機器３００のペアリング連結が核心コード暗号化段階で行われると説明したが、これに限定せず、ユーザ端末機２００と周辺機器３００は、応用プログラム分離及び伝達段階でペアリングを通じて連結されうる。
【００５７】
ユーザ端末機２００が周辺機器３００とのペアリング連結を完了してからは、ユーザ端末機２００は、周辺機器３００にユーザ端末機固有情報を伝送する（ステップＳ４４０）。ここで、ユーザ端末機固有情報は、ユーザ端末機２００の国際モバイル機器識別情報（ＩＭＥＩ）を含みうる。
【００５８】
国際モバイル機器識別コード（ＩＭＥＩ）は、携帯電話ごとに付与される固有識別番号である。世界移動通信社業者連合（ＧＳＭＡ）のガイドラインによって携帯電話製造会社は、製造した携帯電話を出庫する時、それぞれの携帯電話に国際モバイル機器識別コード（ＩＭＥＩ）を付与する。国際モバイル機器識別コード（ＩＭＥＩ）は、承認コード８桁、モデル一連番号６桁、検証用数字１桁など総１５桁で構成され、国際モバイル機器識別コード（ＩＭＥＩ）を管理する方式によってホワイトリスト制度とブラックリスト制度とに分けられる。そして、国際モバイル機器識別情報（ＩＭＥＩ）は、主に紛失端末機及び盗難端末機に対する通話遮断を目的として管理される。
【００５９】
また、ユーザ端末機２００は、暗号化させようとする応用プログラムの識別情報もＳ４４０段階でユーザ端末機固有情報と共に周辺機器３００に伝送しうる。周辺機器３００は、複数の応用プログラムの核心コードを保存しており、周辺機器３００は、ユーザ端末機２００から受信した応用プログラムの識別情報を用いて応用プログラムの核心コードを区別することができる。
【００６０】
そして、周辺機器３００は、Ｓ４２０段階で受信して保存した応用プログラムの核心コードを暗号化する（ステップＳ４５０）。周辺機器３００は、Ｓ４４０段階で受信したユーザ端末機固有情報を用いて当該応用プログラムの識別情報に対応する応用プログラムを暗号化する。
【００６１】
説明の便宜上、周辺機器３００が、ユーザ端末機２００から受信したユーザ端末機固有情報を用いて核心コードを暗号化するものと説明した。しかし、これに限定せず、応用プログラム提供サーバ１００が、ユーザ端末機２００からユーザ端末機固有情報を受信して核心コードを暗号化した後、暗号化された核心コードをＳ４２０段階を通じて周辺機器３００に伝送しうる。応用プログラム提供サーバ１００が核心コードを暗号化する場合、Ｓ４４０段階及びＳ４５０段階は省略される。
【００６２】
本発明の実施形態による核心コード保護システムは、核心コードを暗号化するか、該暗号化された核心コードを復号するキーで国際モバイル機器識別情報（ＩＭＥＩ）を用いる。周辺機器３００は、国際モバイル機器識別情報（ＩＭＥＩ）を用いて核心コードを暗号化または復号することによって、周辺機器３００に保存した暗号化された核心コードをユーザ端末機２００に従属させる。
【００６３】
次いで、ユーザ端末機２００と周辺機器３００は、Ｓ４６０段階ないしＳ５００段階を通じて再実行を要請された応用プログラムの実行段階を行う。
【００６４】
ユーザ端末機２００は、ユーザ端末機固有情報を周辺機器３００に伝送する（ステップＳ４６０）。この際、ユーザ端末機固有情報は、国際モバイル機器識別コード（ＩＭＥＩ）を含み、ユーザ端末機２００は、ユーザ端末機固有情報と共にユーザから実行を要請された応用プログラムの識別情報を周辺機器３００に伝送しうる。
【００６５】
そして、周辺機器３００は、受信した応用プログラムの識別情報に対応する暗号化された核心コードを受信したユーザ端末機固有情報を用いて復号する（ステップＳ４７０）。Ｓ４５０段階でユーザ端末機固有情報を用いて暗号化された核心コードは、Ｓ４４０段階でユーザ端末機固有情報を伝送したユーザ端末機２００に従属される。したがって、他のユーザ端末機は、暗号化された核心コードファイルが保存された周辺機器３００を習得しても、当該核心コードファイルを復号することができない。
【００６６】
次いで、ユーザ端末機２００は、実行呼び出しメッセージを周辺機器３００に伝送する（ステップＳ４８０）。説明の便宜上、Ｓ４８０段階で、ユーザ端末機２００が実行呼び出しメッセージを周辺機器３００に伝送するものと説明したが、これに限定せず、ユーザ端末機２００は、Ｓ４６０段階で周辺機器３００にユーザ端末機固有情報を伝送する時、実行呼び出しメッセージを共に伝送しうる。
【００６７】
ここで、実行呼び出しメッセージは、周辺機器３００に保存された応用プログラムの核心コードを実行するように要請するメッセージであり、当該応用プログラムの識別情報と実行を呼び出すファイルまたは関数の情報とを含む。
【００６８】
次いで、周辺機器３００は、復号した核心コードのうちからユーザ端末機２００から受信した実行呼び出しメッセージに対応する核心コードを実行する（ステップＳ４９０）。
【００６９】
Ｓ４８０段階で、ユーザ端末機２００が、周辺機器に伝送した実行呼び出しメッセージに実行を呼び出す特定関数の名前が含まれている場合、周辺機器３００は、当該関数をローディングして実行する。
【００７０】
応用プログラム分離及び伝達段階で、応用プログラム提供サーバ１００がＳ４３０段階を通じてユーザ端末機２００に伝達した一般コードは、メインルーチン（Ｍａｉｎ  Ｒｏｕｔｉｎｅ）形態であり、周辺機器３００がＳ４２０段階を通じて応用プログラム提供サーバ１００から受信して保存した核心コードは、サブルーチン（Ｓｕｂ  Ｒｏｕｔｉｎｅ）であり得る。
【００７１】
ユーザ端末機２００が、ユーザの応用プログラム実行要請に応じて一般コードを実行すれば、メインルーチンである一般コードは、サブルーチンである核心コードを呼び出して周辺機器３００がＳ４７０段階で復号した核心コードファイルを実行することができる。すなわち、ユーザ端末機２００は、一般コードを実行することによって、周辺機器３００に実行呼び出しメッセージを伝送して周辺機器３００に保存された核心コードを実行させることができる。
【００７２】
そして、周辺機器３００は、応用プログラムの核心コードの実行結果をユーザ端末機２００に伝送し（ステップＳ５００）、ユーザ端末機２００は、受信した核心コードの実行結果を画面上に表示する（ステップＳ５１０）。
【００７３】
説明の便宜上、ユーザ端末機２００が、周辺機器３００から受信した核心コードの実行結果を表示するものと説明したが、周辺機器３００が出力部（図示せず）を含む場合、周辺機器３００は、Ｓ５００段階及びＳ５１０段階を省略し、周辺機器３００が直接核心コードの実行結果を出力部を通じて出力することができる。
【００７４】
この場合、周辺機器３００が、ユーザ端末機２００に核心コードの実行結果を伝送せず、ユーザが周辺機器３００から出力された内容を確認し、ユーザ端末機２００に出力された内容を入力して応用プログラムを実行することができる。
【００７５】
このように、本発明の実施形態によるユーザ端末機及び該ユーザ端末機の周辺機器を用いた核心コード保護方法を用いることによって、核心コードをユーザ端末機とペアリングされた周辺機器に保存し、周辺機器の中央処理装置が核心コードを実行して、核心コードがユーザ端末機に露出されないので、応用プログラムの逆工学分析抵抗性を増加させることができる。
【００７６】
また、ユーザ端末機固有情報を用いて暗号化した核心コードを周辺機器に保存して、ユーザ端末機または周辺機器のうちの何れか１つを紛失しても、拾得者が当該応用プログラムを実行することができなくて、応用プログラムの不正使用を防止することができる。
【００７７】
以上、本発明の望ましい実施形態について詳細に説明したが、本発明の権利範囲は、これに限定されるものではなく、次の特許請求の範囲で定義している本発明の基本概念を用いた当業者の多様な変形及び改良形態も、本発明の権利範囲に属するものである。
【産業上の利用可能性】
【００７８】
本発明は、ユーザ端末機及び該ユーザ端末機の周辺機器を用いた核心コード保護方法関連の技術分野に適用可能である。
【符号の説明】
【００７９】
１００：応用プログラム提供サーバ
２００：ユーザ端末機
２１０：ペアリング部
２２０：通信部
２３０：制御部
２４０：画面表示部
３００：周辺機器
３１０：通信部
３２０：暗復号部
３３０：コード実行部
【図１】
2017506372.tif 000003
【図２】
2017506372.tif 000004
【図３】
2017506372.tif 000005
【図４】
2017506372.tif 000006
【国際調査報告】
2017506372.tif 000007
2017506372.tif 000008
2017506372.tif 000009
2017506372.tif 000010