【事例アリ】組込みシステムのセキュリティ課題とその対策|組込み開発技術ブランド「Cente」

組込みシステムのセキュリティ対策は必須

サイバーセキュリティのイメージ

組込みシステムのセキュリティを高めるべき理由

組込みシステムとは、特定の用途を目的とした製品に搭載される、限定的な機能を持つシステムのこと。例えば洗濯機なら洗濯機能、炊飯器なら炊飯機能、自動車なら運転のための機能やカーナビ機能などが組込みシステムにあたります。

組込みシステムには、以下のような理由からセキュリティ対策が必須となっています。

  • 製品の安全性の確保
  • 会社全体の信用維持
  • サービスの向上

組込みシステム開発には、IoT(Internet of Things)が深く関わっています。 IoTは「モノのインターネット」と訳されインターネットを通じて製品が通信できることを意味しており、IoTの技術によって生活面での安全性や機能性をより追求できるようになりました。この「組込みシステム」と「IoT」の関連性こそが、セキュリティを高めるべき理由に深く関係しています。

  • 遠隔で製品の状態を把握できる
  • 遠隔で製品を操作できる
  • 状況に応じて製品を稼働させる

これらの機能は一見すると非常に便利に感じますが、この機能を悪用して情報を盗もうとしたり、不正にサービスへのアクセスを試みたりする人も存在しているのが実情。サイバー攻撃の全体数は2016年から2019年の間に2.6倍も増加しており、そのうちの約半数がIoT製品を狙った攻撃であるというデータもあるほどです。
こうした攻撃を未然に防ぎ、安全で快適な生活を送るためにも、組込みシステムのセキュリティ対策が重要となってくるのです。

※参照:総務省「サイバー攻撃の最近の動向等について」
https://www.soumu.go.jp/main_content/000722477.pdf

組込みシステムのセキュリティ課題とは

組込みシステムのセキュリティ対策を実装するにあたって、主な課題は以下の4つです。

(1)コスト

製品の安全性を保ち、会社の評判維持や社会的な責任を果たす上で、IoT製品に対するセキュリティ対策は欠かせません。しかし、そこで問題となるのがセキュリティ対策にかかるコスト。コストをかければかけるほど、販売価格も高くしなければつり合いが取れません。IoT商品は低価格な物も多いため販売価格が上げにくいという実情もあり、セキュリティ対策にコストをかけにくいという課題があります。
ただし、いざセキュリティに関わる事故を起こしてしまった場合、その経済的損失や信用の失墜はセキュリティ対策にかけるコストの比ではありません。事故対応やリカバリー策によって、結果的にセキュリティ対策を行うコストよりも多くのコストを支払うことになってしまうでしょう。あらかじめセキュリティ対策にかけるコストは、将来起こり得る損失を回避するための投資という意識を持つことが肝要。セキュリティ性能が評価されれば、会社としての評判につながる可能性もあります。

(2)セキュリティに詳しい人材の不足

IoTセキュリティに関する大きな課題のひとつとして、知見のある人材が不足していることも挙げられます。2018年3月にIPA(独立行政法人情報処理推進機構)が行った調査では、5割近くの会社でセキュリティに詳しい人材がいないことが判明しています。
知見のある開発者が少ないことは、適切なセキュリティ対策ができない原因となってしまいます。また、企業だけの問題に留まらず、今後は国内全体でもセキュリティ対策に知見を持った人材が不足することが懸念されています。
セキュリティに強い人材を急に自社で採用することは非常に難しいため、スピーディーな対策としては「評価が確立された公的なガイドラインの活用」や「セキュリティ対策を専門とする企業に開発・運用を委託する」「セキュリティ製品・サービスを利用する」「専門家に意見をもらう」等、外部の力を借りることが有効。それと並行して、中長期的な目線でセキュリティに詳しい人材を社内で育成していくことが必要です。

(3)長期にわたる保守運用

次に課題となるのは、長期にわたる保守・運用。IoT製品は短い間だけ使用されるものだけではなく、数十年間にわたって使用され続けるものもあります。とはいえ、販売が終了した製品やサービスのセキュリティ対策をずっと維持し続けることは物理的に困難。サービスが終了して保守・管理が行われなくなった製品は「サイバーデブリ(サイバー上のごみ)」「野良IoT」などとも称されており、サイバー攻撃の踏み台として利用され社会へ悪影響を及ぼす可能性があります。
このような問題を防ぐためには、製品・サービス販売後のセキュリティサポートをどうするのか方針をあらかじめ立てておくこと、そして利用者にサポートについて周知しておくことが重要です。販売後に脆弱性や危険性が発見された場合、サイバー攻撃からの回避策の提示や新しい製品への移行を伝えられるようにしておきましょう。

(4)外部委託の活用

IoT技術の成長は目覚ましく、自社だけでの製品やサービスの開発・提供は難しくなってきているのが現状です。そこで外部委託などの活用が検討されるわけですが、この点においても課題感があります。
というのも、製品の輸入や開発・製造の委託などを含めて海外依存が高まっており、検討される委託先も海外企業であることが増えてきました。しかし、海外の委託先は管理が困難であったり、製品出荷後のトラブルに対応しにくいといった問題があるのです。
外部委託を検討する際には開発時にかかるコストだけを見るのではなく、製品開発から運用まで製品のライフサイクル全体でコストをかけるべき点を整理した上で、どの点を委託すべきなのか検討するようにしましょう。また、万が一のために運用の際の対応や責任の明示、委託先が対応できない場合の代替策なども契約時に定めておくことが重要です。

※参照:IPA(独立行政法人情報処理推進機構)「IoT製品・サービス脆弱性対応ガイド」
https://www.ipa.go.jp/files/000065095.pdf

セキュリティが脆弱な組込みシステムのリスク事例

サイバーセキュリティ・ランサムウェアのイメージ

セキュリティが脆弱な組込みシステムには、どのようなリスクがあるのでしょうか。実際の事例から、セキュリティ面のリスクを学んでいきましょう。

【家電製品など一般的なIoT機器がサイバー攻撃に利用されてしまった事例】

スマートテレビ・家庭用ルーター・ネットワークカメラ(防犯カメラ)・高機能プリンタなど、インターネットにつながっている家電製品は年々増えています。こうしたIoT機器のセキュリティに関して近年問題視されているのが、セキュリティの甘さを突いて機器がbot化されてサイバー攻撃の踏み台として利用されてしまうこと。具体的にあった事例としては、ハードディスクレコーダーがサイバー攻撃の踏み台にされてしまい、あるブログサービスへのスパム送信に使用されてしまった、というものがあります。つまり、ハードディスクレコーダーという機器がbot化されてしまったのです。
botとは、遠隔での操作やあらかじめ組み込まれたアルゴリズムを利用して自動的に動作するプログラムのこと。この方法を利用すれば、bot化した機器を用いて遠隔操作で大規模な一斉攻撃も可能となってしまいます。
管理用のインターフェース等を通じてIoT機器に不正なbotプログラムがインストールされてしまう、というのが主な手口として挙げられ、対策としては、製品の出荷時に管理者用や開発者用のアクセス手段を無効化しておく・物理的なコネクタを排除しておく、といった方法があります。

【自動車の車載ユニットの脆弱性が発覚しリコールに発展した事例】

近年の自動車は、インターネット経由でクラウドに送信される現在地や走行データをAIが分析することで運転や走行を最適化したり、事故やトラブルがあった際に自動で通報や通知を行ったりするといった機能が備わっています。また、自動車をコントロールする車載ネットワークを制御するCPUなども積まれており、ハンドルやブレーキといった運転に関わる部分にもその制御が及んでいます。
しかし、そういった便利さの裏側で、自動車に対して遠隔からの乗っ取りが可能なリスクが判明した事例がありました。具体的には、車載しているサービス用のCPUが認証なしでアクセスできる状態になっており、そのCPUを経由して車載ネットワークにアクセスされ、ハンドルやエンジンが不正に操作できることが判明した、というもの。車載ユニットに複数のセキュリティホールが存在していることがわかり、結果的に100万台を超えるリコールが行われています。
こうしたリスクを防ぐには、外部からのアクセス制御はもちろん、クラウドデータを分析するAIが通常の通信か攻撃的な通信かを判断できるような対策が必要です。

【水道や電力等の重要インフラの制御システムが標的となった事例】

2020年、イスラエルの水道関連施設の制御システムが攻撃されました。廃水処理プラント・ポンプ場・下水処理場等6ヵ所の施設のSCADA(SupervisoryControl And Data Acquisition:監視制御及びデータ収集)システムが標的となりましたが、イスラエル国家サイバー総局がリアルタイムで攻撃を検知して阻止されています。
攻撃者は攻撃を阻止される前に浄水場の水の塩素レベルを変更しようとしていたという情報もあり、もしそれが実行されれば塩素または他の化学物質が誤った比率で水源に混入され、有害な水が供給される恐れがあったという事例です。
ほかにも、2021年に米国フロリダ州の浄水場がサイバー攻撃を受けたが監視していたオペレーターが気づき、攻撃を阻止したという事例があります。攻撃者はリモートアクセスソフトウェアであるTeamViewerを介してSCADAシステムにアクセスしていました。浄水場のすべてのコンピュータOSは2020年1月にサポートが終了したWindows7で、リモートアクセスに共有パスワードが使われていた…と、セキュリティ対策の甘さも露呈しています。
電気や水道、ガスなどの制御システムは、私たちの生活を支えている重要な機能です。従来は独立したネットワークや固定のプロトコルを使用しており事業者ごとに仕様が異なるため、制御システムを外部から攻撃することは困難と考えられていましたが、近年ではネットワーク化や汎用製品の利用が一般的になり、サイバー攻撃がセキュリティを突破しやすい状況となっています。さらに、制御システムはライフサイクルが長期(10年~20年)であり、外部からの攻撃を想定していないシステムもいまだに多く稼働しています。
大きな設備やシステムでは複数のIoT製品が共存していることが多く、それぞれにセキュリティ対策を高めておかないと、ひとつが突破されるだけで重要な部分へのアクセスを許してしまうということも。結果的にユーザーである個人や企業だけでなく、社会全体に大きなリスクを及ぼしてしまう可能性もあるのです。

※参照:精密工学会誌「IoT(つながる組込み機器)における脅威の現状」
https://www.jstage.jst.go.jp/article/jjspe/83/1/83_46/_pdf

※参照:IPA(独立行政法人情報処理推進機構)「情報セキュリティ白書2021」
https://www.ipa.go.jp/files/000094186.pdf

組込みシステムのセキュリティ対策の方法とは

セキュリティ対策の基本

組込みシステムにおけるセキュリティ対策の基本は以下の4つです。

(1)暗号化

組込みシステムのセキュリティ対策では、データの暗号化が必須です。IoTではネットワークを利用して製品とのアクセスを可能にしていますが、利便性が上がる一方でネットワークへの不正な干渉やハッキングといった攻撃に晒されるリスクを孕んでいます。
例えば収集されたデータがサイバー攻撃の対象にされればデータの改ざんや誤った分析結果などから不正な動作が起こり、重大事故につながる恐れも。また、データの漏洩などによって自社の立場や競合性が不利になるリスクも存在します。このような被害を防ぐために、暗号化によってデータを保護することが重要なのです。
暗号化を行う際は搭載する製品のリソースを維持し、機能性を損なわない工夫が必要であり、暗号はできるだけ軽量であることが望まれます。そこで、軽量暗号の実装時に考慮されるのが以下の要件です。

  • サイズ(回路規模、ROM/RAMサイズ)
  • 消費電力
  • エネルギー消費量(消費電力量)
  • 処理速度(スループット、遅延)

製品によっては重要な項目がそれぞれ異なるため、上記要件の中からその製品に特に重要なものを考慮することが必要。例えばバッテリー駆動の製品なら消費電力が、車載システムなどリアルタイムでの制御が必要な機器なら処理速度が重要なポイントになります。

暗号は大きく分けて「共通鍵暗号」と「公開鍵暗号」の2つに分類することができます。
共通鍵暗号は、暗号化と復号で同一の秘密鍵を用いる方式のこと。処理は比較的軽く、データそのものの暗号化や改ざん検出に利用されます。
一方、公開鍵暗号は暗号化で利用する公開鍵と復号で利用する秘密鍵が異なり、公開鍵からは秘密鍵を推定することが困難という非対称性が特徴。公開鍵暗号の計算量は典型的には共通鍵暗号の1,000倍以上になってしまいますが、その非対称性を利用して共通鍵暗号で利用する秘密鍵の共有やデジタル署名などに用いられています。
データを暗号化することで、製品が収集したデータや機能を保護することが可能に。暗号化を実装する際にはその製品の機能性を損なわないように配慮をした上で、軽量な暗号を使用するようにしましょう。

(2)認証・アクセス制御

認証・アクセス制御も効果的なセキュリティ対策のひとつ。認証・認可・監査という3つの機能を付与することで、アクセス権限を持つ人のみを識別します。

<アクセス制御における3つの機能>
  • ログインの許可・拒否をする「認証」
  • アクセスできる範囲を制限する「認可」
  • 認証や認可のログを記録する「監査」

さらに、アクセス制御には「任意アクセス制御」「強制アクセス制御」「 ロールベースアクセス制御」の3種類が存在します。

1. 任意アクセス制御

任意アクセス制御は、一般ユーザーがファイルの編集権限を任意で付与できる機能のこと。最も一般的な制御方式であり、アクセスの自由度が高いことが特徴です。
しかし、この方法では編集権限を持つ人が自由に権限を変更できるため、権限設定の統一化が難しいことが問題。重要な資料などの管理には適さない制御方法となります。

2. 強制アクセス制御

強制アクセス制御は、管理者のみがアクセス権限を設定できるシステムのこと。アクセスするユーザー側とアクセス先のシステム側にそれぞれセキュリティレベルを設定し、レベル差の比較によってアクセスの制限を実行するという仕組みです。
強制アクセス制御は管理者以外は権限を変更できず、システムの所有者であっても管理者権限がなければアクセス権限を変更できません。そのため、任意アクセス制御よりも強力なセキュリティ効果が期待できます。

3. ロールベースアクセス制御

ロールベースアクセス制御は、ユーザーごとに必要な範囲の権限だけを与える制御システムのこと。ユーザーは業務上必要な範囲外の権限は与えられず、必要以上の権限を持てない仕組みです。一般的には部署ごとに設定され、セキュリティの維持と業務効率化を図るために使用されます。


アクセス権限の認証には、多要素認証が効果的。多要素認証では、主に「知識要素」「所持要素」「生体要素」の3つが使用されます。

アクセス制御を行うことで、意図していないアクセスを防ぐことが可能になります。データの重要性や使用者のセキュリティレベルに合わせて、最適な方法でアクセス管理を行いましょう。

(3)ネットワークセキュリティ

サイバー攻撃からシステムを防護するには、ネットワークセキュリティが有効です。ネットワークセキュリティとは、顧客情報や製品・システムの開発技術といった情報資産の防護やネットワークを安全に運用するための防衛策のこと。ネットワークセキュリティにおける「ネットワーク」とは主に以下の2種類を指します。

オープンネットワーク
直接的、または間接的にインターネットや外部と接続している状態。ファイアウォール・IDS・IPS・ウイルス対策ソフトや検疫システムのソフトなどが対策として有効となります。
クローズドネットワーク
全に外部との接続を絶っている状態。適切なアクセス制御、定期的なID・パスワードの変更、USBの利用禁止、厳正なシステム管理ルールの遵守徹底などが対策として有効です。

近年ではクラウド上でのデータ管理も主流になってきており、オープンネットワークとクローズドネットワーク両方の性質を持つシステムも現れています。それぞれの性質に合わせ、必要なセキュリティ対策を講じることが肝要。特にIoT製品の場合はオープンネットワークであることが多いため、外部からの攻撃を防ぐ手段を用いて安全性を高めましょう。

(4)ソフトウェアセキュリティ

多くのIoT機器には、システムを実行するためのソフトウェアが埋め込まれています。ソフトウェアを狙って書き換えや改造などが行われる危険性があるため、ソフトウェアのセキュリティにも留意しておく必要があります。
ソフトウェアへの攻撃を防ぐために、以下のことをチェックしましょう。

  • 通信相手は正当か
  • 通信はピーピングされて(覗かれて)いないか
  • 通信の途中でデータを加工されていないか

この3つのセキュリティ危機に対しては、TLSというプロトコルが効果的。TCP/IPネットワークにより安全性の高い通信経路を利用できるもので、TLSを活用することで不正な通信を未然に防ぐことができます。
IoT機器が脅かされる危険性として、「直接操作」または「ソフトウェア改ざん」によるリスクがありますが、これらに対しては改ざんを検知する技術と難読化の技術が有効です。

組込みシステムが活用されるIoT製品の開発指針

つながる世界の開発指針

現在、自動車や家電などのあらゆる製品に欠かせなくなりつつあるIoTの組込みシステム。利便性が高まる一方で、不正アクセスによるリスクも考える必要があります。
このような状況にあるなか、IPA(独立行政法人情報処理推進機構)はIoTの開発者が思案すべき危険性や対策についての検討結果を取りまとめた「つながる世界の開発指針」を策定しました。

「つながる世界の開発指針」は、製品の開発ライフスタイル全体において考慮すべきポイントを5つの大項目に分け、全17の指針として明示したもの。それぞれの指針ごとに取り組むための背景や目的、具体的なリスクと対策の例を解説しています。指針一覧はIoT製品開発時のチェックリストとしても活用でき、またIoT製品を調達する利用者側においても自社の要件確認時のチェックリストとして活用可能。開発者に限らず、経営者層がIoT製品に想定されるリスクや対策を自社が取り組むべき課題と認識し、理解を深めてもらうためのガイドとしても有用なものになっています。

以下が「つながる世界の開発指針」の17指針です。

【方針:つながる世界の安全安心に企業として取り組む】

  • 指針1:安全安心の基本方針を策定する
  • 指針2:安全安心のための体制・人材を見直す
  • 指針3:内部不正やミスに備える

【分析:つながる世界のリスクを認識する】

  • 指針4:守るべきものを特定する
  • 指針5:つながることによるリスクを想定する
  • 指針6:つながりで波及するリスクを想定する
  • 指針7:物理的なリスクを認識する

【設計:守るべきものを守る設計を考える】

  • 指針8:個々でも全体でも守れる設計をする
  • 指針9:つながる相手に迷惑をかけない設計をする
  • 指針10:安全安心を実現する設計の整合性をとる
  • 指針11:不特定の相手とつなげられても安全安心を確保できる設計をする
  • 指針12:安全安心を実現する設計の検証・評価を行う

【保守:市場に出た後も守る設計を考える】

  • 指針13:自身がどのような状態かを把握し、記録する機能を設ける
  • 指針14:時間が経っても安全安心を維持する機能を設ける

【運用:関係者と一緒に守る】

  • 指針15:出荷後もIoTリスクを把握し、情報発信する
  • 指針16:出荷後の関係事業者に守ってもらいたいことを伝える
  • 指針17:つながることによるリスクを一般利用者に知ってもらう

IoT製品の開発にあたっては開発時や使用時のセキュリティのみでなく、生産が終了したあとのサポートや後発品の性能向上につながるような対策を行っていきましょう。この17の指針は開発から販売、使用されなくなったあとのことまで考慮すべき内容を記しているので、ぜひ活用してください。

※参照:IPA「つながる世界の開発指針」
https://www.ipa.go.jp/sec/reports/20160324.html

組込みシステム開発におけるセキュリティ対策のポイント

組込みシステム開発においてセキュリティ対策を実装する際には、組込み機器の企画や設計・実装・運用というライフサイクルに沿って行うことが大切です。
ここでは、IPAが手引書として公開している「組込みソフトウェアのセキュリティ」から、機器の開発等におけるセキュリティ確保のための40のポイントを紹介します。

【ライフサイクル全体に係わる事項】

◆管理面
(Point_1) プロジェクト監査組織(プロジェクトマネジメントオフィス)にセキュリティ専門家を配置する

セキュリティ専門家として、情報処理技術者試験における「テクニカルエンジニア(情報セキュリティ)」を取得しておりセキュアプログラミングの知識を有している人、暗号技術および認証技術に係わる知識を有している人、最新のインターネットセキュリティを中心とする情報セキュリティの動向を把握している人を配置しましょう。

セキュリティ専門家はプロジェクト監査組織にて以下の業務を担当します。

  • 企画・設計・実装それぞれのフェーズにおけるデザインレビューへの参加によるセキュリティ対策上の問題点の指摘とチェックを行う
  • 日常的に脆弱性情報や攻撃情報を収集する
  • 日常的に開発チームに対するセキュリティ教育を行う
  • 企画、設計、実装時において発現した脆弱性に関して、開発チームに対応方法をアドバイスする
(Point_2) 開発技術者と開発管理者全員に対してセキュリティ教育を実施する

セキュリティ教育は担当講師のスキルや現場の状況に合わせた計画を立案し、最新のセキュリティ動向についての講義には特に重点をおくようにしましょう。客観性を保つため、教育を担当する講師は社外のセキュリティ専門家に行ってもらうのがベター。カリキュラムの例としては以下のようなものが挙げられます。

  • 開発技術者向けのカリキュラム例
    • 最近の組込み機器のソフトウェアに関係するセキュリティの話題
    • セキュアなプログラミング
    • セキュリティを確保するためのテスト方法
  • 開発管理者向けのカリキュラム例
    • 最近の組込み機器のソフトウェアに関係するセキュリティの話題
    • セキュリティを確保するための開発体制
    • セキュリティを確保するための開発管理の方法(レビューとテスト管理)
(Point_3) セキュリティに係わる開発の外部委託先等に対して、自社と同程度のセキュリティ技術レベルの向上を求める

開発の外部委託を行う際は、委託先にも自社と同程度のセキュリティ技術レベルの向上を求めましょう。具体的な方法は以下の2点となります。

  • 社内と同様のセキュリティ技術のレベルを確保することを目的として、セキュリティ対策・体制の整備を要求する
  • 外部委託先の開発担当者に情報処理技術者試験のテクニカルエンジニア(情報セキュリティ)の取得を促す
(Point_4) 開発プロセス標準のすべてのフェーズにおいて、セキュリティに係わる実施項目を設定する

各フェーズにおける、セキュリティに係わる実施項目の例を紹介します。

・企画フェーズ
管理面では、セキュリティ要件の文書化、コールセンターと不具合対応、部署へのセキュリティ教育、対策プログラムの発信方法策定といった実施項目が必要。
技術面ではセキュリティに係わるリスクの定義、セキュリティ方針の明確化、誤操作・誤設定に対する対応の決定、なじみ無い機能の安全側設定、組込み機器の仕様の決定、セキュリティログ保全機能の設定、ネットワーク経由の不正なアクセスに対するユーザーへの警告方法の決定、機密データ廃棄手順の実装方法決定などの実施項目が必要です。
・設計フェーズ
管理面ではセキュリティ技術専門家の参画、外部ソフトウェアに対するセキュリティに関する基準の明確化、完成時のセキュリティ検査の明確化、インターネットのアプリケーション利用における専門家の担当などが必要な実施項目となります。
技術面ではデータの機密度に応じた論理的・物理的配置、プログラムの実行単位とプロセッサへの配置、機密データの推測が可能とならない設計法、ネットワークデバイスとプロトコルスタックの利用法、 一般ユーザーが利用しない機能におけるアクセス制限などについて決定をしておきましょう。
・実装フェーズ
管理面では実利用環境における攻撃、実験環境の整備コードの出所・版管理の実行などの実施項目が必要です。
技術面では、ネットワークに接続されるインタフェースすべてにおける攻撃試験の実施、機器の動作状態観測による攻撃テストの実施、入力データのために準備したバッファサイズ以上に読み込むことが無いことのチェック、実装工程におけるテストといった実施項目が挙げられます。
・運用フェーズ
管理面では、セキュリティに係わる障害情報のユーザーへの適切な告知、脆弱性情報取り扱い体制の構築、脆弱性情報の収集・実施などの実施項目が考えられます。
技術面では、コールセンターの適切な対応の実施などが挙げられます。
・その他
管理面ではマニュアルにおける緊急避難措置の掲載、マニュアルにおける機密データ廃棄手順の掲載、製品カタログとマニュアルにおけるセキュリティ上の注意事項の掲載などを実施項目として定めましょう。
(Point_5) 脆弱性情報、攻撃情報をはじめとする各種のセキュリティ関連情報を収集し、技術者に対して周知徹底する

JVN(JP Vendor Status Notes)を中心とするインターネット上のセキュリティ関連情報を収集し、技術者に対してそれらの情報と対策を提供するといった形で周知徹底に努めましょう。

◆技術面
(Point_6)脆弱性情報や攻撃情報をはじめとする各種のセキュリティ関連情報を参照し、各工程において適切な対策を実践する

Point5で周知した情報・対策を各工程において徹底して実践することはもちろん、しっかり実践されているかを確認できるようにします。

【企画フェーズに係わる事項】

◆管理面
(Point_7) 組込み機器の非機能要件のひとつとしてセキュリティに対する要件が明確化され、かつ文書化されていることを確認する

組込み機器においてセキュリティ対策が必要である場合、セキュリティ要件を明確にすることが必要。セキュリティ要件は、評価基準であるCommon Criteria Ver3.0 を参照するとよいでしょう。

以下から製品の特性を勘案し、取捨選択します。

  • 識別と認証
  • 利用管理
  • アクセス管理
  • 信頼パス
  • 保管データの秘匿性と完全性
  • 残存データの管理
  • 証拠性の確保
  • 監査ログデータの収集
  • プライバシー保護
  • 情報フロー管理
  • 転送データの秘匿性、完全性
  • 不正再送/削除/挿入防止
  • セキュリティ管理
  • 暗号鍵管理
  • セキュリティ機構の保護
(Point_8) コールセンターと不具合の対策部署に対するセキュリティ教育を、製品出荷前から行い、以降も定期的に実施する

コールセンターと不具合対策部署に対してセキュリティ教育を実施します。教育しておくべき内容としては、セキュリティに関連する最新の用語、最新の脆弱性情報、ウイルスおよび不正アクセス情報などが挙げられます。

(Point_9) セキュリティ上のトラブルを解消するための対策を発信する方法を策定する

製品出荷後に製品の脆弱性が発見された場合に備え、修正手段の提供方法も考えておくべき。主には次のような方法が考えられます。

  • ネットワーク経由の修正プログラム配信
  • CD-ROM 等の媒体による提供
  • 店頭におけるソフトウェア交換
  • ROM など部品の交換
  • 製品全体の交換 等
◆技術面
(Point_10) 製品が利用される可能性のある接続形態や動作環境および利用形態を想定して、セキュリティに係わるリスクを定義する

