W3C home > Mailing lists > Public > public-webapps@w3.org > July to September 2008

Re: [widgets] OMTP input to W3C Widget Requirements (1 of 2)

From: Marcos Caceres <marcosscaceres@gmail.com>
Date: Wed, 10 Sep 2008 18:17:36 +0000
Message-ID: <b21a10670809101116v2b841b0fy78062d384e1770cf@mail.gmail.com>
To: "David Rogers" <david.rogers@omtp.org>
Cc: "Nick Allott" <nick.allott@omtp.org>, "Priestley, Mark, VF-Group" <Mark.Priestley@vodafone.com>, "Paddy Byers" <paddy@aplixcorp.com>, public-webapps-request@w3.org, art.barstow@nokia.com
Great! Thank you David, and thanks to OMTP members for this important
contribution. I personally look forward to our continued collaboration to
take the Widget specs to REC :)

Kind regards,
Marcos


On Wed, Sep 10, 2008 at 7:08 PM, David Rogers <david.rogers@omtp.org> wrote:

> Hi Marcos,
>
> On behalf of OMTP, I'd like to thank you for your hard work integrating
> the OMTP input to the requirements spec. We're happy with the changes in
> [1].
>
> Thanks,
>
>
> David.
>
> -----Original Message-----
> From: public-webapps-request@w3.org
> [mailto:public-webapps-request@w3.org] On Behalf Of Marcos Caceres
> Sent: 05 September 2008 14:30
> To: David Rogers; Nick Allott; Priestley, Mark, VF-Group; Paddy Byers
> Cc: public-webapps-request@w3.org; art.barstow@nokia.com
> Subject: Re: [widgets] OMTP input to W3C Widget Requirements (1 of 2)
>
>
> Hi All,
> I've now integrated the OMTP requirements into the Req spec. OMTP
> crew, I'm made lots of edits (and dropped some of your requirements
> with Mark's permission) so please check to see that your intent is
> still conveyed (and that I haven't introduced any new typos, etc.).
>
> Apologies to those who are still waiting for me to respond to your
> comments, I'm going as fast as I can and will do my best to address
> everyone's comments within the next week.
>
> Kind regards,
> Marcos
> [1] http://dev.w3.org/2006/waf/widgets-reqs/
> On Fri, Aug 1, 2008 at 12:30 PM, David Rogers <david.rogers@omtp.org>
> wrote:
> > Dear Art, Marcos and all,
> >
> >
> >
> > Please find attached the OMTP BONDI input to the W3C Web Applications
> WG
> > Widget Requirements last call. I've extracted the text of the input
> below.
> > Please note this is the first of two sets of input. This first input
> > contains comments to existing requirements and proposals for new
> > requirements. The second document contains more general comments,
> applicable
> > to the Widget Requirements and also the Packaging and Configuration
> work.
> >
> >
> >
> > Introduction
> >
> >
> >
> > OMTP is a forum backed by many of the largest mobile operators and has
> > members from many hardware and software vendors across the value
> chain.
> >
> > It was set up with the aim of gathering and driving mobile terminal
> > requirements to ensure consistent and secure implementations, thereby
> > reducing fragmentation and simplifying the customer experience of
> mobile
> > data services. OMTP recommendations benefit carriers, content
> providers,
> > middleware vendors and handset manufacturers to develop open and
> compatible
> > mobile devices.  OMTP have created their BONDI initiative to
> specifically
> > address the problem of fragmentation in the evolution of the mobile
> web and
> > to ensure the protection of the user from malicious web based
> services. The
> > BONDI initiative will be delivering documentation throughout 2008 with
> the
> > aim of driving activities in other appropriate standardisation and
> industry
> > bodies such as W3C.
> >
> > Devices supporting some of the features of BONDI will become available
> in
> > 2009.
> >
> > This document forms the input from BONDI relating to the security
> aspects of
> > the W3C Widgets: 1.0 Requirements found at
> > http://www.w3.org/TR/2008/WD-widgets-reqs-20080625/.
> >
> > The document is divided into two parts; the first part details
> proposed
> > changes to existing W3C requirements, the second part proposes new
> > requirements that for inclusion.
> >
> >
> >
> > Part I - Changes to Existing Requirements Proposed By BONDI
> >
> >
> >
> > R11. Digital Signature
> >
> > We suggest the following re-wording of the existing requirement so
> that it
> > reads:
> >
> > "A conforming specification MUST specify a means to verify the
> authenticity
> > and integrity of all resources in a widget resource, with the
> exception of
> > any resources explicitly excluded by the specification. A conforming
> > specification MUST provide this capability by specifying a processing
> model
> > for generating and verifying a digital signature associated to a
> widget
> > resource. The digital signature scheme MUST be compatible with
> existing
> > Public Key Infrastructures (PKI), particularly X.509 digital
> certificates.
> > In addition, the recommended digital signature format SHALL support
> the
> > ability to include a certificate chain with a digital signature to
> enable
> > the receiving device to build a certificate chain from the end entity
> > certificate used to generate the signature to a locally stored root
> > certificate. In addition, the recommended digital signature format
> SHOULD
> > support the ability for a widget resource to be signed using multiple
> end
> > entity keys (i.e. it SHOULD be possible to include multiple signatures
> and
> > associated certificate chains)."
> >
> > The proposed changes attempt to tighten and clarify the use of digital
> > signatures and certificate chains. In addition we suggest that the
> following
> > text should be added to the existing requirement:
> >
> > "A conforming specification SHALL specify the expected behaviour when
> > multiple signatures and certificate chains are provided. A conforming
> > specification SHALL specify that if none of the signatures and
> certificate
> > chains can be verified, e.g. because of missing root certificates or
> where
> > any certificates in the chain have expired or are not yet valid, then
> the
> > widget resource SHALL be treated as unsigned. A conforming
> specification
> > SHALL specify that the widget environment SHALL not install or load a
> > widget resource when it can determine that any certificate in the
> chain has
> > been revoked."
> >
> > This addition is to ensure that there is a consistent behaviour when
> > verifying signatures and certificate chains, especially in error cases
> in
> > which the verification fails because of missing certificates and in
> which
> > one of the certificates has been revoked.  We use the term load to
> cover the
> > case in which a widget is not subject to an installation event.
> >
> >
> >
> > In addition, we suggest the following changes to the Rationale:
> >
> >
> >
> > "To provide a means to verify authenticity, check data integrity, and
> > provide a means of non-repudiation for users." to "To provide a means
> to
> > verify the authenticity, check the data integrity and provide
> persistent
> > proof of origin of the widget resource."
> >
> > "a digital signature" to "are digitally signed"
> >
> > And the following addition:
> >
> >
> >
> > "The ability to provide certificate chains with signatures is vital,
> > particularly in the mobile world, to allow end entity certificates to
> be
> > chained to a locally installed root.
> >
> >
> >
> > The ability to include multiple signatures can help address the issue
> that
> > target devices may have different root certificates installed. Equally
> there
> > SHOULD be defined behaviour for what happens when a required root
> isn't
> > available. Treating this case as an error case (and therefore not
> allowing
> > the installation of the widget) has been seen to encourage developers
> not to
> > get the applications signed whereas allowing this case but treating
> widgets
> > as unsigned doesn't provide the same disincentive."
> >
> >
> >
> >
> >
> > R21. Security Declarations
> >
> > We suggest the addition of the following text to the existing
> requirement:
> >
> >
> >
> > "This SHALL include a means of declaring the APIs that a widget
> expects to
> > access. A conforming specification SHALL provide a means to verify the
> > authenticity and integrity of security declarations included in the
> widget
> > resource."
> >
> >
> >
> > The reason for this suggested addition is to make it explicit that it
> must
> > be possible to include required APIs in the security declarations. In
> > addition, we suggest that the security declarations should be treated
> as a
> > protected resource as the authenticity and integrity of this
> information is
> > essential if it is to be used when making security decisions.
> >
> >
> >
> > These proposed modifications are based on the assumption that security
> > declarations are included in the configuration document, which can be
> used
> > independently of the widget resource, as stated in R.23. If this is
> not the
> > case then an additional requirement is needed to ensure that the
> security
> > declarations can be used independently of the widget resource.
> >
> >
> >
> >
> >
> > R38. Additional Digital Certificates
> >
> > We suggest that the requirement is re-worded along the following lines
> "A
> > conforming specification SHOULD define mechanisms to enable end-users
> to
> > install additional root certificates, provided this is compatible with
> the
> > security policy of the widget processing environment."
> >
> > The reason for this proposal is that the existing requirement seems to
> > suggest that the user should always be able to install additional root
> > certificates on their device whereas in our opinion this capability
> should
> > be controlled by the security policy of the device. In addition, we
> have
> > removed the reference to standard root certificates as this implies a
> set of
> > root certificates that are common across all devices.
> >
> > In addition, we suggest that following text is added to the rationale
> "using
> > self-signed or test certificates, and install these test certificates
> on a
> > device in order to test their widget on a real device." as this links
> more
> > closely to the requirement.
> >
> >
> >
> >
> >
> > R43. Default Security Policy
> >
> > While we agree that it is a requirement to be able to specify a
> default
> > security policy, and that this should err on the side of caution, we
> would
> > like to seek clarification of this requirement?
> >
> >
> >
> > For example, is the intention to mandate static declarations of
> requested
> > permissions or are programmatic requests also to be allowed?
> >
> >
> >
> > We would also like to indicate that BONDI are currently working on a
> policy
> > framework and the definition of default or recommended policies and
> policy
> > configurations and would like to co-ordinate this work with W3C.
> >
> >
> >
> >
> >
> > R44. Runtime Security Exceptions
> >
> > In the sentence "A conforming specification MUST specify runtime
> exceptions
> > for when the API attempts to perform an action it is not authorized to
> > perform." suggest that "API" is changed to "widget" as this seems to
> fit in
> > better with the rationale?
> >
> > Normative references
> >
> > We suggest that the reference for X.509 is updated as follows:
> >
> >
> >
> > X.509
> >
> > RFC 3280: Internet X.509 Public Key Infrastructure Certificate and
> > Certificate Revocation List (CRL) Profile, R. Housley. IETF, April
> 2002.
> > Available at: http://www.ietf.org/rfc/rfc3280.txt
> >
> > Part II - New Requirements Proposed By BONDI
> >
> >
> >
> > The following text proposes new requirements, related specifically to
> > security mechanisms that have been derived from ongoing work within
> BONDI.
> >
> >
> >
> >
> >
> > RXX. Signature Document Independence
> >
> > A conforming specification MUST specify the digital signature format
> in such
> > a way that the signature value(s) and associated certificate chain(s)
> can be
> > used independently of the widget resource that is covered by the
> digital
> > signature. A conforming specification SHOULD provide guidelines for
> how the
> > signature(s) and certificate chain(s) can be used separately from a
> widget
> > resource. A conforming specification SHOULD specify a means to provide
> the
> > independent signature document in conjunction with the independent
> > configuration document (see R23).
> >
> > Motivation:
> >
> > Web and offline distribution, device independence current development
> > practice or industry best-practices
> >
> >
> >
> > Rationale:
> >
> > To allow the signature information to be extracted and used by other
> > applications (either on the server or on the client side) for
> different
> > purposes. For example, a server may automatically extract the
> signature
> > information from a widget resource and serve it upon request. The
> > independent signature information may then be used, for instance, to
> provide
> > the user with information about the source (signing entity) and
> associated
> > trust level of the widget without needing to download the complete
> widget
> > resource. Additionally, if combined with security declaration
> information,
> > the signature information may allow a security decision to be made
> about
> > whether or not the widget will run properly, enabling a further
> decision to
> > be made as to whether to continue to download and install the widget.
> This
> > may be particularly useful for users of widgets on mobile devices,
> where the
> > cost of downloading data can sometimes be expensive.
> >
> >
> >
> > Comment:
> >
> > This is common practice in the mobile world with Java applications.
> The
> > purpose of pre-verifying elements of the signature and certificate
> chain is
> > to address the case in which a widget provided by a non-malicious
> developer
> > fails to install because for example, the certificate is out of date
> or no
> > revocation information is available. It also allows parallel OCSP
> round
> > trips while downloading widget resource (as is done for Java apps in
> the
> > mobile world)
> >
> >
> >
> >
> >
> > RXX. Independence of Non-Security Critical Information from Digital
> > Signature
> >
> > A conforming specification SHOULD make it possible to change
> non-security
> > critical information associated to the widget resource without having
> to
> > re-sign the widget resource. The non-security critical information may
> or
> > may not be included in the widget package. A conforming specification
> SHALL
> > specify which information can be considered non-security critical. A
> > conforming specification SHOULD specify a means to provide this
> non-security
> > critical information in conjunction with the independent configuration
> > document (see R23).
> >
> >
> >
> > Motivation:
> >
> > current development practice or industry best-practices
> >
> > Rationale:
> >
> >
> >
> > Some information associated to the widget resource might need to be
> changed
> > during ingestion (e.g. version, provider, name etc.). This is common
> when a
> > single developer provides the same content to a number of re-sellers.
> It may
> > be that the same information needs to be provided with the
> configuration
> > document.
> >
> >
> >
> >
> >
> > RXX. Signing Procedure Agnostic
> >
> > A conforming specification SHALL specify a mechanism for signing a
> widget
> > resource that does not explicitly or implicitly impose any
> restrictions on
> > the procedure for generating the signature. More specifically, a
> conforming
> > specification SHALL allow the use of end entity keys stored in a
> secure
> > module in a hosted environment. A conforming specification SHALL
> specify
> > that implementations SHOULD be able to use end entity keys via a
> PKCS#11
> > interface.
> >
> >
> >
> > In addition, the mechanism SHALL make it feasible for end entity keys
> to be
> > used once and then securely deleted.
> >
> >
> >
> > Motivation:
> >
> > Security, current development practice or industry best-practices
> >
> > Rationale:
> >
> > To enable signing schemes to provide assurances that a high level of
> > end-to-end security has been maintained around the signing process, in
> > particular assurance that the signing key has not been compromised.
> PKCS#11
> > is the most widely supported standard interface for hardware security
> > modules.
> >
> >
> >
> >
> >
> > RXX. Support for Multiple Message Digest Algorithms
> >
> > A conforming specification SHALL specify that where the integrity of
> data is
> > protected using a message digest, it SHALL be possible to use the
> SHA-1
> > message digest algorithm and SHALL be possible to use the SHA-256
> message
> > digest algorithm.
> >
> >
> >
> > Motivation:
> >
> > Security
> >
> > Rationale:
> >
> > Due to known weaknesses in the SHA-1 algorithm and the expected
> lifetime of
> > implementations it is prudent to strongly recommend support for
> SHA-256 to
> > ensure that the overall security of the solution is maintained.
> >
> >
> >
> >
> >
> > RXX. Support for Multiple Signature Algorithms
> >
> > A conforming specification SHALL specify that where digital signatures
> are
> > used it SHALL be possible to use the DSA signature algorithm and SHALL
> be
> > possible to use the RSA signature algorithm.
> >
> >
> >
> > Motivation:
> >
> > Security
> >
> > Rationale:
> >
> > Security best practice: to support two algorithms to mitigate against
> the
> > risk that weaknesses are found with a selected algorithm.
> >
> >
> >
> >
> >
> > RXX. Key Lengths
> >
> > A conforming spec SHALL specify that widget processing environments
> SHALL
> > support RSA with key lengths up to at least 2048 bits and SHALL
> support DSA
> > with key lengths up to at least 2048 bits (see NIST Recommendation). A
> > conforming spec SHALL recommend that widget signing tools SHALL
> support and
> > use RSA with key lengths of at least 2048 bits and DSA with key
> lengths of
> > at least 2048 bits (see NIST Recommendation).
> >
> >
> >
> > Motivation:
> >
> > Security
> >
> > Rationale:
> >
> > To be in-line with current security recommendations and provide
> longevity of
> > the system security. In some use cases it may be desirable to use key
> > lengths of less than 2048 bits, e.g. where the impact on performance
> > outweighs the additional security afforded.
> >
> >
> >
> >
> >
> > RXX. Key Usage Extension
> >
> > A conforming specification MUST specify the expected use of valid key
> usage
> > extensions and when present (in end entity certs) MUST specify that
> > implementations verify that the extension has the digitalSignature bit
> set.
> >
> >
> >
> > A conforming specification MUST specify that implementations recognize
> the
> > extended key usage extension and when present (in end entity certs)
> verify
> > that the extension contains the id-kp-codeSigning object identifier. A
> > conforming specification MAY also define a new OID specifically for
> widget
> > signing, and specify that implementations verify that the extended key
> usage
> > extension in the end entity cert contains this new OID.
> >
> >
> >
> > Rationale:
> >
> > To maintain compliance to RFC 3280 (experience suggests that if this
> is not
> > explicitly required then the RFC 3280 is not followed when it comes to
> key
> > extension usage).
> >
> >
> >
> > Compliance ensures that only certificates intended to be used (issued
> for)
> > code signing can be used to sign widget resources.
> >
> >
> >
> > Comments:
> >
> > Using the extended key usage extension "id-kp-codeSigning" would in
> theory
> > allow the same end entity certificate to be used to sign any
> executables
> > including widgets, Java applets and native executables. However, it
> should
> > be possible to restrict the use of a particular end entity certificate
> so
> > that it can only be used to sign certain a certain type (or types) of
> > executables by associating a usage restriction with the root
> certificate to
> > which the end entity certificate is chained.
> >
> >
> >
> >
> >
> > RXX. Inclusion of Revocation Information
> >
> > A conforming specification SHOULD specify a means of packaging
> up-to-date
> > revocation information with digital signature and associated
> certificate
> > chain (e.g. a CRL or OCSP response stating that certificate has not
> been
> > revoked). In addition, a conforming specification SHOULD specify the
> > behaviour in the case that the revocation information is not included
> or not
> > complete. A conforming specification SHOULD specify that if the
> revocation
> > information is present the widget processing environment MUST attempt
> to
> > verify the revocation information. A conforming specification SHOULD
> specify
> > the behaviour if revocation information is out of date or otherwise
> invalid.
> >
> >
> >
> > In addition, the mechanism specified SHALL not require the widget
> resource
> > to be re-signed to include new revocation information.
> >
> >
> >
> > Rationale:
> >
> > To provide up-to-date revocation information, when it is needed by the
> > widget engine, without requiring a query to an online CRL or OSCP
> server
> > from each device. This is a lot more efficient and eases the load on
> CRL or
> > OSCP servers.
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > --------  END OF DOCUMENT  --------
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > Many thanks,
> >
> >
> >
> >
> >
> > David.
> >
> >
> >
> > David Rogers
> > OMTP Director of External Relations
> > m: +44 (0) 7771 838197  david.rogers@omtp.org
> > skype: dg.rogers
> >
> > linkedIn: http://www.linkedin.com/in/davidrogersuk
> >
> > OMTP Ltd.
> > Marble Arch Tower
> > 55 Bryanston Street
> > London
> > W1H 7AJ
> >
> > www.omtp.org
> >
> > P Please consider the environment - don't print this mail unless you
> really
> > need to...
> >
> >
>
>
>
> --
> Marcos Caceres
> http://datadriven.com.au
>
>
>
>
> No virus found in this incoming message.
> Checked by AVG - http://www.avg.com
> Version: 8.0.169 / Virus Database: 270.6.15/1648 - Release Date:
> 04/09/2008 18:54
>



-- 
Marcos Caceres
http://datadriven.com.au
Received on Wednesday, 10 September 2008 18:27:51 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 18:49:27 GMT