应用内结算安全性 - 混淆密钥的处理方式是什么?

 . 发布于 2023-01-18 12:31

我正在使用Xamarin应用程序实现Google Play应用内结算,因此我查看了android和xamarin文档.他们都建议使用模糊的方法来混淆应用程序中的公钥:

http://developer.android.com/training/in-app-billing/preparing-iab-app.html

安全建议:强烈建议您不要对Google Play提供的确切公共许可证密钥字符串值进行硬编码.相反,您可以在运行时从子字符串构造整个公共许可证密钥字符串,或者在将其传递给构造函数之前从加密存储中检索它.这种方法使恶意第三方更难以修改APK文件中的公共许可证密钥字符串.

http://components.xamarin.com/gettingstarted/xamarin.inappbilling/true

虽然最佳做法是在远程服务器上而不是在设备上执行签名验证,但这可能并非总是可行.另一种技术是混淆您的Google Play公钥,并且永远不会将已组装的密钥存储在内存中.Xamarin.InAppBilling提供了Unify例程,可用于将您的Google Play公钥分成两个或多个部分,并使用一个或多个键/值对对这些部分进行模糊处理.此外,Xamarin.InAppBilling始终在内存中加密您的私钥.以下是使用Unify对私钥进行模糊处理的示例:

string value = Security.Unify (
new string[] { "X0X0-1c...", "+123+Jq...", "//w/2jANB...", "...Kl+/ID43" }, 
new int[] { 2, 3, 1, 0 }, 
new string[] {  "X0X0-1", "9V4XD", "+123+", "R9eGv", "//w/2", "MIIBI", "+/ID43", "9alu4"      })

但无处解释,这里的交易是什么.为什么有人想看到这把钥匙?如何看到/替换我的APK中的密钥会有什么好处?这里有什么可能的"攻击"?谢谢.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有