CN109088736A - 一种基于数字签名的数据通信方法、系统及装置 - Google Patents

一种基于数字签名的数据通信方法、系统及装置 Download PDF

Info

Publication number
CN109088736A
CN109088736A CN201811116209.9A CN201811116209A CN109088736A CN 109088736 A CN109088736 A CN 109088736A CN 201811116209 A CN201811116209 A CN 201811116209A CN 109088736 A CN109088736 A CN 109088736A
Authority
CN
China
Prior art keywords
data
signature
signature algorithm
algorithm
character string
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.)
Granted
Application number
CN201811116209.9A
Other languages
English (en)
Other versions
CN109088736B (zh
Inventor
沈旭南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201811116209.9A priority Critical patent/CN109088736B/zh
Publication of CN109088736A publication Critical patent/CN109088736A/zh
Application granted granted Critical
Publication of CN109088736B publication Critical patent/CN109088736B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

本发明主要涉及信息安全技术领域,揭示了一种基于数字签名的数据通信方法、系统及装置。所述方法包括:按照预设排序方式对待处理数据进行排序,获得第一数据集合;将所述第一数据集合中数据的数据种类与所述数据种类对应的数据值组合得到第一子字符串;连接至少一个所述第一子字符串,获得第一待签名字符串;利用预设签名算法对所述第一待签名字符串进行签名处理,获得目标签名信息;向接收设备发送目标请求消息,所述目标请求消息携带有所述待处理数据和所述目标签名信息。此方法下,实现了减少数据传输时被窃取或篡改等状况发生的概率。

Description

一种基于数字签名的数据通信方法、系统及装置
技术领域
本发明涉及信息安全技术领域,特别涉及一种基于数字签名的数据通信方法、系统及装置。
背景技术
随着互联网的不断发展,金融行业也迎合互联网潮流产生了各种网上办理金融业务的方式,常见的网上办理金融业务的方式为:用户在金融客户端输入用于办理金融业务的数据,并通过金融客户端将用户输入的数据发送给服务器,以供服务器接收该数据并完成金融业务的办理。例如,用户在转账机上输入汇款人银行账户、开户姓名、开户行、转账金融、收款人银行账户、开户行和收款人姓名等数据,转账机将用户输入的数据发送给服务器。但是,在实践中发现,攻击者只要劫持转账机向服务器发送该数据的请求,就可以对数据进行篡改,从而给用户造成不可挽回的损失。可见,当前的通信方式存在着安全性低的问题。
发明内容
为了解决相关技术中存在的通信安全性低的技术问题,本发明提供了一种基于数字签名的数据通信方法、系统及装置。
一种基于数字签名的数据通信方法,所述方法包括:
按照预设排序方式对待处理数据进行排序,获得第一数据集合;
将所述第一数据集合中数据的数据种类与所述数据种类对应的数据值组合得到第一子字符串;
连接至少一个所述第一子字符串,获得第一待签名字符串;
利用预设签名算法对所述第一待签名字符串进行签名处理,获得目标签名信息;
向接收设备发送目标请求消息,所述目标请求消息携带有所述待处理数据和所述目标签名信息。
一种基于数字签名的数据通信方法,其特征在于,所述方法包括:
接收发送设备发送的目标请求消息,所述目标请求消息携带有待处理数据和目标签名信息;
按照预设排序方式对所述待处理数据进行排序,获得第二数据集合;
将所述第二数据集合中数据的数据种类与所述数据种类对应的数据值组合得到第二子字符串;
连接至少一个所述第二子字符串,获得第二待签名字符串;
利用预设签名算法对所述第二待签名字符串进行签名处理,获得待验证签名信息;
当所述待验证签名信息与所述目标签名信息匹配成功时,根据所述待处理数据执行预设操作。
一种基于数字签名的数据通信装置,其特征在于,所述基于数字签名的数据通信装置包括:
第一排序模块,用于按照预设排序方式对待处理数据进行排序,获得第一数据集合;
第一组合模块,用于将所述第一数据集合中数据的数据种类与所述数据种类对应的数据值组合得到第一子字符串;
第一连接模块,用于连接至少一个所述第一子字符串,获得第一待签名字符串;
第一签名模块,用于利用预设签名算法对所述第一待签名字符串进行签名处理,获得目标签名信息;
发送模块,用于向接收设备发送目标请求消息,所述目标请求消息携带有所述待处理数据和所述目标签名信息。
一种基于数字签名的数据通信装置,其特征在于,所述基于数字签名的数据通信装置包括:
接收模块,用于接收发送设备发送的目标请求消息,所述目标请求消息携带有待处理数据和目标签名信息;
第二排序模块,用于按照预设排序方式对所述待处理数据进行排序,获得第二数据集合;
第二组合模块,用于将所述第二数据集合中数据的数据种类与所述数据种类对应的数据值组合得到第二子字符串;
第二连接模块,用于连接至少一个所述第二子字符串,获得第二待签名字符串;
第二签名模块,用于利用预设签名算法对所述第二待签名字符串进行签名处理,获得待验证签名信息;
执行模块,用于当所述待验证签名信息与所述目标签名信息匹配成功时,根据所述待处理数据执行预设操作。
一种电子设备,所述电子设备包括:
处理器;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如前所述的方法。
一种基于数字签名的通信系统,其特征在于,包括上述的接收设备以及发送设备。
本发明的实施例提供的技术方案可以包括以下有益效果:
本发明所提供的基于数字签名的数据通信方法包括如下步骤,按照预设排序方式对待处理数据进行排序,获得第一数据集合;将所述第一数据集合中数据的数据种类与所述数据种类对应的数据值组合得到第一子字符串;连接至少一个所述第一子字符串,获得第一待签名字符串;利用预设签名算法对所述第一待签名字符串进行签名处理,获得目标签名信息;向接收设备发送目标请求消息,所述目标请求消息携带有所述待处理数据和所述目标签名信息。
此方法下,发送设备(如客户端)向接收设备(如服务器)传输数据时,可以按照同样的预设签名算法对数据进行签名,若发送设备与接收设备生成的签名匹配,则认为通过认证,从而使得接收设备可以根据数据执行预设操作,若发送设备与接收设备的签名不匹配,接收设备无法获取到数据,以此实现减少数据传输时被窃取或篡改等状况发生的概率。此外,本方法还增加了对数据进行排序与拼接的过程,增加了签名算法的复杂度,提高了数据传输的安全性。综上,数据通信的安全性提高得以实现。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种装置的示意图;
图2是根据一示例性实施例示出的一种基于数字签名的数据通信方法的流程图;
图3是根据图2对应实施例示出的步骤240的细节的流程图;
图4是根据另一示例性实施例示出的一种基于数字签名的数据通信方法的流程图;
图5是根据另一示例性实施例示出的一种基于数字签名的数据通信方法的流程图;
图6是根据另一示例性实施例示出的一种基于数字签名的数据通信方法的流程图;
图7是根据另一示例性实施例示出的一种基于数字签名的数据通信方法的流程图;
图8是根据一示例性实施例示出的一种基于数字签名的数据通信装置的框图;
图9是根据另一示例性实施例示出的一种基于数字签名的数据通信装置的框图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
本发明的实施环境可以是便携移动设备与服务器之间的通信环境,其中,便携移动设备如智能手机、平板电脑、台式电脑。便携移动设备中的待处理数据可以是:汇款人银行账户、开户姓名、开户行、转账金融、收款人银行账户、开户行和/或收款人姓名等。
图1是根据一示例性实施例示出的一种装置的示意图。装置100可以是上述便携移动设备。如图1所示,装置100可以包括以下一个或多个组件:处理组件102,存储器104,电源组件106,多媒体组件108,音频组件110,传感器组件114以及通信组件116。
处理组件102通常控制装置100的整体操作,诸如与显示,电话呼叫,数据通信,相机操作以及记录操作相关联的操作等。处理组件102可以包括一个或多个处理器118来执行指令,以完成下述的方法的全部或部分步骤。此外,处理组件102可以包括一个或多个模块,用于便于处理组件102和其他组件之间的交互。例如,处理组件102可以包括多媒体模块,用于以方便多媒体组件108和处理组件102之间的交互。
存储器104被配置为存储各种类型的数据以支持在装置100的操作。这些数据的示例包括用于在装置100上操作的任何应用程序或方法的指令。存储器104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static RandomAccess Memory,简称SRAM),电可擦除可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(ErasableProgrammable Read OnlyMemory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。存储器104中还存储有一个或多个模块,用于该一个或多个模块被配置成由该一个或多个处理器118执行,以完成如下所示方法中的全部或者部分步骤。
电源组件106为装置100的各种组件提供电力。电源组件106可以包括电源管理系统,一个或多个电源,及其他与为装置100生成、管理和分配电力相关联的组件。
多媒体组件108包括在所述装置100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(Liquid Crystal Display,简称LCD)和触摸面板。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。屏幕还可以包括有机电致发光显示器(Organic Light Emitting Display,简称OLED)。
音频组件110被配置为输出和/或输入音频信号。例如,音频组件110包括一个麦克风(Microphone,简称MIC),当装置100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器104或经由通信组件116发送。在一些实施例中,音频组件110还包括一个扬声器,用于输出音频信号。
传感器组件114包括一个或多个传感器,用于为装置100提供各个方面的状态评估。例如,传感器组件114可以检测到装置100的打开/关闭状态,组件的相对定位,传感器组件114还可以检测装置100或装置100一个组件的位置改变以及装置100的温度变化。在一些实施例中,该传感器组件114还可以包括磁传感器,压力传感器或温度传感器。
通信组件116被配置为便于装置100和其他设备之间有线或无线方式的通信。装置100可以接入基于通信标准的无线网络,如WiFi(Wireless-Fidelity,无线保真)。在一个示例性实施例中,通信组件116经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件116还包括近场通信(Near FieldCommunication,简称NFC)模块,用于以促进短程通信。例如,在NFC模块可基于射频识别(Radio FrequencyIdentification,简称RFID)技术,红外数据协会(Infrared DataAssociation,简称IrDA)技术,超宽带(Ultra Wideband,简称UWB)技术,蓝牙技术和其他技术来实现。
在示例性实施例中,装置100可以被一个或多个应用专用集成电路(ApplicationSpecific Integrated Circuit,简称ASIC)、数字信号处理器、数字信号处理设备、可编程逻辑器件、现场可编程门阵列、控制器、微控制器、微处理器或其他电子元件实现,用于执行下述方法。
图2是根据一示例性实施例示出的一种基于数字签名的数据通信方法的流程图。如图2所示,此方法包括以下步骤。
步骤210,发送设备按照预设排序方式对待处理数据进行排序,获得第一数据集合。
本发明实施例中,发送设备可以为转账机,待处理数据可以为汇款人银行账户、开户姓名、开户行、转账金融、收款人银行账户、开户行和/或收款人姓名等。并且,预设排序方式可以为按照数据第一个字符的键值ASCII码递增排序,也可以为按照数据第一个字符的键值ASCII码递减排序,也可以为其他的对数据进行排序的方式,本发明实施例中不做限定。
作为一种可选的实施方式,当预设排序方式为按照数据第一个字符的键值ASCII码递增排序时,发送设备按照预设排序方式对待处理数据进行排序,获得第一数据集合可以包括:
发送设备接收用户输入的至少一个数据值;
发送设备确定出与每一数据值对应的数据种类,且将每一数据值与该数据值对应的数据种类对应存储为待处理数据;
发送设备按照数据值的第一个字符的键值ASCII码递增的顺序对待处理数据进行排序,获得第一数据集合,其中第一数据集合包括排序后的每一数据值以及与该数据值对应的数据种类。
在本发明实施例中,在发送设备按照数据值的第一个字符的键值ASCII码递增的顺序对待处理数据进行排序时,如果某两个或两个以上的数据值的第一个字符的键值ASCII码相同,则按照第二个字符的键值ASCII码对该某两个或两个以上的数据值进行排序,以此类推,可以理解的是,如果某两个或两个以上的数据值的第n个字符的键值ASCII码相同,则按照第n+1个字符的键值ASCII码对该某两个或两个以上的数据值进行排序。
作为另一种可选的实施方式,当预设排序方式为按照数据第一个字符的键值ASCII码递增排序时,发送设备按照预设排序方式对待处理数据进行排序,获得第一数据集合可以包括:
发送设备接收用户输入的至少一个数据值;
发送设备确定出与每一数据值对应的数据种类,且将每一数据值与该数据值对应的数据种类对应存储为待处理数据;
发送设备按照数据种类的第一个字符的键值ASCII码递增的顺序对待处理数据进行排序,获得第一数据集合,其中第一数据集合包括排序后的每一数据种类以及与该数据种类对应的数据值。
在本发明实施例中,在发送设备按照数据种类的第一个字符的键值ASCII码递增的顺序对待处理数据进行排序时,如果某两个或两个以上的数据种类的第一个字符的键值ASCII码相同,则按照第二个字符的键值ASCII码对该某两个或两个以上的数据种类进行排序,以此类推,可以理解的是,如果某两个或两个以上的数据种类的第n个字符的键值ASCII码相同,则按照第n+1个字符的键值ASCII码对该某两个或两个以上的数据种类进行排序。
步骤220,发送设备将第一数据集合中数据的数据种类与数据种类对应的数据值组合得到第一子字符串。
本发明实施例中,第一数据集合中数据可以包括对应存储的数据种类与数据值,第一数据集合中数据也可以只包括数据值,由发送设备确定出第一数据集合的数据值对应的数据种类,再将数据种类与数据种类对应的数据值组合得到第一子字符串,本发明实施例中不做限定。其中,数据种类与数据种类对应的数据值组合成的第一子字符串的格式可以为“数据种类:数据值”。
步骤230,发送设备连接至少一个第一子字符串,获得第一待签名字符串。
本发明实施例中,可选的,发送设备连接至少一个第一子字符串,获得第一待签名字符串具体为:连接至少一个第一子字符串以及预设公钥,获得第一待签名字符串。其中,预设公钥可以为接收设备的公钥,并且作为混淆参数与至少一个第一子字符串连接来获得第一待签名字符串。
本发明实施例中,将至少一个“数据种类:数据值”连接起来,其中,可以按照第一数据集合中数据的顺序连接至少一个“数据种类:数据值”,也可以按照其它顺序连接至少一个“数据种类:数据值”,本发明实施例中不做限定。
步骤240,发送设备利用预设签名算法对第一待签名字符串进行签名处理,获得目标签名信息。
本发明实施例中,预设签名算法可以为哈希算法,也可以为对称加密算法,也可以为非对称加密算法等,本发明实施例中不做限定。
步骤250,发送设备向接收设备发送目标请求消息,目标请求消息携带有待处理数据和目标签名信息。
上述方法下,发送设备(如客户端)向接收设备(如服务器)传输数据时,可以按照同样的预设签名算法对数据进行签名,若发送设备与接收设备生成的签名匹配,则认为通过认证,从而使得接收设备可以根据数据执行预设操作,若发送设备与接收设备的签名不匹配,接收设备无法获取到数据,以此实现减少数据传输时被窃取或篡改等状况发生的概率。此外,本方法还增加了对数据进行排序与拼接的过程,增加了签名算法的复杂度,提高了数据传输的安全性。综上,数据通信的安全性提高得以实现。
图3是根据图2对应实施例示出的步骤240的细节的流程图。如图3所示,步骤240包括:
步骤241,发送设备确定与第一待签名字符串对应的目标业务类型。
本发明实施例中,目标业务类型可以包括储蓄业务、保险业务或者转账业务等。
步骤242,发送设备在预设签名算法表中查询与目标业务类型对应的目标签名算法。
本发明实施例中,预设签名算法表包括每一目标业务类型以及与该目标业务类型对应的目标签名算法,针对不同的目标业务类型可以设置有不同的目标签名算法,且将每一目标业务类型与该目标业务类型对应的签名算法对应存储为预设签名算法表。
步骤243,发送设备利用目标签名算法对第一待签名字符串进行签名处理,获得目标签名信息。
上述方法下,增加了对数据进行排序与拼接的过程,增加了签名算法的复杂度,提高了数据传输的安全性。综上,数据通信的安全性提高得以实现。
此外,在优选方案中,针对不同的目标业务类型设置不同的签名算法,进一步增加了签名算法的复杂度,提高了破解签名算法的难度,从而提高数据通信的安全性。
图4是根据另一示例性实施例示出的一种基于数字签名的数据通信方法的流程图,除图2所示步骤外,在步骤250之前,此实施例中还包括以下步骤。
步骤410,发送设备向接收设备发送同步指令。
本发明实施例中,接收设备可以与发送设备协商同步签名算法。其中,同步指令用于指示与接收设备同步签名算法。
步骤420,发送设备获取接收设备根据同步指令生成的第一目标签名算法标识以及接收设备根据预设同步签名算法生成的第一同步签名。
本发明实施例中,接收设备在接收到同步指令时会生成接收设备使用的第一目标签名算法标识,且会根据预设同步签名算法生成第一同步签名,其中,预设同步签名算法为预先设置的接收设备与发送设备同步签名算法专用的签名算法。
步骤430,发送设备按照预设同步签名算法生成与第一目标签名算法标识对应的第二同步签名。
步骤440,当第一同步签名与第二同步签名匹配时,发送设备将第一目标签名算法标识对应的算法设置为预设签名算法;当第一同步签名与第二同步签名不匹配时,发送设备将发送设备的第二目标签名算法标识发送给接收设备,以使发送设备与接收设备将第二目标签名算法标识对应的算法设置为预设签名算法。
本发明实施例中,第二目标签名算法标识为发送设备使用的签名算法标识。
上述方法下,增加了对数据进行排序与拼接的过程,增加了签名算法的复杂度,提高了数据传输的安全性。综上,数据通信的安全性提高得以实现。
此外,还可以在发送设备与接收设备之间协商选择预设签名算法,使得预设签名算法的选择更加均衡化,提高预设签名算法选择的可靠性。
图5是根据另一示例性实施例示出的一种基于数字签名的数据通信方法的流程图,除图2所示步骤外,在步骤240之前,此实施例中还包括以下步骤。
步骤510,发送设备输出签名算法标识列表,签名算法标识列表包括至少一个签名算法标识。
步骤520,发送设备监测用户对签名算法标识列表中某一个签名算法标识的选择操作。
步骤530,发送设备将用户选择的某一个签名算法标识对应的签名算法设置为预设签名算法。
上述方法下,增加了对数据进行排序与拼接的过程,增加了签名算法的复杂度,提高了数据传输的安全性。综上,数据通信的安全性提高得以实现。
此外,还可以由发送设备的用户来指定预设签名算法,从而提高了预设签名算法指定的灵活性,进而提高用户体验。
图6根据另一示例性实施例示出的一种基于数字签名的数据通信方法的流程图。如图6所示,此方法包括以下步骤。
步骤610,接收设备接收发送设备发送的目标请求消息,目标请求消息携带有待处理数据和目标签名信息。
本发明实施例中,接收设备可以为服务器,也可以为其他设备,本发明实施例中不做限定。并且,待处理数据可以包括每一数据的数据种类以及每一数据的数据值。
步骤620,接收设备按照预设排序方式对待处理数据进行排序,获得第二数据集合。
本发明实施例中,预设排序方式可以为按照数据第一个字符的键值ASCII码递增排序,也可以为按照数据第一个字符的键值ASCII码递减排序,也可以为其他的对数据进行排序的方式,本发明实施例中不做限定。
作为一种可选的实施方式,当预设排序方式为按照数据第一个字符的键值ASCII码递增排序时,接收设备按照预设排序方式对待处理数据进行排序,获得第二数据集合可以包括:
接收设备按照待处理数据中数据值的第一个字符的键值ASCII码递增的顺序对待处理数据进行排序,获得第二数据集合,其中第二数据集合包括排序后的每一数据值以及与该数据值对应的数据种类。
在本发明实施例中,在接收设备按照数据值的第一个字符的键值ASCII码递增的顺序对待处理数据进行排序时,如果某两个或两个以上的数据值的第一个字符的键值ASCII码相同,则按照第二个字符的键值ASCII码对该某两个或两个以上的数据值进行排序,以此类推,可以理解的是,如果某两个或两个以上的数据值的第n个字符的键值ASCII码相同,则按照第n+1个字符的键值ASCII码对该某两个或两个以上的数据值进行排序。
作为另一种可选的实施方式,当预设排序方式为按照数据第一个字符的键值ASCII码递增排序时,接收设备按照预设排序方式对待处理数据进行排序,获得第一数据集合可以包括:
接收设备按照待处理数据中数据种类的第一个字符的键值ASCII码递增的顺序对待处理数据进行排序,获得第二数据集合,其中第二数据集合包括排序后的每一数据种类以及与该数据种类对应的数据值。
在本发明实施例中,在接收设备按照数据种类的第一个字符的键值ASCII码递增的顺序对待处理数据进行排序时,如果某两个或两个以上的数据种类的第一个字符的键值ASCII码相同,则按照第二个字符的键值ASCII码对该某两个或两个以上的数据种类进行排序,以此类推,可以理解的是,如果某两个或两个以上的数据种类的第n个字符的键值ASCII码相同,则按照第n+1个字符的键值ASCII码对该某两个或两个以上的数据种类进行排序。
步骤630,接收设备将第二数据集合中数据的数据种类与数据种类对应的数据值组合得到第二子字符串。
本发明实施例中,第二数据集合中数据可以包括对应存储的数据种类与数据值,第二数据集合中数据也可以只包括数据值,由接收设备确定出第二数据集合的数据值对应的数据种类,再将数据种类与数据种类对应的数据值组合得到第二子字符串,本发明实施例中不做限定。其中,数据种类与数据种类对应的数据值组合成的第二子字符串的格式可以为“数据种类:数据值”。
步骤640,接收设备连接至少一个第二子字符串,获得第二待签名字符串。
本发明实施例中,接收设备连接至少一个第二子字符串,获得第一待签名字符串具体为:连接至少一个第二子字符串以及预设公钥,获得第一待签名字符串。其中,预设公钥可以为接收设备的公钥,并且作为混淆参数与至少一个第二子字符串连接来获得第二待签名字符串。
本发明实施例中,将至少一个“数据种类:数据值”连接起来,其中,可以按照第二数据集合中数据的顺序连接至少一个“数据种类:数据值”,也可以按照其它顺序连接至少一个“数据种类:数据值”,本发明实施例中不做限定。
步骤650,接收设备利用预设签名算法对第二待签名字符串进行签名处理,获得待验证签名信息。
本发明实施例中,预设签名算法可以为哈希算法,也可以为对称加密算法,也可以为非对称加密算法等,本发明实施例中不做限定。
步骤660,当待验证签名信息与目标签名信息匹配成功时,接收设备根据待处理数据执行预设操作。
本发明实施例中,当待验证签名信息与目标签名信息匹配成功时,接收设备可以根据待处理数据执行预设操作,其中,预设操作可以为存储、读取和/或更改等操作,本发明实施例中不做限定。
上述方法下,增加了对数据进行排序与拼接的过程,增加了签名算法的复杂度,提高了数据传输的安全性。综上,数据通信的安全性提高得以实现。
此外,还可以由发送设备的用户来指定预设签名算法,从而提高了预设签名算法指定的灵活性,进而提高用户体验。
图7是根据另一示例性实施例示出的一种基于数字签名的数据通信方法的流程图,除图6所示步骤外,在步骤650之前,此实施例中还包括以下步骤。
步骤710,接收设备在接收到发送设备发送的同步指令时,根据预设同步签名算法生成第一同步签名。
步骤720,接收设备将第一同步签名以及接收设备的第一目标签名算法标识发送给发送设备,以使发送设备生成与第一目标签名算法标识对应的第二同步签名。
步骤730,当第一同步签名与第二同步签名匹配时,接收设备将第一目标签名算法标识对应的算法设置为预设签名算法;当第一同步签名与第二同步签名不匹配时,接收设备将第二目标签名算法标识对应的算法设置为预设签名算法。
上述方法下,增加了对数据进行排序与拼接的过程,增加了签名算法的复杂度,提高了数据传输的安全性。综上,数据通信的安全性提高得以实现。
此外,还可以在发送设备与接收设备之间协商选择预设签名算法,使得预设签名算法的选择更加均衡化,提高预设签名算法选择的可靠性。
以下是本发明的装置实施例。
图8是根据一示例性实施例示出的一种基于数字签名的数据通信装置的框图。如图8所示,该基于数字签名的数据通信装置包括:
第一排序模块801,用于按照预设排序方式对待处理数据进行排序,获得第一数据集合。
作为一种可选的实施方式,当预设排序方式为按照数据第一个字符的键值ASCII码递增排序时,第一排序模块801按照预设排序方式对待处理数据进行排序,获得第一数据集合可以包括:
第一排序模块801接收用户输入的至少一个数据值;
第一排序模块801确定出与每一数据值对应的数据种类,且将每一数据值与该数据值对应的数据种类对应存储为待处理数据;
第一排序模块801按照数据值的第一个字符的键值ASCII码递增的顺序对待处理数据进行排序,获得第一数据集合,其中第一数据集合包括排序后的每一数据值以及与该数据值对应的数据种类。
在本发明实施例中,在第一排序模块801按照数据值的第一个字符的键值ASCII码递增的顺序对待处理数据进行排序时,如果某两个或两个以上的数据值的第一个字符的键值ASCII码相同,则按照第二个字符的键值ASCII码对该某两个或两个以上的数据值进行排序,以此类推,可以理解的是,如果某两个或两个以上的数据值的第n个字符的键值ASCII码相同,则按照第n+1个字符的键值ASCII码对该某两个或两个以上的数据值进行排序。
作为另一种可选的实施方式,当预设排序方式为按照数据第一个字符的键值ASCII码递增排序时,第一排序模块801按照预设排序方式对待处理数据进行排序,获得第一数据集合可以包括:
第一排序模块801接收用户输入的至少一个数据值;
第一排序模块801确定出与每一数据值对应的数据种类,且将每一数据值与该数据值对应的数据种类对应存储为待处理数据;
第一排序模块801按照数据种类的第一个字符的键值ASCII码递增的顺序对待处理数据进行排序,获得第一数据集合,其中第一数据集合包括排序后的每一数据种类以及与该数据种类对应的数据值。
在本发明实施例中,在第一排序模块801按照数据种类的第一个字符的键值ASCII码递增的顺序对待处理数据进行排序时,如果某两个或两个以上的数据种类的第一个字符的键值ASCII码相同,则按照第二个字符的键值ASCII码对该某两个或两个以上的数据种类进行排序,以此类推,可以理解的是,如果某两个或两个以上的数据种类的第n个字符的键值ASCII码相同,则按照第n+1个字符的键值ASCII码对该某两个或两个以上的数据种类进行排序。
第一组合模块802,用于将第一数据集合中数据的数据种类与数据种类对应的数据值组合得到第一子字符串。
第一连接模块803,用于连接至少一个第一子字符串,获得第一待签名字符串。
第一签名模块804,用于利用预设签名算法对第一待签名字符串进行签名处理,获得目标签名信息。
发送模块805,用于向接收设备发送目标请求消息,目标请求消息携带有待处理数据和目标签名信息。
上述方法下,增加了对数据进行排序与拼接的过程,增加了签名算法的复杂度,提高了数据传输的安全性。综上,数据通信的安全性提高得以实现。
图9是根据另一示例性实施例示出的一种基于数字签名的数据通信装置的框图。如图9所示,该基于数字签名的数据通信装置包括:
接收模块901,用于接收发送设备发送的目标请求消息,目标请求消息携带有待处理数据和目标签名信息。
第二排序模块902,用于按照预设排序方式对待处理数据进行排序,获得第二数据集合。
作为一种可选的实施方式,当预设排序方式为按照数据第一个字符的键值ASCII码递增排序时,第二排序模块902按照预设排序方式对待处理数据进行排序,获得第二数据集合可以包括:
第二排序模块902按照待处理数据中数据值的第一个字符的键值ASCII码递增的顺序对待处理数据进行排序,获得第二数据集合,其中第二数据集合包括排序后的每一数据值以及与该数据值对应的数据种类。
在本发明实施例中,在第二排序模块902按照数据值的第一个字符的键值ASCII码递增的顺序对待处理数据进行排序时,如果某两个或两个以上的数据值的第一个字符的键值ASCII码相同,则按照第二个字符的键值ASCII码对该某两个或两个以上的数据值进行排序,以此类推,可以理解的是,如果某两个或两个以上的数据值的第n个字符的键值ASCII码相同,则按照第n+1个字符的键值ASCII码对该某两个或两个以上的数据值进行排序。
作为另一种可选的实施方式,当预设排序方式为按照数据第一个字符的键值ASCII码递增排序时,第二排序模块902按照预设排序方式对待处理数据进行排序,获得第一数据集合可以包括:
第二排序模块902按照数据种类的第一个字符的键值ASCII码递增的顺序对待处理数据进行排序,获得第二数据集合,其中第二数据集合包括排序后的每一数据种类以及与该数据种类对应的数据值。
在本发明实施例中,在第二排序模块902按照数据种类的第一个字符的键值ASCII码递增的顺序对待处理数据进行排序时,如果某两个或两个以上的数据种类的第一个字符的键值ASCII码相同,则按照第二个字符的键值ASCII码对该某两个或两个以上的数据种类进行排序,以此类推,可以理解的是,如果某两个或两个以上的数据种类的第n个字符的键值ASCII码相同,则按照第n+1个字符的键值ASCII码对该某两个或两个以上的数据种类进行排序。
第二组合模块903,用于将第二数据集合中数据的数据种类与数据种类对应的数据值组合得到第二子字符串。
第二连接模块904,用于连接至少一个第二子字符串,获得第二待签名字符串。
第二签名模块905,用于利用预设签名算法对第二待签名字符串进行签名处理,获得待验证签名信息。
执行模块906,用于当待验证签名信息与目标签名信息匹配成功时,根据待处理数据执行预设操作。
上述方法下,增加了对数据进行排序与拼接的过程,增加了签名算法的复杂度,提高了数据传输的安全性。综上,数据通信的安全性提高得以实现。
本发明还提供一种电子设备,该电子设备包括:
处理器;
存储器,该存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时,实现如前所示的基于数字签名的数据通信方法。
该电子设备可以是图1所示装置100。
本发明还提供一种基于数字签名的数据通信系统,其特征在于,包括上述的接收设备以及发送设备,其中,发送设备可以执行图2~图5所示的全部或者部分步骤,接收设备可以执行图6~图7所示的全部或者部分步骤,且发送设备可以包括图8所示的基于数字签名的数据通信装置,接收设备可以包括图9所示的基于数字签名的数据通信装置。
在一示例性实施例中,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如前所示的基于数字签名的数据通信方法。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (10)

1.一种基于数字签名的数据通信方法,其特征在于,所述方法包括:
按照预设排序方式对待处理数据进行排序,获得第一数据集合;
将所述第一数据集合中数据的数据种类与所述数据种类对应的数据值组合得到第一子字符串;
连接至少一个所述第一子字符串,获得第一待签名字符串;
利用预设签名算法对所述第一待签名字符串进行签名处理,获得目标签名信息;
向接收设备发送目标请求消息,所述目标请求消息携带有所述待处理数据和所述目标签名信息。
2.根据权利要求1所述的方法,其特征在于,所述连接至少一个所述第一子字符串,获得第一待签名字符串,包括:
连接至少一个所述第一子字符串以及预设公钥,获得第一待签名字符串。
3.根据权利要求1所述的方法,其特征在于,所述利用预设签名算法对所述第一待签名字符串进行签名处理,获得目标签名信息,包括:
确定与所述第一待签名字符串对应的目标业务类型;
在预设签名算法表中查询与所述目标业务类型对应的目标签名算法;
利用所述目标签名算法对所述第一待签名字符串进行签名处理,获得目标签名信息。
4.根据权利要求1至3任一项所述的方法,其特征在于,在所述向接收设备发送目标请求消息之前,所述方法还包括:
向所述接收设备发送同步指令,所述同步指令用于指示与所述接收设备同步签名算法;
获取所述接收设备根据所述同步指令生成的第一目标签名算法标识以及所述接收设备根据预设同步签名算法生成的第一同步签名;
按照所述预设同步签名算法生成与所述第一目标签名算法标识对应的第二同步签名;
当所述第一同步签名与所述第二同步签名匹配时,将所述第一目标签名算法标识对应的算法设置为预设签名算法;
当所述第一同步签名与所述第二同步签名不匹配时,将发送设备的第二目标签名算法标识发送给所述接收设备,以使所述发送设备与所述接收设备将所述第二目标签名算法标识对应的算法设置为预设签名算法。
5.根据权利要求1所述的方法,其特征在于,在所述利用预设签名算法对所述第一待签名字符串进行签名处理,获得目标签名信息之前,所述方法还包括:
输出签名算法标识列表,所述签名算法标识列表包括至少一个签名算法标识;
监测用户对所述签名算法标识列表中某一个签名算法标识的选择操作;
将所述用户选择的所述某一个签名算法标识对应的签名算法设置为所述预设签名算法。
6.一种基于数字签名的数据通信方法,其特征在于,所述方法包括:
接收发送设备发送的目标请求消息,所述目标请求消息携带有待处理数据和目标签名信息;
按照预设排序方式对所述待处理数据进行排序,获得第二数据集合;
将所述第二数据集合中数据的数据种类与所述数据种类对应的数据值组合得到第二子字符串;
连接至少一个所述第二子字符串,获得第二待签名字符串;
利用预设签名算法对所述第二待签名字符串进行签名处理,获得待验证签名信息;
当所述待验证签名信息与所述目标签名信息匹配成功时,根据所述待处理数据执行预设操作。
7.根据权利要求6所述的方法,其特征在于,在所述利用预设签名算法对所述第二待签名字符串进行签名处理,获得待验证签名信息之前,所述方法还包括:
在接收到所述发送设备发送的同步指令时,根据预设同步签名算法生成第一同步签名;
将所述第一同步签名以及接收设备的第一目标签名算法标识发送给所述发送设备,以使所述发送设备生成与所述第一目标签名算法标识对应的第二同步签名;
当所述第一同步签名与所述第二同步签名匹配时,将所述第一目标签名算法标识对应的算法设置为预设签名算法;
当所述第一同步签名与所述第二同步签名不匹配时,将所述发送设备的第二目标签名算法标识对应的算法设置为预设签名算法。
8.一种基于数字签名的数据通信装置,其特征在于,所述基于数字签名的数据通信装置包括:
第一排序模块,用于按照预设排序方式对待处理数据进行排序,获得第一数据集合;
第一组合模块,用于将所述第一数据集合中数据的数据种类与所述数据种类对应的数据值组合得到第一子字符串;
第一连接模块,用于连接至少一个所述第一子字符串,获得第一待签名字符串;
第一签名模块,用于利用预设签名算法对所述第一待签名字符串进行签名处理,获得目标签名信息;
发送模块,用于向接收设备发送目标请求消息,所述目标请求消息携带有所述待处理数据和所述目标签名信息。
9.一种基于数字签名的数据通信装置,其特征在于,所述基于数字签名的数据通信装置包括:
接收模块,用于接收发送设备发送的目标请求消息,所述目标请求消息携带有待处理数据和目标签名信息;
第二排序模块,用于按照预设排序方式对所述待处理数据进行排序,获得第二数据集合;
第二组合模块,用于将所述第二数据集合中数据的数据种类与所述数据种类对应的数据值组合得到第二子字符串;
第二连接模块,用于连接至少一个所述第二子字符串,获得第二待签名字符串;
第二签名模块,用于利用预设签名算法对所述第二待签名字符串进行签名处理,获得待验证签名信息;
执行模块,用于当所述待验证签名信息与所述目标签名信息匹配成功时,根据所述待处理数据执行预设操作。
10.一种基于数字签名的数据通信系统,其特征在于,包括如权利要求1-7所述的接收设备以及发送设备,其中,所述发送设备可以执行权利要求1-5任一项所述的方法,所述接收设备可以执行权利要求6-7任一项所述的方法,且所述发送设备包括如权利要求8所描述的基于数字签名的数据通信装置,所述接收设备包括如权利要求9所描述的基于数字签名的数据通信装置。
CN201811116209.9A 2018-09-25 2018-09-25 一种基于数字签名的数据通信方法、系统及装置 Active CN109088736B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811116209.9A CN109088736B (zh) 2018-09-25 2018-09-25 一种基于数字签名的数据通信方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811116209.9A CN109088736B (zh) 2018-09-25 2018-09-25 一种基于数字签名的数据通信方法、系统及装置

Publications (2)

Publication Number Publication Date
CN109088736A true CN109088736A (zh) 2018-12-25
CN109088736B CN109088736B (zh) 2023-10-03

Family

ID=64842287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811116209.9A Active CN109088736B (zh) 2018-09-25 2018-09-25 一种基于数字签名的数据通信方法、系统及装置

Country Status (1)

Country Link
CN (1) CN109088736B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112217644A (zh) * 2019-07-11 2021-01-12 阿里巴巴集团控股有限公司 数字签名方法、设备、系统及存储介质
CN112956224A (zh) * 2019-10-10 2021-06-11 尤温洛克公司 用于生成与uwb无线标签发送的消息相关的数字证明的方法和相关系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1571409A (zh) * 2003-07-25 2005-01-26 华为技术有限公司 一种媒体网关与媒体网关控制器之间安全认证的方法
CN101404575A (zh) * 2008-11-06 2009-04-08 阿里巴巴集团控股有限公司 一种更新签名算法的方法和系统
CN103973695A (zh) * 2014-05-16 2014-08-06 浪潮电子信息产业股份有限公司 一种与服务器验证的签名算法
CN104484823A (zh) * 2014-11-26 2015-04-01 中金金融认证中心有限公司 电子银行pki服务方法及其系统
CN105072125A (zh) * 2015-08-26 2015-11-18 北京京东尚科信息技术有限公司 一种http通信系统及方法
CN105553673A (zh) * 2015-12-31 2016-05-04 北京中科江南信息技术股份有限公司 版式文件的多次签名验证系统和签名验证方法
CN106790135A (zh) * 2016-12-27 2017-05-31 Tcl集团股份有限公司 一种基于云端的数据加密方法及系统、通信设备
CN107835080A (zh) * 2017-11-09 2018-03-23 成都国盛天丰网络科技有限公司 一种分布式系统数据收集方法及数据签名生成方法
CN108183802A (zh) * 2018-01-11 2018-06-19 深圳市沃特沃德股份有限公司 数字签名生成方法和装置
CN108573016A (zh) * 2017-12-25 2018-09-25 北京金山云网络技术有限公司 一种数据一致性检查方法、装置、设备和存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1571409A (zh) * 2003-07-25 2005-01-26 华为技术有限公司 一种媒体网关与媒体网关控制器之间安全认证的方法
CN101404575A (zh) * 2008-11-06 2009-04-08 阿里巴巴集团控股有限公司 一种更新签名算法的方法和系统
CN103973695A (zh) * 2014-05-16 2014-08-06 浪潮电子信息产业股份有限公司 一种与服务器验证的签名算法
CN104484823A (zh) * 2014-11-26 2015-04-01 中金金融认证中心有限公司 电子银行pki服务方法及其系统
CN105072125A (zh) * 2015-08-26 2015-11-18 北京京东尚科信息技术有限公司 一种http通信系统及方法
CN105553673A (zh) * 2015-12-31 2016-05-04 北京中科江南信息技术股份有限公司 版式文件的多次签名验证系统和签名验证方法
CN106790135A (zh) * 2016-12-27 2017-05-31 Tcl集团股份有限公司 一种基于云端的数据加密方法及系统、通信设备
CN107835080A (zh) * 2017-11-09 2018-03-23 成都国盛天丰网络科技有限公司 一种分布式系统数据收集方法及数据签名生成方法
CN108573016A (zh) * 2017-12-25 2018-09-25 北京金山云网络技术有限公司 一种数据一致性检查方法、装置、设备和存储介质
CN108183802A (zh) * 2018-01-11 2018-06-19 深圳市沃特沃德股份有限公司 数字签名生成方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112217644A (zh) * 2019-07-11 2021-01-12 阿里巴巴集团控股有限公司 数字签名方法、设备、系统及存储介质
CN112217644B (zh) * 2019-07-11 2023-04-25 阿里巴巴集团控股有限公司 数字签名方法、设备、系统及存储介质
CN112956224A (zh) * 2019-10-10 2021-06-11 尤温洛克公司 用于生成与uwb无线标签发送的消息相关的数字证明的方法和相关系统

Also Published As

Publication number Publication date
CN109088736B (zh) 2023-10-03

Similar Documents

Publication Publication Date Title
US9961181B2 (en) Systems and methods for customizing mobile applications based upon user associations with one or more entities
CN107453870A (zh) 基于区块链的移动终端认证管理方法、装置及相应的移动终端
KR101582686B1 (ko) 아이템 표시 방법 및 이를 적용한 이동 통신 단말기
US8943124B2 (en) Systems and methods for customizing mobile applications based upon user associations with one or more entities
US20210352059A1 (en) Message Display Method, Apparatus, and Device
CN111814179A (zh) 用户权限管理和数据控制方法及其相关设备
CN104657842A (zh) 智能物流签收方法及其系统
CN110009327A (zh) 一种电子交易的方法及终端
KR20150141321A (ko) 모바일 단말기를 이용한 금융 서비스 제공 방법 및 그를 이용하는 시스템
CN109614092A (zh) 基于微服务架构的原子服务编排方法及装置、电子设备
CN105099701A (zh) 一种终端及终端鉴权的方法
US10075435B1 (en) Device deregistration using forward-chaining encryption
CN109088736A (zh) 一种基于数字签名的数据通信方法、系统及装置
KR20190001127A (ko) 푸시 메시지 관리장치 및 방법
US9509516B2 (en) Apparatus and method for providing digital signature
CN111669744B (zh) 信息处理方法、装置和电子设备
US20190340601A1 (en) Method And Mobile Device For Transmitting Data By Using Barcode
CN110210015A (zh) 电子名片生成方法、装置、电子设备及存储介质
CN116362206A (zh) 文件处理方法、装置、设备及介质
US9400965B2 (en) Platform for modeling and embedding business scenarios in bar codes
CN104821979A (zh) 电话号码识别处理方法及装置
CN113554315A (zh) 业务数据跟踪方法、装置、计算机设备及存储介质
CN104378202A (zh) 一种信息处理方法、电子终端和服务器
CN109284119B (zh) 一种应用功能控制参数处理方法、装置及设备
EP2998921A1 (en) Beacon device for facilitation of gratuitous transactions

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