天威诚信——关于APP中预埋证书问题的专项建议
在APP开发的过程中会有一小部分开发者参考互联网中的开发文档将证书文件等信息预埋到APP程序中。其中不乏存在“预埋证书公钥”“预埋中级证书”“预埋根证书”等错误的证书应用方式。当预埋的APP更新服务器端证书时,发现部分客户出现证书更新之后,APP无法正常通信等情况出现。
在此,天威诚信技术支持团队提醒您,如果您发现您的Android App业务存在证书预埋的处理,请及时移除预埋的操作,改为系统自带的信任库做验证,并安排好APP更新计划,以免对您的业务造成影响。
如您不太确定您目前的AndroidApp项目中是否有使用预埋证书相关的安全解决方案,请尽快通知您的APP研发人员并和我们技术人员联系。以免在证书颁发机构在做CA体系更新,您原有证书在到期后做续费更新时,CA证书链发生改变,进而影响您的业务正常运行,甚至App无法连接后台服务器的重大影响。
证书预埋检查影响
1.服务器证书(公钥)存在有效期限制,目前最高 3 年有效期,未来CA/B组织会逐渐缩短证书最长生命周期。如果将服务器证书进行APP预埋证书检查,当服务器证书因为生命周期终止需要更新证书时,经过预埋的APP会出现无法正常通信等情况。
2.根证书和中级证书也会存在失效、策略变更或者过期,如果将根证书或者中级证书进行APP预埋,一旦根证书和中级证书发生了更新,经过预埋的APP会出现无法正常通信等情况。
虽然在大多数情况下,检查机制能够防御中间人攻击。因为当黑客窃听通信时,他提供的拦截证书多为自签名证书,TrustManager不能识别这个证书,于是拒绝HTTPS连接。但是,一旦预埋的这张证书由于证书生命周期的终止,触发服务器端进行证书更新替换机制时,APP应用端将无法验证请求证书的有效性,从而导致业务中断。
相关知识
TLS/SSL证书链
保证通信安全至少要使用HTTPS协议,也就是说使用安全传输层协议(TLS)或是它的前身安全套接层协议(SSL)加密的通信。
SSL证书链结构关系
公网可信SSL证书(至少)包括三个证书:
根证书:这是由证书认证机构(CA)颁发的,也就是一个可以确保整个通信时安全的值得信任的组织。
中级证书:一个根证书下有多个中级证书。它们建立服务器证书和根证书的信任桥梁,是连接服务器证书和根证书的证书链,由根证书签名的证书。
服务器证书:服务器证书是绑定最终请求域名的证书,为最终的加解密证书文件。
免责声明:本文为厂商推广稿件,企业发布本文的目的在于推广其产品或服务,安科网发布此文仅为传递信息,不代表安科网赞同其观点,不对对内容真实性负责,仅供用户参考之用,不构成任何投资、使用等行为的建议。请读者使用之前核实真实性,以及可能存在的风险,任何后果均由读者自行承担。