DSQRコードとは
QRコードは広く社会に浸透し、様々な形態で利用されていますが、それに伴いQRコードの不正使用も増えています[1]。その要因の一つは、 QRコードはメッセージの改ざんを検知できないことにあります。しかしながら、その対策は、QRコード利用者側への注意喚起に終始しているのが現状であり、セキュリティの高いQRコードの提供には至っていません。勿論、セキュリティのあるQRコードも存在しますが、セキュリティの仕組みが知れると解析できるものが殆どです。弊社は、セキュリティの仕組みが公になっても、そのセキュリティ強度が低下しない安全なQRコードを開発しました。それが次のDSQRコードです[2]。
DSQRコードは、QRコードにデジタル署名を埋め込んだ2次元コードです。デジタル署名を利用することで高いセキュリティを実現しています。DSQRコードは、QRコードと互換性がありますので、汎用のスマホアプリでもDSQRコードを読み取ることができます。ただし、その場合、DSQRコードの真偽判定はできません。
[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コードのメッセージも券面の記載内容と同じにします(下図)。電子入場券は、電子メールに添付、或いはWebサイトからのダウンロードにより入手します。
②DSQRコードの真正性判定とメッセージ(利用者名など)の確認
チケットの偽造・改ざん --> DSQRコードで防止
上図(上)は電子入場券のサンプルです。券面にはイベント名、利用者名、イベント日時とDSQRコードが記載されています。DSQRコードのメッセージは、スマホでも読み取れます。DSQRコードの専用リーダアプリで読み取ると、上図(下)のように、Authentication OKと、メッセージの山田〇〇、ABCD、2024年4月5日がPCブラウザ、或いはスマホに表示されます。入場券の券面記載の内容とDSQRコードのメッセージが異なる場合は、正規の入場券ではないことになります。
[例3] DSQRコードを用いた出席登録
大学における出欠管理は、教室での点呼や出席カード確認だけでなく学期或いは年間の集計もあり、教員にとって負担は小さくありません。最近は、ICTの活用も増えてきています。その多くは、学生証のICタグを利用したシステムですが、システム構築の高コストや教員の実情に合わないシステム設計、更に代理出席問題など、課題も少なくはありません。 ここでは、大学で実践したDSQRコードを利用した出席登録・管理システムについて簡単に紹介します。 このシステムは機能的にはシンプルですが、セキュリティが高く、低コストで、かつ様々な講義スタイルに適応できる自由度をもっています。