我已经'保护'我的Android应用程序和提供金融交易服务的tls服务器之间的通信,目前正在开发中。
安全凭证存储在Android apk中包含的BKS密钥库中。密钥库的密码在应用程序源中以纯文本形式显示:
keyStore.load(is, "passwd".toCharArray());
我担心如果有人要对应用程序进行逆向工程,他们就可以冒充其他用户并破坏服务的安全性。
我想知道我的实施是否有问题,如果有其他人有此问题,以及防止这种可能性的最佳方法是什么。
答案 0 :(得分:2)
每当您在客户端上存储安全数据时,它都可能会受到逆向工程的影响。您可能会尝试在代码中隐藏它,但确定黑客无论如何都会想到它。因此,使其更安全的唯一方法是不要在代码中公开地使用密码。也许你可以在应用程序开始时询问用户一些密码并用它来解密密码?
答案 1 :(得分:2)
您的应用中存储的凭据是否是每个用户唯一的,即每个用户都拥有自己的具有唯一凭据的apk?如果你只有一个具有相同凭据的apk,那么这就像没有安全性一样好。更糟糕的是,它给人一种虚假的安全感。
您(您的雇主)应该从安全的角度聘请安全专家来设计您的系统。
这就是我要做的事情:
但不要把我的话视为理所当然。如果涉及金融交易,您仍需要安全专家。
答案 2 :(得分:1)
我相信Diffie-Hellman Key Exchange正是我所寻找的。我宁愿不必使用涉及用户的复杂过程来重新实现我自己的DH版本。
答案 3 :(得分:0)
目前为加工公司编程 -
他们是交易应用程序的一套规则和规则 - 或者 - POS APP(销售点应用程序)
规则在线列为PCI验证,必须签发一定数量的担保,或者是Visa,inc或许多其他公司的法律诉讼。
关于您的问题,它不符合PCI合规性,因为这是一个安全问题。
请阅读PCI合规性,以便他们完全了解安全性,不利于持卡人数据。
:)