プロフィール

kosaki

Author:kosaki
連絡先はコチラ

ブログ検索
最近の記事
最近のコメント
最近のトラックバック
リンク
カテゴリー
月別アーカイブ
RSSフィード
FC2ブログランキング

スポンサーサイト このエントリーをはてなブックマークに追加

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | 【--------(--) --:--:--】 | Trackback(-) | Comments(-)

[LKML] IRQF_SAMPLE_RANDOM question... このエントリーをはてなブックマークに追加

2.6.28でネットワークドライバがランダムエントロピーを提供しなくなったので、組込み機器でエントロピー供給源がなくなっちゃった。という話。

Robin Getzが以下の質問をなげて

Although there was some discussion
http://thread.gmane.org/gmane.linux.kernel/680723

about removing IRQF_SAMPLE_RANDOM from the remaining network drivers in May of
2008, but they still appears to be there in 2.6.29.

drivers/net/ibmlana.c
drivers/net/macb.c
drivers/net/3c523.c
drivers/net/3c527.c
drivers/net/netxen/netxen_nic_main.c
drivers/net/cris/eth_v10.c
drivers/net/xen-netfront.c
drivers/net/atlx/atl1.c
drivers/net/qla3xxx.c
drivers/net/tg3.c
drivers/net/niu.c

So what is the plan? If I send a patch to add IRQF_SAMPLE_RANDOM to others
(like the Blackfin) networking drivers - will it get rejected?

We have lots of embedded headless systems (no keyboard/mouse, no soundcard, no
video) systems with *no* sources of entropy - and people using SSL.

I didn't really find any docs which describe what should have
IRQF_SAMPLE_RANDOM on it or not. I did find Matt Mackall describing it as:
> We currently assume that IRQF_SAMPLE_RANDOM means 'this is a completely
> trusted unobservable entropy source' which is obviously wrong for
> network devices but is right for some other classes of device.

Currently - I see most things I see using IRQF_SAMPLE_RANDOM would also fail
the "completely unobservable" test. Other than the TRNG that are inside the
CPU - what does pass?

I can put a scope/analyser on a device - and look at the touchscreens, serial
devices, USB, all without cracking the case.

drivers/block/xen-blkfront.c: Xen virtual block device frontend
drivers/i2c/busses/i2c-pmcmsp.c: PMC MSP TWI/SMBus/I2C driver
drivers/input/keyboard/bf54x-keys.c: Keypad driver for BF54x Processors
drivers/input/keyboard/gpio_keys.c: Keyboard driver for CPU GPIOs
drivers/input/serio/hp_sdc.c: HP i8042-based SDC Driver
drivers/input/touchscreen/wm97xx-core.c: WM97xx Core - Touch Screen
drivers/serial/mpc52xx_uart.c: Freescale MPC52xx PSC UART
drivers/serial/uartlite.c: Xilinx uartlite serial driver
drivers/usb/gadget/omadrivers/usb/gadget/omap_udc OMAP UDC driver

If I want to get more intrusive (expensive) - I can look at SPI, I2C, and
other things that only might be observable at the PCB level (including things
that are inside the chipset).

What are the guidelines for including IRQF_SAMPLE_RANDOM?

Thanks
-Robin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/




Jeff Garzik が端的に説明。
ようするに、ネットワークパケットはアタッカーからコントロール可能だからエントロピー供給源としては好ましくないよ。ってこと

IMO it's not observation but rather that a remote host is essentially
your source of entropy -- which means your source of entropy is
potentially controllable or influenced by an attacker.

Furthermore, with hardware interrupt mitigation, non-trivial traffic
levels can imply that interrupts are delivered with timer-based
regularity. This, too, may clearly be influenced by a remote attacker.

Thus I think IRQF_SAMPLE_RANDOM should be banned from network drivers...
but that is not a universal opinion.

Jeff



で、その後、当然の疑問としてSven-Haegarが
おいおい、ハードウェアランダムジェネレータを搭載しないサーバをsshオペレーションで運用すると、キーボードとか一切触らないから、エントロピーが供給されなくなっちゃうぜ。
/dev/random が無限にブロックするぜ。
と苦情が。

> Btw, perhaps not the perfect question in this thread:
> But what should we use to keep servers running without a hardware rng
> available and without any external input besides the network?
> After having ssh and openvpn die because of no random and having
> the machines like dead and unreachable for me I use "ln -sf
> /dev/urandom /dev/random", but that does not feel so good.

We see this question every time IRQF_SAMPLE_RANDOM is discussed.

There is plenty of entropy data available, you just have to look
around... Google around for "EGD", video entropy daemon, audio entropy
daemon, etc...

Even headless servers have entropy sources if you look hard enough.

Jeff



んで、答え。
グーグルだって出来るんだから、君はハードのエントロピー供給源を何か見つけれるはずだ・・・・

おいおい、グーグルはIAサーバなんだからハードエントロピー供給源ありじゃん。うそつき。
関連記事


linux | 【2009-04-07(Tue) 09:13:51】 | Trackback:(0) | Comments:(2)
コメント

>There is plenty of entropy data available, you just have to look
>around... Google around for "EGD", video entropy daemon, audio entropy
>daemon, etc...
グーグルが出来る、ではなくて"EGD"でググれと言っている感じがする。
2009-04-07 火 04:36:56 | URL | Clworld #- [ 編集]

おお、すまぬ。
サンクス
2009-04-07 火 05:14:17 | URL | kosaki #- [ 編集]
  1. 無料アクセス解析
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。