ラベル signature の投稿を表示しています。 すべての投稿を表示
ラベル signature の投稿を表示しています。 すべての投稿を表示

2013/11/01

JB_MR2(4.3)とKitKat(4.4)のPermission比較(メーカー署名関係)

Android 4.3 (JELLY_BEAN_MR2) が出て結構時間がたちました、恒例のsignatureがらみのPermission比較やらなきゃーと思って放置してたら4.4(Kitkat)が出ちゃったので慌てて更新します。
前回までのPermission比較は


にあります。


何調べてるの?

本記事は署名関係の Android Permission に注目してバージョン間の差分を比較しています。
これらの Permission が要求されるAPIに関してはOSビルド時の署名が必要になります。
メーカー端末であれば販売メーカーに依頼を出して署名をしてもらう必要がありますが、
通常出来ません。
よって3rdパーティアプリを作成する場合これらの Permission を要求されるAPIは使用不可能になります。
Androidはバージョンアップを重ねる毎にこれら Permission の締め付けがきつくなってるのでバージョンアップ毎にチェックしています。

JB MR2 と KitKatのプロテクションレベルの一覧比較


JB MR2
  • dangerous
  • signature|system
  • normal
  • signature
  • signature|system|development
  • system|signature
  • signatureOrSystem
KitKat
  • dangerous
  • signature|system
  • normal
  • signature
  • signature|system|development
  • system|signature
  • signatureOrSystem
特に変更なし


Permission増減調査(JB MR1(4.2) > JB MR2(4.3))

[signature]


これはメーカー署名がないと使用出来ないもの
android.permission.BLUETOOTH_STACK
android.permission.ACCOUNT_MANAGER
android.permission.HARDWARE_TEST
android.permission.NET_ADMIN
android.permission.REMOTE_AUDIO_PLAYBACK
android.permission.INTERACT_ACROSS_USERS_FULL
android.permission.GET_DETAILED_TASKS
android.permission.REMOVE_TASKS
+ android.permission.MANAGE_ACTIVITY_STACKS
android.permission.START_ANY_ACTIVITY
android.permission.SET_SCREEN_COMPATIBILITY
android.permission.ACCESS_ALL_EXTERNAL_STORAGE
android.permission.FORCE_STOP_PACKAGES
android.permission.SET_PREFERRED_APPLICATIONS
android.permission.ASEC_ACCESS
android.permission.ASEC_CREATE
android.permission.ASEC_DESTROY
android.permission.ASEC_MOUNT_UNMOUNT
android.permission.ASEC_RENAME
android.permission.DIAGNOSTIC
android.permission.STATUS_BAR_SERVICE
android.permission.FORCE_BACK
android.permission.INTERNAL_SYSTEM_WINDOW
android.permission.MANAGE_APP_TOKENS
android.permission.FREEZE_SCREEN
android.permission.INJECT_EVENTS
android.permission.FILTER_EVENTS
android.permission.RETRIEVE_WINDOW_INFO
android.permission.TEMPORARY_ENABLE_ACCESSIBILITY
android.permission.MAGNIFY_DISPLAY
android.permission.SET_ACTIVITY_WATCHER
android.permission.GET_TOP_ACTIVITY_INFO
android.permission.READ_INPUT_STATE
android.permission.BIND_INPUT_METHOD
android.permission.BIND_ACCESSIBILITY_SERVICE
+ android.permission.BIND_PRINT_SERVICE
+ android.permission.BIND_NFC_SERVICE
+ android.permission.BIND_PRINT_SPOOLER_SERVICE
android.permission.BIND_TEXT_SERVICE
android.permission.BIND_VPN_SERVICE
android.permission.BIND_DEVICE_ADMIN
android.permission.SET_ORIENTATION
android.permission.SET_POINTER_SPEED
android.permission.SET_KEYBOARD_LAYOUT
android.permission.CLEAR_APP_USER_DATA
android.permission.GRANT_REVOKE_PERMISSIONS
android.permission.ACCESS_SURFACE_FLINGER
android.permission.CONFIGURE_WIFI_DISPLAY
android.permission.CONTROL_WIFI_DISPLAY
android.permission.BRICK
android.permission.DEVICE_POWER
android.permission.NET_TUNNELING
android.permission.FACTORY_TEST
android.permission.BROADCAST_PACKAGE_REMOVED
android.permission.BROADCAST_SMS
android.permission.BROADCAST_WAP_PUSH
android.permission.CONFIRM_FULL_BACKUP
android.permission.CHANGE_BACKGROUND_DATA_SETTING
android.permission.GLOBAL_SEARCH_CONTROL
android.permission.READ_DREAM_STATE
android.permission.WRITE_DREAM_STATE
android.permission.COPY_PROTECTED_DATA
android.permission.MANAGE_NETWORK_POLICY
android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE
android.permission.BIND_PACKAGE_VERIFIER
android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY
+ android.permission.ACCESS_KEYGUARD_SECURE_STORAGE
+ android.permission.CONTROL_KEYGUARD
android.permission.BIND_NOTIFICATION_LISTENER_SERVICE


全権限新規追加

[signature|system]


メーカー署名があるか、プリインストールのシステムアプリでしか使用出来ないもの

android.permission.SEND_RESPOND_VIA_MESSAGE
android.permission.RECEIVE_EMERGENCY_BROADCAST
android.permission.BIND_DIRECTORY_SEARCH
android.permission.INSTALL_LOCATION_PROVIDER
android.permission.LOCATION_HARDWARE
android.permission.CONNECTIVITY_INTERNAL
android.permission.RECEIVE_DATA_ACTIVITY_CHANGE
android.permission.LOOP_RADIO
android.permission.MANAGE_USB
android.permission.ACCESS_MTP
android.permission.CAMERA_DISABLE_TRANSMIT_LED
android.permission.MODIFY_PHONE_STATE
android.permission.READ_PRIVILEGED_PHONE_STATE
android.permission.WRITE_MEDIA_STORAGE
+ android.permission.MANAGE_DOCUMENTS
android.permission.MANAGE_USERS
android.permission.SET_TIME
android.permission.WRITE_GSERVICES
android.permission.RETRIEVE_WINDOW_CONTENT
android.permission.WRITE_APN_SETTINGS
android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK
+ android.permission.MANAGE_CA_CERTIFICATES
android.permission.STATUS_BAR
android.permission.UPDATE_DEVICE_STATS
android.permission.UPDATE_APP_OPS_STATS
android.permission.SHUTDOWN
android.permission.STOP_APP_SWITCHES
android.permission.BIND_WALLPAPER
+ android.permission.MANAGE_DEVICE_ADMINS
android.permission.INSTALL_PACKAGES
android.permission.DELETE_CACHE_FILES
android.permission.DELETE_PACKAGES
android.permission.MOVE_PACKAGE
android.permission.CHANGE_COMPONENT_ENABLED_STATE
android.permission.READ_FRAME_BUFFER
+ android.permission.CAPTURE_AUDIO_OUTPUT
+ android.permission.CAPTURE_AUDIO_HOTWORD
+ android.permission.CAPTURE_VIDEO_OUTPUT
+ android.permission.CAPTURE_SECURE_VIDEO_OUTPUT
+ android.permission.MEDIA_CONTENT_CONTROL
android.permission.REBOOT
android.permission.MASTER_CLEAR
android.permission.CALL_PRIVILEGED
android.permission.PERFORM_CDMA_PROVISIONING
android.permission.CONTROL_LOCATION_UPDATES
android.permission.ACCESS_CHECKIN_PROPERTIES
android.permission.PACKAGE_USAGE_STATS
+ android.permission.BATTERY_STATS
android.permission.BACKUP
android.permission.BIND_REMOTEVIEWS
android.permission.BIND_APPWIDGET
android.permission.BIND_KEYGUARD_APPWIDGET
android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS
android.permission.GLOBAL_SEARCH
android.permission.SET_WALLPAPER_COMPONENT
android.permission.ACCESS_CACHE_FILESYSTEM
android.permission.CRYPT_KEEPER
android.permission.READ_NETWORK_USAGE_HISTORY
android.permission.MODIFY_NETWORK_ACCOUNTING
+ android.permission.MARK_NETWORK_SOCKET
android.permission.PACKAGE_VERIFICATION_AGENT
android.permission.SERIAL_PORT
android.permission.ACCESS_NOTIFICATIONS
+ android.permission.INVOKE_CARRIER_SETUP
+ android.permission.ACCESS_NETWORK_CONDITIONS



android.permission.BATTERY_STATS がdangerous(誰でも実行可能)より移動してきた。これによりなんらかの機能に影響が出る可能性がある。その他は全て新規追加。
MANAGE_CA_CERTIFICATESとか気になるものが増えてる。


[system|signature]


[signature|system]と同じ
+ android.permission.BLUETOOTH_PRIVILEGED
+ android.permission.BIND_CALL_SERVICE
android.permission.MOUNT_UNMOUNT_FILESYSTEMS
android.permission.MOUNT_FORMAT_FILESYSTEMS

追加は両方とも新規。signature|systemとマージしない内部事情でもあるのだろうか?


 [signature|system|development]


メーカー署名、システムアプリ、もしくは開発中に使用出来るもの
android.permission.INTERACT_ACROSS_USERS
android.permission.CHANGE_CONFIGURATION
android.permission.SET_ANIMATION_SCALE
android.permission.WRITE_SECURE_SETTINGS
android.permission.DUMP
android.permission.READ_LOGS
android.permission.SET_DEBUG_APP
android.permission.SET_PROCESS_LIMIT
android.permission.SET_ALWAYS_FINISH
android.permission.SIGNAL_PERSISTENT_PROCESSES
android.permission.GET_APP_OPS_STATS

変更無し


[signatureOrSystem]


[signature|system]と同じ

android.permission.UPDATE_LOCK

変更無し

JB_MR1(4.2)とJB_MR2(4.3)のPermission比較(メーカー署名関係)

Android 4.3 (JELLY_BEAN_MR2) が出て結構時間がたちました、恒例のsignatureがらみのPermission比較やらなきゃーと思って放置してたら4.4(Kitkat)が出ちゃったので慌てて更新します。
前回までのPermission比較は


にあります。


何調べてるの?

本記事は署名関係の Android Permission に注目してバージョン間の差分を比較しています。
これらの Permission が要求されるAPIに関してはOSビルド時の署名が必要になります。
メーカー端末であれば販売メーカーに依頼を出して署名をしてもらう必要がありますが、
通常出来ません。
よって3rdパーティアプリを作成する場合これらの Permission を要求されるAPIは使用不可能になります。
Androidはバージョンアップを重ねる毎にこれら Permission の締め付けがきつくなってるのでバージョンアップ毎にチェックしています。

JB MR1 と JB MR2 のプロテクションレベルの一覧比較


JB MR1
  • dangerous
  • signature|system
  • normal
  • signature
  • signature|system|development
  • system|signature
  • signatureOrSystem
JB MR2
  • dangerous
  • signature|system
  • normal
  • signature
  • signature|system|development
  • system|signature
  • signatureOrSystem
特に変更はありませんね。


Permission増減調査(JB MR1(4.2) > JB MR2(4.3))

[signature]


これはメーカー署名がないと使用出来ないもの
android.permission.BLUETOOTH_STACK
android.permission.ACCOUNT_MANAGER
android.permission.HARDWARE_TEST
android.permission.NET_ADMIN
android.permission.REMOTE_AUDIO_PLAYBACK
android.permission.INTERACT_ACROSS_USERS_FULL
android.permission.GET_DETAILED_TASKS
android.permission.REMOVE_TASKS
android.permission.START_ANY_ACTIVITY
android.permission.SET_SCREEN_COMPATIBILITY
android.permission.ACCESS_ALL_EXTERNAL_STORAGE
android.permission.FORCE_STOP_PACKAGES
android.permission.SET_PREFERRED_APPLICATIONS
android.permission.ASEC_ACCESS
android.permission.ASEC_CREATE
android.permission.ASEC_DESTROY
android.permission.ASEC_MOUNT_UNMOUNT
android.permission.ASEC_RENAME
android.permission.DIAGNOSTIC
android.permission.STATUS_BAR_SERVICE
android.permission.FORCE_BACK
android.permission.INTERNAL_SYSTEM_WINDOW
android.permission.MANAGE_APP_TOKENS
android.permission.FREEZE_SCREEN
android.permission.INJECT_EVENTS
android.permission.FILTER_EVENTS
android.permission.RETRIEVE_WINDOW_INFO
android.permission.TEMPORARY_ENABLE_ACCESSIBILITY
android.permission.MAGNIFY_DISPLAY
android.permission.SET_ACTIVITY_WATCHER
+ android.permission.GET_TOP_ACTIVITY_INFO
android.permission.READ_INPUT_STATE
android.permission.BIND_INPUT_METHOD
android.permission.BIND_ACCESSIBILITY_SERVICE
android.permission.BIND_TEXT_SERVICE
android.permission.BIND_VPN_SERVICE
android.permission.BIND_DEVICE_ADMIN
android.permission.SET_ORIENTATION
android.permission.SET_POINTER_SPEED
android.permission.SET_KEYBOARD_LAYOUT
android.permission.CLEAR_APP_USER_DATA
android.permission.GRANT_REVOKE_PERMISSIONS
android.permission.ACCESS_SURFACE_FLINGER
android.permission.CONFIGURE_WIFI_DISPLAY
android.permission.CONTROL_WIFI_DISPLAY
android.permission.BRICK
android.permission.DEVICE_POWER
android.permission.NET_TUNNELING
android.permission.FACTORY_TEST
android.permission.BROADCAST_PACKAGE_REMOVED
android.permission.BROADCAST_SMS
android.permission.BROADCAST_WAP_PUSH
android.permission.CONFIRM_FULL_BACKUP
android.permission.CHANGE_BACKGROUND_DATA_SETTING
android.permission.GLOBAL_SEARCH_CONTROL
android.permission.READ_DREAM_STATE
android.permission.WRITE_DREAM_STATE
android.permission.COPY_PROTECTED_DATA
android.permission.MANAGE_NETWORK_POLICY
android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE
android.permission.BIND_PACKAGE_VERIFIER
android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY
+ android.permission.BIND_NOTIFICATION_LISTENER_SERVICE

両権限共に新規追加

[signature|system]


メーカー署名があるか、プリインストールのシステムアプリでしか使用出来ないもの

- android.permission.SEND_SMS_NO_CONFIRMATION
+ android.permission.SEND_RESPOND_VIA_MESSAGE
android.permission.RECEIVE_EMERGENCY_BROADCAST
android.permission.BIND_DIRECTORY_SEARCH
android.permission.INSTALL_LOCATION_PROVIDER
+ android.permission.LOCATION_HARDWARE
android.permission.CONNECTIVITY_INTERNAL
android.permission.RECEIVE_DATA_ACTIVITY_CHANGE
+ android.permission.LOOP_RADIO
android.permission.MANAGE_USB
android.permission.ACCESS_MTP
+ android.permission.CAMERA_DISABLE_TRANSMIT_LED
android.permission.MODIFY_PHONE_STATE
android.permission.READ_PRIVILEGED_PHONE_STATE
android.permission.WRITE_MEDIA_STORAGE
android.permission.MANAGE_USERS
android.permission.SET_TIME
android.permission.WRITE_GSERVICES
android.permission.RETRIEVE_WINDOW_CONTENT
android.permission.WRITE_APN_SETTINGS
android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK
android.permission.STATUS_BAR
android.permission.UPDATE_DEVICE_STATS
+ android.permission.UPDATE_APP_OPS_STATS
android.permission.SHUTDOWN
android.permission.STOP_APP_SWITCHES
android.permission.BIND_WALLPAPER
android.permission.INSTALL_PACKAGES
android.permission.DELETE_CACHE_FILES
android.permission.DELETE_PACKAGES
android.permission.MOVE_PACKAGE
android.permission.CHANGE_COMPONENT_ENABLED_STATE
android.permission.READ_FRAME_BUFFER
android.permission.REBOOT
android.permission.MASTER_CLEAR
android.permission.CALL_PRIVILEGED
android.permission.PERFORM_CDMA_PROVISIONING
android.permission.CONTROL_LOCATION_UPDATES
android.permission.ACCESS_CHECKIN_PROPERTIES
android.permission.PACKAGE_USAGE_STATS
android.permission.BACKUP
android.permission.BIND_REMOTEVIEWS
android.permission.BIND_APPWIDGET
android.permission.BIND_KEYGUARD_APPWIDGET
android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS
android.permission.GLOBAL_SEARCH
android.permission.SET_WALLPAPER_COMPONENT
android.permission.ACCESS_CACHE_FILESYSTEM
android.permission.CRYPT_KEEPER
android.permission.READ_NETWORK_USAGE_HISTORY
android.permission.MODIFY_NETWORK_ACCOUNTING
android.permission.PACKAGE_VERIFICATION_AGENT
android.permission.SERIAL_PORT
+ android.permission.ACCESS_NOTIFICATIONS


追加権限は全て新規追加、そして初めて権限の削除を見た。


[system|signature]


[signature|system]と同じ
m android.permission.CHANGE_CONFIGURATION
android.permission.MOUNT_UNMOUNT_FILESYSTEMS
android.permission.MOUNT_FORMAT_FILESYSTEMS

ある意味変更無し、1権限だけ重複してた  [signature|system|development] にマージされる。


 [signature|system|development]


メーカー署名、システムアプリ、もしくは開発中に使用出来るもの
android.permission.INTERACT_ACROSS_USERS
android.permission.CHANGE_CONFIGURATION
android.permission.SET_ANIMATION_SCALE
android.permission.WRITE_SECURE_SETTINGS
android.permission.DUMP
android.permission.READ_LOGS
android.permission.SET_DEBUG_APP
android.permission.SET_PROCESS_LIMIT
android.permission.SET_ALWAYS_FINISH
android.permission.SIGNAL_PERSISTENT_PROCESSES
+ android.permission.GET_APP_OPS_STATS

新規追加のみ


[signatureOrSystem]


[signature|system]と同じ

android.permission.UPDATE_LOCK

特に変化なし(これもどっかにマージして欲しい)

2012/12/12

JB(4.1)とJB_MR1(4.2)のPermission比較(メーカー署名関係)

Android 4.2 (JELLY_BEAN_MR1) が出ましたので、恒例のsignatureがらみのPermission比較したいと思います。
前回までのPermission比較は


にあります。


何調べてるの?

本記事は署名関係の Android Permission に注目してバージョン間の差分を比較しています。
これらの Permission が要求されるAPIに関してはOSビルド時の署名が必要になります。
メーカー端末であれば販売メーカーに依頼を出して署名をしてもらう必要がありますが、
通常出来ません。
よって3rdパーティアプリを作成する場合これらの Permission を要求されるAPIは使用不可能になります。
Androidはバージョンアップを重ねる毎にこれら Permission の締め付けがきつくなってるのでバージョンアップ毎にチェックしています。

JB と JB MR1 のプロテクションレベルの一覧比較


JB
  • dangerous
  • signature|system
  • normal
  • signature
  • signature|system|development
  • signatureOrSystem
JB MR1
  • dangerous
  • signature|system
  • normal
  • signature
  • signature|system|development
  • system|signature
  • signatureOrSystem
増えた?と思ったらパイプラインで区切られたフラグの順番が逆転していただけでした。
これは signature|system と同一ですね。
しかし signatureOrSystem の件といい、段々適当になってきてる気がする。

Permission増減調査(JB(4.1) > JB MR1(4.2))


[signature]


これはメーカー署名がないと使用出来ないもの

+ android.permission.BLUETOOTH_STACK
android.permission.ACCOUNT_MANAGER
android.permission.HARDWARE_TEST
android.permission.NET_ADMIN
android.permission.REMOTE_AUDIO_PLAYBACK
+ android.permission.INTERACT_ACROSS_USERS_FULL
android.permission.GET_DETAILED_TASKS
android.permission.REMOVE_TASKS
android.permission.START_ANY_ACTIVITY
android.permission.SET_SCREEN_COMPATIBILITY
+ android.permission.ACCESS_ALL_EXTERNAL_STORAGE
+ android.permission.SET_SCREEN_COMPATIBILITY
android.permission.FORCE_STOP_PACKAGES
android.permission.SET_PREFERRED_APPLICATIONS
android.permission.ASEC_ACCESS
android.permission.ASEC_CREATE
android.permission.ASEC_DESTROY
android.permission.ASEC_MOUNT_UNMOUNT
android.permission.ASEC_RENAME
android.permission.DIAGNOSTIC
android.permission.STATUS_BAR_SERVICE
android.permission.FORCE_BACK
android.permission.INTERNAL_SYSTEM_WINDOW
android.permission.MANAGE_APP_TOKENS
+ android.permission.FREEZE_SCREEN
android.permission.INJECT_EVENTS
+ android.permission.FILTER_EVENTS
+ android.permission.RETRIEVE_WINDOW_INFO
+ android.permission.TEMPORARY_ENABLE_ACCESSIBILITY
+ android.permission.MAGNIFY_DISPLAY
android.permission.SET_ACTIVITY_WATCHER
android.permission.READ_INPUT_STATE
android.permission.BIND_INPUT_METHOD
android.permission.BIND_ACCESSIBILITY_SERVICE
android.permission.BIND_TEXT_SERVICE
android.permission.BIND_VPN_SERVICE
android.permission.BIND_DEVICE_ADMIN
android.permission.SET_ORIENTATION
android.permission.SET_POINTER_SPEED
android.permission.SET_KEYBOARD_LAYOUT
android.permission.CLEAR_APP_USER_DATA
android.permission.GRANT_REVOKE_PERMISSIONS
android.permission.ACCESS_SURFACE_FLINGER
+ android.permission.CONFIGURE_WIFI_DISPLAY
+ android.permission.CONTROL_WIFI_DISPLAY
android.permission.BRICK
android.permission.DEVICE_POWER
+ android.permission.NET_TUNNELING
android.permission.FACTORY_TEST
android.permission.BROADCAST_PACKAGE_REMOVED
android.permission.BROADCAST_SMS
android.permission.BROADCAST_WAP_PUSH
android.permission.CONFIRM_FULL_BACKUP
android.permission.CHANGE_BACKGROUND_DATA_SETTING
android.permission.GLOBAL_SEARCH_CONTROL
+ android.permission.READ_DREAM_STATE
+ android.permission.WRITE_DREAM_STATE
android.permission.COPY_PROTECTED_DATA
android.permission.MANAGE_NETWORK_POLICY
android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE
android.permission.BIND_PACKAGE_VERIFIER
android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY

[signature|system]


メーカー署名があるか、プリインストールのシステムアプリでしか使用出来ないもの

