製品進化とマネジメント風景 第25話 暗号技術の進化とマネジメント
新型コロナウイルスによる緊急事態宣言が解除されて、2ヶ月ほど経過しました。感染者が再び増え始めており、その影響が懸念されます。この問題が発生する前は、テレワークによる在宅勤務はゆっくりとしたスピード普及していくと思っていました。しかし、新型コロナ問題が発生して喫緊の課題となり、実際に経験してみると、技術進歩もあってオンライン会議が予想以上に機能することが実証されました。その結果、今日でも緊急事態宣言中と同様のテレワークを継続している企業が多数あり、オフィス半減を唱える企業まで出てきました。
オンライン会議についてはZoomが急速に普及しましたが、同時にセキュリティ欠陥が明らかとなりました。そのため、Cisco Webexは良いけれどもZoomは駄目という会社が結構いました。その後、セキュリティ問題が解消されたので、Zoomの使用も許可する会社が増えてきました。
多くの人が急にテレワークを始めたためにネットワークが混雑し、特に情報セキュリティ上の必須アイテムとされていたVPN (Virtual Private Network)の繋がりが悪くなる問題が多発しました。VPNについても、しっかりと暗号化されたVPNと効果の無い暗号化のVPNの存在が明らかとなり識別が進みました。テレワークの普及はインターネット上の情報セキュリティと切り離すことは出来ず、インターネットは便利だけれども情報筒抜けのオープンネットワークであるため、セキュリティを守るための暗号技術の重要性が改めてクローズアップされました。
新型コロナ問題は一時的な突発事象であれば、喉元過ぎれば何とやらということになるでしょうがそうとは思えません。最近起こったグローバルなウイルス感染は、SARSが2003年、MERSが2012年であり今回は2019年でした。単純にみると発生するまでの期間が短くなってきています。同様の事が起こると考えて準備していくべきでしょう。
インターネットに個人のスマートフォンが接続され、音声や動画データの利用が普及し、生成されるデータ量が急速に増大し始めました。今後はIoTが進み、設備、装置、機器に搭載されたマイコンがネットに接続され、データ量の増大は加速していきます。それゆえ21世紀はデータの世紀などと言われますが、データが盗聴、改ざんされるリスクも同時に高まっています。せっかく有用なデータをたくさん集めても、それが汚染されてしまったら価値は大きく下がるでしょう。ですから、データ通信を守るための暗号化技術はこれからの時代に必須の企業経営リテラシーになると考えられます。
暗号技術は大きく、共通鍵方式と公開鍵方式にカテゴリー分けされます。実際の運用では両者のハイブリット方式が主流になりつつあります。共通鍵方式は、暗号化と復号の両プロセスで同じ秘密鍵を用いる暗号です。
共通鍵方式の原理は、人間ならば誰でも思い付くアイデアであり紀元前から存在していました。1976年に公開鍵方式が発明されるまで、人類は様々なタイプの共通鍵方式暗号を発明して使ってきたということです。現在の共通鍵方式はストリーム暗号とブロック暗号の2つの方式に分かれます。送付するデータを小さい単位に分割して順次暗号化して送信する方式です。ブロック暗号は、データを複数のブロック単位に分けて暗号化して送付する方式です。代表的にはDES (Data Encryption Standard), トリプルDES, AESなどの方式があります。どれも米国の国家標準です。
共通鍵方式の欠点は事前に秘密鍵を共有しなければならないことです。コンピュータ計算速度の向上によって絶対に破られない暗号は無くなり、暗号が有効なのは有限時間となりました。よって、秘密鍵を適宜更新しなければなりません。ICカードのように物理的に人間に所持され、あるいは自宅に隔離されているものならば、秘密鍵を一度交換すれば長時間問題となりません。しかし、インターネットでの情報やり取りは毎日、毎時間行います。セキュリティを守るために、都度、秘密鍵を更新しなければならないとしたら結構大変です。
この問題を解決するためにウッドフィールド・デフィーとマーチン・ヘルマンが提案したのが公開鍵方式です。この方式は、通信相手の公開鍵で暗号し、自身の持つ秘密鍵で復号する暗号です。秘密鍵は自身で管理しておくべきものであり、通信の必要がありません。事前に鍵の共有が不要であるため、不特定多数が使用するインターネットに適しています。難しい数学を使う所が特徴です。素数を使うRSA暗号と楕円関数を用いるものなどがあります。
実際の暗号技術の適用は、通信データの暗号化、通信路の暗号化、通信データの暗号化および通信データの認証(署名)の3つに分けられます。ここでは、我々の身近における暗号化の事例として、インターネット電話、VPN、オンライン会議、ネット銀行、ネットショッピングについて見ていきます。
結論を先に言うと、インターネットを使うサービスにおける暗号化の仕組みは、どれも皆似ています。今述べた3つを順々に実施していくのです。まず、公開鍵の受け渡しを行って通信路の暗号化を行います。通信路のセキュリティを確保した後、秘密鍵を送信して共有し、重要データを暗号化して送信し、受け手は復号します。最後に、送信されたデータが改ざんされていないことを認証すると言う流れです。認証にはメッセージ認証とデジタル署名があります。メッセージ認証は、共通鍵とメッセージから暗号化して生成しますが、受け手の偽造を防げません。よって、双方に信頼関係がある場合にだけ使える方法です。デジタル署名は、公開鍵のように認証局に登録することによって偽造を防ぐことができ、不特定多数とのやり取りにも適用できます。
インターネット電話は、共通鍵方式の一種であるAESやIPsecなどのブロック暗号化あるいはストリーム暗号化されて送受信されます。通話をパケットに分けて暗号化して送信し、受け手側で復号してつなげて音声に戻します。
VPNは仮想専用線とも呼ばれます。トンネリングと言われる通信路の暗号化を行います。よく使われているのはSSL/TLS方式です。少し複雑です。Web/HTPP、データ転送、メール送信と組み合わせて使われています。ハンドシェイクプロトコルとレコードプロトコルの2つから構成されています。前者は暗号通信のための準備であり、サーバ・クライアントの認証を行って公開鍵の受け渡しを行います。クライアントは、サーバ公開鍵とセッション用の乱数を使ってプレマスター共通鍵を作ってサーバに送り、ここで暗号化された通信路が確立されます。この先、プレマスター共通鍵などからマスター秘密鍵を生成し、マスター秘密鍵を用いてセッション用共通鍵とメッセージ認証用共通鍵を作ります。これらの共通鍵を組み合わせてデータを暗号化して送信します。受け手は、セッション共通鍵でデータを復号し、メッセージ認証用共通鍵でデータが改ざんされていないことを確認します。
オンライン会議では電子メールなどにより会議室番号と共通鍵を送付します。VPNなどで安全な通信路が確保されている場合には平文で会議室番号と共通鍵暗号を送付します。電子メールに記載された会議室番号と共通鍵を暗号化して送付する場合もあります。オンライン会議には、会議室番号と共通鍵があれば入れてしまうので、招待していない参加者が入っていないかの確認は必須です。
最近はネット銀行で送金や残高確認をできるようになり、あるいはネットで買い物ができるようになり便利になりました。しかし、なりすまし等で口座の預金を奪われる、勝手に買い物をされるというリスクも出てきたわけです。私が使っている2つのネット銀行の通信方式は殆ど同じでした。まず、公開鍵方式のTLS1.2以上で安全な通信路します。この段階で口座の中味を閲覧できます。送金をする場合には、別途郵送されたワンタイムパスワードカードを使って共通鍵を生成し、それを入力する必要があります。ネットショッピングやオンライン会計ソフトなどで使用するグーグルやマイクロソフトのワンタイムパスワードアプリと基本は同じです。時計が埋め込まれていて、時刻とパスワードの組合せで認証しています。
さて、IoTの時代になるとあらゆるものがネットで繋がることになります。大きなものでは発電所、電車、飛行機などの社会インフラがあります。悪者がネットを通して社会インフラを乗っ取るというテーマは何度か映画で取り上げられました。私の記憶に残っているのは、2005年公開の「交渉人 真下正義」と2007年公開の「ダイハード4」です。前者は地下鉄が乗っ取られ、後者では発電所が乗っ取られそうになりました。10年以上前にIoT時代のリスクを予知していたわけです。
IoTで取得したデータの正当性やその売買をどうするのかがこれからのビジネス課題ですが、やはりブロックチェーン技術が絡んでくるでしょう。ブロックチェーンは、信頼できる者の間でやり取りするプライベート・ブロックチェーンと不特定多数との間でやり取りをするパブリック・ブロックチェーンに分かれます。ビットコインは後者に入ります。ビットコインの仕組みは秀逸ではありますが、IoTのデータ、設計用CADデータなどのやり取りに適用するにはちょっと無理がありそうです。その理由を説明します。
ビットコインは、信頼できる第三者が居なくても安全に仮想通貨をやり取りできる仕組みです。個人情報が流出するリスクもありません。すべての取引の記録が公開帳簿として残っています。取引した主体も記載されていますが、匿名情報であり個人・法人は特定されません。新しい取引が世界中のあちこちで行われますが、10分に一回ブロックを作成し、帳簿を更新していきます。特定の誰かがこれをやってしまったら従来の銀行の仕組みと同じになってしまいます。一方、誰でも出来てしまったらどれが本物の帳簿か分からなくなります。よって、帳簿の更新は暗号解読が出来るスキルの持ち、しかも一定規模の大量計算リソースを投入可能な人達に限定するとともに、動機付けのために帳簿の更新をすると報酬がもらえます。通貨を掘り出すことになるのでマイニングと言われています。非常に面倒な話です。企業間のデータやり取りのために、毎回マイニング作業が発生したら、協議回覧でハンコをもらう作業と同じく生産性低下に直結するでしょう。よって、パブリック方式の利用は困難と思います。
信頼関係のある数社の間でデータのやり取りをするならば、プライベート・ブロックチェーンを適用するのが妥当と思います。特定の関係者しかいないので、IoTデータであれ、設計用CADデータであれ、デジタル署名をして更新の責任の所在を明らかにする形で使用すれば実用に耐えるでしょう。
グーグルは、「ネットは信用しない」というゼロ・トラスト・ネットワークの概念を言い始めました。これはグーグルだから出来たことだと思いますが、それでも8年間かかったそうです。通常の会社ではとても出来ないでしょう。では、我々はどうすべきか?
ものづくりの世界でも良品と悪品はあります。良品を造り出すためには地道なノウハウの蓄積が必要です。データも同じです。データは汚染されるリスクを覚悟しなければなりません。ゆえに、重要なのは汚染されたデータから本物と偽物を見分けるノウハウ、スキルを磨くことです。これこそがデータエコノミー時代を生きて行くための王道ではないでしょうか。もちろんAIも役に立つでしょうが、そのAIに指針やアルゴリズムを与えるのは人間です。データを分析・評価して本当と嘘を見分け、それをビジネスに役立てられるようにすることが、これからの重要な仕事になるでしょう。1つの専門分野の人が見つけられる嘘は限られています。異分野の専門人材集団の間の密な連携によってのみ、本当と嘘を見分ける知恵が蓄積されていきます。それなりに難しいタスクになりますが、組織として多面的な視野を持つ訓練をしていけば実現可能です。貴社はどのように異分野の専門人材集団を繋ぐ仕組みを作り、嘘と本当を見分けていきますか?
参考文献
- 暗号技術のすべて、IPUSIRON、2017