インターネット接続なしでクライアント側で簡単決済QRコードを作る
(blog.javien.dev)関連リンク: https://ja.news.hada.io/topic?id=10280
- Dimipayは韓国デジタルメディア高校で使用している、インハウスのQR簡単決済ソリューションです。
- 学生たちは安価なデータ料金プランを使っているため、インターネット接続を自由に使えないことが多く、インターネット接続なしでも決済できる方法を検討しました。
- オフライン決済プロジェクトをリードしたチームメンバーが、研究過程をブログに詳しく記録していたので共有します。
技術的アプローチ:
- TOTPに着想を得た決済トークン
- TOTPのカウンターとHKDFを活用し、暗号化に必要な鍵を動的に生成
- XChaCha20-Poly1305を使用した共通鍵暗号
- 決済コードの有効性検証
- すでに使用済み、または期限切れのトークンを区別するためにNonce(uuidv7)を導入
- ノンスが最新の決済時刻より前に生成されていた場合は取引を拒否
- リプレイ攻撃を防ぐ意図
- TLV(Tag-Length-Value)フォーマットの導入: ペイロードを柔軟かつ小さくシリアライズできる
3件のコメント
デモ映像を見ると、クオリティがすごいですね
ローカル生成Pay... LGペイですね、はははは
ははははは