- From: Orie Steele <orie@transmute.industries>
- Date: Sun, 16 Feb 2020 16:39:40 -0600
- To: "W3C Credentials CG (Public List)" <public-credentials@w3.org>
- Message-ID: <CAN8C-_JVwzr71O7J9EfAbRuRf8ZziV8XxsM8MnLv8sFLQVO23w@mail.gmail.com>
Friends,
Due to regulatory and hardware limitations, we've developed 2 new linked
data signature suites:
Web Crypto supports non extractable keys, and Azure Key Vault, and other
KMS support hardware backed KMS operations for NIST Curves, yet there were
no linked data signature suite available.
We created:
- https://github.com/transmute-industries/lds-jws2020
To support developers who need to work with P-256 / P384 / RSA, when
ed25519 or secp256k1 are not allowed or supported in hardware / software.
It relies on publicKeyJwk JWK keys.
We also love GPG and have released:
- https://github.com/transmute-industries/lds-gpg2020
This suite supports GPG in browser, locally using GPGSuite for mac / gpg2
for linux etc.... and also GPG card integrations with things like Yubikey.
It relies on publicKeyGpg ascii armored keys.
GPG is widely used to sign git commits, or software such as TOR and Tails
binaries... now you can use your same (but you shouldn't ever do this) GPG
keys to create Linked Data Signatures, and verifiable credentials using
decentralized identifiers.
Both libraries can be used with
https://github.com/digitalbazaar/jsonld-signatures and
https://github.com/digitalbazaar/vc-js.
Both libraries support the following key types: ed25519, secp256k1, rsa,
p-256, p-384, p-521.
We have already had some lively discussion about "algorithmic agility being
an anti-pattern" here:
https://github.com/transmute-industries/lds-jws2020/issues/4
We'd like to register these suites here:
https://github.com/w3c-ccg/security-vocab
In order to do that, we have defined the necessary documentation for both:
{
"id": "https://gpg.jsld.org/contexts/#GpgSignature2020",
"type": "SignatureSuite",
"canonicalizationAlgorithm": "https://w3id.org/security#URDNA2015",
"digestAlgorithm": "https://www.ietf.org/assignments/jwa-parameters#SHA256
",
"signatureAlgorithm": "https://tools.ietf.org/html/rfc4880#section-11.4"
}
{
"id": "https://lds.jsld.org/contexts/#JsonWebSignature2020",
"type": "SignatureSuite",
"canonicalizationAlgorithm": "https://w3id.org/security#URDNA2015",
"digestAlgorithm": "https://www.ietf.org/assignments/jwa-parameters#SHA256
",
"signatureAlgorithm": "https://tools.ietf.org/html/rfc7518"
}
We'd love feedback, feel free to fork our implementation and restrict the
key types to a single value and define a new signature suite for that
single key type, for each of the supported key types and signature
algorithms.
In order to register these, it appears it may be time to create
https://w3c-ccg.github.io/security-vocab/contexts/security-v3.jsonld
We'd like to fix all the remaining documentation issues associated with
w3id.org/security, before adding more properties.... Please see
https://github.com/w3c/did-core-registry/issues/3 as this related to the
did wg.
We are offering to make these vocabulary updates for the community, please
let us know how we can proceed.
OS
--
*ORIE STEELE*
Chief Technical Officer
www.transmute.industries
<https://www.transmute.industries>
Received on Sunday, 16 February 2020 22:40:06 UTC