我正在构建一个Android应用程序,它将日志行存储在旋转的日志文件中。当用户遇到问题时,他或她可以向我们发送附带日志文件的支持请求。
出于显而易见的原因,我想加密这些日志行。
逐行非对称加密Android日志的最佳方法是什么?
答案 0 :(得分:3)
您已经设置了几个约束条件:
为了有效和安全,我建议:
注意: - 如果你想保持真正的安全,不要自己实现安全原语(en / decryption,安全随机,签名),总是使用经过审查和测试的库 - 非对称加密必须始终保持盐渍
仍然 - 回答你自己 - 你想保持沟通的安全性。在许多情况下,通过TLS(HTTPS)发送日志以实现移动数据的安全性就足够了。通过加密,有很多方法可以使系统看起来安全,实际上有一些你可能没有意识到的弱点。
玩得开心
克
答案 1 :(得分:0)
虽然不是" app"但是bash
脚本,最近推出的项目的scenario one可能仍然有意义。但是,请注意它仍处于大量开发状态,虽然它可以在我的Android设备上运行,但它已经在生产环境中进行了不测试。
不是应用。欢迎您翻译或将其用作应用程序的一部分;只需阅读所使用的许可证。
支持通过GnuPG公钥进行非对称加密。
支持逐行加密以及每次写入加密。
可能很慢。目前还没有进行任何压力测试,但在我的旧手机上看起来还是很活跃。
通过mapfile
支持的大型日志行,每次解析操作通常可以处理几千行。
支持解密日志,但需要通过上述链接文档中的其他帮助 bash
脚本提供一些帮助。
由加密脚本副本写入的文件无法在同一设备上解密,只要该设备不具有相关的私钥。
版本bash
等于或大于4,查找繁忙的框,了解如何在Android上安装bash&n;朋友。
安装了gpg
或gpg2
。
用于加密的GnuPG公钥(最多两个)
由上述项目的主要脚本(其功能之一)编写的自定义脚本副本,用于使用上述公钥。
修改了日志记录过程以使用脚本副本的命名管道进行写入操作。
与加密要求相同,但是,您需要与用于加密文件的公钥对应的私钥。
您需要上面链接文档中的帮助脚本 feed 您的解密命名管道。
而不是加密脚本副本,您将要按照指示修改脚本副本以进行解密。
它的主要脚本是两千行,它写的副本要短得多。这是因为主脚本必须处理用户输入以确定您的意图是什么,因为脚本副本只处理从其命名管道读取的输入并在其被告知的地方写出加密数据。如果提供的关联方案没有达到标记,则还可以使用完整documentation of all command-line options。