CN103400063A - 脚本文件执行方法及装置 - Google Patents
脚本文件执行方法及装置 Download PDFInfo
- Publication number
- CN103400063A CN103400063A CN2013103400073A CN201310340007A CN103400063A CN 103400063 A CN103400063 A CN 103400063A CN 2013103400073 A CN2013103400073 A CN 2013103400073A CN 201310340007 A CN201310340007 A CN 201310340007A CN 103400063 A CN103400063 A CN 103400063A
- Authority
- CN
- China
- Prior art keywords
- script file
- script
- signing messages
- summary info
- file
- 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.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
一种脚本文件执行方法,包括:获取脚本执行指令;获取与所述脚本执行指令对应的脚本文件;查找与所述脚本文件对应的签名信息;通过校验所述签名信息判断所述脚本文件是否安全,若是,则执行所述脚本文件。此外,还提供了一种脚本文件执行装置。上述脚本文件执行方法及装置能够提高安全性。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种脚本文件执行方法及装置。
背景技术
在现有的互联网技术中,为了提高开发速度,绝大多数网站采用解释性语言作为开发语言,比如php、ruby、javascript或python等。解释器通过解释执行相应的脚本文件实现网站的业务逻辑。
然而,发明人经研究发现传统技术中的脚本文件在执行时至少存在以下问题:由于脚本文件为解释执行,不需要编译,因此,不法分子通常通过上传包含恶意代码的脚本文件至服务器,再触发服务器解释执行该脚本文件来窃取用户隐私或植入病毒篡改数据,使得传统技术中的脚本文件执行方法及装置安全性不足。
发明内容
基于此,有必要提供一种能提高安全性的脚本文件执行方法。
一种脚本文件执行方法,包括:
获取脚本执行指令;
获取与所述脚本执行指令对应的脚本文件;
查找与所述脚本文件对应的签名信息;
通过校验所述签名信息判断所述脚本文件是否安全,若是,则执行所述脚本文件。
在其中一个实施例中,所述方法还包括:
获取脚本文件;
计算所述脚本文件的摘要信息;
通过对所述摘要信息加密生成与所述脚本文件对应的签名信息。
在其中一个实施例中,所述通过校验所述签名信息判断所述脚本文件是否安全的步骤为:
计算所述脚本文件的摘要信息;
将所述计算得到的摘要信息与对所述签名信息解密得到的数据进行比较,若匹配,则所述脚本文件为安全脚本;否则,判定所述脚本文件为不安全脚本。
在其中一个实施例中,所述对所述摘要信息加密的步骤为:
生成非对称加密的密钥对,所述密钥对包括私钥和公钥;
根据所述私钥对所述摘要信息进行加密。
在其中一个实施例中,所述对所述签名信息解密的步骤为:
根据所述公钥对所述签名信息进行解密。
在其中一个实施例中,所述查找与所述脚本文件对应的签名信息的步骤之后还包括:
若未找到,则判定所述脚本文件为不安全脚本。
此外,还有必要提供一种能提高安全性的脚本文件执行方法。
一种脚本文件执行装置,其特征在于,包括:
指令获取模块,用于获取脚本执行指令;
脚本获取模块,用于获取与所述脚本执行指令对应的脚本文件;
签名查找模块,用于查找与所述脚本文件对应的签名信息;
签名验证模块,用于通过校验所述签名信息判断所述脚本文件是否安全,若是,则执行所述脚本文件。
在其中一个实施例中,所述装置还包括脚本签名模块,用于获取脚本文件;计算所述脚本文件的摘要信息;通过对所述摘要信息加密生成与所述脚本文件对应的签名信息。
在其中一个实施例中,所述签名验证模块还用于计算所述脚本文件的摘要信息;将所述计算得到的摘要信息与对所述签名信息解密得到的数据进行比较,若匹配,则所述脚本文件为安全脚本;否则,判定所述脚本文件为不安全脚本。
在其中一个实施例中,所述脚本签名模块还用于生成非对称加密的密钥对,所述密钥对包括私钥和公钥;根据所述私钥对所述摘要信息进行加密。
在其中一个实施例中,所述签名验证模块还用于根据所述公钥对所述签名信息进行解密。
在其中一个实施例中,所述签名查找模块还用于在未查找到与所述脚本文件对应的签名信息时,判定所述脚本文件为不安全脚本。
上述脚本文件执行方法及装置,通过在执行脚本文件之前,先对获取脚本文件对应的签名信息,并通过对签名信息进行校验判断该脚本文件是否为安全,与传统技术相比,并不是对所有脚本文件进行盲目地执行,而仅执行通过安全渠道添加到服务器并添加了签名信息的脚本文件,从而提高了安全性。
附图说明
图1为一个实施例中脚本文件执行方法的流程图;
图2为一个实施例中为脚本文件添加签名信息的过程的流程图;
图3为一个实施例中脚本文件执行装置的结构示意图;
图4为另一个实施例中脚本文件执行装置的结构示意图。
具体实施方式
在一个实施例中,如图1所示,一种脚本文件执行方法,该方法完全依赖于计算机程序,该计算机程序可运行于基于冯洛伊曼体系的计算机系统上。
该方法包括以下步骤:
步骤S102,获取脚本执行指令。
步骤S104,获取与脚本执行指令对应的脚本文件。
脚本执行指令通常包含脚本文件的url(Uniform Resource Locator,统一资源定位符),可根据url获取相应的脚本文件。
在一个应用场景中,可在web容器的脚本解释器中运行该方法,可拦截web访问请求,提取相应的脚本执行指令,并根据url获取相应的脚本文件。例如,在php环境中,可接收到用户通过点击链接发起的web访问请求,该web访问请求对应的url为http://www.sxf.com/list.php,则可在php环境的apache容器中通过函数获取该url对应的list.php文件。
步骤S106,查找与脚本文件对应的签名信息。
在本实施例中,与脚本文件对应的签名信息为预先生成,其过程具体为:
步骤S202,获取脚本文件。
步骤S204,计算脚本文件的摘要信息。
步骤S206,通过对摘要信息加密生成与脚本文件对应的签名信息。
其中,计算脚本文件的摘要信息的方法可具体为计算脚本文件的MD5信息。可将脚本文件作为输入传递给MD5哈希函数,从而输出相应的MD5信息。然后可根据预设的密钥对该MD5信息进行加密,加密后生成的数据即为该脚本文件对应的签名信息。
也就是说,可向用户提供安全上传脚本文件的接口,用户通过该接口上传的脚本文件可自动被添加上签名信息。也可对服务器上已存在的脚本文件进行递归,为所有服务器上已存储的脚本文件添加签名信息。签名信息可以签名文件的形式存储在磁盘上,或以二进制流的形式存储在数据库中。可在磁盘上与脚本文件相应的存储位置下查找其对应的签名文件,也可在数据库中查找与脚本文件对应的签名信息。
步骤S108,通过校验签名信息判断脚本文件是否安全,若是,则运行步骤S110:执行脚本文件。
在本实施例中,通过校验签名信息判断脚本文件是否安全的步骤可具体为:
计算脚本文件的摘要信息,将计算得到的摘要信息与对签名信息解密得到的数据进行比较,若匹配,则脚本文件为安全脚本;否则,判定脚本文件为不安全脚本。
也就是说,可采用生成签名信息时使用的密钥对签名信息进行解密,得到解密数据,并判断解密数据是否与计算得到将要执行的脚本文件的摘要信息相同来判断脚本文件是否为通过安全方式添加的脚本文件,且该脚本文件在服务器上是否被恶意更改过(若在服务器上被恶意更改过,则即使能够找到相应的签名信息,其计算得到的摘要信息与签名信息解密得到的数据也不匹配)。
在本实施例中,若脚本文件不安全,可放弃执行该脚本文件,且提示生成相应的错误日志进行记录,并返回相应的提示信息。例如,可向请求访问该脚本文件的用户提示该脚本已被恶意篡改具有安全风险的提示信息。
在一个实施例中,前述对服务器上的脚本文件进行加密生成相应的签名信息的过程中,摘要信息加密的步骤可具体为:
生成非对称加密的密钥对,密钥对包括私钥和公钥,根据私钥对摘要信息进行加密。
进一步的,对签名信息解密从而对签名信息进行校验的过程中,解密签名信息的步骤可具体为:根据公钥对签名信息进行解密。
非对称加密算法(例如RSA算法)涉及两种密钥,即私钥和公钥。私钥与公钥为多对一的关系,即多个私钥对应同一公钥。采用不同私钥加密的明文数据经过公钥解密可得到相同的明文数据。
在本实施例中,采用非对称加密算法对摘要信息进行加解密,可以在生成签名信息时使用各自独立的私钥,而在解密时采用该多个私钥共同匹配的公钥进行解密,与对称加密的方式相比,可使得在解密过程不需要频繁获取与加密过程对应的密钥,而仅需要使用固定的公钥即可,从而减少了密钥对的存储,提高了存储利用率。
在一个实施例中,查找与脚本文件对应的签名信息的步骤之后还包括:若未找到,则判定脚本文件为不安全脚本。
也就是说,用户通过非安全接口上传的脚本文件在上传到服务器上时缺少生成相应签名信息的过程,因此服务器上不会存在与其相应的签名信息。可根据是否存在签名信息将此类具有安全风险的脚本文件隔离,从而阻止其执行。
在一个实施例中,如图3所示,一种脚本文件执行装置,包括:
指令获取模块102,用于获取脚本执行指令。
脚本获取模块104,用于获取与脚本执行指令对应的脚本文件。
签名查找模块106,用于查找与脚本文件对应的签名信息。
签名验证模块108,用于通过校验签名信息判断脚本文件是否安全,若是,则执行脚本文件。
在一个实施例中,如图4所示,脚本文件执行装置还包括脚本签名模块110,用于获取脚本文件;计算脚本文件的摘要信息;通过对摘要信息加密生成与脚本文件对应的签名信息。
在一个实施例中,签名验证模块108还用于计算脚本文件的摘要信息;将计算得到的摘要信息与对签名信息解密得到的数据进行比较,若匹配,则脚本文件为安全脚本;否则,判定脚本文件为不安全脚本。
在一个实施例中,脚本签名模块110还用于生成非对称加密的密钥对,密钥对包括私钥和公钥;根据私钥对摘要信息进行加密。
在本实施例中,签名验证模块108还用于根据公钥对签名信息进行解密。
在一个实施例中,签名查找模块106还用于在未查找到与脚本文件对应的签名信息时,判定脚本文件为不安全脚本。
上述脚本文件执行方法及装置,通过在执行脚本文件之前,先对获取脚本文件对应的签名信息,并通过对签名信息进行校验判断该脚本文件是否为安全,与传统技术相比,并不是对所有脚本文件进行盲目地执行,而仅执行通过安全渠道添加到服务器并添加了签名信息的脚本文件,从而提高了安全性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
Claims (12)
1.一种脚本文件执行方法,包括:
获取脚本执行指令;
获取与所述脚本执行指令对应的脚本文件;
查找与所述脚本文件对应的签名信息;
通过校验所述签名信息判断所述脚本文件是否安全,若是,则执行所述脚本文件。
2.根据权利要求1所述的脚本文件执行方法,其特征在于,所述方法还包括:
获取脚本文件;
计算所述脚本文件的摘要信息;
通过对所述摘要信息加密生成与所述脚本文件对应的签名信息。
3.根据权利要求2所述的脚本文件执行方法,其特征在于,所述通过校验所述签名信息判断所述脚本文件是否安全的步骤为:
计算所述脚本文件的摘要信息;
将所述计算得到的摘要信息与对所述签名信息解密得到的数据进行比较,若匹配,则所述脚本文件为安全脚本;否则,判定所述脚本文件为不安全脚本。
4.根据权利要求3所述的脚本文件执行方法,其特征在于,所述对所述摘要信息加密的步骤为:
生成非对称加密的密钥对,所述密钥对包括私钥和公钥;
根据所述私钥对所述摘要信息进行加密。
5.根据权利要求4所述的脚本文件执行方法,其特征在于,所述对所述签名信息解密的步骤为:
根据所述公钥对所述签名信息进行解密。
6.根据权利要求1至5任一项所述的脚本文件执行方法,其特征在于,所述查找与所述脚本文件对应的签名信息的步骤之后还包括:
若未找到,则判定所述脚本文件为不安全脚本。
7.一种脚本文件执行装置,其特征在于,包括:
指令获取模块,用于获取脚本执行指令;
脚本获取模块,用于获取与所述脚本执行指令对应的脚本文件;
签名查找模块,用于查找与所述脚本文件对应的签名信息;
签名验证模块,用于通过校验所述签名信息判断所述脚本文件是否安全,若是,则执行所述脚本文件。
8.根据权利要求7所述的脚本文件执行装置,其特征在于,所述装置还包括脚本签名模块,用于获取脚本文件计算所述脚本文件的摘要信息;通过对所述摘要信息加密生成与所述脚本文件对应的签名信息。
9.根据权利要求8所述的脚本文件执行装置,其特征在于,所述签名验证模块还用于计算所述脚本文件的摘要信息;将所述计算得到的摘要信息与对所述签名信息解密得到的数据进行比较,若匹配,则所述脚本文件为安全脚本;否则,判定所述脚本文件为不安全脚本。
10.根据权利要求9所述的脚本文件执行装置,其特征在于,所述脚本签名模块还用于生成非对称加密的密钥对,所述密钥对包括私钥和公钥;根据所述私钥对所述摘要信息进行加密。
11.根据权利要求10所述的脚本文件执行装置,其特征在于,所述签名验证模块还用于根据所述公钥对所述签名信息进行解密。
12.根据权利要求7至11任一项所述的脚本文件执行装置,其特征在于,所述签名查找模块还用于在未查找到与所述脚本文件对应的签名信息时,判定所述脚本文件为不安全脚本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013103400073A CN103400063A (zh) | 2013-08-06 | 2013-08-06 | 脚本文件执行方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013103400073A CN103400063A (zh) | 2013-08-06 | 2013-08-06 | 脚本文件执行方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103400063A true CN103400063A (zh) | 2013-11-20 |
Family
ID=49563687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013103400073A Pending CN103400063A (zh) | 2013-08-06 | 2013-08-06 | 脚本文件执行方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103400063A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104320793A (zh) * | 2014-09-29 | 2015-01-28 | 上海斐讯数据通信技术有限公司 | 一种手机短信自动化测试方法及系统 |
CN108459850A (zh) * | 2017-11-21 | 2018-08-28 | 广州视源电子科技股份有限公司 | 生成测试脚本的方法、装置及系统 |
CN110321668A (zh) * | 2018-03-28 | 2019-10-11 | 郭亚茹 | 一种非基于编程的计算机运算逻辑的互联网共享技术 |
CN110806922A (zh) * | 2019-10-14 | 2020-02-18 | 广州微算互联信息技术有限公司 | 一种执行脚本方法、装置、设备及存储介质 |
CN111031061A (zh) * | 2019-12-24 | 2020-04-17 | 北京深思数盾科技股份有限公司 | 一种验证方法及网关设备 |
CN111914250A (zh) * | 2020-08-18 | 2020-11-10 | 中科方德软件有限公司 | 一种Linux系统脚本程序运行时验证与管控方法 |
CN112860240A (zh) * | 2021-04-23 | 2021-05-28 | 武汉深之度科技有限公司 | 脚本验证方法、脚本签名方法及计算设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002014739A (ja) * | 2000-04-28 | 2002-01-18 | Fujitsu Ltd | 課金システム、課金方法、コンテンツ実行装置、課金監視装置、及び課金制御装置並びにそれに用いられるプログラム及び記録媒体 |
CN101261665A (zh) * | 2008-04-10 | 2008-09-10 | 北京深思洛克数据保护中心 | 一种通过加密数据文件实现软件保护的方法 |
CN102111267A (zh) * | 2009-12-28 | 2011-06-29 | 北京安码科技有限公司 | 一种基于数字签名的网站安全保护方法及系统 |
CN102244659A (zh) * | 2011-06-30 | 2011-11-16 | 成都市华为赛门铁克科技有限公司 | 安全策略脚本执行方法、装置以及安全策略系统 |
-
2013
- 2013-08-06 CN CN2013103400073A patent/CN103400063A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002014739A (ja) * | 2000-04-28 | 2002-01-18 | Fujitsu Ltd | 課金システム、課金方法、コンテンツ実行装置、課金監視装置、及び課金制御装置並びにそれに用いられるプログラム及び記録媒体 |
CN101261665A (zh) * | 2008-04-10 | 2008-09-10 | 北京深思洛克数据保护中心 | 一种通过加密数据文件实现软件保护的方法 |
CN102111267A (zh) * | 2009-12-28 | 2011-06-29 | 北京安码科技有限公司 | 一种基于数字签名的网站安全保护方法及系统 |
CN102244659A (zh) * | 2011-06-30 | 2011-11-16 | 成都市华为赛门铁克科技有限公司 | 安全策略脚本执行方法、装置以及安全策略系统 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104320793A (zh) * | 2014-09-29 | 2015-01-28 | 上海斐讯数据通信技术有限公司 | 一种手机短信自动化测试方法及系统 |
CN104320793B (zh) * | 2014-09-29 | 2018-10-12 | 上海斐讯数据通信技术有限公司 | 一种手机短信自动化测试方法及系统 |
CN108459850A (zh) * | 2017-11-21 | 2018-08-28 | 广州视源电子科技股份有限公司 | 生成测试脚本的方法、装置及系统 |
CN108459850B (zh) * | 2017-11-21 | 2021-07-09 | 广州视源电子科技股份有限公司 | 生成测试脚本的方法、装置及系统 |
CN110321668A (zh) * | 2018-03-28 | 2019-10-11 | 郭亚茹 | 一种非基于编程的计算机运算逻辑的互联网共享技术 |
CN110806922A (zh) * | 2019-10-14 | 2020-02-18 | 广州微算互联信息技术有限公司 | 一种执行脚本方法、装置、设备及存储介质 |
CN110806922B (zh) * | 2019-10-14 | 2022-06-21 | 广州微算互联信息技术有限公司 | 一种执行脚本方法、装置、设备及存储介质 |
CN111031061A (zh) * | 2019-12-24 | 2020-04-17 | 北京深思数盾科技股份有限公司 | 一种验证方法及网关设备 |
CN111914250A (zh) * | 2020-08-18 | 2020-11-10 | 中科方德软件有限公司 | 一种Linux系统脚本程序运行时验证与管控方法 |
CN111914250B (zh) * | 2020-08-18 | 2022-05-17 | 中科方德软件有限公司 | 一种Linux系统脚本程序运行时验证与管控方法 |
CN112860240A (zh) * | 2021-04-23 | 2021-05-28 | 武汉深之度科技有限公司 | 脚本验证方法、脚本签名方法及计算设备 |
CN112860240B (zh) * | 2021-04-23 | 2021-07-16 | 武汉深之度科技有限公司 | 脚本验证方法、脚本签名方法及计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210297240A1 (en) | Systems and methods for distributed data storage and delivery using blockchain | |
CN103400063A (zh) | 脚本文件执行方法及装置 | |
CN105577379B (zh) | 一种信息处理方法及装置 | |
US9020149B1 (en) | Protected storage for cryptographic materials | |
CN108377272B (zh) | 一种管理物联网终端的方法及系统 | |
US9614681B2 (en) | Private electronic signature service for electronic documents | |
KR101103403B1 (ko) | 향상된 보안성을 갖는 데이터 관리 시스템의 제어방법 | |
EP3732821B1 (en) | Secure provisioning of keys | |
US9037846B2 (en) | Encoded database management system, client and server, natural joining method and program | |
CN112115461B (zh) | 设备认证方法、装置、计算机设备和存储介质 | |
CN103179129A (zh) | 一种基于云计算IaaS环境的远程证明方法 | |
CN104123488A (zh) | 应用程序的验证方法和装置 | |
CN111131282A (zh) | 请求加密方法、装置、电子设备及存储介质 | |
CN115459928A (zh) | 数据共享方法、装置、设备及介质 | |
US10484182B2 (en) | Encrypted text verification system, method, and recording medium | |
CN107026730B (zh) | 数据处理方法、装置及系统 | |
CN104426849A (zh) | 一种实现数据安全保护的方法及系统 | |
KR101593675B1 (ko) | 사용자 데이터의 무결성 검증 방법 및 그 장치 | |
CN116136911A (zh) | 一种数据访问方法及装置 | |
EP2286610B1 (en) | Techniques for peforming symmetric cryptography | |
CN116132041A (zh) | 密钥处理方法、装置、存储介质及电子设备 | |
JP5799635B2 (ja) | 暗号データ検索システム、装置、方法及びプログラム | |
Liu et al. | Video data integrity verification method based on full homomorphic encryption in cloud system | |
CN111130788B (zh) | 数据处理方法和系统、数据读取方法和iSCSI服务器 | |
KR102094606B1 (ko) | 인증 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20131120 |
|
RJ01 | Rejection of invention patent application after publication |