2012-12-30 1 views
2

현재 Android 기기에 저장된 파일에 투명한 암호화/암호 해독 레이어를 제공하려고합니다. 나는 이들 각각의 파일에 무작위 접근이 필요하다 (검색 알고리즘에 필요). 레이어는 프로그램의 나머지 부분에 RandomAccessFile 또는 FileChannel을 제공해야합니다.Android에서 암호화 된 데이터에 대한 임의 액세스를 설정하는 방법이 있습니까?

ECB, CTR, XEX 및 XTR과 같은 특정 암호화 모드는 임의 액세스를 용이하게 할 수 있음을 보여 주지만 휠을 다시 만들기 전에 다른 사람의 도구를 사용하고 싶습니다. 전문가에게 암호를 남기는 것이 훨씬 낫습니다.

이상적인 솔루션은 Java 라이브러리를 사용하여 액세스 할 수있는 암호화 된 디스크 이미지이지만 Android 용으로 사용할 수있는 것은 없습니다.

암호화 된 파일에 임의 액세스를 제공하는 방법이 있습니까? 이것은 많은 사람들이 자신의 앱에서 원하는 것이라고 생각합니다!

답변

0

임의의 읽기 액세스가 쉽습니다. CTR을 사용하지만 올바른 키와 논스 용도가 맞는지 확인하십시오. 랜덤 쓰기 액세스 일 수 있습니다. CTR을 사용하면 블록을 변경하면 정보가 제 시간에 누출됩니다. 따라서 공격자가 하나의 파일에 대한 단일 뷰를 얻으면 OK가됩니다. 그렇지 않으면 일반 텍스트에 대한 정보가 직접 누설됩니다.

특정 사용 시나리오가 있습니다. 이 작업을 수행하는 라이브러리가 있다면 아직 보지 못했습니다. 또한 키 관리는 일반적으로 응용 프로그램에 따라 다릅니다. 위협 시나리오에 대처해야 할까봐 걱정됩니다.

문자열이나 파일과 같은 관련 정보에 ECB를 사용하면 안됩니다. XEX (또는 관련 XTS)는 일반적으로 Java 암호화 라이브러리 (예 : Oracle JCE 또는 Bouncy)에서 사용할 수 없습니다.

+0

내 대답에 문제가 있습니까? –

관련 문제