Skip to content
This repository has been archived by the owner on Jun 14, 2024. It is now read-only.

XX/WAKU-KEYSTORE: new RFC #571

Closed
3 tasks
Tracked by #179
s1fr0 opened this issue Feb 8, 2023 · 2 comments
Closed
3 tasks
Tracked by #179

XX/WAKU-KEYSTORE: new RFC #571

s1fr0 opened this issue Feb 8, 2023 · 2 comments
Assignees
Labels
track:rln RLN Track (Secure Messaging/Applied ZK), e.g. relay and applications track:waku-specs Waku specs track (RAD)

Comments

@s1fr0
Copy link
Contributor

s1fr0 commented Feb 8, 2023

Problem

The PR waku-org/nwaku#1466 implements in nwaku the JSON keystore format proposed in waku-org/nwaku#1238 (comment). Encryption of credentials is done using an implementation derived from nimbus keystore and implemented in nwaku in waku-org/nwaku#1285.

In order to properly address #543, the format and features implemented by the above PRs should be documented in a new RFC with suggested name XX/WAKU-KEYSTORE, to reflect the fact that in nwaku all related implementations are grouped under the protocol\waku_keystore module.

Credentials padding

In #543 (comment) it is noted that the default keyfile implementation uses aes-ctr, which leaks the length of the ciphertext. Padding is not enforced in current nwaku implementation and it is up to the RFC to specify how this should be done (e.g. by using pkcs7 padding implemented in https://github.com/waku-org/nwaku/blob/6811af328cfae8b23755faaf3a30dae5df15880e/waku/v2/protocol/waku_noise/noise_utils.nim#L38-L60)

Acceptance criteria

  • Publish a raw RFC to detail the format and features of the waku_keystore module
  • Update the RFCs whose implementations currently use waku_keystore (e.g. 17/WAKU-RLN-RELAY) with a proper reference to and usage description of the XX/WAKU-KEYSTORE RFC.
  • Address ciphertext padding in implementations.
@s1fr0 s1fr0 added track:rfc-process RFC process track (RAD) track:waku-specs Waku specs track (RAD) labels Feb 8, 2023
@rymnc rymnc self-assigned this Feb 23, 2023
@rymnc
Copy link
Contributor

rymnc commented Feb 23, 2023

@kaiserd should we update the acceptance criteria here to just include the raw rfc for the current implementation?
imo we shouldn't be including the padding in it yet since there is no reference impl
I will create an issue in nwaku to address the padding of ciphertext

@kaiserd kaiserd removed the track:rfc-process RFC process track (RAD) label Feb 27, 2023
@kaiserd kaiserd added the track:rln RLN Track (Secure Messaging/Applied ZK), e.g. relay and applications label Feb 27, 2023
@jimstir
Copy link
Contributor

jimstir commented Jun 13, 2024

Clsoing, RFC created here and spec located here

@jimstir jimstir closed this as completed Jun 13, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
track:rln RLN Track (Secure Messaging/Applied ZK), e.g. relay and applications track:waku-specs Waku specs track (RAD)
Projects
Status: No status
Development

No branches or pull requests

4 participants