我的应用程序访问加密的SD卡上的数据,而无需进行解密

时间:2017-11-29 09:51:00

标签: android encryption android-sdcard sd-card

我们的一位用户报告使用我们的Android应用程序在Android上访问加密SD卡上的数据时出现问题。

他在Galaxy Note 4(SM-N910F)上使用Android 6.0.1。该应用程序将Storage Access Framework与ACTION_OPEN_DOCUMENT_TREE结合使用以访问SD卡数据。 sdcard配置为加密。

只要只涉及应用程序本身,一切正常。可以毫无问题地读取和写入SD卡上的数据。所有这些数据都存储在SD卡上并可以检索。只要我们的应用程序读取了另一个应用程序写入的数据,我们的应用程序就会读取加密数据。此外,当弹出SD卡并使用计算机检查我们的应用程序写入的数据时,数据根本不加密。我们的应用程序只是将明文数据直接写入SD卡。其他应用程序写入的数据已加密。另一个有趣的事情是,重新插入SD卡后,设备似乎加密了我们的应用程序编写的非加密文件。之后我们的应用程序将开始只从SD卡读取加密数据。

当禁用SD卡加密时,一切正常。

所以看起来我们的应用程序使用sdcard,但不知何故绕过配置的SD卡加密。我不确定这是怎么回事。我找不到有关此问题的任何错误报告。这是使用存储访问框架时的预期行为吗?有没有人对如何减轻所描述的问题有任何提示或提示?其他应用程序似乎正好处理SD卡访问。

说明问题:

    Apps          |                Android System
                  | 
#------------#    |                                   #--------#
| Our App    | <---------------- IO^1 --------------> |        |
#------------#    |                                   |        |
                  |                                   | SDCard |
#------------#    |   #----------------------#        |        |
| Other Apps | <-IO-> | En-/Decryption Layer | <-IO-> |        |
#------------#    |   #----------------------#        #--------#

^1这不应绕过en / / decryption层,但显然会这样做。

0 个答案:

没有答案