Cisco Japan Blog
Share

ネットワークのトラストの基点 – トラストアンカーモジュール


2020年5月7日


日本でもついに5Gの商用サービスが開始されました。

いよいよ本格的な5Gの時代に突入していきます。5Gは現状のLTEに比べて広帯域であるということのみならず、超低遅延の特性や、多端末の環境を生かしたユースケースが想定しているため、ローカル5Gでの展開という選択肢も含めて、企業の工場内ネットワークのような環境において多種多様のIoT機器を含むネットワークの活用が進みます。

このとき、企業の重要なオペレーションを支える製造や物流のシステムに対して様々な計測機器・センサーが接続され、リアルタイムの情報収集に基づく業務の効率化が期待されています。このような環境では、システムの堅牢性もさることながら、セキュリティ対策が必要なことはいうまでもありません。ただし、このセキュリティの対策はシステムの脆弱性対策のみでいいのでしょうか。

 

ここで重要になってくるのが「トラスト」の概念です。

このようなモバイルを前提としたネットワークの活用が広がり、多種多様な機器が接続される環境において、重要な視点が、システムの基本的な特性としての「トラスト(=信頼)」をどう維持していくかということです。トラストという単語は幅広い意味を含んでしまいますが、システムの基盤の視点では全てのコンポーネント(ハードウェア・ソフトウェア)が、エンドツーエンドで正しい構成部品でシステムが成り立っているという状態を意味します。これはもちろんネットワークを構成する様々な機器に対しても、同じことが言えます。

Evan GlimanおよびDoug Birthの共著にある「ゼロトラストネットワーク」のなかでも、“デバイスの信頼と信用”という一つの章のとして機器の真正性確認の重要性とその管理のポイントが説明されています。「ネットワークは常に安全でないとみなされる」という原則から始まるゼロトラストネットワークにおいて、その構成要素のデバイスに関しても、手放しで信頼をすることは非常に危険とみなされます。まさに、セキュリティ対策の成否を決めるのはデバイスであるという考え方を示しています。

この信頼の確保には、多層的なアプローチが必要とされますが、重要なアプローチの一つとしては、サプライチェーン全体に渡り、製造者と利用者の双方が必要なタイミングで信頼の確認がとれる環境を用意するということです。利用者の視点としては、真正性が担保された機器が手元に届き、その状態を確認したうえで機器が導入され、保守等の作業の中で部分的に機器が交換されたとしても、システムのライフサイクルにわたって確認をとりつづけることができる状態が必要となります。

 

トラストアンカーモジュールが「トラストの基点」となります。

シスコは、この機器レベルの信頼の確保、特に真正性確保についてTrustworthy技術を実装することで実現しようとしています。具体的には、トラストアンカーモジュールというチップを機器に搭載することにより、「トラストの基点」になるような機能を実現しています。

トラストアンカーモジュールは一つのチップです。Trust Computing GroupによるTrust Platform Moduleの標準をもとに開発を行っています。TPMとしての構造をもつのみでなく、シスコは製造工程において自らのこの情報を管理することによりトラストの基点となるモジュールに仕立てています。トラストアンカーモジュールには、機器固有の情報を示す識別子SUDI(Secure Unique Device Identifier) が含まれており、X.509証明書用の情報として保存されています。この証明書はシスコのルートの認証局(のチェーン)によって署名がなされています。そのため、この証明書の署名部分を遡って検証していくことによりベンダーの真正性が確認可能になっています。また、トラストアンカーモジュール自体が改竄されていないことが大前提ですから、モジュールは耐タンパー性を保持しています。

このトラストアンカーモジュールを活用した代表的な機能は、セキュアブートpopup_iconです。これは、ベンダーから提供された正しいハードウェアと正しいソフトウェアの組み合わせで起動していることを保証する機能です。トラストアンカーモジュールのセキュアストレージに保存されたマイクロローダをもとに起動を行い、上記のトラストアンカーモジュールとイメージ署名が行われたソフトウェアが相互にその内容を検証します。この一連の起動の動作により、機器の偽造やイメージのすり替えを防ぎ、ネットワーク基盤としての信頼を得るための基本的な前提を保つことが可能となります。

シスコのセキュアブートの実装上の特徴としては、2つの点が挙げられます。

  • ブートローダを読み込み前のマイクロローダはトラストアンカーモジュールに保存されているため、正しいブートローダの検査を実施したのちにOSの起動にかかる。この仕組みにより「トラスト の連鎖」が実現されています。
  • 最終的に起動したIOS(ルータのソフトウェア)自体がトラストアンカーモジュールの内容を確認することにより、機器の真正性も起動直後に確認がなされていること。

ネットワークのトラストの第一歩として、トラストアンカーモジュールを用いた機器の真正性のチェックについて紹介しました。このような技術をプロビジョニングの環境での活用やインベントリ管理の全域に組み込んでいくことは今後のミッションクリティカルなネットワークにおいて信頼の構築に結びつくものと考えます。また、シスコはトラストアンカーモジュールのほか、様々な技術を開発・実装しています。今後もTrsutworthy技術として紹介を続けていきます。

 


(参考情報)

C9500-X#show platform sudi certificate sign  
-----BEGIN CERTIFICATE-----       ####### Ciscoのルート認証局の証明書 
MIIDQzCCAiugAwIBAgIQX/h7KCtU3I1CoxW1aMmt/zANBgkqhkiG9w0BAQUFADA1
MRYwFAYDVQQKEw1DaXNjbyBTeXN0ZW1zMRswGQYDVQQDExJDaXNjbyBSb290IENB
IDIwNDgwHhcNMDQwNTE0MjAxNzEyWhcNMjkwNTE0MjAyNTQyWjA1MRYwFAYDVQ 
(中略) 
FR5umgIJFq0roIlgX9p7L6owEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEF
BQADggEBAJ2dhISjQal8dwy3U8pORFBi71R803UXHOjgxkhLtv5MOhmBVrBW7hmW 
Yqpao2TB9k5UM8Z3/sUcuuVdJcr18JOagxEu5sv4dEX+5wW4q+ffy0vhN4TauYuX 
cB7w4ovXsNgOnbFp1iqRe6lJT37mjpXYgyc81WhJDtSd9i7rp77rMKSsH0T8lasz
Bvt9YAretIpjsJyp8qS5UwGH0GikJ3+r/+n6yUA4iGe0OcaEb1fJU9u6ju7AQ7L4 
CYNu/2bPPu8Xs1gYJQk0XuPL1hS27PKSb3TkL4Eq1ZKR4OCXPDJoBYVL0fdX4lId 
kxpUnwVwwEpxYB5DC2Ae/qPOgRnhCzU= 
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----       ####### Ciscoの中間認証局の証明書 
MIIEPDCCAySgAwIBAgIKYQlufQAAAAAADDANBgkqhkiG9w0BAQUFADA1MRYwFAYD 
VQQKEw1DaXNjbyBTeXN0ZW1zMRswGQYDVQQDExJDaXNjbyBSb290IENBIDIwNDgw 
HhcNMTEwNjMwMTc1NjU3WhcNMjkwNTE0MjAyNTQyWjAnMQ4wDAYDVQQKEwVDaXNj 
(中略) 
aXR5L3BraS9jZXJ0cy9jcmNhMjA0OC5jZXIwXAYDVR0gBFUwUzBRBgorBgEEAQkV
AQwAMEMwQQYIKwYBBQUHAgEWNWh0dHA6Ly93d3cuY2lzY28uY29tL3NlY3VyaXR5
L3BraS9wb2xpY2llcy9pbmRleC5odG1sMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJ
KoZIhvcNAQEFBQADggEBAGh1qclr9tx4hzWgDERm371yeuEmqcIfi9b9+GbMSJbi
ZHc/CcCl0lJu0a9zTXA9w47H9/t6leduGxb4WeLxcwCiUgvFtCa51Iklt8nNbcKY 
/4dw1ex+7amATUQO4QggIE67wVIPu6bgAE3Ja/nRS3xKYSnj8H5TehimBSv6TECi 
i5jUhOWryAK4dVo8hCjkjEkzu3ufBTJapnv89g9OE+H3VKM4L+/KdkUO+52djFKn
hyl47d7cZR4DY4LIuFM2P1As8YyjzoNpK/urSRI14WdIlplR1nH7KNDl5618yfVP
0IFJZBGrooCRBjOSwFv8cpWCbmWdPaCQT2nwIjTfY8c= 
-----END CERTIFICATE----- 
-----BEGIN CERTIFICATE-----       ####### デバイス固有の証明書(SUDIを含む)以下に内容の表示のサンプルあり 
aXNjbzEVMBMGA1UEAxMMQUNUMiBTVURJIENBMB4XDTE4MDExMjAyMDEyMVoXDTI5 
MDUxNDIwMjU0MVowZTElMCMGA1UEBRMcUElEOkM5NTAwLTQwWCBTTjpGQ1cyMTQ3 
(中略) 
VR0TAQH/BAIwADBNBgNVHREERjBEoEIGCSsGAQQBCRUCA6A1EzNDaGlwSUQ9VVlK 
UU5EQkhCQUR4VkhWbElFcDFiaUF5TUNBeE1qbzFNam8wTlNBOFdKZz0wDQYJKoZI 
hvcNAQELBQADggEBAKmrwvJ0wN+pVkYg+5+piFrHTj06K2IAN7y4BzGPXjha2jzH 
W/HZuul7c8YZ5x+53XQTRhJddDQwuvkPVDVrGd2rwPJBJWlsvxhl4gEMYg9QxBlS 
vKOD+sxwdrcAOcMCw1YxJE8WCll//ZQNzMLNOl+ZVMIMTVxwn7w7OBqmt/TM7Bi7 
CjcyQwD7cVwlpAO++SpPkTve7qs7mPnJkm0f1IUbuIWXLC1/VlG0a9KcuZ9hzLcW 
cL+dEyDA1hajmRL06ilcwi+dzpPQ8t6aW4qAunz78Isf90b9LasFNosogXKU+iKs 
AqzceHXfrjxTOZklof4+GgSA75pjzVeV1PaRdUY= 
-----END CERTIFICATE-----

 


 ~ % openssl x509 -text -noout -in ./Cert_C9500.txt  <--- OpenSSLコマンドによるX.509の証明書の内容表示
Certificate:
    Data: 
        Version: 3 (0x2)
        Serial Number: 36866XXX (0x2328XXX)
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: O=Cisco, CN=ACT2 SUDI CA
        Validity
            Not Before: Jan 12 02:01:21 2018 GMT
            Not After : May 14 20:25:41 2029 GMT
        Subject: serialNumber=PID:C9500-40X SN:FCW21XXXXXX, O=Cisco, OU=ACT-2 Lite SUDI, CN=C9500-40X  <--- 証明書に記載されている機器固有のID
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:d8:48:20:97:ca:48:80:fa:34:ec:61:00:8a:6e:
                    b8:6c:2c:14:7c:5d:43:73:f3:58:5a:14:98:d5:41:
                    73:8e:99:a5:b8:24:41:01:33:16:52:46:d7:8f:12:
                    c5:0a:f4:ca:1d:b9:e0:fb:17:a8:7d:cc:08:c1:9f:
                    (中略)
                    01:4e:86:3c:83:ca:30:41:83:d0:b7:e5:5f:ba:97:
                    bb:93:12:f7:7e:d7:6d:d5:35:26:58:b0:ce:4b:76:
                    a0:e2:f4:64:c8:eb:c8:94:a8:7a:45:00:5e:1c:f8:
                    b5:1a:9d:2e:12:77:38:e5:45:e7:e9:24:60:2d:6a:
                    18:30:0d:2d:12:e1:95:cd:e0:74:87:0c:ea:13:5b:
                    8f:1c:ec:75:60:a9:7e:2d:01:e1:45:e7:21:37:ee:
                    d4:57:ac:c9:75:7a:df:a0:cc:db:c2:ce:d8:a1:c6:
                    c1:50:e6:8f:3a:e6:3e:bd:a9:a3:21:c4:c3:96:b5:
                    f1:97
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Key Usage: critical
                Digital Signature, Non Repudiation, Key Encipherment
            X509v3 Basic Constraints: critical
                CA:FALSE
            X509v3 Subject Alternative Name:
                othername:<unsupported>
    Signature Algorithm: sha256WithRSAEncryption  <--- 証明書への署名
        a9:ab:c2:f2:74:c0:df:a9:56:46:20:fb:9f:a9:88:5a:c7:4e:
        3d:3a:2b:62:00:37:bc:b8:07:31:8f:5e:38:5a:da:3c:c7:5b: 
        f1:d9:ba:e9:7b:73:c6:19:e7:1f:b9:dd:74:13:46:12:5d:74:
        34:30:ba:f9:0f:54:35:6b:19:dd:ab:c0:f2:41:25:69:6c:bf:
        18:65:e2:01:0c:62:0f:50:c4:19:52:bc:a3:83:fa:cc:70:76:
        b7:00:39:c3:02:c3:56:31:24:4f:16:0a:59:7f:fd:94:0d:cc:
        (中略)
        f4:cc:ec:18:bb:0a:37:32:43:00:fb:71:5c:25:a4:03:be:f9:
        2a:4f:91:3b:de:ee:ab:3b:98:f9:c9:92:6d:1f:d4:85:1b:b8:
        85:97:2c:2d:7f:56:51:b4:6b:d2:9c:b9:9f:61:cc:b7:16:70:
        bf:9d:13:20:c0:d6:16:a3:99:12:f4:ea:29:5c:c2:2f:9d:ce:
        93:d0:f2:de:9a:5b:8a:80:ba:7c:fb:f0:8b:1f:f7:46:fd:2d:
        ab:05:36:8b:28:81:72:94:fa:22:ac:02:ac:dc:78:75:df:ae:
        3c:53:39:99:25:a1:fe:3e:1a:04:80:ef:9a:63:cd:57:95:d4:
        f6:91:75:46
Tags:
コメントを書く