CN116501680B - I2c总线通信方法、从器件、主器件及i2c网络系统 - Google Patents
I2c总线通信方法、从器件、主器件及i2c网络系统 Download PDFInfo
- Publication number
- CN116501680B CN116501680B CN202310739129.3A CN202310739129A CN116501680B CN 116501680 B CN116501680 B CN 116501680B CN 202310739129 A CN202310739129 A CN 202310739129A CN 116501680 B CN116501680 B CN 116501680B
- Authority
- CN
- China
- Prior art keywords
- register
- information
- encryption
- slave device
- public
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 238000004891 communication Methods 0.000 title claims abstract description 32
- 238000012795 verification Methods 0.000 claims abstract description 189
- 230000004044 response Effects 0.000 claims abstract description 6
- 230000015654 memory Effects 0.000 claims description 24
- 238000012790 confirmation Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 abstract description 26
- 238000010586 diagram Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Small-Scale Networks (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及通信技术领域,公开了I2C总线通信方法、从器件、主器件及I2C网络系统。应用于从器件的I2C总线通信方法包括:在从器件中确定公开寄存器和加密寄存器,公开寄存器中包含第一公开寄存器和第二公开寄存器,加密寄存器中包含第一加密寄存器;根据第一加密寄存器的第一信息形成认证信息,将认证信息写入第一公开寄存器;响应于主器件将与认证信息对应的验证信息写入第二公开寄存器,将验证信息与标准验证信息进行比较;若验证信息与标准验证信息相同,开放主器件对加密寄存器的读写权限。认证过程中通过链路传输的只有认证信息和验证信息,即使链路被窃听,恶意终端无法取得加密寄存器的读写权限,加密寄存器的数据安全得到了保障。
Description
技术领域
本发明涉及通信技术领域,具体涉及I2C总线通信方法、从器件、主器件及I2C网络系统。
背景技术
集成电路总线(Inter-Integrated Circuit,I2C)是两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。
I2C通过串行数据线和串行时钟线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别,而且都可以作为一个发送器或接收器。主机是初始化总线的数据传输并产生允许传输的时钟信号的器件。此时,任何被寻址的器件都被认为是从机。
通常情况下的I2C链路为一主多从的状态,也就是相关消息会在全链路进行广播,为了避免敏感信息在存储过程中被泄露,现在通信技术往往采用密文进行传输,保障链路数据安全。
为了提高密文的安全性需要设置更复杂的加密算法,通过越复杂的加密算法对数据进行加密,得到的密文越难以被破解,但是对应的加密解密过程所占用的计算资源和时间资源也更多。并且,如果链路被反复的长期窃听,在获取到大量的密文后,是可以通过密文破解得到加密算法的。
可见,通过密文保障链路数据安全的方式并不可靠,且会占用大量的计算资源和时间资源。
发明内容
有鉴于此,本发明提供了一种2C总线认证方法、从器件、主器件及I2C网络系统,以解决通过密文保障链路数据安全的方式并不可靠,且会占用大量的计算资源和时间资源的问题。
第一方面,本发明提供了一种I2C总线通信方法,应用于从器件,该方法包括:在从器件的寄存器中确定公开寄存器和加密寄存器,公开寄存器中包含第一公开寄存器和第二公开寄存器,加密寄存器中包含第一加密寄存器;根据第一加密寄存器的第一信息形成认证信息,将认证信息写入第一公开寄存器;响应于主器件将与认证信息对应的验证信息写入第二公开寄存器,将验证信息与标准验证信息进行比较;若验证信息与标准验证信息相同,开放主器件对加密寄存器的读写权限。
本发明实施例提供的I2C总线通信方法,并不是通过传输过程中对数据进行加密来保障从器件寄存器中的数据安全,而是主器件在对从器件的加密寄存器执行读写操作前,从器件先对主器件进行认证,只有主器件根据从器件的认证信息将与标准验证信息相同的验证信息写入从器件后,才开放主器件对加密寄存器的读写权限,保障了从器件中加密寄存器的数据安全。并且,本发明实施例提供的方法中,第一加密寄存器可以是从器件中的任意一个加密寄存器,当选择不同的加密寄存器作为第一加密寄存器时,生成的认证信息是不同的,认证信息对应的标准验证信息也不同,又由于本发明实施例提供的方法中,主器件和从器件的认证过程中通过链路传输的只有认证信息和验证信息,即使链路被窃听,恶意终端也无法获取根据认证信息确定标准验证信息的方法,因此,即使链路被窃听,恶意终端得到了当前的验证信息,下一次认证过程中从器件中选择不同的加密寄存器作为第一加密寄存器生成认证信息时,恶意终端无法根据当前的验证信息通过从器件的认证,从而无法取得对加密寄存器的读写权限,加密寄存器的数据安全得到了保障。
在一种可选的实施方式中,该方法还包括:若验证信息与标准验证信息不同,将主器件判定为非法器件;若验证信息与标准验证信息相同,将主器件判定为合法器件。
在本发明实施例中,若判定主器件为非法器件,从器件中的加密寄存器保持闭锁状态,不会对主器件开启读写权限。未通过认证的主器件无法对加密寄存器进行读写操作,保障了加密寄存器的数据安全。
在一种可选的实施方式中,该方法还包括:接收主器件发送的机密信息操作指令,机密信息操作指令用于指示从器件在加密寄存器中执行读操作,和/或,写操作;若主器件为合法器件,执行机密信息操作指令,得到机密信息操作指令的执行结果;向主器件发送确认字符。
在一种可选的实施方式中,该方法还包括:接收主器件发送的机密信息操作指令,机密信息操作指令用于指示从器件在加密寄存器中执行读操作,和/或,写操作;若主器件为非法器件,向主器件发送确认字符。
在本发明实施例中,无论从器件是否执行了主器件发送的机密信息操作指令,从器件都会发送确认字符,通过这种方式,即使链路被监听,且在主器件执行从第一公开寄存器中读取认证信息以及向第二寄存器中写入第二认证信息时,认证信息和验证信息被恶意终端截取且被破解,恶意终端也无法得知该验证信息和认证信息之间的对应关系是否正确,保障了加密寄存器的数据安全。
在一种可选的实施方式中,公开寄存器和加密寄存器是根据从器件中各寄存器的寄存器信息确定的,在向主器件发送确认字符的步骤之后,该方法还包括:根据机密信息操作指令的执行结果更新从器件中各寄存器的寄存器信息,返回在从器件的寄存器中确定公开寄存器和加密寄存器的步骤。
由于本发明实施例提供的方法中,从器件中寄存器的信息是由主器件发出的机密信息操作指令更改的,因此,受信任的主器件了解从器件中各加密寄存器的最新信息,每次主器件对从器件中的加密寄存器进行操作后,从器件和主器件同步更新寄存器信息,在不影响主器件获取对加密寄存器的读写权限的基础上,还避免了恶意终端通过非法途径获取旧版寄存器信息后对加密寄存器进行非法操作,进一步提高了加密寄存器的数据安全。
在一种可选的实施方式中,根据第一加密寄存器的第一信息形成认证信息,将认证信息写入第一公开寄存器,包括:根据随机策略,在从器件中选择一个加密寄存器作为第一加密寄存器;将第一加密寄存器的第一信息进行加密,形成认证信息;将认证信息写入第一公开寄存器。
在本发明实施例中,根据随机策略选择一个加密寄存器的第一信息形成认证信息,提高了认证信息的随机性,保障了只有在完全知晓从器件中各寄存器的寄存器信息的基础上才能得到与标准验证信息相同的验证信息,提高了加密寄存器的数据安全。
在一种可选的实施方式中,寄存器信息包含从器件中各寄存器的类型,若寄存器的类型为不公开,将寄存器确定为加密寄存器,锁定加密寄存器的读写权限;若寄存器的类型为公开,将寄存器确定为公开寄存器。
在一种可选的实施方式中,第一信息根据第一加密寄存器的地址确定;标准验证信息根据第一加密寄存器的地址和值确定。
在本发明实施例中,将第一加密寄存器的地址作为第一信息,根据第一加密寄存器的地址得到认证信息写入第一公开寄存器中。根据加密寄存器的地址得到认证信息,寄存器的地址不属于从器件的敏感信息,即使主器件在读取认证信息的过程中,认证信息被盗取且被解密,也不会对加密寄存器的安全性产生影响。
在一种可选的实施方式中,加密寄存器包括第一类加密寄存器和第二类加密寄存器,第一类加密寄存器中的加密寄存器不包含从器件的加密信息,第一加密寄存器属于第一类加密寄存器;第二类加密寄存器中的加密寄存器包含从器件的加密信息,若验证信息与标准验证信息相同,开放主器件对第二类加密寄存器的读写权限。
在本发明实施例中,将加密寄存器分为了两类:第一类加密寄存器和第二类加密寄存器,第一类加密寄存器只用于对主器件的认证,第二类加密寄存器中包含从器件的加密信息。由于在对主器件进行认证时,需要结合寄存器的信息生成认证信息和标准验证信息,将加密寄存器分为两类,避免了在生成认证信息和标准验证信息的过程中对从器件的加密信息产生影响,也避免了认证过程中使用包含有从器件的加密信息的寄存器信息所导致的加密信息泄露。
第一方面,本发明提供了另一种I2C总线通信方法,应用于主器件,该方法包括:读取从器件中的第一公开寄存器,通过第一公开寄存器获取认证信息;确定与认证信息对应的验证信息;将验证信息写入从器件中的第二公开寄存器,以使从器件将验证信息与标准验证信息进行比较,得到主器件的认证结果。
在一种可选的实施方式中,该方法还包括:向从器件发送机密信息操作指令,机密信息操作指令用于指示从器件在加密寄存器中执行读操作,和/或,写操作;接收从器件发送的确认字符。
在一种可选的实施方式中,该方法还包括:根据机密信息操作指令更新预先存储的从器件中各寄存器的寄存器信息,形成更新后的寄存器信息,验证信息是根据认证信息和第一加密寄存器的寄存器信息确定的。
在一种可选的实施方式中,确定与认证信息对应的验证信息,包括:对认证信息进行解密得到第一信息;根据预先存储的从器件中各寄存器的寄存器信息,确定与第一信息对应的第二信息;根据第一信息和第二信息确定验证信息。
第三方面,本发明提供了一种I2C网络的从器件,包括:公开寄存器、加密寄存器、策略配置模块、零知识校验模块,策略配置模块用于在从器件的寄存器中确定公开寄存器和加密寄存器,公开寄存器中包含第一公开寄存器和第二公开寄存器,加密寄存器中包含第一加密寄存器;零知识校验模块,用于根据第一加密寄存器的第一信息形成认证信息,将认证信息写入第一公开寄存器,第一加密寄存器为从器件中的任意一个加密寄存器,第一公开寄存器为从器件中的任意一个公开寄存器;响应于主器件将与认证信息对应的验证信息写入第二公开寄存器,零知识校验模块还用于将验证信息与标准验证信息进行比较;若验证信息与标准验证信息相同,零知识校验模块还用于开放主器件对加密寄存器的读写权限;公开寄存器用于存放认证信息和验证信息。
在一种可选的实施方式中,加密寄存器包括第一类加密寄存器和第二类加密寄存器,第一类加密寄存器中的加密寄存器不包含从器件的加密信息,第一加密寄存器属于第一类加密寄存器;第二类加密寄存器中的加密寄存器包含从器件的加密信息,若验证信息与标准验证信息相同,开放主器件对第二类加密寄存器的读写权限。
第四方面,本发明提供了一种I2C网络的主器件,包括:信息读取模块,用于读取从器件中的第一公开寄存器,通过第一公开寄存器获取认证信息;验证信息确定模块,用于确定与认证信息对应的验证信息;验证模块,用于将验证信息写入从器件中的第二公开寄存器,以使从器件将验证信息与标准验证信息进行比较,得到主器件的认证结果。
在一种可选的实施方式中,主器件还包括:信息发送模块,用于向从器件发送机密信息操作指令,机密信息操作指令用于指示从器件在加密寄存器中执行读操作,和/或,写操作;信息接收模块,用于接收从器件发送的确认字符。
第四方面,本发明提供了一种I2C网络系统,包括从器件和主器件,从器件在从器件的寄存器中确定公开寄存器和加密寄存器;根据第一加密寄存器的第一信息形成认证信息,将认证信息写入第一公开寄存器;第一加密寄存器为从器件中的任意一个加密寄存器,第一公开寄存器为从器件中的任意一个公开寄存器;主器件读取从器件中的第一公开寄存器,通过第一公开寄存器获取认证信息;确定与认证信息对应的验证信息;将验证信息写入从器件中的第二公开寄存器,第二公开寄存器为从器件中的任意二个公开寄存器;从器件将验证信息与标准验证信息进行比较,标准验证信息是根据第一信息和从器件的配置策略确定的;若验证信息与标准验证信息相同,开放主器件对加密寄存器的读写权限。
第五方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的I2C总线通信方法。
第六方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的I2C总线通信方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的I2C网络系统的结构示意图;
图2为主器件通过I2C总线读取从器件中寄存器的标准流程;
图3为主器件通过I2C总线写寄存器的标准流程;
图4为在I2C总线上设置加解密模块后的结构示意图;
图5是本发明实施例提供的I2C网络系统中主器件和从器件的交互流程示意图;
图6是本发明实施例提供的用于从器件的I2C总线通信方法的流程图;
图7是本发明实施例提供的用于主器件的I2C总线通信方法的流程图;
图8是本发明实施例提供的I2C网络的从器件的示意图;
图9是本发明实施例提供的I2C网络的主器件的示意图;
图10是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示为I2C网络系统,包括从器件和主器件。I2C通过串行数据(SerialData,SDA)线和串行时钟(Serial CLock ,SCL)线在连接到总线的器件间传递信息。通常情况下,在I2C网络系统中,包括一个主器件和多个从器件,在图1所示的实施例中,以一个主器件和一个从器件进行举例说明。
如图2所示,主器件通过I2C总线读取从器件中寄存器的标准流程为:
1.主器件(Master)发送I2C addr(7bit)和w操作1(1bit),等待确认字符(Acknowledge character,ACK);
2.从器件(Slave)发送ACK;
3. Master发送reg addr(8bit),等待ACK;
4. Slave发送ACK;
5. Master发起START;
6. Master发送I2C addr(7bit)和r操作1(1bit),等待ACK;
7. Slave发送ACK;
8. Slave发送data(8bit),即寄存器里的值;
9. Master发送ACK;
10.第8步和第9步可以重复多次,即顺序读多个寄存器。
如图3所示,主器件通过I2C总线写寄存器的标准流程为:
1. Master发起START;
2. Master发送I2C addr(7bit)和w操作0(1bit),等待ACK;
3. Slave发送ACK;
4. Master发送reg addr(8bit),等待ACK;
5. Slave发送ACK;
6. Master发送data(8bit),即要写入寄存器中的数据,等待ACK;
7. Slave发送ACK;
8. 第6步和第7步可以重复多次,即顺序写多个寄存器;
9. Master发起STOP。
为了提高主器件对从器件中的寄存器进行读写时的安全性,如图4所示,相关技术中在I2C总线上设置了一套加解密模块用于信息的加密传输,从而保障链路数据安全。但是这种方式加解密技术繁琐,占用计算资源、时间资源,且数据安全性取决于密码体系,如果密码存在缺陷,则信息会被泄露,同时,大量的密文传输会增加密码机制被攻破的风险。
本发明实施例提供了一种I2C总线通信方法、I2C网络的从器件、主器件及I2C网络系统,将从器件中的寄存器划分为公开寄存器和加密寄存器,通过建立对主器件的认证方法,主器件通过认证后开启加密寄存器的读写权限,以达到提高加密寄存器数据安全的效果。
在本发明实施例提供的I2C网络系统中,图5是本发明实施例提供的I2C网络系统中主器件和从器件的交互流程示意图,如图5所示,主器件和从器件各自执行如下步骤:
步骤S201,在从器件的寄存器中确定公开寄存器和加密寄存器,公开寄存器中包含第一公开寄存器和第二公开寄存器,加密寄存器中包含第一加密寄存器。
从器件中包含多个寄存器,不同寄存器中存放有不同的数据,本发明实施例中根据配置策略将从器件中的寄存器划分为了公开寄存器和加密寄存器,公开寄存器中存放无需加密的信息,对公开寄存器进行读写操作时不需要确定发出操作指令的设备的操作权限,加密寄存器中存放加密信息,对寄存器进行读写操作时,需要先判断发出操作指令的设备是否具备对该加密寄存器进行读写的权限,才能确定是否执行读写操作。
在一可选实施例中,第一公开寄存器为从器件中的任意一个公开寄存器,第二公开寄存器为从器件中的任意一个公开寄存器,第一加密寄存器为从器件中的任意一个加密寄存器。
步骤S202,从器件根据第一加密寄存器的第一信息形成认证信息,将认证信息写入第一公开寄存器。
在一可选实施例中,由于从器件在生成认证信息后,主器件需要读取该认证信息,通过该认证信息实现主器件的认证,由于未确定主器件的合法性前,主器件没有读取加密寄存器中数据的权限,因此,从器件在根据第一加密寄存器的第一信息生成认证信息后,需要将认证信息写入第一公开寄存器中,以使主器件能够通过第一公开寄存器读取认证信息。
在一可选实施例中,为了保证从器件的数据安全,形成认证信息时所使用的第一信息中不包含敏感信息,例如第一信息可以是第一加密寄存器的地址信息,即,根据第一加密寄存器的地址信息形成认证信息。
在一可选实施例中,从器件在生成认证信息后,可以将任意一个公开寄存器作为第一公开寄存器,将认证信息写入该公开寄存器中,但是,由于公开寄存器还需要与主器件进行非敏感信息的交互,为了避免正常的数据交互过程与认证过程产生冲突,本发明实施例中可以指定从器件中的一个固定公开寄存器作为第一公开寄存器,在对主器件的每次认证过程中,都将认证信息写入该第一公开寄存器中,除对主器件的认证外,第一公开寄存器不与主器件进行其他数据的交互。
步骤S203,主器件读取从器件中的第一公开寄存器,通过第一公开寄存器获取认证信息。
步骤S204,主器件确定与认证信息对应的验证信息。
在一可选实施例中,在I2C网络系统初始化阶段,主器件和从器件首次启动时,主器件和从器件基于各自配置进行上电及准备工作,此时,从器件中有初始的配置策略,从器件根据初始的配置策略对其进行配置,从器件配置的过程包括配置各寄存器的类型、各寄存器的值等,其中,寄存器的类型包括公开和不公开,若将寄存器的类型配置为不公开,则判定该寄存器为加密寄存器,若将寄存器的类型配置为公开,则判定该寄存器为公开寄存器。主器件作为配置端,内部存储有从器件的初始的配置策略,主器件知晓从器件中各寄存器的类型、值等信息。并且在从器件运行过程中,从器件的信息的变化是因为主器件发出的指令所导致的,因此在正常状态下,主器件知晓从器件中各寄存器初始的信息,以及每一次更新后的信息,从而主器件能够根据认证信息确定与认证信息对应的验证信息。
步骤S205,主器件将验证信息写入从器件中的第二公开寄存器。
在一可选实施例中,可以将任意一个公开寄存器作为第二公开寄存器,主器件将验证信息写入该公开寄存器中,但是,由于公开寄存器还需要与主器件进行非敏感信息的交互,为了避免正常的数据交互过程与认证过程产生冲突,本发明实施例中可以指定从器件中的一个固定公开寄存器作为第二公开寄存器,在对主器件的每次认证过程中,主器件都将验证信息写入该第二公开寄存器中,除对主器件的认证外,第二公开寄存器不与主器件进行其他数据的交互。
在一可选实施例中,第一公开寄存器和第二公开寄存器可以为同一个公开寄存器,也可以为两个不同的公开寄存器。
步骤S206,从器件将验证信息与标准验证信息进行比较,得到验证信息与标准验证信息的比较结果。
在本发明实施例中,标准验证信息是从器件根据第一信息确定的,验证信息是主器件根据第一信息确定的,若验证信息与标准验证信息相同,表明生成验证信息的设备知晓从器件根据第一信息确定标准验证信息的方法。若验证信息与从器件得到的标准验证信息不同,表明生成验证信息的设备不知晓从器件根据第一信息确定标准验证信息的方法。因此可以根据验证信息与标准信息的比较结果确定主器件的合法性。
若验证信息与标准验证信息相同,从器件执行步骤S207,开放主器件对加密寄存器的读写权限。
在一可选实施例中,在主器件未完成认证前,加密寄存器处于闭锁状态,主器件对加密寄存器的读写权限关闭,主器件无法对加密寄存器中的数据进行读写操作,当经过认证后,判定主器件为合法器件,则开放主器件对加密寄存器的读写权限,主器件可以对加密寄存器进行读写操作。
本发明实施例提供的I2C网络系统,从器件将寄存器划分为了公开寄存器和加密寄存器,未对主器件进行认证前,加密寄存器处于闭锁状态,主器件没有权限对加密寄存器执行读写操作,当需要对主器件进行验证时,从器件根据第一加密寄存器的第一信息形成认证信息,并将认证信息写入第一公开寄存器,主器件从第一公开寄存器中提取认证信息后,根据认证信息生成验证信息,将验证信息写入从器件的第二公开寄存器中,从器件将验证信息与标准验证信息进行比较,由于标准验证信息是从器件根据第一信息得到的,因此,若验证信息与标准验证信息相同,则表明参与验证的主器件了解从器件的生成标准验证信息的方法,只有受信任的主器件中才会知道生成标准验证信息的方法,此时可以开放主器件对加密寄存器的读写权限。本发明实施例提供的I2C网络系统,并不是通过传输过程中对数据进行加密来保障从器件寄存器中的数据安全,而是主器件在对从器件的加密寄存器执行读写操作前,从器件先对主器件进行认证,只有主器件根据从器件的认证信息将与标准验证信息相同的验证信息写入从器件后,才开放主器件对加密寄存器的读写权限,保障了从器件中加密寄存器的数据安全。并且,本发明实施例中第一加密寄存器可以是从器件中的任意一个加密寄存器,当选择不同的加密寄存器作为第一加密寄存器时,生成的认证信息是不同的,认证信息对应的标准验证信息也不同,又由于本发明实施例中,主器件和从器件的认证过程中通过链路传输的只有认证信息和验证信息,即使链路被窃听,恶意终端也无法获取根据认证信息确定标准验证信息的方法,因此,即使链路被窃听,恶意终端得到了当前的验证信息,下一次认证过程中从器件中选择不同的加密寄存器作为第一加密寄存器生成认证信息时,恶意终端无法根据当前的验证信息通过从器件的认证,从而无法取得对加密寄存器的读写权限,加密寄存器的数据安全得到了保障。
在一可选实施例中,从器件在执行上述步骤S206后,若判定验证信息与标准验证信息不同,将主器件判定为非法器件,从器件在执行上述步骤S206后,若判定验证信息与标准验证信息相同,将主器件判定为合法器件。
在本发明实施例中,若判定主器件为非法器件,从器件中的加密寄存器保持闭锁状态,不会对主器件开启读写权限。未通过认证的主器件无法对加密寄存器进行读写操作,保障了加密寄存器的数据安全。
在一可选实施例中,在本发明实施例提供的I2C网络系统中,主器件和从器件还执行如下步骤:
步骤a1,主器件向从器件发送机密信息操作指令,机密信息操作指令用于指示从器件在加密寄存器中执行读操作,和/或,写操作;
步骤a2,从器件接收主器件发送的机密信息操作指令,若在上述步骤S107中判定主器件为合法器件,从器件执行步骤a3和步骤a4,若判定主器件为非法器件,则不执行步骤a3,只执行步骤a4。
步骤a3,执行机密信息操作指令,得到机密信息操作指令的执行结果;
步骤a4,向主器件发送确认字符。
在本发明实施例中,主器件在向从器件发送机密信息操作指令,要求从器件对加密寄存器执行读操作,和/或,写操作的时候,若从器件在此之前已经判定该主器件为合法器件,则执行机密信息操作指令后,向主器件发送确认字符,若从器件在此之前判定该主器件为非法器件,则不执行机密信息操作指令,而是直接向主器件发送确认字符。
相关技术中,从器件会在执行完主器件发送的指令后向主器件发送确认字符,确认字符用于表征从器件执行完成了主器件的发送的指令,若从器件不执行指令,或执行指令失败,则不会发送确认字符。但是在本发明实施例中,无论从器件是否执行了主器件发送的机密信息操作指令,从器件都会发送确认字符,通过这种方式,即使链路被监听,且在主器件执行步骤S203和步骤S205时,认证信息和验证信息被恶意终端截取且被破解,恶意终端也无法得知该验证信息和认证信息之间的对应关系是否正确,保障了加密寄存器的数据安全。
在一可选实施例中,若从器件判定主器件为合法器件,从器件在执行步骤a3和步骤a4后,还执行步骤a5,根据机密信息操作指令的执行结果,更新从器件中各寄存器的寄存器信息,其中,公开寄存器和加密寄存器是根据从器件中各寄存器的寄存器信息确定的。执行步骤a5后,返回上述步骤S201,等待主器件再次进行认证。
主器件在接收到确认字符后,还执行步骤a6,根据机密信息操作指令更新预先存储的从器件中各寄存器的寄存器信息,形成更新后的寄存器信息,验证信息是根据认证信息和第一加密寄存器的寄存器信息确定的。
在本发明实施例中,从器件根据机密信息操作指令对加密寄存器执行读写操作后,加密寄存器的信息会发生变化,此时需要对预先存储的寄存器信息进行更新。在本发明实施例中,主器件与从器件的认证过程中,主器件从公开寄存器中读取认证信息后,需要根据认证信息确定该认证信息对应的第一加密寄存器,根据第一加密寄存器的寄存器信息确定验证信息,然后基于该验证信息完成与从器件的认证。因此,主器件在对从器件中的加密寄存器进行读写操作后,更新预先存储的加密寄存器信息,能够保证每次认证过程中,主器件都能通过认证从而获取加密寄存器的读写权限。
由于本发明实施例提供的I2C网络系统中,从器件中寄存器的信息是由主器件发出的机密信息操作指令更改的,因此,受信任的主器件了解从器件中各加密寄存器的最新信息,每次主器件对从器件中的加密寄存器进行操作后,从器件和主器件同步更新寄存器信息,在不影响主器件获取对加密寄存器的读写权限的基础上,还避免了恶意终端通过非法途径获取旧版寄存器信息后对加密寄存器进行非法操作,进一步提高了加密寄存器的数据安全。
在一可选实施例中,从器件执行上述步骤S202的过程具体包括如下步骤:
步骤b1,根据随机策略,在从器件中选择一个加密寄存器作为第一加密寄存器。
步骤b2,将第一加密寄存器的第一信息进行加密,形成认证信息。
步骤b3,将认证信息写入第一公开寄存器。
对应地,器件执行上述步骤S204的过程具体包括如下步骤:
步骤b4,对认证信息进行解密得到第一信息。
步骤b5,根据预先存储的从器件中各寄存器的寄存器信息,确定与第一信息对应的第二信息。
步骤b6,根据第一信息和第二信息确定验证信息。
在本发明实施例中,根据随机策略选择一个加密寄存器的第一信息形成认证信息,提高了认证信息的随机性,保障了只有在完全知晓从器件中各寄存器的寄存器信息的基础上才能得到与标准验证信息相同的验证信息,提高了加密寄存器的数据安全。
如上述实施例中记载,从器件在执行机密信息操作指令后,更新了寄存器信息,并返回了上述步骤S201,等待主器件再次进行认证,在本发明实施例中,在每次更新寄存器信息后,主器件进行认证时,从器件都会根据随机策略选择一个加密寄存器作为第一加密寄存器形成认证信息,即,在不同的认证过程中,第一加密寄存器不一定是同一个加密寄存器,认证信息也不一定是相同的。
在一可选实施例中,在本发明实施例提供的I2C网络系统中,寄存器信息包含寄存器的类型,若寄存器的类型为不公开,将寄存器确定为加密寄存器,锁定加密寄存器的读写权限,若寄存器的类型为公开,将寄存器确定为公开寄存器。
在一可选实施例中,在本发明实施例提供的I2C网络系统中,寄存器信息中包含从器件中各寄存器的地址和值,第一信息根据第一加密寄存器的地址确定,标准验证信息根据第一加密寄存器的地址和值确定。
在本发明实施例中,将第一加密寄存器的地址作为第一信息,根据第一加密寄存器的地址得到认证信息写入第一公开寄存器中。根据加密寄存器的地址得到认证信息,寄存器的地址不属于从器件的敏感信息,即使主器件在读取认证信息的过程中,认证信息被盗取且被解密,也不会对加密寄存器的安全性产生影响。
在一可选实施例中,寄存器信息中包含寄存器的地址和值,根据寄存器信息可以确定加密寄存器的地址和值的对应关系,主器件获取到认证信息后,通过认证信息确定第一加密寄存器的地址,然后根据寄存器信息确定与第一加密寄存器的地址对应的值,将第一加密寄存器的值发写入从器件中,从器件将主器件写入的值与第一加密寄存器的实际值进行比较,得到主器件的认证结果。
在一可选实施例中,在本发明实施例提供的I2C网络系统中,加密寄存器包含第一类加密寄存器和第二类加密寄存器。第一类加密寄存器中的加密寄存器不包含从器件的加密信息,第一加密寄存器属于第一类加密寄存器。第二类加密寄存器中的加密寄存器包含从器件的加密信息,若验证信息与标准验证信息相同,开放主器件对第二类加密寄存器的读写权限。
在本发明实施例中,将加密寄存器分为了两类:第一类加密寄存器和第二类加密寄存器,第一类加密寄存器只用于对主器件的认证,第二类加密寄存器中包含从器件的加密信息。由于在对主器件进行认证时,需要结合寄存器的信息生成认证信息和验证信息,将加密寄存器分为两类,避免了在生成认证信息和验证信息的过程中对从器件的加密信息产生影响,也避免了认证过程中使用包含有从器件的加密信息的寄存器信息所导致的加密信息泄露。
在一具体实施例中,设从器件内部有A、B、C、D、E、F,6个寄存器,其中,A、B、C、D四个寄存器的地址分别为0x10、0x20、0x30、0x40,其中A和B为公开寄存器,C和D为第一类加密寄存器,C和D中不包含从器件的加密信息,E和F为第二类加密寄存器,包含有从器件的加密信息。A和B的值均为0x00,C和D的值为10。各寄存器的类型、地址、值均在寄存器信息中有所记录。
从器件完成配置策略初始化后,基于随机策略,选择C的地址和值作为标准验证值,即“0x3010”,将C的地址0x30使用常规的加密手段加密后,配置在A中,A的值变为0x30,该步骤是从器件内部进行的,外界无法获取。
主器件读取A的值,解密解析后得到地址0x30,从配置策略中确定与0x30对应的值10,根据0x30和10形成验证信息“0x3010”,并将“0x3010”写入B。
从器件发现B被修改,在内部读取B的值,解析获得验证信息与标准验证信息进行校验对比,认证通过则开放E和F的权限。
主器件获得权限后,可以更新E和F的值,实现对寄存器信息的更新,更新完毕后,等待下一次校验。
本发明实施例提供了一种I2C总线通信方法,应用于从器件,图6是本发明实施例提供的I2C总线通信方法的流程图,如图6所示,该方法包括:
步骤S301,在从器件的寄存器中确定公开寄存器和加密寄存器,公开寄存器中包含第一公开寄存器和第二公开寄存器,加密寄存器中包含第一加密寄存器。
步骤S302,根据第一加密寄存器的第一信息形成认证信息,将认证信息写入第一公开寄存器。
响应于主器件将与认证信息对应的验证信息写入第二公开寄存器,执行如下步骤:
步骤S303,将验证信息与标准验证信息进行比较,标准验证信息是根据第一信息和从器件的配置策略确定的。
若验证信息与标准验证信息相同,执行如下步骤:
步骤S304,开放主器件对加密寄存器的读写权限。
在一可选实施例中,本发明实施例提供的方法还包括:若验证信息与标准验证信息不同,将主器件判定为非法器件;若验证信息与标准验证信息相同,将主器件判定为合法器件。
在一可选实施例中,本发明实施例提供的方法还包括:接收主器件发送的机密信息操作指令,机密信息操作指令用于指示从器件在加密寄存器中执行读操作,和/或,写操作;若主器件为合法器件,执行机密信息操作指令,得到机密信息操作指令的执行结果;向主器件发送确认字符。
在一可选实施例中,本发明实施例提供的方法还包括:接收主器件发送的机密信息操作指令,机密信息操作指令用于指示从器件在加密寄存器中执行读操作,和/或,写操作;若主器件为非法器件,向主器件发送确认字符。
在一可选实施例中,公开寄存器和加密寄存器是根据从器件中各寄存器的寄存器信息确定的,在向主器件发送确认字符的步骤之后,本发明实施例提供的方法还包括:根据机密信息操作指令的执行结果,更新从器件中各寄存器的寄存器信息,返回上述步骤S301。
在一可选实施例中,在本发明实施例提供的方法中,根据第一加密寄存器的第一信息形成认证信息,将认证信息写入第一公开寄存器的步骤,包括:根据随机策略,在从器件中选择一个加密寄存器作为第一加密寄存器;将第一加密寄存器的第一信息进行加密,形成认证信息;将认证信息写入第一公开寄存器。
在一可选实施例中,在本发明实施例提供的方法中,寄存器信息包含从器件中各寄存器的类型,若寄存器的类型为不公开,将寄存器确定为加密寄存器,锁定加密寄存器的读写权限;若寄存器的类型为公开,将寄存器确定为公开寄存器。
在一可选实施例中,在本发明实施例提供的方法中,第一信息根据第一加密寄存器的地址确定;标准验证信息根据第一加密寄存器的地址和值确定。
在一可选实施例中,在本发明实施例提供的方法中,加密寄存器包含第一类加密寄存器和第二类加密寄存器,第一类加密寄存器中的加密寄存器不包含从器件的加密信息,第一加密寄存器属于第一类加密寄存器;第二类加密寄存器中的加密寄存器包含从器件的加密信息,若验证信息与标准验证信息相同,开放主器件对第二类加密寄存器的读写权限。
上述各个步骤的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例提供了一种I2C总线通信方法,应用于主器件,图7是本发明实施例提供的I2C总线通信方法的流程图,如图7所示,该方法包括:
步骤S401,读取从器件中的第一公开寄存器,通过第一公开寄存器获取认证信息。
步骤S402,确定与认证信息对应的验证信息。
步骤S403,将验证信息写入从器件中的第二公开寄存器,以使从器件将验证信息与标准验证信息进行比较,得到主器件的认证结果。
在一可选实施例中,本发明实施例提供的方法还包括:向从器件发送机密信息操作指令,机密信息操作指令用于指示从器件在加密寄存器中执行读操作,和/或,写操作;接收从器件发送的确认字符。
在一可选实施例中,本发明实施例提供的方法还包括:根据机密信息操作指令更新预先存储的从器件中各寄存器的寄存器信息,形成更新后的寄存器信息,验证信息是根据认证信息和第一加密寄存器的寄存器信息确定的。
在一可选实施例中,本发明实施例提供的方法中,上述步骤S402具体包括:对认证信息进行解密得到第一信息;根据预先存储的从器件中各寄存器的寄存器信息,确定与第一信息对应的第二信息;根据第一信息和第二信息确定验证信息。
上述各个步骤的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例提供了一种I2C网络的从器件,图8是本发明实施例提供的I2C网络的从器件的示意图,如图8所示,从器件包括:公开寄存器501、加密寄存器502、策略配置模块503、零知识校验模块504,
策略配置模块503用于在从器件中的寄存器中确定公开寄存器501和加密寄存器502,公开寄存器501中包含第一公开寄存器和第二公开寄存器,加密寄存器502中包含第一加密寄存器。
零知识校验模块504,用于根据第一加密寄存器的第一信息形成认证信息,将认证信息写入第一公开寄存器。
响应于主器件将与认证信息对应的验证信息写入第二公开寄存器,零知识校验模块504还用于将验证信息与标准验证信息进行比较。
若验证信息与标准验证信息相同,零知识校验模块504还用于开放主器件对加密寄存器502的读写权限。
公开寄存器501用于存放认证信息和验证信息。
在一可选你实施例中,在本发明实施例提供的从器件中,若验证信息与标准验证信息不同,零知识校验模块504还用于将主器件判定为非法器件。
在一可选你实施例中,在本发明实施例提供的从器件中,还包括:
指令接收模块,用于接收主器件发送的机密信息操作指令,机密信息操作指令用于指示从器件在加密寄存器502中执行读操作,和/或,写操作;
指令执行模块,若主器件为合法器件,指令执行模块用于执行机密信息操作指令,得到机密信息操作指令的执行结果;
回复模块,用于向主器件发送确认字符。
在一可选实施例中,在本发明实施例提供的从器件中,公开寄存器501和加密寄存器502是根据从器件中各寄存器的寄存器信息确定的,策略配置模块还用于根据机密信息操作指令的执行结果,更新从器件中各寄存器的寄存器信息。
在一可选实施例中,在本发明实施例提供的从器件中,零知识校验模块504根据随机策略,在从器件中选择一个加密寄存器作为第一加密寄存器;将第一加密寄存器的第一信息进行加密,形成认证信息;将认证信息写入第一公开寄存器。
在一可选实施例中,在本发明实施例提供的从器件中,寄存器信息包含寄存器的类型,若寄存器的类型为不公开,将寄存器确定为加密寄存器,锁定加密寄存器的读写权限;若寄存器的类型为公开,将寄存器确定为公开寄存器。
在一可选实施例中,在本发明实施例提供的从器件中,第一信息根据第一加密寄存器的地址确定;标准验证信息根据第一加密寄存器的地址和值确定。
在一可选实施例中,在本发明实施例提供的从器件中,加密寄存器502包含第一类加密寄存器和第二类加密寄存器,第一类加密寄存器中的加密寄存器不包含从器件的加密信息,第一加密寄存器属于所第一类加密寄存器;第二类加密寄存器中的加密寄存器包含从器件的加密信息,若验证信息与标准验证信息相同,开放主器件对第二类加密寄存器的读写权限。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例提供了一种I2C网络的主器件,图9是本发明实施例提供的I2C网络的主器件的示意图,如图9所示,主器件包括:
信息读取模块601,用于读取从器件中的第一公开寄存器,通过第一公开寄存器获取认证信息;
验证信息确定模块602,用于确定与认证信息对应的验证信息;
验证模块603,用于将验证信息写入从器件中的第二公开寄存器,以使从器件将验证信息与标准验证信息进行比较,得到主器件的认证结果。
在一可选实施例中,本发明实施例提供的主器件还包括:
信息发送模块,用于向从器件发送机密信息操作指令,机密信息操作指令用于指示从器件在加密寄存器中执行读操作,和/或,写操作;
信息接收模块,用于接收从器件发送的确认字符。
在一可选实施例中,本发明实施例提供的主器件还包括:寄存器信息更新模块,用于根据机密信息操作指令更新预先存储的从器件中各寄存器的寄存器信息,形成更新后的寄存器信息,验证信息是根据认证信息和第一加密寄存器的寄存器信息确定的。
在一可选实施例中,在本发明实施例提供的主器件中,验证信息确定模块具体包括:
第一信息确认单元,用于对认证信息进行解密得到第一信息;
第二信息确认单元,用于根据预先存储的从器件中各寄存器的寄存器信息,确定与第一信息对应的第二信息;
验证信息确定单元,用于根据第一信息和第二信息确定验证信息。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
图10是本发明可选实施例提供的一种计算机设备的结构示意图,如图10所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图10中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (19)
1.一种I2C总线通信方法,其特征在于,应用于从器件,所述方法包括:
在所述从器件的寄存器中确定公开寄存器和加密寄存器,所述公开寄存器中包含第一公开寄存器和第二公开寄存器,所述加密寄存器中包含第一加密寄存器;
根据第一加密寄存器的第一信息形成认证信息,将所述认证信息写入第一公开寄存器;所述认证信息是根据所述第一加密寄存器的第一信息进行加密后形成的;
响应于主器件将与所述认证信息对应的验证信息写入第二公开寄存器,将所述验证信息与标准验证信息进行比较;
若所述验证信息与所述标准验证信息相同,开放所述主器件对所述加密寄存器的读写权限。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述验证信息与所述标准验证信息不同,将所述主器件判定为非法器件;
若所述验证信息与所述标准验证信息相同,将所述主器件判定为合法器件。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收所述主器件发送的机密信息操作指令,所述机密信息操作指令用于指示所述从器件在所述加密寄存器中执行读操作,和/或,写操作;
若所述主器件为合法器件,
执行所述机密信息操作指令,得到所述机密信息操作指令的执行结果;
向所述主器件发送确认字符。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收所述主器件发送的机密信息操作指令,所述机密信息操作指令用于指示所述从器件在所述加密寄存器中执行读操作,和/或,写操作;
若所述主器件为非法器件,向所述主器件发送确认字符。
5.根据权利要求3所述的方法,其特征在于,所述公开寄存器和所述加密寄存器是根据所述从器件中各寄存器的寄存器信息确定的,在所述向所述主器件发送确认字符的步骤之后,所述方法还包括:
根据所述机密信息操作指令的执行结果更新所述从器件中各寄存器的寄存器信息,返回所述在所述从器件的寄存器中确定公开寄存器和加密寄存器的步骤。
6.根据权利要求1所述的方法,其特征在于,所述根据第一加密寄存器的第一信息形成认证信息,将所述认证信息写入第一公开寄存器,包括:
根据随机策略,在所述从器件中选择一个加密寄存器作为所述第一加密寄存器;
将所述第一加密寄存器的第一信息进行加密,形成所述认证信息;
将所述认证信息写入所述第一公开寄存器。
7.根据权利要求5所述的方法,其特征在于,所述寄存器信息包含寄存器的类型,
若所述寄存器的类型为不公开,将所述寄存器确定为加密寄存器,锁定所述加密寄存器的读写权限;
若所述寄存器的类型为公开,将所述寄存器确定为公开寄存器。
8.根据权利要求1或2或6所述的方法,其特征在于,
所述第一信息根据所述第一加密寄存器的地址确定;
所述标准验证信息根据所述第一加密寄存器的地址和值确定。
9.根据权利要求1所述的方法,其特征在于,所述加密寄存器包括第一类加密寄存器和第二类加密寄存器,
所述第一类加密寄存器中的加密寄存器不包含所述从器件的加密信息,所述第一加密寄存器属于所述第一类加密寄存器;
所述第二类加密寄存器中的加密寄存器包含所述从器件的加密信息,若所述验证信息与所述标准验证信息相同,开放所述主器件对所述第二类加密寄存器的读写权限。
10.一种I2C总线通信方法,其特征在于,应用于主器件,所述方法包括:
读从器件中的第一公开寄存器,通过所述第一公开寄存器获取认证信息;
确定与所述认证信息对应的验证信息;
将所述验证信息写入所述从器件中的第二公开寄存器,以使所述从器件将所述验证信息与标准验证信息进行比较,得到所述主器件的认证结果;
所述确定与所述认证信息对应的验证信息,包括:
对所述认证信息进行解密得到第一信息;
根据预先存储的从器件中各寄存器的寄存器信息,确定与所述第一信息对应的第二信息;
根据所述第一信息和所述第二信息确定所述验证信息。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
向所述从器件发送机密信息操作指令,所述机密信息操作指令用于指示所述从器件在加密寄存器中执行读操作,和/或,写操作;
接收所述从器件发送的确认字符。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
根据所述机密信息操作指令更新预先存储的从器件中各寄存器的寄存器信息,形成更新后的寄存器信息,所述验证信息是根据所述认证信息和第一加密寄存器的寄存器信息确定的。
13.一种I2C网络的从器件,其特征在于,包括:公开寄存器、加密寄存器、策略配置模块、零知识校验模块,
所述策略配置模块用于在从器件的寄存器中确定公开寄存器和加密寄存器,所述公开寄存器中包含第一公开寄存器和第二公开寄存器,所述加密寄存器中包含第一加密寄存器;
零知识校验模块,用于根据第一加密寄存器的第一信息形成认证信息,将所述认证信息写入第一公开寄存器;所述认证信息是根据所述第一加密寄存器的第一信息进行加密后形成的;
响应于主器件将与所述认证信息对应的验证信息写入第二公开寄存器,所述零知识校验模块还用于将所述验证信息与标准验证信息进行比较,所述第二公开寄存器为所述从器件中的任意一个公开寄存器;
若所述验证信息与标准验证信息相同,所述零知识校验模块还用于开放所述主器件对所述加密寄存器的读写权限;
所述公开寄存器用于存放所述认证信息和所述验证信息。
14.根据权利要求13所述的从器件,其特征在于,加密寄存器包括第一类加密寄存器和第二类加密寄存器,
所述第一类加密寄存器中的加密寄存器不包含所述从器件的加密信息,所述第一加密寄存器属于所述第一类加密寄存器;
所述第二类加密寄存器中的加密寄存器包含所述从器件的加密信息,若所述验证信息与所述标准验证信息相同,开放所述主器件对所述第二类加密寄存器的读写权限。
15.一种I2C网络的主器件,其特征在于,包括:
信息读取模块,用于读从器件中的第一公开寄存器,通过所述第一公开寄存器获取认证信息;
验证信息确定模块,用于确定与所述认证信息对应的验证信息;
验证模块,用于将所述验证信息写入所述从器件中的第二公开寄存器,以使所述从器件将所述验证信息与标准验证信息进行比较,得到所述主器件的认证结果;
验证信息确定模块具体包括:
第一信息确认单元,用于对认证信息进行解密得到第一信息;
第二信息确认单元,用于根据预先存储的从器件中各寄存器的寄存器信息,确定与第一信息对应的第二信息;
验证信息确定单元,用于根据第一信息和第二信息确定验证信息。
16.根据权利要求15所述的主器件,其特征在于,还包括:
信息发送模块,用于向所述从器件发送机密信息操作指令,所述机密信息操作指令用于指示所述从器件在加密寄存器中执行读操作,和/或,写操作;
信息接收模块,用于接收所述从器件发送的确认字符。
17.一种I2C网络系统,其特征在于,包括从器件和主器件,
所述从器件在所述从器件的寄存器中确定公开寄存器和加密寄存器;根据第一加密寄存器的第一信息形成认证信息,将所述认证信息写入第一公开寄存器;所述第一加密寄存器为所述从器件中的任意一个加密寄存器,所述第一公开寄存器为所述从器件中的任意一个公开寄存器;所述认证信息是根据所述第一加密寄存器的第一信息进行加密后形成的
所述主器件读所述从器件中的第一公开寄存器,通过所述第一公开寄存器获取认证信息;确定与所述认证信息对应的验证信息;将所述验证信息写入所述从器件中的第二公开寄存器,所述第二公开寄存器为所述从器件中的任意二个公开寄存器;
所述从器件将所述验证信息与标准验证信息进行比较;若所述验证信息与标准验证信息相同,开放所述主器件对所述加密寄存器的读写权限;
所述主器件确定与所述认证信息对应的验证信息的步骤,包括:
对所述认证信息进行解密得到第一信息;
根据预先存储的从器件中各寄存器的寄存器信息,确定与所述第一信息对应的第二信息;
根据所述第一信息和所述第二信息确定所述验证信息。
18.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至13中任一项所述的I2C总线通信方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至13中任一项所述的I2C总线通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310739129.3A CN116501680B (zh) | 2023-06-21 | 2023-06-21 | I2c总线通信方法、从器件、主器件及i2c网络系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310739129.3A CN116501680B (zh) | 2023-06-21 | 2023-06-21 | I2c总线通信方法、从器件、主器件及i2c网络系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116501680A CN116501680A (zh) | 2023-07-28 |
CN116501680B true CN116501680B (zh) | 2023-09-12 |
Family
ID=87318648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310739129.3A Active CN116501680B (zh) | 2023-06-21 | 2023-06-21 | I2c总线通信方法、从器件、主器件及i2c网络系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116501680B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106371954A (zh) * | 2016-08-19 | 2017-02-01 | 浪潮(北京)电子信息产业有限公司 | 基于10位从机地址的i2c总线验证的方法及系统 |
CN111552657A (zh) * | 2019-02-08 | 2020-08-18 | 英特尔公司 | 使用消息总线接口的phy重新校准 |
CN114650138A (zh) * | 2022-01-21 | 2022-06-21 | 山东云海国创云计算装备产业创新中心有限公司 | 一种i2c通信方法、系统、设备以及介质 |
CN116069259A (zh) * | 2023-02-24 | 2023-05-05 | 山东浪潮科学研究院有限公司 | 一种读写控制方法、装置、设备及存储介质 |
-
2023
- 2023-06-21 CN CN202310739129.3A patent/CN116501680B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106371954A (zh) * | 2016-08-19 | 2017-02-01 | 浪潮(北京)电子信息产业有限公司 | 基于10位从机地址的i2c总线验证的方法及系统 |
CN111552657A (zh) * | 2019-02-08 | 2020-08-18 | 英特尔公司 | 使用消息总线接口的phy重新校准 |
CN114650138A (zh) * | 2022-01-21 | 2022-06-21 | 山东云海国创云计算装备产业创新中心有限公司 | 一种i2c通信方法、系统、设备以及介质 |
CN116069259A (zh) * | 2023-02-24 | 2023-05-05 | 山东浪潮科学研究院有限公司 | 一种读写控制方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
集成电路I~2C模块主从模式与Boot控制的设计;李庆龙等;集成电路应用(08);第11-14页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116501680A (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8458480B2 (en) | Method and apparatus for binding TPM keys to execution entities | |
JP4638912B2 (ja) | ディストリビューションcdを使用した、署名されたグループにおけるダイレクトプルーフの秘密鍵を装置に伝達する方法 | |
EP2973188B1 (en) | Secondary device as key for authorizing access to resources | |
US11070380B2 (en) | Authentication apparatus based on public key cryptosystem, mobile device having the same and authentication method | |
US20110016310A1 (en) | Secure serial interface with trusted platform module | |
US20160026799A1 (en) | Security device having indirect access to external non-volatile memory | |
US11528273B2 (en) | Expended trust for onboarding | |
JP2018500823A (ja) | 装置鍵保護 | |
WO2020029254A1 (zh) | 一种SoC芯片及总线访问控制方法 | |
CN105740718B (zh) | 电子系统、电子装置及电子装置的存取认证方法 | |
US20190327093A1 (en) | Cloud-implemented physical token based security | |
EP3748902A1 (en) | Management method, terminal and server | |
CN111669351B (zh) | 鉴权方法、业务服务器、客户端及计算机可读存储介质 | |
WO2022126644A1 (zh) | 模型保护装置及方法、计算装置 | |
US20220231995A1 (en) | Secured communication from within non-volatile memory device | |
CN116157797A (zh) | 用于存储器内设备访问控制的方法和装置 | |
KR20210095038A (ko) | 메모리 스토리지용 어드레스 암호해독 | |
CN115774883A (zh) | 电子芯片及配置此类电子芯片的方法 | |
CN114740820A (zh) | 一种车辆诊断的处理方法及装置 | |
CN114697113A (zh) | 一种基于硬件加速卡的多方隐私计算方法、装置及系统 | |
US20230327869A1 (en) | Authentication method and apparatus | |
CN116501680B (zh) | I2c总线通信方法、从器件、主器件及i2c网络系统 | |
CN114329574A (zh) | 基于域管平台的加密分区访问控制方法、系统及计算设备 | |
US11171786B1 (en) | Chained trusted platform modules (TPMs) as a secure bus for pre-placement of device capabilities | |
CN112363800A (zh) | 一种网卡的内存访问方法、安全处理器、网卡及电子设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |