デジタルの信用と信頼を支える技術、小学生でもわかる暗号の基礎、ネックは誰にも知られてはいけない鍵の共有方法です。
プログラミングで学ぶ、安全安心なまちに必須の暗号化技術「さいきょうのあんごうワンタイムパッド」
ワンタイムパッド暗号の鍵の受け渡しに、いつ誰が見ているかわからないインターネットは使えません。直接会って手渡しするか、厳重に封をして書留で送るなど、別の経路が必要になって手間がかかります。

信用できない通信路だけで、信用できる通信をする方法はないものか?実はあるんです。その最新の技術がECDH(楕円曲線ディフィー・ヘルマン鍵共有)です。 楕円曲線上の離散対数問題が、現代の知識とコンピューターでは現実的な時間で解けないという、数学を利用した鍵共有方法です。

Web標準の Web Crypto API を使って、実際試してみました。

ECDH鍵共有実験 - Web Crypto API」(src on GitHub)
上記を2つブラウザで開きます。離れたところにいる誰か友達に開いてもらってもOKです。まず、お互い公開鍵を生成し、相手に公開鍵を送信し合い、受け取った、公開鍵をセットします。 自分で生成した鍵と受け取った公開鍵から、実際に暗号化、復号化に使う共通鍵が生成できます。

この共通鍵、ネットワークでやりとりせずに、2つ(2人)で全く同じであるところがおもしろいところです! 通信路の二人の公開鍵から共通鍵を計算することが事実上不可能であることが信用の担保となっています。(もし計算できたら世界的な大発見になるので、それはそれでぜひチャレンジしてください)

共通鍵が共有できたので、あとはこれを使って暗号化するだけです。今回は AES-GCM というアルゴリズムを使って、暗号化していますが、ワンタイムパッドとして使うのもありですね。

この技術のおかげで、インターネットで安心してショッピングしたり、メッセージを送り合ったりできているわけです。 本人確認、本人認証と組み合わせて、確定申告など、電子申請にも使用されています。

でも、安心は禁物。楕円曲線上の離散対数問題をシンプルに解く新アイデアや技術が登場しない保証はありません。 コンピューターは速くなりつづけ、増え続けるので、力づくで解読できてしまう日もきっと来ます。

新技術、楽しくウォッチしていきましょう!


みんなでつくるDX、DXGOV#3は、10/22木15:30-17:30 オンライン開催!

日本記者クラブのゼミにて講演。オープンデータ活用に向けた課題のひとつ、一次情報の信用。
2017年で日経新聞一面でも掲載された、SSL非対応問題。未だ、5府県が未対応。 ブラウザで見ると「保護されていません」「安全ではありません」などと表示される状態です。

暗号化されないため、ネットの経路上で改竄リスクがある http は不推奨です。

このSSLでも使用される、公開鍵暗号、ひとまずは実装と思って作った「HANKORSA暗号バージョンは古い知識でした(DXGOV#2にて、クリスによる指摘、ありがとう!)。 RSAより短い鍵の長さで、安全性が高い方式「エドワーズ曲線デジタル署名アルゴリズム(Ed25519)(公式サイト)」を使ったものに更新しました。
HANKO」(Ed25519バージョン src on GitHub)
鍵などのバイナリデータのテキスト化に、pemではなく16進法表現のhexに変更、1行でコピーペーストしやすく使い勝手も向上しました。

この作成した鍵、一生使えるわけではありません。コンピューターの速度の向上や、数の増加、解き方の発見など、時間が経つほどに解読リスクは高まるため、十分に強い鍵に定期的に変更する必要があることを理解しておきましょう。

デジタル化を一気に進めたい危機的日本。自分を保証してくれる技術への信用と信頼が大切ですが、それはひとりひとりのデジタルリテラシー他なりません。 小中高でプログラミングと情報が必修化される中、大人が足を引っ張るような事態は避けたいですね。


富山県、北海道、大阪府、奈良県、栃木県のwebサイト、早期の対応が望ましいです。


講演は、マリカーのサーキットとしても羨ましがられる、SCCからお送りしました。

サーキットになってたSCC

福野 泰介さんの投稿 2020年10月16日金曜日

行政DXを前進させるのは、MTGではなく創ること。dxgov#2を開催しました!

どんな地域からでも、どんな立場の人でも気軽に参加できるのがオンラインのいいところ!


#DXGOV 鯖江市でDX実行しよう!
話しつつ、Google Docsで各自リアルタアイムで書き、整理しながら、まずはアイデアソン。 情報共有、合意形成、納得行く判断、投票、そもそも町内会やマンションの自治会などで実績を積むことが大事。 理想だけ先行してもだめなことは、うちの町内でFacebookグループで回覧板を代替しようとした時に感じたことでした。

続いて、コードを書いたり、デザインしたり、データを整理したりと創る時間。


鯖江市の申請
鯖江市の条例から申請を検索。 デジタル手続きの第一歩は、印鑑証明みたいなものをつくること。ひとまず、印鑑証明を参考にすべく、項目を洗い出しました。


鯖江市でDX実験するための認証された端末登録申請のプロトタイプを追加
TypeScript化してくれたコードに、CSVデータを元にフォームを生成するコードを追加。いろんな申請書がCSVオープンデータさえあれば、自動生成されるシステムへと発展予定です。

次回、DXGOV#3は、10/22木15:30-17:30!

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / RSS