JP6640858B2 - 取引を処理するための方法及び装置 - Google Patents

取引を処理するための方法及び装置 Download PDF

Info

Publication number
JP6640858B2
JP6640858B2 JP2017533197A JP2017533197A JP6640858B2 JP 6640858 B2 JP6640858 B2 JP 6640858B2 JP 2017533197 A JP2017533197 A JP 2017533197A JP 2017533197 A JP2017533197 A JP 2017533197A JP 6640858 B2 JP6640858 B2 JP 6640858B2
Authority
JP
Japan
Prior art keywords
card number
secret key
original
module
original card
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017533197A
Other languages
English (en)
Other versions
JP2018507582A5 (ja
JP2018507582A (ja
Inventor
イン ジュン
イン ジュン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2018507582A publication Critical patent/JP2018507582A/ja
Publication of JP2018507582A5 publication Critical patent/JP2018507582A5/ja
Application granted granted Critical
Publication of JP6640858B2 publication Critical patent/JP6640858B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/385Payment protocols; Details thereof using an alias or single-use codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

関連特許出願の相互参照
本出願は、2015年1月7日に出願された「Method and Apparatus for Processing Transactions」と題する中国特許出願第201510007411.8号の外国優先権を主張するものであり、その全体が本明細書に援用される。
本開示は、インターネット技術の分野に関し、より詳細には、取引を処理するための方法及び装置に関する。
クレジットカード決済をサポートする決済システムでは、ユーザーのクレジットカード情報、特にクレジットカード番号の受信、転送、及び保存の操作に厳しいセキュリティ要件がある。国際慣行によれば、クレジットカード番号などの元の情報を処理する決済システムは、少なくともクレジット化カード業界(以下、PCIという)の認証に合格する必要がある。
PCI認証では、一般的な解決策は、実際の各クレジットカード番号に仮想インデックスカード番号を割り当てることである。クレジットカード情報を処理する過程で、クレジットカードの元のカード番号は、転送及び記憶のためのそのようなインデックスカード番号に置き換えられる。クレジットカードの元のカード番号を使用する必要がある場合のみ、対応する元のカード番号が使用される。これは、クレジットカードの元のカード番号が、最低限のレベルで使用され、統一された方法で制御及び管理できることを保証するためである。
しかし、既存の技術では、実際のクレジットカード番号に仮想インデックスカード番号を割り当てる処理には以下の問題がある。
1.複数のユーザーが同一または異なるクレジットカードを使用して同時に支払いを行う場合、インデックスカード番号の作成に関する同時実行の問題があり、同時実行の場合、2つの異なるインデックスカード番号が、同じクレジットカードに割り当てられることが避けられない。
2.PCIの要件によれば、クレジットカードの元のカード番号は、平文で保存することができず、暗号化する必要がある。しかし、アルゴリズム及び秘密鍵のセキュリティ制約のため、クレジットカードの元のカード番号の暗号文及び暗号化の秘密鍵を頻繁に変更する必要がある。クレジットカードの元のカード番号を暗号化する既存の方法では、クレジットカード番号の暗号文と秘密鍵を柔軟に変更することができず、混乱を生じやすくなる場合がある。
3.ビジネス取引要件によれば、システムは、クレジットカードの元のカード番号に基づいて、暗号化されたクレジットカード番号と対応するインデックスカード番号を迅速に検索する必要がある。しかし、既存の技術では、暗号化されたクレジットカード番号と対応するインデックスカード番号を検索する効率はかなり低い。
この概要は、以下の詳細な説明でさらに説明される概念の選択を簡略化された形で紹介するために提供される。この概要は、特許請求される主題のすべての重要な特徴または不可欠な特徴を特定することを意図しておらず、特許請求される主題の範囲を判定するための支援として単独で使用されることも意図していない。例えば、用語「techniques(技法)」は、上記及び本開示全体を通じて文脈により許可された、デバイス(複数可)、システム(複数可)、方法(複数可)及び/またはコンピューター可読命令を指し得る。
本開示の目的は、既存の技術における、上記の技術的問題の1つまたは複数を解決することである。
したがって、本開示の第1の目的は、取引を処理するための方法を提供することである。本方法は、システム内のいくつかの元のカード番号に対応するインデックスカード番号をそれぞれ作成し、同時実行が多い場合のインデックスカード番号と元のカード番号との間の1対1の対応及びパスワードが頻繁に変更される暗号化されたクレジットカード番号の利便性の高い検索を確実に行う。
本開示の第2の目的は、取引を処理するための装置を提供することである。
実施形態を実施するために、第1の態様における本開示の実施形態による取引を処理する方法は、取引の処理を要求するための元のカード番号を受信することと、元のカード番号に基づいて元のカード番号に対応するハッシュ値を計算することと、元のカード番号に対応するハッシュ値に基づいて、元のカード番号に対応するインデックスカード番号を取得することと、エンティティが、インデックスカード番号に基づいて取引を処理するために、取引を処理するエンティティにインデックスカード番号を送信することとを含む。
本開示の実施形態による開示された方法では、取引の処理を要求するための元のカード番号を受信した後、元のカード番号に基づいて元のカード番号に対応するハッシュ値を計算し、元のカード番号に対応するハッシュ値に基づいて元のカード番号に対応するインデックスカード番号を取得し、それによって、システム内のいくつかの元のカード番号に対応するインデックスカード番号をそれぞれ作成し、同時実行が多い場合のインデックスカード番号と元のカード番号との間の1対1の対応及びパスワードが頻繁に変更される暗号化されたクレジットカード番号の利便性の高い検索を確実に行う。
実施形態を実施するために、第2の態様の本開示の実施形態による装置は、取引の処理を要求するための元のカード番号を受信する受信モジュールと、受信モジュールによって受信された元のカード番号に基づいて、元のカード番号に対応するハッシュ値を計算する計算モジュールと、計算モジュールにより計算された元のカード番号に対応するハッシュ値に基づいて、元のカード番号に対応するインデックスカード番号を取得する取得モジュールと、エンティティがインデックスカード番号に基づいて取引を処理できるように、取引を処理するエンティティに取得モジュールによって取得されたインデックスカード番号を送信するための送信モジュールとを含む。
本開示の実施形態によるサービス処理装置では、受信モジュールが取引の処理を要求するための元のカード番号を受信した後、計算モジュールが、元のカード番号に基づいて元のカード番号に対応するハッシュ値を計算し、取得モジュールが、元のカード番号に対応するハッシュ値に基づいて、元のカード番号に対応するインデックスカード番号を取得し、それによって、関連するシステム内のいくつかの元のカード番号に対応するインデックスカード番号をそれぞれ作成し、同時実行が多い場合のインデックスカード番号と元のカード番号との間の1対1の対応及びパスワードが頻繁に変更される暗号化されたクレジットカード番号の利便性の高い検索を確実に行う。
本開示のその他の特徴及び利点は、以下の説明に記載され、一部は説明から明らかになるか、または応用例の実施によって理解されるであろう。本出願の目的及びその他の利点は、記述された明細書、特許請求の範囲、ならびに実現及び達成が具体的に指摘されている構造の図面によって取得することができる。
本開示の実施形態をより良く説明するために、以下は、実施形態の説明に使用される図の簡単な紹介である。以下の図は、本開示のいくつかの実施形態にのみ関係することは明らかである。当業者は、創造的な努力なしに、本開示の図に従って他の図を得ることができる。
本開示の一実施形態による取引を処理するための方法の流れ図である。 本開示の別の実施形態による取引を処理するための方法の流れ図である。 本開示のさらに別の実施形態による取引を処理するための方法の流れ図である。 本発明の一実施形態による暗号文及び秘密鍵の更新の流れ図である。 本開示の一実施形態によるサービス処理装置の構造模式図である。 本開示の別の実施形態によるサービス処理装置の構造模式図である。 図5及び図6でより詳細に記載されている装置の構造模式図である。
図面に示されている順序は、説明のみのためのものである。モジュールは、異なる順序または並列で実行できる。
本開示の実施形態は以下のように具体的に説明され、例示的な実施形態が図面に示されており、同一または同様のラベルは、本開示全体を通じて同一または同様の機能を有する同一の要素または同様の要素を表す。参照図面によって記載された以下の実施形態は例示的なものであり、本開示を説明するためだけに使用され、本開示を限定するものとして解釈することはできない。代わりに、本開示の実施形態は、添付の特許請求の範囲の精神及び範囲内のすべての変形、修正及び等価物を含む。
図1は、本開示の一実施形態による取引を処理するための方法の流れ図である。図1に示すように、方法には次のものが含まれる。
ブロック101では、取引の処理を要求するために使用される元のカード番号が受信され、元のカード番号はクレジットカード番号であり得る。
ブロック102では、元のカード番号に対応するハッシュ値が、元のカード番号に基づいて計算され、元のカード番号に対応するインデックスカード番号が、元のカード番号に対応するハッシュ値に基づいて取得される。
ブロック103では、エンティティがインデックスカード番号に基づいて取引を処理できるように、取引を処理するエンティティにインデックスカード番号が送信される。
一実施形態では、取引の処理を要求するために使用される元のカード番号を受信した後、元のカード番号に基づいて元のカード番号に対応するハッシュ値を計算し、元のカード番号に対応するハッシュ値に基づいて元のカード番号に対応するインデックスカード番号を取得し、それによって、システム内のいくつかの元のカード番号に対応するインデックスカード番号をそれぞれ作成し、同時実行が多い場合のインデックスカード番号と元のカード番号との間の1対1の対応及びパスワードが頻繁に変更される暗号化されたクレジットカード番号の利便性の高い検索を確実に行う。
図2は、本開示の別の実施形態による取引を処理する方法の流れ図である。図2に示すように、方法には次のものが含まれる。
ブロック201では、取引を処理する要求のための元のカード番号が受信される。
一実施形態では、元のカード番号は、クレジットカード番号であり得る。
ブロック202では、元のカード番号に対応するハッシュ値が、元のカード番号に基づいて計算される。
一実施形態では、ハッシュ値は、PCIの規制に準拠した元のカード番号に逆変換することはできない。カードのハッシュ値が変更されることはない。しかし、ハッシュの衝突が発生し得るため、異なるカードが同じハッシュ値を有し得る。したがって、同時実行の場合に、クレジットカードの書き込みを制御するための一意の制限としてハッシュ値のフィールドを使用するだけで、同じハッシュ値を有する2つのクレジットカードの場合は、インデックスカード番号が1枚のカードにのみ割り当てられ保存され得る。
クレジットカード番号に基づいてレコードを検索する場合には、検索用のカード番号のハッシュ値に基づいてカード番号レコードを迅速に検索することが可能である。ハッシュの衝突があり得るため、ハッシュ値に基づいて取得されたレコードは、望ましいレコードではない場合がある。したがって、比較を行い、さらに確認する必要がある。しかし、ハッシュの衝突の可能性はかなり低いため、そのような検索処理は今なお効率が良い。本処理については、さらに詳細に以下で説明する。
ブロック203では、データベースが検索され、ハッシュ値を有するカード番号レコードが、データベースに格納されているかどうかが判定される。
ハッシュ値を有するカード番号レコードが見つからない場合、ブロック204が実行される。ハッシュ値を有するカード番号レコードが見つかった場合、ブロック212が実行される。
ブロック204では、元のカード番号が新しいカード番号として判定され、元のカード番号に対応するハッシュ番号が第1の値に設定される。ハッシュ番号は、あるカードを別のカードと区別するために使用される。一実施例として、異なる元のカード番号を有する2つのカードが、同じハッシュ値を有する場合、同時実行の場合と同様に、それぞれ異なるハッシュ番号が与えられる。
本実施形態では、第1の値は、システム性能及び実装要件に基づいて設定され得る。本実施形態は、第1の値の大きさにいかなる制限も課さない。例えば、第1の値は1であり得る。
一実施形態では、すべての格納されたカード番号レコードのうち、ハッシュの衝突レコードがない場合、ハッシュ番号は1である。ハッシュの衝突の場合、ハッシュ番号は順次増大する。簡単に言えば、2つのクレジットカード番号の間にハッシュ値の衝突がある場合、2つのカード番号レコードは同じハッシュ値になる。一方のハッシュ番号は1で、もう一方のハッシュ番号は2である。さらに多くのハッシュの衝突に、同じ方法で番号を付けることができる。例えば、表1に示すように、ハッシュ値の衝突の場合、カード番号が異なる2つのクレジットカード(例えば、インデックスカード番号10000001と10000002)は、同じハッシュ値を有する。表1では、異なるハッシュ番号は、番号1から順次増大し、各カードに付与される。
一実施形態では、クレジットカード番号に対応するハッシュ値及びハッシュ番号は、同時実行の場合に、インデックスカード番号が同じクレジットカードに繰り返し割り当てられることを防止する一意の制限として組み合わされ得る。
ブロック205では、インデックスカード番号が元のカード番号に割り当てられる。
ブロック206では、最新の秘密鍵及び最新の秘密鍵のバージョンが秘密鍵辞書から取得され、元のカード番号が最新の秘密鍵を使用して暗号化され、最新の秘密鍵のバージョンは、その暗号化から取得した暗号文の先頭と組み合わせて、元のカード番号に対応する暗号文を取得する。
ブロック207では、割り当てられたインデックスカード番号、元のカード番号に対応する暗号文、元のカード番号に対応するハッシュ値及びハッシュ値に対応するハッシュ番号が、元のカード番号に対応するカード番号レコードとして使用され、データベースに格納される。
一実施形態では、カード番号レコードのフォーマットは、表1に示す通りである。
一実施形態では、システムは、各クレジットカードのインデックスカード番号としてシステムに書き込まれるクレジットカードに番号を順次割り当て得る。インデックスカード番号の外部転送及び記憶の場合、クレジットカードの元のカード番号は、PCI規格に準拠したインデックスカード番号に基づいて復元することはできない。
元のカード番号に対応する暗号文は、対称暗号アルゴリズムに基づいてクレジットカード番号を暗号化した後に生成された暗号文と、生成された暗号文の先頭と組み合わせた秘密鍵のバージョンとを含む。このようにして、秘密鍵のバージョンに基づいて秘密鍵辞書に対応する秘密鍵を見つけることができ、したがって、元のカード番号に対応する暗号文を復号化することができる。
ブロック208では、元のカード番号に対応するカード番号レコードをデータベースに格納するときに、ハッシュ値及びハッシュ番号の一意の制限に違反
があるかどうかが判定される。そうでない場合、ブロック209が実行される。元のカード番号に対応するカード番号レコードをデータベースに格納するときに、ハッシュ値及びハッシュ番号の一意の制限に違反がある場合には、ブロック210が実行される。
ブロック209では、インデックスカード番号が、元のカード番号に正常に割り当てられたと判定され、ブロック211が実行される。
ブロック210では、インデックスカード番号が、元のカード番号に正常に割り当てられていないと判定され、例外メッセージが返され、ユーザーは再試行を促される。処理が終了する。
ブロック211では、エンティティがインデックスカード番号に基づいて取引を処理できるように、取引を処理するエンティティにインデックスカード番号が送信される。処理が終了する。
ブロック212では、見つかった各カード番号からカード番号暗号文が取得され、カード番号暗号文の秘密鍵のバージョンが傍受され、秘密鍵辞書が秘密鍵のバージョンに基づいて読み取られ、カード番号暗号文を暗号化するために使用される秘密鍵を取得する。
ブロック213では、秘密鍵を使用してカード番号暗号文を復号化し、各カード番号レコードから元のカード番号を取得し、取得した元のカード番号と受信した元のカード番号とを1つずつ比較する。
ブロック214では、受信した元のカード番号と同一のカード番号が存在するかどうかを、取得した元のカード番号の中から判定する。「はい」の場合、ブロック215が実行される。取得した元のカード番号の中に、受信した元のカード番号と同一のカード番号が存在しないと判定された場合、ブロック216が実行される。
ブロック215では、受信した元のカード番号に対応するインデックスカード番号が、同一のカード番号に対応するカード番号レコードから取得される。続いて、ブロック211が実行される。
ブロック216では、受信した元のカード番号が新しいカード番号として判定され、元のカード番号に対応するハッシュ番号が第2の値に設定される。ここで、第2の値は、見つかったカード番号レコードのハッシュ番号の最大値とプリセット値との合計である。
一実施形態では、プリセット値は、システム性能及び実装要件に基づいて設定され得る。本実施形態は、プリセット値の大きさにいかなる制限も課さない。例えば、プリセット値は1であり得る。
続いて、ブロック205〜211が実行される。
本実施形態は、システム内のいくつかの元のカード番号に対応するインデックスカード番号をそれぞれ作成し、同時実行が多い場合のインデックスカード番号と元のカード番号との間の1対1の対応及びパスワードが頻繁に変更される暗号化されたクレジットカード番号の利便性の高い検索を確実に行う。
図3は、本開示のさらに別の実施形態による取引を処理するための方法の流れ図である。一実施形態では、処理される要求が、カード番号データ照会の取引である場合、図3に示すように、方法には、以下が含まれる。
ブロック301では、取引を処理する要求のための元のカード番号が受信される。
一実施形態では、元のカード番号は、クレジットカード番号であり得る。
ブロック302では、元のカード番号に対応するハッシュ値が、元のカード番号に基づいて計算される。
ブロック303では、ハッシュ値を有するカード番号レコードが、データベースに格納されているかどうかが検索される。ハッシュ値を有するカード番号レコードが見つかった場合、ブロック304が実行される。ハッシュ値を有するカード番号レコードが見つからない場合、ブロック309が実行される。
ブロック304では、見つかった各カード番号レコードからカード番号暗号文が取得され、カード番号暗号文の秘密鍵のバージョンが傍受され、秘密鍵辞書が秘密鍵のバージョンに基づいて読み取られ、カード番号暗号文を暗号化するために使用される秘密鍵を取得する。
ブロック305では、秘密鍵を使用してカード番号暗号文を復号化し、各カード番号レコードから元のカード番号を取得し、取得した元のカード番号と受信した元のカード番号とを1つずつ比較する。
ブロック306では、受信した元のカード番号と同一のカード番号が存在するかどうかを、取得した元のカード番号の中から判定する。「はい」の場合、ブロック307が実行される。取得した元のカード番号の中に、受信した元のカード番号と同一のカード番号が存在しないと判定された場合、ブロック309が実行される。
ブロック307では、受信した元のカード番号に対応するインデックスカード番号が、同一のカード番号に対応するカード番号レコードから取得される。
ブロック308では、インデックスカード番号に基づいてインデックスカード番号に対応するカード番号データをエンティティが照会できるように、カード番号データ照会サービスを処理するエンティティに、受信した元のカード番号に対応するインデックスカード番号が送信され、照会されたカード番号データが返される。処理が終了する。
ブロック309では、データベース内に、受信した元のカード番号に対応するカード番号レコードが存在しないと判定され、NULL結果が返される。処理が終了する。
本実施形態は、同時実行が多い場合のインデックスカード番号と元のカード番号との間の1対1の対応及びパスワードが頻繁に変更される暗号化されたクレジットカード番号の利便性の高い検索を確実に行い、検索効率を向上させる。
図2及び図3に示す実施形態では、元のカード番号に対応するカード番号レコードの暗号文及び暗号秘密鍵を頻繁に更新する必要がある。暗号文及び暗号の秘密鍵を更新する処理は、図4に示す通りである。図4は、本発明の一実施形態による暗号文及び秘密鍵の更新の流れ図である。暗号文及び暗号の秘密鍵を更新する処理には、次のものが含まれる。
ブロック401では、データベースに格納されたカード番号レコードがトラバースされる。
ブロック402では、現在トラバースされているカード番号レコード内のカード番号暗
号文が取得され、カード番号暗号文の秘密鍵のバージョンが傍受される。
ブロック403では、カード番号暗号文の秘密鍵のバージョンが、秘密鍵辞書から取得された秘密鍵の最新バージョンと比較される。
ブロック404では、カード番号暗号文の秘密鍵のバージョンが秘密鍵の最新バージョンであるかどうかが判定される。
そうでない場合、ブロック405が実行される。カード番号暗号文の秘密鍵のバージョンが秘密鍵の最新バージョンである場合、ブロック408が実行される。
ブロック405では、カード番号暗号文の秘密鍵のバージョンに対応する秘密鍵を秘密鍵辞書から取得し、取得した秘密鍵を使用して、カード番号暗号文を復号化して元のカード番号を取得する。
ブロック406では、秘密鍵の最新バージョンに対応する新しい秘密鍵が秘密鍵辞書から取得され、元のカード番号は新しい秘密鍵を使用して暗号化され、その暗号化から取得した暗号文を最新の秘密鍵と組み合わせて、更新されたカード番号暗号文を取得する。
ブロック407では、現在トラバースされているカード番号レコード内のカード番号暗号文のフィールドの内容は、更新されたカード番号暗号文に更新される。
ブロック408では、すべてのカード番号レコードがトラバースされているかどうかが判定される。そうでない場合、ブロック401が実行される。すべてのカード番号レコードがトラバースされている場合、処理は終了する。
前述の実施形態は、カード番号レコードの暗号文及び秘密鍵を、混乱を起こさずに柔軟に変更することを可能にする。
図5は、本開示の一実施形態による取引を処理するための装置500の構造模式図である。本実施形態の装置は、本開示の図1に示す実施形態の処理を実施することができる。図5に示すように、装置500は、受信モジュール51、計算モジュール52、取得モジュール53、及び送信モジュール54を含み得る。
受信モジュール51は、元のカード番号がクレジットカード番号であり得る、取引の処理を要求するために使用される元のカード番号を受信するために使用される。
計算モジュール52は、受信モジュール51によって受信された元のカード番号に基づいて元のカード番号に対応するハッシュ値を計算するために使用される。
取得モジュール53は、計算モジュール52により計算された元のカード番号に対応するハッシュ値に基づいて、元のカード番号に対応するインデックスカード番号を取得するために使用される。
送信モジュール54は、エンティティがインデックスカード番号に基づいて取引を処理できるように、取引を処理するエンティティに、取得モジュール53によって取得されたインデックスカード番号を送信するために使用される。
一実施形態では、受信モジュール51が、取引の処理を要求するためのカード番号を受信した後、計算モジュール52が、元のカード番号に基づいて元のカード番号に対応するハッシュ値を計算する。続いて、取得モジュール53は、元のカード番号に対応するハッシュ値に基づいて元のカード番号に対応するインデックスカード番号を取得し、それによって、システム内のいくつかの元のカード番号に対応するインデックスカード番号をそれぞれ作成し、同時実行が多い場合のインデックスカード番号と元のカード番号との間の1対1の対応及びパスワードが頻繁に変更される暗号化されたクレジットカード番号の利便性の高い検索を確実に行う。
図6は、本開示の別の実施形態による取引を処理するための装置600の構造模式図である。本実施形態の装置600は、図2、図3、及び図4に示すような実施形態の方法を実施することができる。図5に示すような装置500と比較して、図6に示す装置600では、取得モジュール53は、検索サブモジュール531、判定サブモジュール532、割り当てサブモジュール533、暗号化サブモジュール534及び、記憶サブモジュール535を含み得る。
検索サブモジュール531は、ハッシュ値を有するカード番号レコードが格納されているかどうかをデータベースで検索するために使用される。
判定サブモジュール532は、検索サブモジュール531がハッシュ値を有するカード番号レコードを見つけられなかった場合に、元のカード番号を新しいカード番号として設定するために使用される。
割り当てサブモジュール533は、判定サブモジュール532が、元のカード番号を新しいカード番号として判定した後、元のカード番号に対応するハッシュ番号を第1の値に設定し、元のカード番号にインデックスカード番号を割り当てるために使用される。一実施形態では、第1の値は、システム性能及び実装要件に基づいて設定され得る。本実施形態は、第1の値の大きさにいかなる制限も課さない。例えば、第1の値は1であり得る。
暗号化サブモジュール534は、秘密鍵辞書から最新の秘密鍵と最新の秘密鍵のバージョンを取得し、最新の秘密鍵を使用して元のカード番号を暗号化し、元のカード番号に対応する暗号文を取得するために、最新の秘密鍵のバージョンとその暗号化から取得した暗号文の先頭を組み合わせるために使用される。
記憶サブモジュール535は、割り当てサブモジュール533によって割り当てられたインデックスカード番号、暗号化サブモジュール534により取得された元のカード番号に対応する暗号文、元のカード番号に対応するハッシュ値及び元のカード番号に対応するカード番号レコードとしてのハッシュ値に対応するハッシュ番号を使用し、それらをデータベースに格納するものである。
判定サブモジュール532はさらに、記憶サブモジュール535が、元のカード番号に対応するカード番号レコードをデータベースに格納するときに、ハッシュ値及びハッシュ番号の一意の制限に違反がなければ、インデックスカード番号が、元のカード番号に正常に割り当てられていることを判定するために使用される。
一実施形態では、取得モジュール53は、取得サブモジュール536と、復号化サブモジュール537と、比較サブモジュール538とをさらに含み得る。
取得サブモジュール536は、検索サブモジュール531が、ハッシュ値を有するカード番号レコードを見つけた場合、見つかった各カード番号レコードのカード番号暗号文を取得し、カード番号暗号文の秘密鍵のバージョンを傍受し、カード番号暗号文を暗号化するために使用される秘密鍵を取得するために、秘密鍵のバージョンに基づいて秘密鍵辞書を読み取るために使用される。
復号化サブモジュール537は、各カード番号レコードから元のカード番号を取得するために、取得サブモジュール536により取得された秘密鍵を使用してカード番号暗号文を復号化するために使用される。
比較サブモジュール538は、復号化サブモジュール537によって取得された元のカード番号と、受信した元のカード番号とを1つずつ比較するために使用される。
取得サブモジュール536はさらに、比較サブモジュール538が、復号化サブモジュール537によって取得された元のカード番号の中に、受信した元のカード番号と同一のカード番号が存在すると判定した場合に、同一のカード番号に対応するカード番号レコードから、受信した元のカード番号に対応するインデックスカード番号を取得するために使用される。
さらに、取得モジュール53は、設定サブモジュール539をさらに含み得る。
判定サブモジュール532はさらに、比較サブモジュール538が、復号化サブモジュール537によって取得された元のカード番号の中に、受信した元のカード番号と同一のカード番号が存在しないと判定した場合に、受信した元のカード番号を新しいカード番号として設定するために使用される。
設定サブモジュール539は、元のカード番号に対応するハッシュ番号を第2の値に設定するために使用される。ここで、第2の値は、見つかったカード番号レコードのハッシュ番号の最大値とプリセット値との合計である。続いて、割り当てサブモジュール533、暗号化サブモジュール534及び記憶サブモジュール535が、インデックスカード番号を取得する処理を実行する。
一実施形態では、プリセット値は、システム性能及び実施態様要件に基づいて設定され得る。本実施形態では、プリセット値の大きさに制限はない。例えば、プリセット値は1であり得る。
一実施形態では、取引はカード番号データ照会であり得る。この場合、送信モジュール54は、具体的には、エンティティが、インデックスカード番号に基づいてインデックスカード番号に対応するカード番号データを照会できるように、カード番号データ照会サービスを処理するエンティティに、取得モジュール53によって取得されたインデックスカード番号を送信するために使用され、照会されたカード番号データが返される。
さらに、取得モジュール53は、トラバースサブモジュール5310、取得サブモジュール536、比較サブモジュール538、復号化サブモジュール537、暗号化サブモジュール534、及び更新サブモジュール5311を含み得る。
トラバースサブモジュール5310は、データベースに格納されたカード番号レコードをトラバースするために使用される。
取得サブモジュール536は、トラバースサブモジュール5310によって、現在トラバースされているカード番号レコード内のカード番号暗号文を取得し、カード番号暗号文の秘密鍵のバージョンを傍受するために使用される。
比較サブモジュール538は、取得サブモジュール536によって取得された秘密鍵のバージョンと、秘密鍵辞書から取得された秘密鍵の最新バージョンを比較するために使用される。
取得サブモジュール536はさらに、比較サブモジュール538が、取得サブモジュール536によって取得された秘密鍵のバージョンが、秘密鍵の最新バージョンではないと判定した場合に、秘密鍵辞書からカード番号暗号文の秘密鍵のバージョンに対応する秘密鍵を取得し、復号化サブモジュール537が元のカード番号を取得した後、秘密鍵辞書から最新の秘密鍵に対応する新しい秘密鍵を取得する。
復号化サブモジュール537は、取得サブモジュール536で取得された秘密鍵を使用して、元のカード番号を取得するために、カード番号暗号文を復号化するために使用される。
暗号化サブモジュール534は、取得サブモジュール536によって取得された新しい秘密鍵を使用して、復号化サブモジュール537によって取得された元のカード番号を暗号化し、更新されたカード番号暗号文を取得するために、その暗号化から取得した暗号文と秘密鍵の最新バージョンを組み合わせるために使用される。
更新サブモジュール5311は、トラバースサブモジュール5310によって現在トラバースされているカード番号レコードのカード番号暗号文のフィールドの内容を、暗号化サブモジュール534によって取得された更新されたカード番号暗号文に更新するために使用される。
取引を処理するための上記の装置は、システム内のいくつかの元のカード番号に対応するインデックスカード番号をそれぞれ作成し、同時実行が多い場合のインデックスカード番号と元のカード番号との間の1対1の対応及びパスワードが頻繁に変更される暗号化されたクレジットカード番号の利便性の高い検索を確実に行う。
本開示の説明において、「first(第1)」及び「second(第2)」などの用語は、説明のためにのみ使用され、相対的な重要性を示唆または意味するものと解釈することはできないことに留意されたい。また、本明細書において、「a plurality of(複数)」とは、別段の定めがない限り、2つ以上を意味する。
流れ図に記載された、または本明細書の他のいずれかの方法で説明された任意の処理または方法は、特定の論理機能または工程段階を実現する実行可能命令コードのための1つまたは複数のモジュール、セグメントまたは部分を含むと理解され得る。さらに、本開示の例示的な実施形態は、関連する機能に基づいて実質的に同時の方法または逆の順序を含む、図示または議論されるものとは異なる順序で機能が実行され得る、他の実施態様を含む。これは、本開示の実施形態が属する当業者によって理解されるべきである。
本開示の各部分は、ハードウェア、ソフトウェア、ファームウェアまたはそれらの組み合わせによって実現され得ることを理解されたい。上記の実施形態では、複数の工程または方法は、メモリーに格納されたソフトウェアまたはファームウェアを使用して実施し得て、適切な命令実行システムを使用して実行し得る。例えば、ハードウェアを使用して実装されている場合、同様に他の実施形態でも、工程または方法は、当該技術分野で周知の次の技術の1つまたは組み合わせを使用することによって実施し得る。データ信号の論理機能を実現する論理ゲート回路を有するディスクリート論理回路、適切な組み合わせ論理ゲート回路を有する特定用途向け集積回路、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)など。
当業者は、上記の方法の工程の全部または一部が、関連するハードウェアにプログラムを指示することによって達成され得ることを理解しなければならない。プログラムは、コンピューター可読記憶媒体に格納され得て、実行時、プログラムには、方法の実施形態における工程の1つまたは組み合わせが含まれる。
さらに、本開示の各実施形態の各機能モジュールは、単一の処理モジュールに統合され得て、または、これらのモジュールが別個の物理的存在であり得るか、2つ以上のモジュールが単一の処理モジュールに統合され得る。統合モジュールは、ハードウェアの形で、またはソフトウェア機能モジュールの形で実現され得る。統合モジュールがソフトウェア機能モジュールの形で実現され、スタンドアロン製品として販売または使用される場合、統合モジュールはコンピューター可読記憶媒体に格納され得る。
上記の記憶媒体は、読み出し専用メモリー、磁気ディスク、CDなどであり得る。
一実施形態では、本開示は、1つまたは複数のプロセッサー(CPU)、入力/出力インターフェイス、ネットワークインターフェイス、及びメモリーを含む、コンピューティングデバイスを提供する。限定ではなく一実施例として、図7は、図5及び図6でさらに詳細に説明される、装置500及び600などの例示的な装置700を示す。実施態様において、装置700には、限定するものではないが、1つまたは複数のプロセッサー702、入力/出力(I/O)インターフェイス704、ネットワークインターフェイス706、及びメモリー708を含み得る。
メモリー708は、コンピューター可読媒体の形、例えば、非永続的記憶装置、ランダムアクセスメモリー(RAM)及び/または不揮発性記憶装置、例えば、読み出し専用メモリー(ROM)またはフラッシュメモリー(フラッシュRAM)を含み得る。メモリー708は、コンピューター可読媒体の一実施例と見なすことができる。
コンピューター可読媒体は、任意の方法または技術によって情報記憶の目的を達成することができる、永続的及び非永続的な、取外し可能及び取外し不可能な媒体を含む。情報は、コンピューター可読命令、データ構造、プログラムモジュール、または他のデータを指し得る。コンピューター記憶媒体の実施例には、相変化メモリー(PRAM)、スタティックランダムアクセスメモリー(SRAM)、ダイナミックランダムアクセスメモリー(DRAM)、ランダムアクセスメモリー(RAM)のその他のタイプ、読み取り専用メモリー(ROM)、電気的消去可能PROM(EEPROM)、フラッシュメモリーまたはその他のメモリー技術、読み取り専用コンパクトディスク(CD−ROM)、デジタル多用途ディスク(DVD)またはその他の光記憶媒体、カセットテープ、ディスケットまたはその他の磁気記憶装置、またはコンピューティングデバイスによってアクセス可能な情報を格納するために使用することができる任意のその他の非伝送媒体が含まれるが、これらに限定されるものではない。本明細書で定義されているように、コンピューター可読媒体には、変調されたデータ信号及び搬送波などの一時的な媒体は含まれない。
メモリー708は、プログラムモジュール710及びプログラムデータ712を含み得る。プログラムモジュール710は、前述の実施形態で説明したような装置500及び/または装置600の前述のモジュール及び/またはサブモジュールのうちの1つまたは複数を含み得る。これらのモジュールの詳細は、前述の説明で見出すことができるので、ここでは重複して説明しない。
本明細書を通して、「an embodiment(一実施形態)」、「some embodiments(いくつかの実施形態)」、「an example(一実施例)」、「a specific example(特定の実施例)」、または「some examples(いくつかの実施例)」への言及は、そのような実施形態または実施例に関連して説明されている特定の特徴、構造、材料、または特性が、本開示の少なくとも1つの実施形態または実施例に含まれることを意味する。本明細書を通して、これらの用語の表現は、必ずしも同じ実施形態または実施例を指しているわけではない。さらに、特定の特徴、構造、材料、または特性は、1つまたは複数の実施形態または実施例において任意の適切な方法で組み合わせ得る。
本開示の実施形態を上記で示し説明してきたが、上記の実施形態は例示的なものであり、本開示を限定するものと解釈すべきではなく、当業者であれば、本開示の範囲内で、実施形態を変更、修正、置換、及び交替することができることが理解されよう。

Claims (15)

  1. 1つまたは複数のコンピューティングデバイスによって実装される方法であって、前記方法が、
    取引を処理する要求の元のカード番号を受信することと、
    前記元のカード番号に対応するハッシュ値を、前記元のカード番号に基づいて計算することと、前記元のカード番号に対応するインデックスカード番号を、前記元のカード番号に対応する前記ハッシュ値に基づいて取得することであって、前記インデックスカード番号を取得することは、
    データベースを検索して、前記データベースに前記ハッシュ値を有するカード番号レコードが存在するかどうかを判定することと、
    前記データベースに前記ハッシュ値を有するカード番号レコードが存在しないと判定した場合、
    前記元のカード番号に対応するハッシュ番号に第1の値を設定し、前記元のカード番号にインデックスカード番号を割り当てることと、
    秘密鍵辞書から最新の秘密鍵及び前記最新の秘密鍵のバージョンを取得することと、
    前記最新の秘密鍵を使用して前記元のカード番号を暗号化し、前記最新の秘密鍵のバージョンと前記暗号化から取得された暗号文の先頭を組み合わせて、前記元のカード番号に対応する暗号文を取得することと、
    前記元のカード番号、前記割り当てられたインデックスカード番号、前記元のカード番号に対応する前記暗号文、前記元のカード番号に対応する前記ハッシュ値、及び前記ハッシュ値に対応する前記ハッシュ番号を含む、前記元のカード番号に対応する新しいカード番号レコードを前記データベースに格納することと、を含み、
    前記元のカード番号に対応する前記新しいカード番号レコードを前記データベースに格納するときに、前記ハッシュ値及び前記ハッシュ番号の制限に違反がない場合、前記インデックスカード番号は、前記元のカード番号に正常に割り当てられていると判定される、
    ことと、
    前記インデックスカード番号に基づいて前記取引を処理する装置に前記インデックスカード番号を送信することと
    を含む、1つまたは複数のコンピューティングデバイスによって実装される方法。
  2. 前記データベースに前記ハッシュ値を有する1つまたは複数のカード番号レコードが存在すると判定した場合、前記方法がさらに、
    前記1つまたは複数のカード番号レコードの各カード番号レコード内のそれぞれのカード番号暗号文を取得することと、
    前記それぞれのカード番号暗号文から秘密鍵バージョンを傍受することと、
    前記秘密鍵バージョンに少なくとも部分的に基づいて秘密鍵辞書を読み取って、前記各カード番号暗号文を暗号化するために使用される秘密鍵を取得することと、
    前記それぞれのカード番号暗号文を復号化するための秘密鍵を使用して、各カード番号レコードからそれぞれの元のカード番号を取得することと、
    前記各カード番号レコードのそれぞれの元のカード番号と前記受信した元のカード番号とを比較することと
    を含む、請求項に記載の方法。
  3. 前記1つまたは複数のカード番号レコードの特定のカード番号レコードの元のカード番号が、前記受信した元のカード番号と同一であると判定することと、
    前記特定のカード番号レコードから前記受信した元のカード番号に対応するインデックスカード番号を取得することと
    をさらに含む、請求項に記載の方法。
  4. 前記受信した元のカード番号と同一の元のカード番号を有するカード番号レコードがないと判定することと、
    前記元のカード番号に対応するハッシュ番号第2の値設定することと、
    前記元のカード番号にインデックスカード番号が割り当てられることと、
    秘密鍵辞書から最新の秘密鍵及び前記最新の秘密鍵のバージョンを取得することと、
    前記最新の秘密鍵を使用して前記元のカード番号を暗号化することと、
    前記最新の秘密鍵の前記バージョンと前記暗号化から取得された暗号文の先頭を組み合わせて、前記元のカード番号に対応する暗号文を取得することと、
    前記元のカード番号、前記割り当てられたインデックスカード番号、前記元のカード番号に対応する前記暗号文、前記元のカード番号に対応する前記ハッシュ値及び前記ハッシュ値に対応する前記ハッシュ番号を含む、前記元のカード番号に対応するカード番号レコード前記データベースに格納すること
    をさらに含み、
    前記元のカード番号に対応する前記新しいカード番号レコードを前記データベースに格納するときに、前記ハッシュ値及び前記ハッシュ番号の制限に違反がない場合、前記インデックスカード番号が、前記元のカード番号に正常に割り当てられている判定される、請求項に記載の方法。
  5. 前記データベースに格納されたカード番号レコードをトラバースすることと、
    現在トラバースしているカード番号レコードからカード番号暗号文を取得することと、
    前記カード番号暗号文から秘密鍵バージョンを傍受することと、
    前記カード番号暗号文の前記秘密鍵バージョンを秘密鍵辞書から取得した最新の秘密鍵バージョンと比較することと、
    前記カード番号暗号文の前記秘密鍵バージョンが、前記最新の秘密鍵バージョンでない場合、前記秘密鍵辞書から前記カード番号暗号文の秘密鍵バージョンに対応する秘密鍵を取得することと、前記カード番号暗号文を復号化するための前記取得した秘密鍵を使用して、前記元のカード番号を取得することと、
    前記秘密鍵辞書から前記最新の秘密鍵バージョンに対応する新しい秘密鍵を取得することと、前記新しい秘密鍵を使用して前記元のカード番号を暗号化することと、前記暗号化から取得された暗号文を前記最新の秘密鍵バージョンと組み合わせて、更新されたカード番号暗号文を取得することと、
    前記現在トラバースされているカード番号レコード内の前記カード番号暗号文のフィールドの内容が、更新されたカード番号暗号文として更新することと
    をさらに含む、請求項に記載の方法。
  6. 1つまたは複数のプロセッサーと、
    メモリーと、
    取引を処理することを要求するために使用される元のカード番号を受信するように、前記メモリーに記憶され、前記1つまたは複数のプロセッサーによって実行可能な受信モジュールと、
    前記受信モジュールによって受信された前記元のカード番号に基づいて前記元のカード番号に対応するハッシュ値を計算するように、前記メモリーに記憶され、前記1つまたは複数のプロセッサーによって実行可能な計算モジュールと、
    前記計算モジュールによって計算された前記元のカード番号に対応する前記ハッシュ値に基づいて、前記元のカード番号に対応するインデックスカード番号を取得するように、前記メモリーに記憶され、前記1つまたは複数のプロセッサーによって実行可能な取得モジュールであって、
    前記ハッシュ値を有する格納されたカード番号レコードについてデータベースを検索する検索サブモジュールと、
    前記ハッシュ値を有するカード番号レコードが前記データベースに存在しないと判定する判定サブモジュールと、
    前記元のカード番号に対応するハッシュ番号に第1の値を設定して、前記元のカード番号にインデックスカード番号を割り当てる割り当てサブモジュールと、
    秘密鍵辞書から最新の秘密鍵及び前記最新の秘密鍵のバージョンを取得し、前記最新の秘密鍵を使用して前記元のカード番号を暗号化し、前記最新の秘密鍵の前記バージョンと前記暗号化から取得した暗号文の先頭を組み合わせて、前記元のカード番号に対応する暗号文を取得する暗号化サブモジュールと、
    前記元のカード番号、前記割り当てサブモジュールによって割り当てられた前記インデックスカード番号、前記暗号化サブモジュールによって取得された前記元のカード番号に対応する前記暗号文、前記元のカード番号に対応する前記ハッシュ値、及び前記ハッシュ値に対応する前記ハッシュ番号を含む、前記元のカード番号に対応する新しいカード番号レコードを前記データベースに格納する記憶サブモジュールと
    を含む、取得モジュールと、
    前記取引を処理する装置に、前記取得モジュールによって取得された前記インデックスカード番号を送信するように、前記1つまたは複数のプロセッサーによって実行可能な送信モジュールと
    を含む、装置。
  7. 前記判定サブモジュールがさらに、前記記憶サブモジュールが、前記元のカード番号に対応する前記新しいカード番号レコードを前記データベースに格納するときに、前記ハッシュ値及び前記ハッシュ番号の制限に違反がない場合、前記インデックスカード番号が、前記元のカード番号に正常に割り当てられている判定する、請求項に記載の装置。
  8. 前記取得モジュールがさらに、
    前記検索サブモジュールによって見つけられた各カード番号レコード内のそれぞれのカード番号暗号文を取得し、前記それぞれのカード番号暗号文から秘密鍵バージョンを傍受し、前記秘密鍵のバージョンに基づいて秘密鍵辞書を読み取って、前記それぞれのカード番号暗号文を暗号化するために使用される前記秘密鍵を取得する取得サブモジュールと、
    前記取得サブモジュールによって取得された前記最新の秘密鍵を使用して、前記それぞれのカード番号暗号文を復号化して、各カード番号レコードからそれぞれの元のカード番号を取得する復号化サブモジュールと、
    前記復号化サブモジュールによって取得された各カード番号レコードの前記それぞれの元のカード番号と前記受信した元のカード番号を比較する比較サブモジュールと
    を含む、請求項に記載の装置。
  9. 前記取得サブモジュールが、前記受信した元のカード番号と同一の対応するカード番号を有するカード番号レコードから、前記受信した元のカード番号に対応するインデックスカード番号をさらに取得する、請求項に記載の装置。
  10. 前記取得モジュールが、設定サブモジュールをさらに含み、前記比較サブモジュールが、前記受信した元のカード番号と同一のカード番号を有するカード番号レコードが前記データベースに存在しないと判定した場合、前記設定サブモジュールが、前記元のカード番号に対応するハッシュ番号第2の値設定し、前記記憶サブモジュールが、前記元のカード番号、及び前記元のカード番号に対応する前記ハッシュ番号を含む、前記元のカード番号に対応する新しいカード番号レコードを前記データベースに格納する、請求項に記載の装置。
  11. 前記取得モジュールが、
    データベースに格納されたカード番号レコードをトラバースするトラバースサブモジュールと、
    現在トラバースしているカード番号レコードからそれぞれのカード番号暗号文を取得し、前記それぞれのカード番号暗号文から秘密鍵バージョンを傍受する取得サブモジュールと、
    前記取得サブモジュールによって取得された前記秘密鍵バージョンを、秘密鍵辞書から取得された最新の秘密鍵バージョンと比較する比較サブモジュールと
    を含む、請求項に記載の装置。
  12. 前記取得サブモジュールによって取得された前記秘密鍵バージョンが前記最新の秘密鍵バージョンではないと前記比較サブモジュールが判定した場合に、前記復号化サブモジュールが、前記元のカード番号を取得した後、前記取得サブモジュールがさらに、前記秘密鍵辞書から前記カード番号暗号文の前記秘密鍵バージョンに対応する秘密鍵を取得し、前記秘密鍵辞書から前記最新の秘密鍵バージョンに対応する新しい秘密鍵を取得する、請求項11に記載の装置。
  13. 前記取得モジュールがさらに、
    前記取得サブモジュールによって取得された前記新しい秘密鍵を使用して、前記カード番号暗号文を復号化し、前記元のカード番号を取得する復号化サブモジュールと、
    前記取得サブモジュールによって取得された前記新しい秘密鍵を使用して、前記復号化サブモジュールによって取得された前記元のカード番号を暗号化し、前記暗号化により取得された暗号文を前記最新の秘密鍵バージョンと組み合わせて、更新されたカード番号暗号文を取得する暗号化サブモジュールと、
    前記現在トラバースされているカード番号レコード内の前記カード番号暗号文のフィールドの内容を、前記暗号化サブモジュールによって取得された前記更新されたカード番号暗号文として更新する更新サブモジュールと
    を含む、請求項12に記載の装置。
  14. 実行可能命令を格納する1つまたは複数のコンピューター可読媒体であって、前記実行可能命令は、1つまたは複数のプロセッサーによって実行されると、前記1つまたは複数のプロセッサーに、
    取引を処理する要求の元のカード番号を受信することと、
    前記元のカード番号に対応するハッシュ値を、前記元のカード番号に基づいて計算することと、前記元のカード番号に対応するインデックスカード番号を、前記元のカード番号に対応する前記ハッシュ値に基づいて取得することであって、前記インデックスカード番号を取得することは、
    データベースを検索して、前記データベースに前記ハッシュ値を有するカード番号レコードが存在するかどうかを判定することと、
    前記データベースに前記ハッシュ値を有するカード番号レコードが存在しないと判定した場合、
    前記元のカード番号に対応するハッシュ番号に第1の値を設定し、前記元のカード番号にインデックスカード番号を割り当てることと、
    秘密鍵辞書から最新の秘密鍵及び前記最新の秘密鍵のバージョンを取得することと、
    前記最新の秘密鍵を使用して前記元のカード番号を暗号化し、前記最新の秘密鍵のバージョンと前記暗号化から取得された暗号文の先頭を組み合わせて、前記元のカード番号に対応する暗号文を取得することと、
    前記元のカード番号、前記割り当てられたインデックスカード番号、前記元のカード番号に対応する前記暗号文、前記元のカード番号に対応する前記ハッシュ値、及び前記ハッシュ値に対応する前記ハッシュ番号を含む、前記元のカード番号に対応する新しいカード番号レコードを前記データベースに格納することと、を含み、
    前記元のカード番号に対応する前記新しいカード番号レコードを前記データベースに格納するときに、前記ハッシュ値及び前記ハッシュ番号の制限に違反がない場合、前記インデックスカード番号は、前記元のカード番号に正常に割り当てられていると判定される、
    ことと、
    前記インデックスカード番号に基づいて前記取引を処理する装置に前記インデックスカード番号を送信することと
    を含む動作を実行させる、1つまたは複数のコンピューター可読媒体。
  15. 前記データベースに前記ハッシュ値を有する1つまたは複数のカード番号レコードが存在すると判定した場合、前記動作がさらに、
    前記1つまたは複数のカード番号レコードの各カード番号レコード内のそれぞれのカード番号暗号文を取得することと、
    前記それぞれのカード番号暗号文から秘密鍵バージョンを傍受することと、
    前記秘密鍵バージョンに少なくとも部分的に基づいて秘密鍵辞書を読み取って、前記それぞれのカード番号暗号文を暗号化するために使用される秘密鍵を取得することと、
    前記それぞれのカード番号暗号文を復号化するための秘密鍵を使用して、各カード番号レコードからそれぞれの元のカード番号を取得することと、
    前記各カード番号レコードの前記それぞれの元のカード番号と前記受信した元のカード番号とを比較することと
    を含む、請求項14に記載の1つまたは複数のコンピューター可読媒体。
JP2017533197A 2015-01-07 2016-01-06 取引を処理するための方法及び装置 Active JP6640858B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510007411.8A CN105825371A (zh) 2015-01-07 2015-01-07 业务处理方法和装置
CN201510007411.8 2015-01-07
PCT/US2016/012389 WO2016112137A1 (en) 2015-01-07 2016-01-06 Method and apparatus for processing transactions

Publications (3)

Publication Number Publication Date
JP2018507582A JP2018507582A (ja) 2018-03-15
JP2018507582A5 JP2018507582A5 (ja) 2019-08-22
JP6640858B2 true JP6640858B2 (ja) 2020-02-05

Family

ID=56286727

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017533197A Active JP6640858B2 (ja) 2015-01-07 2016-01-06 取引を処理するための方法及び装置

Country Status (8)

Country Link
US (1) US11288664B2 (ja)
EP (1) EP3243182A4 (ja)
JP (1) JP6640858B2 (ja)
KR (1) KR102194514B1 (ja)
CN (1) CN105825371A (ja)
SG (2) SG10201906106PA (ja)
TW (1) TWI696134B (ja)
WO (1) WO2016112137A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105825371A (zh) * 2015-01-07 2016-08-03 阿里巴巴集团控股有限公司 业务处理方法和装置
KR102005549B1 (ko) * 2018-08-09 2019-07-30 주식회사 센스톤 가상코드 기반의 금융거래제공시스템, 가상코드생성장치, 가상코드검증장치, 가상코드 기반의 금융거래제공방법 및 가상코드 기반의 금융거래제공프로그램
US11935044B2 (en) 2018-08-09 2024-03-19 SSenStone Inc. System, method and program for providing financial transaction by virtual code, virtual code generator and virtual code verification device
US11188913B2 (en) * 2019-01-11 2021-11-30 Capital One Services, Llc Systems and methods for securely verifying a subset of personally identifiable information
KR102449470B1 (ko) * 2020-07-08 2022-09-30 한국정보통신주식회사 고객식별정보 관리방법 및 고객식별정보 관리서버

Family Cites Families (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4135241A (en) * 1971-02-22 1979-01-16 Medelco, Incorporated Inventory control, bed allocation and accounting data handling system
US20040056088A1 (en) * 2002-09-18 2004-03-25 Mullins Joseph M. Prepayment wristband and computer debit system
CA2124094C (en) * 1994-05-20 1999-07-20 K. Bernhard Schiefer Method and apparatus for optimizing data retrieval using index scanning
US6181837B1 (en) * 1994-11-18 2001-01-30 The Chase Manhattan Bank, N.A. Electronic check image storage and retrieval system
US6154879A (en) * 1994-11-28 2000-11-28 Smarttouch, Inc. Tokenless biometric ATM access system
US5613012A (en) * 1994-11-28 1997-03-18 Smarttouch, Llc. Tokenless identification system for authorization of electronic transactions and electronic transmissions
US5920900A (en) * 1996-12-30 1999-07-06 Cabletron Systems, Inc. Hash-based translation method and apparatus with multiple level collision resolution
US6484182B1 (en) * 1998-06-12 2002-11-19 International Business Machines Corporation Method and apparatus for publishing part datasheets
US6032132A (en) * 1998-06-12 2000-02-29 Csg Systems, Inc. Telecommunications access cost management system
US20010016833A1 (en) * 1998-12-02 2001-08-23 Deborah Everling Merchant transaction data mining method
EP1028401A3 (en) 1999-02-12 2003-06-25 Citibank, N.A. Method and system for performing a bankcard transaction
US6516320B1 (en) * 1999-03-08 2003-02-04 Pliant Technologies, Inc. Tiered hashing for data access
US20040260653A1 (en) * 1999-04-19 2004-12-23 First Data Corporation Anonymous transactions
US20040083184A1 (en) * 1999-04-19 2004-04-29 First Data Corporation Anonymous card transactions
EP1128598A4 (en) * 1999-09-07 2007-06-20 Sony Corp SYSTEM, DEVICE, METHOD AND PROGRAM SUPPORT FOR CONTENT MANAGEMENT
CA2381807C (en) * 1999-10-15 2003-11-04 Ajit K. Zacharias Secure multi-application card system
US6805288B2 (en) * 2000-05-15 2004-10-19 Larry Routhenstein Method for generating customer secure card numbers subject to use restrictions by an electronic card
US6961858B2 (en) * 2000-06-16 2005-11-01 Entriq, Inc. Method and system to secure content for distribution via a network
US7107462B2 (en) * 2000-06-16 2006-09-12 Irdeto Access B.V. Method and system to store and distribute encryption keys
JP4942240B2 (ja) 2000-08-09 2012-05-30 大日本印刷株式会社 クレジットカードを用いた決済処理方法
JP4942245B2 (ja) 2000-11-20 2012-05-30 大日本印刷株式会社 クレジットカードを用いた決済処理方法
US7150045B2 (en) * 2000-12-14 2006-12-12 Widevine Technologies, Inc. Method and apparatus for protection of electronic media
US20020078226A1 (en) * 2000-12-15 2002-06-20 Kei Kato Datagram transmission device
US7640187B1 (en) * 2001-03-30 2009-12-29 Novell, Inc. Anonymous shopping transactions on a network through information broker services
JP2002312707A (ja) 2001-04-13 2002-10-25 Dainippon Printing Co Ltd クレジットカードを用いた決済処理方法
US7080049B2 (en) * 2001-09-21 2006-07-18 Paymentone Corporation Method and system for processing a transaction
US7103576B2 (en) * 2001-09-21 2006-09-05 First Usa Bank, Na System for providing cardless payment
US7020635B2 (en) * 2001-11-21 2006-03-28 Line 6, Inc System and method of secure electronic commerce transactions including tracking and recording the distribution and usage of assets
JP2003178185A (ja) 2001-12-12 2003-06-27 Hitachi Ltd 有価証券及びその処理システム
US7020782B2 (en) * 2002-03-08 2006-03-28 Arcot Systems, Inc. Size-dependent hashing for credit card verification and other applications
AUPS169002A0 (en) * 2002-04-11 2002-05-16 Tune, Andrew Dominic An information storage system
US7596703B2 (en) * 2003-03-21 2009-09-29 Hitachi, Ltd. Hidden data backup and retrieval for a secure device
US7325059B2 (en) * 2003-05-15 2008-01-29 Cisco Technology, Inc. Bounded index extensible hash-based IPv6 address lookup method
DK1636680T3 (en) * 2003-06-10 2016-07-18 Mastercard International Inc Systems and methods for carrying out secure payment transactions using a formatted data structure
US7090128B2 (en) * 2003-09-08 2006-08-15 Systems And Software Enterprises, Inc. Mobile electronic newsstand
US7543739B2 (en) * 2003-12-17 2009-06-09 Qsecure, Inc. Automated payment card fraud detection and location
EP1797663B1 (en) * 2004-08-31 2019-07-24 Telefonaktiebolaget LM Ericsson (publ) Data unit sender and data unit relay device
US7461031B2 (en) * 2004-08-31 2008-12-02 Pitney Bowes Inc. System and method for meter enabled payment functionality
US7797342B2 (en) * 2004-09-03 2010-09-14 Sybase, Inc. Database system providing encrypted column support for applications
US7711586B2 (en) * 2005-02-24 2010-05-04 Rearden Corporation Method and system for unused ticket management
US7587502B2 (en) * 2005-05-13 2009-09-08 Yahoo! Inc. Enabling rent/buy redirection in invitation to an online service
US20070005416A1 (en) * 2005-06-30 2007-01-04 Jackson S B Systems, methods, and computer readable media for managing loyalty programs
CN100495396C (zh) * 2006-03-10 2009-06-03 中国人民解放军信息工程大学 数据库访问的实现方法
US20070288472A1 (en) * 2006-06-09 2007-12-13 Rivera Paul G Transaction processing system and method
US20070291995A1 (en) * 2006-06-09 2007-12-20 Rivera Paul G System, Method, and Apparatus for Preventing Identity Fraud Associated With Payment and Identity Cards
JP2008033641A (ja) 2006-07-28 2008-02-14 Fuji Xerox Co Ltd 取引情報照合システムおよびプログラム
US7716320B2 (en) * 2006-08-30 2010-05-11 Cisco Technology, Inc. Method and apparatus for persisting SNMP MIB integer indexes across multiple network elements
US8281990B2 (en) * 2006-12-07 2012-10-09 Smart Systems Innovations, Llc Public transit system fare processor for transfers
US8307415B2 (en) * 2007-05-09 2012-11-06 Microsoft Corporation Safe hashing for network traffic
US8549279B1 (en) * 2007-10-23 2013-10-01 United Parcel Service Of America, Inc. Encryption and tokenization architectures
US8775475B2 (en) * 2007-11-09 2014-07-08 Ebay Inc. Transaction data representations using an adjacency matrix
CN101158955A (zh) * 2007-11-15 2008-04-09 电子科技大学 一种中文词库的构造方法
US7979670B2 (en) * 2008-01-24 2011-07-12 Quantum Corporation Methods and systems for vectored data de-duplication
US8651374B2 (en) * 2008-06-02 2014-02-18 Sears Brands, L.L.C. System and method for payment card industry enterprise account number elimination
US7979671B2 (en) * 2008-07-28 2011-07-12 CacheIQ, Inc. Dual hash indexing system and methodology
ES2674355T3 (es) 2008-11-04 2018-06-29 Amadeus S.A.S. Método y sistema para almacenamiento y recuperación de información
EP2438580A2 (en) * 2009-06-02 2012-04-11 Voltage Security, Inc. Purchase transaction system with encrypted payment card data
US8812482B1 (en) * 2009-10-16 2014-08-19 Vikas Kapoor Apparatuses, methods and systems for a data translator
CN102081821B (zh) * 2009-11-27 2013-08-14 中国银联股份有限公司 Ic卡支付系统和方法以及多应用ic卡、支付终端
WO2011097543A2 (en) * 2010-02-05 2011-08-11 Ivan Andrew Pointer Financial, account and ledger web application and method for use on personal computers and internet capable mobile devices
JP5489819B2 (ja) * 2010-03-30 2014-05-14 キヤノン株式会社 給電装置及び給電方法
US8590779B2 (en) * 2010-06-29 2013-11-26 Visa International Service Association Value token conversion
US8601553B1 (en) * 2010-06-29 2013-12-03 Emc Corporation Techniques of imposing access control policies
US11295394B2 (en) * 2010-12-07 2022-04-05 Groupon, Inc. Method and system for credit card holder identification
EP2472775B1 (en) * 2010-12-30 2013-10-02 Telefonaktiebolaget L M Ericsson AB (Publ) A method, device and computer program product for controlling use of electronic communication services
WO2012125564A1 (en) * 2011-03-11 2012-09-20 Resource Interactive, Llc Payment card industry data security standard compliant proxy service
US9280765B2 (en) * 2011-04-11 2016-03-08 Visa International Service Association Multiple tokenization for authentication
WO2012151590A2 (en) * 2011-05-05 2012-11-08 Transaction Network Services, Inc. Systems and methods for enabling mobile payments
CN102236766B (zh) * 2011-05-10 2014-04-09 桂林电子科技大学 安全的数据项级数据库加密方法
US10318932B2 (en) * 2011-06-07 2019-06-11 Entit Software Llc Payment card processing system with structure preserving encryption
US20120324225A1 (en) * 2011-06-20 2012-12-20 Jason Chambers Certificate-based mutual authentication for data security
WO2012175132A1 (en) * 2011-06-22 2012-12-27 Telefonaktiebolaget L M Ericsson (Publ) Header compression with a code book
US10362019B2 (en) * 2011-07-29 2019-07-23 Amazon Technologies, Inc. Managing security credentials
US8903831B2 (en) * 2011-09-29 2014-12-02 International Business Machines Corporation Rejecting rows when scanning a collision chain
CN102413126B (zh) * 2011-11-04 2014-05-07 中国工商银行股份有限公司 一种银行卡交易前置设备的密钥同步方法及系统
US9160816B2 (en) * 2012-02-02 2015-10-13 Apple Inc. Methods and systems for fast account setup
US9015804B2 (en) * 2012-02-07 2015-04-21 Visa International Service Association Mobile human challenge-response test
CN103326994B (zh) * 2012-03-21 2017-09-01 阿里巴巴集团控股有限公司 业务处理方法和系统
US8538873B1 (en) * 2012-06-15 2013-09-17 Bank Of America Corporation Communication network for gathering information and performing electronic transactions
KR101977575B1 (ko) * 2012-09-28 2019-05-13 삼성전자 주식회사 디렉토리 엔트리 조회 장치, 그 방법 및 디렉토리 엔트리 조회 프로그램이 기록된 기록 매체
US8560455B1 (en) * 2012-12-13 2013-10-15 Digiboo Llc System and method for operating multiple rental domains within a single credit card domain
US8923831B2 (en) * 2013-01-10 2014-12-30 Google Inc. Methods and apparatus for generating a message for a wireless device
US20140279554A1 (en) * 2013-03-12 2014-09-18 Seth Priebatsch Distributed authenticity verification for consumer payment transactions
US9830377B1 (en) * 2013-04-26 2017-11-28 Wal-Mart Stores, Inc. Methods and systems for hierarchical blocking
CN104239307B (zh) * 2013-06-08 2018-07-27 腾讯科技(深圳)有限公司 用户信息存储方法和系统
AU2014292980A1 (en) * 2013-07-24 2016-02-04 Visa International Service Association Systems and methods for interoperable network token processing
US9367454B2 (en) * 2013-08-15 2016-06-14 Applied Micro Circuits Corporation Address index recovery using hash-based exclusive or
US9245269B2 (en) 2013-08-30 2016-01-26 Usa Technologies, Inc. Unattended retail systems, methods and devices for linking payments, loyalty, and rewards
US8897451B1 (en) * 2013-11-13 2014-11-25 MGM Resorts International Storing secure information using hash techniques
US20150281225A1 (en) * 2014-03-27 2015-10-01 Microsoft Corporation Techniques to operate a service with machine generated authentication tokens
US20150332291A1 (en) * 2014-05-19 2015-11-19 Swipely, Inc. Systems and methods for identifying customers using payments data
WO2016064892A1 (en) * 2014-10-20 2016-04-28 Yintao Yu Commodity exchange for pre-purchasing commodities and trading future rights to receive commodities
CN105825371A (zh) * 2015-01-07 2016-08-03 阿里巴巴集团控股有限公司 业务处理方法和装置
US20180191503A1 (en) * 2015-07-14 2018-07-05 Fmr Llc Asynchronous Crypto Asset Transfer and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
SG10201508055YA (en) * 2015-09-28 2017-04-27 Mastercard Asia Pacific Pte Ltd Transaction system
CN106897874B (zh) * 2016-06-01 2021-02-09 创新先进技术有限公司 移动支付方法、装置及系统
US20180124034A1 (en) * 2016-10-29 2018-05-03 James Gregory Duvall Image based method, system and computer program product to authenticate user identity
US10565205B2 (en) * 2016-11-14 2020-02-18 Sap Se Incrementally building hash collision tables
US11321680B2 (en) * 2017-04-26 2022-05-03 Ashish Kumar System and method for processing and management of transactions using electronic currency
US11037162B2 (en) * 2018-05-14 2021-06-15 Visa International Service Association System, method, and computer program product for determining an event in a distributed data system

Also Published As

Publication number Publication date
US20160196554A1 (en) 2016-07-07
CN105825371A (zh) 2016-08-03
WO2016112137A1 (en) 2016-07-14
KR102194514B1 (ko) 2020-12-24
KR20170102219A (ko) 2017-09-08
EP3243182A4 (en) 2018-06-13
TWI696134B (zh) 2020-06-11
US11288664B2 (en) 2022-03-29
TW201626297A (zh) 2016-07-16
JP2018507582A (ja) 2018-03-15
SG11201705305TA (en) 2017-07-28
SG10201906106PA (en) 2019-08-27
EP3243182A1 (en) 2017-11-15

Similar Documents

Publication Publication Date Title
US10917394B2 (en) Data operations using a proxy encryption key
JP6880188B2 (ja) データアクセスのための方法、システム、および装置
JP6640858B2 (ja) 取引を処理するための方法及び装置
US11695806B2 (en) Intercepting calls for encryption handling in persistent access multi-key systems
US11726968B2 (en) Methods, apparatuses, and devices for transferring data assets based on blockchain
US20170019385A1 (en) Method and apparatus for managing encryption keys for cloud service
CN112818380A (zh) 业务行为的回溯处理方法、装置、设备及系统
CN109347839B (zh) 集中式密码管理方法、装置、电子设备及计算机存储介质
JP6300800B2 (ja) 記録のための暗号化データ記憶装置
US11924270B2 (en) Method and system for transferring data
WO2021204067A1 (zh) 可验证声明的转发、获取
US11849036B2 (en) Key rotation for sensitive data tokenization
CN110011807B (zh) 一种关键信息维护方法及系统
US11146556B2 (en) Methods and systems for contiguous utilization of individual end-user-based cloud-storage subscriptions
WO2022252880A1 (zh) 数据处理方法及其装置、系统、存储介质
CN115495774A (zh) 一种风险数据查询方法、系统、可信单元和服务器
CN115408716A (zh) 一种风险数据查询方法、系统、可信单元和服务器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190402

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20190624

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191226

R150 Certificate of patent or registration of utility model

Ref document number: 6640858

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250