Development/Security
[Security] Android KeyChain을 사용하여 대칭 키를 안전하게 저장
은스타
2019. 8. 29. 13:20
반응형
이번 포스팅은 Android KeyChain을 사용하여 대칭키를 안전하게 저장하는 방법에 대하여 알아보도록 하겠습니다.
Android KeyChain API를 사용하여 대칭 키를 저장하는 안전한 방법은 다음과 같습니다.
Part 1. Key 생성 및 저장
1. 대칭키를 생성합니다.
2. Android Keystore에서 비대칭키를 생성합니다.
3. 2번에서 생성한 비대칭키의 공개키(Public Key)를 사용하여 대칭키를 암호화합니다.
encrypted_symmetric_key = public_encrypt (symmetric_key)
4. 앱 내에 암호화된 대칭키를 저장합니다.
Part.2 대칭키를 사용
원문을 암복호화할 경우에 사용합니다.
1. Android KeyStore에서 비 대칭키의 개인키(PrivateKey)를 메모리로 로드합니다.
2. 앱 내에 암호화된 대칭키를 디스크에서 로드합니다.
3. 1번에서 로드한 개인키(PrivateKey)로 암호화된 대칭키를 복호화합니다.
symmetric_key = private_decrypt (encrypted_symmetric_key)
4. 복호화된 대칭키로 원문을 암호화 나 복호화를 진행합니다.
Reference
반응형