JP6203396B2 - ユーザ端末機及び該ユーザ端末機の周辺機器を用いた核心コード保護方法 - Google Patents

ユーザ端末機及び該ユーザ端末機の周辺機器を用いた核心コード保護方法 Download PDF

Info

Publication number
JP6203396B2
JP6203396B2 JP2016527324A JP2016527324A JP6203396B2 JP 6203396 B2 JP6203396 B2 JP 6203396B2 JP 2016527324 A JP2016527324 A JP 2016527324A JP 2016527324 A JP2016527324 A JP 2016527324A JP 6203396 B2 JP6203396 B2 JP 6203396B2
Authority
JP
Japan
Prior art keywords
user terminal
peripheral device
application program
core code
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016527324A
Other languages
English (en)
Other versions
JP2017506372A (ja
Inventor
チョン ヒュン イ
チョン ヒュン イ
ヨン チン パク
ヨン チン パク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Foundation of Soongsil University Industry Cooperation
Original Assignee
Foundation of Soongsil University Industry Cooperation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Foundation of Soongsil University Industry Cooperation filed Critical Foundation of Soongsil University Industry Cooperation
Publication of JP2017506372A publication Critical patent/JP2017506372A/ja
Application granted granted Critical
Publication of JP6203396B2 publication Critical patent/JP6203396B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/71Hardware identity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)

Description