企画の段階から、その製品がネットワークでつながった他の製品に影響を及ぼす可能性があることを考慮しておきましょう。製品が利用されるシーンを想定しながら考えることが重要。セキュリティに関わるリスクとして、次のものが想定できます。

・当該ネットワーク組込み機器における機密データの消失や流出
攻撃を受け、当該ネットワーク組込み機器に蓄積されている個人情報等の機密データが消失するまたは流出するリスク
・当該ネットワーク組込み機器における機能面での障害
攻撃を受け、当該ネットワーク組込み機器がフリーズや再起動する等の機能面での障害が発生するリスク
・ネットワークや他の機器への悪影響
当該ネットワーク組込み機器を踏み台にする攻撃またはウイルス等の感染により、当該ネットワーク組込み機器が異常なパケットを発信し、ネットワークや他の機器に影響を及ぼすリスク
(Point_11)制約条件を考慮して、実装予定の機能に対して、定義されたリスクに対する対策方針(セキュリティ方針)を明確にする

組込み機器の機能や稼動する環境およびユーザーの特性を考慮して、リスクに対するセキュリティ方針を明確にしておきます。機能の削除や機能の変更も含めてリスクに対する方針を考えておきましょう。セキュリティ方針は以下のように設定します。

  • リスクが大きく、対策の策定が不可能であるため、機能を実装しない
  • 予定通りの機能ではリスクが大きすぎるため、機能の変更を行う
  • リスクを回避する方法を実装し、機能の変更は行わず予定通り実装する
(Point_12)ユーザーによる設定変更の可否や、手法および誤操作・誤設定に関してセキュリティ上のリスクを勘案して決定する

セキュリティ設定に関して、ユーザー自身が設定を変更できるのか、また誤作動や誤設定の場合に安全性が保たれるのかを考慮。その上で製品に実装可能であるのか、または実装自体を行わないのかを決定します。検討項目としては以下のようなものがあります。

  • 設定を変更するためのパスワード
  • ネットワークを介した設定の変更
  • ネットワークを介した組込み機器の操作
  • 使用可能とするポート番号 等
(Point_13)一般のユーザーになじみの無い機能または普段使用されることが少ない機能については、特に安全面を意識した設定を行う

一般的に使用されることが少ない機能については、ユーザーが誤設定や誤操作をしたときに警告を表示したり、そもそも間違えないような設計にするといった工夫が必要。安全性を高める設計のため、以下の項目について留意するとよいでしょう。

  • マニュアルで操作法が分かりやすくかつ正確に記述されていること
  • ユーザインタフェース(特にボタンと画面)について、ユーザーの誤操作を招くことがないように工夫されていること
  • ヘルプ機能により操作法を解説すること
  • デフォルトの設定は、安全側とすること
(Point_14)セキュリティ方針を考慮し、組込み機器の仕様を決定する

Point11にあるセキュリティ方針を決定した後、組込み機器の各機能に関する機能仕様をセキュリティ方針の下に決定します。
各機能についてソフトウェアとハードウェアのどちらで実装するのかという方向性を定めるとともに、以下を含む留意事項を付記し文書化しておく必要があります。

  • 暗号化プロセッサや暗号化メモリおよび暗号化ハードディスクの利用の有無
  • 認証用特殊デバイス(IC カードやバイオメトリクスデバイス)の利用の有無
(Point_15)セキュリティに関するログ保存機能を設定する

問題が発生した際、ログを参照することで問題解決の糸口につながります。セキュリティに関連するログの例は以下の通りです。

  • パケットの受信に係わるログ(送信元 IP アドレス、送信元ポート番号、受信元ポート番号、パケットサイズ、時刻)
  • パケットの発信に係わるログ(送信先 IP アドレス、発信元ポート番号、送信先ポート番号、パケットサイズ、時刻)
  • ユーザーの認証に係わるログ(システムが受信したユーザー ID、時刻)

ログの保存期間は、ユーザーがサービスセンターに連絡してサービスセンターが対応可能となるまでの時間以上にしておくとよいでしょう。ただし、メモリやハードディスクの容量などを考慮すると難しい場合もあるため、仕様上可能な範囲でどのくらい保存ができるのかを検討しましょう。

(Point_16)ネットワーク経由で正当と想定されるアクセスとは異なるアクセスを検知した場合、他の警告と区別できる形でユーザーに警告する機能を備える

IoT機器においては、アクセスが正当か不正かを判定する機能を備えておくべき。不正なアクセスとは、例えば以下のような事例を指します。

  • 特定期間における多すぎるパケットの受信
  • 特定期間における多すぎるパスワード誤入力
  • 尋常ではない非常に大きなサイズのパケットの受信
  • 閉じられているポートへのアクセス(これに関しては、必ずしも警告を発する必要は無い場合もあるため、製品ごとに要検討)

また、ユーザーへの警告に関しては以下の点にも配慮しましょう。

  • 警告メッセージにて、異常な状況であることおよびネットワーク切断等の緊急避難の方法を分かりやすく表示すること
  • ヘルプ機能において、警告メッセージの詳細な解説を表示し、正当ではないアクセスの技術的詳細を示すこと
(Point_17) ユーザーの機密データの廃棄をサポートする機能を実装する

製品にはユーザーの機密データの特定方法や廃棄のための技術的な手段を実装し、ユーザー自身が製品のデータを削除できる機能を備えておきます。
具体的にはあらかじめ機密データを一般のデータとは別の領域(別のパーティション)に格納する機能を指し、ハードディスクにおけるデータの物理的消去機能を実装します。(通常のファイル削除機能は、リンクを切るのみであることが一般的)

【設計フェーズに係わる事項】

◆管理面
(Point_18) ソフトウェア開発にセキュリティ技術に関するドメインスペシャリスト(セキュリティ専門家)を参画させる

設計フェーズにおいて、セキュリティ専門家は以下のことを実施します。

  • 設計文書に対するチェック項目を作成する
  • チェック項目に基づき設計文書をレビューする
  • レビュー結果を文書化する
  • 文書化されたレビュー結果が、最終的な設計文書に反映されていることを確認する
  • インターネットアプリケーションに係わる一連の作業(選定、調整、動作設定、テスト)を行う
(Point_19)外部から導入するソフトウェアについて、セキュリティに関する基準を明確に定義し文書化する

明確化しておくべき基準例は以下の通りです。

  • ソフトウェアの保守運用が自社または外部組織で可能であること
  • ソフトウェアの版管理が外部組織にて明確になされていること
  • 報告された脆弱性に対して、導入を予定する版では修正がなされていること
  • 脆弱性が報告された場合、外部組織が対応できる体制であること

これらの基準を元に、外部のソフトウェアの導入に際し採否の判断を下した結果と理由を文書化しておきましょう。

(Point_20))完成時のセキュリティ検査について観点・項目を整理しておく

組込み機器としての納品検査手順を明確化します。以下の点に留意しておきましょう。

  • 悪意を持った攻撃による影響の確認(ポートスキャン、不正なパケットの送付、大量のパケットの送付など)
  • ユーザーによる設定変更の適切さ(ユーザー層、使用環境を考慮して判断する)
  • 廃棄時における個人情報を含む機密データ消去の適切さ(ユーザー層、使用環境を考慮して判断する)
  • ヘルプ機能の適切さ
  • マニュアルにおけるセキュリティ関連記載事項の適切さ
(Point_21)インターネットアプリケーションの利用にあたっては、選定から動作設定・テストに係わる一連の作業をセキュリティ専門家に担当させる

インターネットアプリケーションとは、インターネット上で稼動するものはもちろん、IPネットワーク上で稼動するアプリケーションも含みます。これは、アプリケーションが IP上で稼動している場合、ユーザーの稼動環境によってはインターネットに接続される可能性があるため。これらのアプリケーションの利用や開発にあたってもセキュリティ対策が重要なので、設計・実装・運用といったすべてのフェーズをセキュリティ専門家に担当させるようにしましょう。

インターネットアプリケーションとは、以下のものを含みます。

  • 各種サーバ(ウェブサーバ、プロキシサーバ、メールサーバ、DNS サーバなど)
  • ブラウザ
  • ブラウザ上で稼動するツール
  • ストリーミングツール
  • メーラー
  • 通信路暗号化ツール
  • ミドルウェア など
◆技術面
(Point_22) データを機密度に応じて区分した上で、ハードウェアおよびソフトウェアの保護機能を考慮した、データの物理的・論理的配置を決定する

データの機密度によってハードウェアやソフトウェアの保護機能は異なります。そのため、データを機密度に応じて区分し、物理的・論理的配置を決定することが必要。例えばスタックには個人情報を含む重要情報を配置することは極力避け、常に外部記憶装置に重要情報を配置する、といった配慮を行いましょう。
IDやパスワード、名前などの個人情報は機密度が非常に高いため、論理的配置としてはファイル、物理的配置としては暗号化されたハードディスクを選択します。

(Point_23)機密度の異なるデータの扱い方を考慮し、プログラムの実行単位とプロセッサへの配置を決定する

機密度の異なるデータについては、データの物理的配置および論理的配置以外に以下の点にも留意しましょう。

  • 機密性の高いデータは、特定のプロセッサのみが利用可能なローカルメモリに保持する
  • 複数のプロセッサ間での共有メモリに機密性の高いデータを保持しない
  • 機密性の高いデータではなくても、タスクスイッチの前に共有メモリから消去する
  • 非常に高い機密度を有するデータに関してはメモリ上でも暗号化されることが望ましく、その場合は暗号化プロセッサにて実装する
(Point_24)特権モードをサポートする実行環境においては、特権モードによるプログラムの実行は必要最小限にする

悪用された際の被害を軽減するため、特権モードによるプログラムの利用は極力避けましょう。特に以下の処理を行う場合は、特権モードは利用しないようにします。

  • ファイルの入出力
  • データベースへの問い合わせ
  • デバイス(入出力デバイス、通信デバイスなど)へのアクセス など
(Point_25) ハードウェアの物理的な破壊や記憶領域の覗き見などの攻撃にも配慮する

組込み機器内部に個人情報等の機密情報が蓄積されている場合、攻撃者は物理的破壊による攻撃や記憶領域の覗き見などを行う可能性があります。こうした攻撃から機密情報を保護するためには、以下のような機能の実装が必要です。

  • 筐体の物理的破壊を検知した場合、記憶領域のデータを消去する
  • 記憶領域を取り外してもデータを読むことができないように、記憶領域が特定の環境でのみ稼動するように設計する
(Point_26)ネットワークに接続される組込み機器においては外部からの攻撃を受けることを想定し、ネットワークデバイスとプロトコルスタックに関して、攻撃を無視する設定で使用する

無視すべき不正なアクセスとは、以下の通りです。

  • 特定期間における多すぎるパケットの受信
  • 特定期間における多すぎるログインの試行
  • 尋常ではない非常に大きなサイズのパケットの受信
  • 閉じられているポートへのアクセス
(Point_27)出荷テスト用インタフェース回路など、出荷検査や開発時のテストに用いられる機能などで一般ユーザーの利用を想定していない機能には厳密なアクセス制限を設ける

最低限パスワードによるアクセス制限を設けるとともに、パスワード情報の厳密な管理を実施しましょう。一般ユーザーの利用を想定していない機能に係わる設定については、以下のようなものが一例です。

  • 運用時にサービスセンター等が利用しないのであれば、無効化しておく
  • 通常の操作で、こうした機能にアクセスできないようにする
  • こうした機能にアクセスしようとするユーザーには警告メッセージを出す
  • パスワードによるアクセス制限を設ける
  • パスワードの管理は厳密にし、絶対に一般に流出することの無いようにする
  • マニュアルには、こうした機能には絶対に触れない旨の記述をする

【実装フェーズに係わる事項】

◆管理面
(point_28)開発成果物の実利用環境における攻撃実験体制を整備する

開発成果物の検査時は、実利用環境にて攻撃実験を行うために、複数の組込み機器が接続されている環境およびセキュリティ専門家を含む攻撃実験体制を整備しておきましょう。留意点は以下の通りです。

  • 攻撃実験環境には他の機器も複数台接続する
  • 接続する機器は複数の種類とする
  • セキュリティ専門家には攻撃実験仕様書の作成を依頼し、それに基づき攻撃実験を行う
  • 実験環境の問題等で攻撃実験仕様を実現できない場合、セキュリティ専門家の判断を仰ぐ
(Point_29) 脆弱性対応に備えたコードの出所・版管理を行う

製品に脆弱性が発見された場合、原因を調査するために対象の特定が必要です。内部開発・外部開発を問わず、以下に留意したソフトウェアの出所やバージョン管理を行いましょう。

  • 内部開発の場合、脆弱性を発見した際、特定の版の脆弱性であるのか多くの版に共通したものであるかについて、迅速に開発チーム内で情報共有を図る
  • 外部調達の場合、脆弱性が発表された際、特定の版の脆弱性であるのか多くの版に共通したものであるかについて、適切な情報収集と情報共有を図る
◆技術面
(Point_30)攻撃者が処理系のメモリ管理の弱点を悪用して攻撃コードを実行することを不可能にする

ネットワークから不正に組込み機器に侵入する攻撃者は、処理系のメモリ管理の弱点を悪用して攻撃コードを実行することがあります。この攻撃を防止するために、プロトコルスタックからの入力データは、入力データのために準備したバッファサイズ以上に読み込むことがないよう毎回チェックが必要です。
なお、このポイントはセキュアプログラミングで最も注意すべき事柄。インターネット上では、バッファサイズ以上のデータを送りつけ、その中に攻撃コードを混入する攻撃が頻繁に発生しています。

