Android的安全在早期是使用openSSL库,后来(大概6.0之后)则使用boringSSL(从openSSL拉一个分支出来)。openSSL库低版本存在一些安全漏洞,所以安卓低版本也同样会有安全漏洞。APP要修复这些安全漏洞,一方面可以通过升级安卓自带的openSSL库解决,一方面可以通过第三方库解决(即自己的app引入高版本openSSL),调用第三方库的安全接口而非安卓自带的安全接口。
安卓版本20其实是Android 4.4W (Kitkat_watch),仅用于穿戴设备,不能用于手机和平板,非常短暂的存在。2014年中发布,2014年底5.0就发布了。所以,对于手机和平板而言,当客户端使用的话,是在5.0之后才默认启用TLS1.2的(当然,低于5.0情况下,可以手动启动,毕竟是支持的),如下:
另外还有一个概念,虽然使用了TLS加密或者说使用了TLSv1.2版本了,但是也可能是不安全的,主要是cipher suites的加密级别比较弱,容易被破解,因此相应地,要选择强级别的cipher suites才是安全的。
附:
Android各个版本的安全增强特性
https://source.android.com/security/enhancements/
Android各个版本对SSL/TLS的支持情况
https://developer.android.google.cn/reference/javax/net/ssl/SSLSocket?hl=zh#cipher-suites
OpenSSL各官方版本:
https://www.openssl.org