iOS学习 —— 数据加密相关介绍

AES加密

aes(The Advanced Encryption Standard)是美国国家标准与技术研究所用于加密电子数据的规范。它被预期能成为人们公认的加密包括金融、电信和政府数字信息的方法。本文展示了AES的概貌并解析了它使用的算法。包括一个完整的C#实现和加密.NET数据的举例。在读完本文后你将能用AES加密、测试 基于AES的软件并能在你的系统中使用AES加密。

美国国家标准与技术研究所(NIST)在2002年5月26日建立了新的高级数据加密标准(AES)规范。将提供一个用C#编写的的能运行的 AES 实现,并详细解释到底什么是 AES 以及编码是如何工作的。同时展示如何用 AES 加密数据并扩展本文给出的代码来开发一个商业级质量的 AES 类。解释了怎样把 AES 结合到你的软件系统中去和为什么要这么做,以及如何测试基于 AES 的软件。
  AES 是一个新的可以用于保护电子数据的加密算法。明确地说,AES 是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 位密钥,并且用 128 位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据 的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换(permutations )和替换(substitutions)输入数据。Figure 1 显示了 AES 用192位密钥对一个16位字节数据块进行加密和解密的情形。

BASE64编码

Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。

MD5加密

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。

由于MD5算法的使用不需要支付任何版权费用的,所以在一般的情况下(非绝密应用领域。但即便是应用在绝密领域内,MD5也不失为一种非常优秀的中间技术),MD5怎么都应该算得上是非常安全的了。
在一些初始化处理后,MD5以512位分组来处理输入文本,每一分组又划分为16个32位子分组。算法的输出由四个32位分组组成,将它们级联形成一个128位散列值。

首先填充消息使其长度恰好为一个比512位的倍数仅小64位的数。填充方法是附一个1在消息后面,后接所要求的多个0,然后在其后附上64位的消息长度(填充前)。这两步的作用是使消息长度恰好是512位的整数倍(算法的其余部分要求如此),同时确保不同的消息在填充后不相同。

安卓与ios系统安全对比

安卓系统:

安卓系统是开放的,应用程序可以去读取SD的全局公开目录,换句话说,应用之间是可以相互之间读取数据的,只要知道各自的数据位置和格式就可以去读取或者修改。因此,应用之间相互会产生大量的数据交集,相互之间被委托调用的内容会很多,这也就解释了为什么一些用户出现流量、花费激增或者安装带有病毒应用暗扣费的情况出现。

iOS系统:

iOS系统是一个封闭的系统,在iOS应用的开发中,开发者需要遵循苹果为其设定开发者协议,没有遵循规定协议而开发的应用不会通过App Store审核,这样就使得开发者在开发应用的时候必须遵守一定的协议,没有权限操作任何非本程序目录下的内容。

iOS应用加密问题

众所周知,苹果App Store上架审核很严格,但每天有着成千上万款应用程序审核提交,同时恶意软件的伪装越来越好,也还是让一些恶意软件从审核的夹缝中进入App Store中。就苹果而言,所面临的困难也是十分恶劣的。

根据国外某安全服务商的最新调查,iOS前100名付费应用中87%均遭黑客破解。[5] 除了免费iOS应用被破解以外,越来越多收费应用被破解,破解的应用类型包含各个类型,包括游戏、商业、生产、金融、社交、娱乐、教育、医疗等。这些收费应用原本是需要付费下载的,而被破解之后,用户不需要付费也能下载。内购破解、源代码破解、本地数据窃取,网络安全风险,iOS应用风险无处不在。

从2013年开始,移动互联网圈内涌现了不少从事移动应用安全服务的公司,其中不乏互联网大佬,但遗憾的是,这些公司更多的重心一直都在安卓应用安全,提供的服务都是为安卓应用加密服务,没有对iOS应用提供安全服务的公司。到底是因为iOS系统的封闭性还是因为iOS加密技术比较难而导致这些公司一直止步于前呢?原因不得而知,我们知道的是iOS应用安全一直处于空白。

安全风险

1、内购破解

插件法(仅越狱)、iTools工具替换文件法(常见为存档破解)、八门神器修改

2、应用程序函数PATCH破解

利用FLEX 补丁软件通过派遣返回值来对应用进行patch破解

3、网络安全风险

截获网络请求,破解通信协议并模拟客户端登录,伪造用户行为,对用户数据造成危害

4、源代码安全风险

通过使用ida等反汇编工具对ipa进行逆向汇编代码,导致核心代码逻辑泄漏与被修改,影响应用安全

ios应用加密已实现

在这种安全形势下,爱加密通过对大量的案例进行详细分析,针对iOS的技术原理和破解原理,强势推出iOS应用加密技术,分别从本地数据、方法体/方法名、URL编码、程序结构、网络数据传输等几个方面对iOS应用进行全方位的保护,并可以根据iOS应用用户的需求提供定制解决方案,从而实现iOS防破解保护。

爱加密CTO林魏表示,作为全球首家推出的iOS应用防破解技术的平台,爱加密的技术在全球都是遥遥领先。整个加密过程纯净简单,没有技术底子的人也能完成,也不需要额外开发。加密过程融入到编译源码的过程,操作简单,而且加密过程更不会嵌入任何插件,用户不需要担心任何风险。对于用户比较担心的应用性能问题,林魏也表示无需担心,加密不会影响应用性能,无论是大型游戏、小型应用还是企业级应用,加密后的应用都能达到完美适配。更值得一提的是,因为加密后的应用更加安全,所以在AppStore上架的时候审核也会更快,让用户毫无后顾之忧。

爱加密作为国内最专业的移动应用保护平台,提供涉及APP开发、APP定制保护服务、APP运营等环节的一站式安全服务。凭借优异的安全技术及优质服务一直以来都是业内公认的知名安全平台。此次又全球首家率先推出了iOS应用防破解技术,结合原有的安卓应用加密服务,爱加密针对整个移动端应用的安全,已经拥有了提供全面保护的能力。相信在将来,爱加密会在更多的领域进行创新、探索,以建立更加完善的移动互联网安全体系。

iOS学习 —— 数据加密相关推荐

  1. 【原】iOS学习之事件处理的原理

    在iOS学习23之事件处理中,小编详细的介绍了事件处理,在这里小编叙述一下它的相关原理 1.UITouch对象 在触摸事件的处理方法中都会有一个存放着UITouch对象的集合,这个参数有什么用呢? ( ...

  2. iOS学习——核心动画之Layer基础

    iOS学习--核心动画之Layer基础 1.CALayer是什么? CALayer我们又称它叫做层.在每个UIView内部都有一个layer这样一个属性,UIView之所以能够显示,就是因为它里面有这 ...

  3. OpenCV for Ios 学习笔记(4)-标记检测1

    本文原始地址:OpenCV for Ios 学习笔记(4)-标记检测1 简单的标记经常是以白色块和黑色块构成的规则图形.因为我们预先知道这些因素,所以我们可以很容易检测标记. 如图: 首先,我们需要找 ...

  4. IOS学习笔记(九)之UIAlertView(警告视图)和UIActionSheet(操作表视图)基本概念和使用方法...

    IOS学习笔记(九)之UIAlertView(警告视图)和UIActionSheet(操作表视图)基本概念和使用方法 Author:hmjiangqq Email:jiangqqlmj@163.com ...

  5. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  6. iOS学习资源(一)

    用了印象笔记也很久了,这里就把自己整理的一些学习资源分享出来.需要共享印象笔记的小伙伴可以联系: shavekevin@gmail.com 我会把自己的工作笔记共享给大家,和大家一起学习,一起进步. ...

  7. iOS学习之iOS沙盒(sandbox)机制和文件操作(二)

    接上篇 iOS学习之iOS沙盒(sandbox)机制和文件操作(一) 我们看看如何获取应用程序沙盒目录.包括真机的沙盒的目录. 1.获取程序的Home目录 [cpp] view plaincopy N ...

  8. IOS学习之蓝牙4.0

    转载请注明出处 作者:小马 IOS学习也一段时间了,该上点干货了.前段时间研究了一下IOS蓝牙通讯相关的东西,把研究的一个成果给大家分享一下. 一 项目背景 简单介绍一下做的东西,设备是一个金融刷卡器 ...

  9. IOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem

    转:http://blog.csdn.net/totogo2010/article/details/7681879 1.UINavigationController导航控制器如何使用 UINaviga ...

最新文章

  1. 【bzoj 1833】【codevs 1359】 [ZJOI2010]count 数字计数(数位dp)
  2. 腾讯 AI Lab 开源业内最大规模多标签图像数据集
  3. 洛谷——P1044 栈
  4. NYOJ 70 阶乘因式分解(二)
  5. oracle11g安装成功
  6. 运行caffe识别数字的模型mnist
  7. 把JS里面的Date规范输出为“YYYY-MM-DD HH:mm:SS”的字符串
  8. English trip -- VC(情景课)5 Around Town
  9. python列表转换成数字_Python中列表元素转为数字的方法分析
  10. js与c语言互相调用,Objc与JS间相互调用
  11. 回首十年——写给还在各等级教育中盲目学习的人
  12. android q桌面,Android Q带来全新桌面模式
  13. Bootstrap 轻量级后台管理系统模板--ACE使用介绍
  14. 苏宁收购天天快递,海航哭晕,申通老板怒赚20亿
  15. matlab eemd输出,MATLAB信号处理EEMD工具箱
  16. 机器学习(三):如何理解最大似然估计MLE与最大后验估计MAP
  17. Windows编程 DirectInput 鼠标和键盘的输入
  18. Javascript-introduce
  19. seo优化教程-免费SEO优化详细教程
  20. 特斯拉刹车失控地库撞墙!官方回应系地面太滑;网友:反正车没问题

热门文章

  1. 又漏标尺寸了?看SOLIDWORKS MBD如何帮你解决!
  2. 如何在jsp里面定义方法
  3. Python读execl之xlrd库函数详解一:工作簿相关
  4. TI的C6000系列DSP,flashboot的实现
  5. Futuremark推出存储基准测试
  6. cmd for 遍历目录_DOS 遍历目录及子目录,删除特定名称文件夹或文件
  7. 我对《无为无不为》的感想
  8. 创业大赛策划承办机构|创成汇
  9. [原创][更新]我的第二本电子书: 英语长难句-宝典 2018年07月09日
  10. OJ刷题之《字母的争论》