找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 206|回复: 0

证书锁定SSL Pinning简介及用途

[复制链接]

2万

主题

137

回帖

13万

积分

管理员

积分
139366
发表于 2022-4-13 17:12:58 | 显示全部楼层 |阅读模式 IP:山东省 移动/数据上网公共出口

登录后更精彩...O(∩_∩)O...

您需要 登录 才可以下载或查看,没有账号?立即注册

×
证书锁定SSL Pinning简介及用途
证书锁定(SSL/TLS Pinning)顾名思义,将服务器提供的SSL/TLS证书内置到移动端开发的APP客户端中,当客户端发起请求时,通过比对内置的证书和服务器端证书的内容,以确定这个连接的合法性。


证书锁定(SSL/TLS Pinning)顾名思义,将服务器提供的SSL/TLS证书内置到移动端开发的APP客户端中,当客户端发起请求时,通过比对内置的证书和服务器端证书的内容,以确定这个连接的合法性。
1 概述
在公共网络中通知我们使用安全的SSL/TLS通信协议来进行通信,并且使用数字证书来提供加密和认证,在《HTTPS入门, 图解SSL从回车到握手》过程中我们知道握手环节仍然面临(MIM中间人)攻击的可能性,因为CA证书签发机构也存在被黑客入侵的可能性,同时移动设备也面临内置证书被篡改的风险。
2 证书锁定原理
证书锁定(SSL/TLS Pinning)提供了两种锁定方式: Certificate Pinning 和 Public Key Pinning,文头和概述描述的实际上是Certificate Pinning(证书锁定)。
2.1 证书锁定
我们需要将APP代码内置仅接受指定域名的证书,而不接受操作系统或浏览器内置的CA根证书对应的任何证书,通过这种授权方式,保障了APP与服务端通信的唯一性和安全性,因此我们移动端APP与服务端(例如API网关)之间的通信是可以保证绝对安全。但是CA签发证书都存在有效期问题,所以缺点是在证书续期后需要将证书重新内置到APP中。
2.2 公钥锁定
公钥锁定则是提取证书中的公钥并内置到移动端APP中,通过与服务器对比公钥值来验证连接的合法性,我们在制作证书密钥时,公钥在证书的续期前后都可以保持不变(即密钥对不变),所以可以避免证书有效期问题。
3 证书锁定指纹(Hash)3.1 获取移动端所需证书
如果采用证书锁定方式,则获取证书的摘要hash,以infinisign.com为例
## 在线读取服务器端.cer格式证书openssl s_client -connect infinisign.com:443 -showcerts < /dev/null | openssl x509 -outform DER > infinisign.der## 提取证书的摘要hash并查看base64格式openssl dgst -sha256 -binary infinisign.der | openssl enc -base64wLgBEAGmLltnXbK6pzpvPMeOCTKZ0QwrWGem6DkNf6o=
所以其中的wLgBEAGmLltnXbK6pzpvPMeOCTKZ0QwrWGem6DkNf6o=就是我们将要进行证书锁定的指纹(Hash)信息。
3.2 获取移动端所需公钥
如果采用公钥锁定方式,则获取证书公钥的摘要hash,以infinisign.com为例
## 在线读取服务器端证书的公钥openssl x509 -pubkey -noout -in infinisign.der -inform DER | openssl rsa -outform DER -pubin -in /dev/stdin 2>/dev/null > infinisign.pubkey## 提取证书的摘要hash并查看base64格式openssl dgst -sha256 -binary infinisign.pubkey | openssl enc -base64bAExy9pPp0EnzjAlYn1bsSEGvqYi1shl1OOshfH3XDA=
所以其中的bAExy9pPp0EnzjAlYn1bsSEGvqYi1shl1OOshfH3XDA=就是我们将要进行证书锁定的指纹(Hash)信息。
4 总结
证书锁定旨在解决移动端APP与服务端通信的唯一性,实际通信过程中,如果锁定过程失败,那么客户端APP将拒绝针对服务器的所有 SSL/TLS 请求,FaceBook/Twitter则通过证书锁定以防止Charles/Fiddler等抓包工具中间人攻击,关于如何在Android、IOS的各类开发工具中设置证书锁定,请参照《Android SSL证书锁定(SSL/TLS Pinning)》、《IOS SSL证书锁定(SSL/TLS Pinning)》。

相关文章


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|时间戳|加密|CTF WiKi|CTF平台汇总|CTF show|ctfhub|棱角安全|rutracker|攻防世界|php手册|peiqi文库|CyberChef|猫捉鱼铃|手机版|小黑屋|cn-sec|IOTsec-Zone|在线工具|分享屋 ( 鲁ICP备2021028754号 )

GMT+8, 2024-9-19 10:05

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表