본문 바로가기

디지털포렌식(Digital forensic)/암호스토리

스마트폰 패턴 암호화 규칙

반응형

An Android lock screen pattern being entered.   Sam Shead/BI

 


스마트폰의 패턴 암호화는 사용자가 설정한 패턴을 이용해 장치를 잠금 해제하는 보안 방법이다.
패턴 암호화는  3x3 그리드에서 최소 4개의 점을 연결하여 하나의 패턴을 생성하는 방식이다.

스마트폰 패턴 암호화에 적용된 규칙


그리드 규칙
스마트폰의 패턴 잠금 화면은 보통 3x3 그리드로 구성된다.
사용자는 이 그리드 내에서 점을 연결해 패턴을 만들어야 한다.
점은 중복해서 사용될 수 없으며, 하나의 연속된 경로로 연결되어야 한다.


최소 점 개수

패턴을 만들 때 최소 4개의 점을 연결해야 한다.
최소 4개의 점 규칙은 보안 수준 높이기 위한 값으로 더 많은 최소점을 필요로 하는 경우도 있다.


연결 방식
점을 연결할 때는, 이미 사용된 점은 다시 사용할 수 없고,
두 점 사이에 있는 점은 자동으로 포함된다.
예를 들어, (1,1)에서 (1,3)으로 이동할 때 (1,2)를 건너뛰면 안 되고, (1,2)를 거쳐야 한다.


복잡성
패턴의 복잡성은 점의 수와 경로의 다양성에 따라 달라진다.
패턴이 복잡할수록 추측하기 어려워지고 보안성은 높아진다.
하지만 너무 복잡한 패턴은 기억하기 어렵고 패턴에 접근하는데 시간이 걸린다.


패턴 잠김
추가적인 보안 옵션으로 일정 횟수 이상 잘못된 패턴 입력 시
장치가 잠기거나, 데이터가 삭제되는 등의 옵션이 있다.


패턴 저장 방식(암호화)
패턴은 해시 알고리즘을 사용해 암호화된다.
사용자가 패턴을 설정하면, 이 패턴은 해시 값으로 변환되어 저장된다.
사용자가 패턴을 입력할 때마다 저장된 해시 값과 비교해 일치 여부를 확인한다.




스마트폰의 패턴 잠금 정보는 /data/system 디렉터리 내에 저장된다.
패턴 잠금 해시 값은 gesture.key 파일에 저장된다.

경로: /data/system/gesture.key

/data/system 디렉터리와 그 안의 파일들은 일반 사용자 권한으로 접근할 수 없으며,
루트 권한이 있어야 접근할 수 있어 사용자가 직접 이 파일을 열어볼 수 없다.

뿐만 아니라,
미국 국가안보국(NSA)이 개발한 리눅스 커널 모듈인 SELinux(Security-Enhanced Linux)를
사용해서 안드로이드 OS에서 시스템의 액세스 제어를 통제한다.


 

728x90