集装箱锁数据处理方法、相关设备和存储介质与流程

文档序号:27636176发布日期:2021-11-29 17:07阅读:78来源:国知局
集装箱锁数据处理方法、相关设备和存储介质与流程

1.本发明涉及区块链技术领域,尤其是涉及一种集装箱锁数据处理方法、相关设备和存储介质。


背景技术:

2.目前在海洋运输业中,传统集装箱锁(铅封)是主流的保证集装箱完整性的方法。每个铅封都具备封号,在装箱时通过监装人员记录和备案。铅封的设计只能锁不能开,只能通过外力破坏将其拆除。在无铅封或铅封被破坏的情况下,除了最后收件人的签收环节,都可认为集装箱不具备完整性,接收方有权拒收。
3.而铅封的结构简单,容易被复制制造,并且铅封封号常通过纸质表单记录,在事故调查中需要通过人工排查,降低了申诉解决的时效性。可见使用铅封的集装箱管理不便,且事故调查、定责难度较大;而一些电子锁可以存储使用中产生的数据以提供相关证据,但锁依然可能被破坏,信息安全性不高。


技术实现要素:

4.本技术提供了一种集装箱锁数据处理方法、装置、集装箱锁和介质。
5.第一方面,提供了一种集装箱锁数据处理方法,应用于终端设备,包括:获取集装箱锁的传感器数据以及所述传感器数据对应的数据上链事件,所述数据上链事件为所述终端设备的目标用户通过所述集装箱锁的身份验证的情况下,由所述集装箱锁创建的事件;将所述数据上链事件以及所述传感器数据上传到区块链网络;在所述数据上链事件以及所述传感器数据上传完成后,向所述集装箱锁发送反馈信息,以通知所述集装箱锁清除所述传感器数据。
6.第二方面,提供了一种集装箱锁数据处理方法,应用于集装箱锁,包括:在终端设备的目标用户通过身份验证的情况下,创建所述集装箱锁的传感器数据对应的数据上链事件,以通过所述终端设备将所述数据上链事件以及所述传感器数据上传到区块链网络;在所述数据上链事件以及所述传感器数据上传完成后,清除所述传感器数据。
7.第三方面,提供了一种终端设备,包括:获取模块,用于获取集装箱锁的传感器数据以及所述传感器数据对应的数据上链事件,所述数据上链事件为所述终端设备的目标用户通过所述集装箱锁的身份验证的情况下,由所述集装箱锁创建的事件;上传模块,用于将所述数据上链事件以及所述传感器数据上传到区块链网络;传输模块,用于在所述数据上链事件以及所述传感器数据上传完成后,向所述集装箱锁发送反馈信息,以通知所述集装箱锁清除所述传感器数据。
8.第四方面,提供了另一种终端设备,包括存储器和处理器,所述存储器存储有计算
机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如第一方面及其任一种可能的实现方式的步骤。
9.第五方面,提供了一种集装箱锁,包括:数据上链模块,用于在终端设备的目标用户通过身份验证的情况下,创建所述集装箱锁的传感器数据对应的数据上链事件,以通过所述终端设备将所述数据上链事件以及所述传感器数据上传到区块链网络;清理模块,用于在所述数据上链事件以及所述传感器数据上传完成后,清除所述传感器数据。
10.第六方面,提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如上述第一方面及其任一种可能的实现方式的步骤,或者如上述第二方面及其任一种可能的实现方式的步骤。
11.本技术实施例提供的一种集装箱锁数据处理方法,应用于终端设备,通过获取集装箱锁的传感器数据以及所述传感器数据对应的数据上链事件,所述数据上链事件为所述终端设备的目标用户通过所述集装箱锁的身份验证的情况下,由所述集装箱锁创建的事件;将所述数据上链事件以及所述传感器数据上传到区块链网络;在所述数据上链事件以及所述传感器数据上传完成后,向所述集装箱锁发送反馈信息,以通知所述集装箱锁清除所述传感器数据,利用区块链的特性,集装箱锁的传感器数据可以通过经身份验证的海运从业人员的终端设备上传到区块链网络,且不会因为集装箱锁的损坏而丢失,信息安全性较高,便于管理查证,可以为事故调查或申诉解决提供强有力的线索,并增强了该流程的时效性,另外也在一定程度上节省了集装箱锁的内存。
附图说明
12.为了更清楚地说明本技术实施例或背景技术中的技术方案,下面将对本技术实施例或背景技术中所需要使用的附图进行说明。
13.图1为本技术实施例提供的一种集装箱锁的结构示意图;图2为本技术实施例提供的一种集装箱锁数据处理方法的流程示意图;图3为本技术实施例提供的另一种集装箱锁数据处理方法的流程示意图;图4为本技术实施例提供的一种终端设备的结构示意图;图5为本技术实施例提供的一种终端设备的结构示意图。
具体实施方式
14.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
15.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包
括对于这些过程、方法、产品或设备固有的其他步骤或单元。
16.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
17.下面结合本技术实施例中的附图对本技术实施例进行描述。
18.为了更清楚地说明本技术实施例中的方法,首先介绍一种集装箱锁的总体设计方案。
19.本技术实施例中的集装箱锁是设置在集装箱上的锁,结合软件方法进行控制,可以实现身份验证、开锁、关锁和相关数据处理等操作。该集装箱锁可以基于区块链实现数据处理。
20.本技术中软件部分可包括身份验证、通信及可信事件存储三个模块。软件可以被烧录在片上系统soc中,软件部分包括开源实时嵌入式操作系统mbedos,soc为带可信执行环境tee技术的arm cortex

