JP7808022B2 - Authentication device, authentication method, and authentication program - Google Patents
Authentication device, authentication method, and authentication programInfo
- Publication number
- JP7808022B2 JP7808022B2 JP2022209860A JP2022209860A JP7808022B2 JP 7808022 B2 JP7808022 B2 JP 7808022B2 JP 2022209860 A JP2022209860 A JP 2022209860A JP 2022209860 A JP2022209860 A JP 2022209860A JP 7808022 B2 JP7808022 B2 JP 7808022B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- data
- encryption
- function
- encrypted data
- 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
Links
Landscapes
- Storage Device Security (AREA)
Description
本発明は、端末で実行されるプログラムにより生成された通信データを保護し、その正当性を認証するシステムに関する。 The present invention relates to a system that protects communication data generated by a program executed on a terminal and authenticates its authenticity.
従来、インターネットを介したサービスを提供するにあたり、オンラインの不正行為への対策が不可欠となっている。例えば、非特許文献1において、不正利用の可能性があるアカウントに対して電話又は電子メールによる検証等の追加チェックを行う認証システムが紹介されている。 Conventionally, measures to prevent online fraudulent activities have become essential when providing services via the Internet. For example, Non-Patent Document 1 introduces an authentication system that performs additional checks, such as verification by phone or email, on accounts that may be subject to fraudulent use.
サーバからクライアント端末へプログラムを配布する際に、このプログラムを保護する方策は、知的財産保護や不正攻撃対策として重要になっている。この際に、プログラムが出力するデータを暗号化することによりデータの改竄等の不正を抑制し、サーバにおいて正しく復号可能であることをもって、データの正当性を認証する対策が考えられる。 When distributing programs from a server to a client terminal, measures to protect these programs are important for protecting intellectual property and preventing unauthorized attacks. In this case, one possible measure is to encrypt the data output by the program to prevent unauthorized data tampering and other such fraud, and to authenticate the legitimacy of the data by verifying that it can be correctly decrypted on the server.
しかしながら、仮にプログラム中の暗号化処理部分が発見されると、この処理が上書きされることにより不正データに置き換えられるリスクが存在していた。したがって、プログラム構造の解読を難しくする難読化も行われるが、その効果は限定的であった。 However, if the encryption processing part of the program were discovered, there was a risk that this processing would be overwritten and replaced with malicious data. Therefore, obfuscation is used to make the program structure more difficult to decipher, but its effectiveness is limited.
本発明は、暗号化処理を実施するプログラム構造の難読化強度を高め、出力される通信データを不正から保護できる認証システムを提供することを目的とする。 The present invention aims to provide an authentication system that can increase the obfuscation strength of the program structure that performs encryption processing and protect output communication data from fraud.
本発明に係る認証装置は、入力されたデータを暗号化し、所定の順番で割り当てられた記憶領域に格納するための複数の暗号化関数を生成する関数生成部と、出力順が固定された複数の暗号化対象データに対して、当該出力順に対応した順番の暗号化関数を呼び出すように複数のプログラム部品を構成する部品構成部と、前記記憶領域に格納された暗号データを前記所定の順番で出力するプログラムを生成するプログラム生成部と、生成された前記プログラムをユーザの端末に配信するプログラム配信部と、前記端末から前記プログラムにより出力された暗号データを受信すると、前記暗号化関数に対応する復号アルゴリズムにより、前記暗号データを復号するデータ復号部と、を備え、前記データ復号部により復号できたことによって前記暗号データの正当性を認証したうえで、復号されたデータを取得する。 The authentication device of the present invention comprises a function generation unit that generates multiple encryption functions for encrypting input data and storing it in an allocated memory area in a predetermined order; a component configuration unit that configures multiple program components to call encryption functions in an order corresponding to the output order of multiple pieces of encryption target data whose output order is fixed; a program generation unit that generates a program that outputs the encrypted data stored in the memory area in the predetermined order; a program distribution unit that distributes the generated program to a user's terminal; and a data decryption unit that, upon receiving encrypted data output by the program from the terminal, decrypts the encrypted data using a decryption algorithm corresponding to the encryption functions. The authenticity of the encrypted data is authenticated based on the success of the data decryption unit, and the decrypted data is then obtained.
前記プログラム生成部は、前記複数のプログラム部品の実行順をランダムに置き換えてもよい。 The program generation unit may randomly change the execution order of the plurality of program parts.
前記プログラム生成部は、前記複数の暗号化関数を含む関数群の名称をランダムな値に置き換えてもよい。 The program generation unit may replace the name of the function group including the multiple encryption functions with a random value.
前記関数生成部は、前記複数の暗号化関数に対して、複数の暗号方式を混在させてもよい。 The function generation unit may mix multiple encryption methods for the multiple encryption functions.
本発明に係る認証方法は、入力されたデータを暗号化し、所定の順番で割り当てられた記憶領域に格納するための複数の暗号化関数を生成する関数生成ステップと、出力順が固定された複数の暗号化対象データに対して、当該出力順に対応した順番の暗号化関数を呼び出すように複数のプログラム部品を構成する部品構成ステップと、前記記憶領域に格納された暗号データを前記所定の順番で出力するプログラムを生成するプログラム生成ステップと、生成された前記プログラムをユーザの端末に配信するプログラム配信ステップと、前記端末から前記プログラムにより出力された暗号データを受信すると、前記暗号化関数に対応する復号アルゴリズムにより、前記暗号データを復号するデータ復号ステップと、をコンピュータが実行し、前記データ復号ステップにおいて復号できたことによって、前記コンピュータが前記暗号データの正当性を認証したうえで、復号されたデータを取得する。 The authentication method of the present invention includes a function generation step of generating multiple encryption functions for encrypting input data and storing it in allocated memory areas in a predetermined order; a component configuration step of configuring multiple program components so that, for multiple pieces of encryption target data whose output order is fixed, encryption functions are called in an order corresponding to the output order; a program generation step of generating a program that outputs the encrypted data stored in the memory area in the predetermined order; a program distribution step of distributing the generated program to a user's terminal; and a data decryption step of, upon receiving encrypted data output by the program from the terminal, decrypting the encrypted data using a decryption algorithm corresponding to the encryption functions. If the encrypted data is successfully decrypted in the data decryption step, the computer authenticates the authenticity of the encrypted data and obtains the decrypted data.
本発明に係る認証プログラムは、前記認証装置としてコンピュータを機能させるためのものである。 The authentication program of the present invention causes a computer to function as the authentication device.
本発明によれば、暗号化処理を実施するプログラム構造の難読化強度を高め、出力される通信データを不正から保護できる。 This invention increases the obfuscation strength of the program structure that performs the encryption process, thereby protecting output communication data from fraud.
以下、本発明の実施形態の一例について説明する。
本実施形態の認証システムは、認証装置から端末に提供するプログラムの暗号化処理部分を難読化して、暗号化処理の書き換えを防ぐことにより、このプログラムにより生成された正常な通信データであることを認証し、暗号化通信を行う。
An example of an embodiment of the present invention will be described below.
The authentication system of this embodiment obfuscates the encryption processing portion of the program provided from the authentication device to the terminal, preventing the encryption processing from being rewritten, thereby authenticating that the communication data is normal data generated by the program and performing encrypted communication.
図1は、本実施形態における認証システム1の機能構成を示す図である。
認証システム1は、プログラムを提供するサーバ10(認証装置)と、提供されたプログラムを実行してサーバ10と通信する端末20とを備える。
FIG. 1 is a diagram showing the functional configuration of an authentication system 1 according to this embodiment.
The authentication system 1 includes a server 10 (authentication device) that provides a program, and a terminal 20 that executes the provided program and communicates with the server 10 .
端末20は、ユーザが操作し所定のプログラムを実行するパーソナルコンピュータ、タブレット、スマートフォン等の情報処理装置である。
この端末20は、サーバ10から提供されたプログラムを実行することによりサーバ10と通信する際に、出力するデータを、プログラムに組み込まれた暗号化関数により暗号化する。
The terminal 20 is an information processing device such as a personal computer, tablet, or smartphone that is operated by a user and executes a predetermined program.
When the terminal 20 communicates with the server 10 by executing a program provided by the server 10, the terminal 20 encrypts the data to be output using an encryption function incorporated in the program.
サーバ10は、制御部11及び記憶部12の他、各種の入出力インタフェース等を備えた情報処理装置であり、端末20に提供したプログラムが実行されることにより、端末20から受信されるデータの正当性を認証しつつ、暗号化通信を行う。 The server 10 is an information processing device equipped with a control unit 11, a memory unit 12, and various input/output interfaces, etc., and by executing a program provided to the terminal 20, it authenticates the validity of data received from the terminal 20 and performs encrypted communication.
制御部11は、サーバ10の全体を制御する部分であり、記憶部12に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部11は、CPUであってよい。 The control unit 11 controls the entire server 10 and realizes the various functions of this embodiment by appropriately reading and executing various programs stored in the memory unit 12. The control unit 11 may be a CPU.
記憶部12は、ハードウェア群をサーバ10として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。 The memory unit 12 is a storage area for various programs and data that enable the hardware group to function as the server 10, and may be ROM, RAM, flash memory, a hard disk drive (HDD), etc.
制御部11は、関数生成部111と、部品構成部112と、プログラム生成部113と、プログラム配信部114と、データ復号部115とを備える。 The control unit 11 includes a function generation unit 111, a component configuration unit 112, a program generation unit 113, a program distribution unit 114, and a data decoding unit 115.
関数生成部111は、暗号化対象のデータを入力とし、入力されたデータを暗号化して、所定の順番で割り当てられた記憶領域に格納するための複数の暗号化関数enc1()~encN()を生成する。
enc1()~encN()は、それぞれに入力されたデータを暗号化し、その添字の順番にソートして所定の記憶領域に格納する関数である。
なお、これらの暗号化関数が採用する暗号方式は、共通であってよいが、複数の暗号方式が混在してもよい。
The function generation unit 111 receives as input the data to be encrypted, encrypts the input data, and generates a plurality of encryption functions enc1() to encN() for storing the data in allocated storage areas in a predetermined order.
Each of enc1() to encN() is a function that encrypts the input data, sorts it in the order of the subscripts, and stores it in a predetermined storage area.
The encryption methods adopted by these encryption functions may be the same, but a plurality of encryption methods may be mixed.
部品構成部112は、出力順が固定された複数の暗号化対象データに対して、この出力順に対応した順番の暗号化関数を呼び出すように複数のプログラム部品を構成する。 The component configuration unit 112 configures multiple program components so that, for multiple encryption target data whose output order is fixed, encryption functions are called in an order corresponding to this output order.
プログラム生成部113は、プログラム部品によって記憶領域に格納された暗号データを、所定の順番で、すなわち、固定された出力順に正しくソートされて格納されている順番通りに出力するためのプログラムを生成する。 The program generation unit 113 generates a program for outputting the encrypted data stored in the memory area by the program components in a predetermined order, i.e., in the order in which it was stored after being correctly sorted in a fixed output order.
具体的には、部品構成部112は、暗号化したいデータを入力する元プログラムをデータの入力順にa1()~aN()に分割し、それぞれをenc1()~encN()のうち一つ以上を順番通りに用いて生成する。そして、プログラム生成部113は、所定の記憶領域に格納された暗号データを、その順番通りに返す関数encz()を用意し、az()からencz()を呼び出して、最終的に暗号化されたデータを取り出してサーバに送信するように、プログラムを構成する。 Specifically, the component configuration unit 112 divides the original program, which inputs the data to be encrypted, into a1() to aN() in the order in which the data is input, and generates each of them using one or more of enc1() to encN() in that order. The program generation unit 113 then prepares a function encz() that returns the encrypted data stored in a specified memory area in that order, and configures the program so that encz() is called from az(), and the final encrypted data is extracted and sent to the server.
図2は、本実施形態との比較のため、従来のプログラムにおける暗号化処理部分の構成を例示する第1の図である。
通常、暗号化処理は単一の関数が呼び出されることにより実行される。図の例では、プログラムは、一つ以上の関数からデータを受け取る暗号化関数enrypt()と、暗号化されて記憶領域に格納されたデータを返す関数encz()を持っている。
FIG. 2 is a first diagram illustrating the configuration of an encryption processing portion in a conventional program for comparison with this embodiment.
Typically, encryption processing is performed by calling a single function. In the example shown, the program has an encryption function enrypt() that receives data from one or more functions, and a function encz() that returns the encrypted data stored in a memory area.
すなわち、複数の関数a1(),a2(),a3(),a4()がそれぞれ暗号化関数enrypt()を呼び出すことで暗号データE1,E2,E3,E4が記憶領域に、実行順に格納される。そして、関数az()が関数encz()を呼び出すことで、暗号データE1,E2,E3,E4がこの順番で出力される。 In other words, multiple functions a1(), a2(), a3(), and a4() each call the encryption function enrypt(), which stores the encrypted data E1, E2, E3, and E4 in the memory area in the order of execution. Then, function az() calls function encz(), which outputs the encrypted data E1, E2, E3, and E4 in that order.
なお、この例は、ストリーム型でデータを受け取る暗号化プログラムを想定しているが、既に収集されたデータを暗号化して返すプログラムを提供する場合には、この関数群のラッパーとして構築できる。
また、暗号化に用いる鍵データは、事前にプログラムに入力されているものとする。
Note that this example assumes an encryption program that receives data in stream format, but if you want to provide a program that encrypts and returns already collected data, you can build it as a wrapper around this set of functions.
Furthermore, it is assumed that the key data used for encryption has been input into the program in advance.
図3は、本実施形態との比較のため、従来のプログラムにおける暗号化処理部分の構成を例示する第2の図である。
この例は、図2のプログラムに単純な難読化を施し関数名を読みづらくしたものである。ここで、図2の関数enrypt()は、難読化されて関数名から暗号化関数であることが判別しづらくなっているが、プログラム構造的に、記憶領域への出力が全て関数zeurn()を経由していることを、容易に判別することができる。
したがって、攻撃者は、この関数zeurn()を上書き、又はフックして出力データを改変できる場合がある。
FIG. 3 is a second diagram illustrating the configuration of the encryption processing portion in a conventional program for comparison with this embodiment.
In this example, the program in Figure 2 has been subjected to simple obfuscation to make the function names difficult to read. Here, the function enrypt() in Figure 2 has been obfuscated so that it is difficult to tell from the function name that it is an encryption function, but in terms of the program structure, it is easy to tell that all outputs to the memory area go through the function zeurn().
Therefore, an attacker may be able to overwrite or hook this function zeurn() to modify the output data.
また、関数enrypt()は、呼び出し順にデータを暗号化するため、a1()~a4()までの実行順を変更することができないため、プログラムの難読化として行える処理には限界がある。
ここで、enrypt()のようにプログラムの複数個所からの呼び出し、すなわちデータの入力が集中する関数を集中点と呼ぶものとする。
Furthermore, since the function encrypt() encrypts data in the order in which it is called, the execution order of a1() to a4() cannot be changed, and therefore there are limits to the processing that can be performed to obfuscate a program.
Here, a function such as enrypt( ) that is called from multiple places in a program, that is, a function where data input is concentrated, is called a concentration point.
図4は、本実施形態において生成されるプログラムの暗号化処理部分の構成を例示する図である。
enc1(),enc2(),…として提供された複数の関数群は、その実行順に関わらずそれらの添字の順番になるようにデータを並び替えて暗号化し、記憶領域に格納するものである。
また、encz()は、enc1(),enc2(),…により出力されソートされた暗号データ列E1,E2,…を出力するものである。なお、記憶領域には、実際に値が格納されていない部分があってもよく、encz()は、E1,E2,…のうち、実際に格納されている値のみを、その長さ分だけ抽出し出力する。
FIG. 4 is a diagram illustrating the configuration of an encryption processing portion of a program generated in this embodiment.
The functions provided as enc1(), enc2(), ... rearrange and encrypt data in the order of their subscripts regardless of the order in which they are executed, and store the data in a storage area.
Furthermore, encz() outputs the encrypted data strings E1, E2, ... that have been output and sorted by enc1(), enc2(), .... Note that the storage area may contain portions in which no values are actually stored, and encz() extracts and outputs only the values that are actually stored from E1, E2, ... for that length.
このように暗号化処理を含むプログラムを生成することにより、集中点がなくなり難読化されるため、単一の関数を置換することで全入力データを改竄するような攻撃ができなくなる。 By generating a program that includes encryption processing in this way, there are no centralized points and it is obfuscated, making it impossible to launch attacks that tamper with all input data by replacing a single function.
また、プログラム生成部113は、プログラム部品であるa1(),a2(),…の実行順も自由に(ランダムに)変更してもよい。
さらに、プログラム生成部113は、複数の暗号化関数を含む各関数の名称をランダムな値に置き換えてもよい。
The program generating unit 113 may also freely (randomly) change the execution order of the program components a1( ), a2( ), . . .
Furthermore, the program generation unit 113 may replace the name of each function, including the multiple encryption functions, with a random value.
プログラム配信部114は、プログラム生成部113により生成されたプログラムをユーザの端末20に配信する。 The program distribution unit 114 distributes the program generated by the program generation unit 113 to the user's terminal 20.
データ復号部115は、端末20からプログラムにより出力された暗号データを受信すると、暗号化関数に対応する復号アルゴリズムにより、暗号データを復号する。
サーバ10は、データ復号部115により暗号データを復号できたことによって暗号データの正当性を認証したうえで、復号されたデータを取得する。
When the data decryption unit 115 receives the encrypted data output by the program from the terminal 20, it decrypts the encrypted data using a decryption algorithm corresponding to the encryption function.
The server 10 authenticates the authenticity of the encrypted data by the data decryption unit 115 being able to decrypt the encrypted data, and then acquires the decrypted data.
本実施形態によれば、サーバ10は、暗号化関数を複数用意したうえで、各暗号化関数が出力するデータの格納先を固定することにより、所定の順番に暗号データをソートできる。これにより、通常のプログラム中で暗号化処理を担う集中点が無くなり、プログラム構造が難読化されるため、暗号化処理の実行箇所及び手順の解読が難しくなり、書き換えによる不正データの挿入又は再送攻撃といった不正から通信データを保護できる。 According to this embodiment, the server 10 prepares multiple encryption functions and fixes the storage destination for the data output by each encryption function, allowing it to sort encrypted data in a predetermined order. This eliminates the centralized point in a normal program where encryption processing is performed, and obfuscates the program structure, making it difficult to decipher the execution location and procedure of the encryption processing. This protects communication data from fraudulent attacks such as the insertion of fraudulent data through rewriting or retransmission attacks.
ここで、一般的な暗号化プログラムにおいて、その暗号方式が既知である場合には、鍵データを取得することにより、別途用意したプログラムで出力データを復号して元データが得られてしまう。しかしながら、特定用途向けに専用に暗号方式を設計した場合等、暗号方式自体を隠蔽した場合には、出力データ及び鍵データのみから容易には元データに復号できないため、サーバ10は、さらに集中点を置き換える攻撃を抑制することにより、不正リスクを低減できる。 Here, in a typical encryption program, if the encryption method is known, obtaining the key data allows the output data to be decrypted using a separately prepared program to obtain the original data. However, if the encryption method itself is concealed, such as when an encryption method is designed specifically for a specific application, the original data cannot be easily decrypted from the output data and key data alone. Therefore, the server 10 can further reduce the risk of fraud by suppressing attacks that replace the focal point.
また、生成されたプログラムにおいて、プログラム部品の実行順に関わらず出力される暗号データの並び順は変化しないため、複数のプログラム部品を並列化可能となり、処理の効率化が期待できる。 In addition, in the generated program, the order of the encrypted data output does not change regardless of the order in which the program components are executed, making it possible to parallelize multiple program components, which is expected to improve processing efficiency.
さらに、サーバ10は、複数のプログラム部品の実行順をランダムに置き換えて、また、複数の暗号化関数を含む関数群の名称をランダムな値に置き換えてプログラムを生成することにより、プログラム構造をさらに難読化でき、不正リスクを低減できる。 Furthermore, the server 10 can further obfuscate the program structure and reduce the risk of fraud by randomly changing the execution order of multiple program components and replacing the names of function groups containing multiple encryption functions with random values when generating a program.
本実施形態によれば、例えば、不正なデータ通信を抑制できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進すると共に、イノベーションの拡大を図る」に貢献することが可能となる。 According to this embodiment, for example, unauthorized data communications can be suppressed, which can contribute to Goal 9 of the United Nations-led Sustainable Development Goals (SDGs), "Build resilient infrastructure, promote sustainable industrialization and foster innovation."
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。 Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments. Furthermore, the effects described in the above-described embodiments are merely a list of the most favorable effects resulting from the present invention, and the effects of the present invention are not limited to those described in the embodiments.
サーバ10(認証装置)による認証方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。 The authentication method used by the server 10 (authentication device) is implemented by software. When implemented by software, the programs that make up this software are installed on an information processing device (computer). These programs may be recorded on removable media such as CD-ROM and distributed to users, or may be distributed by being downloaded to the user's computer via a network. Furthermore, these programs may be provided to the user's computer as a web service via a network without being downloaded.
1 認証システム
10 サーバ(認証装置)
11 制御部
12 記憶部
20 端末
111 関数生成部
112 部品構成部
113 プログラム生成部
114 プログラム配信部
115 データ復号部
1 Authentication system 10 Server (authentication device)
REFERENCE SIGNS LIST 11 control unit 12 storage unit 20 terminal 111 function generation unit 112 component configuration unit 113 program generation unit 114 program distribution unit 115 data decoding unit
Claims (6)
出力順が固定された複数の暗号化対象データに対して、当該出力順に対応した順番の暗号化関数を呼び出すように複数のプログラム部品を構成する部品構成部と、
前記記憶領域に格納された暗号データを前記所定の順番で出力するプログラムを生成するプログラム生成部と、
生成された前記プログラムをユーザの端末に配信するプログラム配信部と、
前記端末から前記プログラムにより出力された暗号データを受信すると、前記暗号化関数に対応する復号アルゴリズムにより、前記暗号データを復号するデータ復号部と、を備え、
前記データ復号部により復号できたことによって前記暗号データの正当性を認証したうえで、復号されたデータを取得する認証装置。 a function generating unit that generates a plurality of encryption functions for encrypting input data and storing the data in allocated storage areas in a predetermined order;
a component configuration unit that configures a plurality of program components so that encryption functions are called in an order corresponding to a plurality of encryption target data items whose output order is fixed;
a program generating unit that generates a program for outputting the encrypted data stored in the storage area in the predetermined order;
a program distribution unit that distributes the generated program to a user terminal;
a data decryption unit that, upon receiving encrypted data output by the program from the terminal, decrypts the encrypted data using a decryption algorithm corresponding to the encryption function;
an authentication device that authenticates the authenticity of the encrypted data by the data decryption unit being able to decrypt the data, and then acquires the decrypted data;
出力順が固定された複数の暗号化対象データに対して、当該出力順に対応した順番の暗号化関数を呼び出すように複数のプログラム部品を構成する部品構成ステップと、
前記記憶領域に格納された暗号データを前記所定の順番で出力するプログラムを生成するプログラム生成ステップと、
生成された前記プログラムをユーザの端末に配信するプログラム配信ステップと、
前記端末から前記プログラムにより出力された暗号データを受信すると、前記暗号化関数に対応する復号アルゴリズムにより、前記暗号データを復号するデータ復号ステップと、をコンピュータが実行し、
前記データ復号ステップにおいて復号できたことによって、前記コンピュータが前記暗号データの正当性を認証したうえで、復号されたデータを取得する認証方法。 a function generation step of generating a plurality of encryption functions for encrypting input data and storing the encrypted data in allocated storage areas in a predetermined order;
a component configuration step of configuring a plurality of program components so that encryption functions are called in an order corresponding to a plurality of encryption target data items whose output order is fixed;
a program generation step of generating a program that outputs the encrypted data stored in the storage area in the predetermined order;
a program distribution step of distributing the generated program to a user terminal;
a data decryption step of receiving encrypted data output by the program from the terminal and decrypting the encrypted data using a decryption algorithm corresponding to the encryption function;
An authentication method in which the computer authenticates the authenticity of the encrypted data by successfully decrypting the data in the data decryption step, and then acquires the decrypted data.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022209860A JP7808022B2 (en) | 2022-12-27 | 2022-12-27 | Authentication device, authentication method, and authentication program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022209860A JP7808022B2 (en) | 2022-12-27 | 2022-12-27 | Authentication device, authentication method, and authentication program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2024093468A JP2024093468A (en) | 2024-07-09 |
| JP7808022B2 true JP7808022B2 (en) | 2026-01-28 |
Family
ID=91805133
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022209860A Active JP7808022B2 (en) | 2022-12-27 | 2022-12-27 | Authentication device, authentication method, and authentication program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7808022B2 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002190798A (en) | 2000-12-20 | 2002-07-05 | Nec Corp | Ciphering device and deciphering device |
| JP2014103554A (en) | 2012-11-20 | 2014-06-05 | Kddi Corp | Encryption library generation device and program |
| JP2016521875A (en) | 2013-05-20 | 2016-07-25 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | Data protection |
| JP2020522205A (en) | 2017-06-01 | 2020-07-27 | ズワイプ アクティーゼルスカブ | Progressive key encryption algorithm |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018105043A1 (en) * | 2016-12-07 | 2018-06-14 | 大日本印刷株式会社 | Terminal device, program and communication system |
-
2022
- 2022-12-27 JP JP2022209860A patent/JP7808022B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002190798A (en) | 2000-12-20 | 2002-07-05 | Nec Corp | Ciphering device and deciphering device |
| JP2014103554A (en) | 2012-11-20 | 2014-06-05 | Kddi Corp | Encryption library generation device and program |
| JP2016521875A (en) | 2013-05-20 | 2016-07-25 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | Data protection |
| JP2020522205A (en) | 2017-06-01 | 2020-07-27 | ズワイプ アクティーゼルスカブ | Progressive key encryption algorithm |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2024093468A (en) | 2024-07-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11128471B2 (en) | Accessibility controls in distributed data systems | |
| CN100576196C (en) | Content encryption method, system and method for providing content over network using the encryption method | |
| US9621341B2 (en) | Anonymous verifiable public key certificates | |
| JP4764639B2 (en) | File encryption / decryption program, program storage medium | |
| US8051297B2 (en) | Method for binding a security element to a mobile device | |
| CN101965574B (en) | Authentication information generation system, authentication information generation method and a client device | |
| US20100115260A1 (en) | Universal secure token for obfuscation and tamper resistance | |
| US8261360B2 (en) | Content distributing system with dynamic encryption keys | |
| KR102560295B1 (en) | User-protected license | |
| Zou et al. | Phosphor: A cloud based DRM scheme with sim card | |
| US20130173923A1 (en) | Method and system for digital content security cooperation | |
| JP6796861B2 (en) | Application software provision and authentication method and system for that | |
| JP2016012902A (en) | Electronic data utilization system, portable terminal device, and method for electronic data utilization system | |
| CN109640175A (en) | A kind of block chain encipher-decipher method based on video file | |
| JP7808022B2 (en) | Authentication device, authentication method, and authentication program | |
| CN117979051B (en) | Audio anti-counterfeiting method, equipment and medium | |
| CN116071071B (en) | Block chain-based data element transaction method, system, storage medium and equipment | |
| JP2004280401A (en) | Content distribution system, device and program | |
| CN101661573A (en) | Method for producing electronic seal and method for using electronic seal | |
| CA2553081C (en) | A method for binding a security element to a mobile device | |
| CN115967536A (en) | An electronic evidence management method and a blockchain-based electronic evidence management system | |
| JP7808021B2 (en) | Authentication device, authentication method, and authentication program | |
| Dhanasekaran et al. | Payment security mechanism of intelligent mobile terminal | |
| He et al. | EnShare: Sharing files securely and efficiently in the cloud using enclave | |
| JP6165044B2 (en) | User authentication apparatus, system, method and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20241227 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20251031 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20251104 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20251204 |
|
| 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: 20260106 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20260116 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7808022 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |