知られざる暗号評価プロジェクト CRYPTREC 第5回「暗号の安全性評価」 | ScanNetSecurity
2024.03.28(木)

知られざる暗号評価プロジェクト CRYPTREC 第5回「暗号の安全性評価」

 ちなみに今、富嶽が上側の緑の右肩上がりの線ですので。「 1,024 ビットくらいは解読できるかもね。だから 1,024 ビットはもう使っちゃいけませんよ」と言うことができるのです。

製品・サービス・業界動向 業界動向

 セキュリティに関わる技術や製品の有効性を、客観的定量的に評価できたら最高以外の何ものでもないが、そこには「どんな事業で」「何を守るために」「どのように運用するか」といった変数が多数存在し、各社千差万別である。

 製品評価に一律の基準を設けることは容易ではないが、ここにセキュリティ技術の優劣を定量的に明確に白黒つけることができる夢の領域が存在した。暗号である。

 暗号はどれだけ時間をかければ破ることができるのか等を、それこそ定量的に計算し算出することができる。だから採用の可否をゼロイチで決めることが可能だ。

 「 CRYPTREC(クリプトレック)」とは、日本政府の暗号の採用可否を助言する複数の会議体の総称である。暗号における評価手法を、そのままセキュリティ製品一般に適用することなどもちろんありえない。しかし、評価がどのような手順で行われ、どのような役割を担った組織分掌が行われているかを知ることは、日々嘘くさいセールストークにうんざりしているセキュリティ製品選定者にとって、もはや一服の清涼剤にすらなるのではあるまいか。そんな目論見のもと ScanNetSecurity 編集人 上野を聞き手に本取材は敢行された。


> 第1回「三つの会議体」
> 第2回「三つの暗号リスト」
> 第3回「リスト入りの基準」
> 第4回「選定ルール」

●委員による考え方の相違

──各委員によって、判断や見解が異なることはありますか?

【独立行政法人情報処理推進機構】わたくしが答えるのがいいのかどうかわかりませんが、委員として参加されているのはみな有識者の方々で、一定程度のコンセンサスがあります。「この程度は最低限必要だよね」という考え方は、みなさんほぼ共通的なラインをお持ちです。そこが委員によってブレることはありません。

 もしブレるとすると、どちらかと言うと利用実績の方ですね。実際に「候補」にするか「推奨」にするかというところの議論は分かれる可能性はあります。そこはやはり、ある程度コンセンサスを持って「どうしようか」と、委員会あるいは検討会の場で議論を経て、最終的に決めていく形になっています。

●暗号の「安全性」とは

──安全な暗号であるかどうかは、どのように評価されるのですか?

【国立研究開発法人情報通信研究機構】現在使用されている暗号技術についての安全性評価の話をします。まず安全性というのは、アルゴリズムごとに基準が変わってきます。例えば RSA 暗号なら今は 2,048 ビットの合成数を使ったりします。そこで使う数値の大きさを鍵長と言いますが、その鍵長で安全性のレベルを設定しています。

 メッセージ(平文)を暗号化する時に、暗号化鍵、つまり数値を使って計算します。鍵長というのは、この暗号化鍵・複合鍵の大きさで、安全性のレベルを決めます。実際にどういう大きさの鍵を使ったらいいのか、ということを安全性評価では議論しています。

 先ほど AES に触れましたが AES は共通鍵暗号です。

 もうひとつ公開鍵暗号もあります。事前に編集部からいただいたご質問の、量子コンピューターの話に、影響があるかないかという話につながりますが、影響があるのは公開鍵暗号の方になります。これは後で説明します。

 違いとしては、共通鍵暗号は暗号化と復号に使う鍵(数値)が同じ。AES はこの形になります。良いところは、暗号化処理が公開鍵暗号に比べて高速な点。暗号化通信でデータの暗号化には、だいたい共通鍵暗号の AES とかが今ではよく使われていると思いますけど。

 ただ、ひとつクリアしなくてはいけない問題があります。鍵共有問題です。TLS などで暗号化通信するときに、同じ鍵を受信者と送信者の間で秘密裏に共有しないといけません。そのために公開鍵暗号を使います。共通鍵の数値は小さいので、これを公開鍵暗号で暗号化して通信を始める前に共有します。

 なぜそういうことができるかというと、公開鍵暗号の方は公開鍵と秘密鍵の鍵ペアがあって、暗号化と復号で使う鍵が違うんですね。ちょうど公開鍵暗号は南京錠のイメージです。暗号化鍵は公開するので誰でも暗号化はできる。南京錠を手でガチャッと閉めるようなイメージです。ただ開けるとき、元に戻すときは、この鍵は特定の人しか持っていないので特定の人にしかできない。

 この性質を使って、

 1) 共通鍵暗号で使う秘密鍵をメッセージとして、公開鍵暗号で暗号化して相手側に送る

 2)届いた人は、公開鍵暗号の復号鍵で元に戻して、共通鍵暗号で使う秘密鍵を両者が共有する

 このような、ややこしい話になります。両方とも役割が違うけれども、両方とも使われている暗号です。そういう形で暗号通信を行います。

 公開鍵暗号の安全性は、数学的問題と深い関係があります。簡単に言うと、RSA 暗号には素因数分解問題がある。素因数分解が高速に計算できると解読されてしまう。

 また CRYPTREC 暗号リストには、RSA 以外だと DH や DSA が載っています。これは離散対数問題をベースにしている暗号です。

 あとは楕円曲線暗号と呼ばれるものですね。離散対数問題というのを安全性の根拠に使っています。

 こんな風に全部、数学的な問題との結びつきが強い。これが解けるかどうかを研究することが安全性評価の研究になります。ちなみに私もここの担当で、大体、数学科出身の人間が公開鍵暗号の安全性評価をやっています。私の専門はこのあたりです。

 具体的にどういうことをやるかと言うと、例えば RSA 暗号の場合は素因数分解です。公開鍵がどういうものかと言うと、合成数と言って「15」などの数値を使う。「 15 = 3 × 5 」ですけれども、その「 15 」という合成数を使って暗号化の計算をする。元に戻すときは 15 の素因数「 3 」とか「 5 」を使って元に戻します。


《ScanNetSecurity》

関連記事

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

カテゴリ別新着記事

「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 名誉編集長 りく)

×