iOS 网络传输数据安全以及常用的加密算法使用

我们常说的数据安全:主要分为两种,数据本身的安全和数据防护安全。

数据本身的安全包括数据保密,数据完整性验证,数据双向认证等。

数据防护安全包括磁盘阵列,数据备份,异地容灾等。

App安全问题主要包括:
    App代码安全,包括代码混淆,加密或者app加壳。
    App数据存储安全,主要指在磁盘做数据持久化的时候所做的加密。
    App网络传输安全,指对数据从客户端传输到服务器中间过程的加密,防止网络传输过程当中其他节点对数据的篡改。

我在这里主要想跟大家分享数据在网络传输过程中的安全问题。

数据安全简介

数据安全的基本概念

      数据安全:是一种主动的包含措施,数据本身的安全必须基于可靠的加密算法与安全体系,主要是有对称算法与公开密钥密码体系两种(非对称算法),都包含了数据的加密和解密过程。

      对称算法:对称密码算法有时又叫传统密码算法,是指加密密钥可以从解密密钥中推算出来,反过来也成立。

非对称算法:非对称密钥也叫公开密钥加密,就是不能由其中一个密钥推导出另一个密钥。 

      密钥:密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称 密钥与非对称密钥(也可以根据用途来分为加密密钥和解密密钥)。
      明文:没有进行加密,能够直接代表原文含义的信息。
      密文:经过加密处理处理之后,隐藏原文含义的信息。
      加密:将明文转换成密文的实施过程。

      解密:将密文转换成明文的实施过程。

网络数据安全传输要实现的效果 

    例如数据从A传输到B,怎么才算安全传输。

        1.Message有A的电子签名,表明消息确实是来自A。
        2.Message没有被篡改过。
        3.Message被某种加密算法加密过,只有A和B知道如何解密。

数据安全的原则

1.在网络上不允许传输用户隐私数据的明文。(即:App网络传输安全,指对数据从客户端传输到Server中间过程的加密,防止网络世界当中其他节点对数据的窃听)。
2.在本地不允许保存用户隐私数据的明文。(即:App数据存储安全,主要指在磁盘做数据持久化的时候所做的加密)。
3.App代码安全。(即:包括代码混淆,加密或者app加壳)。

4.要想非常安全的传输数据,建议使用https。

5.防止中间人攻击,建议双向验证。 

常用的加密算法
1.编码方案:指定数据的编码格式,通过简单 BASE64编码防止数据明文传输。如 Base64编码方案。

    Base64可以成为密码学的基石,非常重要。它可以将任意的二进制数据进行Base64编码,并且所有的数据都能被编码为并只用65个字符(A~Z a~z 0~9 + / =)就能表示的文本文件。

    注意:对文件进行base64编码后文件数据的变化:编码后的数据~=编码前数据的4/3,会大1/3左右。

    Base64编码原理:
        (1) 将所有字符转化为ASCII码
        (2) 将ASCII码转化为8位二进制
        (3) 将二进制3个归成一组(不足3个在后边补0)共24位,再拆分成4组,每组6位
        (4) 统一在6位二进制前补两个0凑足8位
        (5) 将补0后的二进制转为十进制

        (6) 从Base64编码表获取十进制对应的Base64编码

    Base64处理过程:
        (1) 转换的时候,将三个byte的数据,先后放入一个24bit的缓冲区

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值