図面 (/)

技術 バスを介して周辺デバイスを安全にアクセスするための方法

出願人 新唐科技股ふん有限公司
発明者 ジヴハーシュマンオレンタナミダンモラヴ
出願日 2018年9月26日 (1年10ヶ月経過) 出願番号 2018-179656
公開日 2019年2月14日 (1年5ヶ月経過) 公開番号 2019-023896
状態 特許登録済
技術分野 記憶装置の機密保護 バス制御
主要キーワード 再起動状態 チップ選択ライン 中断ステップ 補助インタフェース 駆動強度 CLKライン 直列抵抗器 CSライン
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2019年2月14日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (5)

課題

バスを介して周辺デバイスを安全にアクセスする装置を提供する。

解決手段

ステム20において、バスを介して周辺デバイスを安全にアクセスするための安全装置36は、インターフェースプロセッサーとを含む。インタフェースは、バスを介して通信するように設定される。プロセッサー44は、バスマスタデバイスが無許可に周辺デバイスにアクセスを試みる時、バスの少なくとも1つのライン強制的に1つまたは複数のダミー値並行的に書き込むことによって、少なくとも一部のトランザクション中断させるように設定される。

概要

背景

電子ステムは、ホストデバイス周辺デバイスの間に通信するために、様々のバスインターフェースを使用する。バスインターフェースの例としては、I2C(Inter−Integrated−Circuit)バス及びSPI(Serial Peripheral Interface)バスが含まれる。I2Cバスのスペックは、例えば「I2Cバス仕様およびユーザマニュアル(I2C bus specification and user manual)」、UM10204、NXP Semiconductors、バージョン6、2014年4月4日という文献に記載され、その文献を参照により本明細書に組み込まれる。

概要

バスを介して周辺デバイスを安全にアクセスする装置を提供する。システム20において、バスを介して周辺デバイスを安全にアクセスするための安全装置36は、インターフェースプロセッサーとを含む。インタフェースは、バスを介して通信するように設定される。プロセッサー44は、バスマスタデバイスが無許可に周辺デバイスにアクセスを試みる時、バスの少なくとも1つのライン強制的に1つまたは複数のダミー値並行的に書き込むことによって、少なくとも一部のトランザクション中断させるように設定される。

目的

本発明で説明される実施例は、インターフェースおよびプロセッサーを含む装置を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

インターフェースを介して、プロセッサーを備える安全装置バスに接続するステップと、バスマスタデバイスが無許可周辺デバイスアクセス試みる時、前記プロセッサーを介して前記バスの少なくとも1つのライン強制的に1つまたは複数のダミー値並行的に書き込むことによって、少なくとも一部の前記トランザクション中断させるステップと、を備えることを特徴とする、バスを介して周辺デバイスを安全にアクセスするための方法。

請求項2

前記バスは、デフォルト論理値を有するオープンドレインまたはオープンコレクタを備え、及び前記プロセッサーを介して前記バスの少なくとも1つのラインにデフォルト論理値に相反するダミー値を強制的に書き込むステップを備えることを特徴とする、請求項1に記載の方法。

請求項3

ダミー値を強制的に書き込むステップは、前記プロセッサーを介して前記バスマスタデバイスまたは前記周辺デバイスによって少なくとも1つのラインに書き込まれた対応値上書きするステップを備えることを特徴とする、請求項1に記載の方法。

請求項4

ダミー値を強制的に書き込むステップは、前記バスマスタデバイスと前記周辺デバイスの間の通信に使用される前記バスの既存のラインのみに実行されることを特徴とする、請求項1に記載の方法。

請求項5

前記プロセッサーを介して、前記バスを監視することによって、中断させるべきトランザクションを検出するステップを備えることを特徴とする、請求項1に記載の方法。

請求項6

前記プロセッサーを介して、前記バスの外部にある補助インタフェースを介して前記バスマスタデバイスと通信することによって、中断させるべきトランザクションを検出するステップを備えることを特徴とする、請求項1に記載の方法。

請求項7

前記トランザクションが中断された後に、前記プロセッサーを介して前記バスの正常動作を再開するステップを備えることを特徴とする、請求項1に記載の方法。

技術分野

0001

関連出願の相互参照
本出願は、2015年6月8日に出願された米国仮特許出願第62/172,298号の利益を主張し、上記出願の開示全体を参照により本明細書に組み込まれる。

0002

本発明は一種電子システムセキュリティーに関わり、特に周辺デバイスへの安全なアクセスを確保するの方法及びシステムに関する。

背景技術

0003

電子システムは、ホストデバイスと周辺デバイスの間に通信するために、様々のバスインターフェースを使用する。バスインターフェースの例としては、I2C(Inter−Integrated−Circuit)バス及びSPI(Serial Peripheral Interface)バスが含まれる。I2Cバスのスペックは、例えば「I2Cバス仕様およびユーザマニュアル(I2C bus specification and user manual)」、UM10204、NXP Semiconductors、バージョン6、2014年4月4日という文献に記載され、その文献を参照により本明細書に組み込まれる。

0004

本発明で説明される実施例は、インターフェースおよびプロセッサーを含む装置を提供する。そのインターフェースは、バスを介して通信するように構成され、プロセッサーは、バスマスタデバイスが無許可に周辺デバイスにアクセスを試みる時、バスの少なくとも1つのライン強制的に1つまたは複数のダミー値並行的に書き込むことによって、少なくとも一部のトランザクション中断させるように設定される。

0005

1つの実施例では、プロセッサーは、バスのデータラインにダミー値を強制的に書き込むことによって、データラインを介して周辺デバイスに送信または周辺デバイスから受信されたそれぞれのデータ値転送を中断させるように設定される。追加的または代替的に、プロセッサーは、バスのクロックラインにダミー値を強制的に書き込むことによって、トランザクションにおいて使用されるクロック信号を中断させるように設定される。さらに追加的または代替的に、プロセッサーは、バスのチップ選択ライン上にダミー値を強制的に書き込むことによって、バスマスタデバイスによる周辺デバイスの選択を中断するように設定される。

0006

一部の実施例では、バスは、デフォルト論理値を有するオープンドレインまたはオープンコレクタを備え、且つプロセッサーは、バスの少なくとも1つのラインにデフォルト論理値と相反するダミー値を強制的に書き込むように設定される。

0007

一部の実施例では、プロセッサーは、ダミー値を強制的に書き込むことによって、バスマスタデバイスまたは前記周辺デバイスの少なくとも1つのラインに書き込まれた対応値上書きするように設定される。1つの例示的な実施例では、プロセッサーは、バスマスタデバイスまたは周辺デバイスの駆動強度より強い駆動強度で、少なくとも1つのラインを駆動することによって、バスマスタデバイスまたは周辺デバイスによって書き込まれた前記対応値を上書きするように設定される。もう1つの実施例では、装置は、少なくとも1つの抵抗器を有し、その抵抗器は、少なくとも1つのラインに挿入され、バスマスタデバイスまたは周辺デバイスによって書き込まれた値を、ダミー値に応じて減衰させるように設定される。

0008

一部の実施例では、プロセッサーは、バスマスタデバイスと周辺デバイスの間の通信に使用されるバスの既存のラインのみにダミー値を強制的に書き込むように設定される。一部の実施例では、プロセッサーは、バスを監視することによって、中断させるべきトランザクションを検出するように設定される。1つの実施例では、プロセッサーは、バスの外部にある補助インターフェースを介してバスマスタデバイスと通信することによって、中断させるべきトランザクションを検出するように設定される。

0009

開示された1つの実施例では、プロセッサーは、装置がリセットされるまで、無制限にダミー値を強制的に書き込むように設定される。もう1つの実施例では、プロセッサーは、トランザクションを検出した後に、一定期間内にダミー値を強制的に書き込むように設定される。また1つの実施例では、プロセッサーは、トランザクションが中断された後に、前記バスの正常動作を再開するように設定される。

0010

本発明で説明される実施例は、さらに周辺デバイスと安全装置を備えるシステムを提供する。その周辺デバイスは、バスを介して1つまたは複数のバスマスタデバイスにアクセス可能であり、安全装置は、バスマスタデバイスが無許可に周辺デバイスにアクセスを試みる時、バスの少なくとも1つのラインに強制的に1つまたは複数のダミー値を並行的に書き込むことによって、少なくとも一部のトランザクションを中断させるように設定される。

0011

実施例によって、本発明はさらに1つの方法を提供する。その方法は、バスに接続された安全装置を使用し、バスマスタデバイスが無許可に周辺デバイスにアクセスを試みる時、トランザクションを中断させることを決定することと、バスの少なくとも1つのラインに強制的に1つまたは複数のダミー値を並行的に書き込むことによって、少なくとも一部のトランザクションを中断させることを含む。

0012

本発明は、以下の実施例に対する詳細な説明を、図面と合わせて、より完全に理解されるであろう。

図面の簡単な説明

0013

図1は、本発明の実施例による、複数のデバイスがI2Cバスを介して通信する安全なシステムを概略的に示すブロック図である。
図2は、本発明の実施例による、I2Cバスを介して周辺デバイスへのアクセスを保護する方法を概略的に示すフローチャートである。
図3は、本発明の代替の実施例による、複数のデバイスがSPIバスを介して通信する安全なシステムを概略的に示す的ブロック図である。
図4は、本発明の代替の実施例による、複数のデバイスがSPIバスを介して通信する安全なシステムを概略的に示す的ブロック図である。

実施例

0014

本発明で説明される実施例は、バスインターフェースを介して周辺デバイスへのアクセスを確保するための改良された方法および装置を提供する。周辺デバイスは、例えば、暗号エンジン機密データを格納するメモリデバイス、またはバスを介してアクセス可能な他の適切なデバイスを含むことができる。

0015

開示された一部の実施例では、安全装置は、バス上のトランザクションを監視し、ホストデバイスまたはバスマスタデバイスが無許可に周辺デバイスにアクセスを試みるトランザクションを検出する。トランザクションは、任意の適切な基準または方針を使用して、許可または無許可なものとして分類することができる。

0016

無許可なトランザクションを検出する時、安全装置は、トランザクションと並行して、意図的にバスの1つ以上のラインまたは信号の値を、あるダミー値に強制的に書き込むことによって、トランザクションを中断させる。ダミー値を強制的に書き込むのことは、例えば、クロック信号、データ信号及び/またはチップセレクト(Chip−Select)信号で実行することができる。

0017

バス上にダミー値を強制的に書き込むことによるトランザクションの中断は、I2Cなどのオープンドレインまたはオープンコレクタバス、SPIなどのプッシュプルバスなどに適している。トランザクションに並行してバス上にダミー値を強制的に書き込むことは、周辺デバイスへの及び/または周辺デバイスからの通信を中断し、及び/またはそれぞれのクロック信号を中断する。

0018

ここでは、I2CおよびSPIバス上の無許可なトランザクションを中断するためのいくつかの技術について説明する。そして中断後の正常動作を正常に再開するための技術についても説明する。一部の実施例では、安全装置は、バス上でトランザクションを検出することなく、またはバスを監視なしにトランザクションを中断することができる。例えば、安全装置は、このホストが許可されるまで、またはこのホストが許可されない限り、特定のホストのチップセレクトライン上にダミー値を強制的に書き込むことができる。

0019

開示された技術は、事務レベル(transaction−by−transaction level)で、リアルタイムで周辺デバイスに対する安全な選択的なアクセスを提供する。本明細書で説明される技術の大部分では、トランザクションの識別および中断の両方が、バスの既存の信号を用いてのみ実行される。したがって、開示された技術は、追加のピンまたは相互接続を必要とせず、それによってシステム全体のサイズ及びコストを低減する。

0020

[I2Cバスで周辺デバイスへのアクセスを保護する]

0021

図1は、本発明の実施例の安全なシステム20を概略的に示すブロック図である。本発明の実施例では、システム20は、I2Cバス32に接続されたホストデバイス24及び周辺デバイス28を備える。ホストデバイス24及び周辺デバイス28は、簡潔するためにホスト及び周辺(peripheral)とも記載される。ホスト24はまた、バスマスタデバイスと呼ばれることもある。

0022

安全装置36は、I2Cバス上のトランザクションを監視し、ホスト24またはバスマスタ機能を有する他のデバイスが無許可に周辺デバイスにアクセスを試みるトランザクションを防止することによって、周辺デバイス28へのアクセスを保護する。安全装置36は、制御装置またはTPM(Trusted Platform Module)と記載されることもある。本発明の実施例では、安全装置36は、インターフェース40と、プロセッサー44と、メモリー48とを備え、インターフェース40は、I2Cバス32に接続する。プロセッサー44は、本発明の技術を実行するように設定される。メモリー48は、1つまたは複数のプロセッサー44が実行する安全方針を格納するように構成される。

0023

プロセッサー44は、所定または設定された任意の方針(policy)に従って、トランザクションを無許可なものに分類することができる。無許可なトランザクションは、周辺デバイス28へのデータの書き込み、周辺デバイス28からのデータの読み取り、周辺デバイス28を設定または周辺デバイス28に命令を送信し、または他の適切な方法による周辺装置へのアクセスを試みることができる。安全装置36が実行する方針は、ポジティブ方針(例えば、ホワイトリスト)、ネガティブ方針(例えば、ブラックリスト)、デバイスアドレスまたはレジスタオフセット(register offset)に依存する方針、または他のタイプの方針を含むことができる。

0024

例えば、安全装置36は、ホストの周辺デバイス28へのアクセスが許可される前に、ホスト24のアイデンティティ(identity)に対する認証を要求することができる。無許可なホストによって実行されたトランザクションは、無許可のトランザクションに判断される。その認証は、例えば、ホストと安全装置の間の応答式プロセス(challenge−response process)を使用して実行することができる。追加的または代替的に、ホストは、他の適切な方法で自分のアイデンティティを証明し、または安全なブートプロセスを完成することが要求されることがある。

0025

さらに追加的または代替的に、幾つかのタイプのトランザクション(例えば、読み取りトランザクション)は許可されたものとして判断され、他のタイプのトランザクション(例えば、書き込みトランザクション)は無許可なものとして判断されることができる。さらにもう1つの実施例では、周辺デバイスの選択されたアドレスへのアクセスは許可されたものとして判断され、他のアドレスへのアクセスは無許可なものとして判断されることができる。別の実施例として、バス上のビットシーケンス(bit sequences)は無許可なトランザクションとして判断されることができる。

0026

一般的に、プロセッサー44は、許可されたトランザクションと無許可なトランザクションとを任意の適切な方法で判断することができる。メモリー48は、トランザクションが許可されているかを判断するための1つまたは複数の方針が格納されている。

0027

I2Cバス32は、シリアルデータ信号を伝達するシリアルデータ(SDA)ラインと、シリアルクロック信号を伝達するシリアルクロック(SCL)ラインとを備える。用語“ライン”及び“信号”は、本明細書では交換可能に使用される。SDAライン及びSCLラインを監視することによって、プロセッサー44はI2Cバス上のすべてのトランザクションを監視することができ、且つ無許可なトランザクションを検出することができる。

0028

無許可なトランザクションを検出した後、プロセッサー44は、I2Cバス32上のSDAライン及び/またはSCLラインに1つまたは複数のダミー値を強制的に書き込むことによってそのトランザクションを中断する。この機構は、I2Cバスのオープンドレイン/オープンコレクタ構造によって実現されることができる。通常的に、SDAライン及びSCLラインの両方は、プルアップ抵抗器を使用して、デフォルト論理的な“1”の状態にプルアップされる。どのデバイスも、他のデバイスによって同時に書き込まれた値にかかわらず、いつでも“0”値を書き込むことによって、SDAラインまたはSCLラインの論理値を強制的に“0”に変わることができる。

0029

よって、一部の実施例では、無許可なトランザクションを検出すると、安全装置36中のプロセッサー44は、インターフェース40を介して、I2Cバス32のSDAラインまたはSCLライン上に論理値“0”(デフォルト論理値“1”と相反する値)を強制的に書き込む。本明細書では、“0”値はダミー値と見なされる。SDAラインに強制的に書き込まれた“0”値は、ホスト24から周辺デバイス28への値、またはホスト24が周辺デバイス28から読み出された値、若しくはデフォルト論理値“1”などのすべてのデータ値を上書きする。SCLラインに強制的に書き込まれた“0”値は、クロック信号を停止する。上述のどちらの場合も、トランザクションは中断される。

0030

一部の実施例では、プロセッサー44は、例えば装置のパワーアップリセットが実行されるまで、無制限に“0”値を強制的に書き込みを続ける。他の実施例では、プロセッサー44、中断から正常な回復を可能にする、即ち、ホスト24及び周辺デバイス28が中断されたトランザクションから回復して正常動作を再開することを可能にする。一部のホスト及び/または周辺デバイス28は、クロック停止から回復できない。よって、シンプルなホストや周辺デバイス28でも正常な回復が必要な場合は、SCLラインではなくSDAラインにダミー値を強制的に書き込むの方が良い。

0031

1つの実施例では、トランザクションが中断された後に通常の動作を再開するため、プロセッサー44は、バス上でI2C停止(I2C STOP)またはI2C再起動(I2C RESART)状態を生成する。本明細書では、I2C停止またはI2C再起動状態は、バスがトランザクション開始可能であることを対象デバイスに示すバス信号値の任意のシーケンスを含むことができる。

0032

プロセッサー44、中断されたトランザクションからの正常に回復を可能にするために様々な技術を使用することができる。1つの実施例では、プロセッサー44は、一定時間内に強制的に“0”値を書き込み続けることは、無許可なトランザクションを中断するのに充分であると見なされる。任意の長さの予定時間も使用されることができる。例えば、SMバス仕様ではタイムアウトが25msと定義される。したがって、SMバスとI2Cとの応用では、タイムアウトをトリガするために、定義済み持続時間を少なくとも25msに設定するのが理にかなっている。

0033

別の実施例では、プロセッサー44は、SCLラインの論理値がハイ(即ち、トグルしていない(not toggling))に検出されるまで、一定時間内にSDAライン上に“0”値を強制的に書き込みを続ける。この状態は、ホストがトランザクションを終了または中止したことを示すことができる。プロセッサー44は、SDAラインを解放し、場合によってはI2C停止条件を生成することができる。

0034

周辺デバイス28から読み取ったトランザクションを中断させるのに有用なもう1つ実施例では、安全装置36を周辺デバイス28と同様なアドレスを有するI2Cスレーブとして構成されること。安全装置36中のプロセッサー44は、“0”データを使用して、無許可の読み取り要求に応答する。周辺デバイス28は、プロセッサー44と平行的にこれらの読み取り要求に応答するが、そのデータ値は、安全装置36が送信された“0”値によって上書きされる。このプロセスは、例えば停止条件によってホストがトランザクションを中断するまで続く。注意すべきは、I2C仕様に従って、I2Cスレーブはデータ送信する時にACK/NEGACKビットを駆動しない。

0035

読み取りトランザクションと書き込むトランザクションの両方を中断するのに有用な他の実施例では、プロセッサー44がSDAライン上に強制的に“0”値を書き込むことである。次に、ホスト24がこれを中断として識別していない場合に、ことトランザクションは、周辺デバイス28から送信されたデータではなく、バス上の“0”値を介して通常に停止する。ホスト24がこの中断を検出し、(例えば、I2Cマルチマスタアービトレーション(multi−master arbitration)に対応する)且つこのトランザクションを中止する場合、プロセッサー44は、一般的に、SCLライン上で追加のクロックサイクルを生成することによって、ホスト24によって中断されたトランザクションを引き続くことができる。プロセッサー44は、転送されている現在のバイトを補完し、停止状態発行することによってトランザクションを中止することができる。

