IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アルタイル セミコンダクター リミテッドの特許一覧

<>
  • 特許-コンパクトなセキュリティ証明書 図1
  • 特許-コンパクトなセキュリティ証明書 図2
  • 特許-コンパクトなセキュリティ証明書 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-20
(45)【発行日】2022-05-30
(54)【発明の名称】コンパクトなセキュリティ証明書
(51)【国際特許分類】
   H04L 9/10 20060101AFI20220523BHJP
   H04L 9/08 20060101ALN20220523BHJP
【FI】
H04L9/10 Z
H04L9/08 F
【請求項の数】 18
【外国語出願】
(21)【出願番号】P 2019014914
(22)【出願日】2019-01-30
(65)【公開番号】P2019134423
(43)【公開日】2019-08-08
【審査請求日】2021-11-07
(31)【優先権主張番号】62/626,092
(32)【優先日】2018-02-04
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】509174196
【氏名又は名称】ソニー セミコンダクタ イスラエル リミテッド
(74)【代理人】
【識別番号】100086461
【弁理士】
【氏名又は名称】齋藤 和則
(72)【発明者】
【氏名】ユーダ ベン サイモン
(72)【発明者】
【氏名】オマール ボヴィニック
(72)【発明者】
【氏名】アヴィシャイ シャラガ
【審査官】吉田 歩
(56)【参考文献】
【文献】特開2005-311814(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
H04L 9/10
(57)【特許請求の範囲】
【請求項1】
集積回路(IC)であって:
前記ICに割り当てられたセキュリティ証明書の全体の内の装置固有部分の表現を前記セキュリティ証明書の全体に亘って計算された署名と共に記憶するように構成されたオンチップ不揮発性メモリ(NVM)であって、前記セキュリティ証明書の全体は前記装置固有部分と、前記オンチップNVM内には記憶されない共通部分とから構成される、オンチップ不揮発性メモリ(NVM)と;そして
前記セキュリティ証明書の前記共通部分を取得し、取得した前記共通部分と、および前記オンチップNVMに記憶されている前記装置固有部分の表現と、から前記セキュリティ証明書を再構築し、そして前記再構築されたセキュリティ証明書を使用してデータに対しセキュリティ操作を実行する、ように構成されるオンチッププロセッサと;
を有することを特徴とする集積回路(IC)。
【請求項2】
前記表現は、前記セキュリティ証明書の前記装置固有部分の圧縮形式を有し、前記オンチッププロセッサは、前記装置固有部分の前記表現を解凍するように構成される、ことを特徴とする請求項1に記載のIC。
【請求項3】
前記オンチッププロセッサは、前記オンチップNVM内に記憶された前記署名を使用して、前記再構築されたセキュリティ証明書を検証するように構成される、ことを特徴とする請求項1に記載のIC。
【請求項4】
証明書署名サーバであって:
オンチップ不揮発性メモリ(NVM)を有する集積回路(IC)と通信するためのインタフェースと;そして
前記ICから少なくとも公開鍵を受け取り、前記ICに対するセキュリティ証明書の全体を生成し、前記セキュリティ証明書を前記ICに固有の装置固有部分と前記ICに固有ではない共通部分に分割し、前記セキュリティ証明書の全体に亘って署名を計算し、そして前記ICに対し、前記セキュリティ証明書の全体よりも少なく、しかし少なくとも前記装置固有部分の表現を前記計算された署名と共に、前記オンチップNVM内に記憶するために送信する、ように構成されるプロセッサと;
を有することを特徴とする証明書署名サーバ。
【請求項5】
前記プロセッサは、前記ICから前記公開鍵を受け取り、前記公開鍵を使用して前記セキュリティ証明書に署名するように構成される、ことを特徴とする請求項4に記載の証明書署名サーバ。
【請求項6】
前記プロセッサは、前記装置固有部分を圧縮することにより前記表現を作成するように構成されている、ことを特徴とする請求項4に記載の証明書署名サーバ。
【請求項7】
証明書署名サーバであって:
オンチップ不揮発性メモリ(NVM)を有する集積回路(IC)と通信するためのインタフェースと; そして
公開鍵と秘密鍵のペアを生成し、前記IC用のセキュリティ証明書の全体を作成し、前記セキュリティ証明書の全体を前記ICに固有の装置固有部分と前記ICに固有ではない共通部分とに分割し、前記セキュリティ証明書の全体に亘って署名を計算し、そして前記ICに対し、前記セキュリティ証明書の全体よりも少ないが、少なくとも前記装置固有の部分の表現を前記計算された署名と共に、前記オンチップNVM内に記憶するために送信するように構成されるプロセッサと;
を有することを特徴とする証明書署名サーバ。
【請求項8】
前記プロセッサは、前記秘密鍵を使用して前記証明書に署名するように構成されている、ことを特徴とする請求項7に記載の証明書署名サーバ。
【請求項9】
前記プロセッサは、前記装置の固有部分を圧縮することにより前記表現を作成するように構成される、ことを特徴とする請求項7に記載の証明書署名サーバ。
【請求項10】
セキュリティ証明書を記憶しそして再構築するために処理ハードウェアによって実行される方法であって、前記方法は:
集積回路(IC)内のオンチップ不揮発性メモリ(NVM)に、前記ICに割り当てられた前記セキュリティ証明書の全体の内の装置固有部分の表現を前記セキュリティ証明書の全体に亘って計算された署名と共に記憶するステップであって、前記セキュリティ証明書の全体は前記装置固有部分と、前記オンチップNVM内には記憶されない共通部分とから構成されるステップと;そして
前記IC内のオンチッププロセッサを使用して、前記セキュリティ証明書の前記共通部分を取得し、取得された前記共通部分および前記オンチップNVMに記憶された前記装置固有部分の表現から前記セキュリティ証明書を再構築し、そして前記再構築されたセキュリティ証明書を使用してセキュリティ操作を実行するステップと;
を有することを特徴とする方法。
【請求項11】
前記表現は前記セキュリティ証明書の前記装置固有部分の圧縮形式を有し、前記セキュリティ証明書を再構築するステップは前記装置固有部分の表現を解凍するステップを有する、ことを特徴とする請求項10に記載の方法。
【請求項12】
前記オンチップNVM内に記憶された前記署名を使用して、前記オンチッププロセッサにより前記再構築されたセキュリティ証明書を検証するステップを有する、ことを特徴とする請求項10に記載の方法。
【請求項13】
セキュリティ証明書を記憶しそして再構築するために処理ハードウェアによって実行される方法であって、前記方法は:
集積回路(IC)から少なくとも公開鍵を受け取るステップと;
前記ICのために前記セキュリティ証明書の全体を作成するステップと;
前記セキュリティ証明書の全体を、前記ICに固有の装置固有部分と、前記ICに固有ではない共通部分に分割するステップと;
前記セキュリティ証明書の全体に亘って署名を計算するステップと;そして
前記セキュリティ証明書の全体よりも少ないが、少なくとも前記装置固有の部分の表現を前記計算された署名と共に、オンチップ不揮発性メモリ(NVM)内に記憶するために前記ICに送信するステップと;
を有することを特徴とする方法。
【請求項14】
前記署名を計算するステップは、秘密鍵を使用して前記証明書に署名するステップを有する、ことを特徴とする請求項13に記載の方法。
【請求項15】
前記装置固有部分を圧縮することにより前記表現を作成するステップを有する、ことを特徴とする請求項13に記載の方法。
【請求項16】
セキュリティ証明書を記憶しそして再構築するために処理ハードウェアによって実行される方法であって、前記方法は:
公開鍵と秘密鍵のペアを生成するステップと;
集積回路(IC)の前記セキュリティ証明書の全体を作成するステップと;
前記セキュリティ証明書を、前記ICに固有の装置固有部分と、ICに固有ではない共通部分に分割するステップと;
前記セキュリティ証明書の全体に亘って署名を計算するステップと;そして
前記セキュリティ証明書の全体よりも少ないが、少なくとも前記装置固有部分の表現を前記計算された署名と共に、オンチップ不揮発性メモリ(NVM)内に記憶するために前記ICに送信するステップと;
を有することを特徴とする方法。
【請求項17】
前記署名を計算するステップは、前記秘密鍵を使用して前記証明書に署名するステップを有する、ことを特徴とする請求項16に記載の方法。
【請求項18】
前記装置固有部分を圧縮することにより前記表現を作成するステップを有する、ことを特徴とする請求項16に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に電子装置のセキュリティに関し、特にコンパクトなセキュリティ証明書に関する。
【背景技術】
【0002】
(関連出願の参照)
本出願は、その開示が参照により本明細書に組み込まれる、2018年2月4日に出願された米国暫定特許出願第62/626,092号の利益を主張する。
【0003】
(発明の背景)
通信および/またはコンピューティングのセキュリティを向上させるために、通信および/またはコンピューティングシステムには、信頼できると考えられるルートオブトラスト(RoT)が通常提供され、そしてそれは証明書および他の秘密をセキュアに確立/提供し、また通信チャネルのセキュリティ確保に使用されうる。RoTを装置にセキュアにインストールするために、さまざまなセキュア形成ソリューションが開発されてきた。
【0004】
「インダストリ 4.0 およびサイバーセキュリティ」、デロイト大学出版、2017年3月21日、Waslo他著には、コネクテッドプロダクションにおけるリスク管理に使用される手法が記載されている。IOTセキュリティ財団による「セキュアデザイン最善実施ガイド」と題された2018年12月のリリース1.2.1には、セキュアIoT製品設計のためのガイドラインが列挙されている。
【先行技術文献】
【特許文献】
【0005】
【文献】米国暫定特許出願第62/626,092号
【非特許文献】
【0006】
【文献】インダストリ 4.0 およびサイバーセキュリティ」、デロイト大学出版、2017年3月21日、Waslo他著
【文献】「セキュアデザイン最善実施ガイド」2018年12月、リリース1.2.1、IOTセキュリティ財団
【発明の概要】
【0007】
本明細書に記載される本発明の実施形態は、オンチップ不揮発性メモリ(NVM)とオンチッププロセッサとを含む集積回路(IC)を提供する。オンチップNVMは、ICに割り当てられたセキュリティ証明書の装置固有部分の表現を記憶するように構成されている。オンチッププロセッサは、セキュリティ証明書の共通部分を取得し、取得した共通部分およびオンチップNVMに記憶されている装置固有部分の表現からセキュリティ証明書を再構築し、そして再構築されたセキュリティ証明書を使用して、データに対しセキュリティ操作を実行するように構成される。
【0008】
いくつかの実施形態では、表現はセキュリティ証明書の装置固有部分の圧縮形式を含み、オンチッププロセッサは装置固有部分の表現を解凍するように構成される。一実施形態では、オンチッププロセッサは、再構築された証明書の署名を検証するように構成される。
【0009】
本発明の一実施形態によれば、インタフェースとプロセッサとを有する証明書署名サーバがさらに提供される。インタフェースは、集積回路(IC)と通信するように構成されている。プロセッサは、ICから少なくとも公開鍵を受信し、ICのためにセキュリティ証明書を作成し、セキュリティ証明書をICに固有の装置固有部分と、ICに固有ではない共通部分とに分割し、そしてセキュリティ証明書全体よりも少ないが、しかし少なくとも装置固有部分の表現をICに送信するように構成される。
【0010】
開示される実施形態では、プロセッサはセキュリティ証明書に署名し、セキュリティ証明書の署名をICに送信するように構成される。例示的実施形態では、プロセッサは、ICから公開鍵を受け取り、認証機関(CA)秘密鍵を使用して証明書に署名するように構成される。別の実施形態では、プロセッサは装置固有部分を圧縮することにより表現を作成するように構成される。
【0011】
本発明の一実施形態によれば、インタフェースとプロセッサとを含む証明書署名サーバも提供される。インタフェースは、集積回路(IC)と通信するように構成される。プロセッサは、公開鍵と秘密鍵のペアを生成し、ICのセキュリティ証明書を作成し、セキュリティ証明書をICに固有の装置固有部分と、ICに固有ではない共通部分に分割し、そしてセキュリティ証明書全体よりも少ないが、しかし少なくとも装置固有の部分の表現をICに送信するように構成される。
【0012】
いくつかの実施形態において、プロセッサは、セキュリティ証明書に署名し、セキュリティ証明書の署名をICに送信するように構成される。一実施形態では、プロセッサは、秘密鍵を使用して証明書に署名するように構成されている。一実施形態では、プロセッサは、装置固有部分を圧縮することにより表現を作成するように構成される。
【0013】
本発明の一実施形態によれば、さらに、集積回路(IC)内のオンチップ不揮発性メモリ(NVM)に、ICに割り当てられたセキュリティ証明書の装置固有部分の表現を記憶するステップを有する方法が提供される。IC内のオンチッププロセッサを使用して、セキュリティ証明書の共通部分が取得され、取得された共通部分から、およびオンチップNVMに記憶された装置固有部分の表現から、セキュリティ証明書が再構築され、そして再構築されたセキュリティ証明書を使用してデータに対してセキュリティ操作が実行される。
【0014】
本発明の一実施形態によれば、少なくとも公開鍵を集積回路(IC)から受信するステップを有する方法も提供される。セキュリティ証明書がICに対して作成される。セキュリティ証明書は、ICに固有の装置固有部分と、ICに固有ではない共通部分に分割されている。セキュリティ証明書全体より少ないが、少なくとも装置固有部分の表現が、ICに送信される。
【0015】
本発明の一実施形態によれば、一対の公開鍵および秘密鍵を生成するステップを有する方法も提供される。セキュリティ証明書が集積回路(IC)に対して作成される。セキュリティ証明書は、ICに固有の装置固有部分と、ICに固有ではない共通部分に分割される。セキュリティ証明書全体より少ないが、少なくとも装置固有部分の表現が、ICに送信される。
【図面の簡単な説明】
【0016】
本発明は、図面と併せた実施形態の詳細な以下の説明から、より完全に理解されよう:
図1】本発明の一実施形態によるモノのインターネット(IoT)装置を概略的に示すブロック図である。
図2】本発明の一実施形態による、コンパクトセキュリティ証明書を生成するためのシーケンスを概略的に示すシーケンス図である。
図3】本発明の一実施形態による、セキュリティ証明書を再構築するためのシーケンスを概略的に示すシーケンス図である。
【発明を実施するための形態】
【0017】
コンピュータセキュリティにおいて、ルートオブトラスト(RoT)は、認証に使用される既知の信頼できるエンティティである。典型的には、RoTはファームウェア(FW)または、集積回路上の不揮発性メモリに記憶されている構成、に基づいている。(より短い表記のために、以下では「集積回路」を「チップ」と呼ぶ)。
【0018】
RoTおよびセキュリティ証明書という用語は、以下の説明において互換的に使用される。しかし、セキュリティ証明書はRoTの一例である。RoTには一般的にいくつかの種類がある-たとえば、ソフトウェアロード用のRoT、証明用のRoT、RoTプロビジョニングなどがある。RoTの種類によっては証明書になるものもあれば、そうでないものもある。本発明による実施形態はセキュリティ証明書に限定されない-代替実施形態では任意の適切な種類のRoTを使用することができる。
【0019】
それぞれのコンピューティング装置に最初のRoTをインストールすることは、通常は証明書のサポートなしに行われるべきであり、それでも秘密が偽造、盗難、複製、またはその他の方法で侵害されないことを保証するべきであるため、困難である。業界によって開発されたセキュアな生産(またはセキュア製造)技術は、最初のRoTをインストールするための技術を有している。そのような技術は、装置に第1の秘密をインストールするために使用することができる、専用の生産現場の物理的およびデジタルなセキュリティを定義する。
【0020】
ただし、一部の用途は従来のセキュア製造ソリューションには適していない。たとえば、モノのインターネット(IoT)市場では、多数のベンダーが多数の製造場所で膨大な数の小規模プロジェクトを開発/作成している。このような環境は、セキュアな製造に新たな課題をもたらす。一般的なIOT装置は、チップベンダによって製造されているシリコンオンシステム(SOC)チップを有することができる。通常は別の場所におけるその後の装置製造段階で、SOCと他の構成要素が組み立てられテストされる。
【0021】
IoT装置に適した1つの解決策は、チップベンダおよびチップ製造場所の数がIoT装置タイプの数よりはるかに少ないので、(装置レベルではなく)チップレベルでセキュアな製造を実行することである。
【0022】
セキュアな製造モデルをチップレベルにおいて適用することの1つの課題は、多くの場合、チップが、供給されたRoTを記憶するのに十分な量の不揮発性メモリ(NVM)を有しないことである。
【0023】
本発明の実施形態は、一般的なSOCにおいて制限される利用可能なNVMを前提に、チップレベルでのRoT記憶のための改善された方法およびシステムを提供する。本発明の実施形態によれば、SOCの製造中に、コンパクトな形式のRoTが、通常サイズが制限されるSOCの不揮発性メモリに記憶される。RoTのコンパクトな形式は、SOC固有情報(チップ固有、したがって装置固有の情報)の最小限のセットで構成される。この最小セットは、本明細書では証明書の装置固有部分の表現とも呼ばれる。完全なRoTは、全ての装置によって共有される共通情報を外部ソースから提供することによって、そして外部ソースから追加のSOC固有情報を提供することなく、後の段階、例えば装置製造時に再構築される。
【0024】
一実施形態では、SOC(またはサーバ)は、チップ製造時に完全なRoTを作成し、次いで、RoTからすべての非SOC固有情報を取り除く。その後、SOCは残ったSOC固有情報をオンチップNVMに記憶する。いくつかの実施形態では、SOCは、例えばZIPを使用してSOC固有情報を圧縮し、次いで圧縮データをオンチップNVMに記憶する。
【0025】
一実施形態では、(全ての装置に対して同じである)非SOC固有情報は、IoT装置のソフトウェアイメージの一部として提供される(イメージの完全性はその署名をチェックすることによって検証される)。セキュアであることを要求されない場所で行われるその後の生産段階で、非SOC固有情報は、例えばフラッシュメモリに記憶されてもよい。次に、コンピューティング装置内で実行されているソフトウェアは、オンチップNVMに記憶されているSOC固有部分と外部NVMに記憶されている非SOC固有部分とからRoTを再構築する。
【0026】
したがって、本発明の実施形態によれば、装置のセキュリティを損なうことなく、コンパクトな形式のセキュリティ証明書を、利用可能なオンチップNVMに記憶することができる。コンパクトなセキュリティ証明書はチップ製造時に作成されそして記憶されるため、装置の組み立てなどのその後の製造工程はセキュアである必要はない。
【0027】
(システムの記述)
図1は、本発明の一実施形態によるモノのインターネット(IoT)装置100を概略的に示すブロック図である(IoT装置は通常、センサやアクチュエータなどの追加のユニットを含むが、それらは明確化のため省略されている)。一般に、開示された技術は、RoTの使用を必要とする様々な他の種類のコンピューティング装置および/または通信装置に適用可能である。
【0028】
IoT装置100は、SOC102およびフラッシュメモリチップ104を含む。セキュリティ証明書を作成するために、SOC102は、SOC製造現場において証明書署名サーバ150に接続される(フラッシュ104は通常この段階では接続されていない)。
【0029】
SOC102は、図1の例示的実施形態によれば、ソフトウェアプログラムを実行する縮小命令セットコンピュータ(RISC)コア106を含む(代替実施形態では、他の形態のハードウェアを使用することができる;例えばコンプレックス命令セットコンピュータ(CISC))。RISCコアは、内部バス108を介して、以下のものを含む様々なユニットと通信する:固定データ(例えば、コードおよび固定テーブル)を記憶するように構成された読み取り専用メモリ(ROM)110;データを一時的に記憶するように構成されるランダムアクセスメモリ(RAM)112;インターネットとインタフェースするように構成されたネットワークインターフェースコントローラ(NIC)114;クロックソースと、例えばウォッチドッグタイマを含むタイマとからなるクロック/ウォッチドッグ/タイマユニット116;SOCの汎用入出力(GPIO)ポートを制御するように構成されたGPIO/インタフェース118;およびSOC102と外部フラッシュ104との間のデータ転送を制御するように構成されるフラッシュインタフェース120。
【0030】
図1の例示的な実施形態によれば、コンパクトなRoTを容易にするために、SOC102は、暗号ハードウェア122、乱数発生器(RNG)124、オンチップNVM OTPメモリ126、およびインタフェースユニット128をさらに有する。暗号ハードウェアは、(RNG124によって生成された乱数を使用して)秘密鍵と公開鍵のペアを生成し、そして証明書署名を検証するように構成されている(いくつかの実施形態では、証明書署名はソフトウェアによって検証され得る)。インタフェースは、RISCコア106と証明書署名サーバ150との間のインタフェースをとるように構成される。いくつかの実施形態では、証明書署名サーバは、フラッシュインタフェース120を介してSOCに接続され得る。他の実施形態では、証明書署名サーバは、汎用入出力(GPIO)ポートを介して、ネットワークインターフェースコントローラ(NIC)を介して、または他の手段を介してSOCに接続されうる。
【0031】
SOC製造現場で証明書を生成し署名するために使用される証明書署名サーバ150は、プロセッサ152と、証明書署名サーバとSOCとの間で通信するように構成されたインタフェース154と、ネットワークインターフェースコントローラ(NIC)156とを備える。NICは、証明書署名サーバとインターネットとの間で、そして特に証明書署名機関との間でインタフェースをとるように構成されている。(いくつかの代替実施形態では、証明書署名サーバ150は下位認証機関であり、そして証明書署名機関に接続する必要はない。この場合、証明書署名サーバはNICを含まなくてもよい。)
【0032】
セキュアな製造施設で行われるSOC製造中に、暗号ハードウェアは一対の公開-秘密鍵を生成し、そして公開鍵および他のSOC固有情報をサーバに送信する(代替的な実施形態では、それらの鍵はサーバによって生成され得る)。次いで、サーバは、SOC固有部分と共通部分とを含むセキュリティ証明書を作成することができ、後者は一般的にすべての装置に対して同じである。その後、サーバは、署名プロセスに使用される認証機関(CA)または下位認証機関の秘密キーを使用して証明書に署名し、セキュリティ証明書のSOC固有部分を署名と共にSOCに返送する。SOCは、秘密鍵およびセキュリティ証明書のSOC固有部分(またはその表現)をオンチップNVM OTP126に記憶する。いくつかの実施形態では、SOCは、SOCがOTPに記憶するデータを圧縮する。証明書の共通部分(SOC固有部分ではない)は、さらなる生産段階で(および、いくつかの実施形態ではSOCシステムがデプロイされるときに)使用される、ソフトウェアイメージとして提供される。
【0033】
(証明書は通常、階層構造で構築され、ここで各階層の証明書は、公開鍵を有し、そして上位階層の証明書秘密鍵を使用して署名されている。装置は装置証明書公開鍵を送信し、サーバは、この公開鍵を含む証明書を作成し、そしてサーバにあるより高いレベル(認証機関(CA)証明書)の秘密鍵を使って署名する。)
【0034】
必ずしもセキュアであるとは限らない後続の装置レベルの生産段階では、SOCは、共通部分とSOC固有部分とを組み合わせることによってセキュリティ証明書を再構築することができる。SOCは、例えば外部フラッシュ104から証明書の共通部分を、オンチップNVM OTP126からSOC固有部分を読み取ることができる。
【0035】
いくつかの実施形態において、署名書の全体は、デプロイされた製品によって使用されるために、外部NVMメモリに記憶されてもよい;代替実施形態では、署名書の全体は記憶されていない;むしろ、デプロイされた製品によって必要に応じて再構築される。再構築された証明書は、セキュアな通信およびセキュアなソフトウェアの更新などの任意の所望のセキュリティ関連動作を実行するために、IoT装置によって使用されうる。
【0036】
このように、図1に示される例示的な実施形態によれば、大容量のオンチップNVMメモリを必要とせずに、そしてセキュアな装置製造現場を必要とせずに、高レベルの証明書ベースのセキュリティが提供される。証明書は、証明書全体(チップ固有部分および一般部分)の署名を検証することによって第三者(例えば、サーバ)によって有効とされる。
【0037】
署名はOTPに記憶され、再構築された証明書は署名の判断に使用された最初の証明書と同一であるため、署名は有効とされうる。
【0038】
証明書を再構築するのと同じ装置ソフトウェアは、再構築後に署名を有効とすることによってその正当性を検証できる。
【0039】
理解されるように、IoTコンピューティング装置100、SOC102、および証明書署名サーバ150は例として記載されている。開示された技術によるIoT装置、他のタイプのコンピューティング装置、SOC、およびサーバは、上記の記載に限定されない。例えば、代替の実施形態では、RISC106は複合命令セットコンピュータ(CISC)によって、または複数のコンピュータの集合によって置き換えられてもよい。クロック/ウォッチドッグ/タイマユニット116およびGPIO/インタフェースユニット118はなくてもよく、または類似のユニットによって置き換えられてもよい。いくつかの実施形態ではROMがなく、他の実施形態では外部フラッシュ104は他の記憶媒体によって置き換えられてもよい。いくつかの代替実施形態では、証明書署名サーバ150は、(シリアルインターフェース128ではなく)パラレルインターフェースを介して、NICポートを介して、または例えばSOCパッドのスキャンチェーンを介してSOC102に接続される。
【0040】
例-X.509証明書
様々な実施形態において、開示された技術は様々なタイプおよびフォーマットのセキュリティ証明書と共に使用することができる。次の例は、ITU X.509 V3規格に準拠したセキュリティ証明書のフィールドとそのSOC固有のフィールドのリストである:

・証明書
・バージョン番号
・シリアル番号
・署名アルゴリズムID
・発行者名
・有効期間
・より前ではない
・より後ではない
・サブジェクト名
・サブジェクトの公開鍵情報
・公開鍵アルゴリズム
・サブジェクトの公開鍵
・発行者の一意の識別子(オプション)
・サブジェクトの一意の識別子(オプション)
・拡張機能(オプション)
・...
・証明書署名アルゴリズム
・証明書の署名
【0041】
上記の例では、証明書のSOC固有(装置固有)部分は、シリアル番号、サブジェクトの公開鍵、および証明書署名フィールドのみを有する。他のすべてのフィールドは証明書共通部分と見なされる。この例では、証明書の装置固有部分を取り出すステップは、サブジェクトの公開鍵フィールドと証明書署名フィールドを選択するステップを有する。
【0042】
別の実施形態では、証明書のフォーマットに応じて、証明書を他の適切な態様で設計固有部分と共通部分に分割することができる。
【0043】
図2は、本発明の実施形態による、コンパクトセキュリティ証明書を生成するためのシーケンスを概略的に示すシーケンス図200である。シーケンス図は、SOCをパーソナライズするように構成された、チップ製造場所に配置された、オンチップNVM OTP126、オンチップRISC106、および証明書署名サーバ150(図1)に関する動作を示す。
【0044】
シーケンスは、鍵生成ステップ204から始まり、オンチップCPUは一対の公開鍵と秘密鍵を生成する。SOC情報送信ステップ206において、SOCは公開鍵および他のSOC固有データを証明書署名サーバ150に送信し、秘密鍵記憶ステップ208において、オンチップCPU106は秘密鍵をオンチップNVM OTP126に記憶する。
【0045】
SOCからSOC固有データを受信した後、証明書署名サーバ150は、SOC証明書作成ステップ210を実行する。証明書は、SOC固有データと、サーバによって管理される証明書固有データとを含む。次に、SOCブロブ作成ステップ212において、サーバは証明書に署名し、証明書特定情報と証明書署名とを含むバイナリ-ロングオブジェクト(Blob)ストリングを作成する。次に、サーバは、SOCブロブ送信ステップ214で、SOCブロブをオンチップCPU106に送信する。
【0046】
SOCブロブを受信した後、オンチップCPU106はブロブ圧縮ステップ216を実行することができ、ここでブロブは例えばZIPを使用して圧縮される(ステップ216は任意選択肢であり、そして本発明のいくつかの実施形態によれば、ブロブは圧縮されない。)ブロブ記憶ステップ218において、オンチップCPUはブロブ(圧縮または非圧縮のいずれか)をオンチップNVM OTP126に記憶し、そして受信通知送信ステップ220において、オンチップCPUは、オンチップCPUが首尾よくシークエンスを完了し、コンパクトセキュリティ証明書をオンチップNVM OTPに記憶したことを示す、受信通知をサーバに送信する。サーバは、装置ロギングステップ222において、シークエンス情報のログを、典型的には製造ログファイルに取る(ログは典型的にはすべての装置およびそれらの証明書のリストを有する)。
【0047】
要約すると、図2に示される例示的な実施形態によれば、チップ製造中に、オンチップCPUが公開鍵および秘密鍵を作成する。製造施設内のサーバがセキュリティ証明書を作成して署名する。オンチップCPUは秘密鍵と証明書固有部分をオンチップNVM OTPに記憶する。記憶されたデータは署名書全体に比べて小さく、通常はオンチップNVM OTPに収まる。いくつかの実施形態では、記憶サイズをさらに縮小するために、記憶されるデータが圧縮される。
【0048】
図3は、本発明の実施形態による、セキュリティ証明書を再構築するためのシーケンスを概略的に示すシーケンス図300である。シーケンス図は、オンチップNVM OTP126、オンチップRISC106(オンチップCPUと呼ばれる)、および外部フラッシュ104(図3の「ソフトウェアがインストールされた外部メモリ」)に関する動作を示す。
【0049】
シーケンスは、証明書一般データ読み取りステップ302で開始し、オンチップCPU106は、外部フラッシュ104から証明書一般データを含むブロックを読み取る。次に、SOC固有データ読み取りステップ304において、オンチップCPUは、SOC固有データをオンチップNVM OTP126から読み取る。オンチップCPUは、オプションとして、解凍ステップ306に入り、SOC固有データを解凍してもよい。次に、証明書再構築ステップ308において、オンチップCPUは、装置固有データおよび証明書一般データから証明書全体を組み立てる。いくつかの実施形態では、ステップ308は署名検証ステップ310を有し、ここでオンチップCPUは証明書の署名を検証する。
【0050】
オンチップCPUは、今やセキュアに証明しそして外部装置と通信できるようになった。いくつかの実施形態では、オンチップCPUはオプションとして証明書全体記憶ステップ312を実行し、ここでオンチップCPUはセキュリティ証明書の全部を外部フラッシュメモリ104に記憶する。代替実施形態では、オンチップCPUはステップ312を実行せず、そしてデプロイされた装置が証明書を必要なときはいつでも、上記のシークエンスを繰り返すことにより、証明書全体を再構築する。
【0051】
したがって、図3に示される例示的な実施形態によれば、SOCは、SOCのOTPに記憶されている限られたSOC固有のデータから、および外部に記憶されている保護されていないデータからセキュリティ証明書全体をセキュアに再構築できる。
【0052】
理解されるように、図2および3を参照して記載されたシークエンス200および300は、例として引用されている。開示された技術によるシーケンスは上記の記載に限定されない。例えば、代替実施形態では、オンチップCPUは、ステップ208で秘密鍵ではなく秘密鍵のシードを記憶し、ステップ304でシードから秘密鍵を再構築することができる。他の1つの事例として、オプションとしてのSOC固有データの圧縮(ステップ216)は、証明書署名サーバ150によって行われてもよい(この場合、ステップ214でサーバが送信するブロブは圧縮データを含む)。一実施形態では、公開鍵/秘密鍵ペアの生成ステップ204は、証明書署名サーバけによって行われ、その後、サーバは(他のSOC固有情報に加えて)秘密鍵をSOCに送信する。
【0053】
図1図3に示され、上で記載されたIoT装置100、SOC102、証明書署名サーバ150の構成、ならびにシーケンス200および300は、純粋に概念の明確化のために示される、例示的な構成およびシーケンスである。代替実施形態では、他の任意の適切な構成を使用することができる。明確化のため、開示された技術の理解に必須ではない要素は図面から省略されている。
【0054】
様々な実施形態において、SOC102および/または証明書署名サーバ150の異なる要素は、特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)などの適切なハードウェアを使用して実装され得る。代替として、SOC102および/または証明書署名サーバ150のいくつかの要素は、ソフトウェアで、またはソフトウェア要素とハードウェア要素との組み合わせを使用して実装され得る。
【0055】
いくつかの実施形態では、SOC102および/または証明書署名サーバ150は、本明細書で記載されている機能を実行するようにソフトウェアでプログラムされる、1つまたは複数の汎用プロセッサ(たとえば、RISCコア106)を備える。ソフトウェアは、例えば、ネットワークを介して、またはホストから電子形式でプロセッサにダウンロードされてもよく、あるいは代替的にまたは追加的に、磁気、光または電子メモリなどの非一過性有形媒体上に提供および/または記憶されてもよい。
【0056】
本明細書に記載の実施形態は、主にIoT装置(および他のコンピューティング装置)アプリケーションにおけるコンパクトセキュリティ証明書を扱っているが、本明細書に記載の方法およびシステムは、他の種類のメモリが制限されたセキュア装置にも使用できる。
【0057】
上記の実施形態は例として引用され、本発明は上記に特に示され記載されたものに限定されないことが理解されよう。むしろ、本発明の範囲は、上記の様々な特徴の組み合わせおよびサブ組み合わせ、ならびに上記記載を読んだ当業者に想起される、既存技術に開示されていない変形および修正の両方を含む。参照により本特許出願に組み込まれる文書は、本出願の統合的部分とみなされるべきであるが、本明細書において明示的または黙示的になされる定義と矛盾する場合には、本明細書における定義が優先される。
図1
図2
図3