TrustedAuthority: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with "See http://www.codemud.net/~thinker/en/GinGin_CGI.py/show_id_doc/15 == API for Trusted Authority == When a page access one or more privilege APIs, the UA would create a reque...")
 
Line 20: Line 20:
   APIs: ["name", "of", "APIs"]
   APIs: ["name", "of", "APIs"]
  }
  }
The Trusted Authority can authorize more APIs than requested for performance reason.  The UA needs to redo authorization for loading more executable resources (JS code).  (How about loading more non-executable resources?)


The Trusted Authority would be run as an addon or service page at local, but talk to remote server hosted by the Trusted Authority.
The Trusted Authority would be run as an addon or service page at local, but talk to remote server hosted by the Trusted Authority.

Revision as of 10:41, 22 January 2016

See http://www.codemud.net/~thinker/en/GinGin_CGI.py/show_id_doc/15

API for Trusted Authority

When a page access one or more privilege APIs, the UA would create a request object to ask Trusted Authority to authorize the access.

request

{
  APIs: ["name", "of", "APIs"],
  location: "page url", // The page being viewed
  hash: "SHA256(content of the page)",
  resources: [          // Resources being accessed by the page.
    {location: "URL of the resource 1", hash: "SHA256(content1)", executable: true},
    {location: "URL of the resource 2", hash: "SHA256(content2)", executable: false},
    {....}....]
}

response

{
  authorizeLocation: "page url",
  APIs: ["name", "of", "APIs"]
}

The Trusted Authority can authorize more APIs than requested for performance reason. The UA needs to redo authorization for loading more executable resources (JS code). (How about loading more non-executable resources?)

The Trusted Authority would be run as an addon or service page at local, but talk to remote server hosted by the Trusted Authority.

function handler(request) {
  checkRequstAtRemoteOrLocalDataCache(request);
  if (the request is denied) {
    return;
  }
  ...
  return {... reponse ...};
}
TrustedAuthority.registerAuthorizingHandler(handler);

Remove all authorized requests of given URLs.

TrustedAuthority.revokeAuthorization(["URL", "of", "pages", ....]);

Remove all authorized requests with given prefixes.

TrustedAuthority.reovkePrefixAuthorization(["prefix", "pathes", ...]);

Responsibility

Trusted Authorities are responsible for checking and making sure the page and resources safe to use the API. A Trusted Authority may review the page and code, backup the site content for later checking, or make a contract with the site to make sure the site following the policy made by the Trusted Authority.

Users would choose a Trusted Authority trusted by himself. They may paid for the service provided by the Trusted Authority, or for free.