ハードウェア暗号モジュールの秘密と特性…結局、なんなの?

IT・IT製品TOP > Key Conductors > 亀田 治伸(日本セーフネット株式会社) > ハードウェア暗号モジュールの秘密と特性…結局、なんなの?
この記事をtweetする このエントリーをはてなブックマークに追加

IT現場の道先案内人 Key Conductors

ハードウェア暗号モジュールの秘密と特性…結局、なんなの?

エンドポイントセキュリティ 2013/07/30

 第1章では基幹システムに必要なハードウェア暗号モジュール(HSM)の概要、第2章ではHSMを利用したクラウド利用の一例、第3章では複数拠点間にまたがるHSMの運用プロトコル、第4章ではHSM自体の仮想化技術を説明させていただき、4回にわたり大事な基幹システムはハードウェアによる暗号化が大事であることをご説明させていただいた。

 本書は最後の章となるため、今までの記事の中でHSMというものに少し興味を持っていただいた“ハードウェアマニア”の方々に向けた記事とさせていただきたい。なかなかに遊びがいのあるデバイスなのである。

HSMの備えるべき特性

 HSMはPCIカード型、アプライアンス型、USB型、ICチップ型等いろいろな形状を伴うが、一般的には以下の特性を備えている。
全てのHSMが全ての特性を備えているわけではないことにご注意されたい。

 ワンチップ成形

 一体型成形

 真正乱数生成

 これらの特徴について、1個づつまとめさせていただく。

ワンチップ成形

 暗号処理というのは、複雑な計算を複数組み合わせて繰り返し処理を多用する処理であるが、その組み合わされる複数の処理は全て1つのチップで処理を行う必要がある。チップの中の回路は高度に集積されており、流れているデータを見ることはほぼ不可能である。チップとチップの間でデータを受け渡す導線が太く、そこに電力計を充てると流れるデータが取得可能になり、暗号解析の危険性が高まるためだ。

以下に簡単な例を挙げ、理由を説明する。

仮に、ある数字に“2をかけ、2をたす”暗号処理があったとする。1〜5の数字を入力した時の対比表が以下となる。

元の数字            暗号された数字        
       1                          4 
       2                          6  
       3                          8        
      4                         10      
       5                         12

 攻撃者は[4,6,8,10,12]から[1,2,3,4,5]を推察しようと試みる。
一方、“2をかける処理”と“2をたす処理”が別々のチップで処理され、その間のデータの受け渡しを盗み見られた場合は以下となる。

元の数字            盗まれたデータ   暗号された数字    
       1                           2                      4
       2                           4                      6 
       3                           6                      8        
       4                           8                     10     
       5                          10                    12

 [4,6,8,10,12]から[1,2,3,4,5]を推察するより、[4,6,8,10,12]から[2,4,6,8,10]を推察する方が簡単である。なぜなら“2をたしている”のがバレバレだからだ。そうすると攻撃者は、「この暗号処理は何かをやったあとに2をたしているのだな」と分かり、暗号の半分は解読されたこととなる。

 こういういったことを防ぐために、可能な限り一連の暗号処理を“1つのチップ”で処理させるように、HSMでは工夫をしているのだ。

一体型成形

 第1章でHSMは外部からの攻撃に対して、鍵を漏洩させない仕組みを持つと記述させていただいた。では攻撃者はどのように内部の鍵を手に入れるのか?答えは単純で、ハードウェアを盗んで分解して中のデータ保存領域を直接触ろうとするのだ。  

 HSMは簡単には分解できない仕組みを持っている。以下の写真を見ていただきたい。

※会員登録いただくと図をご覧いただけます。
会員登録はこちら(無料)

 弊社のアプライアンス型HSM商品をどこまで分解できるか試してみたものである。一部のねじは外せたが、真ん中の黒い部分がどうしても取れない。(どうやったら取れるのか、社内で問い合わせを行ったら、こっぴどく怒られ、延々と理由とその正当性を聞かれてしまった。ちなみに前から一度やってみたかったので、後悔はしていない。今のところは…)

PCI型のものは、ねじの1つも見えず、完全なハメ殺しとなっている。

ではどうするかと言えば、強引に分解するしかない。(さすがに自社商品では試せなかった。まだ小さい子供が2人いる身である。)


 1Uの通常サーバをイメージしていただきたい。中を見る時は、上ふたを外す。中の基盤は壊れない。なぜならマザーボードとその基盤は下にのみくっついており、上ふたにはくっついていないからだ。
 HSMは大事な部品は上にも下にも同時にくっついている。つまり無理やりはがすと勝手に破壊される。タマゴサンドイッチが両方のパンにくっついており、一度作ると、タマゴとパンにきれいに分解することが不可能であることと同じだ。

