Experiencing an extended handshake duration on a SAMR21-xpro device.
メンテナーはふだん 2 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 20/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- c
- 領域
- embedded-iot, security
調査の方向性
Start by reading tinydtls/ecc/ecc.h and reviewing the reported key-generation and signing timings on the SAMR21-xpro. Compare those operations with the micro-ecc results described in the issue; the payload does not identify a test file or implementation entry point. Done would require establishing whether the slowdown is expected and defining a scoped decision about replacing or making the ECC implementation selectable.
索引モデルが issue の本文から書いたものです。
説明
Hello, I am currently working on a project to secure wireless UDP/IP communication between SAMR21-xpro devices using RIOT OS. After some research, I found that using DTLS (with ECDSA keys) was the best solution. Moreover, RIOT has examples that use tinyDTLS.
My problem is that, with SAMR21-xpro, the handshake is extremely long. From the logs and packet analysis, I feel like the problem lies in the key management (generation, signature, and verification). According to tinydtls/ecc/ecc.h, this implementation is supposed to be very efficient for 32-bit CPUs.
I made a quick example on RIOT that just generates a key pair and signs a hashed data. The generation takes ~6 seconds, and the signature also takes 6 seconds. I haven't tested verification, but I assume it also takes many seconds. I am quite confused because initially, when I was trying to run a sock-dtls example from RIOT, I found it would be better to generate a key pair to use, and to do so, I used the micro-ecc library. On SAMR21-xpro, key generation, signature, and verification take barely a second.
Is it normal that the key management is so long on a 32-bit CPU?
Also, I was wondering if it could be a good idea to replace the library used to manage ECC in tinyDTLS with micro-ecc? Or maybe add a patch that could let the user choose what they want to use?
Thanks in advance
- 主要言語
- C
- スター
- 122
- フォーク
- 67
- 平均マージ
- 6日 8時間
- マージ済み PR(30日)
- 5
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
eclipse-tinydtls/tinydtls のほかの issue
-
ECDHE_ECDSA ClientKeyExchange rejected as too short when DTLS_PSK_MAX_CLIENT_IDENTITY_LEN > 64対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンbug good first issue please retest
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
eclipse-tinydtls/tinydtls#298 · コメント 2 件 ·
メンテナーはふだん 2 日以内に返信
-
`dtls_get_cookie`: dereference before the length check (currently masked by `dtls_create_cookie`)オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
eclipse-tinydtls/tinydtls#279 · コメント 2 件 · リアクション 1 件 ·
メンテナーはふだん 2 日以内に返信
-
MSVC build is broken (undeclared `DTLS_DEBUG_BUF_SIZE`)対応中かも @mrdeep1 が 11 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 25/100
eclipse-tinydtls/tinydtls#283 · コメント 5 件 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 57/100
eclipse-tinydtls/tinydtls#278 · コメント 3 件 · リアクション 1 件 ·
メンテナーはふだん 2 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
eclipse-tinydtls/tinydtls#274 · コメント 2 件 ·
メンテナーはふだん 2 日以内に返信
eclipse-tinydtls/tinydtls の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
DaveGamble/cJSON#1100 ·
-
UB: (int) cast of a user double outside int range in dispatch / vm_index_is_int / flat_index_atオープンarea:runtime-vm
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
InauguralSystems/EigenScript#1748 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
leanprover/lean4#15677 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 2 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
wasm-micro-runtime/wasm-micro-runtime#5159 ·
メンテナーはふだん 7 日以内に返信