Nuke Olaf - Log Store

[Android] Android Keystore 보안 시스템 본문

Android

[Android] Android Keystore 보안 시스템

NukeOlaf 2020. 3. 19. 22:24

현재 진행하고 있는 프로젝트 앱은 로그인 시 서버에서 access_token 과 signin_token 을 발급받는다.

해당 토큰들을 발급받아 local 에 저장해둔 뒤 꺼내 쓴다.

그러나 안드로이드는 루팅이 매우 쉬운 운영체제이다. 그래서 중요한 정보를 Shared Preference 와 같은 데이터 베이스에 저장해두면, 앱을 루팅하여 토큰을 알아낸 뒤 악용할 수 있는 여지가 있다.

그래서 어떻게 하면 토큰을 안전하게 저장하여 사용할 수 있을까 찾아보니 Android KeyStore 라는 것이 있다고 한다.

KeyStore api 는 암호화 키를 시스템만이 접근 가능한 곳에 안전하게 저장한다.

그 외에도 보안을 위해 지원되는 여러 라이브러리도 존재한다.

 

Android Keystore 시스템

Android Keystore 시스템을 사용하면 암호화 키를 컨테이너에 저장하여 기기에서 추출하기 어렵게 할 수 있습니다. 키 저장소에 키가 저장되면, 키 자료는 내보낼 수 없는 상태로 유지하면서 키를 암호화 작업에 사용할 수 있습니다. 이 시스템에서는 키 사용 시기와 사용 방법을 제한하는 기능도 제공합니다. 예를 들어 키 사용을 위해 사용자 인증을 요구하거나, 특정 암호화 모드에서만 키를 사용하도록 제한할 수 있습니다. 

 

참고 사이트 >>>

https://developer.android.com/training/articles/keystore

https://blog.yatopark.net/2016/05/01/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-keystore-%EC%8B%9C%EC%8A%A4%ED%85%9C/

https://hyperconnect.github.io/2018/06/03/android-secure-sharedpref-howto.html

https://g-y-e-o-m.tistory.com/141

Comments