JP2020061727A - Information processing apparatus, method, and program - Google Patents

Information processing apparatus, method, and program Download PDF

Info

Publication number
JP2020061727A
JP2020061727A JP2019056664A JP2019056664A JP2020061727A JP 2020061727 A JP2020061727 A JP 2020061727A JP 2019056664 A JP2019056664 A JP 2019056664A JP 2019056664 A JP2019056664 A JP 2019056664A JP 2020061727 A JP2020061727 A JP 2020061727A
Authority
JP
Japan
Prior art keywords
transaction
software
generated
terminal
secure element
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.)
Granted
Application number
JP2019056664A
Other languages
Japanese (ja)
Other versions
JP6650543B1 (en
Inventor
佐藤 裕之
Hiroyuki Sato
裕之 佐藤
正一郎 櫻木
Shoichiro Sakuragi
正一郎 櫻木
三男 落合
Mitsuo Ochiai
三男 落合
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.)
Sakura Information Systems Co Ltd
Original Assignee
Sakura Information Systems Co Ltd
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 Sakura Information Systems Co Ltd filed Critical Sakura Information Systems Co Ltd
Priority to JP2019056664A priority Critical patent/JP6650543B1/en
Application granted granted Critical
Publication of JP6650543B1 publication Critical patent/JP6650543B1/en
Publication of JP2020061727A publication Critical patent/JP2020061727A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

To make it possible to further improve security of transactions.SOLUTION: The information processing apparatus is mounted on a terminal and includes access control means and signature means. When a transaction is generated by software operating on an operating system of the terminal, the access control means determines whether the software that generated the transaction is authorized software. Only when it is determined that the software that generated the transaction is authorized software, the access control means accesses to a secure element of the terminal, thereby preventing unauthorized transactions from being signed by malware. The signature means executes, using the access by the access control means as a trigger, a process of assigning a digital signature to the transaction in the secure element using a private key stored in the secure element of the terminal.SELECTED DRAWING: Figure 2

Description

本発明は、情報処理装置、方法及びプログラムに関する。   The present invention relates to an information processing device, method and program.

仮想通貨(暗号通貨ともいう)取引では、マルウェアなどによる取引記録の改ざんにより、仮想通貨の盗難などの不正流出事件が社会問題化している。このような仮想通貨の不正流出を防ぐため、利用者は仮想通貨をどのように保管するかに苦心している。仮想通貨の保管とは、実際には秘密鍵を管理することと同義である。秘密鍵は、いわゆる「ウォレット」で管理される。   In virtual currency (also called cryptocurrency) transactions, fraudulent leakage cases such as theft of virtual currency have become a social problem due to falsification of transaction records by malware. To prevent such illegal leakage of virtual currency, users are struggling with how to store virtual currency. Virtual currency storage is actually synonymous with managing a private key. The private key is managed by a so-called "wallet".

ウォレットの種類としては、ウェブウォレット、ソフトウェアウォレット、ハードウェアウォレット、ペーパーウォレットなどがある。ウェブウォレットは、サーバ上にあるウェブサービスを利用してサーバ上で秘密鍵を管理する。ソフトウェアウォレットは、スマートフォンやパーソナルコンピュータ(PC)のハードディスク(HDD:Hard Disc Drive)などの記憶領域に秘密鍵を記憶する。ウェブウォレットおよびソフトウェアウォレットは、どちらもコンピュータ内で秘密鍵を記憶するため、当該コンピュータがマルウェアに感染することによる秘密鍵の流出の危険性またはハッキングによる秘密鍵の漏えいの危険性がある。   Types of wallets include web wallets, software wallets, hardware wallets, and paper wallets. The web wallet uses a web service on the server to manage the private key on the server. The software wallet stores a secret key in a storage area such as a hard disk (HDD: Hard Disc Drive) of a smartphone or a personal computer (PC). Since both the web wallet and the software wallet store the private key in the computer, there is a risk of leaking the private key due to infection of the computer with malware or leakage of the private key due to hacking.

一方、ペーパーウォレットは、紙等の物理媒体に秘密鍵を記載して保管する。ペーパーウォレットはネットワークから物理的に切り離されているため、ネットワークを介した流出の危険性はないが、その分仮想通貨の利用時に処理が煩雑となり、利便性が悪い。さらに、ペーパーウォレット自体の保管場所に注意する必要があり、紛失した場合には復元することができない。   On the other hand, a paper wallet stores a private key on a physical medium such as paper. Since the paper wallet is physically separated from the network, there is no danger of leaking through the network, but the processing becomes complicated when using virtual currency, which is inconvenient. Furthermore, it is necessary to pay attention to the storage location of the paper wallet itself, and if it is lost, it cannot be restored.

そこで、流出の危険性及び仮想通貨利用時の利便性を考慮して、「ハードウェアウォレット」を利用する利用者が増加している。ハードウェアウォレットは、仮想通貨の秘密鍵を保管するドングル型の専用装置であり、スマートフォンまたはPCとは別体に構成され、専用装置をPCにUSB(Universal Serial Bus)接続することで使用可能となる。ハードウェアウォレットは、ソフトウェアウォレットと比較して秘密鍵をネットワークから物理的に切り離して保管できるため、安全であるといわれている。また、ハードウェアウォレットは、専用装置自体で、取引データ(トランザクション)にデジタル署名できるため、ペーパーウォレットと比較して利便性も高い。   Therefore, the number of users who use the "hardware wallet" is increasing in consideration of the risk of leakage and the convenience of using the virtual currency. The hardware wallet is a dongle-type dedicated device that stores the secret key of virtual currency, and is configured separately from the smartphone or PC. It can be used by connecting the dedicated device to the PC via USB (Universal Serial Bus). Become. The hardware wallet is said to be safe because the private key can be physically separated from the network and stored as compared with the software wallet. Further, since the hardware wallet can digitally sign transaction data (transaction) with the dedicated device itself, it is more convenient than a paper wallet.

特開2017−207860号公報JP, 2017-207860, A

しかし、安全であると言われていたハードウェアウォレットもマルウェアによる被害が報告されており、PCからソフトウェアを介して生成されたトランザクションがマルウェアにより書き換えられるという事例がある。具体的には、利用者が本来送金したかった送信先アドレスが、マルウェアにより攻撃者のアドレスに書き換えられ、利用者が意図しない不正なトランザクションが生成される。利用者は、ハードウェアウォレットに表示される送信先アドレスの確認を怠ると、不正なトランザクションに対し秘密鍵を用いてデジタル署名を付与してしまい、デジタル署名が付与された不正なトランザクションがネットワーク上に送信される。不正なトランザクションが認証されてしまうと、利用者から攻撃者の口座に仮想通貨が送金され、結果として仮想通貨が盗難される恐れがある。   However, damage to the hardware wallet, which was said to be safe, has also been reported, and there are cases where transactions generated from a PC via software are rewritten by the malware. Specifically, the destination address that the user originally wanted to remit is rewritten by the address of the attacker by the malware, and an unauthorized transaction not intended by the user is generated. If the user neglects to confirm the destination address displayed on the hardware wallet, he / she will use a private key to give a digital signature to an unauthorized transaction, and the unauthorized transaction with the digital signature will be sent on the network. Sent to. If a fraudulent transaction is authenticated, the user may send virtual currency to the attacker's account, and as a result, the virtual currency may be stolen.

本発明は、上述した事情を考慮してなされたものであり、取引の安全性をより高めることができる情報処理装置、方法及びプログラムを提供することを目的とする。   The present invention has been made in consideration of the above circumstances, and an object of the present invention is to provide an information processing device, method, and program capable of further improving the security of transactions.

上述の課題を解決するため、本実施形態に係る情報処理装置は端末に搭載され、アクセス制御手段と、署名手段とを含む。アクセス制御手段は、前記端末のオペレーティングシステム上で動作するソフトウェアによりトランザクションが生成された場合、当該トランザクションを生成したソフトウェアが公認されたソフトウェアであるか否かを判定し、前記トランザクションを生成したソフトウェアが公認されたソフトウェアであると判定された場合に限り、前記端末のセキュアエレメントにアクセスさせることで、マルウェアの介在による不正なトランザクションへの署名を防止させる。署名手段は、前記アクセス制御手段によるアクセスを契機として、前記端末のセキュアエレメントに格納される秘密鍵を用いて前記トランザクションに対するデジタル署名の付与処理を、前記セキュアエレメント内で実行する。   In order to solve the above problems, the information processing apparatus according to the present embodiment is installed in a terminal and includes an access control unit and a signature unit. When a transaction is generated by software operating on the operating system of the terminal, the access control unit determines whether the software that generated the transaction is authorized software, and the software that generated the transaction is Only when it is determined that the software is authorized software, the secure element of the terminal is accessed to prevent the illegal transaction from being signed by the intervention of malware. The signing unit, when triggered by the access by the access control unit, executes a process of assigning a digital signature to the transaction using the secret key stored in the secure element of the terminal in the secure element.

本発明の情報処理装置、方法及びプログラムによれば、取引の安全性をより向上させることができる。   According to the information processing device, method, and program of the present invention, it is possible to further improve transaction safety.

本実施形態に係る情報処理装置を含む取引システムを示す概念図。The conceptual diagram which shows the transaction system containing the information processing apparatus which concerns on this embodiment. 本実施形態に係る情報処理装置を示すブロック図。The block diagram which shows the information processing apparatus which concerns on this embodiment. 本実施形態に係るウォレットアプリ(仮想通貨利用ソフトウェア)のインストール処理及びアクティベート処理(仮想通貨口座の新規開設処理)の一例を示すシーケンス図。The sequence diagram which shows an example of the installation process and activation process (virtual currency account new opening process) of the wallet application (virtual currency utilization software) which concerns on this embodiment. 本実施形態に係る公認ウォレットアプリを用いて仮想通貨口座を開設する場合の一例を示すシーケンス図。The sequence diagram which shows an example at the time of opening a virtual currency account using the authorized wallet application which concerns on this embodiment. 本実施形態に係る公認ウォレットアプリを用いて仮想通貨の取引を行う場合の一例を示すシーケンス図。The sequence diagram which shows an example at the time of trading virtual currency using the authorized wallet application which concerns on this embodiment. 公認ウォレットアプリではないウォレットアプリにより、仮想通貨口座の開設または仮想通貨の取引を行う場合の一例を示すシーケンス図。The sequence diagram which shows an example at the time of opening a virtual currency account or performing a transaction of virtual currency by a wallet application which is not an official wallet application. 本実施形態に係る公認ウォレットアプリの検証処理の詳細を示すフローチャート。The flowchart which shows the detail of the verification process of the authorized wallet application which concerns on this embodiment. 本実施形態に係る提示部によるメッセージの表示例を示す図。The figure which shows the example of a display of the message by the presentation part which concerns on this embodiment. 本実施形態に係る情報処理装置の装置構成例を示すブロック図。FIG. 3 is a block diagram showing a device configuration example of the information processing device according to the embodiment.

以下、図面を参照しながら本発明の実施形態に係る情報処理装置、方法及びプログラムについて詳細に説明する。なお、以下の実施形態中では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。   Hereinafter, an information processing apparatus, a method, and a program according to an embodiment of the present invention will be described in detail with reference to the drawings. In addition, in the following embodiments, the same operation is performed for the parts having the same numbers, and the overlapping description will be omitted.

本実施形態に係る情報処理装置による仮想通貨(暗号通貨ともいう)の取引システムについて図1を参照して説明する。本実施形態では、取引に用いる仮想通貨としてビットコイン(登録商標)を想定する。なお、ビットコインに限らず、秘密鍵を格納して当該秘密鍵によりデジタル署名を行う他の仮想通貨、つまりオルトコイン(altcoin)の取引でもよい。または、イーサリアム(Ethereum)などを用いたスマートコントラクト(契約と当該契約の履行との関係)を用いる取引など秘密鍵の保管が必要となるシステムであれば、本実施形態に係る情報処理装置を同様に適用できる。   A transaction system for virtual currencies (also called cryptocurrencies) by the information processing apparatus according to the present embodiment will be described with reference to FIG. In this embodiment, Bitcoin (registered trademark) is assumed as the virtual currency used for transactions. The transaction is not limited to bitcoin, and may be transaction of other virtual currency that stores a secret key and digitally signs with the secret key, that is, altcoin. Alternatively, if the system requires storage of a secret key such as a transaction using a smart contract (relationship between contract and fulfillment of the contract) using Ethereum or the like, the information processing apparatus according to the present embodiment is the same. Applicable to

図1に示す取引システム1では、本実施形態に係る情報処理装置を含む端末10及び端末30とブロックチェーンネットワーク20とを含む。図1は、ユーザが操作する端末10から送金先である端末30へブロックチェーンネットワーク20を介して仮想通貨を送金する例を示す。   The transaction system 1 shown in FIG. 1 includes a terminal 10 and a terminal 30 including the information processing apparatus according to this embodiment, and a block chain network 20. FIG. 1 shows an example in which virtual currency is remitted from a terminal 10 operated by a user to a terminal 30 which is a remittance destination via a block chain network 20.

なお、端末10と端末30とは同様の構成を有するため、以下では端末10を例に説明する。また、説明の便宜上、端末10および端末30とブロックチェーンネットワーク20とを区別して記載しているが、端末10および端末30もブロックチェーンネットワーク20の一部を形成する。   Since the terminal 10 and the terminal 30 have the same configuration, the terminal 10 will be described below as an example. Further, for convenience of description, the terminal 10 and the terminal 30 are described separately from the block chain network 20, but the terminal 10 and the terminal 30 also form a part of the block chain network 20.

端末10は、SIM(Subscriber Identity Module)を含む通信端末であり、例えばフィーチャーフォン、スマートフォン等の携帯電話、タブレット端末、タブレットPCなどを想定する。端末10は、本実施形態に係る情報処理装置100を含む。   The terminal 10 is a communication terminal including a SIM (Subscriber Identity Module), and is assumed to be, for example, a feature phone, a mobile phone such as a smartphone, a tablet terminal, or a tablet PC. The terminal 10 includes the information processing device 100 according to the present embodiment.

ブロックチェーンネットワーク20は、ブロックチェーン技術を用いるP2P(Peer to Peer)ネットワークであり、ネットワークに参加する通信媒体21それぞれがノードとして相互に繋がっている。P2Pネットワークは、中央集権型のネットワークと異なり、サーバおよび階層構造はなく、基本的に全てのノードがサービスの処理に関する負荷を分担するように「フラット」な状態で接続される。ブロックチェーンネットワーク20に参加する通信媒体21は、スマートフォンなどの携帯電話、タブレットPC、ノートPCおよびデスクトップPCなど、ネットワークを介して通信可能な様々な通信媒体である。このような通信媒体21により、P2P形式のネットワークが構築される。各通信媒体21は、これまでの仮想通貨の取引に関するトランザクションが取り込まれた公開台帳25を有する。   The block chain network 20 is a P2P (Peer to Peer) network using the block chain technology, and the communication media 21 participating in the network are connected to each other as nodes. Unlike a centralized network, a P2P network does not have a server and a hierarchical structure, and basically all nodes are connected in a “flat” state so as to share the load related to service processing. Communication media 21 that participate in the blockchain network 20 are various communication media capable of communicating via a network, such as mobile phones such as smartphones, tablet PCs, notebook PCs, and desktop PCs. With such a communication medium 21, a P2P format network is constructed. Each communication medium 21 has a public ledger 25 in which transactions regarding virtual currency transactions up to now are captured.

各公開台帳25は、ブロックチェーン技術で用いられる、これまでのビットコインの取引が記録されたデータである。各公開台帳25は、プルーフオブワークの仕組みにより新たにトランザクションがブロックとして取り込まれ、各公開台帳25にて共有される。なお、本実施形態で想定するブロックチェーン技術は、一般的なビットコインの取引において用いられる処理を想定するため、ここでの説明は省略する。   Each public ledger 25 is data used in the blockchain technology, in which the past bitcoin transactions are recorded. Transactions are newly captured as blocks in each public ledger 25 by the proof of work mechanism, and are shared by each public ledger 25. The block chain technology assumed in this embodiment assumes a process used in a general Bitcoin transaction, and thus the description thereof is omitted here.