(Point_31)ネットワーク接続されるインタフェースすべてについて、攻撃テスト(不正侵入テストを含む)を実施する

ネットワーク接続されるすべてのインタフェースに関して、不正侵入テストを含む悪意を持った攻撃によるテストを実施しましょう。テスト項目の策定に関しては、セキュリティ技術の専門家に依頼を。悪意を持った攻撃には以下のようなケースが挙げられます。

  • 短時間の間に、膨大な数のパケットを送信する
  • 非常に大きなサイズのパケットを送信する
  • 複数のインタフェースに同時にパケットを送信する など
(Point_32) 機器の動作状態の観測による攻撃テストを実施する

重要な機密データを有する組込み機器においては、動作状態により機器の外部に重要な機密データが漏洩しないかどうかを攻撃テストによって検証する必要があります。攻撃テストの項目策定は、セキュリティ技術の専門家に依頼しましょう。動作状態のテスト項目例としては以下のようなものが挙げられます。

  • 電力消費量
  • 漏洩電磁波の強さ
  • 処理時間 など
(Point_33)セキュリティの視点に係わるテスト項目を定義し、それらに基づくテストを行う

単体テスト・結合テスト・総合テストのすべてのフェーズにおいてセキュリティの視点に基づくテスト項目を定義し、それらに基づくテストを実施します。テスト項目はセキュリティ技術の専門家に定義してもうらようにしてください。
セキュリティの視点の項目とは、以下のようなものを含みます。

  • 短時間に多量のパケットを送りつける
  • 想定外の大きなサイズのパケットを送りつける
  • 規格外の壊れたパケットを送りつける
  • ネットワークに接続された複数の機器から同時にパケットを送りつける
  • パスワードジェネレータを用いて偽造パスワードで何度もログインを繰り返す
  • 物理的に記憶装置を取り出し、他の環境で読み出す
  • 強力な電磁波を浴びせる

【運用フェーズに係わる事項】

◆体制面
(Point_34)セキュリティの障害に係わる情報は、ユーザーに対して適切に告知を行う

ユーザーへの告知に関する留意点は以下の通りです。

  • マニュアルと製品カタログにおいて、将来的にセキュリティに係わる障害が発生する可能性があることを掲載する
  • 脆弱性情報が発見された場合、自社のホームページには攻撃者が攻撃方法を特定できる情報を掲載せず、脆弱性の概要と対応方法を掲載する
  • 脆弱性情報が発見された場合は、電子メール・販売チャネルなど製品の特性に応じた方法で告知を行う
(Point_35)外部から脆弱性情報およびそれに関係する情報がもたらされた際に適切な取扱いが行えるようにする

適切な取り扱いが行える体制とは、例えば以下のような状態を指します。

  • 外部(JPCERT/CC や CERT/CC など)からの受付窓口(これをセキュリティ担当部署と呼ぶ)の設置
  • 受付窓口にて情報を受け付けた際の対応策の策定体制

なお、対応策には応急措置(設定変更)と恒久的な措置(ソフトウェアの修正)があり、各製品と脆弱性の特性に応じて適切な選択を行います。

(Point_36)脆弱性の発見に備えて情報管理・収集・分析に努める

運用時においても、常に脆弱性がないかチェックを怠らないことが重要。必要な情報管理・収集・分析は、セキュリティ担当部署または開発チームメンバーが行うことが望まれます。

◆技術面
(Point_37)コールセンターが最新のセキュリティに係わる状況を踏まえ適切に対応する

コールセンターには、製品に関する一般的な質問と共に、製品の脆弱性に関する問い合わせが寄せられます。コールセンターにおいて適切な回答が行えるよう、セキュリティ担当部署等は予め以下の情報を渡しておきましょう。

  • 現在の脆弱性情報の公開状況
  • 製品ごとの脆弱性の発見状況と対応状況
  • 製品ごとの脆弱性修正の提供や適用手段に関する最新情報
  • 脆弱性やセキュリティ上の問題に関して質問を受け付けるオペレーターが判断するのではなく、セキュリティ担当部署に転送する旨の指示をする
  • その他の配慮事項(マニュアル、製品カタログ、パッケージとユーザインタフェースなど)
(Point_38)マニュアルに、ネットワーク接続を行う機器において他の機器やネットワークとの接続を切断する等の緊急避難的処理の手段を明記する

ネットワーク接続を行う組込み機器において、他の機器やネットワークに対して異常なパケットを発信する状況となった場合については、ネットワークケーブルを抜く等の緊急避難的処理をユーザーが取ることを画面上に表示すると共にマニュアルに明記しておきましょう。明記すべき点には以下のようなものが挙げられます。

  • ユーザーの利用している機器がネットワーク上の他の機器に影響を与えており、緊急避難が必要であること
  • 緊急避難を回避するための方法(ネットワークケーブルを抜いた状態で設定変更を行う等)
  • その他、ユーザーがすべきこと(サービスセンターに連絡するなど)
(Point_39)マニュアルにユーザーが行うべき機密データの廃棄手順を明記する

携帯電話やカーナビ等の個人情報を含む機密データを保持する機器においては、マニュアルにユーザーが行うべき廃棄手順を明記します。
記載事項の例は以下の通りです。

  • データ消去はユーザーの責任で行うべきこと
  • データ消去機能の呼び出し方法
  • データ消去機能の使い方(特に機密データの特定方法)
  • データ消去の確認方法
(Point_40)製品カタログ・マニュアル等にネットワークに接続する際のセキュリティ上の注意事項を示す

ネットワークに接続する際は、外部から悪意を持った攻撃がなされる可能性があります。製品カタログ・マニュアル等には、組込み機器が外部から影響を受けうることを明記しておきましょう。具体的な記載事項としては以下のようなものが一例です。

  • 機器をネットワークに接続すると、外部から攻撃を受ける可能性があること
  • 将来において、脆弱性が発見される可能性があること
  • 将来において脆弱性が発見されると、その悪用によって外部へ悪影響を及ぼす可能性があること
  • 将来において発見される脆弱性に関して、対応策を施した後でないとネットワークに機器を接続することは不適切であること
  • 脆弱性への対応法はマニュアルに明記される、またはメーカーのホームページに詳しく記載されること

以上が、組込みシステムのセキュリティにおける40のポイントです。企画から開発、運用など製品のライフサイクルに沿って考案されたものであるため、忠実に反映していくことで製品の安全性を高めることができます。ぜひ自社のセキュリティを見直し、不足している部分がないか検討してください。

※参照:IPA「組込みソフトフェアのセキュリティ」 
https://www.ipa.go.jp/files/000003117.pdf

