WebAPI/Security/PermissionsAPI: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 1: Line 1:
== Permission API==
== Permission API==


Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=707625
References:  
*https://bugzilla.mozilla.org/show_bug.cgi?id=707625
*https://groups.google.com/d/topic/mozilla.dev.webapps/sEN6K4y4Am8/discussion


Brief purpose of API: Allow an app to manage app permissions in a centralized location
Brief purpose of API: Allow an app to manage app permissions in a centralized location
Line 11: Line 13:
Threat severity: Critical
Threat severity: Critical


=== Regular web content (unauthenticated) ===
== Regular web content (unauthenticated) ==
Use cases for unauthenticated code:None
Use cases for unauthenticated code:None


Line 20: Line 22:
Potential mitigations:
Potential mitigations:


=== Trusted (authenticated by publisher) ===
== Privileged (approved by app store) ==
 
Use cases for privileged code: None
Use cases for authenticated code: None


Use cases for trusted code: None
Use cases for trusted code: None
Line 28: Line 29:
Potential mitigations:
Potential mitigations:


=== Certified (vouched for by trusted 3rd party) ===
== Certified (system-critical apps) ==
Use cases for certified code:  Centralized permissions management app; modify per-app settings
Use cases for certified code:  Centralized permissions management app; modify per-app settings


Line 35: Line 36:
Potential mitigations: None
Potential mitigations: None


Note: We are not exposing permission settings to non-certified apps.  Apps cannot determine their current settings without actually requesting a permission.
==Notes==
We are not exposing permission settings to non-certified apps.  Apps cannot determine their current settings without actually requesting a permission.


__NOTOC__
__NOTOC__

Revision as of 23:44, 6 August 2012

Permission API

References:

Brief purpose of API: Allow an app to manage app permissions in a centralized location

General Use Cases: None

Inherent threats: Change security and privacy permissions, potentially leading to device compromise

Threat severity: Critical

Regular web content (unauthenticated)

Use cases for unauthenticated code:None

Authorization model for normal content: None

Authorization model for installed content: None

Potential mitigations:

Privileged (approved by app store)

Use cases for privileged code: None

Use cases for trusted code: None

Potential mitigations:

Certified (system-critical apps)

Use cases for certified code: Centralized permissions management app; modify per-app settings

Authorization model: Implicit

Potential mitigations: None

Notes

We are not exposing permission settings to non-certified apps. Apps cannot determine their current settings without actually requesting a permission.