CN112600803B - Web端数据签名方法、装置及计算机设备 - Google Patents

Web端数据签名方法、装置及计算机设备 Download PDF

Info

Publication number
CN112600803B
CN112600803B CN202011404814.3A CN202011404814A CN112600803B CN 112600803 B CN112600803 B CN 112600803B CN 202011404814 A CN202011404814 A CN 202011404814A CN 112600803 B CN112600803 B CN 112600803B
Authority
CN
China
Prior art keywords
module
signing
glue
signature
bytecode
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
Application number
CN202011404814.3A
Other languages
English (en)
Other versions
CN112600803A (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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology 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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202011404814.3A priority Critical patent/CN112600803B/zh
Publication of CN112600803A publication Critical patent/CN112600803A/zh
Priority to US18/039,922 priority patent/US20240031166A1/en
Priority to PCT/CN2021/112309 priority patent/WO2022116587A1/zh
Application granted granted Critical
Publication of CN112600803B publication Critical patent/CN112600803B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种Web端数据签名方法、装置及计算机设备,该方法包括:接收目标数据的签名请求;从服务器获取字节码签名信息以及对应的胶水信息;处理所述字节码签名信息和所述胶水信息得到对应的字节码签名模块和胶水模块,并将所述字节码签名模块和所述胶水模块进行关联;通过所述胶水模块调度所述字节码签名模块对所述目标数据进行签名。本申请还提供一种计算机可读存储介质。本申请通过建立不易破解的字节码签名模块,然后再通过胶水模块调度字节码签名模块执行签名的方式,从而有效提高了签名逻辑的安全性以及被签名数据的安全性。

Description

Web端数据签名方法、装置及计算机设备
技术领域
本申请涉及互联网技术领域,尤其涉及一种Web端数据签名方法、装置及 计算机设备。
背景技术
近年来,随着互联网广泛应用,对于数据服务行业也得到了快速发展。通 常地,用户可以通过网页或者APP(Application,应用程序)页面访问各种各样的 数据资源;而数据服务商则可以通过网页或者APP页面的方式提供给用户数据 访问的服务。当然,对于某些特定的数据服务,比如,金融服务商提供的金融 数据服务,或者视频数据服务商或者游戏数据服务商提供的付费数据服务,对 于这些数据服务,为了保障数据服务商或者用户的利益,通常则需要对数据访 问过程进行签名或加密。
在现有技术中,对于Web端页面实现的数据访问过程,其签名加密方式通 常是在Web端加载签名插件,然后由签名插件实现签名。然而,由于大多数情 况下,签名插件是直接暴露在Web端,容易引起黑客的破解。因此,这种签名 方式还是存在被骗签的风险,安全性较低。
发明内容
本申请提出一种Web端数据签名方法、装置及计算机设备,能够解决现有 技术中Web端签名过程中签名逻辑容易被破解,签名安全性较低的问题。
首先,为实现上述目的,本申请提供一种Web端数据签名方法,所述方法 包括:
接收目标数据的签名请求;从服务器获取字节码签名信息以及对应的胶水 信息;处理所述字节码签名信息和所述胶水信息得到对应的字节码签名模块和 胶水模块,并将所述字节码签名模块和所述胶水模块进行关联;通过所述胶水 模块调度所述字节码签名模块对所述目标数据进行签名。
在一个例子中,在接收目标数据的签名请求之后,以及从服务器获取字节 码签名信息以及对应的胶水信息之前,所述方法还包括:检测Web端是否符合 预设的运行条件;若所述Web端不符合所述运行条件,则拒绝所述签名请求。
在一个例子中,所述检测Web端是否符合预设的运行条件包括:控制所述 Web端执行与所述字节码签名模块相同编码格式的初始化命令;若所述初始化 命令执行成功,则表示所述Web端符合所述运行条件。
在一个例子中,所述字节码签名模块是基于WebAssembly实现的,所述胶 水模块是基于JavaScript实现的。
在一个例子中,所述处理所述字节码签名信息和所述胶水信息得到对应的 字节码签名模块和胶水模块,并将所述字节码签名模块和所述胶水模块进行关 联包括:对所述字节码签名信息执行实例化得到所述字节码签名模块,对所述 胶水信息执行实例化得到所述胶水模块;将所述字节码签名模块和所述胶水模 块进行关联。
在一个例子中,所述将所述字节码签名模块和所述胶水模块进行关联包括: 对所述字节码签名模块设置公开接口用于接收外部参数以及执行签名功能;对 所述胶水模块设置签名接口用于外部数据调度,以及对所述胶水模块设置关联 接口用于关联到所述字节码签名模块的所述公开接口。
在一个例子中,所述通过所述胶水模块调度所述字节码签名模块对所述目 标数据进行签名包括:通过所述签名接口将所述目标数据的签名规则参数输入 到所述胶水模块;通过所述胶水模块调度所述字节码签名模块的所述公开接口 以将所述目标数据的签名规则参数传入到所述字节码签名模块执行签名操作。
在一个例子中,在所述字节码签名模块执行签名操作之前,所述方法还包 括:获取所述Web端对应的Web端参数;将所述Web端参数与预设的参考参 数进行一致性比较;若所述Web端参数与所述参考参数不一致,则拒绝执行签 名操作。
在一个例子中,当所述Web端为浏览器时,所述Web端参数包括浏览器 窗口尺寸和/或页面端口。
此外,为实现上述目的,本申请还提供一种Web端数据签名装置,所述装 置包括:
接收模块,用于接收目标数据的签名请求;下载模块,用于从服务器获取 字节码签名信息以及对应的胶水信息;处理模块,用于处理所述字节码签名信 息和所述胶水信息得到对应的字节码签名模块和胶水模块,并将所述字节码签 名模块和所述胶水模块进行关联;签名模块,用于通过所述胶水模块调度所述 字节码签名模块对所述目标数据进行签名。
进一步地,本申请还提出一种计算机设备,所述计算机设备包括存储器、 处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算 机程序被所述处理器执行时实现如上述的Web端数据签名方法的步骤。
进一步地,为实现上述目的,本申请还提供一种计算机可读存储介质,所 述计算机可读存储介质存储有计算机程序,所述计算机程序可被至少一个处理 器执行,以使所述至少一个处理器执行如上述的Web端数据签名方法的步骤。
相较于现有技术,本申请所提出的Web端数据签名方法、装置、服务器及 计算机可读存储介质,能够接收目标数据的签名请求;从服务器获取字节码签 名信息以及对应的胶水信息;处理所述字节码签名信息和所述胶水信息得到对 应的字节码签名模块和胶水模块,并将所述字节码签名模块和所述胶水模块进 行关联;通过所述胶水模块调度所述字节码签名模块对所述目标数据进行签名。 通过建立不易破解的字节码签名模块,然后再通过胶水模块调度字节码签名模 块执行签名的方式,从而有效提高了签名逻辑的安全性以及被签名数据的安全 性。
附图说明
图1是本申请一实施例的应用环境示意图;
图2是本申请Web端数据签名方法一具体实施例的流程示意图;
图3是是本发明一示例性例子对胶水信息和字节码签名信息实例化的流程 效果图;
图4~5是本发明一示例性例子实现Web端数据签名的流程效果图;
图6是本发明一示例性例子对于Web端环境执行安全检查后执行签名操作 的流程效果图;
图7是本申请Web端数据签名装置一实施例的程序模块示意图;
图8是本申请计算机设备一可选的硬件架构的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅 用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通 技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申 请保护的范围。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的, 而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数 量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该 特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域 普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时 应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
图1是本申请一实施例的应用环境示意图。参阅图1所示,所述计算机设 备1与服务器连接。所述计算机设备1提供一个Web端页面与用户进行交互, 其中,Web端页面可以是浏览器网页,也可以是APP页面。所述计算机设备1 可以通过Web端页面接收到目标数据的签名请求;接着,从服务器获取字节码 签名信息以及对应的胶水信息;再处理所述字节码签名信息和所述胶水信息得 到对应的字节码签名模块和胶水模块;最后通过所述胶水模块调度所述字节码 签名模块对所述目标数据进行签名。在本实施例中,所述计算机设备1可作为 手机、平板、便携设备、PC机或者其他具有显示功能的电子设备等。所述服务 器可以作为手机、平板、便携设备、PC机或者商品销售平台、视频服务平台、 金融服务平台等。
实施例一
图2是本申请Web端数据签名方法一实施例的流程示意图。可以理解,本方 法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备1 为执行主体进行示例性描述。
如图2所示,所述Web端数据签名方法可以包括步骤S200~S206。
步骤S200,接收目标数据的签名请求。
具体的,所述计算机设备1提供一个Web端页面与用户进行交互,其中, Web端页面可以是浏览器网页,也可以是APP页面。所述计算机设备1可以通过 Web端页面接收到目标数据的签名请求,例如,所述计算机设备1需要向金融数 据服务平台发送金融数据服务请求,所述目标数据就是这个金融数据服务请求; 再例如,所述计算机设备1需要请求付费的游戏数据访问或者付费的视频数据访 问时,则会向游戏数据服务平台或者视频数据服务平台发送付费数据访问请求, 那么所述目标数据则是付费数据访问请求。当然,对于目标数据签名,也可以 仅仅是对使用所述计算机设备1的用户的用户身份或者用户权限的校验。总之, 当用户通过Web端触发对于目标数据的签名请求后,所述计算机设备1则可以接收所述目标数据的签名请求。
步骤S202,从服务器获取字节码签名信息以及对应的胶水信息。
步骤S204,处理所述字节码签名信息和所述胶水信息得到对应的字节码签 名模块和胶水模块,并将所述字节码签名模块和所述胶水模块进行关联。
具体的,所述计算机设备1接收到关于目标数据的签名请求之后,则会根 据所述签名请求从服务器获取字节码签名信息以及对应的胶水信息。当然,在 接收目标数据的签名请求之后,以及从服务器获取字节码签名信息以及对应的 胶水信息之前,所述计算机设备1还会:检测Web端是否符合预设的运行条件; 若所述Web端不符合所述运行条件,则拒绝所述签名请求。其中,所述胶水信 息和所述字节码签名信息可以是对应的胶水模块的程序代码和字节码签名模块 的程序代码。在本实施例中,所述计算机设备1检测Web端是否符合预设的运 行条件包括:控制所述Web端执行与所述字节码签名模块相同编码格式的初始化命令;若所述初始化命令执行成功,则表示所述Web端符合所述运行条件。
在一具体实施例中,所述字节码组件是基于WebAssembly实现的,所述胶 水模块是基于JavaScript实现的。因此,所述计算机设备1检测Web端是否符 合预设的运行条件的过程则为:先加载预先设定的一段简短的WebAssembly初 始化代码到所述Web端,这段代码的目的是检查当前浏览器是否支持执行 WebAssembly;当所述Web端执行所述WebAssembly初始化代码后,返回执行 成功,则认为所述Web端符合所述运行条件,即支持WebAssembly字节码运 行。当所述Web端执行所述WebAssembly初始化代码后,返回执行失败,或 者所述Web端不能识别所述WebAssembly初始化代码,那么则说明所述Web 端不符合所述运行条件,即不支持WebAssembly字节码运行。那么,所述计算 机设备1则会拒绝所述签名请求,并进行相关提示,如“当前Web端版本不支 持签名服务,请下载XX版本的Web端”。
在判断出所述Web端符合所述运行条件时,所述计算机设备1则进一步从服 务器下载用于所述签名数据对应的相关文件包,包括字节码签名信息以及对应 的胶水信息;然后再处理所述字节码签名信息和所述胶水信息得到对应的字节 码签名模块和胶水模块。
在本实施例中,所述计算机设备1处理所述字节码签名信息和所述胶水信 息得到对应的字节码签名模块和胶水模块,并将所述字节码签名模块和所述胶 水模块进行关联包括:对所述字节码签名信息执行实例化得到所述字节码签名 模块,对所述胶水信息执行实例化得到所述胶水模块;将所述字节码签名模块 和所述胶水模块进行关联。其中,将所述字节码签名模块和所述胶水模块进行 关联包括:对所述字节码签名模块设置公开接口用于接收外部参数以及执行签 名功能;对所述胶水模块设置签名接口用于外部数据调度,以及对所述胶水模 块设置关联接口用于关联到所述字节码签名模块的所述公开接口。
具体的,所述胶水信息和所述字节码签名信息从服务器下载后直接存储在 所述Web端的对应的存储单元中的预设位置;当需要执行签名时,所述计算机 设备1需要将所述胶水信息和所述字节码签名信息从所述Web端的存储单元中 的预设位置提取出来,并分别执行实例化后得到对应的胶水模块和字节码签名 模块,加载到缓存内存中。同时,所述计算机设备1对于加载到缓存内存中的胶 水模块和字节码签名模块进行关联。其中,关联是一种拥有的关系,它使一个 类知道另一个类的属性和方法,在本实施例中,所述计算机设备1通过将胶水模 块与字节码签名模块进行关联,从而使得所述胶水模块知道所述字节码签名模 块的部分属性和方法,这里的属性和方法,包括调度接口,以及执行签名所需 要的参数。也就是说,所述计算机设备1通过对所述胶水模块与所述字节码签名 模块进行关联,然后通过所述胶水模块调度所述字节码签名模块,从而保证所 述字节码签名模块的安全性。
由于目前,支持WebAssembly的浏览器市场规模占比大约为90%,而基本 上所有的浏览器都支持JavaScript。因此,在一示例性例子中,所述字节码签名 代码是WebAssembly格式,所述胶水代码是JavaScript格式,因此,所述计算机 设备1可以分别对所述字节码签名代码和所述胶水代码执行实例化,得到对应的 WebAssembly格式的字节码签名模块和JavaScript格式的胶水模块。其中,所述 计算机设备1对所述胶水模块对设置一个签名接口,用于对任意字符串进行签名 加密;当有外部调用方调用所述胶水模块的所述签名接口后,所述胶水模块通 过关联接口调用与其关联的所述字节码签名模块公开接口,从而实现用于接收 外部参数以及执行签名功能。
请参阅图3,是本发明一示例性例子对胶水代码和字节码签名代码实例化的 流程效果图。在本实施例中,胶水信息具体为胶水代码,字节码签名信息为字 节码签名代码,然后所述计算机设备1以Rust+cargo-web为例,实现对胶水代码 和字节码签名代码实例化。其中,由于Rust+cargo-web方式可以实现较多类型 的语言进行编译,因此可以同时对胶水代码和字节码签名代码执行对应的实例 化,从而得到对应的胶水组件和字节码签名组件。
步骤S206,通过所述胶水模块调度所述字节码签名模块对所述目标数据进 行签名。
具体的,所述计算机设备1在得到所述字节码签名模块和所述胶水模块之 后,则会通过所述胶水模块调度所述字节码签名模块对所述目标数据进行签名。 在本实施例中,所述计算机设备1通过所述胶水模块调度所述字节码签名模块 对所述目标数据进行签名包括:通过所述签名接口将所述目标数据的签名规则 参数输入到所述胶水模块;通过所述胶水模块调度所述字节码签名模块的所述 公开接口以将所述目标数据的签名规则参数传入到所述字节码签名模块执行签 名操作。
其中,计算机设备1通过所述胶水模块的所述关联接口调用所述字节码签名 模块公开接口的过程,实际上是通过所述胶水代码直接在其内部通过直接对内 存引用的读写,从而实现调用所述字节码签名模块的签名加密功能。最后,当 所述字节码签名模块内部完成对目标数据的签名加密后,所述计算机设备1会把 结果通过所述胶水模块返回给外部调用方。
请参阅图4~5,是本发明一示例性例子实现Web端数据签名的流程效果图, 其中,胶水模块可以作为胶水组件,字节码签名模块可以作为字节码签名组件。
如图4所示,首先目标数据向计算机设备1发送签名请求,然后所述计算机 设备1执行检测代码,判断Web端是否符合字节码签名组件的运行条件;当检测 通过(Web端符合所述运行条件)时,所述计算机设备1则下载签名文件,包括胶 水代码和字节码签名代码;然后分别对所述胶水代码和所述字节码签名代码进 行实例化,得到对应的胶水组件和字节码签名组件;所述计算机设备1对所述胶 水组件和所述字节码签名组件进行关联;接着,所述计算机设备1将所述目标数 据的签名请求发送至所述胶水组件,然后胶水组件再根据签名请求向字节码签 名组件请求签名;所述字节码签名组件根据签名请求以及对应的签名参数执行 签名操作。
如图5所示,所述目标数据通过所述胶水组件的签名接口发送签名请求给所 述胶水组件,然后胶水组件再通过关联接口调用字节码签名组件,并根据签名 请求向字节码签名组件请求签名;所述字节码签名组件根据签名请求以及对应 的签名参数执行签名操作;最后,所述字节码签名组件将签名结果数据经由所 述胶水组件反馈给所述目标数据。
在另一具体实施例中,在通过所述胶水模块调度所述字节码签名模块对所 述目标数据进行签名的过程中,在执行签名操作之前,所述计算机设备1还会 通过所述字节码签名模块执行:获取所述Web端对应的Web端参数;将所述 Web端参数与预设的参考参数进行一致性比较;若所述Web端参数与所述参考 参数不一致,则拒绝执行签名操作。例如,当所述Web端为浏览器时,所述 Web端参数包括浏览器窗口尺寸和/或页面端口。
为了保证所述字节码签名模块是在正确的Web端环境中运行,所述计算机 设备1会在会在所述字节码组件中设置一个Web端环境监测的功能模块,从而对 Web端环境进行进一步的安全检查。例如,Web端为浏览器时,可以检查一些 譬如当前浏览器窗口尺寸、页面端口等参数,以保证用户是在正确的浏览器触 发签名请求的。由于所述字节码签名模块的结构内容为字节码,属于用户不可 读的类型,所以,所述计算机设备1将Web端的环境安全检查逻辑设置在字节码 签名模块中不易被外部破解,从而进一步加强了所述字节码签名模块的安全性。
通过进一步对Web端环境执行安全检查,主要是为了防范部分用户或黑产 (指一些通过非官方渠道制造虚假请求)通过脚本伪造请求获取字节码签名模 块和胶水模块后,在非正常Web端环境中执行,从而达到大批量伪造正常请求 行为的目的(目前,很大一部分伪造请求来源于此种方法)。通过在字节码签名 模块中进一步执行安全检查,可以更大程度保证当前用户的宿主环境安全。
请参阅图6,是本发明一示例性例子对于Web端环境执行安全检查后执行签 名操作的流程效果图。其中,业务代码向胶水组件发送签名请求,然后胶水组 件调用字节码签名组件;字节码签名组件在被调用之后以及在签名之前,对于 当前的Web端环境执行环境安全检查;当环境不安全时,则拒绝执行签名;当 环境安全时,则进一步执行签名操作,然后将签名后的结果数据返回给胶水组 件;胶水组件再将签名后的结果数据反馈给业务代码。
综上所述,本实施例所提出的Web端数据签名方法能够接收目标数据的签 名请求;检测Web端是否符合预设的运行条件;若所述Web端符合所述运行条 件,则从服务器获取字节码签名信息以及对应的胶水信息;处理所述字节码签 名信息和所述胶水信息得到对应的字节码签名模块和胶水模块;通过所述胶水 模块调度所述字节码签名模块对所述目标数据进行签名。通过建立不易破解的 字节码签名模块,然后再通过胶水模块调度字节码签名模块执行签名的方式, 从而有效提高了签名逻辑的安全性以及被签名数据的安全性。
实施例二
图7示意性示出了根据本申请实施例二的Web端数据签名装置的框图,该 Web端数据签名装置可以被分割成一个或多个程序模块,一个或者多个程序模 块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。 本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令 段,以下描述将具体介绍本实施例中各程序模块的功能。
如图7所示,该Web端数据签名装置400可以包括接收模块410、下载模 块420、处理模块430和签名模块440,其中:
接收模块410,用于接收目标数据的签名请求。
下载模块420,用于从服务器获取字节码签名信息以及对应的胶水信息。
处理模块430,用于处理所述字节码签名信息和所述胶水信息得到对应的 字节码签名模块和胶水模块,并将所述字节码签名模块和所述胶水模块进行关 联。
签名模块440,用于通过所述胶水模块调度所述字节码签名模块对所述目 标数据进行签名。
在示例性的实施例中,下载模块420,还用于检测Web端是否符合预设的 运行条件;若所述Web端不符合所述运行条件,则拒绝所述签名请求。具体包 括:控制所述Web端执行与所述字节码签名模块相同编码格式的初始化命令; 若所述初始化命令执行成功,则表示所述Web端符合所述字节码签名模块的运 行条件。
在示例性的实施例中,处理模块430,还用于:对所述字节码签名信息执 行实例化得到所述字节码签名模块,对所述胶水信息执行实例化得到所述胶水 模块;将所述字节码签名模块和所述胶水模块进行关联。以及,对所述字节码 签名模块设置公开接口用于接收外部参数以及执行签名功能;对所述胶水模块 设置签名接口用于外部数据调度,以及对所述胶水模块设置关联接口用于关联 到所述字节码签名模块的所述公开接口。其中,所述字节码签名模块是基于 WebAssembly实现的,所述胶水模块是基于JavaScript实现的。
在示例性的实施例中,签名模块440,还用于:通过所述签名接口将所述 目标数据的签名规则参数输入到所述胶水模块;通过所述胶水模块调度所述字 节码签名模块的所述公开接口以将所述目标数据的签名规则参数传入到所述字 节码签名模块执行签名操作。
在示例性的实施例中,签名模块440,还用于:获取所述Web端对应的 Web端参数;将所述Web端参数与预设的参考参数进行一致性比较;若所述 Web端参数与所述参考参数不一致,则拒绝执行签名操作。其中,当所述Web 端为浏览器时,所述Web端参数包括浏览器窗口尺寸和/或页面端口。
实施例三
图8示意性示出了根据本申请实施例三的适于实现Web端数据签名方法的 计算机设备1的硬件架构示意图。本实施例中,计算机设备1是一种能够按照 事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可 以是具有网关功能的机架式服务器、刀片式服务器、塔式服务器或机柜式服务 器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图8所 示,计算机设备1至少包括但不限于:可通过系统总线相互通信链接存储器510、 处理器520、网络接口530。其中:
存储器510至少包括一种类型的计算机可读存储介质,可读存储介质包括 闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问 存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可 擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储 器、磁盘、光盘等。在一些实施例中,存储器510可以是计算机设备1的内部 存储模块,例如该计算机设备1的硬盘或内存。在另一些实施例中,存储器510 也可以是计算机设备1的外部存储设备,例如该计算机设备1上配备的插接式 硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital, 简称为SD)卡,闪存卡(Flash Card)等。当然,存储器510还可以既包括计 算机设备1的内部存储模块也包括其外部存储设备。本实施例中,存储器510 通常用于存储安装于计算机设备1的操作系统和各类应用软件,例如Web端数 据签名方法的程序代码等。此外,存储器510还可以用于暂时地存储已经输出 或者将要输出的各类数据。
处理器520在一些实施例中可以是中央处理器(Central Processing Unit,简 称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器 520通常用于控制计算机设备1的总体操作,例如执行与计算机设备1进行数 据交互或者通信相关的控制和处理等。本实施例中,处理器520用于运行存储 器510中存储的程序代码或者处理数据。
网络接口530可包括无线网络接口或有线网络接口,该网络接口530通常 用于在计算机设备1与其他计算机设备之间建立通信链接。例如,网络接口530 用于通过网络将计算机设备1与外部终端相连,在计算机设备1与外部终端之 间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互 联网(Internet)、全球移动通讯系统(Global System of Mobile communication, 简称为GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,简称 为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网 络。
需要指出的是,图8仅示出了具有部件510-530的计算机设备,但是应理 解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器510中的Web端数据签名方法的程序代码还 可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处 理器520)所执行,以完成本申请实施例。
实施例四
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储 有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收目标数据的签名请求;检测Web端是否符合预设的运行条件;从服务 器获取字节码签名信息以及对应的胶水信息;处理所述字节码签名信息和所述 胶水信息得到对应的字节码签名模块和胶水模块,并将所述字节码签名模块和 所述胶水模块进行关联;通过所述胶水模块调度所述字节码签名模块对所述目 标数据进行签名。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储 器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存 储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、 可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中, 计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的 硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的 外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart MediaCard,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存 卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内 部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用 于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中服务平台 的组件管理方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地 存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步 骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分 布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程 序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且 在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它 们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个 集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结 合。
以上仅为本申请实施例的优选实施例,并非因此限制本申请实施例的专利 范围,凡是利用本申请实施例说明书及附图内容所作的等效结构或等效流程变 换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请实施例的 专利保护范围内。

Claims (12)

1.一种Web端数据签名方法,其特征在于,所述方法包括:
接收目标数据的签名请求;
从服务器获取字节码签名信息以及对应的胶水信息;
处理所述字节码签名信息和所述胶水信息得到对应的字节码签名模块和胶水模块,并将所述字节码签名模块和所述胶水模块进行关联;
通过所述胶水模块调度所述字节码签名模块对所述目标数据进行签名。
2.如权利要求1所述的Web端数据签名方法,其特征在于,在接收目标数据的签名请求之后,以及从服务器获取字节码签名信息以及对应的胶水信息之前,所述方法还包括:
检测Web端是否符合预设的运行条件;
若所述Web端不符合所述运行条件,则拒绝所述签名请求。
3.如权利要求2所述的Web端数据签名方法,其特征在于,所述检测Web端是否符合预设的运行条件包括:
控制所述Web端执行与所述字节码签名模块相同编码格式的初始化命令;
若所述初始化命令执行成功,则表示所述Web端符合所述运行条件。
4.如权利要求1所述的Web端数据签名方法,其特征在于,所述字节码签名模块是基于WebAssembly实现的,所述胶水模块是基于JavaScript实现的。
5.如权利要求1~4中任一项所述的Web端数据签名方法,其特征在于,所述处理所述字节码签名信息和所述胶水信息得到对应的字节码签名模块和胶水模块,并将所述字节码签名模块和所述胶水模块进行关联包括:
对所述字节码签名信息执行实例化得到所述字节码签名模块,对所述胶水信息执行实例化得到所述胶水模块;
将所述字节码签名模块和所述胶水模块进行关联。
6.如权利要求5所述的Web端数据签名方法,其特征在于,所述将所述字节码签名模块和所述胶水模块进行关联包括:
对所述字节码签名模块设置公开接口用于接收外部参数以及执行签名功能;
对所述胶水模块设置签名接口用于外部数据调度,以及对所述胶水模块设置关联接口用于关联到所述字节码签名模块的所述公开接口。
7.如权利要求6所述的Web端数据签名方法,其特征在于,所述通过所述胶水模块调度所述字节码签名模块对所述目标数据进行签名包括:
通过所述签名接口将所述目标数据的签名规则参数输入到所述胶水模块;
通过所述胶水模块调度所述字节码签名模块的所述公开接口以将所述目标数据的签名规则参数传入到所述字节码签名模块执行签名操作。
8.如权利要求7所述的Web端数据签名方法,其特征在于,在所述字节码签名模块执行签名操作之前,所述方法还包括:
获取所述Web端对应的Web端参数;
将所述Web端参数与预设的参考参数进行一致性比较;
若所述Web端参数与所述参考参数不一致,则拒绝执行签名操作。
9.如权利要求8所述的Web端数据签名方法,其特征在于,当所述Web端为浏览器时,所述Web端参数包括浏览器窗口尺寸和/或页面端口。
10.一种Web端数据签名装置,其特征在于,所述装置包括:
接收模块,用于接收目标数据的签名请求;
下载模块,用于从服务器获取字节码签名信息以及对应的胶水信息;
处理模块,用于处理所述字节码签名信息和所述胶水信息得到对应的字节码签名模块和胶水模块,并将所述字节码签名模块和所述胶水模块进行关联;
签名模块,用于通过所述胶水模块调度所述字节码签名模块对所述目标数据进行签名。
11.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1~9中任一项所述的Web端数据签名方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求1~9中任一项所述的Web端数据签名方法的步骤。
CN202011404814.3A 2020-12-02 2020-12-02 Web端数据签名方法、装置及计算机设备 Active CN112600803B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202011404814.3A CN112600803B (zh) 2020-12-02 2020-12-02 Web端数据签名方法、装置及计算机设备
US18/039,922 US20240031166A1 (en) 2020-12-02 2021-08-12 Web-side data signature method and apparatus and computer device
PCT/CN2021/112309 WO2022116587A1 (zh) 2020-12-02 2021-08-12 Web端数据签名方法、装置及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011404814.3A CN112600803B (zh) 2020-12-02 2020-12-02 Web端数据签名方法、装置及计算机设备

Publications (2)

Publication Number Publication Date
CN112600803A CN112600803A (zh) 2021-04-02
CN112600803B true CN112600803B (zh) 2022-07-19

Family

ID=75188104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011404814.3A Active CN112600803B (zh) 2020-12-02 2020-12-02 Web端数据签名方法、装置及计算机设备

Country Status (3)

Country Link
US (1) US20240031166A1 (zh)
CN (1) CN112600803B (zh)
WO (1) WO2022116587A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112600803B (zh) * 2020-12-02 2022-07-19 上海哔哩哔哩科技有限公司 Web端数据签名方法、装置及计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1972296A (zh) * 2006-12-05 2007-05-30 北京邮电大学 基于xpl的综合多种通信手段的业务生成方法及其系统
CN106878319A (zh) * 2017-03-06 2017-06-20 中国科学院数据与通信保护研究教育中心 一种提供签名服务的方法及系统
CN109672518A (zh) * 2019-03-02 2019-04-23 西安邮电大学 抗量子攻击的区块链的节点数据处理
CN111796865A (zh) * 2020-06-28 2020-10-20 北京字节跳动网络技术有限公司 一种字节码文件修改方法、装置、终端设备及介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1759283A4 (en) * 2004-05-06 2009-11-18 Us Postal Service SHIPPING LABEL WITH SIGNATURE PART AND METHOD FOR ITS USE
CN106559219B (zh) * 2015-09-29 2019-05-10 卓望数码技术(深圳)有限公司 一种数字签名方法和系统及其智能终端和业务系统
EP3373178A1 (en) * 2017-03-08 2018-09-12 Secure-IC SAS Comparison of execution context data signatures with references
CN109784007B (zh) * 2018-12-04 2021-03-12 厦门熵基科技有限公司 一种字节码加密的方法、字节码解密的方法及终端
CN110071810B (zh) * 2019-04-25 2021-10-01 哈尔滨工业大学 一个基于开源dns软件的自证根实现方法
CN111984963B (zh) * 2020-07-31 2022-05-20 厦门安胜网络科技有限公司 绕过自签证书校验的方法和装置
CN112600803B (zh) * 2020-12-02 2022-07-19 上海哔哩哔哩科技有限公司 Web端数据签名方法、装置及计算机设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1972296A (zh) * 2006-12-05 2007-05-30 北京邮电大学 基于xpl的综合多种通信手段的业务生成方法及其系统
CN106878319A (zh) * 2017-03-06 2017-06-20 中国科学院数据与通信保护研究教育中心 一种提供签名服务的方法及系统
CN109672518A (zh) * 2019-03-02 2019-04-23 西安邮电大学 抗量子攻击的区块链的节点数据处理
CN111796865A (zh) * 2020-06-28 2020-10-20 北京字节跳动网络技术有限公司 一种字节码文件修改方法、装置、终端设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《一种面向双中台双链架构的内生性》;刘峰;《华东师范大学学报》;20200930;全文 *

Also Published As

Publication number Publication date
WO2022116587A1 (zh) 2022-06-09
CN112600803A (zh) 2021-04-02
US20240031166A1 (en) 2024-01-25

Similar Documents

Publication Publication Date Title
CN103744686B (zh) 智能终端中应用安装的控制方法和系统
CN108243404B (zh) 手机号码绑定状态的核定方法、装置及设备
CN109145590B (zh) 一种函数hook检测方法、检测设备及计算机可读介质
US11099889B2 (en) Method-call-chain tracking method, electronic device, and computer readable storage medium
CN107193666B (zh) 应用程序之间调用的控制方法及装置
CN109787959B (zh) 一种账户信息处理方法及相关装置
CN113452579B (zh) H5页面加载方法、装置、计算机设备及存储介质
CN111191226A (zh) 利用提权漏洞的程序的确定方法、装置、设备及存储介质
CN112631924A (zh) 自动化测试方法、装置、计算机设备及存储介质
CN112491930A (zh) 系统风险动态监控方法、系统、计算机设备及存储介质
CN112600803B (zh) Web端数据签名方法、装置及计算机设备
CN113132400B (zh) 业务处理方法、装置、计算机系统及存储介质
CN113434254B (zh) 客户端部署方法、装置、计算机设备及存储介质
CN112818270B (zh) 数据跨域传递方法、装置及计算机设备
CN112052141A (zh) 数据分片校验方法、装置、计算机设备及可读存储介质
CN109145591B (zh) 应用程序的插件加载方法
CN111324539A (zh) 账号切换测试方法和系统
CN110968860A (zh) 应用账号的安全验证方法、计算机设备及计算机可读存储介质
CN113360172B (zh) 应用部署方法、装置、计算机设备及存储介质
CN111800496B (zh) 接口调用方法、装置、计算机设备及存储介质
CN114637672A (zh) 自动化数据测试方法、装置、计算机设备及存储介质
CN113722225A (zh) 页面测试方法、装置、计算机设备和存储介质
CN112417324A (zh) 基于Chrome的URL拦截方法、装置及计算机设备
CN105320853B (zh) 一种信息监控方法、装置及终端
CN109104322A (zh) Fl-net通讯故障的解决方法、装置、可读存储介质及系统

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