2012-07-23 3 views
1

그래서 암호화 키를 저장하는 방법에 의문을 가지고 iPhone 앱에서 AES 데이터 암호화를 구현하려고했습니다. 사용자가 입력 한 암호 인 암호화 키를 사용하여 데이터를 쉽게 암호화 할 수 있습니다. 그러나 키를 암호화되지 않은 상태로 저장하면 누구나 쉽게 액세스 할 수있는 암호화 키로 데이터를 쉽게 해독 할 수 있으므로 암호화는 쓸모가 없습니다. 키를 암호화 할 수는 있지만 다른 암호화되지 않은 키가 떠 다니고 누군가가 데이터를 따라 체인을 따라갈 수 있습니다. 나는 열쇠를 저장할 수 없다는 것이 명백해 보였으므로, 나는 열쇠가 오직 사용자의 마음 속에있을 수 있다고 생각했다. 매우 안전 할 것이지만 암호 해독이 올바르게 작동하고 사용자가 암호를 잊어 버린 경우 모든 데이터가 손실된다는 것을 확인할 방법이 없습니다. 이는 허용 할 수없는 것입니다.안전하게 iPhone에 AES 키를 저장하는 방법

기본적으로 AES 용 암호화 키를 안전하게 저장할 수 있습니까?

다른 질문이 표시되기 전에이 상황이 발생했음을 확신하지만 웹 중심으로 보였습니다. 잠재적으로 CommonCrypto를 사용하는 iPhone 중심 솔루션에 관심이 있습니까?

답변

1

말씀 드린대로 암호를 저장하지 마십시오. 비밀번호의 해시를 별도로 저장하고 올바른 비밀번호인지 테스트 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 사용자가 비밀번호를 잊어 버린 경우에는 어떻게해야합니까? – Regan

+0

@Regan, 그들은 응용 프로그램 데이터를 삭제하고 다시 시작해야합니다. 나는 이것이 표준 기능이라고 생각한다. iPhone에서 암호 (PIN 잠금 해제)를 잊어 버린 경우 옵션이 무엇인지 알 수 있습니까? 전화를 재설정하십시오. 다른 곳에서는 동기화되거나 저장되지 않은 것을 잃게됩니다. 시스템에서 암호를 잊어 버린 것은 침입자가 암호를 알지 못하는 것과 같습니다. 당신은 무엇을 암호화하고 있습니까? 서버에 복사본을 저장할 수 있습니까? –

0

키 체인에 보안 데이터를 저장하기 위해 내 프로젝트에서 사용하는 멋진 오픈 소스 키트가 있습니다.

PDKeychainBindingsController

1

은 아마 당신은 일반적인 서비스로 키 체인이 절약에 관심이 있습니까? SSKeychain이라는 키 체인 서비스에 대한 멋진 Objective-C 래퍼가 있습니다.

관련 문제