设为首页 加入收藏

TOP

Android应用安全——签名机制
2014-11-24 01:09:17 来源: 作者: 【 】 浏览:4
Tags:Android 应用 安全 签名 机制

Android中使用Keytool(用于生成数字证书)和Jarsigner(用于使用数字证书签名)来给apk包签名。他们的具体使用方法可参考《Android之APK文件签名——keytool和jarsigner》。


在反编译横行、版权不受保护的情况下,我们可以使用签名对比来保障Android APK的软件安全,鉴定应用的安全性,保证我们的应用不被篡改、反编译。


签名对比可以使用下面三种方式:


1、 程序自检测。在程序运行时,自我进行签名比对。比对样本可以存放在APK包内,也可存放于云端。如果放在apk包内,以考虑程序自检测的功能用native method的方法实现;如果放在云端可以使用用户名加签名的方式,保证每一用户传送的内容不一致,否则简单抓包就暴漏了自检方式。


2、 可信赖的第三方检测。由可信赖的第三方程序负责APK的软件安全问题。对比样本由第三方收集,放在云端。这种方式适用于杀毒安全软件或者Google Play之类的软件下载市场。缺点是需要联网检测,在无网络情况下无法实现功能。iOS就不必担心这些,appstore可以保证应用的安全,android没有统一的应用市场,没有可信赖的第三方软件,这是一大软肋。


3、 系统限定安装。这就涉及到改Android系统了。限定仅能安装某些证书的APK。软件发布商需要向系统发布上申请证书。如果发现问题,能追踪到是哪个软件发布商的责任。适用于系统提供商或者终端产品生产商。缺点是过于封闭,不利于系统的开放性。


android应用安全是一个很复杂的问题,开发中要制定安全的通信协议、发布apk时要防反编译,仿解压重新编译,仿破解,开发中要谨小细微的对待每一步。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇使用xcode4做iOS国际化 下一篇Android代码优化——使用Android ..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: