wolfSSHの次の強化ポイント

wolfSSL製品の一員として、wolfSSHも機能強化を続けています。このwolfSSHに予定されている以下の機能強化ポイントをお知らせしたいと思います。

権限分離機能

wolfSSHにはPOSIXシステムで使用するための独自のスタンドアロンサーバーアプリケーション、wolfSSHdがあることをご存じでしたか?OpenSSHスタイルのコンフィギュレーションファイルをロードすることができ、ローカルシステム内でユーザーの検索を行います。また、wolfSSHのビルトインSFTPサービスも使用します。しかし、権限分離の機能は持っていません。

2023年には、POSIXシステム向けにビルドする際にはwolfSSHdに権限分離を追加する予定です。通常、組み込み機器には複数ユーザーの概念が無いためこの権限分離の機能は使用できません。すべてが、特権モードで実行されます。

権限分離の方法はProvosらによる論文「Preventing Privilege Escalation」で公開されました。一般的な考え方としては、サーバーアプリケーションを2つに分割することです。一つは特権ユーザー権限で実行され、データブロブへの署名、疑似乱数の提供、ユーザー認証などを処理します。もう一つのアプリケーションは非特権ユーザーとして実行され、シェルを実行してソケットを監視します。この2つのアプリケーションは共有メモリやパイプなど何らかの形式のIPC(プロセス間通信)を使用して通信します。

アルゴリズムのアップデート

wolfCryptはwolfSSHが利用しないアルゴリズムを既にいくつかサポートしています。wolfSSHもこれらをサポートする機が熟したと考えています。

暗号化とメッセージ認証の目的でwolfCryptはPoly1305とCHACHA20を利用できます。SSHプロトコルでは”chacha-poly”を使用する為の公開されたRFCはありませんが、OpenSSHにはこのアルゴリズムの独自実装があります。wolfSSHはそれと相互運用できるべきだと考えています。

ユーザー認証のために署名するとか、サーバーのIDを証明 するために、RSA鍵でSHA2-256およびSHA2-512ハッシュを使用できます。RFC8332で説明されているrsa-sha2-256およびrsa-sha2-512をwolfSSHでもサポートするように追加します。

さらに、RFC8709ではSSHプロトコルでEd25519およびEd448公開鍵署名アルゴリズムを使用する方法について説明しています。wolfCryptはこれらのアルゴリズムをサポートしています。wolfSSHもこれらをサポート予定です。

鍵交換については、RFC8268に従って、SHA2-256 およびSHA2-512を使用する鍵交換アルゴリズムを追加してwolfSSHを最新仕様に追いつかせます。Oakleyグループ14は2048ビットのデフィー・ヘルマン グループパラメータのセットであり、SHA2-256ハッシュで使用できます。同RFCではSHA2-512を使ったより大きいグループの使用方法についても説明しています。

鍵交換アルゴリズムx25519およびx448はポスト量子鍵交換標準であるKyberとの鍵交換ハイブリッドを使用して利用可能になります。

物事が絶えず変化するのと同様に、ネットワークセキュリティも常に進化しています。新しい、より早い、より優れたアルゴリズムが開発される一方で、既存のアルゴリズムの一部は壊れたり脆くなったりして手放さなければなりません。

ダイジェストアルゴリズムSHA1は廃止されました。SSHプロトコルはSHA1を他のアルゴリズムと組み合わせているため、それらも削除される予定です。サーバーの交換メッセージのssh-rsa署名に別れを告げ、SHA1署名を使用してユーザーに認証をできるようにします。

SSHは鍵交換にECDHEとDHEを使用します。ECDHEはSHA2-256以上を使用しますが、DHEはOakleyグループ1および14でSHA1を使用し、Oakleyグループ1は1024ビットのみです。今の時点では1024ビットでは不十分な長さでありSHA1はもう使用されるべきではありません。diffe-hellman-group1-sha1およびdiffe-hellman-group14-sha1は削除されます。

原文:https://www.wolfssl.com/wolfssh-coming-attractions-privilege-separation/ & https://www.wolfssl.com/wolfssh-coming-attractions-algorithm-updates/