次に、本実施形態に係る情報処理装置100について図2のブロック図を参照して説明する。
本実施形態に係る情報処理装置100は、端末10のアーキテクチャである、セキュアエレメント領域120、オペレーティングシステム(OS)領域140およびアプリケーション領域160の各領域間で相互に協働して実現されることを想定する。
本実施形態に係る情報処理装置100は、アクセス制御部101と、格納部102と、署名部103と、提示部104と、送信部105と、生成部106とを含む。
Next, the information processing apparatus 100 according to the present embodiment will be described with reference to the block diagram of FIG.
The information processing apparatus 100 according to the present embodiment is realized by mutual cooperation among the secure element area 120, the operating system (OS) area 140, and the application area 160, which are the architectures of the terminal 10. Suppose.
The information processing device 100 according to the present embodiment includes an access control unit 101, a storage unit 102, a signature unit 103, a presentation unit 104, a transmission unit 105, and a generation unit 106.

セキュアエレメント領域120は、例えばSIM、USIM(Universal SIM)、eSIM(embedded SIM)のような耐タンパー性を有したハードウェアであるセキュアエレメントに含まれるソフトウェア領域である。セキュアエレメント領域120には、格納部102と、署名部103と、生成部106とが含まれる。   The secure element area 120 is a software area included in a secure element that is tamper-resistant hardware such as SIM, USIM (Universal SIM), and eSIM (embedded SIM). The secure element area 120 includes a storage unit 102, a signature unit 103, and a generation unit 106.

OS領域140は、システムを動作させるための一般的なOSが動作する領域であり、本実施形態では、例えば、アンドロイド(登録商標)OSが動作する場合を想定する。OS領域140には、アクセス制御部101が含まれる。   The OS area 140 is an area in which a general OS for operating the system operates, and in the present embodiment, for example, it is assumed that an Android (registered trademark) OS operates. The OS area 140 includes the access control unit 101.

アプリケーション領域160は、OSの機能を介して、ユーザが利用するソフトウェア(アンドロイドアプリなどのアプリケーション)が動作する領域である。本実施形態では、仮想通貨を利用するためのソフトウェアであるウォレットアプリが、アプリケーション領域160で動作すると想定する。アプリケーション領域160には、提示部104と、送信部105とが含まれる。   The application area 160 is an area in which software (application such as android application) used by the user operates via the function of the OS. In the present embodiment, it is assumed that a wallet application, which is software for using virtual currency, operates in the application area 160. The application area 160 includes a presentation unit 104 and a transmission unit 105.

なお、アクセス制御部101と、署名部103と、提示部104と、送信部105と、生成部106とは、1つの処理回路により実現されてもよい。または、アクセス制御部101、提示部104および送信部105が1つの処理回路により実現され、署名部103および生成部106が別の処理回路により実現されてもよい。さらには、各部(アクセス制御部101、署名部103、提示部104、送信部105および生成部106)は、特定用途向け処理回路(ASIC:Application Specific Integrated Circuit)、フィールドプログラマブルゲートアレイ(FPGA:Field Programmable Gate Array)等によって、それぞれ構成されてもよい。   The access control unit 101, the signature unit 103, the presentation unit 104, the transmission unit 105, and the generation unit 106 may be realized by one processing circuit. Alternatively, the access control unit 101, the presentation unit 104, and the transmission unit 105 may be realized by one processing circuit, and the signature unit 103 and the generation unit 106 may be realized by another processing circuit. Furthermore, each unit (access control unit 101, signature unit 103, presentation unit 104, transmission unit 105, and generation unit 106) includes an application-specific integrated circuit (ASIC) and a field programmable gate array (FPGA: Field). Programmable Gate Array) or the like.

アクセス制御部101は、端末10のOS上で動作するソフトウェアによりトランザクションが生成された場合、当該トランザクションを生成したソフトウェアを検証し、当該ソフトウェアが認証局で公認されたソフトウェアであるかどうかを判定する。トランザクションは、仮想通貨の取引に関する取引データであり、具体的には、仮想通貨のアドレス、仮想通貨の送金額などが含まれる。アクセス制御部101は、トランザクションを生成したソフトウェアが公認されたソフトウェアであると判定した場合、セキュアエレメント領域120にアクセスする。例えば、アクセス制御部101は、セキュアエレメントに対して、トランザクションにデジタル署名を付与する指示を与える。
一方、トランザクションを生成したソフトウェアが公認されたソフトウェアでない場合、アクセス制御部101は、セキュアエレメントへのアクセスおよびデジタル署名の付与といった、当該トランザクションに関する処理を中止する。
When a transaction is generated by the software operating on the OS of the terminal 10, the access control unit 101 verifies the software that generated the transaction and determines whether the software is authorized by the certificate authority. . A transaction is transaction data relating to a transaction of virtual currency, and specifically, includes an address of virtual currency, a transfer amount of virtual currency, and the like. When the access control unit 101 determines that the software that generated the transaction is authorized software, the access control unit 101 accesses the secure element area 120. For example, the access control unit 101 gives the secure element an instruction to add a digital signature to a transaction.
On the other hand, if the software that generated the transaction is not authorized software, the access control unit 101 stops the processing related to the transaction, such as accessing the secure element and adding a digital signature.

格納部102は、セキュアエレメント内に署名検証鍵と秘密鍵とを格納する。署名検証鍵は、トランザクションを生成するソフトウェアが信頼できるソフトウェアであるか否かを検証するための鍵である。秘密鍵は、生成部106により仮想通貨の口座を開設したときに生成され、仮想通貨の取引を可能とするための鍵である。すなわち、情報処理装置100は、セキュアエレメントを秘密鍵のウォレットとして用いることを想定する。   The storage unit 102 stores the signature verification key and the secret key in the secure element. The signature verification key is a key for verifying whether the software that generates the transaction is reliable software. The secret key is a key that is generated by the generation unit 106 when the virtual currency account is opened, and is a key for enabling the transaction of the virtual currency. That is, the information processing apparatus 100 is assumed to use the secure element as a wallet of a secret key.

署名部103は、アクセス制御部101による検証により、トランザクションを生成したソフトウェアが公認されたソフトウェアであると判定した場合、セキュアエレメント領域120の格納部102に格納される秘密鍵を用いて、当該トランザクションに対しデジタル署名を付与する。   If the signature unit 103 verifies by the access control unit 101 that the software that generated the transaction is authorized software, the signature unit 103 uses the private key stored in the storage unit 102 of the secure element area 120 to perform the transaction. A digital signature is given to.

提示部104は、デジタル署名が付与されたトランザクションに関する内容を、例えば端末10のディスプレイに提示する。   The presentation unit 104 presents, for example, the display of the terminal 10 with the content related to the transaction with the digital signature.

送信部105は、デジタル署名が付与されたトランザクションをブロックチェーンネットワーク20にブロードキャスト送信する。
生成部106は、仮想通貨の口座を開設したときに、秘密鍵と公開鍵とのペアを生成する。
The transmitting unit 105 broadcasts the transaction with the digital signature to the block chain network 20.
The generation unit 106 generates a pair of a private key and a public key when opening a virtual currency account.

なお、上述するアーキテクチャに限らず、少なくとも秘密鍵がセキュアエレメント領域120内の格納部102に格納されており、アクセス制御部101により認証された場合のみ格納部102の秘密鍵にアクセス可能とする構成であれば、各部がアーキテクチャ構成のうちのどの領域に存在してもよい。   Not limited to the architecture described above, at least the private key is stored in the storage unit 102 in the secure element area 120, and the private key in the storage unit 102 can be accessed only when the access control unit 101 authenticates the private key. If so, each part may exist in any area of the architectural configuration.

次に、本実施形態に係る情報処理装置100を用いることで利用可能となる仮想通貨のウォレットアプリ(仮想通貨利用ソフトウェア)のインストール処理、及びアクティベート処理(仮想通貨口座の開設処理)ついて、図3および図4のシーケンス図を参照して説明する。   Next, the installation process and the activation process (virtual currency account opening process) of the virtual currency wallet application (software for using virtual currency) that can be used by using the information processing apparatus 100 according to the present embodiment will be described with reference to FIG. Also, description will be made with reference to the sequence diagram of FIG.

