본문 바로가기
■Development■/《Security》

[Security] Android KeyChain을 사용하여 대칭 키를 안전하게 저장

by 은스타 2019. 8. 29.
반응형

이번 포스팅은 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

https://codeday.me/ko/qa/20190503/453287.html

반응형