본문 바로가기
iOS/설명

[iOS] iOS Keychain

by Sky Titan 2022. 8. 20.
728x90
 

Basic iOS Security: Keychain and Hashing

Security is very important in iOS development. In this tutorial, learn basic iOS Security techniques including accessing the keychain and hashing values.

www.raywenderlich.com

iOS Keychain

 User의 email, password, 은행 계좌 정보와 같이 개인적인 정보를 저장할 때, application의 보안은 매우 중요하다. 이 정보들을 잠재적인 위협으로부터 보호하기 위해 Apple은 여러 개의 강력한 API들을 만들어 왔다.

 

 Apple 개발자들을 위한 가장 중요한 보안 요소 중 하나가 바로 iOS Keychain이다. 이것은 meta data나 민감한 정보들을 보관하는데 특화된 database이다. 그렇기에 Keychain을 사용하는 것은 기밀사항이나 비밀번호와 같은 app의 민감한 data들을 저장하는 데 가장 좋은 예제라고 할 수 있다.

 

 그렇다면 왜 UserDefaults와 같이 더 간단한 솔루션도 있는데 keychain을 사용하는 걸까?

 UserDefaults에 저장된 정보를 빼내는 것은 attacker들에겐 너무나 간단한 일이기 때문이다. 

 

 

Keychain 사용

 Apple의 GenericKeychain이라는 Sample Code에서 Keychain에 대한 간단한 interface인 KeychainPasswordItem을 사용할 수 있다.

 

Hasing 사용

 Cryptoswift라는 라이브러리를 사용하여 md5나 그 외의 암호화 방법들을 사용할 수 있다.

728x90

댓글