android.permission.SEND_SMS_NO_CONFIRMATION
android.permission.RECEIVE_EMERGENCY_BROADCAST
+ android.permission.BIND_DIRECTORY_SEARCH
android.permission.INSTALL_LOCATION_PROVIDER
android.permission.CONNECTIVITY_INTERNAL
+ android.permission.RECEIVE_DATA_ACTIVITY_CHANGE
android.permission.MANAGE_USB
android.permission.ACCESS_MTP
android.permission.MODIFY_PHONE_STATE
android.permission.READ_PRIVILEGED_PHONE_STATE
android.permission.WRITE_MEDIA_STORAGE
+ android.permission.MANAGE_USERS
android.permission.SET_TIME
android.permission.WRITE_GSERVICES
android.permission.RETRIEVE_WINDOW_CONTENT
android.permission.WRITE_APN_SETTINGS
android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK
android.permission.STATUS_BAR
android.permission.UPDATE_DEVICE_STATS
android.permission.SHUTDOWN
android.permission.STOP_APP_SWITCHES
android.permission.BIND_WALLPAPER
android.permission.INSTALL_PACKAGES
android.permission.DELETE_CACHE_FILES
android.permission.DELETE_PACKAGES
android.permission.MOVE_PACKAGE
android.permission.CHANGE_COMPONENT_ENABLED_STATE
android.permission.READ_FRAME_BUFFER
android.permission.REBOOT
android.permission.MASTER_CLEAR
android.permission.CALL_PRIVILEGED
android.permission.PERFORM_CDMA_PROVISIONING
android.permission.CONTROL_LOCATION_UPDATES
android.permission.ACCESS_CHECKIN_PROPERTIES
android.permission.PACKAGE_USAGE_STATS
android.permission.BACKUP
android.permission.BIND_REMOTEVIEWS
android.permission.BIND_APPWIDGET
+ android.permission.BIND_KEYGUARD_APPWIDGET
android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS
android.permission.GLOBAL_SEARCH
android.permission.SET_WALLPAPER_COMPONENT
android.permission.ACCESS_CACHE_FILESYSTEM
android.permission.CRYPT_KEEPER
android.permission.READ_NETWORK_USAGE_HISTORY
android.permission.MODIFY_NETWORK_ACCOUNTING
android.permission.PACKAGE_VERIFICATION_AGENT
+ android.permission.SERIAL_PORT

[system|signature]


[signature|system]と同じ

+ android.permission.CHANGE_CONFIGURATION
+ android.permission.MOUNT_UNMOUNT_FILESYSTEMS
+ android.permission.MOUNT_FORMAT_FILESYSTEMS

 [signature|system|development]


メーカー署名、システムアプリ、もしくは開発中に使用出来るもの

+ android.permission.INTERACT_ACROSS_USERS
+ android.permission.CHANGE_CONFIGURATION
android.permission.SET_ANIMATION_SCALE
android.permission.WRITE_SECURE_SETTINGS
android.permission.DUMP
android.permission.READ_LOGS
android.permission.SET_DEBUG_APP
android.permission.SET_PROCESS_LIMIT
android.permission.SET_ALWAYS_FINISH
+ android.permission.SIGNAL_PERSISTENT_PROCESSES

[signatureOrSystem]


[signature|system]と同じ

android.permission.UPDATE_LOCK

突っ込みどころ

CHANGE_CONFIGURATIONが[system|signature] と [signature|system|development] の両方に記載されている。どっちだ?

2012/08/13

JBとICSのPermission比較(メーカー署名関係)

以前書いた、ICSとGingerbreadのPermission比較(メーカー署名関係)の続編。


注意:今回の記事は https://android.googlesource.com/platform/manifest/android-4.1.1_r4 を元に書いてます。

またしてもJBで色々と Permission 関係が変わっているのでまとめてみた。
まず プロテクションレベルの表記が変わっている。
以前は signatureOrSystem と書かれていた箇所が signature|system に変更。
また謎の development も追加(詳細がドキュメントされていないので後日調査予定)

まず ICS と JB のプロテクションレベルの一覧比較


ICS

  • dangerous
  • signatureOrSystem
  • normal
  • signature

JB

  • dangerous
  • signature|system
  • normal
  • signature
  • signature|system|development
  • signatureOrSystem

JB に signatureOrSystem が混じっているのは誤表記にあらず。
一個だけ何故か(恐らくミスだと思うけど) signatureOrSystem が混ざっている。

次それぞれのプロテクションレベル毎の比較
JB 方式の書き方だと今回はまとめにくいので、ICS方式で signature と signatureOrSystemでまとめてみる。

[signature]

赤字は追加分、新規追加のみ signatureOrSystem からの格上げなし
android.permission.ACCOUNT_MANAGER
android.permission.HARDWARE_TEST
android.permission.NET_ADMIN
android.permission.REMOTE_AUDIO_PLAYBACK
android.permission.GET_DETAILED_TASKS
android.permission.REMOVE_TASKS
android.permission.START_ANY_ACTIVITY
android.permission.SET_SCREEN_COMPATIBILITY
android.permission.FORCE_STOP_PACKAGES
android.permission.SET_PREFERRED_APPLICATIONS
android.permission.ASEC_ACCESS
android.permission.ASEC_CREATE
android.permission.ASEC_DESTROY
android.permission.ASEC_MOUNT_UNMOUNT
android.permission.ASEC_RENAME
android.permission.DIAGNOSTIC
android.permission.STATUS_BAR_SERVICE
android.permission.FORCE_BACK
android.permission.INTERNAL_SYSTEM_WINDOW
android.permission.MANAGE_APP_TOKENS
android.permission.INJECT_EVENTS
android.permission.SET_ACTIVITY_WATCHER
android.permission.READ_INPUT_STATE
android.permission.BIND_INPUT_METHOD
android.permission.BIND_ACCESSIBILITY_SERVICE
android.permission.BIND_TEXT_SERVICE
android.permission.BIND_VPN_SERVICE
android.permission.BIND_DEVICE_ADMIN
android.permission.SET_ORIENTATION
android.permission.SET_POINTER_SPEED
android.permission.SET_KEYBOARD_LAYOUT
android.permission.CLEAR_APP_USER_DATA
android.permission.GRANT_REVOKE_PERMISSIONS
android.permission.ACCESS_SURFACE_FLINGER
android.permission.BRICK
android.permission.DEVICE_POWER
android.permission.FACTORY_TEST
android.permission.BROADCAST_PACKAGE_REMOVED
android.permission.BROADCAST_SMS
android.permission.BROADCAST_WAP_PUSH
android.permission.CONFIRM_FULL_BACKUP
android.permission.CHANGE_BACKGROUND_DATA_SETTING
android.permission.GLOBAL_SEARCH_CONTROL
android.permission.COPY_PROTECTED_DATA
android.permission.MANAGE_NETWORK_POLICY
android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE
android.permission.BIND_PACKAGE_VERIFIER
android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY

[signatureOrSystem]

赤字新規追加、青字は削除。
ただし[signature|system|development]への移動だから除外というのは当てはまらないかも。
android.permission.SEND_SMS_NO_CONFIRMATION
android.permission.RECEIVE_EMERGENCY_BROADCAST
android.permission.INSTALL_LOCATION_PROVIDER
android.permission.CONNECTIVITY_INTERNAL
android.permission.MANAGE_USB
android.permission.ACCESS_MTP
android.permission.MODIFY_PHONE_STATE
android.permission.READ_PRIVILEGED_PHONE_STATE
android.permission.WRITE_MEDIA_STORAGE
android.permission.WRITE_SECURE_SETTINGS
android.permission.WRITE_GSERVICES
android.permission.DUMP
android.permission.RETRIEVE_WINDOW_CONTENT
android.permission.SET_TIME
android.permission.WRITE_APN_SETTINGS
android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK
android.permission.STATUS_BAR
android.permission.UPDATE_DEVICE_STATS
android.permission.SHUTDOWN
android.permission.STOP_APP_SWITCHES
android.permission.BIND_WALLPAPER
android.permission.INSTALL_PACKAGES
android.permission.DELETE_CACHE_FILES
android.permission.DELETE_PACKAGES
android.permission.MOVE_PACKAGE
android.permission.CHANGE_COMPONENT_ENABLED_STATE
android.permission.READ_FRAME_BUFFER
android.permission.REBOOT
android.permission.MASTER_CLEAR
android.permission.CALL_PRIVILEGED
android.permission.PERFORM_CDMA_PROVISIONING
android.permission.CONTROL_LOCATION_UPDATES
android.permission.ACCESS_CHECKIN_PROPERTIES
android.permission.PACKAGE_USAGE_STATS
android.permission.BACKUP
android.permission.BIND_REMOTEVIEWS
android.permission.BIND_APPWIDGET
android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS
android.permission.GLOBAL_SEARCH
android.permission.SET_WALLPAPER_COMPONENT
android.permission.ACCESS_CACHE_FILESYSTEM
android.permission.CRYPT_KEEPER
android.permission.READ_NETWORK_USAGE_HISTORY
android.permission.MODIFY_NETWORK_ACCOUNTING
android.permission.PACKAGE_VERIFICATION_AGENT
android.permission.WRITE_SECURE_SETTINGS
android.permission.DUMP

その他

今回新規追加のプロテクションレベル signature|system|development と 仲間はずれの signatureOrSystem

[signature|system|development]

青字の二つは signatureOrSystem からそれ以外は dangerous からの格上げ、これのおかげで開発補助系のアプリに影響が出まくる。
android.permission.SET_ANIMATION_SCALE
android.permission.WRITE_SECURE_SETTINGS
android.permission.DUMP
android.permission.READ_LOGS
android.permission.SET_DEBUG_APP
android.permission.SET_PROCESS_LIMIT
android.permission.SET_ALWAYS_FINISH

[signatureOrSystem]

一個だけぽつんとあるミスっぽいやつ。変換ミスかと思ったが以前は無かったものなのでその線は薄いか?内容的に Nexus 7 作った ASUS で足したものかもしれない。
android.permission.UPDATE_LOCK


今回は以上
情報追加次第、色々手出して調べてみます。

2011/11/28

ICSとGingerbreadのPermission比較(メーカー署名関係)

ICSのテストをしていると、前まで動いていたところでSecurityExceptionをはきました。
端末不具合かソースが変わったのかを調べる為に
公開されているICS(Android 4.0)とGingerbread(Android 2.3.3)のAndroidManifest.xmlを比較してみました。