5種類の組込み型ネットワークセキュリティ「Cente」

Centeミドルウェアパッケージシリーズ

導入がスムーズ・明朗価格・実績豊富な「Cente」とは

Cente(セント)は組込み開発に20年以上関わった技術者による組込み開発ブランド。実績として1000のプロジェクトに参加、3000のライセンシーを獲得するなど、業界内でも評価をいただいています。

Centeの根底には「製品の完成イメージが抱けること・品質が高いこと・洗練されていること・開発効率が高いこと」が貫かれており、導入に際してロイヤリティを考慮する必要はありません。さらにすべてのシステムをソースコードで提供するため、ブラックボックスが存在せず、安心して導入可能。価格はすべて開示されており、予算組みがしやすいことも特徴のひとつです。

Centeミドルウェアシリーズは、高い処理能力と品質を要求される機器やシステム開発で培ったノウハウを元に実際に動作実績を持つファームウェアを再整備し、ソフトウェアモジュールとしてパッケージ化した製品。多くのミドルウェアの中で唯一、純正のハードウェアプラットホームをベースに開発されたミドルウェアであるため、必然的にハードウェアとの親和性を併せ持っています。

Centeミドルウェアの契約条件としては、「開発場所」と「CPUコア」の範囲を特定します。CPUの許諾範囲や開発場所の範囲を広くすることも可能です。
Centeミドルウェアのライセンス形態には、以下3つのライセンスを準備し、要望に合わせたライセンスをご提案します。

  • プロジェクト限定ライセンス
  • プロジェクト限定セカンドライセンス
  • プロジェクト無制限ライセンス

プロジェクト限定ライセンスとは、プロジェクト(1製品シリーズ)の範囲内で使用できるライセンスのこと。1プロジェクトは1製品シリーズを意味しており、1製品の上位機種、下位機種まで含まれます。
プロジェクト限定セカンドライセンスは、プロジェクト限定ライセンス契約者が別プロジェクトで同一パッケージを使用する場合のライセンス形態です。プロジェクト限定ライセンスの使用許諾契約書に記載されている「指定場所」「指定プロセッサ」「ユーザー登録情報」すべてが同一で、かつプロジェクト限定ライセンス保守期間中であることが必須になります。
プロジェクト無制限ライセンスは、プロジェクトの範囲に縛られないライセンス形態であり、プロジェクト限定ライセンスを無制限ライセンスに変更することも可能です。

ネットワークセキュリティに関しては、5種類の製品をご用意。セキュリティ製品に興味はあるが評価をしてからシステムの導入をしたい、という方のために、評価用にミドルウェア評価ライセンスが用意されています。ミドルウェア評価用ライセンスの詳細は以下の通りです。

  • 価格:全製品一律198,000円(税抜)
  • ライセンス期間:90日
  • ライセンス期間中は通常のプロジェクト限定ライセンスと同等のサポートあり
  • ライセンス期間は3ヶ月毎に延長可能(同一料金となります)
  • 評価ライセンス終了後、通常ライセンスへの移行が可能

サポート体制として、契約時に無償サポートの期間が半年間付きます。それ以降はライセンス価格の20%で1年間の契約延長が可能。契約が切れてしまったあとの再契約も可能です(再契約時の費用はライセンス定価の40%)。
Centeミドルウェアはパッケージ開発陣がメールや電話で直接サポートしており、基本的に回答は当日中に行います。調査に時間がかかる質問の場合は、回答期限を事前に通知した上で丁寧にサポートを行いますのでご安心ください。

CenteミドルウェアはμITRON標準開発用OSとしていますが、ctkernelというモジュールを組み込んでいるため、OSが違う場合でもミドルウェア本体へのカスタマイズは不要。バージョンアップ作業などもストレスなく行えます。ご相談いただければ、μITRON-OS以外への移植も可能です。

組込みシステム開発にCenteを導入すれば、飛躍的な効率化を図れます。高品質なシステム向上にもつながり、企業としての評価を上げることにもつながります。自社の開発に高いセキュリティ機能を導入したいなら、ぜひCenteを活用ください。

「Cente」組込みネットワークセキュリティシリーズ導入事例

Centeの組込みネットワークセキュリティシリーズは、以下のような業界・機器で導入、活用されています。

セキュリティ機器
設置場所を監視し、異常が起こった際はネットワークでセンターへ通知。内容の改ざん、盗聴、なりすましを防ぐため暗号通信を行う
入退出管理機器
入退室状態をネットワークでセンターへ通知。改ざん、盗聴、なりすましを防ぐため暗号通信を行う
計測器・測定器
クラウドサーバに測定値を送信、保存。AWSなどのクラウドサーバとの通信には暗号通信を行う
POS、非接触カードリーダ
決済に関わる重要情報の改ざん、盗聴、なりすましを防ぐために暗号技術を使用
電力設備監視
重要な社会インフラ設備を安全に運用するために暗号通信を使用

「Cente」組込みネットワークセキュリティシリーズ一覧

Centeのネットワークセキュリティシリーズ全5種類をご紹介します。
※価格はすべて税抜

Cente Compact SSLc
IPv4/IPv6で使用可能な組込み型SSLライブラリ。IPv4/IPv6上のアプリケーション通信を暗号化します。対応しているSSLは、SSL Ver3.0/TLS1.0/TLS1.1/TLS1.2/TLS1.3(TLS1.3使用時は別途Cente Compact Crypto Plusが必要)で、ハードウェア暗号エンジンにも対応可能。動的メモリは不使用、認証失敗時には強制的に接続するオプションも装備しています。
価格:80万円/プロジェクト限定ライセンス
Cente Compact SSLd
IPv4/IPv6で使用可能な組込み型SSLライブラリ。OSリソースは非使用、I/Oレイヤ非依存です。RFC5746によって提唱されているセキュアな再ネゴシエーションに対応。使用する暗号方式の優先順位を柔軟に指定可能です。
価格:80万円/プロジェクト限定ライセンス
Cente Compact DTLSc(Compact SSLcオプション)
UDPソケットを暗号化する、Cente Compact SSLcのオプションライブラリ。Cente Compact SSLcと組み合わせることで使用可能です。
価格:40万円/プロジェクト限定ライセンス
Cente Compact DTLSd
UDPソケットを暗号化する、DTLSサーバライブラリ。動的なメモリは不使用で、コンパクトなサイズのセキュリティを実装できます。
価格:80万円/プロジェクト限定ライセンス
Cente IPSec
IKEv1(InternetKeyExchange)機能を標準搭載している製品で、IPv4/IPv6(又は混在)のどちらの環境でも使用可能。SPD/SADデータベース管理とSP/SA探索、登録、削除処理も行えます。
価格:80万円/プロジェクト限定ライセンス

製品の詳細については、遠慮なくお問い合わせください。


サポート情報