Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 存储用于证书固定的公钥有多安全?_Android_Ios_Security_Ssl - Fatal编程技术网

Android 存储用于证书固定的公钥有多安全?

Android 存储用于证书固定的公钥有多安全?,android,ios,security,ssl,Android,Ios,Security,Ssl,通常建议存储公钥以用于移动设备的证书固定。这方面也提出了类似的建议。尽管可以修改应用程序以篡改公钥本身。那么,存储用于证书固定的公钥的安全性如何呢?您的主要问题是什么是安全的 如果你的意思是一般来说,比如说存储公钥是安全的,那么是的。这就是为什么它被称为公钥 如果您正试图防止MiTM攻击,这些攻击来自于可信CA对其不应该拥有的证书进行签名,那么仅使用证书固定就足够了。只要证书是您的应用程序的一部分,并且基本操作系统对您的应用程序进行签名验证,则应检测到证书的任何更改以及扩展到您的应用程序的任何更

通常建议存储公钥以用于移动设备的证书固定。这方面也提出了类似的建议。尽管可以修改应用程序以篡改公钥本身。那么,存储用于证书固定的公钥的安全性如何呢?

您的主要问题是什么是安全的

如果你的意思是一般来说,比如说存储公钥是安全的,那么是的。这就是为什么它被称为公钥


如果您正试图防止MiTM攻击,这些攻击来自于可信CA对其不应该拥有的证书进行签名,那么仅使用证书固定就足够了。只要证书是您的应用程序的一部分,并且基本操作系统对您的应用程序进行签名验证,则应检测到证书的任何更改以及扩展到您的应用程序的任何更改,并且不应允许该应用程序运行


如果您试图阻止最终用户嗅探HTTPS连接,那么是的,他可以用自己的证书替换证书并嗅探到自己的内容。您可以通过比较证书的哈希、加密证书等来验证证书,但无法保证用户无法对您的应用程序进行反向工程

公开公钥是安全的。这是公钥密码背后的主要原理


如果有人可以篡改android应用程序中的公钥,他们也可以篡改应用程序的其他部分(例如完全删除加密或将请求重定向给攻击者)

“如果您试图防止MiTM攻击,这些攻击来自可信CA签署证书等不应该拥有的东西,那么仅使用证书固定就足够了。只要证书是您的应用程序的一部分,并且基本操作系统对您的应用程序进行签名验证,就应该检测到证书的任何更改以及扩展到应用程序的任何更改,并且应该允许应用程序运行。“你的意思是不应该被允许跑步?另外,如果应用程序在篡改后被正确签名,那么操作系统将无法检测到它。对吗?对不起,我没意识到这个问题被标记为android/iOS。对于android,您显然需要root,但恶意应用程序可能会重新打包您的应用程序。用户在尝试更新应用程序时会发现签名不匹配,从而导致更新失败。