JP3986261B2 - ポイント発行方法、そのプログラム、及びその記録媒体 - Google Patents
ポイント発行方法、そのプログラム、及びその記録媒体 Download PDFInfo
- Publication number
- JP3986261B2 JP3986261B2 JP2001012080A JP2001012080A JP3986261B2 JP 3986261 B2 JP3986261 B2 JP 3986261B2 JP 2001012080 A JP2001012080 A JP 2001012080A JP 2001012080 A JP2001012080 A JP 2001012080A JP 3986261 B2 JP3986261 B2 JP 3986261B2
- Authority
- JP
- Japan
- Prior art keywords
- point
- pnt
- user device
- way function
- user
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 42
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 7
- 238000013019 agitation Methods 0.000 claims 2
- 238000012545 processing Methods 0.000 description 22
- 230000008859 change Effects 0.000 description 13
- 230000008520 organization Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 239000004576 sand Substances 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Images
Landscapes
- Cash Registers Or Receiving Machines (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Description
【発明の属する技術分野】
この発明は利用金額や利用回数などに応じてポイントを発行してもらい、そのポイントの積算数に応じて様々なサービスが受けられる仕組を、インターネットなどによるオンラインで、あるいはオフラインでアクセス可能な多数のユーザが存在する状況下で、電子的に実現する電子ポイントカードの方法に関するものである。
【0002】
【従来の技術】
従来のこの種の電子ポイントカードの方法では、予めポイント発行機関にユーザ登録をし、ポイント発行機関がその時点での積算ポイントを管理する手法を取っており、以下が挙げられる。
・特開平10−78989、仮想商店街におけるポイントカードサービスシステム
・特開平2000−268094、商品ポイント管理システム
この手法に一方向性関数を利用する方法が考えられる。一方向性関数とは、xが与えられたとき、xからy=h(x)を求めることは容易であるが、逆にyが与えられたとき、y=h(x)となるようなxを求めるのは困難である関数である。この一方向性関数hを用いた電子ポイントカードの方法として、次のものが考えられる。つまりポイント発行機関は秘密情報SVs を保持し、このSVs に対し、一方向性関数をm回適用し、
hm(SVs)=h(h(…h(SVs))…) (hの数はm)
を計算し、この値hm(SVs)をユーザに、デジタル署名などの安全な方法を施して、つまりこの値がSVsに対してm回一方向性関数hを施したことを保証して渡す。これが図12に示すように、ユーザではポイント数1のポイントカードが渡されたことになる。ここでhm(SVs)におけるmはSVs に対して一方向性関数hを施した回数であり、これを次数と呼ぶ。
【0003】
その後、ユーザがポイント数wのポイント申請をする際にはPNT=hm(SVs)をポイント発行機関へ送り、ポイント発行機関はSVs に対し、一方向性関数hを適用し、送られたPNTと一致する、PNTの一方向性関数の適用回数(次数)tを求め(2回目の申請ではt=m)、t−wを計算し、SVs に対し、t−w回、一方向性関数を適用した値ht-w(SVs)を計算して、これをポイント数wがそれまでのポイントに対して加算された新たなポイントPNTとしてユーザに返送する。
【0004】
ユーザはこのPNTを受信し、このPNTに対し一方向性関数hをw回適用してhw(PNT)を求め、この値が前回のPNT(この場合はhm(SVs))と一致することを検証して、ポイントが正しく、ポイント発行機関により発行されたことを確認することができる。
このようにして図12に示すように、一方向性関数hの適用回数がポイントの積算数に応じて減少する値がユーザにポイント積算数として与えられる。このようにポイント発行機関ではその申請されたポイント数に応じた次数の一方向性関数を発生してポイントとしてユーザへ送ればよく、ユーザでは送られたポイントが正しいものであるかを確認することができる。
【0005】
【発明が解決しようとする課題】
しかし、一方向性関数を利用する方法では、ユーザからポイント申請があるごとに、その申請中のポイントと対応するPNTと、SVs に対する一方向性関数hの適用回数とから、それまでのポイント積算値を確認し、その積算値から新たに積算するポイント数に応じた一方向性関数の適用回数を求めて、その一方向性関数適用値を求めてポイントPNTとしてユーザに送るため、ポイント発行機関での計算量が多いという問題がある。
【0006】
【課題を解決するための手段】
第1発明によれば、ユーザは初回のポイント請求を、ユーザの秘密情報SVu に一方向性関数hを適用した値Req=h(SVu)とScore(=0)をポイント発行機関に送付して行い、ポイント発行機関はポイント請求を受けると、ポイント発行機関の秘密情報SVs とReqに対して一方向性関数hを適用した値PNT=h(SVs ,Req)と、Scoreを+1したScoreをユーザに送付する。ユーザは2回目以後のポイント請求を、前回のポイント請求に対して送付されたPNTをReqとし、これとScoreをポイント発行機関に送付して行い、ポイント発行機関は同様に処理する。
【0007】
ポイント発行機関が、一度にb(bは2以上の整数)を発行する際は、Reqに対し、SVs を用いて一方向性関数hを適用することをb回行い、その際に1回ごとにSVs を用いて
PNT=h(SVs ,h(SVs ,…,h(SVs ,Req)…))(hの数b)
を計算してPNTを作成し、Scoreを+bして更新して、PNTとScoreをユーザへ送付する。
【0008】
第2発明によれば、SVs から作られるSVs ,h(SVs),h2(SVs),…をSVs の系列と呼ぶこととし、ha(SVs)はSVs に対し一方向性関数hをa回適用した値であり、aを次数と呼ぶこととし、ユーザは、初回のポイント請求を、Req=h(SVu)を作成してポイント発行機関に送付して行い、ポイント発行機関はPNT=hn(SVs ,h(SVu))を作成し、これをポイントとして安全性処理を施してユーザへ送付し、次回からはポイント請求を、ユーザはReq=(前回のPNT,h(SVu))をポイント発行機関へ送って行い、ポイント発行機関は、Req中の前回のPNTの次数tを算出し、t>1であれば、PNT=ht-1(SVs ,h(SVu))を、t<1であれば、系列を乗り換えてPNT=hn(SVs′ ,h(SVu))を安全性処理を施してユーザへ送る。
【0009】
ポイント発行機関は一度にb点(bは2以上の整数)のポイントを発行する場合は受け取った前回のPNTの次数tに対しt>bならPNT=ht-b(SVs ,h(SVu))をユーザへ送り、t<bならば系列を乗り換えて、hn(SVs′ ,h(SVu))とPNT=hn-(b-t)(SVs′ ,h(SVu))を少くとも前者には安全性処理を施してユーザへ送る。
又、次の方法が考えられる。ポイント発行機関は、予めユーザから受け取ったh(SVu)を用いてhn+1(SVs ,h(SVu)),hn+1(SVs′,h(SVu)),hn+1(SVs″,h(SVu)),…を一括して安全性処理を施してユーザへ送り、ユーザはポイント請求を初回はReq=hn+1(SVs ,h(SVu))を、2回目以降はReq=(前回のPNT、h(SVu))をポイント発行機関に送り、ポイント発行機関は、Req中に前回のPNTが含まれていなければ、PNT=hn(SVs ,h(SVu))を、前回のPNTが含まれていれば、そのPNTの次数tを求め、t>1であればPNT=ht-1(SVs ,h(SVu))を、t<1ならばhn(SVs′,h(SVu))をユーザへ送る。ポイント発行機関が1度にb点(bは2以上の整数)のポイントで発行する場合の処理は、t>bならPNT=ht-b(SVs ,h(SVu))を、t<bなら系列を乗り換えてPNT=hn-(b-t)(SVs′,h(SVu))をユーザへ送る。
【0010】
【発明の実施の形態】
以下のこの発明の実施形態では図1に示すように複数のユーザ装置100とポイント発行機関装置200とがデータをネットワーク300を経由で送受信するものとして記述するが、両者は必ずしもネットワークで接続される必要はなく、両者間のデータは例えばユーザ装置がICカードのような携帯端末であって、ポイント発行機関装置が店頭に設置され、両者がデータを直接やりとりするようなものであってもよい。
第一実施形態
ユーザ装置100を図2に、ポイント発行機関装置200を図3にそれぞれ示すように、ユーザ装置100の記憶部101にユーザ情報IDu 、秘密情報SVu が記憶されてあり、ポイント発行機関装置200の記憶部201に秘密情報SVs が記憶されている。
【0011】
図4に示すようにユーザ装置100は初回ポイント請求時にIDu とSVu を一方向性関数演算部102に入力して一方向性関数hを適用してReq=h(IDu ,SVu)を計算し、このReqとScore(=0)を、ポイント要求作成部103でポイント請求としてポイント発行機関装置200に送付部104により送信する。
これらを受信部202で受信したポイント発行機関装置200は、そのReqとSVs を一方向性関数演算部203に入力して一方向性関数hを適用してPNT=h(SVs ,Req)(=h(SVs ,h(IDu ,SVu)))を作成し、さらにスコア更新部204でScoreを1加算して更新しこれらをPNTとScoreポイントとしてユーザ装置100に送信部205より返送する。ユーザ装置100は受信部105でポイントPNT,Scoreを受信すると記憶部101に格納しておく。
【0012】
2回目以降のポイント請求では、ユーザ装置100は前回ポイント発行機関装置200より受信したPNTとScoreを用い、ポイント要求作成部103でReq(=PNT)とScoreをポイント請求として送信部104よりポイント発行機関装置200に送信する。ポイント発行機関装置200は受信したポイント請求に対し初回の時と同様の処理をする。
Scoreが満額規定ポイント数に達した時、ユーザ装置100はその時のPNT,ScoreとIDu ,SVu を満額通知として送信部104よりポイント発行機関装置200に送信する。ポイント発行機関装置200はユーザ装置100から受信したこれらのデータと、SVs を検証部206に入力して、PNTがScore回一方向性関数が施されて作成されたこと、つまり、SVu ,IDu に対し一方向性関数hを適用してh(SVu ,IDu)を計算し、h(SVu ,IDu)に対しSVs を用いてScore回(例えばm回)一方向性関数を適用することを各適用ごとにSVs を用いて
h(SVs ,h(SVs ,h(SVs ,…,h(SVs ,h(SVu ,IDu ) ))))
h(SVu ,IDu)以外のhの数はm
を計算し、この計算結果とPNTが一致することを確認し、また受信したSVu ,IDu と同一のものがデータベース207に登録されていないことを確認して、そのSVu ,IDu を満額到達者としてデータベース207に追加登録する。これによりポイントが満額になったことにもとづく例えばサービスをユーザは受けることができる。ユーザ装置100より新たにポイント請求を行う場合は、今までに使用していない秘密情報SVu′を用いて、図4に示した手順を行う。満額通知を受信し、そのSVu ,IDu がデータベース207に既に登録されていれば、その満額通知に対するポイントサービスは既に済まされたものであり、2重使用が防止される。
【0013】
この実施形態では、各ポイント請求ごとにポイント発行機関装置200は、1回一方向性関数を適用すればよく、演算量が少なくて済む。また、満額通知までは、ユーザを明かす必要がなく、それまでは秘匿性が保持される。
なおこの場合のポイント発行機関装置200の処理手順は図5に示すようになる。つまり入力が有り(S1)、ポイント請求であれば(S2)、Scoreを+1して更新し(S3)か、h(SVs ,Req)を計算してPNTを求め(S4)、PNTとScoreをユーザ装置100へ送る(S5)。
【0014】
ステップS2で満額通知であれば(ポイント請求でなければ)、Req←h(SVu ,IDu )を計算し、Req←h(SVs ,Req)をScore回数計算し(S6)、その計算結果がPNTと等しければ(S7)、SVu ,IDu がデータベースに登録されているかを調べ(S8)、登録されていなければ、そのSVu ,IDu をデータベースに追加登録する(S9)。ステップS6,S7より先にステップS8を行ってもよい。ステップS7で一致しない場合、ステップS8で二重使用の場合は、その満額通知に対し、受付拒否通知をする(S10)。
第一提案形態
この第一提案形態は前記第一実施形態に加えて、お釣りポイントを発行する方法である。つまり満額通知があった際にそのScoreが満額ポイント数mより大である場合にその超過した分について新たなポイントカードを発行する。ポイントの請求、ポイントの発行は第一実施形態と同様である。
【0015】
Scoreが満額規定ポイント数に達し、かつScoreが満額規定ポイント数を上回った時、ユーザ装置100はその時のPNT,ScoreとIDu ,SVu およびSVu とは異なるSVu′を用いて作成したh(IDu ,SVu′)をポイント発行機関装置200に送信する。ポイント発行機関装置200はユーザから受信したこれらのデータと、SVs を用いて、PNTがScore回一方向性関数が施されて作成されたこと、およびデータベース207からこれが二重使用されたものではないことを確認して、SVu ,IDu を満額到達者としてデータベース207に追加登録する。これらの操作は第一実施形態と同様である。
【0016】
ポイント発行機関装置200は更に満額規定ポイント数mよりScoreが超過した値Score−m=αを求め、受領したh(IDu ,SVu′)とSVs を用いてh(IDu ,SVu′)に対しSVs を用いて一方向性関数hをα回繰返し適用し、その1回の適用ごとにSVs を用いて
PNT=h(SVs ,h(SVs ,…,h(SVs ,h(IDu ,SVu′))…))
h(IDu ,SVu′)を除くhの数はαである
を計算して、この値をPNTとし、これとScore=αをお釣りポイントとしてユーザ装置100に返送する。ユーザ装置100はこれをScore=αであるポイントとして新たに利用が可能である。このお釣りポイントの発行手順は図5中に破線で示すようにScoreが満額ポイントmより大であれば(S11)、その差αを求め(S12)、Req←h(SVu′,IDu)を求め、Req←h(SVs,Req)をα回行ってPNTを求め(S13)、このPNTとScore=αをお釣りポイントとしてユーザ装置100へ送付する(S14)。
【0017】
この例ではScoreが満額規定ポイント数mを超えた場合の満額通知時にユーザ装置100はそれまで使用したSVu の他にこれと異なるユーザの秘密情報SVu′を送信したがh(SVu′)として送信してもよい。SVu′又はh(SVu′)の送信はポイント発行機関装置200で受信したScoreが満額ポイントを上回っていることを確認して、ポイント発行機関装置200がユーザ装置100に新たなユーザ秘密情報の送信を要求して受信するようにしてもよい。
第二実施形態
第一実施形態ではポイント請求ごとにScoreを1加算したが、1乃至複数のポイントを加算するようにしてもよい。この場合はポイント発行機関装置200はユーザ装置100から受信したReqに対し、SVs を用いて一方向性関数hを適用することをその適用ごとにSVs を用いてb回行い、
PNT=h(SVs ,h(SVs ,…,h(SVs ,Req)…))
hの数はb
を計算し、またScoreをbだけ加算し、その加算したScoreとPNTをユーザ装置100へ送信する。ここでbは1以上の整数であり、ユーザ装置100からReq,Scoreと共にb又はbと対応する値あるいはデータなどがポイント発行機関装置200に送られ、ポイント発行機関装置200ではbと対応する値あるいはデータなどが送られて来た場合は、これらをbに換算して処理することになる。
【0018】
上述した各実施形態において、ポイント発行機関装置200で、その秘密情報SVs を用いて一方向性関数演算する場合に、その都度、異なる秘密情報SVs1,SVs2,SVs3,…を順次用いてもよい。
第三実施形態
ポイント発行機関装置200はSVs ,SVs′,SVs″,…を、ユーザ装置100はSVu ,SVu′,SVu″,…を各々秘密情報として持っている。またユーザ装置100のユーザ情報をIDu とする。
【0019】
ユーザ装置100は初回ポイント請求時に、Req=h(SVu)をポイント発行機関装置200に渡す。図6に示すようにポイント発行機関装置200はこれらを受信すると(S1)、PNT=hn(SVs ,h(SVu))を演算し(S2)、このPNTに対しディジタル署名などにより安全性処理を施して(S3)、ユーザ装置100へ送信する(S4)。
次回からのポイント請求ではユーザ装置100はReq=(前回のPNT,h(SVu))としてReqをポイント発行機関装置に送信する。ポイント発行機関装置200はこれを受領すると(S5)、そのReqに含まれる(前回のPNT)の次数(hが施されている回数)tを算出し(S6)、つまり前回のPNTに対し、何回一方向性関数を適用すると初期値hn(SVs ,h(SVu))と等しくなるかを確認し、その時の適用回数をnから引算した値が次数tであり、その次数tがt>1であれば(S7)、PNT=ht-1(SVs ,h(SVu))を計算し(S8)、そのPNTをユーザ装置100に送信する(S9)。tがt<1であればSVs 系列から次のSVs′系列へ乗り換えてPNT=hn(SVs′,h(SVu))を計算し(S10)、そのPNTにディジタル署名などの安全性処理を施して(S11)、ユーザ装置100へ送信する。
【0020】
つまり例えば図7に示すように先ずSVs の系列としてhn(SVs ,h(SVu))1ポイント目にユーザ装置100へ安全性処理を施して送信し、よってユーザ装置100は受信したhn(SVs ,h(SVu))が1ポイント目であることを検証でき、あるいは、1ポイント目であることが保証される。ポイント請求を行うごとにht(SVs ,h(SVu))の一方向性関数の次数tが順次1つずつ減少される。ユーザ装置100は受信したPNTに対し、一方向性関数hを繰返し適用して、最初に受信したhn(SVs ,h(SVu))と一致した時の適用回数から、受信したPNTのポイント数に誤りがないことを確認することができる。
【0021】
ポイント請求が繰返され、h(SVs ,h(SVu))、つまりnポイントまで請求した次のポイント請求、つまりn+1点に対しては別なSVs 系列の一方向性関数hn(SVs ,h(SVu))に乗り換えられ、同様にしてポイント請求ごとにその一方向性関数hの適用回数が1つずつ減少されたPNTが生成され、ポイント数が2nになり、つまりPNT=h(SVs′ ,h(SVu))になり、次のポイント請求、つまり2n+1ポイント目の請求が行われると、更に別なSVs 系列の一方向性関数hn(SVs″,h(SVu))に乗り換えられ、このPNT=hn(SVs″,h(SVu))が安全性処理を施されてユーザ装置100へ送信される。
【0022】
例えば3nポイントで満額になるとされると、図12に示した場合と比較してSVs 系列が1本の所が3本に分割されたことになり、各SVs 系列におけるPNT発行時の一方向性関数の繰返し回数が少なくて済む。
ユーザ装置100においてポイント数PNTが満額になると満額通知と共にPNT,SVu 、必要に応じてh(SVu′)をポイント発行機関装置200へ送信する。図8に示すようにポイント発行機関装置200はこれらを受信すると(S1)、受信したSVu がデータベース207に登録されている、つまり二重使用かを調べ(S2)、二重使用でなければ受信したSVu に対し一方向性関数hを適用してh(SVu)を求め、更にこれとSVs を用いてn回一方向性関数hを適用してhn(SVs ,h(SVu))を計算し、この値が先にユーザ装置100へ送信したhn(SVs ,h(SVu))と一致するかを調べ、同様にhn(SVs′,h(SVu)),hn(SVs″,h(SVu))を計算し、これらが先に送信したものと一致しているか調べ、また受信したPNTがh(SVs″,h(SVu))と一致するかを調べる(S3)。なおこの確認は例えばhn(SVs″,h(SVu))と、h(SVs″,h(SVu))とだけでもよい。これらの一致が確認されればそのSVu をデータベース207に追加登録する(S4)。受信したh(SVu′)は次のポイントカード発行に利用する。
【0023】
次にポイント機関装置200で一度に加算するポイント数が1に限らない場合を、図7に示した複数一方向性関数系列に適用した場合を説明する。ポイント機関装置200で加算するポイント数bは1以上の整数であり、このbはユーザ装置100から送られる場合と、対応する値やデータなどを受信して、これをポイント数bに変換する場合がある。この場合の処理は図6に示した処理においてステップS1〜S6までは同様である。ステップS6で前回のPNTの次数tを算出した後、図7に示すようにt>bかを調べ(S7)、t>bであればht-b(SVs ,h(SVu))を計算して計算結果をPNTとして(S8)、そのPNTをユーザ装置100へ送信する(S9)。
【0024】
ステップS7でt>bでなければ、SVs 系列を乗り換え、この例ではhn-(b-t)(SVs′,h(SVu))を計算しこれをPNTとし、更にhn(SVs′,h(SVu))を計算する(S10)。hn(SVs′,h(SVu))に対し、ディジタル署名などの安全性処理を施し(S11)、その安全性処理を施したSigb(hn(SVs′,h(SVu)))とPNTをユーザ装置100へ送信する(S12)。なお最初のポイント請求時にbが複数であればhn(SVs,h(SVu))を安全性処理を施して送ると共にPNT=hn-b-1(SVs ,h(SVu))をユーザ装置へ送ればよい。
【0025】
図7に示したSVs の複数系列を使用する場合における満額通知処理においてお釣りポイント発行を行うには受信したPNTの正当性を確認した後、図8に破線で示すようにPNTのポイント数dが満額ポイントeより大であれば(S5)d−e=rを求め(S6)、それまでのユーザ秘密情報SVu と異なる秘密情報SVu′に対して一方向性関数hを施したh(SVu′)を用い、複数のSVs 系列の最初から用いて、hn-r(SVs ,h(SVu′))を計算し、これをお釣りポイントPNTとし、またhn(SVs ,h(SVu′))を計算し(S7)、hn(SVs ,h(SVu′))に安全性処理を施し(S8)、これとお釣りポイントPNTをユーザ装置100へ送信する(S9)。なおこの例ではポイント数3nはこのシステムが表現できるポイント数の上限であって、満額ポイントeは3n未満の値である。
第二提案形態
複数のSVs 系列を使用する場合の他の例である。予めユーザ装置はh(SVu)をポイント発行機関装置200に渡しておき、ポイント発行機関装置200は図10に示すようにh(SVu)を受信すると(S1)、hk+1(SVs ,h(SVu)),hk(SVs′,h(SVu)),hk(SVs″,h(SVu)),…演算し(S2)、これらに対して一括して安全性処理を施して(S3)、ユーザ装置100に渡しておく(S4)。この段階では0ポイントである。
【0026】
ポイント請求時にユーザ装置100は、初回の場合はReq=hn+1(SVs ,h(SVu))を送信する。ポイント発行機関装置200は、ポイント請求Reqを受信すると(S5)、それが最初のものか、つまりそのReqがhn+1(SVs ,h(SVu))と等しいかを調べ(S6)、等しければ、PNT=hn(SVs ,h(SVu))を計算し(S7)、その計算結果をPNTとしてユーザ装置100へ送信する(S8)。
ユーザ装置100は2回目以降のポイント請求の場合は、Req=(前回のPNT,h(SVu))を、ポイント発行機関装置200に渡す。ポイント発行機関装置200は受信したReqがステップS6でhn+1(SVs ,h(SVu))と一致しない場合は受信したReq中の前回のPNTの次数(hが施されている回数)tを算出し(S9)、そのtがt>1であれば(S10)、PNT=ht-1(SVs ,h(SVu))を計算し(S11)、その結果をPNTとしてユーザ装置100へ送信する(S8)。算出したtがt<1であればSVs 系列からSVs′系列に乗り換えてhk(SVs′,h(SVu))を計算し(S12)、その計算結果をPNTとしてユーザ装置100に返す。
【0027】
つまりこの場合は図11に示すように、SVs 系列が3つの場合は、図7と比較して理解されるように、最初に各系列SVs ,SVs′, SVs″のn+1次の一方向性関数値が安全性処理が施されてユーザ装置へ送られているため、SVs 系列を乗り換える際に、乗り換えた系列の最初の値(最高次数)に対して安全性処理を施す必要はない。与えるポイント数とPNTの値は図7と図11は同一値となる。ユーザ装置100で各系列についてn+1次数の値が安全に送られているので、PNTが正しいものであるかの確認は図7の場合と同様に行うことができる。
【0028】
この第三提案形態においても、ポイント発行機関装置200で一度に複数ポイントを加算することもできる。この場合の処理は図10中のステップS1〜S6と同様の処理を行い、ステップS7では加算ポイント数をbとするとPNT=hn-b+1(SVs ,h(SVu))を計算し、ステップS10ではt>bかを調べ、t>bであればステップS11でPNT=ht-b(SVs ,h(SVu))を計算し、t>bでなければ、ステップS12でPNT=hn-(b-t)(SVs′,h(SVu))を計算すればよい。
【0029】
この図11に示した方法においても満額通知はPNT,SVu 、必要に応じてh(SVu′)をポイント発行機関装置200へ送り、ポイント発行機関装置200において図8に示したと同様に行えばよい、ただしこの場合は図8中のステップS3で一方向性関数hをn+1回施して一致するかの確認をとる。お釣りポイントの発行も同様に行うことができ、この場合図8中のステップS7でPNT=hn-r(SVs ,h(SVu′))の他に、hn+1(SVs ,h(SVu′)),hn+1(SVs′ ,h(SVu′)),…も計算し、この次数n+1の一方向性関数値に対して一括して安全性処理を施してユーザ装置へ送ることになる。
【0030】
上述した各実施形態において、ポイント発行機関装置200の秘密情報SVs1,SVs2,SVs3,…としてhx(SVs),hx-1(SVs),hx-2(SVs),…を用いれば、SVs のみを保持しておき、必要な秘密情報をSVs から計算して用いることができ、ポイント発行機関装置200の秘密情報の格納記憶容量を小とすることができる。同様にユーザ装置100の秘密情報SVu ,SVu′,SVu″,…としてhy(SVu),hy-1(SVu),hy-2(SVu),…を用いてもよい。このようにすればデータベース207に追加登録する際に、それまでの秘密情報を消去して、今回受信した秘密情報、例えばhy-2(SVu)を登録する。つまりhy-2(SVu)に対し、1回一方向性関数hを適用すればhy-1(SVu)となり、この値がデータベース207に登録されていれば、そのhy-2(SVu)は2重使用のものでないことを確認できる。従って満額通知があり、正当なものについてユーザ秘密情報の全てをデータベース207に格納しておく必要がなく、最新の1つの秘密情報のみを登録しておけばよく、記憶容量を小さくすることができる。
【0031】
上述において、例えばh(IDu ,SVu)はIDu ,SVu のビット連結に対し一方向性関数hを適用することを、念頭においたが、例えばIDu とSVu の排他的論理和に対し一方向性関数hを適用するなど、IDu とSVu を含むものであればよい。更に上述において、IDu を用いたが、これを省略してもよい。また逆に図7、図11に示した実施形態において、h(SVu)の代りにh(SVu ,IDu)を用いてもよい。
一方向性関数hの1回の計算量を1とし、その時の安全性処理関数F(例えばディジタル署名)を1回施すための計算量をC(F)とし、図12に示した方法における一方向性関数の最大値をmとすると、ポイント発行機関装置における初回からm回目までの合計の計算量C(P) はC(P) =(m(m+1)/2)+C(F)となる。
【0032】
一方、図7に示した方法において、全体SVs 系列の一方向性関数の適用長を図12の場合と同様にmとすると、合計の計算量は、
図11に示した方法においては合計の計算量は
C(I1),C(I2)の各極小値C(I1)min,C(I2)minは
n=√C2・C(F)の時でC(I1)min=n{(1/2)+√(2・C(F))}
n=√2の時でC(I2)min=m((3/2)+√2)+C(F)
となる。
【0033】
これらとC(P)との差は
C(P)−C(I1)min=(1/2)(m−√(2・C(F))2 >0
となり、m>n=√(2・C(F)であればC(F)によらず、図7に示した方法は図12に示した方法よりも計算量が下回っている。一般的に関数hの計算量を1とし、Fをディジタル署名とすると、C(F)=10000程度とされているので、図7に示す方法は現存する一般的なポイントカードシステムへの適用においても十分効果が期待できる。
【0034】
C(P)−C(I2)min=(m/2)(m−2−2√2)
となり、m>2+2√2かつn=√2ならばC(F)によらず、図11に示した方法は図12に示した方法よりも計算量が下回る。現在のポイントカードシステムではm=100〜1000000程度であると想定され、図11に示した方法も現存する一般的なポイントカードシステムへ適用して十分な効果が期待できる。
上述した各実施形態において、ユーザ装置100、ポイント発行機関装置200はそれぞれコンピュータによりプログラムを実行させて機能させるようにすることもできる。
【0035】
【発明の効果】
上記各実施形態によれば、安全性が高く、電子署名よりも処理速度の速い一方向性関数を用いることで電子ポイントカードシステムを構築することができる。
積算ポイント数が満額に達するまでは、ユーザ情報IDu は一方向性関数hで守られているため、満額までは匿名で参加可能である。
また、ポイント発行機関装置ではSVs を用いてPNTを発行していることが、自分が発行したことの証拠となるため、ユーザのポイント獲得状況をデータベース等で逐一管理する必要はない。これにより、インターネット上など数多くのユーザが存在する環境に対してもポイント発行機関が大規模なデータベースなどを用意する必要はない。さらに満額到達通知の際に送られてくるIDu とSVu を管理しておくことにより、ポイントの二重使用が避けられる。
【図面の簡単な説明】
【図1】この発明が適用されるシステム構成の例を示す図。
【図2】第一実施形態におけるユーザ装置の機能構成例を示す図。
【図3】第一実施形態におけるポイント発行機関装置の機能構成例を示す図。
【図4】単発発行におけるポイント請求・発行の手順を示す図。
【図5】図3のポイント発行機関装置の処理手順の例を示す図。
【図6】第四実施形態におけるポイント発行機関装置の処理手順の例を示す流れ図。
【図7】第四実施形態におけるSVs の系列とその乗り換えとポイントの関係例を示す図。
【図8】第四実施形態における満額通知処理の手順とお釣りポイント発行手順の例を示す図。
【図9】第四実施形態における一度に発行するポイント数を一般化した処理手順例の一部を示す流れ図。
【図10】第五実施形態におけるポイント発行機関装置の処理手順の例を示す流れ図。
【図11】第五実施形態におけるSVs の系列とその乗り換えとポイントの関係例を示す図。
【図12】改善されたポイント発行の手順を説明するための図。
Claims (5)
- 送信手段、受信手段、秘密情報記憶手段、ポイント演算手段、検証手段、データベース、スコア更新手段を有するポイント発行装置が行うポイント発行方法であって、
ユーザ装置からのポイント請求時において、
上記受信手段が、ポイント値Scoreが1以上の場合は、上記ユーザ装置から前回までのポイント値Scoreと、そのScoreに対応するポイント攪拌値PNTとの組み合わせを受信し、ポイント値Scoreが0の場合は、ポイント値Scoreと、ユーザ装置のユーザ秘密情報SV U に一方向性関数hを適用した値であるポイント攪拌値PNTとの組み合わせを受信し、
上記ポイント演算手段が、上記秘密情報記憶手段に格納された発行機関秘密情報SVsと上記受信したPNTとに上記一方向性関数hをb(bは1以上の整数)回適用して新しいPNTを作成し、
上記スコア更新手段が、上記受信したScoreに上記bを加算し、
上記送信手段が、上記作成した新しいPNTと上記加算した値Scoreとを上記ユーザ装置に送信し、
上記ユーザ装置からの満額到達通知時において、
上記受信手段が、上記ユーザ装置からPNTとScoreとSVuとを含む満額到達通知情報を受信し、
上記検証手段が、PNTが、SVu,SVs に上記満額到達通知情報中のScore回、上記一方向性関数hを適用して作成されたことを検証し、この満額到達通知情報中のSVuが上記データベースに登録されていないことを確認し、そのSVuを上記データベースに追加登録する、ことを特徴とするポイント発行装置が行うポイント発行方法。 - 送信手段、受信手段、秘密情報記憶手段、ポイント演算手段、検証手段、データベース、ポイント次数算出手段、判定手段を有するポイント発行装置が行うポイント発行方法であって、
上記ユーザ装置からの初回ポイント請求時において、
上記受信手段が、上記ユーザ装置からユーザ秘密情報SVuに一方向性関数hを適用し
たReq(=h(SVu))をポイント請求として受信し、
上記ポイント演算手段が、上記受信したReqと上記秘密情報記憶手段に格納された 第1の発行機関秘密情報SVsとに一方向性関数hをn(nは2以上の整数)回適用して
PNT(=hn(SVs,h(SVu))を作成し、
上記送信手段が、上記作成したPNTを上記ユーザ装置に送信し、
上記ユーザ装置からの次回以後のポイント請求時において、
上記受信手段が、前回のPNTとh(SVu)とを上記ユーザ装置から受信し、
上記ポイント次数算出手段が、上記受信した前回のPNTの次数(一方向性関数hが施された回数)tを算出し、
上記判定手段が、上記算出したtがt>b(bは1以上の整数)であるか否かを判定し、
上記ポイント演算手段が、上記判定結果がt>bであればSVsとh(SVu)に一方向性関数hをt−b回適用して新しいPNTを作成し、上記判定結果がt≦bであれば上記秘密情報記憶手段に格納された第2の発行機関秘密情報SVs′とh(SVu)に一方向性関数hをn−(t−b)回適用して新しいPNTを作成し、
前記送信手段が、上記作成された新しいPNTを上記ユーザ装置に送信し、
上記ユーザ装置からの満額到達通知時において、
上記受信手段が、上記ユーザ装置からPNTとSVuを含む満額到達通知情報を受信し
、
上記検証手段が、上記受信したSVuが上記データベースに登録されていないことを確
認し、上記受信したSVuに対して一方向性関数hを適用してh(SVu)を作成し、作成したh(SVu)とSVsとSVs′に一方向性関数hをn回適用してhn(SVs,h(S
Vu)),hn(SVs′,h(SVu))を作成し、これらの値が先にユーザ装置に送信したものと一致すればそのSVuを上記データベースに追加登録する、
ことを特徴とするポイント発行装置が行うポイント発行方法。 - 送信手段、受信手段、秘密情報記憶手段、ポイント演算手段、検証手段、データベース、ポイント次数算出手段、判定手段を有するポイント発行装置が行うポイント発行方法であって、
上記ユーザ装置からの初回ポイント請求時において、
上記受信手段が、上記ユーザ装置からユーザ秘密情報SVuに一方向性関数hを適用し
たReq(=h(SVu))をポイント請求として受信し、
上記ポイント演算手段が、上記受信したReqと上記秘密情報記憶手段に格納された 第1の発行機関秘密情報SVsとに一方向性関数hをn(nは2以上の整数)回適用して
PNT(=hn(SVs,h(SVu))を作成し、
上記送信手段が、上記作成したPNTを上記ユーザ装置に送信し、
上記ユーザ装置からの次回以後のポイント請求時において、
上記受信手段が、前回のPNTとh(SVu)とを上記ユーザ装置から受信し、
上記ポイント次数算出手段が、上記受信した前回のPNTの次数(一方向性関数hが施された回数)tを算出し、
上記判定手段が、上記算出したtがt>b(bは1以上の整数)であるか否かを判定し、
上記ポイント演算手段が、上記判定結果がt>bであればSVsとh(SVu)に一方向性関数hをt−b回適用して新しいPNTを作成し、上記判定結果がt≦bであれば上記秘密情報記憶手段に格納された第2の発行機関秘密情報SVs′とh(SVu)に一方向性関数hをn−(t−b)回適用して新しいPNTを作成し、
前記送信手段が、上記作成された新しいPNTを上記ユーザ装置に送信し、 上記ユーザ装置からの満額到達通知時において、
上記受信手段が、上記ユーザ装置からPNTとSVuを含む満額到達通知情報を受信し
、
上記検証手段が、上記受信したSVuが上記データベースに登録されていないことを確
認し、受信したPNTのポイント数dが満額ポイント数eよりも大であれば、r=d−eを計算し、第2のユーザ秘密情報SVu′に対して一方向性関数hを適用してh(SVu′)を作成し、作成したh(SVu′)とSVsとに一方向性関数hをn回適用してhn-r(
SVs,h(SVu′)),hn(SVs,h(SVu′))を作成し、これらの作成したhn-r(SVs,h(SVu′)),hn(SVs,h(SVu′))をユーザ装置に送信する、
ことを特徴とするポイント発行装置が行うポイント発行方法。 - 請求項1乃至3のいずれかに記載の方法の各過程をコンピュータに実行させるプログラム。
- 請求項4に記載したプログラム記載したプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001012080A JP3986261B2 (ja) | 2001-01-19 | 2001-01-19 | ポイント発行方法、そのプログラム、及びその記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001012080A JP3986261B2 (ja) | 2001-01-19 | 2001-01-19 | ポイント発行方法、そのプログラム、及びその記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002215891A JP2002215891A (ja) | 2002-08-02 |
JP3986261B2 true JP3986261B2 (ja) | 2007-10-03 |
Family
ID=18879139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001012080A Expired - Fee Related JP3986261B2 (ja) | 2001-01-19 | 2001-01-19 | ポイント発行方法、そのプログラム、及びその記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3986261B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7725730B2 (en) * | 2002-08-09 | 2010-05-25 | Emc Corporation | Cryptographic methods and apparatus for secure authentication |
-
2001
- 2001-01-19 JP JP2001012080A patent/JP3986261B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002215891A (ja) | 2002-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7047760B2 (ja) | システム、データ管理方法及びプログラム | |
JP4039632B2 (ja) | 認証システム、サーバおよび認証方法並びにプログラム | |
JP4120125B2 (ja) | 利用許可証発行装置および方法 | |
CN108229926B (zh) | 业务结算方法及相关装置 | |
WO1997050205A1 (en) | Digitally signing agreements from remotely located nodes | |
WO1997050205A9 (en) | Digitally signing agreements from remotely located nodes | |
US7287010B1 (en) | Information processing device and method, and providing medium | |
CN111815322B (zh) | 一种基于以太坊的具备可选隐私服务的分布式支付方法 | |
KR102227578B1 (ko) | 블록체인 네트워크를 이용한 영지식 증명 기반의 인증서 서비스 방법, 이를 이용한 인증 지원 서버 및 사용자 단말 | |
JP2001188757A (ja) | 証明書を用いたサービス提供方法 | |
CN110889762A (zh) | 一种数据处理方法、设备及介质 | |
KR102323755B1 (ko) | 프라이버시 블록체인 플랫폼 기반 물류 방법 및 물류 시스템 | |
JP2003150735A (ja) | 電子証明書システム | |
JP3986261B2 (ja) | ポイント発行方法、そのプログラム、及びその記録媒体 | |
JP3793377B2 (ja) | データ格納システム及びデータ格納プログラムを格納した記憶媒体 | |
JP2006221462A (ja) | サービス利用者装置、サービス提供者装置、課金管理装置、ネットワーク接続サービスシステム、及びネットワーク接続サービスにおける課金方法。 | |
JP4245523B2 (ja) | 電子権利譲渡処理方法、電子権利譲渡管理システム及びその装置、並びにプログラム | |
CN113627911A (zh) | 一种基于区块链匿名收发红包的方法、设备及储存介质 | |
CN114978645A (zh) | 基于区块链的数据处理方法、装置、服务器及存储介质 | |
CN114567422A (zh) | 一种基于隐私保护的公开验证真值确定方法 | |
CN114128213B (zh) | 用于验证公钥的可靠性的装置、方法以及其程序 | |
JP4018370B2 (ja) | 署名分散システム、プログラム及び方法 | |
US7219232B2 (en) | Method of providing information via a communication network and information providing system | |
JP7284396B2 (ja) | 情報処理装置、データアクセス制御プログラム及びデータアクセス制御システム | |
KR100838297B1 (ko) | 무선통신망을 이용한 백화점카드 중계 서비스 장치 및 그방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060228 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060426 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070129 |
|
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: 20070703 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070710 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100720 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100720 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110720 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |