web-dev-qa-db-ja.com

sysctlでキー「net.ipv6.conf.all.stable_secret」を読み取れませんか?

ArchLinuxコンピューターでカーネルバージョンを次のように実行しています。

[root@router ~ ]$ uname -a
Linux router 4.2.5-1-Arch #1 SMP PREEMPT Tue Oct 27 08:13:28 CET 2015 

そして、コマンドにパイプされたsysctl -aを実行するたびに、次のメッセージを受け取ったと言うgrepに気づきました。

[root@router ~ ]$ sysctl -a | grep no_meaning
sysctl: reading key "net.ipv6.conf.all.stable_secret"
sysctl: reading key "net.ipv6.conf.default.stable_secret"
...

これらのファイルに対してcatを実行します。

[root@router ~ ]$ cat /proc/sys/net/ipv6/conf/all/stable_secret 
cat: /proc/sys/net/ipv6/conf/all/stable_secret: Input/output error
[root@router ~ ]$ ls -hl /proc/sys/net/ipv6/conf/all/stable_secret 
-rw------- 1 root root 0 Dec 24 14:57 /proc/sys/net/ipv6/conf/all/stable_secret

これまでのところ、これによる悪影響はまだ見られませんが、それは正常であるかどうか、特にこれらのstable_secretキーの機能は何ですか?前もって感謝します。

3
Peng

これはRFC 7217アドレスをサポートするためのものです

Sysctl変数stable_secretRFC 7217で定義されているように、安定したインターフェイス識別子(通常はIPv6アドレスの下位64ビット)を生成するための秘密が含まれています。意味的に不透明なインターフェイスを生成する方法IPv6ステートレスアドレス自動構成(SLAAC)を使用する識別子。 "

RFCには、MACアドレスを含まないIPv6ネットワークでインターフェイス識別子(IID)を定義する方法が記述されています。これは RFC 4862 SLAACアドレスと同様ですが、 RFC 4941のように時間的に変化しません。 プライバシーアドレスも。このIIDは、秘密鍵およびネットワークプレフィックスを含むその他の情報を使用して生成する必要があります。したがって、IIDは1つのサブネットでは安定していますが、別のプレフィックス(およびおそらく別の秘密鍵とその他の要素)を持つ別のサブネットでは異なります。これにより、異なるネットワークをローミングするときのノードの追跡が防止され、プライバシーが向上しますが、それぞれのノードでのノードの管理が容易になります。

RFCから

 secret_key:
攻撃者に知られていない秘密鍵。シークレット
キーは少なくとも128ビットである必要があります。オペレーティングシステムがインストールされているとき、またはIPv6プロトコルスタックが "のときは、
疑似乱数([RFC4086]のランダム性
のセキュリティ要件を参照)に初期化する必要があります。初めてbootstrapped "
。実装は、システム管理者がシークレット
キーを表示および変更するための手段
を提供する場合があります
。

変数の説明 カーネルのドキュメント

 stable_secret-IPv6アドレス
このIPv6アドレスは、リンクローカルアドレスおよび自動構成
アドレスのIPv6 
アドレスを生成するためのシークレットとして使用されます。このシークレットを設定した後に生成されたすべてのアドレスは、デフォルトでプライバシーが保護されたものになります
。これは、
 addrgenmodeip-linkを介して変更できます。 conf/default/stable_secretは名前空間の
シークレットとして使用されます。インターフェース固有のものは
それを上書きできます。 conf/all/stable_secretへの書き込みは拒否されます。
 
システムのインストール
中にこのシークレットを生成し、その後は安定させることをお勧めします。
 
デフォルトでは、安定した秘密は設定されていません。

Linuxカーネルメーリングリストへのこの投稿 および このgit commitメッセージ は、RFC7217が2015年3月にHannesFredericSowaによってLinuxカーネルに実装されたことを示しています。残念ながらできませんでした。対応するリリースされたカーネルバージョンを決定します。

stable_secretは読み取られますが、設定されません

コミットテキストは、stable_secret変数は、設定されるまでI/Oエラーを返します。

シークレットはipv6アドレスとしてフォーマットされ、インターフェイスごとおよびネームスペースごとに保存されます。初期化されたフラグを追跡し、シークレットが設定されるまでEIOエラーを返します。

【重点鉱山】

4
Dubu