DigiTallyについて調べてみた/overlay SIMが重要なのではなくSMAPsが重要っぽい


2020/09/28 追記

DigiTallyについて述べていた公式サイトが移動していた。もとはKhaled Baqerさんのディレクトリにあったものが、Ross Andersonさんのディレクトリに移動していた。
新しい Computer Laboratoryの DigiTally ページ

いろいろ調べたらKhaled Baqerさんは学生で、Ross Andersonさんが教授だったようだ。Khaled Baqerさん個人ページができていた。

2017年に出た論文「DigiTally: Piloting Offline Payments for Phones

また、日本銀行から「中銀デジタル通貨が現金同等の機能を持つための技術的課題」(2020/07)というレポートの8ページからDigiTallyについて解説されている。

中銀デジタル通貨が現金同等の機能を持つための技術的課題 9ページより

このレポートによればSIMのセキュアエレメントを利用してコードを生成する、とある。そして、上記の図には書かれていないように、センターでの金額管理は行わず、端末個別でのやりとり、となっている。

また、DigiTallyは2017年に試験が行われた、としか書かれておらず、実際に使われた例としての記載ではない。


SIMにシールを貼るだけで電波の届かないところでも携帯で支払いできる技術」という記事があったけど、正直意味がわかんないので調べてみた。

公式ページ「DigiTally」→ https://www.cl.cam.ac.uk/~rja14/DigiTally/
概要紹介スライドpdf」→ https://www.cl.cam.ac.uk/~rja14/DigiTally/docs/DigiTally.pdf

・SIMの上に貼り付けるoverlay SIMとは何をするものなのか?
・どういう場合につかう想定なのか?
・どういう決済の仕組みになっているのか?


・SIMの上に貼り付けるoverlay SIMとは何をするものなのか?
digitally-1
しれっと出てきてる「EMV」は、Europay,MasterCard,VISAで決めたICチップ搭載のクレジットカードの規格のようです。
発展途上国でよく使われているGSM onlyのSIMはバージョンが古く、セキュリティに関する機構が搭載されていないので、SIMを交換しなくても、それを後から提供できるようにしたものが、今回のoverlay SIMではないかと思われます。
NFCのセキュアエレメントみたいなものの役割を果たしているようです。

 

で・・・よく読むと、overlay SIMが重要なのではなく、「SMAPs:Short Message Authentication Protocols」が重要なようです。

・どういう場合につかう想定なのか?
SMAPs(Short Message Authentication procotols)は、携帯電波が不安定でつながりにくく、また、データ通信量も増やせない環境で、如何にして信頼性を保ちつつ、決済を行うか、ということを考えて作られたプロトコルであるようです。

具体的には、SMS(ショートメッセージ)ベースでデータをやりとりすることで、ネットワークの不安定さを回避し、また、確実に相手に届ける、ということを実現するようです。
(GSMのみの途上国では、TCP/IPのデータ通信はパケット料が高額で、また不安定、ということ)

・どういう決済の仕組みになっているのか?
スライド記載の手順を元に日本語化してみました

(1) アリスはDigiTally口座(電子決済口座)に5ドルを入金する
(2) アリスと取引相手であるボブは、お互いの携帯電話を電話帳に登録する(?)
(3) アリスはボブから4ドルの品物を買いたいと伝えます
(4) ボブは自身の携帯の決済アプリに「4(ドル)」と入力し、「決済要求ボタン」を押します。
 (ボブ携帯からアプリがDigiTallyセンターにSMSで暗号化されている決済要求のメッセージを送る)
(5) ボブは、携帯の決済アプリに表示されている8桁の決済コード1をアリスに伝えます
(6) アリスは自身の携帯の決済アプリに「4(ドル)」と「8桁の決済コード1」を入力し、「決済承認ボタン」を押します。
 (アリス携帯からアプリがDigiTallyセンターにSMSで暗号化されている決済承認のメッセージを送る)
(7) アリスは、携帯の決済アプリに表示されている8桁の決済コード2をボブに伝えます
(8) ボブは自身の携帯の決済アプリに「8桁の決済コード2」を入力し、「決済完了ボタン」を押します。
 (ボブ携帯からアプリがDigiTallyセンターにSMSで暗号化されている決済完了のメッセージを送る)
(9) アリスのDigiTally口座から4ドルが引かれ1ドルになり、ボブのDigiTally口座に4ドルが足されます
(10) 決済完了ログが、アリスとボブの携帯に届きます。
 (DigiTallyセンターから、アリスとボブの携帯にSMSで決済完了ログを送る)

とても手動な感じで行うようです。
なお、上記のSMS送信ポイントは、想像が入ってます。

いろいろ文献を読むと、(4)と(6)と(8)のSMS送信に関しては遅延しても良いような実装、
つまりSMSの送信については携帯に搭載された決済アプリで再送制御を行うようです。

(4),(6),(8)のSMSがDigiTallyセンターに全部届いた時点で、決済が完了し(10)が行われるようなのですが
決済完了を確認する前に物品引き渡して、その後、決済不成立、ってことが発生しそうなんだけど
それをどうやって回避できるのかが読み取れなかった・・・

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください