Commit Graph
766 Commits
Author SHA1 Message Date
Pol Henarejos 4ce816e9f6 Update mbedTLS only when necessary.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-12-01 12:15:54 +01:00
Pol Henarejos 85bd329e3b Fix on AID selection. It should support shorter AID if matches.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-12-01 01:45:08 +01:00
Pol Henarejos 5f45a6b75b Fix oath aid test.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-11-30 19:06:15 +01:00
Pol Henarejos f97b942d11 Upgrade Pico Keys SDK to v8.0
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-11-30 18:31:19 +01:00
Pol Henarejos 93bba4fb76 Moved to pypicofido.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-11-18 01:04:36 +01:00
Pol Henarejos 0dc2b73de4 Add support for RP2354.
Add PHY READ.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-11-15 20:18:23 +01:00
Pol Henarejos dc572bcc81 Add versions.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-11-15 20:18:08 +01:00
Pol HenarejosandGitHub f6a1d146e7 Merge pull request #193 from MageDelfador/esp32pr
ESP32 Optimization
2025-11-10 00:57:11 +01:00
Pol Henarejos 0d89a21be7 Fix if/else logic. Fixes #199.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-11-09 20:13:45 +01:00
Pol Henarejos 65194e3775 Remove debug.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-11-09 20:13:04 +01:00
Pol Henarejos 5b778f2e27 Fix CI/CD
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-28 10:19:48 +01:00
Pol Henarejos b0180711e7 Fix build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-28 09:36:55 +01:00
Pol Henarejos 4bcbf7f9a9 Merge branch 'development' 2025-10-27 09:30:13 +01:00
Pol Henarejos cf0686f857 Add template for pull requests.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-27 08:57:59 +01:00
Pol Henarejos c54a6fa6fe Add CONTRIBUTING
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-27 08:53:08 +01:00
Pol Henarejos 8b08618875 Update license models and add ENTERPRISE.md
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-26 20:45:37 +01:00
Pol Henarejos a59cdef8e6 Merge branch 'main' into development
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>

# Conflicts:
#	pico-keys-sdk
2025-10-26 20:12:26 +01:00
Pol Henarejos d4f2d04487 Relicense project under the GNU Affero General Public License v3 (AGPLv3)
and add the Enterprise / Commercial licensing option.

Main changes:
- Replace GPLv3 headers with AGPLv3 headers in source files.
- Update LICENSE file to the full AGPLv3 text.
- Add ENTERPRISE.md describing the dual-licensing model:
  * Community Edition: AGPLv3 (strong copyleft, including network use).
  * Enterprise / Commercial Edition: proprietary license for production /
    multi-user / OEM use without the obligation to disclose derivative code.
- Update README with a new "License and Commercial Use" section pointing to
  ENTERPRISE.md and clarifying how companies can obtain a commercial license.

Why this change:
- AGPLv3 ensures that modified versions offered as a service or deployed
  in production environments must provide corresponding source code.
- The Enterprise / Commercial edition provides organizations with an
  alternative proprietary license that allows internal, large-scale, or OEM
  use (bulk provisioning, policy enforcement, inventory / revocation,
  custom attestation, signed builds) without AGPL disclosure obligations.

This commit formally marks the first release that is dual-licensed:
AGPLv3 for the Community Edition and a proprietary commercial license
for Enterprise customers.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-26 20:10:06 +01:00
MageDelfador 522b7d5841 Update sdkconfig.defaults 2025-10-15 23:43:38 +08:00
Pol Henarejos 6b93938040 Fix warnings.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-12 18:56:14 +02:00
Pol Henarejos 898c88dc6d Migration to the new system of secure functions to derive keys based on OTP, if available, and pico_serial as a fallback. PIN is also an input vector, which defines a separated domain.
PIN is used to derive encryption key, derive session key and derive verifier. From session key is derived encryption key. As a consequence, MKEK functionalities are not necessary anymore, since key device is handled by this new set directly. Some MKEK functions are left for compatibility purposes and for the silent migration to new format.  It also applies for double_hash_pin and hash_multi, which are deprecated.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-08 00:33:23 +02:00
Pol Henarejos 51c13b0f0b Add memory leak checker.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-07 23:41:58 +02:00
Pol Henarejos d424f0dea7 Add sanity check.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-07 21:11:50 +02:00
Pol Henarejos de1bf3d2d4 Add OTP security enhancements.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-06 14:22:23 +02:00
Pol Henarejos 85423fed85 Using new PIN format.
Now, PIN uses OTP as a seed to avoid memory dumps, when available (RP2350 / ESP32).

Related with #187.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-28 20:29:06 +02:00