[2.8] Server-side XEdDSA signature verification (audit)

Open
#448 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
cryptography, python
Domain
security

Research direction

The signed-bytes layout to reproduce is in the firmware file CryptoEngine.cpp at lines 106-175, covering version, from, id, to, portnum, request_id, reply_id, emoji, bitfield, flags and payload, in that order. Read the firmware code first, then the 2.8.2 Balanced-policy fixtures the first acceptance criterion names. Done means those fixtures verify and a verification failure is logged without blocking ingest. This depends on pskillen/meshflow-api#446 (SG-2), which is still open.

Written by the indexing model from the issue text.

Description

enhancement meshtastic-2.8

Part of pskillen/meshflow-api#437 (Meshtastic 2.8.x support). Code: SG-4 · Priority: Nice · Size: M

Summary

Verify signatures server-side for audit, following the signed-bytes layout in firmware CryptoEngine.cpp:106-175 (version, from, id, to, portnum, request_id, reply_id, emoji, bitfield, flags, payload).

Acceptance criteria

  • Verifies real 2.8.2 Balanced-policy fixtures
  • Never blocks ingest

Depends on: pskillen/meshflow-api#446 (SG-2)

Dominant language
Python
Stars
1
Forks
0
Avg merge
1d 20h
Merged PRs (30d)
5

Getting set up

  • Ships a Dockerfile or Docker Compose file
  • Has a pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from pskillen/meshflow-api

All issues in pskillen/meshflow-api

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.