本発明は、ユーザ端末機及び該ユーザ端末機の周辺機器を用いた核心コード保護方法に係り、より詳細には、逆工学攻撃から応用プログラムの核心コードを保護することができるユーザ端末機及び該ユーザ端末機の周辺機器を用いた核心コード保護方法に関する。
スマートフォンユーザは、第3者が開発してグーグル(Google)プレイのようなデジタルオープンマーケットにアップロードしたアプリケーション及びコンテンツをダウンロードされて駆動させることによって、多様なサービスを利用可能になった。これにより、スマートフォンに多くのデータが蓄積される。蓄積されたデータのうちには、敏感または重要な情報も含まれており、このようなデータを保護しようとするスマートフォン関連保安技術が開発されている。
スマートフォン内に保存された金融及び個人情報を含む各種データは、フィッシング(phishing)、ファーミング(pharming)、スミッシング(smishing)だけではなく、偽造・変造されたアプリケーションを通じて奪取されうる。攻撃者は、アプリケーションを逆工学してデコンパイルされたソースコードを抽出した後、悪性コードを挿入して偽造・変造されたアプリケーションを生成するか、強制に抽出したソースコードを不法的に使って経済的に利得を得たりする。
特に、アンドロイドアプリケーションは、アイフォーン(iPhone)アプリケーションとは異なって、比較的容易にソースコードを抽出して分析し、アプリケーションの不法複製及び偽造・変造で悪性コードを挿入するハッキング攻撃の主要対象になっている。
アプリケーションの不法複製及び偽造・変造を遮断するために、多様なソース難読化技法及びグーグルのLVL(Licensing Verification Library)が提示されてアプリケーションの分析にかかる時間を増加させるか、逆工学を難しくした。
しかし、逆工学の難易度を増加させる方法で逆工学攻撃を防御するものではなく、アプリケーションのソースコードを抽出または分析することができないように保護する方法についての技術を用いて、根本的な側面でアプリケーション及びユーザの情報を保護する技術が必要である。
本発明の背景となる技術は、特許文献1に開示されている。
韓国登録特許第10−1223981号公報
本発明は、ユーザ端末機及び該ユーザ端末機の周辺機器を用いた核心コード保護方法に係り、より詳細には、逆工学攻撃から応用プログラムの核心コードを保護することができるユーザ端末機及び該ユーザ端末機の周辺機器を用いた核心コード保護方法を提供するところにその目的がある。
このような技術的課題を果たすための本発明の実施形態による核心コードを保護するユーザ端末機は、応用プログラム提供サーバから応用プログラムをダウンロードされて設置する過程で、前記応用プログラムの一般コードを受信し、前記応用プログラム提供サーバから核心コードを受信して保存した周辺機器とペアリング連結を行うペアリング部と、前記応用プログラムを実行する過程で、前記ペアリングされた周辺機器が前記核心コードの暗号化及び復号を行うように、前記ユーザ端末機固有情報を前記周辺機器に伝送する通信部と、前記周辺機器に実行呼び出しメッセージを伝送し、前記周辺機器から前記核心コードの実行結果を伝達される制御部と、を含む。
また、受信された前記核心コードの実行結果を画面上に表示する画面表示部をさらに含みうる。
また、前記周辺機器は、前記応用プログラムの最初実行要請が入力されれば、前記ユーザ端末機固有情報を用いて前記核心コードを暗号化して保存し、前記応用プログラムの再実行要請が入力されれば、前記ユーザ端末機固有情報を用いて前記暗号化された核心コードを復号し、前記復号された核心コードを実行して、該実行結果を前記ユーザ端末機に伝送しうる。
また、前記ユーザ端末機固有情報は、国際モバイル機器識別情報(IMEI;International Mobile Equipment Identity)を含み、前記周辺機器は、前記ユーザ端末機固有情報を用いて前記核心コードを暗号化または復号することができる。
本発明の他の実施形態による核心コードを保護するための方法は、ユーザ端末機が、応用プログラム提供サーバから応用プログラムをダウンロードされて設置する過程で、前記応用プログラムの一般コードを受信する段階と、前記応用プログラム提供サーバから核心コードを受信して保存した周辺機器とペアリング連結を行う段階と、前記応用プログラムを最初実行する過程で、前記ペアリングされた周辺機器が前記核心コードの暗号化を行うように、前記ユーザ端末機固有情報を前記周辺機器に伝送する段階と、前記応用プログラムを再実行する過程で、前記周辺機器が前記暗号化された核心コードの復号を行うように、前記ユーザ端末機固有情報を前記周辺機器に伝送する段階と、前記周辺機器に実行呼び出しメッセージを伝送し、前記周辺機器から前記核心コードの実行結果を伝達される段階と、を含む。
本発明によれば、核心コードをユーザ端末機とペアリングされた周辺機器に保存し、周辺機器の中央処理装置が核心コードを実行して、核心コードがユーザ端末機に露出されないので、応用プログラムの逆工学分析抵抗性を増加させることができる。
また、ユーザ端末機固有情報を用いて暗号化した核心コードを周辺機器に保存して、ユーザ端末機または周辺機器のうちの何れか1つを紛失しても、拾得者が当該応用プログラムを実行できないようにして、応用プログラムの不正使用を防止することができる。
本発明の実施形態による核心コード保護システムを示す構成図である。 本発明の実施形態によるユーザ端末機の構成を示すブロック図である。 本発明の実施形態による周辺機器の構成を示すブロック図である。 本発明の実施形態による核心コードを保護する方法を説明するフローチャートである。
以下、添付した図面を参照して、本発明の実施形態について当業者が容易に実施できるように詳しく説明する。しかし、本発明は、さまざまな異なる形態として具現され、ここで説明する実施形態に限定されるものではない。そして、図面で本発明を明確に説明するために、説明と関係のない部分は省略し、明細書全体を通じて類似した部分については、類似した図面符号を付する。
以下、添付図面を参照しながら、本発明による望ましい実施形態を詳しく説明する。
図1は、本発明の実施形態による核心コード保護システムを示す構成図である。図1のように、本発明の実施形態による核心コード保護システムは、応用プログラム提供サーバ100、ユーザ端末機200及び周辺機器300を含む。
図1に示したように、応用プログラム提供サーバ100、ユーザ端末機200及び周辺機器300は、ネットワーク(network)を通じて連結される。すなわち、図1のように、ネットワークを通じて、ユーザ端末機200は、応用プログラム提供サーバ100及び周辺機器300と連結され、周辺機器300は、応用プログラム提供サーバ100とネットワークとを通じて連結される。
ここで、ネットワークは、ユーザ端末及びサーバのようなそれぞれのノード相互間に情報交換が可能な連結構造を意味するものであって、このようなネットワークの一例は、インターネット(Internet)、LAN(Local Area Network)、Wireless LAN(Wireless Local Area Network)、WAN(Wide Area Network)、PAN(Personal Area Network)、3G、4G、Wi−Fiなどが含まれるが、これに限定されるものではない。
特に、ユーザ端末機200と周辺機器300は、ブルートゥース(Bluetooth)、ジグビー(ZigBee)、赤外線通信モジュール(IrDA、Infrared Data Association)などを用いて無線連結され、有線で連結されても良い。
まず、応用プログラム提供サーバ100は、応用プログラムファイルを核心コードと一般コードとに分離する。そして、分離された核心コード及び一般コードをそれぞれ周辺機器300及びユーザ端末機200に伝達する。
応用プログラム提供サーバ100は、応用プログラムパッケージからデコンパイルされた実行ファイルを通じて核心コードを設定することができる。そして、応用プログラム提供サーバ100は、応用プログラムファイルのうちから核心コードを除去して一般コードを生成する。この際、一般コードと核心コードは、それぞれユーザ端末機200と周辺機器300とに設けられて実行可能なファイル形態であり得る。
本発明の実施形態による応用プログラム提供サーバ100は、金融、ニュース、ショッピング、ゲームなど多種の応用プログラム一般コード及び核心コードを保存し、ユーザ端末機200及び周辺機器300が、このような応用プログラムの一般コード及び核心コードを応用プログラム提供サーバ100からダウンロードされて設置可能にする。ここで、応用プログラム提供サーバ100は、モバイルアプリケーションマーケットであり、例えば、グーグルプレイやアップル(Apple)のアプリストアのような各種モバイルアプリケーションマーケットが応用プログラム提供サーバ100に該当する。
次いで、ユーザ端末機200は、応用プログラム提供サーバ100から応用プログラムの一般コードを受信してユーザ端末機200に設置する。そして、応用プログラムの最初実行時に、ユーザ端末機200は、ペアリングされた周辺機器300にユーザ端末機固有情報を伝送して周辺機器300が核心コードをユーザ端末機固有情報に暗号化する。そして、応用プログラムが再実行される時、ユーザ端末機200は、周辺機器300から核心コードの実行結果を受信して応用プログラムの実行に適用するか、出力する。
ここで、ユーザ端末機200は、応用プログラムを設置して実行する端末機であって、スマートフォン、スマートパッド、携帯電話、ノート型パソコン、タブレットPC、PDA(Personal Digital Assistant)などが該当する。特に、スマートフォンまたはスマートパッドの場合、応用プログラムは、機器上にアプリケーションで提供することができる。
ここで、アプリケーションは、端末上の応用プログラムを意味し、例えば、モバイル端末(スマートフォン)で実行されるアプリ(app)を含む。ユーザは、アプリ(app)をモバイルコンテンツを自在に売買する仮想の市場であるモバイルアプリケーションマーケットでダウンロードされて、スマートフォンなどのユーザ端末機200に設置することができる。
最後に、周辺機器300は、応用プログラム提供サーバ100から応用プログラムの核心コードを受信して保存する。そして、ペアリングされたユーザ端末機200からユーザ端末機固有情報を受信して核心コードを暗号化し、ユーザ端末機200に設けられた応用プログラムが再実行されて、ユーザ端末機200からユーザ端末機固有情報及び実行呼び出しメッセージを受信すれば、ユーザ端末機固有情報を用いて復号した核心コードを実行し、核心コードの実行結果をユーザ端末機200に伝送する。
この際、周辺機器300は、核心コードの実行結果を周辺機器300の出力部(図示せず)を通じて画面に表示するか、音で出力することができる。
ここで、周辺機器300は、ユーザ端末機200及び応用プログラム提供サーバ100と通信し、応用プログラムの核心コードを受信して保存し、応用プログラムの核心コードを実行する中央処理装置を含む電気機器である。周辺機器300は、スマートウォッチ、スマートメガネ、スマートバンドなどのウェアラブル機器であり得る。
また、活動追跡機、モバイルフォトプリンター、ホームモニタリング装置、おもちゃ、医療機器などのアプリアクセサリー(Appcessory)を周辺機器300として使うことができる。ここで、アプリアクセサリーは、ユーザ端末機200であるスマートフォンがアプリケーションと連動されてスマートフォンの機能を拡張させるアクセサリーを意味する。
図2は、本発明の実施形態によるユーザ端末機の構成を示すブロック図である。
図2のように、本発明の実施形態によるユーザ端末機200は、ペアリング部210、通信部220、制御部230及び画面表示部240を含む。
まず、ペアリング部210は、応用プログラム提供サーバ100及び周辺機器300と通信する。特に、ペアリング部210は、応用プログラム提供サーバ100とWi−Fi、3G、4G、LTE、ワイブロなどの無線通信方式を通じて通信し、周辺機器300とはブルートゥース、ジグビー、赤外線通信モジュールなどの近距離通信または有線を通じて通信することができる。
また、ペアリング部210は、応用プログラム提供サーバ100から応用プログラムの一般コードを受信してユーザ端末機200に当該応用プログラムを設置し、応用プログラム提供サーバ100から応用プログラムの核心コードファイルを受信した周辺機器300とペアリングを行う。
次いで、通信部220は、周辺機器300にユーザ端末機固有情報を伝送する。ここで、ユーザ端末機固有情報は、ユーザ端末機200の国際モバイル機器識別情報(IMEI)を含みうる。そして、通信部220は、ブルートゥース、ジグビー、赤外線通信モジュールなどの近距離通信または有線を通じて周辺機器300にユーザ端末機固有情報を伝送しうる。
そして、制御部230は、一般コードを実行する過程で呼び出そうとする核心コードの情報を含めた実行呼び出しメッセージを周辺機器300に伝送し、周辺機器300から当該応用プログラムの核心コード実行結果を受信する。この際、制御部230は、ブルートゥース、ジグビー、赤外線通信モジュールなどの近距離通信または有線を通じて実行呼び出しメッセージを伝送するか、核心コード実行結果を受信することができる。
最後に、画面表示部240は、周辺機器300から受信した核心コードの実行結果を画面上に出力する。また、画面表示部240は、ユーザが視覚、聴覚、触覚などで認知できるように実行結果を出力することもできる。
図3は、本発明の実施形態による周辺機器の構成を示すブロック図である。
図3に示したように、周辺機器300は、通信部310と暗復号部320及びコード実行部330とを含む。
まず、通信部310は、応用プログラム提供サーバ100及びユーザ端末機200と通信を行う。特に、通信部310は、ユーザ端末機200とブルートゥース、ジグビー、赤外線通信モジュールなどの近距離通信または有線を通じて通信することができる。
また、通信部310は、応用プログラム提供サーバ100から受信した応用プログラムの核心コードを周辺機器300に設置する。そして、通信部310は、応用プログラムが実行される時、ユーザ端末機200からユーザ端末機固有情報と実行呼び出しメッセージとを受信する。
次いで、暗復号部320は、応用プログラムが最初実行されて核心コードを暗号化する段階でユーザ端末機200から受信したユーザ端末機固有情報を用いて核心コードを暗号化して保存する。そして、応用プログラムが再実行されれば、暗復号部320は、ユーザ端末機200から受信したユーザ端末機固有情報を用いて暗号化された核心コードを復号する。
最後に、コード実行部330は、ユーザ端末機200から実行呼び出しメッセージを受信すれば、核心コードをローディングして核心コードを実行する。そして、核心コードの実行結果をユーザ端末機200に伝送する。
以下、図4を通じて本発明の実施形態による周辺機器を用いて核心コードを保護する方法についてさらに詳細に説明する。
図4は、本発明の実施形態による周辺機器を用いて核心コードを保護する方法を説明するフローチャートである。
図4に示したように、周辺機器を用いて核心コードを保護する方法において、S410段階ないしS430段階は、応用プログラム分離及び伝達段階を意味し、S440段階及びS450段階は、核心コード暗号化段階を意味し、S460段階ないしS490段階は、応用プログラム実行段階を意味する。説明の便宜上、大きく3つの段階に分けて説明した。
まず、応用プログラム提供サーバ100は、S410段階ないしS430段階を通じて応用プログラムを分離及び伝達段階を行う。
応用プログラム提供サーバ100は、応用プログラムファイルを核心コードと核心コードが除去された一般コードとに分離する(ステップS410)。応用プログラム提供サーバ100は、応用プログラムパッケージからデコンパイルされた実行ファイルを通じて核心コードを設定する。そして、応用プログラム提供サーバ100は、応用プログラムファイルのうちから核心コードを削除して一般コードを生成する。
そして、応用プログラム提供サーバ100は、分離された核心コードを周辺機器300に伝送して保存させる(ステップS420)。この際、応用プログラム提供サーバ100は、周辺機器300に核心コードを伝達する過程でWi−Fi、3G、4G、LTE、ワイブロなどの無線通信方式を通じて通信し、保安を強化するために、近距離通信または有線を通じて核心コードを伝達することができる。
また、ユーザがユーザ端末機200を通じて応用プログラム提供サーバ100に接続すれば、応用プログラム提供サーバ100は、一般コードをユーザ端末機200にダウンロード方式で伝送する(ステップS430)。ユーザ端末機200は、3G、4G、Wi−Fiなどのネットワークを用いて設置しようとする応用プログラムの一般コードをダウンロードされて設置することができる。
応用プログラム分離及び伝達段階が行われた後、ユーザからユーザ端末機200に設けられた応用プログラムの最初実行要請を入力されれば、後述するS440段階及びS450段階を通じて核心コードの暗号化を行う。一方、ユーザから応用プログラムの再実行要請を入力されれば、後述するS460段階ないしS510段階を通じて応用プログラムを実行する。
ユーザ端末機200に設けられた応用プログラムの最初実行を入力された場合、核心コードの暗号化を行う前に、ユーザ端末機200は、周辺機器300とペアリング連結を行う。ユーザ端末機200は、核心コードが保存された状態で配布または販売された周辺機器300とペアリング連結を行う。また、ユーザ端末機200は、ユーザが既存に所有した周辺機器300が応用プログラム提供サーバ100から核心コードを受信して保存すれば、当該周辺機器300とペアリング連結を行うこともできる。
説明の便宜上、ユーザ端末機200と周辺機器300のペアリング連結が核心コード暗号化段階で行われると説明したが、これに限定せず、ユーザ端末機200と周辺機器300は、応用プログラム分離及び伝達段階でペアリングを通じて連結されうる。
ユーザ端末機200が周辺機器300とのペアリング連結を完了してからは、ユーザ端末機200は、周辺機器300にユーザ端末機固有情報を伝送する(ステップS440)。ここで、ユーザ端末機固有情報は、ユーザ端末機200の国際モバイル機器識別情報(IMEI)を含みうる。
国際モバイル機器識別コード(IMEI)は、携帯電話ごとに付与される固有識別番号である。世界移動通信社業者連合(GSMA)のガイドラインによって携帯電話製造会社は、製造した携帯電話を出庫する時、それぞれの携帯電話に国際モバイル機器識別コード(IMEI)を付与する。国際モバイル機器識別コード(IMEI)は、承認コード8桁、モデル一連番号6桁、検証用数字1桁など総15桁で構成され、国際モバイル機器識別コード(IMEI)を管理する方式によってホワイトリスト制度とブラックリスト制度とに分けられる。そして、国際モバイル機器識別情報(IMEI)は、主に紛失端末機及び盗難端末機に対する通話遮断を目的として管理される。
また、ユーザ端末機200は、暗号化させようとする応用プログラムの識別情報もS440段階でユーザ端末機固有情報と共に周辺機器300に伝送しうる。周辺機器300は、複数の応用プログラムの核心コードを保存しており、周辺機器300は、ユーザ端末機200から受信した応用プログラムの識別情報を用いて応用プログラムの核心コードを区別することができる。
そして、周辺機器300は、S420段階で受信して保存した応用プログラムの核心コードを暗号化する(ステップS450)。周辺機器300は、S440段階で受信したユーザ端末機固有情報を用いて当該応用プログラムの識別情報に対応する応用プログラムを暗号化する。
説明の便宜上、周辺機器300が、ユーザ端末機200から受信したユーザ端末機固有情報を用いて核心コードを暗号化するものと説明した。しかし、これに限定せず、応用プログラム提供サーバ100が、ユーザ端末機200からユーザ端末機固有情報を受信して核心コードを暗号化した後、暗号化された核心コードをS420段階を通じて周辺機器300に伝送しうる。応用プログラム提供サーバ100が核心コードを暗号化する場合、S440段階及びS450段階は省略される。
本発明の実施形態による核心コード保護システムは、核心コードを暗号化するか、該暗号化された核心コードを復号するキーで国際モバイル機器識別情報(IMEI)を用いる。周辺機器300は、国際モバイル機器識別情報(IMEI)を用いて核心コードを暗号化または復号することによって、周辺機器300に保存した暗号化された核心コードをユーザ端末機200に従属させる。
次いで、ユーザ端末機200と周辺機器300は、S460段階ないしS500段階を通じて再実行を要請された応用プログラムの実行段階を行う。
ユーザ端末機200は、ユーザ端末機固有情報を周辺機器300に伝送する(ステップS460)。この際、ユーザ端末機固有情報は、国際モバイル機器識別コード(IMEI)を含み、ユーザ端末機200は、ユーザ端末機固有情報と共にユーザから実行を要請された応用プログラムの識別情報を周辺機器300に伝送しうる。
そして、周辺機器300は、受信した応用プログラムの識別情報に対応する暗号化された核心コードを受信したユーザ端末機固有情報を用いて復号する(ステップS470)。S450段階でユーザ端末機固有情報を用いて暗号化された核心コードは、S440段階でユーザ端末機固有情報を伝送したユーザ端末機200に従属される。したがって、他のユーザ端末機は、暗号化された核心コードファイルが保存された周辺機器300を習得しても、当該核心コードファイルを復号することができない。
次いで、ユーザ端末機200は、実行呼び出しメッセージを周辺機器300に伝送する(ステップS480)。説明の便宜上、S480段階で、ユーザ端末機200が実行呼び出しメッセージを周辺機器300に伝送するものと説明したが、これに限定せず、ユーザ端末機200は、S460段階で周辺機器300にユーザ端末機固有情報を伝送する時、実行呼び出しメッセージを共に伝送しうる。
ここで、実行呼び出しメッセージは、周辺機器300に保存された応用プログラムの核心コードを実行するように要請するメッセージであり、当該応用プログラムの識別情報と実行を呼び出すファイルまたは関数の情報とを含む。
次いで、周辺機器300は、復号した核心コードのうちからユーザ端末機200から受信した実行呼び出しメッセージに対応する核心コードを実行する(ステップS490)。
S480段階で、ユーザ端末機200が、周辺機器に伝送した実行呼び出しメッセージに実行を呼び出す特定関数の名前が含まれている場合、周辺機器300は、当該関数をローディングして実行する。
応用プログラム分離及び伝達段階で、応用プログラム提供サーバ100がS430段階を通じてユーザ端末機200に伝達した一般コードは、メインルーチン(Main Routine)形態であり、周辺機器300がS420段階を通じて応用プログラム提供サーバ100から受信して保存した核心コードは、サブルーチン(Sub Routine)であり得る。
ユーザ端末機200が、ユーザの応用プログラム実行要請に応じて一般コードを実行すれば、メインルーチンである一般コードは、サブルーチンである核心コードを呼び出して周辺機器300がS470段階で復号した核心コードファイルを実行することができる。すなわち、ユーザ端末機200は、一般コードを実行することによって、周辺機器300に実行呼び出しメッセージを伝送して周辺機器300に保存された核心コードを実行させることができる。
そして、周辺機器300は、応用プログラムの核心コードの実行結果をユーザ端末機200に伝送し(ステップS500)、ユーザ端末機200は、受信した核心コードの実行結果を画面上に表示する(ステップS510)。
説明の便宜上、ユーザ端末機200が、周辺機器300から受信した核心コードの実行結果を表示するものと説明したが、周辺機器300が出力部(図示せず)を含む場合、周辺機器300は、S500段階及びS510段階を省略し、周辺機器300が直接核心コードの実行結果を出力部を通じて出力することができる。
この場合、周辺機器300が、ユーザ端末機200に核心コードの実行結果を伝送せず、ユーザが周辺機器300から出力された内容を確認し、ユーザ端末機200に出力された内容を入力して応用プログラムを実行することができる。
このように、本発明の実施形態によるユーザ端末機及び該ユーザ端末機の周辺機器を用いた核心コード保護方法を用いることによって、核心コードをユーザ端末機とペアリングされた周辺機器に保存し、周辺機器の中央処理装置が核心コードを実行して、核心コードがユーザ端末機に露出されないので、応用プログラムの逆工学分析抵抗性を増加させることができる。
また、ユーザ端末機固有情報を用いて暗号化した核心コードを周辺機器に保存して、ユーザ端末機または周辺機器のうちの何れか1つを紛失しても、拾得者が当該応用プログラムを実行することができなくて、応用プログラムの不正使用を防止することができる。
以上、本発明の望ましい実施形態について詳細に説明したが、本発明の権利範囲は、これに限定されるものではなく、次の特許請求の範囲で定義している本発明の基本概念を用いた当業者の多様な変形及び改良形態も、本発明の権利範囲に属するものである。
本発明は、ユーザ端末機及び該ユーザ端末機の周辺機器を用いた核心コード保護方法関連の技術分野に適用可能である。
100:応用プログラム提供サーバ
200:ユーザ端末機
210:ペアリング部
220:通信部
230:制御部
240:画面表示部
300:周辺機器
310:通信部
320:暗復号部
330:コード実行部

Claims (8)

  1. 応用プログラム提供サーバから応用プログラムをダウンロードされて設置する過程で、前記応用プログラムの一般コードを受信し、前記応用プログラム提供サーバから核心コードを受信して保存した周辺機器とペアリング連結を行うペアリング部と、
    前記応用プログラムを実行する過程で、前記ペアリングされた周辺機器が前記核心コードの暗号化及び復号を行うように、ユーザ端末機固有情報を前記周辺機器に伝送する通信部と、
    前記周辺機器に実行呼び出しメッセージを伝送し、前記周辺機器から前記核心コードの実行結果を伝達される制御部と、を含むユーザ端末機。
  2. 受信された前記核心コードの実行結果を画面上に表示する画面表示部をさらに含む請求項1に記載のユーザ端末機。
  3. 前記周辺機器は、
    前記応用プログラムの最初実行要請が入力されれば、前記ユーザ端末機固有情報を用いて前記核心コードを暗号化して保存し、
    前記応用プログラムの再実行要請が入力されれば、前記ユーザ端末機固有情報を用いて前記暗号化された核心コードを復号し、前記復号された核心コードを実行して、該実行結果を前記ユーザ端末機に伝送する請求項1に記載のユーザ端末機。
  4. 前記ユーザ端末機固有情報は、国際モバイル機器識別情報(IMEI)を含み、
    前記周辺機器は、
    前記ユーザ端末機固有情報を用いて前記核心コードを暗号化または復号する請求項3に記載のユーザ端末機。
  5. ユーザ端末機を用いた核心コード保護方法において、
    前記ユーザ端末機は、応用プログラム提供サーバから応用プログラムをダウンロードされて設置する過程で、前記応用プログラムの一般コードを受信する段階と、
    前記応用プログラム提供サーバから核心コードを受信して保存した周辺機器とペアリング連結を行う段階と、
    前記応用プログラムを最初実行する過程で、前記ペアリングされた周辺機器が前記核心コードの暗号化を行うように、前記ユーザ端末機固有情報を前記周辺機器に伝送する段階と、
    前記応用プログラムを再実行する過程で、前記周辺機器が前記暗号化された核心コードの復号を行うように、前記ユーザ端末機固有情報を前記周辺機器に伝送する段階と、
    前記周辺機器に実行呼び出しメッセージを伝送し、前記周辺機器から前記核心コードの実行結果を伝達される段階と、を含む核心コード保護方法。
  6. 受信された前記核心コードの実行結果を画面上に表示する段階をさらに含む請求項5に記載の核心コード保護方法。
  7. 前記周辺機器は、
    前記応用プログラムの最初実行要請が入力されれば、前記ユーザ端末機固有情報を用いて前記核心コードを暗号化して保存し、
    前記応用プログラムの再実行要請が入力されれば、前記ユーザ端末機固有情報を用いて前記暗号化された核心コードを復号し、前記復号された核心コードを実行して、該実行結果を前記ユーザ端末機に伝送する請求項5に記載の核心コード保護方法。
  8. 前記ユーザ端末機固有情報は、国際モバイル機器識別情報)を含み、
    前記周辺機器は、
    前記ユーザ端末機固有情報を用いて前記核心コードを暗号化または復号する請求項7に記載の核心コード保護方法。
JP2016527324A 2014-10-21 2015-03-06 ユーザ端末機及び該ユーザ端末機の周辺機器を用いた核心コード保護方法 Active JP6203396B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR10-2014-0142689 2014-10-21
KR20140142689 2014-10-21
KR1020150002942A KR101566143B1 (ko) 2014-10-21 2015-01-08 사용자 단말기 및 상기 사용자 단말기의 주변기기를 이용한 핵심코드 보호 방법
KR10-2015-0002942 2015-01-08
PCT/KR2015/002205 WO2016064043A1 (ko) 2014-10-21 2015-03-06 사용자 단말기 및 상기 사용자 단말기의 주변기기를 이용한 핵심코드 보호 방법

Publications (2)

Publication Number Publication Date
JP2017506372A JP2017506372A (ja) 2017-03-02
JP6203396B2 true JP6203396B2 (ja) 2017-09-27

Family

ID=54601238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016527324A Active JP6203396B2 (ja) 2014-10-21 2015-03-06 ユーザ端末機及び該ユーザ端末機の周辺機器を用いた核心コード保護方法

Country Status (5)

Country Link
US (1) US20160275271A1 (ja)
EP (1) EP3057020B1 (ja)
JP (1) JP6203396B2 (ja)
KR (1) KR101566143B1 (ja)
WO (1) WO2016064043A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019028627A (ja) * 2017-07-28 2019-02-21 公立大学法人岩手県立大学 送受信システム、ペアリング方法及びペアリングプログラム
KR102015552B1 (ko) * 2018-12-05 2019-08-28 이트너스 주식회사 Qr 코드를 활용한 박스내부 상품리스트 확인 방법 및 시스템

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006033267A (ja) * 2004-07-14 2006-02-02 Sony Corp 情報処理システム、情報処理方法、情報処理装置、並びにプログラム
NO20050152D0 (no) 2005-01-11 2005-01-11 Dnb Nor Bank Asa Fremgangsmate ved frembringelse av sikkerhetskode og programmbar anordning for denne
JP2010193187A (ja) * 2009-02-18 2010-09-02 Fujitsu Ten Ltd 車載装置及び通信制御方法
EP2264635A1 (en) * 2009-06-19 2010-12-22 Thomson Licensing Software resistant against reverse engineering
KR20120002079A (ko) * 2010-06-30 2012-01-05 에스케이플래닛 주식회사 어플리케이션 저작권 보호 시스템, 어플리케이션 저작권 보호 장치 및 방법, 그리고 단말 장치 및 상기 단말 장치의 어플리케이션 저작권 보호 방법
JP5948680B2 (ja) * 2011-09-13 2016-07-06 パナソニックIpマネジメント株式会社 コンテンツ再生システム、情報処理端末、メディアサーバ、セキュアデバイスおよびサーバ・セキュアデバイス
KR20140007250A (ko) * 2012-07-09 2014-01-17 주식회사 씽크풀 페어링 수행 디지털 시스템 및 그 제공방법
KR101223981B1 (ko) * 2012-07-11 2013-01-21 주식회사 안랩 안전한 애플리케이션 실행을 위한 가상화 장치, 서버 및 방법
US9443421B2 (en) * 2012-11-13 2016-09-13 Panasonic Intellectual Property Corporation Of America Method used in a system for remotely controlling an appliance
WO2015092930A1 (ja) * 2013-12-20 2015-06-25 株式会社 東芝 通信システム、電子機器および方法

