首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

软件安全性测试(连载21)

l 启用SHA-256证书,禁用SHA-1证书。正如3.14-1-2)区块链私钥、公钥和地址中个所述,SHA-1会发生哈希碰撞,已经证明不安全。...原因是现在发现TLS1.0协议容易遭受CBC Chaining攻击和Padding Oracle攻击(Padding Oracle攻击指应用在解密客户端提交加密数据时,泄露了解密数据分段填充是否合法信息...Ø 使用SHA-256更长散列算法。 Ø 尽量不要使用3DES。 Ø 禁用不提供加密密码套件。 Ø 禁用不提供认证密码套件,包括匿名密码套件。 Ø 禁用DES。...Ø 禁用密钥长度小于128密钥。 Ø 禁用MD5、SHA-1散列算法。 Ø 禁用IDEA密码套件。 Ø 禁用RC4密码套件。 Ø DHE密钥长度大于2048位。...l 没有登录情况下,输入登录后URL是否可以进入? l 是否可以绕过验证码登录? 案例4-8 注册用户安全用例设计 用户注册如49所示,下面是安全测试测试点。 ?

1.3K10

TLS握手失败可能这个原因

从同一台客户端: 访问API server 1可以 但访问API server 2不行 发现失败原因就是TLS握手失败: 在客户端应用日志里错误: javax.net.ssl.SSLHandshakeException...咋获得这Java库能支持密码套件列表?最直接, 抓包分析。回到前面那抓包文件,检查Client Hello报文。在那就有Java库支持密码套件列表: 找到客户端密码套件列表了。...换个思路 看服务端在TLS握手成功后用了哪个密码套件,而不是拿到它全部列表。前面curl成功, 看curl那次协商出来套件,看它是否Java库支持,就能判定了。...至此,能确认问题根因:因为这Java库和API server 2之间没找到共同密码套件,所以TLS握手失败。 根因找到,下步就是升级Java库,让双方能协商成功。...API server 1能兼容这相对旧Java库,所以没问题。 这问题难吗?还好,对吧?因为我们一旦对协议本身有准确理解,很多问题就易“看穿”。扎实理论知识很重要。

79240
您找到你想要的搜索结果了吗?
是的
没有找到

TLS指纹分析研究(下)

,然而,okhttp库默认禁用并从Client Hello中删除了某些在S工具连接规范中指定密码套件,导致它偏离预期连接规范,即使密码套件列表没有更改,这些密码套件仍然对应于不受欢迎客户端。...128_CBC_SHA)仅在大约1%连接中被选择,这表明有许多密码套件,服务端将很少永远不会选择。...例如,在2字节密码套件65536个可能值中,只有338个值IANA识别和标准化,其余未分配保留为私有,类似地,2字节扩展字段仅定义了28个值。...这允许我们定位指定非标准扩展名密码套件Client Hello指纹。总的来说,占连接13.14%13.8万个指纹中至少包含一个非标准化密码套件扩展值。...非标参数细分如表1所示,展示了唯一Client Hello指纹分类和它们出现在发送非标准密码套件扩展连接中占比。

1.6K20

HTTPS 安全最佳实践(一)之SSLTLS部署

NULL 密码套件不提供加密。 导出密码套件在连接中协商时不安全,但也可以针对更喜欢更强大套件(FREAK攻击)服务器使用。 弱密码(通常为 40 和 56 位)套件使用可以轻松破坏加密。...-GCM-SHA384 DHE-RSA-AES128-SHA DHE-RSA-AES256-SHA DHE-RSA-AES128-SHA256 DHE-RSA-AES256-SHA256 2.4 选择合适协议...在SSL v3及更高版本协议版本中,客户端提交他们支持密码套件列表,服务器从列表中选择一个用于连接套件。...对于不提前向保密密码套件,可以恢复服务器私钥的人就可以解密所有较早记录加密对话(也就是可以先大量记录密文,再解密,比如您证书到期后没有正确销毁,它私钥就能用来解密非PFS密文)。...一些较老客户端(例如Java 6)可能不支持这种强度。出于性能原因,大多数服务器应该更喜欢 ECDHE,这是更强大和更快。

1.5K21

浅谈https中双向认证

