[iOS] 간단한 키체인과 해싱으로 보안 강화 (Basic iOS Security: Keychain and Hashing)
[iOS] 간단한 키체인과 해싱으로 보안 강화 (Basic iOS Security: Keychain and Hashing) 민감한 데이터를 저장하고, 저장된 데이터를 안전하게 꺼내어 사용자 인증 하는 과정을 Keychain을 이용하여 구현하는 방법을 소개합니다. 해당 포스트의 원문은 다음과 같습니다 : https://www.raywenderlich.com/129-basic-ios-security-keychain-and-hashing 소스코드 다운로드 AuthViewController.signInButtonPressed() 로그인 버튼이 눌렸을 떄 호출 AuthViewController.signIn() 함수 호출 AuthViewController.signIn() 사용자의 입력 종료 이메일, 비밀번호 입력 받은 데이터 검증 디바이스의 이름 가져오기 이름, 이메일, 비밀번호로 User 데이터 만들기 AuthController.signIn() 로그인 함수 호출 AuthController.signIn() class func passwordHash(from email: String, password: String) -> String { let salt = "x4vV8bGgqqmQwgCoyXFQj+(o.nUNQhVP7ND" return "\(password).\(email).\(salt)".sha256() } 입력받은 이메일과 비밀번호를 넘겨줘 AuthController.passwordHash()로 해싱 키체인(Keychain)에서 앱의 데이터를 식별하는데 사용되는 서비스 이름을 상단에 정의 KeychainPasswordItem.savePassword()로 암호 키체인에 저장 UserDefaults에 현재 유저정보 저장 KeychainPasswordItem(service: serviceName, account: user.email).s