Skip to content
0
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

fedi wiki

  1. Home
  2. Fediverse Enhancement Proposals
  3. silverpill:

silverpill:

Scheduled Pinned Locked Moved Fediverse Enhancement Proposals
125 Posts 14 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • silverpill@socialhub.activitypub.rocksS silverpill@socialhub.activitypub.rocks

    RSA was chosen to make implementation process easier for developers. Today the de-facto standard for server-to-server authentication in Fediverse is HTTP signatures with RSASSA-PKCS1-v1_5 algorithm. Every interoperating server already stores an RSA key for each user and knows how to verify those signatures. In order to implement FEP-8b32, developers only need to find some JCS library and adjust their activity construction and validation procedures. And while I understand that jcs-eddsa-2022 is preferable, implementing it would require more effort and that may discourage people. Of course, this is just a guess, and the recommendation will be revised based on a feedback from developers.

    helge@socialhub.activitypub.rocksH This user is from outside of this forum
    helge@socialhub.activitypub.rocksH This user is from outside of this forum
    helge@socialhub.activitypub.rocks
    wrote last edited by
    #81
    silverpill:

    nd while I understand that jcs-eddsa-2022 is preferable, implementing it would require more effort and that may discourage people.

    I would say: It's better to encourage people to bite the bullet now then later. If the FediVerse is successful, there will be more projects to convince to make the switch than there are now. Furthermore, it should be a lot easier to find an ed25519 library than a jcs one.

    1 Reply Last reply
    0
    • ? Guest

      I am in the process of implementing this FEP in Hubzilla. Regarding backward compatibility: can you provide an example on how to double sign (identity proofs and ld signatures) activities?How should such messages be verified?

      I do not want to ditch ld signatures yet since they are required by Mastodon and Friendica to accept relayed messages. AFAIK both projects have not implemented this FEP yet.

      Thanks!

      silverpill@socialhub.activitypub.rocksS This user is from outside of this forum
      silverpill@socialhub.activitypub.rocksS This user is from outside of this forum
      silverpill@socialhub.activitypub.rocks
      wrote last edited by
      #82

      Good question! I think you need to add an integrity proof first, and then a linked data signature.

      • Recipients that support only linked data signatures will verify the signature and ignore the proof.
      • Recipients that support integrity proofs should remove the signature and verify the proof after that.

      Let me know if it works, and I'll update the FEP accordingly.

      ? 1 Reply Last reply
      0
      • helge@socialhub.activitypub.rocksH helge@socialhub.activitypub.rocks

        I think this FEP should point out somewhere that:

        • When verifying an Activity, the controller parameter of the proof, should be the actor of the Activity.
        • When verifying an Object, the controller parameter of the proof, should be the attributedTo of the Object.

        I think this would be a step forward in clarifying what integrity constraints on ActivityPub objects mean. The advantage of starting in this FEP is that the conditions should be pretty uncontested. The two points above should "obviously" be true.

        silverpill@socialhub.activitypub.rocksS This user is from outside of this forum
        silverpill@socialhub.activitypub.rocksS This user is from outside of this forum
        silverpill@socialhub.activitypub.rocks
        wrote last edited by
        #83

        Did you mean verificationMethod?controller is not listed among possible properties of an integrity proof: https://w3c.github.io/vc-data-integrity/#proofs

        helge@socialhub.activitypub.rocksH 1 Reply Last reply
        0
        • silverpill@socialhub.activitypub.rocksS silverpill@socialhub.activitypub.rocks

          The RDF canonicalization algorithm is actually called URDNA2015. I searched for libraries implementing this algorithm and found Ruby, Python, Javascript, Go, Rust and PHP implementations. This covers all popular AP servers except Pleroma and Mobilizon (written in Elixir). There's no JCS implementation in Ruby (for Mastodon). I think this is a bigger blocker, so URDNA2015 could be a better choice after all.

          silverpill:

          One of the remaining issues here is a lack of clarity regarding proof type. When I read Data Integrity spec I get the impression that it recommends using DataIntegrityProof type along with cryptosuite property, but it is not clear how cryptosuites are registered.

          I found specification for eddsa-2022 cryptosuite: https://w3c.github.io/vc-di-eddsa/.

          helge@socialhub.activitypub.rocksH This user is from outside of this forum
          helge@socialhub.activitypub.rocksH This user is from outside of this forum
          helge@socialhub.activitypub.rocks
          wrote last edited by
          #84

          Shouldn't JCS be the clear favorite because it's faster? I cannot find any analysis of the performance of the two algorithms, but it's my expectation knowing roughly what they do.

          Also if I understand https://lists.w3.org/Archives/Public/public-vc-wg/2023Jan/0030.html correctly, it's impossible to implement full URDNA without implementing JCS. So library support should favor JCS. (Or implementations are incomplete).

          silverpill@socialhub.activitypub.rocksS 1 Reply Last reply
          0
          • silverpill@socialhub.activitypub.rocksS silverpill@socialhub.activitypub.rocks
            helge:

            Include test cases of activities that should be valid using various algorithm pairings. This would at least help me, if I wanted to implement this.

            Only a small number of proof suites (methods) has been standardized so far: https://w3c-ccg.github.io/vc-extension-registry/#proof-methods. I'm mostly improvising and inventing my own suites. If you want to create an interoperable implementation, we can discuss it here or somewhere else, but I don't want to include non-standard proof suites in the proposal (JcsRsaSignature2022 is used in the example but without it proposal would be incomplete).

            helge:

            Specify behavior if Authentication is missing, e.g.

            Some servers may process activities in background and respond with 200/202 before authentication is performed.

            helge:

            Discuss behavior for AP S2S 7.1.2 Forwarding from Inbox, e.g.

            Should this be a separate section in the proposal? Efficient forwarding is not the only use case of object integrity proofs, so if we talk about this we may as well mention other use cases.

            helge:

            Discuss public key caching. This probably goes beyond the scope of this FEP. So, one might one want add something like This section is non-normative. to it.

            That's a good idea. This FEP can include recommendations for dealing with rotated/revoked keys: https://socialhub.activitypub.rocks/t/reuse-of-identity-channel-addresses-revocation-reissue-of-keys/2888

            helge@socialhub.activitypub.rocksH This user is from outside of this forum
            helge@socialhub.activitypub.rocksH This user is from outside of this forum
            helge@socialhub.activitypub.rocks
            wrote last edited by
            #85

            I think a section on sample use cases would really help this proposal.

            Another possible use case is to include the object being announced in an Announce activity. This would reduce the peak loads on servers, as only servers not having cached the public key, would need to fetch it.

            ---

            An idea, I had is to use key expiration as a method to decide if content needs to be refetched. I'm not 100% sure if this is a good mechanism, but I thought it might be a good idea to put out there.

            1 Reply Last reply
            0
            • helge@socialhub.activitypub.rocksH helge@socialhub.activitypub.rocks

              https://github.com/Wind4Greg/EdDSA-Test-Vectors

              is useful. I also think that the proof format

               "proof": { "type": "DataIntegrityProof", "cryptosuite": "json-eddsa-2022", "created": "2023-02-24T23:36:38Z", "verificationMethod": "https://vc.example/issuers/5678#z6MkrJVnaZkeFzdQyMZu1cgjg7k1pZZ6pvBQ7XJPt4swbTQ2", "proofPurpose": "assertionMethod", "proofValue": "z4J5StJRP9nWYuCGaxgeCWXmmMJvVtLuVKvYv7z9pkGP1nYpaVk5hUaA8cvS37ncvbKWZgUTaSyGcavnVvb1at9kZ" }

              looks good and is specified in the context at https://www.w3.org/ns/credentials/v2

              My quick search unfortunately, did not reveal a good description of the context. It was introduced in https://www.w3.org/TR/vc-data-model-2.0/#base-context . The good news is that the context allows for adding an "expires" term. This is important as we will want to encourage usage of "time to live" for ActivityPub.

              helge@socialhub.activitypub.rocksH This user is from outside of this forum
              helge@socialhub.activitypub.rocksH This user is from outside of this forum
              helge@socialhub.activitypub.rocks
              wrote last edited by
              #86

              For people preferring to read Python: https://codeberg.org/helge/vc-di-eddsa-python

              Only the JCS part verifies correctly.

              1 Reply Last reply
              0
              • silverpill@socialhub.activitypub.rocksS silverpill@socialhub.activitypub.rocks

                Hello!

                This is a discussion thread for the proposed FEP-8b32: Object Integrity Proofs.Please use this thread to discuss the proposed FEP and any potential problemsor improvements that can be addressed.

                Summary

                This proposal describes how ActivityPub servers and clients could create self-authenticating activities and objects.

                HTTP signatures are often used for authentication during server-to-server interactions. However, this ties authentication to activity delivery, and limits the flexibility of the protocol.

                Integrity proofs are sets of attributes that represent digital signatures and parameters required to verify them. These proofs can be added to any activity or object, allowing recipients to verify the identity of the actor and integrity of the data. That decouples authentication from the transport, and enables various protocol improvements such as activity relaying, embedded objects and client-side signing.

                ? Offline
                ? Offline
                Guest
                wrote last edited by
                #87

                Oh, and it also remains to be seen what per-user keys (client-managed and/or server-managed) implementations will already be implementing for E2EE if they prioritize that feature first-- I know Evan is researching this at the moment and there may be some FEPs around that soon. The more composable these various features are, the smaller the lift for any one FEP becomes

                1 Reply Last reply
                0
                • ? Guest

                  I found that the test vector in FEP-8b32 (and Mitra's implementation) is inconsistent with the algorithm described in the Data Integrity EdDSA Cryptosuites v1.0 specification.

                  Looking at section [3.3.1 Create Proof (eddsa-jcs-2022)][1] of the specification, it states:

                  1. Set proof.\@context to unsecuredDocument.\@context.

                  The test vector, on the other hand, is the result of skipping this step. [Mitra's implementation][2] also omits this step.

                  Is this test vector in FEP-8b32 intended or is it a bug in the specification?

                  [1]: https://w3c.github.io/vc-di-eddsa/#create-proof-eddsa-jcs-2022[2]: https://codeberg.org/silverpill/mitra/src/tag/v2.21.0/mitra_utils/src/json_signatures/create.rs#L207-L248

                  silverpill@socialhub.activitypub.rocksS This user is from outside of this forum
                  silverpill@socialhub.activitypub.rocksS This user is from outside of this forum
                  silverpill@socialhub.activitypub.rocks
                  wrote last edited by
                  #88

                  I wrote about this a couple of days ago:

                  silverpill:

                  JCS context injection PR has been merged, test vectors have been updated as well. I will update my implementation in two stages, according to the plan:

                  New algorithms are implemented but I haven't pushed changes to Codeberg yet. During the transitional period, consider FEP-8b32 test vectors to be "correct" ones (i.e. don't add @context to your proofs).

                  ? 1 Reply Last reply
                  0
                  • ? Guest
                    helge:

                    I could suggest a few fixes for the situation now, e.g. versioning the AS @context. The experience is just not there to know if what I suggest is good.

                    Update:https://www.w3.org/wiki/Activity_Streams/Primer/Context_document_versioninghttps://github.com/w3c/activitystreams/issues/560#issuecomment-1908602094

                    Good-faith question because I too have mixed feelings about JSON-LD and its tooling/ecosystem support, but would recommending or requiring an RDFC step in signing FEPs (current or future) help the "bad LD" issue, or just further tax/annoy/bully the devs who don't use LD for anything? I was under the impression that RDFC is a lot more feature-complete and street-ready than it was a year ago, but that is more anecdotal/hearsay than based on personal experience.

                    https://www.w3.org/TR/rdf-canon/

                    silverpill@socialhub.activitypub.rocksS This user is from outside of this forum
                    silverpill@socialhub.activitypub.rocksS This user is from outside of this forum
                    silverpill@socialhub.activitypub.rocks
                    wrote last edited by
                    #89

                    I think it's better to stay away from anything JSON-LD/RDF related. Developers don't like it, and for those few who do JSON-LD processing it seems to be a constant source of problems.

                    1 Reply Last reply
                    0
                    • ? Guest

                      In the future, would it be possible to send activities using only Object Integrity Proofs and not rely on HTTP Signatures? Or are Object Integrity Proofs just a complement to HTTP Signatures?

                      ? Offline
                      ? Offline
                      Guest
                      wrote last edited by
                      #90

                      I would say that HTTP Signatures is table-stakes to federate with the mainstream Fediverse and will remain that way at least in the short-term. I'm not sure which implementations/communities are open to dropping signatures at the server/HTTPS layer in leiu of relying solely on client-managed signing, and I would imagine it's a liability/regulatory issue for some servers on top of a technical sea change. Suffice it to say that dropping TLS-level signing would be a big protocol change and I haven't seen much conversation implying such a change is imminent!

                      That said, while it may not be a replacement for HTTP-Signatures, there are plenty of other reasons to adopt it and promote its general adoption. Lots of developer-community research lately has focused on interoperability with other decentralized networks, and I think the Object Proofs model maps well to how Nostr and Bluesky do client-side per-object signing. A bridge to those networks might be able to validate Object Proofs and resign/countersign/etc individual posts for republishing in those other networks (maybe @snarfed can add color here, I probably have the terminology at least a little wrong?). Additionally, there are some portability corner-cases like the dead-server salvage-migration (see user story 3 here), which might also justify client-signing individual objects even if connections to that server (while it's up!) are also secured by HTTP-Sig.

                      1 Reply Last reply
                      0
                      • silverpill@socialhub.activitypub.rocksS silverpill@socialhub.activitypub.rocks

                        Hello!

                        This is a discussion thread for the proposed FEP-8b32: Object Integrity Proofs.Please use this thread to discuss the proposed FEP and any potential problemsor improvements that can be addressed.

                        Summary

                        This proposal describes how ActivityPub servers and clients could create self-authenticating activities and objects.

                        HTTP signatures are often used for authentication during server-to-server interactions. However, this ties authentication to activity delivery, and limits the flexibility of the protocol.

                        Integrity proofs are sets of attributes that represent digital signatures and parameters required to verify them. These proofs can be added to any activity or object, allowing recipients to verify the identity of the actor and integrity of the data. That decouples authentication from the transport, and enables various protocol improvements such as activity relaying, embedded objects and client-side signing.

                        silverpill@socialhub.activitypub.rocksS This user is from outside of this forum
                        silverpill@socialhub.activitypub.rocksS This user is from outside of this forum
                        silverpill@socialhub.activitypub.rocks
                        wrote last edited by
                        #91

                        Proposal now recommends jcs-eddsa-2022 cryptosuite: https://codeberg.org/fediverse/fep/pulls/92

                        I'll implement it too and report my findings.

                        1 Reply Last reply
                        0
                        • ? Guest

                          Thanks, i think that will work if it is made clear that signature has to be removed before verifying proof.

                          Currently i am strugling with our jsonld library which fails as soon as i add https://w3id.org/security/data-integrity/v1 to the context

                          silverpill@socialhub.activitypub.rocksS This user is from outside of this forum
                          silverpill@socialhub.activitypub.rocksS This user is from outside of this forum
                          silverpill@socialhub.activitypub.rocks
                          wrote last edited by
                          #92

                          I don't know how much you have in common with Friendica, but they had a similar problem: https://github.com/friendica/friendica/issues/12815#issuecomment-1685307304

                          ? 1 Reply Last reply
                          0
                          • silverpill@socialhub.activitypub.rocksS silverpill@socialhub.activitypub.rocks
                            hongminhee:

                            I would like to use ECDSA as the Web Cryptography API does not support EdDSA.

                            I don't recommend that because all existing FEP-8b32 implementations use eddsa-jcs-2022. And it looks like WebCrypto support is being worked on? https://github.com/w3c/webcrypto/pull/362

                            hongminhee:

                            Would it be possible to add an example in the test suite that uses ecdsa-jcs-2019 as the cryptosuite?

                            You can find test vectors for ecdsa-jcs-2019 in sections A.3 and A.4: https://www.w3.org/TR/vc-di-ecdsa/#representation-ecdsa-jcs-2019-with-curve-p-256.

                            I think FEP-8b32 should recommend only one cryptosuite to avoid fragmentation and extra work for implementers, and over the course of the past 1.5 years we came to an agreement that eddsa-jcs-2022 is the best option. I may implement ecdsa-jcs-2019 in my personal AP server at some point, but this is not going to happen anytime soon

                            hongminhee:

                            Also, could there be a cryptosuite that uses RSA and JCS together?

                            It is possible, I used RSA-based integrity proofs (with a custom cryptosuite) in the early days of FEP-8b32. But people who work on W3C Data Integrity specification consider RSA outdated and insecure, and have no plans to define RSA-JCS cryptosuite.

                            ? Offline
                            ? Offline
                            Guest
                            wrote last edited by
                            #93

                            Thank you for your kind response!

                            silverpill:

                            And it looks like WebCrypto support is being worked on? Add Curve25519 by twiss · Pull Request #362 · w3c/webcrypto · GitHub

                            Thanks to you, I was able to successfully sign and verify with Ed25519 in Node.js, Bun, and Deno.

                            silverpill:

                            I think FEP-8b32 should recommend only one cryptosuite to avoid fragmentation and extra work for implementers, and over the course of the past 1.5 years we came to an agreement that eddsa-jcs-2022 is the best option.

                            I will try to implement eddsa-jcs-2022 into Fedify as you said!

                            1 Reply Last reply
                            0
                            • silverpill@socialhub.activitypub.rocksS silverpill@socialhub.activitypub.rocks

                              Hello!

                              This is a discussion thread for the proposed FEP-8b32: Object Integrity Proofs.Please use this thread to discuss the proposed FEP and any potential problemsor improvements that can be addressed.

                              Summary

                              This proposal describes how ActivityPub servers and clients could create self-authenticating activities and objects.

                              HTTP signatures are often used for authentication during server-to-server interactions. However, this ties authentication to activity delivery, and limits the flexibility of the protocol.

                              Integrity proofs are sets of attributes that represent digital signatures and parameters required to verify them. These proofs can be added to any activity or object, allowing recipients to verify the identity of the actor and integrity of the data. That decouples authentication from the transport, and enables various protocol improvements such as activity relaying, embedded objects and client-side signing.

                              ? Offline
                              ? Offline
                              Guest
                              wrote last edited by
                              #94

                              Like the test vectors in the Data Integrity EdDSA Cryptosuites v1.0 specification, it would be nice if the test vectors for FEP-8b32 included an intermediate step to compute the proof:

                              • Canonical object
                              • Object hash (hex)
                              • Canonical proof config
                              • Proof config hash (hex)
                              • Combination of two hashes (hex)
                              • Signature of combined hashes (hex)
                              • Signature (base58-btc)

                              Would this be possible?

                              silverpill@socialhub.activitypub.rocksS 1 Reply Last reply
                              0
                              • silverpill@socialhub.activitypub.rocksS silverpill@socialhub.activitypub.rocks

                                Here's an interesting use case: integrity proofs can be used to implement client+relay model, where the signing key is stored on the client and activity signing is done by client as well. The relay (server) accepts signed activity via C2S and delivers it to the audience. The relay can refuse to deliver activity but it can not change the activity in any way, because that would invalidate the signature.

                                ? Offline
                                ? Offline
                                Guest
                                wrote last edited by
                                #95

                                Is there more on the client+relay model posted anywhere? I wonder if this helps support a model where private keys are held client-side.

                                silverpill@socialhub.activitypub.rocksS 1 Reply Last reply
                                0
                                • silverpill@socialhub.activitypub.rocksS silverpill@socialhub.activitypub.rocks

                                  Hello!

                                  This is a discussion thread for the proposed FEP-8b32: Object Integrity Proofs.Please use this thread to discuss the proposed FEP and any potential problemsor improvements that can be addressed.

                                  Summary

                                  This proposal describes how ActivityPub servers and clients could create self-authenticating activities and objects.

                                  HTTP signatures are often used for authentication during server-to-server interactions. However, this ties authentication to activity delivery, and limits the flexibility of the protocol.

                                  Integrity proofs are sets of attributes that represent digital signatures and parameters required to verify them. These proofs can be added to any activity or object, allowing recipients to verify the identity of the actor and integrity of the data. That decouples authentication from the transport, and enables various protocol improvements such as activity relaying, embedded objects and client-side signing.

                                  helge@socialhub.activitypub.rocksH This user is from outside of this forum
                                  helge@socialhub.activitypub.rocksH This user is from outside of this forum
                                  helge@socialhub.activitypub.rocks
                                  wrote last edited by
                                  #96

                                  I think this FEP should point out somewhere that:

                                  • When verifying an Activity, the controller parameter of the proof, should be the actor of the Activity.
                                  • When verifying an Object, the controller parameter of the proof, should be the attributedTo of the Object.

                                  I think this would be a step forward in clarifying what integrity constraints on ActivityPub objects mean. The advantage of starting in this FEP is that the conditions should be pretty uncontested. The two points above should "obviously" be true.

                                  silverpill@socialhub.activitypub.rocksS 1 Reply Last reply
                                  0
                                  • helge@socialhub.activitypub.rocksH helge@socialhub.activitypub.rocks

                                    A few thoughts (not really comments yet):

                                    • One should explain the distinction between an identifier and a public key. This is not a technical distinction (both can be considered as points on Curve 25519) but a distinction of purpose.
                                      • An Identifier identifies an actor
                                      • A Public Key is used by the actor to prove he did something, i.e. by signing it. (Awful sentence)
                                      • There are more key types see

                                    https://signal.org/docs/specifications/x3dh/#keys

                                    • Given their use, one can rotate public keys quite frequently. For example, I could issue a new public key every week with a 2 week expiry. Once the public key is expired, I publish the private key. This means that signatures don't make it impossible to delete objects.

                                    • I'm unsure if I like the name "MultiKey". "Multi" might be taken to mean "multipurpose" instead of being a format. It might be better to specify the use as "SigningKey". Maybe, one can invent a naming scheme that also covers fep-c390 and uses such as

                                      • X25519 key exchange, see this
                                      • What one needs for x3dh / double ratchet
                                      • Other use cases? Object Capabilities?
                                    silverpill@socialhub.activitypub.rocksS This user is from outside of this forum
                                    silverpill@socialhub.activitypub.rocksS This user is from outside of this forum
                                    silverpill@socialhub.activitypub.rocks
                                    wrote last edited by
                                    #97
                                    helge:

                                    One should explain the distinction between an identifier and a public key. This is not a technical distinction (both can be considered as points on Curve 25519) but a distinction of purpose.

                                    @codenamedmitri proposed to use properties like authentication, keyAgreement etc to make the purpose of the key clear. I support this.

                                    helge:

                                    Given their use, one can rotate public keys quite frequently. For example, I could issue a new public key every week with a 2 week expiry. Once the public key is expired, I publish the private key. This means that signatures don’t make it impossible to delete objects.

                                    FEP-521a allows actor to have multiple keys, so you can add a new key without removing the expired one (just mark it as "expired" somehow).

                                    helge:

                                    I’m unsure if I like the name “MultiKey”.

                                    I took it from "EdDSA Cryptosuite v2022" document. There's a warning about moving it to Data Integrity spec, so we can expect it to become standard. If we replace attachment with authentication, the ambiguity will disappear.

                                    helge@socialhub.activitypub.rocksH 1 Reply Last reply
                                    0
                                    • silverpill@socialhub.activitypub.rocksS silverpill@socialhub.activitypub.rocks

                                      Hello!

                                      This is a discussion thread for the proposed FEP-8b32: Object Integrity Proofs.Please use this thread to discuss the proposed FEP and any potential problemsor improvements that can be addressed.

                                      Summary

                                      This proposal describes how ActivityPub servers and clients could create self-authenticating activities and objects.

                                      HTTP signatures are often used for authentication during server-to-server interactions. However, this ties authentication to activity delivery, and limits the flexibility of the protocol.

                                      Integrity proofs are sets of attributes that represent digital signatures and parameters required to verify them. These proofs can be added to any activity or object, allowing recipients to verify the identity of the actor and integrity of the data. That decouples authentication from the transport, and enables various protocol improvements such as activity relaying, embedded objects and client-side signing.

                                      silverpill@socialhub.activitypub.rocksS This user is from outside of this forum
                                      silverpill@socialhub.activitypub.rocksS This user is from outside of this forum
                                      silverpill@socialhub.activitypub.rocks
                                      wrote last edited by
                                      #98

                                      Here's an interesting use case: integrity proofs can be used to implement client+relay model, where the signing key is stored on the client and activity signing is done by client as well. The relay (server) accepts signed activity via C2S and delivers it to the audience. The relay can refuse to deliver activity but it can not change the activity in any way, because that would invalidate the signature.

                                      ? 1 Reply Last reply
                                      0
                                      • ? Guest
                                        Great questions. (re whether the authentication or assertionMethod purpose is more appropriate). I think we should go with assertionMethod (when signing activities), and reserve authentication just for logging in with DID Auth ceremonies.
                                        helge@socialhub.activitypub.rocksH This user is from outside of this forum
                                        helge@socialhub.activitypub.rocksH This user is from outside of this forum
                                        helge@socialhub.activitypub.rocks
                                        wrote last edited by
                                        #99
                                        Can you provide a link to the most recent draft (draft like) document for DID Auth? https://github.com/WebOfTrustInfo/rwot6-santabarbara/blob/master/final-documents/did-auth.md seems out of date …
                                        ? 1 Reply Last reply
                                        0
                                        • silverpill@socialhub.activitypub.rocksS This user is from outside of this forum
                                          silverpill@socialhub.activitypub.rocksS This user is from outside of this forum
                                          silverpill@socialhub.activitypub.rocks
                                          wrote last edited by
                                          #100

                                          Hello!

                                          This is a discussion thread for the proposed FEP-8b32: Object Integrity Proofs.Please use this thread to discuss the proposed FEP and any potential problemsor improvements that can be addressed.

                                          Summary

                                          This proposal describes how ActivityPub servers and clients could create self-authenticating activities and objects.

                                          HTTP signatures are often used for authentication during server-to-server interactions. However, this ties authentication to activity delivery, and limits the flexibility of the protocol.

                                          Integrity proofs are sets of attributes that represent digital signatures and parameters required to verify them. These proofs can be added to any activity or object, allowing recipients to verify the identity of the actor and integrity of the data. That decouples authentication from the transport, and enables various protocol improvements such as activity relaying, embedded objects and client-side signing.

                                          silverpill@socialhub.activitypub.rocksS ? helge@socialhub.activitypub.rocksH ? ? 49 Replies Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          Powered by NodeBB Contributors
                                          • First post
                                            Last post