図3は、ソフトウェア認証局50と端末10との間のやりとりを時系列で示すシーケンス図である。端末10については、より詳細に、セキュアエレメント領域120およびアプリケーション領域160での処理を時系列で示す。
ソフトウェア認証局は、提出されたソフトウェアに対し、信頼性を証明するデジタル証明書を発行する機関である。
FIG. 3 is a sequence diagram showing the communication between the software certification authority 50 and the terminal 10 in time series. Regarding the terminal 10, the processing in the secure element area 120 and the application area 160 will be shown in more detail in time series.
A software certificate authority is an organization that issues digital certificates that prove the authenticity of submitted software.

本実施形態に係る情報処理装置100を含む端末10は、アンドロイドOS(登録商標)を用いる通信端末である。   The terminal 10 including the information processing device 100 according to the present embodiment is a communication terminal that uses an Android OS (registered trademark).

ステップS301では、ソフトウェア認証局50が、ウォレットアプリの認証を行う。具体的には、ソフトウェア認証局50は、提出されたウォレットアプリが、不正なアプリかどうか及び悪意のあるプログラムが組み込まれているかどうかを、端末10で当該ウォレットアプリが利用される前に認証する。なお、ソフトウェア認証局50での認証は一般的な手法が適用されればよいため、ここでの詳細な説明は省略する。   In step S301, the software certification authority 50 authenticates the wallet application. Specifically, the software certificate authority 50 authenticates whether the submitted wallet application is an unauthorized application and whether a malicious program is installed before the wallet application is used on the terminal 10. . It should be noted that since a general method may be applied to the authentication by the software certificate authority 50, detailed description thereof will be omitted here.

ステップS302では、ソフトウェア認証局50でウォレットアプリが不正なアプリでは無く、悪意のあるプログラムも組み込まれておらず、問題ないと認証されれば、ウォレットアプリを公認した証拠として、ソフトウェア認証局50よりウォレットアプリにコード署名が施される。その後、ウォレットアプリが端末10でダウンロード可能となるように、ウェブ上に、例えばGoogle Play(登録商標)上に公開される。なお、公認されたウォレットアプリ(正規のウォレットアプリ)を公認ウォレットアプリと呼ぶ。   In step S302, if the wallet application is not an unauthorized application and no malicious program is installed in the software certification authority 50, and if there is no problem, then the software certification authority 50 confirms that the wallet application is authorized. The wallet app is code-signed. After that, the wallet application is published on the web, for example, on Google Play (registered trademark) so that the wallet application can be downloaded on the terminal 10. The official wallet app (regular wallet app) is called an official wallet app.

ステップS303では、端末10が、ソフトウェア認証局50から公認ウォレットアプリをダウンロードする。このとき、公認ウォレットアプリに施されたコード署名を検証するためのコード署名検証鍵も併せてダウンロードする。コード署名検証鍵は、ここでは公開鍵暗号方式の公開鍵を想定する。   In step S303, the terminal 10 downloads the official wallet application from the software certification authority 50. At this time, the code signature verification key for verifying the code signature applied to the official wallet application is also downloaded. Here, the code signature verification key is assumed to be a public key of public key cryptosystem.

ステップS304では、端末10が、公認ウォレットアプリをインストールする。
ステップS305では、ウォレットアプリが端末10にインストールされると、セキュアエレメント領域120の格納部102が、アプリケーション領域160よりコード署名検証鍵を受け取って格納する。公認ウォレットアプリのインストールが完了すると、公認ウォレットアプリがアプリケーション領域160で動作可能となる。
In step S304, the terminal 10 installs the official wallet application.
In step S305, when the wallet application is installed in the terminal 10, the storage unit 102 of the secure element area 120 receives the code signature verification key from the application area 160 and stores it. When the installation of the official wallet application is completed, the official wallet application can operate in the application area 160.

以上の処理により、端末10で公認ウォレットアプリが動作可能な状態となるが、公認ウォレットアプリに対応する仮想通貨の口座を所有していない場合、仮想通貨の受け取り及び仮想通貨の送信を行うことができないため、新規に口座を開設する必要がある。   By the above processing, the authorized wallet application becomes operable on the terminal 10. However, if the virtual currency account corresponding to the authorized wallet application is not owned, the virtual currency can be received and the virtual currency can be transmitted. You can't do that, so you need to open a new account.

続いて、ウォレットアプリを用いて端末10で仮想通貨口座を開設する場合について図4のシーケンスを参照して説明する。   Next, a case of opening a virtual currency account on the terminal 10 using the wallet application will be described with reference to the sequence of FIG.

ステップS401では、アプリケーション領域160における公認ウォレットアプリが、ユーザの操作に応じて仮想通貨口座の生成指示を示すトランザクションを生成する。
ステップS402では、OS領域140におけるアクセス制御部101が、公認ウォレットアプリからトランザクションを受け取る。アクセス制御部101は、セキュアエレメント領域120に格納されたコード署名検証鍵を用いて、トランザクションを生成したウォレットアプリを検証する。これは、本実施形態に係る情報処理装置100では、公認ウォレットアプリであるか非公認のウォレットアプリであるかは前もって分からないため、どのウォレットアプリに対しても検証処理をする必要があるからである。
In step S401, the authorized wallet application in the application area 160 creates a transaction indicating a virtual currency account creation instruction in response to a user operation.
In step S402, the access control unit 101 in the OS area 140 receives the transaction from the authorized wallet application. The access control unit 101 uses the code signature verification key stored in the secure element area 120 to verify the wallet application that generated the transaction. This is because the information processing apparatus 100 according to the present embodiment does not know in advance whether it is a certified wallet application or a non-certified wallet application, and therefore it is necessary to perform verification processing on any wallet application. is there.

具体的には、トランザクションを生成したウォレットアプリが公認ウォレットアプリであるか否かを判定する。詳細な検証方法については、図6を参照して後述する。図4では、検証の結果、トランザクションを生成したウォレットアプリが公認ウォレットアプリであると判定される。公認ウォレットアプリにより生成されたトランザクションは、正規なトランザクションである。(図4、検証結果OK)。   Specifically, it is determined whether the wallet application that generated the transaction is an authorized wallet application. The detailed verification method will be described later with reference to FIG. In FIG. 4, as a result of the verification, the wallet application that generated the transaction is determined to be an authorized wallet application. The transaction generated by the authorized wallet app is a legitimate transaction. (FIG. 4, verification result OK).

ステップS403では、セキュアエレメント領域120における生成部106が、アクセス制御部101から正規なトランザクションである旨の通知を受け取り、秘密鍵および公開鍵のペアを生成する。
ステップS404では、セキュアエレメント領域120における格納部102が、ステップS403で生成された秘密鍵を格納する。
In step S403, the generation unit 106 in the secure element area 120 receives the notification that the transaction is a legitimate transaction from the access control unit 101, and generates a private key / public key pair.
In step S404, the storage unit 102 in the secure element area 120 stores the secret key generated in step S403.

ステップS405では、アプリケーション領域160における公認ウォレットアプリが、セキュアエレメント領域120から公開鍵を受け取る。これにより、公開鍵を用いて仮想通貨アドレスを生成でき、仮想通貨の取引が可能となる。以上により、公認ウォレットアプリのインストール処理及びアクティベート処理を終了する。   In step S405, the authorized wallet application in the application area 160 receives the public key from the secure element area 120. Thereby, the virtual currency address can be generated using the public key, and the virtual currency can be traded. With the above, the installation process and the activation process of the authorized wallet application are completed.

なお、本実施形態では、ビットコイン1種類のためのウォレットを想定して説明するが、他の仮想通貨についても同様に口座を開設し、1つのウォレットで管理できる。具体的には、生成部106が、仮想通貨ごとに公開鍵および秘密鍵のペアを生成し、格納部102が、仮想通貨ごとに区別して秘密鍵を格納すればよい。   In the present embodiment, a wallet for one type of bitcoin will be described, but other virtual currencies can be similarly opened and managed by one wallet. Specifically, the generation unit 106 may generate a pair of a public key and a secret key for each virtual currency, and the storage unit 102 may store the secret key separately for each virtual currency.

次に、公認ウォレットアプリを用いて仮想通貨の取引を行う場合のシーケンスについて図5を参照して説明する。ここでは、端末10から他の端末30の口座宛てに仮想通貨を送金する場合を想定する。   Next, a sequence for trading virtual currency using the official wallet application will be described with reference to FIG. Here, it is assumed that the virtual currency is remitted from the terminal 10 to the account of another terminal 30.

ステップS501では、ユーザが公認ウォレットアプリを介して、仮想通貨の送金に関するトランザクションを生成する。
ステップS502では、OS領域140におけるアクセス制御部101が、公認ウォレットアプリからトランザクションを受け取る。アクセス制御部101が、セキュアエレメント領域120に格納されたコード署名検証鍵を用いて、トランザクションを生成したウォレットアプリを検証する。ここでは検証の結果、トランザクションを生成したウォレットアプリが公認ウォレットアプリであると判定される。図4の場合と同様に、ステップS501で生成されたトランザクションは、正規なトランザクションである(図5、検証結果OK)。
In step S501, the user creates a transaction related to remittance of virtual currency via the authorized wallet application.
In step S502, the access control unit 101 in the OS area 140 receives a transaction from the authorized wallet application. The access control unit 101 verifies the wallet application that generated the transaction using the code signature verification key stored in the secure element area 120. Here, as a result of the verification, the wallet application that generated the transaction is determined to be an authorized wallet application. Similar to the case of FIG. 4, the transaction generated in step S501 is a regular transaction (FIG. 5, verification result OK).

ステップS503では、セキュアエレメント領域120における署名部103が、アクセス制御部101からトランザクションを受け取る。署名部103は、トランザクションに対して格納部102に記憶される秘密鍵でデジタル署名を施す。   In step S503, the signature unit 103 in the secure element area 120 receives the transaction from the access control unit 101. The signature unit 103 digitally signs the transaction with the private key stored in the storage unit 102.

ステップS504では、アプリケーション領域160における提示部104が、セキュアエレメント領域120からデジタル署名されたトランザクションを受け取る。提示部104は、デジタル署名されたトランザクションに関する内容をディスプレイに表示させる。ユーザは、端末10のディスプレイに表示されたトランザクションの内容を確認し、内容に問題が無ければ承認を実行する。承認の実行は、例えばユーザが確認ボタンをタッチまたは押下したり、ユーザが「OK」と発声することにより音声認識処理により承認を取得したりするなど、ユーザからのアクションを取得する一般的な手法を用いればよい。   In step S504, the presentation unit 104 in the application area 160 receives the digitally signed transaction from the secure element area 120. The presentation unit 104 causes the display to display the content related to the digitally signed transaction. The user confirms the content of the transaction displayed on the display of the terminal 10, and if there is no problem in the content, executes the approval. The execution of the approval is a general method of acquiring an action from the user, for example, the user touches or presses a confirmation button, or the user utters "OK" to acquire the approval by voice recognition processing. Can be used.

ステップS505では、アプリケーション領域160における送信部105が、署名済みトランザクションをブロックチェーンネットワーク20にブロードキャスト送信する。 なお、ブロックチェーンネットワーク20では、当該トランザクションがブロックに取り込まれ、公開台帳のブロックに追加されることで取引が成立する。なお、ブロックチェーンネットワークにおけるトランザクションの処理は、一般的なビットコインにおけるトランザクション処理であるので、ここでの説明は省略する。   In step S505, the transmission unit 105 in the application area 160 broadcasts the signed transaction to the block chain network 20. In the blockchain network 20, the transaction is completed by taking the transaction into a block and adding it to the block of the public ledger. The transaction processing in the block chain network is a general transaction processing in Bitcoin, and thus the description thereof is omitted here.

一方、公認ウォレットアプリではないウォレットアプリにより、仮想通貨口座の開設または仮想通貨の取引を行う場合のシーケンスについて図6を参照して説明する。
ステップS601では、ユーザがウォレットアプリを介して、仮想通貨口座の開設または仮想通貨の送金に関するトランザクションを生成する。
ステップS602では、OS領域140におけるアクセス制御部101が、公認ウォレットアプリからトランザクションを受け取る。アクセス制御部101が、セキュアエレメント領域120に格納されたコード署名検証鍵を用いて、トランザクションを生成したウォレットアプリを検証する。ここでは、検証の結果、トランザクションを生成したウォレットアプリが公認ウォレットアプリではないと判定される(図6、検証結果NG)。
On the other hand, a sequence when a virtual currency account is opened or virtual currency is traded by a wallet application which is not an authorized wallet application will be described with reference to FIG.
In step S601, the user generates a transaction related to opening a virtual currency account or sending virtual currency through the wallet application.
In step S602, the access control unit 101 in the OS area 140 receives a transaction from the authorized wallet application. The access control unit 101 verifies the wallet application that generated the transaction using the code signature verification key stored in the secure element area 120. Here, as a result of the verification, it is determined that the wallet application that generated the transaction is not the official wallet application (FIG. 6, verification result NG).

ステップS603では、OS領域140におけるアクセス制御部101が、ステップS601で生成されたトランザクションが、公認ウォレットアプリにより生成されたトランザクションではないため、改ざんされた可能性があるものとして、当該トランザクションの処理を中止する。
ステップS604では、必要に応じて、アプリケーション領域160における提示部104が、トランザクションの処理を中止したことを示すメッセージをユーザに提示する。
In step S603, since the transaction generated in step S601 is not a transaction generated by the authorized wallet application, the access control unit 101 in the OS area 140 determines that the transaction may have been tampered with and processes the transaction. Discontinue.
In step S604, the presentation unit 104 in the application area 160 presents a message indicating that the processing of the transaction has been stopped to the user as necessary.

次に、ステップS402、ステップS502およびステップS602における、アクセス制御部101によるウォレットアプリの検証処理の詳細について、図7のフローチャートを参照して説明する。   Next, details of the wallet application verification processing by the access control unit 101 in steps S402, S502, and S602 will be described with reference to the flowchart in FIG. 7.

ステップS701では、アクセス制御部101が、ウォレットアプリに付与されたコード署名、すなわちソフトウェア認証局の秘密鍵で暗号化されたハッシュ値情報と、コードを取得する。
ステップS702では、アクセス制御部101が、記憶部からコード署名検証鍵を抽出し、暗号化されたハッシュ値情報をコード署名検証鍵で復号し、復号済みハッシュ値を生成する。
In step S701, the access control unit 101 obtains the code signature given to the wallet application, that is, the hash value information encrypted with the secret key of the software certification authority, and the code.
In step S702, the access control unit 101 extracts the code signature verification key from the storage unit, decrypts the encrypted hash value information with the code signature verification key, and generates a decrypted hash value.

ステップS703では、アクセス制御部101が、ステップS701で受け取ったコードからハッシュ関数を用いてハッシュ値を生成する。
ステップS704では、アクセス制御部101が、復号済みハッシュ値と、ステップS503で生成したハッシュ値とを比較して、同一であるか否かを判定する。同一であれば、ステップS705に進み、同一でなければ、ステップS706に進む。
In step S703, the access control unit 101 generates a hash value using the hash function from the code received in step S701.
In step S704, the access control unit 101 compares the decrypted hash value with the hash value generated in step S503 to determine whether they are the same. If they are the same, the process proceeds to step S705, and if they are not the same, the process proceeds to step S706.

ステップS705では、ハッシュ値が同一であるので、ウォレットアプリは公認ウォレットアプリであると判定され、公認ウォレットアプリにより生成されたトランザクションは、正規なトランザクションである。
ステップS706では、アクセス制御部101が、ウォレットアプリは公認ウォレットアプリではない非公認のウォレットアプリであり、非公認のウォレットアプリで生成されたトランザクションは信頼できず、マルウェアにより改ざんされた可能性があると認定できる。
In step S705, since the hash values are the same, it is determined that the wallet application is an authorized wallet application, and the transaction generated by the authorized wallet application is a regular transaction.
In step S706, the access control unit 101 determines that the wallet application is an unofficial wallet application that is not an official wallet application, and the transaction generated by the unofficial wallet application is unreliable and may have been tampered with by malware. Can be certified.

なお、ステップS707に示すように、改ざんされたトランザクションの可能性があると判定された場合、提示部104が、ディスプレイなどに改ざんの可能性がある旨のメッセージを画面に表示してもよい。または、画面表示に代えて、音声案内またはアラート音により改ざんの可能性がある旨のメッセージを通知してもよい。画面表示と音声とを組み合わせてメッセージを通知してもよい。   As shown in step S707, when it is determined that there is a possibility that the transaction has been tampered with, the presentation unit 104 may display a message indicating that there is the possibility of tampering on the display or the like. Alternatively, instead of the screen display, a message indicating that there is a possibility of falsification may be notified by voice guidance or an alert sound. The message may be notified by combining screen display and voice.

提示部104によるメッセージの表示例について図8に示す。
図8は、端末のディスプレイにおける表示画面801の一例である。トランザクションの処理を中止したことを示す文面及び確認画面を提示する。
A display example of a message by the presentation unit 104 is shown in FIG.
FIG. 8 is an example of a display screen 801 on the display of the terminal. Present the text and confirmation screen indicating that the transaction processing has been cancelled.

また、ディスプレイにトランザクションに関する内容を表示する前に、当該内容を表示させるウォレットアプリが公認ウォレットアプリであるか否かが検証されてもよい。具体的には、アクセス制御部101が、トランザクションに関する内容を表示するウォレットアプリが公認ウォレットアプリか否かを、コード署名検証鍵を用いて検証する。公認ウォレットアプリであると判定されれば、デジタル署名が付与されたトランザクションに関する内容を表示する。   Further, before displaying the content related to the transaction on the display, it may be verified whether or not the wallet application for displaying the content is an authorized wallet application. Specifically, the access control unit 101 verifies whether or not the wallet application that displays the content related to the transaction is an authorized wallet application using the code signature verification key. If it is determined that the application is an authorized wallet application, the content related to the transaction with the digital signature is displayed.

一方、公認ウォレットアプリではないと判定されれば、表示される内容がデジタル署名が付与されたトランザクションに関する内容ではない可能性もあるため、当該トランザクションに関する内容の表示を中止する。   On the other hand, if it is determined that the application is not an authorized wallet application, the displayed content may not be the content related to the transaction to which the digital signature is added, so the display of the content related to the transaction is stopped.

また、アクセス制御部101は、前記提示手段により提示予定のトランザクションに関する内容が、デジタル署名が付与されたトランザクションに関する内容であるか否かを検証してもよい。   Further, the access control unit 101 may verify whether or not the content regarding the transaction to be presented by the presenting means is the content regarding the transaction to which the digital signature is added.

また、トランザクションに対しデジタル署名を行う段階で、よりセキュリティ強度を向上させるため、ユーザに既存のバイオ認証を要求してもよい。バイオ認証としては、例えば、指紋認証、顔認証、虹彩認証、静脈認証、声紋認証、耳介認証が挙げられる。   In addition, in order to further enhance the security strength at the stage of digitally signing a transaction, the user may be required to have an existing bio-authentication. Examples of biometrics include fingerprint authentication, face authentication, iris authentication, vein authentication, voiceprint authentication, and auricle authentication.

次に、本実施形態に係る情報処理装置100の装置構成例について図9のブロック図を参照して説明する。
情報処理装置100を単体で構成する場合を想定すると、情報処理装置100は、セキュアエレメント910と、第1の処理回路920とを含む。セキュアエレメント910は、メモリ911と、第2の処理回路912とを含む。
第1の処理回路920は、例えば、CPU(Central Processing Unit)であり、オペレーティングシステム上で動作するソフトウェアを実行してトランザクションを生成し、トランザクションの生成を契機として、ソフトウェアが公認されたソフトウェアであるか否かを判定する。なお、第1の処理回路920は、CPUに限らず、ASIC(application specific integrated circuit)、FPGA(Field Programmable gate array)等の集積回路で構成されてもよい。
メモリ911は、例えば、RAM(Random Access Memory)、DRAM(Dynamic RAM)、SRAM(Static RAM)であり、仮想通貨の利用に関する秘密鍵を格納する。
第2の処理回路912は、例えば、ASICやFPGAであり、ソフトウェアが公認されたソフトウェアであると判定された場合、秘密鍵を用いてトランザクションにデジタル署名を付与する。
Next, a device configuration example of the information processing device 100 according to the present embodiment will be described with reference to the block diagram of FIG. 9.
Assuming that the information processing device 100 is configured as a single device, the information processing device 100 includes a secure element 910 and a first processing circuit 920. The secure element 910 includes a memory 911 and a second processing circuit 912.
The first processing circuit 920 is, for example, a CPU (Central Processing Unit), executes software that runs on an operating system to generate a transaction, and is software whose software is officially triggered by the generation of the transaction. Or not. The first processing circuit 920 is not limited to the CPU, and may be configured by an integrated circuit such as an ASIC (application specific integrated circuit) and an FPGA (Field Programmable gate array).
The memory 911 is, for example, a RAM (Random Access Memory), a DRAM (Dynamic RAM), or an SRAM (Static RAM), and stores a secret key regarding the use of virtual currency.
The second processing circuit 912 is, for example, an ASIC or an FPGA, and when it is determined that the software is authorized software, the second processing circuit 912 adds a digital signature to the transaction using the private key.

以上に示した本実施形態によれば、ソフトウェア認証局に認可されたソフトウェアウォレットにより生成されたトランザクションのみに対し、セキュアエレメントのウォレットに格納される秘密鍵を用いてデジタル署名するため、マルウェアを含む非公認のソフトウェア、または改ざんされたトランザクションには、デジタル署名を付与する前の段階で処理を中止することができる。   According to the present embodiment described above, since only the transaction generated by the software wallet authorized by the software certificate authority is digitally signed using the private key stored in the wallet of the secure element, malware is included. Unauthorized software, or tampered transactions, can be discontinued before they are digitally signed.

よって、PCがマルウェアに感染してトランザクションが書き換えられることによる、ドングル型のハードウェアウォレットで生じるようなトランザクションの誤承認の可能性をなくすことができる。さらに、本実施形態に係る情報処理装置は、ドングルなどの別体の専用装置を用いる必要が無く、携帯端末のみで実装することができる。これにより、利便性を大幅に向上させることができる。   Therefore, it is possible to eliminate the possibility of wrongly recognizing a transaction that occurs in a dongle-type hardware wallet due to a PC being infected with malware and the transaction being rewritten. Furthermore, the information processing device according to the present embodiment does not need to use a separate dedicated device such as a dongle, and can be implemented only by a mobile terminal. This can greatly improve convenience.

また、既存のハードウェアウォレットでは、USB接続するドングルの表示部にトランザクションに関する内容が表示される。ドングルの表示部は、PCのディスプレイと比較して小さく視認性が大きく劣るため、ユーザの誤読、見落としなどにより送金先、送金額などの送金内容が改ざんされていても、ユーザが気づかずに送信してしまう可能性もある。一方、本実施形態に係る情報処理装置によれば、トランザクションの生成時と同様に、デジタル署名が付与されたトランザクションの内容が表示される際も、検証を実行することで、正規なトランザクションの内容のみが表示され、不正な内容は表示されないため、ユーザは安心して取引を実行することができる。   Further, in the existing hardware wallet, the contents regarding the transaction are displayed on the display part of the dongle connected by USB. Since the display part of the dongle is smaller and less visible than the display of a PC, even if the remittance contents such as the remittance destination and the remittance amount have been tampered with due to the user's misreading or oversight, the dongle sends without notice. There is also the possibility of doing it. On the other hand, according to the information processing apparatus according to the present embodiment, even when the content of the transaction to which the digital signature is added is displayed, the verification is executed to make the content of the regular transaction similar to the case of generating the transaction. Only the displayed contents are displayed, and the illegal contents are not displayed, so that the user can execute the transaction with peace of mind.

上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した情報処理装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RW、Blu−ray(登録商標)Discなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の情報処理装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
The instructions shown in the processing procedures shown in the above-described embodiments can be executed based on a program that is software. A general-purpose computer system may store the program in advance and read the program to obtain the same effect as the above-described information processing apparatus. The instructions described in the above embodiments are magnetic disks (flexible disks, hard disks, etc.), optical disks (CD-ROM, CD-R, CD-RW, DVD-ROM, DVD) as programs that can be executed by a computer. ± R, DVD ± RW, Blu-ray (registered trademark) Disc, etc.), a semiconductor memory, or a recording medium similar thereto. The storage format may be any form as long as it is a recording medium readable by a computer or an embedded system. The computer can realize the same operation as the information processing apparatus according to the above-described embodiments by reading the program from the recording medium and causing the CPU to execute the instruction described in the program based on the program. Of course, when the computer acquires or reads the program, it may be acquired or read via a network.
Further, an OS (operating system) running on a computer, database management software, MW (middleware) such as a network, etc., which realizes the present embodiment, based on an instruction of a program installed in a computer or an embedded system from a recording medium. You may perform a part of each process for doing.
Further, the recording medium in the present embodiment is not limited to a medium independent of a computer or an embedded system, but includes a recording medium in which a program transmitted via a LAN, the Internet or the like is downloaded and stored or temporarily stored.
Further, the number of recording media is not limited to one, and when the processing in this embodiment is executed from a plurality of media, it is included in the recording media in this embodiment, and the structure of the medium may be any structure.

なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
The computer or the embedded system according to the present embodiment is for executing each process according to the present embodiment based on a program stored in a recording medium. The device may have any configuration such as a network-connected system.
Further, the computer in the present embodiment is not limited to a personal computer, and also includes an arithmetic processing unit, a microcomputer, and the like included in information processing equipment, and is a generic term for equipment and devices that can realize the functions in the present embodiment by a program. ing.

なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。   The invention of the present application is not limited to the above-described embodiment, and can be variously modified at the stage of implementation without departing from the spirit of the invention. In addition, the respective embodiments may be combined as appropriate as much as possible, in which case the combined effects can be obtained. Further, the embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements.

10,30…端末、20…ブロックチェーンネットワーク、21…通信媒体、25…公開台帳、50…ソフトウェア認証局、100…情報処理装置、101…アクセス制御部、102…格納部、103…署名部、104…提示部、105…送信部、106…生成部、120…セキュアエレメント領域、140…オペレーティングシステム領域(OS領域)、160…アプリケーション領域、701…表示画面、910…セキュアエレメント、920…第1の処理回路、911…メモリ、912…第2の処理回路。 10, 30 ... Terminal, 20 ... Block chain network, 21 ... Communication medium, 25 ... Public ledger, 50 ... Software certificate authority, 100 ... Information processing apparatus, 101 ... Access control section, 102 ... Storage section, 103 ... Signature section, 104 ... Presentation unit, 105 ... Transmission unit, 106 ... Generation unit, 120 ... Secure element area, 140 ... Operating system area (OS area), 160 ... Application area, 701 ... Display screen, 910 ... Secure element, 920 ... First Processing circuit, 911 ... Memory, 912 ... Second processing circuit.

Claims (12)

端末に搭載される情報処理装置であって、
前記端末のオペレーティングシステム上で動作するソフトウェアによりトランザクションが生成された場合、当該トランザクションを生成したソフトウェアが公認されたソフトウェアであるか否かを判定し、前記トランザクションを生成したソフトウェアが公認されたソフトウェアであると判定された場合に限り、前記端末のセキュアエレメントにアクセスさせることで、マルウェアの介在による不正なトランザクションへの署名を防止させるアクセス制御手段と、
前記アクセス制御手段によるアクセスを契機として、前記端末のセキュアエレメントに格納される秘密鍵を用いて前記トランザクションに対するデジタル署名の付与処理を、前記セキュアエレメント内で実行する署名手段と、
を具備する情報処理装置。
An information processing device mounted on a terminal,
When a transaction is generated by software operating on the operating system of the terminal, it is determined whether the software that generated the transaction is certified software, and the software that generated the transaction is certified software. Only when it is determined that there is access control means for preventing unauthorized transaction signing by the intervention of malware by accessing the secure element of the terminal,
A signature unit that executes, in the secure element, a process of assigning a digital signature to the transaction using a secret key stored in a secure element of the terminal, triggered by an access by the access control unit.
An information processing apparatus comprising:
前記アクセス制御手段は、前記トランザクションを生成したソフトウェアが公認されたソフトウェアでないと判定された場合、当該トランザクションの処理を中止する請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the access control unit suspends processing of the transaction when it is determined that the software that generated the transaction is not authorized software. 前記セキュアエレメント内に、認証局により公認されたソフトウェアに関する署名検証鍵を格納する格納手段をさらに具備し、
前記アクセス制御手段は、前記ソフトウェアに付与されたデジタル署名を前記署名検証鍵を用いて検証することで、前記トランザクションを生成したソフトウェアが公認されたソフトウェアであるか否かを判定する請求項1または請求項2に記載の情報処理装置。
The secure element further comprises storage means for storing a signature verification key for software certified by a certificate authority,
The access control unit determines whether or not the software that generated the transaction is authorized software by verifying a digital signature attached to the software using the signature verification key. The information processing apparatus according to claim 2.
前記トランザクションに関する内容をユーザに提示する提示手段をさらに具備し、
前記アクセス制御手段は、前記デジタル署名が付与されたトランザクションに関する内容を表示するソフトウェアが、前記公認されたソフトウェアであるか否かを判定する請求項1から請求項3のいずれか1項に記載の情報処理装置。
Further comprising presenting means for presenting the contents of the transaction to the user,
The said access control means determines whether the software which displays the content regarding the transaction with which the said digital signature was added is the said authorized software, The statement of any one of Claim 1 to Claim 3. Information processing equipment.
前記デジタル署名が付与されたトランザクションを、ブロックチェーン技術を用いるP2P(Peer to Peer)ネットワークにブロードキャスト送信する送信手段をさらに具備する請求項1から請求項4のいずれか1項に記載の情報処理装置。   The information processing apparatus according to any one of claims 1 to 4, further comprising a transmitting unit that broadcast-transmits the transaction with the digital signature to a P2P (Peer to Peer) network using a blockchain technology. . 公開鍵および秘密鍵のペアを生成する生成手段をさらに具備し、
前記格納手段は、前記秘密鍵を格納する請求項3に記載の情報処理装置。
Further comprising generation means for generating a public key and private key pair,
The information processing apparatus according to claim 3, wherein the storage unit stores the secret key.
前記公開鍵および前記秘密鍵のペアは、仮想通貨ごとに生成される請求項6に記載の情報処理装置。   The information processing apparatus according to claim 6, wherein the pair of the public key and the secret key is generated for each virtual currency. 前記生成手段は、前記トランザクションが仮想通貨に関する口座開設指示である場合に、前記公開鍵および前記秘密鍵のペアを作成し、
作成された前記公開鍵は、前記公認されたソフトウェアで利用される、請求項6または請求項7に記載の情報処理装置。
The generating means creates a pair of the public key and the private key when the transaction is an account opening instruction regarding virtual currency,
The information processing device according to claim 6 or 7, wherein the created public key is used by the authorized software.
前記トランザクションは、仮想通貨の取引に関する指示である請求項1から請求項7のいずれか1項に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the transaction is an instruction regarding a transaction of virtual currency. 端末のオペレーティングシステム上で動作するソフトウェアによりトランザクションが生成された場合、当該トランザクションを生成したソフトウェアが公認されたソフトウェアであるか否かを判定し、前記トランザクションを生成したソフトウェアが公認されたソフトウェアであると判定された場合に限り、前記端末のセキュアエレメントにアクセスさせることで、マルウェアの介在による不正なトランザクションへの署名を防止させ、
前記セキュアエレメントへのアクセスを契機として、前記端末のセキュアエレメントに格納される秘密鍵を用いて前記トランザクションに対するデジタル署名の付与処理を、前記セキュアエレメント内で実行する、情報処理方法。
When a transaction is generated by software operating on the terminal operating system, it is determined whether the software that generated the transaction is authorized software, and the software that generated the transaction is authorized software. Only when it is determined that the secure element of the terminal is accessed to prevent the signature of an unauthorized transaction by the intervention of malware,
An information processing method, wherein, when triggered by an access to the secure element, a process of assigning a digital signature to the transaction is executed in the secure element using a secret key stored in the secure element of the terminal.
コンピュータに、
端末のオペレーティングシステム上で動作するソフトウェアによりトランザクションが生成された場合、当該トランザクションを生成したソフトウェアが公認されたソフトウェアであるか否かを判定し、前記トランザクションを生成したソフトウェアが公認されたソフトウェアであると判定された場合に限り、前記端末のセキュアエレメントにアクセスさせることで、マルウェアの介在による不正なトランザクションへの署名を防止させるアクセス制御機能と、
前記アクセス制御機能によるアクセスを契機として、前記端末のセキュアエレメントに格納される秘密鍵を用いて前記トランザクションに対するデジタル署名の付与処理を、前記セキュアエレメント内で実行する署名機能と、
を実現させる情報処理プログラム。
On the computer,
When a transaction is generated by software operating on the terminal operating system, it is determined whether the software that generated the transaction is authorized software, and the software that generated the transaction is authorized software. Only when it is determined, by accessing the secure element of the terminal, an access control function to prevent the signature of an unauthorized transaction due to the intervention of malware,
A signature function for executing, in the secure element, a process of assigning a digital signature to the transaction using a secret key stored in the secure element of the terminal, triggered by an access by the access control function,
An information processing program that realizes
端末のオペレーティングシステム上で動作するソフトウェアによりトランザクションを生成し、前記トランザクションの生成を契機として、当該トランザクションを生成したソフトウェアが公認されたソフトウェアであるか否かを判定し、前記トランザクションを生成したソフトウェアが公認されたソフトウェアであると判定された場合に限り、前記端末のセキュアエレメントにアクセスさせることで、マルウェアの介在による不正なトランザクションへの署名を防止させる第1の処理回路と、
秘密鍵を格納するメモリと第2の処理回路とを含むセキュアエレメントと、を具備し、
前記第2の処理回路は、前記第1の処理回路によるアクセスを契機として、前記秘密鍵を用いて前記トランザクションに対するデジタル署名の付与処理を、前記セキュアエレメント内で実行する、情報処理装置。
A transaction is generated by software operating on the operating system of the terminal, and when the transaction is generated, it is determined whether the software that generated the transaction is authorized software, and the software that generated the transaction is A first processing circuit for preventing a false transaction from being signed by the intervention of malware by accessing the secure element of the terminal only when it is determined that the software is authorized.
A secure element including a memory for storing a secret key and a second processing circuit;
The information processing apparatus, wherein the second processing circuit executes, in the secure element, a process of assigning a digital signature to the transaction using the secret key, triggered by an access by the first processing circuit.
JP2019056664A 2019-03-25 2019-03-25 Information processing apparatus, method and program Active JP6650543B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019056664A JP6650543B1 (en) 2019-03-25 2019-03-25 Information processing apparatus, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019056664A JP6650543B1 (en) 2019-03-25 2019-03-25 Information processing apparatus, method and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018190158A Division JP6522842B1 (en) 2018-10-05 2018-10-05 INFORMATION PROCESSING APPARATUS, METHOD, AND PROGRAM

