CN116803050A - 信息处理设备、移动设备及通信系统 - Google Patents

信息处理设备、移动设备及通信系统 Download PDF

Info

Publication number
CN116803050A
CN116803050A CN202280013138.8A CN202280013138A CN116803050A CN 116803050 A CN116803050 A CN 116803050A CN 202280013138 A CN202280013138 A CN 202280013138A CN 116803050 A CN116803050 A CN 116803050A
Authority
CN
China
Prior art keywords
packet
communication
phy
cci
extended
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
CN202280013138.8A
Other languages
English (en)
Inventor
宫本宗
山本弘毅
秋下徹
高桥宏雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Semiconductor Solutions Corp
Original Assignee
Sony Semiconductor Solutions Corp
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 Sony Semiconductor Solutions Corp filed Critical Sony Semiconductor Solutions Corp
Priority claimed from PCT/JP2022/001450 external-priority patent/WO2022172698A1/ja
Publication of CN116803050A publication Critical patent/CN116803050A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

根据本公开的一方面的信息处理装置设置有保护单元,用于保护第一设备和第二设备之间的第一通信以及第三设备和第二设备之间的第二通信。保护单元执行以下(1)至(4)。(1)导出或接收第一会话密钥;(2)使用第一会话密钥第一通信的加密或解密以及消息认证;(3)通过使用由第一会话密钥保护的第一通信来接收第二会话密钥;以及(4)使用第二会话密钥对第二通信进行加密、解密或消息认证,其中开始使用第二会话密钥至结束使用第二会话密钥的通信的总数或通信数据的总量在第一设备和第三设备之间的第三通信与第一通信之间不同。

Description

信息处理设备、移动设备及通信系统
技术领域
本公开涉及信息处理器、移动体设备和通信系统,并且具体地,涉及使能使用会话密钥的信息处理器、移动体设备和通信系统。
背景技术
目前,在进行标准化的CSI(相机串行接口)-2ver4.0中,定义了两种类型:使用用于物理层的C-PHY的分组结构和使用用于物理层的D-PHY的分组结构。
近年来,CSI-2标准不仅广泛用于移动设备,而且还用于诸如车辆安装和IoT(物联网)的各种应用。结果,假设现有的分组结构不能够适应这些应用。因此,在MIPI(MobileIndustry Processor Interface,移动行业处理器接口)联盟中,已经研究具有扩展分组结构(诸如现有分组报头或分组报尾)的扩展分组以适应各种应用。
附带地,在NPTL 1中描述的SPDM(Security Protocol and Data Model,安全协议和数据模型)标准中,公开了一种用于建立SPDM会话的方法。另外,在NPTL 2中描述的SPDM扩展标准中,公开了一种用于应用SPDM会话的方法。
引用列表
非专利文献
[NPTL]
NPTL 1:"Security Protocol and Data Model(SPDM)Specification",DSP0274,Version:1.1.0,DMTF,2020-07-15
NPTL 2:"Secured Messages using SPDM Specification",DSP0277,Version:1.0.0,DMTF,2020-09-18
发明内容
然而,在使用SPDM会话发送或接收的会话密钥被应用于MIPI CSI-2标准或DSI(Display Serial Interface,显示串行接口)-2标准的控制系统通信或图像系统通信的情况下,存在以下问题:从会话密钥的发送侧不能察觉到更新会话密钥的定时;从会话密钥的接收侧不能察觉到开始使用会话密钥的定时;可对使用会话密钥保护的命令或数据执行重放攻击或篡改攻击;等等。此外,需要与控制系统通信或图像系统通信的通信对方一致或选择安全特性。另外,在对控制系统通信或图像系统通信执行消息认证、加密或解密的情况下,在实现时存在各种问题。
本公开鉴于这种情况做出,并且旨在解决使用会话密钥的信息处理器、移动体设备和通信系统的议题或问题。
根据本公开的一方面的信息处理器包括保护部,该保护部保护第一设备与第二设备之间的第一通信以及第三设备与第二设备之间的第二通信。保护部执行以下(1)至(4):
(1)导出或接收第一会话密钥;
(2)使用所述第一会话密钥用于所述第一通信的加密或解密以及消息认证;
(3)使用由所述第一会话密钥保护的所述第一通信来接收第二会话密钥;以及
(4)使用所述第二会话密钥用于第二通信的加密、解密或消息认证。
在此,从开始使用第二会话密钥到结束使用第二会话密钥之间的通信的总次数或通信数据的总量在第一通信与第三通信之间,第三通信在第一设备与第三设备之间。
根据本公开的一方面的信息处理器包括保护部,该保护部保护第一设备与第二设备之间的第一通信以及第三设备与第二设备之间的第二通信。保护部执行以下(1)至(4):
(1)导出或接收第一会话密钥;
(2)使用所述第一会话密钥用于所述第一通信的加密或解密以及消息认证;
(3)使用由所述第一会话密钥保护的所述第一通信来接收第二会话密钥;以及
(4)使用所述第二会话密钥用于所述第二通信的加密、解密或消息认证。
在此,从开始使用第二会话密钥到结束使用第二会话密钥之间的通信的总次数或通信数据的总量在第一通信与第三通信之间不同,第三通信在第一设备与第三设备之间。
根据本公开的一方面的一种移动体设备包括保护部,该保护部保护第一设备与第二设备之间的第一通信以及第三设备与第二设备之间的第二通信。保护部执行以下(1)至(4):
(1)导出或接收第一会话密钥;
(2)使用所述第一会话密钥用于所述第一通信的加密或解密以及消息认证;
(3)使用由所述第一会话密钥保护的所述第一通信来接收第二会话密钥;以及
(4)使用所述第二会话密钥用于所述第二通信的加密、解密或消息认证。
在此,从开始使用第二会话密钥到结束使用第二会话密钥之间的通信的总次数或通信数据的总量在第一通信与第三通信之间不同,第三通信在第一设备与第三设备之间。
根据本公开的一方面的通信系统包括保护部,保护第一设备与第二设备之间的第一通信以及第三设备与第二设备之间的第二通信。保护部执行以下(1)至(4):
(1)导出或接收第一会话密钥;
(2)使用所述第一会话密钥用于所述第一通信的加密或解密以及消息认证;
(3)使用由所述第一会话密钥保护的所述第一通信来接收第二会话密钥;以及
(4)使用所述第二会话密钥用于所述第二通信的加密、解密或消息认证。
在此,从开始使用第二会话密钥到结束使用第二会话密钥之间的通信的总次数或通信数据的总量在第一通信与第三通信之间不同,第三通信在第一设备与第三设备之间。
附图说明
图1是示出应用本技术的通信系统的第一实施例的构成实例的框图。
图2是示出应用本技术的通信系统的第二实施例的构成实例的示图。
图3是示出了面向D-PHY的扩展分组的整体分组结构的第一结构实例的示图。
图4是示出面向D-PHY的扩展短分组的分组结构的第一结构实例的示图。
图5是示出面向D-PHY的扩展长分组的分组结构的第一结构实例的示图。
图6是示出了面向C-PHY的扩展分组的整体分组结构的第一结构实例的示图。
图7是示出了面向C-PHY的扩展短分组的分组结构的第一结构实例的示图。
图8是示出面向C-PHY的扩展长分组的分组结构的第一结构实例的示图。
图9是示出了图像传感器的构成实例的框图。
图10是示出应用处理器的构成实例的框图。
图11是描述图像传感器发送分组的处理的流程图。
图12是描述扩展模式发送处理的流程图。
图13是描述应用处理器接收分组的处理的流程图。
图14是描述扩展模式接收处理的流程图。
图15是示出了面向D-PHY的扩展分组的整体分组结构的第二结构实例的示图。
图16是示出了面向D-PHY的扩展长分组的分组结构的第二结构实例的示图。
图17是示出了面向C-PHY的扩展短分组的分组结构的第二结构实例的示图。
图18是示出了面向C-PHY的扩展长分组的分组结构的第二结构实例的示图。
图19是示出用于切换D-PHY和C-PHY的构成的变形例的框图。
图20是示出了应用本技术的通信系统的第三实施例的构成示例的框图。
图21是示出与分组修改禁止的规定对应的面向D-PHY的扩展分组的结构实例的示图。
图22是示出与分组修改禁止的规定对应的面向C-PHY的扩展分组的结构实例的示图。
图23是示出与分组修改禁止的规定对应的面向A-PHY的扩展分组的结构实例的示图。
图24是描述适应分组修改禁止的规定的分组发送/接收处理的流程图。
图25是示出适应分组修改禁止的规定的图像传感器的构成实例的框图。
图26是示出适应分组修改禁止的规定的应用处理器的构成实例的框图。
图27是其中图像传感器和应用处理器被构成为彼此直接耦合的通信系统的构成实例的框图。
图28是示出在应用处理器侧生成的读命令的分组构成的实例的示图。
图29是示出经受A-PHY传送的读命令的分组构成的实例的示图。
图30是示出了图像传感器侧的读命令和读数据的分组构成的示例的示图。
图31示出了经受A-PHY传送的读数据的分组构成的实例的示图。
图32是示出在应用处理器侧获取的读数据的分组构成的实例的示图。
图33是示出了在应用处理器侧生成的写数据的分组构成的示例的示图。
图34示出了经受A-PHY传送的写数据的分组构成的示例的示图。
图35是示出了在图像传感器侧获取的写数据的分组构成的实例的示图。
图36是描述扩展分组报头ePH和扩展分组报尾ePF的概况的示图。
图37是描述使用CCI-FS的通信处理的初始设置和确认操作的流程图。
图38是描述使用CCI-FS的写操作的流程图。
图39是描述使用CCI-FS的读操作的流程图。
图40是示出图像传感器和应用处理器被构成为通过SerDes耦合的通信系统的构成实例的框图。
图41是示出在应用处理器侧生成的读命令的分组构成的实例的示图。
图42是示出由I2C/I3C输出的读命令的分组构成的实例的示图。
图43是示出经受A-PHY传送的读命令的分组构成的实例的示图。
图44是示出由从侧的SerDes设备生成的读数据的分组构成的实例的示图。
图45是示出了图像传感器侧的读命令和读数据的分组构成的示例的示图。
图46是示出由I2C/I3C输出的读数据的分组构成的实例的示图。
图47是示出经受A-PHY传送的读数据的分组构成的实例的示图。
图48是示出由I2C/I3C输出的读数据的分组构成的实例的示图。
图49是示出在应用处理器侧获取的读数据的分组构成的实例的示图。
图50是描述使用CCI-FS的通信处理的初始设置和确认操作的流程图。
图51是描述使用CCI-FS的写操作的流程图。
图52是描述使用CCI-FS的读操作的流程图。
图53是描述序列A_Write(在AP时)处理的流程图。
图54是描述序列A_Read_CMD(在AP时)处理的流程图。
图55是描述序列C(在AP时)处理的流程图。
图56是描述序列B(在SerDes(Slave)时)处理的流程图。
图57是描述序列A_Read_Data(在AP时)处理的流程图。
图58是示出扩展分组报头ePH0、扩展分组报头ePH1和扩展分组报头ePH2的细节的示图。
图59是示出扩展分组报头ePH3的细节的示图。
图60是扩展分组报头ePH的扩展DT的细节的示图。
图61是示出了硬件中的现有I2C的构成实例的框图。
图62是示出在I2C总线上的数据传送期间的波形的实例的示图。
图63是示出了与CCI相关的A-PHY直接耦合构成的通信系统的构成实例的框图。
图64是示出了网络耦合模式的实例的示图。
图65是示出了CCI-FS处理部的电路构成的实例的框图。
图66是示出了寄存器构成实例的示图。
图67是示出了桥构成时的寄存器构成实例的示图。
图68是示出了错误相关寄存器的寄存器构成实例的示图。
图69是示出了在应用处理器侧生成的写数据的分组构成中的扩展分组报头ePH的变形例的示图。
图70是示出在应用处理器侧生成的读命令的分组构成中的扩展分组报头ePH的变形例的示图。
图71是示出A-PHY直接耦合构成中的应用处理器和图像传感器之间的流的示图。
图72是描述使用时钟拉伸方法的流的示图。
图73是示出包括CCI-FS处理部的图像传感器的详细构成实例的框图。
图74是示出包括CCI-FS处理部的应用处理器的详细构成实例的框图。
图75是示出应用本技术的通信系统的第四实施例的构成实例的框图。
图76是示出图像传感器的详细构成实例的框图。
图77是示出了应用处理器的详细构成实例的框图。
图78是描述通信处理的第一处理实例的流程图。
图79是描述通信处理的第一处理实例的流程图。
图80是描述通信处理的第一处理实例的流程图。
图81是描述验证分组和待验证分组的示图。
图82是描述验证分组和待验证分组的示图。
图83是描述数据验证处理的流程图。
图84是描述消息计数值发送处理的流程图。
图85是描述嵌入数据的示图。
图86是示出图像数据的数据结构的实例的示图。
图87是描述图像数据发送处理的流程图。
图88是描述完全性的算术值发送处理的流程图。
图89示出了图像数据的数据结构的第一变形例。
图90示出了图像数据的数据结构的第二变形例。
图91示出了图像数据的数据结构的第三变形例。
图92是描述完全性算术值的处理的第一处理实例的流程图。
图93是描述完全性算术值的处理的第二处理实例的流程图。
图94是描述完全性算术值的处理的第三处理实例的流程图。
图95是描述完全性算术值的处理的第四处理实例的流程图。
图96是示出了存储初始化向量的初始计数器块的实例的示图。
图97是示出了GHASH函数的图。
图98是示出了GCTR函数的示图。
图99是示出GCM-AE函数的示图。
图100是示出GCM-AD函数的示图。
图101示出了图像数据的数据结构的实例的示图,其中,针对每个行发送完全性算术值MAC。
图102是示出了初始化向量的实例的示图。
图103是示出了从发送侧向接收侧发送初始化向量的实例的示图。
图104示出了CSI-2或CCI的扩展格式的实例的示图。
图105是描述行MAC(line-MAC)方法中的发送处理的流程图。
图106示出了图像数据的数据结构的示例的示图,其中,为每个帧设置完全性算术值MAC。
图107是示出了初始化向量的实例的示图。
图108是示出从发送侧向接收侧发送初始化向量的实例的示图。
图109是描述帧-MAC方法中的发送处理的流程图。
图110是描述选择处理的流程图。
图111是示出安全MAC信息的实例的示图。
图112是示出了消息计数值和帧计数值的转翻周期的实例的示图。
图113是描述初始化向量的构成的示图。
图114是描述数据验证处理的流程图。
图115是描述反映处理的示图。
图116是示出了安全协议的示例的示图。
图117是示出源ID或最终目的地ID的实例的示图。
图118是示出诊断其自身的异常的存在或不存在的图像传感器的详细构成实例的框图。
图119是描述由干扰检测部进行的干扰检测处理(部分1)的流程图。
图120是描述当通过图像传感器实现ToF系统的测距传感器时将光发射模式(光接收模式)存储为存储模式时的存储方法的示图。
图121是描述当通过图像传感器实现ToF系统的测距传感器时将光发射模式(光接收模式)存储为存储模式时的存储方法的示图。
图122是描述由干扰检测部进行的干扰检测处理(部分2)的流程图。
图123是描述通过故障检测部进行的故障检测处理的流程图。
图124是描述侵害检测部的安全部中的异常检测处理的流程图。
图125是描述温度检测部的异常检测处理的流程图。
图126为示出检测在图像传感器中存在或不存在异常的应用处理器的详细构成实例的框图。
图127是描述在应用处理器检测到图像传感器中存在或不存在异常时图像传感器的处理的流程图。
图128是描述在应用处理器检测到图像传感器中存在或不存在异常时应用处理器的处理的流程图。
图129是示出用于描述在实现特定消息的高速数据传输而不抑制图像数据的高速数据传输时存储特定消息的位置的图像数据的数据结构的实例的示图。
图130是描述在不禁止图像数据的高速数据传输的情况下执行特定消息的高速数据传输的情况下的处理的流程图。
图131是描述成像/发送处理(部分1)的流程图的流程图。
图132是描述成像/发送处理(部分1)的实际应用实例的流程图。
图133是描述成像/发送处理(部分2)的流程图。
图134是描述通过图像传感器的成像/发送处理(部分3)的流程图。
图135是描述通过应用处理器的成像/发送处理(部分3)的流程图。
图136是描述通过图像传感器的成像/发送处理(部分4)的流程图。
图137是描述通过应用处理器的成像/发送处理(部分4)的流程图。
图138是描述通过图像传感器的成像/发送处理(部分5)的流程图。
图139是描述通过应用处理器的成像/发送处理(部分5)的流程图。
图140是描述通过图像传感器的成像/发送处理(部分6)的流程图。
图141是描述通过应用处理器的成像/发送处理(部分6)的流程图。
图142是描述通过图像传感器的成像/发送处理(部分7)的流程图。
图143是描述通过应用处理器的成像/发送处理(部分7)的流程图。
图144是描述通过图像传感器的成像/发送处理(部分8)的流程图。
图145是描述通过应用处理器的成像/发送处理(部分8)的流程图。
图146是描述成像/发送处理(部分9)的流程图。
图147是描述成像/发送处理(部分10)的流程图。
图148是描述成像/发送处理(部分11)的流程图。
图149是描述使用汉明距离不同的两种类型的计数值的消息计数值的示图。
图150是描述使用两种类型的计数值用于检测消息计数值是否存在篡改或失败的方法的示图。
图151是描述使用两种类型的计数值用于检测消息计数值是否存在篡改或失败的方法的示图。
图152是描述消息计数处理的流程图。
图153是示出了在扩展分组报头ePH2中的预留区域(Reserved)中设置警报描述符(Warning Descriptor)时的扩展分组报头ePH2的构成实例的示图。
图154是示出使用警报描述符(特定消息)的每个位的识别信息的描述实例的示图。
图155是示出了在警报闪速报告(例如,物理攻击检测)被设置为扩展分组报头中的第一特定消息时的构成实例的示图。
图156是描述在特定消息被分离用于发送时图像传感器的发送处理的流程图。
图157是描述在特定消息被分离用于发送时应用处理器的发送处理的流程图。
图158是描述在发送警报闪速报告之后发送警报细节的读命令的情况下,特定消息被分离以进行发送时的发送处理的流程图。
图159是描述安全描述符(Security Descriptor)的构成实例的示图,其中,设置特定消息中的一个,诸如,存在或不存在图像传感器1211内部或外部的异常,或者存在或不存在对于图像传感器1211的干扰或攻击。
图160是示出了安装有图像传感器和应用处理器的推进设备的构成实例的框图。
图161是描述控制图160中的推进设备的推进的推进控制处理(部分1)的示图。
图162是描述控制图160中的推进设备的推进的推进控制处理(部分2)的示图。
图163是描述由微型计算机进行的用于控制图160中的推进设备的推进的推进控制处理(部分3)的示图。
图164是描述通过成像部控制图160中的推进设备的推进的推进控制处理(部分3)的示图。
图165是描述用于设置HEARTBEAT函数的使能(HBEAT_CAP=1)或禁用(HBEAT_CAP=0)的应答方标志字段定义(Responder flag fields definitions)的构成实例的示图。
图166是描述HEARTBEAT请求消息的构成实例的示图。
图167是描述HEARTBEAT_ACK响应消息的构成实例的示图。
图168是描述HEARTBEAT_NAK响应消息的构成实例的示图。
图169是描述END_SESSION请求消息的构成实例的示图。
图170是描述HEARTBEAT处理(部分1)的流程图。
图171是描述END_SESSION_NAK响应消息的构成实例的示图。
图172是描述CCI主机(请求方)的HEARTBEAT处理(部分2)的流程图。
图173是描述CCI设备(应答方)的HEARTBEAT处理(部分2)的流程图。
图174是描述CCI主机(请求方)的HEARTBEAT处理(部分3)的流程图。
图175是描述CCI设备(应答方)的HEARTBEAT处理(部分3)的流程图。
图176是描述ERROR响应消息的构成实例的示图。
图177是描述错误代码(Error code)和错误数据(Error data)的设置实例的示图。
图178是描述扩展错误数据(ExtendedErrorData)的设置实例的示图。
图179是描述在使用伪HEARTBEAT函数的情况下的注册或标准体ID(Registry orstandards body ID)的设置实例的示图。
图180是描述VENDOR_DEFINED_REQUEST请求消息的设置实例的示图。
图181是描述VENDOR_DEFINED_RESPONSE响应消息的设置实例的示图。
图182是描述SPDM的密钥调度的示图。
图183示出了KEY_UPDATA_operations的实例的示图。
图184是描述与密钥更新相关的处理流程的实例的流程图。
图185是示出ePH2的实例的示图。
图186是描述会话密钥更新的流程的实例的流程图。
图187是描述处理器处理的流程的实例的流程图。
图188是描述传感器处理的流程的实例的流程图。
图189是描述会话密钥更新的流程的实例的流程图。
图190是描述处理器处理的流程的实例的流程图。
图191是描述传感器处理的流程的实例的流程图。
图192是描述处理器处理的流程的实例的流程图。
图193是描述传感器处理的流程的实例的流程图。
图194是描述传感器处理的流程的实例的流程图。
图195是示出KeyUpdataReq和KeySwitchTiming的实例的示图。
图196是描述会话密钥更新的流程的实例的流程图。
图197是描述处理器处理的流程的实例的流程图。
图198是描述传感器处理的流程的实例的流程图。
图199是描述处理器处理的流程的实例的流程图。
图200是描述传感器处理的流程的实例的流程图。
图201是描述处理器处理的流程的实例的流程图。
图202是描述传感器处理的流程的实例的流程图。
图203是描述处理器处理的流程的实例的流程图。
图204是描述传感器处理的流程的实例的流程图。
图205是示出EvenOddkey的实例的示图。
图206是示出了会话密钥导出的示例的示图。
图207是示出了会话密钥导出的实例的示图。
图208是示出应用本技术的通信系统的第五实施方式的构成实例的框图。
图209是示出图像传感器和处理器的构成的变形例的框图。
图210是示出了图像传感器和处理器的构成的变形例的框图。
图211是示出图像传感器和处理器的构成的变形例的框图。
图212是示出图像传感器和处理器的构成的变形例的框图。
图213是示出了图像传感器和处理器的构成的变形例的框图。
图214是示出图像传感器和处理器的构成的变形例的框图。
图215是示出了图像传感器和处理器的构成的变形例的框图。
图216是示出图像传感器和处理器的构成的变形例的框图。
图217是示出用于针对控制系统通信(控制平面)的重放攻击的对策的实例的图。
图218是示出了初始化向量的实例的示图。
图219是示出写消息的实例的示图。
图220是示出了写消息的实例的示图。
图221是示出了用于针对控制系统通信(控制平面)的重放攻击的对策的实例的图。
图222是描述VENDOR_DEFINED_REQUEST请求消息的设置实例的示图。
图223是示出了写数据的分组构成的示例的示图。
图224是描述VENDOR_DEFINED_REQUEST请求消息的设置实例的示图。
图225是示出了读数据的分组构成的示例的示图。
图226是示出了用于针对图像系统通信(数据平面)的重放攻击的对策的示例的示图。
图227是示出图像数据的数据结构的实例的示图。
图228是描述图227中的术语的示图。
图229是示出用于针对图像系统通信(数据平面)的重放攻击的对策的实例的图。
图230是示出了图像数据的数据结构的实例的示图。
图231是示出了用于针对图像系统通信(数据平面)的重放攻击的对策的示例的图。
图232是示出图像数据的数据结构的实例的示图。
图233是描述图232中的术语的示图。
图234是描述SSMC中的会话密钥生成/发送处理的示例的流程图。
图235是描述继图234之后的处理的实例的流程图。
图236是描述在SoC或桥一端的会话密钥更新处理的示例的流程图。
图237是描述在传感器或桥另一端的会话密钥更新处理的示例的流程图。
图238是描述SSMC中的会话密钥生成/发送处理的示例的流程图。
图239是描述继图238之后的处理的实例的流程图。
图240是描述在SoC或桥一端的会话密钥更新处理的示例的流程图。
图241是描述在传感器或桥另一端的会话密钥更新处理的实例的流程图。
图242是示出图208中的构成的变形例的框图。
图243是示出了写数据的分组构成的实例的示图。
图244是示出了写数据的处理的实例的示图。
图245是示出了功能寄存器的实例的示图。
图246是示出了功能寄存器的实例的示图。
图247是示出了读数据的分组构成的示例的示图。
图248是示出了读数据的处理的实例的示图。
图249是示出了写数据的分组构成的实例的示图。
图250是示出了写数据的处理的实例的示图。
图251是示出扩展报头(EXTENDED HEADER)的设置实例的示图。
图252是示出了写数据的分组构成的示例的示图。
图253是示出了扩展报头(EXTENDED HEADER)的设置实例的示图。
图254是示出了写数据的分组构成的示例的示图。
图255是示出了写数据的处理的实例的示图。
图256是描述在第二CCI模式下的MAC或CRC的算术处理的示例的流程图。
图257是示出寄存器定义和扩展报头(Register definition和EXTENDED HEADER)的设置实例的示图。
图258是示出了写数据的分组构成的示例的示图。
图259是示出了写数据的处理的实例的示图。
图260是描述在第二CCI模式中的GCM或CCM的算术运算处理的实例的流程图。
图261是示出寄存器定义和扩展报头(Register definition和EXTENDED HEADER)的设置实例的示图。
图262是示出了写数据的分组构成的示例的示图。
图263是示出了写数据的处理的实例的示图。
图264是示出了写数据的分组构成的示例的示图。
图265是示出了写数据的处理的实例的示图。
图266是描述第一CCI模式中的GCM或CCM的算术运算处理的示例的流程图。
图267是示出能力寄存器(Capability register)的设置实例的示图。
图268是示出厂商定义的SPDM消息(Vendor defined SPDM message)的设置实例的示图。
图269是示出了写数据的分组构成的示例的示图。
图270是示出写数据的处理的实例的示图。
图271是描述内部处理序列的切换的实例的流程图。
图272是示出能力寄存器(Capability register)的设置实例的示图。
图273是示出厂商定义的SPDM消息(Vendor defined SPDM message)的设置实例的示图。
图274是描述内部处理序列的切换的实例的流程图。
图275是描述内部处理序列的切换的实例的流程图。
图276是描述通知初始化向量的处理的示例的流程图。
图277是示出了写数据的分组构成的实例的示图。
图278是示出了写数据的分组构成的示例的示图。
图279是示出写数据的分组构成的示例的示图。
图280是示出了写数据的分组构成的示例的示图。
图281是示出能力寄存器的设置实例的示图。
图282是示出了厂商定义的SPDM消息的设置实例的示图。
图283是示出扩展报头(EXTENDED HEADER)的设置实例的示图。
图284是描述消息认证过程的实例的流程图。
图285是示出了消息认证策略的实例的示图。
图286是示出了消息认证策略的实例的示图。
图287是示出了消息认证策略的实例的示图。
图288是示出能力寄存器的设置实例的示图。
图289是示出厂商定义的SPDM消息的设置实例的示图。
图290是示出初始化向量的示例的示图。
图291是示出初始化向量的示例的示图。
图292是示出了Mode in IV的实例的示图。
图293是示出应用本技术的计算机的实施方式的构成实例的框图。
具体实施方式
在下文中,将参考附图详细描述应用本技术的具体实施方式。
<通信系统的构成实例>
图1是示出应用本技术的通信系统的第一实施例的构成实例的框图。
如图1所示,通信系统11具有以下配置:图像传感器21和应用处理器22经由总线23彼此耦合。例如,通信系统11用于现有移动设备(例如所谓的智能电话)内部的CSI-2耦合。
通过将扩展模式自适应CSI-2发送电路31与例如透镜、成像元件(均未示出)等一起结合来构成图像传感器21。例如,图像传感器21通过扩展模式自适应CSI-2发送电路31将通过成像元件的成像所获取的图像的图像数据发送至应用处理器22。
通过将扩展模式自适应CSI-2接收电路32与LSI(大规模集成)一起结合来构成应用处理器22。LSI执行与要由包括通信系统11的移动设备执行的各种应用相对应的处理。例如,应用处理器22通过扩展模式自适应CSI-2接收电路32接收从图像传感器21发送的图像数据。例如,应用处理器22对图像数据执行与LSI的应用对应的处理。
总线23是按照CSI-2标准发送信号的通信路径。在总线23中,例如,信号可发送的发送距离为大约30cm。此外,总线23通过如所示的多条信号线(I2C、CLKP/N、D0P/N、D1P/N、D2P/N和D3P/N)将图像传感器21和应用处理器22彼此耦合。
扩展模式自适应CSI-2发送电路31和扩展模式自适应CSI-2接收电路32自适应于在扩展CSI-2标准的扩展模式中通信,并且能够彼此发送和接收信号。应注意,稍后参考图9和图10给出扩展模式自适应CSI-2发送电路31和扩展模式自适应CSI-2接收电路32的详细构成的描述。
图2是示出应用本技术的通信系统的第二实施例的构成实例的框图。
如图2中所示,在通信系统11A中,图像传感器21和SerDes设备25经由总线24-1彼此耦合。在通信系统11A中,应用处理器22和SerDes设备26通过总线24-2彼此耦合。在通信系统11A中,SerDes设备25和SerDes设备26经由总线27彼此耦合。例如,通信系统11A用于耦合在现有的车载相机中。
这里,图像传感器21和应用处理器22以与图1中的图像传感器21和应用处理器22相同的方式构成,并且省略其详细描述。
以与图1中的总线23相同的方式,总线24-1和24-2各自是发送符合CSI-2标准的信号的通信路径,并且包括多条信号线(HS-GPIO、I2C/I3C、CLKP/N、D0P/N、D1P/N、D2P/N和D3P/N),如图所示。
SerDes设备25包括CSI-2接收电路33和SerDes(Serializer Deserializer)发送电路34。例如,SerDes设备25通过与扩展模式自适应CSI-2发送电路31进行符合正常CSI-2标准的通信的CSI-2接收电路33获取从图像传感器21发送的位并行信号。然后,SerDes设备25将所获取的信号转换成位串行,并且通过在一个信道中与SerDes接收电路35进行通信的SerDes发送电路34将转换后的信号发送给SerDes设备26。
SerDes设备26包括SerDes接收电路35和CSI-2发送电路36。例如,SerDes设备26通过在一个信道中与SerDes发送电路34进行通信的SerDes接收电路35获取所发送的位串行信号。然后,SerDes设备26将所获取的信号转换成位并行,并且通过CSI-2发送电路36与扩展模式自适应CSI-2接收电路32按照符合正常CSI-2标准进行通信将所转换的信号发送至应用处理器22。
总线27是按照诸如A-PHY或FPD(平板显示器)-LINK III的标准传送信号的通信路径。在总线27中,例如,信号可发送的发送距离为大约15m的长距离。
这种长距离可发送物理层接口使得汽车行业能够利用先进驾驶辅助系统(ADAS)、自动驾驶系统(ADS)、以及包括相机和车载信息娱乐(IVI)显示器的其他环绕传感器应用。MIPI A-PHY具有点对点拓扑的非对称数据链路层(非对称上层),并且使得同一物理布线能够被高速数据传输、控制数据和电力共享。MIPI A-PHY用作用于端到端系统的基础,该端到端系统被设计成简化相机、传感器和显示器的集成,并且同时还使得能够并入功能安全和安全。
在如此构成的通信系统11和11A中,扩展模式自适应CSI-2发送电路31和扩展模式自适应CSI-2接收电路32能够在具有稍后描述的扩展分组结构的分组中发送和接收数据。这使得可以适应于各种应用,例如,RAW24、智能ROI(感兴趣区域)、GLD(优雅链路降级)等,如稍后描述的。
<分组结构的第一结构实例>
参考图3至8给出在扩展模式自适应CSI-2发送电路31与扩展模式自适应CSI-2接收电路32之间的通信中使用的分组的分组结构的第一结构实例的描述。
图3示出了在物理层是D-PHY的情况下将在CSI-2扩展模式中使用的分组(在下文中,称为面向D-PHY的扩展分组)的总体分组结构。
如图3所示,面向D-PHY的扩展分组具有分组报头和分组报尾,这些分组报头和分组报尾具有与现有CSI-2标准的分组结构相同的分组结构。例如,分组报头存储指示虚拟信道的行数的VC(VirtualChannel)、指示数据类型的数据类型(DataType)、指示有效载荷的数据长度的WC(Word Count)、以及VCX/ECC。另外,分组报尾存储CRC(循环冗余校验)。
这里,在现有的CSI-2标准中,对于分组报头中要发送的数据类型,0x38至x3F定义为预留。因此,在面向D-PHY的扩展分组中,预留的现有数据类型被用于新定义用于接收侧识别扩展模式的设置信息。
例如,在DataType[5:3]=3’b111的情况下,扩展模式/DataType[2]=预留(RES:预留用于未来扩展)/DataType[1:0]=扩展模式类型(准备的四个扩展模式)被定义为数据类型。
即,在现有的CSI-2标准中定义为预留的数据类型0x38至x3F中,例如DataType[5:3]定义为扩展模式设置信息,DataType[1:0]定义为扩展类型设置信息。扩展模式设置信息指示该模式是否是扩展模式;例如,在DataType[5:3]是3’b111的情况下,模式被表示为扩展模式。此外,在作为扩展模式的类型准备扩展模式0、扩展模式1、扩展模式2以及扩展模式3四种类型的情况下,扩展类型设置信息表示扩展模式的类型是这些类型中的哪一种。例如,在DataType[1:0]是2’b00的情况下,扩展模式的类型表示为扩展模式0。
在扩展模式0(DataType[1:0]=2’b00)中,例如,定义了其中有效载荷被分成四个的分组结构。即,如图3所示,扩展模式0中的有效载荷被分成扩展分组报头(ePH:extendedPacket Header)、可选扩展分组报头(OePH:Optional extended Packet Header)、传统有效载荷(Legacy Payload)、以及可选扩展分组报尾(OePF:Optional extended PacketFooter)。应注意,扩展分组报头可被重复地发送。
扩展分组报头布置在与现有CSI-2标准的有效载荷对应的头部,并且需要以扩展模式必定地发送。例如,如图所示,通过设置诸如SROI识别标志、扩展VC(VirtualChannel)、扩展DataType、OePH选择标志和OePF选择标志的信息来构成扩展分组报头。这里,现有CSI-2标准中的4位VC由扩展VC扩展为8位,现有CSI-2标准中的4位DataType由扩展DataType扩展为8位。
例如,在面向D-PHY的分组中,已有4位VC的现有分组报头,并且将扩展分组报头的扩展VC定义为4位允许总共8位。具体地,可以定义如下:OePH[7:0]={5′h00,RSID,XY_POS,MC},OePF[3:0]={3’h0,pCRC},从而使得可以控制每个应用所必需的分组发送的开/关。
可选扩展分组报头和可选扩展分组报尾根据应用被选择性地发送。
传统有效载荷对应于与现有CSI-2标准中的有效载荷相同的有效载荷。
以这种方式,根据需要设置扩展分组报头、可选扩展分组报头和可选扩展分组报尾,使得可以发送与各种应用相对应的数据。此外,扩展分组报头、可选扩展分组报头和可选扩展分组报尾发送的数据为26位+6位的ECC(纠错码)。这使得可以通过拨用现有分组报头的电路来抑制电路大小的增加并且实现容错性的改善。
图4示出作为这种面向D-PHY的扩展分组的具体应用实例,要在物理层是D-PHY的情况下在CSI-2扩展模式中使用的短分组(在下文中,称为面向D-PHY的扩展短分组)的分组结构。同样,图5示出了在物理层是D-PHY的情况下,在CSI-2扩展模式中使用的长分组(在下文中,称为面向D-PHY的扩展长分组)的分组结构。
在如图4所示的面向D-PHY的扩展短分组中,分组报头中存储的数据类型的扩展类型设置信息指示扩展模式的类型为扩展模式0(DT[5:0]=0x1C(5′b111_0_0))。另外,存储在扩展分组报头中的数据类型的短分组设置信息指示短分组(DT[7:0]=0x00(FrameStart Code(Short Packet),帧开始码(短分组))。
以这种方式,在扩展模式的情况下并且在存储在扩展分组报头中的数据类型是DT[7:0]=0x00至0x0F的情况下,使用扩展短分组,并且包括扩展短分组的短分组数据字段(Short Packet Data Field)的数据被必定地发送到可选扩展分组报头。该短分组数据字段与现有CSI-2标准中定义的相同。
应注意,当发送扩展短分组时,可发送可选扩展分组报头中的MC(用于GLD的消息计数)和RSID(用于车辆安装的行数和源ID);然而,传统有效载荷和pCRC是不必要的,并且因此其发送被禁止。如果传统有效载荷和pCRC被错误地发送,则它们被接收侧忽略。
此外,与根据现有CSI-2标准的扩展短分组相比,如图4中示出的分组结构的扩展短分组能够扩展虚拟信道的位宽度和数据类型,并且因此能够适应由可选扩展分组报头定义的各种应用。另外,在不需要这些功能的情况下,根据现有CSI-2标准的扩展短分组可以与扩展长分组一起发送。
在如图5所示的面向D-PHY的扩展长分组中,存储在分组报头中的数据类型的扩展类型设置信息指示扩展模式的类型是扩展模式0(DT[5:0]=0x1C(5’b111_0_0))。另外,存储在扩展分组报头中的数据类型的短分组设置信息指示除了短分组之外的短分组(DT[7:0]是除了0x00至0x0F之外(=扩展Long Packet))的短分组。因而,在扩展长分组中,不发送包括短分组数据字段(Short Packet Data Field)的数据。
另外,根据扩展分组报头的设置,将可选扩展分组报头、传统有效载荷和可选扩展分组报尾存储在现有CSI-2标准中的有效载荷中进行发送。如上所述,它们被存储在现有有效载荷中用于发送,并且因此由现有SerDes发送电路34和SerDes接收电路35(图2)以与由现有有效载荷发送并且照原样发送至后级的图像数据相同的方式来识别。
然后,最后级的应用处理器22能够通过分组报头的数据类型DT[5:0]被确定为扩展模式。由此,应用处理器22能够从扩展分组报头按顺序解释有效载荷的内容,并且检索期望的扩展模式的数据。
图6示出了在物理层是C-PHY的情况下将在CSI-2扩展模式中使用的分组(在下文中,称为面向C-PHY的扩展分组)的整体分组结构。应注意,在图6中示出的面向C-PHY的扩展分组中,对于与图3中的面向D-PHY的扩展分组的构成相同的构成省略描述,并且给出不同构成的描述。
例如,在面向C-PHY的扩展分组中,以与图3中的面向D-PHY的扩展分组相同的方式,扩展模式由数据类型标识,并且与要由应用处理器22执行的各个应用相对应的所有数据被嵌入在有效载荷中用于发送。
如图6所示,以与根据现有CSI-2标准的面向C-PHY的分组相同的方式,面向C-PHY的扩展分组发送分组报头两次,并且为了便于C-PHY将16位转换成7个符号,以16位为单位布置多条数据。此外,扩展分组报头布置在有效载荷的头部。然而,对于虚拟信道,由于在C-PHY的情况下现有的扩展分组报头的头被预留,因此虚拟信道不被存储在扩展分组报头中。不必说,虚拟信道可以以与面向D-PHY的扩展分组相同的方式存储在扩展分组报头中。
另外,可选扩展分组报头和可选扩展分组报尾都有位数,因此准备了OePHF的标志;在该标志为1的情况下,接着发送OePH/OePF信息。然后,在ePH信息和OePH信息之后,CRC作为扩展分组报头被发送,并且以相同方式构成的分组报头被重复发送两次。这样,通过采用与两次发送现有分组报头的机制相同的结构,可以实现电路的复用和容错。
图7示出了在物理层是C-PHY的情况下,要在CSI-2扩展模式中使用的短分组(在下文中,称为面向C-PHY的扩展短分组)的分组结构作为这种面向C-PHY的扩展分组的具体应用实例。同样,图8示出了在物理层是C-PHY的情况下在CSI-2扩展模式中使用的长分组(在下文中,称为面向C-PHY的扩展长分组)的分组结构。
应注意,在图7中示出的面向C-PHY的扩展短分组与图4中示出的面向D-PHY的扩展短分组之间在分组结构中不存在较大差异,并且在图8中示出的面向C-PHY的扩展长分组与图5中示出的面向D-PHY的扩展长分组之间在分组结构中不存在较大差异。
<图像传感器和应用处理器的构成实例>
(图像传感器的构成实例)
图9是示出包括扩展模式自适应CSI-2发送电路31的图像传感器21的构成实例的框图。
如图9所示,除了扩展模式自适应CSI-2发送电路31之外,图像传感器21还包括像素41、AD转换器42、图像处理部43、像素CRC算术部44、物理层处理部45、I2C/I3C从设备46和寄存器47。此外,扩展模式自适应CSI-2发送电路31包括打包部51、分组报头生成部52、扩展分组报头生成部53、扩展分组报尾生成部54、选择部55和56、CRC算术部57、通道分配部58、CCI从设备59、和控制器60。
像素41输出与所接收的光的光量对应的模拟像素信号,并且AD转换器(ADC:模数转换器)42将从像素41输出的像素信号进行数字转换并且将像素信号供应至图像处理部43。图像处理部(ISP:图像信号处理器)43向像素CRC算术部44和打包部51提供通过基于像素信号对图像执行各种类型的图像处理而获得的图像数据。此外,图像处理部43为打包部51和控制器60提供指示图像数据是否有效的数据使能信号data_en
像素CRC算术部44通过算术运算获得从图像处理部43提供的图像数据中的每个像素的CRC,并将CRC提供给扩展分组报尾生成部54。
物理层处理部45能够在C-PHY物理层以及D-PHY物理层上执行处理。例如,物理层处理部45在C层使能信号cphy_en有效的情况下在C-PHY物理层上执行处理,并且在C层使能信号cphy_en无效的情况下在D-PHY物理层上执行处理。然后,物理层处理部45将通过通道分配部58划分成四个通道的分组发送至应用处理器22。
I2C/I3C从设备46在应用处理器22的I2C/I3C主设备72(图10)的主动下基于I2C(Inter-Integrated Circuit)或I3C(Improved Inter Integrated Circuits)标准执行通信。
从应用处理器22发送的不同设置经由I2C/I3C从设备46和CCI从设备59被写入寄存器47。这里,要写入寄存器47的设置的实例包括符合CSI-2标准的通信设置、指示存在或不存在使用扩展模式的扩展模式设置、以及在扩展模式下通信所需的固定通信设置。
打包部51执行打包处理以将从图像处理部43提供的图像数据存储在分组的有效载荷中,并且将有效载荷提供给选择部55和通道分配部58。
当接收到关于根据从控制器60提供的分组报头生成指令信号ph_go生成分组报头的指令时,分组报头生成部52生成分组报头,并且将分组报头提供给选择部55和通道分配部58。
即,分组报头生成部52根据现有的CSI-2标准生成指示分组中要发送的数据的设置条件的设置信息,例如,存储指示数据类型的数据类型的分组报头。另外,分组报头生成部52将指示是否采用使用扩展报头的扩展模式的扩展模式设置信息存储在数据类型中的在现有CSI-2标准中被定义为未使用的未使用区域中,该数据类型是指示要在分组中发送的数据的类型的设置信息。此外,分组报头生成部52将指示它是在作为扩展模式准备的多种类型的扩展模式中的哪种类型的扩展类型设置信息存储在未使用区域中。
根据从控制器60提供的扩展分组报头生成指令信号eph_go和扩展分组报头使能信号ePH_en,扩展分组报头生成部53分别生成扩展分组报头和可选扩展分组报头,并且将它们提供给选择部56和通道分配部58。此外,根据图像传感器21的应用,扩展分组报头生成部53被提供有用于车辆安装的行号、源ID(标识)等,根据需要,其被存储在扩展分组报头或可选扩展分组报头中。
即,扩展分组报头生成部53除了由分组报头生成部52生成的分组报头之外,还生成存储如图3所示的设置信息的扩展分组报头。此外,在发送可选扩展分组报头的情况下,扩展分组报头生成部53将指示发送可选扩展分组报头的可选扩展分组报头设置信息存储在扩展分组报头中,作为指示是否发送可选扩展分组报头的可选扩展分组报头设置信息(OePH[7:0]),并且生成在扩展分组报头之后的可选扩展分组报头。
根据从控制器60提供的扩展分组报尾生成指令信号epf_go和扩展分组报头使能信号ePF_en,扩展分组报尾生成部54生成可选扩展分组报尾,并且将其提供给选择部56和通道分配部58。
即,在扩展模式中要发送的分组是在现有CSI-2标准中存储要发送的数据作为有效载荷的扩展长分组的情况下,扩展分组报尾生成部54生成将被布置在其中存储数据的传统有效载荷之后的可选扩展分组报尾。
此外,分组报头生成部52、扩展分组报头生成部53、以及扩展分组报尾生成部54被供应有来自控制器60的C层使能信号cphy_en。然后,在表示C层使能信号cphy_en有效的情况下,分组报头生成部52生成面向C-PHY的分组报头;扩展分组报头生成部53生成面向C-PHY的扩展分组报头和可选扩展分组报头;以及扩展分组报尾生成部54生成C-PHY可选扩展分组报尾。同时,在表示C层使能信号cphy_en无效的情况下,分组报头生成部52生成面向D-PHY的分组报头;扩展分组报头生成部53生成面向D-PHY的扩展分组报头和可选扩展分组报头;以及扩展分组报尾生成部54生成D-PHY可选扩展分组报尾。
在C层使能信号cphy_en有效的情况下,根据从控制器60提供的C层使能信号cphy_en,选择部55选择从分组报头生成部52提供的分组报头,并且将其提供给选择部56。同时,在C层使能信号cphy_en无效的情况下,选择部55选择从打包部51供应的有效载荷,并且将其供应给选择部56。
根据从控制器60提供的数据选择信号data_sel,选择部56选择经由选择部55选择性地提供的分组报头或有效载荷、从扩展分组报头生成部53提供的扩展分组报头和可选扩展分组报头以及从扩展分组报尾生成部54提供的可选扩展分组报尾中的一个,并且将所选择的一个提供给CRC算术部57。
CRC算术部57通过算术运算确定经由选择部56选择性地提供的分组报头、有效载荷、扩展分组报头、可选扩展分组报头或可选扩展分组报尾的CRC,并且将CRC提供至通道分配部58。
在控制器60的控制下,通道分配部58分配从打包部51供应的有效载荷、从分组报头生成部52供应的分组报头,从分组报头生成部52提供的分组报头、以及从扩展分组报头生成部53提供的扩展分组报头和可选扩展分组报头,从扩展分组报尾生成部54提供的可选扩展分组报尾,以及根据CSI-2标准从CRC算术部57提供给四个通道的CRC,并且将它们供应至物理层处理部45。
CCI(Camera Control Interface,相机控制接口)从设备59基于CSI-2标准在应用处理器22的CCI主机88(图10)的主动下进行通信。
控制器60读取寄存器47中存储的各种设置,并且根据设置控制扩展模式自适应CSI-2发送电路31的每个块。例如,根据要发送的数据的内容,控制器60控制根据现有CSI-2标准的分组结构的分组的发送与在扩展模式期间分组结构的分组的发送之间的切换。
图像传感器21因此被构成并且能够生成如参见图3至8所描述的分组结构的扩展分组以便发送至应用处理器22。
(应用处理器的构成实例)
图10是示出包括扩展模式自适应CSI-2接收电路32的应用处理器22的构成实例的框图。
如图10所示,应用处理器22除了扩展模式自适应CSI-2接收电路32之外还包括物理层处理部71、I2C/I3C主设备72、寄存器73和控制器74。另外,扩展模式自适应CSI-2接收电路32包括分组报头检测部81、通道合并部82、解释部83、选择部84和85、CRC算术部86、拆包部87以及CCI主机88。
物理层处理部71能够在C-PHY和D-PHY这两个物理层上执行处理。如上所述,图像传感器21的物理层处理部45在C-PHY物理层和D-PHY物理层中的一个物理层执行处理,并且物理层处理部71在物理层执行与在物理层处理部45中执行的相同的处理。
I2C/I3C主设备72基于I2C或I3C标准主动与图像传感器21的I2C/I3C从设备46(图9)进行通信。
控制器74将要写入图像传感器21的寄存器47中的不同设置记录到寄存器73中。
控制器74控制应用处理器22的每个块。
分组报头检测部81从物理层处理部71提供的分组中检测分组报头,并且确认存储在分组报头中的数据类型。然后,在扩展模式设置信息表示分组报头的数据类型中的扩展模式(DataType[5:3]=3’b111)的情况下,分组报头检测部81为解释部83、选择部84以及选择部85提供表示扩展模式的扩展模式检测标记。此外,分组报头检测部81基于分组报头向通道合并部82提供合并使能信号mrg_en,该合并使能信号mrg_en指示划分的四个通道的合并是否有效。
即,根据现有的CSI-2标准,分组报头检测部81检测其中存储了设置信息(数据类型等)的分组报头,该设置信息指示用于在分组中发送的数据的设置条件。此时,根据存储在现有CSI-2标准中被定义为未使用的未使用区域中的扩展模式设置信息,扩展模式设置信息指示是否是使用扩展报头的扩展模式,在作为指示分组中要发送的数据的类型的设置信息的数据类型中,分组报头检测部81输出扩展模式检测标志,由此使得在根据现有CSI-2标准的分组结构的分组的接收和扩展模式期间的分组结构的分组的接收之间进行切换。此外,根据存储在被定义为在现有的CSI-2标准中未使用的数据类型的未使用区域中的扩展模式类型信息,分组报头检测部81识别扩展模式是准备为扩展模式的多种类型的扩展模式之中的哪种类型。
在从分组报头检测部81提供的合并器使能信号mrg_en有效的情况下,通道合并部82合并被分成从物理层处理部71提供的四个通道的分组。然后,通道合并部82将单通道分组提供至解释部83、选择部84和选择部85。
在从分组报头检测部81提供的扩展模式检测标志表示扩展模式的情况下,解释部83基于扩展模式的分组结构从通道合并部82提供的分组中读取扩展分组报头、可选扩展分组报头和可选扩展分组报尾。然后,解释部83解释存储在扩展分组报头、可选扩展分组报头和可选扩展分组报尾中的设置信息。
即,解释部83接收根据现有CSI-2标准布置在有效载荷的头部的扩展分组报头作为扩展报头,并且解释存储在扩展分组报头中的设置信息。另外,在存储在扩展分组报头中的可选扩展分组报头设置信息指示根据应用选择性地发送的可选扩展分组报头的发送的情况下,解释部83接收扩展分组报头之后的可选扩展分组报头,并解释存储在可选扩展分组报头中的设置信息。此外,在将在扩展模式中发送的分组是在现有CSI-2标准中存储将作为有效载荷发送的数据的扩展长分组的情况下,解释部83接收布置在存储数据的传统有效载荷之后的可选扩展分组报尾,并解释可选扩展分组报尾。
然后,解释部83读取存储在例如可选扩展分组报头中的用于车辆安装的行号、源ID等,并将它们输出至后续阶段的LSI(未示出)。
应当注意,在从分组报头检测部81提供的扩展模式检测标志指示没有扩展模式的情况下,即,在提供现有分组结构的分组的情况下,解释部83不执行如上所述的处理,并且处理停止。
根据从分组报头检测部81提供的扩展模式检测标志,选择部84基于现有分组的分组结构或扩展分组的分组结构选择性地将数据提供至拆包部87。
根据从分组报头检测部81提供的扩展模式检测标志,选择部85基于现有分组的分组结构或扩展分组的分组结构选择性地将数据提供至CRC算术部86。
CRC算术部86执行经由选择部85选择性地提供的分组报头、有效载荷、扩展分组报头、可选扩展分组报头或可选扩展分组报尾的CRC的算术运算。在检测到CRC错误的情况下,CRC算术部86将表示该情况的crcCRC错误检测信号输出至后级的LSI(未示出)。
拆包部87执行拆包处理以检索存储在经由选择部84选择性地供应的有效载荷中的图像数据,并且将所获取的图像数据输出至后续级的LSI(未示出)。
CCI主机88基于CSI-2标准主动与图像传感器21的CCI从设备59(图9)进行通信。
应用处理器22因此被构成,并且能够接收从图像传感器21发送的扩展分组,解释存储在扩展分组报头、可选扩展分组报头和可选扩展分组报尾中的设置信息,并且获取图像数据。
<通信处理>
参照图11至图14,描述通过图像传感器21和应用处理器22执行的通信处理。
图11是描述图像传感器21发送分组的处理的流程图。
例如,当图像传感器21经由总线23耦合至应用处理器22时,开始处理。在步骤S11中,当开始与应用处理器22通信时,控制器60确定是否使用扩展模式。例如,控制器60确认存储在寄存器47中的扩展模式设置,并且在应用处理器22写入指示扩展模式的使用的扩展模式设置的情况下,确定使用扩展模式。
在步骤S11中,在控制器60确定不使用扩展模式的情况下,处理进行至步骤S12。
在步骤S12中,I2C/I3C从设备46接收从应用处理器22发送的针对图像数据的发送开始命令(在后面描述的图13中的步骤S54中)。此外,I2C/I3C从设备46接收与发送开始命令一起发送的根据CSI-2标准的通信设置,并且经由CCI从设备59将所接收的通信设置写入寄存器47中。
在步骤S13中,基于存储在寄存器47中的通信设置,在图像传感器21中执行现有分组发送处理,其中,根据现有CSI-2标准的分组结构的分组被发送至应用处理器22。
同时,在步骤S11中控制器60确定使用扩展模式的情况下,处理进行至步骤S14。
在步骤S14中,I2C/I3C从设备46接收在扩展模式中通信所需的固定通信设置(例如,在GLD时逐通道复制PH/PF),并且经由CCI从设备59将其写入寄存器47。
在步骤S15中,I2C/I3C从设备46接收从应用处理器22发送的针对图像数据的发送开始命令(在后面描述的图13中的步骤S57中)。此外,I2C/I3C从设备46接收与发送开始命令一起发送的根据CSI-2标准的通信设置,并且经由CCI从设备59将其写入寄存器47中。
在步骤S16中,控制器60确定是否开始发送分组,并且等待该处理,直到确定开始发送分组为止。
然后,在步骤S16中确定开始发送分组的情况下,处理进行至步骤S17,并且控制器60确定是否在扩展模式中发送数据。这里,控制器60根据要发送的数据的内容,确定将在扩展模式中发送数据,例如,在稍后描述的应用实例的使用情况中要发送数据的情况下。
在步骤S17中,在控制器60确定要以扩展模式发送数据的情况下,该处理进入步骤S18,在步骤S18中,执行用于发送与扩展模式相对应的扩展分组的扩展模式发送处理(见图12)。
同时,在步骤S17中控制器60确定不在扩展模式中发送数据的情况下,处理进行至步骤S19。
在步骤S19中控制器60确定是否发送短分组。例如,控制器60确定在帧的开始和帧的结束处发送短分组。
在步骤S19中控制器60确定发送短分组的情况下,处理进行至步骤S20。在步骤S20中,分组报头生成部52生成分组报头,并且将现有分组结构的短分组发送到应用处理器22。
同时,在步骤S19中控制器60确定不发送短分组(即,发送长分组)的情况下,处理进行至步骤S21。在步骤S21中,打包部51将图像数据存储在有效载荷中,并且CRC算术部57获得CRC,从而生成现有分组结构的长分组并且将其发送到应用处理器22。
在步骤S18、步骤S20或步骤S21中的处理之后,处理进行至步骤S22,并且控制器60结束分组发送处理。此后,处理返回到步骤S16,随后对下分组以相同方式重复地执行用于发送分组的处理。
图12是描述在图11的步骤S18的处理中进行的扩展模式发送处理的流程图。
在步骤S31中,分组报头生成部52生成存储VC、数据类型、WC等的分组报头,并且将其发送至应用处理器22。此时,分组报头生成部52将表示扩展模式的扩展模式设置信息(DataType[5:3]=3’b111)以及将扩展模式的模式设置识别为扩展模式0的扩展类型设置信息(DataType[1:0]=2’b00)写入分组报头的数据类型中。
在步骤S32中,应用处理器22确定是否发送扩展短分组。例如,控制器60确定在帧的开始处以及在帧的结束处发送扩展短分组。
在步骤S32中,在应用处理器22确定发送扩展短分组的情况下,处理进行至步骤S33。
在步骤S33中,扩展分组报头生成部53在有效载荷的第一字节处发送具有被设置为短分组的数据类型(DataType[7:0])的扩展分组报头。此时,扩展分组报头生成部53执行各种设置(例如,OePH[7:0]、OePF[3:0]等)以存储在扩展分组报头中。
在步骤S34中,扩展分组报头生成部53将帧号(FN:FrameNumber)存储在有效载荷的第二字节处,用于发送。
在步骤S35中,根据在步骤S33中执行的设置(OePH[7:0]),扩展分组报头生成部53生成并发送可选扩展分组报头,如图4中所示。
在步骤S36中,CRC算术部57获得CRC,并且将其作为分组报尾进行发送。
同时,在应用处理器22在步骤S32中确定不发送扩展短分组(即,发送长分组)的情况下,处理进行至步骤S37。
在步骤S37中,扩展分组报头生成部53在有效载荷的第一字节处发送数据类型(DataType[7:0])被设置为除了短分组之外的一个类型的扩展分组报头。此时,扩展分组报头生成部53执行各种设置(例如,OePH[7:0]、OePF[3:0]等)以存储在扩展分组报头中。
在步骤S38中,根据在步骤S37中执行的设置(OePH[7:0]),扩展分组报头生成部53生成并发送可选扩展分组报头,如图5中所示。
在步骤S39中,打包部51打包从图像处理部43提供的图像数据,并且生成和发送传统有效载荷。
在步骤S40中,根据在步骤S37中执行的设置(OePF[3:0]),扩展分组报尾生成部54生成并发送可选扩展分组报尾,如图4中所示。
在步骤S41中,CRC算术部57获得CRC,并将其作为分组报尾进行发送。
然后,在步骤S36或S41中的处理之后,扩展模式发送处理结束。
如上所述,图像传感器21能够生成并发送扩展短分组或扩展长分组。
图13是描述应用处理器22接收分组的处理的流程图。
例如,当图像传感器21经由总线23耦合至应用处理器22时,开始处理。在步骤S51中,控制器74将图像传感器21的初始设置(例如,是否使用C-PHY或D-PHY作为物理层)写入到寄存器73中,并且通过I2C/I3C主设备72经由CCI主机88将其发送到图像传感器21。这允许初始设置被写入图像传感器21的寄存器47中。
在步骤S52中,控制器74识别图像传感器21是否适应扩展模式。例如,控制器74能够通过I2C/I3C主设备72获取存储在图像传感器21的寄存器47中的设置值(例如,扩展PH/PF自适应能力)来识别图像传感器21是否适应扩展模式。可替代地,控制器74能够基于例如手动输入来预先识别图像传感器21是否适应扩展模式。
在步骤S53中,控制器74确定图像传感器21是否适应扩展模式,以及由应用处理器22执行的应用是否需要使用扩展模式。
在控制器74在步骤S53中确定图像传感器21不适应扩展模式或不需要使用扩展模式的情况下,处理进行至步骤S54。
在步骤S54中,控制器74通过I2C/I3C主机72将针对图像数据的发送开始命令发送至图像传感器21。此时,控制器74还根据CSI-2标准发送通信设置。
在步骤S55中,在应用处理器22中,执行现有分组接收处理,其中,基于在步骤S54中发送的通信设置来接收根据现有CSI-2标准的分组结构的分组。
同时,在控制器74在步骤S53中确定图像传感器21适应扩展模式并且应用处理器22执行的应用需要使用扩展模式的情况下,处理进行至步骤S56。
在步骤S56中,I2C/I3C主机72在扩展模式中的通信开始之前发送扩展模式中的通信所需的固定通信设置。这允许将固定通信设置写入图像传感器21的寄存器47中(图11中的步骤S14)。
在步骤S57中,控制器74通过I2C/I3C主机72将针对图像数据的发送开始命令发送至图像传感器21。此时,控制器74还根据CSI-2标准发送通信设置。
在步骤S58中,分组报头检测部81通过确认从物理层处理部71提供的数据来确定是否已经开始接收分组,并且等待该处理,直到确定已经开始接收分组为止。例如,在已经从由物理层处理部71提供的数据中检测到分组报头的情况下,分组报头检测部81确定已经开始接收分组。
在分组报头检测部81在步骤S58中确定已经开始接收分组的情况下,处理进行至步骤S59。
在步骤S59中,分组报头检测部81确认在步骤S58中检测到的分组报头的数据类型,并且确定已经开始接收的分组是否是与扩展模式自适应的扩展分组。例如,在扩展模式设置信息表示分组报头的数据类型中的扩展模式(DataType[5:3]=3’b111)的情况下,分组报头检测部81确定已经开始接收的分组是扩展分组。
在分组报头检测部81在步骤S59中确定已开始接收的分组是扩展分组的情况下,处理进行至步骤S60,在步骤S60中,执行用于接收扩展分组的扩展模式接收处理(见图14)。
同时,在分组报头检测部81确定已开始接收的分组不是扩展分组的情况下,处理进行至步骤S61。
在步骤S61中,分组报头检测部81确认在步骤S58中检测到的分组报头的数据类型(DataType[5:0]),并且确定已经开始接收的分组是否是短分组。
在分组报头检测部81在步骤S61中确定已经开始接收的分组是短分组的情况下,处理进行至步骤S62。在步骤S62中,分组报头检测部81接收从图像传感器21发送的现有分组结构的短分组。
同时,在分组报头检测部81在步骤S61中确定已经开始接收的分组不是短分组(即,已经开始接收长分组)的情况下,处理进行至步骤S63。在步骤S63中,拆包部87接收从图像传感器21发送的现有分组结构的长分组的有效载荷以检索图像数据,CRC算术部86接收在分组报头之后发送的WC+第一字节作为CRC。
在步骤S60、步骤S62或步骤S63中的多条处理之后,处理进行至步骤S64,并且控制器74结束分组接收处理。此后,处理返回至S58,并且随后以相同方式针对下个分组重复地执行接收分组的处理。
图14是描述在图13中的步骤S60中的处理中进行的扩展模式接收处理的流程图。
在步骤S71中,分组报头检测部81确定扩展模式的模式设置是否是扩展模式0。例如,在表示分组报头的数据类型中扩展类型设置信息表示扩展模式0(DataType[1:0]=2'b00)的情况下,分组报头检测部81确定扩展模式的模式设置为扩展模式0。
在分组报头检测部81在步骤S71中确定扩展模式的模式设置为扩展模式0的情况下,处理进行至步骤S72。在步骤S72中,解释部83接收有效载荷的第一字节作为扩展分组报头。
在步骤S73中,解释部83确认在步骤S72中接收的扩展分组报头的数据类型(DataType[7:0]),并且确定已经开始接收的分组是否是扩展短分组。
在解释部83在步骤S73中确定分组是扩展短分组的情况下,处理进行至步骤S74。在步骤S74中,解释部83接收根据在步骤S72中接收的扩展分组报头中存储的设置(OePH[7:0])的可选扩展分组报头。
在步骤S75中,CRC算术部86接收在可选扩展分组报头之后发送的WC+第一字节作为CRC。
同时,在解释部83在步骤S73中确定分组不是扩展短分组(即,已经开始扩展长分组的接收)的情况下,处理进行至步骤S76。在步骤S76中,解释部83根据在步骤S72中接收的扩展分组报头中存储的设置(OePH[7:0])接收可选扩展分组报头。
在步骤S77中,拆包部87接收从图像传感器21发送的扩展长分组的传统有效载荷,并且检索图像数据。
在步骤S78,解释部83根据存储在步骤S72接收的扩展分组报头中的设置(OePF[3:0])接收可选扩展分组报尾。
在步骤S79中,CRC算术部86接收在可选扩展分组报尾之后发送的WC+第一字节作为CRC。
然后,在步骤S71中确定扩展模式的模式设置不是扩展模式0的情况下,在步骤S75中的处理之后或者在步骤S79中的处理之后,结束扩展模式接收处理。
如上所述,应用处理器22能够接收扩展短分组或扩展长分组以获取数据。
<分组结构的第二结构实例>
参考图15至18给出在扩展模式自适应CSI-2发送电路31与扩展模式自适应CSI-2接收电路32之间的通信中使用的分组的分组结构的第二结构实例的描述。
在图3至8中所示的上述第一结构实例中,分组报头和分组报尾具有与现有CSI-2标准中的分组结构相同的分组结构,重点在于保持与现有CSI-2标准的兼容性;扩展分组报头、可选扩展分组报头和可选扩展分组报尾允许分组结构被扩展。相反,在下面描述的第二结构实例中,使得分组报头和分组报尾与现有CSI-2标准中的分组报头和分组报尾不同,并且扩展分组报头和扩展分组报尾允许分组结构被扩展。
图15示出了在物理层是D-PHY的情况下,要在CSI-2扩展模式中使用的短分组(在下文中,称为面向D-PHY的扩展短分组)的分组结构。
对于图15中示出的面向D-PHY的扩展短分组,扩展模式以与图4中示出的第一结构实例的面向D-PHY的扩展短分组相同的方式通过与现有CSI-2标准中相同的分组报头中存储的数据类型来识别。
同时,在图15所示的面向D-PHY的扩展短分组中,以与根据现有CSI-2标准的短分组相同的方式,将帧号存储在分组报头的数据类型的接下来16位中的短分组数据字段中。然后,继分组报头之后,发送以与图4中示出的扩展分组报头相同的方式构成的扩展分组报头。
因此,用作接收侧的应用处理器22能够解释存储在扩展分组报头中的数据类型,以在是扩展短分组的情况下确定帧号被存储在分组报头的数据字段中。
应注意,以与图4中示出的第一结构实例的面向D-PHY的扩展短分组中的可选扩展分组报头相同的方式构成图15中示出的面向D-PHY的扩展短分组中的可选扩展分组报头。然而,可选扩展分组报头具有不嵌入有效载荷中的分组结构,并且因此不需要在结束时被提供CRC。
图16示出了在物理层是D-PHY的情况下,要在CSI-2扩展模式中使用的长分组(在下文中,称为面向D-PHY的扩展长分组)的分组结构。
在图16所示的面向D-PHY的扩展长分组中,扩展数据被发送作为分组报头或分组报尾的一部而不嵌入在有效载荷中。因而,头处的分组报头的WC以与现有标准相同的方式严格地指示有效载荷的字节长度。
图17示出了在物理层是C-PHY的情况下,在CSI-2扩展模式中使用的短分组(在下文中,称为面向C-PHY的扩展短分组)的分组结构。
根据现有的CSI-2标准,严格地发送在图17中示出的面向C-PHY的扩展短分组的扩展部作为分组报头的扩展,并且因此在帧号之后插入诸如扩展分组报头的扩展部。然后,以与现有的CSI-2标准相同的方式,分组报头以CRC结束。此外,利用介于其间的SYNC发送它们两次的分组结构与根据现有CSI-2标准的短分组相似。
图18示出了在物理层是C-PHY的情况下,在CSI-2扩展模式中使用的长分组(在下文中,称为面向C-PHY的扩展长分组)的分组结构。
如上所述,图18中示出的面向C-PHY的扩展长分组与图8中示出的第一结构实例的面向C-PHY的扩展长分组的不同之处在于,头分组报头的WC以与现有标准相同的方式严格指示有效载荷的字节长度。
如上所述,与现有分组结构相比,图15至图18中所示的第二结构实例的扩展分组的分组结构能够以与第一结构实例(图3至图8)的扩展分组的分组结构相同的方式适于各种应用。
然而,第二结构实例的扩展分组具有其中在不将扩展数据嵌入现有有效载荷中的情况下扩展现有分组报头或报尾的分组结构。因此,在采用第二结构实例的扩展分组的分组结构的情况下,与采用第一结构实例的扩展分组的分组结构的情况相比,不可能最小化要求来自已经使用的通信系统的改变的影响。即,例如,现有的SerDes发送电路34需要SerDes接收电路35(图2)改变。
如上所述,采用第一结构实例的扩展分组使得可以适应各种应用,诸如车辆安装,并且通过最小化需要改变已使用的通信系统的影响来构造车载系统。
此外,采用第二结构实例的扩展分组使得可以适于各种应用,诸如车辆安装,尽管已经使用的通信系统需要改变。
<图像传感器和应用处理器的变形例>
(图像传感器的变形例)
参照图19给出了图像传感器和应用处理器的变形例的描述。
构成上述图9中的图像传感器21和图10中的应用处理器22的各个块被构成为能够以与面向D-PHY的分组和面向C-PHY的分组自适应的方式执行处理。或者,例如,可提供专门为面向D-PHY的分组执行处理的块和专门为面向C-PHY的分组执行处理的块,为每个块切换处理。
图19的A所示的图像传感器21A包括D层处理块部101、C层处理块部102、切换部103以及控制器60。
构成图9中的图像传感器21的块之中,D层处理块部101包括专门针对面向D-PHY的分组执行处理的块。在构成图9中的图像传感器21的块之中,C层处理块部102包括专门针对面向C-PHY的分组执行处理的块。在控制器60的控制下,在D-PHY被用于物理层的情况下,切换部103输出在D层处理块部101中生成的面向D-PHY的分组,在C-PHY被用于物理层的情况下,进行切换以输出在C层处理块部102中生成的面向C-PHY的分组。
(应用处理器的变形例)
图19的B所示的应用处理器22A包括切换部111、D层处理块部112、C层处理块部113以及控制器74。
在控制器74的控制下,切换部111进行切换以将从图像传感器21A发送的分组提供给D层处理块部112或C层处理块部113中的一个。D层处理块部112包括在构成图10中的应用处理器22的块之中专门针对面向D-PHY的分组执行处理的块。C层处理块部113包括在构成图10中的应用处理器22的块之中专门为面向C-PHY的分组执行处理的块。
在以此方式构成的图像传感器21A和应用处理器22A中,可以在通信开始之前在控制器60与控制器74之间设置要使用的物理层。然后,例如,在D-PHY被用于物理层的情况下,在D层处理块部101中生成的面向D-PHY的分组经由切换部103被发送,并且经由切换部111被提供给D层处理块部112以被处理。此外,例如,在C-PHY被用于物理层的情况下,在C层处理块部102中生成的面向C-PHY的分组经由切换部103被发送,并且经由切换部111被提供给C层处理块部113以被处理。
<扩展分组的应用实例>
例如,上述扩展分组被考虑应用于以下使用情况。
例如,考虑扩展分组被应用于发送较高清晰度图像(RAW24)的使用情况。
例如,RAW6、RAW7、RAW8、RAW10、RAW12、RAW14、RAW16和RAW20被定义为当以RAW格式发送图像数据时要根据现有的CSI-2标准存储在分组报头中的数据类型。同时,近年来,为了适应使用车载相机的自动驾驶,期望发送更高清晰度的图像。因此,例如,通过应用扩展分组来扩展数据类型的位计数使得可以为扩展分组报头的数据类型定义更高清晰度RAW24。
此外,扩展分组被考虑应用于智能ROI,智能ROI是用于仅发送画面上的感兴趣区域的技术。
例如,许多相机当前安装在体育场、机场等中。在由这些相机捕捉的整个图像通过诸如互联网的网络从相机发送至云服务器的情况下,假设可能发生互联网的带宽不足、云端的数据量或计算量的增加等。因此,通过在边缘(相机侧)仅切出感兴趣图像区域并发送感兴趣图像区域,预期抑制互联网带宽的不足、云端的数据量或计算量的增加等。
在发送这种SROI的情况下,需要一起发送矩形区域(ROI)的左上方的坐标,以便向接收侧传递感兴趣区域对应于整个画面中何处。另外,需要根据来自接收侧的命令在预定的定时发送整个成像画面的数据。因而,例如,SROI图像和关于整个图像的数据(现有分组报头)以帧为单位以混合方式存在。
因此,应用扩展分组使得可以例如针对X坐标和Y坐标中的每一个发送16位或更多的坐标数据。
此外,对于扩展分组,考虑应用于GLD的使用情况,其中,即使在信道劣化的情况下,通过降低通道数量或带宽来继续通信。应注意,GLD是在CSI-2ver3.0中考虑的建议。
例如,在自动驾驶中,即使当连接相机的线缆的一部分在碰撞时断开时,也需要使用未断开的线缆继续通信并且在撤离至安全区域之后自动停止车辆。因此,车载相机接口需要至少设置有断开检测功能,并且需要被提供以下信息,诸如:行号(16位),表示信息在画面上的哪一行;源ID(8位),指示数据从哪个相机发送;以及消息计数器(16位),指示发送编号。此外,在如上所述的与SROI组合使用的情况下,可想到以帧为单位发送这些信息。
因此,应用扩展分组使得可以发送这些信息。
<适于E2E保护的第一构成实例>
参照图20至图26,描述适于发送路径上的禁止包更改等的规定的构成实例。
例如,在具有如以上参考图2描述的构成的通信系统11A中,在图像传感器21和应用处理器22的接口彼此不同的情况下,转换发送路径上的分组是必要的。即,在图像传感器21的物理层是D-PHY并且应用处理器22的物理层是C-PHY的情况下,例如,在SerDes设备26中需要将分组从面向D-PHY的分组转换成面向C-PHY的分组。
如上所述,在SerDes设备26中不期望执行分组转换的构成违反例如由ISO26262(功能安全)制定的规定,即,禁止发送路径上的分组更改等的规定(在后文中称为E2E(端到端)保护)。
图20是示出了作为应用本技术的通信系统的第三实施例的适于E2E保护的通信系统201的构成实例的框图。
如图20所示,通信系统201具有图像传感器211、SerDes设备212、SerDes设备213以及应用处理器214彼此耦合的构成。应注意,图20举例说明了SERDES是A-PHY的情况,但也包括使用诸如FPD-LINK3的另一SERDES标准耦合的情况。可替代地,在SERDES标准中,可在保持CIS-2格式(至少应用特殊的有效载荷)的同时基于该SERDES标准执行通信。此外,在SERDES中,物理层处理部237和247可包括除A-PHY之外的其他SERDES标准的多个物理层处理部,并可根据应用切换物理层处理部。
图像传感器211至少包括扩展模式自适应CSI-2发送电路221、适应于C-PHY或D-PHY或两者的物理层处理部(在下文中,称为C/D-PHY物理层处理部)222、适应于I2C和/或I3C或两者的从设备(在下文中,称为I2C/I3C从设备)223以及CCI从设备224。
SerDes设备212至少包括CSI-2接收电路231、C/D-PHY物理层处理部232、I2C/I3C主设备233、CCI主机234、面向CSI-2的A-PHY分组生成部235、面向CCI的A-PHY分组发送/接收部236、以及A-PHY适应的物理层处理部237。例如,在SerDes设备212中,将面向C-PHY或者D-PHY的分组转换成面向A-PHY的分组,并且根据寄存器设置等确定该转换。
SerDes设备213至少包括CSI-2发送电路241、C/D-PHY物理层处理部242、I2C/I3C从设备243、CCI从设备244、面向CSI-2的A-PHY分组接收部245、面向CCI的A-PHY分组发送/接收部246以及A-PHY适应的物理层处理部247。例如,在SerDes设备213中,将面向A-PHY的分组转换成面向C-PHY或者面向D-PHY的分组,并且根据寄存器设置等确定该转换。
应用处理器214至少包括扩展模式自适应CSI-2接收电路251、C/D-PHY物理层处理部252、I2C/I3C主设备253和CCI主设备254。
通信系统201因此被构成,并且上述构成的扩展分组从图像传感器211发送并且由应用处理器214接收。这里,即使当通信系统201被构成为允许图像传感器211的物理层处理部222适应D-PHY并且允许应用处理器22的物理层处理部252适应C-PHY时,也不必违反E2E保护。
因此,通信系统201将E2E保护(E2Eprotection)的保护范围限制为作为应用专门的有效载荷的应用专门有效载荷(下文称为AS有效载荷),以便能够适应E2E保护。即,在将面向A-PHY的分组转换为面向C-PHY或D-PHY的分组时或在将面向C-PHY或D-PHY的分组转换为面向A-PHY的分组时,AS有效载荷被禁止改变。
图21示出了扩展为适应E2E保护的面向D-PHY的扩展分组的结构实例。
如图所示,在面向D-PHY的扩展分组中,包括扩展分组报头(ePH)、分组数据和扩展分组报尾(ePF)的AS有效载荷被限制作为E2E保护的保护范围。
在扩展分组报头中,描述了E2E保护的保护范围限于AS有效载荷的情况下所需的预定信息。例如,作为扩展分组报头中描述的预定信息,添加指示存储在AS有效载荷中的数据的数据长度的分组计数PC(Packet Count),以使得能够识别分组数据的数据长度。即,分组数据具有由分组计数PC确定的字节计数。此外,作为扩展分组报头中描述的预定信息,将指示虚拟信道的通道数的虚拟信道VC(Virtual Channel)复制到现有分组报头。
图22示出了扩展为适应E2E保护的面向C-PHY的扩展分组的结构实例。
如图所示,与面向D-PHY的扩展分组相同,在面向C-PHY的扩展分组中,将包括扩展分组报头(ePH)、分组数据和扩展分组报尾(ePF)的AS有效载荷限制为E2E保护的保护范围。此外,以与面向D-PHY的扩展分组相同的方式,在扩展分组报头中,描述了分组计数PC和虚拟信道VC作为在E2E保护的保护范围限于AS有效载荷的情况下必要的预定信息。
图23示出了扩展为适应E2E保护的面向A-PHY的扩展分组的结构实例。
如图所示,同样在面向A-PHY的扩展分组中,包括扩展分组报头(ePH)、分组数据和扩展分组报尾(ePF)的AS有效载荷被限制为E2E保护的保护范围。
此处,如参考图20所描述的,在通信系统201中,根据从图像传感器211发送至SerDes设备212的面向D-PHY或者C-PHY的扩展分组生成面向A-PHY的扩展分组。因此,已经在面向A-PHY的扩展分组的扩展分组报头中描述了分组计数PC和虚拟信道VC。
采用这样的分组结构使得通信系统201能够防止AS有效载荷在传输路径上被改变,从而使得可以符合E2E保护。应注意,图21至图23中所示的分组结构可通过用图3至图8和图15至图18中所示的分组结构的对应分组部分地替换分组结构来使用,从而允许替换分组生成的一部分。
<适应E2E保护的分组发送/接收处理>
图24是描述适应E2E保护的分组发送/接收处理的流程图。
例如,当将要存储在分组数据中的数据(例如,图像数据等)提供给扩展模式自适应CSI-2发送电路221时,开始处理。然后,在步骤S101中,在图像传感器211中,扩展模式自适应CSI-2发送电路221将供应的数据存储在分组数据中。此外,扩展模式自适应CSI-2发送电路221生成描述虚拟信道VC和分组计数PC的扩展分组报头,如上述图21或图22中所示。然后,扩展模式自适应CSI-2发送电路221通过向分组数据添加扩展分组报头和扩展分组报尾来生成AS有效载荷。
在步骤S102中,扩展模式自适应CSI-2发送电路221通过将面向C-PHY或D-PHY的分组报头或者面向C-PHY或D-PHY的分组报尾添加到在步骤S101中生成的AS有效载荷中来生成面向C-PHY或D-PHY的扩展分组。然后,扩展模式自适应CSI-2发送电路221通过C/D-PHY物理层处理部222将面向C-PHY或D-PHY的扩展分组发送给SerDes设备212。
在步骤S103中,在SerDes设备212中,CSI-2接收电路231经由C/D-PHY物理层处理部232接收在步骤S102中从图像传感器211发送的面向C-PHY或者面向D-PHY的扩展分组。然后,CSI-2接收电路231从接收的扩展分组中获取不包括分组报头和分组报尾的AS有效载荷,并且将AS有效载荷照原样提供给面向CSI-2的A-PHY分组生成部235。
在步骤S104中,在SerDes设备212中,面向CSI-2的A-PHY分组生成部235通过将面向A-PHY的分组报头和面向A-PHY的分组报尾添加至从CSI-2接收电路231供应的AS有效载荷来生成面向A-PHY的扩展分组。然后,面向CSI-2的A-PHY分组生成部235经由A-PHY适应的物理层处理部237将面向A-PHY的扩展分组发送至SerDes设备213。
在步骤S105中,在SerDes设备213中,面向CSI-2的A-PHY分组接收部245通过A-PHY适应的物理层处理部247接收在步骤S104中从SerDes设备212发送的面向A-PHY的扩展分组。然后,面向CSI-2的A-PHY分组接收部245从接收的扩展分组中获取不包括分组报头和分组报尾的AS有效载荷,并且将AS有效载荷照原样提供给CSI-2发送电路241。
在步骤S106中,CSI-2发送电路241通过将面向C-PHY或D-PHY的分组报头和面向C-PHY或D-PHY的分组报尾添加到在步骤S105中从面向CSI-2的A-PHY分组接收部245提供的AS有效载荷中来生成面向C-PHY或D-PHY的扩展分组。然后,CSI-2发送电路241经由C/D-PHY物理层处理部242向应用处理器214发送面向C-PHY或D-PHY的扩展分组。
在步骤S107中,在应用处理器214中,扩展模式自适应CSI-2接收电路251经由C/D-PHY物理层处理部252接收在步骤S106中从SerDes设备213发送的面向C-PHY或D-PHY的扩展分组。然后,扩展模式自适应CSI-2接收电路251从接收的扩展分组中获取不包括分组报头和分组报尾的AS有效载荷,并且将存储在AS有效载荷的分组数据中的各种类型的数据输出到后续级的LSI(未示出)。此后,适应E2E保护的分组发送/接收处理结束,并且对于下一个扩展分组重复地执行类似的处理。
如上所述,通信系统201能够通过执行适应E2E保护的分组发送/接收处理,发送和接收扩展分组,而不改变传输路径上的AS有效载荷。此时,例如,即使在图像传感器211的物理层是D-PHY并且应用处理器214的物理层是C-PHY的情况下,即,在各个接口不同的情况下,也可以遵守E2E保护。
<图像传感器211的详细构成实例>
图25是示出图像传感器211的详细构成实例的框图。要注意的是,在图25中所示的图像传感器211中,与在图9中的图像传感器21的构成相同的构成由相同的参考数字表示,并且省略其详细描述。
即,以与图9中的图像传感器21相同的方式,图像传感器211包括像素41、AD转换器42、图像处理部43、寄存器47和控制器60。此外,图像传感器211包括I2C/I3C从设备223和CCI从设备224,其分别对应于图9中的I2C/I3C从设备46和CCI从设备59。
进一步地,图像传感器211包括扩展模式自适应CSI-2发送电路221和物理层处理部222,并且物理层处理部222适应于A-PHY、C-PHY和D-PHY。
扩展模式自适应CSI-2发送电路221除了控制器60和CCI从设备224之外还包括AS有效载荷生成器301、选择器302、A-PHY分组生成器303、C-PHY分组生成器304、D-PHY分组生成器305以及选择器306。
AS有效载荷生成器301生成限制为E2E保护的保护范围的AS有效载荷,并输出给选择器302。例如,AS有效载荷生成器301包括打包部311、扩展分组报头生成部312和扩展分组报尾生成部313。
打包部311将从图像处理部43提供的图像数据打包为待发送的数据,并且生成由分组计数PC确定的字节计数的分组数据。例如,控制器60能够根据存储在寄存器47中的设置值(例如,图像尺寸等)控制由打包部311生成的分组数据的字节计数。
如参照图21至图23所描述的,例如,扩展分组报头生成部312生成其中描述了分组计数PC和虚拟信道VC的扩展分组报头,并且将其添加到分组数据。扩展分组报尾生成部313生成扩展分组报尾,并且将其添加到分组数据。
在控制器60的控制下,选择器302选择并行设置的A-PHY分组生成器303、C-PHY分组生成器304或D-PHY分组生成器305中的一个,作为从AS有效载荷生成器301提供的AS有效载荷的输出目的地。
A-PHY分组生成器303根据经由选择器302提供的AS有效载荷生成面向A-PHY的扩展分组,并且将其输出至选择器306。例如,A-PHY分组生成器303包括AAL生成部321、面向A-PHY的分组报头生成部322和面向A-PHY的分组报尾生成部323。
例如,AAL(A-PHY适配层)生成部321将AS有效载荷生成器301生成的AS有效载荷分成被称为适配层的层级中的每380字节的AS有效载荷。然后,面向A-PHY的分组报头生成部322将面向A-PHY的分组报头添加到划分的AS有效载荷,并且面向A-PHY的分组报尾生成部323添加面向A-PHY的分组报尾。
C-PHY分组生成器304根据经由选择器302提供的AS有效载荷生成面向C-PHY的扩展分组,并且将其输出至选择器306。例如,C-PHY分组生成器304包括面向C-PHY的分组报头生成部331、面向C-PHY的分组报尾生成部332和面向C-PHY的通道分配部333。
例如,面向C-PHY的分组报头生成部331将面向C-PHY的分组报头添加到由AS有效载荷生成器301生成的AS有效载荷中,并且面向C-PHY的分组报尾生成部332将面向C-PHY的分组报尾添加到其中。然后,面向C-PHY的通道分配部333根据CSI-2标准将面向C-PHY的扩展分组分配到三个通道。
D-PHY分组生成器305根据经由选择器302提供的AS有效载荷生成面向D-PHY的扩展分组,并且将其输出至选择器306。例如,D-PHY分组生成器305包括面向D-PHY的分组报头生成部341、面向D-PHY的分组报尾生成部342和面向D-PHY的通道分配部343。
例如,面向D-PHY的分组报头生成部341将面向D-PHY的分组报头添加到由AS有效载荷生成器301生成的AS有效载荷中,并且面向D-PHY的分组报尾生成部342将面向D-PHY的分组报尾添加到其中。然后,面向D-PHY的通道分配部343根据CSI-2标准将D-PHY扩展分组分配至四个通道。
例如,面向D-PHY的分组报头生成部341将面向D-PHY的分组报头添加到由AS有效载荷生成器301生成的AS有效载荷中,并且面向D-PHY的分组报尾生成部342将面向D-PHY的分组报尾添加到其中。然后,面向D-PHY的通道分配部343根据CSI-2标准将面向D-PHY的扩展分组分配至四个通道。
在控制器60的控制下,选择器306选择并行设置的A-PHY分组生成器303、C-PHY分组生成器304和D-PHY分组生成器305中的一个,作为提供给物理层处理部222的扩展分组的输出源。
然后,在从A-PHY分组生成器303提供面向A-PHY的扩展分组的情况下,物理层处理部222在一个通道中发送面向A-PHY的扩展分组。此外,在从C-PHY分组生成器304提供面向C-PHY的扩展分组的情况下,物理层处理部222在三个通道中发送面向C-PHY的扩展分组。此外,在从D-PHY分组生成器305提供面向D-PHY的扩展分组的情况下,物理层处理部222在四个通道中发送面向D-PHY的扩展分组。
在如上所述构成的图像传感器211中,扩展模式自适应CSI-2发送电路221被构成为允许AS有效载荷生成器301经由选择器302耦合至A-PHY分组生成器303、C-PHY分组生成器304和D-PHY分组生成器305。这使图像传感器211能够在一个AS有效载荷生成器301中生成面向A-PHY的扩展分组、面向C-PHY的扩展分组和面向D-PHY的扩展分组共有的AS有效载荷。即,A-PHY分组生成器303、C-PHY分组生成器304和D-PHY分组生成器305能够共享AS有效载荷生成器301,从而使得可以实现电路尺寸的减小。因此,可以实现图像传感器211的小型化。
<应用处理器214的详细构成实例>
图26是示出应用处理器214的详细构成实例的框图。要注意的是,在图26中所示的应用处理器214中,与在图10中的应用处理器22的构成共同的构成由相同的参考数字表示,并且省略其详细描述。
即,应用处理器214以与图10中的应用处理器22相同的方式包括寄存器73和控制器74。应注意,控制器74可通过软件实现。此外,应用处理器214包括I2C/I3C主设备253和CCI主设备254,其分别对应于图10中的I2C/I3C主设备72和CCI主机88。
此外,应用处理器214包括扩展模式自适应CSI-2接收电路251和物理层处理部252,并且物理层处理部252适应A-PHY、C-PHY和D-PHY。
扩展模式自适应CSI-2接收电路251除了CCI主设备254之外还包括选择器401、A-PHY分组接收器402、C-PHY分组接收器403、D-PHY分组接收器404、选择器405、以及AS有效载荷接收器406。
选择器401选择并行设置的A-PHY分组接收器402、C-PHY分组接收器403、D-PHY分组接收器404中的一个,作为从物理层处理部252供应的扩展分组的输出目的地。
A-PHY分组接收器402接收经由选择器401供应的面向A-PHY的扩展分组,并且将其输出至选择器405。例如,A-PHY分组接收器402包括面向A-PHY的分组报头解释部411、面向A-PHY的分组报尾验证部412和AAL处理部413。
例如,面向A-PHY的分组报头解释部411解释在面向A-PHY的分组报头中描述的内容,并且执行接收面向A-PHY的扩展分组所必需的处理,并且面向A-PHY的分组报尾验证部412使用面向A-PHY的分组报尾来验证存在或不存在错误。然后,AAL处理部413执行处理以在图25中的AAL生成部321中组合划分的适配层。
C-PHY分组接收器403接收经由选择器401提供的面向C-PHY的扩展分组,并且将其输出到选择器405。例如,C-PHY分组接收器403包括面向C-PHY的通道合并部421、面向C-PHY的分组报头解释部422和面向C-PHY的分组报尾验证部423。
例如,面向C-PHY的通道合并部421合并根据CSI-2标准分配在三个通道中并且经由物理层处理部252提供的面向C-PHY的扩展分组。然后,面向C-PHY的分组报头解释部422解释在面向C-PHY的分组报头中描述的内容,并且执行接收面向C-PHY的扩展分组所需的处理,并且面向C-PHY的分组报尾验证部423使用面向C-PHY的分组报尾来验证存在或不存在错误。
D-PHY分组接收器404接收经由选择器401提供的面向D-PHY的扩展分组,并且将其输出到选择器405。例如,D-PHY分组接收器404包括面向D-PHY的通道合并部431、面向D-PHY的分组报头解释部432和面向D-PHY的分组报尾验证部433。
例如,面向D-PHY的通道合并部431将根据CSI-2标准分配在四个通道中并且经由物理层处理部252提供的面向D-PHY的扩展分组进行合并。然后,面向D-PHY的分组报头解释部432解释在面向D-PHY的分组报头中描述的内容,并且执行接收面向D-PHY的扩展分组所需的处理,并且面向D-PHY的分组报尾验证部433使用面向D-PHY的分组报尾来验证存在或不存在错误。
选择器405选择并行设置的A-PHY分组接收器402、C-PHY分组接收器403、和D-PHY分组接收器404中的一个,作为要提供给AS有效载荷接收器406的扩展分组的输出源。
以与图25中的AS有效载荷生成器301对应的方式,AS有效载荷接收器406包括拆包部441、扩展分组报头解释部442和扩展分组报尾验证部443。拆包部441对由打包部311打包的图像数据拆包。例如,扩展分组报头解释部442解释在扩展分组报头生成部312中生成的扩展分组报头,并且读取分组计数PC和虚拟信道VC。扩展分组报尾验证部443使用由扩展分组报尾生成部313添加的扩展分组报尾来验证存在或不存在错误。然后,AS有效载荷接收器406将存储在经由选择器405提供的分组数据中的各种类型的数据(例如,图像数据、用于车辆安装的行号、源ID等、CRC错误等)输出至后续阶段的LSI(未示出)。
在如上所述构成的应用处理器214中,扩展模式自适应CSI-2接收电路251被构成为允许AS有效载荷接收器406经由选择器405耦合至A-PHY分组接收器402、C-PHY分组接收器403、和D-PHY分组接收器404。这使得应用处理器214能够在一个AS有效载荷接收器406中接收面向A-PHY的扩展分组、面向C-PHY的扩展分组和面向D-PHY的扩展分组共有的AS有效载荷。即,A-PHY分组接收器402、C-PHY分组接收器403、和D-PHY分组接收器404能够共享AS有效载荷接收器406,从而使得可以实现电路尺寸的减小。因此,可以实现应用处理器214的小型化。
<适应E2E保护的第二构成实例>
参照图27至74,给出了适应E2E保护的第二构成实例的描述。
<A-PHY直接耦合构成的构成实例>
图27中所示的通信系统501具有直接耦合构成,其中,图像传感器511和应用处理器512通过A-PHY(不经由稍后参照图40描述的SerDes设备)彼此直接耦合。
图像传感器511包括A-PHY处理部521、CSIA处理部522、CSI2处理部523、CSI2-FS处理部524、CCI处理部525、CCI-FS处理部526和寄存器527。
A-PHY处理部521以CCI处理部525作为上层来实现,并且通过MIPI A-PHY耦合至应用处理器512的A-PHY处理部531以发送和接收扩展分组报头ePH和扩展分组报尾ePF。
例如,CCI-FS处理部526将包括在扩展分组报头ePH中的目的地ID与图像传感器511的ID(源ID)相互比较以确定是否访问图像传感器511。
应用处理器512包括A-PHY处理部531、CSIA处理部532、CSI2处理部533、CSI2-FS处理部534、CCI处理部535、CCI-FS处理部536、寄存器537和CCI-FS开关538。
A-PHY处理部531以CCI处理部535作为上层来实现,并且通过MIPI A-PHY耦合到图像传感器511的A-PHY处理部521以发送和接收扩展分组报头ePH和扩展分组报尾ePF。
例如,CCI-FS处理部536将包括在扩展分组报头ePH中的目的地ID与应用处理器512的ID(源ID)相互比较,以确定是否访问应用处理器512。
例如,CCI-FS处理部536将包括在扩展分组报头ePH中的目的地ID与ID(应用处理器512的源ID)进行比较,并且确定是否访问应用处理器512。
在CCI-FS处理部536使能的情况下,CCI-FS开关538执行开关以允许通过CCI-FS处理部536发送和接收数据,在CCI-FS处理部536禁用的情况下,允许不通过CCI-FS处理部536发送和接收数据。
参考图28至32给出通信系统501中的读命令和读数据的传送的描述。
图28示出了在读访问期间在应用处理器512的CCI-FS处理部536中生成的读命令的分组构成的示例。
如图28所示,读命令由扩展分组报头ePH*(*=n)、AP(CCI)有效载荷、扩展分组报尾ePF1和扩展分组报尾ePF0构成。
扩展分组报头ePH*(*=n)如图所示包括扩展分组报头ePH0至ePH3。
扩展分组报头ePH0存储扩展VC、扩展DT、扩展PFEN和扩展PHEN。例如,扩展DT是指示CCI协议(I2C)的信息,并且扩展DT用于执行路由处理。
扩展分组报头ePH1存储源ID[7:1](Source ID[7:1])和分组长度(PacketLength)。例如,SourceID是指示CCI协议(I2C)的发送源的信息,并且基于SourceID执行响应处理。Packet Length是指示数据长度的信息。
扩展分组报头ePH2存储安全描述符(Security Descriptor)和消息计数器(Message Counter)。安全描述符表示是否使用安全,并且在不使用安全的情况下表示“8’h0”。消息计数器是指示分组顺序的信息,并且指示消息被计数的计数值;第五消息指示“16’h5”。
扩展分组报头ePH3存储目的地ID[7:1](Destination ID[7:1])、读/写(Read/Write)和目的地地址(Destination Address)。目的地ID[7:1]表示图像传感器511的CCI处理部525的从地址,并且在示出的实例中是“7’h0D”。例如,Destination ID是指示CCI协议(I2C)的发送目的地的信息,并且基于Destination ID执行路由并且参考通信路径。Read/Write表示数据的读或写,并且在读的情况下表示“1’b1”。Destination Address指示作为最终目的地的图像传感器511的寄存器527的地址,并且在示出的实例中是“0x0200”。
AP(CCI)有效载荷存储例如不同类型的数据(数据0[7:0])。AP(CCI)有效载荷在安全关闭时不被传送,并且可在安全开启时存储和传送伪数据。
当安全关闭时,不发送扩展分组报尾ePF1。
扩展分组报尾ePF0存储CRC计算值。
在应用处理器512中,这样的分组结构的读命令在CCI-FS处理部536中生成,并且被提供给A-PHY处理部531。
图29示出了在读访问期间从应用处理器512的A-PHY处理部531输出的读命令的分组构成的实例。
如图29所示,A-PHY处理部531使用从CCI-FS处理部536提供的读命令作为E2E保护的保护范围添加A-PHY报头和A-PHY报尾。
由应用处理器512的APHY处理部531对这种分组结构的读命令进行A-PHY传送。然后,在图像传感器511中,A-PHY处理部521从读命令中移除A-PHY报头和A-PHY报尾。此后,经由目的地ID所指示的从地址“7’h0D”的CCI处理部525将读命令提供给CCI-FS处理部526。
图30示出了在读访问期间将要提供给CCI-FS处理部526的读命令和要在CCI-FS处理部526中生成的读数据的分组结构的示例。
如图30所示,正如图28所示的分组结构的读命令,即,设置为APHY传送中的E2E保护的保护范围的读命令被提供给CCI-FS处理部526。
如所示的,读数据由扩展分组报头ePH*(*=n)、AP(CCI)有效载荷、扩展分组报尾ePF1、以及扩展分组报尾ePF0构成。此外,AP(CCI)有效载荷存储从由读命令的扩展分组报头ePH的源地址信息(Destination Address)指示的寄存器527的地址“0x0200”读取的读数据值。
在图像传感器511中,在CCI-FS处理部526中生成这种分组结构的读数据,并且将其提供给A-PHY处理部521。
图31示出了在读访问期间从图像传感器511的A-PHY处理部521输出的读数据的分组构成的实例。
如图31所示,A-PHY处理部521使用从CCI-FS处理部526提供的读数据作为E2E保护的保护范围添加A-PHY报头和A-PHY报尾。
通过图像传感器511的APHY处理部521对这种分组结构的读数据进行A-PHY传送。然后,在应用处理器512中,A-PHY处理部521从读数据中移除A-PHY报头和A-PHY报尾,并将读数据提供给CCI-FS处理部536。
图32示出了在读访问期间将被提供给CCI-FS处理部536的读数据的分组结构的示例。
如图32所示,分组结构的读数据恰如图30中所示,即,设置为A-PHY传送中E2E保护的保护范围的读数据被提供给CCI-FS处理部536。
参考图33至35给出了通信系统501中的写数据传送的描述。应注意,通过假设从图像传感器511侧的CCI-FS处理部526使能的状态进行访问来给出描述。
图33示出了在写访问期间在应用处理器512的CCI-FS处理部536中生成的写数据的分组构成的示例。
如图33所示,写数据由扩展分组报头ePH*(*=n)、AP(CCI)有效载荷(写数据)、扩展分组报尾ePF1和扩展分组报尾ePF0构成。
扩展分组报头ePH*(*=n)包括扩展分组报头ePH0至ePH3,如图所示。
扩展分组报头ePH0存储扩展VC、扩展DT、扩展PFEN和扩展PHEN。
扩展分组报头ePH1存储源ID[7:1](Source ID[7:1])和分组长度(PacketLength)。
扩展分组报头ePH2存储安全描述符(Security Descriptor)和消息计数器(Message Counter)。安全描述符表示是否使用安全,并且在不使用安全的情况下表示“8’h0”。消息计数器指示消息被计数的计数值;第四消息指示“16’h4”。
扩展分组报头ePH3存储目的地ID[7:1](Destination ID[7:1])、读/写(Read/Write)和目的地地址(Destination Address)。目的地ID[7:1]表示图像传感器511的CCI处理部525的从地址,并且在示出的实例中是“7’h0D”。读/写表示数据的读或写,并且在写的情况下表示“1’b0”。目的地地址指示作为最终目的地的图像传感器511的寄存器527的地址,并且在示出的实例中是“0x1234”。
AP(CCI)有效载荷存储要写入图像传感器511的数据(Data0[7:0]),并且0xFF的值是写数据。
在安全关闭时,不发送扩展分组报尾ePF1。
扩展分组报尾ePF0存储CRC计算值。
在应用处理器512中,这种分组结构的写数据在CCI-FS处理部536中生成,并且被提供给A-PHY处理部531。
图34示出了在写访问期间从应用处理器512的A-PHY处理部531输出的写数据的分组构成的实例。
如图34所示,A-PHY处理部531使用从CCI-FS处理部536提供的写数据作为E2E保护的保护范围添加A-PHY报头和A-PHY报尾。
由应用处理器512的A-PHY处理部531对这种分组结构的写数据进行A-PHY传送。然后,在图像传感器511中,A-PHY处理部521从写数据中去除A-PHY报头和A-PHY报尾。此后,写数据通过由目的地ID表示的从地址“7’h0D”的CCI处理部525提供给CCI-FS处理部526。
图35示出了在写访问期间将要提供给CCI-FS处理部526的写数据的分组结构的实例。
如图35所示,恰如图33中所示的分组结构的写数据(即,设置为A-PHY传送中E2E保护的保护范围的写数据)被提供给CCI-FS处理部526。然后,CCI-FS处理部526将存储在AP(CCI)有效载荷中的数据从由CCI命令ID信息指示的寄存器527的地址“0x1234”(即,读命令的扩展分组报头ePH的源地址信息(目的地地址))写入。
参照图36,描述扩展分组报头ePH和扩展分组报尾ePF的概述。
如图36所示,CCI-FS E2E分组由扩展分组报头ePH、分组数据和扩展分组报尾ePF构成,并且其分组长度是长度(Length)=字节计数×数据字节宽度。
诸如扩展VC、扩展DT或消息计数器字段用作扩展分组报头ePH。可以使用扩展分组报头ePH的字段值(epFEN字段)来改变扩展分组报头ePH的长度。
分组数据由例如PL个数据(数据0至数据PL-1)构成,其长度为长度=分组长度(PL)×数据字节宽度。在读命令的情况下,当安全关闭时,不将数据存储在分组数据中;当安全开启时,在分组数据中存储1字节的伪数据。在写访问的情况下,针对有效载荷数据的写数据被存储在分组数据中。在读访问的情况下,针对有效载荷数据的读数据存储在分组数据中。当使用时钟拉伸(ePH0控制码指示符=1)时,将表示控制类型的1字节数据有效载荷添加到分组数据。
可以使用扩展分组报头ePH的字段设置值(epFEN字段)改变扩展分组报尾ePF1的长度。此外,可以添加安全相关信息。
可以使用扩展分组报头ePH的字段设置值将从分组数据计算的CRC-32添加到扩展分组报尾ePF0。
<通信处理的处理实例>
参照图37至图39的流程图,给出了在图27中所示的通信系统501中执行的使用CCI-FS的通信处理的描述。
如图37所示,在步骤S211至S222中,执行初始设置和确认操作。
在步骤S211中,在CCI-FS处理部526的能力寄存器上(Capability register)从应用处理器512到图像传感器511执行两次读访问。应注意,执行读访问的次数不限于两次,并且可以根据功能安全可选地设置,例如,执行读访问的次数可以是一次,或三次或更多次的多倍。
在步骤S212中,在应用处理器512中,CSI2-FS处理部524确定作为在步骤S211中的读访问的结果,CCI-FS处理部526的能力寄存器值是否两次都是1’b1。在步骤S212中确定CCI-FS处理部526的能力寄存器值不是两次都是1’b1的情况下,处理进行至步骤S213。
在步骤S213中,在应用处理器512中,CSI2-FS处理部524确定重传次数是否是三次以上。需要说明的是,重传的次数不限于三次,可以设置为任意次数;这同样适应下面描述的重传次数。在步骤S213中确定重传次数不是三次以上(一次或两次)的情况下,处理返回至步骤S211,随后重复执行类似处理。
同时,在步骤S212中确定CCI-FS处理部526的能力寄存器值两次都是1’b1的情况下,处理进行到214。
在步骤S214中,对CCI-FS处理部526的使能寄存器(Enable register)从应用处理器512到图像传感器511执行一次写访问。
在步骤S215中,在图像传感器511中,CCI-FS处理部526对应用处理器512的CCI-FS处理部536的使能寄存器执行一次写访问。
在步骤S216中,在与其相对的应用处理器512的CCI-FS处理部536的目的地SID寄存器中设置图像传感器511的从地址。
在步骤S217,设置应用处理器512的CCI-FS处理部536的ePH寄存器。
在步骤S218中,从应用处理器512到图像传感器511设置CCI-FS处理部526的ePH寄存器。
在步骤S219中,从应用处理器512到图像传感器511,对CCI-FS处理部526的使能寄存器和错误寄存器(Error register)执行读访问。
在步骤S220中,在应用处理器512中,CCI-FS处理部536确定关于步骤S219中的读访问的结果,CCI-FS处理部526的使能寄存器值是否是1’b1,并且错误寄存器值是否是0。
在步骤S220中确定CCI-FS处理部526的使能寄存器值不是1’b1或者错误寄存器值不是零的情况下,处理进行至步骤S221。
在步骤S221中,在应用处理器512中,CSI2-FS处理部524确定重传次数是否是三次以上。在步骤S221中确定重传次数为三次或更多次的情况下,处理返回至步骤S211,随后重复执行类似处理。
同时,在步骤S213中确定重传次数是三次或更多次的情况下,或者在步骤S221中确定重传次数不是三次或更多次(一次或两次)的情况下,处理进行至步骤S222。
在步骤S222中,通过CCI进行通信而不使用CCI-FS,然后结束通信处理。
同时,在步骤S220中确定CCI-FS处理部526的使能寄存器值为1’b1并且错误寄存器值为0的情况下,处理进行到步骤S223。
如图38所示,在步骤S223至S234中,执行使用CCI-FS的写操作。
在步骤S223中,应用处理器512的CCI-FS处理部536设置ePH寄存器以执行写操作。
在步骤S224中,应用处理器512的CCI-FS处理部536设置写数据寄存器。
在步骤S225,应用处理器512的CCI-FS处理部536将命令执行寄存器设置为一。
在步骤S226中,在应用处理器512中,A-PHY处理部531使用由CCI-FS处理部536生成的写数据作为E2E保护的保护范围,通过添加A-PHY报头和A-PHY报尾来执行A-PHY传送,如上述图34所示。
在步骤S227中,在图像传感器511中,A-PHY处理部521从写数据中移除A-PHY报头和A-PHY报尾,并将E2E保护的保护范围提供给CCIFS处理部526。
在步骤S228中,在图像传感器511中,CCI-FS处理部526根据扩展分组报头ePH的内容确认图像传感器511的源ID和扩展分组报头ePH的目的地SID。
在步骤S229中,在图像传感器511中,CCI-FS处理部526确定在步骤S228中确认的图像传感器511的源ID和扩展分组报头ePH的目的地SID是否彼此一致。
在步骤S229中确定图像传感器511的源ID(Source ID)和扩展分组报头ePH的目的地SID(Destination SID)彼此一致的情况下,处理进行到步骤S230。
在步骤S230中,在图像传感器511中,CCI-FS处理部526从扩展分组报头ePH的内容确认消息计数器(Message Counter)。
在步骤S231中,在图像传感器511中,CCI-FS处理部526确定在步骤S230中确认的图像传感器511的消息计数器(接收)和扩展分组报头ePH的消息计数器是否彼此一致。
在步骤S231中确定图像传感器511的消息计数器(接收)和扩展分组报头ePH的消息计数器彼此一致的情况下,处理进行到步骤S232。
在步骤S232中,在图像传感器511中,CCI-FS处理部526从扩展分组报尾ePF的内容确认CRC。
在步骤S233中,在图像传感器511中,CCI-FS处理部526确定在步骤S232中确认的扩展分组报尾ePF的接收值(ePF0)与CCI-FS处理部526中计算的CRC计算结果是否彼此一致。
在步骤S233中确定扩展分组报尾ePF的接收值(ePF0)和CRC计算结果彼此一致的情况下,处理进行至步骤S234。
在步骤S234中,在图像传感器511中,CCI-FS处理部526执行写入处理,以从扩展分组报头ePH和扩展分组报尾ePF的内容将写数据写入寄存器527的地址。此后,处理进行至步骤S235。
如图39所示,在步骤S235至S247中,执行使用CCI-FS的读操作。
在步骤S235中,在应用处理器512中,CCI-FS处理部536设置ePH寄存器以允许执行读操作。
在步骤S236中,在应用处理器512中,CCI-FS处理部536将命令执行寄存器设置为一。
在步骤S237,在应用处理器512中,A-PHY处理部531通过使用由CCI-FS处理部536生成的写数据作为E2E保护的保护范围添加A-PHY报头和A-PHY报尾来执行A-PHY传送,如上述图29所示。
在步骤S238中,在图像传感器511中,A-PHY处理部521将A-PHY报头和A-PHY报尾从写数据中移除,并将E2E保护的保护范围提供给CCI-FS处理部526。
在步骤S239,在图像传感器511中,CCI-FS处理部526从扩展分组报头ePH的内容确认图像传感器511的源ID(Source ID)和扩展分组报头ePH的目的地SID(DestinationSID)。
在步骤S240,在图像传感器511中,CCI-FS处理部526确定在步骤S239中确认的图像传感器511的源ID和扩展分组报头ePH的目的地SID是否彼此一致。
在步骤S240中确定图像传感器511的源ID和扩展分组报头ePH的目的地SID彼此一致的情况下,处理进行至步骤S241。
在步骤S241,在图像传感器511中,CCI-FS处理部526从扩展分组报头ePH的内容确认消息计数器。
在步骤S242中,在图像传感器511中,CCI-FS处理部526确定在步骤S241中确认的图像传感器511的消息计数器(接收)和扩展分组报头ePH的消息计数器是否彼此一致。
在步骤S242中确定图像传感器511的消息计数器(接收)和扩展分组报头ePH的消息计数器彼此一致的情况下,处理进行至步骤S243。
在步骤S243,在图像传感器511中,CCI-FS处理部526根据扩展分组报尾ePF的内容确认CRC。
在步骤S244中,在图像传感器511中,CCI-FS处理部526确定在步骤S243中确认的扩展分组报尾ePF的接收值(ePF0)与CCI-FS处理部526中计算出的CRC计算结果是否彼此一致。
在步骤S244中确定扩展分组报尾ePF的接收值(ePF0)和CRC计算结果彼此一致,结束处理。
同时,在图38中的步骤S229或图39中的步骤S240中,如果确定图像传感器511的源ID和扩展分组报头ePH的目的地SID彼此不一致,则处理进行到步骤S245。
在步骤S245中,图像传感器511侧的错误寄存器(Routing,路由)被设置为1,然后,处理结束。
同时,在图38的步骤S231或图39的步骤S242中,如果确定图像传感器511的消息计数器(接收)和扩展分组报头ePH的消息计数器彼此不一致,则处理进行到步骤S246。
在步骤S246中,图像传感器511侧的错误寄存器(MC)被设置为1,并且此后处理结束。
同时,在图38的步骤S233中或图39的步骤S244中确定扩展分组报尾ePF的接收值(ePF0)和CRC计算结果彼此不一致的情况下,处理进行至步骤S247。
在步骤S247中,图像传感器511侧的错误寄存器(CRC)被设置为1,并且此后处理结束。
<SerDes耦合构成的构成实例>
图40中所示的通信系统601具有SerDes耦合构成,其中,图像传感器611和应用处理器614经由用作从侧的SerDes设备612和用作主侧的SerDes设备613彼此耦合。
图像传感器611包括I2C/I3C从设备621、CCI处理部622、CS12-FS处理部623和寄存器624。
从侧的SerDes设备612包括A-PHY处理部631、CSIA处理部632、CSI2-FS处理部633、I2C/I3C主设备634、CCI处理部635、CCI-FS处理部636以及寄存器637。
主侧的SerDes设备613包括A-PHY处理部641、CSIA处理部642、CS12-FS处理部643、I2C/I3C从设备644、CCI处理部645、CCI-FS处理部646以及寄存器647。
应用处理器614包括I2C/I3C主设备651、CCI处理部652、CCIFS处理部653、寄存器654以及CCI-FS开关655。
要注意的是,在如图40所示的SerDes耦合构成中,在CCI构成或CCI-FS构成实现为上位协议的情况下,可使用另一个SerDes标准。例如,通过在来自应用层或者对应于其下层的上层的Payload中实现如图41中所示的扩展分组报头ePH、扩展分组报尾ePF1、以及扩展分组报尾ePF0的构成,可应用各种SerDes相关标准,例如,PCIE、USB、DisplayPort、HDMI(注册商标)、LVDS、以及FPD-LINK。
参考图41至图49给出了通信系统601中的读命令和读数据的传送的描述。
图41展示了在读访问期间在应用处理器614的CCI-FS处理部653中生成的读命令的分组构成的示例。
如图41所示,读命令由扩展分组报头ePH*(*=n)、扩展分组报尾ePF1和扩展分组报尾ePF0构成。要注意的是,其细节与上述参照图28所述的读命令的细节相似。
在应用处理器614中,在CCI-FS处理部653中生成这种分组结构的读命令,并且将其提供给I2C/I3C主设备651。
图42示出了在读访问期间从应用处理器614的I2C/I3C主设备651输出的读命令的分组构成的实例。
如图42中所示,在开始条件S之后,I2C/I3C主设备651发送耦合目的地的传感器地址,即,图40中所示的构成中的主设备侧的SerDes设备613的CCI处理部645的地址(从地址+W 8位)。在图42所示的示例中,CCI处理部645的地址是从地址[7:1]=7’h0F。在该地址之后,发送主侧的SerDes设备613的寄存器647的寄存器地址(寄存器地址[15:8]和寄存器地址[7:0])。在扩展分组报头ePH*(*=n)、扩展分组报尾ePF1和扩展分组报尾ePF0之后,I2C/I3C主设备651最终发送停止条件P。
I2C/I3C从应用处理器614的I2C/I3C主设备651发送这种分组结构的读命令。在主侧的SerDes设备613中,I2C/I3C从设备644获取读命令(扩展分组报头ePH*(*=n)、扩展分组报尾ePF1、以及扩展分组报尾ePF0)。读命令被提供给从地址[7:1]=7’h0F的CCI处理部645,然后经由CCI-FS处理部646、CS12-FS处理部643和CSIA处理部642被提供给A-PHY处理部641。
图43示出了在读访问期间由主侧的SerDes设备613的A-PHY处理部641输出的读命令的分组构成的实例。
如图43所示,A-PHY处理部641使用由I2C/I3C从设备644获取的读命令作为E2E保护的保护范围添加A-PHY报头和A-PHY报尾。要注意的是,在CS12-FS处理部643中,将主侧的SerDes设备613的CCI处理部635的地址(例如,从地址[7:1]=7’h0E)添加至扩展分组报头ePH*(*=n)中。
由主侧的SerDes设备613的A-PHY处理部641进行这种分组结构的读命令的A-PHY传送。在从侧的SerDes设备612中,A-PHY处理部631从读命令中去除A-PHY报头和A-PHY报尾。读命令经由CSIA处理部632、CSI2-FS处理部633以及CCI-FS处理部636被供应到由目的地ID指示的从地址“7’h0E”的CCI处理部635,然后被供应至I2C/I3C主设备634。
图44示出了在读访问期间从I2C/I3C主设备634输出的读命令的分组构成的实例。
如图44中所示,在开始条件S之后,I2C/I3C主设备634发送耦合目的地的传感器地址,即,图40中所示的构成中的图像传感器611的CCI处理部622的地址(从地址+W 8位)。在图44所示的示例中,CCI处理部622的地址是从地址[7:1]=7’h0D。在该地址之后,发送图像传感器611的寄存器624的寄存器地址(寄存器地址[15:8]和寄存器地址[7:0])。在扩展分组报头ePH*(*=n)、扩展分组报尾ePF1和扩展分组报尾ePF0之后,I2C/I3C主设备634最终发送停止条件P。
自从侧的SerDes设备612的I2C/I3C主设备634按照I2C/I3C传送这种分组结构的读命令。然后,在图像传感器611中,I2C/I3C从设备621获取读命令(扩展分组报头ePH*(*=n)、扩展分组报尾ePF1、以及扩展分组报尾ePF0)。读命令通过从地址[7:1]=7’h0D的CCI处理部622提供给CS12-FS处理部623。
图45示出了在读访问期间将提供给CS12-FS处理部623的读命令和将在CS12-FS处理部623中生成的读数据的分组结构的实例。
如图45所示,恰如图41所示的分组结构的读命令,即,设置为APHY传送中的E2E保护的保护范围的读命令提供给CSI2-FS处理部623。
如所示的,读数据由扩展分组报头ePH*(*=n)、AP(CCI)有效载荷、扩展分组报尾ePF1、以及扩展分组报尾ePF0构成。此外,AP(CCI)有效载荷存储从由读命令的扩展分组报头ePH的源地址信息(目的地地址)指示的寄存器624的地址“0x0200”读取的读数据值。
在图像传感器611中,这种分组结构的读数据在CCI-FS处理部623中生成,并且经由CCI处理部622提供给I2C/I3C从设备621。
图46示出了在读访问期间从图像传感器611的I2C/I3C从设备621输出的读数据的分组构成的实例。
如图46中所示,在开始条件S之后,I2C/I3C从设备621发送耦合目的地的传感器地址,即,图40中所示的构成中的从侧的SerDes设备612的I2C/I3C主设备634的地址(从地址+W 8位)。在图46中所示的实例中,I2C/I3C主设备634的地址是从地址[7:1]=7’h0D。在该地址之后,发送读数据的存储地址(图像传感器611的寄存器624的地址),并且发送从侧的SerDes设备612的I2C/I3C主设备634的地址(从地址+R 8位)。I2C/I3C从设备621发送扩展分组报头ePH*(*=n)、AP(CCI)有效载荷、扩展分组报尾ePF1、以及扩展分组报尾ePF0之后,最终发送停止条件P。
按照I2C/I3C从图像传感器611的I2C/I3C从设备621发送这种分组结构的读命令。在从侧的SerDes设备612中,I2C/I3C主设备634获取读数据(扩展分组报头ePH*(*=n)、AP(CCI)有效载荷、扩展分组报尾ePF1、以及扩展分组报尾ePF0)。读数据被提供给从地址[7:1]=7’h0E的CCI处理部635,然后经由CCI-FS处理部636、CS12-FS处理部633和CSIA处理部632被提供给A-PHY处理部631。
图47示出了在读访问期间自从侧的SerDes设备612的A-PHY处理部631输出的读数据的分组构成的实例。
如图47所示,A-PHY处理部631使用由I2C/I3C主设备634获取的读数据作为E2E保护的保护范围添加A-PHY报头和A-PHY报尾。
从侧的SerDes设备612的A-PHY处理部631对这种分组结构的读数据进行A-PHY传送。然后,在主侧的SerDes设备613中,A-PHY处理部641从读数据中去除A-PHY报头和A-PHY报尾。读数据通过CSIA处理部642、CSI2-FS处理部643、CCI-FS处理部646和CCI处理部635被提供给I2C/I3C从设备644。
图48示出了在读访问期间从主侧的SerDes设备613的I2C/I3C从设备644输出的读数据的分组构成的实例。
如图48中所示,在开始条件S之后,I2C/I3C从设备644发送耦合目的地的传感器地址,即,图40中所示的构成中,主侧的SerDes设备613的CCI处理部635的地址(从地址+W 8位)。在图48所示的示例中,CCI处理部635的地址是从地址[7:1]=7’h0F。在该地址之后,发送主侧的SerDes设备613的寄存器647的寄存器地址(Register Address[15:8]和RegisterAddress[7:0]),并且发送CCI处理部635的地址(从Address+R8位)。随后,I2C/I3C从设备644发送扩展分组报头ePH*(*=n)、AP(CCI)有效载荷、扩展分组报尾ePF1、以及扩展分组报尾ePF0,然后,最终发送停止条件P。
按照I2C/I3C从主侧的SerDes设备613的I2C/I3C从设备644发送这种分组结构的读数据。然后,在应用处理器614中,I2C/I3C主设备651获取读命令(扩展分组报头ePH*(*=n)、扩展分组报尾ePF1和扩展分组报尾ePF0),并将读命令提供给CCI处理部653。
图49示出了在读访问期间被提供给CCI-FS处理部653的读数据的分组结构的实例。
如图49所示,恰如图45中所示的分组结构的读数据,即,设置为A-PHY传送中的E2E保护的保护范围的读数据提供给CCI-FS处理部653。
<通信处理的处理实例>
参照图50至图57的流程图,给出在图40所示的通信系统601中进行使用CCI-FS的通信处理的描述。
如图50所示,在步骤S301至S317中,进行初始设置和确认操作。
在步骤S301中,在与其相对的应用处理器614的CCI-FS处理部653的目的地SID寄存器中设置图像传感器611的从地址。
在步骤S302中,设置应用处理器614的CCI-FS处理部653的ePH寄存器。
在步骤S303中,设置应用处理器614的CCI-FS处理部653的桥构成的目的地SID,并且登记主侧的SerDes设备613。这里,假设也以相同的方式设置地址(Address)、属性(attribution)和Timeout_no1寄存器,并且以相同的方式进行设置。
在步骤S304中,从应用处理器614到主侧的SerDes设备613设置CCI-FS处理部643的ePH寄存器。
在步骤S305中,从应用处理器614到主侧的SerDes设备613设置CCI-FS处理部643的桥构成的目的地SID,并且登记从侧的SerDes设备612。
在步骤S306中,从应用处理器614到主侧的SerDes设备613对CCI-FS处理部643的错误寄存器执行读访问。
在步骤S307中,在应用处理器614中,作为步骤S306中的读访问的结果,CCI-FS处理部653确定主侧的SerDes设备613的CCIFS处理部643的错误寄存器的寄存器值是否为零。
在步骤S307中确定主侧的SerDes设备613的CCI-FS处理部643的错误寄存器的寄存器值不是零(除了零以外)的情况下,处理进行至步骤S308。
在步骤S308中,在应用处理器614中,CCI-FS处理部653确定重传次数是否是三次以上;在确定重传次数不是3次以上(1次或2次)的情况下,返回到步骤S304,随后重复进行类似的处理。
同时,在步骤S307中确定主侧的SerDes设备613的CCI-FS处理部643的错误寄存器的寄存器值为零的情况下,处理进行至步骤S309。
在步骤S309中,从应用处理器614到从侧的SerDes设备612设置CCI-FS处理部636的ePH寄存器。
在步骤S310中,从应用处理器614到从侧的SerDes设备612设置CCI-FS处理部636的桥构成的目的地SID,并且登记从侧的SerDes设备612。
在步骤S311中,从应用处理器614到从侧的SerDes设备612对CCI-FS处理部636的错误寄存器执行读访问。
在步骤S312中,在应用处理器614中,作为步骤S311中的读访问的结果,CCI-FS处理部653确定从侧的SerDes设备612的CCI-FS处理部636的错误寄存器的寄存器值是否为零。
在步骤S312中确定从侧的SerDes设备612的CCI-FS处理部636的错误寄存器的寄存器值不是零(除零以外)的情况下,处理进入步骤S313。
在步骤S313中,在应用处理器614中,CCI-FS处理部653确定重传次数是否是三次以上;在确定重传次数不是三次以上(一次或两次)的情况下,处理返回到步骤S309,随后重复执行类似的处理。
同时,在步骤S312中确定从侧的SerDes设备612的CCI-FS处理部636的错误寄存器的寄存器值为零的情况下,处理进行至步骤S314。
在步骤S314中,从应用处理器614到图像传感器611设置CCI-FS处理部623的ePH寄存器。
在步骤S315中,从应用处理器614到图像传感器611对CCI-FS处理部623的错误寄存器执行读访问。
在步骤S316中,在应用处理器614中,作为步骤S315中的读访问的结果,CCI-FS处理部653确定图像传感器611的CCI-FS处理部623的错误寄存器的寄存器值是否为零。
在步骤S316中确定图像传感器611的CCI-FS处理部623的错误寄存器的寄存器值不是零(除零以外)的情况下,处理进入步骤S317。
在步骤S317中,在应用处理器614中,CCI-FS处理部653确定重传次数是否是三次以上;在确定重传次数不是3次以上(1次或2次)的情况下,返回到步骤S314,随后重复进行类似的处理。
这里,在步骤S308、步骤S313或步骤S317中,在确定重传次数是三次或更多的情况下,处理返回到步骤S301,随后重复执行类似的处理。
同时,在步骤S316中确定图像传感器611的CCI-FS处理部623的错误寄存器的寄存器值为零的情况下,处理进行至步骤S318。
如图51所示,在步骤S318至S327中,执行使用CCI-FS的写操作。
在步骤S318中,应用处理器614的CCI-FS处理部653设置ePH寄存器以执行写操作。
在步骤S319中,应用处理器614的CCI-FS处理部653设置写数据寄存器。
在步骤S320,应用处理器614的CCI-FS处理部653将命令执行寄存器设置为1,并发布写命令。
在步骤S321中,应用处理器614执行随后参照图53描述的序列A_Write(在AP时)处理。
在步骤S322中,主侧的SerDes设备613执行稍后参照图56描述的序列B(在SerDes(Master)时)处理。应注意,在图56中描述了由从侧的SerDes设备612执行的序列B(在SerDes(Slave)时)处理;然而,主侧的SerDes设备613也可以使用每个相应的块执行类似的处理。
在步骤S323中,A-PHY处理部641通过经由CS12-FS处理部643和CSIA处理部642从主侧的SerDes设备613的扩展分组报头ePH的扩展DT添加A-PHY报头和A-PHY报尾来执行A-PHY传送。
在步骤S324中,从侧的SerDes设备612执行稍后参照图56描述的序列B(在SerDes(Slave)时)处理。
在步骤S325中,从侧的SerDes设备612执行稍后参照图53描述的序列A_Write(在SerDes(Slave)时)处理。应注意,在图53中给出了由应用处理器614执行的序列A_Write(在AP时)处理的描述;然而,从侧的SerDes设备612也可使用每个相应的块执行类似的处理。
在步骤S326中,图像传感器611执行后面参照图56描述的序列B(在图像传感器时)处理。应注意,在图56中描述了由从侧的SerDes设备612执行的序列B(在SerDes(Slave)时)处理;然而,图像传感器611也可以使用每个相应的块执行类似的处理。
在步骤S327中,在图像传感器611中,CCI-FS处理部623执行写入处理,以从扩展分组报头ePH和扩展分组报尾ePF的内容将写数据写入寄存器624的地址。之后,处理进入步骤S328。
如图52所示,在步骤S328至S344中,执行使用CCI-FS的读操作。
在步骤S328,应用处理器614的CCI-FS处理部653设置ePH寄存器以执行读操作。
在步骤S329,应用处理器614的CCI-FS处理部653设置读数据寄存器。
在步骤S330,应用处理器614的CCI-FS处理部653将命令执行寄存器设置为1,并发布读命令。
在步骤S331中,应用处理器614执行后面参考图54描述的序列A_Read_CMD(在AP时)处理。这里,在序列A_Read_CMD(在AP时)处理中,并行执行两个分支的处理;根据分支A,处理进行至步骤S332,并且根据分支B,处理进行至步骤S339。
在步骤S332中,主侧的SerDes设备613执行稍后参照图56描述的序列B(在SerDes(Master)时)处理。应注意,在图56中描述了由从侧的SerDes设备612执行的序列B(在SerDes(Slave)时)处理;然而,主侧的SerDes设备613也可以使用每个相应的块执行类似的处理。
在步骤S333中,A-PHY处理部641通过经由CS12-FS处理部643和CSIA处理部642从主侧的SerDes设备613的扩展分组报头ePH的扩展DT添加A-PHY报头和A-PHY报尾来执行A-PHY传送。
在步骤S334中,从侧的SerDes设备612执行稍后参照图56描述的序列B(在SerDes(Slave)时)处理。
在步骤S355中,从侧的SerDes设备612执行后面参考图54描述的序列A_Read_CMD(在SerDes(Slave)时)处理。要注意的是,在图54中,描述在应用处理器614中执行的序列A_Read_CMD(在AP时)处理;然而,从侧的SerDes设备612也可使用每个相应的块执行类似的处理。此处,在两个分支的处理中的序列A_Read_CMD(SerDes(Slave))处理中,处理未进行至分支A,而是处理根据分支B进行至步骤S336。
在步骤S336中,从侧的SerDes设备612执行稍后参照图57描述的序列A_Read_Data(在SerDes(Slave)时)处理。应注意,在图57中给出了在应用处理器614中执行的序列A_Read_Data(在AP时)处理的描述;然而,从侧的SerDes设备612也可使用每个相应的块执行类似的处理。
在步骤S337中,A-PHY处理部631通过经由CS12-FS处理部633和CSIA处理部632自从侧的SerDes设备612的扩展分组报头ePH的扩展DT添加A-PHY报头和A-PHY报尾,执行A-PHY传送。
在步骤S338中,主侧的SerDes设备613执行稍后参照图56描述的序列B(在SerDes(Master)时)处理。应注意,在图56中给出了在从侧的SerDes设备612中执行的序列B(在SerDes(Slave)时)处理的描述;然而,主侧的SerDes设备613也可以使用每个相应的块执行类似的处理。
在步骤S339中,应用处理器614执行随后参照图57描述的序列A_Read_Data(在AP时)处理。
在步骤S340中,应用处理器614执行随后参照图56描述的序列B(在AP时)处理。应注意,在图56中给出了在从侧的SerDes设备612中执行的序列B(在SerDes(Slave)时)处理的描述;然而,应用处理器614也还可使用每个相应的块执行类似的处理。
在步骤S341中,在应用处理器614中,CCI-FS处理部653将来自扩展分组报头ePH和扩展分组报尾ePF的内容的读数据存储在寄存器654的地址中。
在步骤S342中,对图像传感器611、从侧的SerDes设备612、主侧的SerDes设备613以及应用处理器614中的上述读处理执行错误寄存器确认。
在步骤S343中,图像传感器611、设备(从侧的SerDes设备612、主侧的SerDes设备613以及应用处理器614)确定各个CCI-FS处理部的错误寄存器的寄存器值是否为零。
在步骤S343中确定所有CCI-FS处理部的寄存器值不是零(在它们中的任何中存在零以外的寄存器值)的情况下,处理进行到步骤S344。
在步骤S344,确认其寄存器值不为零的CCI-FS处理部的错误相关寄存器值,并对错误寄存器进行一次写清,以进行重传处理。
同时,在步骤S343确定所有CCI-FS处理部的寄存器值为零的情况下,或者在步骤S344的处理之后,处理结束。
图53是描述在图51的步骤S321中进行的序列A_Write(在AP时)处理的流程图。要注意的是,在图53中,通过实例说明由应用处理器614执行的处理,进行描述;然而,图51中的步骤S325中的序列A_Write(在SerDes(Slave)时)处理也以相同的方式执行。
在步骤S351中,在应用处理器614中,I2C/I3C主设备651发布开始命令和从地址(图42中示出的从地址+W8位)。
在步骤S352中,在应用处理器614中,确定I2C/I3C主设备651是否已接收到来自主侧的SerDes设备613的I2C/I3C从设备644的ACK响应。在步骤S352中确定已经接收到来自主侧的SerDes设备613的I2C/I3C从设备644的ACK响应的情况下,处理进行至步骤S353。
在步骤S353中,在应用处理器614中,I2C/I3C主设备651发布寄存器地址(图42中示出的寄存器地址[15:8])。此处,每次重复执行步骤S353中的处理时,发送等于或小于寄存器地址的有效载荷,如图42中所示。
在步骤S354中,在应用处理器614中,确定I2C/I3C主设备651是否已接收到来自主侧的SerDes设备613的I2C/I3C从设备644的ACK响应。在步骤S354中确定已经接收到来自主侧的SerDes设备613的I2C/I3C从设备644的ACK响应的情况下,处理进行至步骤S355。
在步骤S355中,在应用处理器614中,I2C/I3C主设备651确定最终数据的传送是否已经完成。在步骤S355中确定未完成最终数据的传送的情况下,处理返回到步骤S353,随后重复执行类似的处理。
同时,在步骤S355中确定已完成最终数据的传送的情况下,处理进行至步骤S356。在步骤S356中,在应用处理器614中,I2C/I3C主设备651发布停止命令。这使序列A_Write(在AP时)处理完成,并且处理返回至图51中的步骤S322。
同时,在步骤S352或S354中确定未接收到来自主侧的SerDes设备613的I2C/I3C从设备644的ACK响应的情况下,处理进行至步骤S357。在步骤S357中,在应用处理器614中,I2C/I3C主设备651发布停止命令。在这种情况下,完成序列A_Write(在AP时)处理,并且完成通信处理本身。
图54是描述在图52中的步骤S331中执行的序列A_Read_CMD(在AP时)处理的流程图。要注意的是,在图54中,通过实例说明由应用处理器614执行的处理,进行描述;然而,图52中的步骤S335中的序列A_Read_CMD(在SerDes(Slave)时)处理也以相同的方式执行。
在步骤S361中,在应用处理器614中,I2C/I3C主设备651发布开始命令和从地址(图42中示出的从地址+W8位),并激活定时器。
在步骤S362中,在应用处理器614中,确定I2C/I3C主设备651是否已接收到来自主侧的SerDes设备613的I2C/I3C从设备644的ACK响应。在步骤S362中确定已经接收到来自主侧的SerDes设备613的I2C/I3C从设备644的ACK响应的情况下,处理进行至步骤S363。
在步骤S363中,在应用处理器614中,I2C/I3C主设备651发布寄存器地址(图42中示出的寄存器地址[15:8])。此处,每次重复执行步骤S363中的处理时,发送等于或小于寄存器地址的有效载荷发送,如图42中所示。
在步骤S364中,在应用处理器614中,确定I2C/I3C主设备651是否已接收到来自主侧的SerDes设备613的I2C/I3C从设备644的ACK响应。
在步骤S364中确定已经接收到来自主侧的SerDes设备613的I2C/I3C从设备644的ACK响应的情况下,处理进行至步骤S365。
在步骤S365中,在应用处理器614中,I2C/I3C主设备651确定最终数据的传送是否已经完成。
在步骤S365中确定已完成最终数据的传送的情况下,处理进行至步骤S366。
在步骤S366中,在应用处理器614中,I2C/I3C主设备651发布停止命令。此后,处理被分支两个,并且根据分支A,处理进行至图52中的步骤S332。同时,根据分支B在步骤S367中执行序列C(在AP时)处理(参见随后描述的图55),然后处理进行至图52中的步骤S339。
同时,在步骤S365中确定未完成最终数据的传送的情况下,处理进行至步骤S368。
在步骤S368中,在应用处理器614中,I2C/I3C主设备651确定在步骤S361中启动的计时器是否已经超时。在步骤S368中确定为计时器未超时的情况下,处理返回到步骤S363,重复进行类似的处理。
同时,在步骤S368中确定定时器已经超时的情况下,处理进行至步骤S369。
在步骤S369中,应用处理器614向错误寄存器(Timeout)设置1,并且将扩展分组报头ePH和扩展分组报尾ePF的数据存储在错误相关寄存器中。
在步骤S369的处理之后,或者在步骤S362或S364中确定尚未接收到来自主侧的SerDes设备613的I2C/I3C从设备644的ACK响应的情况下,处理进行至步骤S370。
在步骤S370中,在应用处理器614中,I2C/I3C主设备651发布停止命令。在这种情况下,完成序列A_Read_CMD(在AP时)处理,并且完成通信处理本身。
图55是描述在图54中的步骤S367中执行的序列C(在AP时)处理的流程图。要注意的是,在图55中,通过实例说明由应用处理器614执行的处理,进行描述;然而,从侧的SerDes设备612也可执行相似的处理。
在步骤S381中,在应用处理器614中,I2C/I3C主设备651确定在图54中的步骤S361中启动的定时器是否已经超时,并且处理等待直至确定定时器已经超时。在步骤S381中确定定时器已经超时的情况下,处理进行至步骤S382;在应用处理器614中,I2C/I3C主设备651执行轮询操作。
在步骤S383中,在应用处理器614中,I2C/I3C主设备651确定读命令的状态寄存器值是否为1。
在步骤S383中确定读命令的状态寄存器值是1的情况下,处理进行至步骤S384。在步骤S384中,应用处理器614执行读访问,然后,处理返回图52中的步骤S339。
同时,在步骤S383中确定读命令的状态寄存器值不是1(除了1以外)的情况下,处理进行至步骤S385。在步骤S385中,应用处理器614向错误寄存器(Timeout)设置1,并且将扩展分组报头ePH和扩展分组报尾ePF的数据存储在错误相关寄存器中。
在步骤S386中,在应用处理器614中,I2C/I3C主设备651发布停止命令。在这种情况下,序列C(在AP时)处理完成,并且通信处理本身完成。
图56是描述在图51中的步骤S324和S334中执行的序列B(在SerDes(Slave)时)处理的流程图。要注意的是,在图56中,通过示例说明由从侧的SerDes设备612执行的处理,进行描述;然而,图51中的步骤S322中的序列B(在SerDes(Master)时)、图51中的步骤S326中的序列B(在图像传感器(Image Sensor)时)处理以及图52中的步骤S332中的序列B(在SerDes(Master)时)处理也以相同的方式执行。
在步骤S391,在从侧的SerDes设备612中,CCI-FS处理部636确认从侧的SerDes设备612的源ID和扩展分组报头ePH的目的地SID。
在步骤S392中,在从侧的SerDes设备612中,CCI-FS处理部636确定从侧的SerDes设备612的源ID和扩展分组报头ePH的目的地SID是否彼此不一致。
在步骤S392中确定从侧的SerDes设备612的源ID与扩展分组报头ePH的目的地SID彼此不一致的情况下,处理进行至步骤S393。
在步骤S393中,在从侧的SerDes设备612中,CCI-FS处理部636确认从侧的SerDes设备612的目的地SID和扩展分组报头ePH的目的地SID。
在步骤S394中,在从侧的SerDes设备612中,CCI-FS处理部636确定从侧的SerDes设备612的源ID和扩展分组报头ePH的目的地SID是否彼此一致。
在步骤S394中确定从侧的SerDes设备612的源ID和扩展分组报头ePH的目的地SID彼此一致的情况下,处理进行至步骤S395。
在步骤S395,在从侧的SerDes设备612中,CCI-FS处理部636从扩展分组报头ePH的内容中确认消息计数器(Message Counter)。
在步骤S396中,在从侧的SerDes设备612中,CCI-FS处理部636确定从侧的SerDes设备612处的消息计数器和根据扩展分组报头ePH的内容确认的消息计数器的接收值是否彼此一致。
在步骤S396中确定从侧的SerDes设备612处的消息计数器与根据扩展分组报头ePH的内容确认的消息计数器的接收值彼此一致的情况下,处理进行至步骤S397。
在步骤S397中,在从侧的SerDes设备612中,CCI-FS处理部636确认根据从侧的SerDes设备612中的扩展分组报头ePH和扩展分组报尾ePF的接收值(ePF0)计算的CRC计算结果。
在步骤S398,确定扩展分组报尾ePF的接收值(ePF0)和CRC计算结果是否一致;在确定它们彼此一致的情况下,处理返回至图51中的步骤S325。
同时,在步骤S392中确定从侧的SerDes设备612的源ID与扩展分组报头ePH的目的地SID并非彼此不一致(一致)的情况下,处理进行至步骤S399。
在步骤S399至S402中,执行与步骤S395至S398中的那些相似的处理。
在步骤S402中,在确定扩展分组报尾ePF的接收值(ePF0)和CRC计算结果彼此一致的情况下,处理进行至步骤S403。在步骤S403中,对从侧的SerDes设备612的寄存器637执行写访问。
在步骤S394中确定从侧的SerDes设备612的源ID和扩展分组报头ePH的目的地SID彼此不一致的情况下,处理进行至步骤S404。在步骤S404中,在从侧的SerDes设备612中,CCI-FS处理部636将1设置至错误寄存器[2](Routing,路由),并且将扩展分组报头ePH和扩展分组报尾ePF的数据存储在错误相关寄存器中。
在步骤S398或S402中确定扩展分组报尾ePF的接收值(ePF0)和CRC计算结果彼此不一致的情况下,处理进行至步骤S405。在步骤S405中,在从侧的SerDes设备612中,CCI-FS处理部636将1设置至错误寄存器(CRC),并且将扩展分组报头ePH和扩展分组报尾ePF的数据存储在错误相关寄存器中。
在步骤S396或S400中确定从侧的SerDes设备612处的消息计数器与根据扩展分组报头ePH的内容确认的消息计数器的接收值彼此不一致的情况下,处理进行至步骤S406。在步骤S406中,在从侧的SerDes设备612中,CCI-FS处理部636将1设置至错误寄存器(MC),并且将扩展分组报头ePH和扩展分组报尾ePF的数据存储在错误相关寄存器中。
在步骤S403至步骤S406的处理后,序列B(SerDes(Slave)时)处理结束,通信处理本身结束。
要注意的是,设想了以下组合:可以仅对作为目标的E2E Protection执行进行CRC计算;在每个设备中检测错误,并且丢弃/不丢弃分组。
图57是描述在图52中的步骤S339中执行的序列A_Read_Data(在AP时)处理的流程图。要注意的是,在图57中,通过实例说明由应用处理器614执行的处理,进行描述;然而,也以相同的方式执行图52中的步骤S336中的序列A_Read_Data(在SerDes(Slave)处理时)。
在步骤S411中,在应用处理器614中,I2C/I3C主设备651发布开始命令和从地址(图48中所示的从地址+W8位)。
在步骤S412中,在应用处理器614中,确定I2C/I3C主设备651是否已接收到来自主侧的SerDes设备613的I2C/I3C从设备644的ACK响应。在步骤S412中确定已经接收到来自主侧的SerDes设备613的I2C/I3C从设备644的ACK响应的情况下,处理进行至步骤S413。
在步骤S413中,在应用处理器614中,I2C/I3C主设备651发布开始命令和从地址(图48中所示的从地址+R8位),并且激活定时器。
在步骤S414中,在应用处理器614中,确定I2C/I3C主设备651是否已接收到来自主侧的SerDes设备613的I2C/I3C从设备644的ACK响应。在步骤S414中确定已经接收到来自主侧的SerDes设备613的I2C/I3C从设备644的ACK响应的情况下,处理进行至步骤S415。
在步骤S415中,在应用处理器614中,I2C/I3C主设备651从与应用处理器614侧相对的I2C/I3C从设备644获取读数据。
在步骤S416中,确定应用处理器614的I2C/I3C主设备651是否已经执行ACK发送并且在与应用处理器614侧相对的I2C/I3C从设备644中已经执行ACK接收。
在步骤S416中确定应用处理器614的I2C/I3C主设备651已经执行ACK发送并且在与应用处理器614侧相对的I2C/I3C从设备644中已经执行ACK接收的情况下,处理进行至步骤S417。
在步骤S417中,确定应用处理器614的I2C/I3C主设备651是否已经执行与最终数据的传送完成相关联的NACK发送。
在步骤S417中确定已经执行NACK发送的情况下,处理进行至步骤S418。在步骤S418中,在应用处理器614中,I2C/I3C主设备651发布停止命令。这使序列A_Read_Data(在AP时)处理完成,并且处理返回至图52中的步骤S340。
同时,在步骤S417中确定尚未执行NACK发送的的情况下,处理进行至步骤S419。
在步骤S419中,在应用处理器614中,I2C/I3C主设备651确定在步骤S413中启动的定时器是否已经超时。在步骤S419中确定定时器尚未超时的情况下,处理返回至步骤S415,随后重复执行类似处理。
同时,在步骤S419中确定定时器已经超时的情况下,处理进入步骤S420。
在步骤S420中,应用处理器614将1设置到错误寄存器(Timeout),并且将扩展分组报头ePH和扩展分组报尾ePF的数据存储在错误相关寄存器中。
在步骤S420中的处理之后,或者在步骤S414中确定未接收到来自主侧的SerDes设备613的I2C/I3C从设备644的ACK响应的情况下,处理进行至步骤S421。同样地,在步骤S416中确定应用处理器614的I2C/I3C主设备651尚未执行ACK发送或者在与应用处理器614侧相对的I2C/I3C从设备644中尚未执行ACK接收的情况下,处理进行至步骤S421。
在步骤S421中,在应用处理器614中,I2C/I3C主设备651发布停止命令。在这种情况下,完成序列A_Read_Data(在AP时)处理,并且完成通信处理本身。
此处,在I2C/I3C从设备621的输出期间(见图46),从I2C/I3C主设备634至I2C/I3C从设备621的访问定时,以及在主侧的SerDes设备613的I2C/I3C从设备644的输出期间(见图48),从I2C/I3C主设备651至I2C/I3C从设备644的访问定时具有以下描述的三种组合。
在第一访问定时中,执行轮询,直到获取到读数据,并且I2C/I3C主设备在完成读数据读取的准备之后开始读处理。
在第二访问定时中,I2C/I3C主设备在经过某个时间段之后开始读处理。
在第三访问定时中,使用时钟拉伸方法(参见稍后描述的图72),并且I2C/I3C主设备在某个时间段过去之后开始读处理;此时,存在批量发送读数据的模式和分离地发送读数据的模式(断言时钟拉伸模式(Clock Stretch Mode)信号)。
<扩展分组报头ePH的构成实例>
图58至60各自是示出扩展分组报头ePH的构成实例的示图。
图58示出了扩展分组报头ePH0、扩展分组报头ePH1和扩展分组报头ePH2的详细构成实例。对于如图所示的扩展分组报头ePH的添加,扩展分组报头ePH的内容通过为CCI-FS在C-PHY和D-PHY处适当的ePH结构来定义。
图59示出了扩展分组报头ePH3的详细构成实例。对于如图所示的扩展分组报头ePH的添加,为CCI-FS定义扩展分组报头ePH的内容。
图60示出了扩展分组报头ePH的扩展DT的详细构成实例。例如,“0xC0:For I2C”和“0xC1:For I3C”被添加到扩展分组报头ePH的数据类型中,以便适应CCI-FS。
<I2C的电路构成实例>
图61示出了硬件中的现有I2C的构成实例。例如,在硬件实现期间在上层的总线耦合构成的情况下示出了I2C的构成实例;可以在从侧采用使得能够从上层接收AKC/NACK的构成。不必说,仅示出了一个示例,并且上部总线构成不必与其一致。
图62示出了I2C总线上的数据传送过程中的波形。需要注意的是,I2C总线标准和CCI(I2C)应该是等效的。
<与通信系统701中的CCI相关的构成实例>
图63是示出与上述图27中示出的通信系统501相同的方式,与A-PHY直接耦合的通信系统701中的CCI相关的构成实例的框图。
如图63所示,在通信系统701中,图像传感器711和应用处理器712通过A-PHY彼此直接耦合。
图像传感器711包括A-PHY处理部721、CSIA处理部722、CSI2处理部523、CSI2-FS处理部724、CCI处理部725、CCI-FS处理部726、寄存器727以及选择器728-1和728-2。如图所示,选择器728-1和728-2被设置成夹着CCI-FS处理部726,并且能够根据寄存器727的CCI_FS_Enable信号来切换CCI-FS处理部726的使能/禁用。
应用处理器712包括A-PHY处理部731、CSIA处理部732、CSI2处理部733、CSI2-FS处理部734、CCI处理部735、CCI-FS处理部736、寄存器737、以及选择器738-1和738-2。如图所示,选择器738-1和738-2被设置成夹者CCI-FS处理部736,并且能够根据寄存器737的CCI_FS_Enable信号来切换CCI-FS处理部736的使能/禁用。
例如,在CCI_FS_Enable信号指示CCI-FS使能的情况下(CCI_FS_Enable=1),数据经由CCI-FS处理部726和CCI-FS处理部736被发送和接收,如交替的长和短虚线的箭头所示。同时,在CCI_FS_Enable信号指示CCI-FS被禁用(CCI_FS_Enable=0)的情况下,数据不经由CCI-FS处理部726和CCI-FS处理部736发送和接收,如交替的长和两短虚线的箭头所示。
<网络的耦合模式>
图64示出了A-PHY直接耦合构成和SerDes耦合构成的网络的耦合模式(拓扑)的实例。
可以构成耦合模式,其中,应用处理器801经由A-PHY直接耦合到图像传感器802,并且图像传感器802经由I2C/I3C耦合到传感器803。
应用处理器801经由I2C/I3C耦合至主侧的SerDes设备804,并且主侧的SerDes设备804和从侧的SerDes设备805经由A-PHY彼此耦合。可构成耦合模式,其中,从侧的SerDes设备805经由I2C/I3C耦合至两个传感器806-1和806-2。
<CCI-FS处理部的电路构成>
图65是示出了CCI-FS处理部的电路构成的实例的框图。图65中示出的CCIFS处理部901和寄存器902具有与上述设备中的每个设备中所包括的CCI-FS处理部和寄存器共同的构成。
如图65所示,CCI-FS处理器901在上层包括CCI-FS开关、寄存器等,并且在下层包括CCI处理部。CCI-FS处理器901包括CCI-FS发送器911和CCI-FS接收器912。不同类型的寄存器设置值信息从寄存器902提供到CCI-FS处理器901,且错误通知(Error通知)从CCI-FS处理器901提供到寄存器902。
CCI-FS发送器911包括扩展分组报头ePH生成器921、扩展分组报尾ePF生成器922和目的地地址确认器923。
扩展分组报头ePH生成器921包括生成消息计数器的MC生成部941和计算分组长度的分组长度计算部942。扩展分组报尾ePF生成器922包括生成扩展分组报尾ePF1的扩展分组报尾ePF1生成部943和计算存储在扩展分组报尾ePF0中的CRC的CRC计算部944。
CCI-FS接收器912包括扩展分组报头ePH确认器931、扩展分组报尾ePF确认器932和目的地地址确认器933。
扩展分组报头ePH确认器931包括确认消息计数器的MC确认部951,计算和确认分组长度的分组长度计算/确认部952。扩展分组报尾ePF确认器932包括确认扩展分组报尾ePF1的扩展分组报尾ePF1确认部953,以及计算存储在扩展分组报尾ePF0中的CRC的CRC计算部954。
CCI-FS处理器901使得CCI-FS发送器911能够确认来自上层的数据的目的地地址,生成扩展分组报头ePH和扩展分组报尾ePF以将它们添加到数据中,并且将数据提供给下层。CCI-FS处理器901使CCI-FS接收器912能够确认来自下层的数据的目的地地址,确认扩展分组报头ePH和扩展分组报尾ePF,并将它们提供给上层。
现在,描述构成上述图40中所示的SerDes耦合构成的构成实例的通信系统601的各个设备的CCI-FS处理部的操作。
应用处理器614在应用处理器614的扩展分组报头ePH中具有指示其自身的设备的源ID。此外,CCI-FS处理部653添加上述信息和具有指示要访问的目标设备的目的地ID的信息。
从侧的SerDes设备612和主侧的SerDes设备613均具有源ID,该源ID通过事先设置或者作为特征值表示其自身的设备。CCI-FS处理部636和CCI-FS处理部646对上述信息以及具有指示耦合设备和目标设备的目的地ID的信息执行事先设置。
此外,CCI-FS处理部636和CCI-FS处理部646各自将所接收的扩展分组报头ePH的目的地ID与其自身的ID(源ID)相互比较以确定其是对自身的访问还是指示目标设备的(目的地ID)。例如,当接收的扩展分组报头ePH的目的地ID与其自身的ID(源ID)一致时,执行自登记访问,作为对中间设备(SerDes设备)的访问。同时,当接收的扩展分组报头ePH的目的地ID与其自身的ID(源ID)彼此不一致时,数据向耦合设备(目的地ID)传送,作为对后级的设备的访问。
如上所述,基于预设的源ID或特征值以及关于预设的耦合目的地的信息,将数据传送至嵌入扩展分组报头ePH中的源ID和目的地ID、中间设备(SerDes设备)或目标设备,并且朝着目标设备执行访问。
当接收的扩展分组报头ePH的目的地ID和其自身的ID(源ID)彼此一致时,图像传感器611的CS12-FS处理部623执行其自身的寄存器访问,作为对图像传感器611的访问。
以这种方式,每个设备的源ID能够为每个设备使用特征值、预设值或其组合。
图66至68各自是示出了寄存器902的详细构成实例的示图。
图66示出了从地址0x000至地址0x109的寄存器902的细节。图67示出了在桥构成时的构成实例,作为从地址0x110到地址0x125的寄存器902的细节。
图68示出错误相关寄存器,作为地址0x200的寄存器902的细节。图68示出错误相关寄存器(debug,排错),作为地址0x300和地址0x400的寄存器902的细节。图68示出错误注入(Error Injection)相关寄存器(排错),作为地址0x800的寄存器902的细节。
<扩展分组报头ePH的变形例>
参照图69和图70,描述扩展分组报头ePH的变形例。
图69示出了在写访问期间由应用处理器512的CCI-FS处理部536生成的写数据的分组构成中的扩展分组报头ePH的修改示例,如以上参见图33所描述的。图69中所示的扩展分组报头ePH与上述图33中所示的构成实例的不同之处在于扩展分组报头ePH3和扩展分组报头ePH4的构成。
图70示出了在读访问期间在应用处理器512的CCI-FS处理部536中生成的写数据的分组构成中的扩展分组报头ePH的修改示例,如以上参照图28所描述的。图70中所示的扩展分组报头ePH与上述图28中所示的构成实例的不同之处在于扩展分组报头ePH3和扩展分组报头ePH4的构成。
例如,在图69和图70中所示的扩展分组报头ePH中,根据实现方式设想了以下组合。
读地址信息可以存储在扩展分组报头ePH中或AP(CCI)有效载荷中。长度信息可以存储在扩展分组报头ePH或AP(CCI)有效载荷中。CMD信息可以存储在扩展分组报头ePH的CCI命令ID中。基于CCI命令ID,参考关于命令的开始、重新开始和结束的信息。CCI报头长度可被用于在AP(CCI)有效载荷中存储CCI信息(例如,从地址等)。CCI报头长度是指示CCI协议(I2C)的报头长度的信息。
图71是描述图27中所示的A-PHY直接耦合构成中的图像传感器511与应用处理器512之间的流的示图。
在应用处理器512中,CCI-FS开关538发布读命令和写命令。CCI-FS开关538向CCI处理部535提供从地址(从地址+W8位)、寄存器地址a(寄存器地址[15:8]、寄存器地址[7:0]和数据(Data*(*=N)[7:0])。CCI处理部535将它们转换为AP(CCI)有效载荷,并将其提供给A-PHY处理部531。A-PHY处理部531将A-PHY报头和A-PHY报尾添加到AP(CCI)有效载荷,并且执行到图像传感器511的A-PHY传送。
在图像传感器511中,A-PHY处理部521移除A-PHY报头和A-PHY报尾,并将AP(CCI)有效载荷提供给CCI处理部525。CCI处理部525转换AP(CCI)有效载荷,根据写命令基于数据的内容将数据写入寄存器527,并且根据读命令从寄存器527读数据。
此时,由CCI处理部525执行CCI-FS Enable的初始设置,并且执行寄存器接口、AHB总线等的总线转换。此外,CCI-FS Enable设置通过CCI处理部525或CCI-FS处理部526来确认。
CCI处理部525响应于到AP(CCI)有效载荷的读命令而将从寄存器527读取的读数据(Data*(*=M)[7:0])转换,并且将其提供到A-PHY处理部521。A-PHY处理部521将A-PHY报头和A-PHY报尾添加到AP(CCI)有效载荷,并且执行A-PHY传送到应用处理器512。
在应用处理器512中,A-PHY处理部531移除A-PHY报头和APHY报尾,并且将AP(CCI)有效载荷提供给CCI处理部535。CCI处理部535转换AP(CCI)有效载荷,并且将读数据(Data*(*=M)[7:0])提供给CCI-FS开关538。
CCI-FS开关538对寄存器537执行CCI-FS Enable设置和多种CCI-FS相关的寄存器设置。此时,寄存器访问取决于实现方式。CCI-FS开关538通过寄存器537、CCI-FS处理部536、A-PHY处理部531、A-PHY处理部521和CCI-FS处理部526为寄存器527执行各种CCI-FS相关的寄存器设置。
在应用处理器512中,CCI-FS开关538发布读命令。CCI-FS开关538向寄存器537提供从地址(从地址+W8位)、寄存器地址(寄存器地址[15:8]、寄存器地址[7:0])和数据(Data*(*=N)[7:0])。CCI-FS处理部536将它们转换成AP(CCI)有效载荷,并且将扩展分组报头ePH*(*=n)、扩展分组报尾ePF1、以及扩展分组报尾ePF0添加到其中,并且将它们提供给A-PHY处理部531。A-PHY处理部531将A-PHY报头和A-PHY报尾添加到其中,并且执行向图像传感器511的A-PHY传送。
在图像传感器511中,A-PHY处理部521移除A-PHY报头和A-PHY报尾,并且向CCI-FS处理部526提供扩展分组报头ePH*(*=n)、AP(CCI)有效载荷、扩展分组报尾ePF1和扩展分组报尾ePF0。CCI-FS处理部526转换AP(CCI)有效载荷,并基于其内容根据读命令从寄存器527读数据。此时寄存器访问取决于实现方式,进行寄存器接口、AHB总线、CCI接口等的总线转换。
CCI-FS处理部526响应于到AP(CCI)有效载荷的读命令将从寄存器527读取的读数据(Data*(*=M)[7:0])转换,并且将扩展分组报头ePH*(*=n)、扩展分组报尾ePF1、和扩展分组报尾ePF0添加到其中,并且将它们提供给A-PHY处理部521。A-PHY处理部521将A-PHY报头和A-PHY报尾添加到其中,并且执行A-PHY传送至应用处理器512。
在应用处理器512中,A-PHY处理部531移除A-PHY报头和A-PHY报尾,并且向CCI-FS处理部536提供扩展分组报头ePH*(*=n)、AP(CCI)有效载荷、扩展分组报尾ePF1和扩展分组报尾ePF0。CCIFS处理部536转换AP(CCI)有效载荷,并且将读数据(Data*(*=M)[7:0])提供给CCI-FS开关538。
应注意,已经通过使用硬件举例说明I2C/I3C命令生成给出了以上流程的描述;然而,除了上述那些之外,存在以下组合。
在软件的情况下,对于使用软件的I2C/I3C生成,从地址(Slave Address)、寄存器地址(Register address)、有效载荷(Payload)、ACK响应接收(ACK response reception)、发送(transmission)、和各种控制代码(S、Sr、ACK、NACK和P)由软件(例如,GPIO控制的图像)生成。对于使用软件的I2C/I3C命令生成,CPU总线设置被用于响应于ACK接收从CPU发出从地址、寄存器和有效载荷。
在硬件的情况下,对于使用硬件的I2C/I3C生成,执行传送至I2C/I3C的HWIP的设置和数据设置。各种控制代码使用硬件执行自动响应。对于使用硬件的I2C/I3C命令生成,通过传送至I2C/I3C的HWIP的设置来设置数据,并且通过命令执行发送。各种控制代码使用硬件执行自动响应。
图72是描述在图40中所示的SerDes耦合构成中,在图像传感器611与应用处理器614之间的写访问和读访问中使用时钟拉伸方法的流的示图。
应用处理器614的CCI-FS开关655将开始命令和写命令(从地址+W8位)提供给主侧的SerDes设备613的CCI处理部645,并且断言Sc1_enb信号。在主侧的SerDes设备613中,CCI处理部645将写命令提供给A-PHY处理部641,并且A-PHY处理部641将A-PHY报头和A-PHY报尾加入写命令中,并且执行至从侧的SerDes设备612的A-PHY传送。
在从侧的SerDes设备612中,A-PHY处理部631移除A-PHY报头和A-PHY报尾,并且将写命令提供给CCI处理部635(Slave)。CCI处理部635(Slave)否定Sc1_enb信号,并且向CCI处理部635(Master)提供写命令。这里,与主侧的SerDes设备613侧通信以用作从设备的CCI处理部635被称为CCI处理部635(Slave),与图像传感器611侧通信以用作主设备的CCI处理部635被称为CCI处理部635(Master)。
CCI处理部635(Master)将开始命令和写命令发送至图像传感器611。
在图像传感器611中,CCI处理部622接收开始命令和写命令,并将它们提供给CS12-FS处理部623。CS12-FS处理部623将指示其成功接收的ACK响应提供至CCI处理部622,并且CCI处理部622将ACK响应发送至从侧的SerDes设备612。
在从侧的SerDes设备612中,CCI处理部635(Master)接收ACK响应,并且当从CCI处理部635(Slave)对Scl_enb信号进行否定时,将ACK响应提供给CCI-FS处理部636。此后,CCI处理部635(Slave)向CCI处理部635(Slave)断言Sc1_enb信号。
CCI-FS处理部636将ACK响应提供给A-PHY处理部631。A-PHY处理部631将A-PHY报头和A-PHY报尾添加到ACK响应中,并且执行到主侧的SerDes设备613的A-PHY传送。
在主侧的SerDes设备613中,A-PHY处理部641移除A-PHY报头和A-PHY报尾,并且将ACK响应提供给CCI处理部645。当应用处理器614的CCI-FS开关655否定到CCI处理部645的Sc1_enb信号时,CCI处理部645将ACK响应传送给应用处理器614。
在应用处理器614中,CCI处理部652接收ACK响应,并通过CCI-FS处理部653将其提供给CCI-FS开关655。
应用处理器614的CCI-FS开关655将寄存器地址(Register Address[7:0])提供给主侧的SerDes设备613的CCI处理部645,并且断言Sc1_enb信号。在主侧的SerDes设备613中,CCI处理部645将寄存器地址提供给A-PHY处理部641,并且A-PHY处理部641将A-PHY报头和A-PHY报尾添加到寄存器地址,并且执行A-PHY传送至从侧的SerDes设备612。
在从侧的SerDes设备612中,A-PHY处理部631移除A-PHY报头和A-PHY报尾,并且将寄存器地址提供给CCI处理部635(Slave)。CCI处理部635(Slave)否定Sc1_enb信号,并且将寄存器地址提供给CCI处理部635(Master)。CCI处理部635(Master)将寄存器地址发送到图像传感器611。此后,CCI处理部635(Slave)向CCI处理部635(Master)断言Sc1_enb信号。
在图像传感器611中,CCI处理部622接收寄存器地址,并将其提供到CSI2-FS处理部623。CS12-FS处理部623将指示其成功接收的ACK响应提供至CCI处理部622,并且CCI处理部622将ACK响应发送至从侧的SerDes设备612。
此后,以与上述处理相同的方式,将ACK响应一直提供给CCI-FS开关655。
在应用处理器614中,CCI-FS处理部653在CCI-FS开关655的控制下将扩展分组报头ePH*(*=n)发送至主侧的SerDes设备613。
在主侧的SerDes设备613中,CCI处理部645接收扩展分组报头ePH*(*=n),并且当从CCI-FS开关655断言Scl_enb信号时,将扩展分组报头ePH*(*=n)提供给A-PHY处理部641。此后,CCI-FS开关655否定到CCI处理部645的Sc1_enb信号。A-PHY处理部641将A-PHY报头和A-PHY报尾添加到扩展分组报头ePH*(*=n),并且执行A-PHY传送至从侧的SerDes设备612。
在从侧的SerDes设备612中,A-PHY处理部631移除A-PHY报头和A-PHY报尾,并且将扩展分组报头ePH*(*=n)提供给CCI-FS处理部636。CCI-FS处理部636否定Scl_enb信号,并且将扩展分组报头ePH*(*=n)提供给CCI处理部635(Master)。CCI处理部635(Master)将扩展分组报头ePH*(*=n)发送到图像传感器611。此后,CCI处理部635(Slave)向CCI处理部635(Master)断言Sc1_enb信号。
在图像传感器611中,CS12-FS处理部623接收扩展分组报头ePH*(*=n)。CS12-FS处理部623将指示其成功接收的ACK响应提供至CCI处理部622,并且CCI处理部622将ACK响应发送至从侧的SerDes设备612。
此后,以与上述处理相同的方式,ACK响应被提供直至CCI-FS开关655。
应用处理器614的CCI-FS开关655将写数据(Dara0[7:0])提供给主侧的SerDes设备613的CCI处理部645,并且断言Sc1_enb信号。在主侧的SerDes设备613中,CCI处理部645将写数据提供给A-PHY处理部641,并且A-PHY处理部641将A-PHY报头和A-PHY报尾加入写数据中,并且执行A-PHY传送至从侧的SerDes设备612。
在主侧的SerDes设备613中,当从CCI-FS开关655断言Scl_enb信号时,CCI处理部645接收写数据,并将写数据提供给A-PHY处理部641。此后,在CCI-FS开关655的控制下,CS12-FS处理部653否定到CCI处理部645的Sc1_enb信号。A-PHY处理部641将A-PHY报头和A-PHY报尾添加到写数据中,并且执行A-PHY传送至从侧的SerDes设备612。
在从侧的SerDes设备612中,A-PHY处理部631移除A-PHY报头和A-PHY报尾,并且将写数据提供给CCI处理部635。CCI处理部635否定Sc1_enb信号,并且将写数据提供给CCI处理部635(Master)。CCI处理部635(Master)将写数据传送至图像传感器611。此后,CCI处理部635(Slave)向CCI处理部635(Master)断言Sc1_enb信号。
在图像传感器611中,CCI处理部622接收写数据并且将其提供给CS12-FS处理部623,并且CS12-FS处理部623将写数据写入寄存器624。CSI2-FS处理部623将指示写数据的成功写入的ACK响应提供给CCI处理部622,CCI处理部622将ACK响应发送给从侧的SerDes设备612。
此后,以与上述处理相同的方式,将ACK响应提供直到CCI-FS开关655。
在应用处理器614中,CCI-FS处理部653在CCI-FS开关655的控制下将扩展分组报尾ePF0发送至主侧的SerDes设备613。
在主侧的SerDes设备613中,当从CCI-FS开关655断言Scl_enb信号时,CCI处理部645接收扩展分组报尾ePF0,并且将扩展分组报尾ePF0提供给A-PHY处理部641。此后,CCI-FS开关655否定到CCI处理部645的Sc1_enb信号。A-PHY处理部641将A-PHY报头和A-PHY报尾添加到扩展分组报尾ePF0,并且执行A-PHY传送至从侧的SerDes设备612。
在从侧的SerDes设备612中,A-PHY处理部631移除A-PHY报头和A-PHY报尾,并且将扩展分组报尾ePF0提供给CCI-FS处理部636。CCI-FS处理部636否定Scl_enb信号,并且将扩展分组报尾ePF0提供给CCI处理部635(Master)。CCI处理部635(Master)将扩展分组报尾ePF0发送到图像传感器611。此后,CCI处理部635(Slave)向CCI处理部635(Master)断言Sc1_enb信号。
在图像传感器611中,CS12-FS处理部623接收扩展分组报尾ePF0。CS12-FS处理部623将指示其成功接收的ACK响应提供至CCI处理部622,并且CCI处理部622将ACK响应发送至从侧的SerDes设备612。
此后,以与上述处理相同的方式,将ACK响应提供直到CCI-FS开关655。
应用处理器614的CCI-FS开关655将重复开始命令和读命令(从地址+R8位)提供给主侧的SerDes设备613的CCI处理部645,并且断言Sc1_enb信号。在主侧的SerDes设备613中,CCI处理部645将读命令提供给A-PHY处理部641,并且A-PHY处理部641将A-PHY报头和A-PHY报尾添加到读命令,并且执行A-PHY传送至从侧的SerDes设备612。
在从侧的SerDes设备612中,A-PHY处理部631移除A-PHY报头和A-PHY报尾,并且将读命令提供给CCI处理部635(Slave)。CCI处理部635(Slave)否定Sc1_enb信号,并且向CCI处理部635(Master)提供读命令。CCI处理部635(Master)将重复开始命令和读命令发送到图像传感器611。
在图像传感器611中,CCI处理部622接收重复开始命令和读命令,并且访问寄存器624。CCI处理部622将表示成功接收的ACK响应发送给从侧的SerDes设备612。
此后,以与上述处理相同的方式,将ACK响应提供直至CCI-FS开关655。
在图像传感器611中,CCI处理部622从寄存器624中读取读数据(Data0[7:0]),并且将其发送给从侧的SerDes设备612。
在从侧的SerDes设备612中,CCI处理部635(Master)接收读数据并且将其提供给CCI处理部635(Slave),并且CCI处理部635(Slave)将读数据提供给A-PHY处理部631。A-PHY处理部631将A-PHY报头和A-PHY报尾添加到读数据,并且执行到主侧的SerDes设备613的A-PHY传送。
在主侧的SerDes设备613中,A-PHY处理部641移除A-PHY报头和A-PHY报尾,并且将读数据供应至CCI处理部645,并且CCI处理部645将读数据传送至应用处理器614。
在应用处理器614中,CCI处理部652接收读数据,并且经由CCI-FS处理部653将其供应至CCI-FS开关655。
CCI-FS开关655将NACK响应和停止命令发送到CCI处理部645。CCI处理部645将NACK响应和停止命令提供给A-PHY处理部641。A-PHY处理部641将A-PHY报头和A-PHY报尾加入NACK响应和停止命令中,并且执行A-PHY传送至从侧的SerDes设备612。
在从侧的SerDes设备612中,A-PHY处理部631移除A-PHY报头和A-PHY报尾,并且将NACK响应和停止命令提供给CCI处理部635(Slave)。CCI处理部635(Slave)将NACK响应和停止命令提供给CCI处理部635(Master),并且CCI处理部635(Master)将NACK响应和停止命令发送到图像传感器611。
在图像传感器611中,CCI处理部622接收NACK响应和停止命令,并将它们提供给CS12-FS处理部623。
应注意,在图72所描述的流中,I2C控制命令(诸如开始、重复开始、ACK响应、NACK响应或停止)将扩展分组报头ePH0的控制码指示符设置为1,并且指示分配给1字节有效载荷的每个码。
<图像传感器和应用处理器的详细构成实例>
(图像传感器的详细构成实例)
图73是示出包括CCI-FS处理器1001的图25中示出的图像传感器211的构成的构成实例的框图。要注意的是,在图73中所示的图像传感器211中,与图25中所示的图像传感器211的构成相同的构成由相同的参考数字表示,并且省略其描述。
如图73所示,CCI-FS处理器1001设置在CCI从设备224和寄存器47之间,并且MUX部1002-1和1002-2被设置成将CCI-FS处理器1001夹在中间。在根据从寄存器47提供的cci_fs_en信号使能CCI-FS处理器1001的情况下,MUX部1002-1和1002-2通过CCI-FS处理器1001发送和接收数据。另一方面,MUX部1002-1、1002-2根据从寄存器47供给的cci_fs_en信号,在CCI-FS处理部1001被禁用的情况下,不通过CCI-FS处理部1001进行数据的发送和接收。
(应用处理器的详细构成实例)
图74是框图,示出了包括CCI-FS处理器1101的上述图26中所示出的应用处理器214的构成的构成实例。要注意的是,在图74中所示的应用处理器214中,与在图26中所示的应用处理器214的构成相同的构成由相同的参考数字表示,并且省略其描述。
如图74所示,CCI-FS处理器1101被布置在CCI主设备254和寄存器73之间,并且MUX部1102-1和1102-2被布置为将CCI-FS处理器1101夹在中间。在根据从寄存器73提供的cci_fs_en信号使能CCI-FS处理器1101的情况下,MUX部1102-1和1102-2通过CCI-FS处理器1101发送和接收数据。同时,在根据从寄存器73提供的cci_fs_en信号CCI-FS处理器1101被禁用的情况下,MUX部1102-1和1102-2不经由CCI-FS处理器1101发送和接收数据。
需要说明的是,对于实现扩展分组报头ePH的构成中各个字段的方法,也可以采用如下构成。扩展VC在安全CCI中未使用(类似构成用于匹配MIPI中的报头字段和扩展相关)。在扩展DT中,数据可被嵌入在来自上层的总线命令相关信息中,或者可使用来自寄存器设置的用于设置信号线的实现构成。虽然在I2C中描述了协议,但是也可在I3C的SDR模式中执行类似方法。
<通信系统的构成实例>
参考图75至图117给出应用本技术的通信系统的第四实施例的描述。
图75是示出了第四实施例的通信系统的框图。图75的A示出了第一变形例的通信系统1201,图75的B示出了第二变形例的通信系统1201A。
图75的A中示出的通信系统1201具有其中图像传感器1211和应用处理器1212彼此直接耦合的构成。
图像传感器1211具有以下构成:在A-PHY层1221上布置有ALL层1222,在ALL层1222上布置有CSI-2发送部1223和CSI扩展部1224、以及CCI从设备1225和CCI扩展部1226。CSI-2发送部1223设有CSI扩展部1224,CCI从设备1225设有CCI扩展部1226,从而使得图像传感器1211能够适应相应的扩展标准。
应用处理器1212具有以下构成,其中,在A-PHY层1231上布置ALL层1232,在ALL层1232上布置CSI-2接收部1233和CSI扩展部1234、以及CCI主机1235和CCI扩展部1236。CSI-2接收部1233设置有CSI扩展部1234,CCI主机1235设置有CCI扩展部1236,由此使得应用处理器1212能够适应相应的扩展标准。应注意,CSI扩展可称为相机服务扩展(CSE,CameraService Extensions)。
图75的B中示出的通信系统1201A具有显示器1213和应用处理器1212A彼此耦合的构成。要注意的是,应用处理器1212A包括DSI-2发送部1233A和DSI扩展部1234A,代替图75的A中的应用处理器1212的CSI-2接收部1233和CSI扩展部1234,并且其他块的构成与应用处理器1212的构成相同。
显示器1213具有以下构成,其中,在A-PHY层1241上布置ALL层1242,在ALL层1242上布置DSI-2接收部1243和DSI扩展部1244、以及CCI从设备1245和CCI扩展部1246。DSI-2接收部1243设有DSI扩展部1244,CCI从设备1245设有CCI扩展部1246,从而使显示器1213能够适应各自扩展标准。应注意,DSI扩展可被称为显示服务扩展(DSE,Display ServiceExtensions)。
如此构成的通信系统1201和1201A能够至少执行用于在一个方向上发送包括图像数据的帧的数据的高速数据传输,以及用于在相反方向上发送与高速数据传输相关的命令的低速命令传输(然而,发送命令本身可被称为命令发送,或发送对命令的响应可被称为命令发送)。例如,在低速命令传输中,至少发送用于请求开始高速数据传输的高速数据传输开始命令,但是这种情况可能不是这样。此外,高速数据传输比低速命令传输更快,并且响应于接收到高速数据传输开始命令而开始;然而,情况可能不是这样。
然而,应用处理器1212的通信伙伴是图像传感器1211的通信系统1201和应用处理器1212A的通信伙伴是显示器1213的通信系统1201A在高速数据传输和低速命令传输的方向上彼此不同。即,在通信系统1201中,图像数据从图像传感器1211发送到应用处理器1212,而在通信系统1201A中,图像数据从应用处理器1212A发送到显示器1213。
在物理层标准的A-PHY中,经由共用通信路径的一部分或全部发送高速数据传输和低速命令传输。另外,A-PHY支持使得能够经由共同通信路径发送从应用处理器1212到图像传感器1211的电力供应和从应用处理器1212A到显示器1213的电力供应中的一些或全部的选项。
顺便提及,例如,低速命令传输符合CSI-2标准的CCI,并且基于I2C或I3C标准执行通信。此时,低速命令传输可以通过不仅共享独立的I2C或I3C物理层而且共享D-PHY、C-PHY和A-PHY的物理层中的一些或全部来发送命令。同时,高速数据传输通过D-PHY、C-PHY以及A-PHY中的任一个的一些或所有物理层发送数据。
要注意的是,在符合CSI-2标准内的统一串行链路(USL)的情况下,例如,低速命令传输可以经由D-PHY或C-PHY中的任一者的一些或所有物理层发送命令。即,高速数据传输和低速命令传输可以发送D-PHY、C-PHY、A-PHY、I2C和I3C中的任一个的一些或所有物理层。
应注意,虽然在图75中已经给出了包括应用处理器1212和1201A的构成的示例的描述,但是通信系统1201和1201A可以被构成为设置有例如电子控制单元(ECU:电子控制单元)。即,对应用处理器1212没有限制,只要采用能够通过直接耦合或间接耦合与图像传感器1211、显示器1213等通信的处理器即可。此外,也可以采用包括图像传感器1211以外的各种传感器的构成。
由此构成的通信系统1201和1201A采用如下所述的发送随机数值或包括随机数值的初始化向量构成的方法。
具体地,特殊公共密钥加密算法(例如,AES-GCM/GMAC)要求包括随机数值的初始化向量。因此,在图像传感器1211与应用处理器1212之间或者在显示器1213与应用处理器1212A之间预先约定用于设置初始化向量和随机数值的规则。
然而,当在图像传感器1211、应用处理器1212和1201A以及显示器1213的每个内部发生随机数值的误识别或篡改时,此后加密图像数据的解密、消息认证等不成功。因此,为了避免图像数据没有被正常发送的失败,需要针对随机数值的误识别和篡改的对策技术。
同时,需要将适于CSI标准或DSI标准的初始化向量定义为MIPI相机串行接口(CSI)标准或MIPI显示器串行接口(DSI)标准的新安全规定。因此,本技术公开了一种发送随机数值或包括随机数值的初始化向量构成的方法,该方法适应符合包括图像传感器1211的CSI标准的成像设备或符合包括显示器1213的DSI标准的显示设备。
应当注意,尽管下文给出了对在图像传感器1211和应用处理器1212之间执行的处理的描述,但是也可以在显示器1213和应用处理器1212A之间执行类似的处理。
<图75中的图像传感器的详细构成实例>
图76是示出图像传感器1211的详细构成实例的框图。
图像传感器1211包括像素1301、AD转换器1302、图像处理部1303、扩展模式自适应CSI-2发送电路1304、物理层处理部1305、I2C/I3C从设备1306、存储部1307、消息计数器1308、随机数更新部1309和安全部1310。应注意,像素1301、AD转换器1302、图像处理部1303、扩展模式自适应CSI-2发送电路1304、物理层处理部1305、I2C/I3C从设备1306和存储部1307以与上述其他实施方式中的对应的各个块相同的方式构成,并且省略其详细描述。
每当满足预定计数条件的扩展分组被发送时,消息计数器1308更新图像传感器1211内部的消息计数值。
安全部1310在图像传感器1211内部导出会话密钥,并且使用会话密钥生成将经受高速数据传输的数据的第一受保护数据(例如,经受算术运算以保护完全性的完全性算术值或被加密以保护机密性的加密数据)。
每次安全部1310生成第一保护数据时,随机数更新部1309更新图像传感器1211内部的随机数(nonce;number used once)值。
由此构成的图像传感器1211向应用处理器1212执行随机数值中的一些或全部和消息计数值中的一些或全部的高速数据传输。例如,随机数值中的一些或全部可以各自是计数值或随机数。另外,随机数值中的一些或全部被存储在扩展分组报头外部以供发送,并且图像数据被存储在分组数据内部以供发送。
在图像传感器1211中,消息计数器1308和随机数更新部1309可以分开地或整体地构成。例如,在分开地构成消息计数器1308和随机数更新部1309的情况下,可以异步地更新随机数值和消息计数值。这使得能够增强随机数值和消息计数值的灵活性。
同时,在消息计数器1308和随机数更新部1309整体构成的情况下,可同步更新随机数值和消息计数值。在这种情况下,当计数值被用作随机数值时,消息计数值与随机数值中的一些或全部共享,从而使得可以节省消息计数器1308的位宽度。即,消息计数器1308可以是随机数更新部1309的一部分或全部,并且其一部分或全部可以与随机数更新部1309共通化。
<图75中的应用处理器的详细构成实例>
图77是示出应用处理器1212的详细构成实例的框图。
应用处理器1212包括物理层处理部1321、扩展模式自适应CSI-2接收电路1322、I2C/I3C主设备1323、存储部1324、数据验证部1325、安全部1326和控制器1327。应注意,物理层处理部1321、扩展模式自适应CSI-2接收电路1322、I2C/I3C主设备1323以及存储部1324以与上述其他实施方式中的对应的相应块相同的方式构成,并且省略其详细描述。
数据验证部1325验证从图像传感器1211发送到应用处理器1212的随机数值或消息计数值的有效性。
安全部1326导出对应于图像传感器1211内部的会话密钥的应用处理器1212内部的会话密钥,并且使用应用处理器1212内部的会话密钥来验证(验证完全性)或解密图像数据的第一受保护数据。
在如此构成的应用处理器1212中,在要验证的数据是计数值的情况下,数据验证部1325能够验证其连续性。此外,数据验证部1325可被构成为设置有计数器,以与图像传感器1211相同的方式更新计数值,从而执行比较和验证。应注意,在要验证的数据是随机数的情况下,数据验证部1325可验证其随机性。要注意的是,数据验证部1325包括随机数更新部1309(或消息计数器),该随机数更新部可用于对第一受保护数据进行验证或解密,或者可用于对待验证的数据进行验证。
图像传感器1211和应用处理器1212可以各自被构成成用于安装在所希望的移动体设备上。例如,移动体设备可以是便携式移动设备,例如,移动电话、智能电话、数码相机、游戏机等中的任一个。移动体设备可以是推进设备,例如,能够进行推进(移动、行进、行走和飞行中的任一个)的车辆、机器人、无人机等中的任一个。移动体设备可以是安装有AI(人工智能)功能以实现自主推进的任何自主车辆、自主器人、自主无人机等。推进设备的推进可由推进设备的用户控制,并且推进设备可根据需要将指令或警报通知给用户。另外,也可以是,上述推进设备自动地控制上述推进设备的推进。
例如,安全部1310和1326可均包括执行用于保护图像数据的算术运算的安全算术部。因此,安全部1310和1326可以使安全算术部执行加密算术运算、解密算术运算、散列值算术运算、消息认证码算术运算、数字签名算术运算、ID(识别)认证、固件测量、加密会话密钥建立、密钥交换、密钥更新等的任何处理。
同时,安全部1310和1326、随机数更新部1309、消息计数器1308、以及数据验证部1325中的任一者可以被构成用于直接电耦合至存储器。存储器可以直接电耦合到寄存器。安全部1310和1326、随机数更新部1309、消息计数器1308和数据验证部1325中的任一个可直接电耦合到寄存器。存储器可以是被保护免受存储器内部的信息泄漏或篡改的存储器。这种存储器和这种寄存器各自分别用作存储部1307和1324。
存储部1307和1324可以存储任何密钥信息(例如,预共享密钥、私钥、公钥或会话密钥)、证书(例如,根证书、中间证书或叶证书)、加密算法信息等。存储部1307和1324可以存储关于图像传感器1211或应用处理器1212的功能信息、关于图像传感器1211或应用处理器1212的ID信息(例如,源ID、目的地ID、最终目的地ID等)、关于图像传感器1211或应用处理器1212的固件信息等中的任何一个。存储部1307和1324可以存储稍后描述的会话信息(例如,会话ID)、安全算术部的算术值(例如,初始值、中间值或最终值)、初始化向量、随机数值、消息计数值、帧号(帧计数值)等中的任意一个。
例如,图像传感器1211或应用处理器1212在存储部1307或1324中存储多次的随机数值、计数值、完全性算术值和加密信息中的任一个,从而使得安全部1310和1326、随机数更新部1309、消息计数器1308和数据验证部1325中的任一个能够确定故障的存在或不存在,并且相应地应对(例如,请求重传在故障位置处的数据、发送异常消息)。另外,在随机数值、计数值、完全性算术值和加密信息中的任意一个周期性地存储在受保护的存储部1307或1324中的情况下,当移动体设备中发生事故时对受保护的存储部1307或1324的分析也带来便于识别事故发生的原因的效果。
<会话>
请求方和应答方(即,应用处理器1212和图像传感器1211)可以通过会话具有一个或多个通信信道。在下文中,通过例示应用处理器1212是请求方并且图像传感器1211是应答方的构成来给出会话的描述。毫无疑问,应用处理器1212可以是应答方并且图像传感器1211可以是请求方。
此外,请求方和应答方能够使用临时固定的加密信息建立安全通信信道。具体地,会话提供加密或消息认证中的一个,或两者。会话包括例如三个阶段:会话握手阶段、应用阶段和会话终止阶段。
会话握手阶段以来自请求方的密钥交换请求(PSK_EXCHANGE或KEY_EXCHANGE中的一个)开始,例如,导出会话密钥(例如,会话机密或加密密钥),并且使用会话密钥保护通信。该阶段的目的是,例如,应答方和请求方首先可以在各侧之一发送应用数据(例如,图像数据)之前在它们之间建立信任。进一步,可确保握手和与导出的握手机密同步的一定程度的完全性。
在这个阶段发生错误的情况下,可以立即结束会话并且继续会话结束。当握手成功时,例如,通过来自应答方的结束响应(FINISH_RSP或PSK_FINISH_RSP)结束会话,并且应用阶段开始。一旦完成握手以通过所有验证,会话就到达应用阶段,其中应答方或请求方之一可以传送应用数据。
例如,在结束请求(END_SESSION)从请求方发出的情况下或者在发生错误的情况下,结束应用阶段。下一阶段是会话终止阶段。
会话终止阶段例如仅仅是内部阶段,并且不存在要发送或接收的明确消息。当会话结束时,请求方和应答方两者都丢弃或清除所有导出的会话密钥,诸如会话机密和加密密钥。请求方和应答方可以具有与该会话相关联的其他内部数据,其也可能期望清除。
会话机密用于例如导出待在AEAD(具有附加数据的认证加密)功能中使用的加密密钥和盐(salt)。加密密钥的导出可能频繁地使用如在HKDF-Expand中定义的HMAC和在RFC5869中描述的RFC2104。会话机密可以由单个机密或多个类型的机密来构成。会话密钥可以由单个密钥或多个类型的密钥来构成。
<高速数据传输和低速命令传输的处理实例>
参考图78至80给出其中在图像传感器1211和应用处理器1212之间执行高速数据传输和低速命令传输的通信处理的描述。
图78是描述通信处理的第一处理实例的流程图。
这里,应用处理器1212的扩展模式自适应CSI-2接收电路1322具有作为CCI主机(请求方)和CSI-2主机的功能。图像传感器1211的扩展模式自适应CSI-2发送电路1304具有作为CCI设备(应答方)和CSI-2设备的功能。CCI主机将请求消息发送到CCI设备,并且响应于其的接收,CCI设备将响应消息发送到CCI主机。
在步骤S501中,在扩展模式自适应CSI-2接收电路1322的CCI主机与扩展模式自适应CSI-2发送电路1304的CCI设备之间执行GET_VERSION请求和VERSION响应。这允许扩展模式自适应CSI-2接收电路1322获取端点的SPDM(安全协议和数据模型)版本。
在步骤S502中,在扩展模式自适应CSI-2接收电路1322的CCI主机与扩展模式自适应CSI-2发送电路1304的CCI设备之间执行GET_CAPABILITIES请求和CAPABILITIES响应。这允许扩展模式自适应CSI-2接收电路1322获取端点的SPDM功能。
在步骤S503中,在扩展模式自适应CSI-2接收电路1322的CCI主机与扩展模式自适应CSI-2发送电路1304的CCI设备之间执行NEGOTIATE_ALGORITHMS请求和ALGORITHMS响应。这允许扩展模式自适应CSI-2接收电路1322与扩展模式自适应CSI-2发送电路1304协商加密算法。
在步骤S504中,在扩展模式自适应CSI-2接收电路1322的CCI主机与扩展模式自适应CSI-2发送电路1304的CCI设备之间执行PSK_EXCHANGE请求和PSK_EXCHANGE_RSP响应。这允许扩展模式自适应CSI-2接收电路1322和扩展模式自适应CSI-2发送电路1304导出面向CCI的会话密钥,诸如会话机密或加密密钥。
在步骤S505中,在扩展模式自适应CSI-2接收电路1322的CCI主机与扩展模式自适应CSI-2发送电路1304的CCI设备之间执行PSK_FINISH请求和PSK_FINISH_RSP响应。这向应答方证实扩展模式自适应CSI-2接收电路1322知道PSK(PSK:预共享密钥)并且在步骤S504中导出的面向CCI的会话密钥是正确的。
在步骤S506中,在扩展模式自适应CSI-2接收电路1322的CCI主机与扩展模式自适应CSI-2发送电路1304的CCI设备之间执行PSK_EXCHANGE请求和PSK_EXCHANGE_RSP响应。这允许扩展模式自适应CSI-2接收电路1322和扩展模式自适应CSI-2发送电路1304导出面向CSI-2的会话密钥,诸如会话机密或加密密钥。
在步骤S507中,在扩展模式自适应CSI-2接收电路1322的CCI主机与扩展模式自适应CSI-2发送电路1304的CCI设备之间执行PSK_FINISH请求和PSK_FINISH_RSP响应。这向应答方证实扩展模式自适应CSI-2接收电路1322知道PSK(PSK:预共享密钥)并且在步骤S506中导出的面向CSI-2的会话密钥是正确的。
这里,步骤S505和S507中的会话密钥的证书通过由请求方的finish_key和该会话的消息计算的MAC值来实现。然后,使用在步骤S504和S506中导出的会话密钥来保护随后的CCI通信和CSI-2通信。
在步骤S508中,在扩展模式自适应CSI-2接收电路1322中,从CCI主机向CSI-2主机提供面向CSI-2的会话机密或会话密钥、算法和其他参数。
在步骤S509中,在扩展模式自适应CSI-2发送电路1304中,将面向CSI-2的会话机密或会话密钥、算法和其他参数从CCI设备提供至CSI-2设备。
在步骤S510中,扩展模式自适应CSI-2发送电路1304的CSI-2设备通过高速数据通信将图像数据发送至扩展模式自适应CSI-2接收电路1322的CSI-2主机。例如,持续执行高速数据通信,直到面向CSI-2的会话密钥被更新的定时。
在步骤S511中,在扩展模式自适应CSI-2接收电路1322中,从CSI-2主机向CCI主机提供用于更新面向CSI-2的会话密钥的触发。然而,该触发可以从CSI-2设备或CCI设备提供给CCI主机,或者自触发可以从CCI主机提供给CCI主机。
在步骤S512中,在扩展模式自适应CSI-2接收电路1322的CCI主机与扩展模式自适应CSI-2发送电路1304的CCI设备之间执行KEY_UPDATE请求和KEY_UPDATE_ACK响应。这允许会话密钥被更新并且旧会话密钥的一部分被丢弃。注意,在会话密钥由多种密钥(请求方向密钥或应答方向密钥等)构成的情况下,也可以更新一部分或全部。此外,KEY_UPDATE请求可以使用稍后描述的GET_Encapsulated_REQUEST机制从应答方发出。
在步骤S513中,执行与步骤S512中的处理类似的处理,并且执行KEY_UPDATE请求和KEY_UPDATE_ACK响应两次。这允许只通过步骤S512的处理而未废弃的旧会话密钥的剩余部分(全部)被废弃。
在步骤S514中,在扩展模式自适应CSI-2接收电路1322中,从CCI主机向CSI-2主机提供面向CSI-2的会话机密或会话密钥(更新之后)、算法和其他参数。
在步骤S515中,在扩展模式自适应CSI-2发送电路1304中,从CCI设备向CSI-2设备提供面向CSI-2的会话机密或会话密钥(更新之后)、算法和其他参数。
在步骤S516中,以与步骤S510相同的方式,开始通过高速数据通信的图像数据发送;以下,重复进行与步骤S510至S515相同的处理。
需要说明的是,在通信处理的第一处理示例中,面向CCI的会话密钥与面向CSI-2的会话密钥不同,面向CCI的会话ID与面向CSI-2的会话ID不同,面向CCI的会话机密与面向CSI-2的会话机密不同。这不是限制性的;如在通信处理的第二处理示例中,面向CCI的会话密钥和面向CSI-2的会话密钥可以是相同的,面向CCI的会话ID和面向CSI-2的会话ID可以是相同的,并且面向CCI的会话机密和面向CSI-2的会话机密可以是相同的。
图79是描述通信处理的第二处理实例的流程图。
在步骤S521至S523中,执行与图78中的步骤S501至S503中的那些相似的处理。
在步骤S524中,在扩展模式自适应CSI-2接收电路1322的CCI主机与扩展模式自适应CSI-2发送电路1304的CCI设备之间执行PSK_EXCHANGE请求和PSK_EXCHANGE_RSP响应。这里,在通信处理的第二处理示例中,导出相同的面向CCI的会话机密和面向CSI-2的会话机密。
也就是说,可以从同一会话机密导出面向CCI的会话密钥和面向CSI-2的会话密钥。可替代地,面向上行链路的会话密钥和面向下行链路(与上行链路相反的方向)的会话密钥可从相同的会话机密导出。可替代地,面向CCI和CSI-2的公共会话密钥可从同一会话机密导出。应注意,即使在面向CCI的会话和面向CSI-2的会话相同的情况下,面向CCI的会话机密、会话密钥等和面向CSI-2的会话机密、会话密钥等可能不同。
此后,在步骤S525至S534中,执行与图78中的步骤S507至S516中的处理类似的处理。
这里,预共享密钥PSK密钥交换方案为请求方和应答方提供使用对称密钥加密来执行相互认证和会话密钥建立的选项。该选项对于不支持非对称密钥加密或证书处理的端点特别有用。即使在支持非对称密钥加密的情况下,该选项也可以用于加速会话密钥建立。这个选项需要请求方和应答方在握手之前预先知道公共PSK。
基本上,PSK充当用于相互认证凭证信息和会话密钥建立的基础。因此,只有两个端点和向这两个端点提供PSK的潜在受信第三方可以知道PSK值。请求方可以与多个应答方配对。同样地,应答方可以与多个请求方配对。可以向一对请求方和应答方提供一个或多个PSK。
端点可以用作一个设备的请求方,并且还可以同时用作另一个设备的应答方。在基于PSK的会话密钥交换开始之前,发送层需要标识对等(Peer)并在两个端点之间建立通信。
PSK可以在受信环境内提供,例如,在安全制造过程期间。在不受信的环境中,PSK可以使用安全协议在两个端点之间达成一致。规定PSK的大小取决于应用的安全强度的要求来确定,并且应为128位或更多,并且理想地为256位或更多。在PSK规定过程中,端点功能和支持的算法可以传送给对端。因而,在使用PSK选项的会话密钥建立期间,不需要SPDM命令的GET_CAPABILITIES和NEGOTIATE_ALGORITHMS。
在该选项中,定义了PSK_EXCHANGE/PSK_EXCHANGE_RSP和PSK_FINISH/PSK_FINISH_RSP的两个消息对。PSK_EXCHANGE消息具有三个角色:提示应答方获取特殊PSK的角色;在请求方和应答方之间交换上下文的角色;以及向请求方证明应答方知道正确的PSK并且已经导出了正确的会话密钥的角色。
图80是描述通信处理的第三处理示例的流程图。
在步骤S541至S543中,执行与图78中的步骤S501至S503中的那些相似的处理。
在步骤S544中,在扩展模式自适应CSI-2接收电路1322的CCI主机与扩展模式自适应CSI-2发送电路1304的CCI设备之间执行GET_DIGESTS请求和DIGESTS响应。这允许扩展模式自适应CSI-2接收电路1322从扩展模式自适应CSI-2发送电路1304获取证书链摘要。
在步骤S545中,在扩展模式自适应CSI-2接收电路1322的CCI主机与扩展模式自适应CSI-2发送电路1304的CCI设备之间执行GET_CERTIFICATE请求和CERTIFICATE响应。这允许扩展模式自适应CSI-2接收电路1322从扩展模式自适应CSI-2发送电路1304获取证书链。应注意,证书链的获取可执行多次。
在步骤S546中,在扩展模式自适应CSI-2接收电路1322的CCI主机与扩展模式自适应CSI-2发送电路1304的CCI设备之间执行CHALLENGE请求和CHALLENGE_AUTH响应。这允许扩展模式自适应CSI-2接收电路1322通过挑战-应答协议来认证扩展模式自适应CSI-2发送电路1304。
在步骤S547中,在扩展模式自适应CSI-2接收电路1322的CCI主机与扩展模式自适应CSI-2发送电路1304的CCI设备之间执行KEY_EXCHANGE请求(信道=CCI,会话ID=D)请求和KEY_EXCHANGE_RSP响应。这允许请求方和应答方之间的握手为了认证应答方(或者可选地认证双方)的目的而开始。然后,除了在最后的NEGOTIATE_ALGORITHMS/ALGORITHMS交换中协商的内容之外,还协商加密参数,并且建立共享密钥信息。
在步骤S548中,扩展模式自适应CSI-2接收电路1322的CCI主机将GET_ENCAPSULATED_REQUEST发送至扩展模式自适应CSI-2发送电路1304的CCI设备。
在步骤S549中,扩展模式自适应CSI-2发送电路1304的CCI设备向扩展模式自适应CSI-2接收电路1322的CCI主机发送ENCAPSULATED_REQUEST(GET_DIGESTS请求)。
在步骤S550中,扩展模式自适应CSI-2接收电路1322的CCI主机将DELIVER_ENCAPSULATED_RESPONSE(DIGESTS响应)发送至扩展模式自适应CSI-2发送电路1304的CCI设备。这允许扩展模式自适应CSI-2发送电路1304的CCI设备从扩展模式自适应CSI-2接收电路1322的CCI主机获取证书链摘要。
在步骤S551中,扩展模式自适应CSI-2发送电路1304的CCI设备将ENCAPSULATED_RESPONSE_ACK(GET_CERTIFICATE请求)发送给扩展模式自适应CSI-2接收电路1322的CCI主机。
在步骤S552中,扩展模式自适应CSI-2接收电路1322的CCI主机将DELIVER_ENCAPSULATED_RESPONSE(CERTIFICATE响应)发送至扩展模式自适应CSI-2发送电路1304的CCI设备。这可允许CCI设备(应答方)从CCI主机(请求方)获取证书链。另外,该处理可以进行多次。
在步骤S553中,扩展模式自适应CSI-2发送电路1304的CCI设备将ENCAPSULATED_RESPONSE_ACK发送至扩展模式自适应CSI-2接收电路1322的CCI主机。
在步骤S554中,在扩展模式自适应CSI-2接收电路1322的CCI主机与扩展模式自适应CSI-2发送电路1304的CCI设备之间执行FINISH请求和FINISH_RSP响应。这完成了扩展模式自适应CSI-2接收电路1322的CCI主机与扩展模式自适应CSI-2发送电路1304的CCI设备之间的握手,该握手已经通过步骤S547中的KEY_EXCHANGE请求启动。
在步骤S555中,在扩展模式自适应CSI-2接收电路1322的CCI主机与扩展模式自适应CSI-2发送电路1304的CCI设备之间执行GET_MEASUREMENTS请求和MEASUREMENTS响应。这允许扩展模式自适应CSI-2接收电路1322的CCI主机从扩展模式自适应CSI-2发送电路1304的CCI设备获取测量数据。要注意的是,可以使用上述GET_ENCAPSULATED_REQUEST机制,从应答方发布GET_MEASUREMENTS请求。同样地,还可以使用上述GET_ENCAPSULATED_REQUEST机制从应答方发出另一请求。
之后,在步骤S556中,以与步骤S547相同的方式执行KEY_EXCHANGE请求(信道=CSI-2,会话ID=E)和KEY_EXCHANGE_RSP响应。在步骤S557中,以与步骤S554相同的方式执行FINISH请求和FINISH_RSP响应。然后,在步骤S558至S566中,执行与图78中的步骤S508至S516中的那些相似的处理。
<数据验证处理>
参照图81至83给出使用验证分组和待验证分组的数据验证处理的描述。
如图81和图82所示,扩展分组包括分组报头PH、扩展分组报头ePH、分组数据、扩展分组报尾ePF和分组报尾PF。这种构成的扩展分组可构成帧开始、嵌入数据、图像数据、用户定义数据、帧结束、写命令(CCI写)、读命令(CCI读)和读响应(CCI读返回值)。应当注意,可以省略分组报头PH、扩展分组报头ePH、分组数据、扩展分组报尾ePF和分组报尾PF中的一些或全部。即,至少包括扩展分组报头ePH和分组数据的分组构成被定义为扩展分组。
顺便提及,存在扩展分组报头ePH、分组数据和扩展分组报尾ePF中的任一个可能由于噪声、干扰或攻击而不能正常接收(消息可能消失)的可能性。因此,期望在扩展分组报尾端ePF0内部存储验证分组以验证扩展分组报头ePH、分组数据和扩展分组报尾剩余部分ePF1的完全性。为了验证完全性,例如,使用循环冗余校验的CRC32,CRC32是一种类型的错误检测码。此外,作为CRC32的生成多项式,例如,使用X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1。
分组数据可以用于待验证的分组。可替代地,扩展分组报头和分组数据可以用于要被验证的分组。可替代地,分组数据和扩展分组报尾剩余部(ePF1)可以用于待验证的分组。可替代地,扩展分组报头、分组数据和扩展分组报尾剩余部(ePF1)可以用于待验证的分组。这种待验证的分组允许至少保护分组数据。
即,图像传感器1211包括第二保护部(例如,CRC算术部),该第二保护部在不使用会话密钥的情况下生成分组数据的第二受保护数据(例如,CRC算术值)。例如,在高速数据传输的扩展分组报尾ePF中存储第二受保护数据。即,第二存储的数据被存储在帧开始、嵌入数据、图像数据、用户定义数据、帧结束、写命令(CCI Write)、读命令(CCI Read)和读响应(CCI Read返回值)中的任何一个中。
扩展分组报尾ePF1或ePF0可以具有在其中定义的安全特征(安全特征)。即,图像传感器1211可在其中包括安全算术部(例如,加密算术部、解密算术部、哈希值算术部、消息认证码算术部或数字签名算术部)。另外,安全算术运算的结果(例如,数字签名的散列值、消息认证码)可存储在扩展分组报尾ePF中。
安全算术运算的结果可以仅存储在扩展分组报尾ePF1内部而不是存储在扩展分组报尾ePF0内部,并且可以存储在扩展分组报尾外部(例如,在嵌入数据内部或在读响应内部)而不是存储在扩展分组报尾内部。包括在图像传感器1211中的安全算术部包括在安全部1310中。
作为消息认证码(MAC:Message Authentication Code),可以使用GMAC(GaloisMAC)、CMAC(Cipher-based MAC)、HMAC(Hash-based MAC)等中的任何一种。例如,可以使用AES(Advanced Encryption Standard,高级加密标准)或SHA(Secure HashAlgorithm,安全散列算法)被应用到的AES-GMAC、AES-CMAC、SHA2-HMAC、SHA3-HMAC等中的任何一个。应注意,AES具有128位的块长度,并且选择128位、192位和256位中的任一个作为AES的密钥长度。
扩展分组报尾可以在其中存储例如散列(具体地,密码散列)值、消息认证码、数字签名等中的任一个的安全信息,其中分组数据作为待验证的分组,或扩展分组报头和分组数据作为待验证的分组。在这种情况下,有可能进一步抵抗来自攻击者的恶意篡改。需要说明的是,扩展分组报尾“ePF1”或“ePF1和ePF0”中可以存储循环冗余校验的CRC,这是检错码的一种。
也就是说,图像传感器1211可以包括完全性算术部(例如,第一保护部=安全算术部,第二保护部=CRC算术部),并且可以在扩展分组报尾中存储由完全性算术运算产生的完全性算术值(例如,第一受保护数据或第二受保护数据)。要注意的是,CRC可用于功能安全,并且完全性可用于防止未检测到硬件故障。同时,安全特征的完全性可以用于检测有意的干扰或攻击。即,安全算术部执行基于密码的完全性算术值的算术运算,CRC算术部执行不基于密码的完全性算术值的算术运算。
应用处理器1212能够例如通过使用验证分组来验证待验证的分组的完全性。例如,在确定为异常的情况下,也可以执行以下的处理,例如发送请求重传包含待验证的分组和验证分组的分组的请求消息等,发送询问图像传感器1211在图像传感器1211中是否存在异常的请求消息,发送请求图像传感器1211停止图像传感器1211的一些或全部功能的请求消息,推进设备的推进停止、推进设备的推进控制的变更和用于推进控制的优先数据的变更。
要注意的是,完全性算术值可以存储在例如嵌入数据、图像数据(分组数据)、用户定义数据、写命令、读命令、读响应等中的任何一个内部。在这种情况下,完全性算术值可能不存储在扩展分组报尾中。例如,可以以图像的帧为单位而不是以图像的行为单位存储完全性算术值,在这种情况下,在完全性上有效地执行算术运算。在这种情况下,例如,在发送图像数据之后,在读响应或嵌入数据内部存储完全性算术值。
图81的A中示出的扩展分组是构成实例,其中扩展分组报头ePH、分组数据和扩展分组报尾剩余部ePF1用作待验证的分组,并且存储通过使用待验证的分组的安全算术运算确定的计算值的扩展分组报尾端ePF0用作验证分组。
在图81的B中示出的扩展分组是将分组数据和扩展分组报尾剩余部ePF1用作待验证的分组,并且将存储通过使用待验证的分组的安全算术运算所确定的计算值的扩展分组报尾端ePF0用作验证分组的构成实例。
在图81的C中示出的扩展分组是其中扩展分组报头ePH、分组数据用作待验证的分组,并且存储通过使用待验证的分组的安全算术运算确定的计算值的扩展分组报尾端ePF0用作验证分组的构成实例。
在图81的D中示出的扩展分组是将分组数据用作待验证的分组,并且将存储通过使用待验证的分组的安全算术运算所确定的计算值的扩展分组报尾端ePF0用作验证分组的构成实例。
在图82的A中示出的扩展分组是构成示例,其中,扩展分组报头ePH和分组数据用作待验证的分组,并且存储通过使用待验证的分组的安全算术运算确定的计算值的扩展分组报尾剩余部ePF1用作验证分组。
在图82的B中示出的扩展分组是构成示例,其中,扩展分组报头ePH和分组数据用作待验证的分组,并且存储通过使用待验证的分组的安全算术运算确定的计算值的扩展分组报尾端ePF0和扩展分组报尾剩余部ePF1用作验证分组。
在图82的C中示出的扩展分组是将分组数据用作待验证的分组,并且将存储通过使用待验证的分组的安全算术运算所确定的计算值的扩展分组报尾剩余部ePF1用作验证分组的构成实例。
在图82的D中示出的扩展分组是将分组数据用作待验证的分组,并且将存储通过使用待验证的分组的安全算术运算所确定的计算值的扩展分组报尾端ePF0和扩展分组报尾剩余部ePF1用作验证分组的构成实例。
图83是描述在应用处理器1212中执行的数据验证处理的流程图。
在步骤S601中,当通过扩展模式自适应CSI-2接收电路1322接收从图像传感器1211发送的扩展分组时,安全部1326接收扩展分组的待验证的分组。然后,当安全部1326完成待验证的分组的接收时,处理进行至步骤S602。应注意,即使当尚未完成所有待验证分组的接收时,只要已经完成了使得能够开始计算安全算术运算的至少一部分(例如,128位)的接收,则处理可以进行至步骤S602。在这种情况下,继续接收待验证的分组的剩余部,直到完成所有待验证的分组的接收。
在步骤S602中,安全部1326使用在步骤S601中接收的待验证的分组的至少一部分开始计算将由安全算术运算确定的计算值。
在步骤S603中,安全部1326经由扩展模式自适应CSI-2接收电路1322接收从图像传感器1211发送的验证分组。然后,当安全部1326完成验证分组的接收并且获取存储在验证分组中的接收值(由图像传感器1211计算的计算值)时,处理进行至步骤S604。
在步骤S604中,当安全部1326使用在步骤S602中开始的待验证分组完成通过安全算术运算所确定的计算值的计算(即,接收所有待验证分组并且使用所有待验证分组完成计算)时,处理进行至步骤S605。
在步骤S605中,安全部1326确定在步骤S603中接收的接收值与在步骤S604中确定的计算值是否彼此一致。
在安全部1326在步骤S605中确定接收值和计算值彼此一致的情况下,处理进行至步骤S606。在这种情况下,在步骤S606中,安全部1326确定由扩展模式自适应CSI-2接收电路1322接收的扩展分组正常,并且处理结束。
同时,在安全部1326在步骤S605中确定接收值和计算值彼此不一致的情况下,处理进行至步骤S607。在这种情况下,在步骤S607中,安全部1326确定在由扩展模式自适应CSI-2接收电路1322接收的扩展分组中发生了异常,并且处理结束。
<使用消息计数值确保功能安全>
为了确保功能安全(例如,检测和适当地解决丢失消息),图像传感器1211能够将待由消息计数器1308计数的消息计数值存储在扩展分组报头内或扩展分组报尾内。例如,包括在图像传感器1211中的消息计数器1308能够存储每次从图像传感器1211发送消息时递增或递减的消息计数值。应注意,图像传感器1211可具有其中针对每一虚拟信道(虚拟信道)提供独立消息计数器1308的构成,或具有其中提供对虚拟信道共同的消息计数器1308的构成。
消息计数器1308在包括某个虚拟信道的扩展分组报头的第一分组中将消息计数值设置为初始值(例如,零或最大值),以在每次发送包括某个虚拟信道的扩展分组报头的数据时递增或递减消息计数值。此外,例如,在不包括扩展分组报头的数据被发送的情况下,消息计数器1308不递增或递减消息计数数目,并且当包括扩展分组报头的数据下一次被发送时恢复计数。
消息计数器1308可以继续计数,而不管帧开始或帧结束。然后,在消息计数值被计数到指定值(例如,最大值或0)的情况下,消息计数器1308将下个消息计数值返回到初始值(例如,0或最大值),并执行计数。应当注意,扩展分组报头的一部分可以存储一些随机数值。
应注意,在消息丢失的情况下,接收消息计数值的接收侧(图像传感器1211或应用处理器1212)能够立即检测丢失。例如,通过有意地结合大量的消息来违反图像传感器1211或应用处理器1212的可用性的DoS(拒绝服务)攻击等也在接收侧立即被检测到。因此,消息计数值理想地存储在扩展分组报头中。使得能够在较短时间段内检测这种丢失或攻击使得接收侧能够在较短时间段内开始解决这些丢失或攻击,这特别适合于例如高速移动或推进设备能够高速移动。
需要说明的是,对于写命令(CCI Write)、读命令(CCI Read)或读响应(CCI Readreturn value),也可以将消息计数值或完全性算术值进行存储,并应用与扩展分组关联的元素。在这种情况下,例如,还可以针对写命令、读命令或读响应来解决功能安全或保护完全性。
图84是描述其中图像传感器1211发送消息计数值的消息计数值发送处理的流程图。
在步骤S611中,消息计数器1308将消息计数值初始化以设置为零。
在步骤S612中,扩展模式自适应CSI-2发送电路1304确定是否发送扩展分组报头,并且处理等待直至确定发送扩展分组报头。然后,在步骤S612中,在扩展模式自适应CSI-2发送电路1304确定发送扩展分组报头的情况下,处理进行至步骤S613。
在步骤S613中,扩展模式自适应CSI-2发送电路1304从消息计数器1308获取消息计数值,并且将其存储在扩展分组报头中。
在步骤S614中,扩展模式自适应CSI-2发送电路1304发送在步骤S613中已经存储了消息计数值的扩展分组报头。
在步骤S615中,消息计数器1308确定消息计数值是否已被计数至最大值。在消息计数器1308在步骤S615中确定消息计数值还未被计数到最大值的情况下,处理进入步骤S616。
在步骤S616中,消息计数器1308递增消息计数值。此后,处理返回至步骤S612,并且随后重复执行类似处理。
同时,在步骤S615中消息计数器1308确定消息计数值已被计数至最大值的情况下,处理返回至步骤S611并且初始化消息计数值,并且随后重复执行类似处理。
要注意的是,除了消息计数值的这种递增以外,例如,消息计数值可被初始化以设置为最大值用于递减。
<关于嵌入数据>
参照图85至图88给出嵌入数据的描述。
图像传感器1211可以使用嵌入数据,从而将诸如设备设置信息的附加信息包括在数据流中。嵌入数据按照一行或多线(行,row)构成,且可包括图像传感器1211的构成数据、符合标准的寄存器值、厂商专有寄存器值、帧格式描述、统计值等中的任一者。
图85中的A示出了一行嵌入数据;在其构成中,期望数据量的嵌入数据在嵌入数据格式码之后连续排列,并且填充字符排列在其剩余部中。
嵌入数据包括与图像数据或用户定义数据相关的信息。因此,图像数据或用户定义数据可以是压缩数据,但是嵌入数据期望是未压缩数据(非压缩数据)。因而,在使用数据压缩的情况下,在高速数据传输的帧内部以混合的方式存在压缩数据(图像数据或用户定义数据)和非压缩数据(嵌入数据)。
根据要添加到嵌入数据的寄存器值的数量,嵌入数据可以具有多条线(行)。此外,嵌入数据的行号可以由帧内的第一嵌入数据行中的帧格式内部的描述的一部分来指定。嵌入数据的线长度可以比图像数据或用户定义数据的线长度短,但是优选地不超过图像数据或用户定义数据的线长度,并且理想地与图像数据或用户定义数据的线长度相同。嵌入数据的第一像素值可呈现待用于嵌入数据的格式。
如图85的B所示,可以将随机数值中的一些或全部存储在嵌入数据的指示厂商专用代码(厂商专用)或预留代码(预留供未来使用)的至少一部分中,并且可以发送所述随机数值。在帧内部,嵌入数据被存储在帧开始与第一图像数据或用户定义数据之间,或存储在最后图像数据或用户定义数据与帧结束之间。然而,可以省略在最后的图像数据或用户定义数据与帧结束之间的嵌入数据。
图86示出了从图像传感器1211发送的两个帧的图像数据的数据结构的实例。
如图86所示,在发送第一虚拟信道帧开始(VC1 FS)之后,在读命令和读响应之后,发送第二虚拟信道帧开始(VC2 FS)。接下来,发送第一虚拟信道第一嵌入数据(VC1 EmbData)和第二虚拟信道第一嵌入数据(VC2 Emb Data)。然后,发送一帧的第一虚拟信道图像数据(VC1 Img Data)和第二虚拟信道用户定义数据(VC2 UD Data)。在一帧的发送完成时,发送第一虚拟信道第二嵌入数据(VC1 Emb Data)和第二虚拟信道第二嵌入数据(VC2 EmbData)。此后,在发送第一虚拟信道帧结束(VC1 FE)之后,在读命令和读响应之后发送第二虚拟信道帧结束(VC2 FE)。
图86示出了消息计数值在第一虚拟信道与第二虚拟信道之间被共通化的实例。此时,可采用这样的构成,其中,设置用于第一虚拟信道和第二虚拟信道的彼此独立的消息计数器。此外,用户定义数据可以是图像数据等。
此处,例如,在从帧开始到帧结束的时间段内或者在从帧结束到帧开始的时间段内(帧消隐时间段)存储随机数值中的一些或全部。此外,在从帧开始到帧结束的时间段内,可将随机数值存储在例如嵌入数据中、图像数据中、非图像数据中或行消隐时段中。另外,随机数值可以存储在第二虚拟信道中。
定义帧开始和帧结束使得例如图像传感器可以向处理器通知高速数据传输的开始和结束。此外,图像传感器可以将帧发送周期保持为恒定。应注意,嵌入数据是其中存储表示图像数据的属性、与图像数据相关的信息(元数据)等的数据。
在本实施例中,给出了在不抑制图像数据的高速数据传输的情况下执行随机数值的高速数据传输的实例的描述。即,给出了对图像数据的高速数据传输和随机数值的高速数据传输不是并行执行而是串行执行的实例的描述。然而,在将不同的通信路径用于图像数据的高速数据传输和随机数值的传输(高速数据传输或低速命令传输)的情况下,可以并行执行该传输。
应注意,对于高速数据传输和低速命令传输,滤波器的频率分离是可能的,并且因此,除非在功率消耗上存在问题,否则一些或所有发送可以被复制(并行执行)。可以对于每多个帧发送随机数值中的一些或全部,但是由于诸如帧丢失的原因,期望对于每个帧发送随机数值中的一些或全部。例如,帧开始(FrameStart;FS)分组包括帧起始码(DataType=0x00)和帧结束(Frame End;FE)分组包括帧结束码(DataType=0x01)。
图87是描述图像传感器1211发送图像数据的图像数据发送处理的流程图。
在步骤S621中,扩展模式自适应CSI-2发送电路1304确定是否已经接收到用于高速数据传输的开始命令,并且等待处理,直到确定已经接收到用于高速数据传输的开始命令为止。然后,在扩展模式自适应CSI-2发送电路1304在步骤S621中确定已接收到用于高速数据传输的开始命令的情况下,处理进行至步骤S622。
在步骤S622中,像素1301开始成像,并且从像素1301输出的图像数据经由AD转换器1302和图像处理部1303被提供给扩展模式自适应CSI-2发送电路1304。
在步骤S623中,扩展模式自适应CSI-2发送电路1304发送第一虚拟信道的帧开始。
在步骤S624中,扩展模式自适应CSI-2发送电路1304发送第二虚拟信道的帧开始。
在步骤S625中,扩展模式自适应CSI-2发送电路1304发送第一虚拟信道的第一嵌入数据。
在步骤S626中,扩展模式自适应CSI-2发送电路1304发送第二虚拟信道的第一嵌入数据。
在步骤S627中,扩展模式自适应CSI-2发送电路1304发送第一虚拟信道的图像数据。
在步骤S628中,扩展模式自适应CSI-2发送电路1304发送第二虚拟信道的用户定义数据。
在步骤S629中,扩展模式自适应CSI-2发送电路1304确定是否已经完成针对一帧的图像数据的发送。
在扩展模式自适应CSI-2发送电路1304在步骤S629中确定未完成一帧的图像数据的发送的情况下,处理返回至步骤S627,并且随后重复执行类似处理。同时,在扩展模式自适应CSI-2发送电路1304在步骤S629中确定已经完成针对一帧的图像数据的发送的情况下,处理进行至步骤S630。
在步骤S630中,扩展模式自适应CSI-2发送电路1304发送第一虚拟信道第二嵌入数据。
在步骤S631中,扩展模式自适应CSI-2发送电路1304发送第二虚拟信道第二嵌入数据。
在步骤S632中,扩展模式自适应CSI-2发送电路1304发送第一虚拟信道帧结束。
在步骤S633中,扩展模式自适应CSI-2发送电路1304发送第二虚拟信道帧结束。
在步骤S634中,扩展模式自适应CSI-2发送电路1304确定是否已接收到用于高速数据传输的结束命令。
在扩展模式自适应CSI-2发送电路1304在步骤S634中确定尚未接收到用于高速数据传输的结束命令的情况下,处理返回至步骤S622,并且随后重复执行类似处理。同时,在扩展模式自适应CSI-2发送电路1304在步骤S634中确定已经接收到用于高速数据传输的结束命令的情况下,处理结束。
可继续执行成像的开始,直到接收到用于高速数据传输的结束命令,并且每当接收到用于高速数据传输的开始命令时可执行成像。
图88是描述完全性算术值发送处理的流程图,其中图像传感器1211发送完全性算术值。
在步骤S641中,安全部1310导出第一虚拟信道的会话密钥。
在步骤S642中,安全部1310导出第二虚拟信道的会话密钥。
在步骤S643中,消息计数器1308将消息计数值的上限计数值初始化以设置为零。
在步骤S644中,消息计数器1308将消息计数值的下计数值初始化以设置为零。
在步骤S645中,扩展模式自适应CSI-2发送电路1304确定是否结束会话;在确定未结束会话的情况下,处理进入步骤S646。
在步骤S646中,扩展模式自适应CSI-2发送电路1304确定是否传送第一虚拟信道的扩展分组。
在步骤S646中,在扩展模式自适应CSI-2发送电路1304确定不发送第一虚拟信道的扩展分组的情况下,处理返回至步骤S645,并且随后重复执行类似处理。同时,在扩展模式自适应CSI-2发送电路1304在步骤S646中确定发送第一虚拟信道的扩展分组的情况下,处理进行至步骤S647。
在步骤S647中,安全部1310使用在步骤S641中导出的第一虚拟信道的会话密钥来执行第一虚拟信道的完全性算术值的算术运算。
在步骤S648中,扩展模式自适应CSI-2发送电路1304将步骤S647中计算出的完全性运算值布置在第一虚拟信道的扩展分组中,并发送第一虚拟信道的扩展分组。
在步骤S649中,扩展模式自适应CSI-2发送电路1304确定是否发送第二虚拟信道的扩展分组,并且等待该处理直到确定发送第二虚拟信道的扩展分组为止。然后,在扩展模式自适应CSI-2发送电路1304在步骤S649中确定发送第二虚拟信道的扩展分组的情况下,处理进行至步骤S650。
在步骤S650中,安全部1310使用在步骤S642中导出的第二虚拟信道的会话密钥执行第二虚拟信道的完全性算术值的算术运算。
在步骤S651中,扩展模式自适应CSI-2发送电路1304将在步骤S650中计算的完全性算术值布置在第二虚拟信道的扩展分组中,并发送第二虚拟信道的扩展分组。
在步骤S652中,消息计数器1308确定消息计数值的下计数值是否已被计数至最大值。
在消息计数器1308在步骤S652中确定消息计数值的下计数值还未被计数至最大值的情况下,处理进行至步骤S653。在步骤S653中,消息计数器1308递增消息计数值的下下计数值,然后处理返回到步骤S645;以下,重复进行类似的处理。
同时,在消息计数器1308在步骤S652中确定消息计数值的下计数值已被计数直至最大值的情况下,处理进行至步骤S654。在步骤S654中,消息计数器1308递增消息计数值的上计数值,然后处理返回到步骤S644;以下,重复进行类似的处理。
然后,在扩展模式自适应CSI-2发送电路1304在步骤S645中确定结束会话的情况下,处理进行至步骤S655。
在步骤S655中,安全部1310丢弃或清除第一虚拟信道的会话密钥和第二虚拟信道的会话密钥,并且此后处理结束。
<图像数据的数据结构的变形例>
参考图89至图91给出图像数据的数据结构的描述。
图89示出了图像数据的数据结构的第一变形例。
在图89所示的图像数据的数据结构中,使用在第一虚拟信道和第二虚拟信道之间共通化的消息计数值。
然而,会话密钥或消息计数器可以在第一虚拟信道和第二虚拟信道之间被共通化。另外,图像数据或嵌入数据可以由其他数据替换。例如,嵌入的数据可以由图像数据替换。同时,消息计数器可以通过跨虚拟信道(VC)计数被共通化。
图90示出了图像数据的数据结构的第二变形例。
在图90中所示出的图像数据的数据结构中,写(CCI写命令)、读1(CCI读命令)和Read2(CCI读响应)使用彼此独立的消息计数值。
图91示出了图像数据的数据结构的第三变形例。
在图91所示的图像数据的数据结构中,CCI上行链路(Write and Read1)和CCI下行链路(Read2)具有彼此独立的消息计数值。即,消息计数值可以在写(CCI写命令)和Read1(CCI读命令)之间被共通化。
<关于随机数值>
例如,随机数(nonce)值是针对同一会话密钥使用一次(number used once)的数字,并且因此被用作使用会话密钥的加密算术运算或解密算术运算的初始化向量(initialization vector)中的一些或全部。因此,由图像传感器1211用于加密算术运算的随机数从图像传感器1211发送并被应用处理器1212接收,从而使应用处理器1212能够获得解密算术运算所需的随机数值。
即,图像传感器1211期望在发送图像数据之前发送随机数值。具体地,在完成前一帧的帧中的最后图像数据的发送之后,直到开始发送某个帧中的第一图像数据为止,将与该某一帧中的图像数据相对应的随机数值中的一些或全部存储在读响应、用户定义数据、嵌入数据(紧接在图像数据之后)、帧结束、帧开始或嵌入数据(紧接在图像数据之前)中的任何一个中。
例如,作为低速命令传输的主设备的应用处理器1212可响应于通过高速数据传输发送的帧开始、嵌入数据、图像数据、用户定义数据、帧结束等中的任一个的接收的开始或完成,通过低速命令传输将请求读取图像传感器1211中的随机数值的读命令从作为低速命令传输的从设备的图像传感器1211发送到应用处理器1212。
图像传感器1211接收从应用处理器1212发送的读命令,并且响应于此通过高速数据传输发送随机数值。然后,应用处理器1212接收读响应,从而实现从图像传感器1211向应用处理器1212通知随机数值。
在应用处理器1212中使用从图像传感器1211通知的随机数值,并且因此,期望在帧结束与下一帧开始之间不发送图像数据的帧消隐时段内发送随机数值中的一些或全部。然而,对于第一帧(帧号=1),第一随机数值(初始值)可以在图像传感器1211和应用处理器1212之间预先约定,或者第一随机数值中的一些或全部可以由应用处理器1212通过开始发送图像数据来接收。
该读命令例如对应于I2C或I3C标准中的Read/Write的Read。同时,读响应对应于读返回值。应注意,为了调整读响应的定时,可以在应用处理器1212接收高速数据传输和读命令的发送之间设置等待预定时间段的定时器。
<关于I2C和I3C>
内部集成电路串行总线(在某些情况下被称为I2C总线或I2C总线)是旨在用于将低速外围设备耦合至应用处理器1212的串行单端计算机总线。I2C总线是多主机总线,其中每个设备能够充当I2C总线上传输的各种消息的主设备和从设备。
I2C总线能够仅使用包括串行数据线(SDA)和串行时钟线(SCL)的两个双向开路漏极连接器来发送数据。这些连接器通常包括其端部以上拉电阻器终止的信号线。管理I2C总线的操作的协议指定消息的基本类型,并且每个消息从START开始并以STOP终止。I2C总线使用7位寻址来指定两种类型的节点。
主节点是产生时钟并开始与从节点通信的节点。从节点是当被主设备寻址时接收时钟和响应的节点。I2C总线是多主机总线,意味着可以有任意数量的主节点。进一步,主设备和从设备的角色在某些情况下可以在消息之间(即,在STOP的发送之后)改变。在实现相机的本实施方式中,单向传输可以用于从传感器捕捉图像并且将这样的图像数据传送至基带处理器中的存储器。同时,控制数据可在基带处理器和传感器以及其他外围设备之间交换。
在一个实例中,相机控制接口(CCI)协议可以在一些情况下用于基带处理器与图像传感器(或一个或多个从节点)之间的此类控制数据。在一个实例中,CCI协议可经由图像传感器与基带处理器之间的I2C串行总线来实施。现有的I2C系统(即,基于相机控制接口的相机系统)针对每个从设备使用单独的中断(IRQ)线以便使得该从节点能够向主节点示出该从节点期望使用该总线。
同时,I3C通信标准是经由发送数据的SDA线和发送时钟信号的SCL线的两条信号线进行通信的标准。在该标准中,设备(诸如处理器)被分类为操作为主设备或从设备的设备以及仅操作为从设备的设备。例如,处理器作为主设备或从设备操作,并且传感器仅作为从设备操作。
这里,主设备是控制从设备的设备,从设备是在主设备的控制下操作的设备。此外,在I3C中,多个从设备可耦合至一个主设备。另外,多个主设备可以向一个从设备发送信号;该通信在下文中被称为“多主机通信”。此外,可以在不使用主设备的情况下在从设备之间执行通信;该通信被称为“对等通信”。此外,在SDA线在通信(忙)时,从设备能够通过其他设备的通信中断通信以执行通信;该中断被称为“带内中断(In-Band Interrupt)”。
在上述多主机通信、带内中断和对等通信中,存在由多个设备同时发送的信号可能在SDA线处冲突的可能性。例如,当某个从设备执行带内中断以向主设备发送信号而主设备向另一从设备发送信号时,来自主设备的信号和来自从设备的信号不期望地冲突。因此,I3C中的设备具有检测冲突并仲裁设备的功能。
使用上述中断功能使得有可能容易地与应用处理器1212同步。由此,在由图像传感器1211确定的定时处执行中断允许响应于由图像传感器1211确定的定时而发送随机数相关信息。然而,图像传感器1211可通过带内中断触发读命令以响应于其发送读响应,或者可通过带内中断省略读命令以发送读响应。
<完全性算术值的处理>
参照图92至95给出完全性算术值(complete arithmetic value)的处理的描述。
图92是描述完全性算术值的处理的第一处理实例的流程图,其中图像传感器1211发送完全性算术值。
在步骤S661中,安全部1310导出会话密钥。
在步骤S662中,消息计数器1308将消息计数值初始化以设置为零。
在步骤S663,扩展模式自适应CSI-2发送电路1304确定是否结束会话;在确定为不结束会话的情况下,处理进入步骤S664。
在步骤S664中,扩展模式自适应CSI-2发送电路1304确定是否发送扩展分组。
在扩展模式自适应CSI-2发送电路1304在步骤S664中确定不发送扩展分组的情况下,处理返回至步骤S663,并且随后重复执行类似处理。同时,在扩展模式自适应CSI-2发送电路1304在步骤S664中确定发送扩展分组的情况下,处理进行至步骤S665。
在步骤S665中,安全部1310使用消息计数值执行完全性算术值的算术运算。
在步骤S666,扩展模式自适应CSI-2发送电路1304将在步骤S665中计算的完全性算术值布置在扩展分组中,并且发送扩展分组。
在步骤S667中,消息计数器1308确定消息计数值是否已被计数至最大值。在消息计数器1308在步骤S667中确定消息计数值还未被计数至最大值的情况下,处理进行至步骤S668。
在步骤S668,消息计数器1308递增消息计数值。此后,处理返回至步骤S663,并且随后重复执行类似处理。
同时,在消息计数器1308在步骤S667中确定消息计数值已被计数至最大值的情况下,处理进行至步骤S669。在步骤S669,安全部1310更新会话密钥,然后处理返回至步骤S662;以下,重复进行类似的处理。
然后,在扩展模式自适应CSI-2发送电路1304在步骤S663中确定结束会话的情况下,处理进行至步骤S670。
在步骤S670中,安全部1310丢弃或清除会话密钥,并且此后处理结束。
以这种方式,在用于每个图像行的MAC值经历算术运算并且存储在扩展分组报尾中以便发送的情况下,每次发送扩展分组时,消息计数值增加一,并且因此消息计数值在216次循环。例如,在以60fps的帧速率发送像素数量为4096×2160(水平×垂直)的4K数据的情况下,当假设在一个帧中发送通过将帧开始、嵌入数据和帧结束的三行相加而获得的2163行扩展分组时,消息计数值在(216)/(60×2163)≈0.5秒中循环。
例如,在图像传感器1211使用相同初始化向量值(具有相同会话密钥)来执行MAC值(诸如用于消息发送的消息的Galois消息认证码(GMAC)值)和MAC值的算术运算的情况下,攻击者能够通过计算MAC值和消息的联立方程容易地获得会话密钥。在这种情况下,攻击者能够自由篡改MAC值,从而能够进行诸如假冒消息、篡改或重放的攻击。因此,在消息计数值被用作初始化向量的可变部(即,随机数值)的情况下,有必要更新会话密钥直到消息计数值被循环。例如,通过使用帧消隐或线消隐时段来更新会话密钥直到随机数值被循环(翻转)就足够了。
图93是描述完全性算术值的处理的第二处理实例的流程图,其中图像传感器1211发送完全性算术值。
在步骤S681中,安全部1310导出会话密钥。
在步骤S682中,消息计数器1308将消息计数值的上计数值初始化为设置为零。
在步骤S683中,消息计数器1308将消息计数值的下计数值初始化为设置为零。
在步骤S684中,扩展模式自适应CSI-2发送电路1304确定是否结束会话;在确定为未结束会话的情况下,处理进行至步骤S685。
在步骤S685中,扩展模式自适应CSI-2发送电路1304确定是否发送扩展分组。
在步骤S685中扩展模式自适应CSI-2发送电路1304确定不发送扩展分组的情况下,处理返回至步骤S684,并且随后重复执行类似处理。同时,在步骤S685中扩展模式自适应CSI-2发送电路1304确定发送扩展分组的情况下,处理进行至步骤S686。
在步骤S686,安全部1310使用消息计数值的上计数值和下计数值来执行完全性算术值的算术运算。
在步骤S687中,扩展模式自适应CSI-2发送电路1304将在步骤S686中计算的完全性算术值布置在扩展分组中,并且发送扩展分组。
在步骤S688中,消息计数器1308确定消息计数值的下计数值是否已被计数至最大值。在步骤S688中消息计数器1308确定消息计数值的下计数值没有被计数到最大值的情况下,处理进行到步骤S689。
在步骤S689中,消息计数器1308递增消息计数值的下计数值。之后,处理返回到步骤S684,随后重复执行类似的处理。
同时,在步骤S688中消息计数器1308确定消息计数值的下计数值已经被计数至最大值的情况下,处理进行至步骤S690。在步骤S690,消息计数器1308递增消息计数值的上计数值,然后处理返回到步骤S683;以下,重复进行类似的处理。
然后,在扩展模式自适应CSI-2发送电路1304在步骤S684中确定结束会话的情况下,处理进行至步骤S691。
在步骤S691中,安全部1310丢弃或清除会话密钥,并且此后处理结束。
以此方式,在消息计数值被用作初始化向量的一部分(即,随机数值的一部分(例如,下计数值))的情况下,随机数值的剩余部分(例如,上计数值)还可以被一起使用以由此消除对更新会话密钥的需要或减少更新会话密钥的频率。
例如,在以60fps的帧速率发送4096×2160(水平×垂直)的像素数量的4K数据的情况下,为了循环随机数值,采用:
当16位宽度上计数值一起使用时232÷60÷2163≈9小时
当20位宽度上计数值一起使用时,236÷60÷2163≈6天
当24位宽度上计数值一起使用时,240÷60÷2163≈98天
当28位宽度上计数值一起使用时,244÷60÷2163≈4年
当32位宽度上计数值一起使用时,248÷60÷2163≈69年。
这里,在图像传感器1211或应用处理器1212再次上电(在关闭之后打开)的情况下,在受保护的图像数据的重传之前需要交换密钥,并且因此会话密钥被相应地更新。例如,在车辆安装的典型应用中,不再次通电达到6天以上的可能性低,并且不再次通电达到4年以上的可能性极低,因此,上计数值具有20位至8位的宽度就足够了。不必说,这不是限制性的;可以使用其他较高的位宽度。
例如,再加燃料类型的车辆在再加燃料过程中关闭电力就足够了。即使对于补给燃料类型或再充电类型的车辆,当在检查车辆期间切断电源时,密钥需要在重新发送受保护的图像数据之前被交换,并且因此会话密钥被相应地更新。例如,在设想用于IoT(物联网或智联网)的图像传感器的情况下,假设电源没有再次接通,因此,上计数值具有32位的宽度就足够了。不必说,这不是限制性的;可以使用其他较高的位宽度。
图94是描述完全性算术值的处理的第三处理示例的流程图,其中图像传感器1211发送完全性算术值。
在步骤S701中,安全部1310导出会话密钥。
在步骤S702中,消息计数器1308将帧计数值初始化以设置为1。
在步骤S703中,扩展模式自适应CSI-2发送电路1304确定是否结束会话;在确定为不结束会话的情况下,处理进入步骤S704。
在步骤S704中,扩展模式自适应CSI-2发送电路1304确定是否发送扩展分组。
在扩展模式自适应CSI-2发送电路1304在步骤S704中确定不发送扩展分组的情况下,处理返回至步骤S703,并且随后重复执行类似处理。同时,在扩展模式自适应CSI-2发送电路1304在步骤S704中确定发送扩展分组的情况下,处理进行至步骤S705。
在步骤S705中,安全部1310使用帧计数值准备要执行的完全性算术值的算术运算。
在步骤S706中,扩展模式自适应CSI-2发送电路1304发送扩展分组。
在步骤S707中,扩展模式自适应CSI-2发送电路1304确定是否已经完成除了帧中的帧结束的发送以外的发送。在扩展模式自适应CSI-2发送电路1304在步骤S707中确定除了帧中的帧结束以外的发送尚未完成的情况下,处理返回至步骤S703,并且随后重复执行类似处理。同时,在步骤S707中扩展模式自适应CSI-2发送电路1304确定完成了除了帧中的帧结束以外的发送的情况下,处理进行至步骤S708。
在步骤S708中,安全部1310使用帧计数值完成要执行的完全性算术值的算术运算。
在步骤S709中,扩展模式自适应CSI-2发送电路1304将完全性算术值与帧结束一起发送。
在步骤S710中,消息计数器1308确定帧计数值是否已被计数至指定值。在消息计数器1308在步骤S710中确定帧计数值没有被计数到指定值的情况下,处理进行到步骤S711。
在步骤S711中,消息计数器1308递增帧计数值。之后,处理返回到步骤S703,随后重复进行类似的处理。
同时,在消息计数器1308在步骤S710中确定帧计数值已被计数至指定值的情况下,处理进行至步骤S712。在步骤S712中,安全部1310更新会话密钥,然后处理返回到步骤S702;以下,重复进行类似的处理。
然后,在扩展模式自适应CSI-2发送电路1304在步骤S703中确定结束会话的情况下,处理进行至步骤S713。
在步骤S713中,安全部1310丢弃或清除会话密钥,并且此后处理结束。
以这种方式,图像传感器1211可以针对每个图像帧执行完全性算术值的算术运算以用于集中发送。在这种情况下,在图像数据之后,将完全性算术值存储在嵌入数据、用户定义数据或读响应中用于发送。
帧开始或帧结束可包括例如16位帧号。在对应于预定帧的帧结束和帧开始之间,帧号可以是相同的。在使用16位帧号的情况下,帧号不起作用;为了将其与被设置为并保持为零的使用情况区分开,非零是合乎需要的,但是这不是限制性的。
对于具有相同虚拟信道的每个帧起开始分组,帧号递增一或二,并周期性地重置为一。例如,在图像帧由于损坏而被掩蔽(即,不被传送)的情况下,帧号可增加2。
为了适应这种情况,根据需要,可以在帧号序列中以混合的方式自由地呈现一个或两个的增量。即,在增量为1的情况下,帧号以216-1次循环。此外,在帧速率是60fps的情况下,帧号在(216-1)÷60≈18分钟内循环。
例如,在图像传感器1211使用相同的初始化向量值(具有相同的会话密钥)来执行MAC值(诸如用于消息发送的消息的Galois消息认证码(GMAC)值)和MAC值的算术运算的情况下,攻击者能够通过计算MAC值和消息的联立方程容易地获得会话密钥。在这种情况下,攻击者能够自由篡改MAC值,从而能够进行诸如假冒消息、篡改或重放的攻击。
因此,在帧号用作初始化向量(即,随机数值)的情况下,需要更新会话密钥,直到循环帧号。例如,通过使用帧消隐或线消隐时段来更新会话密钥直到随机数值被循环(翻转)就足够了。
图95是描述完全性算术值的处理的第四处理实例的流程图,其中图像传感器1211发送完全性算术值。
在步骤S721中,安全部1310导出会话密钥。
在步骤S722中,消息计数器1308将帧计数值的上计数值初始化为设置为零。
在步骤S723中,消息计数器1308将帧计数值的下计数值初始化为设置为一。
在步骤S724中,扩展模式自适应CSI-2发送电路1304确定是否结束会话;在确定为不结束会话的情况下,处理进入步骤S725。
在步骤S725中,扩展模式自适应CSI-2发送电路1304确定是否发送扩展分组。
在步骤S725中,在扩展模式自适应CSI-2发送电路1304确定不发送扩展分组的情况下,处理返回至步骤S724,并且随后重复执行类似处理。同时,在扩展模式自适应CSI-2发送电路1304在步骤S725中确定发送扩展分组的情况下,处理进行至步骤S726。
在步骤S726中,安全部1310使用帧计数值的上计数值和下计数值准备要执行的完全性算术值的算术运算。
在步骤S727中,扩展模式自适应CSI-2发送电路1304发送扩展分组。
在步骤S728中,扩展模式自适应CSI-2发送电路1304确定是否已经完成除了帧中的帧结束的发送以外的发送。在步骤S728中扩展模式自适应CSI-2发送电路1304确定除了帧中的帧结束以外的发送尚未完成的情况下,处理返回至步骤S724,并且随后重复执行类似处理。同时,在扩展模式自适应CSI-2发送电路1304在步骤S728中确定除了帧中的帧结束以外的发送已经完成的情况下,处理进行至步骤S729。
在步骤S729中,安全部1310使用帧计数值的上计数值和下计数值完成将要执行的完全性算术值的算术运算。
在步骤S730中,扩展模式自适应CSI-2发送电路1304将完全性算术值与帧结束一起发送。
在步骤S731中,消息计数器1308确定帧计数值的下计数值是否已被计数至指定值。在消息计数器1308在步骤S731中确定帧计数值的下计数值没有被计数到指定值的情况下,处理进行到步骤S732。
在步骤S732中,消息计数器1308递增帧计数值的下计数值。之后,处理返回至步骤S724,并且随后重复执行类似处理。
同时,在消息计数器1308在步骤S731中确定帧计数值的下计数值已经被计数到指定值的情况下,处理进行到步骤S733。在步骤S733中,安全部1310递增帧计数值的上计数值,然后处理返回至步骤S723;以下,重复进行类似的处理。
然后,在扩展模式自适应CSI-2发送电路1304在步骤S724中确定结束会话的情况下,处理进行至步骤S734。
在步骤S734中,安全部1310丢弃或清除会话密钥,并且此后处理结束。
以此方式,在帧号用作初始化向量的一部分(即,随机数值的一部分(例如,下计数值))的情况下,随机数值的剩余部分(例如,上计数值)也可一起使用以由此消除对更新会话密钥的需要或减少更新会话密钥的频率。
例如,在以60fps递增一的情况下,为了循环随机数值,采取:
24×(216-1)÷60≈5小时,当一起使用4位宽度的上计数值时
28×(216-1)÷60≈78小时,当一起使用8位宽度的上计数值时
212×(216-1)÷60≈52天,当一起使用12位宽度的上计数值时
216×(216-1)÷60≈828天,当一起使用16位宽度的上计数值时
220×(216-1)÷60≈36年,当一起使用20位宽度的上计数值时
224×(216-1)÷60≈581年,当一起使用24位宽度的上计数值时。
这里,在图像传感器1211或应用处理器1212再次通电(在关闭之后打开)的情况下,需要在重新发送受保护的图像数据之前交换密钥,并且因此相应地更新会话密钥。例如,在车辆安装的典型应用中,不再次通电3天以上的可能性低,并且不再次通电2年以上的可能性极低,因此,上计数值具有8位至6位的宽度就足够了。不必说,这不是限制性的;可以使用其他较高的位宽度。
例如,再加燃料类型的车辆在再加燃料过程中关闭电力就足够了。即使对于补给燃料类型或再充电类型的车辆,当在检查车辆期间切断电源时,密钥需要在重新发送受保护的图像数据之前被交换,并且因此会话密钥被相应地更新。例如,在设想用于IoT(物联网或智联网)的图像传感器的情况下,假设电源没有再次接通,因此,上计数值具有20位至4位的宽度就足够了。不必说,这不是限制性的;可以使用其他较高的位宽度。
<加密和解密>
参照图96至100给出加密和解密的描述。
图96示出了存储初始化向量的初始计数器块的示例。
如图96中所示,使初始化向量结构共通并且在虚拟信道之间采用不同值使得安装更容易。此外,在CSI-2虚拟信道之间使用公共会话密钥或计数值。
128位初始化计数器块被用于通过AES(Advanced Encryption Standard)-GCM(Galois/Counter Mode)或AES-GMAC(Galois Message Authentication Code)的加密或消息认证。
例如,对于初始计数器块的加密,可使用如图97中所示的GHASH函数、如图98中所示的GCTR函数等。
初始化向量用于使用具有如图99所示的认证加密功能的GCM-AE(AuthenticationEncryption)函数的加密和用于使用具有如图100所示的认证解密功能的GCM-AD(Authenticated Decryption)函数的解密。然而,初始化向量在使用时可以限于加密(解密)或消息认证之一的功能。
例如,当初始化向量IV、明文P和附加认证数据A被输入到GCM-AE函数时,明文P被加密;结果,输出加密文本C和认证标签T。
同时,当初始化向量IV、加密文本C、附加认证数据A和认证标签T输入到GCM-AD函数时,加密文本C被解密,明文P被输出;在认证标签T和认证标签T’彼此不一致的情况下,输出指示认证失败的结果(FAIL)。
<完全性算术值的第一发送方法>
参考图101至105给出了完全性算术值MAC的第一发送方法的描述。
图101示出了其中为每行发送完全性算术值MAC的图像数据的数据结构。以下适当地将以这种方式发送用于每个行的完全性算术值MAC值的发送方法称为行-MAC方法。
如图所示,对于每个CSI-2行、对于每个CCI命令或对于每个CCI返回,发送完全性算术值MAC。这样,在其间的初始化向量值相同的情况下,需要更多的会话密钥。
例如,假设使用相同初始化向量和相同会话密钥可能是篡改完全性算术值MAC的原因。
因此,针对相同的初始化向量,建议针对VC0命令、VC0返回、VC1和VC2使用总共四个相应的会话密钥。
同时,提出了对不同的初始化向量使用三个或更少的会话密钥。
在第一种情况下,在VC0命令中使用面向上行链路的第一会话密钥,并且在VC0返回、VC1和VC2中使用面向下行链路的第二会话密钥。在第二种情况下,在VC0中使用面向CCI的第一会话密钥,在VC1和VC2中使用面向CSI-2的第二会话密钥。在第三种情况下,在VC0、VC1和VC2中使用用于面向它们全部的一个会话密钥。
此外,使用总共两个消息计数值。在VC1和VC2之间使用CSI-2所共有的消息计数值,在VC0中使用CCI中独立的消息计数值。
要注意的是,虽然示出了在CSI-2虚拟信道之间使用公共消息计数器的实例,但是可以在CSI-2虚拟信道之间使用独立的消息计数器。在这种情况下,删除流程图的一部分就足够了。另外,在这种情况下,消息计数器可以在CSI-2虚拟信道之间同步或异步。例如,在某些情况下,从实现效率的观点来看,希望使消息计数器共通化,并且在一些情况下,从安全的观点来看,希望使消息计数器彼此独立。
例如,图102中所示结构的初始化向量为所有虚拟信道(CSI-2和CCI)所共用。然后,如图103所示,初始化向量中的一些或全部从发送侧发送至接收侧。应注意,指定值(例如,02、12)可用作预留(Res)2位。另外,预先交换的值可用作源ID或最终目的地ID。另外,接收侧可以使用在接收侧掌握的值,而不是从发送侧发送到接收侧的值,作为初始化向量中的一些或全部。另外,在初始化向量中的一些或全部从发送侧发送到接收侧的情况下,期望初始化向量中的一些或全部在不加密(明文)的情况下发送;然而,这不是限制性的。
图103示出了其中附加消息计数值存储在扩展分组报头外部用于发送的示例,但附加消息计数值和消息计数值可存储在扩展分组报头外部用于发送。在这种情况下,消息计数值也可以存储在扩展分组报头中进行发送。应注意,附加消息计数值可仅被部分地使用。例如,在初始化向量中的附加消息计数值是40位的情况下,计数器可以具有16位的实际附加消息计数值。计数值可被部分地(例如,LSB侧的16位)存储在初始化向量中的附加消息计数值中,指定值(例如,024、124)可被存储在初始化向量中的附加消息计数值的剩余部(例如,MSB侧的24位)中。另外,对于初始化向量中的所有附加消息计数值,可存储指定值(例如,040、140)。
此外,从图像传感器1211发送至应用处理器1212用于设置的初始化向量中的一些或全部被构成不从图像传感器1211发送至应用处理器1212,并且可基于预先约定、寄存器设置等进行设置。
图104示出了CSI-2或CCI的扩展格式的示例。
例如,使用必要的扩展分组报头ePH0的头位(Reserved和VC)或准头位(eVC)作为初始化向量。然后,应用处理器1212可在接收到位之后立即开始计算上述图98中示出的GCTR函数。即,发送侧和接收侧可被构成为能够在eVC的值的发送或接收之前确定除了eVC之外的初始化向量分量的值。
参考图105所示的流程图,给出了图像传感器1211发送每行的完全性算术值MAC的行-MAC方法中的发送处理的描述。
在步骤S741中,安全部1310导出公共会话密钥。
在步骤S742中,消息计数器1308将消息计数值的上限计数值初始化为设置为零。
在步骤S743中,消息计数器1308将消息计数值的下计数值初始化为设置为零。
在步骤S744中,扩展模式自适应CSI-2发送电路1304确定是否结束会话;在确定为不结束会话的情况下,处理进入步骤S745。
在步骤S745中,扩展模式自适应CSI-2发送电路1304确定是否发送第一虚拟信道的扩展分组。
在步骤S745中扩展模式自适应CSI-2发送电路1304确定不发送第一虚拟信道的扩展分组的情况下,处理返回至步骤S744,并且随后重复执行类似处理。同时,在步骤S745中扩展模式自适应CSI-2发送电路1304确定发送第一虚拟信道的扩展分组的情况下,处理进行至步骤S746。
在步骤S746中,安全部1310使用在步骤S741中导出的公共会话密钥执行第一虚拟信道的完全性算术值的算术运算。
在步骤S747中,扩展模式自适应CSI-2发送电路1304将在步骤S746中计算的完全性算术值布置在第一虚拟信道的扩展分组中,并且发送第一虚拟信道的扩展分组。
在步骤S748中,扩展模式自适应CSI-2发送电路1304确定是否发送第二虚拟信道的扩展分组,并且等待处理,直到确定发送第二虚拟信道的扩展分组为止。然后,在步骤S748中扩展模式自适应CSI-2发送电路1304确定发送第二虚拟信道的扩展分组的情况下,处理进行至步骤S749。
在步骤S749中,安全部1310使用在步骤S741中导出的公共会话密钥执行第二虚拟信道的完全性算术值的算术运算。
在步骤S750中,扩展模式自适应CSI-2发送电路1304将在步骤S749中计算的完全性算术值布置在第二虚拟信道的扩展分组中,并且发送第二虚拟信道的扩展分组。
在步骤S751中,消息计数器1308确定消息计数值的下计数值是否已被计数至最大值。
在消息计数器1308在步骤S751中确定消息计数值的下计数值还未被计数至最大值的情况下,处理进行至步骤S752。在步骤S752中,消息计数器1308递增消息计数值的下计数值,然后处理返回到步骤S744;以下,重复进行类似的处理。
同时,在步骤S751中消息计数器1308确定消息计数值的下计数值已被计数至最大值的情况下,处理进行至步骤S753。在步骤S753,消息计数器1308递增消息计数值的上计数值,然后处理返回到步骤S743;以下,重复进行类似的处理。
然后,在步骤S744中扩展模式自适应CSI-2发送电路1304确定结束会话的情况下,处理进行至步骤S754。
在步骤S754中,安全部1310丢弃或清除公共会话密钥,并且此后处理结束。
以这种方式,初始化向量构成包括扩展虚拟信道eVC或虚拟信道VC,从而使得可以在多种类型的CSI-2虚拟信道之间共用会话密钥或消息计数器。此外,可以使CSI-2和CCI之间的会话密钥共通化。应注意,例如,在CSI-2虚拟信道之间的实际行号不同的情况下,使用伪数据统一行号使得可共用消息计数器。
图105中描述的处理是消息计数值用作下计数值并且附加消息计数值用作上计数值的实例,并且是存在两种类型的CSI-2虚拟信道的实例。
同时,初始化向量构成可以包括扩展数据类型eDT或数据类型DT。在这种情况下,同样地,可以使多种类型的数据之间的会话密钥或消息计数器共通化。
要注意的是,在CSI-2/CCI扩展格式示例中,Reserved、扩展虚拟信道eVC以及扩展数据类型eDT存储为头位。由此,当接收到其的一些或全部时,处理器能够立即开始GCTR算术运算的一部分,算术运算(CIPHK)。另外,在图像传感器1211和应用处理器1212之间预先同意帧构成的情况下,应用处理器1212可省略对其的接收并开始GCTR算术运算的一部分,算术运算(CIPHK)。即,从算术运算时间的观点来看,这些初始化向量构成是有利的。
应当注意,从图像传感器1211向应用处理器1212发送附加消息计数值使得应用处理器1212能够将此值用于初始化向量。因而,应用处理器1212从实现效率的角度可被构成不设置有附加消息计数器,或者从安全的角度可被构成设置有附加消息计数器。此外,在应用处理器1212被构成为设置有附加消息计数器的情况下,图像传感器1211可被构成为不发送附加消息计数值。即,在初始化向量包括扩展的虚拟信道eVC的情况下,附加消息计数值的发送不是必要要求。
<完全性算术值的第二布置构成>
参照图106至109给出了完全性算术值MAC的第二布置实例的描述。
图106示出了图像数据的数据结构,其中,为每个帧布置了完全性算术值MAC。以这种方式,发送用于每个帧的完全性算术值MAC的发送方法在下文中适当地称为帧-MAC方法。
如图所示,仅布置在帧尾的扩展分组报尾剩余部ePF1中的完全性算术值MAC是有效的,并且其他完全性算术值MAC是无效的。此外,从除了帧的最后扩展分组报尾ePF之外的每行的扩展分组报尾ePF、分组数据和扩展分组报尾ePH中导出完全性算术值MAC。
例如,图107中所示的结构的初始化向量对行MAC和帧MAC(仅CSI-2)是共用的。然后,初始化向量从发送侧发送到接收侧,如图108所示。
图108示出了其中附加帧号存储在扩展分组报头外部用于发送的实例。除此之外,附加帧号和帧号可存储在扩展分组报头的外部用于发送。在这种情况下,帧号也可以存储在帧起始中以用于发送。应注意,可仅部分地使用附加帧号。例如,在初始化向量中的附加帧号为24位的情况下,计数器可具有16位的实际附加帧号。计数值可以部分地(例如,LSB侧的16位)存储在初始化向量中的附加帧号中,并且指定值(例如,08、18)可以存储在初始化向量中的附加帧号的剩余部(例如,MSB侧的8位)中。另外,关于初始化向量中的所有附加帧号,可存储指定值(例如,024、124)。
此外,从图像传感器1211发送至应用处理器1212的用于设置的初始化向量中的一些或全部被构成为不从图像传感器1211发送至应用处理器1212,并且可基于预先约定、寄存器设置等进行设置。
参考图109中所示的流程图,给出了在图像传感器1211发送每个帧的完全性算术值MAC的帧-MAC方法中的发送处理的描述。
在步骤S761中,安全部1310导出会话密钥。
在步骤S762中,消息计数器1308初始化针对其使用附加帧号的上计数值,并且将其设置为零。
在步骤S763中,消息计数器1308初始化对其使用帧号的下计数值,并设置为1。
在步骤S764中,扩展模式自适应CSI-2发送电路1304确定是否结束会话;在确定为不结束会话的情况下,处理进入步骤S765。
在步骤S765中,扩展模式自适应CSI-2发送电路1304确定是否发送扩展分组。
在步骤S765中扩展模式自适应CSI-2发送电路1304确定不发送扩展分组的情况下,处理返回至步骤S764,并且随后重复执行类似处理。同时,在扩展模式自适应CSI-2发送电路1304在步骤S765中确定发送扩展分组的情况下,处理进行至步骤S766。
在步骤S766中,扩展模式自适应CSI-2发送电路1304发送扩展分组。
在步骤S767中,消息计数器1308确定消息计数值是否已被计数至最大值。
在消息计数器1308在步骤S767中确定消息计数值已经被计数至最大值的情况下,处理进行至步骤S768。在步骤S768,消息计数器1308将消息计数值初始化以设置为零。
同时,在步骤S767中消息计数器1308确定消息计数值没有被计数到最大值的情况下,处理进行到步骤S769。在步骤S769,消息计数器1308递增消息计数值。
在步骤S768和步骤S769中的处理之后,处理进行到步骤S770,并且扩展模式自适应CSI-2发送电路1304确定是否已经完成了发送帧中的所有扩展分组。
在步骤S770中,在扩展模式自适应CSI-2发送电路1304确定尚未完成发送帧中的所有扩展分组的情况下,处理返回至步骤S764,并且随后重复执行类似处理。
同时,在步骤S770中扩展模式自适应CSI-2发送电路1304确定已完成发送帧中的所有扩展分组的情况下,处理进行至步骤S771。
在步骤S771,消息计数器1308确定下计数值是否已经计数到指定值。
在步骤S771中消息计数器1308确定下计数值还未被计数至指定值的情况下,处理进行至步骤S772。在步骤S772中,消息计数器1308递增下计数值,然后处理返回到步骤S764;以下,重复进行类似的处理。
同时,在步骤S771中消息计数器1308确定下计数值已经计数至指定值的情况下,处理进行至步骤S773。在步骤S773,消息计数器1308递增上计数值,然后处理返回到步骤S763;以下,重复进行类似的处理。
然后,在步骤S764中扩展模式自适应CSI-2发送电路1304确定结束会话的情况下,处理进行至步骤S774。
在步骤S774中,安全部1310丢弃或清除公共会话密钥,并且此后处理结束。
如上所述,图109中所描述的处理是将帧号用作下计数值并且将附加帧号用作上计数值的实例。然而,尽管省略算术运算和完全性算术值的发送、虚拟信道、会话密钥更新等,但它们可与上述流程图中的一些或全部组合。这同样适应其他流程图。
应注意,在下计数值是指定值(例如,最大值或最大值-1的值)的情况下,期望递增上计数值,因为存在一个或两个的递增可能以混合方式存在于帧号中的可能性。然而,当帧号的递增仅是1时,在下计数值是最大值的情况下,使上计数值递增就足够了。
应当注意,从图像传感器1211向应用处理器1212发送帧号使得应用处理器1212能够将该值用于初始化向量。因而,应用处理器1212从实现效率的角度可被构成为不设置帧计数器,或者从安全的角度可被构成为设置帧计数器。此外,在应用处理器1212被构成为设置有帧计数器的情况下,图像传感器1211可被构成为不发送帧号。即,在初始化向量包括扩展的虚拟信道eVC的情况下,帧号的发送不是必要要求。
此外,从图像传感器1211向应用处理器1212发送附加帧号使得应用处理器1212能够将该值用于初始化向量。因而,应用处理器1212从实现效率的角度可被构成不设置有附加帧计数器,或者从安全的角度可被构成成设置有附加帧计数器。此外,在应用处理器1212被构成为设置有附加帧计数器的情况下,图像传感器1211可被构成为不发送附加帧号。
在帧-MAC方法的情况下,对于初始化向量中的消息计数值,可以存储指定值(例如,016,116),或者可以存储特殊扩展分组(例如,帧开始或帧结束)的消息计数值。同时,在行-MAC方法的情况下,对于初始化向量中的消息计数值,存储消息计数值。
<完全性算术值MAC的发送方法的选择>
参照图110和图111给出了完全性算术值MAC的发送方法的选择的描述。
图110是描述其中图像传感器1211选择完全性算术值MAC的发送方法的选择处理的流程图。
在步骤S781,扩展模式自适应CSI-2发送电路1304确定是否以行-MAC方法发送完全性算术值MAC。
在步骤S781中扩展模式自适应CSI-2发送电路1304确定以行-MAC方法发送完全性算术值MAC的情况下,处理进行至步骤S782。在步骤S782,扩展模式自适应CSI-2发送电路1304选择行-MAC方法。
同时,在步骤S781中扩展模式自适应CSI-2发送电路1304确定不以行-MAC方法发送完全性算术值MAC的情况下,处理进行至步骤S783。
在步骤S783,扩展模式自适应CSI-2发送电路1304确定是否以帧-MAC方法发送完全性算术值MAC。
在步骤S783中扩展模式自适应CSI-2发送电路1304确定以帧-MAC方法发送完全性算术值MAC的情况下,处理进行至步骤S784。在步骤S784,扩展模式自适应CSI-2发送电路1304选择帧-MAC方法。
同时,在步骤S783中扩展模式自适应CSI-2发送电路1304确定不以帧-MAC方法发送完全性算术值MAC的情况下,处理进行至步骤S785。在步骤S785,扩展模式自适应CSI-2发送电路1304选择不发送完全性算术值MAC的非MAC方法。
在步骤S782、步骤S784或步骤S785的处理之后,处理进行至步骤S786。在步骤S786,扩展模式自适应CSI-2发送电路1304发送指示行-MAC方法、帧-MAC方法或非MAC方法中的任一个的安全MAC信息(见图111),然后结束处理。然而,虽然图111示出了具有2位分配的安全MAC信息,但是也可采用不同位计数(例如,1位或8位)的分配。此外,没有MAC值的发送(例如,No MAC)可以被分配给预留区域数据(预留以供将来使用)。
如上所述,图像传感器1211能够自由选择是否使用行-MAC方法发送MAC值(选择行-MAC方法),使用帧-MAC方法发送MAC值(选择帧-MAC方法),或不发送MAC值(选择非MAC方法)。或者,图像传感器1211可与应用程序处理器1212预先约定以选择它们中的任一者。例如,图像传感器1211可最初选择行-MAC方法,并在满足预定条件的情况下切换到另一方法(例如,帧-MAC方法)。例如,可以最初选择帧-MAC方法,并且在满足预定条件的情况下可以切换到另一方法(例如,行-MAC方法)。例如,可以最初选择非MAC方法,并且在满足预定条件的情况下可以切换到另一方法(例如,帧-MAC方法)。
进一步地,选择行-MAC方法、帧-MAC方法还是非MAC方法存储在例如扩展分组报头(例如,ePH2)的安全描述符、嵌入数据、用户定义数据或读响应中,并从图像传感器1211发送。响应于其接收,应用处理器1212能够适应用于完全性算术值MAC的发送方法的切换。
需要说明的是,为了避免初始化向量的混乱,在切换完全性算术值MAC的发送方式时,希望从帧结束的发送开始至帧开始的发送完成的时间段内,从图像传感器发送切换后的发送方法;然而,这不是限制性的。
要注意的是,在初始化向量中可以包括能够标识行-MAC方法还是帧-MAC方法的安全MAC信息。在这种情况下,初始化向量在行-MAC方法和帧-MAC方法之间不确实重叠,因此平滑了完全性算术值MAC的发送方法的切换。在某些情况下,为了避免初始化向量的重叠,例如,取决于切换完全性算术值MAC的发送方法的定时,安全MAC信息可能不需要指定要存储在消息计数器1308中的值。
<关于消息计数值和帧计数值>
参照图112至115给出了消息计数值和帧计数值的描述。
图112示出了消息计数值和帧计数值翻转的周期的示例。
如图112的A所示,在60fps的2160行中的像素情况下,在约9小时内翻转消息计数值,其中上计数值被设置为16位并且下计数值被设置为16位。同样,消息计数值在大约6天内翻转,上计数值为20位,下计数值为16位。消息计数值在大约96天内翻转,上计数值为24位,下计数值为16位。消息计数值在大约4年内翻滚,上计数值为28位,下计数值为16位。消息计数值在大约69年内翻滚,其中上计数值32位,下计数值16位。
如图112的B所示,在以60fps递增一的情况下,帧计数值在约5小时内翻转,其中上计数值被设置为4位而下计数值被设置为16位。同样地,帧计数值在约78小时内翻转,其中上计数值为8位,下计数值为16位。在大约52天内翻转帧计数值,其中上计数值为12位,下计数值为16位。在大约828天内翻转帧计数值,其中上计数值为16位而下计数值为16位。帧计数值在约36年翻转,上计数值为20位,下计数值为16位。帧计数值在大约581年内被翻转,上计数值为24位,下计数值为16位。
如图113的A所示,初始化向量构成可以是包括由随机数构成的盐的构成。然而,在未生成随机数的情况下,例如,盐可以是指定值(例如,032、132)。
如图113的B所示,初始化向量构成可被构成不包括消息计数值(包括帧计数值)。此外,初始化向量可以被构成包括源ID或最终目的地ID。应注意,初始化向量可被构成为包括附加帧号、帧号、附加消息计数值和消息计数值。
如图113的C所示,初始化向量构成可包括SPDM会话ID。同时,初始化向量可以包括源ID和最终目的地ID的XOR结果,其中可以保存位宽度。
如图113的D中所示,SPDM会话ID可由稍后描述的ReqSessionID和RspSessionID构成。
如图113的E所示,初始化向量构成可包括安全协议信息(例如,SPDM/HDCP)、扩展数据类型或数据类型。
应当注意,图133中所示的行中的元件的顺序可以互换。MSB侧(上计数值)和LSB侧(下计数值)可被互换。元素中的一些可由其他元素(例如,盐、ePH内参数、上述初始化向量分量等中的一些或全部)替代。
图114是描述数据验证处理的流程图,其中,应用处理器1212使用消息计数值执行数据验证。
在步骤S791中,安全部1326导出会话密钥。
在步骤S792中,数据验证部1325将处理器消息计数值初始化以设置为零。
在步骤S793中,数据验证部1325初始化处理器附加消息计数值以设置为零。
在步骤S794中,扩展模式自适应CSI-2接收电路1322确定是否结束会话;在确定为不结束会话的情况下,处理进入步骤S795。
在步骤S795中,数据验证部1325确定是否已经从图像传感器1211接收到附加消息计数值。在数据验证部1325在步骤S795确定已经从图像传感器1211接收到附加消息计数值的情况下,处理进行到步骤S796。
在步骤S796中,数据验证部1325确定处理器附加消息计数值和图像传感器1211的附加消息计数值是否彼此不一致。
在数据验证部1325在步骤S796中确定处理器附加消息计数值和图像传感器1211的附加消息计数值未彼此不一致(一致)的情况下,处理进行到步骤S797。同时,同样在数据验证部1325在步骤S795中确定尚未从图像传感器1211接收到附加消息计数值的情况下,处理进行至步骤S797。
在步骤S797中,数据验证部1325确定是否已经从图像传感器1211接收到消息计数值。在数据验证部1325在步骤S797中确定已经从图像传感器1211接收到消息计数值的情况下,处理进行至步骤S798。
在步骤S798中,数据验证部1325确定处理器消息计数值和图像传感器1211的消息计数值是否彼此不一致。
在数据验证部1325在步骤S798中确定处理器消息计数值和图像传感器1211的消息计数值未彼此不一致(一致)的情况下,处理进行至步骤S799。
在步骤S799中,数据验证部1325确定处理器消息计数值是否已被计数至最大值。在数据验证部1325在步骤S799中确定处理器消息计数值已被计数至最大值的情况下,处理进行至步骤S800。
在步骤S800中,数据验证部1325将处理器消息计数值初始化以设置为零。
在步骤S801中,数据验证部1325确定处理器附加消息计数值是否已被计数至最大值。在数据验证部1325在步骤S801中确定处理器附加消息计数值已被计数至最大值的情况下,处理进行至步骤S802。
在步骤S802中,安全部1326更新会话密钥。
在步骤S803中,数据验证部1325将处理器附加消息计数值初始化以设置为零。之后,处理返回到步骤S794,随后重复执行类似的处理。
同时,在步骤S797中数据验证部1325确定尚未从图像传感器1211接收到消息计数值的情况下,处理返回至步骤S794,并且随后重复执行类似处理。
同时,在数据验证部1325在步骤S799中确定处理器消息计数值尚未被计数至最大值的情况下,处理进行至步骤S804。在步骤S804中,数据验证部1325递增处理器消息计数值,并且此后处理返回到步骤S794;随后重复执行类似的处理。
同时,在数据验证部1325在步骤S801中确定处理器附加消息计数值尚未被计数至最大值的情况下,处理进行至步骤S805。在步骤S805中,数据验证部1325递增处理器附加消息计数值,此后处理返回到步骤S794;以下,重复进行类似的处理。
同时,在数据验证部1325在步骤S796中确定处理器附加消息计数值和图像传感器1211的附加消息计数值彼此不一致的情况下,处理进行至步骤S806。此外,同样在数据验证部1325在步骤S798中确定处理器消息计数值和图像传感器1211的消息计数值彼此不一致的情况下,处理进行至步骤S806。
在步骤S806中,数据验证部1325基于已经发生异常的假设执行异常处理,并且处理进行到步骤S807。此外,同样在扩展模式自适应CSI-2接收电路1322在步骤S794中确定结束会话的情况下,处理进行至步骤S807。
在步骤S807中,安全部1326丢弃或清除会话密钥,并且此后处理结束。
图115是描述反映处理的示图,其中,应用处理器1212在初始化向量中反映帧计数值和附加帧计数值。
在步骤S811中,安全部1326导出会话密钥。
在步骤S812中,数据验证部1325将处理器帧计数值初始化以设置为1。
在步骤S813中,数据验证部1325将处理器追加帧计数值初始化为设置为零。
在步骤S814中,数据验证部1325确定是否已经从图像传感器1211接收到帧计数值,并且等待该处理,直到确定已经从图像传感器1211接收到帧计数值为止。然后,在数据验证部1325在步骤S814中确定已经从图像传感器1211接收到帧计数值的情况下,处理进行到步骤S815。
在步骤S815中,安全部1326在初始化向量中反映帧计数值。
在步骤S816中,数据验证部1325确定是否已经从图像传感器1211接收到附加帧计数值,并等待处理,直到确定已经从图像传感器1211接收到附加帧计数值为止。
然后,在数据验证部1325在步骤S816中确定已经从图像传感器1211接收到帧附加计数值的情况下,处理进行到步骤S817。
在步骤S817中,安全部1326在初始化向量中反映附加帧计数值。
在步骤S818中,数据验证部1325确定是否已经对帧计数值和附加帧计数值进行了计数至指定值。在数据验证部1325在步骤S818中确定帧计数值和附加帧计数值已被计数至指定值的情况下,处理进行至步骤S819。
在步骤S819中,安全部1326更新会话密钥。
在步骤S819或步骤S818中的处理之后,在数据验证部1325确定帧计数值和附加帧计数值还未被计数达到指定值的情况下,处理进行至步骤S820。
在步骤S820中,扩展模式自适应CSI-2接收电路1322确定是否结束会话;在确定为不结束会话的情况下,处理返回至步骤S814,随后重复执行类似处理。
同时,在扩展模式自适应CSI-2接收电路1322在步骤S820中确定结束会话的情况下,处理进行至步骤S821。
在步骤S821中,安全部1326丢弃或清除会话密钥,并且此后处理结束。
应当注意,消息计数值递增一;然而,关于帧计数值(帧号)的增量,存在一个或两个的增量可以在序列中以混合方式自由存在的可能性。因此,期望从图像传感器发送的值被优先用于帧计数值和附加帧计数值。
同时,为了迅速开始消息计数值和附加消息计数值的解密算术运算,由应用处理器1212计数的值可优先于从图像传感器1211发送的值使用。要注意的是,参照图114和115的流程图描述的处理可被构成为不更新会话密钥。
缩写如下:eP:扩展分组;eVC:扩展虚拟信道;eDT:扩展数据类型。虽然已经示出了AES-GCM/GMAC的初始化向量的示例,但是本技术还可以通过根据需要调整分量、排列顺序、和数值来应用于除了AES之外的块密码(例如,DES:数据加密标准、三重DES)、应用于除了GCM/GMAC之外的算法(例如,CCM:具有密码块链-MAC的计数器)、应用于不同的密钥长度(例如,除了128位)、以及应用于不同的IV长度(例如,除了96位)。
在公众可用的DMTF(Distributed Management Task Force)的SPDM指定中,KEY_EXCHANGE请求消息中的RandomData或OpaqueData、Successful KEY_EXCHANGE_RSP响应消息中的RandomData、PSK_EXCHANGE请求消息中的RequesterContext或OpaquePSKData或PSK_EXCHANGE_RSP消息中的ResponderContext中的一些或全部可以被用作盐。
同时,会话ID被存储在1字节中,例如,存储在KEY_EXCHANGE_RSPresponse消息或PSK_EXCHANGE_RSP消息中的Param2中,并且从SPDM应答方(例如,图像传感器)发送到SPDM请求方。需要说明的是,PSK_EXCHANGE_RSP消息和KEY_EXCHANGE_RSP响应消息均为SPDM选项;然而,为了导出SPDM会话密钥,适应于公共密钥密码系统的PSK_EXCHANGE_RSP消息或者适应于公共密钥密码系统的KEY_EXCHANGE_RSP响应消息基本上是必要的,并且会话ID可以包括在初始化向量中。然而,对于同一端点,会话ID期望地与活动会话或之前五个会话不同。
此外,PSK_EXCHANGE请求消息或者KEY_EXCHANGE请求消息可以包括作为请求方侧会话ID的ReqSessionID(例如,2字节),并且PSK_EXCHANGE_RSP响应消息或者SuccessfulKEY_EXCHANGE_RSP响应消息可以包括作为应答方侧会话ID的RspSessionID(例如,2字节);会话ID(例如,4字节)=Concatenate(ReqSessionID,RepSessionID),其中两个ID被级联,可以被用作请求方和应答方之间的唯一会话ID。在这种情况下,可以在多种类型的会话之间共通化会话密钥或消息计数器。
同时,对于显示应用(例如,DSI-2),代替SPDM的HDCP(High-bandwidth DigitalContent Protection,高带宽数字内容保护)可以用作安全协议,并且因此能够识别SPDM或HDCP是否可以包括在初始化向量中的安全协议信息(见图116)。然而,虽然图116示出了具有2位分配的安全协议信息,但是也可采用不同位计数(例如,1位或8位)的分配。此外,对于安全协议(例如,No security protocol)的适应可以不被分配给预留区域数据(预留以供将来使用)。
例如,专门用于SPDM或HDCP的位可以被分配为新的格式、ePH格式(例如,预留、eVC、eDT、安全描述符)或会话ID,并且被定义,它可以被包括在初始化向量中。在这种情况下,可以在多种类型的安全协议之间共通化会话密钥或消息计数器。同样地,扩展分组报头中的一部分可以被包括在初始化向量中;例如,初始化向量中可以包括安全描述符(例如,可以称为服务描述符)。在这种情况下,可以在不同的安全描述符之间共通化会话密钥或消息计数器。
在图像传感器1211或应用处理器1212中,存储在扩展分组报头(例如,ePH4)中并接收的值可用作源ID或最终目的地ID,代替预交换值,如图117中所示。
应当注意,作为经由线缆链接三个或更多个设备(例如,多个相机或多个显示器)的耦合模式,存在菊花链系统,在该菊花链系统中,下一个设备以“珠串”的方式级联至前一个设备;在初始化向量中包括源ID(Source ID)和最终目的地ID(Final DestinationID)使得可以在多个设备之间共通化会话密钥或消息计数器。
然而,取决于例如源ID和最终目的地ID是对图像传感器的命令还是来自图像传感器的数据,替换源ID和最终目的地ID。为了避免这种替换,初始化向量中的源ID和最终目的地ID可以被定义为例如主机ID和设备ID。然而,例如,图像传感器可以是主机或设备(非主机),并且因此在一些情况下可能期望将它们定义为源ID和最终目的地ID。
因此,例如,可以使用经受源ID和最终目的地ID的逻辑算术运算(例如,XOR)的ID。在这种情况下,还存在可以保存初始化向量中定义的位宽的效果。应注意,在I2C或I3C的情况下,对于源ID或最终目的地ID,可如上述图117所示存储主地址或从地址。
应当注意,在图像数据在上述图86的数据结构中从图像传感器1211发送到应用处理器1212的情况下,例如,为了实现E2E保护,图像传感器1211的设备ID被存储为源ID,并且应用处理器1212的设备ID被存储为最终目的地ID。
同时,例如,在如上所述的图86中的数据结构中,命令指令从应用处理器1212发送到图像传感器1211的情况下,例如,为了实现E2E保护,应用处理器1212的设备ID被存储为源ID,并且图像传感器1211的设备ID被存储为最终目的地ID。在这种情况下,如图2所示的SerDes设备25或SerDes设备26的设备ID是中间目的地ID,并且在一些情况下,可期望与最终目的地ID区分开。然而,根据情况,IV格式的最终目的地ID可被目的地ID替换。另外,eVC可以由VC代替,并且eDT可以由DT代替。
此外,eVC或VC可以是视频流、音频流、相机流、显示流等中的任一个的ID(流ID)。此外,音频流而不是视频流可以用作流,并且因此能够识别视频流或音频流是否被包括在初始化向量中的流信息。在这种情况下,可以将视频流和音频流之间的会话密钥或消息计数器共通化。
可以将随机数值中的一些或全部存储在不同虚拟信道的数据中(例如,帧起始、嵌入数据、图像数据或帧结束中)以供发送。例如,在没有空间用于将随机数值中的一些或全部存储在特殊虚拟信道的数据中的情况下,这是有效的。
同时,可以将随机数值中的一些或全部至少部分地存储在与用于图像数据发送的虚拟信道不同的虚拟信道的分组数据(通用短分组数据类型、通用长分组数据类型)、用户定义数据(基于用户定义字节的数据)或预留区域数据(预留以供将来使用)中以进行发送。也就是说,它们可被存储在非图像数据中。
要注意的是,在上述描述中,规定了成像的开始,但是未规定成像的结束。其中一个原因是它根据例如成像方法是全局快门方法还是滚动快门方法而变化。例如,在全局快门方法的情况下,可以一次捕捉所有像素,并且因此可以在下一处理之前完成成像,或者可以在发送帧中的第一图像数据之前完成成像。同时,在滚动快门方法的情况下,可以以重叠的方式(并行执行)至少部分地执行在每行像素中执行的成像和高速数据传输,并且因此,可以仅在发送帧中的最后图像数据之前完成成像。此外,开始成像的位置仅是示例性的,并且可被延迟至帧中的第一图像数据的发送之前的位置以供其执行。
<用于检测异常的存在或不存在并且响应于检测结果将消息作为特定消息发送至应用处理器的图像传感器的详细构成实例>
公开了一种技术,其涉及安装在车辆上并且被构成为检测多个基板的堆叠结构的成像元件中的故障的成像设备,其中,根据设置在第二基板上的行驱动部输出用于控制设置在第一基板上的像素阵列的像素信号的累积和读取的控制信号的定时和由行驱动部输出的控制信号穿过待检测的像素阵列的定时是否彼此一致来检测故障(参见国际公开号wo2017/209221)。
然而,在驾驶辅助处理期间或自动驾驶处理期间,传感器的异常可能导致直接导致致命事故的状态。因此,当通过上述故障检测检测到传感器中的异常时,需要尽快从传感器警报车辆。此外,在执行上述故障检测的情况下,当检测到传感器中的异常时,因为传感器突然停止图像数据流可能导致根据定时在行驶时中断图像数据。由此,驾驶辅助处理和自动驾驶处理中断,有可能成为严重的状况。
同时,公开了一种提供固态成像设备的技术,所述固态成像设备能够以更高的精度输出用于检测异常的信号,所述固态成像设备包括:像素,输出作为模拟信号的像素信号;读取部,将所述像素信号转换成数字信号以生成数字像素信号;存储部,存储所述数字像素信号;以及第一测试信号输出部,将第一测试信号输出至存储部以使存储部存储该信号,其中,在从某一帧的数字像素信号的输出的结束到下一帧的数字像素信号的输出的开始的时间段期间,存储在存储部中的第一测试信号从存储部输出(见日本未审查专利申请公开第2018-121325号)。
在应用这种技术的情况下,成像设备外部的图像处理部确定第一测试信号与预期值之间的一致性,但是需要一段时间来确定一致性。此外,图像处理设备无法识别图像处理部的确定结果。此外,存在第一测试信号可能被噪声、干扰或攻击者的攻击中的至少一个篡改并且可确定尽管正常但仍存在异常或者确定尽管异常仍正常的可能性。
即,在任何情况下,控制能够进行诸如驾驶、行走和飞行等推进的车辆、机器人、无人机等的推进的推进设备不能适当地解决传感器中的异常,从而可能导致安全降低。
因此,图像传感器1211可以检测异常的存在或不存在,并且通过用于发送图像数据的高速数据通信将对应于检测结果的消息作为特定消息发送至应用处理器1212。
这种构成使得可以快速向应用处理器1212通知特定消息,该特定消息是与图像传感器1211中的异常的存在或不存在相关的消息。
因此,应用处理器1212可以对图像传感器1211中的异常实现快速且适当的响应,从而使得可以进一步增强安全。
现在,参照图118给出图像传感器1211的详细构成实例的描述,所述图像传感器1211检测异常的存在或不存在,并将与检测结果对应的消息作为特定消息发送到应用处理器。图118为示出检测存在或不存在异常并且将与检测结果对应的消息作为特定消息发送至应用处理器的图像传感器1211的详细构成实例的方框图。
图118中的图像传感器1211包括像素1501、AD转换器1502、图像处理部1503、扩展模式自适应CSI-2发送电路1504、物理层处理部1505、I2C/I3C从设备1506、存储部1507、干扰检测部1508、故障检测部1509、安全部1510、侵害检测部1511和温度检测部1512。
要注意的是,像素1501、AD转换器1502、图像处理部1503、扩展模式自适应CSI-2发送电路1504、物理层处理部1505,I2C/I3C从设备1506和存储部1507具有设置有与像素1301、AD转换器1302、图像处理部1303,扩展模式自适应CSI-2发送电路1304、物理层处理部1305、I2C/I3C从设备1306以及存储部1307的功能相似的功能的构成,在其他实施例中与之相对应,因此省略其详细描述。
干扰检测部1508直接或间接地电耦合至像素1501、AD转换器1502或图像处理部1503中的至少一个。应注意,图119示出了其中干扰检测部1508耦合至所有像素1501、AD转换器1502以及图像处理部1503的实例;然而,将干扰检测部1508耦合至其至少一个就足够了。
基于像素信号(其包括响应于像素1501接收的光的量通过光电转换输出的模拟信号)中的至少一个的输出结果,通过AD转换器1502转换成数字信号的像素信号、或者由图像处理部1503输出的处理图像数据,干扰检测部1508根据存在或不存在基本上禁用或篡改图像传感器1211的图像的光照射攻击(干扰)来检测异常,并且基于通过高速数据通信的检测结果向应用处理器1212通知特定消息以发送图像数据。
这种构成使得应用处理器1212能够通过获取对应于通过高速数据通信存在或不存在干扰的特定消息响应于特定消息来快速解决异常。
例如,故障检测部1509直接或间接地电耦合至通信路径或物理层处理部1505。
故障检测部1509检测注入攻击的存在或不存在,如禁用或故障图像传感器1211内部的一些或全部操作、通过例如功率注入、电磁辐射(注入)、或激光照射(注入)中的一种在图像传感器1211上注入错误信息、或泄漏信息,并且通过发送图像数据的高速数据通信基于检测结果向应用处理器1211通知特定消息。
此外,故障检测部1509通过插入对图像传感器1211产生不利影响的硬件特洛伊(即,异物)来检测存在或不存在插入攻击,诸如禁用或故障图像传感器1211内部的一些或全部操作、注入错误信息或泄漏信息,并且通过发送图像数据的高速数据通信基于检测结果向应用处理器1211通知特定消息。
这种构成使得应用处理器1212能够通过高速数据通信获取与存在或不存在故障相对应的特定消息来响应于特定消息快速解决异常。
侵害检测部1511直接或间接地电耦合到安全部1510,例如,检测安全部1510中的异常,并基于检测结果,通过发送图像数据的高速数据通信向应用处理器1212通知特定消息。
安全部1510可能经受分析攻击(电力分析攻击、电磁分析攻击),该分析攻击例如通过分析待用于图像传感器1211的电力或从图像传感器1211生成的电磁而泄露图像传感器1211内部信息,除了注入攻击之外,如禁用或使图像传感器1211内部的操作中的一些或全部出现故障、注入错误信息或泄露信息。
因此,侵害检测部1511在逻辑上检测与注入攻击相关联的安全部1510内部的篡改的存在或不存在。侵害检测部1511在物理上检测在安全部1510附近是否存在电力分析或电磁分析所需的攻击对象(例如,探测器)。侵害检测部1511通过发送图像数据的高速数据通信基于检测结果向应用处理器1212通知特定消息。
这样的构成使得应用处理器1212能够通过高速数据通信获取与侵害的存在或不存在对应的特定消息来响应于特定消息快速解决异常。
温度检测部1512检测图像传感器1211的温度,并且基于温度是否小于操作保证温度的上限值(第一阈值)并大于其下限值(第二阈值),通过用于发送图像数据的高速数据通信向应用处理器1212通知特定消息。
这种构成使应用处理器1212能够通过图像传感器1211通过高速数据通信接收与操作温度对应的特定消息,响应于特定消息做出快速响应。
消息计数器1513在基本功能方面与消息计数器1308(图76)相似,但是对于消息计数值,进一步使用执行递增或递减的第一计数器和执行递增或递减的第二计数。使用第一计数器和第二计数器允许消息计数器1513提高对消息计数值的故障或篡改的抵抗性。注意,稍后参见图150至152给出消息计数器1513的详细描述。不必说,可以使用消息计数器1308(仅第一计数器或第二计数器中的一个)来代替消息计数器1513。
<通过干扰检测部的干扰检测(部1)>
图像传感器1211用强度大于预定强度的可见光、红外光和激光中的任一者的照射例如致使由图像传感器1211捕获的图像基本上被禁用或篡改。
为此,例如,在检测到强度大于预定强度的可见光、红外光和激光的任何一者的情况下,可以认为已经发生由光照射攻击(干扰)引起的异常。
因此,在基于输出结果检测到强度大于预定强度的可见光、红外光和激光中的任一者的情况下,干扰检测部1508通过发送图像数据的高速数据通信将指示已经发生异常的消息作为特定消息通知应用处理器1212。
这允许通过发送图像数据的高速数据通信通知指示在图像传感器1211中已经发生异常的特定消息,从而使得应用处理器1212能够响应于该特定消息进行快速响应。
更具体地,在图像传感器1211由于禁用被妨害的情况下,预定范围(有效像素区域的一些或全部)内的每个像素组的R、G、B、IR等中的至少一个的像素值更接近饱和。
即,预定范围内的像素组的像素值达到第一阈值(上限值)或更高。因此,例如,在检测到预定范围内的像素组的像素值等于或大于第一阈值(上限值)的情况下,指示图像传感器1211的像素的像素值更接近饱和的异常消息被作为特定消息发送到应用处理器1212。
要注意的是,在宽范围(预定范围)内的像素的像素值更接近饱和的情况下,不仅限于光照射攻击,还可发送表示在宽范围的像素内发生异常的异常消息作为特定消息。特定消息的这种通知例如在图像传感器1211被干扰光意外照射的情况下也是有效的。
同时,例如,还存在遮光攻击(干扰),其中,涂料、遮光帘、烟屏或遮蔽材料中的至少一种遮蔽图像传感器1211的表面(光接收表面),以基本上禁用图像传感器1211捕获的图像。
因此,在检测到图像传感器1211的表面被遮蔽的情况下,将指示异常的特定消息作为消息从图像传感器1211发送到应用处理器1212。
这使得接收该特定消息的应用处理器1212能够响应于该特定消息做出快速响应。
更具体地,在图像传感器1211由于屏蔽禁用而被中断的情况下,预定范围内的每个像素组的R、G、B、IR等中的至少一个的像素值更接近于第二阈值(下限值)。
即,在图像传感器1211通过屏蔽禁用而受到干扰的情况下,检测预定范围内的像素组的像素值达到第二阈值或更低并且表面已被屏蔽。因此,在检测到屏蔽的情况下,例如,图像传感器1211发送指示像素值更接近于第二阈值的异常的异常消息作为特定消息。
要注意的是,在宽范围(预定范围)内的像素值更接近第二阈值(下限值)的情况下,不仅限于遮光攻击,还可发送异常消息。例如,在图像传感器1211的表面(光接收表面)被意外屏蔽(中断)的情况下,特定消息的这种通知也是有效的。
应当注意,在基于干扰检测部1508的检测结果没有检测到指示通过图像传感器1211的禁用而干扰的异常的情况下,指示正常的消息可以作为特定消息发送,或者可以不发送特定消息。
此外,例如,可将由干扰检测部1508使用的第一阈值(上限值)和第二阈值(下限值)预先存储在存储部1507中。在这种情况下,干扰检测部1508可以读取并使用存储在存储部1507中的第一阈值(上限值)和第二阈值(下限值)。另外,第一阈值(上限值)和第二阈值(下限值)可以任意设置。
(通过干扰检测部的干扰检测处理(部分1))
接下来,参考图119中的流程图,给出由干扰检测部1508进行的干扰检测处理(部分1)的描述。
在步骤S1001中,执行像素1501的成像处理、AD转换器1502的AD转换处理或图像处理部1503的图像处理中的至少一个的处理,并且处理结果被输出至干扰检测部1508。
在步骤S1002中,干扰检测部1508基于像素1501的成像处理、AD转换器1502的AD转换处理或图像处理部1503的图像处理中的至少一个的处理结果,确定预定范围内的像素组的像素值是否等于或大于第一阈值(上限值)(大于上限值)。
在步骤S1002中确定预定范围内的像素组的像素值等于或大于第一阈值(上限值)的情况下,处理进入步骤S1003。
在步骤S1003中,干扰检测部1508将包括第一异常消息的特定消息发送至应用处理器1212,第一异常消息指示在预定范围内的像素组的像素值等于或大于第一阈值(上限值)、检测到强度大于预定强度的可见光、红外光、激光等中的任意光、并且已经发生由光照射攻击(干扰)引起的异常。
此外,在步骤S1002中确定在预定范围内的像素组的像素值不等于或大于第一阈值(上限值)的情况下,处理进入步骤S1004。
在步骤S1004中,干扰检测部1508基于像素1501的成像处理、AD转换器1502的AD转换处理或图像处理部1503的图像处理中的至少一个的处理结果,确定预定范围内的像素组的像素值是否等于或小于第二阈值(下限值)(小于下限值)。
在步骤S1004中确定预定范围内的像素组的像素值等于或小于第二阈值(下限值)的情况下,处理进行到步骤S1005。
在步骤S1005中,干扰检测部1508将包括第二异常消息的特定消息发送至应用处理器1212,第二异常消息指示在预定范围内的像素组的像素值等于或小于第二阈值(下限值),图像传感器1211的表面(光接收表面)被例如油漆、遮光帘、烟屏或遮蔽材料中的至少一种遮蔽,并且已经发生由基本上禁用图像传感器1211捕获的图像的遮光攻击(干扰)引起的异常。
此外,在步骤S1004中确定在预定范围内的像素组的像素值不等于或小于第二阈值(下限值)的情况下,处理进行到步骤S1006。
在步骤S1006中,干扰检测部1508将特定消息发送至应用处理器1212,所述特定消息包括正常消息,所述正常消息指示没有发生由基本上禁用由图像传感器1211捕获的图像的攻击(干扰)引起的异常。
通过上述处理,在图像传感器1211上发生攻击(干扰)的情况下,通过发送图像数据的高速数据通信进行通知,从而使得可以在应用处理器1212中实现快速且适当的响应。
<通过干扰检测部的干扰检测(部分2)>
上面已经给出了通过光的强度变化检测并通知图像传感器1211是否存在攻击(干扰)作为特定消息的实例的描述。
当用作使用ToF(飞行时间)方法的测距传感器时,图像传感器1211检测与从光源照射的激光的发光图案对应的光接收图案,从而将其识别为自己照射的光源的反射光,并且将其与来自另一光源的光接收图案区分开。此时,测距传感器基于从其自身光源照射的光的照射定时与光接收定时之间的差异,根据往返时间以像素为单位实现距离测量,并且根据距离测量结果生成距离图像。
这里,距离图像是指包括基于从对象的测距传感器针对每个像素检测的深度方向距离的距离像素信号的图像。在这种情况下,测距传感器被实施为包括例如照明单元、成像单元、控制单元、显示单元以及存储单元的构成。
然而,当该发光图案(光接收图案)由于某种原因被篡改时,不能识别从其自身的光源照射的发光图案,因此导致不能适当地测量距离的状态,即,已经发生异常的状态。
因此,干扰检测部1508可在存储部1507中预先存储发光图案(光接收图案)作为存储图案,以通过与由图像传感器1211实际接收的光接收图案进行比较来检测是否发生异常。
照明单元包括照明控制器和激光光源。照明控制器在控制单元的控制下控制激光光源照射照射光(激光)的图案。例如,照明控制器根据从控制单元提供的照射信号中包括的照射代码控制激光光源照射照射光的图案(发光图案)。
成像单元包括透镜、成像元件和信号处理电路。透镜允许入射光形成在成像元件的成像表面上。透镜的构成是可选的;例如,成像单元可由多个透镜组构成。成像元件由例如图像传感器1211实现,图像传感器1211包括使用ToF方法的CMOS(互补金属氧化物半导体)图像传感器。成像元件在控制部的控制下对被摄体进行成像,将得到的图像信号提供给信号处理电路。例如,成像元件生成像素信号,并将生成的像素信号提供至信号处理电路,其中,像素信号将从控制单元提供的参考信号与包括由反射从激光光源照射的照射光的对象获得的反射光的接收光相关。应注意,参考信号包括表示用于检测与所接收的光的相关性的图案的参考代码。
这里,在图像传感器1211从诸如光接收波形图案、光接收点图案、光接收点图案或光接收轨迹图案的光接收图案的接收光提取的结果中存在异常的情况下,异常消息可从包括成像元件(对应于像素和转换器)的成像单元(对应于图像传感器1211)和信号处理电路(对应于图像处理部)发送至控制单元(对应于应用处理器1212)。
同时,光接收图案可作为特定消息被发送,而无需将存储图案存储在图像传感器1211内部的存储单元中。在这种情况下,存储图案被存储在图像传感器1211外部的存储单元(例如,应用处理器1212)中,从而与光接收图案进行比较并且允许确定是正常还是异常。
<关于光接收模式>
在光接收图案本身被发送的情况下,与未接收光的像素相关的信息可不进行高速数据传输。例如,在图120所示的由白色圆圈表示的像素表示接收光的像素的点图案的情况下,可仅对与由白色圆圈表示的光接收的点图案有关的信息进行高速数据传输。例如,未接收到光的像素用于确定光接收点图案或光接收点图案是否正常或异常。在这种情况下,图像传感器1211能够在最小化要进行高速数据传输的数据量的同时确定光接收模式是正常还是异常。
此外,循环光接收点图案可以减少存储在存储单元中的存储图案的类型。例如,如图121所示,在以白色圆圈指示的第一像素值接收光的像素和以阴影圆圈指示的第二像素值接收光的像素表示接收光的像素的点图案的情况下,通过将奇数行中的点图案和偶数行中的点图案的点图案存储在存储部1507中,可以确定实际光接收图案是正常还是异常。以这种方式,对于循环光接收点图案等,仅将用于重复行号的点图案存储在存储部1507中允许存储存储图案,从而使得可以减小存储容量。
此外,可以通过在其中存储存储图案的存储部1507确定光接收波形图案是正常或异常的,但是光接收波形图案与图像数据或图像图案无关。因此,即使当诸如光接收点图案、光接收点图案和光接收轨迹图案的任一图案复杂时,使用光接收波形图案确定是否存在异常使得可以减少对存储部1507的容量的影响。
(通过干扰检测部的干扰检测处理(部分2))
接下来,参考图122中的流程图,给出通过干扰检测部1508使用光接收模式的干扰检测处理(部分2)的描述。
在步骤S1031中,执行像素1501的成像处理、AD转换器1502的AD转换处理或图像处理部1503的图像处理中的至少一个的处理,并且处理结果被输出至干扰检测部1508。
在步骤S1032中,基于像素1501的成像处理、AD转换器1502的AD转换处理或图像处理部1503的图像处理中的至少一个的处理结果,干扰检测部1508提取光接收图案。
在步骤S1033中,干扰检测部1508读取作为预先存储在存储部1507中的正常时的光接收图案的存储图案,以将其与光接收图案进行比较。
在步骤S1034中,干扰检测部1508基于光接收图案和存储图案之间的比较结果来确定光接收图案和存储图案是否彼此一致。
在步骤S1034中确定光接收图案和存储图案彼此一致的情况下,处理进行至步骤S1035。
在步骤S1035中,干扰检测部1508认为在由图像传感器1211实现的测距传感器中未发生异常,并且向应用处理器1212发送包括指示未发生异常的正常消息的特定消息。
在步骤S1034中确定光接收图案和存储图案彼此不一致的情况下,处理进行至步骤S1036。
在步骤S1036中,干扰检测部1508认为在由图像传感器1211实现的测距传感器中已经发生异常,并且向应用处理器1212发送包括指示已经发生异常的异常消息的特定消息。
在测距传感器由图像传感器1211实现的情况下,上述处理允许在光接收模式发生异常时通过发送图像数据的高速数据通信向应用处理器1212通知相应的特定消息。结果,应用处理器1212可以实现对图像传感器1211中发生的异常的快速且适当的响应。
<通过故障检测部进行的故障检测>
接着,说明由故障检测部1509进行的故障检测。
在图像传感器1211经受注入攻击(如禁用或故障图像传感器1211内部的一些或全部操作、注入错误信息或泄漏信息)的情况下,物理层的电压状态或时钟状态发生异常变化。
存在或不存在
因此,故障检测部1509检测物理层的电压状态的变化或时钟状态的变化。
例如,在已经检测到物理层的电压状态的异常改变的情况下,故障检测部1509通过发送图像数据的高速数据通信通知应用处理器1212特定消息,该特定消息包括第一异常消息,该第一异常消息指示在图像传感器1211中发生了电力异常、电压异常(例如,电压振幅、电压极性、或IR压降)等。
此外,在已经检测到物理层的时钟状态的异常改变的情况下,故障检测部1509通过发送图像数据的高速数据通信向应用处理器1212通知包括指示已经发生时钟异常(例如,时钟频率、周期性、次数或抖动)的第二异常消息的特定消息。
应注意,在由于意外噪声、干扰等而发生异常的情况下,不仅限于注入攻击,故障检测部1509也可以发送表示异常的消息作为特定消息。
进一步地,例如,在满足特殊条件的情况下,通过激活和插入不利地影响图像传感器1211的硬件特洛伊(即,异物),存在插入攻击,诸如禁用或出现图像传感器1211内部的一些或全部操作、注入错误信息或泄漏信息。
在图像传感器1211经受插入攻击的情况下,在电特性(例如,阻抗值的Z值、电阻值的R值、电感值的L值、电容值的C值、品质因数的Q值)、传输特性(例如,数据传输质量、插入损耗、反射损耗)等中发生异常变化。
因此,在检测电特性并检测电特性的异常改变的情况下,例如,故障检测部1509通过发送图像数据的高速数据通信向应用处理器1212通知表示在图像传感器1211中已经发生电特性异常的第三异常消息作为特定消息。
此外,在检测传输特性和检测传输特性的异常改变的情况下,例如,故障检测部1509通过发送图像数据的高速数据通信通知应用处理器1212第四异常消息作为特定消息,该第四异常消息指示在图像传感器1211中发生传输特性的异常。
要注意的是,故障检测部1509可以检测通信路径或物理层处理部1505中是否存在断开或短路(即,断开或压缩)或其可能性,并且可以在已经发生异常的情况下,响应于检测结果发送指示已经发生异常的特定消息。
此外,在由于任何意外损坏、老化劣化、温度变化等而发生异常的情况下,不仅限于插入附接,故障检测部1509也可以发送表示异常的消息作为特定消息。
应当注意,在未检测到异常的情况下,故障检测部1509可以发送包括正常消息的特定消息,或者可以不发送特定消息。
(故障检测部的故障检测处理)
接下来,参考图123中的流程图给出故障检测部1509的故障检测处理的描述。
在步骤S1051中,故障检测部1509检测物理层的电压状态。
在步骤S1052中,故障检测部1509确定物理层的电压状态是否在阈值范围之外,即是否发生异常变化。
在步骤S1052中确定物理层的电压状态在阈值范围之外并且已经发生异常改变的情况下,处理进行至步骤S1053。
在步骤S1053中,故障检测部1509通过发送图像数据的高速数据通信通知应用处理器1212特定消息,该特定消息包括指示在图像传感器1211中已经发生电力异常或电压异常(例如,电压振幅、电压极性或IR下降)的第一异常消息。
此外,在步骤S1052中确定物理层的电压状态不在阈值范围之外的情况下,处理进行至步骤S1054。
在步骤S1054中,故障检测部1509检测物理层的时钟状态。
在步骤S1055中,故障检测部1509确定物理层的时钟状态是否在阈值范围之外,即是否发生异常变化。
在步骤S1055中确定物理层的时钟状态在阈值范围之外并且已经发生异常改变的情况下,处理进行至步骤S1056。
在步骤S1056中,故障检测部1509通过发送图像数据的高速数据通信通知应用处理器1212特定消息,该特定消息包括指示已经发生时钟异常(例如,时钟频率、周期性、次数或抖动)的第二异常消息。
进一步地,在步骤S1055中确定物理层的时钟状态不在阈值范围之外的情况下,处理进行至步骤S1057。
在步骤S1057中,故障检测部1509检测电特性。
在步骤S1058中,故障检测部1509确定电特性是否在阈值范围之外,即是否发生了异常变化。
在步骤S1058中确定为电特性在阈值范围之外且发生了异常变化的情况下,处理进入步骤S1059。
在步骤S1059中,故障检测部1509通过发送图像数据的高速数据通信向应用处理器1212通知作为特定消息的表示在图像传感器1211中发生了电特性异常的第三异常消息。
此外,在步骤S1058中确定没有发生电特性的异常变化的情况下,处理进行至步骤S1060。
在步骤S1060中,故障检测部1509检测传输特性。
在步骤S1061中,故障检测部1509确定传输特性是否在阈值范围之外,即是否已经发生异常改变。
在步骤S1061中确定传输特性在阈值范围之外并且已经发生异常改变的情况下,处理进行到步骤S1062。
在步骤S1062中,故障检测部1509通过发送图像数据的高速数据通信向应用处理器1212通知作为特定消息的第四异常消息,该第四异常消息指示在图像传感器1211中发生了传输特性的异常。
此外,在步骤S1061中确定没有发生传输特性的异常改变的情况下,处理进行至步骤S1063。
在步骤S1063中,故障检测部1509通过发送图像数据的高速数据通信向应用处理器1212通知作为特定消息的表示图像传感器1211正常的消息。
在检测存在或不存在注入攻击或插入攻击以及检测注入攻击或插入攻击的情况下,上述处理使得可以向应用处理器1212通知包括指示已经发生异常的消息的特定消息。
因此,应用处理器1212通过高速数据通信响应于存在或不存在故障而获取特定消息,从而使得可以实现响应于特定消息的快速且适当的响应。
<通过侵害检测部的安全部中的异常检测>
接下来,描述侵害检测部1511在安全部1510中的异常检测。
安全部1510可能经受分析攻击(电力分析攻击、电磁分析攻击),该分析攻击例如通过分析待用于图像传感器1211的电力或从图像传感器1211产生的电磁而泄露图像传感器1211内部的信息,除了注入攻击之外,如禁用或故障图像传感器1211内部的一些或所有操作、注入错误信息以及泄露信息。
因此,除了上述异常检测之外,侵害检测部1511在逻辑上检测与注入攻击相关联的安全部1510内部的篡改的存在或不存在,并且在物理上检测在安全部1510附近是否存在电力分析或电磁分析所需的攻击对象(例如,探测器),从而检测与侵害相关联的异常的存在或不存在,并在检测到异常的情况下发送异常消息作为特定消息。
(由侵害检测部进行的安全部中的异常检测的处理)
接下来,参考图124中的流程图,描述侵害检测部1511在安全部1510中的异常检测的处理。
在步骤S1081中,侵害检测部1511检测指示安全部1510的逻辑状态的信息。
在步骤S1082中,侵害检测部1511基于检测到的指示安全部1510的逻辑状态的信息来确定在安全部1510内是否已发生篡改。
在步骤S1082中确定在安全部1510内已经发生篡改的情况下,处理进行至步骤S1083。
在步骤S1083中,侵害检测部1511通过发送图像数据的高速数据通信向应用处理器1212通知指示与注入攻击相关联的安全部1510内部的篡改已经发生的第一异常消息,作为特定消息。
在步骤S1082中确定在安全部1510内部没有发生篡改的情况下,处理进行至步骤S1084。
在步骤S1084中,侵害检测部1511检测指示安全部1510的物理状态的信息。
在步骤S1085中,侵害检测部1511基于检测到的指示安全部1510的物理状态的信息,确定在安全部1510附近是否存在电力分析或电磁分析所必需的攻击对象(例如,探测器)。
在步骤S1085中确定在安全部1510附近存在用于分析攻击的电力分析或电磁分析所必需的攻击对象(例如,探测器)的情况下,处理进行至步骤S1086。
在步骤S1086中,侵害检测部1511通过发送图像数据的高速数据通信向应用处理器1212通知第二异常消息作为特定消息,该第二异常消息指示在安全部1510附近存在电力分析或电磁分析所必需的攻击对象(例如,探测器)并且存在经受电力分析攻击或电磁分析攻击的可能性。
在步骤S1085中确定在安全部1510附近不存在电力分析或电磁分析所必需的攻击对象(例如,探测器)的情况下,处理进行至步骤S1087。
在步骤S1087,侵害检测部1511通过发送图像数据的高速数据通信向应用处理器1212通知指示图像传感器1211正常的消息,作为特定消息。
上述处理允许检测侵害,如在与注入攻击相关联的安全部1510中的逻辑篡改的存在或不存在或分析攻击的可能性的存在或不存在。在检测到侵害的情况下,可将包括指示与侵害相关联的异常已发生的消息的特定消息通知应用处理器1212。
因此,应用处理器1212通过高速数据通信响应于侵害的存在或不存在获取特定消息,从而使得可以实现响应于特定消息的快速且适当的响应。
<通过温度检测部的异常检测>
接着,说明温度检测部1512的异常检测。
存在温度攻击,其中,使图像传感器1211发生故障以允许有意地迫使图像传感器1211的内部温度或外部温度、通信路径内部温度或通信路径外部温度,以便通信路径或图像传感器1211的操作保证温度在该范围之外。
因此,温度检测部1512检测有无图像传感器1211或通信路径上的温度攻击。
即,图像传感器1211包括操作保证温度的上限值(第一阈值)和下限值(第二阈值)。由此,在图像传感器1211的温度处于高于第一阈值(上限值)的状态或者低于第二传感器(下限值)的状态的情况下,温度检测部1512将指示已经发生异常的消息作为特定消息通知应用处理器1212。
应注意,在由温度检测部1512检测的温度在操作保证范围内的情况下,温度检测部1512可以发送指示温度正常的特定消息,或者可以不发送特定消息。另外,代替异常消息或正常消息,检测到的温度值本身可作为特定消息被发送。
进一步地,可以提供多个温度检测部1512用于功能安全,并且可以在相应的检测结果在对应的各个阈值以外的情况下发送指示异常的特定消息。在这种情况下,即使在温度检测部1512的一部分中发生异常的情况下,也可以解决异常。
此外,在应用处理器1212中,可以通过多次获取一组特定消息组来掌握温度检测部1512中发生异常的范围和位置。
(温度检测部的异常检测处理)
接下来,参考图125中的流程图给出温度检测部1512的异常检测处理的描述。
在步骤S1101中,温度检测部1512检测图像传感器1211内部的温度。
在步骤S1102中,温度检测部1512确定图像传感器1211的检测温度是否等于或大于第一阈值(上限值)(高于第一阈值)。
在步骤S1102中确定图像传感器1211的检测温度等于或大于第一阈值(上限值)的情况下,处理进行到步骤S1103。
在步骤S1103中,温度检测部1512通过发送图像数据的高速数据通信向应用处理器1212通知包括指示图像传感器1211等于或大于操作保证温度并且已经发生异常的第一异常消息的特定消息。
此外,在步骤S1102中确定图像传感器1211的检测温度不等于或大于第一阈值(上限值)的情况下,处理进行到步骤S1104。
在步骤S1104中,温度检测部1512确定图像传感器1211的检测温度是否等于或小于第二阈值(下限值)(小于第二阈值)。
在步骤S1104中确定图像传感器1211的检测温度等于或小于第二阈值(下限值)的情况下,处理进行到步骤S1105。
在步骤S1105中,温度检测部1512通过发送图像数据的高速数据通信通知应用处理器1212特定消息,该特定消息包括指示图像传感器1211等于或小于操作保证温度并且已经发生异常的第二异常消息。
在步骤S1104中确定图像传感器1211的检测温度不等于或小于第二阈值(下限值)的情况下,处理进行到步骤S1106。
在步骤S1106中,温度检测部1512将包括表示图像传感器1211的温度在操作保证温度内并且未发生异常的正常消息的特定消息发送至应用处理器1212。
在发生图像传感器121上的温度攻击的情况下,上述处理允许通过发送图像数据的高速数据通信通知那种效果,从而使得可以在应用处理器1212中实现快速且适当的响应。
<基于图像传感器的状态和特性检测是否存在异常的应用处理器的详细构成实例>
在上文中已经给出了对图像传感器1211检测其自身的异常的存在或不存在并且响应于检测结果向应用处理器1212发送特定消息的实例的描述。
然而,应用处理器1212可以获取图像传感器1211的状态和特性以检测异常的存在或不存在。
图126示出了获取图像传感器1211的状态和特性以检测异常的存在或不存在的应用处理器1212的构成实例。
图126中的应用处理器1212包括物理层处理部1551、扩展模式自适应CSI-2接收电路1552、I2C/I3C主设备1553、存储部1554、控制器1555、干扰检测部1556、故障检测部1557、安全部1558、侵害检测部1559和温度检测部1560。
应注意,干扰检测部1556、故障检测部1557、安全部1558、侵害检测部1559和温度检测部1560中的每个响应于从图像传感器1211提供的状态和特性执行处理。然而,各个基本功能类似于图118中的干扰检测部1508、故障检测部1509、安全部1510、侵害检测部1511和温度检测部1512的基本功能。
此外,物理层处理部1551、扩展模式自适应CSI-2接收电路1552、I2C/I3C主设备1553、存储部1554、安全部1558和控制器1555以与对应于图77中的物理层处理部1321、扩展模式自适应CSI-2接收电路1322、I2C/I3C主设备1323、存储部1324、安全部1326和控制器1327的相应块相同的方式构成,并且省略其详细描述。
基于经由扩展模式自适应CSI-2接收电路1552从图像传感器1211提供的图像数据,干扰检测部1556将光接收波形图案、光接收点图案、光接收点图案或光接收轨迹图案等中的任一个与预先存储在存储部1554中的存储图案相比较,从而确定图像传感器1211或图像数据是否正常或异常。
干扰检测部1556可将关于图像传感器1211或图像数据是否正常或异常的确定结果作为特定消息输出至后续阶段。
此外,干扰检测部1508和1577可以分别设置在图像传感器1211和应用处理器1212中。例如,在设置干扰检测部1508和1577两者的情况下,可以以双倍的方式确定是否存在异常。因此,即使当图像传感器1211中的干扰检测部1508或应用处理器1212中的干扰检测部1577中的一个受到攻击时,也可以检测对图像传感器1211的干扰的存在或不存在。
故障检测部1557直接或间接地电耦合至应用处理器1212中的通信路径或物理层处理部1551。
此外,故障检测部1509和1557可以分别设置在图像传感器1211和应用处理器1212中。
例如,图像传感器1211测量其自身的电特性并且通过发送图像数据的高速数据通信将其作为特定消息发送至应用处理器1212。
故障检测部1557测量“图像传感器1211+通信路径(物理层)”中的电特性,从而通过校准处理识别通信路径中的电特性。
因为可以将硬件特洛伊插入到通信路径中(例如,插入到电线中),所以通信路径中的电特性的变化的检测使得可以高精度地检测硬件特洛伊的存在或不存在。
同样地,安全部1558、侵害检测部1559和温度检测部1560不仅可设置在应用处理器1212中,还可设置在图像传感器1211中。
也就是说,安全部1510和1558、侵害检测部1511和1559以及温度检测部1512和1560可分别设置在图像传感器1211和应用处理器1212中。
干扰检测部1556、故障检测部1557、安全部1558、侵害检测部1559和温度检测部1560中的任何一个可以直接电耦合至存储器。
存储器可以直接电耦合到上述寄存器,并且干扰检测部1556、故障检测部1557、安全部1558、侵害检测部1559和温度检测部1560中的任何一个可以直接电耦合到寄存器。
存储器可以是被保护免受存储器中的信息泄露或篡改之一的存储器。这里,存储器和寄存器被统称为存储部1554。例如,干扰检测部1556、故障检测部1557、安全部1558、侵害检测部1559和温度检测部1560中的任何一个能够被确定为在短时间段内已经受到连续干扰、连续故障和连续侵害中的任何一个,并且能够通过将多次的检测结果存储在存储部1554中而被确定为在长时间段内具有温度负荷;可以发送指示这种状态的异常消息。
要注意的是,可以从存储部1554中读取存储模式、阈值、第一阈值以及第二阈值中的任一个。此外,可由应用处理器1212至少经由I2C或I3C将存储模式、阈值、第一阈值和第二阈值中的任一个写入到图像传感器1211中的存储部1507中。
以这种方式,当应用处理器1212内部发生事故时,应用处理器1212外部(例如,图像传感器1211内部的受保护存储部1507中)的检测结果的周期性存储允许分析外部图像传感器1211内部的受保护存储部1507,从而可以促进事故原因的识别。同样地,当图像传感器1211中发生事故时,在图像传感器1211外部(例如,在应用处理器1212内部的受保护存储部1554中)的检测结果的周期性存储允许分析外部应用处理器1212内部的受保护存储部1554,从而使得可以促进事故原因的识别。
干扰检测部1556、故障检测部1557、安全部1558、侵害检测部1559和温度检测部1560中的每一个可以直接电耦合到扩展模式自适应CSI-2接收电路1552以允许每个检测结果直接从扩展模式自适应CSI-2接收电路1552通信。
此外,干扰检测部1556、故障检测部1557、安全部1558、侵害检测部1559和温度检测部1560中的每一个可以经由存储部1554等间接地电耦合到扩展模式自适应CSI-2接收电路1552,以允许从扩展模式自适应CSI-2接收电路1552间接地传达每个检测结果。
此外,可以从扩展模式自适应CSI-2接收电路1552直接输出特定消息,或者可以经由存储部1554等从扩展模式自适应CSI-2接收电路1552间接输出特定消息。
此外,干扰检测部1556、故障检测部1557、安全部1558、侵害检测部1559和温度检测部1560中的每一个可以直接电耦合到通信路径或经由存储部1554等间接电耦合到通信路径。
应注意,至少将用于高速数据传输的通信路径认为比仅用于低速命令传输的通信路径具有更高的攻击检测灵敏度,因为将用于高速数据传输的通信路径在高频特性上是优异的。
此外,在经由用于高速数据传输的一些或全部通信路径为图像传感器1211供电的情况下,至少暂时地仅禁用电源使得可以禁用图像传感器1211的图像数据流或操作。
例如,将要在高速数据传输中使用的通信路径中的一些或全部替换为插入了硬件特洛伊的通信路径,并且仅无线地或使用定时器来激活硬件特洛伊可能导致容易发生移动体设备(推进设备)的事故。即,故障检测部1557比专用于低速命令传输的通信路径更适应至少用于高速数据传输的物理层,并且进一步,更特别适合用于电力传输的物理层。
干扰检测部1508和1556、故障检测部1509和1557、安全部1510和1558、侵害检测部1511和1559、以及温度检测部1512和1560中的每一个可以包括在其他块中。
例如,干扰检测部1508可以至少部分地包括在像素1501、AD转换器1502、图像处理部1503、存储部1507以及扩展模式自适应CSI-2发送电路1504中的任一个中。
此外,例如,干扰检测部1556可以至少部分地包括在扩展模式自适应CSI-2接收电路1552和存储部1554中的任一个中。
此外,例如,故障检测部1509可以至少部分地包括在物理层处理部1505、存储部1507和扩展模式自适应CSI-2发送电路1504中的任何一个中。
此外,例如,故障检测部1557可以至少部分地被包括在扩展模式自适应CSI-2接收电路1552和存储部1554中的任一个中。
此外,例如,安全部1510、侵害检测部1511和温度检测部1512中的每一个可以至少部分地包括在存储部1507和扩展模式自适应CSI-2发送电路1504中的任何一个中。
此外,例如,安全部1558、侵害检测部1559和温度检测部1560中的每一个可以至少部分地包括在存储部1554和扩展模式自适应CSI-2发送电路1552中的任何一个中。
此外,像素1501、AD转换器1502、图像处理部1503、物理层处理部1505、扩展模式自适应CSI-2发送电路1504,扩展模式自适应CSI-2接收电路1552、存储部1507和1554、I2C/I3C从设备1506、I2C/I3C主设备1553、干扰检测部1508和1556,故障检测部1509和1557、安全部1510和1558、侵害检测部1511和1559、以及温度检测部1512和1560中的每一个可由控制器或移动体设备(推进设备)的控制部或未示出的新控制部直接或间接地控制。
<由应用处理器检测图像传感器中是否存在异常的处理>
接下来,参考图127和图128中的流程图,描述由应用处理器检测图像传感器中是否存在异常的处理。
应注意,图127中的流程图示出了图像传感器1211的处理,并且图128中的流程图示出了应用处理器1212的处理。
在步骤S1131(图127)中,图像传感器1211检测确定存在或不存在异常所需的其自身的状态或特性。
更具体地,图像传感器1211中的上述干扰检测部1508、故障检测部1509、侵害检测部1511和温度检测部1512中的每个检测在确定图像传感器1211中存在或不存在异常时所需的状态或特性。
然而,在该处理中,仅检测各种状态或特性,并且不确定异常的存在或不存在。
在步骤S1132中,图像传感器1211通过发送图像数据的高速数据通信发送所检测到的其自身的状态或特性作为特定消息。
更具体地,干扰检测部1508、故障检测部1509、侵害检测部1511和温度检测部1512中的每个通过发送图像数据的高速数据通信发送在确定图像传感器1211中存在或不存在异常时所需的状态或特性作为特定消息。
应注意,将由如上所述的图像传感器1211的干扰检测部1508、故障检测部1509、侵害检测部1511和温度检测部1512执行的处理在下文中仅作为简单表达式给出:图像传感器1211检测其自身的状态或特性,并且图像传感器1211将检测到的其自身的状态或特性发送到应用处理器1212。
在步骤S1151(图128)中,应用处理器1212确定是否已经接收到从图像传感器1211发送的特定消息。
更具体地,确定应用处理器1212的干扰检测部1556、故障检测部1557、侵害检测部1559和温度检测部1560中的每一个是否已经从图像传感器1211的干扰检测部1508、故障检测部1509、侵害检测部1511或温度检测部1512中的至少一个接收到特定消息。然而,可确定安全部1558、控制器1555、扩展模式自适应CSI-2接收电路1552或物理层处理部1551之一是否已从图像传感器1211的干扰检测部1508、故障检测部1509、侵害检测部1511或温度检测部1512中的至少一个接收到特定消息。
在步骤S1151中确定已经接收到特定消息的情况下,处理进行到步骤S1152。
在步骤S1152中,应用处理器1212检测作为特定消息发送的图像传感器1211的状态或特性。
更具体地,应用处理器1212的干扰检测部1556、故障检测部1557、侵害检测部1559或温度检测部1560中的至少一个检测包括在接收到的特定消息中的用于检测每个异常的状态或特性。
在步骤S1153中,应用处理器1212通过对图像传感器1211执行校准处理来校正检测到的图像传感器的状态或特性。
更具体地,应用处理器1212的干扰检测部1556、故障检测部1557、侵害检测部1559和温度检测部1560中的至少一个通过对检测的状态或特性执行校准处理来校正。然而,安全部1558、控制器1555、扩展模式自适应CSI-2接收电路1552或物理层处理部1551之一可以通过对所检测的状态或特性执行校准处理来校正。
在步骤S1154中,应用处理器1212确定通过校准处理校正的图像传感器1211的状态或特性是否在被认为是正常的阈值范围之外。
更具体地,应用处理器1212的干扰检测部1556、故障检测部1557、侵害检测部1559或温度检测部1560中的至少一个确定由校准处理校正的状态或特性是否在被认为是正常的阈值范围之外。然而,安全部1558、控制器1555、扩展模式自适应CSI-2接收电路1552或物理层处理部1551之一可确定通过校准处理校正的状态或特性是否在被视为正常的阈值范围之外。应注意,用于确定它们中的每一个的状态或特性是否在被视为正常的阈值范围之外的特殊处理是参考图119和图122至图125中的流程图描述的处理。
在步骤S1154中确定状态或特性在被认为是正常的阈值范围之外的情况下,处理进行至步骤S1155。
在步骤S1155中,应用处理器1212认为图像传感器1211是异常的。
此外,在步骤S1154中确定状态或特性在被认为是正常的阈值范围之外的情况下,处理进行至步骤S1156。
在步骤S1156中,应用处理器1212认为图像传感器1211是正常的。
也就是说,在应用处理器1212的安全部1558、控制器1555、扩展模式自适应CSI-2接收电路1552、物理层处理部1551、干扰检测部1556、故障检测部1557、侵害检测部1559和温度检测部1560中的至少一个中,确定由校准处理校正的状态或特性在被认为是正常的阈值范围之外,图像传感器1211被认为是异常的。在确定不在阈值范围之外的情况下,图像传感器被认为是正常的。
上述处理使得应用处理器1212还能够确定图像传感器1211中是否存在异常;即使当图像传感器1211中发生异常时,应用处理器1212也可以实现快速且合适的响应。
应注意,由应用处理器1212的干扰检测部1556、故障检测部1557、侵害检测部1559和温度检测部1560确定图像传感器1211中存在或不存在异常的上述处理被简称为应用处理器1212基于图像传感器1211的状态或特性或异常诊断(处理)确定图像传感器1211中存在或不存在异常的处理。然而,应用处理器1212可在不获取图像传感器1211的状态或特性的情况下检测异常的存在或不存在。也就是说,应用处理器1212的干扰检测部1556、故障检测部1557、侵害检测部1559和温度检测部1560中的每个可以检测在应用处理器1212中确定异常的存在或不存在时所需的状态或特性,以确定异常的存在或不存在。
<在不禁止图像数据的高速数据传输的情况下执行特定消息的高速数据传输的实例>
上文已经假设特定消息经受图像数据的高速数据传输;然而,存在在不考虑发送定时的情况下执行高速数据传输可能禁止图像数据的高速数据传输的可能性。
因此,给出了在不禁止图像数据的高速数据传输的情况下实现特定消息的高速数据传输的实例的描述。
为了在不抑制图像数据的高速数据传输的情况下实现特定消息的高速数据传输,必须在图像数据的高速数据传输中与各种类型的数据的发送定时一致地执行发送。
因此,在发送图像数据时,需要在从帧开始到帧结束的时间段内或者在从帧结束到帧开始的时间段内(帧消隐时间段)发送特定消息。
这里,在从帧开始到帧结束的时间段中,可发送特定消息的时间段是例如帧开始、嵌入数据、图像数据、非图像数据(读响应和用户定义数据)、帧结束或行消隐时间段中的一个,如图129所示。要注意的是,在CCI信道被分配给VC0的情况下,例如,图129中的VC0可由VC1代替,并且图129中的VC1可由VC2代替。
要注意的是,下文对图像数据的高速数据传输和特定消息的高速数据传输串行执行而非并行执行的实例进行描述。然而,在图像数据的高速数据传输和特定消息的传输(高速数据传输或低速命令传输)在通信路径中不同的情况下,它们可以并行执行。
此外,对于高速数据传输和低速命令传输,通过滤波器的频率分离是可能的,除非消耗电力是问题,否则一些或所有传输可以重叠(并行执行)。
此外,基于图像传感器1211的状态或特性,通过图像传感器1211检测其自身的异常的存在或不存在的上述处理和通过应用处理器121检测图像传感器1211中的异常的存在或不存在的处理在下文中分别被称为通过图像传感器1211的异常诊断(处理)和通过应用处理器1212的异常诊断(处理)。
这里,对于图像传感器1211中的异常诊断(处理),在图像传感器1211基于其自身的状态或特性确定存在或不存在异常的情况下,通过图像传感器1211确定存在或不存在其自身的异常的一系列处理用作异常诊断(处理)。
同时,在应用处理器1212中基于图像传感器1211的状态或特性执行图像传感器1211的异常诊断(处理)的情况下,图像传感器1211中的异常诊断(处理)是仅检测其自身的状态或特性的处理(而不确定是否存在异常)。
另外,将以预定的时间间隔或者以预定的操作间隔进行的异常诊断称为周期性异常诊断,将在处理开始时进行的异常诊断称为初期异常诊断。
作为周期性异常诊断的结果的特定消息可被存储以供在指示厂商特殊代码(Vendor specific)、预留代码(预留以供将来使用)或从预留代码新定义为特定消息的代码的嵌入数据的至少一部分中发送。
此外,特定消息可被存储用于在新定义的分组中发送,或者可被存储用于在用户定义的区域分组或预留区域分组中发送。
例如,扩展分组报头中的一些或所有预留区域可以被新定义为特定消息。此外,例如,扩展分组报头中的用户定义的区域(例如,用户定义的元数据)的一部分或全部可被新定义为特定消息。
此外,例如,已经定义的扩展分组报头或扩展分组报尾的一部分或全部可以适当地作为特定消息。
然而,当特定消息被存储在扩展分组报头中而不是存储在扩展分组报尾中时,该特定消息更立即(异常可以在移动体设备的处理中立即被识别)。特定消息可以是扩展分组报尾ePF1或ePF0的一部分或全部。在特定消息存储在扩展分组报头或扩展分组报尾中的情况下,也可以获得向后兼容性。
<在不禁止图像数据的高速数据传输的情况下执行特定消息的高速数据传输的情况下的处理>
接下来,参考图130中的流程图,描述在不禁止图像数据的高速数据传输的情况下执行特定消息的高速数据传输的情况下图像传感器1211的处理。
在步骤S1171中,图像传感器1211执行初期异常诊断。
在步骤S1172中,图像传感器1211(其扩展模式自适应CSI-2发送电路1504)确定是否已经接收到用于高速数据传输的开始命令,并且等待该处理,直到确定已经接收到用于高速数据传输的开始命令为止。然后,在扩展模式自适应CSI-2发送电路1504在步骤S1172中确定已接收到用于高速数据传输的开始命令的情况下,处理进行至步骤S1173。
在步骤S1173中,图像传感器1211根据初期异常诊断来确定图像传感器1211中是否发生了初期异常。
在步骤S1173中确定存在初期异常的情况下,处理进行至步骤S1174。
在步骤S1174中,图像传感器1211(其扩展模式自适应CSI-2发送电路1504)发送初期异常消息。
即,在这种情况下,此后不进行成像/发送处理。
同时,在步骤S1173中确定为没有发生初期异常的情况下,处理进入步骤S1175。
在步骤S1175中,图像传感器1211执行成像/发送处理,其中,由像素1501捕获、由AD转换器1502进行AD转换以及由图像处理部1503进行图像处理的图像数据被提供给扩展模式自适应CSI-2发送电路1504并被发送至应用处理器1212。
<成像/透射处理(部分1)>
现在,参照图131中的流程图给出成像/发送处理(部分1)的描述。
在步骤S1191中,像素1501开始成像,并且从像素1501输出的图像数据经由AD转换器1502和图像处理部1503供应至扩展模式自适应CSI-2发送电路1504。
在步骤S1192中,图像传感器1211执行周期性异常诊断。
在步骤S1193中,扩展模式自适应CSI-2发送电路1504发送虚拟信道的帧开始。
在步骤S1194中,扩展模式自适应CSI-2发送电路1504发送虚拟信道的嵌入数据。此时,扩展模式自适应CSI-2发送电路1504发送用作周期性异常诊断的诊断结果的特定消息,以便包括在虚拟信道的嵌入数据中。
在步骤S1195中,扩展模式自适应CSI-2发送电路1504发送虚拟信道的图像数据。
在步骤S1196中,扩展模式自适应CSI-2发送电路1504确定是否已完成针对一帧的图像数据的发送。
在扩展模式自适应CSI-2发送电路1504在步骤S1196中确定尚未完成一帧的图像数据的发送的情况下,处理返回至步骤S1195,并且随后重复执行类似处理。同时,在扩展模式自适应CSI-2发送电路1504在步骤S1196中确定已完成针对一帧的图像数据的发送的情况下,处理进行至步骤S1197。
在步骤S1197中,扩展模式自适应CSI-2发送电路1504发送虚拟信道的帧结束。
在步骤S1198中,扩展模式自适应CSI-2发送电路1504确定是否已经接收到用于高速数据传输的结束命令。
在扩展模式自适应CSI-2发送电路1504在步骤S1198中确定尚未接收到用于高速数据传输的结束命令的情况下,处理返回至步骤S1191,并且随后重复执行类似处理。同时,在扩展模式自适应CSI-2发送电路1504在步骤S1198中确定已经接收到用于高速数据传输的结束命令的情况下,处理结束。
成像/发送处理可以继续执行直至接收到用于高速数据传输的结束命令,或者可以在每次接收到用于高速数据传输的开始命令时执行。
上述处理使得能够高速发送特定消息,而不禁止图像数据的高速数据传输。
<成像/发送处理的实际应用实例>
已经给出了在成像/发送处理中接收到用于高速数据传输的结束命令的情况下的结束处理的实例的描述;然而,在没有接收到用于高速数据传输的开始命令的情况下可以结束处理。
图132中的流程图示出了在未接收到高速数据传输的开始命令的情况下完成处理的成像/发送处理的实际应用实例。
应注意,图132中的步骤S1211至S1217中的处理与图131中的步骤S1191至S1197中的那些相似,并且因此省略其描述。
即,在步骤S1218中,在扩展模式自适应CSI-2发送电路1504确定接收到用于高速数据传输的开始命令的情况下,处理返回至步骤S1211,并且随后重复进行相似的处理。同时,在扩展模式自适应CSI-2发送电路1504在步骤S1218中确定未接收到高速数据传输的开始命令的情况下,处理结束。
上述处理还使得能够实现特定消息的高速数据传输,而不禁止图像数据的高速数据传输。
<成像/发送处理(部分2)>
上面已经给出了用作周期性异常诊断的诊断结果的特定消息包括在用于发送的嵌入数据中的实例的描述;但是,也可以执行第二周期性异常诊断(第二周期性异常诊断),使其包含于用于发送的第二嵌入数据中。
图133是描述其中执行第二周期性异常诊断(第二周期性异常诊断)以允许用作第二周期性异常诊断的诊断结果的特定消息包括在用于发送的第二嵌入数据中的成像/发送处理的流程图。
图133中的步骤S1231、S1233、S1235、S1236、S1239、和S1240中的处理与图131中的步骤S1191、S1193、和S1195至S1198中的一系列处理相似,因此省略其描述。
即,当通过步骤S1231中的处理将图像数据提供至扩展模式自适应CSI-2发送电路1504时,图像传感器1211在步骤S1232中执行第一周期性异常诊断(第一周期性异常诊断)。
当在步骤S1233中发送虚拟信道的帧开始时,扩展模式自适应CSI-2发送电路1504在步骤S1234中发送虚拟信道的第一嵌入数据。此时,扩展模式自适应CSI-2发送电路1504将作为第一周期性异常诊断的诊断结果的特定消息发送以包括在虚拟信道的第一嵌入数据中。
当在步骤S1235和S1236中完成针对一帧的图像数据的发送时,图像传感器1211在步骤S1237中执行第二周期性异常诊断(第二周期性异常诊断)。
在步骤S1238中,扩展模式自适应CSI-2发送电路1504发送虚拟信道的第二嵌入数据。此时,扩展模式自适应CSI-2发送电路1504将作为第二周期性异常诊断的诊断结果的特定消息发送以包括在虚拟信道的第二嵌入数据中。
然后,在步骤S1239中发送虚拟信道的帧结束,并且当在步骤S1240中接收到用于高速数据传输的结束命令时,处理结束。
上述处理使得能够实现特定消息的高速数据传输,而不禁止图像数据的高速数据传输。
此外,在上述处理中,在行消隐期间的期间内执行第二周期性异常诊断,因此不影响消耗电力的最大值(与发送同时进行周期性异常诊断)。另外,也可以在行消隐期间以外执行周期性异常诊断。
另外,在紧接开始帧之后且紧接结束帧之前,在嵌入数据中存储与周期性异常诊断的诊断结果对应的特定消息,由此能够使移动体设备(推进设备)确定异常产生时刻。例如,能够确定在图像数据的发送之前、还是发送图像数据之后连续地发生了异常。注意,可以不构成第一嵌入数据。另外,可以采用以下构成,不进行第一周期性异常诊断,而仅进行第二周期性异常诊断。
<成像/发送处理(部分3)>
上面已经给出了执行第二周期性异常诊断(第二周期性异常诊断)以允许对应于第二周期性异常诊断的诊断结果的特定消息包括在用于发送的第二嵌入数据中的实例的描述;但也可以用读响应中包含周期性异常诊断的诊断结果用于发送。
即,在从作为低速命令传输的从设备的图像传感器1211接收通过高速数据传输发送的帧开始信号的情况下,作为低速命令传输的主设备的应用处理器1212通过低速命令传输发送请求应用处理器1212读取图像传感器1211中的特定消息的读命令。
图像传感器1211接收从应用处理器1212发送的读命令,并且通过高速数据传输发送包括与读命令对应的特定消息的读响应。
应用处理器1212能够接收包括特定消息的读响应,以从图像传感器1211接收特定消息的通知。
即,可以在帧开始和帧结束之间没有发送图像数据的行消隐时段内发送特定消息,具体地,期望在帧开始和图像数据之间的时间段内发送特定消息。例如,读命令对应于I2C或I3C标准中的读/写的读。读响应对应于读返回值。由此,在不影响消耗电力的最大值的情况下,能够在发送图像数据之前迅速通知异常。
接着,参照图134、图135的流程图,说明周期性异常诊断的诊断结果包含在读响应中以供发送的成像/发送处理。
应当注意,图134中的流程图示出了图像传感器1211的处理,并且图135中的流程图示出了应用处理器1212的处理。
此外,步骤S1251至1253和S1257至S1260中的处理与图131中的步骤S1191至S1193和S1195至S1198中的处理相似,因此省略其描述。
即,在步骤S1251至S1253(图134)中,开始成像,执行周期性异常诊断,并且发送帧开始。此外,在步骤S1271(图135)中,应用处理器1212的扩展模式自适应CSI-2接收电路1552确定是否已经接收从图像传感器1211发送的帧开始,并且重复类似处理,直到确定已经接收到帧开始。
然后,在步骤S1271中确定已经接收到从图像传感器1211发送的帧开始的情况下,处理进行到步骤S1272。
在步骤S1272中,扩展模式自适应CSI-2接收电路1552通过低速命令传输将读命令发送到图像传感器1211。
响应于此,图像传感器1211的扩展模式自适应CSI-2发送电路1504在步骤S1254(图134)中确定是否已经接收到从应用处理器1212发送的读命令,并且重复类似处理,直到确定已经接收到读命令。
然后,在步骤S1254中确定已经接收到读命令的情况下,处理进行至步骤S1255。
在步骤S1255中,扩展模式自适应CSI-2发送电路1504通过用于发送图像数据的高速数据传输将包括用作周期性异常诊断的诊断结果的特定消息的读响应发送到应用处理器1212。
响应于此,在步骤S1273(图135)中,应用处理器1212的扩展模式自适应CSI-2接收电路1552确定是否已经接收从图像传感器1211发送的包括用作周期性异常诊断的诊断结果的特定消息的读响应,并且重复类似处理,直到确定已经接收到读响应为止。
然后,在步骤S1273中确定为接收到了从图像传感器1211发送的包括用作周期性异常诊断的诊断结果的特定消息的读响应的情况下,处理进入步骤S1274。
在步骤S1274中,应用处理器1212基于包括在所接收的读响应中的特定消息确定图像传感器1211是正常还是异常。
在步骤S1275中,应用处理器1212确定是否发送用于高速数据传输的结束命令;在确定为不结束高速数据传输的情况下,处理返回至步骤S1271,并且重复后续处理。
然后,在步骤S1275中确定发送高速数据传输的结束命令的情况下,扩展模式自适应CSI-2接收电路1552在步骤S1276中将高速数据传输的结束命令发送到图像传感器1211,并且处理结束。
应注意,在该处理中,在步骤S1256中,可以在未包括在嵌入数据中的状态下发送用作周期性异常诊断的诊断结果的特定消息。
通过上述处理,能够将周期性异常诊断的诊断结果包含在读响应中用于发送。
<成像/发送处理(部分4)>
上面已经给出了响应于帧开始发送读命令,并且用作周期性异常诊断的诊断结果的特定消息包括在读响应中用于发送的实例的描述。然而,读命令可以响应于帧结束被发送,并且周期性异常诊断的诊断结果可以包括在读响应中用于发送。
在接收到来自作为低速命令传输的从设备的图像传感器1211的通过高速数据传输发送的帧结束信号的情况下,作为低速命令传输的主设备的应用处理器1212通过低速命令传输发送请求应用处理器1212读取图像传感器1211中的特定消息的读命令。
图像传感器1211接收从应用处理器1212发送的读命令,并且通过高速数据传输发送与读命令对应的特定消息(读响应)。
然后,应用处理器1212接收读响应以从图像传感器122获取特定消息的通知。
即,在帧结束与下一帧开始之间没有发送图像数据的帧消隐时段内发送特定消息。
接着,参照图136、图137的流程图,对响应于帧结束而发送读命令、并且在读响应中包含周期性异常诊断的诊断结果的成像/发送处理用于发送进行说明。
图136中的流程图示出了图像传感器1211的处理,并且图137中的流程图示出了应用处理器1212的处理。
此外,图136中的步骤S1291至S1297和S1300中的处理与图134中的步骤S1251至S1253和S1256至S1260中的处理相似,因此省略其描述。
此外,图137中的步骤S1312至S1316中的处理与图135中的步骤S1272至S1276中的处理相似,因此省略其描述。
即,在图像传感器1211中,通过步骤S1291至S1297(图136)中的多条处理,捕获图像,执行周期性异常诊断,并且发送帧开始、嵌入数据、图像数据和帧结束。
响应于此,在步骤S1311(图137)中,应用处理器1212的扩展模式自适应CSI-2接收电路1552确定是否已经接收从图像传感器1211发送的帧结束,并且重复类似处理,直到确定已经接收到帧结束。
然后,在步骤S1311中确定已经接收到图像传感器1211发送的帧结束的情况下,处理进行到步骤S1312。
在步骤S1312中,扩展模式自适应CSI-2接收电路1552通过低速命令传输将读命令发送到图像传感器1211。
响应于此,在步骤S1298(图136)中,图像传感器1211的扩展模式自适应CSI-2发送电路1504确定是否已经接收到从应用处理器1212发送的读命令,并且重复类似处理直到确定已经接收到读命令。
然后,在步骤S1298中确定已经接收到读命令的情况下,处理进行至步骤S1299。
在步骤S1299中,扩展模式自适应CSI-2发送电路1504通过用于发送图像数据的高速数据传输将包括用作周期性异常诊断的诊断结果的特定消息的读响应发送到应用处理器1212。
响应于此,通过步骤S1313至S1316(图135)中的多条处理,在应用处理器1212中,接收从图像传感器1211发送的包括用作周期性异常诊断的诊断结果的特定消息的读响应,确定图像传感器1211是正常还是异常,并且发送用于高速数据传输的结束命令,然后处理结束。
上述处理使得能够响应于帧结束而发送读命令,并且发送周期性异常诊断的诊断结果以包括在读响应中。
结果,可以在帧结束与下一帧开始之间没有发送图像数据的帧消隐时段内发送特定消息。
<成像/发送处理(部分5)>
已经给出了响应于帧结束发送读命令,并且将周期性异常诊断的诊断结果包括在读响应中用于发送的实例的描述;然而,可以在帧开始发送之前立即发送包括特定消息的读响应。
即,例如,在图像传感器1211中,在从帧结束的开始至下一帧开始的发送的时间段期间执行周期性异常诊断。然后,在应用处理器1212中,在从接收帧结束到图像传感器1211中的周期性异常诊断的完成等待预定时间段之后,发送读命令。应注意,可以提供用于对时间进行计数的定时器以允许定时器对等待时间进行计数。
这种处理使得图像传感器1211能够在发送第二帧和后续帧的图像数据之前的最短时间量内通知应用处理器1212,而不影响消耗电力的最大值,存在图像传感器1211的操作中发生异常的可能性或已经发生异常。
现在,参考图138和139中的流程图,描述响应于帧结束发送读命令并且在读响应中包含周期性异常诊断的诊断结果用于发送的成像/发送处理。
图138中的流程图示出了图像传感器1211的处理,并且图139中的流程图示出了应用处理器1212的处理。
此外,图138中的步骤S1331至S1336和S1339至S1340中的处理与图136中的步骤S1291和S1293至S1299中的处理类似,并且因此省略其描述。
此外,图139中的步骤S1351和S1353至S1357中的处理与图137中的步骤S1311至S1316中的处理相似,因此省略其描述。
即,当图像被捕获并且帧开始时,在步骤S1331至S1336(图138)中发送嵌入数据、图像数据以及帧,在步骤S1337中像素1501开始成像,并且从像素1501输出的图像数据经由AD转换器1502和图像处理部1503供应至扩展模式自适应CSI-2发送电路1504。
在步骤S1338中,图像传感器1211执行周期性异常诊断。
同时,在应用处理器1212中,当在步骤S1351(图139)中接收帧结束时,在步骤S1352中,处理等待预定的时间段。该预定时间段是直到在图像传感器1211中的步骤S1338中的周期性异常诊断的处理完成的时间段。
然后,在通过步骤S1352中的处理等待处理时间之后,处理进行到步骤S1353,并且读命令被发送到图像传感器1211。
在图像传感器1211中,通过步骤S1339和S1340(图138)中的多条处理,响应于读命令,将包括响应于周期性异常诊断的诊断结果的特定消息的读响应通过发送图像数据的高速数据传输发送到应用处理器1212。应当注意,在步骤S1341中未接收到用于高速数据传输的结束命令的情况下,处理返回至步骤S1332中的处理,并且重复后续处理。然后,当在步骤S1341中接收到用于高速数据传输的结束命令时,处理结束。
上述处理使得可以在不影响消耗电力的最大值的情况下快速通知应用处理器1212在发送第二帧和后续帧的图像数据之前图像传感器1211的操作异常或操作异常的可能性。
<成像/发送处理(部分6)>
已经给出了包括特定消息的读响应能够在帧开始发送之前立即发送的实例的描述;然而,可在嵌入数据的发送之后的行消隐时段内执行读命令发送或读响应发送。
这种处理使得可以在不影响消耗电力的最大值的情况下将图像传感器1211的操作中的异常的可能性或图像数据的发送之前的操作中的异常的发生迅速通知给应用处理器1212。
现在,参考图140和141中的流程图给出其中在嵌入数据的发送之后的行消隐时段内执行读命令发送或读响应发送的成像/发送处理的描述。
图140中的流程图示出了图像传感器1211的处理,并且图141中的流程图示出了应用处理器1212的处理。
此外,图140中的步骤S1371至S1373以及S1375至S1380中的处理与图134中的步骤S1251至S1255以及S1257至S1260中的处理相似,因此省略其描述。
此外,图141中的步骤S1392至S1396中的处理与图135中的步骤S1272至S1276中的处理相似,因此省略其描述。
即,当捕捉图像、执行周期性异常诊断并且通过步骤S1371至S1373(图140)中的处理发送帧开始时,扩展模式自适应CSI-2发送电路1504在步骤S1374中发送虚拟信道的嵌入数据。
同时,在应用处理器1212中,在步骤S1391(图141)中,应用处理器1212的扩展模式自适应CSI-2接收电路1552确定是否已接收从图像传感器1211发送的嵌入数据的分组报尾,并且重复类似处理,直到确定已接收分组报尾。
然后,在步骤S1391中确定已经接收到图像传感器1211发送的嵌入数据的分组报尾的情况下,处理进行到步骤S1392。
在步骤S1392中,扩展模式自适应CSI-2接收电路1552通过低速命令传输将读命令发送到图像传感器1211。
在图像传感器1211中,步骤S1375和S1376(图140)中的多条处理允许响应于读命令通过发送图像数据的高速数据传输向应用处理器1212发送包括响应于周期性异常诊断的诊断结果的特定消息的读响应。
上述处理使得可以在不影响消耗电力的最大值的情况下快速通知应用处理器1212在发送图像数据之前图像传感器1211的操作中出现异常或操作中出现异常的可能性,从而使得可以响应于特定消息做出快速响应。
<成像/发送处理(部分7)>
上面已经给出了其中在嵌入数据的发送之后的行消隐时段内执行读命令发送和读响应发送的实例的描述;然而,可以在发送图像数据之后的行消隐时段内执行读命令发送和读响应发送。
在这种情况下,在图像传感器1211中针对图像数据的每行执行周期性异常诊断以发送特定消息,从而使得可以快速向应用处理器1212通知与每行的图像数据相对应的特定消息,而不影响消耗电力的最大值。
现在,参照图142和图143中的流程图,描述其中在发送图像数据之后的行消隐时段内执行读命令发送和读响应发送的成像/发送处理。
图142中的流程图示出了图像传感器1211的处理,并且图143中的流程图示出了应用处理器1212的处理。
此外,图142中的步骤S1411至S1413、S1416、S1417、S1419和S1420中的处理与图140中的步骤S1371、S1373至S1376、S1379和S1380中的处理相似,因此省略其描述。
此外,图143中的步骤S1432至S1436中的处理与图141中的步骤1392至S1396中的处理相似,因此省略其描述。
即,当捕捉图像、发送帧开始、并且通过步骤S1411至S1413中的处理(图142)发送嵌入数据时,扩展模式自适应CSI-2发送电路1504在步骤S1414中发送虚拟信道的图像数据。
在步骤S1415中,图像传感器1211执行周期性异常诊断。
同时,在应用处理器1212中,在步骤S1431(图143)中,应用处理器1212的扩展模式自适应CSI-2接收电路1552确定是否已经接收到图像传感器1211发送的图像数据的分组报尾,并且重复类似处理,直到确定已经接收到分组报尾。
然后,在步骤S1431中确定已经接收到从图像传感器1211发送的图像数据的分组报尾的情况下,处理进行至步骤S1432。
在步骤S1432中,扩展模式自适应CSI-2接收电路1552通过低速命令传输将读命令发送至图像传感器1211。
在图像传感器1211中,步骤S1416和S1417(图142)中的多条处理允许响应于读命令通过发送图像数据的高速数据传输将包括响应于周期性异常诊断的诊断结果的特定消息的读响应发送到应用处理器1212。
此外,在步骤S1418中,扩展模式自适应CSI-2发送电路1504确定是否已经完成针对一帧的图像数据的发送。
在步骤S1418中,在扩展模式自适应CSI-2发送电路1504确定尚未完成一帧的图像数据的发送的情况下,处理返回至步骤S1414,并且随后重复执行类似处理。同时,在步骤S1418中,扩展模式自适应CSI-2发送电路1504确定已完成针对一帧的图像数据的发送的情况下,处理进入步骤S1419。
上述处理允许图像传感器1211对图像数据的每行执行周期性异常诊断以发送特定消息,从而使得可以快速向应用处理器1212通知与每行的图像数据相对应的特定消息,而不影响消耗电力的最大值。
结果,应用处理器1212可以响应于特定消息做出快速响应。
<成像/发送处理(部分8)>
上面已经给出了在发送图像数据之后的行消隐时段内执行读命令发送和读响应发送的实例的描述;然而,可使用中断功能来发送特定消息。
在使用中断功能的情况下,图像传感器1211能够容易地与应用处理器1212同步,并且因此在由图像传感器1211确定的定时执行中断使得可以在由图像传感器1211确定的定时发送特定消息。
应当注意,图像传感器1211可以响应于其而借助于带内中断触发读命令以发送读响应,或者可以借助于带内中断省略读命令以发送读响应。
现在,参照图144和图145中的流程图,描述使用中断功能发送特定消息的成像/发送处理。
图144中的流程图示出了图像传感器1211的处理,并且图145中的流程图示出了应用处理器1212的处理。
此外,在图144中的步骤S1451到S1453、S1455、S1456以及S1458到S1461中的处理与在图140中的步骤S1371到S1373以及S1375到S1380中的处理相似,因此,省略其描述。
此外,图145中的步骤S1472至S1476中的处理与图141中的步骤1392至S1396中的处理相似,因此省略其描述。
即,通过步骤S1451至S1453(图144)中的处理,在图像传感器1211中,捕获图像,执行周期性异常诊断,并且发送帧开始。
在步骤S1454中,扩展模式自适应CSI-2发送电路1504向应用处理器1212通知中断执行的开始。
同时,在应用处理器1212中,应用处理器1212的扩展模式自适应CSI-2接收电路1552在步骤S1471(图145)中确定是否已经接收到从图像传感器1211发送的指示中断执行的开始的通知,并且重复类似处理,直到确定已经接收到通知。
然后,在步骤S1471中确定已经接收到从图像传感器1211发送的指示中断执行的开始的通知的情况下,处理进行到步骤S1472。
在步骤S1432中,扩展模式自适应CSI-2接收电路1552通过低速命令传输将读命令发送至图像传感器1211。
在图像传感器1211中,步骤S1455和S1456(图144)中的多条处理允许响应于读命令通过发送到图像数据的高速数据传输将包括响应于周期性异常诊断的诊断结果的特定消息的读响应发送到应用处理器1212。
此外,在步骤S1457中,扩展模式自适应CSI-2发送电路1504发送嵌入数据。
上述处理使得能够使用中断功能,并且因此在由图像传感器1211确定的定时执行中断使得可以在由图像传感器1211确定的定时向应用处理器1212发送特定消息。
应当注意,图像传感器1211可以响应于其而借助于带内中断触发读命令以发送读响应,或者可以借助于带内中断省略读命令以发送读响应。
<成像/发送处理(部分9)>
上面已经给出了利用中断函数发送特定消息的实例的描述;然而,特定消息可被存储在与用于图像数据传送的虚拟信道不同的虚拟信道的数据(例如,嵌入数据)中用于发送。
将特定消息存储在与图像数据发送时不同的虚拟信道的数据中进行发送,即使在图像数据发送的虚拟信道的嵌入数据中不存在存储特定消息的空间的情况下,也能够发送特定消息。
应当注意,在帧消隐时段内执行周期性异常诊断,从而使得周期性异常诊断不与发送同时执行,因此不影响消耗电力的最大值。另外,也可以在帧消隐期间以外执行周期性异常诊断。
这使得可以向应用处理器1212通知在发送图像数据之前图像传感器1211的操作的异常的可能性和操作的异常的发生。
现在,将参考图146中的流程图给出特定消息被存储在虚拟信道的数据中的用于发送的成像/发送处理的描述,该虚拟信道不同于图像传感器1211的图像数据传送的虚拟信道。
应注意,这里给出了在第一虚拟信道(VC1)中发送图像数据并且在第二虚拟信道(VC2)中发送包括特定消息的嵌入数据的处理的描述。
在步骤S1491中,像素1501开始成像,并且从像素1501输出的图像数据经由AD转换器1502和图像处理部1503供应至扩展模式自适应CSI-2发送电路1504。
在步骤S1492中,图像传感器1211执行周期性异常诊断。
在步骤S1493中,扩展模式自适应CSI-2发送电路1504发送第一虚拟信道的帧开始。
在步骤S1494中,扩展模式自适应CSI-2发送电路1504发送第二虚拟信道的帧开始。
在步骤S1495中,扩展模式自适应CSI-2发送电路1504发送第一虚拟信道的嵌入数据。
在步骤S1496中,扩展模式自适应CSI-2发送电路1504发送第二虚拟信道的嵌入数据。此时,扩展模式自适应CSI-2发送电路1504发送包括与周期性异常诊断的诊断结果相对应的特定消息的第二虚拟信道的嵌入数据。
在步骤S1497中,扩展模式自适应CSI-2发送电路1504发送第一虚拟信道的图像数据。
在步骤S1498中,扩展模式自适应CSI-2发送电路1504确定针对一帧的图像数据的发送是否已经完成。
在扩展模式自适应CSI-2发送电路1504在步骤S1498中确定尚未完成一帧的图像数据的发送的情况下,处理返回至步骤S1497,并且随后重复执行类似处理。同时,在扩展模式自适应CSI-2发送电路1504在步骤S1498中确定已经完成了一帧的图像数据的发送的情况下,处理进行至步骤S1499。
在步骤S1499中,扩展模式自适应CSI-2发送电路1504发送第二虚拟信道的用户定义数据。
在步骤S1500中,扩展模式自适应CSI-2发送电路1504发送第一虚拟信道的帧结束。
在步骤S1501中,扩展模式自适应CSI-2发送电路1504发送第二虚拟信道的帧结束。
在步骤S1502中,扩展模式自适应CSI-2发送电路1504确定是否已经接收到用于高速数据传输的结束命令。
在扩展模式自适应CSI-2发送电路1504在步骤S1502中确定尚未接收到用于高速数据传输的结束命令的情况下,处理返回至步骤S1491,并且随后重复执行类似处理。同时,在扩展模式自适应CSI-2发送电路1504在步骤S1502中确定已经接收到用于高速数据传输的结束命令的情况下,处理结束。
上述处理使得可以发送特定消息,即使在没有空间将特定消息存储在用于图像数据发送的虚拟信道的嵌入数据中的情况下。
<成像/发送处理(部分10)>
以上已经给出了特定消息被存储在与用于图像数据传送的虚拟信道不同的虚拟信道的数据(例如,嵌入数据)中用于发送的实例的描述;然而,特定消息可至少部分地存储在与用于图像数据发送的虚拟信道不同的虚拟信道的非图像数据中以发送。
例如,非图像数据是分组数据(例如,通用短分组数据类型、通用长分组数据类型)、用户定义数据(基于用户定义的字节的数据)、或预留区域数据(预留以供将来使用)。
在特定消息至少部分地存储在与用于图像数据传送的虚拟信道不同的虚拟信道的非图像数据中的情况下,图像传感器1211针对图像数据的每一行发送特定消息,从而使得可以快速地发送与每一行的图像数据对应的特定消息。
这使得接收特定消息的应用处理器1212能够响应于该特定消息做出快速响应。
在发送图像数据之前的行消隐期间内执行周期性异常诊断,可以不与发送同时进行周期性异常诊断,因此不影响消耗电力的最大值。另外,也可以在行消隐期间以外执行周期性异常诊断。
现在,参照图147中的流程图,描述执行发送以允许至少部分地存储在与图像数据传送的虚拟信道不同的虚拟信道的非图像数据中的成像/发送处理。
注意,这里给出了在第一虚拟信道(VC1)中发送图像数据并且在第二虚拟信道(VC2)中发送包括特定消息的用户定义数据的处理的描述。
此外,图147中的流程图的步骤S1521至S1525和步骤S1530至S1532中的处理类似于图146中的流程图的步骤S1491和S1493至S1496和S1500至S1502中的处理,并且因此省略其描述。然而,步骤S1525中的处理与步骤S1496中的处理的不同之处在于步骤S1525中的处理不包括周期性异常诊断的诊断结果。
即,当开始成像并且通过步骤S1521至S1525中的多条处理发送第一虚拟信道和第二虚拟信道中的每一个的帧开始和嵌入数据时,处理进行至步骤S1526。
在步骤S1526中,图像传感器1211执行周期性异常诊断。
在步骤S1527中,扩展模式自适应CSI-2发送电路1504发送第一虚拟信道的图像数据。
在步骤S1528中,扩展模式自适应CSI-2发送电路1504发送第二虚拟信道的用户定义数据。此时,扩展模式自适应CSI-2发送电路1504发送包括与周期性异常诊断的诊断结果相对应的特定消息的第二虚拟信道的用户定义数据。
在步骤S1529中,扩展模式自适应CSI-2发送电路1504确定针对一帧的图像数据的发送是否已经完成。
在扩展模式自适应CSI-2发送电路1504在步骤S1529中确定尚未完成针对一帧的图像数据的发送的情况下,处理返回至步骤S1526,并且随后重复执行类似处理。同时,在扩展模式自适应CSI-2发送电路1504在步骤S1529中确定已完成针对一帧的图像数据的发送的情况下,处理进行至步骤S1530。
然后,在步骤S1530和S1531中,发送第一虚拟信道和第一虚拟信道的帧结束。
上述处理使得图像传感器能够发送图像数据的每行的特定消息,从而使得可以快速地发送与每行的图像数据相对应的特定消息。
作为结果,接收该特定消息的应用处理器1212可以响应于该特定消息做出快速响应。
此外,上面已经给出了发送包含特定消息的用户定义数据的实例的描述。然而,可以不使用用户定义数据,只要使用包括特定消息的非图像数据;例如,可以使用包括特定消息的分组数据或者预留区域数据。
<成像/发送处理(部分11)>
上面已经给出了实例的描述,在该实例中,特定消息至少部分地存储在与用于图像数据传送的虚拟信道不同的虚拟信道的非图像数据中用于发送;然而,特定消息可被存储在图像数据中以供发送。
在特定消息被存储在图像数据中用于发送的情况下,图像传感器1211针对图像数据的每行发送特定消息,从而使得可以快速地发送与每行的图像数据相对应的特定消息。
这使得接收特定消息的应用处理器1212能够响应于该特定消息做出快速响应。
另外,在行消隐期间内执行周期性异常诊断,从而不会与发送同时进行周期性异常诊断,不会对消耗电力的最大值产生影响。
进一步地,可以在行消隐时段之外执行周期性异常诊断。
此外,在特定消息被存储在图像数据中的情况下,可见数字水印消息或不可见数字水印消息可以以叠加的方式被存储。
例如,可视数字水印可以用于将预定消息(例如,警报指示)存储为特定消息。此外,可视数字水印可用于存储指示倒计数或正计数的计数消息(预定消息),直到图像传感器1211完成高速数据传输。
这些可以是人可以识别的表达(例如,固定模式)或人不能识别的表达(例如,随机模式)。此外,可使用不可见数字水印来存储消息,由于图像的微小变化,该不可见数字水印难以通过肉眼视觉观察到。
现在,参照图148中的流程图,描述特定消息存储在用于发送的图像数据中的成像/发送处理。
要注意的是,在图148中的流程图的步骤S1551和S1552以及步骤S1557和S1558中的处理与在图131中的流程图的步骤S1191、S1193、S1197和S1198中的处理相似,因此,省略其描述。
即,当开始成像并且通过步骤S1551和S1552中的处理发送帧开始,并且通过步骤S1553中的处理发送嵌入数据时,处理进行至步骤S1554。
在步骤S1554中,图像传感器1211执行周期性异常诊断。
在步骤S1555中,扩展模式自适应CSI-2发送电路1504发送虚拟信道的图像数据。此时,扩展模式自适应CSI-2发送电路1504包括用于发送虚拟信道的图像数据的与周期性异常诊断的诊断结果相对应的特定消息。
在步骤S1556中,扩展模式自适应CSI-2发送电路1504确定是否已完成一帧图像数据的发送。
在步骤S1556中扩展模式自适应CSI-2发送电路1504确定尚未完成一帧图像数据的发送的情况下,处理返回至步骤S1554,随后重复执行类似处理。另一方面,在步骤S1556中扩展模式自适应CSI-2发送电路1504确定完成一帧图像数据传送的情况下,处理进入步骤S1557。
然后,在步骤S1557中,发送虚拟信道的帧结束。
上述处理使得图像传感器1211能够发送图像数据的每行的特定消息,从而使得能够将与每行的图像数据相对应的特定消息快速发送到应用处理器1212。
这使得接收该特定消息的应用处理器1212能够响应于该特定消息做出快速响应。
要注意的是,在以上描述中,规定了成像的开始,但是未规定成像的结束。一个原因是成像方法根据例如成像方法是全局快门方法还是卷帘快门方法而变化。
例如,当成像方法是全局快门方法时,可以一次捕捉所有像素;因此,可以在下一个处理之前完成成像,或者可以在发送帧中的第一图像数据之前完成成像。
同时,当成像方法是卷帘快门方法时,在每行像素中执行的高速数据传输和成像可以至少部分地以重叠的方式(并行执行)执行,并且因此足以在帧中的最后图像数据的发送之前完成成像。
此外,开始成像的定时是示例性的;例如,可以延迟的方式执行成像,直到发送帧中第一图像数据之前的定时。
进一步地,周期性异常诊断的定时也是示例性的;例如,也可以延迟方式执行周期性异常诊断直至特定消息的发送之前的定时。
<关于消息计数值>
消息计数器1513通过递增或递减HD(HummingDistance,汉明距离)≥1计数(二进制码)或HD=1计数(格雷码)中的一个来生成消息计数器(消息计数值)。
应注意,图149在示图的左侧示出了包括HD(HummingDistance:汉明距离)的二进制码≥1的消息计数值的实例,以及在示图的右侧示出了包括HD=1的格雷码的消息计数值的实例;在图中,这两者均向下递增。
具体地,在消息计数器(消息计数值)是格雷码的情况下,与递增或递减相关联的汉明距离变得恒定,从而使得可以改善对电力观察攻击或电磁观察攻击的抵抗力。
对于消息计数值的计数方法,第一编码方法和第二编码方法(例如,二进制编码方法和格雷编码方法)可以在其间切换。
此外,在根据需要切换消息计数值的计数方法的情况下,附加信息可从图像传感器1211传送到应用处理器1212,而不改变要发送的数据量本身。
例如,在图像传感器1211中检测到异常的情况下,可以切换消息计数值的计数方法,从而使得可以根据计数方法将异常信息(例如,存在或不存在异常)从图像传感器1211传达至应用处理器1212。
具体地,在二进制码和格雷码之间切换的情况下,可以在保持消息计数器的递增或递减的同时传送附加信息。
在图像传感器1211在二进制码和格雷码之间切换的情况下,期望在考虑码周期(4位的示例和左边16个计数的码周期)的定时执行切换,以便使应用处理器1212能够确定是否计数的切换或消息的发送/接收失败;然而,这不是限制性的。
在图像传感器1211包括彼此相关的第一计数器和第二计数器的情况下,可以验证消息计数器的故障或篡改的存在或不存在。
例如,可以从执行递增的第一计数器和执行递减的第二计数器的算术运算(例如,相加)的结果来验证计数器的故障或篡改的存在或不存在。
即,例如,在使用递增二进制代码的第一计数器和执行递减的第二计数器的情况下,每个相加结果总是“1111”,除非如图150中所示存在失败或篡改。因此,在每个相加结果为“1111”的情况下,第一计数器和第二计数器均为正常值,从而使得可以基于相加结果是否为包括“1111”的正常值来验证失败或篡改的存在或不存在。
此外,可以从具有相同计数方向的第一计数器和第二计数器的算术运算(例如,减法)的结果来验证计数器的故障或篡改的存在或不存在。
即,例如,在递增格雷码的第一计数器和执行递减的第二计数器的情况下,每个减法结果总是“0000”,除非如图151中所示存在失败或篡改。因此,在每个减法结果为“0000”的情况下,第一计数器和第二计数器均为正常值,从而使得可以基于减法结果是否为包括“0000”的正常值来验证失败或篡改的有无。
<消息计数处理>
接下来,参考图152中的流程图给出消息计数处理的描述。
在步骤S1571中,消息计数器1513初始化第一计数值和第二计数值。
在步骤S1572中,扩展模式自适应CSI-2发送电路1504确定是否发送扩展分组报头,并且等待处理,直到做出确定发送扩展分组报头为止。
在步骤S1572中确定发送扩展分组报头的情况下,处理进行至步骤S1573。
在步骤S1573中,扩展模式自适应CSI-2发送电路1504从消息计数器1513获取第一计数值作为消息计数值,并且将其存储在扩展分组报头中。
在步骤S1574中,扩展模式自适应CSI-2发送电路1504将扩展分组报头发送至应用处理器1212。
在步骤S1575中,消息计数器1513确定第一计数值是否是最大值。
在步骤S1575中确定第一计数值是最大值的情况下,处理返回到步骤S1571,在步骤S1571中,初始化第一计数值和第二计数值。
此外,在步骤S1575中确定第一计数值不是最大值的情况下,处理进行至步骤S1576。
在步骤S1576中,消息计数器1513更新(递增或递减)第一消息计数器的第一计数值。
在步骤S1577中,消息计数器1513更新(递增或递减)第二消息计数器的第二计数值。
在步骤S1578中,消息计数器1513对第一计数值和第二计数值执行算术运算(加法或减法)。
在步骤S1579中,消息计数器1513确定算术运算的结果是否是正常值。
在步骤S1579中确定算术运算的结果是正常值的情况下,处理进行至步骤S1580。
在步骤S1580中,消息计数器1513确定第一计数值和第二计数值正常。
在步骤S1579中确定算术运算的结果不是正常值的情况下,处理进行至步骤S1581。
在步骤S1581中,消息计数器1513确定第一计数值或第二计数值中的至少一个是异常的。
上述处理使得有可能改进对消息计数器的计数值的失败或篡改的耐受性。
应注意,图像传感器1211可在确定为正常的情况下发送正常消息,并在确定为异常的情况下发送异常消息作为特定消息。另外,消息计数值可以适当地作为诸如异常消息的特定消息。
同时,特定消息可存储在帧结束外部的扩展分组报尾中(例如,帧开始中、嵌入数据中或图像数据中)。另外,基于包括特定消息的数据的加密的完全性算术值可被存储在帧结束中的扩展分组报尾中。此外,基于包括特定消息的数据的加密的完全性算术运算可存储在嵌入数据中的分组数据中,而不是存储在扩展分组报尾中。
以上已经参考从图像传感器1211向应用处理器1212传递特定消息或附加信息的实例给出了描述;然而,特定消息或附加信息可根据类似概念从应用处理器1212传送到图像传感器1211或显示器1213。
<关于识别异常的信息的存储>
扩展分组报头或扩展分组报尾可以存储警报描述符(特定消息),其被定义为能够识别例如任何致命警报(检测严重异常),传感器内部警报(检测传感器内部引起的异常)、传感器外部警报(检测传感器外部引起的异常)、电源警报(检测电源引起的异常)、时钟源警报(检测时钟源引起的异常),其他警报(检测由其他引起的异常)、物理警报(检测物理异常)、逻辑警报(检测逻辑异常)、电力警报(检测电力异常)、电压警报(检测电压异常)、电流警报(检测电流异常),电磁警报(检测电磁异常)、时钟警报(检测时钟异常)、热警报(检测热异常)、信道警报(检测传输路径异常)、消息警报(检测消息异常)、攻击警报(检测攻击),篡改警报(例如,检测侵害)、盲警报(例如,检测干扰)、饱和警报(例如,检测干扰)、假警报(例如,检测干扰)、异物警报(例如,检测故障),探测器警报(例如,检测侵害或故障)、DOS警报(例如,检测消息计数异常)等。
警报描述符(特定消息)可以至少部分地存储在厂商专用区域(厂商专用)、用户定义区域(用户定义)、或预留区域(预留以供将来使用)中。
此外,可以在扩展分组报头(例如,安全描述符)、扩展分组报尾(例如,ePF1)、嵌入数据、以及读响应中的任一个中定义警报描述符(特定消息)中的任何项。
要注意的是,图153示出了在图58中的扩展分组报头ePH2中的预留区域(Reserved)中设置警报描述符时的扩展分组报头ePH2的构成实例。
此外,图154示出了使用警报描述符(特定消息)的每个位的识别信息的描述实例。
<特定消息的分离>
特定消息的发送可以分成第一特定消息的发送和第二特定消息的发送。
扩展分组报头由图像数据等的线(行)的每次高速数据传输来发送,并且因此期望具有短的位宽。然而,由于其即时性,例如,警报信息的一部分或警报闪速报告(例如,物理攻击检测)可以被分配作为其用于存储的第一特定消息。
同时,例如,指示警报信息的细节的信息(警报细节)被分配给第二特定消息,用于存储在扩展分组报头的外部并且用于发送。
图155示出了警报闪速报告(例如,物理攻击检测)被设置为扩展分组报头中的第一特定消息的实例。
<分离地发送特定消息时的发送处理>
接下来,参照图156和157中的流程图,描述分离地发送特定消息时的发送处理。
应当注意,图156中的流程图示出了图像传感器1211的处理,并且图157中的流程图示出了应用处理器1212的处理。
在步骤S1591(图156)中,图像传感器1211进行异常诊断。
在步骤S1592中,扩展模式自适应CSI-2发送电路1504发送包括作为第一特定消息的警报闪速报告的扩展分组报头。
在步骤S1593中,扩展模式自适应CSI-2发送电路1504发送作为第二特定消息的警报细节,以便包括在扩展分组报头外部,例如,在嵌入数据中。
同时,在步骤S1611中,应用处理器1212确定是否已经接收到包括警报闪速报告的扩展分组报头,并且重复类似处理,直到接收到包括警报闪速报告的扩展分组报头为止。
在步骤S1611中确定已经接收到包括警报闪速报告的扩展分组报头的情况下,处理进行到步骤S1612。
在步骤S1612中,应用处理器1212基于警报闪速报告开始异常处理。
在步骤S1613中,应用处理器1212确定是否已经接收到扩展分组报头(诸如包括警报细节的嵌入数据),并且重复类似处理,直到确定已经接收到扩展分组报头。
然后,在步骤S1613中确定已经接收到诸如包括警报细节的嵌入数据的扩展分组报头的情况下,处理进行至步骤S1614。
在步骤S1614中,应用处理器1212在异常处理中反映关于警报细节的信息。
在通过异常诊断检测到异常的情况下,上述处理使得可以将高即时性的警报闪速报告(例如,物理攻击检测)快速地发送到应用处理器1212,从而使得可以快速地开始异常处理。
<分离地发送特定消息时的发送处理的变形例>
上面已经给出了发送警报闪速报告作为第一特定消息的实例的描述;然而,此外,在发送警报闪速报告之后,可以发送用于警报细节的读命令以允许警报细节作为读响应从图像传感器1211发送。
接下来,参考图158中的流程图给出当在发送警报闪速报告之后发送用于警报细节的读命令的情况下分离地发送特定消息时的发送处理的描述。
应注意,图158中的流程图中的步骤S1631、S1632、S1634和S1635中的处理与图157中的流程图中的步骤S1611至S1613中的处理相似,因此省略其描述。
也就是说,当接收到警报闪速报告并且通过在步骤S1631和步骤S1632中多条处理开始异常处理时,应用处理器1212在步骤S1633中发送读命令。
响应于此,图像传感器1211响应于读命令将读响应发送至应用处理器1212。
然后,通过步骤S1634和S1635中的处理,在异常处理中接收并反映警报细节。
上述处理使得在通过异常诊断检测到异常的情况下,可以将高即时性的警报闪速报告(例如,物理攻击检测)快速地发送到应用处理器1212,并且使得可以在异常处理中快速地反映警报细节。
<安全描述符>
扩展分组报头或扩展分组报尾可以存储安全描述符(例如,可以称为服务描述符),所述安全描述符定义以下各项中的任一项:分组数据(有效载荷)的加密的存在或不存在、扩展分组报尾中的散列值、消息认证码或数字签名的存在或不存在、扩展分组报尾中的散列值、消息认证码或数字签名的算法类型等。
此外,图像传感器1211可以使用此安全描述符来向应用处理器1212通知任何特定消息,如图像传感器1211内部或外部的异常的存在或不存在,或对图像传感器1211的干扰或攻击的存在或不存在。
可用的消息认证码(MAC:消息认证码)的示例可以包括GMAC(GaloisMAC)、CMAC(基于密码的MAC)、HMAC(基于散列的MAC)等中的任何一种。例如,可以使用AES(高级加密标准)或SHA(安全散列算法)被应用到的AES-GMAC、AES-CMAC、SHA2-HMAC、SHA3-HMAC等中的任何一个。
图159示出在图153中的安全描述符中设置特定消息(诸如,图像传感器1211内部或外部的异常的存在或不存在以及图像传感器1211的干扰或攻击的存在或不存在中的任一者)的实例。
<推进设备中的实施的实例>
图像传感器1211和应用处理器1212可以被构成成用于安装在期望的推进设备上。
例如,推进设备可以是能够推进(移动、行进、行走和飞行中的任一种)的车辆、机器人、无人机等中的任一种。推进设备可以是自主车辆、自主机器人或安装有AI(人工智能)功能以实现自主推进的自主无人机中的任一种。
推进设备的推进可由推进设备的用户控制,并且推进设备可根据需要将指令或警报通知用户。同时,推进设备可被构成为允许推进设备本身自动控制其自身的推进。
图160为示出推进控制系统的示意性构成实例的方框图,该推进控制系统是安装有上述图像传感器1211和应用处理器1212的推进设备的控制系统的实例。
推进控制系统1600包括经由通信网络1601耦合的多个电子控制单元。在图160所示的实例中,推进控制系统1600包括驱动系统控制单元1615、本体系统控制单元1616、外部信息检测单元1617、内部信息检测单元1619和集成控制单元1611。此外,示出了作为集成控制单元1611的功能构成的微型计算机1631、声音/图像输出部1632和车载网络I/F(接口)1633。
驱动系统控制单元1615根据各种程序控制与推进设备的驱动系统相关的设备的操作。
本体系统控制单元1616根据各种程序控制设置在推进设备中的各种设备的操作。
外部信息检测单元1617检测关于安装有推进控制系统1600的推进设备的外部的信息。例如,成像部1618耦合至外部信息检测单元1617。外部信息检测单元1617使成像部1618捕获在推进设备外部的图像,并接收捕获的图像。外部信息检测单元1617可基于接收的图像对路面上的人、汽车、障碍物、标志或字符执行距离检测处理或物体检测处理。此外,外部信息检测单元1617可被构成为与应用处理器1212相对应。
成像部1618是对应于图像传感器1211的构成,并且是接收光并且输出对应于光的光接收量的电信号的光学传感器。成像部1618可输出电信号作为图像或者作为关于距离测量的信息。此外,由成像部1618接收的光可以是可见光或者可以是诸如红外光的不可见光。
内部信息检测单元1619检测推进设备内部的信息。检测推进设备内部的信息的检测部1620可耦合至内部信息检测单元1619。在此,推进设备内部的信息例如是推进设备的温度、环境湿度等信息。
微型计算机1631可基于由外部信息检测单元1617或内部信息检测单元1619获取的推进设备内部或外部的信息,执行各种控制目标值的算术运算,以向驱动系统控制单元1615输出控制命令。另外,微型计算机1631可以是与应用处理器1212相应的构成。
此外,微型计算机1631基于由外部信息检测单元1617或内部信息检测单元1619获取的推进设备周围的信息来控制推进,从而使得可以执行用于自动驾驶等的目的的协作控制,其允许自主行驶而不取决于用户的操作。
如上所述,成像部1618是对应于图像传感器1211的构成,并且外部信息检测单元1617和/或微型计算机1631是对应于应用处理器1212的构成。由此,成像部1618和外部信息检测单元1617和/或微型计算机1631实现彼此的高速数据通信。
此外,微型计算机1631能够基于由外部信息检测单元1617获取的推进设备外部的信息将控制命令输出到本体系统控制单元1616。
声音/图像输出部1632将声音或图像中的至少一个的输出信号发送至能够将视觉或听觉信息通知推进设备的乘客或推进设备的外部的输出设备。图160的实例举例说明了音频扬声器1612、显示部1613和仪表板1614作为输出设备。例如,显示部1613可以包括板上显示器或平视显示器中的至少一个。
<推进控制处理(部分1)>
在推进设备中,在接收到异常消息(例如,接收一次、接收多次或连续接收)的情况下,图160中的推进控制系统1600可调查推进状态(例如,推进设备的推进速度或推进设备周围存在或不存在障碍物),以在推进状态满足安全条件时结束高速数据传输,以及当推进状态不满足安全条件时,改变推进控制(例如,将推进设备减慢或引导至具有较少障碍物的位置)。
现在,参照图161中的流程图,描述由推进控制系统1600进行的上述推进控制处理。
在步骤S1651中,与应用处理器1212相对应的外部信息检测单元1617和/或微型计算机1631确定是否从与图像传感器1211相对应的成像部1618接收到指示已经发生异常的异常消息(包括特定消息),并且重复类似处理,直到确定已经接收到异常消息。
在该处理中,可以基于包括异常消息的特定消息是否被接收到一次、多次还是连续进行确定是否接收到包括异常消息的特定消息。
在步骤S1651中确定已经接收到异常消息的情况下,处理进行至步骤S1652。
在步骤S1652中,外部信息检测单元1617和/或微型计算机1631调查推进状态。更具体地,例如,外部信息检测单元1617和/或微型计算机1631调查推进设备的推进速度、推进设备周围是否存在障碍物等作为推进状态。
在步骤S1653中,外部信息检测单元1617和/或微型计算机1631确定推进状态是否满足安全条件。即,根据推进设备的推进速度是否高于规定速度、推进设备周边的障碍物是否存在于预定距离以内等,确定推进状态是否满足安全条件。
在步骤S1653中确定推进状态不满足安全条件的情况下,处理进行至步骤S1654。
在步骤S1654中,外部信息检测单元1617和/或微型计算机1631改变推进控制以允许推进状态满足安全条件,并且处理返回至步骤S1652。
即,例如,外部信息检测单元1617和/或微型计算机1631控制驱动系统控制单元1615和本体系统控制单元1616,直到推进状态满足安全条件,并且重复例如改变推进控制以允许推进设备的推进速度低于预定速度,或者允许推进设备周围的障碍物不存在于预定距离内的处理。
然后,如果在步骤1653中确定推进状态满足安全条件,则处理进行到步骤S1655。
在步骤S1655中,与应用处理器1212相对应的外部信息检测单元1617和/或微型计算机1631完成至和来自与图像传感器1211相对应的成像部1618的高速数据传输。
通过上述处理,即使当从对应于图像传感器1211的成像部1618提供异常消息时,对应于应用处理器1212的外部信息检测单元1617和/或微型计算机1631也不立即结束高速数据传输,而是改变推进控制直到推进状态满足安全条件,然后结束高速数据传输。
这使得可以即使当已知在对应于图像传感器1211的成像部1618中已经发生异常时也防止高速数据传输的立即结束,高速数据传输的立即结束会突然导致不发送推进控制所需的图像数据的状态,这导致推进控制落入致命状态。
<推进控制处理(部分2)>
控制推进设备的推进控制系统1600的应用处理器1212可包括捕捉图像数据或显示图像数据的图像设备(与第一信息处理器或第一处理器通信的第一传感器)以及获取或显示另一数据的另一数据设备(与第二信息处理器、第一处理器或第二处理器通信的第二传感器)。
推进控制系统1600调查图像设备(第一传感器)的状态;在图像设备(第一传感器)中没有出现异常的情况下,推进控制系统1600可优先使用图像设备的图像数据(由第一传感器获取的数据)用于推进控制。
此外,在图像设备(第一传感器)中发生异常的情况下,推进控制系统1600可以通知推进设备的用户轻微警报。然后,推进控制系统1600调查另一数据设备(第二传感器)的状态;在另一数据设备(第二传感器)中没有发生异常的情况下,其他数据设备的其他数据(由第二传感器获取的数据)可优选地用于推进控制。
进一步地,在另一数据设备(第二传感器)中发生异常的情况下,推进控制系统1600可以将主警报通知给推进设备的用户,然后将推进控制留给用户以完成高速数据传输。
要注意的是,图像设备(第一传感器)和另一数据设备(第二传感器)可以具有相同类型的构成或不同类型的构成。即,图像设备(第一传感器)和另一数据设备(第二传感器)可以是诸如可见光传感器、红外光传感器、紫外光传感器、偏振传感器、测距传感器、ToF传感器、或LiDAR传感器、毫米波雷达传感器、超声波雷达传感器、GPS传感器、GNSS传感器、RF测距传感器、以及RF位置传感器的图像传感器中的任一个。
现在,参照图162中的流程图,描述由推进控制系统1600进行的上述推进控制处理。
在步骤S1671中,与应用处理器1212相对应的外部信息检测单元1617和/或微型计算机1631调查图像设备(第一传感器)的状态。更具体地,例如,外部信息检测单元1617和/或微型计算机1631获取图像设备(第一传感器)中的异常诊断的诊断结果,从而调查状态。
在步骤S1672中,外部信息检测单元1617和/或微型计算机1631基于图像设备(第一传感器)的状态来确定在图像设备(第一传感器)中是否已经发生异常。
在步骤S1672中确定在图像设备(第一传感器)中没有发生异常的情况下,处理进行至步骤S1673。
在步骤S1673中,外部信息检测单元1617和/或微型计算机1631优先使用在图像设备(第一传感器)中获取的数据来控制推进设备的推进,并且处理返回至步骤S1671并且重复后续处理。
即,除非在图像设备(第一传感器)中发生异常,否则在图像设备(第一传感器)中获取的数据用于控制推进设备的推进。
在步骤S1672中确定在图像设备(第一传感器)中已经发生异常的情况下,处理进行至步骤S1674。
在步骤S1674中,外部信息检测单元1617和/或微型计算机1631控制声音/图像输出部1632以使用音频扬声器1612、显示部1613或仪表板1614中的至少一个并使用声音或图像中的至少一个向推进设备的用户呈现关于指示在图像设备(第一传感器)中已经发生异常的轻微警报的信息。
在步骤S1675中,外部信息检测单元1617和/或微型计算机1631调查另一数据设备(第二传感器)的状态。更具体地,外部信息检测单元1617和/或微型计算机1631获取另一数据设备(第二传感器)中的异常诊断的诊断结果,从而调查状态。
在步骤S1676中,外部信息检测单元1617和/或微型计算机1631基于另一数据设备(第二传感器)的状态确定在另一数据设备(第二传感器)中是否发生了异常。
在步骤S1676中确定在另一数据设备(第二传感器)中未发生异常的情况下,处理进行至步骤S1677。
在步骤S1677中,外部信息检测单元1617和/或微型计算机1631优先使用在另一数据设备(第二传感器)中获取的数据来控制推进设备的推进,并且处理返回至步骤S1671并且重复后续处理。
即,即使在图像设备(第一传感器)中发生异常的情况下,除非另一数据设备(第二传感器)中发生异常,否则使用在另一数据设备(第二传感器)中获取的数据控制推进设备的推进。
在步骤S1676中确定在另一数据设备(第二传感器)中发生了异常的情况下,处理进行至步骤S1678。
在步骤S1678中,外部信息检测单元1617和/或微型计算机1631控制声音/图像输出部1632以使用音频扬声器1612、显示部1613或仪表板1614中的至少一个并使用声音或图像中的至少一个向推进设备的用户呈现关于表示在图像设备(第一传感器)和另一数据设备(第二传感器)两者中已经发生异常的主要警报的信息。
此时,自主推进处于困难状态,并且因此可使用主要警报来呈现信息以促使用户执行推进设备的推进控制。
在步骤S1679中,外部信息检测单元1617和/或微型计算机1631根据用户对未示出的操作单元等的操作所产生的操作信号,将推进设备的推进控制切换为待操作的推进控制。但也可以在步骤S1679的处理之前,根据由用户对未图示的操作部等进行的操作而生成的操作信号,将推进设备的推进控制转移到待操作的推进控制。
在步骤S1680中,外部信息检测单元1617和/或微型计算机1631完成到和来自与图像传感器1211对应的图像设备(第一传感器)和另一数据设备(第二传感器)的高速数据传输,并进入不接受来自图像设备(第一传感器)的图像数据或来自另一数据设备(第二传感器)的数据的输入的状态。
通过上述处理,当在对应于图像传感器1211的成像设备(第一传感器)中发生异常时,呈现微小的警报以指示已经发生异常,并且基于在另一数据设备(第二传感器)中获得的数据执行推进控制。
进一步地,当在除了成像设备(第一传感器)之外的另一数据设备(第二传感器)中发生异常时,呈现主要警报以指示发生异常以使自主推进控制进入禁用状态,并且自主推进控制被切换至将由用户操作的推进控制,并且高速数据通信结束。
这使得即使在获取推进控制所需的数据的一些传感器(图像设备(第一传感器))中发生异常时,也能够基于要由另一传感器(另一数据设备(第二传感器))获取的数据的推进控制,从而使得可以实现具有更高安全的推进控制。
此外,在两个传感器中都发生异常的情况下,推进控制被移交给用户,并且因此使用由发生异常的传感器获取的不确定数据的推进控制不继续,使得可以实现安全的推进控制。
<推进控制处理(部分3)>
在接收到(例如,接收到一次、接收到多次、连续接收到)异常消息作为特定消息的情况下,控制推进设备的推进的推进控制系统1600(的与应用处理器1212相对应的外部信息检测单元1617和/或微型计算机1631)调查推进状态;在能够完成高速数据传输的情况下,可完成高速数据传输。
此外,在不能完成高速数据传输的情况下,控制推进设备的推进的推进控制系统1600(的与应用处理器1212相对应的外部信息检测单元1617和/或微型计算机1631)可请求图像传感器1211保持高速数据传输。
这允许通过控制推进设备的推进的(对应于应用处理器1212)外部信息检测单元1617和/或微型计算机1631而非推进控制系统1600的(对应于图像传感器1211)成像部1618来完成高速数据传输,从而使得可以避免通过图像传感器1211侧单方面完成高速数据传输而发生的故障。
此外,在需要完成高速数据传输的情况下,对应于图像传感器1211的成像部1618发送异常消息作为特定消息。在异常消息满足预定条件之后(例如,在预定时间段过去之后,在异常消息已发送预定次数之后,或者在具有倒计数功能或向上计数功能的异常消息已达到预定值之后),在不要求维持来自推进设备的高速数据传输的情况下,可结束高速数据传输。
同时,在从推进设备(外部信息检测单元1617和/或微型计算机1631(对应于应用处理器1212))请求保持高速数据传输的情况下,对应于图像传感器1211的成像部1618可延长高速数据传输的调度结束。例如,可以延长预定时间段或预定次数,并且可以重置指示倒计数或正计数的计数值(例如,重置为初始值)。
要注意的是,例如,在一些情况下,图像传感器1211(与其对应的成像部1618)可期望完成高速数据传输,以便执行禁用高速数据传输的处理,例如,更新、初始化、重置、重启或完全关闭某个功能。然而,当在没有通知与应用处理器1212相对应的外部信息检测单元1617和/或微型计算机1631的情况下完成高速数据传输时,存在在没有通知的情况下由于高速数据传输的结束而在推进设备中可能发生事故的可能性。
上述处理允许对应于图像传感器1211的成像部1618不结束高速数据传输,而不通知与应用处理器1212相对应的外部信息检测单元1617和/或微型计算机1631,从而避免由于从成像部1618至应用处理器1212的高速数据传输的突然结束而引起的故障。
如上所述,图像设备和处理器可以是包括推进单元的推进设备的一部,其中,根据需要使用图像数据直接或间接地控制推进。
接下来,参照图163和164中的流程图给出上述推进控制处理的描述。
要注意的是,图163中的流程图示出了与应用处理器1212相对应的外部信息检测单元1617和/或微型计算机1631的处理,并且图164中的流程图示出了与图像传感器1211相对应的成像部1618的处理。
在步骤S1691(图163)中,外部信息检测单元1617和/或微型计算机1631确定是否已经从对应于图像传感器1211的成像部1618接收到异常消息(包括异常消息的特定消息),并且重复类似处理,直到确定已经接收到异常消息。
在步骤S1691中确定已经接收到异常消息的情况下,处理进行至步骤S1692。
在步骤S1692中,外部信息检测单元1617和/或微型计算机1631调查推进状态。
在步骤S1693中,外部信息检测单元1617和/或微型计算机1631基于推进状态来确定是否可以结束高速数据传输。
在步骤S1693中,在能够完成高速数据传输的情况下,处理进行至步骤S1694。
在步骤S1694中,外部信息检测单元1617和/或微型计算机1631完成高速数据通信,并进入不接受来自对应于图像传感器1211的成像部1618的图像数据的供应的状态,以完成处理。
同时,在步骤S1963中不能完成高速数据传输的情况下,处理进行至步骤S1695。
在步骤S1695中,外部信息检测单元1617和/或微型计算机1631将请求保持高速数据传输的信息发送至与图像传感器1211对应的成像部1618。
同时,在步骤S1711中,对应于图像传感器1211的成像部1618确定是否已经发生异常并且需要完成高速数据传输,并且重复类似处理直至确定需要完成高速数据传输。
在步骤S1711中确定需要完成高速数据传输的情况下,处理进行至步骤S1712。
在步骤S1712中,成像部1618将包括异常消息的特定消息发送至与应用处理器1212相对应的外部信息检测单元1617和/或微型计算机1631。
在步骤S1713中,成像部1618确定异常消息是否满足预定条件。预定条件的实例包括:是否已经过去预定时间段;是否发送了预定次数的异常消息;具有倒计数函数或正计数函数的异常消息是否已经达到预定值;等等。
在步骤S1713中确定异常消息满足预定条件的情况下,处理进行到步骤S1714。
在步骤S1714中,成像部1618确定是否存在保持来自与应用处理器1212相对应的外部信息检测单元1617和/或微型计算机1631的高速数据传输的请求。
在步骤S1714中确定存在维持高速数据传输的请求的情况下,处理进行至步骤S1715。
在步骤S1715中,成像部1618扩展高速数据传输的调度结束,并且处理返回至步骤S1711。
同时,在步骤S1714中确定不存在维持高速数据传输的请求的情况下,处理进行至步骤S1716。
在步骤S1716中,成像部1618完成高速数据传输,并进入不向与应用处理器1212相对应的外部信息检测单元1617和/或微型计算机1631发送图像数据的状态。
上述处理允许高速数据传输完成,不是由成像部1618(对应于图像传感器1211)完成,而是由控制推进设备的推进的推进控制系统1600的外部信息检测单元1617和/或微型计算机1631(对应于应用处理器1212)完成,从而使得可以避免由在图像传感器1211的一侧单方面完成高速数据传输造成的故障。
应注意的是,已经通过参考发出在对应于图像传感器1211的成像部1618中可能发生或已经发生异常(负的状态)的警报的实例进行了描述;然而,这不是限制性的。
例如,可传达在对应于图像传感器1211的成像部1618中可发生或已发生正状态。此外,可传达的是,在对应于图像传感器1211的成像部1618中可发生或者已发生既不是负的也不是正的状态改变。
因此,上述异常消息可以是与正常时或通常时不同的消息,诸如向上翻边消息或改变消息。如上所述,正常消息或通常消息可作为特定消息在正常时间或通常时间被发送。另外,特定消息可仅在与正常时间或平常时间不同的情况下被发送。此外,已经通过参考将特定消息用于推进设备中的推进控制系统1600的实例给出了描述,但是这不是限制性的;特定消息可在任何移动设备(例如,智能电话或数字相机)中使用。此外,已经通过参考在保持图像数据流的同时发送特定消息的实例给出了描述,但是这不是限制性的;例如,特定消息可被构成为在图像数据的发送停止之后被发送。
包括在任何附图(如框图或流程图)中的组件的定时或位置是示例性的,并且可以被不同地构成。存在用于在上述每个实例中描述的实施方式的各种变形例。即,关于上述每个实例的部,可以省略一些部,可以改变一些或所有组件,或者可以修改一些或所有组件。
此外,一些组件可以被其他组件替换,或者其他组件可以被添加到一些或所有组件中。进一步地,一些或者全部组件可以划分为多个组件,一些或者全部组件可以划分为多个组件,或者多个划分或者分离的组件中的至少一些可以具有不同的功能或者特征。
进一步地,这些组件中的至少一些可以被移动以形成不同的实施例。此外,绑定元件或中继元件可以被添加到至少一些组件的组合以形成不同的实施例。
此外,可以将切换功能添加至这些组件中的至少一些的组合中以形成不同的实施例。本实施方式不限于在上述实例中呈现的构成,并且可以在不偏离本技术的主旨的情况下以各种方式进行修改。要注意的是,在本文中描述的效果仅仅具有示例性而非限制性,并且可具有其他效果。
在本说明书中,由计算机根据程序执行的处理不一定需要按照描述为流程图的顺序按时间序列执行。即,由计算机根据程序执行的处理还包括并行或单独执行的处理(例如,并行处理或基于对象的处理)。
此外,程序可以由一个计算机(处理器)处理,或者可以经受由多个计算机进行的分配式处理。此外,程序可以发送给远程计算机并且执行该程序。进一步,如本文所使用的,术语“系统”意味着一组多个部(设备、模块(部)等),而不管所有部是否在同一壳体中。
因此,包含在分开的壳体中并且经由网络联接在一起的多个设备和在一个壳体中包含多个模块的一个设备各自是一个系统。
此外,例如,描述为一个设备(或处理器)的构成可以被划分成多个构成,这些构成可以用作多个设备(或处理器)。相反,上面描述为多个设备(或处理器)的构成可以被集成为构成为一个设备(或处理器)。
此外,当然,除上述构成之外的构成可被添加到每个设备(或每个处理器)的构成。此外,当作为整个系统的构成和操作基本上相同时,某个设备(或处理器)的构成中的一些可以包括在另一设备(或另一处理器)的构成中。
进一步地,例如,本技术可以采用云计算构成,其中,通过网络由多个设备共享和联合处理一个功能。此外,例如,上述程序可以在任何设备中执行。
在这种情况下,设备具有必要的功能(诸如功能块)以能够获得必要的信息就足够了。此外,例如,在上述流程图中描述的步骤可以由一个设备执行,并且还可以由多个设备共享和执行。
此外,在一个步骤中包括多个处理的情况下,包括在一个步骤中的多个处理可以由一个设备执行,并且还可以由多个设备共享和执行。换言之,包括在一个步骤中的多条处理也可以被执行为多个步骤的处理。相反,描述为多个步骤的处理可以作为一个步骤集体执行。
要注意的是,关于由计算机执行的程序,描述程序的步骤的多条处理可以按照在本文中描述的顺序按照时间序列执行,或者可以在必要的时间(例如,在进行调用时)并行或单独执行。即,除非发生矛盾,否则可以以不同于上述顺序的顺序执行各个步骤的处理。
进一步地,描述此程序的步骤的处理可以与另一个程序的处理并行执行,或者可以与另一个程序的处理结合执行。
此外,除非发生矛盾,否则本文所述的多种技术可以彼此独立地单独实施。不必说,可以一起使用任何现有的多种技术。例如,可以结合在其他实施方式中描述的一些或所有本技术来实现在任一实施方式中描述的一些或所有本技术。此外,上述任何技术中的一些或全部可与上面未描述的其他技术一起实现。
<停止数据流的方法>
(HEARTBEAT函数)
在请求方和应答方都支持的情况下,HEARTBEAT函数可以用于确定是否需要继续会话。
这里,请求方和应答方是分别对应于应用处理器1212和图像传感器1211的构成,并且能够根据会话具有一个或多个通信信道。
在下文中,描述其中通过举例说明控制推进设备的推进的推进控制系统1600的构成形成会话的实例,其中,与应用处理器1212相对应的外部信息检测单元1617和/或微型计算机1631是请求方,并且与图像传感器1211相对应的成像部1618是应答方。不必说,外部信息检测单元1617和/或微型计算机1631也可以是应答方,并且成像部1618还可以是请求方。
请求方或应答方在处于会话中的同时在HEARTBEAT周期(Heartbeat Period)内发送HEARTBEAT请求消息。Heartbeat Period由应答方存储在例如Successful KEY_EXCHANGE_RSP响应消息中的Param1中或PSK_EXCHANGE_RSP响应消息中并指定。
在“预定值(例如,2)×HEARTBEAT周期(=第一时间)”内未接收到来自HEARTBEAT请求消息接收侧的HEARTBEAT_ACK响应消息或ERROR响应消息的情况下,HEARTBEAT请求消息发送侧结束会话。
HEARTBEAT请求消息发送侧可以重试HEARTBEAT请求消息的发送,并且在重试之前等待来自HEARTBEAT请求消息接收侧的响应达预定时间段。
在“预定值(例如,2)×HEARTBEAT周期”内未接收到HEARTBEAT请求消息的情况下,HEARTBEAT请求消息接收侧结束会话。
在这种情况下,存在对对应于图像传感器1211的成像部1618的攻击或故障可导致数据流由于成像部1618的操作而停止的可能性。
例如,在诸如汽车、无人机或机器人的推进设备安装有对应于图像传感器1211的成像部1618,并且在控制推进设备的推进的推进控制系统1600的外部信息检测单元1617和/或微型计算机1631中使用来自成像部1618的数据流的情况下,数据流的突然停止影响推进控制,这可能在最坏的情况下引起致命事故。
因此,在发生数据流的停止的情况下,HEARTBEAT函数被禁用(HBEAT_CAP=0)以允许在没有通知请求方(对应于应用处理器1212的外部信息检测单元1617和/或微型计算机1631)的情况下数据流不因应答方(对应于图像传感器1211的成像部1618)停止。
防止在没有通知的情况下请求方(对应于应用处理器1212的外部信息检测单元1617和/或微型计算机1631)停止数据流使得可以避免由于应答方(对应于图像传感器1211的成像部1618)的操作引起的数据流的停止。
此外,请求方(与应用处理器1212对应的微型计算机1631和/或外部信息检测单元1617)可基于从应答方(对应于图像传感器1211的成像部1618)发送的计数值(例如,消息计数器值)确定是否需要继续会话。
进一步地,在数据流突然停止的情况下,HEARTBEAT函数可以被使能(HBEAT_CAP=1)以允许与HEARTBEAT周期相关的会话结束不是必要要求(例如,表示为“应”或“必须”),而是在必要要求之外(例如,表示为“应”或“可以”的可选要求)。具体地,与HEARTBEAT周期相关的会话终端可以是HEARTBEAT请求消息发送侧的必要要求,并且可以在HEARTBEAT请求消息接收侧的必要要求之外。另外,与HEARTBEAT周期相关的会话终端可以在HEARTBEAT请求消息发送侧的必要要求之外,并且可以是HEARTBEAT请求消息接收侧的必要要求。另外,与HEARTBEAT周期相关的会话终端可以在HEARTBEAT请求消息发送侧的必要要求之外,并且可以在HEARTBEAT请求消息接收侧的必要要求之外。应注意,公开可用的SPDM标准可将与HEARTBEAT周期相关的会话结束定义为不是必要要求而是必要要求之外。涉及SPDM标准中的一些或全部的安全标准可将与HEARTBEAT周期相关的会话结束定义为不是必要要求而是必要要求之外。不参考SPDM标准的安全标准可将与HEARTBEAT周期相关的会话结束定义为不作为必要要求而是作为必要要求之外。
此外,应答方(对应于图像传感器1211的成像部1618)可设置有用于攻击其自身或故障的检测电路或预测电路,以检测或预测特殊状态可在其自身或图像数据中发生的可能性(也包括已经发生的特殊状态)。
例如,当应答方(对应于图像传感器1211的成像部1618)将HEARTBEAT_NAK响应消息发送到作为通信主机的请求方(对应于应用处理器1212的外部信息检测单元1617和/或微型计算机1631)时,可以通知应答方(成像部1618)发生故障。由此,请求方(外部信息检测单元1617和/或微型计算机1631)可以确定其自身的数据流是否需要停止(例如,作为值,可以新分配0x00、0x05-0x5F、0x62和0x6D-0x7D的预留区域)。
当确定停止数据流时,请求方(外部信息检测单元1617和/或微型计算机1631)将END_SESSION请求发送至应答方(成像部1618)以停止发送数据流的高速数据通信。然而,END_SESSION请求的发送可以在从确定数据流的停止(例如,接收HEARTBEAT_NAK响应消息、接收ERROR响应消息和第一时间的消逝)起过去预定时间段之后执行,或者可以暂停直到推进状态满足安全条件。
这使得请求方(外部信息检测单元1617和/或微型计算机1631)能够在确保安全状态之后停止数据流,甚至例如当数据流停止时,从而使得可以抑制由于对推进控制的影响而引起的致命事故。
图165示出了用于设置HEARTBEAT函数的使能(HBEAT_CAP=1)或禁用(HBEAT_CAP=0)的应答方标志字段定义的构成实例。这是应答方的构成实例;然而,同样地,请求方可以适应请求方标志字段定义,并且还可以适应其中应答方标志字段定义中的值被来自应答方的请求方替代的HBEAT_CAP。图166示出了HEARTBEAT请求消息的构成实例。图167示出HEARTBEAT_ACK响应消息的构成实例。图168示出HEARTBEAT_NAK响应消息的构成实例。图169示出了END_SESSION请求消息的构成实例。应注意,尽管示出了SPDM版本的值是V1.1或TBD的构成实例,但是可采用另一值(例如,V1.2(=0x12)、V1.3(=0x13)或V2.0(=0x20))。此外,在从公开可用的SPDM版本1.1.0改变的情况下,例如,在与HEARTBEAT周期相关的会话结束没有被设置为必要要求,而是在必要要求之外的情况下,SPDM版本可被设置为另一值。即,SPDM版本的偏移、字节或值中的至少一个的描述可符合公开可用的SPDM标准的最新版本。同样地,在与本申请相关联的图或描述中使用的偏移、字段、字节(以字节为单位的大小)、值、大小、位、描述、名称、错误代码、错误数据、扩展错误数据、ID、厂商ID长度、登记或标准主体名称、位分配、备注、eDT、eVC、Addr、初始值、设置数据、属性、细节、嵌入数据格式代码、安全MAC或安全协议中的至少一个的描述可以符合SPDM标准、DMTF中的标准、MIPI中的标准或其他标准的最新版本。
HEARTBEAT_NAK响应消息是异常消息的特定消息。此外,对于HEARTBEAT_NAK响应消息,例如,新定义诸如Param1或Param2的区域以向其分配相应的位可以允许通知特定的状态。即,在上述那些消息中的另一特定消息可以被存储在HEARTBEAT_NAK响应消息中。
<HEARTBEAT处理(部分1)>
接下来,参考图170中的时序图给出HEARTBEAT处理(部分1)的描述。
此处,图170在左边示出了与作为CCI主机(请求方)的应用处理器1212相对应的外部信息检测单元1617和/或微型计算机1631的操作定时。
此外,图170在右侧示出与作为CCI设备(应答方)的图像传感器1211对应的成像部1618的操作定时。
也就是说,通过步骤S1731和1751中的多条处理,CCI主机(请求方)向CCI设备(应答方)发送PSK_FINISH请求消息(部分地类似于步骤S507或S525)。
通过步骤S1752和1732中的多条处理,CCI设备(应答方)将PSK_FINISH_RSP响应消息发送到CCI主机(请求方)(部分地类似于步骤S507或S525)。
该处理使HEARTBEAT函数进入使能状态。
通过步骤S1733和S1753中的处理,CCI主机(请求方)向CCI设备(应答方)发送HEARTBEAT请求消息
响应于此,通过步骤S1754和1734中的多条处理,CCI设备(应答方)向CCI主机(请求方)发送HEARTBEAT_ACK响应消息。
此后,CCI主机(请求方)针对每个HEARTBEAT周期(Heartbeat Period)向CCI设备(应答方)发送HEARTBEAT请求消息;响应于此,重复该处理,在该处理中,CCI设备(应答方)向CCI主机(请求方)发送HEARTBEAT_ACK响应消息。
即,如在步骤S1733至S1736和S1753至S1756中所示,应当认识到,只要连续重复该处理,通信状态就处于正常建立的状态。
这里,假设如下情况:检测到CCI设备(应答方)的异常导致状态,即没有建立通信状态。然后,通过步骤S1737和S1757中的处理,CCI设备(应答方)响应于被发送到CCI主机(请求方)的HEARTBEAT请求消息,如在步骤S1758和S1738中的处理中那样将HEARTBEAT_NAK响应消息发送到CCI主机(请求方)。然而,在已经建立通信状态的状态下,HEARTBEAT_NAK响应消息可以作为异常消息被发送到CCI主机(请求方)。
当CCI主机(请求方)通过步骤S1738中的处理接收到HEARTBEAT_NAK响应消息时,通过步骤S1739中的处理将声明会话(以及高速数据通信)结束的END_SESSION请求消息发送到CCI设备(应答方)以丢弃或清除会话密钥。然而,在从发送END_SESSION请求消息起经过预定时间段之后,或者在从CCI设备(应答方)接收到END_SESSION_ACK响应消息、END_SESSION_NAK响应消息或稍后描述的ERROR响应消息之后,CCI主机(请求方)可丢弃或清除会话密钥。
响应于此,当在步骤S1759中CCI设备(应答方)接收到END_SESSION请求消息时,在步骤S1760中将END_SESSION_ACK响应消息发送到CCI主机(请求方)以丢弃或清除会话密钥,并且会话(和高速数据通信)结束。
这种处理使HEARTBEAT函数进入禁用状态。
通过上述一系列处理,即使当CCI设备中发生异常时,HEARTBEAT_NAK响应消息也被提供给CCI主机,并且执行该一系列处理。此后,会话(以及高速数据通信)结束,并且数据流停止。这防止CCI设备停止数据流而不通知CCI主机。
应当注意,在CCI设备(应答方)由于某种原因不能接收到针对每个HEARTBEAT周期(Heartbeat Period)的HEARTBEAT请求消息的情况下,CCI主机(请求方)向CCI设备(应答方)发送END_SESSION请求消息以结束会话(以及高速数据通信)。
也就是说,同样在这种情况下,会话(以及高速数据通信)的结束通过CCI主机(请求方)通过发送END_SESSION请求消息的确定来实现。这仍然阻止CCI设备停止数据流而不通知CCI主机。
<HEARTBEAT处理(部分2)>
同样,在CCI设备(应答方)检测到异常的情况下或在预定时间段(=第一时间)内未接收到HEARTBEAT请求消息的情况下,CCI设备(应答方)有时不能在预定时间段(=第二时间)内从CCI主机(请求方)接收END_SESSION请求消息。在此,第一时间是相当于“预定值(例如,2)×HEARTBEAT周期(Heartbeat Period)”的时间,并且第二时间是从相当于“预定值(例如,2)×HEARTBEAT周期(Heartbeat Period)”的时间流逝直到END_SESSION请求消息的发送进一步流逝的时间。
因此,在CCI设备(应答方)在预定时间段(=第二时间)内未接收到END_SESSION请求消息的情况下,END_SESSION_NAK响应消息可被定义为指示CCI设备(应答方)在预定时间段(=第二时间)内未接收到END_SESSION请求消息以使得CCI设备(应答方)能够通知CCI主机(请求方)。
图171示出了END_SESSION_NAK响应消息的构成示例,END_SESSION_NAK响应消息指示END_SESSION请求消息没有在预定时间段(=第二时间)内被CCI设备(应答方)接收。
此外,关于END_SESSION_NAK响应消息,例如,新定义诸如图171中的Param1或Param2等区域以将相应位分配给该区域可通知特定状态。即,可以存储上述那些消息中的任何特定消息或异常消息或附加信息。
接下来,参考图172和图173中的流程图给出HEARTBEAT处理(部分2)的描述。
应当注意,图172中的流程图示出了CCI主机(请求方)的处理,并且图173中的流程图示出了CCI设备(应答方)的处理。
在步骤S1771(图172)中,CCI主机(请求方)将PSK_FINISH请求消息发送到CCI设备(应答方)。
响应于此,在步骤S1791(图173)中,CCI设备(应答方)基于PSK_FINISH请求消息是否已被发送来确定是否将PSK_FINISH_RSP响应消息发送给CCI主机(请求方),并且重复类似的处理,直到确定发送PSK_FINISH_RSP响应消息。
然后,在步骤S1791中确定发送PSK_FINISH_RSP响应消息的情况下,在步骤S1792中,CCI设备(应答方)将PSK_FINISH_RSP响应消息发送给CCI主机(请求方)。
这里,在步骤S1772中,CCI主机(请求方)确定是否已经接收到来自CCI设备(应答方)的PSK_FINISH_RSP响应消息,并且重复类似的处理,直到确定已经接收到PSK_FINISH_RSP响应消息。
在步骤S1772中确定已经接收到PSK_FINISH_RSP响应消息的情况下,处理进行至步骤S1773。
在步骤S1773中,CCI主机(请求方)发送HEARTBEAT请求消息到CCI设备(应答方)。
响应于此,在步骤S1793(图173)中,CCI设备(应答方)确定是否已经接收HEARTBEAT请求消息。
在步骤S1793中确定已经接收HEARTBEAT请求消息的情况下,处理进行至步骤S1794。
在步骤S1794中,CCI设备(应答方)发送HEARTBEAT_ACK响应消息到CCI主机(请求方),并且处理返回到步骤S1793。
这里,在步骤S1774(图172)中,CCI主机(请求方)确定是否已经接收到HEARTBEAT_ACK响应消息。
在步骤S1774中确定已经接收到HEARTBEAT_ACK响应消息的情况下,处理返回到步骤S1773。
只要CCI主机(请求方)发送HEARTBEAT请求到CCI设备(应答方)并且CCI设备(应答方)响应于其而重复处理以返回HEARTBERAT_ACK响应消息到CCI主机(请求方),在步骤S1773和S1774(图172)以及步骤S1793和S1794(图173)中的多条处理被重复。
也就是说,只要CCI主机(请求方)和CCI设备(应答方)维持其间已建立的通信,CCI主机(请求方)就在HEARTBEAT周期(Heartbeat Period)处将HEARTBEAT请求消息发送到CCI设备(应答方),并且CCI设备(应答方)重复处理以响应于此而将HEARTBERAT_ACK响应消息返回到CCI主机(请求方)。
同时,在步骤S1793(图173)中确定不接收HEARTBEAT请求消息的情况下,处理进行至步骤S1795。
在步骤S1795中,CCI设备(应答方)确定是否通过异常诊断检测到异常。
在步骤S1795中确定为检测到异常的情况下,处理进入步骤S1796。
在步骤S1796中,CCI设备(应答方)将HEARTBERAT_NAK响应消息发送到CCI主机(请求方)。
同时,在步骤S1774(图172)中确定不接收HEARTBERAT_ACK响应消息的情况下,处理进行至步骤S1775。
在步骤S1775中,CCI设备(应答方)确定是否已经接收到HEARTBERAT_NAK响应消息。
在步骤S1775中确定已经接收到HEARTBERAT_NAK响应消息的情况下,处理进行到步骤S1777。
在步骤S1777中,CCI主机(请求方)向CCI设备(应答方)发送END_SESSION请求消息。
在步骤S1778中,CCI主机(请求方)丢弃或清除会话密钥以结束会话(以及高速数据通信)。
同时,在步骤S1798(图173)中,CCI设备(应答方)确定在过去第一时间之后直到进一步过去第二时间是否已经接收到END_SESSION请求消息。
在步骤S1798中确定已经接收到END_SESSION请求消息的情况下,处理进行至步骤S1799。
在步骤S1799中,CCI设备(应答方)向CCI主机(请求方)发送END_SESSION_ACK响应消息。
在步骤S1800中,CCI设备(应答方)丢弃或清除会话密钥以结束会话(以及高速数据通信)。
也就是说,当在CCI设备(应答方)中检测到异常时,HEARTBERAT_NAK响应消息被发送到CCI主机(请求方),并且END_SESSION请求消息被发送到CCI设备(应答方)。响应于此,ENDSESSION_ACK响应消息被发送到CCI主机(请求方),并且会话密钥在CCI主机(请求方)和CCI设备(应答方)两者中被丢弃或清除以结束会话(以及高速数据通信)。
此外,在步骤S1795中未检测到异常的情况下(图173),处理进行至步骤S1797。
在步骤S1797中,CCI设备(应答方)确定在紧前接收到HEARTBERAT请求消息之后第一时间是否已经过去。
在步骤S1797中确定在紧前接收到HEARTBERAT请求消息之后没有过去第一时间的情况下,处理返回到步骤S1793。
同时,在步骤S1775中没有接收到HEARTBERAT_NAK响应消息的情况下,处理进行到步骤S1776。
在步骤S1776中,CCI设备(应答方)确定在紧前发送HEARTBERAT请求之后第一时间是否已经过去。
在步骤S1776中确定在紧挨在之前发送HEARTBERAT请求消息之后没有经过相当于“预定值(例如,2)×HEARTBEAT周期(Heartbeat Period)”的第一时间的情况下,处理返回至步骤S1774。
即,在CCI设备(应答方)中在不能接收HEARTBEAT请求消息的状态下没有检测到异常的情况下,重复步骤S1774至S1776(图172)中的处理和步骤S1793、S1795和S1797(图173)中的处理,直到第一时间过去。
然后,当在步骤S1776中已经经过第一时间时(图172),处理进行到步骤S177和S1778,在步骤S177和S1778中,CCI主机(请求方)发送END_SESSION请求消息,并且丢弃或清除会话密钥以结束会话(以及高速数据通信)。
此外,在CCI设备(应答方)中,在步骤S1797中已经经过第一时间的情况下(图173),处理进行至步骤S1798。
在这种情况下,对于该处理,进行步骤S1798至S1800中的处理。
因此,即使在CCI设备(应答方)中未检测到异常的状态下,当不能接收到HEARTBEAT请求消息的状态在CCI设备(应答方)中持续了第一次或更长时间时,基于来自CCI主机(请求方)的END_SESSION请求消息结束会话(以及高速数据通信)。
此外,在步骤S1798中确定在自从HEARTBEAT请求消息的之前接收起第一次过去之后直到进一步过去第二次之后不接收END_SESSION请求消息的情况下,处理进行至步骤S1801。
在步骤S1801中,CCI设备(应答方)向CCI主机(请求方)发送END_SESSION_NAK响应消息。
因此,在CCI设备(应答方)中不能接收END_SESSION请求消息的状态由于某种原因在自先前接收到HEARTBEAT请求消息起第一次过去之后进一步继续第二时间或更长时间的情况下,END_SESSION_NAK响应消息被发送到CCI主机(请求方)以结束会话(和高速数据通信)。
在这种情况下,CCI设备(应答方)自行决定地结束高速数据通信,但是END_SESSION_NAK响应消息被发送到CCI主机(请求方),从而使得CCI主机(请求方)能够识别出高速数据通信已经在CCI设备(应答方)中结束。
此外,在该处理中,在检测到异常的情况下,CCI设备(应答方)在等待预定时间段(=第一时间)之前立即向CCI主机(请求方)通知异常。此外,HEARTBEAT_NAK响应消息可以由上述特定消息、异常消息或附加信息替换。应当注意,在步骤S1797中的处理(第一次过去了吗)以及步骤S1798中的处理(在第二时间内是否接收到END_SESSION请求?)之间可以添加类似于步骤S1796(发送HEARTBEAT_NAK响应)的处理。即,在已经经过第一时间的情况下,可以发送HEARTBEAT_NAK响应。另外,在检测到异常的情况下的HEARTBEAT_NAK响应和在已经过去第一时间的情况下的HEARTBEAT_NAK响应之间,消息中的一些(例如,Param1、Param2)或者全部可以是不同的。
<HEARTBEAT处理(部分3)>
可以省略HEARTBEAT_NAK响应或END_SESSION_NAK响应消息中的至少一个。
现在,参考图174和175中的流程图给出HEARTBEAT处理(部分3)的描述,其中省略了HEARTBEAT_NAK响应消息和END_SESSION_NAK响应消息。
应注意,图174中的流程图示出了CCI主机(请求方)的处理,并且图175中的流程图示出了CCI设备(应答方)的处理。
此处,图174中的步骤S1811至S1817中的处理对应于图172中的步骤S1771至S1774以及S1776至S1778中的处理,并且因此省略其描述。此外,图175中的步骤S1831至S1838中的处理对应于图173中的步骤S1791至S1794和S1797至S1800中的处理,因此省略其描述。
即,在先前接收到HEARTBEAT请求消息之后第一时间已经过去而不管基于异常诊断结果是否存在异常的情况下,认为图174中的CCI主机(请求方)的处理进入不能与CCI设备(应答方)通信的状态,并且发送END_SESSION请求消息以结束会话(以及高速数据通信)。
此外,在HEARTBEAT_ACK响应消息的先前接收之后直到第一时间过去才能接收到下一HEARTBEAT_ACK响应消息的情况下,认为图175中的CCI设备(应答方)的处理进入不能与CCI主机(请求方)通信的状态。当在第二时间进一步过去之前发送END_SESSION请求消息时,发送END_SESSION_ACK响应消息以结束会话(以及高速数据通信)。
同时,当在第二时间进一步过去之前没有发送END_SESSION请求消息时,会话(以及高速数据通信)照原样结束。
同样在上述处理中,在CCI设备(应答方)由于某种原因不能接收针对每个HEARTBEAT周期(Heartbeat Period)的HEARTBEAT请求消息的情况下,可以结束会话(以及高速数据通信)。
此外,同样在该处理中,会话(以及高速数据通信)的结尾基本上通过CCI主机(请求方)通过发送END_SESSION请求消息的确定来实现。这仍然阻止CCI设备停止数据流而不通知CCI主机。然而,在该处理中,在END_SESSION请求消息不能被接收长达第二时间或更多的情况下,通过CCI设备(应答方)的确定来结束包括高速数据通信的会话。
<HEARTBEAT处理的实际应用例1>
CCI设备(应答方)可以在诸如错误或故障之类的异常发生的情况下将ERROR响应消息发送到CCI主机(请求方)。
也就是说,CCI设备(应答方)可以向CCI主机(请求方)发送适应于与HEARTBEAT函数相关联的错误或故障的ERROR响应消息,而不是HEARTBEAT_NAK响应消息或END_SESSION_NAK响应消息中的至少一个。
例如,如图176中所示构成ERROR响应消息。如图176所示,例如,对应位可以分配给ERROR响应消息,以允许定义Param1(错误代码)、Param2(错误数据)和扩展错误数据的区域,从而通知特定状态。
也就是说,可以存储上述特定消息、异常消息或附加信息中的至少一个。此外,现有的错误代码(例如,未指定的无效会话(值:0x02,描述:记录层使用无效会话ID,错误数据:这将是无效会话ID,扩展错误数据:未提供扩展错误数据))可以用作适应于与HEARTBEAT函数,END_SESSION请求消息等相关的错误或故障的ERROR响应消息。
图177示出了错误代码和错误数据的设置示例。然而,预留区域或者厂商/其他标准定义区域可以被新定义为适应与HEARTBEAT函数或者END_SESSION请求消息相关联的错误或者故障的错误区域。此外,可以使用在由公开可用的SPDM标准定义的SPDM指定中的错误码和错误数据表中的设置。此外,图178示出扩展错误数据的设置实例。
<HEARTBEAT处理的实际应用实例2>
HEARTBEAT请求消息可以由VENDOR_DEFINED_REQUEST消息以伪方式定义,HEARTBEAT_ACK响应(以及HEARTBEAT_NAK响应)消息可以由VENDOR_DEFINED_RESPONSE响应消息以伪方式定义,从而通过使用它们代替HEARTBEAT请求和HEARTBEAT_ACK响应来以伪方式实现HEARTBEAT函数。
在下文中,由VENDOR_DEFINED_REQUEST消息和VENDOR_DEFINED_RESPONSE响应消息伪实现的HEARTBEAT函数被简称为伪HEARTBEAT函数。
即,在使用伪HEARTBEAT函数的情况下,可以禁用HEARTBEAT函数(HBEAT_CAP=0)。
要注意的是,图179显示了在实现伪HEARTBEAT函数的情况下的登记或标准体ID的设置实例。然而,可以使用由公开可用的SPDM标准定义的SPDM指定的登记或标准体ID表的设置。即,本技术可以应用于由诸如DMTF(分配式管理任务组)、TCG(受信计算组)、USB(通用串行总线)、PCI-SIG(外围组件互连特别兴趣组)、IANA(互联网编号分配机构)、HDBaseT、MIPI(移动行业处理器接口)、CXL(计算快速链路)或JEDEC(电子设备工程联合委员会)的标准中的至少一个定义的标准中,或者可以应用于由上述这些标准中的至少一个或其他标准体定义的标准中的HEARTBEAT等效函数或END_SESSION等效函数。此外,图180和图181示出了在执行各个伪HEARTBEAT函数的情况下的VENDOR_DEFINED_REQUEST请求消息和VENDOR_DEFINED_RESPONSE响应消息的设置实例。然而,伪HEARTBEAT函数可由符合SPDM标准的另一消息、符合CCI标准的消息、符合另一标准的消息等来定义。同样地,END_SESSION请求消息可以由VENDOR_DEFINED_REQUEST请求消息以伪方式定义,并且END_SESSION_ACK响应(和END_SESSION_NAK响应)消息可以由VENDOR_DEFINED_RESPONSE响应消息以伪方式定义,从而通过使用它们代替END_SESSION请求和END_SESSION_ACK响应来以伪方式实现END_SESSION函数。在下文中,由VENDOR_DEFINED_REQUEST请求消息和VENDOR_DEFINED_RESPONSE响应消息伪实现的END_SESSION函数被简称为伪END_SESSION函数。然而,伪END_SESSION函数可以由符合SPDM标准的另一消息、符合CCI标准的消息、符合其他标准的消息等来定义。
<图像通信中的密钥更新>
本技术公开了适应应用于例如MIPI(移动行业处理器接口)联盟的CSI(相机串行接口)标准或DSI(显示串行接口)标准的会话密钥(加密密钥或MAC值密钥)的密钥更新。本技术特别适合应用于CSI-2标准或DSI-2标准。需要说明的是,CSI-2标准或DSI-2标准包括控制系统通信(称为CCI通信)和图像系统通信(称为受控系统通信、CSI-2通信或DSI-2通信)。控制系统通信是双向通信,包括写命令(CCI Write)、读命令(CCI Read)和读响应(CCIRead return value)中的任一个的发送。图像系统通信是单向通信,包括帧开始、嵌入数据、图像数据、用户定义数据和帧结束中的任何一个的发送。此外,本技术适应将使用控制系统通信导出的会话密钥(加密密钥或MAC密钥)应用于图像系统通信。同时,可以根据DMTF(分配式管理任务组)应用SPDM(安全协议和数据模型)标准,以便向控制系统通信和图像系统通信添加安全特征。因此,本技术适应将SPDM标准应用于双向通信的控制系统通信和单向通信的受控系统通信,但不需要符合SPDM标准。
<SPDM>
如图182所示,在根据在NPTL 1中描述的DMTF的SPDM标准中,可以从密钥调度导出四个主机密(Major secrets)(S0:请求方向握手机密,S1:应答方向握手机密,S2:请求方向数据机密,以及S3:应答方向数据机密),并且可以导出至少一个出口主机密(ExportMaster Secret)。此外,可以从这些机密(会话机密)导出会话密钥(加密密钥或MAC密钥)。
每个机密被应用于特殊的发送方向,并且仅在特殊的时间帧内有效。这四个主机密中的每个用于导出会话密钥(加密密钥或MAC密钥),以在ALGORITHMS响应中选择的AEAD功能中使用。此外,四个主机密还可以用于导出待在AEAD功能中使用的初始化向量(IV)。
S0和S1仅在会话握手阶段(Session handshake phase)中使用;可以将S0应用于KEY_EXCHANGE或PSK_EXCHANGE至FINISH或PSK_FINISH之后的所有请求,并且可以将S1应用于其所有响应。此外,S0和S1用于导出Finished_key,Finished_key用于分别计算SPDM消息中的RequesterVerifyData区域和SPDM消息中的ResponderVerifyData区域。
有可能针对待在会话的应用阶段(Application phase)期间发送的所有数据使用S2和S3。S2只应用于从请求方移动到请求方的所有数据,S3只应用于从应答方移动到请求方的所有数据。
在更新这四个主机密的情况下,应用NPTL 1中描述的12.8主机密更新就足够了。
在SPDM密钥交换成功之后,可以从出口主机密导出附加的会话密钥(加密密钥或MAC密钥)。在更新出口主机密的情况下,可以应用通过修改或精细地修改在NPTL 1中描述的12.8主机密更新而获得的定义,或者可以应用新的定义。
<出口主机密的更新>
例如,如图183所示,可以更新导出主机密,并且可以导出新会话密钥(加密密钥或MAC密钥)以应用于图像系统通信。
在根据在NPTL 1中描述的DMTF的SPDM标准中,出口主机密不能被更新,并且因此用于更新出口主机密的操作(例如,UpdateExportMaster)被添加为KEY_UPDATE操作,如图183所示。值和描述是示例性的;还可以定义不同的值,当有其他出口主机密时,可以添加用于更新其他出口主机密(如出口主机密1、出口主机密2、...)的操作。
<密钥使用开始时间不确定,非自适应于密钥验证功能>
在根据在NPTL 1中描述的DMTF的SPDM标准以如上所述可更新出口主机密的方式应用于图像系统通信的情况下,对于请求方向数据机密和应答方向数据机密,开始使用新机密和会话密钥(加密密钥或MAC密钥)的定时由KEY_UPDATE请求消息和KEY_UPDATE_ACK响应消息确定。相反,存在不能为导出主机密确定开始使用新机密和会话密钥(加密密钥或MAC密钥)的定时的可能性。
此外,VerifyNewKey的操作可用于验证是否已经针对请求方向数据机密和应答方向数据机密正确地导出新会话密钥(加密密钥或MAC密钥)。然而,存在以下可能性:VerifyNewKey的操作不可能验证是否已经正确地导出用于出口主机密的新会话密钥(加密密钥或MAC密钥)。
因此,规定开始使用新会话密钥的定时。此外,验证新会话密钥。
<开始使用新会话密钥的定时指定>
图184是示出图75的A中示出的图像传感器1211和应用处理器1212之间使用会话密钥的通信处理的实例的流程图。图像传感器1211具有如图76中所示的构成。应用处理器1212具有如图77所示的构成。
在应用处理器1212中,扩展模式自适应CSI-2接收电路1322和/或安全部1326具有作为CCI主机(请求方)的功能,并且扩展模式自适应CSI-2接收电路1322和/或安全部1326具有作为CSI-2主机的功能。在图像传感器1211中,扩展模式自适应CSI-2发送电路1304和/或安全部1310具有作为CCI设备(应答方)的功能,并且扩展模式自适应CSI-2发送电路1304和/或安全部1310具有作为CSI-2设备的功能。CCI主机将请求消息发送到CCI设备,并且响应于CCI设备的接收,CCI设备将响应消息发送到CCI主机。
CCI主机和CSI-2主机集成或分离,CCI设备和CSI-2设备集成或分离。另外,CCI主机和CCI设备之间进行双向低速命令传输,CSI-2主机和CSI-2设备之间进行单向高速数据传输。
在步骤S2001和步骤S2011中,在扩展模式自适应CSI-2接收电路1322和/或安全部1326的CCI主机与扩展模式自适应CSI-2发送电路1304和/或安全部1310的CCI设备之间执行GET_VERSION请求和VERSION响应。这允许扩展模式自适应CSI-2接收电路1322和/或安全部1326获取端点的SPDM版本。
在步骤S2002和步骤S2012中,在扩展模式自适应CSI-2接收电路1322和/或安全部1326的CCI主机与扩展模式自适应CSI-2发送电路1304和/或安全部1310的CCI设备之间执行GET_CAPABILITIES请求和CAPABILITIES响应。这允许扩展模式自适应CSI-2接收电路1322和/或安全部1326获取端点的SPDM功能。
在步骤S2003和步骤S2013中,在扩展模式自适应CSI-2接收电路1322和/或安全部1326的CCI主机与扩展模式自适应CSI-2发送电路1304和/或安全部1310的CCI设备之间执行NEGOTIATE_ALGORITHMS请求和ALGORITHMS响应。这允许扩展模式自适应CSI-2接收电路1322和/或安全部1326与扩展模式自适应CSI-2发送电路1304和/或安全部1310协商加密算法。
在步骤S2004和步骤S2014中,在扩展模式自适应CSI-2接收电路1322和/或安全部1326的CCI主机与扩展模式自适应CSI-2发送电路1304和/或安全部1310的CCI设备之间执行PSK_EXCHANGE请求和PSK_EXCHANGE_RSP响应。这允许扩展模式自适应CSI-2接收电路1322和/或安全部1326以及扩展模式自适应CSI-2发送电路1304和/或安全部1310导出面向CCI的会话密钥,诸如会话机密或加密密钥。
在步骤S2005和步骤S2015中,PSK_FINISH请求和PSK_FINISH_RSP响应在扩展模式自适应CSI-2接收电路1322和/或安全部1326的CCI主机与扩展模式自适应CSI-2发送电路1304和/或安全部1310的CCI设备之间执行。这向应答方证实扩展模式自适应CSI-2接收电路1322和/或安全部1326知道PSK(PSK:预共享密钥)并且在步骤S2004和步骤S2014中导出的面向CCI的会话密钥是正确的。
在步骤S2006中,扩展模式自适应CSI-2接收电路1322和/或安全部1326的CCI主机向扩展模式自适应CSI-2接收电路1322和/或安全部1326的CSI-2主机提供信息,如面向CSI-2的会话密钥、算法、或其他参数。在步骤S2021中,扩展模式自适应CSI-2接收电路1322和/或安全部1326的CSI-2主机获取信息。
在步骤S2016中,扩展模式自适应CSI-2发送电路1304和/或安全部1310的CCI设备向扩展模式自适应CSI-2发送电路1304和/或安全部1310的CSI-2设备提供信息,如面向CSI-2的会话密钥、算法、或其他参数。在步骤S2031中,扩展模式自适应CSI-2发送电路1304和/或安全部1310的CSI-2设备获取信息。
此后,扩展模式自适应CSI-2接收电路1322和/或安全部1326的CSI-2主机和扩展模式自适应CSI-2发送电路1304和/或安全部1310的CSI-2设备使用会话密钥执行通信(步骤S2022和步骤S2032及其后的箭头)。
对于CCI,对其应用了UpdateKey或UpdateAllKeys的操作的KEY_UPDATE请求和KEY_UPDATE_ACK响应以及对其应用了VerifyNewKey的操作的KEY_UPDATE请求和KEY_UPDATE_ACK响应允许在CCI主机和CCI设备之间更新会话机密和会话密钥。
对于CSI-2,例如,当CCI主机被触发以更新面向CSI-2的会话密钥时,对其应用了UpdateExportMaster的操作的KEY_UPDATE请求和KEY_UPDATE_ACK响应允许在CCI主机和CCI设备之间更新会话机密和会话密钥,并且在CSI-2主机和CSI-2设备之间应用更新会话密钥(新会话密钥)(步骤S2008和步骤S2017)。即,在面向CSI-2的密钥的更新中,KEY_UPDATE请求和KEY_UPDATE_ACK响应的集合可以被省略。
然而,为了方便将使用CCI主机与CCI设备之间的低速命令传输所更新的新会话密钥应用于CSI-2主机与CSI-2设备之间的高速数据传输,希望指定开始使用新会话密钥的定时以便避免新与旧会话密钥之间的误用。
图像系统通信(CSI-2)通常比控制系统通信(CCI)中的一些或全部更快,并且要发送的数据总量通常更大。因此,在通过控制系统通信更新的新会话密钥(加密密钥或MAC密钥)被应用于图像系统通信的情况下,存在开始使用新会话密钥的定时在传感器和处理器之间可能不一致的可能性。
因此,为了避免定时不一致,扩展分组,并且指定开始使用新会话密钥的定时。例如,在扩展分组的分组报头中,如图185所示,ePH2[TBD]=1’b1的扩展分组的发送允许开始使用新会话密钥的定时被指定。
参照图186中的流程图给出了这种情况下的处理的流程的实例的描述。CSI-2主机在步骤S2051中导出会话密钥,并且CSI-2设备在步骤S2061中导出会话密钥。此后,使用会话密钥(当前会话密钥)执行通信。CSI-2设备使用当前会话密钥通过ePH2[TBD]=1’b0发送VC1扩展分组(步骤S2062),并且CISI-2主设备接收VC1扩展分组(步骤S2052)。以相同的方式执行随后的通信。
此后,在预定定时,CSI-2主机和CSI-2设备导出相应的新会话密钥(S2053和S2063)。CSI-2设备使用当前会话密钥通过ePH2[TBD]=1’b1来发送VC1扩展分组(步骤S2064),并且CSI-2主机接收VC1扩展分组(S2054)。这允许开始使用新会话密钥的定时被指定。
此后,新会话密钥被用于执行通信。即,响应于根据上述的使用开始的定时指定,更新会话密钥,开始使用新会话密钥。CSI-2设备使用新会话密钥通过ePH2[TBD]=1’b0发送VC1扩展分组(步骤S2066),并且CSI-2主机接收VC1扩展分组(S2055)。以相同的方式执行随后的通信。
应注意,在预定定时,CSI-2主机和CSI-2设备在更新之前丢弃相应的会话密钥(旧会话密钥)(S2056和S2065)。
可以以这种方式指定开始使用新会话密钥的定时,从而使得可以在适当的定时更新会话密钥。另外,通过以此方式通过扩展分组报头指定开始使用新会话密钥的定时,可以在任何行(任何定时)开始使用新会话密钥。
以上已经给出了实例的描述,其中开始使用新会话密钥的定时由扩展分组报头指定;然而,开始使用新会话密钥的定时可由嵌入数据、读响应(包括带内中断)等指定。
应当注意,虽然图186示出了可以丢弃旧会话密钥的最快定时,但是可以延迟丢弃旧会话密钥的定时。在这种情况下,保持新会话密钥和旧会话密钥,这适应于需要旧会话密钥的可能状态。例如,丢弃旧会话密钥的定时可被延迟,直到紧接在导出下一新会话密钥之前。在这种情况下,传感器和处理器始终或几乎始终保持两种类型的会话密钥。这同样适应其他实例。
要注意的是,虽然已经通过参考其中扩展分组的虚拟信道是VC1的示例给出了描述,但是这同样适应另一个虚拟信道的情况。即,VC1可由VC2、VC3等代替,或者可省略VC1。
扩展分组报头可以使传感器指定开始使用新会话密钥的定时。参考图187中的流程图,在那种情况下描述作为应用处理器1212的处理的处理器处理流程的实例。
当处理器处理开始时,在步骤S2101中,应用处理器1212的扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否需要更新VC1密钥,并且等待,直到需要更新为止。在确定需要更新VC1密钥的情况下,处理进入步骤S2102。
在步骤S2102中,扩展模式自适应CSI-2接收电路1322和/或安全部1326发送VC1密钥更新命令。此外,在步骤S2103,扩展模式自适应CSI-2接收电路1322和/或安全部1326导出新会话密钥。
在步骤S2104中,扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否已经接收ePH2[TBD]=1’b1的VC1扩展分组,并且等待,直到确定已经接收到它。在确定为接收到它的情况下,处理进入步骤S2105。
在步骤S2105中,扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否已经接收ePH2[TBD]=1’b0的VC1扩展分组,并且等待,直到确定已经接收到它。在确定为接收到它的情况下,处理进入步骤S2106。
在步骤S2106中,扩展模式自适应CSI-2接收电路1322和/或安全部1326开始丢弃或清除旧会话密钥。
在步骤S2107中,扩展模式自适应CSI-2接收电路1322和/或安全部1326开始使用新会话密钥。
当S2107的处理完成时,处理器处理结束。
参照图188中的流程图给出了作为图像传感器1211的处理的传感器处理流程的实例的描述。该传感器处理是对应于图187中的处理器处理的处理。
当开始传感器处理时,在步骤S2141,图像传感器1211的扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否已经接收到在图187中的步骤S2102中从应用处理器1212发送的VC1密钥更新命令,并且等待,直到确定已经接收到VC1密钥更新命令。在确定已经接收到VC1密钥更新命令的情况下,处理进行到步骤S2142。
在步骤S2142中,扩展模式自适应CSI-2发送电路1304和/或安全部1310导出新会话密钥。
在步骤S2143中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否发送VC1扩展分组,并等待,直到确定发送VC1扩展分组为止。在确定要发送的情况下,处理进入步骤S2144。
在步骤S2144中,扩展模式自适应CSI-2发送电路1304和/或安全部1310通过ePH2[TBD]=1’b1发送VC1扩展分组。在步骤S2104中,应用处理器1212接收该VC1扩展分组。
在步骤S2145中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否发送VC1扩展分组,并等待直到确定发送它。在确定要发送的情况下,处理进入步骤S2146。
在步骤S2146中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始丢弃或清除旧会话密钥。
在步骤S2147中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始使用新会话密钥。
在步骤S2148中,扩展模式自适应CSI-2发送电路1304和/或安全部1310通过ePH2[TBD]=1’b0发送VC1扩展分组。
在步骤S2148的处理结束时,传感器处理结束。
应用处理器1212执行如上所述的处理器处理,并且图像传感器1211执行如上所述的传感器处理,从而使得可以指定开始使用新会话密钥的定时并且因此更新会话密钥,如在图186中的流程图中。
<会话密钥的验证>
KEY_UPDATE请求消息中KEY_UPDATE操作中的VerifyNewKey的操作适应双向通信的控制系统通信(CCI),但不适应单向通信的图像系统通信(CSI-2)。因此,在图像系统通信中验证正确地导出在控制系统通信中更新的新会话密钥(加密密钥或MAC密钥)。
具体地,例如,传感器使用由传感器导出的新会话密钥执行嵌入数据(第二嵌入数据)的一部分的MAC值的算术运算,并且将存储在分组数据中的第二嵌入数据和存储在扩展分组报尾中的MAC值发送至处理器。然后,处理器接收第二嵌入数据和MAC值,并使用处理器导出的新会话密钥执行第二嵌入数据的MAC值的算术运算;在所述MAC值的算术运算的结果和接收结果彼此一致的情况下,确定所述新会话密钥被正确导出。该新会话密钥的验证适应行-MAC方法。
参照图189的流程图说明在这种情况下的处理的流程的示例。CSI-2主机在步骤S2201中导出会话密钥,并且CSI-2设备在步骤S2221中导出会话密钥。此后,使用会话密钥(当前会话密钥)执行通信。CSI-2设备使用当前会话密钥通过ePH2[TBD]=1’b0发送VC1扩展分组(步骤S2222),CISI-2主设备接收它(步骤S2202)。以相同的方式执行随后的通信。
此后,在预定定时,CSI-2主机和CSI-2设备导出相应的新会话密钥(S2203和S2223)。CSI-2设备使用当前会话密钥通过ePH2[TBD]=1’b0发送VC1第一嵌入数据(步骤S2224),并且CSI-2主机接收VC1第一嵌入数据(S2204)。这允许开始使用新会话密钥的定时被指定。
然后,CSI-2设备使用新会话密钥通过ePH2[TBD]=1’b0发送VC1第二嵌入数据(步骤S2225),并且CSI-2主机接收第二嵌入数据(步骤S2205)。该第二嵌入数据用于开始新会话密钥的验证。即,在步骤S2206中,CSI-2主机验证新会话密钥。
即,如上所述,CSI-2设备使用由CSI-2设备导出的新会话密钥执行嵌入数据(第二嵌入数据)的一部分的MAC值的算术运算,并且将存储在分组数据中的第二嵌入数据和存储在扩展分组报尾中的MAC值发送到CSI-2主机。然后,CSI-2主机接收第二嵌入数据和MAC值,并且使用由CSI-2主机导出的新会话密钥执行第二嵌入数据的MAC值的算术运算以将MAC值的算术运算的结果与接收结果彼此比较。在它们彼此一致的情况下,CSI-2主机确定已经正确地导出新会话密钥。
在确定已经正确导出新会话密钥的情况下,更新会话密钥。即,开始使用新会话密钥。
因此,CSI-2设备使用当前会话密钥通过ePH2[TBD]=1’b1发送VC1帧结束(步骤S2226),并且CSI-2主机接收VC1帧结束(步骤S2207)。
然后,CSI-2设备使用新会话密钥来发送由ePH2[TBD]=1’b0开始的VC1帧(步骤S2228),并且CSI-2主机接收VC1帧(步骤S2208)。此后,CSI-2设备使用新会话密钥通过ePH2[TBD]=1’b0发送VC1扩展分组(步骤S2229),并且CSI-2主机接收VC1扩展分组(步骤S2210)。以相同的方式执行随后的通信。
应当注意,在预定的定时,CSI-2主机和CSI-2设备在更新之前丢弃相应的会话密钥(旧会话密钥)(S2209和S2227)。
有可能以这种方式验证新会话密钥,从而使得有可能更新至正确的会话密钥。即,能够更准确地更新会话密钥。
要注意的是,验证会话密钥的过程不限于该示例。例如,传感器使用由传感器导出的新会话密钥加密嵌入数据(第二嵌入数据)的一部分以将其发送至处理器。然后,处理器接收第二嵌入数据,使用由处理器导出的新会话密钥解密第二嵌入数据,并且当结果如预期时确定已经正确地导出新会话密钥。这样的过程可以用于验证会话密钥。
顺便提及,可以区分第一嵌入数据和第二嵌入数据的发送顺序。此外,可在第二嵌入数据之后发送第三嵌入数据(会话密钥,ePH2[TBD]=1’b0)。此外,根据新会话密钥的验证的存在或不存在,嵌入数据的行号可以是可变的或固定的。此外,已经通过参考使用嵌入数据的一部分(第二嵌入数据)验证新会话密钥的示例给出了描述。然而,同样地,也可使用在图像系统通信中的数据的一部分或全部(具体地,扩展分组中的分组数据),诸如图像数据的一部分(第二图像数据)或用户定义数据的一部分(第二用户定义数据)来验证新会话密钥。
参照图190中的流程图,给出了在这种情况下的处理器处理的流程的实例的描述。在使用扩展分组报头的情况下,SPDM的VerifyNewKey不适应CSI-2,并且因此在CSI-2框架中使用嵌入数据的一部分来验证新会话密钥。
当处理器处理开始时,在步骤S2301中,应用处理器1212的扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否需要更新VC1密钥,并且等待,直到需要更新为止。在确定需要更新VC1密钥的情况下,处理进行到步骤S2302。
在步骤S2302中,扩展模式自适应CSI-2接收电路1322和/或安全部1326发送VC1密钥更新命令。此外,在步骤S2303中,扩展模式自适应CSI-2接收电路1322和/或安全部1326导出新会话密钥。
在步骤S2304中,扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否已经接收到VC1第二嵌入数据,并且等待,直到确定已经接收到VC1第二嵌入数据。在确定已接收的情况下,处理进行至步骤S2305。
在步骤S2305中,扩展模式自适应CSI-2接收电路1322和/或安全部1326使用新会话密钥暂时地验证第二嵌入数据。然后,在步骤S2306中,扩展模式自适应CSI-2接收电路1322和/或安全部1326基于验证的结果来确定新会话密钥是否正确。在确定新会话密钥不正确的情况下,处理进入步骤S2307。
在步骤S2307中,扩展模式自适应CSI-2接收电路1322和/或安全部1326开始丢弃或清除新会话密钥。在步骤S2308中,扩展模式自适应CSI-2接收电路1322和/或安全部1326发送命令以继续当前会话密钥。即,会话密钥的更新停止。当完成步骤S2308中的处理时,处理器处理结束。
另外,在步骤S2306中确定为新会话密钥正确的情况下,该处理进入步骤S2309。在步骤S2309中,扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否已经接收到使用当前会话密钥的ePH2[TBD]=1’b1的VC1帧结束。在确定为未接收的情况下,处理返回至步骤S2306,并且重复后续处理。
此外,在步骤S2309中确定已经接收ePH2[TBD]=1’b1的VC1帧结束的情况下,处理进行到步骤S2310。在步骤S2310中,扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否已经接收到使用新会话密钥的ePH2[TBD]=1’b0的VC1帧开始,并且等待,直到确定已经接收到它。在确定已接收的情况下,处理进行至步骤S2311。
在步骤S2311中,扩展模式自适应CSI-2接收电路1322和/或安全部1326开始丢弃或清除旧会话密钥。
在步骤S2312中,扩展模式自适应CSI-2接收电路1322和/或安全部1326开始完全使用新会话密钥。
当S2312的处理结束时,处理器处理结束。
参照图191中的流程图,给出了在这种情况下的传感器处理的流程的实例的描述。该传感器处理是对应于图190中的处理器处理的处理。
当开始传感器处理时,在步骤S2351中,图像传感器1211的扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否已经接收到在图190中的步骤S2302中从应用处理器1212发送的VC1密钥更新命令,并且等待,直到确定已经接收到VC1密钥更新命令。在确定已经接收到VC1密钥更新命令的情况下,处理进行到步骤S2352。
在步骤S2352中,扩展模式自适应CSI-2发送电路1304和/或安全部1310导出新会话密钥。
在步骤S2353中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否发送VC1嵌入数据,并且等待直到做出发送VC1嵌入数据的确定为止。在确定要发送的情况下,处理进入步骤S2354。
在步骤S2354中,扩展模式自适应CSI-2发送电路1304和/或安全部1310向应用处理器1212发送VC1第一嵌入数据。
在步骤S2355中,扩展模式自适应CSI-2发送电路1304和/或安全部1310暂时使用新会话密钥发送VC1第二嵌入数据。在步骤S2304中,由应用处理器1212接收该VC1第二嵌入数据。
在步骤S2356中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否已经接收到在步骤S2308中从应用处理器1212发送的用于继续会话密钥的命令。在确定已接收的情况下,处理进行至步骤S2357。在此情况下,停止会话密钥的更新,继续使用当前的会话密钥。由此,在步骤S2357中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始丢弃或清除新会话密钥。当步骤S2357中的处理结束时,传感器处理结束。
另外,在步骤S2356中确定没有接收到继续会话密钥的命令的情况下,处理进入步骤S2358。在步骤S2358中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否发送VC1帧结束。在确定要发送的情况下,处理进入步骤S2359。在步骤S2359中,扩展模式自适应CSI-2发送电路1304和/或安全部1310通过ePH2[TBD]=1’b1发送VC1帧结束。在步骤S2309中,应用处理器1212接收该VC1帧结束。
当步骤S2359中的处理结束时,处理进入步骤S2360。此外,在步骤S2358中确定不发送VC1帧结束的情况下,处理进行到步骤S2360。
在步骤S2360中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否发送VC1帧开始。在确定不发送的情况下,处理返回至步骤S2356,并且重复后续处理。
此外,在步骤S2360中确定发送VC1帧开始的情况下,处理进行到步骤S2361。在步骤S2361中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始丢弃或清除旧会话密钥。
在步骤S2362中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始完全使用新会话密钥。
在步骤S2363中,扩展模式自适应CSI-2发送电路1304和/或安全部1310通过ePH2[TBD]=1’b0发送VC1帧开始。在步骤S2310中,应用处理器1212接收该VC1帧开始。
当步骤S2363中的处理完成时,传感器处理结束。
应用处理器1212执行如上所述的处理器处理,并且图像传感器1211执行如上所述的传感器处理,从而使得可以验证新会话密钥,如在图189中的流程图中。
<省略开始使用新会话密钥的定时指定>
可以省略开始使用新会话密钥的定时的指定以验证新会话密钥。新会话密钥可以暂时用于验证扩展分组。例如,新会话密钥被暂时用于验证扩展分组的MAC值或解密。在验证结果为失败的情况下,使用完全使用的会话密钥来验证扩展分组的解密或MAC值。然后,在验证的结果也是失败的情况下,发送END_SESSION请求,并且丢弃或清除新会话密钥和会话密钥,从而结束会话。在可以做出已经正确导出新会话密钥的确定的情况下,开始丢弃或清除会话密钥以完全开始新会话密钥。
参照图192中的流程图给出了在这种情况下的处理器处理的流程的实例的描述。当处理器处理开始时,在步骤S2401中,应用处理器1212的扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否需要更新VC1密钥,并且等待,直到需要更新VC1密钥。在确定需要更新VC1密钥的情况下,处理进行到步骤S2402。
在步骤S2402中,扩展模式自适应CSI-2接收电路1322和/或安全部1326发送VC1密钥更新命令。此外,在步骤S2403,扩展模式自适应CSI-2接收电路1322和/或安全部1326导出新会话密钥。
在步骤S2404中,扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否已经接收到VC1扩展分组,并且等待,直到确定已经接收到VC1扩展分组为止。在确定已经接收的情况下,处理进行至步骤S2405。
在步骤S2405中,扩展模式自适应CSI-2接收电路1322和/或安全部1326暂时使用新会话密钥来验证VC1扩展分组。在步骤S2406中,扩展模式自适应CSI-2接收电路1322和/或安全部1326基于验证结果确定新会话密钥是否正确。
在确定新会话密钥正确的情况下,该处理进入步骤S2407。在步骤S2407中,扩展模式自适应CSI-2接收电路1322和/或安全部1326开始丢弃或清除旧会话密钥。然后,在步骤S2408中,扩展模式自适应CSI-2接收电路1322和/或安全部1326开始完全使用新会话密钥。当步骤S2408中的处理完成时,处理器处理结束。
此外,在步骤S2406中确定新会话密钥不正确的情况下,该处理进入步骤S2409。在步骤S2409中,扩展模式自适应CSI-2接收电路1322和/或安全部1326使用当前会话密钥验证VC1扩展分组。
在步骤S2410中,扩展模式自适应CSI-2接收电路1322和/或安全部1326确定验证的结果是否为失败。在确定验证的结果不是失败的情况下,处理返回至步骤S2404,并且重复后续处理。
在步骤S2410中确定验证的结果为失败的情况下,处理进行至步骤S2411。在步骤S2411,扩展模式自适应CSI-2接收电路1322和/或安全部1326发送END_SESSION请求。然后,在步骤S2412中,扩展模式自适应CSI-2接收电路1322和/或安全部1326丢弃或清除与新会话密钥一起的当前会话密钥。这允许会话结束。当步骤S2412中的处理完成时,处理器处理结束。
参照图193中的流程图给出了在这种情况下的传感器处理的流程的实例的描述。该传感器处理是对应于图192中的处理器处理的处理。
当开始传感器处理时,在步骤S2451中,图像传感器1211的扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否已经接收到在图192中的步骤S2402中从应用处理器1212发送的VC1密钥更新命令,并且等待,直到确定已经接收到VC1密钥更新命令。在确定已经接收到VC1密钥更新命令的情况下,处理进行到步骤S2452。
在步骤S2452中,扩展模式自适应CSI-2发送电路1304和/或安全部1310导出新会话密钥。
在步骤S2453中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否发送VC1扩展分组,并等待,直到做出发送VC1扩展分组的确定为止。在确定发送的情况下,处理进行至步骤S2454。
在步骤S2454中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始丢弃或清除当前会话密钥。
在步骤S2455中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始使用新会话密钥。
在步骤S2456中,扩展模式自适应CSI-2发送电路1304和/或安全部1310发送VC1扩展分组。在步骤S2404,应用处理器1212接收该VC1扩展分组。
当步骤S2456中的处理完成时,传感器处理结束。
应用处理器1212执行如上所述的处理器处理,并且图像传感器1211执行如上所述的传感器处理,从而使得可以验证新会话密钥。
本示例是如下示例:其中,所述处理器验证所述新会话密钥已经被正确地导出。以这种方式,处理器处理变重,但是传感器处理变轻,这在传感器的资源被限制多于处理器的资源的情况下是优选的。
要注意的是,虽然示出了适合于行MAC的构成实例,但是可将其一部分(例如,接收的VC1扩展分组)修改为具有适合于帧MAC的构成实例。此外,可以一起使用开始使用的定时指定。
<响应于来自处理器的指令的会话密钥的选择>
传感器可以响应于来自处理器的指令而选择会话密钥。例如,图像传感器可以暂时使用新会话密钥来发送扩展分组(待验证的数据)并且响应于处理器对扩展分组的验证的结果而开始重新使用会话密钥。
此外,响应于扩展分组的验证结果,处理器可以发送会话密钥非必要命令或新会话密钥非必要命令。相反,图像传感器可根据会话密钥非必要命令或新会话密钥非必要命令来选择开始完全使用新会话密钥还是开始重新使用会话密钥。只要图像传感器可以选择会话密钥或新会话密钥,则会话密钥非必要命令和新会话密钥非必要命令可以是单独的命令。
参照图194中的流程图给出了在那种情况下的传感器处理的流程的实例的描述。当开始传感器处理时,在步骤S2501,图像传感器1211的扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否已经接收到VC1密钥更新命令,并且等待,直到确定已经接收到VC1密钥更新命令。在确定已经接收到VC1密钥更新命令的情况下,处理进行到步骤S2502。
在步骤S2502中,扩展模式自适应CSI-2发送电路1304和/或安全部1310导出新会话密钥。
在步骤S2503中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否发送VC1扩展分组,并且等待,直到确定发送VC1扩展分组为止。在确定发送的情况下,处理进行到步骤S2504。
在步骤S2504中,扩展模式自适应CSI-2发送电路1304和/或安全部1310暂时使用新会话密钥来发送VC1扩展分组。
在步骤S2505中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否已经接收到当前会话密钥非必要命令。在确定已接收的情况下,处理进入步骤S2506。在此情况下,更新会话密钥。
在步骤S2506中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始丢弃或清除当前会话密钥。
在步骤S2507中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始完全使用新会话密钥。当完成步骤S2507中的处理时,结束传感器处理。
此外,在步骤S2505中确定尚未接收到当前会话密钥非必要命令的情况下,处理进行到步骤S2508。
在步骤S2508中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否已经接收到新会话密钥非必要命令。在确定为未接收的情况下,处理返回至步骤S2503,并且重复后续处理。
此外,在步骤S2508中确定已经接收到新会话密钥非必要命令的情况下,处理进行到步骤S2509。
在步骤S2509中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始丢弃或清除新会话密钥。
在步骤S2510中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始重新使用当前会话密钥。当步骤S2510中的处理完成时,传感器处理结束。
以这种方式执行传感器处理使得图像传感器1211能够根据从应用处理器1212提供的会话密钥非必要命令或新会话密钥非必要命令来选择是否开始完全使用新会话密钥或开始重新使用会话密钥。
<KeyUpdateReq或KeySwitchTiming的使用>
例如,如图195所示,KeyUpdateReq或KeySwitchTiming可用于指定开始使用新会话密钥的定时。
KeyUpdateReq或KeySwitchTiming被存储在例如用于发送的嵌入数据中。然而,KeyUpdateReq或KeySwitchTiming可存储在用于发送的图像数据、用户定义数据和读响应(包括带内中断)中的任一者中。此外,KeyUpdateReq或KeySwitchTiming的字段名、位分配、值定义等中的任一个可以不同。此外,通过CCI主机发送KeyUpdateReq来触发KEY_UPDATE请求消息,但是KeyUpdateReq的发送可能是不必要的。在这种情况下,KEY_UPDATE请求消息不是由CSI-2设备触发的,而是由CSI-2主机或CCI主机触发的。此外,在使用GET_ENCAPSULATED_REQUEST机制的情况下,CSI-2设备可以通过CCI设备触发KEY_UPDATE请求消息。此外,第二嵌入数据的发送和新会话密钥的验证可能是不必要的。
参考图196中的流程图给出了使用KeyUpdateReq和KeySwitchTiming的情况下的处理流程的实例的描述。CSI-2主机在步骤S2601中导出会话密钥,并且CSI-2设备在步骤S2621中导出会话密钥。此后,使用会话密钥(当前会话密钥)执行通信。CSI-2设备使用当前会话密钥发送VC1扩展分组(步骤S2622),并且CSI-2主机接收VC1扩展分组(步骤S2602)。以相同的方式执行随后的通信。
此后,在预定定时,在步骤S2623中,CSI-2设备使用当前会话密钥发送其中存储KeyUpdataReq的嵌入数据。在步骤S2603中,CSI-2主机接收它。
然后,CSI-2主机和CSI-2设备导出相应的新会话密钥(S2604和S2624)。
在步骤S2625中,CSI-2设备使用当前会话密钥发送VC1第一嵌入数据。在步骤S2605中,CSI-2主机接收它。
然后,在步骤S2626中,CSI-2设备临时使用新会话密钥来发送VC1第二嵌入数据。在步骤S2606,CSI-2主机接收它。在步骤S2607中,CSI-2主机验证新会话密钥。
在确定已经正确导出新会话密钥的情况下,在指定定时更新会话密钥。即,开始使用新会话密钥。
因此,在步骤S2627中,CSI-2设备使用当前会话密钥发送KeySwitchiming=1’b1。在步骤S2608中,CIS-2主机接收它。
在步骤S2629中,CSI-2设备完全使用新会话密钥来发送VC1帧开始。在步骤S2609中,CSI-2主机接收它。
在步骤S2630,CSI-2设备完全使用新会话密钥来发送VC1扩展分组。在步骤S2611中,CSI-2主机接收它。以相同的方式执行随后的通信。
要注意的是,在预定的定时,CSI-2主机和CSI-2设备在更新之前丢弃相应的会话密钥(旧会话密钥)(S2610和S2628)。
以此方式,可以使用KeyUpdateReq和KeySwitchTiming指定开始使用新会话密钥的定时。
参照图197中的流程图给出了在这种情况下的处理器处理的流程的实例的描述。当处理器处理开始时,在步骤S2651中,应用处理器1212的扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否需要更新VC1密钥,并且等待,直到需要更新为止。在确定需要更新VC1密钥的情况下,处理进行到步骤S2652。
在步骤S2652中,扩展模式自适应CSI-2接收电路1322和/或安全部1326发送VC1密钥更新命令。此外,在步骤S2653中,扩展模式自适应CSI-2接收电路1322和/或安全部1326导出新会话密钥。
在步骤S2654中,扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否已经接收到KeySwitchTiming=1’b1的VC1第一嵌入数据,并且等待,直到确定已经接收到它。在确定已经接收的情况下,处理进行至步骤S2655。
在步骤S2655中,扩展模式自适应CSI-2接收电路1322和/或安全部1326使用新会话密钥暂时性地验证第二嵌入数据。然后,在步骤S2656中,扩展模式自适应CSI-2接收电路1322和/或安全部1326基于验证结果确定新会话密钥是否正确。在确定新会话密钥不正确的情况下,处理进行至步骤S2657。
在步骤S2657中,扩展模式自适应CSI-2接收电路1322和/或安全部1326开始丢弃或清除新会话密钥。在步骤S2658中,扩展模式自适应CSI-2接收电路1322和/或安全部1326发送命令以继续当前会话密钥。当步骤S2658中的处理结束时,处理器处理结束。
此外,在步骤S2656中确定新会话密钥正确的情况下,处理进行至步骤S2659。在步骤S2659中,扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否已经接收VC1帧开始。在确定为未接收的情况下,处理返回至步骤S2656,并且重复后续处理。
此外,在步骤S2659中确定已经接收到VC1帧开始的情况下,处理进行至步骤S2660。在步骤S2660中,扩展模式自适应CSI-2接收电路1322和/或安全部1326开始丢弃或清除当前会话密钥。
在步骤S2661中,扩展模式自适应CSI-2接收电路1322和/或安全部1326开始完全使用新会话密钥。当步骤S2661中的处理结束时,处理器处理结束。
参照图198中的流程图,描述在这种情况下的传感器处理的流程的实例。该传感器处理是对应于图197中的处理器处理的处理。
当开始传感器处理时,在步骤S2681中,图像传感器1211的扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否已经接收到在图197中的步骤S2652中从应用处理器1212发送的VC1密钥更新命令,并且等待,直到确定已经接收到VC1密钥更新命令。在确定已经接收到VC1密钥更新命令的情况下,处理进行到步骤S2682。
在步骤S2682中,扩展模式自适应CSI-2发送电路1304和/或安全部1310导出新会话密钥。
在步骤S2683中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否发送VC1嵌入数据,并且等待,直到做出发送VC1嵌入数据的确定为止。在确定要发送的情况下,处理进行至步骤S2684。
在步骤S2684中,扩展模式自适应CSI-2发送电路1304和/或安全部1310通过KeySwitchTiming=1’b1发送VC1第一嵌入数据。
在步骤S2685中,扩展模式自适应CSI-2发送电路1304和/或安全部1310暂时使用新会话密钥发送VC1第二嵌入数据。
在步骤S2686中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否已经接收到在步骤S2658中从应用处理器1212发送的用于继续会话密钥的命令。在确定已经接收的情况下,处理进行至步骤S2687。在步骤S2687中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始丢弃或清除新会话密钥。当步骤S2687中的处理结束时,传感器处理结束。
此外,在步骤S2686中确定未接收到继续会话密钥的命令的情况下,处理进行至步骤S2688。在步骤S2688中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否发送VC1帧开始。在确定不发送它的情况下,处理返回至步骤S2686,并且重复后续处理。
此外,在步骤S2688中确定发送VC1帧开始的情况下,处理进行到步骤S2689。在步骤S2689中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始丢弃或清除当前会话密钥。
在步骤S2690中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始完全使用新会话密钥。当步骤S2690中的处理完成时,传感器处理结束。
应用处理器1212执行如上所述的处理器处理,并且图像传感器1211执行如上所述的传感器处理,从而使得可以如图196中的流程图中那样验证新会话密钥。
要注意的是,在传感器或处理器包括附加消息计数器的情况下,在开始使用或完全使用新会话密钥(不包括临时使用)之前,将附加消息计数值初始化为设置为零。然而,在这种情况下,期望不初始化消息计数值。
在新会话密钥被进一步临时使用的情况下,例如,附加消息计数值可以被设置为最大值以允许该新会话密钥被临时使用。可替代地,例如,附加消息计数值可被设置为零以允许新会话密钥被临时使用,并且当新会话密钥开始被完全使用时附加消息计数值可被设置为1。
相反,在消息计数值是初始值(例如,零)时,新会话密钥可以开始被使用或完全使用(不包括临时使用)。在这种情况下,新会话密钥可被使用的次数被最大化。
此外,在传感器或处理器包括附加帧计数器的情况下,当新会话密钥开始被使用或完全使用(不包括临时使用)时,附加帧计数值被初始化以被设置为零。
然而,在这种情况下,期望不初始化帧计数值。此外,在临时使用新会话密钥的情况下,例如,附加帧计数值可被设置为最大值以允许临时使用新会话密钥。可替代地,例如,附加帧计数值可被设置为零,以允许临时使用新会话密钥,并且当开始完全使用新会话密钥时,附加帧计数值可被设置为1。
相反,新会话密钥可以在帧计数值是初始值(例如,1)时开始被使用或完全使用(不包括临时使用)。在这种情况下,新会话密钥可被使用的次数被最大化。
<通过嵌入数据或读响应开始使用新会话密钥的定时的指定>
开始使用新会话密钥的定时可以由嵌入数据或读响应来指定。指定开始使用的定时的消息(开始使用的定时指定)可存储在用于发送的嵌入数据、图像数据、用户定义数据或读响应(包括带内中断)中。开始使用的定时指定可以包括消息计数值(消息计数器的值)。在那种情况下,可以从被指定为开始使用的定时的消息计数值的扩展分组中的一些或全部开始使用新会话密钥。另外,开始使用的定时指定可以包括帧号(帧计数值)。在这种情况下,可从指定为开始使用的定时的帧号的扩展分组中的一些或全部开始使用新会话密钥。另外,开始使用的定时指定可以包括eDT(扩展数据类型)或DT(数据类型)的值。在该情况下,新会话密钥可以从eDT或被指定为开始使用的定时的DT的扩展分组中的一些或全部开始使用,在下一行或此后传送。
参照图199中的流程图给出了在这种情况下的处理器处理的流程的实例的描述。当处理器处理开始时,在步骤S2701中,应用处理器1212的扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否需要更新VC1密钥,并且等待直到需要更新VC1密钥。在确定需要更新VC1密钥的情况下,处理进行到步骤S2702。
在步骤S2702中,扩展模式自适应CSI-2接收电路1322和/或安全部1326发送VC1密钥更新命令。此外,在步骤S2703中,扩展模式自适应CSI-2接收电路1322和/或安全部1326导出新会话密钥。
在步骤S2704中,扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否已经接收到定时指定,并且等待直到确定已经接收到定时指定。在确定为已接收定时指定的情况下,处理进入步骤S2705。
在步骤S2705中,扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否已经接收到定时指定的VC1扩展分组报头,并且等待,直到确定已经接收到它。在确定已经接收到定时指定的VC1扩展分组报头的情况下,处理进行到步骤S2706。
在步骤S2706中,扩展模式自适应CSI-2接收电路1322和/或安全部1326开始丢弃或清除当前会话密钥。
在步骤S2707中,扩展模式自适应CSI-2接收电路1322和/或安全部1326使用开始新会话密钥。
当步骤S2707中的处理完成时,处理器处理结束。
参照图200中的流程图,给出了作为图像传感器1211的处理的传感器处理的流程的实例的描述。该传感器处理是对应于图199中的处理器处理的处理。
当开始传感器处理时,在步骤S2721中,图像传感器1211的扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否已经接收到VC1密钥更新命令,并且等待,直到确定已经接收到VC1密钥更新命令。在确定已经接收到VC1密钥更新命令的情况下,处理进行到步骤S2722。
在步骤S2722中,扩展模式自适应CSI-2发送电路1304和/或安全部1310导出新会话密钥。
在步骤S2723中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否发送VC1嵌入数据,并且等待,直到确定发送VC1嵌入数据。在确定发送VC1嵌入数据的情况下,处理进行到步骤S2724。
在步骤S2724中,扩展模式自适应CSI-2发送电路1304和/或安全部1310发送包括开始使用的定时指定的VC1嵌入数据。
在步骤S2725中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否发送定时指定的VC1扩展分组报头,并且等待,直到做出发送它的确定。在确定发送定时指定的VC1扩展分组报头的情况下,处理进行到步骤S2726。
在步骤S2726中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始丢弃或清除当前会话密钥。
在步骤S2727中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始使用新会话密钥。
在步骤S2727中的处理结束时,传感器处理结束。
应用处理器1212执行如上所述的处理器处理,并且图像传感器1211执行如上所述的传感器处理,从而使得可以通过嵌入数据或读响应来指定开始使用新会话密钥的定时。
<通过写命令开始使用新会话密钥的定时指定>
开始使用新会话密钥的定时可以由处理器使用写命令来指定。即,指定开始使用的定时(开始使用的定时指定)的消息可以存储在用于发送的写命令中。开始使用的定时指定可以包括消息计数值(消息计数器的值)。在那种情况下,可以从被指定为开始使用的定时的消息计数值的扩展分组中的一些或全部开始使用新会话密钥。另外,开始使用的定时指定可以包括帧号(帧计数值)。在这种情况下,可从指定为开始使用的定时的帧号的扩展分组中的一些或全部开始使用新会话密钥。另外,开始使用的定时指定可以包括eDT(扩展数据类型)或DT(数据类型)的值。在那种情况下,可以从被指定为开始使用的定时的eDT或DT的扩展分组中的一些或全部开始使用新会话密钥,该新会话密钥在用于开始使用的定时指定所OK的读响应之时或之后被传送。
参照图201中的流程图给出了在这种情况下的处理器处理的流程的实例的描述。当处理器处理开始时,在步骤S2741中,应用处理器1212的扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否需要更新VC1密钥,并且等待直到需要更新VC1密钥。在确定需要更新VC1密钥的情况下,处理进行到步骤S2742。
在步骤S2742中,扩展模式自适应CSI-2接收电路1322和/或安全部1326发送VC1密钥更新命令。此外,在步骤S2743中,扩展模式自适应CSI-2接收电路1322和/或安全部1326导出新会话密钥。
在步骤S2744中,扩展模式自适应CSI-2接收电路1322和/或安全部1326发送包括开始使用的定时指定的写命令。
在步骤S2745中,扩展模式自适应CSI-2接收电路1322和/或安全部1326发送指示是否指定开始使用的定时的读命令。
在步骤S2746中,扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否已经接收到读响应,并且等待直到确定已经接收到读响应。在确定已经接收到读响应的情况下,处理进行至步骤S2747。
在步骤S2747中,扩展模式自适应CSI-2接收电路1322和/或安全部1326确定按照开始使用的定时指定的响应是否是OK。在按照开始使用的定时指定的响应不是OK的情况下,处理返回至步骤S2744,并且重复后续处理。
此外,在步骤S2747中确定按照开始使用的定时指定的响应是OK的情况下,处理进行至步骤S2748。
在步骤S2748中,扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否已经接收到定时指定的VC1扩展分组报头,并且等待直到确定已经接收到它。在确定已经接收到定时指定的VC1扩展分组报头的情况下,处理进行到步骤S2749。
在步骤S2749中,扩展模式自适应CSI-2接收电路1322和/或安全部1326开始丢弃或清除当前会话密钥。
在步骤S2750中,扩展模式自适应CSI-2接收电路1322和/或安全部1326开始使用新会话密钥。
当步骤S2750中的处理完成时,处理器处理结束。
参照图202中的流程图给出了作为图像传感器1211的处理的传感器处理的流程的实例的描述。该传感器处理是与图201中的处理器处理相对应的处理。
当开始传感器处理时,在步骤S2771中,图像传感器1211的扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否已经接收到VC1密钥更新命令,并且等待,直到确定已经接收到VC1密钥更新命令。在确定已经接收到VC1密钥更新命令的情况下,处理进行到步骤S2772。
在步骤S2772中,扩展模式自适应CSI-2发送电路1304和/或安全部1310导出新会话密钥。
在步骤S2773中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否已经接收写命令,并且等待直到确定已经接收写命令。在确定已经接收写命令的情况下,处理进行至步骤S2774。
在步骤S2774中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否已经接收到读命令,并且等待直到做出已经接收到读命令的确定。在确定已经接收到读命令的情况下,处理进行至步骤S2775。
在步骤S2775中,扩展模式自适应CSI-2发送电路1304和/或安全部1310按照开始使用的定时规定确定其是否是OK。在确定按照开始使用的定时不是OK的情况下,处理进行至步骤S2776。
在步骤S2776中,扩展模式自适应CSI-2发送电路1304和/或安全部1310执行读响应,该读响应是按照开始使用的定时指定的NG。当步骤S2776中的处理完成时,该处理返回至步骤S2773,并且重复后续处理。
在步骤S2775中,在确定按照开始使用的定时是OK的情况下,处理进行至步骤S2777。
在步骤S2777中,扩展模式自适应CSI-2发送电路1304和/或安全部1310执行按照开始使用的定时指定的OK读响应。
在步骤S2778中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否发送定时指定的VC1扩展分组报头,并且等待,直到确定发送它。在确定发送定时指定的VC1扩展分组报头的情况下,处理进行到步骤S2779。
在步骤S2779中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始丢弃或清除当前会话密钥。
在步骤S2780中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始使用新会话密钥。
在步骤S2780中的处理完成时,传感器处理结束。
应用处理器1212执行如上所述的处理器处理,并且图像传感器1211执行如上所述的传感器处理,从而使得可以通过写命令指定开始使用新会话密钥的定时。
<通过密钥ID信息开始使用新会话密钥的定时指定>
可以发送响应于开始使用下一个会话密钥(新会话密钥)而更新的(例如,递增或递减或随机数)密钥ID信息,从而指定开始使用下一个会话密钥(新会话密钥)的定时。
参照图203描述在这种情况下的处理器处理的流程的实例。当处理器处理开始时,在步骤S2801中,应用处理器1212的扩展模式自适应CSI-2接收电路1322和/或安全部1326将密钥ID初始化为零。
在步骤S2802中,扩展模式自适应CSI-2接收电路1322和/或安全部1326开始使用会话密钥。
在步骤S2803中,扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否结束会话。在确定为结束会话的情况下,处理进入步骤S2804。
在步骤S2804中,扩展模式自适应CSI-2接收电路1322和/或安全部1326发送END_SESSION请求。
在步骤S2805中,扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否已经从图像传感器1211接收到响应。在确定未接收到响应的情况下,处理返回至步骤S2804,并且重复后续处理。在步骤S2805中确定已经接收到响应的情况下,处理进行至步骤S2806。
在步骤S2806,扩展模式自适应CSI-2接收电路1322和/或安全部1326丢弃或清除所有会话密钥和下一个会话密钥(新会话密钥)。当步骤S2806中的处理完成时,处理器处理结束。
此外,在步骤S2803中确定未完成对话的情况下,处理进行至步骤S2807。
在步骤S2807中,扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否已经接收到密钥ID信息。在确定为未接收的情况下,处理返回至步骤S2803,并且重复后续处理。在步骤S2807中确定已经接收到密钥ID信息的情况下,处理进行到步骤S2808。
在步骤S2808,扩展模式自适应CSI-2接收电路1322和/或安全部1326确定是否已经更新密钥ID信息。在确定尚未更新的情况下,处理返回至步骤S2803,并且重复后续处理。在步骤S2808中确定密钥ID信息已经被更新的情况下,处理进行到步骤S2809。
在步骤S2809中,扩展模式自适应CSI-2接收电路1322和/或安全部1326使用开始下一个会话密钥(新会话密钥)。
在步骤S2810,扩展模式自适应CSI-2接收电路1322和/或安全部1326更新密钥ID。当步骤S2810中的处理完成时,处理返回至步骤S2803,并且重复后续处理。
参照图204中的流程图给出了作为图像传感器1211的处理的传感器处理的流程的实例的描述。该传感器处理是与图203中的处理器处理相对应的处理。
当开始传感器处理时,在步骤S2831中,图像传感器1211的扩展模式自适应CSI-2发送电路1304和/或安全部1310将密钥ID初始化为零。
在步骤S2832中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始使用会话密钥。
在步骤S2833中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否已经接收到END_SESSION请求。在确定未接收到END_SESSION请求的情况下,处理进行至步骤S2834。
在步骤S2834中,扩展模式自适应CSI-2发送电路1304和/或安全部1310确定是否开始使用下一个会话密钥(新会话密钥)。在确定开始使用的情况下,处理进行至步骤S2835。
在步骤S2835中,扩展模式自适应CSI-2发送电路1304和/或安全部1310开始使用下一个会话密钥(新会话密钥)。
在步骤S2836中,扩展模式自适应CSI-2发送电路1304和/或安全部1310更新密钥ID。当步骤S2836中的处理结束时,处理进行到步骤S2837。此外,在步骤S2834中确定不开始使用下一个会话密钥(新会话密钥)的情况下,处理进行至步骤S2837。
在步骤S2837中,扩展模式自适应CSI-2发送电路1304和/或安全部1310发送密钥ID信息。当步骤S2837中的处理结束时,处理返回至步骤S2833,并且重复后续处理。
此外,在步骤S2833中确定已经接收到END_SESSION请求的情况下,处理进行至步骤S2838。
在步骤S2838中,扩展模式自适应CSI-2发送电路1304和/或安全部1310向应用处理器1212发送响应。
在步骤S2839中,扩展模式自适应CSI-2发送电路1304和/或安全部1310丢弃或清除所有会话密钥和下一个会话密钥(新会话密钥)。
在步骤S2839中的处理结束时,传感器处理结束。
应用处理器1212执行如上所述的处理器处理,并且图像传感器1211执行如上所述的传感器处理,从而使得可以通过密钥ID信息指定开始使用新会话密钥的定时。
密钥ID信息可以是密钥ID本身的值,或者可以是指示本次使用的密钥ID或下次使用的密钥ID是偶数(偶密钥)还是奇数(奇密钥)的信息,例如,如图205所示。另外,可以是指示密钥ID是偶数(偶密钥)或奇数(奇密钥)的信息。然而,密钥ID信息可仅由零(偶数)和一(奇数)构成。
<多个会话密钥的导出>
可以从一个出口主机密导出多个会话密钥(加密密钥或MAC密钥)。例如,在希望针对每个虚拟信道或每个扩展虚拟信道来区分会话密钥的情况下,这是有效的。
此外,如图206和207所示,可以导出多个出口主机密(0...N),然后可以从它们中的每个导出会话密钥(加密密钥或MAC密钥)。在这种情况下,可以指定要更新的出口主机密,从而仅更新一些出口主机密。HKDF-Expand中的Export-Master-Secret、bin_str8_1、......、bin_str8_N等是示例性的,并且可以存储另一字符。
如HKDF-Expand、Hash.Length、bin_str3、bin_str4、bin_str8、BinConcat、Version和TH2的定义如NPTL 1中所描述。bin_str8_0、的定义的实例适用的bin_str8_N包括bin_str8_0=BinConcat(Hash.Length,Version,“exp master 0’,tH2);......,bin_str8_N=BinCconcat(Hash.Length,Version,“exp master N’,TH2);然而,也可应用另一定义。
顺便提及,例如,由CCI主机(控制系统通信主机)和CCI设备(控制系统通信设备)构成的控制系统通信也称为控制平面(构成、状态、能力、非应用数据)。选项包括CCI带外(I2C/I3C)、USL带内和使用邮箱寄存器的ACMD/ACMP。例如,由CSI-2主机(图像系统通信主机)和CSI-2设备(图像系统通信设备)构成的图像系统通信也称为数据平面(像素、内容、应用数据)。另外,控制系统通信主机和图像系统通信主机可以集成或分离。此外,控制系统通信设备和图像系统通信设备可集成或分离。此外,在图像系统通信主机是DSI-2主机并且图像系统通信设备是显示器(DSI-2设备)的情况下,图78、79、80、184、186、189、196等中的图像系统通信主机(图中的CSI-2主机)与图像系统通信设备(图中的CSI-2设备)之间的箭头方向相反。
顺便提及,上面已经通过参考从SPDM密钥调度导出图像系统通信和图像系统通信设备之间的会话密钥或新会话密钥的实例给出了描述;然而,本技术不限于此。例如,由SSMC(安全会话管理器控制器)生成的密钥,所述SSMC也是控制系统通信主机和图像系统通信主机或应用处理器(也称为SoC或片上系统),并且由控制系统通信设备经由受保护的会话(例如,SoC或片上系统)在控制系统通信主设备与图像传感器、显示器、或桥(Bridge)端(也是控制系统通信设备和图像系统通信设备)之间的SPDM会话)可用作在图像系统通信主机与图像系统通信设备之间的会话密钥或新会话密钥接收。此外,由SSMC(其是控制系统通信主机或应用处理器)生成的密钥由控制系统通信设备通过受保护的会话(例如,SPDM会话)在控制系统通信主设备和桥端之间的一端、图像传感器、显示器、或桥端(其为控制系统通信设备)可用作在桥端或应用处理器(其为图像系统通信主设备)和桥端(其为图像系统通信设备)之间的会话密钥或新会话密钥(前提条件是在桥端不是图像系统通信主设备的情况下),所述图像传感器、所述显示器或所述桥的另一端接收。另外,由SSMC产生的密钥,所述SSMC是控制系统通信主设备,并由控制系统通信设备经由控制系统通信主设备与应用程序处理器之间的受保护会话(例如,SPDM会话)接收,作为控制系统通信设备的桥一端、图像传感器、显示器、或桥另一端可以用作作为图像系统通信主设备的桥一端或应用处理器与作为图像系统通信设备的桥一端之间的会话密钥或新会话密钥(条件是在桥一端不是图像系统通信主设备的情况下),所述图像传感器、所述显示器或所述桥的另一端。需要说明的是,SSMC和应用处理器中的一些或全部可以是集成的,也可以是分离的。此外,在控制系统通信主设备与控制系统通信设备之间经由受保护会话(例如,SPDM会话)发送用于图像系统通信的会话密钥或新会话密钥可以由厂商定义的SPDM消息(例如,VENDOR_DEFINED_REQUEST请求消息或VENDOR_DEFINED_RESPONSE响应消息)发送。即,在控制系统通信主设备在图像系统通信主设备与图像系统通信设备之间生成会话密钥或新会话密钥的情况下,控制系统通信设备不需要导出出口主机密,并且可以省略图184中的KEY_UPDATE请求和KEY_UPDATE_ACK响应。另外,控制系统通信主设备可以根据出口主机密导出,在图像系统通信主设备和图像系统通信设备间生成会话密钥或新会话密钥;从与出口主机密不同的机密导出;通过本征随机数发生器或伪随机数发生器;或通过使用与其不同的措施。另外,图像系统通信主设备和图像系统通信设备之间的会话密钥或新会话密钥可以是在第一图像系统通信主设备、第一图像系统通信设备和第二图像系统通信主设备或第二图像系统通信设备(三个或更多个)之间可用的组密钥。即,图像系统通信主设备或图像系统通信设备不仅可以适应单播(一对一)发送或接收,而且可以适应多播(一对多)发送或接收。
顺便说一下,在控制系统通信主设备和图像系统通信主设备分离的情况下,开始使用面向图像系统通信的会话密钥或新会话密钥的定时存在问题。例如,在图像系统通信主设备是应用处理器或一端桥并且图像系统通信设备是图像传感器或另一端桥的情况下,存在以下问题:图像传感器或另一端桥不感知用于图像系统通信的会话密钥或新会话密钥是否已经由作为图像系统通信主设备的应用处理器或一端桥收(是否可以开始使用)。当控制系统通信主设备首先向控制系统通信设备发送用于图像系统通信的会话密钥或新会话密钥时(例如,应用处理器、显示器、桥与图像传感器对应的一端),作为图像系统数据接收侧,然后将相同的会话密钥或相同的新会话密钥发送至控制系统通信设备(例如,应用处理器,桥一端(条件是在桥一端不是成像系统数据接收侧的情况下),或桥对应于图像传感器或显示器的另一端)是图像系统数据发送侧。可替代地,这可以在以下情况下解决:控制系统通信主设备管理开始使用会话密钥或针对图像系统通信定向的新会话密钥的定时;从控制系统通信主设备向作为图像系统数据发送侧的控制系统通信设备发送指示可以开始使用面向图像系统通信的会话密钥或新会话密钥的信息;以及图像系统数据发送侧响应于接收到会话密钥或面向图像系统通信的新会话密钥而开始使用该会话密钥。
顺便提及,保护比第一通信更快的第一通信(例如,控制系统通信)和第二通信(例如,图像系统通信)的保护部可以包括第一安全算术部和第二安全算术部。此外,相同的加密算法可以应用于第一安全算术部和第二安全算术部,或者不同的加密算法可以应用于第一安全算术部和第二安全算术部。例如,AES-GCM、AES-GMAC、块密码CCM模式、HMAC或CMAC中的任何一个可以应用于第一安全算术部以便面向图像系统通信,并且块密码CBC(CipherBlockChaining)模式或块密码CTR(Counter)模式中的任何和HMAC或CMAC中的任何的组合可以应用于第二安全算术部以便面向控制系统通信。此外,可以将块密码CBC模式或块密码CTR模式中的任意与HMAC或CMAC中的任意进行组合应用于第一安全算术部用于面向图像系统通信,并且可以将AES-GCM或块密码CCM模式中的任意应用于第二安全算术部用于面向控制系统通信。也就是说,尽管至少通过消息认证来保护图像系统通信主设备和图像系统通信设备之间的受保护会话(例如,非SPDM会话)就足够了,但是经由控制系统通信主设备和控制系统通信设备之间的受保护会话(例如,SPDM会话)的会话密钥或新会话密钥的发送需要通过加密和消息认证来保护。然而,即使当处于控制系统通信主设备与控制系统通信设备之间的受保护会话(例如,SPDM会话)中时,与会话密钥无关的消息或新会话密钥可通过消息认证而不加密来保护,或者可通过加密和消息认证来保护。例如,厂商定义的SPDM消息(例如,VENDOR_DEFINED_REQUEST请求消息或VENDOR_DEFINED_RESPONSE响应消息)中的一些或全部可以通过加密和消息认证来保护,并且HEARTBEAT请求消息、HEARTBEAT_ACK响应消息、HEARTBEAT_NAK响应消息、ERROR响应消息、KEY_UPDATE请求、KEY_UPDATE_ACK响应、厂商定义的SPDM消息的剩余部等可以在没有加密的情况下通过消息认证来保护或者可以通过加密和消息认证来保护。另外,从控制系统通信主设备向控制系统通信设备发送的消息可以通过加密和消息认证来保护,从控制系统通信设备向控制系统通信主设备发送的消息可以在没有加密的情况下通过消息认证来保护,或者可以通过加密和消息认证来保护。
顺便提及,图159示出了扩展分组报头中的服务描述符包括消息认证ON/OFF(使能/禁用)的位标志的情况;然而,存在该位标记可能被攻击者篡改的可能性。即,存在攻击者可能禁用图像系统通信中的消息认证的风险。此外,对于扩展分组报头中的服务描述符包括包含消息认证的安全特征的ON/OFF的位标记而不是消息认证的ON/OFF的位标记的情况,同样适用。此外,例如,可以定义如下:ePH2[27:25]=服务描述符[3:1]=0b000:没有消息认证/没有加密(安全特征被禁用);ePH2[27:25]=服务描述符[3:1]=0b001:具有消息认证/具有加密(使能安全特征);以及ePH2[27:25]=服务描述符[3:1]=0b010:具有消息认证/不具有加密(使能安全特征)。然而,这些位分配和表达式可以是不同的。然而,实施者可以考虑到风险而在使能和禁用消息认证或包括图像系统通信中的消息认证的安全特征之间切换。在这种情况下,在图像系统通信(例如,图像系统通信)中,期望发送指示是否允许禁用消息认证或包括消息认证的安全特征的信息。1’b1:允许禁用消息认证或包括通过服务描述符的消息认证的安全特征,以及1’b0:不允许禁用消息认证或包括通过服务描述符的消息认证的安全特征)经由受保护会话(例如,通过服务描述符)从控制系统通信主设备到控制系统通信设备。SPDM会话)在控制系统通信主设备与控制系统通信设备之间。然而,对于这些位分配(1’b1/1’b0),可以反向分配位,或者可以不将位分配给1位的区域,而是分配给2位或更多的区域。不容忍攻击者可能禁用图像系统通信中的消息认证的风险的另实施者能够通过不允许图像系统通信中的消息认证或包括消息认证的安全特征的禁用来对抗攻击者对图像系统通信中的消息认证的禁用(篡改)。即,指示图像系统通信中是否允许消息认证或包括消息认证的安全特征的禁用的信息(与禁用相关的信息)可从控制系统通信主设备发送或者由控制系统通信设备接收(例如,与禁用相关的信息)。在图像系统通信(例如,另一个参数信息的一部分或全部)开始之前,使用由面向控制系统通信的会话密钥保护的控制系统通信;图像系统通信的扩展分组的发送或接收),并且指示在图像系统通信中的一些或所有消息认证或包括消息认证的安全特征的禁用或使能的信息可存储在扩展分组中(例如,在图像系统数据接收侧接收或从图像系统数据发送侧发送的图像系统通信的扩展分组报头、服务描述符或分组数据)。此外,指示图像系统通信中是否允许消息认证或包括消息认证的安全特征的禁用的信息(与禁用相关的信息)可从控制系统通信主设备发送或者由控制系统通信设备接收(例如,与禁用相关的信息)。(作为另一参数信息的一部分或全部)在开始在图像系统数据发送侧使用面向图像系统通信的会话密钥或新会话密钥之前,使用由面向控制系统通信的会话密钥保护的控制系统通信,并且指示在图像系统通信中的一些或所有消息认证或包括消息认证的安全特征的禁用或使能的信息可存储在扩展分组中(例如,在图像系统数据接收侧接收或从图像系统数据发送侧发送的图像系统通信的扩展分组报头、服务描述符或分组数据),响应于在该图像系统数据发送侧开始使用面向该图像系统通信的该会话密钥或该新会话密钥(可替代地,在图像系统数据发送侧开始使用之后)。然而,图像系统通信中的指示是否允许消息认证或包括消息认证的安全特征的禁止的信息(与禁止相关的信息)的发送或接收可以由图像系统通信主设备和图像系统通信设备之间的预先约定(私有合同)取代。即,指示图像系统通信中的消息认证或包括消息认证的安全特征中的一些或全部的禁用或使能的信息可以根据预先约定的信息存储在图像系统通信的扩展分组(例如,扩展分组报头、服务描述符或分组数据)中,以从图像系统数据发送侧发送并在图像系统数据接收侧接收;在预先约定的信息和接收的信息彼此不同的情况下,图像数据接收侧可以确定扩展分组已经被篡改。同时,可以允许在图像系统通信中实现消息认证或包括消息认证的安全特征。即,指示使能图像系统通信中的一些或所有消息认证或包括消息认证的安全特征的信息可存储在扩展分组中(例如,从图像系统数据发送侧发送或在图像系统数据接收侧接收的图像系统通信的扩展分组报头、服务描述符或分组数据),响应于在该图像系统数据发送侧开始使用面向该图像系统通信的该会话密钥或该新会话密钥(可替代地,在图像系统数据发送侧开始使用之后),将表示图像系统通信中的消息认证或包括消息认证的安全特征的禁用的信息存储在扩展分组中(例如,从图像系统数据发送侧发送或在图像系统数据接收侧接收的图像系统通信的扩展分组报头、服务描述符或分组数据)。此外,可经由控制系统通信主设备与控制系统通信设备之间的受保护会话(例如,SPDM会话)从控制系统通信主设备向控制系统通信设备发送命令或要求消息认证或包括图像系统通信中的消息认证的安全特征的禁用的信息(与禁用相关的信息)。即,在图像系统通信的开始(例如,发送或接收图像系统通信的扩展分组)之前,可以使用由面向控制系统通信的会话密钥保护的控制系统通信从控制系统通信主设备发送或由控制系统通信设备接收(例如,作为另一参数信息的一部分或全部)命令或要求禁用图像系统通信中的消息认证或包括消息认证的安全特征的信息(与禁用有关的信息)。另外,图像系统通信中的消息认证或包括消息认证的安全特征可以通过使用图像系统通信的扩展分组(例如,扩展分组报头、服务描述符或分组数据)来使能,并且可以通过使用由面向控制系统通信的会话密钥保护的控制系统通信来禁用。同样在这种情况下,可以对攻击者在图像系统通信中的消息认证的禁用(篡改)采取对策。
顺便说一下,在块密码CBC模式或块密码CTR模式中的任意一个与HMAC或CMAC中的任意一个的组合被应用于面向图像系统通信的安全算术部的情况下,加密密钥和MAC密钥是必需的。开始使用会话密钥或新会话密钥的定时的上述指定可由用于加密密钥的开始使用的第一定时指定(例如,用于经认证的加密、用于块密码CBC模式、用于块密码CTR模式)和用于MAC密钥的开始使用的第二定时指定(例如,用于HMAC、用于CMAC)来构成。例如,针对开始使用的第一定时指定可包括与第一密钥ID有关的信息(例如,针对经认证的加密、针对块密码CBC模式、针对块密码CTR模式),并且针对使用开始的第二定时指定可包括与第二密钥ID有关的信息(例如,针对HMAC、针对CMAC)。例如,响应于在图像系统数据发送侧开始使用加密密钥(会话密钥或新会话密钥),用于开始使用的第一定时指定可从图像系统数据发送侧发送至图像系统数据接收侧(即,可以响应于开始使用的定时指定而开始使用加密密钥),并且响应于在图像系统数据发送侧开始使用MAC密钥(会话密钥或新会话密钥),从开始使用的第二定时指定可从图像系统数据发送侧被发送至图像系统数据接收侧(即,可响应于开始使用的定时指定而开始使用MAC密钥)。另外,在图像系统数据发送侧或者图像系统数据接收侧,响应于开始使用的第一定时指定,可以开始使用加密密钥(会话密钥或者新会话密钥),并且响应于开始使用的第二定时指定,可以开始使用MAC密钥(会话密钥或者新会话密钥)。然而,在图像系统数据发送侧或者图像系统数据接收侧,响应于在不提供用于使用开始的第二定时指定的情况下用于开始使用的第一定时指定(即,用于开始使用的定时指定),可以开始使用加密密钥和MAC密钥(会话密钥或者新会话密钥)。
顺便提及,可以在受保护的图像系统通信(图像系统数据的发送)开始之前,经由控制系统通信主设备与控制系统通信设备之间的受保护的会话(例如,SPDM会话),从控制系统通信主设备向控制系统通信设备发送会话密钥和用于面向图像系统通信的新会话密钥。然而,当在受保护图像系统通信(图像系统数据的发送)开始之前,从控制系统通信主设备向控制系统通信设备发送会话密钥和用于面向图像系统通信的两个或更多个新会话密钥时,为了在控制系统通信主设备侧或控制系统通信设备侧保持密钥,三个或更多个密钥槽(例如,存储器区域)是必要的。因此,希望在每次从控制系统通信主设备发送最新会话密钥时,在控制系统通信主设备侧的两个密钥槽中交替写入最新会话密钥,或者,每当所述控制系统通信设备接收到所述最新会话密钥时,将最新会话密钥交替地写入所述控制系统通信设备侧的两个密钥槽中,从而允许发送(或接收)和丢弃会话密钥或新会话密钥,使得控制系统通信主设备侧或控制系统通信设备侧具有最多两个密钥;然而,这不是限制性的。
顺便提及,经由控制系统通信主设备与控制系统通信设备之间的受保护会话(例如,SPDM会话),从控制系统通信主设备向控制系统通信设备发送诸如用于面向图像系统通信的会话密钥(也包括新会话密钥)、算法、或另一参数的信息;然而,算法信息可以包括关于加密算法的信息,并且其他参数信息可以包括与用于面向图像系统通信的会话密钥或新会话密钥相对应的密钥ID信息。密钥ID信息例如可以如下:第一会话密钥(session key)=0、第二会话密钥(新的第一会话密钥)=1、第三会话密钥(新的第二会话密钥)=2、第四会话密钥(新的第三会话密钥)=3和......;第一会话密钥(会话密钥)=1’b0、第二会话密钥(新的第一会话密钥)=1’b1、第三会话密钥(新的第二会话密钥)=1’b0、第四会话密钥(新的第三会话密钥)=1’b1,以及......;第一会话密钥(会话密钥)=1、第二会话密钥(新的第一会话密钥)=2、第三会话密钥(新的第二会话密钥)=3、第四会话密钥(新的第三会话密钥)=4,以及......;第一会话密钥(sessionkey)=1’b1、第二会话密钥(新的第一会话密钥)=1’b0、第三会话密钥(新的第二会话密钥)=1’b1、第四会话密钥(新的第三会话密钥)=1’b0,以及......;密钥ID信息的值可以翻转。另外,密钥ID信息可以是例如会话密钥或新会话密钥被写入的密钥槽的数目。然后,作为控制系统通信设备的图像系统通信设备或图像系统通信主设备能够开始使用会话密钥或新会话密钥来面向图像系统通信,响应于与密钥ID相关的信息(例如,与在用于面向图像系统通信的会话密钥或新会话密钥之中将要开始使用或已经开始使用的密钥的密钥ID对应的信息),或表示在会话密钥或者用于面向图像系统通信的新会话密钥之中将被开始使用或已经被开始使用的密钥的密钥ID是从图像系统数据发送侧发送到图像系统数据接收侧的偶数(偶密钥)还是奇数(奇密钥)的信息,经由扩展分组报头、分组数据、服务描述符等中的任何一个。然而,在发送会话密钥或用于面向图像系统通信的新会话密钥的情况下,与厂商定义的SPDM消息(具有小的数据总量)相比,扩展分组报头或服务描述符针对扩展分组所对应的每条线路发送大量的次数(具有大的数据总量),因此对可存储的信息量具有严重的约束。因此,希望扩展分组报头或ServiceDescriptor中需要保存的密钥ID信息的信息量等于或小于厂商定义的SPDM消息中需要保存的密钥ID信息的信息量;然而,这不是限制性的。即,与密钥ID相关的信息(例如,密钥ID信息的一部分或全部,对应于会话密钥之中将被开始使用或已经被开始使用的密钥的密钥ID的信息,或用于面向图像系统通信的新会话密钥,或者可从控制系统通信主设备发送或者由控制系统通信设备接收(例如,在图像系统数据发送侧开始使用用于面向图像系统通信的会话密钥或新会话密钥之前,使用由面向控制系统通信的会话密钥保护的控制系统通信作为另一参数信息的一部分或全部),并且可以被存储在图像系统通信的扩展分组中以由图像系统数据接收侧接收或者从图像系统数据发送侧发送,响应于开始使用该会话密钥或该新会话密钥以便在该图像系统数据发送侧定向到该图像系统通信(可替代地,在图像系统数据发送侧开始使用之后)。此外,与密钥ID有关的信息(例如,密钥ID信息的一部分或全部)可以从控制系统通信主设备发送或由控制系统通信设备接收(例如,密钥ID信息的一部分或全部)。在图像系统数据发送侧开始使用用于面向图像系统通信的会话密钥或新会话密钥之前,使用由面向控制系统通信的会话密钥保护的控制系统通信作为另一参数信息的一部分或全部),以及与密钥ID相关的信息的信息量被压缩的信息(例如,与用于面向图像系统通信的会话密钥或新会话密钥中的将被开始使用或已经被开始使用的密钥的密钥ID对应的信息),或者,也可以在由图像系统数据接收侧接收或从图像系统数据发送侧发送的图像系统通信的扩展分组中,存储表示向图像系统通信定向的会话密钥或新会话密钥之中开始使用或开始使用的密钥的密钥ID是偶数(偶密钥)还是奇数(奇密钥)的信息,响应于开始使用该会话密钥或该新会话密钥以便在该图像系统数据发送侧定向到该图像系统通信(可替代地,在图像系统数据发送侧开始使用之后)。此外,在面向图像系统通信的最新会话密钥和与其对应的密钥ID相关的信息(例如,密钥ID信息的一部分或全部)从控制系统通信主设备发送并且由控制系统通信设备使用控制系统通信(例如,密钥ID信息的一部分或全部)接收的情况下,可发送受面向控制系统通信的会话密钥保护的VENDOR_DEFINED_REQUEST请求消息)、与对应于两个会话密钥的两个密钥ID相关的信息(例如,密钥ID信息的部或全部)或用于面向由控制系统通信设备保持的图像系统通信的新会话密钥,作为它的响应,从控制系统通信设备使用控制系统通信到控制系统通信主设备(例如,VENDOR_DEFINED_RESPONSE响应消息)。此外,在面向图像系统通信的最新新会话密钥和与其对应的密钥ID相关的信息(例如,密钥ID信息的一部分或全部)从控制系统通信主设备发送并且由控制系统通信设备使用控制系统通信(例如,密钥ID信息的一部分或全部)接收的情况下,受面向控制系统通信的会话密钥保护的VENDOR_DEFINED_REQUEST请求消息),该信息指示与两个密钥ID(例如,密钥ID)相关的故障的存在或不存在;所述两个密钥ID是否不连续,所述两个密钥ID是否均为偶数,所述两个密钥ID是否均为奇数,并且它们是否是非预期的密钥插槽编号)可以作为其响应从控制系统通信设备使用控制系统通信(例如,VENDOR_DEFINED_RESPONSE响应消息)。在这些情况下,控制系统通信主设备可以预先确认与由控制系统通信设备保持的面向图像系统通信的密钥ID相关的信息(例如,与这些会话密钥之中有待开始使用或已经开始使用的密钥的密钥ID相对应的信息以便面向该图像系统通信,或表示在会话密钥或者用于面向图像系统通信的新会话密钥之中将被开始使用或已经被开始使用的密钥的密钥ID是偶数(偶密钥)还是奇数(奇密钥)的信息,信息量被压缩的信息量没有故障,因此能够避免作为图像系统通信设备或作为控制系统通信设备的图像系统通信主设备的错误加密(解密)或消息认证。例如,在控制系统通信主设备基于从控制系统通信设备发送并且由控制系统通信主设备使用控制系统通信接收的信息(例如,从控制系统通信设备发送并且由控制系统通信主设备接收的信息)确定用于面向由控制系统通信设备保持的图像系统通信的两个会话密钥或新会话密钥发生故障的情况下,VENDOR_DEFINED_RESPONSE响应消息),控制系统通信主设备可进一步使用控制系统通信(例如,VENDOR_DEFINED_REQUEST请求消息),受面向控制系统通信的会话密钥保护。此外,例如,在控制系统通信主设备基于从控制系统通信设备发送并且由控制系统通信主设备使用控制系统通信接收的信息确定由控制系统通信设备保持的两个新的面向图像系统通信的会话密钥没有故障的情况下(例如,VENDOR_DEFINED_RESPONSE响应消息),指示可以开始使用最新的面向图像系统通信的新会话密钥的信息可以从控制系统通信主设备发送到控制系统通信设备(具体地,图像系统数据发送侧)使用由面向控制系统通信的会话密钥保护的控制系统通信(例如,VENDOR_DEFINED_REQUEST请求消息)。然而,例如,可以如下给出定义:ePH2[27:25]=服务描述符[3:1]=0b001:具有消息认证/具有加密/密钥1(偶密钥);ePH2[27:25]=服务描述符[3:1]=0b010:具有消息认证/不具有加密/密钥2(偶密钥);ePH2[27:25]=服务描述符[3:1]=0b100:具有消息认证/具有加密/密钥3(Odd密钥);ePH2[27:25]=服务描述符[3:1]=0b101:具有消息认证/不具有加密/密钥4(偶密钥)。此外,例如,可以如下给出定义:ePH2[27:25]=服务描述符[3:1]=0b001:具有消息认证/具有加密/密钥1(偶密钥);ePH2[27:25]=服务描述符[3:1]=0b010:具有消息认证/不具有加密/密钥2(偶密钥);ePH2[27:25]=服务描述符[3:1]=0b100:具有消息认证/具有加密/密钥3(偶密钥);ePH2[27:25]=服务描述符[3:1]=0b101:具有消息认证/不具有加密/密钥4(偶密钥)。在这些情况下,会话密钥需要通过在加密的使能与禁用(开/关)之间切换来改变。因此,例如;ePH2[27:25]=服务描述符[3:1]=0b011:具有消息认证/不具有加密/密钥1和ePH2[27:25]=服务描述符[3:1]=0b110:具有消息认证/不具有加密/密钥3可允许使用相同会话密钥在加密的使能与禁用(开/关)之间切换。具体地,切换“0b001/0b011”或“0b100/0b110”允许使用相同的会话密钥切换加密的“使能/禁用(ON/OFF)”,但是可以改变位分配或其表达。例如,ePH2[27:25]=服务描述符[3:1]=0b010:具有消息认证/不具有加密/密钥1,并且ePH2[27:25]=服务描述符[3:1]=0b101:具有消息认证/不具有加密/密钥3;Key1或Key3可以被Key0替代,或者Key2或Key4可以被Key1替代。同样地,例如,ePH2[27:25]=服务描述符[3:1]=0b011:具有消息认证/具有加密/密钥2,以及ePH2[27:25]=服务描述符[3:1]=0b110:具有消息认证/具有加密/密钥4的定义可允许使用相同的会话密钥在加密的使能与禁用(开/关)之间切换。具体地,“0b011/0b010”的切换或“0b110/0b101”的切换允许使用相同的会话密钥的加密的“使能/禁用(ON/OFF)”的切换,但是可以改变位分配或其表达。此外,指示Key1和Key2是否相同的信息(例如,1’b1:Key1和Key2不同,1’b0:Key1和Key2相同)或指示Key3和Key4是否相同的信息(例如,1’b1:Key3和Key4不同,1’b0:Key3和Key4相同)可经由受保护的会话(例如,SPDM会话)在控制系统通信主设备与控制系统通信设备之间,从而允许使用相同的会话密钥在加密的使能与禁用(开/关)之间切换。然而,可以相反地执行这些位分配(1’b1/1’b0),或者可以执行给2位以上的区域而不是1位的区域的分配。即,指示Key1和Key2是否相同的信息或指示Key3和Key4是否相同的信息可从控制系统通信主设备发送或由控制系统通信设备接收(例如,在图像系统通信开始(例如,作为另一参数信息的一部分或全部)之前,使用由面向控制系统通信的会话密钥保护的控制系统通信;发送或接收图像系统通信的扩展分组),和对应于密钥的密钥ID的信息(例如,Key1、Key2中的任何一个的指定,用于面向图像系统通信的会话密钥或新会话密钥之中开始使用或开始使用的Key3或Key4)可存储在扩展分组(例如,扩展分组)中。图像系统数据接收侧接收或从图像系统数据发送侧发送的图像系统通信的扩展分组报头、服务描述符或分组数据)。此外,指示Key1和Key2是否相同的信息或指示Key3和Key4是否相同的信息可从控制系统通信主设备发送或由控制系统通信设备接收(例如,在图像系统数据发送侧开始使用用于面向图像系统通信的会话密钥或新会话密钥之前,使用由面向控制系统通信的会话密钥保护的控制系统通信作为另一参数信息的一部分或全部),并且在用于面向图像系统通信的会话密钥或新会话密钥之中,与要开始使用或已经开始使用的密钥的密钥ID(例如,Key1、Key2、Key3或Key4中的任何一个的指定)对应的信息可存储在扩展分组(例如,扩展分组)中。图像系统数据接收侧接收或从图像系统数据发送侧发送的图像系统通信的扩展分组报头、服务描述符或分组数据),响应于开始使用该会话密钥或该新会话密钥以便在该图像系统数据发送侧定向到该图像系统通信(可替代地,在图像系统数据发送侧开始使用之后)。另外,表示Key1和Key2是否相同的信息或者表示Key3和Key4是否相同的信息的发送或接收可以由图像系统通信主设备和图像系统通信设备之间的预先约定(私人合同)代替。即,图像系统通信主设备和图像系统通信设备可以各自根据预先约定的信息确定Key1和Key2是否相同或Key3和Key4是否相同,并且可以根据预先约定的信息使用相同的会话密钥执行加密的使能和禁用(0N/0FF)之间的切换。具体地,在做出Key1和Key2相同或者Key3和Key4相同的预同意的情况下,“0b001/0b010”的切换或“0b100/0b101”的切换允许使用相同的会话密钥的加密的“使能/禁用(ON/OFF)”的切换,但是可以改变位分配或其表达。
<会话密钥的状态的掌握>
图208中所示的通信系统3100包括应用处理器3110和图像传感器3120。应用处理器3110和图像传感器3120通过例如一个通信路径3130彼此耦合。通信路径3130用作控制系统通信路径和对通信路径进行图像(例如,符合USL的A-PHY或D-PHY或C-PHY等)。应注意,应用处理器3110和图像传感器3120可通过多个通信路径3130彼此耦合。此外,应用处理器3110和图像传感器3120可通过多个通信路径彼此耦合,其中,控制系统通信路径和图像系统通信路径分开地构成。
应用处理器3110包括通信控制部3110a和桥(Bridge)一端3110b。通信控制部3110a用作SSMC(安全会话管理器控制器)或应用处理器(也称为SoC或片上系统)。通信控制部3110a包括例如SPDM请求方3111(例如,CCI主设备)、控制平面主机3112(例如,CCI主设备)和数据平面主机3113(图像数据接收部)。
图像传感器3120包括具有通信控制功能的传感器部3120a和桥另一端3120b。传感器部3120a包括例如成像部、SPDM应答方3121(例如,CCI从设备)、控制平面设备3122(例如,CCI从设备)以及数据平面设备3123(图像数据传送部)。桥一端3110b和桥另一端3120b可以省略。
例如,在通信路径3130中,在SPDM请求方3111与SPDM应答方3121之间建立SPDM会话。此外,例如,在通信路径3130中,在控制平面主机3112与控制平面设备3122之间建立控制平面会话。此外,例如,在通信路径3130中,在数据平面主机3113和数据平面设备3123之间建立数据平面会话。
控制平面会话是使用控制平面会话密钥建立的。控制通信控制部3110a生成控制平面会话密钥,并且经由SPDM会话将其发送到传感器部3120a。传感器部3120a经由SPDM会话接收控制平面会话密钥。以这种方式,使用从通信控制部3110a传递到传感器部3120a的控制平面会话密钥来建立控制平面会话。
使用数据平面会话密钥建立数据平面会话。通信控制部3110a生成数据平面会话密钥,并且经由SPDM会话将其发送到传感器部3120a。传感器部3120a经由SPDM会话接收数据平面会话密钥。以这种方式,使用从通信控制部3110a传递到传感器部3120a的数据平面会话密钥来建立数据平面会话。
在SPDM请求方3111与SPDM应答方3121之间,符合SPDM的请求消息从SPDM请求方3111发送至SPDM应答方3121,并且符合SPDM的响应消息从SPDM应答方3121发送至SPDM请求方3111。
在控制平面主机3112与控制平面设备3122之间,由控制平面会话密钥保护的写命令(CCI写)或读命令(CCI读)从控制平面主机3112被发送至控制平面设备3122。此外,在控制平面主机3112与控制平面设备3122之间,由控制平面会话密钥保护的读响应(CCI读返回值)从控制平面设备3122发送至控制平面主机3112。
在数据平面主机3113与数据平面设备3123之间,从数据平面设备3123向数据平面主机3113发送受数据平面会话密钥保护的帧开始、嵌入数据、图像数据、用户定义数据或帧结束。
通过执行这样的数据发送和接收,通信控制部3110a能够基于由传感器部3120a发送的信息(例如,开始使用新会话密钥的定时的指定)来确定是否需要更新会话密钥,并且生成最新会话密钥以用于发送到传感器部3120a。应注意,可以提供显示器来代替图像传感器3120,并且可以提供显示面板来代替传感器部3120a。在这种情况下,在数据平面主机3113和数据平面设备3123之间,由数据平面会话密钥保护的帧开始、嵌入数据、图像数据、用户定义数据或帧结束从数据平面主机3113发送到数据平面设备3123。应注意,主机或设备可称为包含代理的表达。此外,控制平面可以被称为包括ESS CCI(增强型安全和安全相机控制接口)的一部分或全部的表达,或者被称为包括ACMP(A-PHY控制和管理协议)的一部分或全部的表达。此外,数据平面可以称为包括SEP(服务扩展分组)的一部分或全部的表达。控制平面或数据平面不仅可应用于图像相关应用,还可应用于非图像相关应用,诸如,电力管理、IoT(物联网)、GNSS(全球导航卫星系统)或GPS(全球定位系统或全球定位卫星)。
接下来,给出通信系统3100的变形例的描述。
[变形例A]
图209是示出通信系统3100的块的变形例的示图。在本变形例中,应用处理器3110和图像传感器3120通过一个控制系统通信路径3131和一个成像系统通信路径3132彼此耦合。控制系统通信路径3131例如是CCI。图像系统通信路径3132例如是C-PHY或D-PHY。应注意,在本变形例中,应用处理器3110和图像传感器3120可通过多个控制系统通信路径3131和多个图像系统通信路径3132彼此耦合。此外,应用处理器3110和图像传感器3120可通过一个通信路径3130彼此耦合。
在本变形例中,通信控制部3110a包括SPDM请求方3111a和控制平面主机3112,并且桥一端3110b包括数据平面主机3113和SPDM应答方3114。在本变形例中,传感器部3120a包括SPDM应答方3121a和控制平面设备3122,并且桥另一端3120b包括SPDM应答方3124和数据平面设备3123。
例如,在通信路径3131中,在SPDM请求方3111a与SPDM应答方3121a、3124或3114之间建立SPDM会话。此外,例如,在通信路径3131中,在控制平面主机3112与控制平面设备3122之间建立控制平面会话。此外,例如,在通信路径3132中,在数据平面主机3113与数据平面设备3123之间建立数据平面会话。
控制平面会话是使用控制平面会话密钥建立的。控制通信控制部3110a生成控制平面会话密钥,并且经由SPDM会话将其发送到传感器部3120a。传感器部3120a经由SPDM会话接收控制平面会话密钥。以这种方式,使用从通信控制部3110a传递到传感器部3120a的控制平面会话密钥来建立控制平面会话。
使用数据平面会话密钥建立数据平面会话。通信控制部3110a生成数据平面会话密钥,并且经由SPDM会话将其发送到传感器部3120a。传感器部3120a经由SPDM会话接收数据平面会话密钥。以这种方式,使用从通信控制部3110a传递到传感器部3120a的数据平面会话密钥来建立数据平面会话。期望数据平面会话密钥和控制平面会话密钥彼此不同。
在SPDM请求方3111a与SPDM应答方3121a、3124或3114之间,符合SPDM的请求消息从SPDM请求方3111a发送至SPDM应答方3121a、3124和3114,并且符合SPDM的响应消息从SPDM应答方3121a、3124和3114发送至SPDM请求方3111a。
在控制平面主机3112与控制平面设备3122之间,由控制平面会话密钥保护的写命令(CCI写)或读命令(CCI读)从控制平面主机3112发送至控制平面设备3122。此外,在控制平面主机3112与控制平面设备3122之间,由控制平面会话密钥保护的读响应(CCI读返回值)从控制平面设备3122发送至控制平面主机3112。
在数据平面主机3113与数据平面设备3123之间,由数据平面会话密钥保护的帧开始、嵌入数据、图像数据、用户定义数据或帧结束从数据平面设备3123发送到数据平面主机3113。
在本变形例中,通信控制部3110a和传感器部3120a之间的控制系统通信由控制平面会话密钥保护,并且桥一端3110b和桥另一端3120b之间的图像系统通信由数据平面会话密钥保护。然而,通信控制部3110a和桥一端3110b之间的图像系统通信和桥另一端3120b与传感器部3120a之间的图像系统通信不受数据平面会话密钥保护。因此,例如,即使当从桥另一端3120b向桥一端3110b主动地发送开始使用新的数据平面会话密钥的定时的指定时,通信控制部3110a也不能确定是否需要更新数据平面会话密钥。结果,通信控制部3110a不能够在适当的定时生成和发送最新会话密钥。即,桥一端3110b和桥另一端3120b不能以适当的定时接收最新会话密钥。
[变形例B]
图210是示出了通信系统3100的块的变形例的示图。在本变形例中,控制平面主机3112设置在根据变形例A的通信系统3100中的桥一端3110b中。在这种情况下,桥一端3110b和传感器部3120a之间的控制系统通信由控制平面会话密钥保护。然而,通信控制部3110a和桥一端3110b之间的控制系统通信不受控制平面会话密钥保护。此外,通信控制部3110a和桥一端3110b之间的图像系统通信和桥另一端3120b与传感器部3120a之间的图像系统通信不受数据平面会话密钥保护。因此,例如,即使当从桥另一端3120b向桥一端3110b主动地发送开始使用新数据平面会话密钥的定时的指定时,通信控制部3110a也不能确定是否需要更新数据平面会话密钥。结果,通信控制部3110a不能够在适当的定时生成和发送最新会话密钥。即,桥一端3110b和桥另一端3120b不能以适当的定时接收最新会话密钥。
[变形例C]
图211是示出通信系统3100的块的变形例的示图。在本变形例中,在根据变形例A的通信系统3100中,数据平面设备3123设置在传感器部3120a中,并且省略桥另一端3120b的SPDM应答方3124。桥另一端3120b可以省略。在这种情况下,通信控制部3110a和传感器部3120a之间的控制系统通信由控制平面会话密钥保护。此外,桥一端3110b和传感器部3120a之间的图像系统通信受数据平面会话密钥保护。然而,通信控制部3110a和桥一端3110b之间的图像系统通信不受数据平面会话密钥保护。因此,例如,即使当开始使用新的数据平面会话密钥的定时的指定从传感器部3120a被主动发送到桥一端3110b时,通信控制部3110a也不能确定是否需要更新数据平面会话密钥。结果,通信控制部3110a不能够在适当的定时生成和发送最新会话密钥。即,桥一端3110b和传感器部3120a不能在适当的定时接收最新会话密钥。
[变形例D]
图212是示出通信系统3100的块的变形例的示图。在本变形例中,控制平面主机3112设置在根据变形例C的通信系统3100中的桥一端3110b中。桥另一端3120b可以省略。在这种情况下,桥一端3110b与传感器部3120a之间的控制系统通信由控制平面会话密钥保护,并且桥一端3110b与传感器部3120a之间的图像系统通信由数据平面会话密钥保护。然而,通信控制部3110a和桥一端3110b之间的控制系统通信不受控制平面会话密钥保护。此外,通信控制部3110a和桥一端3110b之间的图像系统通信不受数据平面会话密钥保护。因此,例如,即使当开始使用新的数据平面会话密钥的定时的指定从传感器部3120a被主动发送到桥一端3110b时,通信控制部3110a也不能确定是否需要更新数据平面会话密钥。结果,通信控制部3110a不能够在适当的定时生成和发送最新会话密钥。即,桥一端3110b和传感器部3120a不能在适当的定时接收最新会话密钥。
[变形例E]
图213是示出通信系统3100的块的变形例的示图。在本变形例中,在根据变形例A的通信系统3100中,控制平面设备3122设置在桥另一端3120b中,并且省略传感器部3120a的SPDM应答方3121a。在这种情况下,通信控制部3110a和桥另一端3120b之间的控制系统通信由控制平面会话密钥保护,并且桥一端3110b和桥另一端3120b之间的图像系统通信由数据平面会话密钥保护。然而,桥另一端3120b与传感器部3120a之间的控制系统通信不受控制平面会话密钥保护。此外,通信控制部3110a和桥一端3110b之间的图像系统通信和桥另一端3120b和传感器部3120a之间的图像系统通信不受数据平面会话密钥保护。因此,例如,即使当从桥另一端3120b向桥一端3110b主动地发送开始使用新数据平面会话密钥的定时的指定时,通信控制部3110a也不能确定是否需要更新数据平面会话密钥。结果,通信控制部3110a不能够在适当的定时生成和发送最新会话密钥。即,桥一端3110b和桥另一端3120b不能以适当的定时接收最新会话密钥。
[变形例F]
图214是示出通信系统3100的块的变形例的示图。在本变形例中,控制平面主机3112设置在根据变形例E的通信系统3100中的桥一端3110b中。在这种情况下,桥一端3110b与桥另一端3120b之间的控制系统通信由控制平面会话密钥保护,并且桥一端3110b与桥另一端3120b之间的图像系统通信由数据平面会话密钥保护。然而,通信控制部3110a和桥一端3110b之间的控制系统通信以及桥另一端3120b和传感器部3120a之间的控制系统通信不受控制平面会话密钥的保护。此外,通信控制部3110a和桥一端3110b之间的图像系统通信以及桥另一端3120b和传感器部3120a之间的图像系统通信不受数据平面会话密钥保护。因此,例如,即使当从桥另一端3120b向桥一端3110b主动地发送开始使用新数据平面会话密钥的定时的指定时,通信控制部3110a也不能确定是否需要更新数据平面会话密钥。结果,通信控制部3110a不能够在适当的定时生成和发送最新会话密钥。即,桥一端3110b和桥另一端3120b不能以适当的定时接收最新会话密钥。
[变形例G]
图215是示出通信系统3100的块的变形例的示图。在本变形例中,应用处理器3110进一步包括根据变形例D的通信系统3100中的通信控制部3110c。在本变形例中,SPDM请求方3111a设置在通信控制部3110a中,并且SPDM应答方3114、控制平面主机3112和数据平面主机3113设置在通信控制部3110c中。在本变形例中,通信控制部3110a用作SSMC或应用处理器(根SoC),并且通信控制部3110c用作应用处理器(SoC)。桥一端3110b和桥另一端3120b可以省略。
在本变形例中,通信控制部3110a和通信控制部3110c之间的控制系统通信可通过例如CCI(I2C或I3C)或A-PHY来执行,或者可通过以太网或USB(通用串行总线)来执行。
使用控制平面会话密钥来建立控制平面会话。控制通信控制部3110a生成控制平面会话密钥,并且经由SPDM会话将其发送到通信控制部3110c和传感器部3120a。通信控制部3110c和传感器部3120a经由SPDM会话接收控制平面会话密钥。以这种方式,使用从通信控制部3110a传递到通信控制部3110c和传感器部3120a中的每一个的相同控制平面会话密钥来建立控制平面会话。
使用数据平面会话密钥建立数据平面会话。通信控制部3110a生成数据平面会话密钥,并且经由SPDM会话将其发送到通信控制部3110c和传感器部3120a。通信控制部3110c和传感器部3120a经由SPDM会话接收数据平面会话密钥。以此方式,使用从通信控制部3110a传递到通信控制部3110c和传感器部3120a中的每一者的相同数据平面会话密钥来建立数据平面会话。
在这种情况下,通信控制部3110a无法确定是否需要更新数据平面会话密钥。因此,例如,即使从传感器部3120a向通信控制部3110c主动地发送开始使用新的数据平面会话密钥的定时的指定,通信控制部3110a也不能确定是否需要更新数据平面会话密钥。结果,通信控制部3110a不能够在适当的定时生成和发送最新会话密钥。即,通信控制部3110c和传感器部3120a不能以适当的定时接收最新会话密钥。
[变形例H]
图216是示出通信系统3100的块的变形例的示图。在本变形例中,在根据变形例G的通信系统3100中,在桥一端3110b中提供数据平面主机3113,并且在桥一端3110b中进一步提供SPDM应答方3115。桥另一端3120b可以省略。
使用数据平面会话密钥建立数据平面会话。通信控制部3110a生成数据平面会话密钥,并且经由SPDM会话将其发送到桥一端3110b和传感器部3120a。桥一端3110b和传感器部3120a经由SPDM会话接收数据平面会话密钥。以这种方式,使用从通信控制部3110a传递到桥一端3110b和传感器部3120a中的每一个的相同数据平面会话密钥来建立数据平面会话。
在这种情况下,通信控制部3110a不能确定是否需要更新数据平面会话密钥。因此,例如,即使当开始使用新的数据平面会话密钥的定时的指定从传感器部3120a被主动发送到桥一端3110b时,通信控制部3110a也不能确定是否需要更新数据平面会话密钥。结果,通信控制部3110a不能够在适当的定时生成和发送最新会话密钥。即,桥一端3110b和传感器部3120a不能在适当的定时接收最新会话密钥。
<重放攻击对策>
顺便提及,可以为控制平面提供两个或更多个MAC模式。传感器部3120a或桥另一端3120b可将MAC值存储在用于下一帧的高速数据传输的嵌入数据中或存储在下一CCI命令的数据中,并将其发送到通信控制部3110a或3110c或桥一端3110b,或从通信控制部3110a或3110c或桥一端3110b接收MAC值。至于此时的MAC值,在通信控制部3110a或3110c或桥一端3110b与传感器部3120a或桥另一端3120b之间的预定时段内或预定位宽内发送的写命令、读命令和读响应(即,CCI命令)中的一些或全部将是消息认证的保护目标。此时的MAC模式被称为运行模式。
同时,传感器部3120a或桥另一端3120b可将MAC值作为写命令中的一些或作为读命令和读响应中的一些发送到通信控制部3110a或3110c或桥一端3110b或从通信控制部3110a或3110c或桥一端3110b接收MAC值。至于此时的MAC值,在通信控制部3110a或3110c或桥一端3110b与传感器部3120a或桥另一端3120b之间的预定时段内或预定位宽内发送的写命令、读命令和读响应中的一些或全部将是消息认证的保护目标。此时的MAC模式被称为单独模式。
运行模式和单独模式可以同时使用,或者可以分时切换使用。此时的MAC模式被称为双模式(运行/单独)。另外,将读命令和读响应中的一些或全部作为消息认证的保护目标的MAC模式称为读模式。此外,写命令中的一些或全部将作为消息认证的保护目标的MAC模式被称为写模式。另外,将读命令以及读响应和写命令的一系列组合中的一些或全部作为消息认证的保护目标的MAC模式称为双模式(读/写)。
顺便提及,在GMAC或GCM中,在单独模式中使用唯一初始化向量IV足够长的时间(图217)。因此,该初始化向量IV可以用作重放攻击对策。迄今为止,控制平面初始化向量IV包括例如32位控制平面盐(随机数)、56位控制平面添加消息计数器以及8位控制平面消息计数器,如图218的(A)中所示。
在上述通信系统3100中,控制平面初始化向量IV可以包括例如32位控制平面盐(随机数)、52位控制平面添加消息计数器、8位控制平面消息计数器、指示2位控制平面的MAC模式的信息以及指示2位控制平面的读/写模式的信息,如图218的(B)中所示。指示控制平面的MAC模式的信息的实例包括指示运行模式、单独模式或双模式(运行/单独)的信息。另外,指示控制平面的读/写模式的信息的实例包括指示读模式、写模式或双模式(读/写)的信息。这些位宽(例如,32位、56位和52位)是示范性的,并且可将不同的位宽用于构成。
以这种方式,在控制平面初始化向量IV包括在图218的(B)中示出的信息的情况下,不管是MAC模式还是读/写模式,可使用相同的会话密钥或相同的消息计数器。通信控制部3110a可通过VENDOR_DEFINED_REQUEST请求消息(控制平面盐设置请求)生成或导出用于控制平面初始化向量IV的盐,以将盐发送到通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a。通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a可响应于控制平面盐值设置请求,通过VENDOR_DEFINED_RESPONSE响应消息(例如,ACK、NACK、同一盐存储)或ERROR响应消息将控制平面盐设置响应发送到通信控制部3110a。
同样地,通信控制部3110a可产生或导出用于数据平面初始化向量IV的盐,以通过VENDOR_DEFINED_REQUEST请求消息(数据平面盐设置请求)将该盐发送到通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a。响应于数据平面盐设置请求,通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a可通过VENDOR_DEFINED_RESPONSE响应消息(例如,ACK、NACK、同一盐存储)或ERROR响应消息将数据平面盐设置响应发送到通信控制部3110a。
假设通信控制部3110a、通信控制部3110c、或桥一端3110b和桥另一端3120b或传感器部3120a利用相同的初始化向量值IV、利用相同的会话密钥执行消息的MAC值(诸如GMAC值)的算术运算以发送该消息和MAC值。此时,例如,如图219所示,通信控制部3110a、通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a可使用从初始化向量值IV开始超出消息计数值(MC值)循环的周期递增或递减一的值作为MAC值。以这种方式,可以消除重放攻击的可能性。
然而,在CMAC或HMAC用作消息认证码(MAC)的情况下,消息计数器有时可能不充当针对重放攻击的对策,例如,如图220所示。因此,在CMAC或HMAC中,消息计数器的字节宽度或位宽度可在单独模式中扩展(可变)(图221)。
通信控制部3110a可以通过VENDOR_DEFINED_REQUEST请求消息、CCI扩展报头(EXTENDED HEADER)、或控制平面主机与控制平面设备之间的预协议(私有合同)来设置通信控制部3110c、传感器部3120a或桥中的CCI消息计数器的字节宽度或位宽度。VENDOR_DEFINED_REQUEST请求消息(控制平面消息计数器设置请求)可具有例如如图222所示的格式构成。
要注意的是,CCI扩展报头可具有与图222中所示的格式构成相似的构成。CCI扩展报头包括例如功能安全的必要性(ON/OFF)、安全特征的必要性(ON/OFF)、加密的必要性(ON/OFF)、消息计数器(MC)的必要性(ON/OFF)、消息认证码(MAC)的必要性或CRC的必要性(ON/OFF)。
图223示出了写命令的实例。响应于控制平面消息计数器设置请求,通信控制部3110c、传感器部3120a或桥可通过VENDOR_DEFINED_RESPONSE响应消息(例如,ACK、NACK、同一消息计数器设置值存储)或ERROR响应消息将控制平面消息计数器设置响应发送到通信控制部3110a。此时,每当发送满足预定条件的STOP条件时,通信控制部3110c、传感器部3120a或桥递增或递减消息计数器,其中初始值被设置为例如0或1。
顺便提及,扩展分组报头和CCI扩展报头的消息认证或安全特征的开/关(包括消息认证)涉及篡改的风险。因此,例如,如图224中所示,期望通过厂商定义SPDM消息设置MAC标签长度。此外,期望设置指示是否容忍消息认证或包括使用厂商定义SPDM消息的消息认证的安全特征的禁用的信息。是否容忍上述禁用可以由控制平面与控制平面设备之间的预先约定来代替。与图像系统通信或控制系统通信中的MAC禁用相关的信息(指示是否容忍消息认证的禁用或包括消息认证的安全特征的信息)可以是稍后描述的消息认证策略或可以由稍后描述的功能寄存器定义。
图225示出了读命令和读响应的实例。通信控制部3110a可以通过VENDOR_DEFINED_RESPONSE请求消息、CCI扩展报头(EXTENDED HEADER)、或控制平面主机与控制平面设备之间的预协议(私有合同)来设置通信控制部3110c、传感器部3120a或桥中的CCI消息认证码的字节宽度或位宽度。例如,CCI扩展报头部可具有如图224所示的格式构成。
通信控制部3110c、传感器部3120a或桥可以响应于VENDOR_DEFINED_RESPONSE响应消息(例如,ACK、NACK、同一MAC设置值存储)或ERROR响应消息的控制平面消息认证码设置请求而将控制平面消息认证码设置响应发送到通信控制部3110a。同样地,通信控制部3110a可以具有其中图像系统通信MAC的字节宽度或位宽度可变的格式构成,以允许通信控制部3110c、传感器部3120a或桥中的图像系统通信MAC的字节宽度或位宽度由VENDOR_DEFINED_REQUEST请求消息、扩展分组报头或数据平面和数据平面设备之间的预先协议(私有合同)来设置。
在图224中,在VENDOR_DEFINED_REQUEST请求消息的实例的CCI变成另一个表达(例如,CSI2、DS12)时,获得数据平面消息认证码设置请求。响应于数据平面消息认证码设置请求,通信控制部3110c、传感器部3120a或桥可通过VENDOR_DEFINED_RESPONSE响应消息(例如,ACK、NACK、同一MAC设置值存储)或ERROR响应消息将控制平面消息认证码设置响应发送到通信控制部3110a。
要注意的是,在图223和225中的命令实例中的行馈送是为了附图的方便,并且可连续或间歇地发送相应行的命令序列。图223和225中的命令示例的第一行的结尾可以是P(停止条件)而不是A(确认)。在这种情况下,图223和225中的命令的第二行的头部可以是S(开始条件)而不是Sr(重复开始条件)。在这种情况下,可省略图223和225中的命令实例的第一行。
图223中的写命令是发送两行写数据(WRITE DATA)的实例,但可被构成为仅允许发送一行或三行或更多行写数据(WRITE DATA)。图225中的读命令和读响应是发送一行写数据(WRITE DATA)和一行读数据(READ DATA)的示例,但是可被构成为允许省略写数据(WRITE DATA)的发送,或者可被构成为允许图225中的命令示例的第三行和第四行可被重复地发送(尽管存储在每行中的一些或所有地址或数据可不同),从而允许发送两行或更多行的读数据(READ DATA)。图223中的一些或所有写命令和图225中的一些或所有读命令和读响应可以被构成为组合以用于发送。
可以将写数据(WRITE DATA)或读数据(READ DATA)的全部设置为加密关闭区域,或者可以将写数据(WRITE DATA)或读数据(READ DATA)的全部设置为加密开启区域。写数据(WRITE DATA)或读数据(READ DATA)中的一些可被设置为加密关闭区域,并且写数据(WRITE DATA)或读数据(READ DATA)的剩余部分中的一些或全部可被设置为加密开启区域。
例如,在CBC模式用于加密的情况下,期望在加密开启区域(期望消息认证目标)之前的一些或所有加密关闭区域(期望消息认证目标)中发送由用于CBC模式中的加密的随机数构成的初始化向量值(例如,16字节)。例如,由用于CBC模式中的加密的随机数构成的初始化向量值(例如,16字节)可构成为在将用于控制平面的扩展分组报头(EXTENDEDHEADER)之后的一些或所有行(图223或225中的第二行)中发送。
在这种情况下,图223中的第三行上的WRITE DATA的一些或全部可以在CBC模式下加密,或者图223中的第四行上的READ DATA的一些或全部可以被加密。在这种情况下,CCI主侧发送初始化向量值,因此CCI主侧需要为初始化向量生成随机数。同时,CCI从侧(例如,图像传感器)不需要生成初始化向量的随机数。
然而,由用于CBC模式下的加密的随机数构成的初始化向量值(例如,16字节)可被构成成存储在READ DATA中以供发送。在那种情况下,CCI从侧(例如,图像传感器)需要生成初始化向量的随机数。在除CBC模式以外的模式下的加密不需要发送由随机数构成的初始化向量值。加密关闭区域和加密开启区域的定义或规定可以通过扩展分组报头用于控制平面或数据平面来进行。此外,加密关闭区域和加密开启区域的定义或指定可以通过通信主机和通信设备之间的预先约定(私有合同)来进行。这允许根据从多个算法选项中选择的所实现的算法来选择适当的格式。例如,在由厂商定义SPDM消息发送的算法信息的一部分或全部是与CBC模式相关的信息的情况下,控制平面主机或控制平面设备能够确定在接收算法信息时或之后控制平面会话中接收的数据已经在CBC模式中加密。也就是说,响应于由厂商定义SPDM消息发送的算法信息,控制平面主机或控制平面设备可确定是否将由要用于CBC模式中的加密的随机数构成的初始化向量值发送到切换电路或处理,或可确定由随机数构成的初始化向量值是否已被发送到切换电路或处理。作为对控制平面所使用的扩展分组报头(例如,服务描述符)的定义或规定的响应,控制平面主机或控制平面设备可确定是否将通过CBC模式下的加密所使用的随机数构成的初始化向量值发送到切换电路或处理,或者可确定是否将通过随机数构成的初始化向量值发送到切换电路或处理。然而,通过用于控制平面的扩展分组报头的定义或指定可以是安全特征的存在或不存在(ON/OFF)、加密的存在或不存在(ON/OFF)、CBC模式的存在或不存在(0N/0FF)、随机数的发送的存在或不存在(ON/OFF)、初始化向量的发送的存在或不存在(ON/OFF)等。虽然已经给出了对控制平面会话的消息(数据)被加密的情况的描述,但是其中的一些或全部也可以应用于厂商定义的SPDM消息(数据)被加密的情况;例如,包括被描述为控制平面的内容的控制平面的表达式中的一些或全部可由包括SPDM的表达式替换。在一种情况下,描述为控制平面的内容中的一些或全部可以应用于数据平面,在另一种情况下,描述为数据平面的内容中的一些或全部可以应用于控制平面。因此,包括被描述为控制平面的内容的控制平面的一些或全部表达式可被包括数据平面的表达式替换,并且包括被描述为数据平面的内容的数据平面的一些或全部表达式可被包括控制平面的表达式替换。对于图223或225中的REG ADDRESS(寄存器地址),REG ADDRESS中的一些和REG ADDRESS中的其他可以在地址中相同,或者REGADDRESS中的一些和REG ADDRESS中的其他可以在地址中不同。
要在控制平面中使用的扩展分组报头可以被称为包括ESS CCI服务描述符的一部分或全部的表达。将在控制平面中使用的扩展分组报头可以存储与安全描述符的一部分或服务描述符的一部分相对应的定义。在控制平面中使用的扩展分组报头不仅可以限定为如图所示的总共1字节,而且可以限定为总共2字节或更多。
将用于控制平面的扩展分组报头(例如,扩展报头、EXTENDED HEADER)可以指定当前使用的会话密钥(理所当然,可以采用新会话密钥等)还是随后将使用的会话密钥是偶密钥还是奇密钥。即,在控制平面中使用的扩展分组报头可以包括与会话密钥有关的信息,或者可以包括与会话密钥是偶密钥还是奇密钥有关的信息。响应于将用于控制平面的扩展分组报头的指定,偶密钥或奇密钥可以被丢弃或覆写。
将用于控制平面(例如ESS CCI(增强型安全和安全相机控制接口)或ACMP(A-PHY控制和管理协议))的消息计数器可以被构成用于增加字节计数,其中0字节或1字节被设置为默认值。将用于控制平面的消息计数器在仅适应功能安全的情况下可以能够发送1字节,或者在适应安全的情况下可以能够发送1字节或更多。在用于控制平面的消息计数器循环之前,更新用于控制平面的会话密钥就足够了。
在图223或225中,在从开始条件到MAC值n-1[7:0]的时段内发送的消息中的一些或全部将是消息认证目标(经受MAC计算并且受消息认证保护的消息)。图223或225是用于控制平面的所有消息计数器的发送的实例。然而,将用于控制平面的所有消息计数器可被构成为经受CMAC或HMAC(或GMAC或GCM)的消息认证以发送将用于控制平面的消息计数器的一部分(不发送一部分)。即,将在控制平面中使用的消息计数器可由例如8位(1字节)控制平面消息计数器和响应于控制平面消息计数器而改变(例如,递增或递减)的控制平面附加消息计数器来构成。此时,控制平面消息计数器的值和控制平面添加消息计数器的值可以是CMAC或HMAC(或GMAC或GCM)的消息认证目标的一部分。进一步,控制平面消息计数器的值由控制平面会话传送,但是控制平面附加消息计数器的值可构成不由控制平面会话传送(即,构成隐式消息)。
例如,控制平面消息计数器可以在将用于控制平面的消息计数器的LSB(最低有效位)侧,并且控制平面附加消息计数器可以在将用于控制平面的消息计数器的MSB(最高有效位)侧。LSB侧和MSB侧可被反转。同样地,在数据平面中使用的消息计数器由例如16位数据平面消息计数器和响应于数据平面消息计数器改变(例如,递增或递减)的数据平面附加消息计数器构成。此时,数据平面消息计数器的值和数据平面添加消息计数器的值可以是CMAC或HMAC(或GMAC或GCM)的消息认证目标的一部。进一步,数据平面消息计数器的值由数据平面会话传送,但数据平面附加消息计数器的值可被构成不被数据平面会话传送(即,被构成隐式消息)。
例如,数据平面消息计数器可以在将用于数据平面的消息计数器的LSB(最低有效位)侧,并且数据平面附加消息计数器可以在将用于数据平面的消息计数器的MSB(最高有效位)侧。LSB侧和MSB侧可被反转。可以对由显式消息和隐式消息构成的消息认证目标的MAC值进行计算,其中,隐式消息被插入到控制平面消息或数据平面消息的中间,即待发送或已发送的显式消息。要注意的是,上述术语“中间”表示例如在控制平面消息计数器或数据平面消息计数器之前或之后的位置。上述术语“隐式消息”是指例如控制平面添加消息计数器或数据平面添加消息计数器的值。
可以对由显式消息和隐式消息构成的消息认证目标的MAC值进行计算,其中,隐式消息被插入到控制平面消息或数据平面消息之前或之后的位置中,即,待发送或已发送的显式消息。同样在这些情况中,采取对抗重放攻击的对策。应注意,上述短语“在控制平面消息或数据平面消息之前或之后”是指例如紧接在显式消息之前的位置或者显式消息与MAC值n-1[7:0]消息或ePF1消息之间的位置。上述术语“隐式消息”是指例如控制平面添加消息计数器或数据平面添加消息计数器的值。
如上所述,在CMAC或HMAC中,期望在用于针对重放攻击的对抗措施的消息认证目标中包括附加消息计数器的值。然而,在GMAC或GCM中,不需要在消息认证目标中包括附加消息计数器的值;在GMAC或GCM中,期望在初始化向量中包括附加消息计数器的值。因此,在MAC算法是CMAC或HMAC的情况下,附加消息计数器的值中的一些或全部被包括作为消息认证目标。在MAC算法是GMAC或GCM的情况下,被构成为允许附加消息计数器值中的一些或全部被包括在初始化向量中的保护部的存在使得可以仅用最少一个附加消息计数器(不提供多个附加消息计数器)来适应MAC算法,诸如CMAC、HMAC、GMAC和GCM。
可变消息计数器(Variable message counter)可以是固定消息计数器(extendedmessage counter)。已经描述了可变消息计数器的重放攻击对策。在固定消息计数器的情况下,其可被解释为附加消息计数器的重放攻击对策。
CCI-MAC标签长度可以是12字节。例如,在CCI_MAC字段中,定义可以如下进行:0b000:CCI-MAC标签长度是04字节;0b001:CCI-MAC标签长度为08字节;并且0b010:CCI-MAC标签长度为12字节。
假设随机数的初始化向量用于SPDM会话、控制平面会话或数据平面会话中的消息认证或加密(或解密)。在这种情况下,初始化向量可例如由厂商定义SPDM消息(例如,VENDOR_DEFINED_REQUEST请求消息或VENDOR_DEFINED_RESPONSE响应消息)发送。
描述为由厂商定义SPDM消息、VENDOR_DEFINED_REQUEST请求或VENDOR_DEFINED_RESPONSE响应发送的消息的一些或全部消息可以作为安全消息按照DMTF发布的DSP0277(使用SPDM的安全消息)指定发送。此外,一些或所有消息可作为厂商定义的安全消息(遵照或不遵照DSP0277指定)被发送,其中DSP0277指定中的一些或全部由除DMTF之外的标准化组织(例如,MIPI联盟)或由厂商改变。此时,短语“消息的一部分或全部”(作为该安全消息)可被解释为厂商定义的SPDM消息、VENDOR_DEFINED_REQUEST请求或VENDOR_DEFINED_RESPONSE响应。描述为由厂商定义的SPDM消息、VENDOR_DEFINED_REQUEST请求或VENDOR_DEFINED_RESPONSE响应发送的消息的一些或全部消息可不在SPDM会话中发送,而是在受保护的控制平面会话中发送。遵循DSP0277指定的安全消息是适应AEAD算法(例如AES-128-GCM、AES-256-GCM或CHACHA20_POLY1305)的格式。遵循DSP0277指定的安全消息不适应MAC算法(例如,GMAC、CMAC或HMAC)和加密算法(例如,CTR模式或CBC模式)的组合。因此,可对DSP0277指定中的部或全部进行改变,以适应MAC算法和加密算法的组合。安全消息格式按照会话ID(4字节)、序列号(变量)、长度(2字节)、应用数据长度(2字节)、应用数据(变量字节)、随机数据(变量字节)和消息认证码(MAC值长度)的顺序构成。会话ID、序列号和长度各自是消息认证目标(MAC Coverage)、明文(Clear Text)以及报头。应用数据长度是消息认证目标、加密目标(加密数据)以及报头。应用数据和随机数据分别是消息认证目标和加密目标。厂商专用区域(Vendor specific)、厂商定义区域(Vendor defined)、用户定义区域(User defined)、预留区域(Reserved for future use)等可被添加到消息认证目标、明文和报头的区域。存储用于CBC模式下的加密的由随机数构成的初始化向量的值,以实现发送。安全消息格式提供有任何附加区域,以适应CBC模式的格式。响应于SPDM请求方和SPDM应答方之间选择的面向SPDM会话的算法,SPDM请求方或SPDM应答方可通过例如NEGOTIATE_ALGORITHMS请求、ALGORITHMS响应等来切换相应的安全消息格式或改变相应的安全消息格式的一部分或全部。响应于在SPDM请求方与SPDM应答方之间选择的面向SPDM会话的算法,SPDM请求方或SPDM应答方可确定是否将由用于CBC模式中的加密的随机数构成的初始化向量的值发送到开关电路或处理,或者可确定由随机数构成的初始化向量的值是否已被发送到开关电路或处理,例如,通过NEGOTIATE_ALGORITHMS请求和ALGORITHMS响应。
初始化向量构成可以包括厂商专用(Vendor specific)或厂商定义(Vendordefined)位区域。上文参考图96、102、107或113或图218的(B)所描述的初始化向量构成中的一些或全部可被指派给初始化向量构成的因厂商而异的区域或厂商定义的区域。例如,初始化向量构成的厂商专用区域或厂商定义区域可包括扩展虚拟信道eVC或虚拟信道VC。
彼此不同的加密密钥和MAC密钥中的每一个可以由厂商定义的SPDM消息等发送。此外,彼此不同的加密密钥和MAC密钥中的每一个可以从由厂商定义的SPDM消息发送或将被发送的一个会话密钥或会话机密等导出。
在由国家标准和技术研究所发布的特殊出版物800-108(使用伪随机函数的密钥导出建议)中,定义了使用HMAC的KDF(密钥导出函数)和使用CMAC的KDF。在上述SPDM密钥调度中,使用HMAC基于KDF来构成密钥调度。基于KDF使用CMAC构成的密钥调度可代替上述SPDM密钥调度而被应用(然而,其可符合SPDM,或者可不符合SPDM)。在应用下列项(1)至(4)的情况下,由这些项构成的系统仅由AES构成,并且特别适合于资源受限传感器。然而,可以应用GCM、GMAC或HMAC来代替其中的一些或全部。另外,可以省略这些加密功能中的一些或全部(仅消息认证功能)。CTR模式的优点在于CTR模式具有比CBC模式更少的通信开销,并且可以比CBC模式更快,并且CBC模式的优点在于CBC模式比CTR模式更容易管理初始化向量。因此,块密码CBC模式和CMAC的组合在某些情况下特别适合于单独模式的控制平面会话;块密码CTR模式和CMAC的组合在某些情况下特别适合于运行模式的控制平面会话;并且块密码CTR模式和CMAC的组合在某些情况下特别适合于数据平面会话。可在SPDM会话和控制平面会话之间共享应用了加密算法(加密算法、消息认证算法或AEAD算法)的一些或全部相同的安全算术部的一部分或全部。同样适应SPDM会话和数据平面会话,同样适应控制平面会话和数据平面会话;SPDM会话和控制平面会话可被构成成部或完全包括相同协议(例如,CCI),并且特别易于共享。
(1)在SPDM密钥调度中使用CMAC基于KDF构成的密钥调度
(2)用于SPDM会话的块密码CBC模式或块密码CTR模式和CMAC中的任一个的组合
(3)用于控制平面会话的块密码CBC模式或块密码CTR模式和CMAC中的任何一个的组合
(4)用于数据平面会话的块密码CBC模式或块密码CTR模式和CMAC中的任何一个的组合
<重放攻击对策的示例>
接下来,给出重放攻击对策的实例的描述。
例如,初始化向量IV(其在足够长的时间内是唯一的以用于GMC、CCM或GMAC)可以是重放攻击对抗措施(在图226的粗框中)。图227示出将GMAC和GCM应用于数据平面的实例。图228为描述图227中的术语的示图。消息计数器MC包括在为每行图像数据提供的扩展分组报头ePH中,并且从初始化向量值IV增加1的值超出消息计数值MC循环的周期(帧周期)被用作行-MAC值。行-MAC值被提供在分组报尾和诸如每行中的图像数据的行数据之间。以这种方式,可以消除重放攻击的可能性。
例如,初始化向量IV(其在足够长的时间内是唯一的以用于GMC、CCM或GMAC)可以是重放攻击对抗措施(在图229中的粗框中)。图230示出了GMAC和GCM应用至数据平面的实例。从图像数据的每个帧的初始化向量值IV增加一的值被用作帧-MAC值。帧-MAC值被提供在每个帧中的分组报尾PF中。
例如,将用于CMAC、HMAC或GMAC的帧-MAC可以是重放攻击对抗措施(在图231中的粗帧中)。图231示出了CMAC到数据平面的应用的示例。图232示出将CMAC和CTR模式应用于数据平面的示例。CMAC可由HMAC或GMAC替换。图233是描述图232中的术语的示图。针对图像数据的各帧提供或多个嵌入数据(嵌入数据),并且包括在嵌入数据中的随机数值被提供作为包括在消息认证目标中的帧-MAC值(CMAC)。例如,在图像数据与帧开始之间或者在图像数据与帧结束之间提供嵌入数据。
嵌入数据可以包括附加帧号,并且可以包括针对每个帧变化的计数值或随机数中的一些或全部;即,嵌入数据可以包括随机数值中的一些或全部。在CBC模式或CTR模式中的一个与GMAC、HMAC或CMAC组合的情况下,与GCM或CCM相比,可以使用扩展分组报头(例如,服务描述符)自由地打开/关闭加密。CTR模式下的加密理想地与MAC算法(诸如GMAC、HMAC或CMAC)结合使用,因为除非加密与通过MAC算法(诸如GMAC、HMAC或GMAC)的消息认证结合,否则预期位可被翻转(密文位反转攻击)。CBC模式下的加密比CTR模式下的加密更能抵抗密文位反转攻击,但不是完美的。为了检测篡改,期望CBC模式中的加密与通过诸如GMAC、HMAC或CMAC的MAC算法的消息认证结合使用。图227、230或232中的SA1和SA2被定义为相同的SA或相同编号的SA;扩展分组报头(例如,服务描述符)中的标记(位标记)可以用于切换加密的开/关。MAC值的计算、发送或接收可以以多行为单位执行,而不是以图227中示例的行为单位或图230和232中示例的帧单位执行。至于图像数据或嵌入数据,其一部分而非其全部可以是消息认证目标。
在GCM或CCM的情况下,需要满足“仅用于消息认证的目标区域→用于消息认证和加密的目标区域→MAC存储区域”的顺序。因此,对于GCM或CCM,仅将图像数据(Img Data)设置为消息认证及加密的目标区域,无法将扩展分组报头设置为仅消息认证的目标区域。另一方面,通过组合块密码CBC模式或者块密码CTR模式(加密)与GMAC、HMAC或者CMAC(消息认证)中的任一个,能够仅将图像数据(Img Data)设置为消息认证以及加密的对象区域,能够仅将扩展分组报头设置为消息认证的对象区域。同样地,可以仅将可选数据而不是图像数据设置为用于消息认证和加密的目标区域,并且可以将其他可选数据设置为仅用于消息认证的目标区域;即,部分加密是可能的。
(控制平面会话)
图234、235、236和237各自示出了通信系统3100中的控制平面会话的流程图实例。图235中的流程是在图234中的流程之后的流程。
首先,通信系统3100在通信控制部3110a和通信控制部3110c、桥一端3110b、传感器部3120a或桥另一端3120b之间建立SPDM会话(步骤S3101、3201和3301)。接着,通信控制部3110a生成会话密钥(步骤S3102)。
接下来,通信控制部3110a通过VENDOR_DEFINED_REQUEST请求消息或写命令,将控制平面会话开始请求发送到通信控制部3110c或桥一端3110b。通信控制部3110c或桥一端3110b接收控制平面会话开始请求(步骤S3203;是Y)。然后,响应于控制平面会话开始请求,通信控制部3110c或桥一端3110b可通过VENDOR_DEFINED_RESPONSE响应消息、ERROR响应消息或读响应将控制平面会话开始响应发送到通信控制部3110a。然而,例如,通过将算法信息、其他参数信息以及控制平面会话密钥(MAC密钥或加密密钥)的接收完成或控制平面会话密钥(MAC密钥或加密密钥)的接收完成解释为控制平面会话开始请求,可以省略控制平面会话开始请求的发送和接收。
通信控制部3110a可以首先将算法信息、其他参数信息和控制平面会话密钥发送至作为控制平面设备的传感器部3120a或桥另一端3120b,然后可以将算法信息、其他参数信息和控制平面会话密钥发送至作为控制平面主设备的通信控制部3110c或桥一端3110b(步骤S3103和S3104)。在这种情况下,传感器部3120a或桥另一端3120b从通信控制部3110a接收算法信息、其他参数信息以及控制平面会话密钥(步骤S3302;是Y)。此外,通信控制部3110c或桥一端3110b从通信控制部3110a接收算法信息、另一参数信息以及控制平面会话密钥(步骤S3202;是)。结果,通信控制部3110c或桥一端3110b能够(使用控制平面会话密钥)开始控制平面会话,而无需考虑传感器部3120a或桥另一端3120b是否已经具有相同的控制平面会话密钥(步骤S3204)。要注意的是,通信控制部3110c或桥一端3110b可将算法信息、其他参数信息以及控制平面会话密钥的接收完成或控制平面会话密钥(MAC密钥或加密密钥)的接收完成解释为例如控制平面会话开始请求(步骤S3203)。
同时,传感器部3120a或桥另一端3120b从通信控制部3110a接收算法信息、其他参数信息以及控制平面会话密钥,并且此后能够(使用控制平面会话密钥)开始控制平面会话,而无需考虑通信控制部3110c或桥一端3110b是否已经具有相同的控制平面会话密钥(步骤S3304)。要注意的是,传感器部3120a或桥另一端3120b可从通信控制部3110a接收CCI扩展报头(EXTENDED HEADER),然后(使用控制平面会话密钥)开始控制平面会话(步骤S3303;是)。在这种情况下,传感器部3120a或桥另一端3120b可设置CCI消息计数器的字节宽度或位宽度。
相反,通信控制部3110a可以首先将控制平面会话密钥发送到作为控制平面主机的通信控制部3110c或桥一端3110b,然后将控制平面会话密钥发送到作为控制平面设备的传感器部3120a或桥另一端3120b。在这种情况下,通信控制部3110a将控制平面会话开始请求发送到通信控制部3110c或桥一端3110b,从而使得通信控制部3110c或桥一端3110b能够确定传感器部3120a或桥另一端3120b已经具有相同的控制平面会话密钥。结果,通信控制部3110c或桥一端3110b能够(使用控制平面会话密钥)开始控制平面会话(步骤S3204)。
应注意,尽管在流程图中省略,但通信控制部3110c或桥一端3110b在适当的定时发送由控制平面会话密钥保护的写命令或读命令。此外,传感器部3120a或桥另一端3120b在适当的定时发送由控制平面会话密钥保护的读响应。
通信控制部3110a可以保持多个控制平面会话密钥(MAC密钥或加密密钥)。“算法信息、其他参数信息和会话密钥的发送”和“会话密钥的发送”是指例如由厂商定义的SPDM消息(例如,VENDOR_DEFINED_REQUEST请求消息或VENDOR_DEFINED_RESPONSE响应消息)发送。通信控制部3110a在VENDOR_DEFINED_REQUEST请求消息中发送算法信息、其他参数信息或控制平面会话密钥。在通信控制部3110a发送VENDOR_DEFINED_REQUEST请求消息的情况下,该处理可以响应于接收到VENDOR_DEFINED_RESPONSE响应消息而前进到下一步骤,其中该VENDOR_DEFINED_RESPONSE响应消息表示请求消息已经由通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a正常地接收或处理。
此外,例如,假设通信控制部3110a接收到VENDOR_DEFINED_RESPONSE响应消息或ERROR响应消息,该消息表示请求消息没有被通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a正常接收或处理。在这种情况下,例如,通信控制部3110a可以根据需要重新发送VENDOR_DEFINED_REQUEST请求消息,并且可以发送相同的控制平面会话密钥或重新生成的不同的控制平面会话密钥。
同时,在VENDOR_DEFINED_REQUEST请求消息被正常接收或处理的情况下,通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a可以发送指示请求消息已经被正常接收或处理的VENDOR_DEFINED_RESPONSE响应消息,然后处理可以前进到下一步骤。另外,在VENDOR_DEFINED_REQUEST请求消息没有被正常接收或处理的情况下,通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a可以发送表示该效果的VENDOR_DEFINED_RESPONSE响应消息或ERROR响应消息,或者可以请求SSMC重传VENDOR_DEFINED_REQUEST请求消息。此外,同样在请求消息的处理在预定时段内未完成的情况下,通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a可以发送表示该效果的VENDOR_DEFINED_RESPONSE响应消息或ERROR响应消息,或者可以请求SSMC重传VENDOR_DEFINED_REQUEST请求消息。
通信控制部3110a掌握通信控制部3110c或桥一端3110b和桥另一端3120b或传感器部3120a所使用的控制平面会话密钥是否需要更新。因此,通信控制部3110a通过VENDOR_DEFINED_REQUEST请求消息周期性地将控制平面会话密钥确认请求发送到通信控制部3110c或桥一端3110b(步骤S3106)。
通信控制部3110c或桥一端3110b从通信控制部3110a接收控制平面会话密钥确认请求(步骤S3205;是)。然后,响应于控制平面会话密钥确认请求,通信控制部3110c或桥一端3110b通过VENDOR_DEFINED_RESPONSE响应消息或ERROR响应消息将控制平面会话密钥确认响应发送到通信控制部3110a(步骤S3208)。这里,控制平面会话密钥确认响应包括表示是否需要更新由通信控制部3110c或桥一端3110b和桥另一端3120b或传感器部3120a使用的控制平面会话密钥的信息、表示控制平面会话密钥的使用次数(例如,MAC值的计算次数)的信息等。
假设当通信控制部3110c或桥一端3110b通过VENDOR_DEFINED_REQUEST请求消息接收控制平面会话密钥确认请求时,通信控制部3110c或桥一端3110b正在使用控制平面会话密钥。此时,通信控制部3110c或桥一端3110b可通过发送VENDOR_DEFINED_RESPONSE响应消息或ERROR响应消息来请求通信控制部3110a重新发送控制平面会话密钥确认请求。
假设通信控制部3110c或桥一端3110b期望更新控制平面会话密钥。在这种情况下,通信控制部3110c或桥一端3110b期望在通信控制部3110c或桥一端3110b不使用控制平面会话密钥的定时(例如,在完成MAC值的计算并且完成控制平面会话密钥的使用之后)请求通信控制部3110a发送控制平面会话密钥(步骤S3207)。此时,通信控制部3110c或桥一端3110b能够在通信控制部3110a上通过VENDOR_DEFINED_RESPONSE响应消息或ERROR响应消息执行控制平面会话密钥的发送请求(例如,控制平面会话密钥确认响应)(步骤S3208)。
通信控制部3110a接收控制平面会话密钥的发送请求(例如,控制平面会话密钥确认响应)(步骤S3111)。然后,在需要更新控制平面会话的情况下,通信控制部3110a生成新的控制平面会话密钥(步骤S3112;是,S3113)。通信控制部3110a将新生成的控制平面会话密钥发送到传感器部3120a、桥另一端3120b、通信控制部3110c或桥一端3110b(步骤S3114和S3115)。此后,通信控制部3110a将控制平面会话开始请求发送至通信控制部3110c或桥一端3110b(步骤S3116)。
通信控制部3110c或桥一端3110b从通信控制部3110a接收控制平面会话密钥作为对控制平面会话密钥的发送请求的响应(例如,控制平面会话密钥确认响应)(步骤S3209;是)。当接收控制平面会话密钥时,通信控制部3110c或桥一端3110b更新控制平面会话密钥(步骤S3210)。
传感器部3120a或桥另一端3120b从通信控制部3110a接收控制平面会话密钥(步骤S3305;是)。当接收到控制平面会话密钥时,传感器部3120a或桥另一端3120b更新控制平面会话密钥(步骤S3306)。
通信控制部3110a可以通过VENDOR_DEFINED_REQUEST请求消息将控制平面会话结束请求发送到通信控制部3110c或桥一端3110b,以请求控制平面会话的结束(步骤S3108)。此时,通信控制部3110c或桥一端3110b可响应于控制平面会话结束请求,将通过VENDOR_DEFINED_RESPONSE响应消息或ERROR响应消息来响应是否结束控制平面会话的控制平面会话结束响应发送到通信控制部3110a。
通信控制部3110a还可以通过VENDOR_DEFINED_REQUEST请求消息将控制平面会话结束请求发送到传感器部3120a或桥另一端3120b(步骤S3109)。此时,传感器部3120a或桥另一端3120b可向通信控制部3110a发送通过响应于控制平面会话结束请求的VENDOR_DEFINED_RESPONSE响应消息或ERROR响应消息来响应是否结束控制平面会话的控制平面会话结束响应。
在完成控制平面会话的情况下,通信控制部3110a首先将控制平面会话结束请求发送到通信控制部3110c或作为控制平面主机的桥一端3110b。然后,通信控制部3110a使得通信控制部3110c或者桥一端3110b使用控制平面会话密钥来结束。此后,通信控制部3110a向作为控制平面设备的传感器部3120a或桥另一端3120b发送控制平面会话结束请求。然后,通信控制部3110a利用控制平面会话密钥使传感器部3120a或桥另一端3120b结束。在此顺序的情况下,立即或安全地结束会话。
通信控制部3110a、通信控制部3110c、桥一端3110b、传感器部3120a或桥另一端3120b在会话结束时丢弃或清除控制平面会话密钥(步骤S3110、S3213和S3309)。以这种方式,执行通信系统3100中的控制平面会话。
(数据平面会话)
图238、239、240和241各自示出了通信系统3100中的数据平面会话的流程图的实例。图239中的流程是图238之后的流程。
首先,通信系统3100在通信控制部3110a与通信控制部3110c、桥一端3110b、传感器部3120a、桥另一端3120b之间建立SPDM会话(步骤S3401、3501、3601)。接着,通信控制部3110a生成偶密钥和奇密钥(步骤S3402)。
接下来,通信系统3100通过VENDOR_DEFINED_REQUEST请求消息或写命令,将数据平面会话开始请求发送到传感器部3120a或桥另一端3120b(步骤S3405)。传感器部3120a或桥另一端3120b接收数据平面会话开始请求(步骤S3603;是)。然后,传感器部3120a或桥另一端3120b可通过响应于数据平面会话开始请求的VENDOR_DEFINED_RESPONSE响应消息、ERROR响应消息或读响应来将数据平面会话开始响应发送到通信控制部3110a。
然而,数据平面会话开始请求可以是图像数据传送开始请求或高速数据传输开始请求。此外,例如,通过将“算法信息、其他参数信息和偶密钥和奇密钥”的接收完成解释为数据平面会话开始请求,可以省略数据平面会话开始请求的发送和接收。在SPDM会话建立之后立即可以省略“奇密钥的生成”、“奇密钥的发送”和“奇密钥的接收”。
偶密钥是数据平面会话密钥,并且是加密密钥或MAC密钥中的至少一者。同样地,奇密钥是数据平面会话密钥,并且是加密密钥或MAC密钥中的至少一个。流程图中的偶密钥和奇密钥的表达式可以是偶密钥/奇密钥的反转。偶密钥或奇密钥可以被称为密钥0、密钥1、密钥2、密钥3或密钥4中的一个。
通信控制部3110a首先将算法信息、其他参数信息以及数据平面会话密钥发送到通信控制部3110c或作为数据平面主机的桥一端3110b(步骤S3403)。此后,通信控制部3110a将算法信息、其他参数信息以及数据平面会话密钥发送到传感器部3120a或桥另一端3120b(其是数据平面设备)(步骤S3404)。在这种情况下,传感器部3120a或桥另一端3120b从通信控制部3110a接收算法信息、其他参数信息以及数据平面会话密钥(步骤S3602;是)。此外,通信控制部3110c或桥一端3110b从通信控制部3110a接收算法信息、另一参数信息以及数据平面会话密钥(步骤S3502;是)。结果,传感器部3120a或桥另一端3120b能够(使用数据平面会话密钥(流程图中的偶密钥))开始数据平面会话,而无需考虑通信控制部3110c或桥一端3110b是否已经具有相同的数据平面会话密钥(步骤S3605)。
相反,通信控制部3110a可首先将数据平面会话密钥发送到传感器部3120a或作为数据平面设备的桥另一端3120b,然后将数据平面会话密钥发送到通信控制部3110c或作为数据平面主机的桥一端3110b。在这种情况下,通信控制部3110a向传感器部3120a或桥另一端3120b发送数据平面会话开始请求,由此使传感器部3120a或桥另一端3120b能够确定通信控制部3110c或桥一端3110b已经具有相同的数据平面会话密钥。结果,传感器部3120a或桥另一端3120b能够开始数据平面会话(使用数据平面会话密钥(流程图中的偶密钥))(步骤S3605)。
应当注意,虽然在流程图中省略,但是传感器部3120a或桥另一端3120b在合适的定时发送由偶密钥或奇密钥保护的扩展分组(例如,帧开始、嵌入数据、图像数据、用户定义数据或帧结束)。
通信控制部3110a可以保持多个偶密钥和多个奇密钥。“算法信息、其他参数信息、偶密钥以及奇密钥的发送”、“偶密钥的发送”以及“奇密钥的发送”是指例如由厂商定义的SPDM消息(例如,VENDOR_DEFINED_REQUEST请求消息或VENDOR_DEFINED_RESPONSE响应消息)发送。通信控制部3110a在VENDOR_DEFINED_REQUEST请求消息中发送算法信息、其他参数信息或数据平面会话密钥。在通信控制部3110a发送VENDOR_DEFINED_REQUEST请求消息的情况下,该处理可以响应于接收到VENDOR_DEFINED_RESPONSE响应消息而前进到下一步骤,其中该VENDOR_DEFINED_RESPONSE响应消息表示请求消息已经由通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a正常地接收或处理。
此外,例如,假定通信控制部3110a接收到VENDOR_DEFINED_RESPONSE响应消息或ERROR响应消息,该消息表示请求消息没有被通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a正常接收或处理。在这种情况下,例如,通信控制部3110a可以根据需要重传VENDOR_DEFINED_REQUEST请求消息,并且可以发送相同的数据平面会话密钥或再生的不同的数据平面会话密钥。
同时,在VENDOR_DEFINED_REQUEST请求消息被正常接收或处理的情况下,通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a可以发送指示请求消息已经被正常接收或处理的VENDOR_DEFINED_RESPONSE响应消息,然后处理可以前进到下一步骤。另外,在VENDOR_DEFINED_REQUEST请求消息没有被正常接收或处理的情况下,通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a可以发送表示该效果的VENDOR_DEFINED_RESPONSE响应消息或ERROR响应消息,或者可以请求SSMC重传VENDOR_DEFINED_REQUEST请求消息。另外,在请求消息的处理在预定时段内未完成的情况下,通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a可以发送表示该效果的VENDOR_DEFINED_RESPONSE响应消息或ERROR响应消息,或者可以请求SSMC重传VENDOR_DEFINED_REQUEST请求消息。
通信控制部3110a在VENDOR_DEFINED_REQUEST请求消息中掌握由通信控制部3110c或桥一端3110b使用的数据平面会话密钥是偶密钥还是奇密钥。因此,通信控制部3110a周期性地向通信控制部3110c或桥一端3110b发送数据平面会话密钥确认请求(步骤S3406和S3413)。
通信控制部3110c或桥一端3110b从通信控制部3110a接收数据平面会话密钥确认请求(步骤S3510和S3514;是)。然后,响应于数据平面会话密钥确认请求,通信控制部3110c或桥一端3110b通过VENDOR_DEFINED_RESPONSE响应消息或ERROR响应消息将数据平面会话密钥确认响应发送到通信控制部3110a(步骤S3511和S3515)。这里,数据平面会话密钥确认响应包括指示在通信控制部3110c或桥一端3110b中使用的数据平面会话密钥是偶密钥还是奇密钥的信息。
要注意的是,期望为每一帧或每多帧周期性地发送数据平面会话密钥确认请求,并且期望在帧消隐时段或行消隐时段中发送数据平面会话密钥确认响应。
通信控制部3110a从通信控制部3110c或桥一端3110b接收数据平面会话密钥确认响应(步骤S3408和S3415)。在数据平面会话密钥确认响应包括指示数据平面会话密钥是奇密钥的信息的情况下,通信控制部3110a生成偶密钥(步骤S3410)。通信控制部3110a将生成的偶密钥发送到通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a(步骤S3411和S3412)。在数据平面会话密钥确认响应包括指示数据平面会话密钥是偶密钥的信息的情况下,通信控制部3110a生成奇密钥(步骤S3417)。通信控制部3110a将生成的奇密钥发送到通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a(步骤S3418和S3419)。
通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a从通信控制部3110a接收偶密钥(步骤S3504;是和S3613;是)。然后,通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a利用接收到的偶密钥更新数据平面会话密钥(步骤S3505和S3614)。通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a从通信控制部3110a接收奇密钥(步骤S3506;是和S3607;是)。然后,通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a使用接收到的奇密钥更新数据平面会话密钥(步骤S3507和S3608)。
桥另一端3120b或传感器部3120a向通信控制部3110c或桥一端3110b执行使用偶密钥的开始定时的指定的高速数据传输(步骤S3606)。通信控制部3110c或桥一端3110b从桥另一端3120b或传感器部3120a接收使用偶密钥开始的定时的指定(步骤S3508)。然后,通信控制部3110c或桥一端3110b使用偶密钥开始(步骤S3509)。桥另一端3120b或传感器部3120a向通信控制部3110c或桥一端3110b执行使用奇密钥开始定时的指定的高速数据传输(步骤S3612)。通信控制部3110c或桥一端3110b从桥另一端3120b或传感器部3120a接收使用奇密钥开始的定时的指定(步骤S3512)。然后,通信控制部3110c或桥一端3110b开始使用奇密钥(步骤S3513)。
在结束会话的继续的情况下(步骤S3407和S3414;是)中,通信控制部3110a通过VENDOR_DEFINED_REQUEST请求消息向通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a发送数据平面会话结束请求(步骤S3420和S3421)。通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a响应于数据平面会话结束请求,通过VENDOR_DEFINED_RESPONSE响应消息或ERROR响应消息将数据平面会话结束响应发送到通信控制部3110a(步骤S3516和S3617)。
在结束数据平面会话的情况下,通信控制部3110a首先将数据平面会话结束请求发送到作为数据平面设备的传感器部3120a或桥另一端3120b。然后,通信控制部3110a使用数据平面会话密钥使传感器部3120a或桥另一端3120b结束。此后,通信控制部3110a将数据平面会话结束请求发送到通信控制部3110c或作为数据平面主机的桥一端3110b。然后,通信控制部3110a使得通信控制部3110c或者桥一端3110b结束使用数据平面会话密钥。在此顺序的情况下,立即或安全地结束会话。顺便提及,虽然已经通过参考使用一个控制平面会话密钥的实例给出了控制平面会话密钥的描述,但是控制平面会话密钥也可以由偶密钥和奇密钥构成。
当会话结束时,通信控制部3110a、通信控制部3110c、桥一端3110b、传感器部3120a、或桥另一端3120b丢弃或清除偶密钥和奇密钥(步骤S3422、S3517和S3618)。以这种方式,执行通信系统3100中的数据平面会话。
图242示出通信系统3100的变形例。
通信控制部3110c或桥一端3110b可以能够执行带内中断。在这种情况下,控制平面会话密钥确认请求或数据平面会话密钥确认请求不需要周期性地传送。通信控制部3110a可以响应于带内中断而传送控制平面会话密钥确认请求或数据平面会话密钥确认请求。此外,通信控制部3110c或桥一端3110b可以发送控制平面会话密钥确认响应或数据平面会话密钥确认响应作为带内中断。在这种情况下,可以省略控制平面会话密钥确认请求或数据平面会话密钥确认请求。
此外,第二控制平面主机(例如,CCI主)可以被添加在通信控制部3110c或桥一端3110b中,并且第二控制平面设备(例如,CCI从)可以被添加在通信控制部3110a中。在这种情况下,可以根据需要将信息从通信控制部3110c或者桥一端3110b发送至通信控制部3110a。这消除了周期性地传送控制平面会话密钥确认请求或数据平面会话密钥确认请求的需要。然而,期望第二控制平面主机与第二控制平面设备之间的通信至少由消息认证保护,但并不局限于此。第一控制平面主设备和第二控制平面主设备可以分离或集成。此外,第二控制平面主机可以由SPDM请求方替换,并且第二控制平面设备可以由SPDM应答方替换。
顺便提及,VENDOR_DEFINED_REQUEST请求消息或VENDOR_DEFINED_RESPONSE响应消息的其他参数信息可包括控制平面消息计数器信息、控制平面消息认证码信息、控制平面盐(随机数)信息、控制平面会话密钥周期信息、数据平面消息认证码信息、数据平面盐(随机数)信息以及数据平面会话密钥周期信息中的至少一个。会话密钥周期信息可以是关于通信控制部3110a确认会话密钥的周期(例如,下限周期、标准周期或上限周期)的信息。另外,会话密钥周期信息可以是关于通信控制部3110c、桥一端3110b、桥另一端3120b或传感器部3120a更新会话密钥的周期(例如,下限周期、标准周期或上限周期)的信息。
控制平面会话开始(请求或响应)、控制平面会话密钥确认(请求或响应)、控制平面会话停止(请求或响应)以及控制平面会话结束(请求或响应)中的一些或全部可以存储在同一VENDOR_DEFINED_REQUEST请求消息中或存储在同一VENDOR_DEFINED_RESPONSE响应消息中。同样地,数据平面会话开始(请求或响应)、数据平面会话密钥确认(请求或响应)和数据平面会话结束(请求或响应)中的一些或全部可存储在相同的VENDOR_DEFINED_REQUEST请求消息中或存储在相同的VENDOR_DEFINED_RESPONSE响应消息中。
顺便提及,由厂商定义的SPDM消息的会话开始请求可以被解释为会话密钥使用开始请求、偶密钥使用开始请求、或奇密钥使用开始请求。同样地,由厂商定义的SPDM消息的会话停止请求可被解释为会话密钥使用停止请求、偶密钥使用停止请求或奇密钥使用停止请求。同样地,由厂商定义的SPDM消息的会话结束请求可被解释为会话密钥使用结束请求、偶密钥使用结束请求或奇密钥使用结束请求。
顺便提及,控制平面主机和控制平面设备不仅可以适应单播(一对一)发送或接收,而且可以适应多播(一对多)发送或接收。即,虽然已经通过参考使用一个SoC的实例给出了描述,但是可以提供多个SoC。此外,数据面主设备和数据面设备不仅可以适应单播(一对一)的发送或接收,还可以适应多播(一对多)的发送或接收。即,虽然已经通过参考使用一个SoC的实例给出了描述,但是可以提供多个SoC。
具体地,例如,第一SoC包括SPDM请求方或SPDM应答方以及控制平面主机或数据平面主机。进一步,第二SoC包括SPDM请求方或SPDM应答方以及控制平面主机或数据平面主机。此时,相同的信息(例如,图像系统数据、控制系统命令和控制系统数据)可从传感器或桥另一端发送到第一SoC和第二SoC。
此外,例如,可以在传感器或者桥另一端和桥一端之间采用单播,桥一端可以采用多播到第一SoC和第二SoC(桥一端分支)。此外,例如,SSMC可建立关于第一SoC的SPDM会话。此外,SSMC可建立关于第二SoC的SPDM会话。另外,SSMC可向第一SoC和第二SoC以及传感器或桥另一端发送相同的会话密钥。
此外,例如,在图像系统通信的情况下,SSMC首先将会话密钥、偶密钥或奇密钥发送至第一SoC。接下来,SSMC将相同的会话密钥、偶密钥或奇密钥发送到第二SoC。最后,SSMC将相同的会话密钥、偶密钥或奇密钥发送到传感器或桥另一端。
此外,例如,在控制系统通信的情况下,SSMC首先将会话密钥、偶密钥或奇密钥发送到传感器或桥另一端。接下来,SSMC将相同的会话密钥、偶密钥或奇密钥发送到第二SoC。最后,SSMC将相同的会话密钥、偶密钥或奇密钥发送到第一SoC。然而,SSMC和第一SoC可以分离或集成,并且SSMC和第二SoC可以分离或集成。
顺便提及,SSMC、SoC或桥一端可以被包括在移动体设备中,并且传感器或桥另一端可以被包括在成像设备中。成像设备可以被构建到移动体设备中;成像设备可以安装在移动体设备的内部,或者成像设备可以安装在移动体设备的外部。此时,从功率效率或者数据效率的观点出发,与移动体设备的SSMC和移动体设备的SoC或者桥一端之间的通信的总次数或者通信数据的总量相比,能够削减移动体设备的SSMC与成像设备的传感器或者桥另一端之间的通信的总次数或者通信数据的总量。因此,已经提出流程图的实例,其中,在SSMC与传感器或桥另一端之间的控制系统通信(例如,SPDM会话)的VENDOR_DEFINED_REQUEST请求消息、VENDOR_DEFINED_RESPONSE响应消息或ERROR响应消息中使用的数据的使用次数或数据量小于在SSMC与SoC或桥一端之间的控制系统通信(例如,SPDM会话)的使用次数或数据量。
同样地,SSMC与SoC或桥一端之间的HEARTBEAT周期被设置为短于SSMC与传感器或桥另一端之间的HEARTBEAT周期(条件是在SSMC与传感器或桥另一端之间可能不提供HEARTBEAT函数)。此外,通过图像系统通信(例如,嵌入数据、空白图像数据、扩展分组报头)或通过第二控制系统通信(例如,读响应),将特定消息从传感器或桥的另一端发送至SoC或桥的一端。然后,通过第一控制系统通信(例如,HEARTBEAT_ACK响应消息、ERROR响应消息或者厂商定义的SPDM消息),将基于此的特定消息从SoC或者桥一端发送至SSMC。在这种情况下,也能得到与上述同样的效果。
在这种情况下,SSMC能够通过第一控制系统通信掌握与第二控制系统通信或图像系统通信相关的异常(例如,传感器异常、桥异常、SoC异常或通信异常)的存在或不存在。应注意,上述特定消息可存储在上述VENDOR_DEFINED_RESPONSE响应消息中的一些或全部中。另外,用于开始使用的定时指定可以不仅通过厂商定义的SPDM消息而且通过HEARTBEAT_ACK响应消息或ERROR响应消息从SoC、桥一端、桥另一端或传感器发送到SSMC。
顺便提及,保护第一通信(例如,第一控制系统通信)和第二通信(例如,第二控制系统通信或图像系统通信)的保护部(安全部)可以包括第一安全算术部(例如,用于第一控制系统通信)、第二安全算术部(例如,用于第二控制系统通信)和第三安全算术部(例如,用于图像系统通信)。此外,相同的加密算法可应用于第一安全算术部、第二安全算术部和第三安全算术部,或者不同的加密算法可应用于第一安全算术部、第二安全算术部和第三安全算术部。例如,对于第一控制系统通信或对于第二控制系统通信,块密码CBC模式或块密码CTR模式中的一个和HMAC、CMAC或GMAC中的一个的组合可以被应用于第一安全算术部或第二安全算术部。此外,对于图像系统通信,AES-GCM、AES-GMAC、块密码CCM模式、HMAC或CMAC之一可应用于第三安全算术部。
此外,对于第一控制系统通信或第二控制系统通信,AES-GCM或块密码CCM模式中的一个可以应用于第一安全算术部或第二安全算术部。此外,对于图像系统通信,可以将块密码CBC模式或块密码CTR模式中的一个与HMAC、CMAC和GMAC中的一个的组合应用于第三安全算术部。然而,第一安全算术部和第二安全算术部可以被整合而不是分离。扩展模式自适应CSI-2发送电路和/或安全部可被解释为保护部,或者扩展模式自适应CSI-2接收电路和/或安全部可被解释为保护部。
包括在任何附图(诸如框图或流程图)中的组件的定时或位置是示例性的,并且可以被不同地构成。存在用于在上述每个实例中描述的实施方式的各种变形例。即,关于所描述的示例中的每一个的组件,可以省略组件中的一些,可以改变组件中的一些或全部,或者可以修改组件中的一些或全部。此外,一些部可以被其他部替换,或者其他部可以被添加到一些或全部部中。进一步,一些或所有组件可以被划分为多个组件。一些或所有组件可以分成多个组件。多个分割或分开的组件中的至少一些可以具有不同的功能或特征。进一步,组件中的至少一些可被移动以形成不同的实施例。此外,绑定元件或中继元件可以被添加到至少一些部的组合以形成不同的实施例。此外,开关功能可以被添加到至少一些组件的组合以形成不同的实施例。
本实施例不限于在所述实例中示出的构成,并且可以在不脱离本技术的主旨的情况下以多种方式进行修改。要注意的是,在本文中描述的效果仅仅具有示例性而非限制性,并且可具有其他效果。在本说明书中,由计算机根据程序执行的处理不必按照描述为流程图的顺序按定时序列执行。即,由计算机根据程序执行的处理还包括并行或单独执行的处理(例如,并行处理或基于对象的处理)。另外,程序可以由一个计算机(处理器)处理,或者可以经受由多个计算机进行的分配式处理。此外,程序可以发送给远程计算机并且执行该程序。
进一步地,如在此所用,术语“系统”意指一组多个组件(设备、模块(零件)等),而不管所有组件是否在同一壳体中。因此,容纳在分开的壳体中并且经由网络耦合在一起的多个设备和在一个壳体中包括多个模块的一个设备各自是一个系统。此外,例如,描述为一个设备(或处理器)的构成可以分为多个构成,其可以用作多个设备(或处理器)。相反,上面描述为多个设备(或处理器)的构成可以被集成为构成为一个设备(或处理器)。另外,当然可以向每个设备(或每个处理器)的构成添加除了所描述的构成以外的构成。此外,当作为整个系统的构成和操作基本上相同时,某个设备(或处理器)的构成中的一些可以包括在另一设备(或另一处理器)的构成中。
此外,例如,本技术可以采用云计算构成,其中,通过网络由多个设备共享和联合处理一个功能。此外,例如,所描述的程序可以在任何设备中执行。在这种情况下,设备具有必要的功能(诸如功能块)以能够获得必要的信息就足够了。此外,例如,描述的流程图中描述的步骤可以由一个设备执行,并且还可以由多个设备共享和执行。此外,在一个步骤中包括多个处理的情况下,包括在一个步骤中的多个处理可以由一个设备执行,并且还可以由多个设备共享和执行。换言之,包括在一个步骤中的多条处理也可以被执行为多个步骤的处理。相反,描述为多个步骤的处理可以作为一个步骤集体执行。
应注意,关于由计算机执行的程序,描述程序的步骤的处理可以按照本文中描述的顺序按定时序列执行,或者可以在诸如进行调用时的必要定时并行或单独执行。即,除非发生矛盾,否则可以以不同于所描述的顺序的顺序执行各个步骤的处理。此外,描述该程序的步骤的处理可以与另一程序的处理并行执行,或者可以与另一程序的处理结合执行。
要注意的是,除非发生矛盾,否则本文所述的多种技术可彼此独立地单独实施。不必说,可以一起使用任何现有的多种技术。例如,可以结合在其他实施方式中描述的一些或所有本技术来实现在任一实施方式中描述的一些或所有本技术。此外,所描述的本技术中的任一个的一些或全部可与未描述的其他技术一起实现。
[变形例I]
图243为示出前述实施例和其修改例的写数据(WRITE DATA;写数据)的分组构成的示例的示图。图244示出了在上述实施方式及其变形例中的写数据的处理的实例。应注意,在图243和图244中由虚线表示的位置是可选的。
在下文中,在单独模式中,其中为每个消息(或每个事务)执行MAC值的算术运算的模式被称为第一CCI模式。在运行模式中,对于在预定周期内(例如,在一个帧内)发送或接收的每一个或多个消息(例如,对于每个帧)执行MAC值的算术运算的模式被称为第二CCI模式。在个体模式中,对于每多个消息执行MAC值的算术运算的模式被称为第三CCI模式。图243示出了单独模式(第一CCI模式)下的写命令的实例,其中,为每个消息执行MAC值的算术运算。图244示出了在主侧(例如,应用处理器(SoC))和从侧(例如,图像传感器)上执行图243中的写命令的处理的实例。在下文中,桥另一端3120b或传感器部3120a能够选择两种类型的消息认证(MAC)策略中的至少一个作为控制系统通信或图像系统通信中的消息认证策略。
例如,在以下类型的两种情况中的一种情况中执行写数据、读数据或解密结果的执行或反映:总是(无拒绝)和仅MAC验证成功的情况(仅当MAC匹配时)。例如,MAC与加密(解密)之间的关系仅是三种类型中的一种:加密-然后-MAC、MAC-然后-加密、加密-和-MAC。例如,加密-然后-MAC是以下两种类型中的一种:第一加密-然后-MAC(加密-然后-MAC-0)和第二加密-然后-MAC(加密-然后-MAC-1)。例如,MAC目标是两种类型之一:是否部分地从消息认证目标中排除。例如,MAC排除模式的类型是MAC排除模式的两种或更多种类型中的一种。例如,与MAC禁用有关的信息是以下两种类型之一:是否容忍消息认证或包括消息认证的安全特征的禁用。
从S(开始条件)到P(停止条件)的范围被定义为一个消息(或一个交易)。通过顺序写入(图243)或单次写入(仅写入WRITE DATA 0)写入的写数据(WRITE DATA)被定义为一个数据组(one data group)。在图243中,多个数据组包括在一个消息中。在上述实施例及其变形例中,在桥另一端3120b或传感器部3120a中,在写数据的一部分或全部经受消息认证(MAC)的情况下,希望在控制系统通信中可限制数据组的数量。
通常,在确认消息认证之后执行写数据是期望的(MAC值在主侧和从侧之间彼此一致,即,接收到的MAC值和从接收到的一条或多条消息中的一些或所有消息中通过算术运算获得的MAC值彼此一致)。在这种情况下,在消息认证被确认之前,需要将写数据的一部分或全部保存在诸如缓冲存储器的存储部中。然而,缓冲存储器具有可以保持的数据量的上限,并且因此,除非对数据组存在约束,否则缓冲器溢出可能发生在上限之外。因此,希望对数据组的数量提供约束。
作为提供这种约束的具体方法,例如,可以想到的是,从侧(例如,图像传感器)事先向主侧(例如,应用处理器(SoC))通知MAC目标数据组的上限数目(在下文中,称为“上限数目Nw_max”),MAC目标数据组可以由从侧(例如,图像传感器)保存在存储部(例如,缓冲存储器)中用于写数据。除此之外,例如,可想象的是,从侧可预先通知主侧对于写数据可从侧保持在存储部中的MAC目标数据组的数据量(例如,字节计数和位计数)的上限值(在下文中,称为“上限量Bw_max”)。
这个预先通知可以由预先约定(私人合同)取代。然而,例如,上限数目Nw_max或上限量Bw_max可通过经由功能寄存器(例如,SPDM会话、控制平面会话)的通信而从从侧(例如,图像传感器)通知给主侧(例如,SoC)。这里,功能寄存器是其中存储功能信息的寄存器,并且也被称为能力寄存器,其是存储部的一部分或全部。上限数目Nw_max或上限量Bw_max可由SPDM消息(例如,厂商定义的SPDM消息)经由功能寄存器通知(例如,由)SSMC,且可从SSMC通知(例如,写入)到主侧。可省略图244中示出的隐式数据(未发送)。将在CBC模式中使用的初始化向量IV可存储在MC与MAC之间、MAC与CRC之间、MC之后、MAC之后和CRC之后的任一者中的位置处。
应注意,CCI主侧和CCI从侧可分别被称为控制器侧和目标侧。SLAVE ADDRESS可被称为TARGET ADDRESS,并且REG ADDRESS可被称为SUB ADDRESS。
图245中示出的Max_Aggregation_Extent_Data_Groups是指示上限数Nw_max的功能寄存器的实例。图246中所示的Max_Aggregation_Extent_Buffer是指示上限量Bw_max的功能寄存器的实例。上限数量Nw_max或上限量Bw_max可在第一CCI模式或第三CCI模式(单独模式)和第二CCI模式(运行模式)之间被积分,或者可被分离。在第二CCI模式中,也可以不设置上限数量Nw_max和上限量Bw_max。另外,行驶模式在分开的情况下,可以不等待消息认证的确认而执行写数据(不需要严格限制上限数量Nw_max或上限量Bw_max),因此优选设置为不同的上限数量Nw_max或上限量Bw_max。
图247是示出了在上述实施方式及其变形例中的读数据(READ DATA;读数据)。图248示出了在上述实施方式及其变形例中的读数据的处理的实例。图247示出了单独模式(第一CCI模式)下的读命令和读响应的实例,其中对每个消息执行MAC值的算术运算。图248示出了在主侧(例如,应用处理器(SoC))和从侧(例如,图像传感器)中执行的图247中的读命令和读响应的处理的实例。要注意的是,在图247和248中由虚线表示的位置是可选的。
从S(开始条件)到P(停止条件)的范围被定义为一个消息(或一个事务)。通过顺序读取(图247)或单次读取(仅读取READ DATA0)读取的读数据(READ DATA)被定义为一个数据组。在图247中,多个数据组包括在一个消息中。在上述实施方式及其变形例中,期望在读数据的一部分或全部经受消息认证(MAC)的情况下限制数据组的数量。
通常,期望在消息认证被OK(MAC值在主侧和主侧之间彼此一致,即,接收的MAC值和从接收的一个或多个消息中的一些或所有通过算术运算获得的MAC值彼此一致)之后执行读数据。在这种情况下,读数据的一部分或全部需要保持在诸如缓冲存储器的存储部中。然而,缓冲存储器具有可以保持的数据量的上限,并且因此,除非对数据组存在约束,否则缓冲器溢出可能发生在上限之外。因此,希望对数据组的数量提供约束。例如,在发送或接收读响应的情况下,通过带内中断省略读命令,期望限制数据组的数量。
作为提供这种约束的具体方法,例如,可以设想,主侧(例如,SoC)提前通知从侧(例如,图像传感器)MAC目标数据组的上限数量(在下文中,称为“上限数量Nr_max”),其中,主侧(例如,SoC)可以保存在存储部(例如,缓冲存储器)中用于读数据的MAC目标数据组的上限数量(在下文中,称为“上限数量Nr_max”)。除此之外,例如,可想象的是,主侧(例如,SoC)可提前通知从侧(例如,图像传感器)可被主侧(例如,SoC)针对读数据保持在存储部中的MAC目标数据组的数据量(例如,字节计数和位计数)的上限值(在下文中,称为“上限量Br_max”)。
这个预先通知可以由预先协议(私人合同)取代。然而,例如,上限数量Nr_max或上限量Br_max可通过经由功能寄存器(例如,SPDM会话、控制平面会话)的通信从主侧(例如,SoC)通知给从侧(例如,图像传感器)。这里,功能寄存器是其中存储功能信息的寄存器,并且也被称为能力寄存器,其是存储部的一部分或全部。上限数量Nr_max或上限量Br_max可由SPDM消息(例如,厂商定义的SPDM消息)经由功能寄存器通知SSMC(例如,由SSMC读),且可从SSMC通知(例如,读取)到从侧。在SoC和SSMC相同或集成的情况下,可省略功能寄存器,且可通过经由写寄存器的通信(例如,SPDM会话、控制平面会话)从主侧(例如,EoC)向从侧(例如,图像传感器)通知(例如,写入到写入寄存器中)上限数目Nr_max或上限量Br_max。可省略图248中示出的隐式数据(未发送)。将在CBC模式中使用的初始化向量IV可存储在MC与MAC之间、MAC与CRC之间、MC之后、MAC之后和CRC之后的任一者中的位置处。虽然已经给出了描述,但是在图244、248和250中,通过参考作为由MAC覆盖的明文的隐式数据(MCc-1[7:0]到MC1[7:0])插入在REG ADDRESS[7:0]和MC0[7:0]之间的实例,作为由MAC覆盖的明文的隐式数据可被插入到另一位置,或者可被插入到例如MC0[7:0]之后。此外,MC c-1[7:0]到MC1[7:0]的顺序可以是MC 1[7:0]到MC c-1[7:0]。显式MC(MC不是隐式数据)可以是两个或者更多字节,或者显式MC不仅可以包括MC 0[7:0],而且可以包括MC 1[7:0]或者MC[15:8],还包括其他图;可以省略CRC的一些或全部。
图245中示出的Max_Aggregation_Extent_Data_Groups是指示上限数Nr_max的写寄存器或功能寄存器的实例。主侧能够保持在存储部中的MAC目标数据组的上限数量可以是对于读数据的主侧能够保持在存储部中的MAC目标数据组的数据量(例如,字节计数和位计数)的上限。图246中所示的Max_Aggregation_Extent_Buffer是指示上限量Br_max的写寄存器或者功能寄存器的实例。图245或246中的一些或所有表达可在主侧和从侧之间进行区分,例如,以为主侧和从侧定义相应的合适的数值范围,或者为主侧和从侧防止字段彼此重叠。上限数量Nr_max或上限量Br_max可在第一CCI模式或第三CCI模式(单独模式)与第二CCI模式(运行模式)之间被积分,或者可被分离。第二CCI模式可不被提供有上限数目Nr_max和上限量Br_max。在被分离的情况下,运行模式可在不等待消息认证的验证的情况下执行读数据(不需要严格限制上限数量Nr_max或上限量Br_max),因此期望被设置为不同的上限数量Nr_max或上限量Br_max。
可以由从侧或主侧保持在存储部中的MAC目标数据组的上限数目或数据量上限可以在写数据与读数据之间整合,或者可以分离。在被分离的情况下,可以在写数据和读数据之间设置不同的上限数量或数据量上限。如上所述,功能寄存器在控制系统通信或图像系统通信的消息认证中,存储与CCI的主侧或从侧的保护部可保持在存储部中的数据量的上限相关的信息(例如,MAC目标数据组的上限数量、MAC目标数据组的数据量上限)。如上所述,功能寄存器对于控制系统通信或图像系统通信的消息认证,存储与CCI的主侧或从侧的保护部可保持在存储部中的数据量的上限相关的信息(例如,上限数Nw_max、上限数Nr_max、上限量Bw_max、上限量Br_max)。消息认证在不超过MAC目标数据组的上限数目或数据量上限的范围内在MAC目标数据组上进行验证,该MAC目标数据组可以由从侧或主侧保存在存储部中。
要注意的是,期望在开始下一个消息认证之前完成缓冲器(例如,CCI接收缓冲器)处理。指示缓冲器处理是否已完成的信息(读响应)可响应于来自CCI主侧的读命令从CCI从侧发送到主侧。指示缓冲器处理是否已经结束的信息可以作为来自CCI主侧的写命令从CCI主侧发送到从侧。用于完成缓冲处理的诸如等待时间或禁止时间的信息可以经受CCI主侧和从侧之间的识别的调整,或者可以经受在图像系统数据发送侧和成像系统数据接收侧之间的识别的调整,例如,经由预协议、功能寄存器、SPDM消息(例如,厂商定义的SPDM消息)、扩展分组报头(EXTENDED HEADER)、触发器描述器等。CCI从侧可在图像系统通信的嵌入数据中存储指示缓冲器处理已经完成的信息,并将其从CCI从侧发送到主侧。CCI主侧可基于这些信息中的任何信息来确定CCI从侧的缓冲器处理是否已完成。同样,CCI从侧可基于这些信息中的任何信息来确定CCI主侧的缓冲器处理是否已完成。
在图243和图247中,S(开始条件)、Sr(重复开始条件)、P(停止条件)、A(确认(ACK))和A-(否定确认(NACK)在消息认证目标之外。然而,S(开始条件)、Sr(重复开始条件)、P(停止条件)、A(确认(ACK))、A-(否定确认(NACK))或对应于其的信息在包括其他示例的那些中也可以是消息认证目标。在能力寄存器实例的描述中,厂商定义的SPDM消息实例或者EXTENDED HEADER实例,“位”是位的大小,并且省略位的偏移,但是实际上可以提供偏移。表述“字段”、“位”或“值:描述”是示例性的。“字段”可以被称为至少包括“名称”的表述,“值:描述”可以被称为至少包括“值”或“描述”的表述。
图249示出了上述实施方式及其变形例中的写数据的分组构成的实例。图250示出了前述实施例及其变形例中的写数据的处理的实例。图249示出了单独模式(第三CCI模式)下的写命令的示例,其中,为每多个消息执行MAC值的算术运算。图250示出图249中的写命令的处理的实例。读命令和读响应的实例被省略,因为它们从以上描述中是清楚的。要注意的是,在图249和图250中由虚线表示的位置是可选的。
图249举例说明了一个数据组在一个消息内发送的情况。应注意,可在一个消息内发送多个数据组。在第三CCI模式中,如图251中所示,例如,EXTENDED HEADER可包括指示“包括MAC值的REPEATED START条件行”或“MAC值”是否存储在包括EXTENDED HEADER的消息中的信息(例如,位标志)。可以省略EXTENDED HEADER或包括EXTENDED HEADER的START条件行。
图252示出了在上述实施方式及其变形例中的写数据的分组构成的实例。图252示出了单独模式(第三CCI模式)中的写命令的示例,其中,对于每多个消息执行MAC值的算术运算。写响应、读命令和读响应的实例被省略,因为它们从以上描述中是显而易见的。
在不存在EXTENDED HEADER的情况下,可以周期性地(例如,对于每两个消息)发送或接收MAC值或包括MAC值的REPEATED START条件行。同时,在存在EXTENDED HEADER的情况下,MAC值或包括MAC值的REPEATED START条件行可以被异常地发送或接收(在没有EXTENDED HEADER的情况下,在小于周期的数目的消息之后(例如,在一个消息之后))。
MAC发送周期(例如,每两个消息)可经由预协议、功能寄存器或SPDM消息(例如,厂商定义的SPDM消息)经历CCI主侧和从侧之间的识别的调整,以由此以此方式省略EXTENDEDHEADER。即,在能够循环地发送MAC值或包括MAC值的REPEATED START条件行的情况下,不需要EXTENDED HEADER。在不能循环地发送MAC值或包括MAC值的REPEATED START条件行的情况下,可以使用EXTENDED HEADER。
为了提高数据发送效率或接收效率(最小化由于EXTENDED HEADER引起的开销),可以仅在MAC值或包括MAC值的REPEATED START条件行不能被循环发送的情况下发送或接收EXTENDED HEADER。例如,EXTENDED HEADER可以存储关于是否发送或接收MAC值或包括MAC值的REPEATED START条件行的信息(例如,位标志),关于是否异常地发送或接收MAC值或包括MAC值的REPEATED START条件行、关于MAC值或包括MAC值的REPEATED START条件行是否被包括在当前消息中,关于MAC值或包括MAC值的REPEATED START条件行是否被包括在下一消息中等。
例如,在对于每N个多个消息发送MAC的情况下,EXTENDED HEADER可以存储指示N是固定的还是可变的信息,例如,如图253所示。例如,N最大值N_Max可经受CCI主侧与从侧之间经由预先约定、功能寄存器或SPDM消息(例如,厂商定义的SPDM消息)的识别的调整。在N固定的情况下,MAC可以被发送为N=N_Max,并且在N是可变的情况下,MAC可以被发送为N≤N_Max。另外,在N是可变的情况下,可以发送EXTENDED HEADER。
图254示出上述实施方式及其变形例中的写数据的分组构成的实例。图255示出了前述实施例及其变形例中的写数据的处理的实例。图254示出了运行模式(第二CCI模式)下的写命令的实例,其中,为每个多个消息执行MAC值的算术运算。图255示出了对图254中的写命令的处理的实例。读命令和读响应的实例被省略,因为它们从以上描述中是不清楚的。应注意,由图254和图255中的虚线表示的位置是可选的。
图254举例说明了一个数据组在一个消息内发送的情况。应注意,可在一个消息内发送多个数据群组。在第二CCI模式中,EXTENDED HEADER可包括在完成接收包含EXTENDEDHEADER的消息之后指示是否可完成MAC算术运算或CRC算术运算(包含EXTENDED HEADER的消息是最后的MAC目标消息或CRC目标消息)的信息(例如,位标志)。可以省略EXTENDEDHEADER或包括EXTENDED HEADER的START条件行。
为了提高数据的发送效率或接收效率,EXTENDED HEADER可被构成为仅在消息组中的最终消息的情况下发送或接收。在第二CCI模式中,最后的消息(WRITE DATA 0到WRITEDATA ?-1)在预定时段内(例如,在一个帧内)发送的消息组中可以包括指示MAC算术运算或CRC算术运算是否可以在完成消息接收(消息是最后一个MAC目标消息还是CRC目标消息)之后完成的信息(例如,位标志)。可以提供触发器描述符(TRIGGER DESCRIPTOR)(可以称为包括ESSCCI服务描述符的一部分或全部的表达)。在这种情况下,在第二CCI模式中,在预定时段内(例如,在一帧内)发送的消息组中的最终消息(触发器描述)可包括指示MAC算术运算或CRC算术运算是否能在消息的接收(消息是最后一个MAC目标消息还是CRC目标消息)完成之后完成的信息(例如,位标志)。
例如,可以定义至少与运行模式(第二CCI模式)的操作相关的WRITE寄存器地址(REG ADDRESS);响应于写数据(WRITE DATA 0至WRITE DATA?-1或TRIGGER DESCRIPTOR)的WRITE寄存器地址或指定(在这种情况下,写数据可以省略),从侧可以确定运行模式的操作(例如,是否完成MAC算术运算或CRC算术运算,或是否开始解密处理)。同样地,可以定义至少与运行模式(第二CCI模式)的操作相关的READ寄存器地址(REG ADDRESS);响应于读数据(READ DATA0到READ DATA?-1或触发器描述符)的读取寄存器地址或指定(在这种情况下,读数据可以省略),主侧可以确定运行模式的操作(例如,是否完成MAC算术运算或CRC算术运算,或是否开始解密处理)。按照这些方式,CCI主侧或从侧可以向通信伙伴指定完成MAC或CRC的算术运算的定时。
图256是描述在第二CCI模式中的MAC或CRC的算术处理的实例的流程图。图256举例说明在传感器部3120a或桥另一端3120b中的处理。应注意,由图256中的虚线指示的处理是可选的。
传感器部3120a或桥另一端3120b确定是否结束循环处理(步骤S4101)。例如,在接收到通信的结束命令的情况下,传感器部3120a或桥另一端3120b结束循环处理(步骤S4101;是)。例如,在没有接收到用于通信的结束命令的情况下,传感器部3120a或桥另一端3120b未结束循环处理(步骤S4101;否),并且确定是否开始MAC值的算术运算(MAC算术运算)或CRC值的算术运算(CRC算术运算)(步骤S4102)。例如,在开始接收对应于自身的SLAVEADDRESS的消息的情况下,传感器部3120a或桥另一端3120b开始MAC值的算术运算(MAC算术运算)或CRC值的算术运算(CRC算术运算)(步骤S4102;是和步骤S4103)。例如,在没有接收到与自身相对应的SLAVE ADDRESS的消息的情况下,传感器部3120a或桥另一端3120b不开始上述算术运算(步骤S4102;否),并且处理返回至步骤S4101。第二CCI模式是其中在预定时段内或在预定位宽度内发送的写命令、读命令和读响应(即CCI命令)中的一些或全部将作为消息认证或CRC的保护目标的模式。
在第二CCI模式下,传感器部3120a或桥另一端3120b可将MAC值或CRC值存储在高速数据传输中的相同帧或下一帧的嵌入数据中或存储在下一CCI命令的数据中,以将MAC值或CRC值发送到通信控制部3110a或3110c或桥一端3110b或从通信控制部3110a或3110c或桥一端3110b接收该MAC值或CRC值。传感器部3120a或桥另一端3120b确定是否接收到表示能够完成运算的信息(步骤S4104)。在接收到表示可以完成算术运算的信息的情况下(步骤S4104;是)在第一预定时段T1或第一预定位宽度W1已经过去的情况下(步骤S4107;是)或在已经经过第二预定时段T2或第二预定位宽度W2的情况下(步骤S4106;是),当消息接收尚未完成时,传感器部3120a或桥另一端3120b期望等待直到消息接收完成(步骤S4108)。应注意,可以省略该等待。
这里,在这个操作是第一算术运算的情况下(步骤S4105;是)时,传感器部3120a或桥另一端3120b确定是否已经经过第一预定时段T1或第一预定位宽度W1(步骤S4107)。另外,在该操作不是第一算术运算的情况下(步骤S4105;否),传感器部3120a或桥另一端3120b确定是否已经经过第二预定时段T2或第二预定位宽度W2(步骤S4106)。
在MAC值或CRC值被存储在嵌入数据中的情况下,响应于帧速率周期性地发送嵌入数据(嵌入数据)。因此,希望“相当于第二预定时段T2或第二预定位宽度W2<帧发送周期的定时”成立。更期望“相当于第二预定时段T2或第二预定位宽度W2的时间+消息接收所需的时间+延迟时间等<帧发送周期”成立。第一预定时段T1和第二预定时段T2可以彼此相同,或者可以彼此不同。在第一预定时段T1和第二预定时段T2彼此不同的情况下,提高了系统设计的灵活性。第一预定位宽度W1和第二预定位宽度W2可以彼此相同,或者可以彼此不同。在第一预定位宽度W1和第二预定位宽度W2彼此不同的情况下,提高了系统设计的灵活性。在由于在帧发送开始之前的设置(例如,寄存器设置)而花费比帧发送周期更多的定时的情况下,“第一预定时段T1>第二预定时段T2”或“第一预定位宽度W1>第二预定位宽度W2”保持为真就足够了。
在包括指示消息组中的EXTENDED HEADER或最终消息是否可以完成MAC算术运算或CRC算术运算的信息的情况下,该信息可以是关于是否发送MAC、是否发送CRC、是否发送MAC和CRC等(图257)。例如,在消息组中的最终消息包括上述那些的任何信息的情况下,即,响应于接收到与寄存器定义(Register definition)对应的寄存器地址(REG ADDRESS),并且基于以与寄存器地址对应的方式接收的写数据,传感器部3120a或桥另一端3120b能够确定MAC算术运算或CRC算术运算是否能够完成(步骤S4109)。
例如,在扩展分组报头(EXTENDED HEADER)包括上述那些的任何信息的情况下,即,响应于接收与TRIGGER DESCRIPTOR对应的寄存器地址(REG ADDRESS)或扩展分组报头,并且基于以与寄存器地址对应的方式接收的写数据,传感器部3120a或桥另一端3120b能够确定是否能够完成MAC算术运算或CRC算术运算(步骤S4109)。
要注意的是,字段、位、值或描述的表达可以是可替换的表达,包括由其他表格进行的说明。例如,字段可以被表示为Transmit_Tag、End_Tag、End_CRC、End_MAC、End_CRC_MAC等。传感器部3120a或桥另一端3120b可在第一CCI模式或第三CCI模式下执行MAC值或密文的算术运算(加密或解密)并发送或接收,而在第二CCI模式下执行CRC值的算术运算并发送或接收(步骤S4110)。在这种情况下,在第一CCI模式或第三CCI模式中要发送或接收的一个或多个消息中的一些或全部可经受在第二CCI模式中的CRC值(CRC目标)的算术运算。在这种情况下,传感器部3120a或桥另一端3120b可在第一CCI模式或第三CCI模式中不执行CRC值的算术运算,并且可不经由控制系统通信来发送或接收CRC值,从而使得能够减少控制系统通信的开销。在这种情况下,传感器部3120a或桥的另一端3120b不需要在第二CCI模式下执行MAC值或密文的算术运算(加密或解密)及其发送或接收,而是也可在第二CCI模式下执行MAC值或密文的算术运算(加密或解密)及其发送或接收。例如,是否选择这种组合模式(双模式)可经由预先约定、功能寄存器(图257)、SPDM消息(例如,厂商定义的SPDM消息)、扩展分组报头(EXTENDED HEADER)、触发器描述器等在CCI主侧和从侧之间进行识别的调整,或者可在图像系统数据发送侧和成像系统数据接收侧之间进行识别的调整。即,图257可用作能力寄存器实例(功能寄存器实例)。
图258示出了在前述实施例及其变形例中的写数据的分组构成的实例。图259示出了上述实施方式及其变形例中的写数据的处理的实例。图258示出了在运行模式(第二CCI模式)下的写命令的实例,其中,为每个多个消息执行MAC值的算术运算。图259示出了对图258中的写命令的处理的实例。读命令和读响应的实例被省略,因为它们从以上描述中是清楚的。应注意,由图258和图259中的虚线表示的位置是可选的。
在AEAD算法的GCM或CCM中,在写数据或读数据的一部分或全部被加密的情况下,当序列保持与从CCI通信伙伴接收的数据串(消息串)的序列一样时,不可能在MAC验证和解密(加密)上执行AEAD处理。其中一个原因是GCM或CCM受到应当执行处理的“MAC覆盖的明文”→“MAC覆盖的加密数据”→“MAC”的序列的限制。因此,在CCI发送中的数据串处于图258的序列中的情况下,CCI主侧和从侧需要执行图259的序列中的内部处理(即,不同于要传送或已接收的数据组的数据序列)。在第二CCI模式中,EXTENDED HEADER可以包括指示是否可以从包括EXTENDED HEADER的消息开始解密处理(是否可以响应于包括EXTENDED HEADER的消息开始解密处理)的信息(例如,位标志)。可以省略EXTENDED HEADER或包括EXTENDEDHEADER的START条件行。在第二CCI模式中,在提供触发器描述或最终消息(WRITE DATA到WRITE DATA?-1)在要在预定时段内(例如,在一个帧内)发送的消息组中,触发器描述符(TRIGGER DESCRIPTOR)(最终消息)可以包括指示是否可以从消息开始解密处理(是否可以响应于包括最终消息的消息开始解密处理)的信息(例如,位标志)。按照这些方式,CCI主侧或从侧可以向CCI通信伙伴指定开始GCM或CCM中的解密处理的定时。
图260是描述在第二CCI模式下的MAC或CRC的算术处理的示例的流程图。图260举例说明在传感器部3120a或桥另一端3120b中的处理。要注意的是,在图260中由虚线表示的处理是可选的。
传感器部3120a或桥另一端3120b确定是否结束循环处理(步骤S4201)。例如,在接收到通信的结束命令的情况下,传感器部3120a或桥另一端3120b结束循环处理(步骤S4201;是)。例如,在没有接收到用于通信的结束命令的情况下,传感器部3120a或桥另一端3120b未结束处理(步骤S4201;否),并且确定是否开始MAC值的算术运算(MAC算术运算)(步骤S4202)。例如,在已经开始接收对应于自身的SLAVE ADDRESS的消息的情况下,传感器部3120a或桥另一端3120b开始MAC值的算术运算(MAC算术运算)(步骤S4202;是和步骤S4203)。例如,在没有接收到与自身相对应的SLAVE ADDRESS的消息的情况下,传感器部3120a或桥另一端3120b不开始上述算术运算(步骤S4202;否),并且处理返回至步骤S4201。
在第二CCI模式中,传感器部3120a或桥另一端3120b可将例如MAC值或CRC值存储在高速数据传输中的同一帧或下一帧的嵌入数据中或存储在下一CCI命令的数据中,以将MAC值或CRC值发送到通信控制部3110a或3110c或桥一端3110b或从通信控制部3110a或3110c或桥一端3110b接收该MAC值或CRC值。传感器部3120a或桥另一端3120b确定是否接收到表示能够开始解密的信息(步骤S4204)。在接收到表示可以开始解密的信息的情况下(步骤S4204;是)在第一预定时段T1或第一预定位宽度W1已经过去的情况下(步骤S4207;是)或在已经经过第二预定时段T2或第二预定位宽度W2的情况下(步骤S4206;是),当消息接收尚未完成时,传感器部3120a或桥另一端3120b期望等待直到消息接收完成(步骤S4208)。应注意,可以省略该等待。
这里,在这个运算是第一算术运算的情况下(步骤S4205;是),传感器部3120a或桥另一端3120b确定是否已经经过第一预定时段T1或第一预定位宽度W1(步骤S4207)。另外,在该运算不是第一算术运算的情况下(步骤S4205;否),传感器部3120a或桥另一端3120b确定是否已经经过第二预定时段T2或第二预定位宽度W2(步骤S4206)。
由从侧对由主侧加密的数据(密文)的内部处理(例如,解密算术运算、加密算术运算)的开始或由主侧对由从侧加密的数据(密文)的内部处理的开始被定义为解密或解密处理的开始。在消息组中的EXTENDED HEADER或最终消息包括指示是否可以开始解密处理的信息的情况下,该信息可以是关于是否开始解密处理、是否完成AAD(附加认证数据)处理、是否完成AD(关联数据)处理等(图261)。在消息组中的最终消息包括上述那些的任何信息的情况下,响应于接收到与寄存器定义(Register definition)对应的寄存器地址(REGADDRESS),并且基于以与寄存器地址对应的方式接收的写数据,传感器部3120a或桥另一端3120b可以确定是否可以开始解密处理(步骤S4209)。EXTENDED HEADER示例可以是TRIGGERDESCRIPTOR示例,TRIGGER DESCRIPTOR可以是EXTENDED HEADER,EXTENDED HEADER可以是TRIGGER DESCRIPTOR或图257或261可以是TRIGGER DESCRIPTOR示例。
例如,在扩展分组报头(EXTENDED HEADER)包括上述那些的任何信息的情况下,响应于接收与扩展分组报头对应的寄存器地址(REG ADDRESS),并且基于以与寄存器地址对应的方式接收的写数据,传感器部3120a或桥另一端3120b可以确定是否可以开始解密处理(步骤S4209)。
要注意的是,字段、位、值或描述的表达可以是可替换的表达,包括由其他表格进行的说明。例如,字段可以被表示为End_AAD、End_AD等。响应于关于是否能够完成诸如Transmit_CRC、Transmit_MAC、Transmit_CRC_MAC、Transmit_Tag、End_Tag、End_CRC、End_MAC和End_CRC_MAC的基于字段的MAC算术运算或CRC算术运算的确定,可以做出关于是否能够开始解密处理的确定。
例如,传感器部3120a或桥另一端3120b等待直到MAC算术运算和解密的完成(步骤S4210),然后将MAC算术运算的结果发送到通信控制部3110a或3110c或桥一端3110b(步骤S4211)。之后,传感器部3120a或桥另一端3120b执行步骤S4201。
图262示出了在前述实施例及其变形例中的写数据的分组构成的实例。图263示出了在上述实施方式及其变形例中的写数据的处理的实例。图262示出了运行模式(第二CCI模式)下的写命令的示例,在所述运行模式中,对于每多个消息执行MAC值的算术运算。图263示出对图262中的写命令的处理的实例。读命令和读响应的实例被省略,因为它们从以上描述中是清楚的。应注意,由图262和图263中的虚线指示的位置是可选的。
在图262中,在开始发送加密数据(由MAC覆盖的加密数据)之时或之后或者在开始接收加密数据之时和之后,除了加密数据之外的数据在加密目标之外并且在MAC目标之外(未由MAC覆盖的明文),直到AEAD处理的MAC处理(MAC生成或MAC验证)完成。在这种情况下,传感器部3120a或桥另一端3120b能够响应于加密数据的接收而开始加密数据的解密(加密)。在这种情况下,第二消息及其之后的EXTENDED HEADER被带入未受保护状态以篡改,因此期望省略EXTENDED HEADER或包括EXTENDED HEADER的START条件行。
要注意的是,在图262中所示的构成和在图263中所示的处理也可应用于单独模式(第一CCI模式)或单独模式(第三CCI模式),在单独模式(第一CCI模式)中,对于每个消息执行MAC值的算术运算,在单独模式(第三CCI模式)中,对于每多个消息执行MAC值的算术运算。
图264示出了在前述实施例及其变形例中的写数据的分组构成的实例。图265示出了上述实施方式及其变形例中的写数据的处理的实例。图264示出了单独模式(第一CCI模式)中的写命令的实例,其中,为每个消息执行MAC值的算术运算。图265示出了对图264中的写命令的处理的实例。在第一CCI模式下的读命令和读响应、在第三CCI模式下的写命令以及在第三CCI模式下的读命令和读响应的示例被省略,因为它们从以上描述中是清楚的。要注意的是,在图264和265中由虚线表示的位置是可选的。
在第一CCI模式或第三CCI模式中写命令或读命令和读响应的情况下,CCI从侧能够响应于其中存储消息计数器值、MAC值或初始化向量的寄存器地址的接收的完成而开始解密(加密)。应注意,消息计数器值与消息计数器的值或消息计数值是同义的。CCI从侧能够响应于消息计数器值、MAC值或初始化向量的接收开始、接收完成或验证成功(主侧和从侧之间值彼此一致,即,接收侧的值和发送侧的值彼此一致)而开始解密(加密)。在算法是GCM或CCM并且消息计数器MC0包括在初始化向量中的情况下,当消息计数器MC0被篡改时,MAC值变化。因此,消息计数器不需要是MAC覆盖的明文。在考虑外部发送效率或内部处理效率的情况下,期望消息计数器值在消息认证目标外部。然而,在考虑算法的实现或切换的共通化的情况下,期望消息计数值是由MAC覆盖的明文并且消息计数值在消息认证目标之外。关于消息计数器值是否被设置为消息认证目标,可以进行切换(选择)。例如,是否将消息计数器值设置为消息认证目标可经由预协议、功能寄存器、SPDM消息(例如,厂商定义的SPDM消息)、扩展分组报头(EXTENDEDHEADHEADER)、触发描述符(TRIGGERDESCRIPTOR)等经受CCI主侧和从侧之间的识别的调整,或者可经受成像系统数据发送侧和成像系统数据接收侧之间的识别的调整。
图266是描述在第一CCI模式中的MAC和CRC的算术处理的示例的流程图。图266举例说明在传感器部3120a、桥另一端3120b、通信控制部3110a、桥一端3110b、通信控制部3110c或显示器(在后文中称为“预定设备”)中的处理。要注意的是,在图266中由虚线表示的多个处理是可选的。
预定设备确定是否结束循环处理(步骤S4301)。例如,在接收到用于通信的结束命令的情况下,预定设备结束循环处理(步骤S4301;是)。例如,在没有接收到用于通信的结束命令的情况下,预定设备不结束循环处理(步骤S4301;否),并且确定是否开始MAC值的算术运算(MAC算术运算)(步骤S4302)。例如,在已经开始接收与自身相对应的SLAVE ADDRESS的消息的情况下,预定设备开始MAC值的算术运算(MAC算术运算)(步骤S4302;是和步骤S4303)。例如,在没有接收到与自身相对应的SLAVE ADDRESS的消息的情况下,预定设备不开始上述算术运算(步骤S4302;否),并且执行步骤S4301。
预定设备确定是否已经开始接收消息计数器值(步骤S4304)。在没有开始接收消息计数器值的情况下(步骤S4304;否)中,预定设备重复执行步骤S4304。在开始接收消息计数值的情况下(步骤S4304;是),预定设备确定是否已经开始接收MAC值(步骤S4305)。
在没有开始接收MAC值的情况下(步骤S4305;否),预定设备重复执行步骤S4305。在开始接收MAC值的情况下(步骤S4305;是),预定设备确定消息计数值的验证是否成功(步骤S4306)。在消息计数器值的验证未成功的情况下(步骤S4306;否),预定设备结束MAC算术运算(步骤S4307)。在消息计数器值的验证成功的情况下(步骤S4306;是),预定设备开始解密(步骤S4308)。步骤S4305和步骤S4306的顺序可以颠倒。在步骤S4304或步骤S4305中,在即使在经过了预定时段之后也不开始接收的情况下,处理可以进行到(步骤S4307)MAC算术运算完成。
预定设备接收CRC值以确定CRC验证是否成功(步骤S4309)。在即使在经过了预定时段之后仍未接收到CRC值或者CRC验证未成功的情况下(步骤S4309;否),预定设备结束MAC算术运算(步骤S4307)。在接收到CRC值或CRC验证成功的情况下(步骤S4309;是),预定设备等待MAC算术运算和解密的完成(步骤S4310)。
随后,预定设备确定MAC验证是否成功(步骤S4311)。在MAC验证未成功的情况下(步骤S4311;否)或者在MAC算术运算已经完成的情况下(步骤S4307),预定设备丢弃解密的结果(步骤S4312)。在MAC验证成功的情况下(步骤S4311;是),预定设备执行解密的结果(步骤S4313)。
在丢弃解密结果的情况下(步骤S4312)或者在执行解密结果的情况下(步骤S4313),预定设备丢弃消息(步骤S4314)。此后,预定设备将消息计数器值的验证、CRC验证以及MAC验证的成功或失败发送到通信控制部3110a或3110c或者桥一端3110b(步骤S4315),并且执行步骤S4301。
顺便提及,在写数据或读数据被加密的情况下,可以一直执行写数据或读数据的解密的结果的执行或反映(一直,不拒绝),或者可以仅在消息认证已经成功的情况下(即,MAC验证已经成功的情况下(仅当MAC匹配时))执行写数据或读数据的解密的结果的执行或反映。同时,在不加密写数据或读数据的情况下,可以一直执行写数据或读数据的执行或反映(一直,不拒绝),或者可以仅在消息认证成功的情况下(仅当MAC匹配时)执行写数据或读数据的执行或反映。这些可以是消息认证策略,并且例如可以经由预协议、功能寄存器(图267)、SPDM消息(例如,厂商定义的SPDM消息)(图268)、扩展分组报头(EXTENDEDHEADHEADER)、触发描述符(TRIGGER DESCRIPTOR)等经历CCI主侧和从侧之间的识别的调整,或者可以经历在图像系统数据发送侧和成像系统数据接收侧之间的识别的调整。消息认证策略可对于图像系统通信的每个MAC模式或控制系统通信的每个MAC模式或每个CCI模式被区分,并可对它们中的每个的识别进行调整。可基于经由SPDM消息(例如,厂商定义SPDM消息)发送到SSMC或从SSMC发送的信息来选择应用处理器、图像传感器、显示器、桥一端或桥另一端的用于面向控制系统通信或图像系统通信的消息认证策略。应用处理器的保护部、图像传感器、显示器、桥一端或桥另一端可包括功能寄存器,并且存储在功能寄存器中的信息可经由SPDM消息(例如,厂商定义的SPDM消息)发送到SSMC或从SSMC发送。功能寄存器可以存储指示可由保护部选择的消息认证策略候选的信息,并且可由保护部选择的消息认证策略候选可以是第一消息认证策略(例如,总是执行写数据或读数据的执行或反映)或第二消息认证策略(例如,仅在消息认证成功的情况下执行写数据或读数据的执行或反映)中的至少一个。用于面向控制系统通信或图像系统通信的消息认证策略可从由保护部可选择的消息认证策略候选中选择。例如,SSMC能够基于存储在应用处理器的功能寄存器,图像传感器、显示器、桥一端,或桥另一端中的信息等掌握满足一个功能寄存器(例如,SSMC、应用处理器或桥一端)和另一个功能寄存器(例如,图像传感器,显示器或桥另一端)两者的条件(AND条件),并且因此能够经由SPDM消息(例如,厂商定义的SPDM消息)向应用处理器、图像传感器、显示器、桥一端或桥另一端通知适当的设置信息。
与控制系统通信或图像系统通信无关,为了在MAC验证之前执行CRC验证,应用处理器的保护部、图像传感器、显示器、桥一端或桥另一端理想地执行作为解密处理的目标的包括加密数据的数据组的CRC值的算术运算;然而,这不是限制性的。
图269示出了上述实施方式及其变形例中的写数据的分组构成的实例。图270示出了前述实施例及其变形例中的写数据的处理的实例。图269示出了单独模式(第一CCI模式)下的写命令的实例,其中,为每个消息执行MAC值的算术运算。图270示出了对图269中的写命令的处理的实例。在第一CCI模式下的读命令和读响应的示例被省略,因为它们从以上描述中是清楚的。要注意的是,在图269和270中由虚线表示的位置是可选的。
在算法是GMAC(GCM不被加密)的情况下,因为可以缩短MAC算术运算的读时间,所以期望在接收的外部发送的数据序列中执行内部处理(internal processing)。然而,即使在不执行加密的情况下,也可以以与执行加密的情况相同的数据序列执行内部处理。在这种情况下,不管加密存在与否,可以采用相同的内部处理,因此,特别适合在GCM中在加密存在与否之间进行切换的情况。在算法是GMAC的情况下并且在消息计数器MC0包括在初始化向量中的情况下,消息计数器MC0的篡改使得MAC值变化,并且因此消息计数器MC0不需要是由MAC覆盖的明文。然而,消息计数器MC0可以是由MAC覆盖的明文;有利的是,在GMAC被选择为算法的情况下以及在GMAC之外的算法(例如,CMAC或HMAC)被选择的情况下,可以采用相同的内部处理(Internal processing)。
图271是描述第一CCI模式中的内部处理的切换处理的实例的流程图。图271举例说明在传感器部3120a或桥另一端3120b中的处理。要注意的是,在图271中由虚线表示的多个处理是可选的。
预定设备确定是否结束循环处理(步骤S4401)。例如,在接收到用于通信的结束命令的情况下,预定设备结束循环处理(步骤S4401;是)。例如,在没有接收到用于通信的结束命令的情况下,预定设备不结束循环处理(步骤S4401;否),并且确定是否已经接收到用于关于内部处理序列的功能寄存器信息的读请求或命令(步骤S4402)。在接收到关于内部处理序列的功能寄存器信息的读请求或命令的情况下,预定设备将功能寄存器信息发送到通信控制部3110a或3110c或桥一端3110b(步骤S4403)。
在功能寄存器信息的发送之后或者在步骤S4401中没有接收到用于关于内部处理序列的功能寄存器信息的读请求或命令的情况下,预定设备确定是否已经接收到关于内部处理序列的设置信息(步骤S4404)。在没有接收到关于内部处理序列的设置信息的情况下(步骤S4404;否),预定设备执行步骤S4401。在接收到关于内部处理序列的设置信息的情况下(步骤S4404;是),预定设备等待直至完成内部处理(步骤S4405)。
随后,预定设备确定是否已经指定第二内部处理序列(步骤S4406)。在没有指定第二内部处理序列的情况下(步骤S4406;否),预定设备确定是否已经指定第一内部处理序列(步骤S4407)。在没有指定第一内部处理序列的情况下(步骤S4407;否),预定设备执行步骤S4401。
在第一内部处理序列已被指定的情况下(步骤S4407;是),预定设备选择并执行第一内部处理序列(步骤S4408和S4410)。同时,在已经指定了第二内部处理序列的情况下(步骤S4406;是),预定设备选择并执行第二内部处理序列(步骤S4409和S4410)。
应用处理器的保护部、图像传感器、显示器、桥一端或桥另一端可被构成为能够选择第一内部处理序列或第二内部处理序列中的一个,作为用于控制系统通信或图像系统通信的消息认证(例如,GMAC)或消息认证和加密或解密(例如,GCM、CCM)的内部处理序列。例如,这可经受CCI主侧和从侧之间经由预协议、功能寄存器(图272)、SPDM消息(例如,厂商定义的SPDM消息)(图273)、扩展分组报头(EXTENDED HEADER)、触发描述符(TRIGGERDESCRIPTOR)等的识别的调整,或者可经受在图像系统数据发送侧和成像系统数据接收侧之间的识别的调整。可以将第一内部处理序列设置为初始设置或默认设置;当不存在指定时,可以基本上选择第一内部处理序列。可基于经由SPDM消息(例如,厂商定义的SPDM消息)发送到SSMC或从SSMC发送的信息来选择应用处理器、图像传感器、显示器、桥一端或桥另一端的用于面向控制系统通信或图像系统通信的内部处理序列。应用处理器的保护部、图像传感器、显示器、桥一端或桥另一端可包括功能寄存器,并且存储在功能寄存器中的信息可经由SPDM消息(例如,厂商定义的SPDM消息)发送到SSMC或从SSMC发送。功能寄存器可以存储指示保护部可选择的GMAC、GCM或CCM算法的内部处理序列的信息。基于由保护部选择的GMAC、GCM或CCM算法的内部处理序列,控制系统通信或图像系统通信可经受消息认证。
应用处理器的保护部、图像传感器、显示器、桥一端或桥另一端可被构成为能够选择是否需要执行加密处理或解密处理,并且可在执行加密处理或解密处理的时间与不执行加密处理或解密处理的时间之间改变针对将被发送或已接收的数据组执行内部处理的数据序列。指示加密的必要性的信息可以被存储在要发送或接收的扩展分组报头(EXTENDEDHEADER)中。
图274是描述第一CCI模式中的内部处理的切换处理的实例的流程图。图274举例说明了在预定设备中的处理。要注意的是,在图274中由虚线表示的处理是可选的。
预定设备确定是否结束循环处理(步骤S4501)。例如,在接收到用于通信的结束命令的情况下,预定设备结束循环处理(步骤S4501;是)。例如,在没有接收到用于通信的结束命令的情况下,预定设备不结束循环处理(步骤S4501;否),并且确定是否发送数据(步骤S4502)。在不发送数据的情况下(步骤S4502;否),预定设备执行步骤S4501。在发送数据的情况下(步骤S4502;是),预定设备开始MAC值的算术运算(MAC算术运算)(步骤S4503)。
随后,预定设备确定加密是否是必要的(步骤S4504)。在不需要加密的情况下(步骤S4504;否),预定设备选择第一内部处理序列(步骤S4505)。在需要加密的情况下(步骤S4504;是),预定设备选择第二内部处理序列(步骤S4506),等待预定时段,然后开始加密(步骤S4507和S4508)。在已经开始加密的情况下或者在已经选择第一内部处理序列的情况下,预定设备等待直到MAC算术运算和加密的完成,然后发送数据(步骤S4509和S4510)。
图275是描述第一CCI模式中的内部处理的切换处理的示例的流程图。图275举例说明了在预定设备中的处理。要注意的是,在图275中由虚线表示的多个处理是可选的。
预定设备确定是否结束循环处理(步骤S4601)。例如,在接收到用于通信的结束命令的情况下,预定设备结束循环处理(步骤S4601;是)。例如,在没有接收到用于通信的结束命令的情况下,预定设备不结束循环处理(步骤S4601;否),并且确定是否发送数据(步骤S4602)。在不发送数据的情况下(步骤S4602;否),预定设备执行步骤S4601。在发送数据的情况下(步骤S4602;是),预定设备开始MAC值的算术运算(MAC算术运算)(步骤S4603)。
随后,预定设备确定是否需要解密(步骤S4604)。在不需要解密的情况下(步骤S4604;否),预定设备选择第一内部处理序列(步骤S4605)。在需要解密的情况下(步骤S4604;是),预定设备选择第二内部处理序列(步骤S4606),等待预定时段,然后开始解密(步骤S4607和S4608)。在已经开始解密的情况下或者在已经选择第一内部处理序列的情况下,预定设备等待直到MAC算术运算和加密的完成,然后确定MAC验证是否成功(步骤S4610)。在MAC验证未成功的情况下,预定设备丢弃解密的结果(步骤S4611)。在MAC验证成功的情况下,预定设备执行解密的结果(步骤S4612)。在丢弃解密结果之后或在执行解密结果之后,预定设备丢弃消息,并且发送MAC验证的成功或失败(步骤S4613和S4614)。
诸如GCM(或者可以是GMAC)、CCM或CTR模式等算法需要初始化向量。此时,在控制系统通信的发送侧和接收侧(例如,CCI主侧和从侧)或者图像系统通信的发送侧和接收侧之间可能发生初始化向量的不一致(同步不匹配)。为了准备初始化向量的不一致性,或者为了重新同步初始化向量,例如,期望根据需要或循环地向通信伙伴通知当前使用的最新初始化向量中的一些或全部。特别地,第二CCI模式是CCI模式,其中至少没有消息计数值从CCI主侧被发送。因此,与其他CCI模式相比,第二CCI模式很可能在初始化向量中具有不一致性。因此,在第二CCI模式中,通知最新的初始化向量是特别必要的。
响应于来自SSMC、应用处理器、图像传感器、显示器、桥一端或桥另一端的请求或命令,可以经由SPDM通信(例如,SPDM消息或厂商定义的SPDM消息)、控制系统通信或图像系统通信来发送或接收将在GCM(或可以是GMAC)、CCM和CTR模式的任何算法中使用或已使用的最新初始化向量中的一些或所有初始化向量。可以经由图像系统通信(例如,嵌入数据、图像数据、或用户定义数据)来发送或接收针对待使用的或已经在GCM(或者可以是GMAC)、CCM、以及CTR模式的任何算法中使用的面向控制系统通信的最新初始化向量中的一些或所有初始化向量。CTR模式或CCM的加密需要初始化向量构成;可以包括上述用于面向任何GCM(或者可以是GMAC)的初始化向量构成中的一些或全部。在考虑算法的实现或切换的共通化的情况下,期望初始化向量构成中的一些或全部在GCM(或者可以是GMAC)与CCM或CTR模式之间共通化。
图276是描述内部处理的切换处理的实例的流程图。图276举例说明了在预定设备中的处理。
预定设备确定是否完成循环处理(步骤S4701)。例如,在接收到用于通信的结束命令的情况下,预定设备结束循环处理(步骤S4701;是)。例如,在没有接收到用于通信的结束命令的情况下,预定设备不结束循环处理(步骤S4701;否)并且确定是否使用初始化向量(步骤S4702)。在使用初始化向量的情况下(步骤S4702;是),预定设备开始使用最新的初始化向量(步骤S4703)。
在开始使用最新的初始化向量的情况下或者在不使用初始化向量的情况下(步骤S4702;否),预定设备确定是否已经接收到发送初始化向量的请求或命令(步骤S4704)。在接收到发送初始化向量的请求或命令的情况下(步骤S4704;是),预定设备发送最新初始化向量(步骤S4705)。在发送最新的初始化向量的情况下,或者在未接收到发送初始化向量的请求或命令的情况下(步骤S4704;否),预定设备确定是否需要更新初始化向量(步骤S4706)。在初始化向量不需要被更新的情况下(步骤S4706;否),预定设备执行步骤S4701。在初始化向量需要更新的情况下(步骤S4706;是),预定设备更新初始化向量(步骤S4707),然后执行步骤S4701。
图277和278各自示出了前述实施例中的写数据的分组构成的实例及其变形例。图277和图278均示出了消息中的消息认证目标的开/关或加密目标的开/关的实例。
控制系统通信包括寄存器地址或扩展分组报头(EXTENDED HEADER)的发送或接收以及与寄存器地址或扩展分组报头(EXTENDED HEADER)对应的写数据或读数据的发送或接收。通过控制系统通信的消息认证来保护寄存器地址或扩展分组报头(EXTENDED HEADER)。图像传感器的保护部或桥另一端可以基于关于寄存器地址或扩展分组报头(EXTENDEDHEADER)的信息确定是否需要用于写数据或读数据的消息认证或加密。从消息认证目标中排除写数据或读数据的一部分或全部使得可以至少在扩展分组报头(EXTENDED HEADER)上采取针对篡改的对策。此外,从消息认证目标中排除的写数据或读数据可自由改变而不影响MAC值是有利的。这些图示中的最后一行也可以从消息认证目标中排除。从加密目标中排除写数据或读数据的一部分或全部允许提高部加密的灵活性,这是有利的。
是否部分地从消息认证目标中排除是消息认证策略,并且可经受CCI主侧和从侧之间经由预协议、功能寄存器、SPDM消息(例如,厂商定义的SPDM消息)、扩展分组报头(EXTENDED HEADER)、触发描述器等的识别的调整,或者可经受成像系统数据发送侧和成像系统数据接收侧之间的识别的调整。这适应控制系统通信或图像系统通信。在图像系统通信的情况下,例如,图227、230或232中的诸如帧开始(FS)、帧结束(FE)和嵌入数据(Emb数据)以及扩展分组报头(ePH)的分组数据是不连续数据,因此,期望在所有区域中设置为MAC目标,这是因为对篡改采取对策是必要的。然而,很有可能因为分组数据是连续数据而因为其连续性可以检测到至少图像数据(Img Data)的分组数据的篡改;因此,所有区域可以不是MAC目标。图像数据的分组数据的一部可以是MAC目标(被MAC覆盖),或者图像数据的分组数据的剩余部分可以在MAC目标(未被MAC覆盖)之外。即,可从消息认证目标部分地排除图像数据的分组数据的一部分。在这种情况下,可以减少需要在预定时段(例如,MAC值的发送周期)内经受MAC值的算术运算的MAC目标,从而也减少MAC算术运算上的负担,便于算法的实现。图像数据的分组数据的一部分可以是加密或解密的目标,图像数据的分组数据的其余部分可以在加密或解密的目标之外。即,可以从加密或解密的目标中排除图像数据的分组数据的一部分。MAC目标区域和加密或解密的目标区域可以彼此一致,或者可以彼此不一致。CMAC或HMAC的MAC算术运算不能被并行化,但CTR模式的加密或解密的算术运算可被并行化,从而使加密或解密的目标区域大于MAC目标区域。然而,GMAC可被应用为MAC算法,CBC模式可被应用为加密算法,GCM可被应用为AEAD算法。可以从消息认证目标中部分地排除图像数据的分组数据的一部分,以将图像数据的分组数据的剩余部设置为消息认证目标,并且将图像数据的分组数据的全部设置为加密或解密的目标。在这种情况下,可以通过加密和解密适当地保护图像数据中包括的隐私信息等,同时便于算法的实现。用于从消息认证目标部分地排除图像数据的分组数据的MAC排除模式(例如,第一MAC排除模式、第二MAC排除模式和第三MAC排除模式)的类型是消息认证策略,并且可经受CCI主侧与从侧之间经由预协议、功能寄存器、SPDM消息(例如,厂商定义的SPDM消息)的识别的调整,扩展分组报头(EXTENDED HEADER)、触发器描述器等,或者可以受到在图像系统数据发送侧与成像系统数据接收侧之间的识别的调整。例如,MAC排除模式可以是第一MAC排除模式(注意,偶数和奇数可以颠倒),在MAC排除模式中,针对图像数据的分组数据中的各行,将按定时顺序的偶数行(例如,行0、行2和行4)设置为消息认证目标,并且将按定时顺序的奇数行(例如,行1、行3和行5)从消息认证目标中排除。例如,MAC排除模式可以是第二MAC排除模式,在MAC排除模式中,针对图像数据的分组数据中的各个行,将按定时顺序的三倍数的行(例如,行0、行3和行6)设置为消息认证目标,并且将除了那之外的行(例如,行1、行2、行4、行5、行7和行8)从消息认证目标中排除。例如,MAC排除模式可以是第三MAC排除模式,在MAC排除模式中,针对图像数据的分组数据中的各个行,将按定时顺序的四的倍数的行(例如,行0、行4和行8)设置为消息认证目标,并且将除了那些之外的行(例如,行1、行2、行3、行5、行6和行7)从消息认证目标中排除。在图像垂直方向(行垂直方向)中的这些MAC排除模式是示例性的;例如,还可定义图像水平方向(行水平方向)中的MAC排除模式。
应注意,如图279所示,可从消息认证目标中排除写数据。此外,如图280中所示,写数据、SLAVE ADDRESS和寄存器地址(RegisterAddress)可以从消息认证目标中排除。此时,例如,MAC处理目标可经由预协议、功能寄存器(图281)、SPDM消息(例如,厂商定义的SPDM消息)(图282)、扩展分组报头(EXTENDED HEADER)(图283)等经历CCI主侧与从侧之间的识别的调整,或者可经历在图像系统数据发送侧与成像系统数据接收侧之间的识别的调整。
图284是描述通过另一个消息认证策略(加密策略)的算术处理的实例的流程图。图284举例说明在应用处理器、图像传感器、显示器、桥一端或桥另一端(在下文中,称为“预定设备”)中的处理。要注意的是,在图284中由虚线表示的工序是可选的。
预定设备确定是否结束循环处理(步骤S4801)。例如,在接收到用于通信的结束命令的情况下,预定设备结束循环处理(步骤S4801;是)。例如,在没有接收到用于通信的结束命令的情况下,预定设备不结束循环处理(步骤S4801;否),并且预定设备确定是否已经接收到对消息认证策略的功能寄存器信息的读请求或命令(步骤S4802)。
在接收到针对消息认证策略的功能寄存器信息的读请求或命令的情况下,预定设备发送功能寄存器信息(步骤S4802)。在发送功能寄存器信息之后或者在未接收到消息认证策略的功能寄存器信息的读请求或命令的情况下(步骤S4802;否),预定设备确定是否已经接收到消息认证策略的设置信息(步骤S4803)。
在未接收到消息认证策略的设置信息的情况下(步骤S4804;否),预定设备执行步骤S4801。在已经接收到消息认证策略的设置信息的情况下(步骤S4804;是)时,预定设备等待直至内部处理完成(步骤S4805)。随后,预定设备确定是否已经指定第二消息认证策略(步骤S4806)。在已经指定第二消息认证策略的情况下(步骤S4806;是),预定设备选择第二消息认证策略(步骤S4807)。
在没有指定第二消息认证策略的情况下(步骤S4806;否),预定设备确定是否已经指定第三消息认证策略(步骤S4808)。在已经指定第三消息认证策略的情况下(步骤S4808;是)中,预定设备选择第三消息认证策略(步骤S4809)。在没有指定第三消息认证策略的情况下(步骤S4808;否),预定设备确定是否已经指定第四消息认证策略(步骤S4810)。在已经指定第四消息认证策略的情况下(步骤S4810;是),预定设备选择第四消息认证策略(步骤S4811)。在没有指定第四消息认证策略的情况下(步骤S4810;否),预定设备确定是否已经指定第一消息认证策略(步骤S4812)。在已经指定第一消息认证策略的情况下(步骤S4812;是),预定设备选择第一消息认证策略(步骤S4813)。在没有指定第一消息认证策略的情况下(步骤S4812;否),预定设备执行步骤S4801。
在已经选择第二消息认证策略、第三消息认证策略、第四消息认证策略或第一消息认证策略的情况下(步骤S4807、S4809、S4811或S4813),预定设备开始内部处理(步骤S4814),然后执行步骤S4801。
图285、286和287各自示出了消息认证策略的实例。仅MAC(无加密)、加密-然后-MAC、MAC-然后-加密或加密-以及-MAC中的至少一个可被构成为可选择作为消息认证策略(也可称为加密策略)。消息认证策略本身的细节如上所述,因此省略。作为第一消息认证策略(初始设置或默认设置),可选择加密-然后-MAC、MAC-然后-加密和加密-并且-MAC中的任一个。第一消息认证策略(初始设置或默认设置)可以取决于算法。在以CBC模式或CTR模式发送或接收以解密密文的初始化向量IV不是消息认证目标的情况下,期望选择其中MAC验证为NG的MAC-然后-加密,这是因为对发送或接收的初始化向量进行篡改以检测对发送或接收的初始化向量进行的篡改也导致解密结果的明文被篡改。在CBC模式或CTR模式下要发送或接收以解密密文的初始化向量IV不是消息认证目标的情况下,并且在加密-然后-MAC的情况下,即使当初始化向量被篡改时,密文也不会被篡改,因此MAC验证是OK;然而,初始化向量被篡改,并且因此解密结果的明文被篡改。在以CBC模式或CTR模式发送或接收以解密密文的初始化向量IV是消息认证目标的情况下,尽管取决于加密-然后-MAC策略,但是不存在MAC-然后-加密还是加密-然后-MAC被选择的问题。在GCM加密或解密的情况下,期望选择加密-然后-MAC。
图288示出了功能寄存器的示例。图289示出了厂商定义的SPDM消息的实例。在加密-然后-MAC的加密中,从明文(Plaintext)到密文(Ciphertext)执行加密,并且针对密文执行MAC值的算术运算。即,在开始明文的加密之后开始MAC算术运算。在加密-然后-MAC的解密中,对密文执行MAC的算术运算,并且从密文到明文执行解密。即在密文的MAC算术运算开始后开始解密。在加密-并且-MAC的加密中,对明文执行MAC值的算术运算,而从明文到密文执行加密。即,明文加密的开始和MAC算术运算的开始相同或基本相同。或者,对明文进行MAC值的算术运算,从明文到密文进行加密。即,在开始明文的MAC算术运算之后开始加密。在加密-并且-MAC的解密中,从密文到明文执行解密,并且对明文执行MAC值的算术运算。即,在开始对密文进行解密之后,开始MAC算术运算。在MAC-然后-加密的加密中,对明文执行MAC值的算术运算,并且从明文和MAC值到密文执行加密。即,在开始明文的MAC算术运算之后开始加密。在MAC-然后-加密的解密中,执行从密文到明文和MAC值的解密,并且对明文执行MAC值的算术运算。即,在开始对密文进行解密之后,开始MAC算术运算。总是执行(总是,不拒绝)的写数据或读数据的解密的结果的执行或反映(加密-然后-MAC策略)可以被定义为加密-然后-MAC-0,而仅在MAC验证成功的情况下(仅当MAC匹配时)执行的执行或反映(加密-然后-MAC策略)可以被定义为加密-然后-MAC-1;可替代地,这些定义可以颠倒。逐行执行的写数据或读数据的加密开始或解密开始(加密-然后-MAC策略)(初始化向量中的消息计数值对于每行递增)可被定义为加密-然后-MAC-0,而逐帧执行的加密开始或解密开始(初始化向量中的帧号对于每帧递增)可被定义为加密-然后-MAC-1;可替代地,这些定义可以颠倒。如上所述,在符合或不符合DSP0277指定的厂商定义的安全消息中,厂商特殊区域(厂商特殊的)、厂商定义的区域(厂商定义的)、用户定义的区域(用户定义的)、预留区域(预留以供将来使用)等可被添加到消息认证目标、明文和报头的区域(紧接在区域之前或在区域内)。然而,当这些区域中的任意被添加到紧接在消息认证目标的区域、明文和报头之前的位置时,所得区域在DSP0277指定之外,并且因此在一些情况下区域可以是明文和报头在消息认证目标之外的区域。在将要用于CBC模式或CTR模式的初始化向量存储在消息认证目标外部的明文和报头的区域中的情况下,如上所述,期望MAC-然后-加密。期望在消息认证目标外部的明文和报头的区域中包括用于识别将应用于消息认证目标和加密目标的区域的加密模式的信息(例如,根据加密模式的类型定义的位信息或ID信息(例如,EncID))。然而,在要应用于消息认证目标和加密目标的区域的加密模式受到通过NEGOTIATE_ALGORITHMS请求和ALGORITHMS响应以及预协议(私有合同)中的任一者在SPDM请求方与SPDM应答者之间的识别(识别)的调整的情况下,不需要在消息认证目标外部的明文和报头的区域中包括用于识别要应用于消息认证目标和加密目标的区域的加密模式的信息。在这些情况下,例如,当加密模式是CBC模式时,可以选择初始化向量被存储在消息认证目标外部的明文和报头的区域中的格式,并且,当加密模式不是CBC模式(例如,GCM或CTR模式)时,可以选择初始化向量不存储在消息认证目标外部的明文和报头的区域中的格式,因此,在加密模式不是CBC模式的情况下,可以减少开销。此外,例如,当加密模式是CBC模式时,可以选择MAC-然后-加密,并且当加密模式不是CBC模式时(例如,GCM或CTR模式),可以选择加密-然后-MAC,从而使得可以根据加密模式选择适当的消息认证策略。
图290示出了初始化向量(GMAC-GCM-CTR统一-IV)的示例。用于AES-CTR模式的128位初始化向量的构成可包括用于AES-GCM/GMAC的96位初始化向量的构成的一部分或全部。在AES-GCM的128位初期计数器块和AES-CTR模式的128位初始化向量之间,前计数器32位的初始值的构成可以相同或不同。在AES-CTR模式的情况下,将初始值(初始值)设置为零使得能够完全利用32位计数器。同时,在AES-CTR模式的初始值(初始值)和AES-GCM的初始值(初始值)之间采用相同的构成可以允许计数器被重新使用。
图291和292各自示出了初始化向量的实例。可以提供用于以行单位(Per-Line)、以多行单位(Per-Multi-Line)或者以帧单位(Per-Frame)的消息认证(MAC)或者加密(或解密)的多个类型的初始化向量构成,并且可以选择它们中的任意。例如,初始化向量构成可经由预先约定、功能寄存器、SPDM消息(例如,厂商定义的SPDM消息)、扩展分组报头(EXTENDED HEADER)、触发器描述器等经受CCI主侧与从侧之间的识别的调整,或可经受成像系统数据传送侧与成像系统数据接收侧之间的识别的调整。在多行单元中的分组认证(MAC)或加密(或解密)的情况下,也可以将多行单元的行组中第一行对应的分组计数值作为初始化向量的分组计数值。在帧单位中的消息认证(MAC)或加密(或解密)的情况下,对应于帧单位的行组中的第一行的消息计数值也可被用作初始化向量中的消息计数值。在图像系统通信的情况下,初始化向量中的模式(例如,预留、CCI模式、MAC模式(读/写模式或CCI模式可被设置为MAC模式))可被设置为零(模式=02),例如作为固定值。在控制系统通信的情况下,初始化向量中的eVC可以被设置为零(eVC=06),例如作为固定值。可以为初始化向量中的模式分配两位或更多位(例如,8位);在这种情况下,可不在初始化向量中分配eVC。
初始化向量中的eVC和模式的顺序可以互换。初始化向量中的一些或全部eVC可由模式或零(例如,06)替换。初始化向量中的盐、附加消息计数器或附加帧号中的一些或全部可由模式或零(例如,032、024)替换。初始化向量中的模式中的一些或全部可由零(例如,02)替换。图292示出了其中相同位被分配给CCI模式-1-读和CCI模式-3-读并且相同位被分配给CCI模式-1-写和CCI模式-3-写的示例;然而,可将不同位分配给第一CCI模式(CCI模式-1)和第三CCI模式(CCI模式-3)。例如,盐值可以是固定值,并且可以是零(032)。例如,在SPDM会话或SPDM消息(例如,厂商定义的SPDM消息)被省略的构成的系统的情况下,存在盐值应为固定值的情况。图292中的定义可以是用于控制平面(控制系统通信)的IV-模式值示例的定义。作为MAC模式的定义,可以采用以下定义:0b00:IV-模式是具有每事务(CCI-模式-1)或每多事务(CCI-模式-3)的写模式;0b01:IV-模式是具有每事务(CCI-模式-1)或每多事务(CCI-模式-3)的读取模式;0b10:IV模式是具有每帧的写入模式(CCI模式-2);以及0b11:IV-Mode是具有每帧的读取模式(CCI-模式-2)。这里,Per-Transaction为一个事务单位,Per-Multi-Transaction为多个事务单位,Per-Frame为一个帧单位。图292中的定义可以是用于数据平面(图像系统通信)的IV-模式值示例的定义。作为MAC模式的定义,可以采用以下定义:0b00:IV-模式是Per-Line(一行单位);0b01:IV-模式是每多线(多线单元);0b10:IV模式是每帧(一个帧单位);并且0b11:IV-模式是部分-帧-ROI(一个ROI单元)。每条行(一个行单元)可以解释为每个消息(一个消息单元)或者每个事务(一个事务单元),或者,每条行(多个行单元)可以解释为每个多消息(多个消息单元)或者每个多事务(多个事务单元),反之亦然。ROI是感兴趣区域的缩写。Partial-Frame-ROIMAC模式是指一种模式,其中:作为MAC目标的部区域(有限区域)由控制系统通信(例如,SPDM会话或控制平面会话)或者对于图像系统通信中的每个帧中的数据的预先约定指定;对所述区域执行所述MAC值的算术运算;以及所述MAC值被存储在所述扩展分组报尾或所述嵌入数据中,以从所述图像系统数据发送侧发送至所述图像系统数据接收侧。在部分-帧-ROI MAC模式中的MAC值的发送周期可以与帧的发送周期相同,或者可以比帧的发送周期短。在其他MAC模式(逐行MAC模式、逐多行MAC模式、和逐帧MAC模式)中,不仅限于部帧ROI MAC模式,MAC值可以存储在扩展分组报尾或嵌入数据中,以用于从图像系统数据发送侧到图像系统数据接收侧的发送。在Per-Multi-Line(多行单元)MAC模式中,作为消息认证(MAC)或加密(或解密)的目标的行的数量不是固定的,并且可以是可变的。在行的数量是可变的情况下,每多行(多行单元)MAC模式可以在一个行单元中包括消息认证(MAC)或加密(或解密)。初始化向量中的消息计数器可以由模式定义代替。在Pre-Line或Pre-Multi-Line MAC模式的情况下,可以选择“消息计数器”;在前帧MAC模式的情况下,可以选择“总是016”;并且在部分-帧-ROIMAC模式的情况下,可以选择“ROI编号”。另外,在上述一个实例中,消息计数器的初始值(消息计数器值或消息计数值)可以是1而不是0。在这些情况下,初始化向量构成可以在Pre-Line、Pre-Multi-Line、Pre-Frame、Partial-Frame-ROI的MAC模式之间统一,从而可以减少要在功能寄存器中定义的初始化向量构成的类型的数量,并且可以切换或同时执行两个或更多个MAC模式。ROI号(ROI number)是在一帧中提供多个ROI的情况下识别每个ROI的号。
任何附图(如框图或流程图)中所包括的部件的定时或位置是示范性的,并且可以被不同地构成。存在用于在上述每个实例中描述的实施方式的各种变形例。即,关于所描述的示例中的每一个的组件,可以省略组件中的一些,可以改变组件中的一些或全部,或者可以修改组件中的一些或全部。此外,一些部可以被其他部替换,或者其他部可以被添加到一些或全部部中。进一步,一些或所有组件可以被划分为多个组件,一些或所有组件可以被划分为多个组件,并且多个分割或分开的组件中的至少一些可以具有不同的功能或特征。进一步,组件中的至少一些可被移动以形成不同的实施例。此外,绑定元件或中继元件可以被添加到至少一些部的组合以形成不同的实施例。此外,可以将切换功能或选择功能添加到至少一些组件的组合中以形成不同的实施例。本实施方式不限于在所述实例中呈现的构成,并且可以在不偏离本技术的主旨的情况下以各种方式进行修改。要注意的是,在本文中描述的效果仅仅具有示例性而非限制性,并且可具有其他效果。在本说明书中,由计算机根据程序执行的处理不必按照描述为流程图的顺序按定时序列执行。即,由计算机根据程序执行的处理还包括并行或单独执行的处理(例如,并行处理或基于对象的处理)。另外,程序可以由一个计算机(处理器)处理,或者可以经受由多个计算机进行的分配式处理。此外,程序可以发送给远程计算机并且执行该程序。进一步,如本文所使用的,术语“系统”意味着一组多个部(设备、模块(部)等),而不管所有部是否在同一壳体中。因此,容纳在分开的壳体中并且经由网络耦合在一起的多个设备和在一个壳体中包括多个模块的一个设备各自是一个系统。此外,例如,描述为一个设备(或处理器)的构成可以分为多个构成,其可以用作多个设备(或处理器)。相反,上面描述为多个设备(或处理器)的构成可以被集成为构成为一个设备(或处理器)。另外,当然可以向每个设备(或每个处理器)的构成添加除了所描述的构成以外的构成。此外,当作为整个系统的构成和操作基本上相同时,某个设备(或处理器)的构成中的一些可以包括在另一设备(或另一处理器)的构成中。此外,例如,本技术可以采用云计算构成,其中,通过网络由多个设备共享和联合处理一个功能。此外,例如,所描述的程序可以在任何设备中执行。在这种情况下,设备具有必要的功能(诸如功能块)以能够获得必要的信息就足够了。此外,例如,描述的流程图中描述的步骤可以由一个设备执行,并且还可以由多个设备共享和执行。此外,在一个步骤中包括多个处理的情况下,包括在一个步骤中的多个处理可以由一个设备执行,并且还可以由多个设备共享和执行。换言之,包括在一个步骤中的多条处理也可以被执行为多个步骤的处理。相反,描述为多个步骤的处理可以作为一个步骤集体执行。应注意,关于由计算机执行的程序,描述程序的步骤的处理可以按照本文中描述的顺序按定时序列执行,或者可以在诸如进行调用时的必要定时并行或单独地执行。即,除非发生矛盾,否则可以以不同于所描述的顺序的顺序执行各个步骤的处理。此外,描述该程序的步骤的处理可以与另一程序的处理并行执行,或者可以与另一程序的处理结合执行。应注意,除非发生矛盾,否则本文所述的多种技术可彼此独立地单独实施。不必说,可以一起使用任何现有的多种技术。例如,可以结合在其他实施方式中描述的一些或所有本技术来实现在任一实施方式中描述的一些或所有本技术。此外,所描述的本技术中的任一个的一些或全部可与未描述的其他技术一起实现。
<计算机的构成实例>
图292是示出以编程方式执行上述一系列处理的计算机的硬件的构成实例的框图。
在计算机中,CPU(中央处理单元)2201、ROM(只读存储器)2202、RAM(随机存取存储器)2203和EEPROM(电可擦除可编程只读存储器)2204通过总线2205耦合在一起。输入/输出接口2206还耦合到总线2205,并且输入/输出接口2206耦合到外部。
在如上所述构成的计算机中,CPU 2201经由总线2205将存储在ROM 2202和EEPROM2204中的程序加载到RAM 2203中以执行程序,从而执行上述一系列处理。另外,计算机(CPU2201)执行的程序可以预先写入ROM 2202中,也可以安装在EEPROM 2204中,或者通过输入/输出接口2206从外部进行更新。
这里,在本说明书中,由计算机根据程序执行的处理不必按照描述为流程图的顺序按定时序列执行。即,由计算机根据程序执行的处理还包括并行或单独执行的处理(例如,并行处理或基于对象的处理)。
此外,程序可以由一个计算机(处理器)处理或者可以经受由多个计算机进行的分配式处理。此外,程序可以发送给远程计算机并且执行该程序。
进一步地,如在此所用,术语“系统”意指一组多个组件(设备、模块(部)等),而不管所有组件是否在同一壳体中。因此,容纳在分开的壳体中并且经由网络耦合在一起的多个设备和在一个壳体中包括多个模块的一个设备各自是一个系统。
此外,例如,描述为一个设备(或处理器)的构成可以分成多个构成,这些构成可以用作多个设备(或处理器)。相反,上面描述为多个设备(或处理器)的构成可以被集成为构成为一个设备(或处理器)。另外,当然可以向每个设备(或每个处理器)的构成添加除了上述构成之外的构成。此外,当作为整个系统的构成和操作基本上相同时,某个设备(或处理器)的构成中的一些可以包括在另一设备(或另一处理器)的构成中。
此外,例如,本技术可以采用云计算构成,其中,通过网络由多个设备共享和联合处理一个功能。
此外,例如,上述程序可以在任何设备中执行。在这种情况下,设备具有必要的功能(诸如功能块)以能够获得必要的信息就足够了。
此外,例如,上述流程图中描述的步骤可以由一个设备执行,并且还可以由多个设备共享和执行。此外,在一个步骤中包括多个处理的情况下,包括在一个步骤中的多个处理可以由一个设备执行,并且还可以由多个设备共享和执行。换言之,包括在一个步骤中的多条处理也可以被执行为多个步骤的处理。相反,描述为多个步骤的处理可以作为一个步骤集体执行。
应注意,关于由计算机执行的程序,描述程序的步骤的处理可以按照本文中描述的顺序按定时序列执行,或者可以在诸如进行调用时的必要定时并行或单独执行。即,除非发生矛盾,否则可以以不同于上述顺序的顺序执行各个步骤的处理。此外,描述该程序的步骤的处理可以与另一程序的处理并行执行,或者可以与另一程序的处理结合执行。
要注意的是,除非发生矛盾,否则本文所述的多种技术可彼此独立地单独实施。不必说,可以一起使用任何现有的多种技术。例如,可以结合在其他实施方式中描述的一些或所有本技术来实现在任一实施方式中描述的一些或所有本技术。此外,上述任何技术中的一些或全部可与上面未描述的其他技术一起实现。
<构成的组合的实例>
应注意,本技术还可具有以下构成。
(1)
一种信息处理器,包括保护部,该保护部保护第一设备和第二设备之间的第一通信和第三设备和第二设备之间的第二通信,其中
所述保护部使用所述第一通信导出或接收第一会话密钥,
所述保护部将所述第一会话密钥用于所述第一通信的加密或解密和消息认证,
所述保护部使用由所述第一会话密钥保护的所述第一通信来接收第二会话密钥,
所述保护部将所述第二会话密钥用于所述第二通信的加密、解密或消息认证,以及
从所述使用的开始到所述第二会话密钥的使用的结束的通信的总次数或通信数据的总量在第三通信和所述第一通信之间不同,所述第三通信在所述第一设备和所述第三设备之间。
(2)
根据(1)所述的信息处理器,其中,
所述第一通信具有比所述第三通信的通信路径更长的通信路径,并且
所述第一通信的通信总次数或所述通信数据的总量小于所述第三通信。
(3)
根据(1)或(2)所述的信息处理器,其中,
所述保护部使用所述第二通信发送或接收用于所述第二会话密钥的使用的开始的定时指定,并且
所述保护部使用所述第三通信来发送或接收用于所述开始使用的所述定时指定或者与用于所述开始使用的所述定时指定相关的信息。
(4)
根据(3)的信息处理器,其中,通过第三通信的ERROR响应消息、HEARTBEAT_ACK响应消息以及厂商定义的SPDM消息中的至少一个,将用于开始使用的定时指定或与用于开始使用的定时指定有关的信息从第三设备发送到第一设备。
(5)
根据(1)至(4)中任一项所述的信息处理器,其中,所述保护部使用所述第二通信来发送或接收与所述第二通信相关的特定消息。
(6)
根据(5)所述的信息处理器,其中,所述保护部使用所述第三通信来发送或接收所述特定消息或与所述特定消息有关的信息。
(7)
根据(5)或(6)的信息处理器,其中,通过第三通信的ERROR响应消息、HEARTBEAT_ACK响应消息以及厂商定义的SPDM消息中的至少一个,将特定消息或与特定消息有关的信息从第三设备发送到第一设备。
(8)
根据(1)至(7)中任一项所述的信息处理器。
(9)
根据(1)至(7)中任一项所述的信息处理器,其中,
所述第三设备使用所述第三通信来接收所述第二会话密钥,并且将所述第二会话密钥用于所述第二通信的所述加密、所述解密或所述消息认证,
所述第二通信是双向通信,
所述第二设备或所述第三设备是桥设备的一部分或全部,并且
使用所述第一通信来发送或接收所述第二会话密钥,并且此后使用所述第三通信来发送或接收所述第二会话密钥。
(10)
根据(1)至(9)中任一项所述的信息处理器,其中,所述保护部在所述第一通信或所述第三通信中发送或接收不同于所述第二会话密钥的随机数。
(11)
根据(1)至(10)中任一项所述的信息处理器,其中,所述保护部在所述第一通信或所述第三通信中发送或接收与确认所述第二会话密钥的使用的状态的周期有关的信息,或与更新所述第二会话密钥的周期有关的信息。
(12)
根据(1)至(11)中任一项所述的信息处理器,其中,所述保护部在所述第一通信或所述第三通信中发送或接收与所述第二通信的消息计数器相关的信息。
(13)
根据(1)至(12)中任一项所述的信息处理器,其中,
所述保护部包括消息计数器和响应于所述消息计数器而改变的附加消息计数器,
所述消息计数器的计数值和所述附加消息计数器的计数值是将由使用所述第二会话密钥的所述消息认证保护的消息的一部,以及
保护部在第二通信中发送或接收消息计数器的计数值。
(14)
根据(1)至(13)中任一项所述的信息处理器,其中,所述保护部在所述第一通信或所述第三通信中发送或接收请求开始使用所述第二会话密钥的消息。
(15)
根据(1)至(14)中任一项所述的信息处理器,其中,所述保护部在所述第一通信或所述第三通信中发送或接收请求结束使用所述第二会话密钥的消息。
(16)
根据(1)至(15)中任一项所述的信息处理器,其中,包括MAC模式的初始化向量用于第二通信的加密、解密或消息认证。
(17)
根据(1)至(16)中任一项所述的信息处理器,其中,
所述保护部在所述第二通信中发送或接收图像数据和与所述图像数据相关的嵌入数据,并且
所述嵌入数据括针对每个帧单位而变化的随机数信息的一部分或全部。
(18)
根据(17)所述的信息处理器,其中,所述随机数信息由CMAC或HMAC保护。
(19)
一种移动体设备,包括保护部,所述保护部保护第一设备和第二设备之间的第一通信以及第三设备和第二设备之间的第二通信,其中
所述保护部使用所述第一通信导出或接收第一会话密钥,
所述保护部将所述第一会话密钥用于所述第一通信的加密或解密和消息认证,
所述保护部使用由所述第一会话密钥保护的所述第一通信来接收第二会话密钥,
所述保护部将所述第二会话密钥用于所述第二通信的加密、解密或消息认证,以及
从所述使用的开始到所述第二会话密钥的使用的结束的通信的总次数或通信数据的总量在第三通信和所述第一通信之间不同,所述第三通信在所述第一设备和所述第三设备之间。
(20)
一种通信系统,包括保护部,所述保护部保护第一设备和第二设备之间的第一通信和第三设备和第二设备之间的第二通信,其中
所述保护部使用所述第一通信导出或接收第一会话密钥,
所述保护部将所述第一会话密钥用于所述第一通信的加密或解密和消息认证,
所述保护部使用由所述第一会话密钥保护的所述第一通信来接收第二会话密钥,
所述保护部将所述第二会话密钥用于所述第二通信的加密、解密或消息认证,以及
从所述使用的开始到所述第二会话密钥的使用的结束的通信的总次数或通信数据的总量在第三通信和所述第一通信之间不同,所述第三通信在所述第一设备和所述第三设备之间。
(21)
一种信息处理器,包括保护部,该保护部保护第一设备和第二设备之间的第一通信和第三设备和第二设备之间的第二通信,其中
所述保护部使用所述第一通信导出或接收第一会话密钥,
所述保护部将所述第一会话密钥用于所述第一通信的加密或解密和消息认证,
所述保护部使用由所述第一会话密钥保护的所述第一通信来接收第二会话密钥,
所述保护部使用所述第二会话密钥用于所述第二通信的消息认证,以及
所述保护部基于所述第二通信中的消息认证策略验证所述第二通信的所述消息认证,所述消息认证策略是从第一消息认证策略和第二消息认证策略中选择的一个。
(22)
根据(1)至(21)中任一项所述的信息处理器,其中,所述保护部基于经由所述第一通信发送或接收的所述信息在所述第二通信中选择所述消息认证策略。
(23)
根据(21)或(22)所述的信息处理器,其中,
所述保护部包括功能寄存器,经由所述第一通信设备发送或接收存储在所述功能寄存器中的信息,
所述功能寄存器存储指示由所述保护部可选择的消息认证策略候选的信息,
所述消息认证策略候选项是所述第一消息认证策略或所述第二消息认证策略中的至少一个,以及
所述保护部从存储在所述功能寄存器中的所述消息认证策略候选中选择所述第二通信中的所述消息认证策略。
(24)
根据(1)至(23)中任一项所述的信息处理器,其中,
所述保护部包括功能寄存器,经由所述第一通信设备发送或接收存储在所述功能寄存器中的信息,
所述功能寄存器存储与所述保护部能够保持的用于所述第二通信的所述消息认证的数据量的上限相关的信息,并且
所述保护部对于在不超过所述数据量的上限的范围内的数据组验证所述第二通信的消息认证。
(25)
根据(1)至(24)中任一项所述的信息处理器,其中,保护部选择第一内部处理序列和第二内部处理序列中的一个作为用于第二通信的消息认证的内部处理序列。
(26)
根据(1)至(25)中任一项所述的信息处理器,其中,
所述保护部使用所述第二通信发送或接收消息组或扩展分组报头,以及
消息组或扩展分组报头中的最终消息包括指示是否能够完成MAC算术运算或CRC算术运算的信息。
(27)
根据(1)至(26)中任一项所述的信息处理器,其中,
所述保护部将所述第二会话密钥至少用于所述第二通信的加密或解密,以及
所述保护部基于GCM、CCM、CTR模式或CBC模式中的一个的算法来执行所述加密或所述解密。
(28)
根据(1)至(27)中任一项所述的信息处理器,其中,所述保护部响应于来自所述第一设备或者所述第三设备的请求或者命令经由所述第一通信或者所述第二通信发送或者接收要用于或者已经用于所述第二通信的加密、解密或者消息认证的最新初始化向量。
(29)
根据(1)至(28)中任一项所述的信息处理器,其中,
所述第二通信是用于控制图像系统通信的通信,在所述图像系统通信中,发送或接收所述图像数据和所述嵌入数据,并且
所述保护部经由所述图像系统通信,发送或接收要用于或已经用于所述第二通信的加密、解密或消息认证的最新初始化向量。
(30)
根据(1)至(29)中任一项所述的信息处理器,其中,
所述保护部使用所述第二通信发送或接收所述消息组或所述扩展分组报头,以及
所述消息组中的所述最终消息或所述扩展分组报头包括指示是否可以开始所述第二通信的所述解密的信息。
(31)
根据(1)至(30)中任一项所述的信息处理器,其中,所述保护部对包括成为所述第二通信的所述解密的目标的加密数据的数据组执行CRC值的算术运算。
(32)
根据(1)至(31)中任一项所述的信息处理器,其中,所述保护部以不同于将被发送或已接收的数据组的数据序列执行内部处理。
(33)
根据(1)至(32)中任一项所述的信息处理器,其中,所述保护部响应于存储消息计数器值、MAC值或初始化向量的寄存器地址的接收、消息计数器值、MAC值或初始化向量的接收或消息计数器值或MAC值的成功验证,开始第二通信的解密。
(34)
根据(1)至(33)中任一项所述的信息处理器,其中,在从开始接收加密数据到其消息认证完成的定时段期间,保护部仅将后续加密数据设置为新消息认证目标。
(35)
根据(1)至(34)所述的信息处理器,其中,
所述保护部选择是否需要执行所述第二通信的加密或解密,并且
所述保护部在执行所述第二通信的加密或解密的定时与不执行的定时之间改变对要发送或已接收的数据组执行所述内部处理的序列。
(36)
根据(1)至(35)中任一项所述的信息处理器,其中,
所述保护部使用所述第二通信来发送或接收所述寄存器地址或所述扩展分组报头,
执行对应于所述寄存器地址或所述扩展分组报头的写数据或读数据的发送或接收,
所述登记地址或所述扩展分组报头由所述第二通信的消息认证保护,并且
所述保护部基于有关所述寄存器地址或所述扩展分组报头的信息确定是否需要用于所述写数据或所述读数据的所述消息认证或所述加密。
(37)
根据(1)至(36)中任一项所述的信息处理器,其中,所述保护部通过所述第三设备与所述第二设备之间的预先约定来选择所述第二通信中的所述消息认证策略。
(38)
根据(1)至(37)中任一项所述的信息处理器,其中,第一设备和第三设备彼此分离或彼此相同。
(39)
一种移动体设备,包括保护部,所述保护部保护第一设备和第二设备之间的第一通信以及第三设备和第二设备之间的第二通信,其中
所述保护部使用所述第一通信导出或接收第一会话密钥,
所述保护部将所述第一会话密钥用于所述第一通信的加密或解密和消息认证,
所述保护部使用由所述第一会话密钥保护的所述第一通信来接收第二会话密钥,
所述保护部使用所述第二会话密钥进行所述第二通信的消息认证,
所述保护部选择第一消息认证策略或第二消息认证策略中的一个作为所述第二通信中的消息认证策略,并且
所述保护部基于所选择的消息认证策略来验证所述消息认证。
(40)
一种通信系统,包括保护部,所述保护部保护第一设备和第二设备之间的第一通信和第三设备和第二设备之间的第二通信,其中
所述保护部使用所述第一通信导出或接收第一会话密钥,
所述保护部将所述第一会话密钥用于所述第一通信的加密或解密和消息认证,
所述保护部使用由所述第一会话密钥保护的所述第一通信来接收第二会话密钥,
所述保护部使用所述第二会话密钥进行所述第二通信的消息认证,
所述保护部选择第一消息认证策略或第二消息认证策略中的一个作为所述第二通信中的消息认证策略,并且
所述保护部基于所选择的消息认证策略来验证所述消息认证。
(41)
根据(1)至(40)中任一项所述的信息处理器,其中,
所述保护部被构成为使能关于是否使用所述第二通信来接收第一加密数据和由第一随机数构成的第一初始化向量的切换,以及在CBC模式下使用所述第二会话密钥和所述第一初始化向量来执行所述第一加密数据的解密,以及
所述保护部被构成为关于是否生成由第二随机数构成的第二初始化向量进行切换,使用所述第二初始化向量和所述第二会话密钥通过使用所述CBC模式的加密来执行第二加密数据的算术运算,以及使用所述第二通信来发送所述第二加密数据和所述第二初始化向量。
要注意的是,本实施方式不限于上述实施方式,并且在不背离本公开的要旨的情况下,可通过各种方式进行修改。此外,本文中描述的效果仅是示例性和非限制性的,并且可具有其他效果。
本申请要求2021年2月9日向日本专利局提交的日本在先专利申请JP 2021-018760和2021年5月31日向日本专利局提交的日本在先专利申请JP 2021-091938的权益,其全部内容通过引用并入本文。
本领域技术人员应理解,根据设计需求和其他因素,可出现各种修改、组合、子组合和变更,只要它们在所附权利要求或其等同物的范围内。
权利要求书(按照条约第19条的修改)
1.(当前修改)一种信息处理器,包括保护至少一部分第一通信的保护部,其中,在所述第一通信中发送或接收帧,其中,
所述帧包括多行的第一分组数据,
所述保护部基于指示从包括第一消息认证策略、第二消息认证策略、第三消息认证策略和第四消息认证策略的供选择项中选择哪个第一通信消息认证策略的第一通信消息认证策略信息,执行至少保护一部分或全部所述第一分组数据的第一消息认证码的算术运算,
所述第一消息认证策略是对于全部所述第一分组数据应用通过所述第一消息认证码的保护的方针,
所述第二消息认证策略是对于行垂直方向上的所述第一分组数据的一部分排除通过所述第一消息认证码的保护的方针,
所述第三消息认证策略是对于行水平方向上的所述第一分组数据的一部分排除通过所述第一消息认证码的保护的方针,并且
所述第四消息认证策略是对于全部所述第一分组数据排除通过所述第一消息认证码的保护的方针。
2.(当前修改)根据权利要求1所述的信息处理器,其中,
所述帧包括至少一行的第二分组数据,并且
所述第二分组数据包括:源ID的值、虚拟信道的值、对于每个帧变化的值的一部分或全部。
3.(当前修改)根据权利要求1所述的信息处理器,其中,
所述保护部在所述第一消息认证码的算术运算中使用初始化向量,以及
所述初始化向量包括源ID的值、虚拟通道的值和帧计数的值。
4.(当前修改)根据权利要求1所述的信息处理器,其中,
所述保护部在所述第一消息认证码的算术运算中使用初始化向量,以及
所述初始化向量包括源ID的值、扩展的虚拟通道的值、和消息计数的值。
5.(当前修改)根据权利要求1所述的信息处理器,其中,
所述保护部使用包括预计数器的值的第一初始化向量,并执行所述第一分组数据的加密或解密中的至少一者的算术运算,
所述第一消息认证码经历使用不包括所述预计数器的值的第二初始化向量的算术运算,以及
构成所述第二初始化向量的元素的一部分或全部与构成所述第一初始化向量的元素的一部分相同。
6.(当前修改)根据权利要求1所述的信息处理器,其中,所述保护部从所述第一消息认证策略、所述第二消息认证策略和所述第三消息认证策略中的至少两者中选择所述第一通信消息认证策略,并执行所述第一消息认证码的算术运算。
7.(当前修改)根据权利要求1所述的信息处理器,其中,
所述保护部执行保护至少一部分第二通信的第二消息认证码的算术运算,以及
所述第一通信消息认证策略信息由所述第二消息认证码保护并发送或接收。
8.(当前修改)根据权利要求1所述的信息处理器,其中,
所述保护部执行保护至少一部分第二通信的第二消息认证码的算术运算,以及
所述第二消息认证码至少保护耦接目的地地址、寄存器地址、写入数据、响应于消息计数器而改变的隐式附加消息计数器的值、以及所述消息计数器的值。
9.(当前修改)根据权利要求1所述的信息处理器,其中,
所述保护部执行保护至少一部分第二通信的第二消息认证码的算术运算,以及
所述第二消息认证码至少保护耦接目的地地址、寄存器地址、读取数据、响应于消息计数器而变化的隐式附加消息计数器的值以及所述消息计数器的值。
10.(当前修改)根据权利要求1所述的信息处理器,其中,
所述保护部在保护至少一部分第二通信的第二消息认证码的算术运算中使用第二会话密钥,
所述保护部在所述第一消息认证码的算术运算中使用第一会话密钥,以及
在所述第二通信中,请求开始使用所述第一会话密钥的消息由所述第二消息认证码保护并发送或接收。
11.(当前修改)根据权利要求1所述的信息处理器,其中,
所述保护部在保护至少一部分第二通信的第二消息认证码的算术运算中使用第二会话密钥,
所述保护部在所述第一消息认证码的算术运算中使用第一会话密钥,以及
在所述第二通信中,请求结束使用所述第一会话密钥的消息由所述第二消息认证码保护并发送或接收。
12.(当前修改)根据权利要求1所述的信息处理器,其中,
所述保护部在保护至少一部分第二通信的算术运算中使用初始化向量,以及
所述初始化向量包括指示采用写入模式和读取模式中的一者的信息。
13.(当前修改)根据权利要求1所述的信息处理器,其中,
所述保护部在保护至少一部分第二通信的算术运算中使用初始化向量,以及
响应于从所述第二通信的通信伙伴发送请求消息和读取命令中的至少一者,将至少一部分所述初始化向量发送至所述第二通信的所述通信伙伴,或者
响应于向所述第二通信的所述通信伙伴发送请求消息和读取命令中的至少一者,从所述第二通信的所述通信伙伴发送至少一部分所述初始化向量。
14.(当前修改)一种移动体设备,包括保护至少一部分第一通信的保护部,其中,在所述第一通信中发送或接收帧,其中,
所述帧包括多行的第一分组数据,
所述保护部基于指示从包括第一消息认证策略、第二消息认证策略、第三消息认证策略和第四消息认证策略的供选择项中选择哪个第一通信消息认证策略的第一通信消息认证策略信息,执行至少保护一部分或全部所述第一分组数据的第一消息认证码的算术运算,
所述第一消息认证策略是对于全部所述第一分组数据应用通过所述第一消息认证码的保护的方针,
所述第二消息认证策略是对于行垂直方向上的所述第一分组数据的一部分排除通过所述第一消息认证码的保护的方针,
所述第三消息认证策略是对于行水平方向上的所述第一分组数据的一部分排除通过所述第一消息认证码的保护的方针,并且所述第四消息认证策略是对于全部所述第一分组数据排除通过所述第一消息认证码的保护的方针。
15.(当前修改)一种通信系统,包括保护至少一部分第一通信的保护部,其中,在所述第一通信中发送或接收帧,其中,
所述帧包括多行的第一分组数据,
所述保护部基于指示从包括第一消息认证策略、第二消息认证策略、第三消息认证策略和第四消息认证策略的供选择项中选择哪个第一通信消息认证策略的第一通信消息认证策略信息,执行至少保护一部分或全部所述第一分组数据的第一消息认证码的算术运算,
所述第一消息认证策略是对于全部所述第一分组数据应用通过所述第一消息认证码的保护的方针,
所述第二消息认证策略是对于行垂直方向上的所述第一分组数据的一部分排除通过所述第一消息认证码的保护的方针,
所述第三消息认证策略是对于行水平方向上的所述第一分组数据的一部分排除通过所述第一消息认证码的保护的方针,并且
所述第四消息认证策略是对于全部所述第一分组数据排除通过所述第一消息认证码的保护的方针。
16.(当前修改)根据权利要求1所述的信息处理器,其中,
所述保护部执行第二消息认证码的算术运算,所述第二消息认证码保护将经由第二通信发送或接收的至少一部分写入数据,
所述保护部基于从至少包括第五消息认证策略和第六消息认证策略的供选择项中择一选择的第二通信消息认证策略,执行响应于所述写入数据的处理,以及
所述第五消息认证策略是总是允许响应于所述写数据的所述处理的方针,并且
所述第六消息认证策略是仅在所述第二消息认证码被成功验证的情况下允许响应于所述写入数据的所述处理的方针。
17.(当前修改)根据权利要求1所述的信息处理器,其中,
所述信息处理器包括功能寄存器,并且
所述功能寄存器中至少存储有指示是否能够选择所述第一消息认证策略的信息。
18.(当前修改)根据权利要求1所述的信息处理器,其中,
所述信息处理器包括功能寄存器,并且
所述功能寄存器中存储有与所述保护部对于保护至少一部分第二通信的第二消息认证码的算数运算而能够保持的数据量的上限有关的信息,并且
所述保护部针对不超过所述数据量的上限的范围内的数据组验证所述第二消息认证码。
19.(当前修改)根据权利要求1所述的信息处理器,其中,
所述保护部执行第二消息认证码或CRC中的至少一者的算术运算,所述第二消息认证码或CRC保护至少一部分第二通信,
在所述第二通信中发送或接收消息组,并且
所述消息组中的最终消息包括指示是否能够完成第二消息认证码或CRC中的至少一者的算术运算的信息。
20.(当前修改)根据权利要求1所述的信息处理器,其中,
所述保护部从至少包括CBC模式和CTR模式的供选择项中进行选择,
所述保护部在第二通信受到保护的加密和解密中的至少一者的算术运算中使用第二会话密钥,
所述保护部被配置为能够进行:
关于是否使用所述第二通信来接收第一加密数据和第一初始化向量、以及使用所述第二会话密钥和所述第一初始化向量在所述CBC模式下解密所述第一加密数据的切换,以及
关于是否生成第二初始化向量、使用所述第二初始化向量和所述第二会话密钥通过使用所述CBC模式的加密来执行第二加密数据的算术运算、以及使用所述第二通信来发送所述第二加密数据和所述第二初始化向量的切换。

Claims (20)

1.一种信息处理器,包括保护部,所述保护部保护第一设备与第二设备之间的第一通信以及第三设备与所述第二设备之间的第二通信,
所述保护部导出或接收第一会话密钥,
所述保护部将所述第一会话密钥用于所述第一通信的加密或解密、以及消息认证,
所述保护部使用由所述第一会话密钥保护的所述第一通信接收第二会话密钥,
所述保护部将所述第二会话密钥用于所述第二通信的加密、解密、或消息认证,以及
从开始使用所述第二会话密钥到结束使用所述第二会话密钥之间的通信的总次数或通信数据的总量在第三通信和所述第一通信之间不同,所述第三通信在所述第一设备与所述第三设备之间。
2.根据权利要求1所述的信息处理器,其中,
所述第一通信具有比所述第三通信的通信路径更长的通信路径,并且
所述第一通信的通信的总次数或通信数据的总量小于所述第三通信。
3.根据权利要求1所述的信息处理器,其中,
所述保护部使用所述第二通信发送或接收所述第二会话密钥的开始使用定时指定,并且
所述保护部使用所述第三通信发送或接收开始使用定时指定或者与开始使用定时指定相关的信息。
4.根据权利要求1所述的信息处理器,其中,所述保护部使用所述第二通信发送或接收与所述第二通信相关的特定消息。
5.根据权利要求1所述的信息处理器。
6.根据权利要求1所述的信息处理器,其中,所述保护部在所述第一通信或所述第三通信中发送或接收与所述第二会话密钥不同的随机数。
7.根据权利要求1所述的信息处理器,其中,所述保护部在所述第一通信或者所述第三通信中发送或接收与确认所述第二会话密钥的使用状况的周期有关的信息、或者与所述第二会话密钥更新的周期有关的信息。
8.根据权利要求1所述的信息处理器,其中,所述保护部在所述第一通信或所述第三通信中发送或接收与所述第二通信的消息计数器相关的信息。
9.根据权利要求1所述的信息处理器,其中,
所述保护部包括消息计数器和响应于所述消息计数器而改变的附加消息计数器,
所述消息计数器的计数值和所述附加消息计数器的计数值是待被使用所述第二会话密钥的消息认证保护的消息的一部分,以及所述保护部在所述第二通信中发送或接收所述消息计数器的计数值。
10.根据权利要求1所述的信息处理器,其中,所述保护部在所述第一通信或所述第三通信中发送或接收请求开始使用所述第二会话密钥的消息。
11.根据权利要求1所述的信息处理器,其中,所述保护部在所述第一通信或所述第三通信中发送或接收请求结束使用所述第二会话密钥的消息。
12.根据权利要求1所述的信息处理器,其中,包括MAC模式的初始化向量用于所述第二通信的加密、解密或消息认证。
13.根据权利要求1所述的信息处理器,其中,
所述保护部在所述第二通信中发送或接收图像数据以及与所述图像数据相关的嵌入数据,并且
所述嵌入数据括对于每个帧单位而变化的随机数信息的一部分或全部。
14.一种移动体设备,包括保护部,所述保护部保护第一设备与第二设备之间的第一通信以及第三设备与所述第二设备之间的第二通信,
所述保护部导出或接收第一会话密钥,
所述保护部将所述第一会话密钥用于所述第一通信的加密或解密、以及消息认证,
所述保护部使用由所述第一会话密钥保护的所述第一通信接收第二会话密钥,
所述保护部将所述第二会话密钥用于所述第二通信的加密、解密、或消息认证,以及
从开始使用所述第二会话密钥到结束使用所述第二会话密钥之间的通信的总次数或通信数据的总量在第三通信和所述第一通信之间不同,所述第三通信在所述第一设备与所述第三设备之间。
15.一种通信系统,包括保护部,所述保护部保护第一设备与第二设备之间的第一通信以及第三设备与所述第二设备之间的第二通信,
所述保护部导出或接收第一会话密钥,
所述保护部将所述第一会话密钥用于所述第一通信的加密或解密、以及消息认证,
所述保护部使用由所述第一会话密钥保护的所述第一通信接收第二会话密钥,
所述保护部将所述第二会话密钥用于所述第二通信的加密、解密、或消息认证,以及
从开始使用所述第二会话密钥到结束使用所述第二会话密钥之间的通信的总次数或通信数据的总量在第三通信和所述第一通信之间不同,所述第三通信在所述第一设备与所述第三设备之间。
16.根据权利要求1所述的信息处理器,其中,
所述第二会话密钥用于所述第二通信的消息认证,以及
基于所述第二通信中的消息认证策略验证所述第二通信的所述消息认证,所述消息认证策略是从第一消息认证策略和第二消息认证策略中选择的一者。
17.根据权利要求1所述的信息处理器,其中,所述保护部基于经由所述第一通信发送或接收的信息选择所述第二通信中的消息认证策略。
18.根据权利要求1所述的信息处理器,其中,
所述保护部包括功能寄存器,并且所述保护部经由所述第一通信发送或接收存储在所述功能寄存器中的信息,
所述功能寄存器中存储有与所述保护部对于所述第二通信的所述消息认证而能够保持的数据量的上限有关的信息,并且
所述保护部针对在不超过所述数据量的上限的范围内的数据组验证所述第二通信的消息认证。
19.根据权利要求1所述的信息处理器,其中,
所述保护部使用所述第二通信发送或接收消息组或扩展分组报头,以及
所述消息组中的最终消息或所述扩展分组报头包括指示是否能够完成MAC算术运算或CRC算术运算的信息。
20.根据权利要求1所述的信息处理器,其中,
所述保护部被配置为能够进行:
关于是否使用所述第二通信来接收第一加密数据和由第一随机数构成的第一初始化向量、以及使用所述第二会话密钥和所述第一初始化向量在CBC模式下解密所述第一加密数据的切换,以及关于是否生成由第二随机数构成的第二初始化向量、使用所述第二初始化向量和所述第二会话密钥通过使用所述CBC模式的加密来执行第二加密数据的算术运算、以及使用所述第二通信来发送所述第二加密数据和所述第二初始化向量的切换。
CN202280013138.8A 2021-02-09 2022-01-17 信息处理设备、移动设备及通信系统 Pending CN116803050A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2021-018760 2021-02-09
JP2021091938 2021-05-31
JP2021-091938 2021-05-31
PCT/JP2022/001450 WO2022172698A1 (ja) 2021-02-09 2022-01-17 情報処理装置、移動体装置、および通信システム

Publications (1)

Publication Number Publication Date
CN116803050A true CN116803050A (zh) 2023-09-22

Family

ID=88038173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280013138.8A Pending CN116803050A (zh) 2021-02-09 2022-01-17 信息处理设备、移动设备及通信系统

Country Status (1)

Country Link
CN (1) CN116803050A (zh)

Similar Documents

Publication Publication Date Title
US11689386B2 (en) Intelligent controller and sensor network bus, system and method for controlling and operating an automated machine including a failover mechanism for multi-core architectures
US20210056058A1 (en) Intelligent controller and sensor network bus, system and method including a link media expansion and conversion mechanism
US9596075B2 (en) Transparent serial encryption
US10542033B2 (en) Network device and network system
US11086810B2 (en) Intelligent controller and sensor network bus, system and method including multi-layer platform security architecture
US11156987B2 (en) Intelligent controller and sensor network bus, system and method including a message retransmission mechanism
US11258538B2 (en) Intelligent controller and sensor network bus, system and method including an error avoidance and correction mechanism
CN110035047B (zh) 用于检查数据包中的消息完整性的轻型机制
US10050983B2 (en) Communication system, receiving apparatus, receiving method, and computer program product
WO2022075081A1 (ja) 情報処理装置、移動体装置、および通信システム
WO2022050057A1 (ja) 情報処理装置、移動体装置、および通信システム
WO2022172698A1 (ja) 情報処理装置、移動体装置、および通信システム
WO2021146174A1 (en) Intelligent controller and sensor network bus, system and method including multi-layer platform security architecture
US11809163B2 (en) Intelligent controller and sensor network bus, system and method including a message retransmission mechanism
WO2022113812A1 (ja) 情報処理装置、移動体装置、および通信システム
CN116803050A (zh) 信息处理设备、移动设备及通信系统
WO2021222641A1 (en) Intelligent controller and sensor network bus, system and method including a message retransmission mechanism
CN115348024A (zh) 车辆图像传感器、包括其的图像处理系统和其操作方法
WO2022086723A1 (en) Intelligent controller and sensor network bus, system and method including a link media expansion and conversion mechanism
CN110366856B (zh) 频谱信息查询系统和受安全保护的查询代理装置
WO2023243433A1 (ja) 情報処理装置、情報処理方法、プログラム、および通信システム
WO2023210325A1 (en) Transmission apparatus, transmission method, reception apparatus, reception method, program, and transmission system
WO2023223821A1 (ja) 送信装置、受信装置、情報処理方法、プログラム、および通信システム
CN108141357B (zh) 用于在网络中生成秘密的电路装置
JP2020141414A (ja) Ecu、ネットワーク装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination