[android] App Bundle의 보안 요소

안드로이드 앱 번들(App Bundle)은 Google Play 스토어에서 앱을 배포하는데 사용되는 새로운 형식의 앱 배포 형식입니다. 앱 번들은 앱의 크기를 줄이고 사용자에게 필요한 최적화된 리소스를 제공함으로써 설치 시간을 단축시키고 디바이스 저장 공간을 절약할 수 있도록 돕습니다. 이 글에서는 앱 번들의 보안 요소에 대해 살펴보겠습니다.

앱 번들의 보안 장점

앱 번들은 다음과 같은 보안 장점을 제공합니다:

  1. 앱 번들 서명(앱 사인): 앱 번들은 마켓서버(Google Play)에서 앱 번들을 최적화하고 앱을 구성할 때 사용될 서명을 제공합니다. 이 서명을 통해 개발자는 앱에 대한 신뢰할 수 있는 출처를 보장할 수 있습니다.

  2. 동적 모듈화: 앱 번들은 모듈화된 형태로 앱을 빌드하고, 필요에 따라 특정한 모듈을 사용자에게 전달할 수 있도록 돕습니다. 이는 악의적인 사용자들이 안전하지 않은 소스코드를 포함하지 않도록 하는데 도움이 됩니다.

  3. 런타임에 리소스 할당: 사용자의 디바이스에 앱이 설치된 후, 앱 번들은 필요한 리소스를 런타임에 할당하므로 앱이 더욱 안전하게 운영될 수 있습니다.

보안 권장 사항

결론

앱 번들은 보다 효율적이고 안전한 방식으로 앱을 배포할 수 있도록 도와줍니다. 앱 번들을 적절히 활용하고 보안 관련 권장 사항을 준수함으로써 사용자와 개발자 모두에게 이점이 될 수 있습니다.

참고문헌:

다음은 앱 번들을 사용한 보안적인 방법에 대한 Kotlin으로 작성된 예제 코드입니다:

// 앱 서명 유지
val appBundle = AppBundle()
appBundle.sign("my_app_key")

// 권한 관리
fun checkPermission() {
    if (ContextCompat.checkSelfPermission(
            thisActivity,
            Manifest.permission.WRITE_EXTERNAL_STORAGE
        )
        != PackageManager.PERMISSION_GRANTED
    ) {
        // 권한을 요청하는 로직
    } else {
        // 권한이 부여된 후의 로직
    }
}