━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ __ /P▲ ◆ JPNIC News & Views vol.1645【臨時号】2018.12.11 ◆ _/NIC ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ---------- PR -------------------------------------------------------- 法┃人┃向┃け┃光┃回┃線┃━アルテリア・ネットワークス株式会社━ ━┛━┛━┛━┛━┛━┛━┛創業1997年のネットワーク・フロンティア 全国主要都市に張り巡らせた光ファイバー基幹ネットワークを保有! 安全で快適なネットワークのことならアルテリアにお任せ!∠詳しくはこちら https://www.arteria-net.com/jpnic_201812/ ---------------------------------------------------------------------- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ◆ News & Views vol.1645 です ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2018年11月上旬に、タイ・バンコクにて第103回IETFミーティングが開催され ました。この会合のレポートを、前号より連載にてお届けしています。連載 第2弾となる本号では、IoT機器のファームウェアを安全に更新する仕組みで あるSUITと、それに関するハッカソンのレポートをお届けします。 次号以降でも、セキュリティ、トランスポート、DNSなど各分野の動向を、引 き続きご紹介していく予定です。昨日発行した全体会議の報告については、 下記のURLからバックナンバーをご覧ください。 □第103回IETF報告 ○[第1弾] 全体会議報告 (vol.1644) https://www.nic.ad.jp/ja/mailmagazine/backnumber/2018/vol1644.html なお、本バンコク会合のオンサイトでの報告会を、今週12月14日(金)に東京・ 神田のNATULUCK神田駅前 会議室にて、ISOC-JPとJPNICの共催で開催します。 本号の筆者である瀧田氏からも、本件に関するより詳細な報告が行われる予 定ですので、興味を持たれた方はこちらもぜひご参加ください。 IETF報告会(103rdバンコク) https://www.isoc.jp/wiki.cgi?page=IETF103Update ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ◆ 第103回IETF報告 [第2弾] SUITとIETF Hackathon ~IoT機器の安全なファームウェア更新から~ セコム株式会社 IS研究所 瀧田悠一 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2018年11月3日(土)から9日(金)にかけてタイ・バンコクで開催されたIETF 103にて、3日(土)および4日(日)の2日間にHackathonが開催されました。 Hackathonは、開発者同士が集まって議論や協調を促進し、コードの作成や機 器の動作などを実際に行ってみるイベントです。本稿では、Hackathonにおい て筆者が開発に参加したSUITの概要と、Hackathonで経験したことについてご 紹介します。 ■ SUITとは SUIT(*1)とは、「Software Updates for IoT」の略称です。IETFでのSUIT WG は、IoT機器の安全なファームウェア更新の仕組みについて検討するために、 2017年に発足しました。 (*1) Software Updates for Internet of Things (suit) https://datatracker.ietf.org/wg/suit/about/ IoT機器のファームウェア更新にはさまざまな課題が存在しますが、その一つ として、ファームウェアの発行元を確認したいという課題があります。一般 に、ファームウェアはUSBメモリ、Wi-Fi、BLE (Bluetooth Low Energy)など、 多様な手段でIoT機器に配布されます。しかし、セキュリティ対策がされてい ないなど、場合によっては安全ではない配布方法となる可能性があります。 これに対して、配布方法に依存せずファームウェアの発行元を確認する手段 としては、ファームウェアにデジタル署名を付与するという方法があります。 SUITでは安全なファームウェア更新のために、この方法を採用しています。 まず、ファームウェアの作成者(Author)がファームウェアのメタデータ(マニ フェスト)を定義し、署名されたマニフェストを作成します。そして、IoT機 器はマニフェストを受け取ったときに署名を検証することで、正しい発行元 のファームウェアであることを確認します。マニフェストには、ファームウェ アのURIや計算されたメッセージダイジェストなど、ファームウェアに関する 情報が含まれています。SUITでは、以上のようなファームウェア更新の仕組 みや、マニフェストのフォーマットなどについて検討が進められています。 ■ SUITとHackathon SUITの特徴は、Class1の機器(~10KiB RAM、~100KiB ROM (*2)で定義)と呼 ばれる、リソースに大きな制限のあるIoT機器で動作する仕組みをめざしてい る点です。このため、コードサイズが小さくなるように設計されたCBOR(*3) や、COSE(*4)などを採用した、マニフェストのフォーマットが提案されてい ます(*5)。 (*2) Terminology for Constrained-Node Networks https://tools.ietf.org/html/rfc7228 (*3) Concise Binary Object Representation (CBOR) https://tools.ietf.org/html/rfc7049 (*4) CBOR Object Signing and Encryption (COSE) https://tools.ietf.org/html/rfc8152 (*5) A CBOR-based Firmware Manifest Serialisation Format https://tools.ietf.org/html/draft-moran-suit-manifest 実際のIoT機器では、目的とする仕様が同じであっても、ハードウェア性能や OSによる機能の違いにより、実装方法および動作結果が異なります。そのた めSUIT WGでは、IETF 101 Hackathonより、SUITを実際の機器に実装し、WGへ フィードバックしてきました。そして、IETF 103 HackathonでもSUITプロジェ クトが参加するということで、筆者らもそのプロジェクトに参加しました。 ■ IETF 103 Hackathonの概要 Hackathonの1日目は8:30から22:00まで、2日目は8:30から16:00まで会場が オープンします。しかし、2日目の14:00以降は各プロジェクトの成果発表が 行われるため、実質的な作業期間は1日半程度となっています。そして、成果 発表の後に、参加者による投票によってベストプロジェクトが選出されます。 今回の現地参加者は250人、プロジェクトの総数は28と盛況でした。IETF 103 全体の現地参加者が846人であったため、約3割の人がHackathonに参加してい たことになり、関心の高さがうかがえます。 ■ HackathonにおけるSUITプロジェクト ○SUITプロジェクトで取り組んだこと SUITプロジェクトへの参加者は10人、そのうちHackathonへの初参加者は筆者 らも含め5人でした。まず、1日目の朝に集まった参加者で、それぞれの開発 目標が共有されました。全体の開発目標は大きく分けて次の二つです。 1) 仮想化されたSUIT開発環境(OS)の整備 2) 最新版のマニフェストフォーマットを利用した試作 1)では、IoT機器向けのOS (Mbed OS、RIOT OS)について、SUITの開発に必要 な環境を整備した、仮想化環境(Dockerコンテナ)の構築に取り組みました。 2)では、今回参加者が持ち寄った六つのハードウェアを対象として、最新版 のフォーマットに従ったマニフェストの作成、および、各ハードウェアで動 作するマニフェストの読み込み処理(パーサー)の実装を行いました。 筆者らは2)に取り組み、ルネサスエレクトロニクス社のRX231(*6)を持ち込ん で開発を行いました。 (*6) RX231, RX230 | ルネサス エレクトロニクス https://www.renesas.com/jp/ja/products/microcontrollers-microprocessors/rx/rx200/rx231.html ○Hackathonでのトラブルと参加者同士の協力による対処 Hackathonではトラブルがつきものですが、SUITのプロジェクトでもいくつか のトラブルが発生しました。まず、筆者らが持ち込んだRX231の開発ボードの ACアダプタが、日本とタイの電圧の違いから故障する事態が発生しました。 これに対応するため、現地の電器店でACアダプタを購入しましたが、プラグ が開発ボードとは異なる形状でした。この問題については、Hackathonに参加 していた詳しい方に助言をいただいたことでプラグを換装することができ、 無事に開発ボードが動作するようになりました。 また他のトラブルとしては、インターネットドラフト(I-D)に記載されたマニ フェストフォーマットの構造を記した、スキーマ定義に誤りが発見されまし た。本来であれば、スキーマ定義を特定のツールで利用することにより、JSON (JavaScript Object Notation)形式のマニフェストから、CBOR形式のものを 自動生成できるはずでしたが、これができなくなりました。スキーマ定義の 修正を待つと時間が足りなくなるため、筆者も含めた参加者間で正しいスキー マ定義を共有しながら、CBOR形式のマニフェストを直接手作業で作成しまし た。ここでも、現地にいたCBORのRFC著者の方などから、助言を受けながら作 業を進めました。その結果、マニフェストの作成およびRX231で動作するマニ フェストのパーサーを実装し、動作させることができました。 ○Hackathonで明らかになった新しい課題 今回筆者らが持ち込んだRX231は、ファームウェアの暗号化に対応しており、 暗号化されたファームウェアとそれに対応する鍵を用いてファームウェアを 更新します。Hackathonでは、筆者らの試作だけがファームウェアの暗号化に 対応していました。これがきっかけとなり、筆者らは現在のマニフェスト フォーマットでは、ファームウェアを復号するための鍵を特定する項目(鍵ID) がないことに気づきました。これに対応するため、SUIT、CBOR、COSEの主要 なメンバーらと意見交換し、その結果として鍵IDに関する課題を整理するこ とができました。 ○ベストプロジェクトへの選出 Hackathon 2日目の14:00からは、各プロジェクトの代表者による成果発表が 行われました。その後参加者による投票が行われ、SUITプロジェクトは見事 ベストプロジェクトに選出されました(*7)。Hackathonで得られたSUITプロ ジェクトの詳細な成果物については、下記のページ(*8)をご覧ください。 (*7) IETF Hackathon: Software Updates for IoT (SUIT) https://datatracker.ietf.org/meeting/103/materials/slides-103-suit-hackathon-report-00 (*8) SUIT Hackathon at IETF103 https://gist.github.com/jaimejim/654654358e2c3da5ea19d3ba7cc3fdd1 ■ おわりに IoT機器の安全なファームウェア更新の仕組みは、セキュリティを継続的に確 保するためには必要不可欠な技術です。特に、リソースに制限のあるIoT機器 がファームウェア更新できるようになることで、安価なIoT機器を長期間安全 に運用できるようになります。 今回のHackathonへの参加では、他の参加者と協力したことでI-Dの実装に関 する問題を迅速に解決できただけではなく、I-DやRFCの著者らとつながりを 得ることもできました。また、特定の環境で明らかになったI-Dの課題につい ても、いち早くその著者らと共有することができました。 今後もHackathonなどを通じて、より幅広く相互運用可能な技術を検討してい くことで、共通化されたファームウェア更新のツールやサービスを、さまざ まなIoT機器に対して適用できるようになることが期待できます。 なお、筆者の今回の活動の一部は、一般社団法人情報通信技術委員会による 助成を受けて行ったものです。助成の目的と内容については、公募に関する Webページ(*9)をご覧ください。 (*9) 平成30年度「IoT/BD/AI時代に向けたデジュール及びフォーラム標準に 関する標準化動向調査」調査者の募集 http://www.ttc.or.jp/j/info/topics/20180410/ また、今回ご紹介したSUITについては、2018年12月14日(金)に東京・神田で 開催される、IETF報告会でも特集として取り上げられる予定です(*10)。 Hackathonだけではなく、IETF 103におけるSUIT WGでの議論の動向なども含 めて筆者から詳しくご報告しますので、ご興味のある方はぜひご参加くださ い。 (*10) IETF報告会(103rdバンコク) https://www.isoc.jp/wiki.cgi?page=IETF103Update ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ まわりの方にもぜひNews & Viewsをオススメください! 転送にあたっての注意や新規登録については文末をご覧ください。 ◇ ◇ ◇ わからない用語については、【JPNIC用語集】をご参照ください。 https://www.nic.ad.jp/ja/tech/glossary.html ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ ◆◇◆◇◆ 本号のご感想をお聞かせください ◆◇◆◇◆ ┃ ┃良かった ┃ ┃ http://feedback.nic.ad.jp/1645/6cb8e2652f19d98d9bf04f7c6aed3cab ┃ ┃ ┃ ┃悪かった ┃ ┃ http://feedback.nic.ad.jp/1645/d4aa0b99cba53d3723ac742c3bb2111e ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ___________________________________ ■■■■■ JPNICの活動はJPNIC会員によって支えられています ■■■■■ ::::: 会員リスト ::::: https://www.nic.ad.jp/ja/member/list/ :::: 会員専用サイト :::: https://www.nic.ad.jp/member/ (PASSWORD有) □┓ ━━━ N e w s & V i e w s への会員広告無料掲載実施中 ━━━┏□ ┗┛ お問い合わせは jpnic-news@nic.ad.jp まで ┗┛  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ JPNIC News & Views vol.1645 【臨時号】 @ 発行 一般社団法人 日本ネットワークインフォメーションセンター 101-0047 東京都千代田区内神田3-6-2 アーバンネット神田ビル4F @ 問い合わせ先 jpnic-news@nic.ad.jp ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ___________________________________ 本メールを転載・複製・再配布・引用される際には https://www.nic.ad.jp/ja/copyright.html をご確認ください  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ◇ JPNIC Webにも掲載していますので、情報共有にご活用ください ◇ 登録・削除・変更 https://www.nic.ad.jp/ja/mailmagazine/ バックナンバー https://www.nic.ad.jp/ja/mailmagazine/backnumber/ ___________________________________ ■■■■■ News & ViewsはRSS経由でも配信しています! ■■■■■ ::::: https://www.nic.ad.jp/ja/mailmagazine/backnumber/index.xml :::::  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ■■◆ @ Japan Network Information Center ■■◆ @ https://www.nic.ad.jp/ ■■ Copyright(C), 2018 Japan Network Information Center