`
xyz_lmn
  • 浏览: 62872 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

android应用安全——数据安全

 
阅读更多

数据安全包含数据库数据安全、SD卡数据(外部存储)安全、RAM数据(内部存储)安全。

android中操作数据库可使用SQLiteOpenHelperContentProvider的方式。使用SQLiteOpenHelper操作数据库时,数据库存放在data/data/<packagename>/databases/目录,这个目录只能是应用自己访问,相对是安全的,但是root用户,这个目录也是透明的,因此,私密数据也要做到加密存储。使用ContentProvider操作数据时,本质上也是使用SQLiteOpenHelper,这时需要在AndroidManifest.xml来注册这个Provider,注册Provider就对外提供了访问这个数据库的接口,其他应用就可以访问这个数据库了,为了数据库数据安全就需要控制访问,如果不想对外提供访问只需在AndroidManifest.xml注册Provider时设置android:exported="false";如果想提供对外访问能力,最好设置android:readPermissionandroid:writePermission这两个属性,来分别指定对这个ContentProvider中数据读和写操作的权限。android数据库还要预防数据注入的攻击。

SD卡是一个公共的存储空间,只要申请了如下权限,就可以操作SD卡。也就是说SD卡数据是最不安全的,很容易被其他应用读取篡改,如果SD中存放数据,建议存放一些无关紧要的数据,重要数据加密存储或者存放到RAM中。

    <!-- 在SDCard中创建与删除文件权限 -->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
 
    <!-- 往SDCard写入数据权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

RAM数据存储在/data/data/<package name>/files目录中,只允许当前应用访问,安全性较好,但是root后的机器也是可以被读取篡改的,这里的数据也不是绝对的安全,RAM的敏感数据也要加密存储。


数据安全最重要的是解决数据加密的问题,密钥存储问题,选择合适的加密方法。加密方法,密钥存储建议使用

Native本地库实现。


/**
* @author 张兴业
* iOS入门群:83702688
* android开发进阶群:241395671
* 我的新浪微博:@张兴业TBOW
*/

分享到:
评论

相关推荐

    Android数据库应用编程——为企业开发数据驱动Android应用

    Android数据库应用编程——为企业开发数据驱动Android应用 透彻讲述如何使用内容提供器共享数据、使用适配器显示数据以及使用Web服务传输数据,介绍集成应用程序和现有企业系统、保护数据以及同步数据的方法。...

    Android应用程序框架安全机制研究及改进

    面对恶意软件的威胁,Android 使用了一套应用程序安全框架来保护安全。本文以 Android 现有的安全机制为基础,通过研究当前安全机制的不足,分析恶意软件攻击的特点,提出了多个具体的安全扩展和保护方案,达到了较好的...

    大数据背景下用户隐私安全保护研究——以Android应用为例.pdf

    大数据背景下用户隐私安全保护研究——以Android应用为例.pdf

    「WEB应用防火墙」BSIMM——构筑坚若磐石的安全软件 - 无线安全.zip

    「WEB应用防火墙」BSIMM——构筑坚若磐石的安全软件 - 无线安全 数据安全 安全实践 安全体系 Android 安全管理

    解析Google Android SDK——智能手机开发范例手册.rar

    第1章 Android应用程序基础 第2章 Android之HelloWorld 第3章 认识可爱的UI 第4章 应用资源 第5章 数据存储 第6章 蓝牙 第7章 Android与Internet 第8章 Android搜索框架 第9章 安全和权限 第10章 应用小部件 第11章 ...

    新形势下移动通信设备安全防护体系建设——以Android系统为例.pdf

    新形势下移动通信设备安全防护体系建设——以Android系统为例.pdf

    Android高级编程--源代码

    3.1 Android应用程序的组成部分 43 3.2 程序清单简介 44 3.3 使用清单编辑器 47 3.4 Android应用程序生命周期 48 3.5 理解应用程序的优先级和进程状态 49 3.6 分离资源 50 3.6.1 创建资源 50 3.6.2 使用资源...

    Android开发指南中文版-----应用程序框架

    线程安全方法 16 组件生命周期 17 Activity生命周期 17 调用父类 18 服务生命周期 21 广播接收器生命周期 22 进程与生命周期 22 用户界面User Interface 24 视图层次View Hierarchy 24 布局Layout 25 部件Widgets ...

    开源即时通讯(野火IM)系统Android端,支持Android 4.x —— 最新.zip

    网络与通信:数据传输、信号处理、网络协议、网络与通信硬件、网络安全网络与通信是一个非常广泛的领域,它涉及到计算机科学、电子工程、数学等多个学科的知识。 云计算与大数据:数据集、包括云计算平台、大数据...

    android 完全中文版 开发应用详解

    1.2.2 android应用开发 8 1.2.3 android系统开发 9 1.3 android的sdk与源代码 10 1.3.1 基于sdk的android开发 10 1.3.2 基于源代码sdk android开发 11 第2章 android系统开发综述 13 2.1 android的系统架构 13 2.1.1...

    《Android高级编程》

    1.9.3 Dalvik虚拟机 1.9.4 Android应用程序架构 1.9.5 Android库 1.9.6 高级Android库 1.10 小结 第2章 开始入手 2.1 Android开发 2.1.1 开始前的准备工作 2.1.2 创建第一个Android活动 2.1.3 Android应用程序的类型...

    ThinkSNS开源社交系统——Android端.zip

    网络与通信:数据传输、信号处理、网络协议、网络与通信硬件、网络安全网络与通信是一个非常广泛的领域,它涉及到计算机科学、电子工程、数学等多个学科的知识。 云计算与大数据:数据集、包括云计算平台、大数据...

    securitytools:android安全工具大全

    学术界和工业界正在开展大量工作,研究用于执行 Android 应用程序的动态分析、静态分析和逆向工程的工具。 在线分析仪 MobiSec Eacus IBM Security AppScan Mobile Analyzer - 不是免费的 NVISO ApkScan AVC ...

    android群雄传

    9.3 Android Apk应用信息获取之Activity Manager 215 9.4 解析Packages.xml获取系统信息 218 9.5 Android安全机制 220 9.5.1 Android安全机制简介 220 9.5.2 Android系统安全隐患 222 9.5.3 Android Apk反编译 ...

    Android程序设计基础

     作为基于Linux的开源手机平台,Android包括一部手机工作所需的全部软件——操作系统、用户界面和应用程序,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌公司与开放手机联盟合作开发了Android,这个联盟...

    新版Android开发教程.rar

    Android Android Android Android 应用现状 � 设备商: lenovo 、琦基、戴尔、三星、摩托罗拉、华为、英特尔、 Kogan 、索爱、华硕、多普达、爱可 视 、 Archos 等。 � 制造商: HTC 、 Telstra 等。 � 手机设计...

    xdef 2013 全国网络与信息安全防护峰会(第二届) - 安全技术资料汇总(共13份).zip

    APT攻击及其网络空间防护对策分析.pdf Windows_8.1安全新特性.pdf ...大数据安全新思路.pdf 密码芯片侧信道分析研究.pdf 拯救应急——传统应急响应如何适应高级安全威胁.pdf 智能手机系统安全与取证技术.pdf

    Android高级编程.pdf

    1.4 自带的Android应用程序 1.5 Android SDK功能 1.5.1 对包括摄像头、GPS和加速计在内的硬件的访问 1.5.2 自带的Google地图、地理编码和基于位置的服务 1.5.3 后台服务 1.5.4 SQLite数据存储和检索数据库 1.5.5 ...

    [《第一行Android代码》读书笔记] 第7章 跨程序共享数据——探究内容提供器

    ​ 内容提供器(Content Provider)主要用于不同的应用程序之间实现数据共享的功能,同时保证被访数据的安全性,是实现跨程序共享数据的标准方式。 7.2 运行时权限 ​ Android权限机制作用比较有限,容易出现“店...

Global site tag (gtag.js) - Google Analytics