0036

上述中断及び回復の技術は、単純に例として示されている。代替の実施例では、安全装置36のプロセッサー44は、他の任意の適切な技術を介して、トランザクションを中断する及び/または中断から回復することもできる。

0037

上述の実施例では、無許可なトランザクションを検出、中断、及び中断からの回復の全ては、バスの既存のラインを介して実現される。代替の実施例では、安全装置36及びホスト24は、バス32の外部にある補助インターフェースによって接続する。例えば、安全装置36及びホスト24が同じICに統合され、ICのSDAピンとSCLピンを共有する場合に実現可能である。

0038

これらの実施例では、安全装置36及びホスト24は、補助インターフェースを介して他のホストデバイスが周辺デバイス28にアクセスしないことを検証する。例示的な実施例では、ホスト24が周辺デバイス28にアクセスする時、ホスト24は補助インターフェースを介して安全装置36に通知する。その通知に応じて、プロセッサー44は、バスにダミー値“0”を書き込まない、且つトランザクションを実行させる。周辺デバイス28にアクセスするが、補助インターフェース上で報告されていないトランザクションを検出する時、プロセッサー44は、そのトランザクションが無許可なホストから送信されたものと見なし、強制的に“0”値を書き込むことによってそのトランザクションを中止する。

0039

図2は、本発明の実施例による、I2Cバスを介して周辺デバイスへのアクセスを保護する方法を概略的に示すフローチャートである。この方法は、監視ステップ50において、安全装置36のプロセッサー44がインターフェース40を使用して、I2Cバス32上のトランザクションを監視することから始まる。

0040

トランザクション検出ステップ54において、プロセッサー44は、ホスト24が周辺デバイス28にアクセスしようとするトランザクションを識別する。チェックステップ58において、プロセッサー44は、トランザクションが許可されたのかをチェックする。例えば、プロセッサー44は、このトランザクションがメモリー48に格納された安全方針に違反しているかをチェックすることができる。

0041

このトランザクションが許可されていれば、プロセッサー44は、許可ステップ62でトランザクションを正常に進める、そうでなければ、トランザクションが無許可であると判断された場合、プロセッサー44は、ステップ66でダミー値“0”をI2CバスのSCL及び/またはSDAラインに強制的に書き込むことによってこのトランザクションを中断する。

0042

[SPIバス上で周辺デバイスへのアクセスを保護する]

0043

図3は、本発明の代替の実施例による、安全なシステム70を概略的に示す的ブロック図である。図3に示されるように、システム70は、すべてSPIバス82に接続するホストデバイス74と、周辺デバイス78と安全装置86とを含む。

0044

ホスト74が無許可に周辺デバイス78にアクセスしようとする時、安全装置86はそのトランザクションを識別して中断する。本発明の実施例では、安全装置86は、SPIバス82に接続するインターフェース90と、開示された技術を実行するように構成されたプロセッサー94と、1つまたは複数のプロセッサー94によって実行される安全方針を格納するように構成されたメモリー98とを含む。

0045

許可されたトランザクションと無許可なトランザクションとを区別する安全方針、及び安全装置86のプロセッサー94が無許可なトランザクションを識別する方法は、上述したシステム20と本質的に同様である。以下で説明される技術と上述で説明された技術との区別は、安全装置86が無許可なトランザクションを中断するために、バス82上にダミー値を強制的に書き込むことである。

0046

SPIバス82は、クロック(CLK)ラインと、MOSI(Master−Out Slave−In)及びMISO(Master−In Slave−Out)と呼ばれる2本のデータラインを含む。CLK、MISO及びMOSIラインは、すべてのデバイス(本実施例中ではデバイス74、78及び86)に共通である。また、各スレーブデバイスは、専用のチップセレクトラインを使用して選択可能である。本実施例では、ホスト74は、CS2#に示されるCSラインを使用して周辺デバイス78を選択し、且つCS1#に示されるCSラインを使用して安全装置86を選択する。

0047

マスタであるホスト74は、すべてのCSラインに接続する。一方、周辺デバイス78はスレーブであるため、各周辺デバイス78は専用のCSラインのみに接続される。一般的には、ホスト74は、それぞれのCSラインを使用して、所要の周辺デバイス78を選択することによってトランザクションを開始し、次にCLK、MOSI及びMISOラインを使用してデバイスと通信する。MOSIラインは、ホスト74から周辺デバイス78への送信に使用され、MISOラインは、周辺デバイス78からホスト74への送信に使用される。

0048

安全装置86と通常のSPIスレーブと異なり、スレーブとして定義されたことにもかかわらず、すべてのCSラインを駆動することができる。図3に示すように、安全装置86のインターフェース90は、ホストデバイス74と並列的にCS2#ラインを駆動するように構成される。システム70がそれぞれのCSラインを有する周辺デバイス78を含む場合、安全装置86は、ホスト74と並列的にいずれかのCSラインを駆動するように構成される。

0049

一部の実施例では、システム70は、ホスト74及び安全装置86が相反する論理値でCSラインを起動する時、安全装置86によって駆動された論理値がホスト74によって駆動された論理値を上書きするように設定される。換言すれば、ホスト74及び安全装置86が相反する論理値出CSラインを駆動する時、周辺デバイス78は安全装置86によって駆動される論理値を受信し動作する。

0050

CSライン(の信号)を上書きすることは、バス上のトランザクションを中断することによって、ホスト74と周辺デバイス78の間の無許可なトランザクションを中断するもう1つの例である。上述の上書き機構は、様々な方法で実行することができる。以下の説明は、周辺デバイス78を選択する時使用されるCS2#ラインに関するが、複数の周辺デバイス78及びそれぞれのCSラインを使用する場合、同じ機構も適用する。

0051

1つの実施例では、安全装置86によってインターフェース90内のCS2#ラインを駆動するラインドライバは、ホスト74によってCS2#ラインを駆動するラインドライバより強い。代替的な実施例では、直列抵抗器100は、ホスト74の出力でCS2#ラインに挿入されてもよい。抵抗器100は、安全装置86のCS2#ラインドライバの出力に対して、ホスト74のCS2#ラインドライバの出力を減衰させる。さらに代替的には、安全装置86は、任意の他の適切な方法でCS2#ラインを駆動するホスト74(の信号)を上書きするように構成することができる。

0052

安全装置86のプロセッサー94は、SPIバス82のCS#ライン、CLK、MISO及び/またはMOSIラインを監視することによって、任意の適切な方法で無許可なトランザクションを識別することができる。一部の実施例では、ホスト74が無許可である周辺デバイス78にアクセスのトランザクションを識別する時、安全装置86のプロセッサー94は、周辺デバイス78のCSラインを無効にすることによってトランザクションを中断する。安全装置86は、ホスト74がCS2#ラインにの駆動を上書きするように構成されるので、周辺デバイス78は選択解除され、トランザクションは中断される。一方、トランザクションが許可されることを確定すると、プロセッサー94は自分のCS2#ドライバを停止し、それによってホスト74が中断することなく周辺デバイス78にアクセス可能になる。

0053

図3は、本発明の代替の実施例による、安全なシステム110を概略的に示す的ブロック図である。システム110はまた、図3のシステム70と同様に、SPIバス82に基づいている。しかしながら、システム110では、CSライン(の信号)を上書きすることを代わりに、安全装置86は、CLKライン、MISOライン及び/またはMOSIライン上にダミー値を強制的に書き込むことによって、無許可なトランザクションを中断する。

0054

本実施例では、システム110は、安全装置86がCLKライン、MISOラインM及び/またはMOSIラインを駆動する時、ホスト74(の信号)を上書きするように構成される。図面に示されるように、この目的を達成するため、直列抵抗器100をCLKライン、MISOライン及びMOSIラインに挿入される。本実施例でのCS2#ライン(の信号)は上書きされてないため、CS2#ラインに直列抵抗器を挿入しない。

