2011-03-25 3 views
2

암호화해야하는 중요한 데이터가 많이 포함될 Android 태블릿 및/또는 iPad 용 애플리케이션을 만들고 싶습니다.Android/iPad의 암호화 된 저장

나는 그 문제를 다루는에 대한 두 가지 방법을 생각하고있다 :

  1. 가 구현 (또는 구현 사용) 일부 잘 알려진 암호화 알고리즘을,하지만 그건 아마로 개인 키를 전달하는 문제를 잎 사용자가 응용 프로그램을 시작할 때마다 화면 키보드에서 1,024 바이트의 키를 입력해야하는 경우 가장 좋음
  2. 하드웨어 암호화 장치 (스마트 카드, etoken 등)를 사용하는 것이 가장 안전한 방법 중 하나 일 수 있습니다. 그러나 여기서 문제는 어떻게 하드웨어 장치를 태블릿에 삽입 할 수 있는가하는 것입니다. 난 아마 USB 포트를 것입니다 안드로이드 장치를 몇 가지 찾을 수 있지만 그 장치의 종류가 안드로이드에서 지원되는 사람이 누구인지 알고 있습니까? 나는 그것에 USB가 없기 때문에 iPad에서 그런 종류의 솔루션에 대해 생각하는 것은별로 생각하지 않는다고 생각한다. 이 전체적인 접근법의 또 다른 소형화는 항상 암호화 장치를 휴대해야하므로 삶이 좀 더 복잡해집니다.

우리는이 응용 프로그램에 대해 가능한 모든 장치에서 작동시킬 필요가 없다고 추가해야합니다. 우리는 하드웨어와 소프트웨어를 모두 제공하기 때문에 하나의 장치 (Android 또는 iPad)로 제한 할 수 있습니다. 외부 암호화 장치에도 동일하게 적용됩니다.

보안은 고객의 주된 관심사이며 비슷한 상황을 다루는 사람이 누구인지 그리고 어떤 솔루션을 사용했는지 알고 싶습니다.

답변

2

많은 양의 중요한 데이터를 보유하려는 경우 대칭 암호화 알고리즘을 사용하게됩니다. 관련된 개인 키나 공개 키는 없습니다. (개인 키를 개인에게 강조하기 위해 개인 키를 사용했을 수도 있습니다.)

또한 키는 최대 256 비트 (일반적으로 AES 이상)입니다.

그리고 사용자가 반드시 256 비트 키를 입력 할 필요는 없습니다. @PBKDF2을보십시오. 간단한 문자열에서 암호 학적으로 안전한 키를 유도합니다 (강도는 여전히 단순 문자열에 달려 있음).

다른 대안은 사용자가 태블릿에서 무작위로 그림을 그어 안전하게 키를 파생시키는 것입니다. TrueCrypt와 유사합니다. 그러나 진실한 암호는 절차의 힘을 증가시키기 위하여 쥐 운동을 이용하고 그러나 반드시 열쇠를 생성하기 위하여 그것을 이용하지 않는다.

http://mobileoffice.about.com/od/mobilesecurity/ss/how-to-encrypt-files-with-TrueCrypt_7.htm

의 핵심 요구는 그래서 확실히 그리기 OUT 질문입니다, 어딘가에는 (분명히) 해독하기 위해 저장합니다. 그러나 암호 + PBKDF2가 이상적인 선택이어야합니다.

+0

Android에서 사용할 수있는 암호화의 기본 구현을 알고 있습니까? 아니면 직접 구현해야합니까? – RaYell

+0

아니요! 당신은 자기 자신을 구현할 필요가 없습니다. Bouncy Castle 또는 javax.crypto (http://developer.android.com/reference/javax/crypto/package-summary.html) : D를 사용할 수 있습니다. –

2

안드로이드는 안드로이드 개발 시작하기에 아주 좋은 장소입니다 오픈 의도를 열고 안전

http://www.openintents.org/en/safe

라고 열려있는 프로젝트가 있습니다. 기존 응용 프로그램을 기반으로 코드를 개발하고이 응용 프로그램에서 부족한 작업을 수행 할 수 있습니다.

+0

iPad 개발은 암호화가 지루할 수 있습니다. 모든 일은 처음부터 끝내야 만했다. 아마도. Android 앱을 사용하는 것이 좋습니다. 또한 안드로이드는 빠르게 성장하고 있습니다. 이 응용 프로그램에 손가락 인쇄 스캐너는 훌륭한 기능이 될 것입니다. –

+1

그래, 나는 iPad가 보안 측면에서 짜증이 난다는 것을 안다. 나는이 프로젝트를 위해 안드로이드를 선택하는 것이 좋다. 나는 누군가가 이미 내가 필요로하는 것과 비슷한 것을했을 경우에 대비하여 iPad를 언급했다. – RaYell

+0

넵 .. iPad는 ... 개발자가 원하는 것을 항상 할 수는 없습니다. 애플은 애플의 모바일 제품보다 빠르게 성장하고 있습니다 .. –

0

RaYell javax.crypto는 AES, 256 비트 키, 초기화 벡터 및 암호 해시를 완벽하게 지원합니다. 당신은 자신의 간단한 암호 강도 검사기를 작성한 다음 암호를 입력하고 시드 된 암호를 반복 해싱하여 키를 파생시킬 수 있습니다.앱을 게시하기 전에 수출 라이센스를 신청해야 할 수도 있고 안할 수도 있습니다. 나는 그렇다고 생각할 것이다.

JAL

관련 문제