Requirements for the "Transaction-PKI" projct ============================================= In order to provide improved security against rising risks, the following capabilities are desirable for web-applications: 1) The ability to digitally sign a web-form using public-key cryptography with a local private-key - i.e. the private-key must reside on the client side of the application. The signed transaction must propagate all the way to the end application, as opposed to just the web-server; 2) The ability to encrypt web-form content using public-key cryptography with public-keys embedded in the form, or that can be found using URIs at encrypt-time. The encrypted transaction must propogate all the way to the end-application as opposed to just the web-server; 3) The signing capability must be native in the browser; i.e. there must be no downloaded applets or locally installed plug-ins. Just as the browser natively performs crypto operations to establish an SSL/TLS session, it must so perform the signing/verification of the form-content in the transaction. The encryption/decryption capabilities must be native to the browser too; 4) The signing capability must work with any locally-defined crypto token, known to the browser, using either the CAPI and/or PKCS#11 interfaces; 5) The capability must leverage existing standards such as XHTML, JavaScript, XForms, XML Signature, XML Encryption, OASIS Web Services Security, etc. where it can. If new code needs to be written, then the gap must be identified and defined very clearly; 6) The capability must work with all major browsers - Firefox, MSIE, Opera and Safari; Arshad Noor Chair Application Guidelines Subcommitee