真正乱数生成

 暗号処理と乱数生成は切り離せない。なぜかといえば、たとえば1,000人が使用する暗号システムがあるとする。その場合、1,000人分の鍵が必要だ。人間が鍵を生成することはできない。必ず偏るからである。誕生日が入ったり、電話番号が入ったり、住所を入れたりする。人間の脳では、純粋な無作為な作業は不可能なのだ。このため、サーバで1,000個の鍵を生成する必要がある。残念ながら普通のサーバでは同様に偏りのない乱数を生成することができない。

 まず、乱数の定義についてご理解いただく必要がある。非常にややこしい話となるが、簡単になるように努力させていただく。
乱数とは連続的に生成された際に「1個前に生成されたものと、いま生成されたものが数学的、物理的に関係性がないこと」を指す。通常のサーバでは電源を入れてから電源を落とすまで全ての処理は、一連の電気の流れの上で実現している。このため、全ての処理には関係性がある。

 なお、コンピュータは1と0で動作するが、1が“電気あり”、0が“電気なし”という風に理解されるケースが多い。ただしこれは誤りだ。
“電気なし”だとコンピュータは止まる。正確には、電圧が“高い”、“低い”であり、ようは一連の電気の流れが高い電圧と低い電圧を行ったり来たりしているだけで、全てつながっている。

 HSMはこれらを特殊な方法で実装しており「真正乱数」と言われる。この機能は暗号処理以外には、宝くじの番号抽選等でも使用される。日本でもマイナンバー制度がようやく動き始めたが、あの仕組みにおけるセキュリティ対策の中では日本国民全員分の乱数を生成する必要があるが、そこでの利用も期待されている。これらがHSMが備えるハードウェア特性となる。

パスポートに免許証、プリンタにまで…HSMの変わった使い方

 HSMとその暗号処理には、みなさんが気づいていないだけで非常に重要な一風変わった利用方法がある。前章で述べたパスポートの保護などがそれにあたる。改ざん防止技術だ。以下に、暗号処理と改竄防止技術との関係性を簡単にまとめる。

 今までのご説明の中で、HSMから鍵が漏えいしないことを前提とすると、HSMで暗号化したデータはそのHSMでしか復号化できないことをご理解いただけたと思う。それはつまり逆に言うと、HSMで生成されたデータはそのHSM以外では誰も書き換えることができないことの証明となる。であれば、HSM生成されたデータをいろんな製品に埋め込んでおき、改ざんされていないかどうかの確認処理に転用できることとなる。この技術はみなさんが思っているより広く流通している。

 パスポート、運転免許証、iPhone/iPad、PlayStation、BlueRay、CISCO、等が改ざん防止を適応している(これらには一部違う技術が使われているケースもあるが、根本は同じである)。あとは業務用プリンタ等もそれにあたる。プリンタはよく言われるようにトナー/メンテナンスビジネスである。このためプリンタ製造メーカは安い非純正互換トナーの存在を快く思っていない。このため、純正トナーにICチップを搭載し、HSMで書き込んだデータを保存しておく。プリンタ側にもHSMに相当する機能があり、トナーのデータを読み込み更新することができる。

 以上でHSMの話は終了となる。少しでも暗号やHSMというものを身近に感じていただき、好奇心をそそられた方がいたとするならば、非常にうれしく思う。これまでお読みいただき、誠にありがとうございました。

会員限定で「読者からのコメント」が読み書きできます! 「読者からのコメント」は会員限定の機能。会員登録を行い、ログインすると読者からのコメントが読み書きできるようになります。

会員登録(無料)・ログイン

Myリストへ 印刷用ページへ

この記事をtweetする このエントリーをはてなブックマークに追加


この寄稿記事に掲載している情報は、掲載日時点での情報となります。内容は変更となる場合がございますのでご了承下さい。また、「Key Conductors」の寄稿記事及び当該記事に寄せられたコメントについては、執筆者及びコメント投稿者の責任のもと掲載されているものであり、当社が、内容の最新性、真実性、合法性、安全性、適切性、有用性等を保証するものではありません。


30006498


IT・IT製品TOP > Key Conductors > 亀田 治伸(日本セーフネット株式会社) > ハードウェア暗号モジュールの秘密と特性…結局、なんなの?

このページの先頭へ

キーマンズネットとは
日本セーフネット CDP事業部 サービスプロバイダ営業部 部長 長年セキュリティ系の事業に従事。特に認証と暗号化を専門としている。 最近は楕円曲線暗号とSAML POSTバインディングを個人的テーマとして研究中。JIPDEC 客員研究員として企業の電子商取引の安全化にも努めている。harunobu.kameda@safenet-inc.com

ページトップへ