System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 指令执行方法、装置、芯片、终端及存储介质制造方法及图纸_技高网

指令执行方法、装置、芯片、终端及存储介质制造方法及图纸

技术编号:41147207 阅读:2 留言:0更新日期:2024-04-30 18:14
本申请提供了一种指令执行方法、装置、芯片、终端及存储介质,属于智能卡技术领域。该方法由安全芯片执行,方法包括:在接收到可信应用程序提交的事务的情况下,通过预写日志机制将事务中的多条指令的操作信息写入安全芯片的日志;按照多条指令的执行顺序,依次执行多条指令;对于任一非首条指令,在非首条指令执行失败的情况下,基于日志中记录的操作信息进行回滚,以使回滚后安全芯片的状态与安全芯片执行首条指令之前的状态相同。上述技术方案能够在安全芯片执行指令失败的情况下,将安全芯片的状态回滚到执行事务中的首条指令之前的状态,从而避免了安全芯片因为进入异常中断状态而无法执行指令的情况发生,提高了安全芯片执行指令的效率。

【技术实现步骤摘要】

本申请涉及智能卡,特别涉及一种指令执行方法、装置、芯片、终端及存储介质


技术介绍

1、随着nfc(near field communication,近场通信)技术的发展,nfc在终端上的应用越来越广泛。例如,用户通过在支持nfc的终端中录入虚拟公交卡、虚拟门禁卡,来实现使用终端刷公交、刷门禁。由于使用虚拟卡的过程中会涉及到用户的一些隐私数据。因此,如何在nfc通信中保证用户的隐私安全,是一个需要解决的技术问题。

2、相关技术中,终端中内置有se芯片(secure element,安全芯片/安全元件)。在用户通过终端中的应用程序实现nfc通信的过程中,应用程序可以将涉及到用户隐私数据的指令下发给se芯片,如更改虚拟卡的余额、更改虚拟卡的密钥等指令,由se芯片执行相应的指令,从而保证用户的隐私安全。

3、但是,在需要执行多条指令来完成某个业务功能的情况下,se芯片需要逐条执行指令并逐条返回指令的执行结果。如果存在任一指令执行失败,则se芯片会异常中断,导致se芯片无法正常执行指令,降低了se芯片执行指令的效率。


技术实现思路

1、本申请实施例提供了一种指令执行方法、装置、芯片、终端及存储介质,能够在安全芯片执行指令失败的情况下,对安全芯片的状态进行回滚,从而避免安全芯片异常中断。技术方案如下:

2、根据本申请实施例的一方面,提供了一种指令执行方法,应用于安全芯片,所述方法包括:

3、在接收到可信应用程序提交的事务的情况下,通过预写日志机制将所述事务中的多条指令的操作信息写入所述安全芯片的日志,所述操作信息用于表示指令所指示执行的操作;

4、按照所述多条指令的执行顺序,依次执行所述多条指令;

5、对于任一非首条指令,在所述非首条指令执行失败的情况下,基于所述日志中记录的操作信息进行回滚,以使回滚后所述安全芯片的状态与所述安全芯片执行首条指令之前的状态相同。

6、根据本申请实施例的另一方面,提供了一种指令执行装置,所述装置配置于安全芯片中,所述装置包括:

7、写入模块,用于在接收到可信应用程序提交的事务的情况下,通过预写日志机制将所述事务中的多条指令的操作信息写入所述安全芯片的日志,所述操作信息用于表示指令所指示执行的操作;

8、执行模块,用于按照所述多条指令的执行顺序,依次执行所述多条指令;

9、回滚模块,用于对于任一非首条指令,在所述非首条指令执行失败的情况下,基于所述日志中记录的操作信息进行回滚,以使回滚后所述安全芯片的状态与所述安全芯片执行首条指令之前的状态相同。

10、在一些实施例中,所述回滚模块,包括:

11、确定单元,用于对于任一非首条指令,在所述非首条指令执行失败的情况下,从所述多条指令中确定至少一条第一指令,所述第一指令为所述多条指令中执行顺序在执行失败的所述非首条指令之前的指令;

12、读取单元,用于从所述日志中读取所述至少一条第一指令的操作信息;

13、回滚单元,用于按照从后到前的执行顺序,依次基于所述至少一条第一指令的操作信息进行回滚。

14、在一些实施例中,所述回滚单元,用于对于任一第一指令,基于所述第一指令的操作信息,确定所述第一指令的反操作,所述第一指令的反操作用于将所述安全芯片的状态恢复为执行所述第一指令之前的状态;执行所述第一指令的反操作。

15、在一些实施例中,所述写入模块,用于在接收到所述可信应用程序提交的事务的情况下,确定所述事务中的多条指令;对于任一指令,基于所述指令所指示执行的操作,生成所述指令的操作信息;通过所述预写日志机制将所述指令的操作信息写入所述安全芯片的日志,所述日志存储在所述安全芯片的非易失性存储器中。

16、在一些实施例中,所述装置还包括:

17、第一确定模块,用于在接收到回滚指令的情况下,基于所述回滚指令携带的目标时间点,确定至少一条第二指令,所述第二指令为执行成功且执行时刻在所述目标时间点和当前时间点之间的指令;

18、读取模块,用于在所述日志中读取所述至少一条第二指令的操作信息;

19、所述回滚模块,还用于按照从后到前的执行顺序,依次基于所述至少一条第二指令的操作信息进行回滚,以使回滚后所述安全芯片的状态与所述安全芯片在所述目标时间点的状态相同。

20、在一些实施例中,所述装置还包括:

21、第二确定模块,用于确定所述日志中写入的操作信息的数据量;

22、删除模块,用于在所述数据量大于数据量阈值的情况下,删除所述日志中写入的至少一个事务中的多条指令的操作信息。

23、在一些实施例中,所述删除模块,用于在所述数据量大于数据量阈值的情况下,基于多个事务的提交时刻,从接收到的多个事务中确定至少一个第一事务,所述第一事务为提交时刻在预设时间间隔内的事务;对于任一第一事务,在所述日志中删除所述第一事务中的多条指令的操作信息。

24、在一些实施例中,所述删除模块,用于在所述数据量大于数据量阈值的情况下,基于多个事务的优先级,从接收到的多个事务中确定至少一个第二事务,所述接收到的多个事务不包括所述安全芯片当前执行的指令所属的事务,所述第二事务为优先级低于预设优先级的事务,所述优先级与事务的复杂程度正相关;对于任一第二事务,在所述日志中删除所述第二事务中的多条指令的操作信息。

25、在一些实施例中,所述装置还包括:

26、建立模块,用于响应于接收到任一可信应用程序发送的通道建立请求,与所述可信应用程序建立通信通道,所述通信通道用于实现所述安全芯片和所述可信应用程序之间的数据通信;

27、接收模块,用于通过所述通信通道,接收所述可信应用程序提交的事务,所述事务中包括多条待执行的指令;

28、发送模块,用于通过所述通信通道,向所述可信应用程序发送至少一条指令的执行结果。

29、在一些实施例中,在存在多个可信应用程序的情况下,所述安全芯片分别通过多个通信通道与所述多个可信应用程序进行数据通信,所述多个通信通道与所述多个可信应用程序一一对应;

30、所述回滚模块,还用于在多个事务中均存在执行失败的指令的情况下,按照从后到前的提交顺序,依次基于每个事务中的至少一条指令的操作信息进行回滚,所述多个事务与所述多个可信应用程序一一对应。

31、根据本申请实施例的另一方面,提供了一种终端,所述终端包括处理器和存储器;所述存储器存储有如上述方面所述的指令执行方法,所述处理器用于通过芯片实现上述方面所述的指令执行方法。

32、根据本申请实施例的另一方面,提供了一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片在终端上运行时,用于实现上述方面所述的指令执行方法。

33、根据本申请实施例的另一方面,提供了一种计算机可读存储介质,所述存储介质存储有至少一条程序代码,所述至少一条程序代本文档来自技高网...

【技术保护点】

1.一种指令执行方法,其特征在于,应用于安全芯片,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述对于任一非首条指令,在所述非首条指令执行失败的情况下,基于所述日志中记录的操作信息进行回滚,包括:

3.根据权利要求2所述的方法,其特征在于,所述依次基于所述至少一条第一指令的操作信息进行回滚,包括:

4.根据权利要求1所述的方法,其特征在于,所述在接收到可信应用程序提交的事务的情况下,通过预写日志机制将所述事务中的多条指令的操作信息写入所述安全芯片的日志,包括:

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,所述在所述数据量大于数据量阈值的情况下,删除所述日志中写入的至少一个事务中的多条指令的操作信息,包括:

8.根据权利要求6所述的方法,其特征在于,所述在所述数据量大于数据量阈值的情况下,删除所述日志中写入的至少一个事务中的多条指令的操作信息,包括:

9.根据权利要求1所述的方法,其特征在于,所述方法还包括:

10.根据权利要求9所述的方法,其特征在于,在存在多个可信应用程序的情况下,所述安全芯片分别通过多个通信通道与所述多个可信应用程序进行数据通信,所述多个通信通道与所述多个可信应用程序一一对应;

11.一种指令执行装置,其特征在于,所述装置配置于安全芯片中,所述装置包括:

12.一种芯片,其特征在于,所述芯片包括可编程逻辑电路和程序指令中的至少一种,当所述芯片在终端上运行时,用于实现如权利要求1至10任一所述的指令执行方法。

13.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器存储有如权利要求1至10任一项所述的指令执行方法,所述处理器用于通过芯片实现所述指令执行方法。

...

【技术特征摘要】

1.一种指令执行方法,其特征在于,应用于安全芯片,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述对于任一非首条指令,在所述非首条指令执行失败的情况下,基于所述日志中记录的操作信息进行回滚,包括:

3.根据权利要求2所述的方法,其特征在于,所述依次基于所述至少一条第一指令的操作信息进行回滚,包括:

4.根据权利要求1所述的方法,其特征在于,所述在接收到可信应用程序提交的事务的情况下,通过预写日志机制将所述事务中的多条指令的操作信息写入所述安全芯片的日志,包括:

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,所述在所述数据量大于数据量阈值的情况下,删除所述日志中写入的至少一个事务中的多条指令的操作信息,包括:

8.根据权利...

【专利技术属性】
技术研发人员:晨星
申请(专利权)人:深圳市与飞科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1