为什么服务器js计算文件的sha1sha1值这么快?

hmac-sha1的安全性
hmac-sha1的安全性
HMAC根据RFC 2316(Report of the IAB,April 1998),HMAC(散列消息身份验证码: Hashed Message Authentication Code)以及IPSec被认为是Interact安全的关键性核心协议。它不是散列函数,而是采用了将MD5或SHA1散列函数与共享机密密钥(与公钥/私钥对不同)一起使用的消息身份验证机制。基本来说,消息与密钥组合并运行散列函数。然后运行结果与密钥组合并再次运行散列函数。这个128位的结果被截断成96位,成为MAC.hmac主要应用在身份验证中,它的使用方法是这样的:1. 客户端发出登录请求(假设是浏览器的GET请求)2. 服务器返回一个随机值,并在会话中记录这个随机值3. 客户端将该随机值作为密钥,用户密码进行hmac运算,然后提交给服务器4. 服务器读取用户数据库中的用户密码和步骤2中发送的随机值做与客户端一样的hmac运算,然后与用户发送的结果比较,如果结果一致则验证用户合法在这个过程中,可能遭到安全攻击的是服务器发送的随机值和用户发送的hmac结果,而对于截获了这两个值的黑客而言这两个值是没有意义的,绝无获取用户密码的可能性,随机值的引入使hmac只在当前会话中有效,大大增强了安全性和实用性。大多数的语言都实现了hmac算法,比如php的mhash、python的hmac.py、java的MessageDigest类,在web验证中使用hmac也是可行的,用js进行md5运算的速度也是比较快的。SHA安全散列算法SHA (Secure Hash Algorithm)是美国国家标准和技术局发布的国家标准FIPS PUB 180-1,一般称为SHA-1。其对长度不超过264二进制位的消息产生160位的消息摘要输出,按512比特块处理其输入。SHA是一种,该算法经过加密专家多年来的发展和改进已日益完善,现在已成为公认的最安全的散列算法之一,并被广泛使用。该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。散列函数值可以说时对明文的一种“指纹”或是“摘要”所以对散列值的数字签名就可以视为对此明文的数字签名。HMAC_SHA1HMAC_SHA1(Hashed Message Authentication Code, Secure Hash Algorithm)是一种安全的基于加密和共享密钥的消息认证协议。它可以有效地防止数据在传输过程中被截获和篡改,维护了数据的完整性、可靠性和安全性。HMAC_SHA1消息认证机制的成功在于一个加密的、一个加密的随机密钥和一个安全的密钥交换机制。HMAC_SHA1 其实还是一种散列算法,只不过是用密钥来求取摘要值的散列算法。HMAC_SHA1算法在身份验证和数据完整性方面可以得到很好的应用,在目前网络安全也得到较好的实现。
发表评论:
TA的最新馆藏[转]&[转]&[转]&[转]&当前位置:
应对sha1算法变更,天威诚信发布最佳方案
&程序数字签名无法通过验证,不是被告警、就是被拦截。&连日来,很多一线的软件开发人员叫苦不迭。据微软公告显示,出现上述情况的主要原因是,微软自日起更新代码签名证书验签策略(Windows Enforcement of Authenticode Code Signing and Timestamping),取消对SHA1算法证书在软件数字签名验签中的支持,并从日起在Windows 10中取消对sha1算法时间戳摘要的支持。
发现这一问题后,赛门铁克证书亚太区战略合作伙伴&天威诚信&及时组织技术人员进行系统研究,第一时间对问题的存在形势进行分析,研究解决方案。经过多方测试后,近日,他们将最佳解决方案进行了公布。
天威诚信:&根据微软公告,sha1算法的应用环境和应用方式被设定时限&
天威诚信分析指出,任何在日之前使用SHA1算法证书签名的文件(签名需含时间戳),在Windows 7及以上版本操作系统中的验签可正常支持到日。另外,日之后,使用SHA1算法证书签名的应用模式文件,在Windows 7及以上版本操作系统中不被支持。同时日之后,使用sha1时间戳摘要的签名(/td sha1),在Windows 10操作系统应用模式文件中不被支持。因RFC3161新版sha256时间戳在Windows 7 以下版本系统中不受支持,日前的单签名文件,仍推荐使用旧版时间戳及sha1算法时间戳摘要(/t)。需要注意的是,仅持有sha1算法的代码签名证书用户,需要将证书升级到SHA256算法。升级后原sha1算法证书仍然有效。可根据应用情况,灵活使用sha1证书单签名、sha256证书单签名或双签名方式,确保文件数字签名的的兼容性不受影响。
天威诚信:&应对sha1算法变更应根据文件格式和应用模式使用签名证书及签名参数&
针对相关用户普遍在此次微软变更shal算法时间中遭遇的问题,天威诚信认为不同格式或应用模式的文件,应该使用不同的签名证书及签名参数。
另外,天威诚信分析指出,Signtool中影响签名兼容性的部分签名参数包括:/fd 即 File Digest(文件摘要算法),可选值:sha1、sha256、sha284、sha512,默认值sha1;/t 即旧版时间戳地址;/tr 新版RFC3161时间戳地址;/td 新版RFC3161时间戳签名摘要算法,可选值:sha1、sha256 ,默认值sha1。如需使用sha256算法时间戳签名摘要,/td 参数必须在 /tr之后指定;/ph 指定SignTool 应打印和验证页面哈希值。Vista内核驱动文件签名必须。
针对&内核驱动文件&天威诚信明确:.cat文件不支持双签名,只能选择单签名。微软目前对驱动文件并没有限定必须使用sha256算法的证书,为适配最优的兼容性,推荐使用sha1单签名;.sys、.dll等文件:内核驱动文件中的PE格式文件,微软虽未限定必须使用sha256算法证书做签名,为适配最优的应用场景,建议应尽量使用双签名。同时,他们认为.msi文件不支持双签名,为适配最优的应用场景,建议应尽量使sha256单签名。
针对&ActiveX控件程序&,天威诚信强调:.cab文件不支持双签名,为避免新版本操作系统中IE浏览器错误拦截,建议尽量使用sha256单签名;.cab文件中内含的pe格式控件文件,为避免新版本操作系统中IE浏览器错误拦截,建议尽量使用sha256单签名;.ocx格式直接发布的控件文件,为避免新版本操作系统中IE浏览器错误拦截,建议尽量使用sha256单签名。
针对&其他Pe格式可执行文件&,天威诚信认为:应用模式PE格式可执行文件,应尽量使用双签名以适配不同版本操作系统。
天威诚信:&&天威诚信代码签名证书助手&和&微软signtool.exe双签名&可有效解决sha1算法变更带来的问题&
为能更为有效的解决此次事件带了相关问题,天威诚信推荐使用&天威诚信代码签名证书助手(下载:/soft/iTrusSignTool.exe)&。其优势在于:首先,天威诚信代码签名证书助手支持创建证书请求和安装,支持管理多张证书。其次,当选择使用单签名规则时,代码签名证书助手将默认使用兼容性更好的 /fd sha1 及 /t 参数为您做程序签名。另外,如果同时拥有sha1和sha256算法的证书,还可以创建新的签名规则从而方便快捷的支持双签名操作。双签名中将默认使用 sha1算法证书的 /fd sha1 + /t 和 sha256算法证书的 /fd sha256 + /tr + /td sha256,既保障兼容性,同时确保签名的安全性和易用性。另外天威诚信指出,使用微软signtool工具做命令行下的签名,也可以参考signtool相关签名要求。
同时,天威诚信推荐使用微软signtool.exe双签名。据介绍,为解决SHA1算法证书被逐步淘汰禁用,同时SHA256算法证书在部分版本系统和环境中不被支持的问题,软件开发者可使用双签名解决方案一达到更好的兼容不同平台的目标。可为同一程序同时添加 SHA1 及 SHA256签名,允许不同操作系统自动适配程序签名信息。另外,天威诚信明确,要使用双签名,须升级signtool.exe到 6.3.9600或以上版本(Windows SDK V8.1及以上版本中包提取),签名用机操作系统需 Windows 8 及以上版本。Windows 7 及Server 2008 系统用户,可按照微软文档中介绍的signtool依赖文件,从sdk中提取可执行的签名工具包。同时也可以选择从天威诚信下载提取好的signtool依赖文件:/soft/signtool.zip
另外,天威诚信介绍双签名操作方式为:SHA1签名:signtool.exe sign /f sha1.pfx /p&/t /scripts/timstamp.dll&可附加 /ac 用法,添加交叉证书做驱动模式签名;SHA256签名:signtool.exe sign /f sha256.pfx /p&/as /fd sha256 /tr /tsa /td sha256&可附加 /ac 用法,添加交叉证书做驱动模式签名
代码签名可选的时间戳服务器
天威诚信指出,完成两次签名操作之后,即可在 Windows 8 及以上版本系统中(Windows 7 及Server 2008 R2需安装KB3033929),通过右键点击已签名文件, &属性&=&&数字签名&,并看到 sha1 及 sha256两个版本的签名信息了。
天威诚信:&sha1算法变更为sha256算法后存在的系统兼容问题需要使用专业应对策略&
随着SHA1算法安全性逐年降低,各机构均制定了详细的时间表以启用新的SHA256算法。根据微软最新的策略,一些老版本Windows操作系统中,仍然存在SHA256算法的兼容性问题,而部分新版本操作系统已经开始禁用sha1算法。策略详情请参考下表:
针对文件摘要算法和时间戳的影响天威诚信提醒:在Windows 7 及以上版本操作系统中,仅支持/t 时间戳用法及 /fd sha1文件摘要算法。而在日之后,Windows 10应用模式签名将仅支持 /tr 时间戳,并要求使用 /td sha256。
针对SmartScreen报告&此程序不是常见的下载内容,可能会危害您的计算机&提示,天威诚信指出,非EV代码签名证书,需要累积软件下载安装量并基于代码签名证书来获得声誉。在累积足够的声誉后,该提示将自动消除。微软未发布声誉评价系统的详细策略数据,但微软策略表明,声誉评价与软件签发时间及安装下载量成正相关。即签发时间越久,下载安装量越大,提示消除的可能性越大。
为帮助软件开发者摆脱SmartScreen声誉累积系统的影响,天威诚信建议结合应用场景选择下列方法,消除提示。
1、使用EV代码签名证书签名通过网络下载的可执行文件。EV代码签名证书可立即获得信誉,无需通过累积过程即可快速消除不友善的提示信息。
2、使用已获得良好声誉评价的非EV代码签名证书签名通过网络下载的可执行文件。使用新的非EV证书签名安装包中的所有可执行程序文件,然后使用已获得声誉并且不会出现拦截提示的证书签名打包后的setup文件。用户在安装setup文件后,将同时为新证书累积信誉。在获得足够安装量和信誉之后,新证书将不再出现拦截提示,可正常投入使用。
3、将可执行程序文件打包成zip、rar等格式压缩包。用户下载解压后执行安装操作。未标记为网络下载的可执行程序,将不会被SmartScreen拦截。因此,使用压缩软件压缩的可执行程序,将不会被拦截。注意在为可执行程序打压缩包之前,需确保可执行程序未被标记为通过网络下载的文件。
4、尽快发布非EV代码签名证书签名的文件,累积足够信誉。通过自然累积信誉发布应用虽然是一个非常痛苦的过程,但当上述条件均无法应用时,自然累积信誉的方式发布应用就会成为必然选择了。
分类:&&& 关键词:
分享到:&&20.9K
扫一下,关注我。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&如何查看获取MD5和SHA1值(应用签名)
以前在Eclipse中我们获取MD5和SHA1很容易就找到了如下图所示:
这样就可以在Eclipse中看到所需要调试的MD5和SHA1。
如果不是在eclipse中的话,我们可以使用cmd查看apk中的MD5和SHA1,当然前提是你知道密匙
使用cmd应用窗口,定位到你的android目录下 &(输入cd
.android,按回车键)
1.首先先解压apk,获取到其中的META-INF文件夹底下的CERT.RSA。
2.用指令keytool
-printcert -file D:\......解压后的路径\META-INF\CERT.RSA进行解析。
3.如果你有keystore的话,C:\Users\Administrator\.android&keytool
-list -v -keystore &D:\.....\.keystore,
然后输入密钥库口令
如果没有keystore的话则使用debug的方式查看
输入keytool -list -v -keystore
debug.keystore,然后再输入密钥库口令,这里默认是android
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 sha1在线计算 的文章

 

随机推荐