m架构芯片。可信执行环境是一个由处理器直接管理的隔离区域,在可信执行环境中运行的代码将完全隔离于系统,以保证隐私如私钥的安全。
21.本技术实施例中的存储模块(比如可使用micro sd卡)预留了可信事件存储空间,用于记录本锁所有的事件记录(如开关锁事件、传感器数据事件等)。
22.可以参见图1,图1为本技术实施例提供的一种集装箱锁的结构示意图,如图1所示,其中包括导线1、芯片2、检测模块3、通信模块4和供电模块5。
23.上述芯片2可以为前述所述的片上系统soc,也可以根据需要选择其他芯片类型,此处不做限制。
24.本技术实施例中的锁物理状态至少包括打开或者闭合两种,集装箱锁中检测模块3可以检测锁物理状态(打开或者闭合),其主要依据是:若锁为打开状态,则导线1导线通电,否则不通电。
25.结合软件部分,锁可有三种虚拟状态:若导线1为通电状态(检测模块3检测为高电平),则锁为闭合。
26.若导线1为断电状态(检测模块3检测为低电平),则在可信事件存储中读取上一次事件。
27.若上一次事件为开锁,则锁处于正常打开状态。
28.若上一次事件为闭合,则锁处于非正常打开状态,此时锁可能已经被强行打开或者破坏。该方面还可以参考图2所示实施例中描述的相关步骤。
29.在一种可选的实施方式中,检测模块3采用d触发器实现。d触发器的时钟端与soc上的cpu时钟同步。在锁闭合的状态下,d触发器的输入端为芯片需要的5v或者3.3v电压。为了精确地检测低电平,在导线1断电时,d触发器的输入针脚应接入下拉电阻并且接地。
30.在一种可选的实施方式中,上述通信模块4可以使用蓝牙通信模块,例如低功耗蓝牙ble5.0,符合beacon标准,具备监听蓝牙广播的能力。在软件层面,通过加密信道,来确保通讯的隐私性与安全性。可选的,本技术实施例中也可以选择其他通信方式的通信模块。
31.通信模块4有以下两个作用:1. 收集传感器(如集装箱温度计、湿度计等)的数据,并存储在可信事件存储空间
内;2. 将事件通过终端设备(如智能手机等)将事件传回区块链。
32.可选的,本技术实施例中的集装箱锁可以根据需要设置具体的供电模块5。例如在实践过的一种实施方式中,在待机状态下,整系统电流为2.8微安,满载约为2.88毫安,在平均每天满载1小时的估算下,每天耗电量为2.94毫安,耗能交底;该系统电压为3.3v,本技术实施例中可以使用可充电式锂亚硫酰氯电池,能量密度约为500wh/kg,足够支撑大多数海运周期。供电模块5可以使用任意标准充电电路,本技术实施例对此不做限制。
33.请参阅图2,图2是本技术实施例提供的一种集装箱锁数据处理方法的流程示意图。该方法可包括:201、获取集装箱锁的传感器数据以及上述传感器数据对应的数据上链事件,上述数据上链事件为上述终端设备的目标用户通过上述集装箱锁的身份验证的情况下,由上述集装箱锁创建的事件。
34.本技术中的集装箱锁数据处理方法可以用于基于区块链的集装箱锁的数据上链和数据溯源过程,上述过程以及集装箱锁的开、关锁过程涉及两端:用户(终端设备),用户作为集装箱锁的控制者,可以通过终端设备对集装箱锁进行控制,该终端设备可以为移动终端。上述用户通常可以为海运从业人员,可使用该终端设备上的应用程序(application,app)通过蓝牙等通信方式与集装箱锁进行交互、控制。
35.本技术中的集装箱锁数据处理方法的执行主体为一种集装箱锁,比如图1所示的一种集装箱锁。该集装箱锁包含控制器(芯片),通过控制器控制执行软件方法,以实现本技术实施例中的集装箱锁数据处理方法。
36.首先本技术实施例中,集装箱锁中的身份验证可采用可链接的环签名算法。考虑到海运集装箱锁的环境特点(如区块链中参与角色众多),环签名机制能够保障参与者身份隐私。对海运这种由多个参与者(船公司、拖车公司等)组成的联盟而言,其内部有协作也有博弈,在某些场景下,保护用户身份是非常必要的。传统的环签名机制不存在能够打开签名的第三方(不数据签名环的一方),本技术实施例中采用一种具备指责关联性和抗诽谤性的方案,即基于相同公钥列表生成的两个环签名可判断是否来自同一个签名者,更方便追责、防止签名者被诬陷。
37.其中,上述目标用户即为任意控制集装箱锁(开、关等)的用户,比如海运从业人员。
38.目标用户可通过终端设备从集装箱锁获取历史物理码,即该锁的旧物理码(pklock_old),并可以通过锁的旧物理码查询关联的上次海运事务是否已完成;若未完成,则无法继续;若已完成,则继续身份验证流程。若此锁为新锁,旧的物理码则为出厂时设定。
39.集装箱锁可以对目标用户进行身份验证,具体可通过专利cn112307445b(一种基于区块链的身份管理方法及装置,以下简称身份管理装置),进行身份验证。若验证不通过,则无法继续。若验证通过,集装箱锁可以创建一个数据上链事件eventup,该事件会通过新物理码对应的私钥sklock加密,但不会存储在可信事件存储空间中。可选的,该数据上链事件的具体事件明文格式可以如表1所示:操作id操作值操作时间操作者查询数据操作id无unix时间戳查询操作者的公钥
表1终端设备可以获取集装箱锁的传感器数据(传感器事件数据),以及生成的上述数据上链事件,执行步骤202。
40.202、将上述数据上链事件以及上述传感器数据上传到区块链网络。
41.本技术实施例中,可以通过终端设备将集装箱锁中的传感器数据上传区块链网络。
42.在一种可选的实施方式中,上述数据上链事件通过上述集装箱锁的目标物理码对应的私钥加密;在步骤202之前,上述方法还包括:在上述目标用户通过上述集装箱锁的身份验证的情况下,从区块链中获取上述集装箱锁的初始化事件,上述初始化事件中包括上述集装箱锁对应的目标公钥环和上述目标物理码;使用上述目标用户的私钥和上述目标公钥环对上述传感器数据的摘要进行加密,并生成数字签名,写入上述数据上链事件的操作者字段中。
43.可选的,上述数据上链事件中还包括上链操作标识、上链操作值和上链操作时间;上述上链操作值包括每条传感器数据的摘要的累加器总和,上述累加器总和用于区块链网络判断上传的上述传感器数据是否完整。
44.可选的,上述上链操作值包括区块链网络提供的上述传感器数据对应的提取地址和摘要。
45.具体的,在身份验证通过后,可开始锁的初始化流程。初始化步骤如下:在终端设备生成目标物理码,即锁的新物理码(新rsa密钥对中的公钥pklock)、环签名中的目标公钥环(ringpk),并且通过累加器压缩成常量长度(ringc)。环签名中的目标公钥环由参与本次海运的所有参与者的公钥(pk1

n)以及锁的新物理码(pklock)组成。通过密码学中的累加器技术,可以将公钥环压缩成常量长度,以便在物联网设备中储存(本发明中则为集装箱锁)。常量公钥环(ringc)、操作者的公钥(pkop,属于pk1

n)、新物理码(pklock)及新物理码对应的私钥(sklock)通过旧物理码(pklock_old)进行rsa加密,生成初始化密文m传回给锁。
46.锁在接收初始化密文m后,读取(tee中的)旧物理码对应的私钥(sklock_old),对密文m进行解密,得到常量公钥环(ringc)、公钥(pkop)、新锁物理码(pklock)及新物理码对应的私钥(sklock)。新物理码对应的私钥sklock、公钥环(ringc)、新物理码(pklock)将替换原来存储的旧私钥sklock_old、旧公钥环和旧物理码(pklock_old)。
47.本次初始化事件(event0)可通过新物理码对应的私钥sklock加密后存储在可信事件存储空间中。例如,可包括初始化操作标识(初始化操作的id)、上述目标公钥环(ringc)、上述目标物理码(pklock)、初始化操作时间(unix时间戳)和初始化操作者的数字签名,具体事件明文格式可以如表2所示:
操作id操作值操作时间操作者初始化操作的id公钥环(ringc),新物理码pklockunix时间戳操作者的环数字签名
表2可选的,上述初始化事件可传输到终端设备,并可以通过网络上传到区块链作溯
源用。
48.在上述目标用户通过上述集装箱锁的身份验证的情况下,则终端设备可以从区块链网络查询得到锁的初始化事件event0,并从中获取公钥环(ringc)与物理码pklock。
49.目标用户通过可链接的环签名算法,用该目标用户的私钥skop和公钥环ringc对原始传感器数据的摘要hash进行加密,并生成数字签名s,并且写上链事件eventup的操作者字段中。数据上链事件eventup及传感器数据data会通过目标用户的终端设备(app)上传到区块链网络。
50.本技术实施例中,区块链网络可以调用预先约定的智能合约接口,将上述传感器数据储存在分布式存储网络中,如ipfs,并且计算数据的摘要的累加器的总和。若此累加器总和与eventup中的不一致,则数据不完整,须重新上传。若一致,分布式存储网络返回提取地址addr和数据的摘要h。addr和h会被写入eventup的操作值字段(上链操作值)中,打包成块上链。
51.可选的,本技术实施例中生成数字签名的方法可以不是环签名,即可以替代成别的数字签名如基于rsa等算法。
52.203、在上述数据上链事件以及上述传感器数据上传完成后,向上述集装箱锁发送反馈信息,以通知上述集装箱锁清除上述传感器数据。
53.数据成功上链后,集装箱锁的本地传感器数据将被清除,以腾出空间给新的数据使用。
54.本技术实施例中的集装箱锁数据处理方法,应用于终端设备,通过获取集装箱锁的传感器数据以及所述传感器数据对应的数据上链事件,所述数据上链事件为所述终端设备的目标用户通过所述集装箱锁的身份验证的情况下,由所述集装箱锁创建的事件;将所述数据上链事件以及所述传感器数据上传到区块链网络;在所述数据上链事件以及所述传感器数据上传完成后,向所述集装箱锁发送反馈信息,以通知所述集装箱锁清除所述传感器数据,利用区块链的特性,集装箱锁的传感器数据可以通过经身份验证的海运从业人员的终端设备上传到区块链网络,且不会因为集装箱锁的损坏而丢失,信息安全性较高,便于管理查证,可以为事故调查或申诉解决提供强有力的线索,并增强了该流程的时效性,另外也在一定程度上节省了集装箱锁的内存。
55.请参见图3,本技术实施例还公开了另一种集装箱锁数据处理方法,如图3所示,该方法应用于集装箱锁,具体包括:301、在终端设备的目标用户通过身份验证的情况下,创建上述集装箱锁的传感器数据对应的数据上链事件,以通过上述终端设备将上述数据上链事件以及上述传感器数据上传到区块链网络;302、在上述数据上链事件以及上述传感器数据上传完成后,清除上述传感器数据。
56.在一种可选的实施方式中,上述数据上链事件通过上述集装箱锁的目标物理码对应的私钥加密;上述方法还包括:在上述终端设备的目标用户通过身份验证的情况下,生成并在上述区块链网络中存储初始化事件,上述初始化事件中包括上述集装箱锁对应的目标公钥环和上述目标物理码,上述目标公钥环和上述目标物理码用于被上述终端设备获取并用于对上述传感器数据
的摘要进行加密。
57.其中,上述步骤在图1所示实施例中已经进行了相关描述,此处不再赘述。
58.可选的,上述方法还包括:在接收到上述终端设备的数据查询请求的情况下,创建数据查询事件,上述数据查询事件通过上述目标物理码对应的私钥加密,上述数据查询事件用于触发区块链网络向上述终端设备提供与上述集装箱锁的上述目标物理码对应的事件。
59.上述方法还包括:在接收到上述终端设备的数据查询请求的情况下,创建数据查询事件,上述数据查询事件通过上述目标物理码对应的私钥加密,上述数据查询事件用于触发区块链网络向上述终端设备提供与上述集装箱锁的上述目标物理码对应的事件。
60.若海运发生事故,需要作事故调查或者需要从海运数据中提取报告,需要对区块链的数据进行溯源,具体操作如下:当前与集装箱锁当前关联的目标用户在终端设备app进行身份验证,具体可通过专利cn112307445b(一种基于区块链的身份管理方法及装置,以下简称身份管理装置)进行。若验证不通过,则无法继续。若验证通过,集装箱锁可以创建一个数据查询事件eventq,该数据查询事件eventq可以通过新物理码(目标物理码)对应的私钥sklock加密,但不会存储在可信事件存储空间中。具体事件明文格式可如下表3所示:操作id操作值操作时间操作者查询数据操作id无unix时间戳查询操作者的公钥表3区块链网络可以回传所有与目标物理码pklock相关的事件(包括传感器事件)。用户可以通过事件,迅速地分析事故发生的事件地点人物。比如,集装箱锁在何时何航段被破坏;冷链食品在何时温度过高导致腐坏等。
61.本技术实施例中所使用的加密算法库为mbedos里提供的mbedtls。mbedtls基于c语言,且为arm contex

m架构的物联网设备提供了空间和算力的优化。mbedtls本身提供了基本加密还有摘要算法如rsa,aes,sha256等等。但本技术实施例中提出了一种基于累加器的可链接式环签名算法。
62.考虑到海运集装箱锁的环境特点(如区块链中参与角色众多),本技术实施例中采用环签名机制能够保障参与者身份隐私。对海运这种由多个参与者(船公司、拖车公司等)组成的联盟而言,其内部有协作也有博弈,在某些场景下,保护用户身份是非常必要的。传统的环签名机制不存在能够打开签名的第三方(不属于公钥环的一方),为了方便追责,防止签名者被诬陷,需要一种具备指责关联性和抗诽谤性的方案,即基于相同公钥环生成的两个环签名可判断是否来自同一个签名者。当事故发生且通过分析知道是哪个事件引起事故后,可以让嫌疑操作人员再次生成针对该事件的环数字签名。若与事件记录的环签名一致,则指责正确,若不一致,则指责不正确。
63.而考虑到一个海运事物当中,参与者的数量是不一定的。一般来说,公钥环的大小与参与者的数量成正比。由于锁的tee空间有限,所以,有必要使用累加器对公钥环的大小进行压缩,达到常量值。
64.目前在海洋运输业中,传统集装箱锁(铅封)是主流的保证集装箱完整性的方法。
每个铅封都具备封号,在装箱时通过监装人员记录和备案。铅封的设计时只能锁不能开,只能通过外力破坏将其拆除。在无铅封或铅封被破坏的情况下,除了最后收件人的签收环节,都可认为集装箱不具备完整性,且所有接手方有权拒收。
65.本技术实施例中与区块链交互的集装箱锁(链锁)通过环签名及累加器加密技术,将与集装箱相关的参与者的公钥(如寄件人、收件人、承运方、检查方等)及自身硬件码进行压缩加密,产生固定长度的签名环。在每个检查点(包括固定检查点和定时检查点)将身份验证结果与集装箱相关的信息(如位置,集装箱内温湿度等)包括传感器数据,上传到区块链。所有海运参与者通能过区块链实时查询集装箱的位置、当前承运方、集装箱完整性。为了保证集装箱的完整性,每次链锁被打开或者破坏,会改变自身硬件码。
66.基于上述集装箱锁数据处理方法实施例的描述,本技术实施例还公开了一种终端设备。请参见图4,该终端设备400包括:获取模块410,用于获取集装箱锁的传感器数据以及所述传感器数据对应的数据上链事件,所述数据上链事件为所述终端设备的目标用户通过所述集装箱锁的身份验证的情况下,由所述集装箱锁创建的事件;上传模块420,用于将所述数据上链事件以及所述传感器数据上传到区块链网络;传输模块430,用于在所述数据上链事件以及所述传感器数据上传完成后,向所述集装箱锁发送反馈信息,以通知所述集装箱锁清除所述传感器数据。
67.根据本技术的一个实施例,图2所示的方法所涉及的各个步骤均可以是由图3所示的终端设备400中的各个模块执行的,此处不再赘述。
68.本技术实施例中的终端设备400,可以获取集装箱锁的传感器数据以及所述传感器数据对应的数据上链事件,所述数据上链事件为所述终端设备的目标用户通过所述集装箱锁的身份验证的情况下,由所述集装箱锁创建的事件;将所述数据上链事件以及所述传感器数据上传到区块链网络;在所述数据上链事件以及所述传感器数据上传完成后,向所述集装箱锁发送反馈信息,以通知所述集装箱锁清除所述传感器数据,利用区块链的特性,集装箱锁的传感器数据可以通过经身份验证的海运从业人员的终端设备上传到区块链网络,且不会因为集装箱锁的损坏而丢失,信息安全性较高,便于管理查证,可以为事故调查或申诉解决提供强有力的线索,并增强了该流程的时效性,另外也在一定程度上节省了集装箱锁的内存。
69.基于上述集装箱锁数据处理方法实施例的描述,本技术实施例还提供了一种集装箱锁,如图5所示,该集装箱锁500包括:数据上链模块510,用于在终端设备的目标用户通过身份验证的情况下,创建所述集装箱锁的传感器数据对应的数据上链事件,以通过所述终端设备将所述数据上链事件以及所述传感器数据上传到区块链网络;清理模块520,用于在所述数据上链事件以及所述传感器数据上传完成后,清除所述传感器数据。
70.根据本技术的一个实施例,图3所示的方法所涉及的各个步骤以及图2中集装箱锁执行的任意步骤均可以是由图5所示的集装箱锁500中的各个模块执行的,此处不再赘述。
71.基于上述集装箱锁数据处理方法实施例的描述,本技术实施例还公开了一种集装箱锁,该集装箱锁可以包括存储器和处理器,所述存储器存储有计算机程序。其中,集装箱
memory,rom),或随机存储存储器(random access memory,ram),或磁性介质,例如,软盘、硬盘、磁带、磁碟、或光介质,例如,数字通用光盘(digital versatile disc,dvd)、或者半导体介质,例如,固态硬盘(solid state disk ,ssd)等。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1