AndroidではAndroid自体をビルドする時に使用されている署名(所謂メーカー所有の署名)とその他の署名の間に格差があり、特定のAPIを叩く際に必要となるpermissionの値が、"signatureOrSystem" もしくは"signature"となっている時は、実行する為にこのメーカー署名が必要となります。

それらAPIを叩くためには、メーカーに依頼して出来たAPKに署名を入れてもらうか、
rootを取る、もしくは自分でAndroidをビルドして実機に焼く等を行う必要があります。

それぞれ、frameworks/base/core/res/AndroidManifest.xml
を比較し、ICSで増えた箇所を赤字+太字で表示しました。
※ICSで減ったものはなかった。

[signatureOrSystem]
android.permission.SEND_SMS_NO_CONFIRMATION
android.permission.RECEIVE_EMERGENCY_BROADCAST
android.permission.INSTALL_LOCATION_PROVIDER
android.permission.CONNECTIVITY_INTERNAL
android.permission.MANAGE_USB
android.permission.ACCESS_MTP
android.permission.MODIFY_PHONE_STATE
android.permission.READ_PRIVILEGED_PHONE_STATE
android.permission.WRITE_MEDIA_STORAGE
android.permission.WRITE_SECURE_SETTINGS
android.permission.WRITE_GSERVICES
android.permission.DUMP
android.permission.RETRIEVE_WINDOW_CONTENT
android.permission.SET_TIME
android.permission.WRITE_APN_SETTINGS
android.permission.STATUS_BAR
android.permission.UPDATE_DEVICE_STATS
android.permission.SHUTDOWN
android.permission.STOP_APP_SWITCHES
android.permission.BIND_WALLPAPER
android.permission.INSTALL_PACKAGES
android.permission.DELETE_CACHE_FILES
android.permission.DELETE_PACKAGES
android.permission.MOVE_PACKAGE
android.permission.CHANGE_COMPONENT_ENABLED_STATE
android.permission.READ_FRAME_BUFFER
android.permission.REBOOT
android.permission.MASTER_CLEAR
android.permission.CALL_PRIVILEGED
android.permission.PERFORM_CDMA_PROVISIONING
android.permission.CONTROL_LOCATION_UPDATES
android.permission.ACCESS_CHECKIN_PROPERTIES
android.permission.PACKAGE_USAGE_STATS
android.permission.BACKUP
android.permission.BIND_REMOTEVIEWS
android.permission.BIND_APPWIDGET
android.permission.GLOBAL_SEARCH
android.permission.SET_WALLPAPER_COMPONENT
android.permission.ACCESS_CACHE_FILESYSTEM
android.permission.CRYPT_KEEPER
android.permission.READ_NETWORK_USAGE_HISTORY
android.permission.MODIFY_NETWORK_ACCOUNTING
android.permission.PACKAGE_VERIFICATION_AGENT

[signature]
android.permission.ACCOUNT_MANAGER
android.permission.HARDWARE_TEST
android.permission.NET_ADMIN
android.permission.REMOVE_TASKS
android.permission.FORCE_STOP_PACKAGES
android.permission.SET_PREFERRED_APPLICATIONS
android.permission.ASEC_ACCESS
android.permission.ASEC_CREATE
android.permission.ASEC_DESTROY
android.permission.ASEC_MOUNT_UNMOUNT
android.permission.ASEC_RENAME
android.permission.DIAGNOSTIC
android.permission.STATUS_BAR_SERVICE
android.permission.FORCE_BACK
android.permission.INTERNAL_SYSTEM_WINDOW
android.permission.MANAGE_APP_TOKENS
android.permission.INJECT_EVENTS
android.permission.SET_ACTIVITY_WATCHER
android.permission.READ_INPUT_STATE
android.permission.BIND_INPUT_METHOD
android.permission.BIND_TEXT_SERVICE
android.permission.BIND_VPN_SERVICE
android.permission.BIND_DEVICE_ADMIN
android.permission.SET_ORIENTATION
android.permission.SET_POINTER_SPEED
android.permission.CLEAR_APP_USER_DATA
android.permission.ACCESS_SURFACE_FLINGER
android.permission.BRICK
android.permission.DEVICE_POWER
android.permission.FACTORY_TEST
android.permission.BROADCAST_PACKAGE_REMOVED
android.permission.BROADCAST_SMS
android.permission.BROADCAST_WAP_PUSH
android.permission.CONFIRM_FULL_BACKUP
android.permission.CHANGE_BACKGROUND_DATA_SETTING
android.permission.GLOBAL_SEARCH_CONTROL
android.permission.COPY_PROTECTED_DATA
android.permission.MANAGE_NETWORK_POLICY
android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE
android.permission.BIND_PACKAGE_VERIFIER