在iOS中加密-发送-保存-接收文件

时间:2018-10-16 20:18:53

标签: ios encryption icloud imessage-extension

我有一个发送文件的iMessage应用程序。数据使用CloudKit保存在iCloud服务器中。一切正常。

现在,我想添加新的安全级别。我想先加密数据,然后再将其发送到iCloud。

问题在于无法使用公钥/私钥对:

  • 在iMessage中,扩展名无法识别用户。
  • 对话参与者之间无法打开实时会话以交换密钥。

以下任何一个选项都不足以确保数据安全:

  • 使用应用程序中硬编码的密钥加密。
  • 生成随机密钥,对其进行加密,然后将其与数据保存在iCloud服务器中,以便可以与文件一起下载以对其进行解密。

iCloud可能是安全的,但是用户的数据可能是个人/敏感的,因此我想添加一个新的安全层+这对我来说是一个有趣的练习。

有人可以帮助找到正确的加密方法吗?

1 个答案:

答案 0 :(得分:0)

您可以在自定义MSMessage的URL中发送密钥,以及CloudKit地址。网址密钥和地址可以作为数据网址的基本64格式进行编码,因此只有您的应用知道如何解码。

这样,至少有人需要知道如何在获取加密密钥之前对标准url进行解码。