confidential-computing-modules icon indicating copy to clipboard operation
confidential-computing-modules copied to clipboard

A Module for Privacy-preserving State Transitions with Verifiability

Results 102 confidential-computing-modules issues
Sort by recently updated
recently updated
newest added

スケーラブルな分、Tree部分がEnclave内にも関わらず複雑な実装になってしまっている。 update handshakeのメッセージサイズがO(logN)からO(N)に肥大化する分、TCBサイズを削減可能。 https://github.com/LayerXcom/anonify/blob/1aaf0c10cdc4a1b82345b9d4e2258cd54d89b4f9/modules/anonify-enclave/src/group_key.rs#L11-L17

Problem: security

イベント取得〜状態反映をN回repeatしベンチマーク取れるよう、全てのメッセージの暗号化に同じ鍵を利用するstatic group keyを追加。`#[feature(benchmark)]`で有効化可能。 https://github.com/LayerXcom/anonify/blob/1aaf0c10cdc4a1b82345b9d4e2258cd54d89b4f9/modules/anonify-enclave/src/group_key.rs#L11-L17

Problem: security

* テスト時、key-vaultサーバのソケット closeできていない説 * test attribute有無の場合分けを統一 listenerからfdとって、`libc::shutdown`を実装 https://scrapbox.io/layerx/Graceful_exit_TcpListener.incoming()

一度key-vaultにバックアップしてもkey-vaultサーバが壊れるリスクに備え、定期的にバックアップする機能を実装する

QUOTE生成のAPIを_ex系に移行 ![image](https://user-images.githubusercontent.com/20852667/102609172-631d3a80-416e-11eb-97b0-ad0c16ed90ce.png)

Problem: security

* `get_state`などで状態データを取得するとき、TEEノード側に対して秘匿化する必要がある * クライアントはユーザephemeral暗号鍵ペアを生成 * リクエスト時にEnclave暗号鍵でユーザephemeral暗号鍵を暗号化してリクエスト送信 * Enclave内でのみEnclave復号鍵で復号可能 * 状態データをenclave内でユーザephemeral暗号鍵で暗号化してレスポンス * ユーザはephemeral復号鍵で復号し状態データを得る

Protocol Implementation
Privacy

enclave生成時のlaunch_token利用の廃止(deprecated) https://github.com/LayerXcom/anonify/blob/9423a26ca79c83e89ccf74faed3f124e642f0dca/frame/host/src/init_enclave.rs#L27-L37

https://github.com/LayerXcom/anonify/blob/89127bb8ed4f5878f32a1e8217e767bad60c7faf/frame/mra-tls/src/key.rs#L208-L223

暗号ライブラリの変更やマルチスレッド化などパフォーマンスに影響出そうな部分のアップデートのために状態更新のベンチマークを取得し、CIで計測 https://github.com/LayerXcom/anonify/blob/57fa5e70eea1dc2083ce49a76955498cb71f2c3b/modules/anonify-eth-driver/src/eth/event_watcher.rs#L52-L58 https://knqyf263.hatenablog.com/entry/2020/01/14/063941

Performance

https://github.com/RustCrypto/signatures which is pure rust and compatible with no-std env.

Type: research