DSQRコードとは
QRコードは、日常生活で広く使われる便利なツールですが、その一方で、不正利用が増えています[1]。その主な原因は、QRコード自体が改ざんされたメッセージを見分ける仕組みを持っていないことです。現在、多くの対策は「利用者が注意すること」に頼っている状況であり、セキュリティが強化されたQRコードの普及は進んでいません。
セキュリティ付きQRコードも存在しますが、多くの場合、その仕組みが分かってしまうと解析されてしまいます。この問題を解決するために、弊社は「仕組みが公表されても安全性が損なわれない」QRコードを開発しました。それが DSQRコード です[2]。
DSQRコードの特徴
1.**デジタル署名の埋め込み**
DSQRコードにはデジタル署名が組み込まれており、高いセキュリティを実現しています。
2. **従来のQRコードとの互換性**
一般的なスマホアプリでもDSQRコードを読み取ることが可能です。ただし、その場合、セキュリティの確認(コードの真偽判定)はできません。
要するに、DSQRコードは「安全性」と「使いやすさ」を両立した次世代のQRコードです。
[1]QRコード詐欺とは?手口や見分け方、対策方法を徹底解説 NTT docomo
[2] 先名健一,"個人認証機能を有するデジタル署名型QRコード",信学技報 117 (39), 61-66, 2017年5月, 電子情報通信学会
DSQRコードの生成
DSQRコードは、次のステップにより生成されます。1.ベースとなるQRコードの生成
2.楕円曲線デジタル署名アルゴリズム(ECDSA)に用いる秘密鍵と公開鍵の生成
3.QRコードのハッシュ値と秘密鍵からECDSAデジタル署名値の算出
4.排他的論理和によりデジタル署名値のQRコードへの埋め込み
DSQRコードの検証
DSQRコードの検証は、次のステップにより実行されます。
1.PCまたはスマホに実装された検証アプリによりDSQRコードの読み取り
2.DSQRコードに埋め込まれているデジタル署名値の抽出
3.上記署名値と公開鍵によりDSQRコードのECDSA検証
4.検証結果が正しいとき、メッセージの表示と処理
DSQRコードの活用例
[例1] DSQRコードによるURLリンク
QRコードは、URLにリンクするのに便利なツールですが、URLが書き換えられてしまうと正しいものかどうか区別できないという弱点があります。この弱点を利用した「フィッシング詐欺」が問題になっています。フィッシング詐欺では、QRコードを読み取った人が意図しない悪意のあるWebサイトに誘導されることがあります。
しかし、DSQRコードと専用のリーダーアプリを使えば、この問題を防ぐことができます。改ざんされたDSQRコードは読み取る段階で検出されるため、危険なWebサイトに誘導される心配がありません。これにより、フィッシング詐欺を未然に防ぐことが可能です。
[例2] DSQRコード付き電子入場券とマイナカードによる入場
このシステムは、電子入場券の不正使用を防ぐために 「DSQRコード」 と 「マイナンバーカード(マイナカード)」 を活用します。以下はその仕組みを簡単に説明したものです:
- 券面情報: 利用者の名前、イベント名、日時などを記載。
- DSQRコード: コードのメッセージは、券面の情報(利用者名など)と同じ。
1. 本人確認(マイナカードを使用)
- マイナカードを提示し、顔写真の目視確認またはPINコードの入力で本人であることを確認。
2. DSQRコードの確認
- DSQRコードを読み取り、内容(利用者名など)が券面情報と一致しているか、さらにコードが偽造されていないかを確認。
- なりすまし・チケットの複製を防止:マイナカードによる本人確認。
- チケットの偽造・改ざんを防止:DSQRコードの真正性チェック。
これにより、不正使用をほぼ完全に防ぐことが可能です!