안드로이드는 apk파일을 생성하는 과정에서 개인키로 암호화서명을 하여,


이 apk 파일이 누구에 의해서 서명되었는지 알수 있습니다.


이로 인해서 우리는 해당 apk가 원래 소유자로부터 서명된 apk가 맞는지 확인을 할 수 있습니다.


이러한 인증과정은 누군가가 조작된 apk(악성코드가 심어진)를 배포하지 못하도록 하는 보안적인 이유입니다.



안드로이드 7.0부터는 v2의 새로운 서명 방식이 사용가능한데요.


android studio 2.2 이상을 사용하고 계신다면


apk 파일을 만들때 다음과 같은 화면을 만나게 됩니다.





signature version을 선택할수 있습니다.


기존의 서명이 v1이고요


안드로이드 7.0부터 지원되는 서명이 v2입니다.


두가지 모두 체크하여 두가지 모두를 지원할수 있고요


물론 v2만 체크할수도 있는데


그렇게 되면 v1만 지원하는 플랫폼에서 정상적으로 설치가 되지 않기 때문에


v2만 체크하는일은 없길 바랍니다.


http://trend21c.tistory.com/2017



https://source.android.com/security/apksigning/v2



안드로이드 7.0 에서는 위와 같은 순서로 서명을 확인합니다.


v2가 지원되는 안드로이드버전이고 앱이 v2로 서명이 되어있다면 v2 서명을 체크하여 곧바로 apk를 설치하게 되고,


v2가 지원되는 안드로이드버전인데 앱이 v2로 서명이 되어있지 않다면 v1 서명을 체크하여 apk를 설치하게 되는구조입니다.


v2가 지원되지 않는 안드로이드 버전일경우에는 v1 서명만 체크하여 설치가 됩니다.




v2가 앱을 인증하고 설치하는 속도가 v1보다 빠르다고 하니


사용자 입장에서는 빠르게 설치된다는 점이 좋은점이되겠네요.



출처: http://trend21c.tistory.com/2017 [나를 찾는 아이]