" Park 기술 블로그 "
# 카테고리
# 도구
[Android 안드로이드] SharedPreferences 값 확인하기
2021-07-15 16:41:56

 오늘은 Android App 개발 할 때 자주 사용하는 SharedPreferences의 값들을 확인하는 법에 대해서 남겨두려 한다.

그리고 그냥 확인하는 법만 다루지 않고 암호화에 대해서도 간단하게 기록하려 한다. SharedPreferences는 Key-Value의 데이터 형태로 값을 저장할 수 있는 API다. Context.MODE_PRIVATE를 통해 자기 앱에서만 사용할 수 있도록 범위를 설정할 수 있지만 Android는 루팅이 비교적 쉬운 OS라고 알려져 있기 때문에 민감한 정보를 여기에 저장하는 경우 취약점이 될 수 있다. 이 취약점을 해결하기 위해서 제일 먼저 생각나는 것은 암호화해서 저장하는 방법이다. 하지만 암호화하기 위해서는 키 값이 필요하고 이 키 값을 소스 코드 안에 직접 입력하면 찜찜하고 위험하다. 실제로 앱을 디컴파일하면 소스 코드 안에 있는 키 값을 찾을 수 있다. 그러면 어떻게 암호화하는 것이 올바른 방법일까?

 

 안드로이드에서는 KeyStore 시스템을 제공하고 있다. 이 시스템을 사용한다면 암호화할 때 사용되는 키를 직접 소스 코드 안에 입력하지 않아도 된다.

" Android Keystore 시스템은 키 자료의 무단 사용을 방지합니다. 첫째, Android Keystore는 애플리케이션 프로세스와 Android 기기 전체에서 키 자료의 추출을 차단하여 Android 기기 외부에서 키 자료의 무단 사용을 줄입니다. 둘째, Android Keystore는 앱에서 승인된 키 사용처를 지정하도록 하여 앱 프로세스 외부에 적용하는 방식으로 Android 기기에서 키 자료의 무단 사용을 줄입니다. "

라고 KeyStore 시스템 공식 문서에서 설명하고 있다.

 

 필자가 사용했던 암호화 방법에서는 다음에 자세히 포스팅할 예정이다.

개발 중인 앱에서 SharedPreferences의 값들을 확인하는 방법은 Android Studio 상단 메뉴에서 [View] -> [Tool Windows] -> [Device File Explorer] -> [data > data > {app package} > shared_prefs > SharedPreferences 사용했을 시 name 값으로 된 xml 파일]에 들어가면 값을 볼 수 있다.

0
# 댓글 + 새 댓글 작성
# 새 댓글 작성
댓글 암호는 댓글 삭제 시 필요합니다.
# 님에게 답변 작성
대댓글 암호는 댓글 삭제 시 필요합니다.
# 님의 댓글 삭제
댓글 작성 시 입력했던 암호를 입력해주세요.
아직 댓글이 없습니다