Skip to content

Wasm module signatures #425

@asraa

Description

@asraa

This is a proposal about formally introducing Wasm module digital signatures and verification of Wasm bytecode. There was a number of people who were interested in this and I have an interest in getting this working for Istio/Wasm as well as supporting Wasm types in sigstore (e.g. by supporting it in the transparency log).

Right now, there are people who are signing packages or whole .wasm files (https://bytecodealliance.github.io/lucet/Integrity-and-authentication.html, https://medium.com/wasmer/securing-wapm-packages-with-package-signing-3cf0d12f32f3 container signing). But, embedded signatures could allow implementations to validate and make decisions before instantiating the module. Custom sections are natural places to hold this information (see the linked implementations below) in the module.

There is a starter google doc attempting to capture and collaborate on the requirements/use cases that people may need: https://docs.google.com/document/d/1nTLpJMxKNQ4u03g6-KFGYPR7VVovcLKUX0nq0yVnJcw/edit

Links:
WebAssembly/design#1185
https://github.com/jedisct1/wasmsign
https://github.com/frehberg/wasm-sign
proxy-wasm/proxy-wasm-cpp-host#147

Please feel free to correct, add to, comment on.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions