美文网首页
iOS - 信息安全之数据库加密

iOS - 信息安全之数据库加密

作者: Mn_Su | 来源:发表于2022-09-02 11:18 被阅读0次

背景:公司安全部做信息检查时扫描到沙盒文件夹存在数据库db,需要对db文件要求进行加密!

一、对固定db进行加解密

前提:此种加密db不需要进行'增删改'等操作,仅提供'查'的权限;

  1. 采取通用的加密工具:

    pod 'FMDB/SQLCipher'

  2. 核心思路:打开数据库open -> 设置秘钥 setkey -> 查看连接 goodConnection -> 新建数据库并迁移数据,删除老的数据库;

  3. 新建继承FMDatabase的子类LCEncryptDatabase:

    a.  重写父类四个函数,新增一个函数:
    
    1. `-(BOOL)open;`
    
    2. `-(BOOL)openWithFlags:(int)flags;`
    
    3. `-(BOOL)openWithFlags:(int)flags vfs:(NSString *)vfsName;`
    
    4. `-(const char*)sqlitePath;`
    
    5. `-(void)setEncryptKey:(NSString *)encryptKey`;
    
    b. 不同版本的FMDB对应的重写方法不一致,下列拿2.5和2.75两个版本举例参考:
    
    1.  ~2.5版本:
    
图片.png
  1. ~2.75版本:
图片.png
  1. 在需要加密的地方调用 :

    a. [FMEncryptDatabase setEncryptKey:@"秘钥"];

  2. 正常sql语句查询读取数据库数据;

    a.限制:此查询限制在[db close]前,当数据库关闭后再查询读取会报错 sqlite error :file is encrypted or is not a database

二、对不固定db进行加解密

前提:仅对数据库进行加解密,但不限制数据库的'增删改查';

注意点:
1.需要根据对应使用的数据库<sqlite3、FMDB、LKDB等>做open和close区分;
2.可以设置数据库自动close时间进行限制;

  1. 在[db open]的时候进行解密:
图片.png
图片.png
  1. 在[db close] 时候进行加密:
图片.png 图片.png
  1. 也支持修改数据库秘钥:
图片.png

相关文章

  • iOS - 信息安全之数据库加密

    背景:公司安全部做信息检查时扫描到沙盒文件夹存在数据库db,需要对db文件要求进行加密! 一、对固定db进行加解密...

  • 【转·链接】iOS FMDB对数据库进行加密

    iOS - 使用FMDB进行数据库加密iOS FMDB数据库加密相关

  • 怎么可以确保数据库安全呢?

    怎么可以确保数据库安全呢? 一、数据库数据加密 数据加密能够有用防止数据库信息失密性的有用手段。一般加密的办法有更...

  • web server (nodejs) 之安全

    安全 XSS攻击:窃取前端的cookie内容sql 注入:盗取数据库内容密码加密:保障用户信息安全(重要!) 补充...

  • iOS安全之SSL协议

    iOS安全之SSL协议 作用 不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三大风...

  • iOS安全之数字证书和安全机制

    iOS安全之数字证书和安全机制 非对称加密和摘要 非对称加密就是指加密密钥和解密密钥是不同的,而且加密密钥和解密密...

  • iOS-AFN

    博文参考iOS开发之网络层探索iOS安全策略之HTTPS Github Demo AFN头文件信息

  • 技能tree

    iOS 1、网络通信:socket、网络协议、request 2、安全方案:数据加密、传输加密、代码安全 3、数据...

  • 2018-05-31 iOS本地保存用户名和密码

    iOS 本地保存用户名密码等敏感信息,使用plist文件存储或者NSUserdefaults并不安全,需要进行加密...

  • iOS 信息安全:MD5及DES、AES、RSA加密

    【安全篇】.NET,Android,iOS 双向互通DES+Base64加密 【安全篇】iOS中使用AES 256...

网友评论

      本文标题:iOS - 信息安全之数据库加密

      本文链接:https://www.haomeiwen.com/subject/vabenrtx.html