0055

代替の実施例では、安全装置86内のCLKライン、MISOライン及び/またはMOSIラインのラインドライバをホスト74内の対応するラインドライバより強くすることによって、その上書き機構を実行することができる。

0056

他の実施例では、同時にCSライン(図3に参照)及びCLKライン、MISOライン及び/またはMOSIライン(図4に参照)(の信号)を上書きする混合方案も実現可能である。

0057

図1、3及び4に示されたシステム20、70及び110の構成は、安全装置36、86及びバス32、82など様々な構成要素で、概念明瞭性のために純粋に示された構成例である。代替の実施形態では、任意の他の適切な構成を使用することができる。

0058

例えば、図面は明確にするために、単一の周辺デバイスと単一のホストデバイスのみを示している。一部の実施例では、システムは、2つ以上の周辺デバイス及び/または2つ以上のホストデバイスを備えることができる。本明細書で説明する実施例は、例としてのI2CおよびSPIバスを参照する。代替の実施例では、開示された技術は、必要に応じて他の任意の適切なタイプのバスで実行することができる。

0059

システム20、70及び110の異なる要素は、ASIC(Application−Specific IntegratedCircuit)またはFPGA(Field−Programmable Gate Array)などの任意の適切なハードウェアを使用して実行することができる。一部の実施例では、安全装置36及び86の幾つかの構成要素、例えば、プロセッサー44またはプロセッサー94は、ソフトウェアを使用して、またはハードウェア要素ソフトウェア要素の組み合わせを使用して実行することができる。メモリー48及び98は、RAM(Random Access Memory)またはフラッシュメモリー(Flash memory)などの任意の適切なタイプのメモリデバイスを使用して実行することができる。

0060

一部の実施例では、プロセッサー44及び/またはプロセッサー94は、本明細書で説明する機能を実行するようにソフトウェアでプログラムされた汎用プログラマブルプロセッサーを備える。ソフトウェアは、例えば、ネットワークを介して電子形式でプロセッサーにダウンロードすることができ、あるいは、磁気的、光学的、または電子的メモリーなどの非一時的な有形媒体に提供及び/または格納することができる。

0061

上述の実施例では、安全装置はまずバスを監視することによって無許可なトランザクションを検出し、その後トランザクションを中断する。代替的な実施例では、安全装置は、バス上で最初にそのトランザクションを検出することなく、またはバスを全く監視することなく、トランザクションを中断することができる。例えば、安全装置はこのホストが許可されるまで、またはそのホストが許可されない限り、特定のホストのチップセレクトラインを無効にすることができる。この許可は、必ずしも同じバスを使用するではなく、任意の適切な方法で実行することができる。

0062

非限定的な例として、本明細書に記載の方法及びシステムは、安全メモリーアプリケーションIoT(Internet−of−Things)アプリケーション、組み込みアプリケーション(embedded application)または自動車アプリケーション(automotive application)などの様々なアプリケーションで使用することができる。

0063

よって、理解されるべきことは、上述実施例として引用されたものであり、本発明は、上に特に示され説明されたものに限定されないことである。むしろ、本発明の範囲は、上述した様々な特徴の組み合わせ及び部分的な組み合わせ、ならびに前述の説明を読むことによって当業者に想到し得る変形および修正の両方を含む。本特許出願において参照により援用される文書は、本明細書において明示的または暗示的になされた定義と矛盾するとき、これらの組み込まれた文書で定義される用語を除いて、本明細書の定義を参考にする必要がある。

0064

20、70、110:システム
24、74:ホスト
28、78:周辺デバイス
32:I2Cバス
36、86:安全装置
40、90:インターフェース
44、94:プロセッサー
48、98:メモリー
50:監視ステップ
54:検出ステップ
58:検査ステップ
62:許可ステップ
66:中断ステップ
82:SPIバス
100:直列抵抗器
CS1#、CS2#:チップセレクトライン
CLK:クロックライン
MOSI:マスタアウトスレーブインライン
MISO:マスタスインレーブアウトライン

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