Also Published As

Publication number Publication date
EP3057020B1 (en) 2019-02-20
WO2016064043A1 (ko) 2016-04-28
KR101566143B1 (ko) 2015-11-06
EP3057020A4 (en) 2017-06-21
EP3057020A1 (en) 2016-08-17
JP2017506372A (ja) 2017-03-02
US20160275271A1 (en) 2016-09-22

Similar Documents

Publication Publication Date Title
KR101537205B1 (ko) 해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법
Liu et al. Smart solution, poor protection: An empirical study of security and privacy issues in developing and deploying smart home devices
JP5613596B2 (ja) 認証システム、端末装置、認証サーバ、およびプログラム
US20190140836A1 (en) Provisioning trusted execution environment based on chain of trust including platform
JP2016519544A (ja) 自己認証デバイス及び自己認証方法
JP6321188B2 (ja) 移動端末機のハッキング防止システム及びその方法
Busold et al. Smart and secure cross-device apps for the internet of advanced things
KR102439832B1 (ko) 무선 기기를 위한 애드온 모뎀 및 그것과 함께 유용한 방법
JP2013175179A (ja) 少なくとも1つの暗号化された命令を備えるソフトウェアアプリケーションの協調実行のためのシステム、デバイスおよび方法
KR101580425B1 (ko) 주변기기와 연동하는 사용자 단말기 및 그것을 이용한 정보 유출 방지 방법
KR101518689B1 (ko) 핵심 코드를 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법
JP6203396B2 (ja) ユーザ端末機及び該ユーザ端末機の周辺機器を用いた核心コード保護方法
KR20170069337A (ko) 애플리케이션 보호를 위한 암호화 처리 방법, 이에 의해 생성된 프로그램 및 이를 위한 장치
EP3048553A1 (en) Method for distributing applets, and entities for distributing applets
JP2006514321A (ja) 暗号化されたアプリケーションをインストールするためのアーキテクチャ
KR101566141B1 (ko) 서명정보를 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법
JP5498278B2 (ja) データバックアップシステム、及び、無線親機
JP6318246B2 (ja) ユーザ端末機及びそれを用いた応用プログラムの核心コード保護方法
CN111901312A (zh) 一种网络访问控制的方法、系统、设备及可读存储介质
CN103605927A (zh) 一种基于嵌入式Linux系统实现加密和解密方法
JP2013251814A (ja) 無線通信装置
KR20140089703A (ko) 모바일 데이터 보안 장치 및 방법
CN102710601B (zh) 基于身份文件的安全加密和签名方法
KR101566144B1 (ko) 주변기기를 인증하여 응용 프로그램을 보호하는 사용자 단말기 및 그것을 이용한 응용 프로그램 보호 방법
KR101875863B1 (ko) 암호화된 해시값에 기반하여 클라우드 접속 허가를 결정하는 클라우드 시스템, 및 클라우드 접속 방법과 클라우드 단말에 설치된 소켓 데몬 장치

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170829

R150 Certificate of patent or registration of utility model

Ref document number: 6203396

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250