JP2008028695A - Information leakage prevention method - Google Patents
Information leakage prevention method Download PDFInfo
- Publication number
- JP2008028695A JP2008028695A JP2006198950A JP2006198950A JP2008028695A JP 2008028695 A JP2008028695 A JP 2008028695A JP 2006198950 A JP2006198950 A JP 2006198950A JP 2006198950 A JP2006198950 A JP 2006198950A JP 2008028695 A JP2008028695 A JP 2008028695A
- Authority
- JP
- Japan
- Prior art keywords
- code group
- computer system
- dummy
- eaten
- worm
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
Description
本発明は、情報の漏洩を防止するための技術に関する。 The present invention relates to a technique for preventing leakage of information.
情報の漏洩を防止するための技術として、例えば、特許文献1に開示の技術が知られている。特許文献1では、漏洩防止の対象となる情報は、パスワードである。特許文献1では、例えば、以下の処理がいわゆるクライアントサーバシステムで行われる。
As a technique for preventing information leakage, for example, a technique disclosed in
初回登録の際、サーバが、ユーザから入力された色配列及びパスワードをクライアントから受信し、受信した色配列(例えば“青・黄・赤”)及びパスワード(例えば“12345”)を登録する。色配列は、パスワードの入力順序を表している。具体的には、青が、1番目の桁を意味し、黄が、2番目の桁を意味し、赤が、3番目の桁を意味する。 At the time of initial registration, the server receives the color arrangement and password input from the user from the client, and registers the received color arrangement (for example, “blue / yellow / red”) and the password (for example, “12345”). The color array represents the password input order. Specifically, blue means the first digit, yellow means the second digit, and red means the third digit.
パスワード認証の際、サーバが、色配列“青・赤・黄”をランダムに並び替え、色配列を構成する色数が、パスワードの桁数未満であれば、並び替えられた色配列(例えば“黄・赤・青”)をパスワードの桁数以上の長さになるように連続させ、連続させた色配列(例えば“黄・赤・青”を連続させて“黄・赤・青・黄・赤・青”とすることにより、色数をパスワード桁数5以上にしたもの)を表示する。ユーザは、その表示された色配列群“黄・赤・青・黄・赤・青”と、初回登録時に入力した“青・黄・赤”の順序とに基づいて、正規のパスワードを並び替えたものを入力する。この例において、表示された色配列群“黄・赤・青・黄・赤・青”に従って並び替えたパスワードを正しく入力するならば、“2315□4”となる(□はブランクを意味する)。この並び替えられたパスワードが、クライアントからサーバに送信され、サーバが、その並び替えられたパスワード“2315□4”を、初回登録の際に登録された色配列“青・黄・赤”を基に並び替えることで、パスワード“12345”を得る。 During password authentication, the server randomly rearranges the color array “blue / red / yellow”, and if the number of colors constituting the color array is less than the number of digits of the password, the rearranged color array (for example, “ "Yellow / Red / Blue") is continuous so that it is longer than the number of digits of the password, and a continuous color arrangement (for example, "Yellow / Red / Blue" is repeated to create "Yellow / Red / Blue / Yellow / “Red / Blue” indicates that the number of colors is 5 or more password digits). The user sorts the regular passwords based on the displayed color arrangement group “yellow / red / blue / yellow / red / blue” and the order of “blue / yellow / red” entered at the time of initial registration. Enter the data. In this example, if passwords rearranged according to the displayed color arrangement group “yellow / red / blue / yellow / red / blue” are correctly entered, “2315 □ 4” is obtained (□ means blank). . The rearranged password is transmitted from the client to the server, and the server uses the rearranged password “2315 □ 4” based on the color arrangement “blue / yellow / red” registered at the time of initial registration. The password “12345” is obtained.
例えば、クレジットカード番号(以下、単に「カード番号」と言う)をユーザから預かり、預かったカード番号をユーザの代わりに別のコンピュータシステム(例えば、決済を行うためのコンピュータシステム)に出力するサーバシステム(以下、代行サーバ)の構築が考えられる。この代行サーバにより、ユーザは、カード番号を預けた後、いろいろなサイトでいちいちカード番号を入力しなくてもカード番号を行使する(例えば、クレジットカードで決済する)ことができる。 For example, a server system that deposits a credit card number (hereinafter simply referred to as “card number”) from a user and outputs the deposited card number to another computer system (for example, a computer system for performing payment) instead of the user. (Hereinafter, acting as a proxy server) can be considered. With this proxy server, after depositing the card number, the user can exercise the card number (for example, pay with a credit card) without entering the card number at various sites.
代行サーバとクライアントによるクライアントサーバシステムにおいて、カード番号が漏洩してしまう(不当な第三者にカード番号がわかってしまう)おそれのあるケースとして、以下の2つが考えられる。
(1)クライアントから代行サーバにカード番号を送信中にそのカード番号が盗聴されるケース。
(2)カード番号を保管するストレージがハッキングされるケース。
In the client server system using the proxy server and the client, the following two cases can be considered as cases where the card number may be leaked (the card number may be known by an unauthorized third party).
(1) A case where the card number is wiretapped while the card number is being transmitted from the client to the proxy server.
(2) A case where storage for storing card numbers is hacked.
上述した特許文献1によれば、初回登録の後のパスワード認証では、並び替えたパスワードがユーザに入力されてクライアントからサーバに送信されるので、上記(1)のケースが生じてもパスワードの漏洩を防止できるが、初回登録では、並び替えのされていない正規のパスワードがクライアントからサーバに送信されるので、上記(1)のケースが生じてしまうとパスワードが漏洩するおそれがある。また、上述した特許文献1には、上記(2)のケースを想定した記載は無い。
According to
以上のことから、上記2つのケースが生じてもカード番号の漏洩しない情報漏洩防止技術の実現が望まれる。 From the above, it is desired to realize an information leakage prevention technique in which the card number does not leak even if the above two cases occur.
また、その情報漏洩防止技術の実現の際に、ユーザのユーザビリティをなるべく落とさないようにすることが望ましい。その理由の一つとして、例えば、代行サーバは、いわゆるBtoCで利用されることが多いと考えられ、煩雑な操作をユーザに強いると、誤操作などのミスが生じ易くなるためである。特許文献1の技術によれば、パスワード認証の際、初期登録の際に入力した色配列をユーザが管理或いは記憶していないと正しく並び替えたパスワードを入力することができないので、ユーザビリティの点で良いとは言えない。
Moreover, it is desirable that the usability of the user is not reduced as much as possible when realizing the information leakage prevention technology. One reason for this is that, for example, it is considered that proxy servers are often used in so-called BtoC, and if the user is forced to perform complicated operations, mistakes such as erroneous operations are likely to occur. According to the technique of
また、代行サーバでは、たくさんのユーザからカード番号を預かり、そのたくさんのユーザのカード番号を出力することが考えられる。さらに、一人のユーザが複数枚のクレジットカードを所有し、一ユーザにつきそれら複数枚のクレジットカードのカード番号を登録することを考えると、預かるカード番号の数や処理件数が膨大になると考えられる。これらのことを考慮すると、上記情報漏洩防止技術の実現において、情報漏洩防止のための処理負担をなるべく軽くすることが望ましい。 In the proxy server, it is conceivable to store card numbers from many users and output the card numbers of the many users. Further, considering that one user owns a plurality of credit cards and registers the card numbers of the plurality of credit cards per user, it is considered that the number of card numbers to be kept and the number of processing cases are enormous. Considering these, it is desirable to reduce the processing burden for preventing information leakage as much as possible in realizing the information leakage prevention technology.
以上の点は、漏洩防止の対象となる情報がカード番号である場合に限らず、他種の情報の漏洩を防止する場合にも該当し得る。 The above points can be applied not only to the case where the information targeted for leakage prevention is a card number, but also to the prevention of leakage of other types of information.
従って、本発明の第一の目的は、登録する情報が第一のコンピュータシステムから第二のコンピュータシステムに送信中に盗聴されてもその情報が漏洩してしまうのを防ぐことにある。 Accordingly, a first object of the present invention is to prevent leakage of information to be registered even if the information to be registered is intercepted during transmission from the first computer system to the second computer system.
本発明の第二の目的は、記憶装置から情報が盗み出されてもその情報が漏洩してしまうことを防ぐことにある。 The second object of the present invention is to prevent leakage of information even if the information is stolen from the storage device.
本発明の第三の目的は、情報漏洩防止技術の実現の際にユーザビリティが低下しないようにすることにある。 A third object of the present invention is to prevent usability from being lowered when realizing an information leakage prevention technique.
本発明の第四の目的は、情報漏洩防止のための処理負担を抑えることにある。 A fourth object of the present invention is to suppress the processing burden for preventing information leakage.
本発明に従うコンピュータプログラムは、コード変換ステップと、数値取得ステップと、生成ステップとをコンピュータに実行させることを特徴とする。コード変換ステップでは、ユーザに固有の第一のコード群を所定の規則に従って第二のコード群に変換する。数値取得ステップでは、前記第二のコード群から、漏洩防止対象情報の文字数n(nは2以上の整数)と同数の数値を得る。生成ステップでは、前記取得されたn個の数値からそれぞれ求まる位置に配置されたn個の空白と、それ以外の位置に配置されたダミーコードとから成る虫食いダミーコード群を生成する。前記虫食いダミーコード群は、前記n個の空白に、それぞれ、前記n文字から成る漏洩防止対象情報を入れることにより、前記虫食いダミーコード群とそれに入れられた前記n文字の漏洩防止対象情報とで構成される暗号化情報を生成すること、及び、前記暗号化情報から、前記生成された虫食いダミーコード群のn個の空白にそれぞれ対応する位置に存在するn文字の漏洩防止対象情報を特定することにより、該n文字の漏洩防止対象情報を復号することに利用されるデータである。 A computer program according to the present invention is characterized by causing a computer to execute a code conversion step, a numerical value acquisition step, and a generation step. In the code conversion step, the first code group unique to the user is converted into the second code group according to a predetermined rule. In the numerical value acquisition step, the same number of numerical values as the number of characters n (n is an integer of 2 or more) of the leakage prevention target information is obtained from the second code group. In the generation step, a worm-eaten dummy code group is generated, which includes n blanks arranged at positions obtained from the obtained n numerical values and dummy codes arranged at other positions. The worm-eaten dummy code group includes the n-blank dummy code group and the n-character leak prevention target information included in the n-blank dummy code group by inserting the n-letter leak prevention target information. Generating the configured encryption information, and identifying from the encryption information, n character leakage prevention target information present at a position corresponding to each of the n blanks of the generated worm-eaten dummy code group Thus, the data is used for decoding the leakage prevention target information of n characters.
このコンピュータプログラムの実行に要する負担は小さいので、情報漏洩防止のための処理負担を抑えることができる。 Since the burden required to execute this computer program is small, the processing burden for preventing information leakage can be suppressed.
第一の実施態様において、前記コード変換ステップでは、ユーザが所望のサービス(例えばログイン)を受けることの許可を得ることを目的として入力され所定の記憶資源に記憶されたコード群(以下、許可申請コード群)を、該記憶資源から取得し、該コード群を前記第二のコード群に変換する。つまり、前記第一のコード群は、前記虫食いダミーコード群の生成を主要な目的として入力されたコード群ではなく、過去の或る時点で入力され記憶された許可申請コード群である。このため、虫食いダミーコード群の生成の基とされた第一のコード群が何であるのかを第三者に特定しにくくすることができ、以って、情報の漏洩防止に一層貢献することができる。また、この第一の実施態様では、前記許可申請コード群を前記第一のコード群に流用しているので、ユーザは、第一のコード群を別途入力しなくても済む。このため、ユーザのユーザビリティを向上することができる。 In the first embodiment, in the code conversion step, a code group input for the purpose of obtaining permission for the user to receive a desired service (for example, login) and stored in a predetermined storage resource (hereinafter referred to as permission application). Code group) is acquired from the storage resource, and the code group is converted into the second code group. That is, the first code group is not a code group input mainly for the purpose of generating the worm-eaten dummy code group but a permission application code group input and stored at a certain past time. For this reason, it is possible to make it difficult for a third party to specify what the first code group that is the basis of the generation of the worm-eaten dummy code group is, and thus it can further contribute to prevention of information leakage. it can. In the first embodiment, since the permission application code group is used as the first code group, the user does not need to input the first code group separately. For this reason, a user's usability can be improved.
第二の実施態様において、前記第一のコード群は、文字列である。前記コード変換ステップでは、前記文字列を構成する複数の文字を、それぞれ、所定のコード体系に従う複数の文字コードに変換する。前記数値取得ステップでは、各文字コードを構成する各文字コード要素をP進数(Pは2以上の整数)の数値とみなし、前記複数の文字コードから成る文字コード群から、前記n個の数値を取得する。 In the second embodiment, the first code group is a character string. In the code conversion step, a plurality of characters constituting the character string are converted into a plurality of character codes respectively according to a predetermined code system. In the numerical value acquisition step, each character code element constituting each character code is regarded as a numerical value in P-adic (P is an integer of 2 or more), and the n numerical values are obtained from a character code group including the plurality of character codes. get.
この第二の実施態様によれば、コード変換のための規則として、所定のコード体系に従う、文字コードと文字との変換規則が利用される。このため、コード変換のための専用の規則をわざわざ設けなくても済む。 According to the second embodiment, as a rule for code conversion, a character code and character conversion rule according to a predetermined code system is used. Therefore, it is not necessary to provide a dedicated rule for code conversion.
第三の実施態様において、前記数値取得ステップでは、前記第二コード群中の複数の要素をそれぞれP進数の数値とみなし、前記複数のP進数の数値をそれぞれ用いた四則演算を行って、前記n個の数値を得る。 In the third embodiment, in the numerical value obtaining step, the plurality of elements in the second code group are regarded as P-adic numbers, respectively, and four arithmetic operations using the plurality of P-adic numbers respectively are performed, Get n numbers.
この第三の実施態様によれば、各P進数の数値から求まる位置ではなく、四則演算を行って得られた数値から求まる位置とされる。このため、暗号化情報のうちのどこが情報漏洩防止対象の文字が入っている位置であるかを第三者に特定されてしまう可能性をより低減することができる。 According to the third embodiment, the position is not the position obtained from the numerical value of each P-adic number, but the position obtained from the numerical value obtained by performing the four arithmetic operations. For this reason, it is possible to further reduce the possibility that a third party will specify where in the encrypted information the position where the information leakage prevention target character is located.
第四の実施態様では、前記第三の実施態様において、前記数値取得ステップでは、各P進数の数値と変数とを用いた前記四則演算を行い、該変数に、前記複数のP進数の数値のうちの所定番目の数値を代入する。 In a fourth embodiment, in the third embodiment, in the numerical value acquisition step, the four arithmetic operations using a numerical value of each P-adic number and a variable are performed, and the numerical value of the plurality of P-adic numbers is added to the variable. Substitute the predetermined number of them.
第一のコード群はユーザに固有のコード群であり、故に、前記第二コード群から得られる各P進数の数値も、ユーザに固有の値となる。四則演算で変数を使用し、その変数に、ユーザに固有のP進数の数値を代入すれば、このコンピュータプログラムに従うアルゴリズムも結果としてユーザに固有となる。すなわち、この第四の実施態様によれば、複数のユーザに共通の一つのコンピュータプログラム(アルゴリズム)で実質的にユーザ毎に異なるアルゴリズムを実現することができる。 The first code group is a code group unique to the user. Therefore, the numerical value of each P-adic number obtained from the second code group is also a value unique to the user. If a variable is used in the four arithmetic operations and a numerical value of a P-adic number specific to the user is substituted for the variable, the algorithm according to this computer program is also specific to the user as a result. That is, according to the fourth embodiment, an algorithm that is substantially different for each user can be realized by a single computer program (algorithm) common to a plurality of users.
第五の実施態様では、前記n個の空白に、それぞれ、前記n文字から成る漏洩防止対象情報を入れることにより、前記虫食いダミーコード群とそれに入れられた前記n文字の漏洩防止対象情報とで構成される暗号化情報を生成するステップを更にコンピュータに実行させる。 In the fifth embodiment, by inserting leakage prevention target information consisting of the n characters into the n blanks, respectively, the worm-eaten dummy code group and the leakage prevention target information of the n characters inserted therein Further causing the computer to execute the step of generating the encryption information to be configured.
第六の実施態様では、前記暗号化情報から、前記生成された虫食いダミーコード群のn個の空白にそれぞれ対応する位置に存在するn文字の漏洩防止対象情報を特定することにより、該n文字の漏洩防止対象情報を復号するステップを更にコンピュータに実行させる。 In a sixth embodiment, by specifying n character leakage prevention target information existing at positions corresponding to n spaces of the generated worm-eaten dummy code group from the encrypted information, the n characters The computer further executes a step of decoding the leakage prevention target information.
以上のコンピュータプログラムは、第一のコンピュータシステムと第二のコンピュータシステムとで構成されるコンピュータシステム群の前記第一のコンピュータシステムで実行させることで、一つの情報漏洩防止方法を実現することができる。 The above computer program is executed by the first computer system of a computer system group composed of a first computer system and a second computer system, thereby realizing one information leakage prevention method. .
具体的には、第一のコンピュータシステムが、ユーザに固有の第一コード群を、前記第一のコンピュータシステムの第一の記憶資源に記憶するステップと、前記第一のコンピュータシステムが、前記第一のコード群を、所定の規則に従って、第二のコード群に変換するステップと、前記第一のコンピュータシステムが、前記第二のコード群から、漏洩防止対象情報の文字数n(nは2以上の整数)と同数の数値を得るステップと、前記第一のコンピュータシステムが、前記取得されたn個の数値からそれぞれ求まる位置に配置されたn個の空白と、それ以外の位置に配置されたダミーコードとから成る虫食いダミーコード群を生成するステップと、前記第一のコンピュータシステムが、前記n個の空白に、それぞれ、前記n文字から成る漏洩防止対象情報を入れることにより、前記虫食いダミーコード群とそれに入れられた前記n文字の漏洩防止対象情報とで構成される暗号化情報を生成するステップと、前記第一のコンピュータシステムが、前記暗号化情報を第二のコンピュータシステムに送信するステップと、前記第二のコンピュータシステムが、前記第一のコンピュータシステムから前記暗号化情報を受信するステップと、前記第二のコンピュータシステムが、前記受信した暗号化情報を所定の記憶装置に登録するステップと
を有する情報漏洩防止方法を実現することができる。
Specifically, the first computer system stores a first code group unique to the user in a first storage resource of the first computer system, and the first computer system includes the first computer system. A step of converting one code group into a second code group according to a predetermined rule, and the first computer system determines from the second code group the number n of characters of leakage prevention target information (n is 2 or more). And obtaining the same number of numerical values), and the first computer system is arranged at n blanks arranged at positions obtained from the obtained n numerical values and at other positions. Generating a worm-eaten dummy code group composed of dummy codes, and the first computer system leaking each of the n characters into the n spaces. Generating the encryption information composed of the worm-eaten dummy code group and the n-letter leakage prevention target information inserted therein by inserting the stop target information; and Sending the encrypted information to a second computer system, the second computer system receiving the encrypted information from the first computer system, and the second computer system receiving the received An information leakage prevention method including the step of registering encrypted information in a predetermined storage device can be realized.
この情報漏洩防止方法によれば、登録する情報が第一のコンピュータシステムから第二のコンピュータシステムに送信中に盗聴されても、その情報は暗号化情報であるので、情報が漏洩してしまうのを防ぐことができる。 According to this information leakage prevention method, even if the information to be registered is intercepted while being transmitted from the first computer system to the second computer system, the information leaks because the information is encrypted information. Can be prevented.
また、この情報漏洩防止方法によれば、記憶装置には、暗号化情報が登録されるので、その記憶装置がハッキングされても、情報が漏洩してしまうのを防ぐことができる。 Further, according to this information leakage prevention method, since the encrypted information is registered in the storage device, it is possible to prevent the information from leaking even if the storage device is hacked.
以下、図面を参照して、本発明の一実施形態について説明する。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
図1は、本発明の一実施形態に係るクライアントサーバシステムの構成例を示す。 FIG. 1 shows a configuration example of a client server system according to an embodiment of the present invention.
本実施形態では、漏洩防止の対象となる情報は、クレジットカードの番号(カード番号)である。通信ネットワーク151にクライアント101及びサーバシステム500が接続されており、サーバシステム500は、ユーザが所有するクレジットカードのカード番号を他のコンピュータシステムに出力するシステムである。
In the present embodiment, the information that is subject to leakage prevention is a credit card number (card number). A
クライアント101は、一種の計算機であり、CPU103、入力装置105(例えばキーボード)、表示装置106、及び記憶資源107を備える。記憶資源107は、一又は複数の記憶装置(例えばメモリ或いはハードディスク)で構成することができる。記憶資源107には、CPU103で実行されるコンピュータプログラムが記憶されており、そのコンピュータプログラムの一つとしてWebブラウザ109がある。
The
サーバシステム500は、一又は複数台のサーバマシンで構成することができる。この実施形態では、通信ネットワーク151に接続したWebサーバ201と、Webサーバ201及びデータベース(DB)サーバ401に接続したアプリケーションサーバ301と、ユーザに関するデータで構成されたDB(以下、ユーザDB)403を記憶したDBサーバ401とで構成することができる。
The
ユーザDB403には、例えば、各ユーザ毎のログインID、パスワード及び一以上のカード番号が含まれる。ログインID及びパスワードの少なくとも一方(例えばパスワード)が、暗号化されている(例えばハッシュ値である)。また、ユーザDB403に格納されるカード番号は、後述するように、暗号化されたカード番号である。
The
図1では、複数のサーバ201、301及び401のうちアプリケーションサーバ301の構成を代表的に示している。アプリケーションサーバ301は、CPU303や記憶資源307を備えている。記憶資源307には、CPU303で実行されるコンピュータプログラムが記憶されており、そのコンピュータプログラムとして、パターン生成プログラム309、暗号化プログラム311及び復号プログラム313がある。各種コンピュータプログラムについては後述する。
FIG. 1 representatively shows the configuration of the
以下、このクライアントサーバシステムで行われる処理の流れを説明する。 Hereinafter, the flow of processing performed in the client server system will be described.
図2は、カード番号の登録のための処理フローの一例を示す。 FIG. 2 shows an example of a processing flow for registering a card number.
Webブラウザ109がWebサーバ201にアクセスすると、所定のログイン要求画面がWebブラウザ109によって表示装置106に表示される。ログイン要求画面に入力されたログインID及びパスワードが、記憶資源107に記憶され、クライアント101からWebサーバ201に送信される(ステップS1)。アプリケーションサーバ301は、Webサーバ201が受信したログインID及びパスワードに一致するログインID及びパスワードをユーザDB403から検索し、見つかれば、そのログインID及びパスワードが認証される(S2)。
When the
S2でログインID及びパスワードが認証されたことを契機に、アプリケーションサーバ301は、パターン生成プログラム309及び暗号化プログラム311をWebサーバ201に送信する(S3)。Webサーバ201は、アプリケーションサーバ301からのパターン生成プログラム309及び暗号化プログラム311と、カード番号の入力を受け付けるための登録画面と、一時記憶された所定の情報を消去することをクライアント101の所定のコンピュータプログラムに実行させるための消去制御情報とを、クライアント101に送信する(S4)。クライアント101では、登録画面が、Webブラウザ109により表示装置106に表示され、パターン生成プログラム309、暗号化プログラム311及び消去制御情報は、記憶資源107(例えばメモリ)に記憶される。
When the login ID and password are authenticated in S2, the
表示された登録画面にカード番号が入力されて所定の操作が行われたことを契機に(例えば、登録画面上の所定のボタンが押下されたことを契機に)(S5)、記憶資源107に記憶されたパターン生成プログラム309がCPU103により実行される(S6)。パターン生成プログラム309は、記憶資源107に記憶されているパスワードを入力値とし、そのパスワードを用いて後述のパターン生成アルゴリズムを実行することにより、秘匿パターンを生成する。秘匿パターンとは、カード番号を秘匿にするためのパターンであり、具体的には、カード番号の桁数n(nは2以上の整数、本実施形態ではn=16とする)と同じ数の空白(ブランク)を有する数値群である。この数値群を構成する数値の数Zは、空白の数nよりも多い(Zは空白数nを含んだ数であり、Z>nである)。生成された秘匿パターンは、記憶資源107に展開される。
When the card number is input to the displayed registration screen and a predetermined operation is performed (for example, when a predetermined button on the registration screen is pressed) (S5), the
秘匿パターンが生成されたことを契機に、記憶資源107に記憶された暗号化プログラム311がCPU103により実行される(S7)。暗号化プログラム311は、秘匿パターンにおける各空白に、カード番号を構成する各数値を入れる。これにより、暗号化されたカード番号が生成される。すなわち、暗号化されたカード番号は、秘匿パターンとそれに組み込まれたカード番号とのセットである。
When the secret pattern is generated, the
クライアント101は、記憶資源107上の、暗号化されたカード番号を、Webサーバ201に送信する(S8)。Webサーバ201は、クライアント101からの、暗号化されたカード番号をアプリケーションサーバ301に送信し、アプリケーションサーバ301が、その暗号化されたカード番号を、ユーザDB403に格納する(S9)。その暗号化されたカード番号は、S2でのログインID及びパスワードに関連付けられる。
The
クライアント101では、記憶資源107に記憶された消去制御情報による所定のタイミングで所定のコンピュータプログラムが実行されることにより、記憶資源107に一時的に記憶された情報(パスワード、カード番号、秘匿パターン、パターン生成プログラム309及び暗号化プログラム311)が消去される(S10)。
In the
以上の流れによれば、カード番号の登録の際には、暗号化されたカード番号が、クライアント101からWebサーバ201に送信され、暗号化されていないカード番号(以下、「生のカード番号」と言う)は送信されない。このため、送信中の情報が盗聴されても、得られるのは、暗号化されたカード番号であり、故に、生のカード番号が漏洩することを防ぐことができる。
According to the above flow, when registering the card number, the encrypted card number is transmitted from the
また、以上の流れによれば、この暗号化されたカード番号が、ユーザDB403に格納され、生のカード番号は、ユーザDB403に格納されないので、ユーザDB403を記憶した記憶装置がハッキングされても、生のカード番号が漏洩してしまうことを防ぐことができる。
Further, according to the above flow, this encrypted card number is stored in the
さらに、以上の流れによれば、秘匿パターンの作成のシード(秘匿パターンの作成の基になるコード群)は、クライアント101とサーバシステム500との間で明示的に鍵としてやりとりされるものではなく、暗号化を本来の目的としていないパスワードである。このため、秘匿パターンの作成のシードが何であるのかを第三者に特定しにくくすることができ、以って、カード番号の漏洩防止に貢献することができる。
Further, according to the above flow, the secret pattern creation seed (a group of codes based on the secret pattern creation) is not explicitly exchanged as a key between the
また、以上の流れによれば、クライアント101では、所定のタイミングで、一時的に記憶された秘密性の高い情報が記憶資源107から消去される。これにより、そのような秘密性の高い情報が記憶資源107にいつまでも残ってしまうことを防ぐことができるので、セキュリティ性が高まる。なお、所定のタイミングとしては、Webブラウザ109が閉じられたタイミング、或いは、S1以降の或る所定時点(例えば、暗号化されたカード番号が送信された時点)から一定時間経過したタイミングなど、種々のタイミングを採用することができる。
Also, according to the above flow, the
さて、本実施形態では、前述したように、生のカード番号ではなく暗号化されたカード番号が送信及び格納されるが、生のカード番号の暗号化のための準備処理として実行されるパターン生成アルゴリズムが大きな特徴の一つである。 In this embodiment, as described above, an encrypted card number is transmitted and stored instead of a raw card number, but pattern generation is executed as a preparation process for encrypting the raw card number. The algorithm is one of the major features.
図3は、パターン生成アルゴリズムとカード番号暗号化の説明図である。 FIG. 3 is an explanatory diagram of a pattern generation algorithm and card number encryption.
パターン生成アルゴリズムは、第一〜第三のステップで構成され、カード番号暗号化は、第四のステップで構成される。第一〜第三のステップが、図2のS6に対応し、第四のステップが、図2のS7に対応する。以下、各ステップについて説明する。 The pattern generation algorithm is composed of first to third steps, and card number encryption is composed of the fourth step. The first to third steps correspond to S6 in FIG. 2, and the fourth step corresponds to S7 in FIG. Hereinafter, each step will be described.
<第一のステップ>
第一のステップは、パスワード(例えば“PASSWORD”)をアスキーコード群に変換し16等分する処理である。図示の例では、パスワードの文字列は8個の文字で構成されているため、アスキーコード群に変換すると、1文字当たり2個のコードで構成されたアスキーコードが8個得られ、各アスキーコードを個々にばらすことで、16個のコードが得られる。16等分するのは、本実施形態ではカード番号が16桁であるためである。以下の説明では、パスワードを構成する一つの文字を、「パスワード文字」と言い、一つのアスキーコードを構成する2個のコードを「アスキーコード要素」と言う。
<First step>
The first step is a process of converting a password (for example, “PASSWORD”) into an ASCII code group and dividing it into 16 equal parts. In the example shown in the figure, the password character string is composed of 8 characters. Therefore, when converted into an ASCII code group, 8 ASCII codes composed of 2 codes per character are obtained. 16 codes can be obtained by separately distributing. The reason for dividing into 16 is that the card number is 16 digits in this embodiment. In the following description, one character constituting the password is referred to as “password character”, and two codes constituting one ASCII code are referred to as “ASCII code element”.
<第二のステップ>
第二のステップは、16個のアスキーコード要素をそれぞれ数値と見なし、mod4による余剰を求める処理である。以下、mod4により求められた余剰を「mod4値」と言う。
<Second step>
The second step is a process of regarding the 16 ASCII code elements as numerical values and obtaining a surplus by mod4. Hereinafter, the surplus obtained by mod4 is referred to as “mod4 value”.
<第三のステップ>
第三のステップは、mod4値を基にして秘匿パターンを作成する処理である。ここで作成された秘匿パターンは、16個のアスキーコード要素にそれぞれ対応した16のサブ数値群で構成される。一つのサブ数値群は、4個の要素で構成され、それらのうち、そのサブ数値群に対応するアスキーコード要素のmod4値に対応する要素(位置)が空白となっており、他の3つの要素が、数値である。3個の数値は、いずれも、ダミーの数値(例えば、ランダムで決定された数値)である。なお、サブ数値群が4個の要素で構成されるのは、modXのXの値が4であるからである。
<Third step>
The third step is processing for creating a secret pattern based on the mod4 value. The secret pattern created here is composed of 16 sub-number groups corresponding to 16 ASCII code elements. One sub-number group consists of four elements, and among them, the element (position) corresponding to the mod4 value of the ASCII code element corresponding to the sub-number group is blank, and the other three The element is a number. All of the three numerical values are dummy numerical values (for example, numerical values determined randomly). The reason why the sub-number group is composed of four elements is because the value X of modX is 4.
<第四のステップ>
第四のステップは、秘匿パターンを基に、カード番号を秘匿にする処理である。具体的には、秘匿パターンを構成する各サブ数値群の空白に、カード番号を構成する各数値を入れる。これにより、図3に例示する、暗号化されたカード番号が得られる。
<Fourth step>
The fourth step is processing for concealing the card number based on the concealment pattern. Specifically, each numerical value constituting the card number is entered in the blank of each sub numerical value group constituting the concealment pattern. Thereby, the encrypted card number illustrated in FIG. 3 is obtained.
以上が、パターン生成アルゴリズムとカード番号暗号化の説明である。なお、パターン生成アルゴリズム、換言すれば、秘匿パターンの構成は、上述したものに限らず、他の様々なものを採用することができる。 The above is the description of the pattern generation algorithm and card number encryption. It should be noted that the pattern generation algorithm, in other words, the configuration of the secret pattern is not limited to that described above, and various other types can be employed.
例えば、第一のステップでは、秘匿パターンのシードとされるパスワードは、ハッシュ値などの暗号化されたパスワードであっても良いし、暗号化されていない生のパスワードであっても良い。言うまでもなく、暗号化と復号化では、同種のパスワードがシードとされる。つまり、本実施形態において、一方で生のパスワードがシードとされ、他方で暗号化されたパスワードがシードとされることはない。 For example, in the first step, the password used as a seed for the secret pattern may be an encrypted password such as a hash value or a raw password that is not encrypted. Needless to say, the same kind of password is used as a seed for encryption and decryption. That is, in this embodiment, the raw password is not used as a seed on the one hand, and the encrypted password is not used as a seed on the other hand.
また、第一のステップでは、パスワードに代えて、ユーザに固有の他種の固定コード群(例えばログインID)が用いられても良い。固定コード群とは、不規則に変換することの無い一以上のコードで構成されたコード群である。固定コード群を構成する各固定コードは、文字、符号及び数値のいずれであってもよい。 In the first step, another type of fixed code group (for example, login ID) unique to the user may be used instead of the password. The fixed code group is a code group composed of one or more codes that are not irregularly converted. Each fixed code constituting the fixed code group may be a character, a sign, or a numerical value.
また、上記の例のアルゴリズムでは、パスワードをアスキーコード群に変換し、アスキーコード群が16等分され、各アスキーコード要素を用いて除算が行われた。しかし、アスキーコード群への変換に代えて、他種の変換規則を用いた変換が行われても良い。具体的には、例えば、文字列を構成する複数の文字(ここで言う文字は、英数字や記号などの文字が含まれても良い)を、それぞれ、所定のコード体系(例えば、JISコード、シフトJISコード、或いはUnicode)に従う複数の文字コードに変換し、複数の文字コードの各々を構成する各文字コード要素を、P進数(Pは2以上の整数)の数値と見なして、四則演算を行っても良い。なお、文字列を構成する文字に、変換に利用するコード体系でサポートされていない文字が含まれている場合には(例えば、変換に利用するコード体系がアスキーコードである場合に、変換対象の文字列に漢字が含まれている場合には)、その文字に対応する文字コード要素を、所定の値にしても良い。つまり、クライアントとサーバシステムのそれぞれにおいて、同じ文字列を用いてパターン生成プログラム309を実行すれば同じ秘匿パターンが生成されるようになっていれば良い。
Further, in the algorithm of the above example, the password is converted into an ASCII code group, the ASCII code group is divided into 16 equal parts, and division is performed using each ASCII code element. However, instead of conversion to the ASCII code group, conversion using other types of conversion rules may be performed. Specifically, for example, a plurality of characters constituting a character string (characters here may include characters such as alphanumeric characters and symbols) are each set in a predetermined code system (for example, JIS code, Convert to a plurality of character codes according to Shift JIS code or Unicode), and treat each character code element constituting each of the plurality of character codes as a numerical value in P-adic (P is an integer of 2 or more), and perform four arithmetic operations You can go. Note that if the characters that make up the string contain characters that are not supported by the code system used for conversion (for example, if the code system used for conversion is ASCII code, When a Chinese character is included in the character string), the character code element corresponding to the character may be set to a predetermined value. That is, it is only necessary that the same secret pattern is generated by executing the
また、例えば、固定コード群から数値を得るための変換規則として、所定のコード体系に従う文字コードに変換する規則以外の規則が採用されても良い。例えば、各固定コードをどんな値に変換するかを定義した専用の変換テーブルを用意し、該専用の変換テーブル用いて、各固定コードに対応する各値が得られても良い。なお、この場合、専用の変換テーブルが、パターン生成プログラム309や暗号化プログラム311等のダウンロードと同じセッション或いは別のセッションで、サーバシステム500からクライアント101にダウンロードすることができる。
Further, for example, as a conversion rule for obtaining a numerical value from a fixed code group, a rule other than a rule for converting to a character code according to a predetermined code system may be adopted. For example, a dedicated conversion table that defines what value each fixed code is converted to may be prepared, and each value corresponding to each fixed code may be obtained using the dedicated conversion table. In this case, the dedicated conversion table can be downloaded from the
また、第一のステップでは、アスキーコード群を構成するアスキーコード要素の個数k(kは1以上の整数)が、カード番号の桁数nより少ない場合には、ダミーのコードを、(n−k)個加えることで、結果的に、n個のアスキーコード要素を生成することができる。このようにするのは、秘匿パターンに、少なくとも、カード番号の桁数nと同数のサブ数値群を用意するためである。なお、逆に、kが、カード番号の桁数nより多い場合には、k個のアスキーコード要素のうちのn個のアスキーコード要素のみを、第二のステップで4で除算されるコードとすることができる。ただし、採用されるn個のアスキーコード要素は、所定位置にあるアスキーコード要素である。復号のために秘匿パターンが生成される場合にも、同じアスキーコード要素が採用されないと、復号に成功しないためである。同様の理由から、上記加えられる(n−k)個のダミーコードは、所定の規則に従うコード(例えば、所定の規則に従って算出されたコード、或いは予め設定されているコード)であり、且つ、(n−k)個のダミーコードは所定位置に加えられるのであり、ランダムに決定されたコードが加えられたりランダムに決定された位置に加えられたりするのではない。 In the first step, when the number of ASCII code elements constituting the ASCII code group k (k is an integer of 1 or more) is smaller than the number of digits n of the card number, a dummy code is (n− k) As a result, n ASCII code elements can be generated. The reason for this is to prepare at least as many sub-number groups as the number n of digits of the card number in the concealment pattern. On the other hand, when k is larger than the number n of digits of the card number, only the n ASCII code elements of the k ASCII code elements are divided by 4 in the second step. can do. However, the n ASCII code elements employed are ASCII code elements at predetermined positions. This is because even when a secret pattern is generated for decoding, decoding is not successful unless the same ASCII code element is employed. For the same reason, the (n−k) dummy codes to be added are codes according to a predetermined rule (for example, a code calculated according to a predetermined rule or a code set in advance), and ( The (n−k) dummy codes are added to a predetermined position, and a randomly determined code is not added or added to a randomly determined position.
また、第二のステップでは、modXのXの値は4に限らず、他の値を採用することができる。Xの値が大きい程、暗号化されたカード番号から生のカード番号が特定されてしまう可能性を低くすることができる。Xに代入される値は、予め定められた値であっても良いが、所定の代入規則に基づく可変値とすると(つまりXを変数とすると)、セキュリティ性をより高めることができると考えられる。所定の代入規則としては、例えば、固定コード群を所定の変換規則に従って変換することにより得られた第一数値群(例えば16のアスキーコード要素)の所定の一以上の位の数値をXとする代入規則が考えられる。この代入規則によれば、ユーザ固有の固定コード群によって、秘匿パターンの構成が異なるので、ユーザ毎に秘匿パターンの構成を違えることができる。 In the second step, the value X of modX is not limited to 4, and other values can be adopted. The larger the value of X, the lower the possibility that a raw card number will be specified from the encrypted card number. The value assigned to X may be a predetermined value, but if it is a variable value based on a predetermined assignment rule (that is, if X is a variable), it is considered that security can be further improved. . As a predetermined substitution rule, for example, X is a numerical value of one or more predetermined positions of a first numerical value group (for example, 16 ASCII code elements) obtained by converting a fixed code group according to a predetermined conversion rule. Substitution rules are possible. According to this substitution rule, the configuration of the concealment pattern varies depending on the fixed code group unique to the user, so that the concealment pattern configuration can be varied for each user.
また、第二のステップでは、除算に限らず、他種の四則演算が用いられても良い。具体的には、例えば、図4に例示するように、各アスキーコード要素(数値)を、4で除算するのではなく、4で乗算しても良い。この場合、第三のステップでは、各積を基にして、秘匿パターンを作成しても良い。具体的には、例えば、一つのサブ数値群を、複数の積のうちの最大値と同数の数値で構成し、そのサブ数値群における空白の位置を、図4に例示するように、そのサブ数値群に対応したアスキーコード要素と4との積に相当する位置にする。 In the second step, not only division but also other types of four arithmetic operations may be used. Specifically, for example, as illustrated in FIG. 4, each ASCII code element (numerical value) may be multiplied by 4 instead of being divided by 4. In this case, in the third step, a secret pattern may be created based on each product. Specifically, for example, one sub-number group is configured by the same number as the maximum value of a plurality of products, and the positions of blanks in the sub-number group are shown in FIG. A position corresponding to the product of the ASCII code element corresponding to the numerical value group and 4 is set.
また、第三のステップでは、秘匿パターンの構成要素であるサブ数値群の数Kを、カード番号の桁数nよりも多くしてもよい。つまり、ダミーの数値のみで構成されたダミーのサブ数値群が一つ以上含まれても良い。ダミーのサブ数値群は、秘匿パターンのどの位置に含まれても良い。ただし、ダミーサブ数値群の構成や位置は、所定の規則に従う構成や位置となる(つまりランダムに決定された構成や位置ではない)。復号のために秘匿パターンが生成される場合にも、同じ構成のダミーサブ数値群が生成されて同じ位置に入れられないと、暗号化のための秘匿パターンと同じ秘匿パターンが得られないためである。 In the third step, the number K of sub-number groups that are components of the concealment pattern may be made larger than the number n of digits of the card number. That is, one or more dummy sub-number groups composed only of dummy numbers may be included. The dummy sub-number group may be included in any position of the secret pattern. However, the configuration and position of the dummy sub numerical value group are the configuration and position according to a predetermined rule (that is, not the configuration and position determined at random). This is because even when a secret pattern is generated for decryption, the same secret pattern as the secret pattern for encryption cannot be obtained unless a dummy sub-number group having the same configuration is generated and placed in the same position. .
また、本実施形態では、漏洩防止対象の情報が、数値のみで構成されるカード番号であるため、第三のステップでは、秘匿パターンに含まれるダミーのコードは全て数値となるが、漏洩防止対象の情報に、数値に代えて又は加えて、他種のコードが含まれる場合には、秘匿パターンに含まれるダミーのコードも、数値に代えて又は加えて、他種のコードとすることができる。 In the present embodiment, since the leakage prevention target information is a card number composed only of numerical values, in the third step, all the dummy codes included in the concealment pattern are numerical values. In the case where other types of codes are included instead of or in addition to numerical values, the dummy code included in the confidential pattern can be replaced with or in addition to numerical values. .
また、秘匿パターンは、図3や図4に例示したような方形でなくても良い。例えば、横一行或いは縦一列で構成されても良い。また、例えば、複数のサブ数値群が所定の法則に従って並べられたり列が改められたりされても良い。 Further, the concealment pattern may not be a square as illustrated in FIG. 3 or FIG. For example, it may be composed of one horizontal row or one vertical column. In addition, for example, a plurality of sub-number groups may be arranged according to a predetermined rule or the column may be revised.
以上のように、図3を参照して説明したパターン生成アルゴリズムはほんの一例であり、パターン生成アルゴリズムについて種々の変形例が考えられる。いずれのパターン生成アルゴリズムであっても、基本的には、秘匿パターンの作成のシードとするユーザ固有の第一のコード群を、所定の規則に従って、第二のコード群に変換し、第二のコード群から、漏洩防止対象情報の文字数nと同数の数値を取得し、取得したn個の数値からそれぞれ求まる位置に配置されたn個の空白と、それ以外の位置に配置されたダミーコードとから成る(秘匿パターン)を生成する。暗号化では、秘匿パターンにおける各空白に、漏洩防止対象情報を構成する各文字を入れる。復号化では、暗号化された情報と、秘匿パターンとの比較により、空白に位置する各文字より、生の情報(すなわち漏洩防止対象情報)が得られる。このような処理は、CPUにとって負担の小さい処理である。 As described above, the pattern generation algorithm described with reference to FIG. 3 is only an example, and various modifications of the pattern generation algorithm can be considered. Regardless of the pattern generation algorithm, basically, the first code group unique to the user as a seed for creating the secret pattern is converted into the second code group according to a predetermined rule, From the code group, obtain the same number of characters as the number of characters n of the leakage prevention target information, n blanks arranged at positions obtained from the obtained n numerical values, and dummy codes arranged at other positions, (Concealment pattern) consisting of In encryption, each character constituting the leakage prevention target information is inserted in each blank in the secret pattern. In the decryption, raw information (that is, leakage prevention target information) is obtained from each character positioned in the blank by comparing the encrypted information with the secret pattern. Such a process is a process with a small burden on the CPU.
さて、本実施形態では、前述した流れで、暗号化されたカード番号が登録された後、例えば、カード番号の行使、パスワードの変更、パターン生成プログラムの変更が行われる。以下、それぞれのケースで実行される処理フローの一例を説明する。 In the present embodiment, after the encrypted card number is registered in the above-described flow, for example, the card number is exercised, the password is changed, and the pattern generation program is changed. Hereinafter, an example of a processing flow executed in each case will be described.
図5は、カード番号の行使のための処理フローの一例である。 FIG. 5 is an example of a processing flow for exercising the card number.
クライアント101に入力されたログインID及びパスワードの認証が行われる(S21、S22)。認証されたパスワード(ユーザから入力されたパスワード)が、記憶資源307に記憶される。
Authentication of the login ID and password input to the
その後、アプリケーションサーバ301が、Webサーバ201を介してクライアント101からカード番号の行使の指示を受ける(S23)。それを契機に、アプリケーションサーバ301でパターン生成プログラム309が実行される(S24)。すなわち、S22で認証されたパスワード(記憶資源307に記憶されているパスワード)を用いて前述したパターン生成アルゴリズムが実行されることにより、秘匿パターンが生成されて記憶資源307に記憶される。
Thereafter, the
秘匿パターンが生成されたら、復号プログラム313が実行される(S25)。すなわち、復号プログラム313が、認証されたログインID及びパスワードに対応する、暗号化されたカード番号を、ユーザDB403から取得し、その暗号化されたカード番号と、S24で生成された秘匿パターンとを比較することにより、秘匿パターンの空白の位置に相当する各数値を、暗号化されたカード番号から特定する。特定された各数値が、生のカード番号を構成する数値である。つまり、このS25で、暗号化されたカード番号が生のカード番号に復号される。生のカード番号は、記憶資源307に一時記憶される。
When the secret pattern is generated, the
アプリケーションサーバ301は、復号された生のカード番号を行使する(S26)。具体的には、例えば、生のカード番号を、行使先のコンピュータシステムに送信する。なお、そのコンピュータシステムが、パターン生成プログラム309や復号プログラム313を有する場合には、生のカード番号ではなく暗号化されたカード番号を送信してもよい。或いは、そのコンピュータシステムに、暗号化されたカード番号と、パターン生成プログラム309や復号プログラム313とを送信し、暗号化されたカード番号を復号させ、その復号に使用されたパターン生成プログラム309や復号プログラム313を消去させても良い。
The
S26の後、アプリケーションサーバ301は、復号された生のカード番号や秘匿パターンを記憶資源307から消去する(S27)。
After S26, the
図6は、パスワードの変更の処理フローの一例である。 FIG. 6 is an example of a process flow for changing a password.
クライアント101に入力されたログインID及びパスワードの認証が行われる(S31、S32)。
Authentication of the login ID and password input to the
次に、クライアント101では、変更後のパスワード(以下、新パスワード)がユーザから入力されて、入力された新パスワードが、Webサーバ201を介してアプリケーションサーバ301に送信される(S33)。
Next, in the
アプリケーションサーバ301は、ユーザDB403に存在する旧いパスワードを読み出して記憶資源307に記憶し、ユーザDB403内のその旧いパスワードを新パスワードに更新する(S34)。
The
そして、アプリケーションサーバ301は、既存の暗号化されたカード番号に代えて、新パスワードをシードとした新しい秘匿パターンでカード番号を暗号化したものをユーザDB403に格納する処理を実行する。
Then, the
具体的には、まず、旧いパスワードを用いてパターン生成プログラム309を実行することにより、旧いパスワードをシードとした秘匿パターンを生成する(S35)。次に、復号プログラム313を実行することにより、ユーザDB403から既存の暗号化されたカード番号を取得し、その暗号化されたカード番号と、S35で生成された秘匿パターンとを比較することにより、暗号化されたカード番号を生のカード番号に復号する(S36)。次に、新パスワードを用いてパターン生成プログラム309を実行することにより、新パスワードをシードとした新たな秘匿パターンを生成する(S37)。次に、暗号化プログラム311を実行することにより、新たな秘匿パターンの各空白に、復号されたカード番号の各値を入れることで、新たな暗号化されたカード番号を生成する(S38)。アプリケーションサーバ301は、ユーザDB403内の既存の暗号化されたカード番号を、その生成された、新たな暗号化されたカード番号に更新する(S39)。
Specifically, first, a secret pattern using the old password as a seed is generated by executing the
図7は、パターン生成プログラムの変更の処理フローの一例である。 FIG. 7 is an example of a processing flow for changing the pattern generation program.
アプリケーションサーバ301では、パターン生成プログラム309を変更する場合(S41)、既存の暗号化されたカード番号に代えて、変更後のパターン生成プログラム309で新しい秘匿パターンを生成し、その秘匿パターンでカード番号を暗号化したものをユーザDB403に格納する処理を実行する。
In the
具体的には、まず、ユーザDB403内のパスワード(ユーザに入力を要求し、その要求に応答して入力されたパスワードでも良い)を用いて、変更前のパターン生成プログラム309を実行することにより、秘匿パターンを生成する(S42)。次に、復号プログラム313を実行することにより、ユーザDB403から既存の暗号化されたカード番号を取得し、その暗号化されたカード番号と、S42で生成された秘匿パターンとを比較することにより、暗号化されたカード番号を生のカード番号に復号する(S43)。次に、S42で使用されたパスワードと同じパスワードを用いて変更後のパターン生成プログラム309を実行することにより、新たな秘匿パターンを生成する(S44)。次に、暗号化プログラム311を実行することにより、新たな秘匿パターンの各空白に、復号されたカード番号の各値を入れることで、新たな暗号化されたカード番号を生成する(S45)。アプリケーションサーバ301は、ユーザDB403内の既存の暗号化されたカード番号を、その生成された、新たな暗号化されたカード番号に更新する(S46)。
Specifically, first, by executing the
以上、本発明の一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。 The embodiment of the present invention has been described above, but this is an example for explaining the present invention, and the scope of the present invention is not limited to this embodiment. The present invention can be implemented in various other forms.
例えば、パターン生成プログラムや暗号化プログラムは、予めクライアント101にインストールされていても良い。その場合、例えばカード番号の登録において、S2の後に、クライアント101とサーバシステム500との間で、お互いのパターン生成プログラムが同じであるか否かをチェックし(例えば、パターン生成プログラムのバージョン情報をやり取りし互いのバージョンが一致するか否かをチェックし)、同じであれば、S5が行われ、違っていれば、S3が行われても良い。
For example, the pattern generation program and the encryption program may be installed in the
また、例えば、サーバシステム500には、ユーザ毎に異なるパターン生成プログラム309が記憶されていて、ユーザに対応したパターン生成プログラムが実行されても良い。
Further, for example, the
101…クライアント 201…Webサーバ 301…アプリケーションサーバ 309…パターン生成プログラム 311…暗号化プログラム 313…復号プログラム 401…データベースサーバ 403…ユーザデータベース
DESCRIPTION OF
Claims (10)
前記第二のコード群から、漏洩防止対象情報の文字数n(nは2以上の整数)と同数の数値を得る数値取得ステップと、
前記取得されたn個の数値からそれぞれ求まる位置に配置されたn個の空白と、それ以外の位置に配置されたダミーコードとから成る虫食いダミーコード群を生成する生成ステップと
をコンピュータに実行させ、
前記虫食いダミーコード群は、前記n個の空白に、それぞれ、前記n文字から成る漏洩防止対象情報を入れることにより、前記虫食いダミーコード群とそれに入れられた前記n文字の漏洩防止対象情報とで構成される暗号化情報を生成すること、及び、前記暗号化情報から、前記生成された虫食いダミーコード群のn個の空白にそれぞれ対応する位置に存在するn文字の漏洩防止対象情報を特定することにより、該n文字の漏洩防止対象情報を復号することに利用されるデータである、
ことを特徴とするコンピュータプログラム。 A code conversion step of converting a first code group unique to the user into a second code group according to a predetermined rule;
From the second code group, a numerical value obtaining step for obtaining a numerical value equal to the number of characters n (n is an integer of 2 or more) of leakage prevention target information;
Causing the computer to execute a generating step for generating a group of worm-eaten dummy codes including n blanks arranged at positions obtained from the obtained n numerical values and dummy codes arranged at other positions. ,
The worm-eaten dummy code group includes the n-blank dummy code group and the n-character leak prevention target information included in the n-blank dummy code group by inserting the n-letter leak prevention target information. Generating the encryption information to be configured, and identifying the leakage prevention target information of n characters existing at positions corresponding to n spaces of the generated worm-eaten dummy code group from the encryption information, respectively Thus, the data is used for decrypting the leakage prevention target information of the n characters.
A computer program characterized by the above.
請求項1記載のコンピュータプログラム。 In the code conversion step, a code group input for the purpose of obtaining permission for a user to receive a desired service and stored in a predetermined storage resource is acquired from the storage resource, and the code group is acquired from the second storage resource. To the code group
The computer program according to claim 1.
前記コード変換ステップでは、前記文字列を構成する複数の文字を、それぞれ、所定のコード体系に従う複数の文字コードに変換し、
前記数値取得ステップでは、各文字コードを構成する各文字コード要素をP進数(Pは2以上の整数)の数値とみなし、前記複数の文字コードから成る文字コード群から、前記n個の数値を取得する、
請求項1記載のコンピュータプログラム。 The first code group is a character string,
In the code conversion step, each of a plurality of characters constituting the character string is converted into a plurality of character codes according to a predetermined code system,
In the numerical value acquisition step, each character code element constituting each character code is regarded as a numerical value in P-adic (P is an integer of 2 or more), and the n numerical values are obtained from a character code group including the plurality of character codes. get,
The computer program according to claim 1.
請求項1又は3記載のコンピュータプログラム。 In the numerical value acquisition step, each of the plurality of elements in the second code group is regarded as a P-adic number, and an arithmetic operation using each of the plurality of P-adic numbers is performed to obtain the n numerical values.
The computer program according to claim 1 or 3.
請求項4記載のコンピュータプログラム。 In the numerical value acquisition step, the four arithmetic operations using a numerical value of each P-adic number and a variable are performed, and a predetermined number among the plural numerical values of the P-adic number is substituted for the variable.
The computer program according to claim 4.
記憶資源と、
ユーザに固有の第一のコード群を前記記憶資源に記憶する第一コード群記憶手段と、
前記第一のコード群を基に、所定の規則に従って、第二のコード群に変換するコード変換手段と、
前記第二のコード群から、漏洩防止対象情報の文字数n(nは2以上の整数)と同数の数値を得る数値取得手段と、
前記取得されたn個の数値からそれぞれ求まる位置に配置されたn個の空白と、それ以外の位置に配置されたダミーコードとから成る虫食いダミーコード群を生成する虫食いダミーコード群生成手段と、
前記生成された虫食いダミーコード群を前記記憶資源に記憶する虫食いダミーコード群生成記憶手段と、
前記n個の空白に、それぞれ、前記n文字から成る漏洩防止対象情報を入れることにより、前記虫食いダミーコード群とそれに入れられた前記n文字の漏洩防止対象情報とで構成される暗号化情報を生成する暗号化手段と、
前記暗号化情報を前記第二のコンピュータシステムに送信する送信手段と
を備えるコンピュータシステム。 In the first computer system that transmits information to be registered to the second computer system,
Storage resources,
First code group storage means for storing a first code group unique to a user in the storage resource;
Based on the first code group, code conversion means for converting to the second code group according to a predetermined rule;
Numerical value acquisition means for obtaining from the second code group a numerical value equal to the number n of characters of the leakage prevention target information (n is an integer of 2 or more);
A worm-eaten dummy code group generating means for generating a worm-eaten dummy code group composed of n blanks arranged at positions obtained from the obtained n numerical values and dummy codes arranged at other positions;
Worm-eaten dummy code group generation storage means for storing the generated worm-eaten dummy code group in the storage resource;
Encrypted information composed of the worm-eaten dummy code group and the n character leakage prevention target information included in the n-blank dummy code group by putting the leakage prevention target information consisting of the n characters in the n spaces, respectively. Encryption means to generate;
A computer system comprising: transmission means for transmitting the encryption information to the second computer system.
記憶資源と、
虫食いダミーコード群とそれに入れられたn文字の漏洩防止対象情報とで構成される暗号化情報を第一のコンピュータシステムから受信する受信手段と、
前記受信した暗号化情報を所定の記憶装置に登録する登録手段と、
ユーザに固有の第一のコード群を前記記憶資源に記憶する第一コード群記憶手段と、
前記第一のコード群を、所定の規則に従って、第二のコード群に変換するコード変換手段と、
前記第二のコード群から、漏洩防止対象情報の文字数n(nは2以上の整数)と同数の数値を得る数値取得手段と、
前記取得されたn個の数値からそれぞれ求まる位置に配置されたn個の空白と、それ以外の位置に配置されたダミーコードとから成る虫食いダミーコード群を生成する虫食いダミーコード群手段と、
前記生成された虫食いダミーコード群を前記記憶資源に記憶する虫食いダミーコード群記憶手段と、
前記受信した暗号化情報から、前記生成された虫食いダミーコード群のn個の空白にそれぞれ対応する位置に存在するn文字の漏洩防止対象情報を特定することにより、該n文字の漏洩防止対象情報を復号する復号手段と
を備えるコンピュータシステム。 A second computer system for receiving information to be registered from the first computer system,
Storage resources,
Receiving means for receiving from the first computer system encrypted information composed of a worm-eaten dummy code group and n-letter leakage prevention target information inserted therein;
Registration means for registering the received encrypted information in a predetermined storage device;
First code group storage means for storing a first code group unique to a user in the storage resource;
Code conversion means for converting the first code group into a second code group according to a predetermined rule;
Numerical value acquisition means for obtaining from the second code group a numerical value equal to the number n of characters of the leakage prevention target information (n is an integer of 2 or more);
Worm-eaten dummy code group means for generating a worm-eaten dummy code group composed of n blanks arranged at positions obtained from the obtained n numerical values and dummy codes placed at other positions;
Worm-eaten dummy code group storage means for storing the generated worm-eaten dummy code group in the storage resource;
By identifying n character leakage prevention target information existing at positions corresponding to n blank spaces of the generated worm-eaten dummy code group from the received encrypted information, the leakage prevention target information of the n characters A computer system comprising: decoding means for decoding.
前記第一のコンピュータシステムの記憶資源から所定のタイミングで前記虫食いダミーコード群を消去させる消去手段、
を更に備えた請求項7記載のコンピュータシステム。 The first computer system is the computer system of claim 6,
Erasing means for erasing the worm-eaten dummy code group at a predetermined timing from the storage resource of the first computer system;
The computer system according to claim 7, further comprising:
を更に備え、
前記消去手段が、前記所定のタイミングで前記コンピュータプログラムも消去させる、
請求項8記載のコンピュータシステム。 Download means for storing a computer program comprising the code conversion means, the numerical value acquisition means, and the worm-eaten dummy code group generation means in the storage resource of the first computer system by downloading the computer program to the first computer system. ,
Further comprising
The erasing means also erases the computer program at the predetermined timing;
The computer system according to claim 8.
前記第一のコンピュータシステムが、前記第一のコード群を、所定の規則に従って、第二のコード群に変換するステップと、
前記第一のコンピュータシステムが、前記第二のコード群から、漏洩防止対象情報の文字数n(nは2以上の整数)と同数の数値を得るステップと、
前記第一のコンピュータシステムが、前記取得されたn個の数値からそれぞれ求まる位置に配置されたn個の空白と、それ以外の位置に配置されたダミーコードとから成る虫食いダミーコード群を生成するステップと、
前記第一のコンピュータシステムが、前記n個の空白に、それぞれ、前記n文字から成る漏洩防止対象情報を入れることにより、前記虫食いダミーコード群とそれに入れられた前記n文字の漏洩防止対象情報とで構成される暗号化情報を生成するステップと、
前記第一のコンピュータシステムが、前記暗号化情報を第二のコンピュータシステムに送信するステップと、
前記第二のコンピュータシステムが、前記第一のコンピュータシステムから前記暗号化情報を受信するステップと、
前記第二のコンピュータシステムが、前記受信した暗号化情報を所定の記憶装置に登録するステップと
を有する情報漏洩防止方法。 A first computer system storing a first code group unique to the user in a first storage resource of the first computer system;
The first computer system converting the first code group into a second code group according to a predetermined rule;
The first computer system obtains, from the second code group, a numerical value of the same number as the number of characters n (n is an integer of 2 or more) of leakage prevention target information;
The first computer system generates a worm-eaten dummy code group consisting of n blanks arranged at positions obtained from the obtained n numerical values and dummy codes arranged at other positions. Steps,
The first computer system puts the leakage prevention target information consisting of the n characters into the n blanks, respectively, so that the worm-eaten dummy code group and the leakage prevention target information of the n characters put therein Generating encrypted information consisting of:
The first computer system transmitting the encryption information to a second computer system;
The second computer system receiving the encrypted information from the first computer system;
An information leakage prevention method comprising: the second computer system registering the received encrypted information in a predetermined storage device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006198950A JP4913493B2 (en) | 2006-07-21 | 2006-07-21 | Information leakage prevention method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006198950A JP4913493B2 (en) | 2006-07-21 | 2006-07-21 | Information leakage prevention method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008028695A true JP2008028695A (en) | 2008-02-07 |
JP4913493B2 JP4913493B2 (en) | 2012-04-11 |
Family
ID=39118891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006198950A Expired - Fee Related JP4913493B2 (en) | 2006-07-21 | 2006-07-21 | Information leakage prevention method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4913493B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010536202A (en) * | 2007-08-07 | 2010-11-25 | 重慶沙海情報科学技術有限公司 | Security method and apparatus for input data |
KR101193599B1 (en) | 2011-05-30 | 2012-10-23 | 주식회사 코맥스 | System for encryption and decryption of data and thereof |
JP2016001337A (en) * | 2015-08-27 | 2016-01-07 | 株式会社アド・ダイセン | Entry form plate and my-number leakage prevention system using the same |
JP2016126638A (en) * | 2015-01-07 | 2016-07-11 | 株式会社日立製作所 | Log collection system and log collection method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11312082A (en) * | 1998-04-28 | 1999-11-09 | Ge Yokogawa Medical Systems Ltd | Data processing method and device |
JP2002185443A (en) * | 2000-12-11 | 2002-06-28 | Hitachi Ltd | Secret key managing system |
JP2005044054A (en) * | 2003-07-25 | 2005-02-17 | Base Technology Inc | Processing system for code string |
JP2007318518A (en) * | 2006-05-26 | 2007-12-06 | Nippon Telegraph & Telephone West Corp | Common encrypting and decrypting method, common encrypting and decrypting device, encryption communication system, program, and recording medium |
-
2006
- 2006-07-21 JP JP2006198950A patent/JP4913493B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11312082A (en) * | 1998-04-28 | 1999-11-09 | Ge Yokogawa Medical Systems Ltd | Data processing method and device |
JP2002185443A (en) * | 2000-12-11 | 2002-06-28 | Hitachi Ltd | Secret key managing system |
JP2005044054A (en) * | 2003-07-25 | 2005-02-17 | Base Technology Inc | Processing system for code string |
JP2007318518A (en) * | 2006-05-26 | 2007-12-06 | Nippon Telegraph & Telephone West Corp | Common encrypting and decrypting method, common encrypting and decrypting device, encryption communication system, program, and recording medium |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010536202A (en) * | 2007-08-07 | 2010-11-25 | 重慶沙海情報科学技術有限公司 | Security method and apparatus for input data |
KR101193599B1 (en) | 2011-05-30 | 2012-10-23 | 주식회사 코맥스 | System for encryption and decryption of data and thereof |
JP2016126638A (en) * | 2015-01-07 | 2016-07-11 | 株式会社日立製作所 | Log collection system and log collection method |
JP2016001337A (en) * | 2015-08-27 | 2016-01-07 | 株式会社アド・ダイセン | Entry form plate and my-number leakage prevention system using the same |
Also Published As
Publication number | Publication date |
---|---|
JP4913493B2 (en) | 2012-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3319069B1 (en) | Method for authenticating a user by means of a non-secure terminal | |
EP1766504B1 (en) | Online data encryption and decryption | |
JP6713548B2 (en) | One-time dynamic position authentication method and system, and one-time dynamic password change method | |
JP5330567B2 (en) | Computer-implemented authentication interface system | |
CN102804200B (en) | Two-factor user authentication system, and method therefor | |
CN114157451B (en) | Internet of things equipment identity authentication method, device and system and storage medium | |
CN106888080B (en) | Protecting white-box feistel network implementations from false attacks | |
US20090249492A1 (en) | Fabrication of computer executable program files from source code | |
KR102055625B1 (en) | Authentication server device, program, and authentication method | |
US20070226784A1 (en) | System and method for user authentication | |
US20150349966A1 (en) | Client/server access authentication | |
CN106888081B (en) | Wide coding of intermediate values within white-box implementations | |
WO2008034900A1 (en) | Fabrication of computer executable program files from source code | |
US20170099144A1 (en) | Embedded encryption platform comprising an algorithmically flexible multiple parameter encryption system | |
CN105024992B (en) | It realizes in the realization of single white box and is arranged using security related | |
CN110135176B (en) | Encryption method for printing data transmission | |
CN112035827B (en) | Cipher data processing method, device, equipment and readable storage medium | |
JP6701359B2 (en) | Dynamic graphical password-based network registration method and system | |
JP2010231510A (en) | User authentication system, user authentication method, authentication server program and client program | |
EP1932275B1 (en) | Security device and building block functions | |
CN105978680B (en) | Encryption operation method for encryption key | |
JP4913493B2 (en) | Information leakage prevention method | |
CN100459495C (en) | Password dynamic enciphering inputmethod of public emipering mode | |
CA2913571A1 (en) | Multi-platform user authentication device with double and multilaterally blind on-the-fly key generation | |
KR100975854B1 (en) | Apparatus and Method for The Password Security on Online |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090306 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111018 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111213 |
|
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: 20120110 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120119 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4913493 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150127 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |