「MirPay」アプリケーションの例でモバイルウォレットがどのように機能するか

ご存知のように、2015年にMir支払いシステムを開始し、Mirカードはロシアのどこでも受け入れられています。もちろん、これは非常にクールですが、購入の支払いにモバイルウォレットを使用することが人気を集めています。統計によると、2019年には、すべてのトランザクションの19%がスマートフォンを使用した支払いです。 2017年には、その3%しかありませんでした。 2018年、Mir Pay支払いシステムは、独自の支払いアプリケーションMirPayも発表しましたミール支払いがさで書かれてKotlinと電話付き電話上で実行することができNFCのサポートアンドロイド6.0以上。







私の名前は私がNSPKの情報技術部門のモバイル決済チームでのテストグループの頭だ、と私は携帯財布が私たちの使ってどのように機能するかをご紹介します、ヴァレリー・ボグダノフあるミール有料例として、アプリケーションを



まず、プラスチックカードを使用した支払いがどのように機能するかを見てみましょう。古典的なケースでは、カードは発行銀行によって所有者に発行されます。この場合、メモリの保護された領域のカードには、発行者と共有されているMK-ACキーアプリケーションクリプトグラムマスターキー)が保存されます。支払い時に(オンライン操作の場合)、MK-ACセッションキーSK-ACアプリケーション暗号化セッションキー)に基づいてマップを生成し、その上で、マップデータと端末から受信した操作のデータを使用して、暗号化ARQC承認)を生成します。クリプトグラムを要求する)。クリプトグラムの生成は、3DESアルゴリズムに基づいていますトリプルDES)。一般的なケースでは、トランザクションデータはカードから端末に送信され、次に取得銀行のホスト(つまり、販売者にサービスを提供)に送信され、次に支払いシステムに送信され、最後の段階で発行銀行(つまり、カードの発行)に送信されます。承認。







発行者は、ARQCに付属のトランザクションデータに基づいてクリプトグラム自分で生成し、受信したデータの値と比較することにより、クリプトグラムをチェックします。発行銀行は、カードデータ、暗号文、設定された制限、リスク評価、およびその他のパラメータの分析結果に基づいて、操作を承認または拒否できます。



それでは、モバイルウォレットでの支払いの違いを見てみましょう。ここで、発行銀行はウォレット所有者に何も提供しません(もちろん、カードを除きますが、支払いに直接参加しません)。代わりに、カード所有者はデータをウォレットに入力し、データをウォレットに「表示」します。つまり、カードではなく、特別なトークンです。 -このマップに基づいて生成されたプロファイル。電話にはカードデータと発行者のキーMK-ACがなく、代わりにトークンプロファイルとその特別なキーが使用されるため、従来の場合のように支払いを整理できないことはすでに明らかです。支払いを処理する前に、カードがモバイルウォレットに「追加」されるとどうなるかを理解しましょう。







カード所有者はアプリケーションにデータを入力します(1)、モバイルウォレットサービスプロバイダー(WSP-ウォレットサービスプロバイダーのホストを介して、暗号化された形式でそれらを支払いシステムに転送します(詳細は後で説明します)。Mir Payの場合ウォレットサービスプロバイダーはNSPKであるため、データはすぐに支払いシステムに送られます(2)。モバイル決済プラットフォーム(PMP)でさらに処理が行われます。 PMPはデータを復号化し、発行元のカード番号によって判別し、カードをウォレットに追加する可能性の確認を求めます(3)このカードの肯定的な回答(4)の場合、トークンプロファイル(5)を生成して電話(6)に送信する手順..。したがって、カードデータの代わりに、モバイルデバイスはこのカードとこのデバイスに関連付けられたトークンプロファイルを保存します。トークンプロファイルを元のカードデータに変換することは、モバイル決済プラットフォームの外部では不可能であることに注意してください。トークンプロファイルをユーザーのデバイスに保存した後、Mir PayはPMP (7)にワンタイムキーのパックを要求します。これは、上記のSK-ACと同様に、セッションキーとして購入するときにアプリケーションによって使用されます。名前が示すように、1回限りのキーは複数回使用できないため、使用中、MirPayアプリケーションは定期的にキーの新しい部分をPMPからダウンロードします。これで、アプリケーションへのマップの追加が完了しました。



それでは、プラスチックカードによる支払いと比較して、支払いプロセスがどのように変化したかを見てみましょう。







最初の段階はほぼ同じで、カードデータの代わりにトークンプロファイルデータのみが使用され、ARQCクリプトグラムはセッションSK-ACとしてPMPから受信したワンタイムキーで生成されます。Mir Payとプラスチックカードのもう1つの違いは、クリプトグラムを生成するときに、3DESの代わりに、より最新の対称ブロック暗号アルゴリズムAESAdvanced Encryption Standard)が使用されることです。



さらに、トランザクションデータは、取得銀行のホストである端末も通過し、支払いシステムに送られます。支払いシステムは、トークン番号(トークンプロファイルから)によって、通常のカードではなくトークンを処理していると判断し、操作をPMPに送信して、暗号化といわゆるデトークン化を検証します。トークンを実際のカードデータに戻します。はい。これらのワンタイムキーとトークンプロファイルが生成されるのはプラットフォームの奥深くにあるため、クリプトグラムは発行者ではなくPMPによって検証されるようになりました。さらに、すでにカードデータを使用する操作は、承認のために発行銀行に送信されます。帰り道-逆変換。



ではミールペイワンタイムキーを使用するスキームが使用されますが、別のアプローチがあります。1つのキーをデバイスに保存します。このアプローチでは、デバイスにセキュリティ要素が必要です。特定のデバイスにそのようなセキュリティ要素がある場合、一部のウォレットではセキュリティ要素が適用される場合があります。私たちの場合、Androidフォンの種類が非常に多いためこれは単純に達成できません。この特異性は、選択されたスキームを説明します。



上記のトークン化プロセスを考慮すると、1つの微妙な点に気付くことができます。ウォレットで支払う場合、トークンプロファイルのデータが使用されますが、カードが追加されると、そのデータは支払いシステムのホストに送信され、このデータは厳密に機密です。で保護カードのデータへミールペイ多段保護システムが提供されます。起動時に、アプリケーションの整合性を制御し、環境をチェックするメカニズムが自動的に有効になります。これにより、権限のない人によって変更された偽のアプリケーションを使用できなくなります。重大なリスクが検出された場合、アプリケーションはそのことをユーザーに通知し、保存されているすべてのトークンプロファイルを自動的に削除します。さらに、これらのチェックの結果もPMP側で分析されます。



機密データの交換用PMPとMirPayキーペアを生成し、パブリックコンポーネントを交換します。組み込みのキーストレージを100%信頼することはできないため、さまざまな場所(キーストレージとRAMの両方)にさまざまなキーコンポーネントをストレージするスキームが開発されました。つまり、不正な操作を開始するには、まず、これらすべてのキーのクリプトグラムを抽出する必要があります。次に、それらも復号化する必要があります。ただし、操作には厳密に1回限りのキーが使用されるため、これはそれほど簡単ではなく、あまり効果的でもありません。そして、後にのみミールペイPMPは公開鍵を交換しました。つまり、実際に安全なチャネルを作成し、機密データの転送が許可されます。これは、暗号耐性のあるアルゴリズムで暗号化されています。このメカニズムを通じて、トランザクションを実行するためのトークンプロファイル、ワンタイムキー、およびすでに完了したトランザクションに関するデータがユーザーのデバイスに配信されます。



この説明からわかるように、モバイルウォレットに基づく支払いのセキュリティは、プラスチックカードのレベルで維持されるだけでなく、場合によってはそれを超えることさえあります。Mir Payアプリケーションは、国際および国内のセキュリティ要件に準拠しており、Mirカード所有者は、個人データの漏洩を恐れることなく、携帯電話を使用して支払いを行うことができます。



現在、ミールペイの開発継続-短期間で最初のバージョンをリリースしましたが、すでに行われていることを改善することを忘れずに、アプリケーションに新しい開発をすでに導入しています。



多くの点で開発が必要です。最近リリースされ、計画されているスマートフォンのモデルを考慮に入れる必要があります。Googleサービスはありません。ロシアの対応するモデルに切り替えるか、独自のソリューションを開発してください。



All Articles