总述 https简单来说就是在http协议基础上增加了一层安全协议。通常为TLS或者SSL(一般现在都采用TLS,更加安全)。这一层安全协议最主要作用有两个: 1....验证服务端客户端合法性 2....String storePwd; /** * ssl双向认证客户端私钥证书密码 */ private String keyPwd; /*...但是因为时间原因所以偷了个懒,略过了客户端对服务器端证书校验,而直接使用`TrustAllStrategy.INSTANCE`。...根证书能对所有子证书进行验证,在进行双向认证时候服务端和客户端需要初始化证书都是从根证书生成 在TLS协议过程中发送客户端和服务端证书(.crt)其实都是公钥证书,外加一些版本号、身份、签名等信息

2.1K30

【appScan】并非所有密码套件均支持完全前向保密解决方案

检测到弱密码:并非所有密码套件均支持完全前向保密(弱密码套件 - ROBOT 攻击:服务器支持易受攻击密码套件)图片背景介绍HTTP 协议自身没有加密机制,但可以通过和 TLS (Transport...图片漏洞分析漏洞前提:此问题在HTTPS环境下出现弱密码套件 - ROBOT 攻击:服务器支持易受攻击密码套件原因:使用了过期TLS/SSL协议,部分TLS/SSL协议由于过于老旧,已经各类操作系统及浏览器弃用...(SSL所有版本、TLSv1.0、TLSv1.1)图片并非所有密码套件均支持完全前向保密原因:使用了不支持前向加密密码套件'ssl_ciphers',目前支持前向加密密码套件第二部分必须为DHE、ECDHE...位,分组模式是 GCM; 摘要算法使用 SHA384;图片 所谓前向加密是指:每一次通信过程私钥都是临时,即使某一次通信过程私钥破解或者泄露、 其他通信过程私钥仍然是安全,因为每个通信过程私钥都是没有任何关系...使用当前时效期内推荐套件协议套件不是一层不变,需要随着操作系统、浏览器以及套件本身未来发展变化适时改变)ssl_protocols TLSv1.2;ssl_ciphers ECDHE-ECDSA-AES128

6.8K144

云通信产品常见SSL相关错误及解决方法

前言 SSL协议在当今网络信息传输过程中起到了不可替代作用,使用不对称加密技术实现会话双方之间信息安全传递,实现信息传递保密性、完整性,并且会话双方能鉴别对方身份。...分析 此问题大致由于协议不匹配,实际上在客户端和服务器端都有可能发生,而且根据情形不同,事实上可能并不值得修复。...回到腾讯云通信这边,客户出现调用后台API出现类似问题大部分是由于,客户代码使用runtime支持比较低版本TLS1.0, 例如Java 7默认支持TLS 1.0....分析 这里显示是CA问题:颁发server证书CA肯定是没有问题(否则会造成大量瘫痪),那么应该是客户端使用CA证书出现问题。...be non-empty requestId 分析 错误原因: 证书路径设置出错,找不到证书 权限问题,没有访问证书权限 证书问题,没有证书或者其他证书覆盖 解决方案 1.

3.4K271

使用 SSLTLS 加强 MQTT 通信安全

TLS 支持多种密码套件,客户端和服务器可以在握手过程中协商选择密码套件。证书:证书是用来证明服务器客户端身份数字文件。证书包含了服务器客户端公钥,并且由可信证书颁发机构(CA)签发。...TLS 可以保护密码、信用卡信息和个人信息等敏感数据,不让它们未授权的人访问截取。TLS 广泛应用于网络应用、电子邮件、即时通讯等需要在互联网上进行安全通信应用场景。...加密:TLS 使用加密算法对客户端和服务器之间传输数据进行加密,以确保未经授权用户无法读取其内容。数据完整性:TLS 使用数据完整性检查机制,如哈希算法,以确保数据在传输过程中没有篡改损坏。...TLS 可以使用多种密码套件,客户端和服务器在握手时协商选择密码套件。证书是一个用于证明服务器客户端身份数字文件。证书含有服务器客户端公钥,并由可信 CA 签发。...以下是一些实施 TLS 最佳实践:使用最新版本 TLS:选择最新版本 TLS 协议,以使用最安全加密和哈希算法。使用强壮密码套件:选择强壮密码套件,确保提供高强度加密和数据完整性。

58021

性能优化-Tomcat8优化

我们一般是使用Nginx+tomcat架构,所以用不着AJP协议,所以把AJP连接器禁用。修改conf下server.xml文件,将AJP服务禁用掉即可。...: bio 默认模式,性能非常低下,没有经过任何优化处理和支持. nio nio(new I/O),是Java SE 1.4及后续版本提供一种新I/O操作方式(即java.nio包及其子包)。...Java nio是一个基于缓冲区、并能提供非阻塞I/O操作Java API,因此nio也看成是non-blocking I/O缩写。它拥有比传统I/O操作(bio)更好并发运行性能。...1.2、部署测试用java web项目 为了方便测试性能,我们将部署一个java web项目,这个项目本身和本套课程没有什么关系,仅仅用于测试。...通过GC统计可以看出: 年轻代gc有74次,次数稍有多,说明年轻代设置大小不合适需要调整 FullGC有8次,说明堆内存大小不合适,需要调整 问题四: ?

1.3K20

Android:你不知道 WebView 使用漏洞

解决方案: 对于不需要使用 file 协议应用,禁用 file 协议; setAllowFileAccess(false); 对于需要使用 file 协议应用,禁止 file 协议加载 JavaScript...); 这一攻击能奏效原因是:通过 javascript 延时执行和将当前文件替换成指向其它文件软链接就可以读取到符号链接所指文件。...于是就可通过链接来访问 Chrome Cookie Google 没有进行修复,只是让Chrome 最新版本默认禁用 file 协议,所以这一漏洞在最新版 Chrome 中并不存在 但是,在日常大量使用...,禁用 file 协议; // 禁用 file 协议; setAllowFileAccess(false); setAllowFileAccessFromFileURLs(false); setAllowUniversalAccessFromFileURLs...---- 请帮顶评论点赞!因为你们鼓励是我写作最大动力!

3.2K20

腾讯Kona国密套件:从基础算法到安全协议

另外,每一方还需要有各自ID,如果没有的话,就使用默认1234567812345678。...com/tencent/kona/pkix/demo 安全通信协议 腾讯Kona国密套件KonaSSL综合地利用了上面的国密基础算法与PKI特性,实现了中国传输层密码协议(TLCP)和国际RFC...传输层密码协议(TLCP) TLCP是中国基于TLS 1.1和1.2协议定制而成协议,对应中国国家标准为: GB/T 38636-2020:传输层密码协议协议与TLS协议最重大区别,就是要求通信端提供两个证书...KonaSSL除了支持TLCP协议"双证书"模式,还实现了它定义密码套件ECC_SM4_GCM_SM3(0xE053),ECC_SM4_CBC_SM3(0xEC13),ECDHE_SM4_GCM_SM3...需要了解是,当使用ECDHE密码套件时,客户端也必须提供双证书,这是SM2密钥交换算法所要求,也是与TLS协议ECDHE密码套件一个明显区别。

4K21

WebView深度学习(三)之WebView内存泄漏、漏洞以及缓存机制原理和解决方案

,从而实现JS调用Android对象和方法 所以,漏洞产生原因是:当JS拿到android这个对象后,就可以调用这个Android对象中所有的方法,包括系统类(Java.lang.Runtime...解决方案: 1) 对于不需要使用 file 协议应用,禁用 file 协议;   setAllowFileAccess(false);    2) 对于需要使用 file 协议应用,禁止 file...Cookie ---- 注意事项:   Google 没有进行修复,只是让Chrome 最新版本默认禁用 file 协议,所以这一漏洞在最新版 Chrome 中并不存在。   ...通过利用此漏洞,容易出现数据泄露危险   如果是 file 协议禁用 javascript 可以很大程度上减小跨源漏洞对 WebView 威胁。   但并不能完全杜绝跨源文件泄露。...,禁用 file 协议; // 禁用 file 协议; webView.setAllowFileAccess(false); webView.setAllowFileAccessFromFileURLs

2.6K10

Carson带你学Android:你不知道 WebView 使用漏洞

使其不能加载本地 html 文件,如下图: 移动版 Chrome 默认禁止加载 file 协议文件 解决方案: 对于不需要使用 file 协议应用,禁用 file 协议; setAllowFileAccess...); 这一攻击能奏效原因是:通过 javascript 延时执行和将当前文件替换成指向其它文件软链接就可以读取到符号链接所指文件。...于是就可通过链接来访问 Chrome Cookie Google 没有进行修复,只是让Chrome 最新版本默认禁用 file 协议,所以这一漏洞在最新版 Chrome 中并不存在 但是,在日常大量使用...通过利用此漏洞,容易出现数据泄露危险 如果是 file 协议禁用 javascript 可以很大程度上减小跨源漏洞对 WebView 威胁。 但并不能完全杜绝跨源文件泄露。...,禁用 file 协议; // 禁用 file 协议; setAllowFileAccess(false); setAllowFileAccessFromFileURLs(false); setAllowUniversalAccessFromFileURLs

1.1K10

史上最强Tomcat8性能优化

出现原因: TCP/IP连接数不够TIME_WAIT中存在很多链接,导致吞吐量低。...protocol 设置协议以处理传入流量。默认值为 HTTP/1.1使用自动切换机制选择基于Java NIO连接器基于APR / native连接器。...如果不知道内容长度但设置为“on”更积极压缩,输出数据也将被压缩。如果没有指定,该属性设置为“关”。...将此属性设置为1,将禁用HTTP/1.0、以及HTTP/1.1长连接。设置为-1,不禁用。如果没有指定,该属性设置为100。...通过GC统计可以看出: 年轻代gc有100次,次数有点多,说明年轻代设置大小不合适,需要调整 FullGC有7次,说明堆内存大小不合适,需要调整 问题四:年轻代内存不足导致GC ?

2.4K30

SSL通信双方如何判断对方采用了国密

对于TLS/SSL协议来说,只有协商出密码套件,才能进行下一步工作。 除了现有国际上标准密码套件,国密还定义了一系列密码套件: ?...第二列:代表密码套件名称,虽然密码套件编号是一致,不同TLS/SSL协议实现其使用名称可能是不一样。 第三列:表示该密码套件适用于哪个TLS/SSL版本协议。 第四列:表示密钥协商算法。...值得注意是,这里编码又没有采用OID,这也是开发过程中需要注意,不同地方使用了不同标准规范,需要在开发中翻阅相应协议和规范。...可以看出,GmSSL并没有实现所有的国密密码套件,但同时又扩充了几个标准未定义密码套件,比如ECDHE-SM2-WITH-SMS4-GCM-SM3、ECDHE-SM2-WITH-SMS4-SM3等。...注意,协商过程中服务器端可能会禁用一些不太安全密码套件(比如历史遗留一些现今已不太安全算法),这时即使双方都支持,也可能协商不成功。

1.4K20

HTTPS安全优化配置最佳实践指南简述

FREAK : FREAK(CVE-2015-0204) 客户端会在一个全安全强度RSA握手过程中接受使用弱安全强度出口RSA密钥,其中关键在于客户端并没有允许协商任何出口级别的RSA密码套件。...此问题原因是在实现TLS心跳扩展时没有对输入进行适当验证(缺少边界检查),该程序错误属于缓冲区过读,即可以读取数据比应该允许读取还多。...套件不提供身份验证 弱密码(通常为 40 和 56 位)套件使用可以轻松破坏加密 MD5 密码套件是不安全,容易碰撞检测 RC4 密码套件是不安全 DES/3DES 密码套件缓慢而虚弱 例如...RC4; 密码套件。...RC4; # 以下密码需要明确禁止使用 !aNULL,不包含身份验证DH密码,可能中间人攻击 !eNULL,不采取密钥交换,也就是明文传输 !

2.4K10

长安链ChainMaker国密TLS设计与实现

国际通用TLS协议并不包含中国国密局推荐使用商用密码算法(即国密算法)套件,而绝大部分编程语言原生TLS实现、第三方开源TLS实现大都不支持国密套件。...3. java客户端:由于java调用长安链golang密码协议库支持国密TLS,工作量较大并且维护困难,实现上采用了比较成熟netty-tcnative + 国密openssl方式。...OpenSSL 在 1.1.1 版本中引入了国密算法实现,但是仅仅提供了算法接口,没有把国密算法引入到任何通信协议中去支持。长安链国密openssl把国密算法支持加入到X509协议中。...将SM2算法、SM3算法、SM2-SM3算法套件、SM2曲线OID引入到X509逻辑中。 完成了X509协议国密支持后,进一步改造了TLS协议,主要包括: 1....把国密算法套件加入到支持密码算法包列表中,以供server、client两端进行算法套件协商; 2. 在ECDSA对应协议套件中去支持了国密算法逻辑; 3.

1.5K20
领券