Publications (2)

Publication Number Publication Date
JP6650543B1 JP6650543B1 (en) 2020-02-19
JP2020061727A true JP2020061727A (en) 2020-04-16

Family

ID=69568288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019056664A Active JP6650543B1 (en) 2019-03-25 2019-03-25 Information processing apparatus, method and program

Country Status (1)

Country Link
JP (1) JP6650543B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11816661B2 (en) * 2021-03-17 2023-11-14 International Business Machines Corporation Centralized digital currency transactions utilizing a digital wallet

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006197127A (en) * 2005-01-12 2006-07-27 Ntt Docomo Inc Communication device, digital signature verifying method, and digital signature generating method
JP2008522470A (en) * 2004-11-25 2008-06-26 フランス テレコム Method for protecting a communication terminal connected with a terminal user identification information module
US20100223475A1 (en) * 2009-02-27 2010-09-02 Research In Motion Limited Low-level code signing mechanism
US20130159719A1 (en) * 2011-12-19 2013-06-20 Kt Corporation Apparatus and method for signing application
US20130218775A1 (en) * 2012-02-22 2013-08-22 Oberthur Technologies Method and secure device for performing a transaction
US20140040147A1 (en) * 2012-08-06 2014-02-06 Ca, Inc. Secure and convenient mobile authentication techniques
JP2014164585A (en) * 2013-02-26 2014-09-08 Nippon Telegr & Teleph Corp <Ntt> Service providing system, service providing method, data compilation device, and program
US20150262137A1 (en) * 2014-03-17 2015-09-17 Coinbase, Inc. Off-block chain transactions in combination with on-block chain transactions
WO2017022121A1 (en) * 2015-08-06 2017-02-09 三菱電機株式会社 Authentication device, authentication system, and authentication method

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008522470A (en) * 2004-11-25 2008-06-26 フランス テレコム Method for protecting a communication terminal connected with a terminal user identification information module
JP2006197127A (en) * 2005-01-12 2006-07-27 Ntt Docomo Inc Communication device, digital signature verifying method, and digital signature generating method
US20100223475A1 (en) * 2009-02-27 2010-09-02 Research In Motion Limited Low-level code signing mechanism
US20130159719A1 (en) * 2011-12-19 2013-06-20 Kt Corporation Apparatus and method for signing application
US20130218775A1 (en) * 2012-02-22 2013-08-22 Oberthur Technologies Method and secure device for performing a transaction
US20140040147A1 (en) * 2012-08-06 2014-02-06 Ca, Inc. Secure and convenient mobile authentication techniques
JP2014164585A (en) * 2013-02-26 2014-09-08 Nippon Telegr & Teleph Corp <Ntt> Service providing system, service providing method, data compilation device, and program
US20150262137A1 (en) * 2014-03-17 2015-09-17 Coinbase, Inc. Off-block chain transactions in combination with on-block chain transactions
WO2017022121A1 (en) * 2015-08-06 2017-02-09 三菱電機株式会社 Authentication device, authentication system, and authentication method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Part3 防御 隔離・復旧・無毒化で被害を食い止める", NIKKEI BYTE, vol. 第267号, JPN6019026502, 22 July 2005 (2005-07-22), JP, pages 40 - 45, ISSN: 0004127300 *
渡邊大喜 他: "ブロックチェーン基盤技術とその課題", 電子情報通信学会技術研究報告, vol. 第117巻 第114号, JPN6019001364, 29 June 2017 (2017-06-29), pages 21 - 26, ISSN: 0004127299 *

Also Published As

Publication number Publication date
JP6650543B1 (en) 2020-02-19

Similar Documents

Publication Publication Date Title
JP7030981B2 (en) Asset management methods and equipment, and electronic devices
CN109951489B (en) Digital identity authentication method, equipment, device, system and storage medium
CN111429254B (en) Business data processing method and device and readable storage medium
TWI714843B (en) Methods for access control of contract data in a distributed system with distributed consensus and contract generator and validation server thereof
JP6543040B2 (en) System and method for remote access, remote digital signature
US9998438B2 (en) Verifying the security of a remote server
WO2020192406A1 (en) Method and apparatus for data storage and verification
KR20210041404A (en) Electronic device and method for blockchain address management thereof
WO2017084013A1 (en) Transaction authentication method, device, mobile terminal, pos terminal and server
CA3058240C (en) Cryptographic key management based on identity information
US20210250179A1 (en) Information processing apparatus, method and program
CN111404696B (en) Collaborative signature method, security service middleware, related platform and system
CA3045378A1 (en) Dynamic management and implementation of consent and permissioning protocols using container-based applications
JP2016520230A (en) Secure approval system and method
KR20170040122A (en) Enhanced security for registration of authentication devices
JP2004508619A (en) Trusted device
CN108335105B (en) Data processing method and related equipment
CN114631286A (en) Encrypted asset hosting system with custom logic
JP7412725B2 (en) Authentication method and authentication device
US20210241270A1 (en) System and method of blockchain transaction verification
US20150188916A1 (en) Vpn connection authentication system, user terminal, authentication server, biometric authentication result evidence information verification server, vpn connection server, and computer program product
WO2020186457A1 (en) Authentication method and apparatus for ip camera
US20180218364A1 (en) Managing distributed content using layered permissions
JP6650543B1 (en) Information processing apparatus, method and program
WO2023122633A1 (en) Verified presentation of non-fungible tokens

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190325

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190325

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190410

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20190411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20190411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190905

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191008

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191209

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: 20191224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200120

R150 Certificate of patent or registration of utility model

Ref document number: 6650543

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313114

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250