KNUnDroid(=경북대 도우미)는 도서관 ID와 Password의 저장에 SharedPreference를 쓰고 있습니다. 이는 안드로이드에서 기본으로 지원하는 소용량 간이 데이터베이스라고 보시면 됩니다.

루팅하지 않는 이상 이 데이터베이스에 일반적으로 접근하기는 어려우며, 뚫어서 파일을 빼낸다 하더라도 ID와 Password는 암호화 기법으로 암호화되어 저장됩니다. (제가 만든게 아니라 안드로이드에 기본으로 제공되는 암호화 기법 중 하나입니다) 또 이 암호화에 필요한 기준인 Seed는 연산을 통해 결정되므로 제3자가 저장된 파일을 빼낸다 하더라도 어떤 암호화를 사용했는지, 어떤 seed를 썼는지 알지 못하면 암호를 유효하게 알아낼 수 없습니다. 유효하다는 말은, 알아낼 수는 있지만 시간이 말도 안되게 걸린다는 이야기입니다. 가령 해독을 위해서 2^83회를 연산해야 원래 값을 알아낼 수 있다면 이 해독법은 이론적으로 가능하지만 의미가 없습니다. 초당 1테라(10^12, 또는 2^40)회를 연산해서 대입한다고 해도 2^43초, 약 28만년 걸립니다. 다행인건 백만년보단 짧네요. 뭐 병렬로 돌리거나 양자컴퓨터로 돌리면 이것보단 짧겠지만, 문제는 고작 이거 뚫자고 양자 컴퓨터를 동원하겠느냐, 라는 이야기입니다 (...)


실제로 ID와 비밀번호를 저장했을 때 안드로이드 기기 내에 저장되는 파일의 내용입니다. (개발중인 버전이라 버전 번호가 0.8.3으로 되어있습니다) 학번에 관계되는 SavedID와 비밀번호인 SavedPass가 모두 암호화되어 저장되는 것을 보실 수 있습니다. (다른건 기능 구현을 위해 저장되는 변수입니다)

하지만 해독 방법이 (무차별 대입이든 뭐든 간에) 존재하기 때문에, 해당 암호화 기법이 공식적으로 널리 사용되었음에도 불구하고 저는 이 것이 '무조건 안전'하다고는 말씀드릴 수 없습니다. 그러니 주기적으로 패스워드를 바꾸시는 것을 추천합니다. 만일 이 것으로도 불안하다고 생각하시는 분은 패스워드를 저장하지 마시고 WIFI 대신 3G를 사용하세요. 그리고 패스워드를 주기적으로, 특수문자와 영문, 숫자를 고루 섞어둔 긴 것으로 바꾸세요.
저작자 표시 비영리 변경 금지
신고
Posted by Erwin

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절


BLOG main image
짬처리견 삼년이면 특등사수!
“근데 말이야.” “네?” “개도 특등사수라는데 넌 몇 년짼데 아직 못 됐냐?” “…….” by Erwin

달력

«   2017/10   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

공지사항

카테고리

분류 전체보기 (15)
경북대 도우미 (15)

최근에 받은 트랙백

Total : 14,761
Today : 0 Yesterday : 0
Statistics Graph