JP2024504090A - セキュアなコントローラエリアネットワーク(can)トランシーバ - Google Patents

セキュアなコントローラエリアネットワーク(can)トランシーバ Download PDF

Info

Publication number
JP2024504090A
JP2024504090A JP2023541826A JP2023541826A JP2024504090A JP 2024504090 A JP2024504090 A JP 2024504090A JP 2023541826 A JP2023541826 A JP 2023541826A JP 2023541826 A JP2023541826 A JP 2023541826A JP 2024504090 A JP2024504090 A JP 2024504090A
Authority
JP
Japan
Prior art keywords
vehicle
data frame
bus
data
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023541826A
Other languages
English (en)
Inventor
ピー.パトン サタジット
アレン カイン エドワード
ロイド パーカー アダム
バーナム ジョナサン
ポール マクファーランド スティーブン
Original Assignee
トヨタ モーター ノース アメリカ,インコーポレイティド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by トヨタ モーター ノース アメリカ,インコーポレイティド filed Critical トヨタ モーター ノース アメリカ,インコーポレイティド
Publication of JP2024504090A publication Critical patent/JP2024504090A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Small-Scale Networks (AREA)

Abstract

例示的な操作は、輸送手段のコントローラエリアネットワーク(CAN)バスを介して送信するためのデータフレームを生成することであって、データフレームは、複数のフィールドに格納されたデータを含む、ということと、生成されたデータフレームのデータフィールド内の値に少なくとも1つの認証ビットをエンコードすることであって、少なくとも1つの認証ビットは、少なくとも1つの認証ビットについての既定のキーに基づくデジタル署名を含む、ということと、CANバスを介して、デジタル署名を含む少なくとも1つの認証ビットを有する生成されたデータフレームを送信することと、のうちの1つ以上を含む。

Description

概して、乗用車、オートバイ、トラック、飛行機、電車などの車両又は輸送手段は、乗員及び/又は物品に対して輸送ニーズを様々な方法で提供する。輸送手段に関連する機能は、輸送手段上に位置し及び/又は輸送手段から離れて位置するスマートフォン又はコンピュータなどの様々な計算デバイスによって識別されて利用され得る。
例示的な一実施形態は、輸送手段のコントローラエリアネットワーク(CAN)バスを介して送信するためのデータフレームを生成することであって、データフレームは、複数のフィールドに格納されたデータを含む、ということと、生成されたデータフレームのデータフィールド内の値に少なくとも1つの認証ビットをエンコードすることであって、少なくとも1つの認証ビットは、少なくとも1つの認証ビットについての既定のキーに基づくデジタル署名を含む、ということと、CANバスを介して、デジタル署名を含む少なくとも1つの認証ビットを有する生成されたデータフレームを送信することと、のうちの1つ以上を含む、方法を提供する。
別の例示的な実施形態は、輸送手段のコントローラエリアネットワーク(CAN)バスを介して送信するためのデータフレームを生成することであって、データフレームは、複数のフィールドに格納されたデータを含む、ということと、生成されたデータフレームのデータフィールド内の値に少なくとも1つの認証ビットをエンコードすることであって、少なくとも1つの認証ビットは、少なくとも1つの認証ビットについての既定のキーに基づくデジタル署名を含む、ということと、CANバスを介して、デジタル署名を含む少なくとも1つの認証ビットを有する生成されたデータフレームを送信することと、のうちの1つ以上を行うように構成されたプロセッサを含む、輸送手段を提供する。
更なる例示的な実施形態は、プロセッサによって読み取られるとプロセッサに、輸送手段のコントローラエリアネットワーク(CAN)バスを介して送信するためのデータフレームを生成することであって、データフレームは、複数のフィールドに格納されたデータを含む、ということと、生成されたデータフレームのデータフィールド内の値に少なくとも1つの認証ビットをエンコードすることであって、少なくとも1つの認証ビットは、少なくとも1つの認証ビットについての既定のキーに基づくデジタル署名を含む、ということと、CANバスを介して、デジタル署名を含む少なくとも1つの認証ビットを有する生成されたデータフレームを送信することと、のうちの1つ以上を実行させる命令を含む、非一時的コンピュータ可読媒体を提供する。
図1Aは、例示的な実施形態に係る、CANバスを介して接続されセキュアなCANトランシーバを実装したデバイスのネットワークを示す図である。 図1Bは、例示的な実施形態に係る、CANバスと通信するECUのプロセスを示す図であり、ECUは、セキュアなCANトランシーバを含む。 図1Cは、例示的な実施形態に係る、認証ビットを生成及び受信するセキュアなCANトランシーバのプロセスを示す図である。 図1Dは、例示的な実施形態に係る、CANバス上で送信するためのデータフレームを示す図である。 図1Eは、例示的な実施形態に係る、セキュアなCANトランシーバを含むプリント回路基板(PCB)構成を示す図である。 図2Aは、例示的な実施形態に係る、輸送手段ネットワーク図を示す図である。 図2Bは、例示的な実施形態に係る、別の輸送手段ネットワーク図を示す図である。 図2Cは、例示的な実施形態に係る、更に別の輸送手段ネットワーク図を示す図である。 図2Dは、例示的な実施形態に係る、更なる輸送手段ネットワーク図を示す図である。 図2Eは、例示的な実施形態に係る、更なる輸送手段ネットワーク図を示す図である。 図2Fは、例示的な実施形態に係る、1つ以上の要素の給電を描写した図である。 図2Gは、例示的な実施形態に係る、輸送手段ネットワーク内の異なる要素間の相互接続を描写した図である。 図2Hは、例示的な実施形態に係る、輸送手段ネットワーク内の異なる要素間の相互接続を描写した更なる図である。 図2Iは、例示的な実施形態に係る、輸送手段ネットワーク内の要素間の相互接続を描写した更なる図である。 図3は、例示的な実施形態に係る、CANフレーム内に認証ビットをエンコードする方法を示す図である。 図4は、例示的な実施形態に係る、機械学習輸送手段ネットワーク例を示す図である。 図5Aは、例示的な実施形態に係る、車両に関連付けられたデータベーストランザクションを管理する例示的な車両構成を示す図である。 図5Bは、例示的な実施形態に係る、様々な車両間で行われるデータベーストランザクションを管理する別の例示的な車両構成を示す図である。 図6Aは、例示的な実施形態に係る、ブロックチェーンのアーキテクチャ構成を示す図である。 図6Bは、例示的な実施形態に係る、別のブロックチェーン構成を示す図である。 図6Cは、例示的な実施形態に係る、ブロックチェーンのトランザクションデータを格納するブロックチェーン構成を示す図である。 図6Dは、例示的な実施形態に係る、例示的なデータブロックを示す図である。 図7は、例示的な実施形態のうちの1つ以上をサポートする例示的なシステムを示す図である。 図8は、例示的な実施形態に係る、セキュリティプロセッサの例を示す図である。
本明細書で概略が記載され、図に示される本構成要素は、多種多様な異なる構成で配置及び設計され得ることが容易に理解されるであろう。したがって、添付の図に表されるような、方法、装置、非一時的コンピュータ可読媒体、及びシステムのうちの少なくとも1つの実施形態の以下の詳細な説明は、特許請求されている本願の範囲を制限することを意図しておらず、選択された実施形態を表しているに過ぎない。
輸送手段と、リモートサーバ、他の輸送手段、及びローカルの計算デバイス(例えば、スマートフォン、パソコン、輸送手段に組み込まれたコンピュータなど)などの特定のエンティティとの間の通信は、ハードウェア、ファームウェア、ソフトウェア、又はこれらの組合せであり得る1つ以上の「構成要素」によって受信されて処理され得る。構成要素は、これらのエンティティ若しくは計算デバイス、又は特定の他の計算デバイスのいずれかの一部であり得る。一例では、ブロックチェーンのトランザクションに関連するコンセンサスの決定は、輸送手段、及び輸送手段の外側又は輸送手段から離れた場所にある構成要素のうちの1つ以上に関連付けられた、計算デバイス又は構成要素によって実行され得る。
本明細書全体を通じて記載されるような本機能、構造、又は特性は、1つ以上の実施形態において任意の好適な方式で組み合わされ得る。例えば、本明細書全体における、「例示的な実施形態」、「一部の実施形態」というフレーズ、又は他の同様の用語の使用は、実施形態に関連して記載される特定の機能、構造、又は特性が少なくとも1つの実施形態に含まれ得るということを指している。したがって、本明細書全体において「例示的な実施形態」、「一部の実施形態では」、「他の実施形態では」というフレーズ、又は他の同様の用語が出てきても、全てが必ずしも同じグループの実施形態を指しているわけではなく、記載される機能、構造、又は特性は、1つ以上の実施形態において任意の好適な方式で組み合わされ得る。図において、要素間の任意の接続は、描写される接続が1方向又は2方向の矢印であったとしても、1方向及び/又は2方向の通信を可能とし得る。現在のソリューションでは、輸送手段は、乗用車、トラック、歩行領域バッテリ式電気自動車(BEV)、イーパレット(e-Palette)、燃料電池バス、オートバイ、スクータ、自転車、ボート、レクリエーショナルビークル、飛行機、並びに人及び又は物品をある場所から別の場所へと輸送するために使用され得る任意の物体のうちの1つ以上を含み得る。
加えて、「メッセージ」という用語が実施形態の説明で使用されている場合があるが、パケット、フレーム、データグラムなどの他の種類のネットワークデータも使用され得る。更に、特定の種類のメッセージ及び信号伝達が好ましい実施形態で描写され得るが、それらは、特定の種類のメッセージ及び信号伝達に限定されない。
例示的な実施形態は、CANフレーム内に認証ビットをエンコードするセキュアなCANトランシーバを提供する、方法、システム、構成要素、非一時的コンピュータ可読媒体、デバイス、輸送手段、及び/又はネットワークを提供する。
様々な実施形態は、(本明細書で車両又は乗用車とも称される)輸送手段、データ収集システム、データ監視システム、検証システム、認証システム、及び車両データ分配システムのうちの少なくとも1つを含み得る。車両状況データは、無線データネットワーク通信及び/又は有線通信メッセージなどの通信メッセージの形態で受信されて、車両/輸送手段の状況状態を識別するために処理されて、輸送手段の状況及び/又は変更に関するフィードバックを提供し得る。一例では、ユーザプロファイルを特定の輸送手段/車両へ適用して、現在の車両事象、サービスステーションでのサービス停止を承認し、その後の車両レンタルサービスを承認し、車両間通信を可能にし得る。
通信インフラストラクチャ内において、分散型データベースは、互いに通信する複数のノードを含む分散型ストレージシステムである。ブロックチェーンは、分散型データベースの例であり、信頼できない当事者間で記録を維持することが可能な、アペンド専用で不変のデータ構造(すなわち、分散型台帳)を含む。信頼できない当事者は、本明細書ではピア、ノード、又はピアノードと呼ばれる。各ピアは、データベースの記録のコピーを維持しており、分散されたピアの中でコンセンサスに達しない限り、どのピアもデータベースの記録を修正できない。例えば、ピアは、コンセンサスプロトコルを実行して、ブロックチェーンストレージエントリを検証し、ストレージエントリをブロックへとまとめ、当該ブロックを介してハッシュチェーンを構築し得る。このプロセスにより、整合性のために、必要に応じてストレージエントリを順序付けすることによって台帳が形成される。パブリックの、又はパーミッションレスのブロックチェーンでは、誰でも特定のアイデンティティを持たずに参加することができる。パブリックブロックチェーンは、暗号通貨に関与することができ、プルーフ・オブ・ワーク(PoW)などの様々なプロトコルに基づいてコンセンサスを使用することができる。逆に、パーミッション型ブロックチェーンデータベースは、資金、物品、情報、及び同種のものを交換する事業体などの、共通の目標を共有するが互いに完全には信用していないか又は信用することができないエンティティのグループ間でのやり取りを確保することができる。本ソリューションは、パーミッション型、及び/又はパーミッションレスのブロックチェーン設定で機能することができる。
スマートコントラクトは、信頼できる分散型アプリケーションであり、(ブロックチェーンの形態であり得る)共有型又は分散型台帳の耐タンパー性のあるプロパティと、エンドースメント又はエンドースメントポリシーと称される、メンバーノード間の基礎となる合意と、を活用する。概して、ブロックチェーンのエントリは、ブロックチェーンへコミットされる前に「承認」され、承認されていないエントリは無視される。典型的なエンドースメントポリシーにより、スマートコントラクト実行可能コードは、エンドースメントに必要なピアノードのセットの形態のエントリに対してエンドーサを指定することが可能になる。クライアントが、エンドースメントポリシーで指定されたピアへエントリを送信する場合、エントリを検証するためにエントリが実行される。検証後に、エントリは、コンセンサスプロトコルが使用される順序付けフェーズに入り、ブロックにまとめられた承認エントリの順序付けされたシーケンスを生成する。
ノードは、ブロックチェーンシステムの通信エンティティである。「ノード」は、異なる種類の複数のノードが同じ物理サーバ上で動作することができるという意味で、論理機能を実行し得る。ノードは、信頼ドメイン内でまとめられ、当該ノードを様々な方法で制御する論理エンティティと関連付けられている。ノードには、エンドーサ(例えば、ピア)へエントリ呼び出しを提出してエントリ提案を順序付けサービス(例えば、順序付けノード)へブロードキャストする、クライアント又は提出クライアントノードなどの異なる種類が含まれ得る。別の種類のノードは、ピアノードであり、クライアント提出エントリを受信し、エントリをコミットして、ブロックチェーンエントリの台帳の状態及びコピーを維持することができる。ピアは、エンドーサの役割も有し得る。順序付けサービスノード又はオーダラは、全てのノードに対して通信サービスを実行するノードであり、エントリをコミットしてブロックチェーンのワールドステートを修正する場合に、システム内のピアノードの各々に対するブロードキャストなどの配信保証を実現するノードである。ワールドステートは、通常は制御及び設定の情報を含む、初期ブロックチェーンエントリを構成することができる。
台帳は、ブロックチェーンの全ての状態遷移の、順序付けされた耐タンパー性のある記録である。状態遷移は、参加している当事者(例えば、クライアントノード、順序付けノード、エンドーサノード、ピアノードなど)によって提出されるスマートコントラクト実行可能コードの呼び出し(すなわち、エントリ)の結果として生じ得る。エントリは結果として、作成、更新、削除、及び同種のものなどの1つ以上のオペランドとして台帳へコミットされるアセットのキーと値のペアのセットを生じ得る。台帳は、ブロック内に不変に順序付けされた記録を格納するために使用される(チェーンとも称される)ブロックチェーンを含む。台帳は、ブロックチェーンの現在の状態を維持する状態データベースも含む。通常、チャネル毎に1つの台帳がある。各ピアノードは、自身がメンバーである各チャネルに対する台帳のコピーを維持する。
チェーンは、ハッシュリンクブロックとして構築されたエントリログであり、各ブロックは、N個のエントリのシーケンスを含む。ここで、Nは1以上である。ブロックヘッダは、ブロックのエントリのハッシュ、及び前のブロックのヘッダのハッシュを含む。このようにして、台帳における全てのエントリが順序付けされて、暗号的に結合され得る。したがって、ハッシュリンクを壊さずに台帳データを改ざんすることは不可能である。最新で追加されたブロックチェーンブロックのハッシュは、それより前に生じたチェーン上の全てのエントリを表し、これにより、全てのピアノードが、整合性のある、信頼できる状態にあることを保証することができる。チェーンは、ピアノードファイルシステム(すなわち、ローカル、付属ストレージ、クラウドなど)上で格納されて、ブロックチェーンの作業負荷のアペンド専用の性質を効率的にサポートし得る。
不変の台帳の現在の状態は、チェーンのエントリログに含まれる全てのキーに対する最新の値を表す。現在の状態は、チャネルで既知の最新のキーの値を表しているため、ワールドステートと称される場合がある。スマートコントラクト実行可能コードの呼び出しは、台帳の現在の状態データに対してエントリを実行する。これらのスマートコントラクト実行可能コードのやり取りを効率的にするため、キーの最新の値が、状態データベース内に格納され得る。状態データベースは、単にチェーンのエントリログに対するインデックス付きビューであり得、したがって、いつでもチェーンから再生成され得る。状態データベースは、ピアノードの起動時、及びエントリが受け付けられる前に、自動的に回復され得る(又は必要な場合に生成され得る)。
ブロックチェーンが中央ストレージではなく、分散型で不変のセキュアなストレージであるという点で、ブロックチェーンは従来のデータベースと異なっており、ノードは、ストレージ内の記録に対する変更を共有しなければならない。ブロックチェーンに内在し、ブロックチェーンの実現を助ける一部のプロパティは、不変台帳、スマートコントラクト、セキュリティ、プライバシ、分散化、コンセンサス、エンドースメント、アクセス可能性、及び同種のものを含むが、これらに限定されない。
車両は、特定の間隔でサービスを必要とする場合があり、サービスの要求は、サービスを受けることを許可するよりも前に認証を必要とする場合がある。また、サービスセンタは、車両の現在の経路プラン、及びサービス要件の相対的なレベル(例えば、緊急、重大、中程度、軽度など)に基づいて、近くのエリア内の車両へサービスを提供し得る。車両の要求は、検知されたデータを車両内及び/又は車両から離れた中央コントローラコンピュータデバイスへ報告する、1つ以上の車両及び/又は道路のセンサ若しくはカメラを介して監視され得る。このデータは、検討及び動作のために管理サーバに転送される。センサは、輸送手段の内部、輸送手段の外部、輸送手段から離れた固定物体上、及び輸送手段に近い別の輸送手段上のうちの1つ以上に位置し得る。センサは、輸送手段の速度、輸送手段の制動、輸送手段の加速度、燃料レベル、サービスの要求、輸送手段のギアのシフト、輸送手段の操縦、及び同種のものにも関連付けられ得る。本明細書に記載されるようなセンサはまた、輸送手段内の、及び/又は輸送手段に近い無線デバイスなどのデバイスであり得る。また、センサ情報は、車両のアクセス中及び/又は利用期間中などに、車両が安全に動作しているかどうか、及び乗員が予想外の任意の車両状況に関与したかどうかを識別するために使用され得る。車両の操作前、車両の操作中、及び/又は車両の操作後に収集される車両情報は、共有型/分散型台帳上のトランザクションで識別及び格納され得、当該トランザクションは、パーミッションを与えるコンソーシアムによって、したがってブロックチェーン会員グループなどによる「分散型の」方式で判定されるような不変台帳に生成及びコミットされ得る。
利害関係がある各当事者(すなわち、所有者、ユーザ、会社、代理店など)は、プライベート情報の露出を制限したい場合があり、したがって、ブロックチェーン及びその不変性は、各々の特定のユーザ車両プロファイルに対するパーミッションを管理するために使用され得る。補償を提供し、ユーザプロファイルのスコア/格付け/検討を定量化し、車両事象のパーミッションを適用し、サービスが必要とされる時を判定し、衝突事象及び/又は劣化事象を識別し、安全性の懸念となる事象を識別し、事象の当事者を識別し、このような車両事象データへアクセスしようとしている登録されたエンティティへ分配するために、スマートコントラクトが使用され得る。また、結果が識別され得、ブロックチェーンに関連付けられたコンセンサス手法に基づいて、登録された会社及び/又は個人の間で必要な情報が共有され得る。従来の集中型データベースでは、このような手法を実現することはできなかった。
輸送手段がナビゲーション及び他の目的のために使用することができる地形及び道路の地図を作成するために、本ソリューションの様々な運転システムは、ソフトウェア、センサアレイ、並びに機械学習機能、光検出及び測距(LIDAR)プロジェクタ、レーダ、超音波センサなどを利用し得る。一部の実施形態では、LIDARの代わりに、GPS、地図、カメラ、センサ、及び同種のものも自律車両で使用され得る。
本明細書に記載されるように共有及び受信されるデータは、データベースに格納され得、当該データベースは、ある単一のデータベース(例えば、データベースサーバ)内に、概して、ある特定の場所にデータを維持する。この場所は多くの場合、中央コンピュータ、例えば、デスクトップの中央処理装置(CPU)、サーバのCPU、又はメインフレームコンピュータである。集中型データベースに格納された情報は通常、複数の異なるポイントからアクセス可能である。集中型データベースは、管理、維持、及び制御するのが容易であり、集中型データベースが単一の場所にあるため、特にセキュリティを目的としたものである。集中型データベース内において、全てのデータが単一の格納場所にあることは、所与のデータセットが1つの基本の記録のみを有しているということも意味するため、データの冗長性は最小限にされる。ブロックチェーンは、輸送手段に関連するデータ及びトランザクションを格納するために使用され得る。
CANバスは通常、ハードウェアバスを介して互いに接続された複数の電子制御ユニット(ECU)を含む。ECUは、輸送手段において、クルーズコントロール、操舵、制動、照明、空調、点火などの様々な機能を表し得る。しかしながら、従来のCANバスシステムは、セキュリティ侵害に遭い得る。例えば、攻撃者は、物理的にCANツール(例えば、GC-CAN-USB、CANableなど)又はワイヤタップを車両内に取り付けて、OBD-IIポートを介してCAN内にデータを導入し得る。別の例として、攻撃者は、ECUをCANバス内に導入し得る。このような状況では、CANフレーム内のデータが操作されて、車両の操作が危険にさらされ(例えば、無効にされる、修正されるなど)、車両のユーザ及び車両に関する情報が盗まれ得る。
例示的な実施形態は、セキュアなCANトランシーバを介してこれらの欠点を克服し、当該セキュアなCANトランシーバは、ECU内に統合されて、CANバス上でのECUによる通信のために使用されるデータフレーム内に認証ビットを導入するために使用され得る。CANフレームのサイズは、既定のサイズ(例えば、8バイト)に制限され得る。セキュアなトランシーバは、単に1つのビット又は少数のビットをCANフレーム内に導入することによってこれに対処し得る。例えば、1つ以上の認証ビットは、調停者フィールド、制御フィールド、データフィールド、CRCフィールド、又は同種のものなどのCANフレームの1つ以上の既定のフィールド内に挿入され得る。CANフレーム内に認証ビットをエンコードすることに加えて、セキュアなトランシーバは、入って来るCANフレームが適切な認証ビットを有していることを確認し得る。
様々な実施形態によれば、セキュアなCANトランシーバは、サイドチャネル内に認証ビット(「authビット」)をエンコードし、それによって、本明細書でCANフレームとも称されるCANバスフレームを認証する能力を提供し得る。当該authビットは、ECU内でマイクロコントローラユニット(MCU)とCANバスとの間に位置するセキュアなCANトランシーバを介して生成される。セキュアなCANトランシーバは、authビットを生成及び適用し、MCUは、MCUからセキュアなCANトランシーバに送信される特別な構成フレームを介して認証論理を構成する。authビットチェックを満たさないフレームは落とされる。
ある実施形態では、認証ビットは、デジタル署名として機能する。例えば、使用される認証ビットの数、CANフレーム内の認証ビットの位置(例えば、どのフィールドか、どのビット位置か、など)、及び同種のものは、CANフレームを送信するECUによってCANフレームに追加される既定の署名を表し得る。既定の署名は、受信するECUによって確認され得る。一部の実施形態では、署名は、ECUによって既知であるビット署名アルゴリズムを使用して、新しいフレームが送信される度に動的に修正され得る。例えば、認証ビットの数及び/又は位置は、新しいCANフレームが送信される度に動的に修正され得る。CANフレームが送信される度に、CANフレームは、CANバス上の全てのECUによって受信される。ここで、各ECUは、カウンタを増加させ得(例えば、1増やすなど)、新しい署名は、デジタル署名を修正するビット署名アルゴリズムを使用して作成され得る。したがって、攻撃者/盗聴者がCANフレーム内の認証ビットでCANフレームを得る場合、新しいCANフレームで正しい署名が変更されるため、攻撃者は、正しい署名を有しない。
例示的な実施形態では、ECUは、輸送手段内の1つ以上の電気システム又はサブシステムを制御する輸送手段の電子機器内の組込システムを指している。ECUの種類には、エンジン制御モジュール(ECM)、パワートレイン制御モジュール(PCM)、伝送制御モジュール(TCM)、ブレーキ制御モジュール(BCM又はEBCM)、中央制御ジュール(CCM)、中央タイミングモジュール(CTM)、汎用電子モジュール(GEM)、ボディ制御モジュール(BCM)、サスペンション制御モジュール(SCM)、制御ユニット、及び同種のものが含まれるが、これらに限定されない。これらのシステムは、まとめて、乗用車のコンピュータと称される場合がある。一部の最新の輸送手段は、最大80個以上のECUを有し、その数及び複雑性は増し続けている。
CANバスは、マイクロコントローラ及びデバイスが中央ホストコンピュータを必要とすることなく互いのアプリケーションと通信することを可能にするように設計された輸送手段のバスである。一例として、ECU(デバイス)のグループは、CANバスを介して互いに電気的に接続され得る。CANバスに取り付けられたデバイスは、データフレーム(例えば、CANフレーム)として本明細書に記載されるメッセージを互いに送信し得る。データフレームは、CANバスを介して送信され得る。一部の場合、フレームは、送信するデバイスを含むCANバスに接続された全てのデバイスによって受信される。CANフレームは従来から、94ビット(8バイト)の限度を有する。
図1Aは、例示的な実施形態に係る、CANバス109を介して接続されセキュアなCANトランシーバ108を実装したデバイスのネットワーク100Aを示す。図1Aを参照すると、ECU101及びECU107は、輸送手段(図示せず)の組込デバイスである。ECU101及び107は、エンジン制御、操舵、伝送、及び同種のものなどの上述のモジュールのうちのいずれかを表し得る。ECU101及び107は、CANバス109と通信し且つ互いに通信することを承認される。
しかしながら、この例では、攻撃者は、CANツール104を物理ポート(例えば、OSB-IIポート)に取り付けており、CANツール104を使用して、承認されていない情報(データフレームB)をECU107に送信しようと試みている。加えて、攻撃者はまた、CANバス109を介して通信することを承認されていない輸送手段内にECU105を導入している。この場合、攻撃者は、偽データ(データフレームC)を導入してECU107及び/又はECU101の通信を無効にしようと試み得る。
これらの種類の攻撃を防ぐために、例示的な実施形態は、図1B、図1C、及び図1Eで更に記載されるセキュアなトランシーバ102及び108を提供する。この例では、ECU101は、CANバス109を介してデータフレームAをECU107に送信する。データフレームAをECU107に送信する前に、ECU101のセキュアなトランシーバ102は、データフレームA内に認証ビットをエンコードする。データフレームAがECU107によって受信されるとき、セキュアなトランシーバ108は、必要な認証ビットがデータフレームA内に存在することを確認し得る。それを確認すると、セキュアなトランシーバ108は、データフレームが有効であると判定する。
一方で、CANツール104が、偽データフレームBをCANバス109内に導入しようと試みるとき、CANツール104は、必要な認証ビットを知らない。したがって、偽データフレームBは、必要な認証ビットを有しない。この場合、ECU107のセキュアなトランシーバ108は、データフレームBが必要な認証ビットを有していないため、CANツール104からのデータフレームBを検証することができない。したがって、データフレームBは、ECU108によって、却下されるか、落とされるか、又は他の場合には、捨てられ得る。同様に、ECU102はまた、偽データフレームBを受信し、セキュアなトランシーバ102はまた、データフレームBが必要な認証ビットが欠けているため、データフレームBを無効として検出する。
しかしながら、ECU105は、認証ビットを知り得る。特に、ECU102がデータフレームAをECU107に送信するとき、データフレームAは、ECU105を含むCANバス109上の全ての他のECUにも送信され得る。したがって、ECU105は、認証ビットを知り得る。この場合、ECU105は、偽トランシーバ106で実装され得る。ここで、ECU105は、データフレームAから知った認証ビットを用いて、偽データ(データフレームC)をCANバス109内に導入しようと試み得る。これに対処するために、セキュアなトランシーバ102及び108は、前に分配されたデジタルキー及びビット署名アルゴリズムでプログラムされ得る。ここで、セキュアなトランシーバ102及び108は、ビット署名アルゴリズムによって指定されるパターン又は場所に応じて、認証ビットをデータフレーム内に格納し得る。デジタル署名は、前に分配されたデジタルキーに基づき得る。デジタル署名(例えば、認証ビット位置及び量)が一致しない場合、データフレームは却下される。更に、データフレームがCANバス109を介して送信される度に、セキュアなトランシーバ102及び108の各々は、カウンタを増やし得、これにより、ビット署名アルゴリズムは、追加されているデジタル署名を変更する。この場合、ECU105は、ビット署名アルゴリズムを知らず、偽データフレームCにおいて、データフレームA上で使用された前の署名を使用しようと試みる。しかし、ビット署名アルゴリズムが変更されている(データフレームCの署名がデータフレームAとは異なっているはずである)ため、セキュアなトランシーバ102及び108は、複製デジタル署名を検出し、偽データフレームCを無効にする。これにより、リプレイ攻撃が防がれる。
図1Bは、例示的な実施形態に係る、CANバスと通信するECUのプロセス100Bを示し、ECUは、セキュアなCANトランシーバ130を含む。図1Bを参照すると、ECUは、図1Aに関して示され記載されるECU101及び107のいずれかであり得る。図1Bを参照すると、ECUは、CANバス109を介して送信されるデータフレームに認証ビットを追加するようにセキュアなCANトランシーバ130を構成しているマイクロコントローラユニット(MCU)120を含む。この例では、MCU120は、CANトランシーバで従来から行われているように、CANバス109を介して送信するためのデータフレームを生成し、セキュアなCANトランシーバ130に送信し得る。しかしながら、この例では、MCU120はまた、構成フレームをセキュアなCANトランシーバ130に送信し得る。
例えば、MCU120は、特殊構成論理を含み得、当該特殊構成論理は、MCU120からセキュアなCANトランシーバ130に送信される認証ビット情報及び署名情報を有する構成データを生成して、データフレーム内で認証ビットを追加及び/又は検証するようにセキュアなCANトランシーバ130を構成する。構成フレームは、セキュアなCANトランシーバ130に既知である(所定の)未使用の大きい番号のCAN IDを使用して、MCU120からセキュアなCANトランシーバ130へ送信され得る。ここで、セキュアなCANトランシーバ130は、大きい番号のCAN IDを用いて受信されるフレームを、構成に固有であるものとして検出し、そこから構成情報を抽出し、次のデータフレームを生成するときに当該構成を適用し得る。構成フレームは、認証ビットを位置付けるために、生成されたデータフレーム内の場所を指定し得る。認証ビットの位置付けは、デジタル署名を表す。
例示的な実施形態では、セキュアなCANトランシーバ130は、様々なデータレートをサポートし、可変の数の認証ビットをサポートし得る。例えば、一部の実施形態では、少なくとも1つの認証ビットが、データフレームの複数のフィールドの各々に導入され得る。別の例として、少なくとも1つの認証ビットが、1つのフィールドに追加されるだけでもよく、複数の認証ビットが、単一のフィールド、その組合せ、及び同種のものに導入されてもよい。
セキュアなCANトランシーバ130は、従来のCANトランシーバの代用として使用され得る。セキュアなCANトランシーバ130はまた、セキュアなCANトランシーバ130が、認証ビットに基づいて機能するか、又は認証ビットを使用せずに機能することを可能にするスイッチ又は他の機構を有し得る。換言すれば、セキュアなCANトランシーバは、セキュアなCANトランシーバ130が、ある設定では従来の方式で動作し、別の設定では認証ビット方式で動作することを可能にするスイッチを含み得る。
セキュアなCANトランシーバ130は、認証ビットチェックを満たさないフレームを落とし、レイテンシを最小化し、デジタルキーが与えられる場合に認証ビットのデジタル署名を自動的に生成し、特定のCAN IDについての手動認証ビットを可能にし、カウンタ/LFSRを用いてリプレイ軽減に自動的に対処し、認証ビットをチェックすることなく特定のフレームを通すためのCAN IDホワイトリストを生成及び格納し、且つ同種のことを行い得る。ホワイトリストは、事前に分配され得、認証ビットを追加することなくデータフレームを送信することを許可されるECU、デバイスなどのリストを含み得る。ホワイトリストは、MCU及び同種のものによって管理及び更新され得る。一部の実施形態では、セキュアなCANトランシーバは、特別なCAN ID(例えば、未使用のCAN ID)を用いてMCUから提供されるCANフレームで構成され得る。例えば、未使用のCAN IDは、単にMCUによる使用のために割り当てられた特別なCAN IDであり得る。特別なCAN IDを使用することによって、CANトランシーバは、CANフレームが認証ビット/デジタル署名を構成するために使用されることを自動的に検出し得る。セキュアなCANトランシーバは、認証ビットを調整するために、CAN高ワイヤ及びCAN低ワイヤの両方を使用し得る。一部の実施形態では、セキュアなCANトランシーバは、全ての遷移でエンコードし得る。
図1Cは、例示的な実施形態に係る、認証ビットを生成及び受信するセキュアなCANトランシーバ130のプロセス100Cを示す。図1Cを参照すると、セキュアなCANトランシーバ130は、データフレームをCANバス(図示せず)に送信するための送信機132を含む。例えば、データフレームは、MCU(図示せず)によって生成され、MCUから提供され得る。この例では、セキュアなCANトランシーバは、送信機132によって送信されるデータフレーム内に認証ビットを追加する(例えば、認証ビットをエンコードする)ように構成された認証生成器136を含む。更に、認証生成器136は、データフレーム内に認証ビットを位置付けて、署名アルゴリズムに基づいてデジタル署名を生成し得る。認証ビットは、例示的な実施形態に記載されるような認証生成器136によってエンコードされ得る。
同様に、セキュアなCANトランシーバ130は、CANバスからデータフレームを受信するための受信機134を含む。例えば、受信されるデータフレームは、CANバスに接続された他のECU、デバイスなどによって送信され得る。この場合、セキュアなCANトランシーバ130は、受信されるデータフレームに含まれる認証ビット、及びデータフレームに関連付けられたデジタル署名の両方を検証するための論理を含む認証バリデータ138を更に含む。更に、セキュアなCANトランシーバ130はまた、事前にECUに分配され得るデジタルキーを格納し、且つ所定のアルゴリズムに基づいてデジタル署名を変更する署名アルゴリズムも含むキーアルゴリズムユニット137を含む。したがって、各フレームは、同じデジタルキーに基づく認証ビットの異なる署名を含み得る。認証生成器136及び認証バリデータ138は共に、キーアルゴリズムユニット137に接続され、デジタル署名に対する更新を受信し得る。一部の実施形態では、MCU(図示せず)は、署名更新をキーアルゴリズムユニット137に提供し得るが、実施形態はそれに限定されないことも理解されたい。
図1Dは、例示的な実施形態に係る、CANバス上で送信するためのデータフレーム140を示す図である。図1Dを参照すると、CANバスフレーム140は、調停フィールド141と、制御フィールド142と、データフィールド143と、巡回冗長検査(CRC)フィールド144と、エンドフレーム145と、を含む。図1Dの例に示されていないものは、CRCフィールド144の後に位置付けられ得る肯定応答ビットである。
様々な実施形態によれば、本明細書に記載される認証ビットは、サイドチャネル機構を介して、図1Dに示されるCANバスフレーム140内にエンコードされ得る。サイドチャネル機構は、CANバスフレーム140の送信を調整して、依然、CANバスフレーム140が通常のCANフレームとして受信及び処理されることを可能にしつつ認証ビットをエンコードする。この場合、サイドチャネル機構に準拠した受信機は、通常のCANフレーム(CANバスフレーム140)、及び認証情報として使用するために送信内にエンコードされたサイドチャネル情報を抽出し得る。対照的に、標準的なCAN受信機は、通常のCANバスフレーム140にエンコードされる認証情報がなく、通常のCANバスフレーム140を受信するだけである。
図1Eは、例示的な実施形態に係る、セキュアなCANトランシーバ172を含むプリント回路基板(PCB)構成100Eを示す。この代替的な実施形態では、従来のCANトランシーバをセキュアなCANトランシーバに置き換える代わりに、PCB170が、セキュアなCANトランシーバ172及び従来のCANトランシーバ174の両方を含む。加えて、PCB170は、MCU160からCANフレーム及び構成フレームを受信するためのインターフェース171を含む。PCB170はまた、当該技術分野で既知であるレベルシフタ173を含む。
図2Aは、例示的な実施形態に係る、輸送手段ネットワーク図200を示す。ネットワークは、プロセッサ204を含む輸送手段のノード202及びプロセッサ204’を含む輸送手段のノード202’を含む要素を備える。輸送手段のノード202、202’は、プロセッサ204、204’、並びにトランシーバ、送信機、受信機、ストレージ、センサ、及び通信を提供することが可能な他の要素を含む他の要素(図示せず)を介して、互いに通信する。輸送手段のノード202、202’間の通信は、直接生じ得るか、プライベートネットワーク及び/若しくはパブリックネットワーク(図示せず)を介して生じ得るか、又は他の輸送手段のノード並びにプロセッサ、メモリ、及びソフトウェアのうちの1つ以上を備える要素を介して生じ得る。単一の輸送手段のノード及びプロセッサとして描写されているが、複数の輸送手段のノード及びプロセッサが存在し得る。本明細書に記載及び/又は描写されるアプリケーション、機能、ステップ、ソリューションなどのうちの1つ以上は、本要素によって利用され、及び/又は提供され得る。
図2Bは、例示的な実施形態に係る、別の輸送手段ネットワーク図210を示す。ネットワークは、プロセッサ204を含む輸送手段のノード202及びプロセッサ204’を含む輸送手段のノード202’を含む要素を備える。輸送手段のノード202、202’は、プロセッサ204、204’を介して、並びにトランシーバ、送信機、受信機、ストレージ、センサ、及び通信を提供することが可能な他の要素を含む他の要素(図示せず)を介して、互いに通信する。輸送手段のノード202、202’間の通信は、直接生じ得るか、プライベートネットワーク及び/若しくはパブリックネットワーク(図示せず)を介して生じ得るか、又は他の輸送手段のノードを介して、並びにプロセッサ、メモリ、及びソフトウェアのうちの1つ以上を備える要素を介して生じ得る。プロセッサ204、204’は、センサ212、有線デバイス214、無線デバイス216、データベース218、携帯電話220、輸送手段のノード222、コンピュータ224、I/Oデバイス226、及び音声アプリケーション228を含む1つ以上の要素230と更に通信し得る。プロセッサ204、204’は、プロセッサ、メモリ、及びソフトウェアのうちの1つ以上を備える要素と更に通信し得る。
単一の輸送手段のノード、プロセッサ、及び要素として描写されているが、複数の輸送手段のノード、プロセッサ、及び要素が存在し得る。情報又は通信は、プロセッサ204、204’及び要素230のうちのいずれかに対して、及び/又は、いずれかから生じ得る。例えば、携帯電話220は、情報をプロセッサ204に提供し得、プロセッサ204は、輸送手段のノード202に動作を開始させ得、情報又は追加の情報をプロセッサ204’に更に提供し得、プロセッサ204’は、輸送手段のノード202’に動作を開始させ得、携帯電話220、輸送手段のノード222、及び/又はコンピュータ224に情報又は追加の情報を更に提供し得る。本明細書に記載及び/又は描写されるアプリケーション、機能、ステップ、ソリューションなどのうちの1つ以上は、本要素によって利用され、及び/又は提供され得る。
一部の実施形態では、図2Bに示されるコンピュータ224は、図8の例のプロセス800に示されるようなセキュリティプロセッサ810を含み得る。特に、セキュリティプロセッサ810は、ECUと車両のCANバス上の他のデバイスとの間で送信されるデータ送信のために、また、異なる車両間で送信されるデータメッセージのために、承認、認証、暗号作成(例えば、暗号化)、及び同種のものを実行し得る。
図8の例では、セキュリティプロセッサ810は、承認モジュール812と、認証モジュール814と、暗号作成モジュール816と、を含み得る。セキュリティプロセッサ810は、輸送手段のコンピュータ内で実装され得、輸送手段の他の要素、例えば、ECU/CANネットワーク820や、無線ネットワークインターフェース、入力ポート、及び同種のものなどの有線及び無線デバイス830と通信し得る。セキュリティプロセッサ810は、輸送手段内で(例えば、ECU/CANネットワーク820を介して)内部で送信されるデータフレーム(例えば、CANフレームなど)がセキュアであることを保証し得る。同様に、セキュリティプロセッサ810は、異なる輸送手段間で送信され、輸送手段のコンピュータにワイヤを介して取り付けられるか又は接続されたデバイスに送信されるメッセージもセキュアであることを保証し得る。
例えば、承認モジュール812は、輸送手段の様々なユーザについてのパスワード、ユーザ名、PINコード、生体認証スキャン、及び同種のものを格納し得る。承認モジュール812は、輸送手段のコンピュータなどの特定の設定にアクセスするためのパーミッションをユーザ(又は技術者)が有しているかどうかを判定し得る。一部の実施形態では、承認モジュールは、ネットワークインターフェースと通信して、外部サーバから任意の必要な承認情報をダウンロードし得る。ユーザが、輸送手段内のコンソール若しくはGUIを介して、又は取り付けられた/接続されたデバイスを介して、輸送手段の設定に対する変更を行うこと、又は輸送手段の技術詳細を修正することを要求するとき、承認モジュール812は、当該設定が変更される前に何らかの方法でそれら自体を確認するようにユーザに要求し得る。例えば、承認モジュール812は、ユーザ名、パスワード、PINコード、生体認証スキャン、既定の線描画又はジェスチャ、及び同種のものを必要とし得る。これに応じて、承認モジュール812は、要求されている必要なパーミッション(アクセスなど)をユーザが有しているかどうかを判定し得る。
認証モジュール814は、車両のCANネットワーク上のECU間の内部通信を認証するために使用され得る。一例として、認証モジュール814は、ECU間の通信を認証するための情報を提供し得る。一例として、認証モジュール814は、ビット署名アルゴリズムをCANネットワークのECUに送信し得る。ECUは、ビット署名アルゴリズムを使用して、認証ビットをCANフレームのCANフィールド内に挿入し得る。CANネットワーク上の全てのECUは通常、各CANフレームを受信する。新しいCANフレームがECUのうちの1つによって生成される度に、ビット署名アルゴリズムは、認証ビットの位置、量などを動的に変更し得る。認証モジュール814はまた、免除され(セーフリストであり)、認証ビットを使用する必要がないECUのリストを提供し得る。認証モジュール814は、リモートサーバと通信して、ビット署名アルゴリズムに対する更新及び同種のものを取り出し得る。
暗号化モジュール816は、他の外部ユーザデバイス及び輸送手段と通信するために輸送手段によって使用される非対称のキーペアを格納し得る。例えば、暗号化モジュール816は、通信を暗号化/復号化するために輸送手段によって使用されるプライベートキーを提供し得る一方、対応するパブリックキーは、他のユーザデバイス及び輸送手段に提供されて、他のデバイスが通信を復号化/暗号化することを可能にし得る。暗号化モジュール816は、リモートサーバと通信して、新しいキー、キーに対する更新、新しい輸送手段やユーザなどのキー、及び同種のものを受信し得る。暗号化モジュール816はまた、ローカルのプライベート/パブリックキーペアに対する任意の更新をリモートサーバに送信し得る。
図2Cは、例示的な実施形態に係る、更に別の輸送手段ネットワーク図240を示す。ネットワークは、プロセッサ204及び非一時的コンピュータ可読媒体242Cを含む輸送手段のノード202を含む要素を備える。プロセッサ204は、コンピュータ可読媒体242C及び(図2Bに描写された)要素230に通信可能に接続されている。
図2Cを参照すると、プロセッサ204は、244Cにおける、輸送手段のコントローラエリアネットワーク(CAN)バスを介して送信するためのデータフレームを生成することであって、データフレームは、複数のフィールドに格納されたデータを含む、ということ、246Cにおける、生成されたデータフレームのデータフィールド内の値に少なくとも1つの認証ビットをエンコードすることであって、少なくとも1つの認証ビットは、少なくとも1つの認証ビットについての既定のキーに基づくデジタル署名を含む、ということ、及び248Cにおける、CANバスを介して、デジタル署名を含む少なくとも1つの認証ビットを有する生成されたデータフレームを送信することのうちの1つ以上を実行し得る。
図2Dは、例示的な実施形態に係る、更なる輸送手段ネットワーク図250を示す。ネットワークは、プロセッサ204及び非一時的コンピュータ可読媒体242Dを含む輸送手段のノード202を含む要素を備える。プロセッサ204は、コンピュータ可読媒体242D及び(図2Bに描写された)要素230に通信可能に接続されている。
図2Dでは、プロセッサ204は、244Dにおける、マイクロコントローラユニット(MCU)から構成フレームを受信することであって、構成フレームは、構成フレームが認証ビットについての構成データを含むことを識別する特別な未使用のCAN識別子を備える、ということ、及び構成データに基づいて、生成されたデータフレーム内の認証ビットの位置を構成すること、246Dにおける、CANバスを介してデータフレームを受信すること、受信されたデータフレーム内の既定のフィールドが必要な認証ビットを含まないことを判定すること、当該判定に応じて当該データフレームを却下すること、248Dにおける、CANバスを介してデータフレームを受信すること、受信されたデータフレームが必要なデジタル署名を含まないか又は誤ったデジタル署名を含むことを判定すること、当該判定に応じて当該データフレームを却下すること、並びに250Dにおける、CANバスを介して、認証ビットを含まないデータフレームを受信すること、受信されたデータフレームを送信した電子制御ユニット(ECU)の識別子がホワイトリストにあることを判定すること、当該判定に応じて、認証ビットなしでデータフレームを受け付けることのうちの1つ以上を実行し得る。
図2Eは、例示的な実施形態に係る、更なる輸送手段ネットワーク図260を示す。図2Eを参照すると、ネットワーク図260は、ブロックチェーンネットワーク206を介して他の輸送手段のノード202’及び更新サーバノード203に接続された輸送手段のノード202を含む。輸送手段のノード202及び202’は、輸送手段/車両を表し得る。ブロックチェーンネットワーク206は、ソフトウェア更新検証データ、及び将来(例えば、監査で)使用するための検証のソースを格納するための台帳208を有し得る。
この例では、1つの輸送手段のノード202のみについて詳細に記載されているが、複数のこのようなノードがブロックチェーン206に接続され得る。輸送手段のノード202は、追加の構成要素を含み得ること、並びに本明細書に記載される構成要素の一部は、本願の範囲を逸脱することなく除去され、及び/又は修正され得ることを理解されたい。輸送手段のノード202は、計算デバイス若しくはサーバコンピュータ、又は同種のものを有し得、半導体ベースのマイクロプロセッサ、中央処理装置(CPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、及び/又は別のハードウェアデバイスであり得るプロセッサ204を含み得る。単一のプロセッサ204が描写されているが、輸送手段のノード202は、本願の範囲を逸脱することなく、複数のプロセッサ、複数のコア、又は同種のものを含み得ることを理解されたい。
図2Eでは、プロセッサ204は、244Eにおける、生成されたデータフレームのCANバスを介した送信に応じてカウンタ値を増加させること、当該増加に応じて、既定のスキームに基づいて少なくとも1つの認証ビットについてのデジタル署名を変更すること、変更されたデジタル署名に基づく認証ビットで、次に生成されるデータフレームをエンコードすること、並びに246Eにおける、CANバスのCAN高ワイヤを介して、及びCANバスのCAN低ワイヤを介して、少なくとも1つの認証ビットを有する生成されたデータフレームを同時に送信することのうちの1つ以上を実行する。
プロセッサ及び/又はコンピュータ可読媒体は、完全に、又は部分的に、輸送手段のノードの内部又は外部に存在し得る。コンピュータ可読媒体に格納されたステップ又は機能は、プロセッサ及び/又は要素のいずれかによって、任意の順番で完全に、又は部分的に実行され得る。更に、1つ以上のステップ又は機能に対して、追加、省略、組合せ、後での実行などが行われ得る。
図2Fは、1つ以上の要素の給電を描写した図265を示す。一実施形態では、輸送手段266は、そのバッテリに蓄えられた電力を、他の輸送手段268、充電ステーション270、及び配電網272を含む1つ以上の要素に提供し得る。配電網272は、充電ステーション270のうちの1つ以上に接続されており、充電ステーション270は、輸送手段268のうちの1つ以上に接続され得る。この構成は、輸送手段266から受け取った電気/電力の分配を可能にする。輸送手段266はまた、車両間(V2V)技術や、セルラー方式、WiFi、及び同種のものによる通信などを介して他の輸送手段268とやり取りし得る。輸送手段266はまた、無線で、及び/又は有線形式で、他の輸送手段268、充電ステーション270、及び/又は配電網272とやり取りし得る。一実施形態では、輸送手段266は、安全且つ効率的な方式で、配電網272、充電ステーション270、又は他の輸送手段268へと経路設定される(又は自ら経路設定する)。本ソリューションの1つ以上の実施形態を使用して、輸送手段266は、本明細書に記載及び/又は描写されるような様々な有利な方法で、本明細書で描写される要素のうちの1つ以上にエネルギーを提供し得る。更に、輸送手段の安全性及び効率を高め得、本明細書に記載及び/又は描写されるように環境に良い影響を与え得る。
「エネルギー」という用語は、輸送手段によって受け取られ、蓄えられ、使用され、共有され、及び/又は失われる任意の形態のエネルギーを示すために使用され得る。エネルギーは、電圧源、及び/又は、充電/使用操作中にエンティティから輸送手段へ提供される充電による電流供給と共に参照され得る。エネルギーはまた、(例えば、ハイブリッド式の輸送手段で使用するための)化石燃料の形態であり得るか、又は限定されないが、リチウムベース、ニッケルベース、水素燃料電池、原子/核エネルギー、核融合ベースのエネルギー源、並びに、所与の時刻における1つ以上の輸送手段のエネルギーレベルを増加させるか若しくは減少させるためのエネルギー共有及び/若しくは使用操作中にその場で生成されるエネルギーを含む代替的な電源によるものであり得る。
一実施形態では、充電ステーション270は、目的地に到着するのに充分な残充電量が輸送手段266にあるように、輸送手段266から転送されるエネルギー量を管理する。一実施形態では、共に移動している場合がある輸送手段268間のエネルギー転送量を無線で指示するために無線接続が使用される。一実施形態では、(自律的であり得る)車両266などの利用されていない車両は、あるエネルギー量を充電ステーション270に提供して、元の場所(例えば、その元の場所、又は異なる目的地)に戻るように指示される。一実施形態では、携帯式エネルギー貯蔵ユニット(図示せず)は、少なくとも1つの他の輸送手段268から余剰エネルギーを集めて、蓄えられた余剰エネルギーを充電ステーション270で転送するために使用される。一実施形態では、距離、時間、及び、交通状況、道路状況、環境/気象状況、車両の状況(重量など)、車両利用中の乗員のスケジュール、車両を待っている乗員の予想スケジュールなどの要因により、充電ステーション270に転送するエネルギー量が判定される。一実施形態では、輸送手段268、充電ステーション270、及び/又は配電網272は、エネルギーを輸送手段266に提供し得る。
一実施形態では、本明細書に記載及び描写されるソリューションは、輸送手段及び/又はシステム上の負荷の影響を判定し、将来のニーズ及び/又は優先度に基づいて輸送手段及び/又はシステムにエネルギーを提供し、モジュールを含む装置と車両との間で情報を提供し、装置のプロセッサが車両のバッテリに蓄えられたエネルギー量に関して当該車両と無線で通信することを可能にするために利用され得る。一実施形態では、ソリューションはまた、ある場所の温度、エネルギーのコスト、及びその場所の電力レベルなどの要因に基づいて、輸送手段からその場所に充電を提供するために利用され得る。一実施形態では、ソリューションはまた、充電の一部が充電ステーションに転送された後に輸送手段に残っているエネルギー量を管理するために利用され得る。一実施形態では、ソリューションはまた、輸送手段上のバッテリのエネルギー量を提供するように車両に通知するために利用され得、転送するエネルギー量は、エネルギーを受け取るモジュールまでの輸送手段の距離に基づく。
一実施形態では、ソリューションはまた、判定された経路を使用して、過剰なエネルギーを有し蓄えられたエネルギーを配電網へ預ける輸送手段へ移動する携帯式エネルギー貯蔵ユニットを使用するために利用され得る。一実施形態では、ソリューションはまた、エネルギーを配電網に提供するニーズについての輸送手段の判定の優先度、及び乗客若しくは今後の乗客又は現在の積荷若しくは今後の積荷の優先度などの輸送手段の現在のニーズの優先度を判定するために利用され得る。一実施形態では、ソリューションはまた、車両が利用されていない場合に、車両が、ある場所まで操縦されて過剰なエネルギーをエネルギー配電網に放電した後に、前の場所へ戻る判断をすることを判定するために利用され得る。一実施形態では、ソリューションはまた、輸送手段間のエネルギー転送を介して、必要とされるエネルギーを別の輸送手段に提供するために輸送手段が必要とするエネルギー量を、気象、交通、道路状況、自動車の状況、別の輸送手段内の乗員及び/又は物品などの1つ以上の状況に基づいて判定して、別の輸送手段へ経路設定してエネルギーを提供するように輸送手段に命令するために利用され得る。一実施形態では、ソリューションはまた、移動中のある車両から移動中の別の車両にエネルギーを転送するために利用され得る。一実施形態では、ソリューションはまた、別の輸送手段と会う場所に到達してサービスを提供するための輸送手段の消費エネルギー、及び元の場所に戻るための推定消費エネルギーに基づいて、輸送手段によってエネルギーを取り出すために利用され得る。一実施形態では、ソリューションはまた、輸送手段から取り出されるエネルギー量を判定する充電ステーションまでに必要とされる残りの距離を提供するために利用され得、残充電量は、残りの距離に基づく。一実施形態では、ソリューションはまた、複数のポイントで同時に、有線接続による充電ステーション及び無線接続による別の輸送手段の両方などによって同時に充電される輸送手段を管理するために利用され得る。一実施形態では、ソリューションはまた、輸送手段へのエネルギーの分配に優先度を適用するために利用され得、優先度は、蓄えられた輸送手段の充電の一部を配電網、住宅、及び同種のものなどの別のエンティティに提供する輸送手段に対して与えられる。更に、図2Fに関して記載及び描写されるような本ソリューションは、このネットワーク及び/又はシステム、並びに他のネットワーク及び/又はシステムで利用され得る。
図2Gは、異なる要素275間の相互接続を示す図275である。本ソリューションは、様々なエンティティに関連付けられ全てが通信可能に接続されネットワーク286と通信する1つ以上の計算デバイス278’、279’、281’、282’、283’、284’、276’、285’、287’、及び277’上で、並びに/又は当該1つ以上の計算デバイスによって、完全に、又は部分的に格納及び/又は実行され得る。データベース287は、ネットワークに通信可能に接続されており、データの格納及び取り出しを可能にする。一実施形態では、データベースは、不変台帳である。様々なエンティティのうちの1つ以上は、輸送手段276、1つ以上のサービスプロバイダ279、1つ以上の公共建物281、1つ以上の交通インフラストラクチャ282、1つ以上の居住用住宅283、配電網/充電ステーション284、マイク285、及び/又は別の輸送手段277であり得る。スマートフォン278、ラップトップ280、及び/又はウェアラブルデバイスを使用する1人以上のプライベートユーザなどの、他のエンティティ及び/又はデバイスも本ソリューションと連携し得る。スマートフォン278、ラップトップ280、マイク285、及び他のデバイスは、接続された計算デバイス278’、279’、281’、282’、283’、284’、276’、285’、287’、及び277’のうちの1つ以上に接続され得る。1つ以上の公共建物281は、様々な機関を含み得る。1つ以上の公共建物281は、計算デバイス281’を利用し得る。1つ以上のサービスプロバイダ279は、販売代理店、牽引トラックサービス、コリジョンセンタ、又は他の修理店を含み得る。1つ以上のサービスプロバイダ279は、計算装置279’を利用し得る。これらの様々なコンピュータデバイスは、直接的に、及び/又は通信可能に、有線ネットワーク、無線ネットワーク、ブロックチェーンネットワーク、及び同種のものなどを介して互いに接続され得る。一実施形態では、マイク285は、バーチャルアシスタントとして利用され得る。一実施形態では、1つ以上の交通インフラストラクチャ282は、1つ以上の交通信号、1つ以上のカメラを含む1つ以上のセンサ、車両速度センサ若しくは交通センサ、及び/又は他の交通インフラストラクチャを含み得る。1つ以上の交通インフラストラクチャ282は、計算デバイス282’を利用し得る。
一実施形態では、輸送手段277/276は、人、物体、永久的又は一時的に取り付けられた装置、及び同種のものを輸送することが可能である。一実施形態では、輸送手段277は、V2V通信を介して、各輸送手段276’及び277’に関連付けられたコンピュータを通じて輸送手段276と通信し得、輸送手段、乗用車、車両、自動車、及び同種のものと称され得る。輸送手段276/277は、乗用車、スポーツ用多目的車、トラック、バス、ワゴン車、又は、モータ若しくはバッテリ駆動、若しくは燃料電池駆動の他の輸送手段などの自走式で車輪式の乗物であり得る。例えば、輸送手段276/277は、電気自動車、ハイブリッド車、水素燃料電池車、プラグインハイブリッド車、又は燃料電池スタック、モータ、及び/若しくは発電機を有する任意の他の種類の車両であり得る。車両の他の例には、自転車、スクータ、列車、飛行機、又はボート、及び輸送が可能な任意の他の形態の乗物が含まれる。輸送手段276/277は、半自律的又は自律的であり得る。例えば、輸送手段276/277は、自動操縦式で、人間の入力なしに操縦され得る。自律車両は、1つ以上のセンサ及び/又はナビゲーションユニットを有しこれらを使用して、自律的に走行し得る。
一実施形態では、本明細書に記載及び描写されるソリューションは、ブロックチェーンのコンセンサスを介して輸送手段へのアクセスを判定するために利用され得る。一実施形態では、ソリューションはまた、乗員による輸送手段の使用を可能にする前にプロファイル検証を実行するために利用され得る。一実施形態では、ソリューションはまた、ユーザが実行する必要があり、且つ正しい動作であると確認する必要がある(予め記録され得る)動作を輸送手段上で、又は輸送手段から(視覚的に、しかし別の実施形態では言葉でも、など)輸送手段に示させるために利用され得る。一実施形態では、ソリューションはまた、データ及び運転環境に関連付けられたリスクレベルに基づいて、データを二分して、安全な運転環境でのより低いリスクレベルを有する二分されたデータの一部を乗員に分配し、乗員が輸送手段を離れた後に、より高いリスクレベルを有する二分されたデータの残りの部分を後で乗員に分配する方法を輸送手段が判定する能力を提供するために利用され得る。一実施形態では、ソリューションはまた、ブロックチェーン及び/又はスマートコントラクトを使用して、(国/州/などの)境界を超える車両の移動に対処し、新しいエリアのルールを車両に適用するために利用され得る。
一実施形態では、ソリューションはまた、輸送手段の操作及び輸送手段の乗員の特性に基づいて輸送手段によってコンセンサスに達した場合に、輸送手段が境界の外側で動作を継続することを可能にするために利用され得る。一実施形態では、ソリューションはまた、輸送手段の利用可能なデータアップロード/ダウンロードの速度、ファイルのサイズ、及び輸送手段が移動している速度/方向を分析して、データアップロード/ダウンロードを完了するために必要とされる距離を判定して、実行されるデータアップロード/ダウンロードについてセキュアなエリア境界を割り当てるために利用され得る。一実施形態では、ソリューションはまた、出口が間もないことをシステムが判定する場合、輸送手段が出て行く準備ができていないように見える(例えば、誤った車線にいるか、又は次に出て行くのに適していない速度で移動している)場合などに、通常は危険な操縦を安全な方式で実行し、対象の輸送手段が安全な方式で出て行くことを可能にするように対象の輸送手段及び他の近くの輸送手段に命令するために利用され得る。一実施形態では、ソリューションはまた、1つ以上の車両及び他の輸送手段の両方が移動している間に、1つ以上の車両を使用して他の輸送手段の診断を検証するために利用され得る。
一実施形態では、ソリューションはまた、ある場所のある日時における車線の使用を検出して、輸送手段の乗員に知らせるか、又は車線変更を推奨するか若しくは推奨しないように輸送手段に指示するために利用され得る。一実施形態では、ソリューションはまた、メールを通じて情報を送信する必要性、及び支払を、メールを通じて又は直接行うことによって運転者/乗員が応答する必要性をなくすために利用され得る。一実施形態では、ソリューションはまた、輸送手段の乗員にサービスを提供するために利用され得、提供されるサービスは、サブスクリプションに基づいており、パーミッションは、乗員のプロファイルに接続された他の輸送手段から取得される。一実施形態では、ソリューションはまた、貸し出された物体の状況の変更を記録するために利用され得る。一実施形態では、ソリューションはまた、損傷した輸送手段の近くにある他の輸送手段からブロックチェーンコンセンサスを求めるために利用され得る。一実施形態では、ソリューションはまた、保険エンティティサーバなどのサーバや輸送手段のコンピュータから、事故に関連し得るメディアを受信するために利用され得る。サーバは、1つ以上のメディアファイルへアクセスして、輸送手段に対する損傷にアクセスし、損傷評価をブロックチェーン上へ格納する。一実施形態では、ソリューションはまた、コンセンサスを得て、輸送手段に関連する事象よりも前の様々な時刻において多数のデバイスからの事象の深刻度を判定するために利用され得る。
一実施形態では、ソリューションはまた、輸送手段に関連する事故についてのビデオの証拠がないという問題を解決するために利用され得る。このソリューションは、事故の近くにいた可能性のある他の輸送手段からの事故に関連するメディアに関しての、事故に関与する輸送手段による問い合わせを詳細に記述する。一実施形態では、ソリューションはまた、輸送手段及び他のデバイス(例えば、歩行者の携帯電話、街灯のカメラなど)を利用して、損傷した輸送手段の特定の部分を記録するために利用され得る。
一実施形態では、ソリューションはまた、輸送手段が危険なエリア及び/又は事象に向かって操縦されている場合に乗員へ警告して、現在の輸送手段の経路上、又は経路の近くにある危険な可能性のあるエリアについて輸送手段が乗員又は中央コントローラに通知することを可能にするために利用され得る。一実施形態では、ソリューションはまた、輸送手段が高速で移動している場合に、少なくとも1つの他の輸送手段が使用されて、交通に対する影響が最小限である方式で輸送手段を減速させるのを支援していることを検出するために利用され得る。一実施形態では、ソリューションはまた、危険な運転状況を識別するために利用され得、危険な運転状況に関与する車両によってメディアが捕捉される。ジオフェンスは、危険な運転状況の距離に基づいて確立され、追加のメディアは、確立されたジオフェンス内の少なくとも1つの他の車両によって捕捉される。一実施形態では、ソリューションはまた、輸送手段の1人以上の乗員に、その輸送手段が道路上の交通規制標識に接近しているという通知を送信し、次いで、輸送手段が標識を超えて行った場合に、悪い運転であるという他の近くの輸送手段から指摘を受信するために利用され得る。一実施形態では、ソリューションはまた、(特定の実施形態では)速度を制限すること、別の車両の近くにいられることを制限すること、速度を最大値までに制限すること、及び期間毎に可能とされる所与のマイル数だけを可能にすることによって、輸送手段を部分的に動作不能とするために利用され得る。
一実施形態では、ソリューションはまた、ソフトウェア更新への依存の必要性を克服して、輸送手段が正しく動作していない場合に輸送手段に伴う問題を修正するために利用され得る。経路上の他の輸送手段の観察を通じて、サーバは、輸送手段の危険な、又は誤った操作を観察している可能性のある複数の他の輸送手段からデータを受信する。分析を通じて、当該観察は、データが危険な、又は誤った操作を示唆している場合、輸送手段への通知をもたらし得る。一実施形態では、ソリューションはまた、輸送手段と、その輸送手段とは無関係の人を巻き込む可能性のある危険な状況との間で通知を提供するために利用され得る。一実施形態では、ソリューションはまた、輸送手段の事故に関連付けられたデバイス、又は事故の近くのデバイスのいずれかによって、データをサーバに送信するために利用され得る。事故、又は事故近くの深刻度に基づいて、サーバは、データの送信者に通知する。一実施形態では、ソリューションはまた、データの分析に基づいて、輸送手段の運転者又は乗員のいずれかに輸送手段の操作についての推奨を提供するために利用され得る。一実施形態では、ソリューションはまた、物理構造に関連付けられたジオフェンスを確立して、輸送手段に対する支払責任を判定するために利用され得る。一実施形態では、ソリューションはまた、ある場所で車両を降りることができるかを、その場所の現在の状態、及び他の車両のナビゲーション目的地を使用して提案される将来の状態の両方を使用して調整するために利用され得る。一実施形態では、ソリューションはまた、輸送手段レンタルエンティティなどの場所での車両の降車を自動的に手配する能力を調整するために利用され得る。
一実施形態では、ソリューションはまた、ユーザの事象に基づいて、輸送手段を別の場所に移動させるために利用され得る。より具体的には、システムは、ユーザのデバイスを追跡し、元の事象又は修正された事象の結果に基づいて輸送手段がユーザの近くに移動されるように修正する。一実施形態では、ソリューションはまた、エリア内に存在する輸送手段を通じて当該エリア内の利用可能な場所の検証を可能にするために利用され得る。場所が空き得るおおよその時刻も、存在する輸送手段からの検証に基づいて判定される。一実施形態では、ソリューションはまた、ある駐車スペースが利用可能となって最初の駐車からの経過時間が事象の平均時間未満である場合に、輸送手段をより近い駐車スペースに移動させるために利用され得る。更に、事象が完了している場合に、又は輸送手段の少なくとも1人の乗員に関連付けられたデバイスの場所に応じて、輸送手段を最終的な駐車スペースに移動させる。一実施形態では、ソリューションはまた、来るべき混雑の前に駐車の計画を立てるために利用され得る。システムは、輸送手段とやり取りして、正規料金未満で何らかのサービスを提供し及び/又は輸送手段の優先度に基づいて輸送手段を代替的な駐車場所に案内し、これにより到着前の駐車状況の最適化を向上させる。
一実施形態では、ソリューションはまた、輸送手段の分割所有を販売するか、又はライドシェア用途での価格及び利用可能性を判定するために利用され得る。一実施形態では、ソリューションはまた、現在利用可能な物よりもはるかに優れた、販売代理店の販売活動の正確でタイムリーなレポートを提供するために利用され得る。一実施形態では、ソリューションはまた、販売代理店がブロックチェーンを介してアセットを要求することを可能にするために利用され得る。ブロックチェーンを使用することによって、任意のアセットが移動される前にコンセンサスが得られる。更に、プロセスは自動化され、支払は、ブロックチェーンを介して開始され得る。一実施形態では、ソリューションはまた、(サービスセンタなどの)複数のエンティティと行われる合意を手配するために利用され得、コンセンサスが取得されて、(診断などの)行為が実行される。一実施形態では、ソリューションはまた、デジタルキーを複数のユーザと関連付けるために利用され得る。第1のユーザは、輸送手段の操作者であり得、第2のユーザは、輸送手段の責任を負う当事者である。当該キーは、サーバによって承認され、キーの近さは、サービスプロバイダの場所に対して検証される。一実施形態では、ソリューションはまた、輸送手段の目的地で必要とされるサービスを判定するために利用され得る。目的地への経路上のエリア内にあり、且つサービスの実行が利用可能である必要なサービスを提供することが可能である1つ以上のサービスの場所が位置している。輸送手段のナビゲーションは、判定されるサービスの場所と共に更新される。サービスについての補償値を含むスマートコントラクトが識別され、ブロックチェーンのトランザクションがトランザクション用の分散型台帳に格納される。
一実施形態では、ソリューションはまた、サービスプロバイダの輸送手段を輸送手段の乗員のプロファイルと結び付けて、輸送手段内の乗員の関心があり得るサービス及び物品を判定するために利用され得る。当該サービス及び物品は、乗員の経歴及び/又は好みによって判定される。次いで、輸送手段は、サービスプロバイダの輸送手段から提供を受け取り、別の実施形態では、その輸送手段と会ってサービス/物品を提供する。一実施形態では、ソリューションはまた、ある範囲内の輸送手段を検出して、その輸送手段に(保守の提供、製品の提供、又は同種のものなどの)サービスの提供を送信するために利用され得る。システムと輸送手段との間で合意が行われ、合意を提供するために、システムによってサービスプロバイダが選択される。一実施形態では、ソリューションはまた、1つ以上の輸送手段を道路管理者として割り当てるために利用され得、当該道路管理者は、交通の制御を支援する。道路管理者は、(信号灯、ディスプレイ、音などの)道路の表示器を生成して交通の流れを支援し得る。一実施形態では、ソリューションはまた、デバイスによって輸送手段の運転者に警告するために利用され得、当該デバイスは、交通信号灯であり得るか、又は交差点の近くにあり得る。警告は、信号灯が青になり、輸送手段のリストの前にある輸送手段が移動しない場合などの事象に際して送信される。
図2Hは、一例における異なる要素間の相互接続を示す別のブロック図290である。輸送手段276が表され、ECU295、296と、ヘッドユニット(他にインフォテインメントシステムとして既知である)297と、を含む。電気制御ユニット(ECU)は、輸送手段内の電気システム又はサブシステムのうちの1つ以上を制御する自動車用電子機器内に組み込まれたシステムである。ECUは、輸送手段のエンジン、ブレーキシステム、変速システム、ドアのロック、ダッシュボード、エアバッグシステム、インフォテインメントシステム、電子差動装置、及びアクティブサスペンションの管理を含み得るが、これらに限定されない。ECUは、輸送手段のコントローラエリアネットワーク(CAN)バス294に接続されている。ECUはまた、CANバス294を介して輸送手段のコンピュータ298と通信し得る。(輸送手段のコンピュータなどの)輸送手段のプロセッサ/センサ298は、(インターネットなどの)ネットワーク292を介してサーバ293などの外部要素と通信し得る。各々のECU295、296及びヘッドユニット297は、自身のセキュリティポリシーを含み得る。セキュリティポリシーは、適切なコンテキストで実行できる、許容されるプロセスを定める。一実施形態では、セキュリティポリシーは、部分的に、又は完全に輸送手段のコンピュータ298内で提供され得る。
ECU295、296及びヘッドユニット297はそれぞれ、承認されるプロセス、及びそれらのプロセスの動作が許可されるコンテキストを定めるカスタムセキュリティ機能要素299を含み得る。プロセスが実行可能であるかの有効性を判定するコンテキストベースの承認により、ECUは、セキュアな操作を維持し、且つ輸送手段のコントローラエリアネットワーク(CANバス)などの要素からの承認されていないアクセスを防ぐことができる。ECUが、承認されていないプロセスに遭遇すると、そのECUは、当該プロセスが動作するのを阻止し得る。自動車用ECUは、近くの物体、接近している物体までの距離、速度、他の移動物体に対する軌跡などの近くのコンテキスト、輸送手段が移動しているか若しくは駐車されているかの表示、輸送手段の現在の速度、送信状態などの操作のコンテキスト、無線プロトコルを介して輸送手段に接続されたデバイス、インフォテインメント、クルーズコントロール、駐車支援、運転支援の使用などのユーザに関連するコンテキスト、場所ベースのコンテキスト、及び/又は他のコンテキストなどの様々なコンテキストを使用して、その許可された境界内でプロセスが動作しているかどうかを判定し得る。
一実施形態では、本明細書に記載及び描写されるソリューションは、(特定の実施形態では)速度を制限すること、別の車両の近くにいられることを制限すること、速度を最大値までに制限すること、及び期間毎に可能とされる所与のマイル数だけを可能にすることによって、輸送手段を部分的に動作不能とするために利用され得る。一実施形態では、ソリューションはまた、ブロックチェーンを使用して車両所有の交換を容易にするために利用され得、データは、輸送手段の事故に関連付けられたデバイス、又は事故の近くのデバイスのいずれかによってサーバに送信される。事故、又は事故寸前の深刻度に基づいて、サーバは、送信者にデータを通知する。一実施形態では、ソリューションはまた、事故に近い他の輸送手段に問い合わせるサーバによって、輸送手段が事故に関与する場合などに、輸送手段が事故を回避するのを助けるために利用され得る。サーバは、データを他の輸送手段から得ようとし、複数の視点からサーバが事故の本質を理解することを可能にする。一実施形態では、ソリューションはまた、輸送手段からの音が異常であると判定して、その音に関連するデータ及び可能性のある発生源の場所をサーバに送信するために利用され得、サーバは、可能性のある原因を判定して危険な可能性のある状況を回避し得る。一実施形態では、ソリューションはまた、輸送手段が事故に関与する場合にシステムを介して場所の境界を確立するために利用され得る。この境界は、事故に関連付けられたデシベルに基づく。境界内のデバイス用のマルチメディアコンテンツは、事故の展開を更に理解するのを支援するために得られる。一実施形態では、ソリューションはまた、車両を事故と関連付け、次いで事故の場所に近いデバイスによって得られるメディアを捕捉するために利用され得る。捕捉されたメディアは、メディアセグメントとして保存される。メディアセグメントは、事故の音プロファイルを作る別の計算デバイスに送信される。この音プロファイルは、事故の周囲の更なる詳細を理解するのを支援するであろう。
一実施形態では、ソリューションはまた、輸送手段が(移動中又は駐車中に)別の輸送手段と接触するか、又は接触し得る場合などに、センサを利用して音声、ビデオ、動きなどを記録して、可能性のある事象が発生したエリアを記録するために利用され得、システムは、輸送手段のうちの1つ以上に存在し、及び/又は固定された若しくは移動する物体上に存在し得るセンサからデータを捕捉する。一実施形態では、ソリューションはまた、センサデータを使用して輸送手段の事象の間に輸送手段の新しい状況を識別して当該状況を輸送手段の状況プロファイルと比較することによって、輸送手段が損傷したことを判定するために利用され得、これにより、有害な事象に関与しそうになっている輸送手段から重要なデータを安全でセキュアに捕捉することが可能となる。
一実施形態では、ソリューションはまた、輸送手段が誤った方法で一方通行道路に接近しているか、又は逆走していることを輸送手段が1つ以上のセンサを介して判定した場合に、輸送手段の乗員へ警告するために利用され得る。輸送手段は、このソリューションのシステムとやり取りするセンサ/カメラ/地図を有する。システムは、一方通行路の地理的場所を知っている。システムは、例えば、「一方通行路に接近中」と、聞こえるように乗員に知らせ得る。一実施形態では、ソリューションはまた、輸送手段が報酬を得ることを可能にし、自律車両の所有者が、自身の車両のセンサが収集及び格納したデータを収益化することを可能にして、車両の所有者が自身のデータを共有してエンティティに追加のデータを提供するインセンティブを生み出し、当該追加のデータを通じて、将来の車両の性能を向上させ、車両の所有者へのサービスの提供を行うなどのために利用され得る。
一実施形態では、ソリューションはまた、ある期間における車両の動作に応じて車両の機能を増加させるか又は減少させるために利用され得る。一実施形態では、ソリューションはまた、分割所有を輸送手段に割り当てるために利用され得る。1つ以上の輸送手段及び輸送手段に近いデバイスに関連するセンサデータは、輸送手段の状況を判定するために使用される。輸送手段の分割所有は、状況に基づいて判定され、輸送手段の新しい責任が定められる。一実施形態では、ソリューションはまた、交換部品/アップフィット(upfitting)部品にデータを提供するために利用され得、データは、交換部品/アップフィット部品の承認される機能を覆そうと試み、承認される機能が覆されないことに応じて、交換部品/アップフィット部品の承認される機能の部品による使用を許可する。
一実施形態では、ソリューションはまた、乗員が輸送手段の中にいてその乗員が特定の目的地に到達すべきであるということを個人に保証できることを提供するために利用され得る。更に、システムは、運転者(非自律的な輸送手段の場合)及び/又は他の乗員が乗員とやり取りすることを承認されることを保証する。ピックアップ、降車、及び場所も言及される。以上の全てが不変の方法でブロックチェーンに格納される。一実施形態では、ソリューションはまた、運転スタイル及び他の要素の分析を介して運転者の特性を判定して、運転者が前に、例えば、日中、夜間、雨の中、雪の中などの特定の状態で運転したような場合など、運転者が通常のように運転していない場合に措置を講じるために利用され得る。更に、輸送手段の属性も考慮される。属性は、天気、ヘッドライトがついているかどうか、ナビゲーションが使用されているかどうか、HUDが使用されているかどうか、あるボリュームのメディアが再生されているかどうか、などで構成されている。一実施形態では、ソリューションはまた、乗員が危険な状況に気付いていない可能性があることを輸送手段内のアイテムが示している場合に、輸送手段内の乗員に危険な状況を通知するために利用され得る。
一実施形態では、ソリューションはまた、車両に固定された装備にキャリブレーションデバイスを取り付けるために利用され得、輸送手段上の様々なセンサは、実際に検出されるものと比較して、キャリブレーションデバイスによって検出されるべきものに基づいて自動的に自己調整することが可能である。一実施形態では、ソリューションはまた、サービスを必要とする輸送手段が誤動作情報を送信する場合に、ブロックチェーンを使用して複数のサービスセンタからコンセンサスを必要として、リモート診断機能を可能にするために利用され得、コンセンサスは、データに対する深刻度閾値に関して他のサービスセンタから必要とされる。一旦、コンセンサスが受信されると、サービスセンタは、格納されるブロックチェーンに誤動作のセキュリティレベルを送信し得る。一実施形態では、ソリューションはまた、輸送手段の外部のセンサデータと輸送手段自身のセンサデータとの差を判定するために利用され得る。輸送手段は、問題を修正するためのソフトウェアをサーバから要求する。一実施形態では、ソリューションはまた、事象(例えば、衝突)が生じたときにエリアの近くにいるか又はエリア内にいる輸送手段のメッセージ送受信を可能にするために利用され得る。
図2Iを参照すると、一部の実施形態に係る、接続された輸送手段の動作環境290Aが示されている。描写されているように、輸送手段276は、輸送手段の要素292A~299Aを接続するコントローラエリアネットワーク(CAN)バス291Aを含む。他の要素が、CANバスに接続され得るが、本明細書では描写されていない。CANバスに接続された、描写された要素は、センサセット292Aと、電子制御ユニット293Aと、自律機能又は先進運転支援システム(ADAS)294Aと、ナビゲーションシステム295Aと、を含む。一部の実施形態では、輸送手段276は、プロセッサ296Aと、メモリ297Aと、通信ユニット298Aと、及び電子ディスプレイ299Aと、を含む。
プロセッサ296Aは、算術論理演算装置、マイクロプロセッサ、汎用コントローラ、及び/又は同様のプロセッサアレイを含み、計算を実行して電子ディスプレイ信号をディスプレイユニット299Aに提供する。プロセッサ296Aは、データ信号を処理し、複合命令セットコンピュータ(CISC)アーキテクチャ、縮小命令セットコンピュータ(RISC)アーキテクチャ、又は命令セットの組合せを実装したアーキテクチャを含む様々な計算アーキテクチャを含み得る。輸送手段276は、1つ以上のプロセッサ296Aを含み得る。互いに通信可能に接続される他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、及び物理構成(描写せず)が、本ソリューションで使用され得る。
メモリ297Aは、プロセッサ296Aによってアクセス及び実行され得る命令又はデータを格納する非一時的メモリである。命令及び/又はデータは、本明細書に記載される手法を実行するためのコードを含み得る。メモリ297Aは、ダイナミックランダムアクセスメモリ(DRAM)デバイス、スタティックランダムアクセスメモリ(SRAM)デバイス、フラッシュメモリ、又は何らかの他のメモリデバイスであり得る。一部の実施形態では、メモリ297Aはまた、ハードディスクドライブ、フロッピディスクドライブ、CD-ROMデバイス、DVD-ROMデバイス、DVD-RAMデバイス、DVD-RWデバイス、フラッシュメモリデバイス、又は情報を永久に格納するための何らかの他のマスストレージデバイスを含み得る、不揮発性メモリ又は同様の永久ストレージデバイス及びメディアを含み得る。メモリ297Aの一部は、バッファ又は仮想ランダムアクセスメモリ(仮想RAM)として使用するために確保され得る。輸送手段276は、このソリューションから逸脱することなく、1つ以上のメモリ297Aを含み得る。
輸送手段276のメモリ297Aは、以下の種類のデータ、すなわちナビゲーション経路データ295A及び自律機能データ294Aのうちの1つ以上を格納し得る。一部の実施形態では、メモリ297Aは、ナビゲーションアプリケーション295Aが機能を提供するのに必要であり得るデータを格納する。
ナビゲーションシステム295Aは、出発点及び終点を含む少なくとも1つのナビゲーション経路を表し得る。一部の実施形態では、輸送手段276のナビゲーションシステム295Aは、ナビゲーション経路についてユーザから要求を受信し、要求は、出発点及び終点を含む。ナビゲーションシステム295Aは、(ネットワーク292を介して)出発点及び終点を含むナビゲーション経路に対応するナビゲーション経路データについて、運転方向を提供するサーバなどのリアルタイムデータサーバ293に問い合わせを行い得る。リアルタイムデータサーバ293は、無線ネットワーク292を介してナビゲーション経路データを輸送手段276に送信し、通信システム298Aは、輸送手段276のメモリ297Aにナビゲーションデータ295Aを格納する。
ECU293Aは、ADASシステム294Aを含む輸送手段276のシステムのうちの多数の操作を制御する。ECU293Aは、ナビゲーションシステム295Aから受信される命令に応じて、ADASシステム294Aによって制御される行程の期間中に、任意の危険な及び/又は選択されていない自律機能を無効にし得る。このように、ナビゲーションシステム295Aは、ADASシステム294Aが所与のナビゲーション経路で作動し得るようにADASシステム294Aを作動させるか又は有効にするかどうかを制御し得る。
センサセット292Aは、輸送手段276内に、センサデータを生成する任意のセンサを含み得る。例えば、センサセット292Aは、短距離センサ及び長距離センサを含み得る。一部の実施形態では、輸送手段276のセンサセット292Aは、以下の車両センサ、すなわち、カメラ、LIDARセンサ、超音波センサ、自動車エンジンセンサ、レーダセンサ、レーザ高度計、マニホールド絶対圧力センサ、赤外線検出器、動作検出器、サーモスタット、音声検出器、一酸化炭素センサ、二酸化炭素センサ、酸素センサ、マスエアフローセンサ、エンジン冷却液温度センサ、スロットル位置センサ、クランクシャフト位置センサ、バルブタイマ、空気燃料比メータ、ブラインドスポットメータ、カーブフィーラ、欠陥検出器、ホール効果センサ、駐車センサ、スピードガン、速度計、速度センサ、タイヤ圧監視センサ、トルクセンサ、トランスミッション液温度センサ、タービン速度センサ(TSS)、可変リラクタンスセンサ、車速センサ(VSS)、水分センサ、車輪速度センサ、GPSセンサ、マッピング機能、及び任意の他の種類の自動車用センサのうちの1つ以上を含み得る。ナビゲーションシステム295Aは、センサデータをメモリ297Aに格納し得る。
通信ユニット298Aは、ネットワーク292との間で又は別の通信チャネルにデータを送信及び受信する。一部の実施形態では、通信ユニット298Aは、DSRCトランシーバ、DSRC受信機、及び、輸送手段276をDSRC搭載デバイスにするのに必要な他のハードウェア又はソフトウェアを含み得る。
輸送手段276は、V2V技術を介して他の輸送手段277とやり取りし得る。一実施形態では、V2V通信は、外部物体までの相対距離に対応するレーダ情報を検知することと、輸送手段のGPS情報を受信することと、検出されたレーダ情報に基づいてエリアを、他の輸送手段277が位置しているエリアとして設定することと、対象車両のGPS情報が、設定されたエリアに位置する確率を計算することと、計算された確率に基づいて、対象車両のレーダ情報及びGPS情報に対応する輸送手段及び/又は物体を識別することと、を含む。
一実施形態では、本明細書に記載及び描写されるソリューションは、輸送手段がネットワークアクセスのないエリアに入ったと判定される場合に、緊急の展開及び輸送手段の機能を管理するために利用され得る。一実施形態では、ソリューションはまた、ネットワーク接続のない輸送手段において(音声、ビデオ、ナビゲーションなどの)機能を管理及び提供するために利用され得る。一実施形態では、ソリューションはまた、輸送手段の近くの人のプロファイルが輸送手段内の少なくとも1人の乗員のプロファイルのプロファイル属性と一致するときを判定するために利用され得る。通信を確立するために輸送手段から通知が送信される。
一実施形態では、ソリューションはまた、輸送手段内で残っている時間、及び実行される通信のコンテキストに基づいて、音声通信が利用可能な各輸送手段内の乗員の利用可能性を分析するために利用され得る。一実施形態では、ソリューションはまた、道路の障害物の2つの脅威レベルを判定して、障害物が閾値を超える警告には達しないことを示し得るジェスチャを受信し、輸送手段によって道路に沿って進むために利用され得る。一実施形態では、ソリューションはまた、輸送手段が使用不可能な状態にされるような損傷を受けた場合に輸送手段から機密データを削除するために利用され得る。
一実施形態では、ソリューションはまた、除去されるべき顧客データがGDPRコンプライアンスを明示している企業内で必要な場所の全てから本当に除去されていることを確認するために利用され得る。一実施形態では、ソリューションはまた、安全性に関連するデータや重要な通知などと引き換えに、ある輸送手段から別の輸送手段に対価を提供して、より低いレベルの自律車両の自律能力を高めるために利用され得る。一実施形態では、ソリューションはまた、乗員に関連付けられた第1の生体認証に基づいて輸送手段がデータを受信する能力を提供するために利用され得る。次いで、輸送手段は、第2の生体認証の検証に基づいて、暗号化されたデータを復号化する。ここで、第2の生体認証は、第1の生体認証の連続体である。輸送手段は、復号化されたデータを乗員が受信可能な場合のみ、復号化されたデータを乗員に提供し、機密部分が提供されているとき、復号化されたデータの機密部分を削除し、生体認証に関連付けられた期間が経過した後に非機密部分を削除する。一実施形態では、ソリューションはまた、輸送手段のステアリングホイールに加えられる重量及び把持圧力に基づいて輸送手段が個人を検証できるようにするために利用され得る。一実施形態では、ソリューションはまた、存在するが現在は有効にされていない機能を乗用車に提供して、乗員の特性を反映した機能を自動車の乗員に提示するために利用され得る。
一実施形態では、ソリューションはまた、輸送手段、特に輸送手段の内部及び輸送手段の外部の修正の反映を可能にして、一実施形態では少なくとも1人の乗員を支援するために利用され得る。別の実施形態では、乗員の仕事環境及び/又は家庭環境の再現が開示される。システムは、ユーザが「仕事モード」又は「家庭モード」であると輸送手段が判定する場合、ユーザが輸送手段内にいる間、ユーザの仕事環境/家庭環境を「再現」しようと試み得る。輸送手段の内部及び外部、並びに輸送手段を利用する様々な乗員に関連する全てのデータが、ブロックチェーンに格納されて、スマートコントラクトを介して実行される。一実施形態では、ソリューションはまた、乗員のジェスチャを検出して近くの輸送手段との通信を支援するために利用され得、輸送手段は、それに応じて操縦され得る。一実施形態では、ソリューションはまた、ジェスチャ定義データストアを使用して、意図されるジェスチャを輸送手段が検出する能力を提供するために利用され得る。一実施形態では、ソリューションはまた、ユーザの歩調及びジェスチャに基づいて輸送手段が様々な措置を講じる能力を提供するために利用され得る。一実施形態では、ソリューションはまた、現在様々な操作(例えば、ナビゲーションと話しながら運転する、など)に従事している輸送手段の運転者が、ジェスチャの許可の前に安全でない操作数を超えないことを保証するために利用され得る。
一実施形態では、ソリューションはまた、ある状況を輸送手段内の各乗員に割り当てて、乗員の状況に基づいて乗員からのジェスチャを検証するために利用され得る。一実施形態では、ソリューションはまた、衝突に関連する音の詳細(どの場所か、どの方向か、大きくなっているか小さくなっているか、どのデバイスからか、種類、製造業者、所有者、並びに同時に発生している音の数及び音が発せられた時刻などのデバイスに関連付けられたデータ、など)を収集して、データの分析が衝突に関する詳細の判定を支援する場所をシステムに提供するために利用され得る。一実施形態では、ソリューションはまた、輸送手段の操作が安全でないという判定を提供するために利用され得る。輸送手段は、相互に動作して輸送手段を制御する複数の構成要素を含み、各構成要素は、別々の構成要素のキーに関連付けられている。暗号化キーは、輸送手段の機能を減らすために輸送手段に送信される。暗号化キーの受信に応じて、輸送手段は、構成要素のキーのうちの1つ以上を無効にする。1つ以上の構成要素のキーの無効化は、輸送手段が所与の速度よりも速く移動しないように制限すること、輸送手段が別の輸送手段に対してある距離よりも近づかないように制限すること、及び輸送手段が閾値の距離よりも遠くに移動しないように制限することのうちの1つ以上をもたらす。
一実施形態では、ソリューションはまた、(場所を空けようとしている)ある特定の輸送手段から(場所を占有しようとしている)別の特定の輸送手段に表示を提供するために利用され得、ブロックチェーンは、認証及び調整を実行するために使用される。一実施形態では、ソリューションはまた、輸送手段に対する部分的な責任を判定するために利用され得る。複数の人が単一の輸送手段を所有する場合などでは、輸送手段の使用は、ある期間において変化し得るものであり、システムによって分割所有を更新するために使用される。他の実施形態は、輸送手段の使用ではなく輸送手段の利用可能性及び輸送手段の運転者の判定並びに他のことに基づく、輸送手段の最小限の所有を含む用途に含まれる。
一実施形態では、ソリューションはまた、輸送手段内で、家族又は友人などの限定されたグループの人々と、ユーザが自身のサブスクリプションを許可するために利用され得る。例えば、ユーザは、会員の地位を共有したい場合があり、その場合、関連付けられたトランザクションが、ブロックチェーン又は従来のデータベースに格納される。定期購読の素材が、主たる加入者ではないユーザによって要求されるとき、サービスを要求している人が、加入者がプロファイルを共有した承認済の人であることをブロックチェーンノード(すなわち、輸送手段)が確認し得る。一実施形態では、ソリューションはまた、人が補助的輸送手段を利用して、意図される目的地に到着することを可能にするために利用され得る。機能的関係値(例えば、どの種類の代替的な輸送手段を利用すべきかを判定する際に、様々なパラメータ及びその重要度を示す値)が、補助的輸送手段を判定する際に使用される。一実施形態では、ソリューションはまた、事故に遭った乗員が他の輸送手段にアクセスして自身の最初の目的地に進むことを可能にするために利用され得る。
一実施形態では、ソリューションはまた、ソフトウェア/ファームウェアアップロードを第1のサブセットの輸送手段に伝えるために利用され得る。第1のセットの輸送手段は、更新をテストし、テストが成功した場合、当該更新は、輸送手段の更なるセットに伝えられる。一実施形態では、ソリューションはまた、マスターの輸送手段から車両にソフトウェア/ファームウェア更新を伝えるために利用され得、当該更新は、第1のサブセット、次いで、より大きいサブセットなどの車両のネットワークを通じて伝えられる。更新の一部がまず送信され、次いで、残りの部分は、同じ車両又は別の車両から送信され得る。一実施形態では、ソリューションはまた、輸送手段のコンピュータについての更新を輸送手段及び輸送手段の操作者の/乗員のデバイスに提供するために利用され得る。更新は、全ての運転者及び/又は全ての乗員によって承認され得る。ソフトウェア更新は、車両及びデバイスに提供される。ユーザは、車両の近くへ行く以外何もする必要はなく、機能は自動的に生じる。ソフトウェア更新が完了したことを示す通知がデバイスに送信される。一実施形態では、ソリューションはまた、OTAソフトウェア更新が、認可を受けた技術者によって実行されていることと、検証コードの創作者、ソフトウェア更新を無線で受信する手順、ソフトウェア更新に含まれる情報、及び検証の結果に関連する状態が、1つ以上の輸送手段の構成要素によって生成されていることと、を検証するために利用され得る。
一実施形態では、ソリューションはまた、第1の構成要素内に位置するソフトウェア更新を第2の構成要素によってパースする能力を提供するために利用され得る。次いで、重要な更新の第1の部分及び重要ではない更新の第2の部分を確認し、輸送手段において、確認された第1の部分を1プロセスに割り当てて、ある期間にその1プロセスで、確認された第1の部分を動作させ、その期間に基づく肯定的な結果に応じて、その期間の後に他のプロセスで、確認された第1の部分を動作させる。一実施形態では、ソリューションはまた、サービスの選択を乗員に提供するために利用され得、当該サービスは、輸送手段の乗員のプロファイル、及び乗員のプロファイルと共有された共有プロファイルに基づくものである。一実施形態では、ソリューションはまた、ユーザプロファイルデータをブロックチェーンに格納して、自動的に収集されたユーザの購入履歴、及びブロックチェーン上のユーザプロファイルから取得された好みに基づいて、提供及び推奨をユーザに知的に提示するために利用され得る。
図3は、例示的な実施形態に係る、CANフレーム内に認証ビットをエンコードする方法300を示す。図3を参照すると、302において、当該方法は、輸送手段のコントローラエリアネットワーク(CAN)バスを介して送信するためのデータフレームを生成することを含み得、当該データフレームは、複数のフィールドに格納されたデータを含む。例えば、データフレームは、自動車又は他の輸送手段のCANバス上において共通で送信される複数のビット(例えば、8バイトのデータフレーム)を含み得る。データフレームは、調停フィールド、制御フィールド、データフィールド、CRCフィールド、及び同種のものを含む複数の既定のフィールドを含み得る。
304において、当該方法は、生成されたデータフレームのデータフィールド内の値に少なくとも1つの認証ビットをエンコードすることを含み得、当該少なくとも1つの認証ビットは、少なくとも1つの認証ビットについての既定のキーに基づくデジタル署名を含む。例えば、エンコードすることは、生成されたデータフレームの調停フィールド、制御フィールド、データフィールド、及びCRCフィールドの各々に少なくとも1つの認証ビットをエンコードすることを含み得る。306において、当該方法は、CANバスを介して、少なくとも1つの認証ビット及びデジタル署名を有する生成されたデータフレームを送信することを含み得る。
一部の実施形態では、当該方法は、マイクロコントローラユニット(MCU)から構成フレームを受信することであって、構成フレームは、構成フレームが認証ビットについての構成データを含むことを識別する特別な未使用のCAN識別子を備える、ということと、構成データに基づいて、生成されたデータフレーム内の認証ビットの位置を構成することと、を更に含み得る。
一部の実施形態では、当該方法は、CANバスを介してデータフレームを受信することと、受信されたデータフレーム内の既定のフィールドが必要な認証ビットを含まないことを判定することと、当該判定に応じて当該データフレームを却下することと、を更に含み得る。一部の実施形態では、当該方法は、CANバスを介してデータフレームを受信することと、受信されたデータフレームが必要なデジタル署名を含まないか又は誤ったデジタル署名を含むことを判定することと、当該判定に応じて当該データフレームを却下することと、を更に含み得る。一部の実施形態では、当該方法は、CANバスを介して、認証ビットを含まないデータフレームを受信することと、受信されたデータフレームを送信した電子制御ユニット(ECU)の識別子がホワイトリストにあることを判定することと、当該判定に応じて、認証ビットなしでデータフレームを受け付けることと、を更に含み得る。
一部の実施形態では、当該方法は、生成されたデータフレームのCANバスを介した送信に応じてカウンタ値を増加させることと、当該増加に応じて、既定のスキームに基づいて少なくとも1つの認証ビットについてのデジタル署名を変更することと、変更されたデジタル署名に基づいて、次に生成されるデータフレーム内に認証ビットをエンコードすることと、を更に含み得る。例えば、エンコードすることは、データフレーム内で使用される認証ビットの位置又は量を変更することを含み得る。一部の実施形態では、送信することは、CANバスのCAN高ワイヤを介して、少なくとも1つの認証ビットを有する生成されたデータフレームを送信することと、CANバスのCAN低ワイヤを介して、少なくとも1つの認証ビットを有する別のデータフレームを生成及び送信することと、を含み得る。
図4は、例示的な実施形態に係る、機械学習輸送手段ネットワーク400の図を示す。ネットワーク400は、機械学習サブシステム406と結び付けられる輸送手段のノード402を含む。輸送手段のノードは、1つ以上のセンサ404を含む。
機械学習サブシステム406は、学習モデル408を含み、学習モデル408は、1つ以上の訓練データセット内でパターンを見つけることによって予測を生成する機械学習訓練システム410によって作成される数学的成果物である。一部の実施形態では、機械学習サブシステム406は、輸送手段のノード402内に存在する。他の実施形態では、機械学習サブシステム406は、輸送手段のノード402の外側に存在する。
輸送手段のノード402は、1つ以上のセンサ404から機械学習サブシステム406にデータを送信する。機械学習サブシステム406は、1つ以上のセンサ404のデータを学習モデル408に提供し、学習モデル408は、1つ以上の予測を返す。機械学習サブシステム406は、学習モデル408からの予測に基づいて、1つ以上の命令を輸送手段のノード402に送信する。
更なる実施形態では、輸送手段のノード402は、1つ以上のセンサ404のデータを機械学習訓練システム410に送信し得る。更に別の実施形態では、機械学習サブシステム406は、センサ404のデータを機械学習サブシステム410に送信し得る。本明細書に記載及び/又は描写されるアプリケーション、機能、ステップ、ソリューションなどのうちの1つ以上は、本明細書に記載されるような機械学習ネットワーク400を利用し得る。
図5Aは、例示的な実施形態に係る、車両に関連付けられたデータベーストランザクションを管理する例示的な車両構成500を示す。図5Aを参照すると、特定の輸送手段/車両525がトランザクション(例えば、車両サービス、販売店のトランザクション、配送/ピックアップ、輸送手段のサービスなど)に従事しているため、車両は、トランザクションに応じて、アセットを受け取り(510)、及び/又はアセットを出し/移し(512)得る。輸送手段のプロセッサ526は、車両525内に存在し、輸送手段のプロセッサ526とデータベース530との間、輸送手段のプロセッサ526とトランザクションモジュール520との間に通信が存在する。トランザクションモジュール520は、アセット、当事者、クレジット、サービス記述、日付、時間、場所、結果、通知、予想外の事象などの情報を記録し得る。トランザクションモジュール520内のそれらのトランザクションは、データベース530内に複製され得る。データベース530は、SQLデータベース、RDBMS、リレーショナルデータベース、非リレーショナルデータベース、ブロックチェーン、分散型台帳のうちの1つであってもよく、輸送手段に搭載されてもよく、輸送手段に搭載されなくてもよく、直接的に及び/若しくはネットワークを通じてアクセス可能であってもよく、又は輸送手段にアクセス可能であってもよい。
図5Bは、例示的な実施形態に係る、様々な車両間で行われるデータベーストランザクションを管理する例示的な車両構成550を示す。車両が、サービスが別の車両と共有される必要がある状況に至る場合に、車両525は、別の車両508に関与して、サービス要求を共有する、転送する、取得するなどの様々な動作を実行し得る。例えば、車両508は、バッテリ充電の予定であり、及び/又はタイヤに問題があり、配送の荷物をピックアップする経路内にあり得る。輸送手段のプロセッサ528は、車両508内に存在し、輸送手段のプロセッサ528と、データベース554と、トランザクションモジュール552との間に通信が存在する。車両508は、そのネットワーク内にいてそのブロックチェーンメンバーサービス上で動作する別の車両525に通知し得る。輸送手段のプロセッサ526は、車両525内に存在し、輸送手段のプロセッサ526とデータベース530との間、輸送手段のプロセッサ526とトランザクションモジュール520との間に通信が存在する。次いで、車両525は、無線通信要求を介して情報を受信して、車両508から及び/又はサーバ(図示せず)から荷物のピックアップを実行し得る。トランザクションは、両方の車両のトランザクションモジュール552及び520に記録される。クレジットは、車両508から車両525に転送され、転送されるサービスの記録は、ブロックチェーンが互いに異なっていると仮定するとデータベース530/554に記録されるか、又は全てのメンバーによって使用される同じブロックチェーンに記録される。データベース554は、SQLデータベース、RDBMS、リレーショナルデータベース、非リレーショナルデータベース、ブロックチェーン、分散型台帳のうちの1つであってもよく、輸送手段に搭載されてもよく、輸送手段に搭載されなくてもよく、直接的に及び/又はネットワークを通じてアクセス可能であってもよい。
図6Aは、例示的な実施形態に係る、ブロックチェーンのアーキテクチャ構成600を示す。図6Aを参照すると、ブロックチェーンのアーキテクチャ600は、特定のブロックチェーン要素、例えば、ブロックチェーングループ610の一部としてブロックチェーンメンバーノード602~606のグループを含み得る。例示的な一実施形態では、パーミッション型ブロックチェーンには、全ての当事者ではなく、ブロックチェーンデータにアクセスするパーミッションを有するようなメンバーのみがアクセス可能である。ブロックチェーンノードは、ブロックチェーンエントリの追加及び検証プロセス(コンセンサス)などの多数の活動に関係している。ブロックチェーンノードの1つ以上は、エンドースメントポリシーに基づいてエントリを承認し得、全てのブロックチェーンノードに対して順序付けサービスを提供し得る。ブロックチェーンノードは、(認証などの)ブロックチェーン動作を開始し、ブロックチェーンに格納されるブロックチェーン不変台帳に書き込みしようとし得、そのコピーも、基礎となる物理インフラストラクチャ上に格納され得る。
トランザクションが、メンバーのノードによって決定されるコンセンサスモデルによって受信及び承認されると、ブロックチェーンのトランザクション620は、コンピュータのメモリに格納される。承認されたトランザクション626は、ブロックチェーンの現在のブロックに格納され、コミット手順を介してブロックチェーンにコミットされ、当該コミット手順は、現在のブロック内のトランザクションのデータ内容のハッシュを実行することと、前のブロックの前のハッシュを参照することと、を含む。ブロックチェーン内には、登録された受取人、車両の機能、要件、パーミッション、センサ閾値などの、スマートコントラクト実行可能アプリケーションコード632内に含まれるトランザクションの合意及び動作の条件を定める1つ以上のスマートコントラクト630が存在し得る。コードは、要求しているエンティティが、車両サービスを受けるために登録されているかどうか、当該エンティティのプロファイル状況を考慮して、当該エンティティがどのサービス機能を受ける資格/必要があるか、及び後の事象で当該エンティティの動作を監視するかどうかを識別するように構成され得る。例えば、サービス事象が生じ、ユーザが車両に乗っている場合、センサデータの監視が作動し得、車両の充電レベルなどの特定のパラメータは、特定の期間に特定の閾値を上回っている/下回っているとして識別され得、次いで、その結果、現在の状態が変更され得、当該現在の状態は、管理当事者(すなわち、車両の所有者、車両の操作者、サーバなど)への警告の送信を必要とするため、サービスが識別されて参照のために格納され得る。収集される車両センサデータは、車両の状態に関する情報を収集するために使用されるセンサデータの種類に基づき得る。センサデータはまた、移動する場所、平均速度、最高速度、加速度、任意の衝突があったかどうか、予想された経路が取られたかどうか、次の目的地がどこか、安全対策が実施されているかどうか、車両に充分な充電/燃料があるかどうかなどの車両事象データ634についての基礎であり得る。全てのこのような情報は、スマートコントラクト条件630の基礎であり得、スマートコントラクト条件630は次いで、ブロックチェーンに格納される。例えば、スマートコントラクトに格納されたセンサ閾値は、検出されるサービスが必要かどうか、及びサービスがいつどこで実行されるべきかについての基礎として使用され得る。
図6Bは、例示的な実施形態に係る、共有型台帳の構成を示す。図6Bを参照すると、ブロックチェーン論理の例640は、特定のトランザクションについて計算デバイス及び実行プラットフォームに結合するAPI又はプラグインアプリケーションとしてブロックチェーンアプリケーションインターフェース642を含む。ブロックチェーン構成640は、格納されたプログラム/アプリケーションコード(例えば、スマートコントラクト実行可能コード、スマートコントラクトなど)にアクセスして実行するためにアプリケーションプログラミングインターフェース(API)に結合される1つ以上のアプリケーションを含み得、当該プログラム/アプリケーションコードは、参加者によって求められるカスタマイズ構成に応じて作成され得、自身の状態を維持し、自身のアセットを制御して、外部情報を受信し得る。これは、全てのブロックチェーンノード上で分散型台帳にアペンドすることで、エントリとして展開されインストールされ得る。
スマートコントラクトアプリケーションコード644は、実行されるとトランザクション条件及び状態を有効にするアプリケーションコードを確立することによって、ブロックチェーンのトランザクションについての基礎を提供する。スマートコントラクト630は、実行されると特定の承認されたトランザクション626を生成し、トランザクション626は次いで、ブロックチェーンプラットフォーム652に転送される。プラットフォームは、セキュリティ/承認658と、トランザクション管理656を実行する計算デバイス656と、ブロックチェーン内のトランザクション及びスマートコントラクトを格納するメモリとしてのストレージ部654と、を含む。
ブロックチェーンプラットフォームは、ブロックチェーンデータ、サービス(例えば、暗号化トラストサービス、仮想実行環境など)、並びに新しいエントリを受信及び格納し、データエントリにアクセスしようとしている監査者にアクセスを提供するために使用され得る、基礎となる物理コンピュータインフラストラクチャの様々な層を含み得る。ブロックチェーンは、プログラムコードを処理して物理インフラストラクチャに関与するのに必要な仮想実行環境へのアクセスを提供するインターフェースを公開し得る。暗号化トラストサービスは、アセット交換エントリなどのエントリを確認して情報を非公開に保つために使用され得る。
図6A及び図6Bのブロックチェーンアーキテクチャ構成は、ブロックチェーンプラットフォームによって、公開される1つ以上のインターフェース及び提供されるサービスを介してプログラム/アプリケーションコードを処理及び実行し得る。非限定的な例として、スマートコントラクトは、リマインダ、更新、及び/又は変更や更新などの対象である他の通知を実行するために作成され得る。スマートコントラクト自体は、承認に関連付けられたルールを識別して、台帳の要件及び使用法にアクセスするために使用され得る。例えば、情報は、ブロックチェーン層に含まれる1つ以上の処理エンティティ(例えば、プロセッサ、仮想マシンなど)によって処理され得る新しいエントリを含み得る。結果は、スマートコントラクト及び/又はピアのコンセンサスで定められた基準に基づいて新しいエントリを却下又は承認する決定を含み得る。物理インフラストラクチャは、本明細書に記載されるデータ又は情報のいずれかを取り出すために利用され得る。
スマートコントラクト実行可能コード内では、スマートコントラクトは、高レベルのアプリケーション及びプログラミング言語を介して作成され、次いで、ブロックチェーン内のブロックに書き込まれ得る。スマートコントラクトは、ブロックチェーン(例えば、ブロックチェーンピアの分散型ネットワーク)を用いて登録、格納、及び/又は複製された実行可能コードを含み得る。エントリは、スマートコントラクトコードの実行であり、当該スマートコントラクトコードは、スマートコントラクトに関連付けられた条件が満たされたことに応じて実行され得る。スマートコントラクトの実行は、デジタルブロックチェーン台帳の状態に対して、信頼できる修正をもたらし得る。スマートコントラクトの実行によってもたらされるブロックチェーン台帳に対する修正は、1つ以上のコンセンサスプロトコルによりブロックチェーンピアの分散型ネットワーク全体を通じて自動的に複製され得る。
スマートコントラクトは、キーと値のペアの形式でブロックチェーンにデータを書き込み得る。更に、スマートコントラクトコードは、ブロックチェーンに格納された値を読み取り、アプリケーションの操作時にその値を使用し得る。スマートコントラクトコードは、様々な論理演算の出力をブロックチェーン内に書き込み得る。コードは、仮想マシン又は他の計算プラットフォーム内で一時的なデータ構造を作成するために使用され得る。ブロックチェーンに書き込まれたデータは、公開され得、及び/又は暗号化されて非公開として維持され得る。スマートコントラクトによって使用/生成された一時的なデータは、供給される実行環境によってメモリ内で保持され、次いで、ブロックチェーンで必要とされるデータが識別されると削除される。
スマートコントラクト実行可能コードは、追加の機能と共にスマートコントラクトのコード解釈を含み得る。本明細書に記載されるように、スマートコントラクト実行可能コードは、計算ネットワーク上に展開されるプログラムコードであり得、当該プログラムコードは、コンセンサスプロセス中に一緒に、チェーンバリデータによって実行及び検証される。スマートコントラクト実行可能コードは、ハッシュを受信して、前に格納された機能の抽出器を使用することによって作成されたデータテンプレートに関連付けられたハッシュをブロックチェーンから取り出す。ハッシュ識別子のハッシュと、格納された識別子テンプレートデータから作成されたハッシュが一致する場合、スマートコントラクト実行可能コードは、要求されたサービスに承認キーを送信する。スマートコントラクト実行可能コードは、暗号化の詳細に関連付けられたデータをブロックチェーンに書き込み得る。
図6Cは、例示的な実施形態に係る、ブロックチェーンのトランザクションデータを格納するブロックチェーン構成を示す。図6Cを参照すると、例示的な構成660は、分散型台帳(すなわち、ブロックチェーン)668と情報を共有する車両662、ユーザデバイス664、及びサーバ666を提供する。サーバは、既知の確立されたユーザプロファイルが、確立された格付けプロファイルを用いて車両を借りようと試みている場合、ユーザプロファイル格付け情報を共有するために車両サービスのプロバイダに問い合わせするサービスプロバイダエンティティを表し得る。サーバ666は、車両のサービス要件に関連するデータを受信して処理し得る。車両センサデータが燃料/充電、保守サービスなどの必要性を示すなどのサービス事象が生じると、スマートコントラクトが使用されて、車両サービス事象を呼び出すために使用され得るルール、閾値、センサ情報の収集などを呼び出し得る。ブロックチェーンのトランザクションデータ670は、アクセス事象、車両のサービス状態に対する後の更新、事象更新などの各トランザクションについて保存される。トランザクションは、当事者、要件(例えば、18歳、サービスの資格のある候補、有効な運転免許証など)、補償レベル、事象の間に移動した距離、事象へのアクセス及び車両サービスの提供を許可された登録された受取人、権利/パーミッション、次のサービス事象の詳細を記録して車両の状態状況を識別するために車両事象操作の間に取り出されるセンサデータ、並びにサービス事象が完了したかどうか及び車両の状態状況が変化したかどうかに関する判定を行うために使用される閾値、を含み得る。
図6Dは、例示的な実施形態に係る、分散型台帳に追加され得るブロックチェーンブロック680、及びブロック構造682A~682nの内容を示す。図6Dを参照すると、クライアント(図示せず)は、エントリをブロックチェーンノードに提出して、ブロックチェーン上で活動を実施し得る。一例として、クライアントは、デバイス、人、又はエンティティなどの要求者に代わって機能してブロックチェーンに対してエントリを提案するアプリケーションであり得る。複数のブロックチェーンピア(例えば、ブロックチェーンノード)は、ブロックチェーンネットワークの状態及び分散型台帳のコピーを維持し得る。様々な種類のブロックチェーンノード/ピアは、クライアントによって提案されるエントリをシミュレートして承認する承認ピアと、エンドースメントを確認し、エントリを検証して、エントリを分散型台帳にコミットするコミットピアと、を含むブロックチェーンネットワーク内に存在し得る。この例では、ブロックチェーンノードは、エンドーサノード、コミッタノード、又はその両方の役割を実行し得る。
本システムは、不変に順序付けされた記録をブロックに格納するブロックチェーンと、ブロックチェーンの現在の状態を維持する状態データベース(現在のワールドステート)と、を含む。1つの分散型台帳が、チャネルごとに存在し得、各ピアは、自身がメンバーである各チャネルについて、分散型台帳の自身のコピーを維持する。本ブロックチェーンは、ハッシュリンクブロックとして構築されたエントリログであり、各ブロックは、N個のエントリのシーケンスを含む。ブロックは、図6Dに示されるものなどの様々な構成要素を含み得る。ブロックの結合は、現在のブロックのブロックヘッダ内に前のブロックのヘッダのハッシュを追加することによって生成され得る。このように、ブロックチェーン上の全てのエントリが順序付けされて暗号的に結合されて、ハッシュリンクを壊すことなくブロックチェーンデータの改ざんを防ぐ。更に、結合されているため、ブロックチェーン内の最新のブロックは、その前に生じた全てのエントリを表す。本ブロックチェーンは、アペンド専用のブロックチェーンの作業負荷をサポートするピアファイルシステム(ローカルの、又は付属のストレージ)上に格納され得る。
ブロックチェーン及び分散型台帳の現在の状態は、状態データベースに格納され得る。ここで、現在の状態データは、ブロックチェーンのチェーンエントリログに含まれる、これまでの全てのキーについての最新の値を表す。スマートコントラクト実行可能コードの呼び出しは、状態データベース内の現在の状態に対してエントリを実行する。これらのスマートコントラクト実行可能コードのやり取りを極めて効率的にするため、全てのキーの最新の値が、状態データベースに格納される。状態データベースは、ブロックチェーンのエントリログに対するインデックス付きビューを含み得、したがって、いつでもチェーンから再生成され得る。状態データベースは、ピアの起動時、エントリが受け付けられる前に、自動的に回復され得る(又は必要な場合に生成され得る)。
承認ノードは、クライアントからエントリを受信して、シミュレートされた結果に基づいてエントリを承認する。承認ノードは、エントリ提案をシミュレートするスマートコントラクトを保持する。承認ノードがエントリを承認するとき、承認ノードは、エントリエンドースメントを作成し、当該エントリエンドースメントは、承認ノードからクライアントアプリケーションへの署名付き応答であり、シミュレートされたエントリのエンドースメントを示す。エントリを承認する方法は、スマートコントラクト実行可能コード内で指定され得るエンドースメントポリシーに依存する。エンドースメントポリシーの例は、「承認ピアの大多数がエントリを承認しなければならない」ということである。異なるチャネルは、異なるエンドースメントポリシーを有し得る。承認されたエントリは、クライアントアプリケーションによって順序付けサービスに転送される。
順序付けサービスは、承認されたエントリを受け付け、当該エントリをブロック内に順序付けし、ブロックをコミットピアに配信する。例えば、順序付けサービスは、エントリの閾値に達した場合、タイマがタイムアウトした場合、又は別の条件で、新しいブロックを開始し得る。この例では、ブロックチェーンノードは、ブロックチェーン上に格納するデータブロック682Aを受信したコミットピアである。順序付けサービスは、オーダラのクラスタで構成され得る。順序付けサービスは、エントリ、スマートコントラクトを処理しないか又は共有型台帳を維持しない。むしろ、順序付けサービスは、承認されたエントリを受け付け得、それらのエントリが分散型台帳にコミットされる順序を指定する。ブロックチェーンネットワークのアーキテクチャは、「順序付け」(例えば、Solo、Kafka、BFTなど)の特定の実装がプラグ可能構成要素になるように設計され得る。
エントリは、一貫した順序で分散型台帳に書き込まれる。エントリの順序は、当該エントリがネットワークにコミットされるときに、状態データベースに対する更新が有効であることを保証するように確立される。暗号化パズルを解くことで、又はマイニングにより順序付けが生じる暗号通貨のブロックチェーンシステム(例えば、ビットコインなど)とは異なり、この例では、分散型台帳の当事者が、ネットワークに最も適合する順序付け機構を選択し得る。
図6Dを参照すると、ブロックチェーン及び/又は分散型台帳上に格納された(データブロックとも称される)ブロック682Aは、ブロックヘッダ684A~684n、トランザクション固有のデータ686A~686n、ブロックメタデータ688A~688nなどの複数のデータセグメントを含み得る。ブロック682A及びその内容などの、描写されている様々なブロック及びその内容は、例示を目的としているに過ぎず、例示的な実施形態の範囲を制限することを意味しないことを理解されたい。一部の場合では、ブロックヘッダ684A及びブロックメタデータ688Aの両方が、エントリデータを格納するトランザクション固有のデータ686Aよりも小さい場合があるが、これは要件ではない。ブロック682Aは、ブロックデータ690A~690n内にN個(例えば、100個、500個、1000個、2000個、3000個など)のエントリのトランザクションの情報を格納し得る。ブロック682Aはまた、ブロックヘッダ684A内に(例えばブロックチェーン上の)前のブロックへのリンクを含み得る。特に、ブロックヘッダ684Aは、前のブロックのヘッダのハッシュを含み得る。ブロックヘッダ684Aはまた、固有のブロック番号、現在のブロック682Aのブロックデータ690Aのハッシュ、及び同種のものを含み得る。ブロック682Aのブロック番号は、固有のものであり、ゼロから始まって増加していく/連続する順序で割り当てられ得る。ブロックチェーン内の第1のブロックは、ブロックチェーン、そのメンバー、その中に格納されたデータなどに関する情報を含むジェネシスブロックと称され得る。
ブロックデータ690Aは、ブロック内に記録された各エントリのエントリ情報を格納し得る。例えば、エントリデータは、エントリの種類、バージョン、タイムスタンプ、分散型台帳のチャネルID、エントリID、エポック、ペイロードの可視性、スマートコントラクト実行可能コードのパス(展開送信)、スマートコントラクト実行可能コードの名称、スマートコントラクト実行可能コードのバージョン、入力(スマートコントラクト実行可能コード及び機能)、パブリックキー及び証明書などのクライアント(作成者)識別、クライアントの署名、エンドーサのアイデンティティ、エンドーサの署名、提案ハッシュ、スマートコントラクト実行可能コードの事象、応答状況、ネームスペース、読み取りセット(エントリによって読み取られるキー及びバージョンのリストなど)、書き込みセット(キー及び値のリストなど)、スタートキー、エンドキー、キーのリスト、マークルツリーのクエリ要約、及び同種のもののうちの1つ以上を含み得る。エントリデータは、N個のエントリの各々について格納され得る。
一部の実施形態では、ブロックデータ690Aはまた、ブロックチェーン内のブロックのハッシュリンクチェーンに追加の情報を追加するトランザクション固有のデータ686Aを格納し得る。したがって、データ686Aは、分散型台帳上のブロックの不変のログに格納され得る。当該データ686Aを格納する利点の一部は、本明細書に開示及び描写される様々な実施形態に反映されている。ブロックメタデータ688Aは、メタデータの複数のフィールドを(例えば、バイト配列などとして)格納し得る。メタデータフィールドは、ブロック作成における署名、最後の構成ブロックに対する参照、ブロック内で有効なエントリ及び無効なエントリを識別するエントリフィルタ、ブロックを順序付ける順序付けサービスの存続する最後のオフセット、及び同種のものを含み得る。署名、最後の構成ブロック、及びオーダラのメタデータは、順序付けサービスによって追加され得る。一方で、(ブロックチェーンノードなどの)ブロックのコミッタは、エンドースメントポリシー、読み取り/書き込みセットの検証、及び同種のものに基づいて、有効/無効情報を追加し得る。エントリフィルタは、ブロックデータ610A内のエントリの数と等しいサイズのバイト配列と、エントリが有効/無効であったかを識別する検証コードと、を含み得る。
ブロックチェーン内の他のブロック682B~682nも、ヘッダ、ファイル、及び値を有する。しかしながら、第1のブロック682Aとは異なり、他のブロック内のヘッダ684A~684nの各々は、直前のブロックのハッシュ値を含む。直前のブロックのハッシュ値は、単に前のブロックのヘッダのハッシュであり得るか、又は前のブロック全体のハッシュ値であり得る。残りのブロックの各々に前のブロックのハッシュ値を含めることによって、矢印692で示されるように、N番目のブロックからジェネシスブロック(及び関連付けられた元のファイル)まで戻ってブロック単位で追跡が実行されて、監査可能で不変の管理の連鎖を確立し得る。
上記実施形態は、ハードウェアで、プロセッサによって実行されるコンピュータプログラムで、ファームウェアで、又は上記の組合せで実装され得る。コンピュータプログラムは、記憶媒体などのコンピュータ可読媒体上で具現化され得る。例えば、コンピュータプログラムは、ランダムアクセスメモリ(「RAM」)、フラッシュメモリ、リードオンリーメモリ(「ROM」)、消去可能プログラマブルリードオンリーメモリ(「EPROM」)、電気的消去可能プログラマブルリードオンリーメモリ(「EEPROM」)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスクリードオンリーメモリ(「CD-ROM」)、又は当該技術分野で既知の任意の他の形態の記憶媒体に存在し得る。
好ましい記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込み得るように、プロセッサに接続され得る。代替的には、記憶媒体は、プロセッサに統合され得る。プロセッサ及び記憶媒体は、特定用途向け集積回路(「ASIC」)内に存在し得る。代替的には、プロセッサ及び記憶媒体は、個別の構成要素として存在し得る。例えば、図7は、上述の構成要素のうちのいずれかを表し得るか、又は上述の構成要素のうちのいずれかに統合され得る、などの例示的なコンピュータシステムアーキテクチャ700を示す。
図7は、本明細書に記載される本願の実施形態の使用又は機能の範囲に関して、いかなる制限の示唆も意図していない。それでも、計算ノード700は、実装可能であり、及び/又は本明細書における上述の機能のうちのいずれかを実行可能である。
計算ノード700内には、多くの他の汎用又は専用の計算システムの環境又は構成で動作可能なコンピュータシステム/サーバ702が存在する。コンピュータシステム/サーバ702と共に使用するのに好適であり得る、よく知られた計算システム、環境、及び/又は構成の例には、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、ハンドヘルド又はラップトップのデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラムマブル家電製品、ネットワークPC、ミニコンピュータシステム、メインフレームコンピュータシステム、上記のシステム又はデバイスのうちのいずれかを含む分散型クラウド計算環境、及び同種のものが含まれるが、これらに限定されない。
コンピュータシステム/サーバ702は、コンピュータシステムによって実行される、プログラムモジュールなどのコンピュータシステム実行可能命令の一般的なコンテキストで記載され得る。通常、プログラムモジュールは、特定のタスクを実行するか、又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含み得る。コンピュータシステム/サーバ702は、通信ネットワークを通じて結合されたリモート処理デバイスによってタスクが実行される分散型クラウド計算環境で実行され得る。分散型クラウド計算環境では、プログラムモジュールは、メモリストレージデバイスを含むローカル及びリモートのコンピュータシステム記憶媒体の両方に位置し得る。
図7に示されるように、クラウド計算ノード700内のコンピュータシステム/サーバ702は、汎用計算デバイスの形態で示されている。コンピュータシステム/サーバ702の構成要素は、1つ以上のプロセッサ又は処理ユニット704、システムメモリ706、及び、システムメモリ706を含む様々なシステム構成要素をプロセッサ704に接続するバスを含み得るが、これらに限定されない。
バスは、メモリバス又はメモリコントローラ、ペリフェラルバス、アクセラレーテッドグラフィックスポート、及び様々なバスアーキテクチャのいずれかを使用したプロセッサ又はローカルバス、を含むいくつかの種類のバス構造のいずれかの1つ以上を表す。一例として、限定しないが、当該アーキテクチャは、インダストリスタンダードアーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオエレクトロニクススタンダーズアソシエーション(VESA)ローカルバス、及びペリフェラルコンポーネントインターコネクト(PCI)バスを含む。
コンピュータシステム/サーバ702は通常、様々なコンピュータシステム可読媒体を含む。当該媒体は、コンピュータシステム/サーバ702によってアクセス可能である任意の利用可能な媒体であり得、揮発性及び不揮発性の媒体、リムーバブル及び非リムーバブルの媒体の両方を含む。一実施形態では、システムメモリ706は、他の図のフロー図を実装する。システムメモリ706は、ランダムアクセスメモリ(RAM)708及び/又はキャッシュメモリ710などの揮発性メモリの形態のコンピュータシステム可読媒体を含み得る。コンピュータシステム/サーバ702は、他のリムーバブル/非リムーバブルの揮発性/不揮発性のコンピュータシステム記憶媒体を更に含み得る。単なる一例として、メモリ706は、(図示せず、通常は「ハードドライブ」と呼ばれる)非リムーバブルの不揮発性の磁気媒体からの読み取り及び当該磁気媒体への書き込みを行うために提供され得る。示されていないが、リムーバブルの不揮発性の磁気ディスク(例えば「フロッピディスク」)からの読み取り及び当該磁気ディスクへの書き込みを行うための磁気ディスクドライブ、及び、CD-ROM、DVD-ROM、又は他の光媒体などのリムーバブルの不揮発性の光ディスクからの読み取り又は当該光ディスクへの書き込みを行うための光学ディスクドライブが提供され得る。このような場合、各々が、1つ以上のデータ媒体インターフェースによってバスに接続され得る。以下で更に描写及び記載されるように、メモリ706は、本願の様々な実施形態の機能を実行するよう構成された、プログラムモジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含み得る。
プログラムモジュールのセット(少なくとも1つ)を有するプログラム/ユーティリティは、一例として、限定しないが、メモリ706、並びにオペレーティングシステム、1つ以上のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータに格納され得る。オペレーティングシステム、1つ以上のアプリケーションプログラム、他のプログラムモジュール、プログラムデータ、又はこれらの何らかの組合せの各々は、ネットワーク環境の実装を含み得る。プログラムモジュールは概して、本明細書に記載される本願の様々な実施形態の機能及び/又は方法を実行する。
当業者によって理解されるように、本願の態様は、システム、方法、又はコンピュータプログラム製品として具現化され得る。したがって、本願の態様は、完全にハードウェアの実施形態、(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)完全にソフトウェアの実施形態、又は本明細書では全てが概して「回路」、「モジュール」、又は「システム」と称され得るソフトウェアの態様及びハードウェアの態様を組み合わせた実施形態の形態を取り得る。更に、本願の態様は、1つ以上のコンピュータ可読媒体内で具現化されたコンピュータプログラム製品の形態を取り得、当該コンピュータ可読媒体は、当該コンピュータ可読媒体上で具現化されたコンピュータ可読プログラムコードを有する。
コンピュータシステム/サーバ702はまた、キーボード、ポインティングデバイス、ディスプレイ、音声認識モジュールなどを含み得る(I/Oアダプタなどの)I/Oデバイス712、ユーザがコンピュータシステム/サーバ702とやり取りするのを可能にする1つ以上のデバイス、及び/又はコンピュータシステム/サーバ702が1つ以上の他の計算デバイスと通信するのを可能にする任意のデバイス(例えば、ネットワークカード、モデムなど)を介して、1つ以上の外部デバイスと通信し得る。当該通信は、デバイス712のI/Oインターフェースを介して生じ得る。また更に、コンピュータシステム/サーバ702は、ネットワークアダプタを介して、ローカルエリアネットワーク(LAN)、一般的なワイドネットワーク(WAN)、及び/又はパブリックネットワーク(例えば、インターネット)などの1つ以上のネットワークと通信し得る。描写されているように、デバイス712は、バスを介してコンピュータシステム/サーバ702の他の構成要素と通信する。示されていないが、他のハードウェア及び/又はソフトウェア構成要素がコンピュータシステム/サーバ702と共に使用され得ることを理解されたい。例には、マイクロコード、デバイスドライバ、冗長処理ユニット、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、及びデータ保管ストレージシステムなどが含まれるが、これらに限定されない。
システム、方法、及び非一時的コンピュータ可読媒体のうちの少なくとも1つの好ましい実施形態が添付の図面に示され、以上の詳細な説明で記載されたが、本願は開示された実施形態に限定されず、以下の特許請求の範囲によって記載され定められるような多くの再配置、修正、及び置換が可能であることが理解されるであろう。例えば、様々な図のシステムの能力は、本明細書に記載されるモジュール若しくは構成要素のうちの1つ以上によって、又は分散型アーキテクチャで実行され得、送信機、受信機、又はこれらのペアを含み得る。例えば、個々のモジュールによって実行される機能の全て又は一部は、これらのモジュールのうちの1つ以上によって実行され得る。更に、本明細書に記載される機能は、様々な時刻に、モジュール又は構成要素の内部又は外部の様々な事象に関連して実行され得る。また、様々なモジュール間で送信される情報は、データネットワーク、インターネット、音声ネットワーク、インターネットプロトコルネットワーク、無線デバイス、有線デバイス、及び/又は複数のプロトコルのうちの少なくとも1つを介してモジュール間で送信され得る。また、モジュールのうちのいずれかによって送信又は受信されるメッセージは、直接的に、及び/又は他のモジュールのうちの1つ以上を介して送信又は受信され得る。
「システム」は、パーソナルコンピュータ、サーバ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレット計算デバイス、スマートフォン、若しくは任意の他の好適な計算デバイス、又はデバイスの組合せとして具現化され得ることを当業者は理解するであろう。「システム」によって実行されるものとして上述の機能を提示することは、いかなる方法でも本願の範囲を制限することを意図しておらず、多数の実施形態のうちの一例を提供することを意図している。実際、本明細書で開示される方法、システム、及び装置は、計算技術と整合する局所的な及び分散された形態で実装され得る。
本明細書に記載されるシステムの特徴の一部は、その実装の独立性をより具体的に強調するためにモジュールとして提示されていることに留意されたい。例えば、モジュールは、カスタムの超大規模集積(VLSI)回路又はゲートアレイや、論理チップ、トランジスタ、又は他の個別の構成要素などの既製の半導体、を備えるハードウェア回路として実装され得る。モジュールはまた、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス、グラフィックスプロセッシングユニット、又は同種のものなどのプログラマブルハードウェアデバイス内に実装され得る。
モジュールはまた、様々な種類のプロセッサによる実行のために少なくとも部分的にソフトウェアで実装され得る。例えば、実行可能コードの識別されたユニットは、例えば、オブジェクト、手順、又は機能として編成され得るコンピュータ命令の1つ以上の物理ブロック又は論理ブロックを備え得る。それでもなお、識別されたモジュールの実行ファイルは、物理的に一緒に位置する必要はなく、論理的に結合される場合にモジュールを備え且つモジュールについての指定された目的を達成する、異なる場所に格納された異なる命令を含み得る。更に、モジュールは、コンピュータ可読媒体上に格納され得、当該コンピュータ可読媒体は、例えば、ハードディスクドライブ、フラッシュデバイス、ランダムアクセスメモリ(RAM)、テープ、又はデータを格納するために使用される任意の他のこのような媒体であり得る。
実際、実行可能コードのモジュールは、単一の命令又は多数の命令であり得、更には、いくつかの異なるコードセグメントにおいて、異なるプログラムの間に、及びいくつかのメモリデバイスにわたって分散され得る。同様に、演算データは、モジュール内で識別されて本明細書で示され得、任意の好適な形態で具現化されて、任意の好適な種類のデータ構造内で編成され得る。演算データは、単一のデータセットとして収集され得るか、又は異なるストレージデバイスを含む異なる場所において分散され得、システム又はネットワーク上の単なる電子信号として少なくとも部分的に存在し得る。
本明細書で概略が記載され、図に示される本願の構成要素は、多種多様な異なる構成で配置及び設計され得ることが容易に理解されるであろう。したがって、実施形態の詳細な説明は、特許請求されている本願の範囲を制限することを意図しておらず、本願の選択された実施形態を表しているに過ぎない。
以上のことが、異なる順序のステップで、及び/又は開示されたものとは異なる構成のハードウェア要素で実行され得ることを当業者は容易に理解するであろう。したがって、本願はこれらの好ましい実施形態に基づいて記載されたが、特定の修正、変形、及び代替的な構造が明らかであることは当業者に明らかであろう。
本願の好ましい実施形態が記載されたが、記載された実施形態は例示的であるに過ぎず、本願の範囲は、添付の特許請求の範囲に対する全ての範囲の均等物及び修正(例えば、プロトコル、ハードウェアデバイス、ソフトウェアプラットフォームなど)を考慮した場合の添付の特許請求の範囲のみによって定められるべきであるということを理解されたい。
一方で、CANツール104が、偽データフレームBをCANバス109内に導入しようと試みるとき、CANツール104は、必要な認証ビットを知らない。したがって、偽データフレームBは、必要な認証ビットを有しない。この場合、ECU107のセキュアなトランシーバ108は、データフレームBが必要な認証ビットを有していないため、CANツール104からのデータフレームBを検証することができない。したがって、データフレームBは、ECU10によって、却下されるか、落とされるか、又は他の場合には、捨てられ得る。同様に、ECU10はまた、偽データフレームBを受信し、セキュアなトランシーバ102はまた、データフレームBが必要な認証ビットが欠けているため、データフレームBを無効として検出する。
しかしながら、ECU105は、認証ビットを知り得る。特に、ECU10がデータフレームAをECU107に送信するとき、データフレームAは、ECU105を含むCANバス109上の全ての他のECUにも送信され得る。したがって、ECU105は、認証ビットを知り得る。この場合、ECU105は、偽トランシーバ106で実装され得る。ここで、ECU105は、データフレームAから知った認証ビットを用いて、偽データ(データフレームC)をCANバス109内に導入しようと試み得る。これに対処するために、セキュアなトランシーバ102及び108は、前に分配されたデジタルキー及びビット署名アルゴリズムでプログラムされ得る。ここで、セキュアなトランシーバ102及び108は、ビット署名アルゴリズムによって指定されるパターン又は場所に応じて、認証ビットをデータフレーム内に格納し得る。デジタル署名は、前に分配されたデジタルキーに基づき得る。デジタル署名(例えば、認証ビット位置及び量)が一致しない場合、データフレームは却下される。更に、データフレームがCANバス109を介して送信される度に、セキュアなトランシーバ102及び108の各々は、カウンタを増やし得、これにより、ビット署名アルゴリズムは、追加されているデジタル署名を変更する。この場合、ECU105は、ビット署名アルゴリズムを知らず、偽データフレームCにおいて、データフレームA上で使用された前の署名を使用しようと試みる。しかし、ビット署名アルゴリズムが変更されている(データフレームCの署名がデータフレームAとは異なっているはずである)ため、セキュアなトランシーバ102及び108は、複製デジタル署名を検出し、偽データフレームCを無効にする。これにより、リプレイ攻撃が防がれる。
304において、当該方法は、生成されたデータフレームのデータフィールド内の値に少なくとも1つの認証ビットをエンコードすることを含み得、当該少なくとも1つの認証ビットは、少なくとも1つの認証ビットについての既定のキーに基づくデジタル署名を含む。例えば、エンコードすることは、生成されたデータフレームの調停フィールド、制御フィールド、データフィールド、及びCRCフィールドの各々に少なくとも1つの認証ビットをエンコードすることを含み得る。30において、当該方法は、CANバスを介して、少なくとも1つの認証ビット及びデジタル署名を有する生成されたデータフレームを送信することを含み得る。
一部の実施形態では、ブロックデータ690Aはまた、ブロックチェーン内のブロックのハッシュリンクチェーンに追加の情報を追加するトランザクション固有のデータ686Aを格納し得る。したがって、データ686Aは、分散型台帳上のブロックの不変のログに格納され得る。当該データ686Aを格納する利点の一部は、本明細書に開示及び描写される様々な実施形態に反映されている。ブロックメタデータ688Aは、メタデータの複数のフィールドを(例えば、バイト配列などとして)格納し得る。メタデータフィールドは、ブロック作成における署名、最後の構成ブロックに対する参照、ブロック内で有効なエントリ及び無効なエントリを識別するエントリフィルタ、ブロックを順序付ける順序付けサービスの存続する最後のオフセット、及び同種のものを含み得る。署名、最後の構成ブロック、及びオーダラのメタデータは、順序付けサービスによって追加され得る。一方で、(ブロックチェーンノードなどの)ブロックのコミッタは、エンドースメントポリシー、読み取り/書き込みセットの検証、及び同種のものに基づいて、有効/無効情報を追加し得る。エントリフィルタは、ブロックデータ60A内のエントリの数と等しいサイズのバイト配列と、エントリが有効/無効であったかを識別する検証コードと、を含み得る。
ブロックチェーン内の他のブロック682B~682nも、ヘッダ、ファイル、及び値を有する。しかしながら、第1のブロック682Aとは異なり、他のブロック内のヘッダ684~684nの各々は、直前のブロックのハッシュ値を含む。直前のブロックのハッシュ値は、単に前のブロックのヘッダのハッシュであり得るか、又は前のブロック全体のハッシュ値であり得る。残りのブロックの各々に前のブロックのハッシュ値を含めることによって、矢印692で示されるように、N番目のブロックからジェネシスブロック(及び関連付けられた元のファイル)まで戻ってブロック単位で追跡が実行されて、監査可能で不変の管理の連鎖を確立し得る。
本願の好ましい実施形態が記載されたが、記載された実施形態は例示的であるに過ぎず、本願の範囲は、添付の特許請求の範囲に対する全ての範囲の均等物及び修正(例えば、プロトコル、ハードウェアデバイス、ソフトウェアプラットフォームなど)を考慮した場合の添付の特許請求の範囲のみによって定められるべきであるということを理解されたい。本開示は、以下に示す態様を含む。
例1
輸送手段のコントローラエリアネットワーク(CAN)バスを介して送信するためのデータフレームを生成することであって、前記データフレームは、複数のフィールドに格納されたデータを含む、ということと、
前記生成されたデータフレームのデータフィールド内の値に少なくとも1つの認証ビットをエンコードすることであって、前記少なくとも1つの認証ビットは、前記少なくとも1つの認証ビットについての既定のキーに基づくデジタル署名を含む、ということと、
前記CANバスを介して、前記デジタル署名を含む前記少なくとも1つの認証ビットを有する前記生成されたデータフレームを送信することと、
を含む、方法。
例2
前記方法は、マイクロコントローラユニット(MCU)から構成フレームを受信することであって、前記構成フレームは、前記構成フレームが前記認証ビットについての構成データを含むことを識別する特別な未使用のCAN識別子を備える、ということと、前記構成データに基づいて、前記生成されたデータフレーム内の前記認証ビットの位置を構成することと、を更に含む、例1に記載の方法。
例3
前記CANバスを介してデータフレームを受信することと、
前記受信されたデータフレーム内の既定のフィールドが必要な認証ビットを含まないことを判定することと、
前記判定に応じて前記データフレームを却下することと、
を更に含む、例1に記載の方法。
例4
前記CANバスを介してデータフレームを受信することと、
前記受信されたデータフレームが必要なデジタル署名を含まないか又は誤ったデジタル署名を含むことを判定することと、
前記判定に応じて前記データフレームを却下することと、
を更に含む、例1に記載の方法。
例5
前記CANバスを介して、認証ビットを含まないデータフレームを受信することと、
前記受信されたデータフレームを送信した電子制御ユニット(ECU)の識別子がホワイトリストにあることを判定することと、
前記判定に応じて、前記認証ビットなしで前記データフレームを受け付けることと、
を更に含む、例1に記載の方法。
例6
前記生成されたデータフレームの前記CANバスを介した送信に応じてカウンタ値を増加させることと、
前記増加に応じて、既定のスキームに基づいて前記少なくとも1つの認証ビットについての前記デジタル署名を変更することと、
前記変更されたデジタル署名に基づいて、次に生成されるデータフレーム内に認証ビットをエンコードすることと、
を更に含む、例1に記載の方法。
例7
前記送信することは、前記CANバスのCAN高ワイヤを介して、及び前記CANバスのCAN低ワイヤを介して、前記少なくとも1つの認証ビットを有する前記生成されたデータフレームを同時に送信することを含む、例1に記載の方法。
例8
輸送手段であって、
輸送手段のコントローラエリアネットワーク(CAN)バスを介して送信するためのデータフレームを生成することであって、前記データフレームは、複数のフィールドに格納されたデータを含む、ということと、
前記生成されたデータフレームのデータフィールド内の値に少なくとも1つの認証ビットをエンコードすることであって、前記少なくとも1つの認証ビットは、前記少なくとも1つの認証ビットについての既定のキーに基づくデジタル署名を含む、ということと、
前記CANバスを介して、前記デジタル署名を含む前記少なくとも1つの認証ビットを有する前記生成されたデータフレームを送信することと、
を行うように構成されたプロセッサを備える、輸送手段。
例9
前記プロセッサは、マイクロコントローラユニット(MCU)から構成フレームを受信することであって、前記構成フレームは、前記構成フレームが前記認証ビットについての構成データを含むことを識別する特別な未使用のCAN識別子を備える、ということと、前記構成データに基づいて、前記生成されたデータフレーム内の前記認証ビットの位置を構成することと、を行うように構成されている、例8に記載の輸送手段。
例10
前記プロセッサは更に、
前記CANバスを介してデータフレームを受信することと、
前記受信されたデータフレーム内の既定のフィールドが必要な認証ビットを含まないことを判定することと、
前記判定に応じて前記データフレームを却下することと、
を行うように構成されている、例8に記載の輸送手段。
例11
前記プロセッサは更に、
前記CANバスを介してデータフレームを受信することと、
前記受信されたデータフレームが必要なデジタル署名を含まないか又は誤ったデジタル署名を含むことを判定することと、
前記判定に応じて前記データフレームを却下することと、
を行うように構成されている、例8に記載の輸送手段。
例12
前記プロセッサは更に、
前記CANバスを介して、認証ビットを含まないデータフレームを受信することと、
前記受信されたデータフレームを送信した電子制御ユニット(ECU)の識別子がホワイトリストにあることを判定することと、
前記判定に応じて、前記認証ビットなしで前記データフレームを受け付けることと、
を行うように構成されている、例8に記載の輸送手段。
例13
前記プロセッサは更に、
前記生成されたデータフレームの前記CANバスを介した送信に応じてカウンタ値を増加させることと、
前記増加に応じて、既定のスキームに基づいて前記少なくとも1つの認証ビットについての前記デジタル署名を変更することと、
前記変更されたデジタル署名に基づいて、次に生成されるデータフレーム内に認証ビットをエンコードすることと、
を行うように構成されている、例8に記載の輸送手段。
例14
前記プロセッサは、前記CANバスのCAN高ワイヤを介して、及び前記CANバスのCAN低ワイヤを介して、前記少なくとも1つの認証ビットを有する前記生成されたデータフレームを同時に送信するように構成されている、例8に記載の輸送手段。
例15
プロセッサによって読み取られると前記プロセッサに方法を実行させる命令を含む、非一時的コンピュータ可読媒体であって、前記方法は、
輸送手段のコントローラエリアネットワーク(CAN)バスを介して送信するためのデータフレームを生成することであって、前記データフレームは、複数のフィールドに格納されたデータを含む、ということと、
前記生成されたデータフレームのデータフィールド内の値に少なくとも1つの認証ビットをエンコードすることであって、前記少なくとも1つの認証ビットは、前記少なくとも1つの認証ビットについての既定のキーに基づくデジタル署名を含む、ということと、
前記CANバスを介して、前記デジタル署名を含む前記少なくとも1つの認証ビットを有する前記生成されたデータフレームを送信することと、
を含む、非一時的コンピュータ可読媒体。
例16
前記方法は、マイクロコントローラユニット(MCU)から構成フレームを受信することであって、前記構成フレームは、前記構成フレームが前記認証ビットについての構成データを含むことを識別する特別な未使用のCAN識別子を備える、ということと、前記構成データに基づいて、前記生成されたデータフレーム内の前記認証ビットの位置を構成することと、を更に含む、例15に記載の非一時的コンピュータ可読媒体。
例17
前記方法は、
前記CANバスを介してデータフレームを受信することと、
前記受信されたデータフレーム内の既定のフィールドが必要な認証ビットを含まないことを判定することと、
前記判定に応じて前記データフレームを却下することと、
を更に含む、例15に記載の非一時的コンピュータ可読媒体。
例18
前記方法は、
前記CANバスを介してデータフレームを受信することと、
前記受信されたデータフレームが必要なデジタル署名を含まないか又は誤ったデジタル署名を含むことを判定することと、
前記判定に応じて前記データフレームを却下することと、
を更に含む、例15に記載の非一時的コンピュータ可読媒体。
例19
前記方法は、
前記CANバスを介して、認証ビットを含まないデータフレームを受信することと、
前記受信されたデータフレームを送信した電子制御ユニット(ECU)の識別子がホワイトリストにあることを判定することと、
前記判定に応じて、前記認証ビットなしで前記データフレームを受け付けることと、
を更に含む、例15に記載の非一時的コンピュータ可読媒体。
例20
前記方法は、
前記生成されたデータフレームの前記CANバスを介した送信に応じてカウンタ値を増加させることと、
前記増加に応じて、既定のスキームに基づいて前記少なくとも1つの認証ビットについての前記デジタル署名を変更することと、
前記変更されたデジタル署名に基づいて、次に生成されるデータフレーム内に認証ビットをエンコードすることと、
を更に含む、例15に記載の非一時的コンピュータ可読媒体。

Claims (20)

  1. 輸送手段のコントローラエリアネットワーク(CAN)バスを介して送信するためのデータフレームを生成することであって、前記データフレームは、複数のフィールドに格納されたデータを含む、ということと、
    前記生成されたデータフレームのデータフィールド内の値に少なくとも1つの認証ビットをエンコードすることであって、前記少なくとも1つの認証ビットは、前記少なくとも1つの認証ビットについての既定のキーに基づくデジタル署名を含む、ということと、
    前記CANバスを介して、前記デジタル署名を含む前記少なくとも1つの認証ビットを有する前記生成されたデータフレームを送信することと、
    を含む、方法。
  2. 前記方法は、マイクロコントローラユニット(MCU)から構成フレームを受信することであって、前記構成フレームは、前記構成フレームが前記認証ビットについての構成データを含むことを識別する特別な未使用のCAN識別子を備える、ということと、前記構成データに基づいて、前記生成されたデータフレーム内の前記認証ビットの位置を構成することと、を更に含む、請求項1に記載の方法。
  3. 前記CANバスを介してデータフレームを受信することと、
    前記受信されたデータフレーム内の既定のフィールドが必要な認証ビットを含まないことを判定することと、
    前記判定に応じて前記データフレームを却下することと、
    を更に含む、請求項1に記載の方法。
  4. 前記CANバスを介してデータフレームを受信することと、
    前記受信されたデータフレームが必要なデジタル署名を含まないか又は誤ったデジタル署名を含むことを判定することと、
    前記判定に応じて前記データフレームを却下することと、
    を更に含む、請求項1に記載の方法。
  5. 前記CANバスを介して、認証ビットを含まないデータフレームを受信することと、
    前記受信されたデータフレームを送信した電子制御ユニット(ECU)の識別子がホワイトリストにあることを判定することと、
    前記判定に応じて、前記認証ビットなしで前記データフレームを受け付けることと、
    を更に含む、請求項1に記載の方法。
  6. 前記生成されたデータフレームの前記CANバスを介した送信に応じてカウンタ値を増加させることと、
    前記増加に応じて、既定のスキームに基づいて前記少なくとも1つの認証ビットについての前記デジタル署名を変更することと、
    前記変更されたデジタル署名に基づいて、次に生成されるデータフレーム内に認証ビットをエンコードすることと、
    を更に含む、請求項1に記載の方法。
  7. 前記送信することは、前記CANバスのCAN高ワイヤを介して、及び前記CANバスのCAN低ワイヤを介して、前記少なくとも1つの認証ビットを有する前記生成されたデータフレームを同時に送信することを含む、請求項1に記載の方法。
  8. 輸送手段であって、
    輸送手段のコントローラエリアネットワーク(CAN)バスを介して送信するためのデータフレームを生成することであって、前記データフレームは、複数のフィールドに格納されたデータを含む、ということと、
    前記生成されたデータフレームのデータフィールド内の値に少なくとも1つの認証ビットをエンコードすることであって、前記少なくとも1つの認証ビットは、前記少なくとも1つの認証ビットについての既定のキーに基づくデジタル署名を含む、ということと、
    前記CANバスを介して、前記デジタル署名を含む前記少なくとも1つの認証ビットを有する前記生成されたデータフレームを送信することと、
    を行うように構成されたプロセッサを備える、輸送手段。
  9. 前記プロセッサは、マイクロコントローラユニット(MCU)から構成フレームを受信することであって、前記構成フレームは、前記構成フレームが前記認証ビットについての構成データを含むことを識別する特別な未使用のCAN識別子を備える、ということと、前記構成データに基づいて、前記生成されたデータフレーム内の前記認証ビットの位置を構成することと、を行うように構成されている、請求項8に記載の輸送手段。
  10. 前記プロセッサは更に、
    前記CANバスを介してデータフレームを受信することと、
    前記受信されたデータフレーム内の既定のフィールドが必要な認証ビットを含まないことを判定することと、
    前記判定に応じて前記データフレームを却下することと、
    を行うように構成されている、請求項8に記載の輸送手段。
  11. 前記プロセッサは更に、
    前記CANバスを介してデータフレームを受信することと、
    前記受信されたデータフレームが必要なデジタル署名を含まないか又は誤ったデジタル署名を含むことを判定することと、
    前記判定に応じて前記データフレームを却下することと、
    を行うように構成されている、請求項8に記載の輸送手段。
  12. 前記プロセッサは更に、
    前記CANバスを介して、認証ビットを含まないデータフレームを受信することと、
    前記受信されたデータフレームを送信した電子制御ユニット(ECU)の識別子がホワイトリストにあることを判定することと、
    前記判定に応じて、前記認証ビットなしで前記データフレームを受け付けることと、
    を行うように構成されている、請求項8に記載の輸送手段。
  13. 前記プロセッサは更に、
    前記生成されたデータフレームの前記CANバスを介した送信に応じてカウンタ値を増加させることと、
    前記増加に応じて、既定のスキームに基づいて前記少なくとも1つの認証ビットについての前記デジタル署名を変更することと、
    前記変更されたデジタル署名に基づいて、次に生成されるデータフレーム内に認証ビットをエンコードすることと、
    を行うように構成されている、請求項8に記載の輸送手段。
  14. 前記プロセッサは、前記CANバスのCAN高ワイヤを介して、及び前記CANバスのCAN低ワイヤを介して、前記少なくとも1つの認証ビットを有する前記生成されたデータフレームを同時に送信するように構成されている、請求項8に記載の輸送手段。
  15. プロセッサによって読み取られると前記プロセッサに方法を実行させる命令を含む、非一時的コンピュータ可読媒体であって、前記方法は、
    輸送手段のコントローラエリアネットワーク(CAN)バスを介して送信するためのデータフレームを生成することであって、前記データフレームは、複数のフィールドに格納されたデータを含む、ということと、
    前記生成されたデータフレームのデータフィールド内の値に少なくとも1つの認証ビットをエンコードすることであって、前記少なくとも1つの認証ビットは、前記少なくとも1つの認証ビットについての既定のキーに基づくデジタル署名を含む、ということと、
    前記CANバスを介して、前記デジタル署名を含む前記少なくとも1つの認証ビットを有する前記生成されたデータフレームを送信することと、
    を含む、非一時的コンピュータ可読媒体。
  16. 前記方法は、マイクロコントローラユニット(MCU)から構成フレームを受信することであって、前記構成フレームは、前記構成フレームが前記認証ビットについての構成データを含むことを識別する特別な未使用のCAN識別子を備える、ということと、前記構成データに基づいて、前記生成されたデータフレーム内の前記認証ビットの位置を構成することと、を更に含む、請求項15に記載の非一時的コンピュータ可読媒体。
  17. 前記方法は、
    前記CANバスを介してデータフレームを受信することと、
    前記受信されたデータフレーム内の既定のフィールドが必要な認証ビットを含まないことを判定することと、
    前記判定に応じて前記データフレームを却下することと、
    を更に含む、請求項15に記載の非一時的コンピュータ可読媒体。
  18. 前記方法は、
    前記CANバスを介してデータフレームを受信することと、
    前記受信されたデータフレームが必要なデジタル署名を含まないか又は誤ったデジタル署名を含むことを判定することと、
    前記判定に応じて前記データフレームを却下することと、
    を更に含む、請求項15に記載の非一時的コンピュータ可読媒体。
  19. 前記方法は、
    前記CANバスを介して、認証ビットを含まないデータフレームを受信することと、
    前記受信されたデータフレームを送信した電子制御ユニット(ECU)の識別子がホワイトリストにあることを判定することと、
    前記判定に応じて、前記認証ビットなしで前記データフレームを受け付けることと、
    を更に含む、請求項15に記載の非一時的コンピュータ可読媒体。
  20. 前記方法は、
    前記生成されたデータフレームの前記CANバスを介した送信に応じてカウンタ値を増加させることと、
    前記増加に応じて、既定のスキームに基づいて前記少なくとも1つの認証ビットについての前記デジタル署名を変更することと、
    前記変更されたデジタル署名に基づいて、次に生成されるデータフレーム内に認証ビットをエンコードすることと、
    を更に含む、請求項15に記載の非一時的コンピュータ可読媒体。
JP2023541826A 2020-09-03 2021-09-03 セキュアなコントローラエリアネットワーク(can)トランシーバ Pending JP2024504090A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063074323P 2020-09-03 2020-09-03
US17/144,274 US11411766B2 (en) 2020-09-03 2021-01-08 Secure controller area network (CAN) transceiver
US17/144,274 2021-01-08
PCT/US2021/049133 WO2022150067A1 (en) 2020-09-03 2021-09-03 Secure controller area network (can) transceiver

Publications (1)

Publication Number Publication Date
JP2024504090A true JP2024504090A (ja) 2024-01-30

Family

ID=80357340

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023541826A Pending JP2024504090A (ja) 2020-09-03 2021-09-03 セキュアなコントローラエリアネットワーク(can)トランシーバ

Country Status (5)

Country Link
US (1) US11411766B2 (ja)
EP (1) EP4204974A4 (ja)
JP (1) JP2024504090A (ja)
CN (1) CN116601619A (ja)
WO (1) WO2022150067A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115743001B (zh) * 2022-11-29 2024-05-28 重庆长安汽车股份有限公司 车辆控制方法、装置、电子设备、存储介质及程序产品

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1678677A4 (en) * 2003-09-26 2008-02-20 Agency Science Tech & Res METHOD AND SYSTEM FOR PROTECTING AND AUTHENTICATING A DIGITAL IMAGE
US8457682B2 (en) 2008-03-04 2013-06-04 Dbsd Satellite Services G.P. Method and system for integrated satellite assistance services
WO2013144962A1 (en) 2012-03-29 2013-10-03 Arilou Information Security Technologies Ltd. Security system and method for protecting a vehicle electronic system
US10515489B2 (en) 2012-05-23 2019-12-24 Enterprise Holdings, Inc. Rental/car-share vehicle access and management system and method
US9288048B2 (en) 2013-09-24 2016-03-15 The Regents Of The University Of Michigan Real-time frame authentication using ID anonymization in automotive networks
US9231936B1 (en) 2014-02-12 2016-01-05 Symantec Corporation Control area network authentication
EP2930535A1 (en) * 2014-04-08 2015-10-14 The European Union, represented by the European Commission Method and system to optimise the authentication of radionavigation signals
US9792440B1 (en) 2014-04-17 2017-10-17 Symantec Corporation Secure boot for vehicular systems
EP3132432B1 (en) 2014-04-18 2020-01-01 Gentex Corporation Trainable transceiver
EP4236196A3 (en) 2014-05-08 2023-10-18 Panasonic Intellectual Property Corporation of America In-vehicle network system, fraud-sensing electronic control unit, and anti-fraud method
US9703955B2 (en) 2014-07-17 2017-07-11 VisualThreat Inc. System and method for detecting OBD-II CAN BUS message attacks
US10095634B2 (en) 2015-05-22 2018-10-09 Nxp B.V. In-vehicle network (IVN) device and method for operating an IVN device
US9825918B2 (en) 2015-05-22 2017-11-21 Nxp B.V. Controller area network (CAN) device and method for operating a CAN device
KR101640054B1 (ko) * 2015-06-24 2016-07-22 현대자동차주식회사 게이트웨이 장치, 이를 포함하는 차량, 및 그 제어방법
JP6423402B2 (ja) 2015-12-16 2018-11-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America セキュリティ処理方法及びサーバ
US20170213043A1 (en) * 2016-01-27 2017-07-27 Mentor Graphics Corporation Security hardened controller area network transceiver
US10630481B2 (en) * 2016-11-07 2020-04-21 Ford Global Technologies, Llc Controller area network message authentication
EP3435617B1 (en) * 2017-07-24 2021-05-26 Nxp B.V. A node, a vehicle, an integrated circuit and method for updating at least one rule in a controller area network
US11057213B2 (en) * 2017-10-13 2021-07-06 Garrett Transportation I, Inc. Authentication system for electronic control unit on a bus
US11463262B2 (en) * 2019-12-19 2022-10-04 Intel Corporation Voltage encoded MAC and bus scrambling

Also Published As

Publication number Publication date
EP4204974A4 (en) 2024-10-02
WO2022150067A1 (en) 2022-07-14
EP4204974A1 (en) 2023-07-05
US20220070017A1 (en) 2022-03-03
US11411766B2 (en) 2022-08-09
CN116601619A (zh) 2023-08-15

Similar Documents

Publication Publication Date Title
US11651632B2 (en) Diagnosis of transport-related issues
US20220398149A1 (en) Minimizing transport fuzzing reactions
US20240073037A1 (en) Internal certificate authority for electronic control unit
JP2024505138A (ja) 輸送機関に対する外部機能のプロビジョニング
CN114103673A (zh) 运输工具的功率分配
US11787434B2 (en) Modification of transport functionality based on modified components
US20220388530A1 (en) Transport limitations from malfunctioning sensors
US11861950B2 (en) Device modification from transport operation
WO2024112701A1 (en) Electric vehicle routing to alternate charging stations
WO2024020234A1 (en) Providing recorded data related to an event
US12079616B2 (en) Real-time modifications for vehicles
JP2024504090A (ja) セキュアなコントローラエリアネットワーク(can)トランシーバ
EP4433330A1 (en) Robust over the air reprogramming
US20230226941A1 (en) Electric transport charging determination
US20230074898A1 (en) Transport limitation for data reads
US12008100B2 (en) Transport component tamper detection based on impedance measurements
US20240019262A1 (en) Vehicle data services configurable deployment
US12054157B2 (en) Hardware timer data expiration
US11917395B2 (en) Connected vehicle services privacy and protection
US12004118B2 (en) Detection of aberration on transport
US20230419234A1 (en) Ev battery degradation in a fleet
US20240106663A1 (en) Vehicle temporary certificate authentication
US20230272756A1 (en) Function and efficiency management
US20240351589A1 (en) Hardware timer data expiration
US20230241997A1 (en) Timer charge setting temporary cancellation

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230710

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240730