CN117118756B - 数据交互方法、装置、计算机设备及计算机可读存储介质 - Google Patents
数据交互方法、装置、计算机设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117118756B CN117118756B CN202311377130.2A CN202311377130A CN117118756B CN 117118756 B CN117118756 B CN 117118756B CN 202311377130 A CN202311377130 A CN 202311377130A CN 117118756 B CN117118756 B CN 117118756B
- Authority
- CN
- China
- Prior art keywords
- data
- downlink
- uplink
- service
- ciphertext
- 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 124
- 230000003993 interaction Effects 0.000 title claims abstract description 99
- 230000004044 response Effects 0.000 claims abstract description 419
- 230000006870 function Effects 0.000 claims abstract description 284
- 238000012795 verification Methods 0.000 claims description 265
- 238000004590 computer program Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 abstract description 13
- 239000007789 gas Substances 0.000 description 216
- 230000005611 electricity Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 15
- 230000008520 organization Effects 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 10
- 239000013598 vector Substances 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 206010063385 Intellectualisation Diseases 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000002737 fuel gas Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本发明公开了一种数据交互方法、装置、计算机设备及计算机可读存储介质,所述方法包括:获取主站发送的下行业务解密命令;向所述主站发送所述下行业务解密命令对应的下行目标响应内容;其中,所述下行目标响应内容是根据下行业务功能码对应的安全性状态以及下行业务数据密文得到的;获取上行业务加密命令;向所述主站发送所述上行业务加密命令对应的上行目标响应内容;其中,所述上行目标响应内容是基于上行数据域中包括的上行业务数据明文得到的。由此在保障终端设备完成多种不同的业务功能的同时,能够确保相关业务的数据信息在存储、传输过程中不被偶然或蓄意地篡改,有效提高数据交互的安全性。
Description
技术领域
本发明涉及数据交互技术领域,尤其涉及一种数据交互方法、装置、计算机设备及计算机可读存储介质。
背景技术
终端设备和主站是信息采集系统的基础设施,在终端设备和主站之间通常需要交换大量的数据信息。随着远程通信技术的不断发展,终端设备正朝着安全性、可靠性、智能化的方向发展,保障终端设备与主站之间数据交互的安全性和完整性具有重要的意义。
相关技术中,通常通过信息安全管理功能来保证终端设备和主站之间数据交互过程中的身份正确认证和数据的安全性、完整性。然而,数据交互的安全性有待提高。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种数据交互方法,在保障终端设备完成多种不同的业务功能的同时,能够确保相关业务的数据信息在存储、传输过程中不被偶然或蓄意地篡改,以提高数据交互的安全性。
本发明的第二个目的在于提出又一种数据交互方法。
本发明的第三个目的在于提出一种数据交互装置。
本发明的第四个目的在于提出又一种数据交互装置。
本发明的第五个目的在于提出一种计算机设备。
本发明的第六个目的在于提出一种计算机可读存储介质。
为达到上述目的,本发明第一方面实施方式提出了一种数据交互方法,应用于安全芯片,所述安全芯片内嵌至终端设备;所述方法包括:获取主站发送的下行业务解密命令;其中,所述下行业务解密命令中包含有下行业务功能码和下行业务数据密文;所述终端设备与所述主站协商有下行业务密钥;利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据;执行所述待执行指令数据对应的操作,得到响应数据;其中,所述下行业务功能码对应有所述终端设备向所述主站发送所述响应数据的安全性状态;根据所述下行业务功能码对应的安全性状态、所述响应数据,得到所述下行业务解密命令对应的下行目标响应内容,以将所述下行目标响应内容发送至所述主站。
根据本发明的一个实施方式,所述根据所述下行业务功能码对应的安全性状态、所述响应数据,得到所述下行业务解密命令对应的下行目标响应内容,包括:若根据所述下行业务功能码确定所述安全性状态为明文状态,根据所述明文状态、所述响应数据,得到所述下行目标响应内容。
根据本发明的一个实施方式,所述明文状态包括第一明文状态;所述若根据所述下行业务功能码确定所述安全性状态为明文状态,根据所述明文状态、所述响应数据,得到所述下行目标响应内容,包括:若根据所述下行业务功能码确定所述安全性状态为所述第一明文状态,将所述响应数据确定为所述下行目标响应内容。
根据本发明的一个实施方式,所述明文状态包括第二明文状态;所述若根据所述下行业务功能码确定所述安全性状态为明文状态,根据所述明文状态、所述响应数据,得到所述下行目标响应内容,包括:若根据所述下行业务功能码确定所述安全性状态为所述第二明文状态,根据所述下行业务功能码和所述响应数据,得到待返回数据明文;根据所述待返回数据明文,得到所述下行目标响应内容。
根据本发明的一个实施方式,所述下行业务解密命令中包含有第一随机数;所述根据所述待返回数据明文,得到所述下行目标响应内容,包括:根据所述第一随机数、所述待返回数据明文,得到所述下行目标响应内容。
根据本发明的一个实施方式,所述根据所述下行业务功能码对应的安全性状态、所述响应数据,得到所述下行业务解密命令对应的下行目标响应内容,包括:若根据所述下行业务功能码确定所述安全性状态为密文状态,根据所述下行业务功能码和所述响应数据,得到待返回数据明文;利用所述下行业务密钥对所述待返回数据明文进行加密,得到待返回数据密文;根据所述待返回数据密文,得到所述下行目标响应内容。
根据本发明的一个实施方式,所述下行业务解密命令中包含有第一随机数;在所述根据所述待返回数据密文,得到所述下行目标响应内容之前,所述方法包括:基于所述第一随机数、所述待返回数据密文进行计算,得到下行业务验证码;所述根据所述待返回数据密文,得到所述下行目标响应内容,包括:根据所述第一随机数、所述待返回数据密文、所述下行业务验证码,得到所述下行目标响应内容。
根据本发明的一个实施方式,所述下行业务解密命令包含有下行数据域;所述下行业务功能码还对应有所述下行数据域的第一数据格式;所述下行业务数据密文的获取方式,包括:根据所述下行业务功能码对应的第一数据格式对所述下行数据域进行解析,得到所述下行业务数据密文;其中,所述第一数据格式用于表示所述下行数据域中包括密文状态的数据,或者,所述第一数据格式用于表示所述下行数据域中包括密文状态的数据以及第一MAC验证码。
根据本发明的一个实施方式,所述根据所述下行业务功能码对应的第一数据格式对所述下行数据域进行解析,得到所述下行业务数据密文,还包括:若所述第一数据格式表示所述下行数据域中包括密文状态的数据以及第一MAC验证码,根据所述第一数据格式对所述下行数据域进行解析,得到所述下行数据域中包括的第一MAC验证码;在所述利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据之前,所述方法包括:利用所述下行业务密钥对所述第一MAC验证码进行校验;所述利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据,包括:若所述第一MAC验证码通过校验,利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据。
根据本发明的一个实施方式,所述下行业务解密命令中包含有下行业务时间戳;在所述利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据之前,所述方法包括:获取历史业务时间戳;其中,所述历史业务时间戳用于对所述下行业务时间戳进行验证;所述利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据,包括:若根据所述历史业务时间戳与所述下行业务时间戳之间的比较结果表明所述下行业务时间戳通过验证,利用所述下行业务密钥对所述下行业务数据密文进行解密,得到所述待执行指令数据。
根据本发明的一个实施方式,所述若根据所述历史业务时间戳与所述下行业务时间戳之间的比较结果表明所述下行业务时间戳通过验证,利用所述下行业务密钥对所述下行业务数据密文进行解密,得到所述待执行指令数据,包括:若所述历史业务时间戳小于所述下行业务时间戳,表明所述下行业务时间戳通过验证,利用所述下行业务密钥对所述下行业务数据密文进行解密,得到所述待执行指令数据。
根据本发明的一个实施方式,所述终端设备与所述主站协商有签名验签密钥;所述下行业务解密命令中还包含有下行验证签名数据,所述下行验证签名数据是基于所述下行业务数据密文进行签名运算得到的;在所述利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据之前,所述方法还包括:根据所述下行业务数据密文、所述签名验签密钥对所述下行验证签名数据进行验签验证;所述利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据,包括:若所述下行验证签名数据通过验签验证,利用所述下行业务密钥对所述下行业务数据密文进行解密,得到所述待执行指令数据。
根据本发明的一个实施方式,所述数据交互方法还包括:获取上行业务加密命令;其中,所述上行业务加密命令包含有上行业务功能码和上行数据域;所述上行业务功能码对应有所述上行数据域的第二数据格式;所述终端设备与所述主站协商有上行业务密钥;根据所述上行业务功能码对应的第二数据格式对所述上行数据域进行解析,得到上行业务数据明文;其中,所述第二数据格式用于表示所述上行数据域中包括明文状态的数据,或者,所述第二数据格式用于表示所述上行数据域中包括明文状态的数据以及第二MAC验证码;利用所述上行业务密钥对所述上行业务数据明文进行加密,得到上行业务数据密文;根据所述上行业务数据密文,得到所述上行业务加密命令对应的上行目标响应内容,以将所述上行目标响应内容发送至所述主站。
根据本发明的一个实施方式,所述根据所述上行业务数据密文,得到所述上行业务加密命令对应的上行目标响应内容,包括:获取第二随机数;基于所述第二随机数、所述上行业务数据密文进行计算,得到上行业务验证码;根据所述第二随机数、所述上行业务数据密文、所述上行业务验证码,得到所述上行目标响应内容。
根据本发明的一个实施方式,所述终端设备与所述主站协商有签名验签密钥;所述根据所述第二随机数、所述上行业务数据密文、所述上行业务验证码,得到所述上行目标响应内容,还包括:基于所述签名验签密钥、所述第二随机数、所述上行业务数据密文、所述上行业务验证码进行签名运算,得到上行业务签名数据;根据所述第二随机数、所述上行业务数据密文、所述上行业务验证码、所述上行业务签名数据,得到所述上行目标响应内容。
根据本发明的一个实施方式,所述根据所述上行业务功能码对应的第二数据格式对所述上行数据域进行解析,得到上行业务数据明文,还包括:若所述第二数据格式表示所述上行数据域中包括明文状态的数据以及第二MAC验证码,根据所述第二数据格式对所述上行数据域进行解析,得到所述上行数据域中包括的第二MAC验证码;在所述利用所述上行业务密钥对所述上行业务数据明文进行加密,得到上行业务数据密文之前,所述方法包括:利用所述上行业务密钥对所述第二MAC验证码进行校验;所述利用所述上行业务密钥对所述上行业务数据明文进行加密,得到上行业务数据密文,包括:若所述第二MAC验证码通过校验,利用所述上行业务密钥对所述上行业务数据明文进行加密,得到所述上行业务数据密文。
根据本发明的一个实施方式,所述终端设备与所述主站协商有签名验签密钥;所述上行业务加密命令包含有上行验证签名数据,所述上行验证签名数据是基于所述上行业务数据明文进行签名运算得到的;在所述根据所述上行业务功能码对应的第二数据格式对所述上行数据域进行解析,得到上行业务数据明文之前,所述方法还包括:利用所述签名验签密钥对所述上行验证签名数据进行验签验证;所述根据所述上行业务功能码对应的第二数据格式对所述上行数据域进行解析,得到上行业务数据明文,包括:若所述上行验证签名数据通过验签验证,根据所述上行业务功能码对应的第二数据格式对所述上行数据域进行解析,得到所述上行业务数据明文。
根据本发明的一个实施方式,所述终端设备为燃气表,所述主站为燃气主站。
为达到上述目的,本发明第二方面实施方式提出了一种数据交互方法,应用于安全芯片,所述安全芯片内嵌至终端设备;所述方法包括:获取主站发送的下行业务解密命令;其中,所述下行业务解密命令中包含有下行业务功能码和下行业务数据密文;所述下行业务功能码对应有所述终端设备向所述主站发送响应数据的安全性状态;向所述主站发送所述下行业务解密命令对应的下行目标响应内容;其中,所述下行目标响应内容是根据所述下行业务功能码对应的安全性状态以及所述下行业务数据密文得到的;获取上行业务加密命令;其中,所述上行业务加密命令包含有上行业务功能码和上行数据域;所述上行业务功能码对应有所述上行数据域的第二数据格式;向所述主站发送所述上行业务加密命令对应的上行目标响应内容;其中,所述上行目标响应内容是基于所述上行数据域中包括的上行业务数据明文得到的;所述上行业务数据明文是根据所述第二数据格式对所述上行数据域进行解析得到的。
根据本发明的一个实施方式,所述终端设备与所述主站协商有下行业务密钥;所述下行目标响应内容的确定方式,包括:利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据;执行所述待执行指令数据对应的操作,得到所述响应数据;根据所述下行业务功能码对应的安全性状态、所述响应数据,得到所述下行目标响应内容。
根据本发明的一个实施方式,所述根据所述下行业务功能码对应的安全性状态、所述响应数据,得到所述下行业务解密命令对应的下行目标响应内容,包括:若根据所述下行业务功能码确定所述安全性状态为明文状态,根据所述明文状态、所述响应数据,得到所述下行目标响应内容。
根据本发明的一个实施方式,所述根据所述下行业务功能码对应的安全性状态、所述响应数据,得到所述下行业务解密命令对应的下行目标响应内容,包括:若根据所述下行业务功能码确定所述安全性状态为密文状态,根据所述下行业务功能码和所述响应数据,得到待返回数据明文;利用所述下行业务密钥对所述待返回数据明文进行加密,得到待返回数据密文;根据所述待返回数据密文,得到所述下行目标响应内容。
根据本发明的一个实施方式,所述下行业务解密命令包含有下行数据域;所述下行业务功能码还对应有所述下行数据域的第一数据格式;所述下行业务数据密文的获取方式,包括:根据所述下行业务功能码对应的第一数据格式对所述下行数据域进行解析,得到所述下行业务数据密文;其中,所述第一数据格式用于表示所述下行数据域中包括密文状态的数据,或者,所述第一数据格式用于表示所述下行数据域中包括密文状态的数据以及第一MAC验证码。
根据本发明的一个实施方式,所述终端设备与所述主站协商有上行业务密钥;所述上行目标响应内容的确定方式,包括:根据所述上行业务功能码对应的第二数据格式对所述上行数据域进行解析,得到上行业务数据明文;其中,所述第二数据格式用于表示所述上行数据域中包括明文状态的数据,或者,所述第二数据格式用于表示所述上行数据域中包括明状态的数据以及第二MAC验证码;利用所述上行业务密钥对所述上行业务数据明文进行加密,得到上行业务数据密文;根据所述上行业务数据密文,得到所述上行目标响应内容。
为达到上述目的,本发明第三方面实施方式提出了一种数据交互装置,应用于安全芯片,所述安全芯片内嵌至终端设备;所述装置包括:第一解密命令获取模块,用于获取主站发送的下行业务解密命令;其中,所述下行业务解密命令中包含有下行业务功能码和下行业务数据密文;所述终端设备与所述主站协商有下行业务密钥;指令数据获取模块,用于利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据;响应数据获取模块,用于执行所述待执行指令数据对应的操作,得到响应数据;其中,所述下行业务功能码对应有所述终端设备向所述主站发送所述响应数据的安全性状态;下行响应内容获取模块,用于根据所述下行业务功能码对应的安全性状态、所述响应数据,得到所述下行业务解密命令对应的下行目标响应内容,以将所述下行目标响应内容发送至所述主站。
根据本发明的一个实施方式,所述数据交互装置还包括:第一加密命令获取模块,用于获取上行业务加密命令;其中,所述上行业务加密命令包含有上行业务功能码和上行数据域;所述上行业务功能码对应有所述上行数据域的第二数据格式;所述终端设备与所述主站协商有上行业务密钥;上行数据明文获取模块,用于根据所述上行业务功能码对应的第二数据格式对所述上行数据域进行解析,得到上行业务数据明文;上行数据密文获取模块,用于利用所述上行业务密钥对所述上行业务数据明文进行加密,得到上行业务数据密文;上行响应内容获取模块,用于根据所述上行业务数据密文,得到所述上行业务加密命令对应的上行目标响应内容,以将所述上行目标响应内容发送至所述主站。
为达到上述目的,本发明第四方面实施方式提出了一种数据交互装置,应用于安全芯片,所述安全芯片内嵌至终端设备;所述装置包括:第二解密命令获取模块,用于获取主站发送的下行业务解密命令;其中,所述下行业务解密命令中包含有下行业务功能码和下行业务数据密文;所述下行业务功能码对应有所述终端设备向所述主站发送响应数据的安全性状态;下行响应内容发送模块,用于向所述主站发送所述下行业务解密命令对应的下行目标响应内容;其中,所述下行目标响应内容是根据所述下行业务功能码对应的安全性状态以及所述下行业务数据密文得到的;第二加密命令获取模块,用于获取上行业务加密命令;其中,所述上行业务加密命令包含有上行业务功能码和上行数据域;所述上行业务功能码对应有所述上行数据域的第二数据格式;上行响应内容发送模块,用于向所述主站发送所述上行业务加密命令对应的上行目标响应内容;其中,所述上行目标响应内容是基于所述上行数据域对应的上行业务数据明文得到的;所述上行业务数据明文是根据所述第二数据格式对所述上行业务数据进行解析得到的。
为达到上述目的,本发明第五方面实施方式提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现前述任一项实施方式所述的方法的步骤。
为达到上述目的,本发明第六方面实施方式提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一项实施方式所述的方法的步骤。
根据本发明的多个实施方式,可以通过下行业务解密命令,完成主站与终端设备之间的下行业务相关数据的解密和数据交互,使下行业务解密的功能的实现更加便捷。根据不同的业务分别对应的下行业务功能码,能够指示终端设备按照不同的业务的要求向主站发送相应安全性状态的响应数据,以节省终端设备与主站之间进行交互的时间和交互的次数,有效提升双方的交互效率和交互安全性。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1为根据本说明书一个实施方式提供的数据交互方法的流程示意图。
图2为根据本说明书一个实施方式提供的数据交互方法的流程示意图。
图3为根据本说明书一个实施方式提供的数据交互方法的流程示意图。
图4为根据本说明书一个实施方式提供的数据交互方法的流程示意图。
图5为根据本说明书一个实施方式提供的数据交互方法的流程示意图。
图6为根据本说明书一个实施方式提供的数据交互方法的流程示意图。
图7a为根据本说明书一个实施方式提供的数据交互方法的流程示意图。
图7b为根据本说明书一个实施方式提供的数据交互方法的流程示意图。
图8为根据本说明书一个实施方式提供的数据交互方法的流程示意图。
图9a为根据本说明书一个实施方式提供的数据交互装置的结构框图。
图9b为根据本说明书一个实施方式提供的数据交互装置的结构框图。
图10为根据本说明书一个实施方式提供的数据交互装置的结构框图。
图11为根据本说明书一个实施方式提供的计算机设备的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
通常,在用能信息采集系统、燃气信息采集系统等信息采集系统中需要部署大量的终端设备,如电表、水表、燃气表等,以便实现相关数据的采集、交换、分析等。终端设备和主站是上述信息采集系统的基础设施,在终端设备和主站之间通常需要交换大量的数据信息,以完成如参数设置、数据上报、模组升级等业务操作。
随着远程通信技术的不断发展,终端设备正朝着安全性、可靠性、智能化的方向发展。以远程管理和智能服务为主要功能的终端设备将逐渐成为相关行业的主流,保障终端设备与主站之间数据交互的安全性和完整性具有重要的意义。
以燃气信息采集系统为例,终端设备为燃气表。燃气表是用来测量流经封闭满管道的燃气流量的一种专用流量计,广泛地应用于居民住宅、工商业建筑等。由于普通的家用膜式燃气表具有收费难、抄表人员人工成本高、无法真正实现监控偷盗气等缺点,不断地增加了燃气公司的经营成本,也给运营管理带来许多麻烦。因此,从20世纪末期开始,为了解决燃气公司在燃气运营管理中遇到的问题,各种智能燃气表逐渐面市。目前,常见的燃气表有IC卡式燃气表、有线远传智能燃气表、无线远传智能燃气表、物联网智能燃气表、超声波燃气表等。
目前,智能燃气表的通讯方式主要包括LoRa(Long Range Radio,远距离无线电)通讯和NB-IoT(Narrow Band Internet of Things,窄带物联网)通讯。LoRa扩频无线远传燃气表的运营成本及能耗更低,不受移动基站信号影响,且由于通信频段为非授权频段,因此无需向移动运营商缴纳通信费,但一般需要自建网络,适合集中化、规模化的应用场景;NB-IoT燃气表集成了安全芯片,安全芯片可以用于存储燃气表的密钥,一表一密通过基站等实现远距离数据传输,适合离散化用户场景,但由于需要使用移动运营商的网络,因此需要向移动运营商缴纳通信费。
随着燃气消费需求的增加,以及用户对用气环境安全的重视,智能燃气表的需求量也快速增加,智能燃气表在燃气表市场中的份额占比将会越来越高。燃气表制造企业应以关键技术突破和标准制定为切入点,开展燃气物联网关键技术和燃气器具新产品的研发及应用示范,实现燃气安全、节能、高效应用。
在终端设备和主站之间进行数据传输的过程中,通常通过信息安全管理功能来保证数据的有效身份的正确认证和数据的安全性、完整性。相关技术中,终端设备的业务数据的加解密通常需要MCU(Micro Control Unit,微控制单元)的参与,即通过MCU保存密钥,对主站发送的加密信息进行解密计算,或者将需要发送给主站的数据进行加密计算,安全性有待提高。
为了在保障终端设备完成多种不同的业务功能的同时,能够确保相关业务的数据信息在存储、传输过程中不被偶然或蓄意地篡改,以提高数据交互的安全性,有必要提出一种数据交互方法、装置、计算机设备及计算机可读存储介质。该数据交互方法设计了下行业务解密命令,通过下行业务解密命令中包括的下行业务功能码来指示终端设备向主站发送响应数据的安全性状态(包括明文状态和密文状态),使得内嵌至终端设备的安全芯片根据响应数据以及下行业务功能码对应的安全性状态确定需要发送给主站的下行目标响应内容,以满足不同的业务需求。该方法还设计了上行业务加密命令,通过上行业务加密命令中包括的上行业务功能码来指示安全芯片对上行业务加密命令中的上行数据域进行解析,得到需要上传至主站的上行业务数据明文,使得安全芯片根据上行业务数据明文确定需要发送给主站的与上行业务加密命令对应的上行目标响应内容。由此,通过上行业务加密命令和下行业务解密命令,可以实现终端设备与主站之间的不同业务的数据安全交互。同时,通过设置不同业务对应的业务功能码,可以有效扩展终端设备的应用,节省终端设备与主站之间的交互时间和交互次数,有效提升数据交互的效率和安全性。
进一步地,下行业务解密命令可以根据不同的业务功能在下行数据域中采用密文+签名或者密文+MAC验证码+签名的形式传输下行业务数据密文以及指示安全芯片进行相应的验证操作。安全芯片利用协商好的下行业务密钥对下行业务数据密文进行解密得到待执行指令数据,并执行待执行指令数据对应的操作得到响应数据。上行业务加密命令可根据不同的业务功能在上行数据域中采用明文+MAC验证码+签名或者采用明文+签名的形式传输上行业务数据明文并指示安全芯片进行相应的验证操作。密文、MAC验证码和签名均可以有效提高数据交互的安全性和完整性,防止数据伪造、数据篡改、数据抵赖、重放攻击等,保障终端设备和主站之间的身份安全认证和数据安全交互。
本说明书实施方式提供一种数据交互方法,应用于安全芯片,安全芯片内嵌至终端设备。参考图1所示,该数据交互方法可以包括以下步骤。
S110、获取主站发送的下行业务解密命令;其中,下行业务解密命令中包含有下行业务功能码和下行业务数据密文;终端设备与主站协商有下行业务密钥。
S120、利用下行业务密钥对下行业务数据密文进行解密,得到待执行指令数据。
S130、执行待执行指令数据对应的操作,得到响应数据;其中,下行业务功能码对应有终端设备向主站发送响应数据的安全性状态。
S140、根据下行业务功能码对应的安全性状态、响应数据,得到下行业务解密命令对应的下行目标响应内容,以将下行目标响应内容发送至主站。
其中,终端设备是具有数据采集等功能的现场智能终端设备,主站是与终端设备进行数据交互的远程服务端。下行业务解密命令可以用于指示终端设备执行下行业务,下行业务功能码与下行业务对应,安全性状态包括明文状态和密文状态。下行业务密钥为下行业务专用密钥。下行业务数据密文为下行业务控制指令相关的数据对应的密文,待执行指令数据为下行业务控制指令相关的数据。下行目标响应内容为下行业务解密命令对应的响应报文数据。
具体地,主站可以将需要发送给终端设备的下行业务相关的待执行指令数据进行加密,得到下行业务数据密文,并根据下行业务数据密文、对应的下行业务功能码等生成下行业务解密命令,以将下行业务解密命令发送给终端设备。终端设备的主控芯片接收主站发送的下行业务解密命令后,可以将该下行业务解密命令发送至终端设备内嵌的安全芯片,使安全芯片获取到下行业务解密命令。安全芯片根据该下行业务解密命令中包括的下行业务功能码,可以确定向主站发送响应数据的安全性状态。安全芯片获取到下行业务解密命令后,可以读取下行业务密钥,以利用该下行业务密钥对下行业务解密命令中包括的下行业务数据密文进行解密,得到待执行指令数据。然后,安全芯片可以根据待执行指令数据执行对应的操作,得到相应的响应数据。安全芯片根据该响应数据以及确定的下行业务功能码对应的安全性状态,可以得到下行业务解密命令对应的下行目标响应内容,并将该下行目标响应内容发送给主站。
示例性地,终端设备为电能表,主站为用电信息采集主站,用电信息采集主站需要指示电能表执行采集数据的下行业务,假设该下行业务对应的下行业务功能码为FC01,用于指示电能表向用电信息采集主站发送响应数据的安全性状态为密文状态。用电信息采集主站将与采集数据相关的指令数据进行加密,得到下行业务数据密文,然后根据下行业务数据密文、下行业务功能码FC01等生成对应的下行业务解密命令。用电信息采集主站将该下行业务解密命令发送给电能表,电能表的主控芯片在接收到该下行业务解密命令后将其发送给电能表内嵌的安全芯片。安全芯片读取电能表与用电信息采集主站之间协商好的下行业务密钥,并利用该密钥对获取到的下行业务解密命令中的下行业务数据密文进行解密,得到待执行指令数据为采集数据相关的指令数据。安全芯片根据待执行指令数据,执行相应的操作以得到响应数据。安全芯片根据该响应数据、下行业务功能码FC01对应的安全性状态,得到下行业务解密命令对应的下行目标响应内容,并将该下行目标响应内容发送给用电信息采集主站。
示例性地,终端设备为充电桩,主站为用电信息采集主站,用电信息采集主站需要指示充电桩执行设置参数的下行业务,假设该下行业务对应的下行业务功能码为FC02,用于指示充电桩向用电信息采集主站发送响应数据的安全性状态为密文状态。用电信息采集主站将与设置参数相关的指令数据进行加密,得到下行业务数据密文,然后根据下行业务数据密文、下行业务功能码FC02等生成对应的下行业务解密命令。用电信息采集主站将该下行业务解密命令发送给充电桩,充电桩的主控芯片在接收到该下行业务解密命令后将其发送给充电桩内嵌的安全芯片。安全芯片读取充电桩与用电信息采集主站之间协商好的下行业务密钥,并利用该密钥对获取到的下行业务解密命令中的下行业务数据密文进行解密,得到待执行指令数据为设置参数相关的指令数据。安全芯片根据待执行指令数据,执行相应的操作以得到响应数据。安全芯片根据该响应数据、下行业务功能码FC02对应的安全性状态,得到下行业务解密命令对应的下行目标响应内容,以将该下行目标响应内容发送给用电信息采集主站。
示例性地,终端设备为费控燃气表,主站为燃气主站,燃气主站需要指示费控燃气表执行红外采集数据的下行业务,假设该下行业务对应的下行业务功能码为FC03,用于指示费控燃气表向燃气主站发送响应数据的安全性状态为明文状态。燃气主站将与设置参数相关的指令数据进行加密,得到下行业务数据密文,然后根据下行业务数据密文、下行业务功能码FC03等生成对应的下行业务解密命令。燃气主站将该下行业务解密命令发送给费控燃气表,费控燃气表的主控芯片在接收到该下行业务解密命令后将其发送给费控燃气表内嵌的安全芯片。安全芯片读取费控燃气表与燃气主站之间协商好的下行业务密钥,并利用该密钥对获取到的下行业务解密命令中的下行业务数据密文进行解密,得到待执行指令数据为设置参数相关的指令数据。安全芯片根据待执行指令数据,执行相应的操作以得到响应数据。安全芯片根据该响应数据、下行业务功能码FC03对应的安全性状态,得到下行业务解密命令对应的下行目标响应内容,以将该下行目标响应内容发送给燃气主站。
在一些实施例中,待执行指令数据可以是与业务对应的需执行的下传指令相关数据,也可以是与业务对应的下传指令的需执行指令集相关数据。
示例性地,终端设备为费控燃气表,下行业务可以包括阀门控制、模组升级、校时下传、初始化、采集数据、设置参数、初始化设置厂商编号等下行业务。对应于阀门控制、模组升级、校时下传、初始化的下行业务,待执行指令数据可以是阀门控制、模组升级、校时下传、初始化指令相关数据;对应于采集数据的下行业务,待执行指令数据可以是采集数据下传指令对应的需执行指令集相关数据;对应于设置参数的下行业务,待执行指令数据可以是设置参数下传指令对应的需执行指令集相关数据;对应于初始化设置厂商编号的下行业务,待执行指令数据可以是初始化设置厂商编号下传指令相关数据。
可以理解的是,安全芯片可以将下行目标响应内容发送给终端设备的主控芯片,使主控芯片将该下行目标响应内容发送给主站。
需要说明的是,下行业务密钥可以是事先存储在安全芯片中的线路保护密钥,可以是对称密钥,且可分散保护。下行业务解密命令也可以理解为是包含有相关指令数据的指令。
上述实施方式中,可以通过下行业务解密命令,完成主站与终端设备之间的下行业务相关数据的解密和数据交互,使下行业务解密的功能的实现更加便捷。同时,根据不同的业务分别对应的下行业务功能码,使得通过下行业务解密命令能够指示终端设备完成不同的业务,有效地扩展终端设备的应用。进一步地,根据不同的下行业务功能码,能够指示终端设备按照不同的业务的要求向主站发送相应安全性状态的响应数据,以节省终端设备与主站之间进行交互的时间和交互的次数,有效提升双方的交互效率和交互安全性。
在一些实施方式中,根据下行业务功能码对应的安全性状态、响应数据,得到下行业务解密命令对应的下行目标响应内容,可以包括:若根据下行业务功能码确定安全性状态为明文状态,根据明文状态、响应数据,得到下行目标响应内容。
其中,明文状态可以用于表示需要将响应数据以明文的形式发送给主站。
具体地,若安全芯片根据下行业务解密命令中的下行业务功能码确定安全性状态为明文状态,即需要将响应数据以明文的形式发送给主站,则安全芯片可以根据响应数据的明文得到下行目标响应内容。
示例性地,终端设备为费控燃气表(以下简称燃气表),主站为燃气主站,燃气主站需要指示燃气表执行阀门控制的下行业务,假设该下行业务对应的下行业务功能码为FC04,用于指示燃气表向燃气主站发送响应数据的安全性状态为明文状态。燃气主站根据阀门控制相关的指令数据等生成相应的下行业务解密命令发送给燃气表。燃气表的安全芯片可以根据下行业务功能码FC04对应的安全性状态,确定需要将响应数据以明文的形式发送给主站,并可以在获取到相应的响应数据后,根据响应数据的明文得到下行业务解密命令对应的下行目标响应内容。
在一些实施方式中,明文状态包括第一明文状态。若根据下行业务功能码确定安全性状态为明文状态,根据明文状态、响应数据,得到下行目标响应内容,可以包括:若根据下行业务功能码确定安全性状态为第一明文状态,将响应数据确定为下行目标响应内容。
其中,第一明文状态用于表示需要将响应数据以明文的形式直接发送给主站。
具体地,若安全芯片根据下行业务解密命令中的下行业务功能码确定安全性状态为第一明文状态,即需要将响应数据以明文的形式直接发送给主站,则安全芯片可以将响应数据的明文作为下行目标响应内容,以将响应数据明文直接发送至主站。
示例性地,终端设备为燃气表,主站为燃气主站,燃气主站需要指示燃气表执行阀门控制的下行业务,假设该下行业务对应的下行业务功能码为FC04,用于指示燃气表向燃气主站发送响应数据的安全性状态为第一明文状态。燃气主站根据阀门控制业务相关的指令数据等生成相应的下行业务解密命令发送给燃气表。燃气表的安全芯片可以根据下行业务功能码FC04对应的安全性状态,确定需要将响应数据以明文的形式直接发送给主站,并可以在获取到相应的响应数据后,将响应数据的明文作为下行业务解密命令对应的下行目标响应内容,直接发送给主站。
在一些实施例中,响应数据可以是执行待执行指令数据对应的操作后得到的状态字。
示例性地,终端设备为燃气表,下行业务功能码为08,对应于NB-IoT结束通信的下行业务。对下行业务数据密文进行解密,可以得到待执行指令数据为结束通信下传指令对应的需执行指令集(写卡指令集)相关数据,用于指示在安全芯片内部执行下传的写卡指令集,进行写文件操作。相应地,响应数据为执行写文件操作后的状态字,如状态字SW1SW2。在执行该写文件操作后,安全芯片可以将对应的状态字直接返回给主站。
在一些实施例中,响应数据可以包括对下行业务数据密文解密后得到的待执行指令数据的明文,以及执行待执行指令数据对应的操作后得到的状态字。
示例性地,终端设备为燃气表,下行业务功能码为04,对应于阀门控制的下行业务。对下行业务数据密文进行解密,可以得到待执行指令数据为阀门控制指令相关数据。相应地,响应数据可以包括解密后的待执行指令数据的明文,以及执行阀门控制指令后的状态字。在执行阀门控制指令后,安全芯片可以将待执行指令数据的明文以及对应的状态字返回给燃气主站。
在一些实施方式中,明文状态包括第二明文状态。参考图2所示,若根据下行业务功能码确定安全性状态为明文状态,根据明文状态、响应数据,得到下行目标响应内容,可以包括以下步骤。
S210、若根据下行业务功能码确定安全性状态为第二明文状态,根据下行业务功能码和响应数据,得到待返回数据明文。
S220、根据待返回数据明文,得到下行目标响应内容。
其中,第二明文状态用于表示需要按照预设的组织格式将响应数据的明文进行组织后发送至主站。
具体地,若安全芯片根据下行业务解密命令中的下行业务功能码确定安全性状态为第二明文状态,安全芯片可以根据预设的组织格式将下行业务功能码和响应数据进行组织,得到待返回数据明文,从而根据待返回数据明文得到下行目标响应内容。
示例性地,终端设备为燃气表,主站为燃气主站,燃气主站需要指示燃气表执行红外采集数据的下行业务,假设该下行业务对应的下行业务功能码为FC05,用于指示燃气表向燃气主站发送响应数据的安全性状态为第二明文状态。燃气主站根据红外采集数据业务相关的指令数据等生成相应的下行业务解密命令发送给燃气表。燃气表的安全芯片可以根据下行业务功能码FC05对应的安全性状态,确定需要按照预设的组织格式将响应数据的明文进行组织后发送给主站。安全芯片在获取到相应的响应数据后,可以根据预设的组织格式将下行业务功能码和响应数据进行组织,得到待返回数据明文,然后根据待返回数据明文,得到下行业务解密命令对应的下行目标响应内容。
在一些实施例中,响应数据可以包括执行待执行指令数据对应的操作后得到的结果以及对应的状态字。
示例性地,终端设备为燃气表,下行业务功能码为86,对应于红外采集数据的下行业务。对下行业务数据密文进行解密,可以得到待执行指令数据为红外采集数据下传指令对应的需执行指令集(读文件指令集)相关数据,用于指示安全芯片执行下传的读文件指令集中的读文件指令,进行读文件操作。假设读文件指令集包括读文件指令1和读文件指令2,相应地,响应数据可以包括执行读文件指令1后得到的读文件结果1、读文件结果1对应的数据长度1(以下称为读文件长度1)、读文件指令1执行的状态字,以及执行读文件指令2后得到的读文件结果2、读文件结果2对应的数据长度2(以下称为读文件长度2)、读文件指令2执行的状态字。在正确执行读文件操作后,安全芯片可以根据预设的组织格式对下行业务功能码86和上述响应数据进行组织,得到待返回数据明文为“下行业务功能码86+读文件指令1执行的状态字SW1SW2+读文件长度1+读文件结果1+读文件指令2执行的状态字SW1SW2+读文件长度2+读文件结果2”,从而可以得到下行目标响应内容。
示例性地,若读文件操作执行错误,响应数据可以包括读文件指令1执行的状态字和读文件指令2执行的状态字。安全芯片可以根据预设的组织格式对下行业务功能码86和响应数据进行组织,得到待返回数据明文为“下行业务功能码86+读文件指令1执行的状态字SW1SW2+读文件指令2执行的状态字SW1SW2”,从而可以得到下行目标响应内容。
在另一些实施例中,响应数据可以是执行待执行指令数据对应的操作后得到的状态字。
示例性地,终端设备为燃气表,下行业务功能码为83,对应于初始化设置厂商编号的下行业务。对下行业务数据密文进行解密,可以得到待执行指令数据为初始化设置厂商编号下传指令相关数据。相应地,响应数据可以包括执行初始化设置厂商编号指令后得到的状态字。根据初始化设置厂商编号指令的执行情况,安全芯片可以按照预设的组织格式对下行业务功能码83和响应数据进行组织,得到待返回数据明文为“下行业务功能码83+初始化设置厂商编号指令执行的状态字SW1SW2”,从而可以得到下行目标响应内容。
在一些实施方式中,下行业务解密命令中包含有第一随机数。根据待返回数据明文,得到下行目标响应内容,可以包括:根据第一随机数、待返回数据明文,得到下行目标响应内容。
具体地,可以将下行业务解密命令中的第一随机数以及通过前述方法得到的待返回数据明文按照预设的组织格式进行组织,以得到下行目标响应内容。
示例性地,终端设备为燃气表,以前述对应于红外采集数据的下行业务的下行业务功能码86为例,在正确执行读文件操作后,待返回数据明文为“下行业务功能码86+读文件指令1执行的状态字SW1SW2+读文件长度1+读文件结果1+读文件指令2执行的状态字SW1SW2+读文件长度2+读文件结果2”;若读文件操作执行错误,待返回数据明文为“下行业务功能码86+读文件指令1执行的状态字SW1SW2+读文件指令2执行的状态字SW1SW2”。将下行业务解密命令中的第一随机数和待返回数据明文按照预设的组织格式进行组织,得到“第一随机数||待返回数据明文”,从而可以得到下行目标响应内容。
在一些实施方式中,参考图3所示,根据下行业务功能码对应的安全性状态、响应数据,得到下行业务解密命令对应的下行目标响应内容,可以包括以下步骤。
S310、若根据下行业务功能码确定安全性状态为密文状态,根据下行业务功能码和响应数据,得到待返回数据明文。
S320、利用下行业务密钥对待返回数据明文进行加密,得到待返回数据密文。
S330、根据待返回数据密文,得到下行目标响应内容。
其中,密文状态用于表示需要将响应数据以密文的形式发送给主站。
具体地,若安全芯片根据下行业务解密命令中的下行业务功能码确定安全性状态为密文状态,安全芯片可以根据预设的格式将下行业务功能码和响应数据进行组织,得到待返回数据明文。安全芯片读取下行业务密钥,以利用下行业务密钥对待返回数据明文进行加密,得到待返回数据密文,从而根据待返回数据密文得到下行目标响应内容。
示例性地,终端设备为燃气表,主站为燃气主站,燃气主站需要指示燃气表执行采集数据的下行业务,假设该下行业务对应的下行业务功能码为FC06,用于指示燃气表向燃气主站发送响应数据的安全性状态为密文状态。燃气主站根据采集数据业务相关的指令数据等生成相应的下行业务解密命令发送给燃气表。燃气表的安全芯片可以根据下行业务功能码FC06对应的安全性状态,确定需要按照预设的组织格式将响应数据以密文形式发送给燃气主站。安全芯片在获取到相应的响应数据后,可以根据预设的组织格式将下行业务功能码和响应数据进行组织,得到待返回数据明文,然后利用下行业务密钥对待返回数据明文进行加密得到待返回数据密文,从而根据待返回数据密文得到下行目标响应内容。
在一些实施方式中,下行业务解密命令中包含有第一随机数。在根据待返回数据密文,得到下行目标响应内容之前,数据交互方法可以包括:基于第一随机数、待返回数据密文进行计算,得到下行业务验证码。相应地,根据待返回数据密文,得到下行目标响应内容,可以包括:根据第一随机数、待返回数据密文、下行业务验证码,得到下行目标响应内容。
其中,下行业务验证码用于验证下行目标响应内容中的数据的准确性和完整性。
具体地,可以以第一随机数为初始向量,对第一随机数和待返回数据密文的组合数据进行计算,得到下行业务验证码,然后对第一随机数、待返回数据密文、下行业务验证码进行组织,以得到下行目标响应内容。
在一些实施例中,下行业务验证码可以是消息认证码(Message AuthenticationCode,MAC)。下行业务功能码还可以对应有预设的下行响应报文格式,使得安全芯片可以按照预设的下行响应报文格式对第一随机数、待返回数据密文、下行业务验证码进行组织,以得到下行目标响应内容。
示例性地,终端设备为燃气表,主站为燃气主站,下行业务功能码为06,对应于采集数据的下行业务,且燃气表向燃气主站发送响应数据的安全性状态为密文状态。假设采集数据下传指令对应的读文件指令集包括读文件指令1和读文件指令2,响应数据可以包括执行读文件指令1后得到的读文件结果1、读文件长度1、读文件指令1执行的状态字,以及执行读文件指令2后得到的读文件结果2、读文件长度2、读文件指令2执行的状态字。在正确执行读文件操作后,安全芯片可以根据预设的组织格式对下行业务功能码06和上述响应数据进行组织,得到待返回数据明文为“下行业务功能码06+读文件指令1执行的状态字SW1SW2+读文件长度1+读文件结果1+读文件指令2执行的状态字SW1SW2+读文件长度2+读文件结果2”。利用下行业务密钥对待返回数据明文进行加密,可以得到待返回数据密文为“密文(下行业务功能码06+读文件指令1执行的状态字SW1SW2+读文件长度1+读文件结果1+读文件指令2执行的状态字SW1SW2+读文件长度2+读文件结果2)”。根据下行业务解密命令中的第一随机数,可以以该第一随机数作为初始向量,对“第一随机数+密文(下行业务功能码06+读文件指令1执行的状态字SW1SW2+读文件长度1+读文件结果1+读文件指令2执行的状态字SW1SW2+读文件长度2+读文件结果2)”进行MAC验证码计算,得到下行业务验证码。根据预设的下行响应报文格式对第一随机数、待返回数据密文、下行业务验证码进行组织,可以得到组织后的数据为“第一随机数||密文(下行业务功能码03+写文件指令1执行的状态字SW1SW2+写文件指令2执行的状态字SW1SW2)||下行业务验证码”,从而可以得到下行目标响应内容。
需要说明的是,上述实施方式中的下行业务验证码还可以是采用其他相关技术计算得到的验证码,本说明书中不作具体的限定。
在一些实施方式中,下行业务解密命令包含有下行数据域;下行业务功能码还对应有下行数据域的第一数据格式。下行业务数据密文的获取方式,可以包括:根据下行业务功能码对应的第一数据格式对下行数据域进行解析,得到下行业务数据密文。
其中,第一数据格式用于表示下行数据域中包括密文状态的数据,或者,第一数据格式用于表示下行数据域中包括密文状态的数据以及第一MAC验证码。密文状态的数据为密文状态的待执行指令数据,即下行业务数据密文。
具体地,主站可以根据不同的下行业务设置相应的下行业务功能码,并相应地根据不同业务的应用情况,在下行业务解密命令的下行数据域中按照密文的形式对密文状态的待执行指令数据(即下行业务数据密文)进行传输,或者,按照密文+MAC验证码的形式,对密文状态的待执行指令数据和第一MAC验证码(即下行业务数据密文和第一MAC验证码)进行传输。以该密文的形式,或者,密文+MAC验证码的形式为第一数据格式。终端设备的安全芯片获取到下行业务解密命令后,可以根据下行业务功能码确定对应的第一数据格式。若第一数据格式表明该下行业务解密命令的下行数据域中包括密文状态的数据,则安全芯片可以根据该第一数据格式对下行数据域进行解析,以得到密文状态的数据,即下行业务数据密文;若第一数据格式表明该下行数据域中包括密文状态的数据+第一MAC验证码,则安全芯片可以根据该第一数据格式对下行数据域进行解析,以得到密文状态的数据,即下行业务数据密文。
需要说明的是,第一数据格式的解析方法,可以参考相关技术中关于一种智能卡的基于模式控制字方式的安全传输方法中提供的解析方法,本说明书中仅采用该方法进行下行业务解密命令的设计,具体这里不再赘述。
上述实施方式中,在下行业务解密命令中可以根据不同的业务的功能和需求,采用密文或者密文+MAC验证码的形式传输待执行指令数据,以使终端设备内嵌的安全芯片根据不同的业务需求进行相应的操作。下行业务解密命令中的密文、MAC验证码均可以有效提高数据交互的安全性、完整性,以防止数据伪造、数据篡改、数据抵赖、重放攻击等。
在一些实施方式中,根据下行业务功能码对应的第一数据格式对下行数据域进行解析,得到下行业务数据密文,还可以包括:若第一数据格式表示下行数据域中包括密文状态的数据以及第一MAC验证码,根据第一数据格式对下行数据域进行解析,得到下行数据域中包括的第一MAC验证码。相应地,在利用下行业务密钥对下行业务数据密文进行解密,得到待执行指令数据之前,数据交互方法可以包括:利用下行业务密钥对第一MAC验证码进行校验。相应地,利用下行业务密钥对下行业务数据密文进行解密,得到待执行指令数据,可以包括:若第一MAC验证码通过校验,利用下行业务密钥对下行业务数据密文进行解密,得到待执行指令数据。
具体地,若第一数据格式表明下行数据域中包括密文状态的数据和第一MAC验证码,则安全芯片可以根据该第一数据格式对下行数据域进行解析,以得到该密文状态的数据以及第一MAC验证码,即得到下行业务数据密文和第一MAC验证码。安全芯片读取下行业务密钥,以利用下行业务密钥对该第一MAC验证码进行校验。在该第一MAC验证码通过校验的情况下,安全芯片可以利用下行业务密钥对得到的下行业务数据密文进行解密,以得到待执行指令数据。
进一步地,在该第一MAC验证码没有通过校验的情况下,安全芯片可以直接退出相关操作。
在一些实施方式中,下行业务解密命令中包含有下行业务时间戳。在利用下行业务密钥对下行业务数据密文进行解密,得到待执行指令数据之前,数据交互方法可以包括:获取历史业务时间戳;其中,历史业务时间戳用于对下行业务时间戳进行验证。相应地,利用下行业务密钥对下行业务数据密文进行解密,得到待执行指令数据,可以包括:若根据历史业务时间戳与下行业务时间戳之间的比较结果表明下行业务时间戳通过验证,利用下行业务密钥对下行业务数据密文进行解密,得到待执行指令数据。
其中,下行业务时间戳为当前的下行业务解密命令中包括的时间戳,历史业务时间戳为历史的下行业务解密命令中包括的时间戳。
在一些情况中,为了防止数据的重放攻击,可以将历史业务时间戳与当前的下行业务时间戳进行比较,以对当前的下行业务时间戳进行验证。
具体地,安全芯片在获取到当前下行业务解密命令后,可以读取存储的历史业务时间戳,并将历史业务时间戳与当前下行业务解密命令中的下行业务时间戳进行比较,以对该下行业务时间戳进行验证。若根据比较结果表明该下行业务时间戳通过验证,则认为不存在重放攻击,安全芯片可以利用下行业务密钥对下行业务数据密文进行解密,得到待执行指令数据。
在一些实施例中,可以将多个历史的下行业务解密命令中的时间戳存入安全芯片内部,以作为历史业务时间戳。下行业务时间戳和历史业务时间戳可以是按照“年月日时分秒”格式表示的6字节的BCD(Binary-Coded Decimal,二进码十进数)码。
示例性地,当前下行业务解密命令中包括的下行业务时间戳为221223115652,历史业务时间戳可以包括221222134254、221223094352、221223111149。将下行业务时间戳与各历史业务时间戳进行比较,可以得到比较结果为下行业务时间戳大于各历史业务时间戳,则表明下行业务时间戳通过验证,安全芯片可以利用下行业务密钥对下行业务数据密文进行解密,得到待执行指令数据。
进一步地,若根据历史业务时间戳与下行业务时间戳之间的比较结果表明下行业务时间戳没有通过验证,则认为存在重放攻击,安全芯片可以直接退出相关操作。
示例性地,下行业务时间戳为221223115652,历史业务时间戳可以包括221222134254、221223114352、221223115652。将下行业务时间戳与各历史业务时间戳进行比较,可以得到比较结果为下行业务时间戳与其中一个历史业务时间戳相等,则表明下行业务时间戳没有通过验证,安全芯片直接退出相关操作。
示例性地,下行业务时间戳为221223115652,历史业务时间戳可以包括221222134254、221223141154、221223162349。将下行业务时间戳与各历史业务时间戳进行比较,可以得到比较结果为下行业务时间戳小于其中部分历史业务时间戳,则表明下行业务时间戳没有通过验证,安全芯片直接退出相关操作。
上述实施方式中,通过在下行业务解密命令中传输下行业务时间戳,以在数据交互过程中增加对下行业务时间戳进行验证的步骤。若当前的下行业务解密命令中的下行业务时间戳通过验证,则视为不存在重放攻击,否则视为存在重放攻击,以此来有效防止重放攻击,提高数据交互的安全性。
在一些实施方式中,若根据历史业务时间戳与下行业务时间戳之间的比较结果表明下行业务时间戳通过验证,利用下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据,可以包括:若历史业务时间戳小于下行业务时间戳,表明下行业务时间戳通过验证,利用下行业务密钥对下行业务数据密文进行解密,得到待执行指令数据。
其中,历史业务时间戳是上一个下行业务解密命令中包括的时间戳。
具体地,安全芯片在获取到当前下行业务解密命令后,可以读取存储的上一个下行业务解密命令对应的历史业务时间戳,并将历史业务时间戳与当前下行业务解密命令中的下行业务时间戳进行比较,以对该下行业务时间戳进行验证。若该历史业务时间戳小于该下行业务时间戳,表明该下行业务时间戳通过验证,则认为不存在重放攻击,安全芯片可以利用下行业务密钥对下行业务数据密文进行解密,得到待执行指令数据。
示例性地,当前下行业务解密命令中包括的下行业务时间戳为221223115652。安全芯片读取上一个下行业务解密命令对应的历史业务时间戳,得到历史业务时间戳为221222134254。将该下行业务时间戳与该历史业务时间戳进行比较,可以得到比较结果为该历史业务时间戳小于该下行业务时间戳,则表明下行业务时间戳通过验证,安全芯片可以利用下行业务密钥对下行业务数据密文进行解密,得到待执行指令数据。
示例性地,当前下行业务解密命令中包括的下行业务时间戳为221222134254。安全芯片读取上一个下行业务解密命令对应的历史业务时间戳,得到历史业务时间戳为221223115652。将该下行业务时间戳与该历史业务时间戳进行比较,可以得到比较结果为该历史业务时间戳大于该下行业务时间戳,则表明下行业务时间戳没有通过验证,安全芯片可以直接退出相关操作。
需要说明的是,根据每次输入至安全芯片的下行业务解密命令,可以在安全芯片中将下行业务解密命令中包括的下传业务时间戳进行缓存,作为历史业务时间戳。如果安全芯片内部缓存的历史业务时间戳不小于下一次输入的下传业务时间戳,则视为存在重放攻击,返回错误。
进一步地,下行业务功能码还对应有预设的下行响应报文格式。在下行业务时间戳通过验证的情况下,可以按照预设的下行响应报文格式对下行业务功能码对应的安全性状态、响应数据、第一随机数、下行业务时间戳等进行组织,得到满足预设的下行响应报文格式的下行目标响应内容。
示例性地,终端设备为燃气表,下行业务功能码为86,对应于红外采集数据的下行业务,用于指示安全芯片执行下行业务解密命令中下传的读文件指令集中的读文件指令,进行读文件操作。假设读文件指令集包括读文件指令1和读文件指令2,下行业务功能码对应的安全性状态为第二明文状态,预设的下行响应报文格式为“下行业务时间戳||第一随机数||待返回数据明文”。在正确执行读文件操作后,安全芯片可以得到响应数据为“读文件指令1执行的状态字SW1SW2+读文件长度1+读文件结果1+读文件指令2执行的状态字SW1SW2+读文件长度2+读文件结果2”。进一步根据下行业务功能码86和上述响应数据,可以得到待返回数据明文为“下行业务功能码86+读文件指令1执行的状态字SW1SW2+读文件长度1+读文件结果1+读文件指令2执行的状态字SW1SW2+读文件长度2+读文件结果2”。根据待返回数据明文以及下行业务解密命令中包括的下行业务时间戳、第一随机数,可以按照预设响应报文格式进行组织,得到下行目标响应内容为“下行业务时间戳||第一随机数||待返回数据明文(下行业务功能码86+读文件指令1执行的状态字SW1SW2+读文件长度1+读文件结果1+读文件指令2执行的状态字SW1SW2+读文件长度2+读文件结果2)”。
示例性地,终端设备为燃气表,下行业务功能码为03,对应于采集数据的下行业务,用于指示安全芯片执行下行业务解密命令中下传的写文件指令集中的写文件指令,进行写文件操作。假设写文件指令集包括写文件指令1和写文件指令2,下行业务功能码对应的安全性状态为密文状态,预设响应报文格式为“下行业务时间戳||第一随机数||待返回数据密文”。在正确执行写文件操作后,安全芯片可以得到响应数据为“写文件指令1执行的状态字SW1SW2+写文件指令2执行的状态字SW1SW2”。进一步根据下行业务功能码03和上述响应数据,可以得到待返回数据明文为“下行业务功能码03+写文件指令1执行的状态字SW1SW2+写文件指令2执行的状态字SW1SW2”。利用下行业务密钥对待返回数据明文进行加密,得到待返回数据密文为“密文(下行业务功能码03+写文件指令1执行的状态字SW1SW2+写文件指令2执行的状态字SW1SW2)”。根据下行业务解密命令中的第一随机数,可以以该第一随机数作为初始向量,对“第一随机数||待返回数据密文”进行MAC验证码计算,得到下行业务验证码。进一步根据待返回数据密文、下行业务时间戳、第一随机数、下行业务验证码,可以按照预设的下行响应报文格式进行组织,得到下行目标响应内容为“下行业务时间戳||第一随机数||密文(下行业务功能码03+写文件指令1执行的状态字SW1SW2+写文件指令2执行的状态字SW1SW2)||下行业务验证码”。若写文件操作执行错误,响应数据同样可以包括执行写文件指令1后的状态字以及执行写文件指令2后的状态字,具体这里不再赘述。
在一些实施方式中,终端设备与主站协商有签名验签密钥;下行业务解密命令中还包含有下行验证签名数据,下行验证签名数据是基于下行业务数据密文进行签名运算得到的。在利用下行业务密钥对下行业务数据密文进行解密,得到待执行指令数据之前,数据交互方法还可以包括:根据下行业务数据密文、签名验签密钥对下行验证签名数据进行验签验证。相应地,利用下行业务密钥对下行业务数据密文进行解密,得到待执行指令数据,可以包括:若下行验证签名数据通过验签验证,利用下行业务密钥对下行业务数据密文进行解密,得到待执行指令数据。
具体地,安全芯片在获取到主站发送的下行业务解密命令后,可以获取事先与主站协商好的签名验签密钥,以基于该签名验签密钥、下行业务解密命令中的下行业务数据密文对下行业务解密命令中的下行验证签名数据进行验签验证。若验证结果表明下行验证签名数据通过验签验证,表明终端设备与主站通过了身份认证,则安全芯片可以利用下行业务密钥对下行业务数据密文进行解密,以得到待执行指令数据。
在一些实施例中,签名验签密钥是事先存储在安全芯片中的包含公钥和私钥的非对称密钥对,可以用于签名和验签。安全芯片利用该密钥对中的公钥对下行验证签名数据进行验签验证。
可以理解的是,主站可以对应安装有安全平台,使主站通过安全平台发送下行业务解密命令给终端设备,以及接收下行业务解密命令对应的下行目标响应内容。因此,下行业务密钥和签名验签密钥可以是终端设备的安全芯片与主站上的安全平台协商好的密钥。
示例性地,终端设备为燃气表,主站为燃气主站,安全平台为燃气安全平台。在执行具体业务前,可以在燃气表的安全芯片内部建立密钥文件,并在密钥文件内部设置不同的密钥编码、密钥类型等。签名验签密钥可以是基于SM2非对称加密算法的密钥对。密钥文件的具体格式可以参考表1所示:
表1
示例性地,继续参考表1所示,燃气表的安全芯片获取到下行业务解密命令后,可以读取密钥文件中密钥编码为13的燃气安全平台SM2密钥对中的公钥值,以利用该公钥值对下行业务解密命令中的下行验证签名数据进行验签验证,验证通过则继续,不通过则退出。
在一些实施例中,下行验证签名数据是对下行业务时间戳、第一随机数、下行业务数据密文的组合数据进行签名运算得到的。
示例性地,继续参考表1所示,燃气表的安全芯片获取到下行业务解密命令后,可以读取安全芯片内部保存的历史业务时间戳,与下行业务解密命令的下行数据域中的下行业务时间戳进行对比,判断下行数据域中的下行业务时间戳是否大于安全芯片内部缓存的历史业务时间戳,正确则继续,不正确则视为重放攻击,直接退出。在下行业务时间戳验证通过后,安全芯片可以读取密钥文件中密钥编码为13的燃气安全平台SM2密钥对中的公钥值,以利用该公钥值对下行数据域中“下行业务时间戳||第一随机数||下行业务数据密文”的组合数据的下行验证签名数据进行验签验证,验证通过则继续,不通过则退出。在下行验证签名数据验证通过后,安全芯片继续读取密钥文件中密钥编码为12的燃气下行业务专用密钥,以对下行业务数据密文进行解密,解密正确则继续,不正确则退出。
可以理解的是,利用燃气安全平台SM2密钥对中的公钥值对下行验证签名数据进行验签验证,也可以理解为是利用燃气安全平台SM2密钥对中的公钥值验证下行验证签名数据是否正确。
进一步地,继续参考表1所示,若第一数据格式表明下行业务解密命令的下行数据域中包括密文状态的数据+第一MAC验证码,则在下行验证签名数据验证通过后,安全芯片可以读取密钥文件中密钥编码为12的燃气下行业务专用密钥,以利用该下行业务密钥对第一MAC验证码进行校验。在下行业务解密命令中的下行业务时间戳、下行验证签名数据以及第一MAC验证码均通过验证的情况下,安全芯片可以利用密钥编码为12的燃气下行业务专用密钥对下行业务数据密文进行解密,以得到待执行指令数据。
上述实施方式中,下行业务解密命令可以根据不同的业务功能采用密文+签名或者密文+MAC验证码+签名的安全交互形式传输下行业务数据密文以及指示安全芯片进行相应的验证操作。通过密文、MAC验证码和签名可实现交互双方身份的安全认证,有效提高数据交互的安全性、完整性。
在一些实施方式中,参考图4所示,数据交互方法还可以包括以下步骤。
S410、获取上行业务加密命令。其中,上行业务加密命令包含有上行业务功能码和上行数据域;上行业务功能码对应有上行数据域的第二数据格式;终端设备与主站协商有上行业务密钥。
S420、根据上行业务功能码对应的第二数据格式对上行数据域进行解析,得到上行业务数据明文。其中,第二数据格式用于表示上行数据域中包括明文状态的数据,或者,第二数据格式用于表示上行数据域中包括明文状态的数据以及第二MAC验证码。
S430、利用上行业务密钥对上行业务数据明文进行加密,得到上行业务数据密文。
S440、根据上行业务数据密文,得到上行业务加密命令对应的上行目标响应内容,以将上行目标响应内容发送至主站。
其中,上行业务加密命令可以用于指示终端设备内嵌的安全芯片对上行业务相关的业务数据进行加密,上行业务功能码与上行业务对应,上行业务密钥为上行业务专用密钥。上行业务数据明文为上行业务相关的业务数据,明文状态的数据为明文状态的上行业务相关的业务数据,即上行业务数据明文。上行目标响应内容为上行业务加密命令对应的响应报文数据。
具体地,终端设备的安全芯片获取上行业务加密命令后,可以根据该上行业务加密命令中包括的上行业务功能码,确定对应的第二数据格式,即确定上行业务加密命令的上行数据域中包括明文状态的数据,或者,包括明文状态的数据以及第二MAC验证码。若第二数据格式表明该上行数据域中包括明文状态的数据,则安全芯片可以根据该第二数据格式对上行数据域进行解析,以得到明文状态的数据,即上行业务数据明文;若第二数据格式表明该上行数据域中包括明文状态的数据+第二MAC验证码,则安全芯片可以根据该第二数据格式对上行数据域进行解析,以得到明文状态的数据,即上行业务数据明文。然后安全芯片可以读取上行业务密钥,对上行业务数据明文进行加密,得到上行业务数据密文,并进一步根据上行业务数据密文得到上行业务加密命令对应的上行目标响应内容,以将上行目标响应内容发送至主站。
在一些实施例中,上行业务加密命令可以是终端设备的主控芯片根据需要上传至主站的上行业务相关数据等生成的,并由终端设备的主控芯片将生成的上行业务加密命令发送给安全芯片。
示例性地,终端设备为电能表,主站为用电信息采集主站,电能表需要执行自动上报的上行业务,并向用电信息采集主站上传相关的业务数据。假设该上行业务对应的上行业务功能码为FC07,对应的第二数据格式表明上行业务加密命令的上行数据域中包括明文状态的数据。电能表的主控芯片根据该上行业务功能码以及需要上传的业务相关数据等生成上行业务加密命令,并将该上行业务加密命令发送给电能表的安全芯片。安全芯片可以根据该上行业务加密命令中包括的上行业务功能码,确定第二数据格式,并根据该第二数据格式对该上行业务加密命令的上行数据域进行解析,得到明文状态的数据,即上行业务数据明文。安全芯片读取电能表与用电信息采集主站之间协商好的上行业务密钥,并利用该密钥对获取到的上行业务数据明文进行加密,得到上行业务数据密文,并进一步根据该上行业务数据密文得到上行目标响应内容,以将该上行目标响应内容发送给用电信息采集主站。
示例性地,终端设备为燃气表,主站为燃气主站,燃气表需要执行注册上报的上行业务,并向燃气主站上传相关的业务数据。假设该上行业务对应的上行业务功能码为FC08,对应的第二数据格式表明上行业务加密命令的上行数据域中包括明文状态的数据以及第二MAC验证码。燃气表的主控芯片根据该上行业务功能码以及需要上传的业务相关数据等生成上行业务加密命令,并将该上行业务加密命令发送给燃气表的安全芯片。安全芯片可以根据该上行业务加密命令中包括的上行业务功能码,确定第二数据格式,并根据该第二数据格式对该上行业务加密命令的上行数据域进行解析,得到明文状态的数据,即上行业务数据明文。安全芯片读取燃气表与燃气主站之间协商好的上行业务密钥,并利用该密钥对获取到的上行业务数据明文进行加密,得到上行业务数据密文,并进一步根据该上行业务数据密文得到上行目标响应内容,以将该上行目标响应内容发送给燃气主站。
需要说明的是,上行业务密钥可以是事先存储在安全芯片中的线路保护密钥,可以是对称密钥,且可分散保护。上述实施方式中第二数据格式的解析方法,可以参考相关技术中关于一种智能卡的基于模式控制字方式的安全传输方法中提供的解析方法,本说明书中仅采用该方法进行上行业务加密命令的设计,具体这里不再赘述。
上述实施方式中,可以通过上行业务加密命令,完成终端设备与主站之间的下行业务相关数据的加密和数据交互,使上行业务加密的功能的实现更加便捷。同时,在上行业务加密命令中可以根据不同的业务的功能和需求,采用明文或者明文+MAC验证码的形式传输上行业务数据明文,以使终端设备内嵌的安全芯片根据不同的业务需求进行相应的加密操作,提升应用的灵活性和方便性。
在一些实施方式中,参考图5所示,根据上行业务数据密文,得到上行业务加密命令对应的上行目标响应内容,可以包括以下步骤。
S510、获取第二随机数。
S520、基于第二随机数、上行业务数据密文进行计算,得到上行业务验证码。
S530、根据第二随机数、上行业务数据密文、上行业务验证码,得到上行目标响应内容。
具体地,可以在安全芯片内部取第二随机数,并以第二随机数为初始向量,对第二随机数和上行业务数据密文的组合数据进行计算,得到上行业务验证码,以根据第二随机数、上行业务数据密文、上行业务验证码得到对应的上行目标响应内容。
在一些实施例中,上行业务验证码可以是MAC验证码,第二随机数是长度为8字节的随机数。上行业务功能码还对应有预设的上行响应报文格式,可以按照预设的上行响应报文格式对第二随机数、上行业务数据密文、上行业务验证码进行组织,得到满足预设的上行响应报文格式的上行目标响应内容。
示例性地,终端设备为燃气表,上行业务功能码为02,对应于自动上报的上行业务。燃气表的安全芯片在获取到该上行业务的上行业务加密命令后,根据该上行业务功能码对应的第二数据格式确定上行业务加密命令的上行数据域中包括有明文状态的数据和第二MAC验证码,即包括上行业务数据明文和第二MAC验证码。假设安全芯片根据该第二数据格式对上行数据域进行解析,得到上行业务数据明文为“00112233445566778899AABBCCDD”,安全芯片利用上行业务密钥对该上行业务数据明文进行加密,得到上行业务数据密文为“4C3468E6CE3128C2A5B8D14A3C8D3F0F”。安全芯片在内部取第二随机数328F2EFA165C6D9F,并以该第二随机数为初始向量,利用上行业务密钥对“328F2EFA165C6D9F 4C3468E6CE3128C2A5B8D14A3C8D3F0F”进行MAC验证码计算,得到上行业务验证码为8F2D9C37。假设该上行业务功能码对应的预设的上行响应报文格式为“第二随机数||上行业务数据密文||上行业务验证码”,则根据该上行响应报文格式对第二随机数、上行业务数据密文、上行业务验证码进行组织,可以得到上行目标响应报文为“328F2EFA165C6D9F 4C3468E6CE3128C2A5B8D14A3C8D3F0F 8F2D9C37”。
需要说明的是,上述实施方式中的上行业务验证码还可以是采用其他相关技术计算得到的验证码,本说明书中不作具体的限定。
在一些实施方式中,终端设备与主站协商有签名验签密钥。参考图6所示,根据第二随机数、上行业务数据密文、上行业务验证码,得到上行目标响应内容,还可以包括以下步骤。
S610、基于签名验签密钥、第二随机数、上行业务数据密文、上行业务验证码进行签名运算,得到上行业务签名数据。
S620、根据第二随机数、上行业务数据密文、上行业务验证码、上行业务签名数据,得到上行目标响应内容。
具体地,可以将第二随机数、上行业务数据密文、上行业务验证码进行组合,并利用签名验签密钥对组合后的第二随机数、上行业务数据密文、上行业务验证码进行签名运算,得到上行业务签名数据。按照预设的上行响应报文格式,可以对第二随机数、上行业务数据密文、上行业务验证码、上行业务签名数据进行组织,以得到上行目标响应内容。
需要说明的是,本说明书中安全芯片在业务数据安全交互过程中需要使用到的密钥包括至少3种类型的密钥,即至少包括上行业务专用密钥、下行业务专用密钥、签名验签密钥。
示例性地,终端设备为燃气表,主站为燃气主站,燃气主站上安装有燃气安全平台。在执行具体业务前,可以在燃气表的安全芯片内部建立密钥文件,并在密钥文件内部设置不同的密钥编码、密钥类型等。签名验签密钥可以是基于SM2非对称加密算法的密钥对。密钥文件的具体格式可以参考表2所示:
表2
示例性地,继续参考表2所示,燃气表的安全芯片对上行业务加密命令中的上行数据域进行解析,得到需要上传至燃气主站的上行业务数据明文后,加密流程可以包括:
(1)安全芯片从内部的密钥文件中读取密钥编码为11的燃气上行业务专用密钥,以利用该密钥对上行业务数据明文进行加密,加密正确得到上行业务数据密文则继续,不正确则退出。
(2)在安全芯片内部取8字节的第二随机数,用该第二随机数作为初始向量,并读取密钥文件中密钥编码为11的燃气上行业务专用密钥,以利用该密钥对“第二随机数+上行业务数据密文”进行MAC验证码计算,计算正确得到上行业务验证码则继续,不正确则退出。
(3)安全芯片读取密钥文件中密钥编码为13的燃气安全平台SM2密钥对中的私钥值,对“第二随机数+上行业务数据密文+上行业务验证码”进行签名,签名正确得到上行业务签名数据则继续,不正确则退出。
(4)安全芯片根据预设的上行响应报文格式对第二随机数、上行业务数据密文、上行业务验证码、上行业务签名数据进行组织,得到组织后的上行业务加密信息“第二随机数+上行业务数据密文+上行业务验证码+上行业务签名数据”,并将该上行业务加密信息作为上行目标响应内容,发送给燃气主站。
在一些实施方式中,根据上行业务功能码对应的第二数据格式对上行数据域进行解析,得到上行业务数据明文,还可以包括:若第二数据格式表示上行数据域中包括明文状态的数据以及第二MAC验证码,根据第二数据格式对上行数据域进行解析,得到上行数据域中包括的第二MAC验证码。相应地,在利用上行业务密钥对上行业务数据明文进行加密,得到上行业务数据密文之前,数据交互方法可以包括:利用上行业务密钥对第二MAC验证码进行校验。相应地,利用上行业务密钥对上行业务数据明文进行加密,得到上行业务数据密文,可以包括:若第二MAC验证码通过校验,利用上行业务密钥对上行业务数据明文进行加密,得到上行业务数据密文。
具体地,若第二数据格式表明上行业务加密命令的上行数据域中包括明文状态的数据+第二MAC验证码,则安全芯片可以根据该第二数据格式对上行数据域进行解析,以得到该明文状态的数据和第二MAC验证码,即得到上行业务数据明文和第二MAC验证码。安全芯片读取上行业务密钥,以利用上行业务密钥对该第二MAC验证码进行校验。在该第二MAC验证码通过校验的情况下,安全芯片可以利用上行业务密钥对得到的上行业务数据明文进行加密,以得到上行业务数据密文。
进一步地,在该第二MAC验证码没有通过校验的情况下,安全芯片可以直接退出相关操作。
在一些实施方式中,终端设备与主站协商有签名验签密钥;上行业务加密命令包含有上行验证签名数据,上行验证签名数据是基于上行业务数据明文进行签名运算得到的。在根据上行业务功能码对应的第二数据格式对上行数据域进行解析,得到上行业务数据明文之前,数据交互方法还可以包括:利用签名验签密钥对上行验证签名数据进行验签验证。相应地,根据上行业务功能码对应的第二数据格式对上行数据域进行解析,得到上行业务数据明文,可以包括:若上行验证签名数据通过验签验证,根据上行业务功能码对应的第二数据格式对上行数据域进行解析,得到上行业务数据明文。
具体地,安全芯片在获取到上行业务加密命令后,可以获取事先与主站协商好的签名验签密钥,以基于该签名验签密钥、上行业务加密命令中的上行业务数据明文对上行业务加密命令中的上行验证签名数据进行验签验证。若验证结果表明上行验证签名数据通过验签验证,表明终端设备与主站通过了身份认证,则安全芯片可以利用上行业务密钥对上行业务数据明文进行加密,以得到上行业务数据密文。
示例性地,终端设备为燃气表,主站为燃气主站,燃气主站上安装有燃气安全平台。继续参考表2所示,燃气表的安全芯片获取到上行业务加密命令后,可以读取密钥文件中密钥编码为13的燃气安全平台SM2密钥对中的公钥值,以利用该公钥值对上行业务加密命令中的上行验证签名数据进行验签验证,验证通过则继续,不通过则退出。
可以理解的是,利用燃气安全平台SM2密钥对中的公钥值对上行验证签名数据进行验签验证,也可以理解为是利用燃气安全平台SM2密钥对中的公钥值验证上行验证签名数据是否正确。
进一步地,继续参考表2所示,若第二数据格式表明上行业务加密命令的上行数据域中包括明文状态的数据+第二MAC验证码,则安全芯片可以继续读取密钥文件中密钥编码为11的燃气上行业务专用密钥,以利用该上行业务密钥对第二MAC验证码进行校验。在上行业务加密命令中的上行验证签名数据以及第二MAC验证码均通过校验的情况下,安全芯片可以利用上行业务密钥对上行业务数据明文进行加密,以得到上行业务数据密文。
上述实施方式中,上行业务加密命令可以根据不同的业务功能采用明文+签名或者明文+MAC验证码+签名的安全交互形式传输上行业务数据明文以及指示安全芯片进行相应的验证操作。通过MAC验证码和签名可实现交互双方身份的安全认证,有效提高数据交互的安全性、完整性,以防止数据伪造、数据篡改、数据抵赖等。
在一些实施方式中,终端设备为燃气表,主站为燃气主站。
其中,燃气表可以是NB-IoT远程费控燃气表,费控燃气表既可以通过本地红外通信信道每天自动执行数据采集、参数设置和阀门控制等业务,又可以通过NB通信方式使主站对燃气表进行远程数据采集、密钥更新、模组升级、开关阀、设置参数等。燃气表内嵌入安全芯片用于信息交换安全认证,燃气主站对燃气表进行参数设置以及下发远程控制命令操作等时,需通过安全芯片进行安全认证以确保数据传输的安全性和完整性。
具体地,下行业务解密命令可以用于指示对燃气表下传业务进行数据解密,上行业务加密命令可以用于指示对燃气表上传业务进行数据加密。燃气主站可以根据不同的燃气表下传业务生成相应的下行业务解密命令并发送给燃气表,使燃气表内嵌的安全芯片获取到下行业务解密命令后执行相应的解密操作。燃气表的主控芯片可以根据不同的燃气表上传业务生成相应的上行业务加密命令并发送给燃气表的安全芯片,以使安全芯片执行相应的加密操作。
在一些实施例中,继续参考表2所示,燃气表的安全芯片内部建立有密钥文件,密钥文件内部设置不同的密钥编码、密钥类型。根据各燃气表下传业务功能的不同,下行业务功能码对应的安全性状态可以包括第一明文状态、第二明文状态、密文状态。对应于第一明文状态,燃气表向燃气主站发送响应数据的方式可以采用仅解密下行业务数据密文后明文返回的操作方式;对应于第二明文状态,燃气表向燃气主站发送响应数据的方式可以采用解密下行业务数据密文后组织明文返回的操作方式;对应于密文状态,燃气表向燃气主站发送响应数据的方式可以采用解密下行业务数据密文后加密返回的操作方式。下行业务解密命令可以按照下表3进行设计:
表3
其中,针对不同的P2下行业务功能码,每个功能码对应的下行数据域的内容以及对应的业务的响应内容(即下行目标响应内容)解释如下:
针对仅解密明文返回的情况:(1)当P2=04时,数据域中下传接收的数据密文(即下行业务数据密文)为燃气表阀门控制、模组升级、校时下传、初始化指令相关数据的密文,响应内容为解密该数据密文后的数据明文,以及相关指令执行后的状态字。(2)当P2=08时,数据域中下传接收的数据密文为NB结束通信下传指令对应的需执行的指令集相关数据的密文,用于指示在安全芯片内部执行下传的写卡指令集,进行写文件操作,响应内容为执行写文件操作后的状态字。(3)当P2=88时,数据域中下传接收的数据密文为红外结束通信下传指令相关数据的密文,响应内容为解密该数据密文后的数据明文,以及指令执行后的状态字。
针对解密后加密返回的情况:(1)当P2=06时,数据域中下传接收的数据密文为采集数据下传指令对应的需执行指令集相关数据的密文,响应内容为指令集中指令的执行结果。
示例性地,采集数据下传指令对应的需执行指令集为:读文件指令1||读文件指令2。该指令集中的指令正确执行时,返回的响应内容为:下传业务时间戳||随机数||密文(功能码06+读文件指令1的状态字SW1SW2+读文件长度1+读文件结果1+读文件指令2的状态字SW1SW2+读文件长度2+读文件结果2)||MAC。该指令集中的指令错误执行时,返回的响应内容为:下传业务时间戳||随机数||密文(功能码06+读文件指令1的状态字SW1SW2+读文件指令2的状态字SW1SW2)||MAC。
(2)当P2=03时,数据域中下传接收的数据密文为设置参数下传指令对应的需执行指令集相关数据的密文,响应内容为指令集中指令的执行结果。
示例性地,设置参数下传指令对应的需执行指令集为:写文件指令1||写文件指令2。该指令集中的指令正确执行时,返回的响应内容为:下传业务时间戳||随机数||密文(功能码03+写文件指令1的状态字SW1SW2+写文件指令2的状态字SW1SW2)||MAC。该指令集中的指令错误执行时,返回的响应内容为:下传业务时间戳||随机数||密文(功能码03+写文件指令1的状态字SW1SW2+写文件指令2的状态字SW1SW2)||MAC。
(3)当P2=05时,数据域中下传接收的数据密文为密钥更新下传指令对应的需执行密钥更新指令相关数据的密文,响应内容为指令的执行结果,并根据指令执行成功情况分为正确执行时的响应内容和错误执行时的响应内容两种情况。
示例性地,密钥更新指令正确执行时,返回的响应内容为:下传业务时间戳||随机数||密文(功能码05+对称密钥版本号或非对称密钥版本号+执行密钥更新指令的状态字SW1SW2)||MAC。密钥更新指令错误执行时,返回的响应内容为:下传业务时间戳||随机数||密文(功能码05+对称密钥版本号或非对称密钥版本号+执行密钥更新指令的状态字SW1SW2)||MAC。其中,密钥更新指令正确执行后,响应内容中返回的密文结果使用更新前的密钥加密,下一条下行业务解密命令中的下行业务数据密文使用更新后的密钥加密。
针对解密后组织明文返回的情况:(1)当P2=86时,数据域中下传接收的数据密文为红外采集数据下传指令对应的需执行指令集相关数据的密文,响应内容为该指令的执行结果,并根据指令执行成功情况分为正确执行时的响应内容和错误执行时的响应内容两种情况。
示例性地,红外采集数据下传指令对应的需执行指令集为:读文件指令1||读文件指令2。红外采集数据下传指令正确执行时,返回的响应内容为:下传业务时间戳||随机数||明文(功能码86+读文件1命令执行状态字SW1SW2+读文件长度1+读文件结果1+读文件2命令执行状态字SW1SW2+读文件长度2+读文件结果2)。红外采集数据下传指令错误执行时,返回的响应内容为:下传业务时间戳||随机数||明文(功能码86+读文件1命令执行状态字SW1SW2+读文件2命令执行状态字SW1SW2)。
(2)当P2=83时,数据域中下传接收的数据密文为初始化设置厂商编号下传指令相关数据的密文,响应内容为该指令执行后的结果。
示例性地,初始化设置厂商编号下传指令正确执行时,返回的响应内容为:下传业务时间戳||随机数||明文(功能码83+初始化设置厂商编号下传指令执行状态字SW1SW2)。初始化设置厂商编号下传指令错误执行时,返回的响应内容为:下传业务时间戳||随机数||明文(功能码83+初始化设置厂商编号下传指令执行状态字SW1SW2)。
需要说明的是,上述采集数据下传指令对应的需执行指令集中的读文件质量1、读文件指令2与红外采集数据下传指令对应的需执行指令集中的读文件指令1、读文件指令2不同。
相应地,继续参考表2和表3所示,基于下行业务解密命令的燃气表下行业务解密以及数据交互的方法流程可以包括:
(1)读取安全芯片内部保存的历史业务时间戳,并与下行业务解密命令的数据域中的下传业务时间戳进行对比,判断下行业务解密命令的数据域中的时间戳是否大于安全芯片内部缓存的时间戳,是则继续,不是则视为重放攻击,直接退出。
(2)读取密钥编码为13的燃气安全平台SM2密钥对中的公钥值,验证数据域中“下传业务时间戳||随机数||下传接收的数据密文”的数据签名是否正确,正确则继续,不正确则退出。
(3)读取密钥编码为12的燃气下行业务专用密钥,解密数据域中的下传接收的数据密文是否正确,正确则继续,不正确则退出。
(4)如果P2=04/88,组织解密下传接收的数据密文后得到的明文数据发送给燃气主站,并返回相关指令执行的状态字。
(5)如果P2=08,解密后得到的明文数据是NB结束通信下传指令对应的需执行的指令集,用于指示在安全芯片内部执行下传的写卡指令集,进行写文件操作,并返回执行写文件操作后的状态字。
(6)如果P2=06/86,解密后的明文数据是采集数据/红外采集数据下传指令对应的需执行指令集,为“读文件指令1||读文件指令2”。如果读文件指令1、读文件指令2执行正确,则组织待返回数据明文为“功能码06/86+读文件指令1的状态字SW1SW2+读文件长度1+读文件结果1+读文件指令2的状态字SW1SW2+读文件长度2+读文件结果2”,否则组织待返回数据明文为“功能码06/86+读文件指令1的状态字SW1SW2+读文件指令2的状态字SW1SW2”。
(7)如果P2=03,解密后的明文数据是设置参数下传指令对应的需执行指令集,为“写文件指令1||写文件指令2”。根据写文件指令1、写文件指令2的执行状态,组织待返回数据明文为“功能码03+写文件指令1的状态字SW1SW2+写文件指令2的状态字SW1SW2”。
(8)如果P2=05,解密后的明文数据是密钥更新下传指令对应的需执行密钥更新指令。根据密钥更新指令执行状态,组织待返回数据明文为“功能码05+对称密钥版本号或非对称密钥版本号+执行密钥更新指令的状态字SW1SW2”。
(9)如果P2=83,解密后的明文数据是初始化设置厂商编号下传指令。根据初始化设置厂商编号指令的执行状态,组织待返回数据明文为“功能码83+初始化设置厂商编号下传指令执行状态字SW1SW2”。
(10)如果P2=83/86,则根据上述组织的待返回数据明文、下行业务解密命令的数据域中的下传业务时间戳和随机数,组织得到下行业务解密命令对应的下行目标响应内容为“下传业务时间戳||随机数||待返回数据明文”,并将其发送给燃气主站。
(11)否则,P2=03/05/06,则将上述组织的待返回明文数据用燃气下行业务专用密钥进行加密得到待返回数据密文,并用下行业务解密命令的数据域中的随机数作为初始向量计算出MAC验证码,组织得到下行目标响应内容为“下传业务时间戳||随机数||待返回数据密文||MAC”,并将其发送给燃气主站。
示例性地,燃气表执行下行业务解密命令,下行业务功能码为04阀门控制,下行数据域中采用密文的形式传输下行业务数据密文,对应的数据安全交互方式为密文+签名方式。
成功执行下行业务解密命令的流程可以包括:
(1)燃气主站通过燃气安全平台下发下行业务解密命令:804200045A221223114352 965F4A2D 3468EB8DC8D6CE31248C2A53F014A3FC 9E9D9FBD4C6451E4BCF6509A75CBD4148E978FA9ABFA9E9D9A7F39F5CBD414D940E932BD4148E95AB8B86D9EC7CC59F333E6C718818C27BF92DDBCDBE344D5A9;
(2)安全芯片读取内部保存的历史业务时间戳221222134254,与下行业务解密命令的数据域中的下传业务时间戳221223114352进行对比,该数据域中的下传业务时间戳大于安全芯片内部缓存的历史业务时间戳,下传业务时间戳通过验证,则继续;
(3)安全芯片读取密钥编码为13的燃气安全平台SM2密钥对中的公钥值,对该数据域中“221223114352 965F4A2D 3468EB8DC8D6CE31248C2A53F014A3FC”的签名9E9D9FBD4C6451E4BCF6509A75CBD4148E978FA9ABFA9E9D9A7F39F5CBD414D940E932BD4148E95AB8B86D9EC7CC59F333E6C718818C27BF92DDBCDBE344D5A9进行验签验证,正确则继续;
(4)安全芯片读取密钥编码为12的燃气下传业务专用密钥,解密该数据域中的密文数据3468EB8DC8D6CE31248C2A53F014A3FC正确,得到明文数据为1122334455667788;
(5)安全芯片将解密后的数据明文1122334455667788发送给主站,并返回执行相应的阀门控制操作后得到的状态字9000。
示例性地,燃气表执行下行业务解密命令,下行业务功能码为06采集数据下传指令_需执行指令集,下行数据域中采用密文的形式传输下行业务数据密文,对应的数据安全交互方式为密文+签名方式。
成功执行下行业务解密命令的流程可以包括:
(1)燃气主站通过燃气安全平台下发下行业务解密命令:804200065A221223115652 459A3D6F 1248C2A53DC8D6F0143468EB8CE3A3FC A9ABFA9E94F5CBD4D9A7F392BD4114D940E939E9D9FBD4C6451E4BE344D5A9CF6509A75CBD4148E978F8E95AB8B86D9EC7CC59F333E6C718818C27BF92DDBCDB;
(2)安全芯片读取内部保存的历史业务时间戳221223114352,与该下行业务解密命令的数据域中的下传业务时间戳221223115652进行对比,该数据域中的下传业务时间戳大于安全芯片内部缓存的历史业务时间戳,下传业务时间戳通过验证,则继续;
(3)安全芯片读取密钥编码为13的燃气安全平台SM2密钥对中的公钥值,验证该数据域中“221223115652 459A3D6F 1248C2A53DC8D6F0143468EB8CE3A3FC”的签名A9ABFA9E94F5CBD4D9A7F392BD4114D940E939E9D9FBD4C6451E4BE344D5A9CF6509A75CBD4148E978F8E95AB8B86D9EC7CC59F333E6C718818C27BF92DDBCDB正确;
(4)读取密钥编码为12的燃气下传业务专用密钥,解密该数据域中的密文数据1248C2A53DC8D6F0143468EB8CE3A3FC正确,得到明文数据为00b081000500b0820106,即得到解密后的读文件指令1为“00b0810005”,读文件指令2为“00b0820106”;
(5)安全芯片执行解密后的读文件指令1和读文件指令2,得到读文件结果1为“1122334455”,读文件结果2为“AABBCCDDEEFF”;
(6)安全芯片组织待返回数据明文为“06 9000 05 1122334455 9000 06AABBCCDDEEFF”;
(7)将上述组织的待返回数据明文用燃气下传业务专用密钥进行加密得到待返回数据密文为53DC8D1248C2A531248C2AD6F0143468C8D6EB8CE3A3FCF0143468EB8CE3A3FC;
(8)用该数据域中的随机数459A3D6F作为初始向量,对“459A3D6F 53DC8D1248C2A531248C2AD6F0143468C8D6EB8CE3A3FCF0143468EB8CE3A3FC”进行MAC验证码计算,计算出下行业务验证码为7C289F3D,组织得到下行目标响应内容为“221223115652 459A3D6F 53DC8D1248C2A531248C2AD6F0143468C8D6EB8CE3A3FCF0143468EB8CE3A3FC 7C289F3D”,并将其发送给燃气主站。
在一些实施例中,继续参考表2所示,燃气表的安全芯片内部建立有密钥文件,密钥文件内部设置不同的密钥编码、密钥类型。上行业务加密命令可以按照下表4进行设计:
表4
上行业务加密命令对应的上行目标响应内容包括随机数、上行业务数据密文和上行业务验证码。
在一些实施例中,上行业务验证码可以是MAC验证码。
相应地,上行目标响应内容对应的报文格式可以按照下表5进行设计:
表5
继续参考表2和表4所示,基于上行业务加密命令的燃气表上行业务加密以及数据交互的方法流程可以包括:
(1)读取密钥编码为13的燃气安全平台SM2密钥对中的公钥值,验证上行业务加密命令的数据域中的签名是否正确,正确则继续,不正确则退出。
(2)如果P2=01/02/07,其数据域中包含有MAC验证码,读取密钥编码为11的燃气上行业务专用密钥,验证数据域中的MAC验证码是否正确,正确则继续,不正确则退出。
(3)解析数据域得到要上传的上行业务数据明文。读取密钥编码为11的燃气上行业务专用密钥,对上行业务数据明文进行加密得到上行业务数据密文,加密正确则继续,不正确则退出。
(4)在安全芯片内部取8字节的随机数,读取密钥编码为11的燃气上行业务专用密钥,以该随机数作为初始向量,对“随机数+上行业务数据密文”进行验证码计算,得到MAC验证码,计算正确则继续,不正确退出。
(5)读取密钥编码为13的燃气安全平台SM2密钥对中的私钥值,对“随机数+上行业务数据密文+MAC”进行签名,得到上行业务签名数据,正确则继续,不正确则退出。
(6)安全芯片组织上行业务加密信息为“随机数+上行业务数据密文+MAC+上行业务签名数据”,以将该上行业务加密信息作为上行目标响应内容发送给燃气主站。
示例性地,燃气表执行上行业务加密命令,上行业务功能码为02自动上报,上行数据域中采用明文+MAC的形式传输上行业务数据明文,对应的数据安全交互方式为明文+MAC+签名方式,成功执行上行业务加密命令的流程可以包括:
(1)燃气表中的主控芯片下发上行业务加密命令:804000025200112233445566778899AABBCCDD 2CDF3C86 9A7F39CBD4148E978FA9E9D9FBD4C6451FA9E9D9F5CBD4148E95AB8B86D9EC7CC59F333E6C718818C27BF92DDBCBD414D940E932DBE344D5A9E4BCF6509A75AB;
(2)燃气表内嵌的安全芯片接收到上行业务加密命令,读取密钥编码为13的燃气安全平台SM2密钥对中的公钥值,验证该上行业务加密命令的数据域中的签名9A7F39CBD4148E978FA9E9D9FBD4C6451FA9E9D9F5CBD4148E95AB8B86D9EC7CC59F333E6C718818C27BF92DDBCBD414D940E932DBE344D5A9E4BCF6509A75AB正确;
(3)读取密钥编码为11的燃气上行业务专用密钥,验证该数据域中的MAC验证码2CDF3C86正确;
(4)用燃气上行业务专用密钥,对该数据域中的上行业务数据明文00112233445566778899AABBCCDD进行加密,得到上行业务数据密文为4C3468E6CE3128C2A5B8D14A3C8D3F0F;
(5)在安全芯片内部取8字节随机数328F2EFA165C6D9F,对“328F2EFA165C6D9F 4C3468E6CE3128C2A5B8D14A3C8D3F0F”进行MAC验证码计算,得到上行业务验证码为8F2D9C37。
(6)读取密钥编码为13的燃气安全平台SM2密钥对中的私钥值,对“328F2EFA165C6D9F 4C3468E6CE3128C2A5B8D14A3C8D3F0F 8F2D9C37”进行签名,得到上行业务签名数据为8ED4C6451FD5A8C2740E932DBEE9D9F5CBD4148E95A978FA9E9D9FBB9A7F39CB9E4BCF6509A75ABBF9F333E6C718812DDBCBD414D9A98B86D9EC7CC59D414344。
(7)安全芯片组织得到上行业务加密信息为“328F2EFA165C6D9F 4C3468E6CE3128C2A5B8D14A3C8D3F0F 8F2D9C37 8ED4C6451FD5A8C2740E932DBEE9D9F5CBD4148E95A978FA9E9D9FBB9A7F39CB9E4BCF6509A75ABBF9F333E6C718812DDBCBD414D9A98B86D9EC7CC59D414344”,并将该上行业务加密信息作为上行目标响应内容发送给燃气主站。
需要说明的是,上述下行业务解密命令以及上行业务加密命令中的P1、P2、Lc、Data、Data数据域中的具体内容、不同业务对应的响应内容可以根据实际需要进行相应的改变,本说明书中不作具体的限定。本说明书中只例举了下行业务解密命令的下行数据域中包括密文状态的数据的情况,关于下行数据域中包括密文状态的数据和第一MAC验证码的情况的描述,可以参考前文的相关描述,具体这里不再赘述。
上述实施方式中,根据下行业务解密命令中不同的下行业务功能码,既可以指示燃气表执行读文件、写文件、更新密钥等不同的指令集中的指令,也可以指示燃气表执行阀门控制、模组升级、红外通信等各种指令,可以有效地扩展燃气应用,节省燃气表与燃气主站之间的交互时间和交互次数,有效提升双方的交互效率和交互安全性。同时,根据不同的业务需求,下行业务解密命令还可以指示燃气表执行下行业务解密命令后按照仅解密数据明文返回、解密数据后加密返回、解密数据后组织明文返回等多种方式将相应的响应内容返回给燃气主站。通过提供多种应用方式,使用户可以根据实际需求进行灵活选择,提升了燃气应用的灵活性和方便性。基于上行业务加密命令和下行业务解密命令,使得智能燃气表能够与燃气主站进行安全交互,通过每天执行自动抄表、阀门控制等操作,使燃气主站能够实时获取燃气表的信息状态,以提高供气可靠性和服务水平。
本说明书实施方式提供一种数据交互方法,应用于安全芯片,安全芯片内嵌至终端设备。参考图7a所示,该数据交互方法可以包括以下步骤。
S710、获取主站发送的下行业务解密命令。其中,下行业务解密命令中包含有下行业务功能码和下行业务数据密文;下行业务功能码对应有终端设备向主站发送响应数据的安全性状态。
S720、向主站发送下行业务解密命令对应的下行目标响应内容。其中,下行目标响应内容是根据下行业务功能码对应的安全性状态以及下行业务数据密文得到的。
S730、获取上行业务加密命令。其中,上行业务加密命令包含有上行业务功能码和上行数据域;上行业务功能码对应有上行数据域的第二数据格式。
S740、向主站发送上行业务加密命令对应的上行目标响应内容。其中,上行目标响应内容是基于上行数据域中包括的上行业务数据明文得到的;上行业务数据明文是根据第二数据格式对上行数据域进行解析得到的。
具体地,终端设备内嵌的安全芯片可以获取主站发送的下行业务解密命令,并根据下行业务解密命令执行对应的相关操作,以在终端设备内部执行下行业务解密命令。安全芯片获取终端设备内部执行下行业务解密命令后根据下行业务功能码对应的安全性状态以及下行业务数据密文得到的下行目标响应内容,并将下行目标响应内容发送给主站。终端设备内嵌的安全芯片还可以获取上行业务加密命令,并根据上行业务加密命令执行对应的相关操作,以在终端设备内部执行上行业务加密命令,根据上行业务功能码对应的第二数据格式对上行业务加密命令的上行数据域进行解析,得到上行业务数据明文。安全芯片获取基于上行业务数据明文得到的上行目标响应内容,并将上行目标响应内容发送给主站。
在一些实施例中,安全芯片可以在获取下行业务解密命令后,执行下行业务解密命令,并根据下行业务功能码对应的安全性状态以及下行业务数据密文得到下行目标响应内容。安全芯片还可以在获取上行业务加密命令后,执行上行业务加密命令,根据上行业务功能码对应的第二数据格式对上行业务加密命令的上行数据域进行解析,得到上行业务数据明文,并基于上行业务数据明文得到的上行目标响应内容。
在一些实施例中,下行业务解密命令可以用于指示安全芯片对下行业务数据密文进行解密。根据下行业务功能码对应的安全性状态以及下行业务数据密文得到下行目标响应内容,可以包括根据解密后的下行业务数据密文执行相应的操作,得到响应数据,以根据下行业务功能码对应的安全性状态以及响应数据得到下行目标响应内容。可以理解的是,根据解密后的下行业务数据密文执行相应的操作得到的响应数据是明文状态的数据。
示例性地,安全芯片可以在获取下行业务解密命令后,根据该下行业务解密命令中包括的下行业务功能码,确定向主站发送响应数据的安全性状态。安全芯片可以利用终端设备与主站之间协商好的相关密钥对下行业务解密命令中包括的下行业务数据密文进行解密,并根据解密后的下行业务数据密文执行对应的操作,得到相应的响应数据。安全芯片根据该响应数据以及下行业务功能码对应的安全性状态,确定根据明文状态的响应数据得到下行业务解密命令对应的下行目标响应内容,或者,确定对响应数据进行加密,根据密文状态的响应数据得到下行目标响应内容。
在另一些实施例中,安全芯片可以支持同态加密技术。根据下行业务功能码对应的安全性状态以及下行业务数据密文得到下行目标响应内容,可以包括根据下行业务数据密文执行相应的操作,得到响应数据,以根据下行业务功能码对应的安全性状态以及响应数据得到下行目标响应内容。可以理解的是,根据下行业务数据密文执行相应的操作得到的响应数据是密文状态的数据。
示例性地,安全芯片可以在获取下行业务解密命令后,根据该下行业务解密命令中包括的下行业务功能码,确定向主站发送响应数据的安全性状态。安全芯片可以在加密状态下根据下行业务数据密文执行相应的操作,得到相应的响应数据。安全芯片根据该响应数据以及下行业务功能码对应的安全性状态,确定根据密文状态的响应数据得到下行业务解密命令对应的下行目标响应内容,或者,确定对响应数据进行解密,根据明文状态的响应数据得到下行目标响应内容。
在一些实施方式中,终端设备与主站协商有下行业务密钥。参考图7b所示,下行目标响应内容的确定方式,可以包括:
S712、利用下行业务密钥对下行业务数据密文进行解密,得到待执行指令数据。
S714、执行待执行指令数据对应的操作,得到响应数据。
S716、根据下行业务功能码对应的安全性状态、响应数据,得到下行目标响应内容。
在一些实施方式中,根据下行业务功能码对应的安全性状态、响应数据,得到下行业务解密命令对应的下行目标响应内容,可以包括:若根据下行业务功能码确定安全性状态为明文状态,根据明文状态、所述响应数据,得到所述下行目标响应内容。
在一些实施方式中,根据下行业务功能码对应的安全性状态响应数据,得到下行业务解密命令对应的下行目标响应内容,可以包括:
若根据下行业务功能码确定安全性状态为密文状态,根据下行业务功能码和响应数据,得到待返回数据明文;
利用下行业务密钥对待返回数据明文进行加密,得到待返回数据密文;
根据待返回数据密文,得到下行目标响应内容。
在一些实施方式中,下行业务解密命令包含有下行数据域;下行业务功能码还对应有下行数据域的第一数据格式。下行业务数据密文的获取方式,可以包括:根据下行业务功能码对应的第一数据格式对下行数据域进行解析,得到下行业务数据密文。
其中,第一数据格式用于表示下行数据域中包括密文状态的数据,或者,第一数据格式用于表示下行数据域中包括密文状态的数据以及第一MAC验证码。
在一些实施方式中,终端设备与所述主站协商有上行业务密钥。参考图8所示,上行目标响应内容的确定方式,可以包括以下步骤。
S810、根据上行业务功能码对应的第二数据格式对上行数据域进行解析,得到上行业务数据明文。其中,第二数据格式用于表示上行数据域中包括明文状态的数据,或者,第二数据格式用于表示上行数据域中包括明状态的数据以及第二MAC验证码。
S820、利用上行业务密钥对上行业务数据明文进行加密,得到上行业务数据密文。
S830、根据上行业务数据密文,得到上行目标响应内容。
需要说明的是,关于上述实施方式中下行目标响应内容的确定方式以及上行目标响应内容的确定方式的描述,请参考本说明书中关于下行目标响应内容以及上行目标响应内容的描述,具体这里不再赘述。
本说明书实施方式提供一种数据交互装置,应用于安全芯片,安全芯片内嵌至终端设备。参考图9a所示,该数据交互装置900可以包括:第一解密命令获取模块910、指令数据获取模块920、响应数据获取模块930、下行响应内容获取模块940。
第一解密命令获取模块910,用于获取主站发送的下行业务解密命令。其中,下行业务解密命令中包含有下行业务功能码和下行业务数据密文;终端设备与主站协商有下行业务密钥。
指令数据获取模块920,用于利用下行业务密钥对下行业务数据密文进行解密,得到待执行指令数据。
响应数据获取模块930,用于执行待执行指令数据对应的操作,得到响应数据。其中,下行业务功能码对应有终端设备向主站发送响应数据的安全性状态。
下行响应内容获取模块940,用于根据下行业务功能码对应的安全性状态、响应数据,得到下行业务解密命令对应的下行目标响应内容,以将下行目标响应内容发送至主站。
在一些实施方式中,参考图9b所示,数据交互装置900还可以包括:第一加密命令获取模块950、上行数据明文获取模块960、上行数据密文获取模块970、上行响应内容获取模块980。
第一加密命令获取模块950,用于获取上行业务加密命令。其中,上行业务加密命令包含有上行业务功能码和上行数据域;上行业务功能码对应有上行数据域的第二数据格式;终端设备与主站协商有上行业务密钥。
上行数据明文获取模块960,用于根据上行业务功能码对应的第二数据格式对上行数据域进行解析,得到上行业务数据明文。
上行数据密文获取模块970,用于利用上行业务密钥对上行业务数据明文进行加密,得到上行业务数据密文。
上行响应内容获取模块980,用于根据上行业务数据密文,得到上行业务加密命令对应的上行目标响应内容,以将上行目标响应内容发送至主站。
本说明书实施方式还提供一种数据交互装置,应用于安全芯片,安全芯片内嵌至终端设备。参考图10所示,该数据交互装置1000可以包括:第二解密命令获取模块1010、下行响应内容发送模块1020、第二加密命令获取模块1030、上行响应内容发送模块1040。
第二解密命令获取模块1010,用于获取主站发送的下行业务解密命令。其中,下行业务解密命令中包含有下行业务功能码和下行业务数据密文;下行业务功能码对应有终端设备向主站发送响应数据的安全性状态。
下行响应内容发送模块1020,用于向主站发送下行业务解密命令对应的下行目标响应内容。其中,下行目标响应内容是根据下行业务功能码对应的安全性状态以及下行业务数据密文得到的。
第二加密命令获取模块1030,用于获取上行业务加密命令。其中,上行业务加密命令包含有上行业务功能码和上行数据域;上行业务功能码对应有上行数据域的第二数据格式。
上行响应内容发送模块1040,用于向主站发送上行业务加密命令对应的上行目标响应内容。其中,上行目标响应内容是基于上行数据域对应的上行业务数据明文得到的;上行业务数据明文是根据第二数据格式对上行业务数据进行解析得到的。
关于数据交互装置的具体限定可以参见上文中对于数据交互方法的限定,在此不再赘述。上述数据交互装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本说明书实施方式还提供了一种计算机设备,参考图11所示,该计算机设备1100包括存储器1110和处理器1120,存储器1110存储有计算机程序1130,处理器1120执行计算机程序1130时实现前述任一项实施方式的数据交互方法的步骤。
本说明书实施方式还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现前述任一项实施方式的数据交互方法的步骤。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (27)
1.一种数据交互方法,其特征在于,应用于安全芯片,所述安全芯片内嵌至终端设备;所述方法包括:
获取主站发送的下行业务解密命令;其中,所述下行业务解密命令中包含有下行业务功能码和下行业务数据密文;所述终端设备与所述主站协商有下行业务密钥;
利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据;
执行所述待执行指令数据对应的操作,得到响应数据;其中,所述下行业务功能码对应有所述终端设备向所述主站发送所述响应数据的安全性状态;
根据所述下行业务功能码对应的安全性状态、所述响应数据,得到所述下行业务解密命令对应的下行目标响应内容,以将所述下行目标响应内容发送至所述主站;
获取上行业务加密命令;其中,所述上行业务加密命令包含有上行业务功能码和上行数据域;所述上行业务功能码对应有所述上行数据域的第二数据格式;所述终端设备与所述主站协商有上行业务密钥;
根据所述上行业务功能码对应的第二数据格式对所述上行数据域进行解析,得到上行业务数据明文;其中,所述第二数据格式用于表示所述上行数据域中包括明文状态的数据,或者,所述第二数据格式用于表示所述上行数据域中包括明文状态的数据以及第二MAC验证码;
利用所述上行业务密钥对所述上行业务数据明文进行加密,得到上行业务数据密文;
根据所述上行业务数据密文,得到所述上行业务加密命令对应的上行目标响应内容,以将所述上行目标响应内容发送至所述主站。
2.根据权利要求1所述的方法,其特征在于,所述根据所述下行业务功能码对应的安全性状态、所述响应数据,得到所述下行业务解密命令对应的下行目标响应内容,包括:
若根据所述下行业务功能码确定所述安全性状态为明文状态,根据所述明文状态、所述响应数据,得到所述下行目标响应内容。
3.根据权利要求2所述的方法,其特征在于,所述明文状态包括第一明文状态;所述若根据所述下行业务功能码确定所述安全性状态为明文状态,根据所述明文状态、所述响应数据,得到所述下行目标响应内容,包括:
若根据所述下行业务功能码确定所述安全性状态为所述第一明文状态,将所述响应数据确定为所述下行目标响应内容。
4.根据权利要求2所述的方法,其特征在于,所述明文状态包括第二明文状态;所述若根据所述下行业务功能码确定所述安全性状态为明文状态,根据所述明文状态、所述响应数据,得到所述下行目标响应内容,包括:
若根据所述下行业务功能码确定所述安全性状态为所述第二明文状态,根据所述下行业务功能码和所述响应数据,得到待返回数据明文;
根据所述待返回数据明文,得到所述下行目标响应内容。
5.根据权利要求4所述的方法,其特征在于,所述下行业务解密命令中包含有第一随机数;所述根据所述待返回数据明文,得到所述下行目标响应内容,包括:
根据所述第一随机数、所述待返回数据明文,得到所述下行目标响应内容。
6.根据权利要求1所述的方法,其特征在于,所述根据所述下行业务功能码对应的安全性状态、所述响应数据,得到所述下行业务解密命令对应的下行目标响应内容,包括:
若根据所述下行业务功能码确定所述安全性状态为密文状态,根据所述下行业务功能码和所述响应数据,得到待返回数据明文;
利用所述下行业务密钥对所述待返回数据明文进行加密,得到待返回数据密文;
根据所述待返回数据密文,得到所述下行目标响应内容。
7.根据权利要求6所述的方法,其特征在于,所述下行业务解密命令中包含有第一随机数;在所述根据所述待返回数据密文,得到所述下行目标响应内容之前,所述方法包括:
基于所述第一随机数、所述待返回数据密文进行计算,得到下行业务验证码;
所述根据所述待返回数据密文,得到所述下行目标响应内容,包括:
根据所述第一随机数、所述待返回数据密文、所述下行业务验证码,得到所述下行目标响应内容。
8.根据权利要求1所述的方法,其特征在于,所述下行业务解密命令包含有下行数据域;所述下行业务功能码还对应有所述下行数据域的第一数据格式;所述下行业务数据密文的获取方式,包括:
根据所述下行业务功能码对应的第一数据格式对所述下行数据域进行解析,得到所述下行业务数据密文;其中,所述第一数据格式用于表示所述下行数据域中包括密文状态的数据,或者,所述第一数据格式用于表示所述下行数据域中包括密文状态的数据以及第一MAC验证码。
9.根据权利要求8所述的方法,其特征在于,所述根据所述下行业务功能码对应的第一数据格式对所述下行数据域进行解析,得到所述下行业务数据密文,还包括:
若所述第一数据格式表示所述下行数据域中包括密文状态的数据以及第一MAC验证码,根据所述第一数据格式对所述下行数据域进行解析,得到所述下行数据域中包括的第一MAC验证码;
在所述利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据之前,所述方法包括:
利用所述下行业务密钥对所述第一MAC验证码进行校验;
所述利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据,包括:
若所述第一MAC验证码通过校验,利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据。
10.根据权利要求1所述的方法,其特征在于,所述下行业务解密命令中包含有下行业务时间戳;在所述利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据之前,所述方法包括:
获取历史业务时间戳;其中,所述历史业务时间戳用于对所述下行业务时间戳进行验证;
所述利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据,包括:
若根据所述历史业务时间戳与所述下行业务时间戳之间的比较结果表明所述下行业务时间戳通过验证,利用所述下行业务密钥对所述下行业务数据密文进行解密,得到所述待执行指令数据。
11.根据权利要求10所述的方法,其特征在于,所述若根据所述历史业务时间戳与所述下行业务时间戳之间的比较结果表明所述下行业务时间戳通过验证,利用所述下行业务密钥对所述下行业务数据密文进行解密,得到所述待执行指令数据,包括:
若所述历史业务时间戳小于所述下行业务时间戳,表明所述下行业务时间戳通过验证,利用所述下行业务密钥对所述下行业务数据密文进行解密,得到所述待执行指令数据。
12.根据权利要求1所述的方法,其特征在于,所述终端设备与所述主站协商有签名验签密钥;所述下行业务解密命令中还包含有下行验证签名数据,所述下行验证签名数据是基于所述下行业务数据密文进行签名运算得到的;在所述利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据之前,所述方法还包括:
根据所述下行业务数据密文、所述签名验签密钥对所述下行验证签名数据进行验签验证;
所述利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据,包括:
若所述下行验证签名数据通过验签验证,利用所述下行业务密钥对所述下行业务数据密文进行解密,得到所述待执行指令数据。
13.根据权利要求1所述的方法,其特征在于,所述根据所述上行业务数据密文,得到所述上行业务加密命令对应的上行目标响应内容,包括:
获取第二随机数;
基于所述第二随机数、所述上行业务数据密文进行计算,得到上行业务验证码;
根据所述第二随机数、所述上行业务数据密文、所述上行业务验证码,得到所述上行目标响应内容。
14.根据权利要求13所述的方法,其特征在于,所述终端设备与所述主站协商有签名验签密钥;所述根据所述第二随机数、所述上行业务数据密文、所述上行业务验证码,得到所述上行目标响应内容,还包括:
基于所述签名验签密钥、所述第二随机数、所述上行业务数据密文、所述上行业务验证码进行签名运算,得到上行业务签名数据;
根据所述第二随机数、所述上行业务数据密文、所述上行业务验证码、所述上行业务签名数据,得到所述上行目标响应内容。
15.根据权利要求1所述的方法,其特征在于,所述根据所述上行业务功能码对应的第二数据格式对所述上行数据域进行解析,得到上行业务数据明文,还包括:
若所述第二数据格式表示所述上行数据域中包括明文状态的数据以及第二MAC验证码,根据所述第二数据格式对所述上行数据域进行解析,得到所述上行数据域中包括的第二MAC验证码;
在所述利用所述上行业务密钥对所述上行业务数据明文进行加密,得到上行业务数据密文之前,所述方法包括:
利用所述上行业务密钥对所述第二MAC验证码进行校验;
所述利用所述上行业务密钥对所述上行业务数据明文进行加密,得到上行业务数据密文,包括:
若所述第二MAC验证码通过校验,利用所述上行业务密钥对所述上行业务数据明文进行加密,得到所述上行业务数据密文。
16.根据权利要求1所述的方法,其特征在于,所述终端设备与所述主站协商有签名验签密钥;所述上行业务加密命令包含有上行验证签名数据,所述上行验证签名数据是基于所述上行业务数据明文进行签名运算得到的;在所述根据所述上行业务功能码对应的第二数据格式对所述上行数据域进行解析,得到上行业务数据明文之前,所述方法还包括:
利用所述签名验签密钥对所述上行验证签名数据进行验签验证;
所述根据所述上行业务功能码对应的第二数据格式对所述上行数据域进行解析,得到上行业务数据明文,包括:
若所述上行验证签名数据通过验签验证,根据所述上行业务功能码对应的第二数据格式对所述上行数据域进行解析,得到所述上行业务数据明文。
17.根据权利要求1至16任一项所述的方法,其特征在于,所述终端设备为燃气表,所述主站为燃气主站。
18.一种数据交互方法,其特征在于,应用于安全芯片,所述安全芯片内嵌至终端设备;所述方法包括:
获取主站发送的下行业务解密命令;其中,所述下行业务解密命令中包含有下行业务功能码和下行业务数据密文;所述下行业务功能码对应有所述终端设备向所述主站发送响应数据的安全性状态;
向所述主站发送所述下行业务解密命令对应的下行目标响应内容;其中,所述下行目标响应内容是根据所述下行业务功能码对应的安全性状态以及所述下行业务数据密文得到的;
获取上行业务加密命令;其中,所述上行业务加密命令包含有上行业务功能码和上行数据域;所述上行业务功能码对应有所述上行数据域的第二数据格式;
向所述主站发送所述上行业务加密命令对应的上行目标响应内容;其中,所述上行目标响应内容是基于所述上行数据域中包括的上行业务数据明文得到的;所述上行业务数据明文是根据所述第二数据格式对所述上行数据域进行解析得到的。
19.根据权利要求18所述的方法,其特征在于,所述终端设备与所述主站协商有下行业务密钥;所述下行目标响应内容的确定方式,包括:
利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据;
执行所述待执行指令数据对应的操作,得到所述响应数据;
根据所述下行业务功能码对应的安全性状态、所述响应数据,得到所述下行目标响应内容。
20.根据权利要求19所述的方法,其特征在于,所述根据所述下行业务功能码对应的安全性状态、所述响应数据,得到所述下行业务解密命令对应的下行目标响应内容,包括:
若根据所述下行业务功能码确定所述安全性状态为明文状态,根据所述明文状态、所述响应数据,得到所述下行目标响应内容。
21.根据权利要求19所述的方法,其特征在于,所述根据所述下行业务功能码对应的安全性状态、所述响应数据,得到所述下行业务解密命令对应的下行目标响应内容,包括:
若根据所述下行业务功能码确定所述安全性状态为密文状态,根据所述下行业务功能码和所述响应数据,得到待返回数据明文;
利用所述下行业务密钥对所述待返回数据明文进行加密,得到待返回数据密文;
根据所述待返回数据密文,得到所述下行目标响应内容。
22.根据权利要求19所述的方法,其特征在于,所述下行业务解密命令包含有下行数据域;所述下行业务功能码还对应有所述下行数据域的第一数据格式;所述下行业务数据密文的获取方式,包括:
根据所述下行业务功能码对应的第一数据格式对所述下行数据域进行解析,得到所述下行业务数据密文;其中,所述第一数据格式用于表示所述下行数据域中包括密文状态的数据,或者,所述第一数据格式用于表示所述下行数据域中包括密文状态的数据以及第一MAC验证码。
23.根据权利要求18所述的方法,其特征在于,所述终端设备与所述主站协商有上行业务密钥;所述上行目标响应内容的确定方式,包括:
根据所述上行业务功能码对应的第二数据格式对所述上行数据域进行解析,得到上行业务数据明文;其中,所述第二数据格式用于表示所述上行数据域中包括明文状态的数据,或者,所述第二数据格式用于表示所述上行数据域中包括明状态的数据以及第二MAC验证码;
利用所述上行业务密钥对所述上行业务数据明文进行加密,得到上行业务数据密文;
根据所述上行业务数据密文,得到所述上行目标响应内容。
24.一种数据交互装置,其特征在于,应用于安全芯片,所述安全芯片内嵌至终端设备;所述装置包括:
第一解密命令获取模块,用于获取主站发送的下行业务解密命令;其中,所述下行业务解密命令中包含有下行业务功能码和下行业务数据密文;所述终端设备与所述主站协商有下行业务密钥;
指令数据获取模块,用于利用所述下行业务密钥对所述下行业务数据密文进行解密,得到待执行指令数据;
响应数据获取模块,用于执行所述待执行指令数据对应的操作,得到响应数据;其中,所述下行业务功能码对应有所述终端设备向所述主站发送所述响应数据的安全性状态;
下行响应内容获取模块,用于根据所述下行业务功能码对应的安全性状态、所述响应数据,得到所述下行业务解密命令对应的下行目标响应内容,以将所述下行目标响应内容发送至所述主站;
第一加密命令获取模块,用于获取上行业务加密命令;其中,所述上行业务加密命令包含有上行业务功能码和上行数据域;所述上行业务功能码对应有所述上行数据域的第二数据格式;所述终端设备与所述主站协商有上行业务密钥;
上行数据明文获取模块,用于根据所述上行业务功能码对应的第二数据格式对所述上行数据域进行解析,得到上行业务数据明文;
上行数据密文获取模块,用于利用所述上行业务密钥对所述上行业务数据明文进行加密,得到上行业务数据密文;
上行响应内容获取模块,用于根据所述上行业务数据密文,得到所述上行业务加密命令对应的上行目标响应内容,以将所述上行目标响应内容发送至所述主站。
25.一种数据交互装置,其特征在于,应用于安全芯片,所述安全芯片内嵌至终端设备;所述装置包括:
第二解密命令获取模块,用于获取主站发送的下行业务解密命令;其中,所述下行业务解密命令中包含有下行业务功能码和下行业务数据密文;所述下行业务功能码对应有所述终端设备向所述主站发送响应数据的安全性状态;
下行响应内容发送模块,用于向所述主站发送所述下行业务解密命令对应的下行目标响应内容;其中,所述下行目标响应内容是根据所述下行业务功能码对应的安全性状态以及所述下行业务数据密文得到的;
第二加密命令获取模块,用于获取上行业务加密命令;其中,所述上行业务加密命令包含有上行业务功能码和上行数据域;所述上行业务功能码对应有所述上行数据域的第二数据格式;
上行响应内容发送模块,用于向所述主站发送所述上行业务加密命令对应的上行目标响应内容;其中,所述上行目标响应内容是基于所述上行数据域对应的上行业务数据明文得到的;所述上行业务数据明文是根据所述第二数据格式对所述上行业务数据进行解析得到的。
26.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至23中任一项所述的方法的步骤。
27.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至23中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311377130.2A CN117118756B (zh) | 2023-10-23 | 2023-10-23 | 数据交互方法、装置、计算机设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311377130.2A CN117118756B (zh) | 2023-10-23 | 2023-10-23 | 数据交互方法、装置、计算机设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117118756A CN117118756A (zh) | 2023-11-24 |
CN117118756B true CN117118756B (zh) | 2024-01-16 |
Family
ID=88800630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311377130.2A Active CN117118756B (zh) | 2023-10-23 | 2023-10-23 | 数据交互方法、装置、计算机设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117118756B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018076365A1 (zh) * | 2016-10-31 | 2018-05-03 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
CN108200094A (zh) * | 2018-02-09 | 2018-06-22 | 大庆英辰创新科技有限公司 | 一种燃气表的安全通信装置、方法和系统 |
CN109041052A (zh) * | 2018-07-02 | 2018-12-18 | 北京市燃气集团有限责任公司 | 一种基于标识算法的安全通信方法及系统 |
CN112437087A (zh) * | 2020-11-24 | 2021-03-02 | 重庆市山城燃气设备有限公司 | 具有安全芯片燃气表的加解密方法、系统及燃气表系统 |
WO2023098389A1 (zh) * | 2021-11-30 | 2023-06-08 | 傲然技术有限公司 | 一种计算机文件安全加密方法、解密方法和可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164738B (zh) * | 2013-02-06 | 2015-09-30 | 厦门盛华电子科技有限公司 | 一种基于移动支付多通道数字认证的手机用户识别卡 |
-
2023
- 2023-10-23 CN CN202311377130.2A patent/CN117118756B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018076365A1 (zh) * | 2016-10-31 | 2018-05-03 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
CN108200094A (zh) * | 2018-02-09 | 2018-06-22 | 大庆英辰创新科技有限公司 | 一种燃气表的安全通信装置、方法和系统 |
CN109041052A (zh) * | 2018-07-02 | 2018-12-18 | 北京市燃气集团有限责任公司 | 一种基于标识算法的安全通信方法及系统 |
CN112437087A (zh) * | 2020-11-24 | 2021-03-02 | 重庆市山城燃气设备有限公司 | 具有安全芯片燃气表的加解密方法、系统及燃气表系统 |
WO2023098389A1 (zh) * | 2021-11-30 | 2023-06-08 | 傲然技术有限公司 | 一种计算机文件安全加密方法、解密方法和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117118756A (zh) | 2023-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8964974B2 (en) | Zero configuration of security for smart meters | |
CN101958889B (zh) | 信息处理方法以及信息处理系统 | |
CN102111265A (zh) | 一种电力系统采集终端的安全芯片加密方法 | |
US20090136042A1 (en) | Application layer authorization token and method | |
Das | Wireless communication system for energy meter reading | |
KR20110100598A (ko) | 스마트 그리드 상의 가입자 인증기반의 전력거래장치 | |
US9900296B2 (en) | Securing communication within a network endpoint | |
CN101860525A (zh) | 电子授权状实现方法、智能终端、授权系统及验证终端 | |
CN109617675A (zh) | 一种充放电设施与用户端间的双方标识认证方法及系统 | |
CN101499196A (zh) | 电表充值的方法、装置和系统 | |
EP2751525A1 (en) | System and method to manage utility meter communications | |
US11915330B2 (en) | Secure tokens for controlling access to a resource in a resource distribution network | |
US11486730B2 (en) | System and method for managing supply of electric energy through certified measures | |
Falk et al. | Securely connecting electric vehicles to the smart grid | |
JP4753521B2 (ja) | ネットワークに接続されている電気装置の許可をモニタする方法および装置 | |
CN101141250A (zh) | 仪表设备、数据安全存取方法、装置和系统 | |
CN103780401B (zh) | 计费方法及系统 | |
CN117118756B (zh) | 数据交互方法、装置、计算机设备及计算机可读存储介质 | |
CN111435389A (zh) | 一种配电终端运维工具安全防护系统 | |
CN112437087A (zh) | 具有安全芯片燃气表的加解密方法、系统及燃气表系统 | |
US11790349B2 (en) | Secure tokens for controlling access to a resource in a resource distribution network | |
KR102405085B1 (ko) | Usim을 이용한 계량기 자동검침시스템에서의 개방형 무선환경 채널구성방법 및 그 장치 | |
KR102428829B1 (ko) | 보안모듈이 적용된 원격 검침 시스템 | |
TWM484139U (zh) | 雲端瓦斯錶管理服務系統 | |
CN114785490A (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 |