การลิงก์ / dev / random ไปยัง / dev / urandom บน Linux ผิดหรือเปล่า


13

ฉันกำลังทดสอบgpg --genkeyบน Linux VM น่าเสียดายที่ซอฟแวร์นี้ดูเหมือนว่าจะ/dev/randomรวบรวมเอนโทรปีและขอให้ผู้ใช้พิมพ์หน้าจอด้วยตนเองหลังจากที่หน้าจอของการป้อนข้อมูลแบบสุ่ม cryptographically ดังนั้นในที่สุดมันก็อาจจบลงด้วยการสร้างคีย์และฉันไม่พบพารามิเตอร์บรรทัดคำสั่ง เพื่อใช้ไฟล์อื่นเป็นแหล่งข้อมูลเอนโทรปี (ผู้ที่อยู่ในวิดีโอนี้พบปัญหาเดียวกันมาก ... )

อย่างไรก็ตามผู้ใช้ควรมีอิสระที่จะเลือกที่จะใช้/dev/urandomแทนตั้งแต่มีอะไรผิดปกติกับมัน มันมีส่วนใหญ่เป็นความทรงจำของอัลกอริทึม PRNG เก่าซึ่งอ่อนแอจากมุมมองการเข้ารหัสลับ ตัวอย่างเช่นในขณะNetBSD manpageโครงการที่แตกต่างยังคงอาจจะมีประโยชน์ในขั้นตอนการบูตเร็วมากจะอธิบายความแตกต่างเช่น"ชาวบ้าน"และ"ทฤษฎีจินตนาการที่ปกป้องเฉพาะกับรุ่นภัยคุกคามจินตนาการ" ไม่มีใครเห็นด้วยกับปริมาณของเอนโทรปีที่จำเป็นตามคำสั่งนี้หรือความจริงที่ว่าเอนโทรปีเป็นสิ่งที่บริโภคจริงตามที่ระบุในGPG manpage ("โปรดอย่าใช้คำสั่งนี้ยกเว้นว่าคุณรู้ว่าคุณกำลังทำอะไรอยู่มันอาจลบเอนโทรปีอันมีค่าออกจากระบบ!" )

ฉันได้อ่านเกี่ยวกับคนที่ติดตั้งrngdภูตและกำหนดค่าให้ใช้/dev/urandomเป็นแหล่งข้อมูลเอนโทรปีให้ฟีด/dev/randomแต่ฉันพบว่าการปฏิบัติดังกล่าวสกปรกมาก

ฉันพยายามแก้ไขปัญหาด้วยวิธี FreeBSD ด้วยการลบ/dev/randomและเชื่อมโยงไปยัง/dev/urandom:

rm /dev/random
ln -s /dev/urandom /dev/random

ฉันเห็นนี้เป็นที่บอกการตั้งค่า"ผมเชื่อว่า/dev/urandomเป็นแหล่งเอนโทรปี"

ฉันกลัวว่าฉันจะพบข้อผิดพลาดบางอย่าง แต่สิ่งนี้ดูเหมือนจะให้ผลลัพธ์ที่คาดหวังตั้งแต่ตอนนี้คำสั่งกลับมาประสบความสำเร็จในทันที

คำถามของฉันคือมีผลข้างเคียงที่รู้จักได้จริงและไม่ถูกต้องของการเชื่อมโยง/dev/randomไปยัง/dev/urandomบนระบบ Linux ตามค่าเริ่มต้นบนระบบ FreeBSD หรือไม่? หรือลองจินตนาการถึงการตั้งค่านี้อย่างถาวร (ในสคริปต์เมื่อสิ้นสุดกระบวนการบู๊ตเป็นต้น) ในกรณีที่เกิดปัญหาซ้ำ ๆ เนื่องจากการ/dev/randomล็อคบริการบางอย่าง?

คำตอบ:


2

ดูตำนานเกี่ยวกับ urandomไม่มีการโจมตีที่รู้จักใน / dev / urandom ที่จะไม่เป็นการโจมตีใน / dev / random ปัญหาหลักที่ระบบ Linux มีคือเมื่อโคลนและเรียกใช้ VM หลาย ๆ เครื่องโดยไม่รีเซ็ตพูลเอนโทรปีที่บันทึกไว้หลังจากการโคลน นั่นคือกรณีมุมที่สัมผัสกับสิ่งที่คุณต้องการ


0

สิ่งหนึ่งที่แตกต่างกัน/dev/randomก็คือมันจะหยุดเอาต์พุตหลังจากใช้เอนโทรปีพูล ลองนี้:

$ cat /dev/random
(a few short lines of gibberish)^C
$ 

/dev/urandomอย่างไรก็ตามจะนำพูลเดียวกันกลับมาใช้เพื่อดำเนินการเอาต์พุตต่อ ตามที่ปรากฏที่นี่:

$ cat /dev/urandom
(tons of gibberish fills the screen)^C
$

(เมื่อคุณพยายามที่จะทำให้อุปกรณ์พิเศษเหล่านี้ปรากฏขึ้นข้อความแจ้งของคุณอาจจะยุ่งเหยิงเพียงพิมพ์resetและป้อนเทอร์มินัลของคุณจะกลับมาเป็นปกติ)

ใช้/dev/urandomเมื่อคุณต้องการเติมบางสิ่งบางอย่างด้วยบิตการไหลแบบ "สุ่ม" ใช้/dev/randomสำหรับปุ่มที่คุณต้องสุ่มอย่างแน่นอน


3
คำถามของ OP คือ: มีผลข้างเคียงที่รู้จักได้จริงและไม่ถูกต้องของการเชื่อมโยง / dev / สุ่มไปยัง / dev / urandom บนระบบ Linux ตามค่าเริ่มต้นในระบบ FreeBSD หรือไม่?
Countermode

สิ่งที่น่าสนใจหากความแตกต่างนี้ชัดเจนดังนั้นพวกเขาไม่ควรเชื่อมโยง การสนทนาอื่น ๆ ส่วนใหญ่ในที่สุดก็ถึงฉันทามติไม่แตกต่างหลังจากบูตขึ้น แต่พฤติกรรมนี้อาจบ่งบอกถึงความแตกต่างที่ยั่งยืนอีกต่อไป
KalleMP

-2

ใน Linux /dev/randomให้บิตสุ่มคุณภาพสูง มาจากแหล่งที่ไม่สามารถคาดเดาได้และไม่สามารถทำซ้ำได้ภายนอกกับเครื่อง ในทางตรงกันข้าม/dev/urandomใช้ข้อมูลแบบสุ่มเช่นเดียวกับ/dev/random(ถ้ามี) หากไม่มีจะใช้ตัวสร้างตัวเลขแบบหลอกเทียมซึ่งกำหนดขึ้น สำหรับจุดประสงค์ส่วนใหญ่มันไม่สามารถคาดเดาได้เพียงพอ แต่ไม่ใช่สำหรับแอปพลิเคชันที่มีความต้องการอย่างมากเช่นการเข้ารหัสและไม่มากสำหรับการสร้างคีย์อายุยืนเช่นเดียวกับ GPG


6
นี่เป็นสิ่งที่ผิด จะดีสำหรับการเข้ารหัส/dev/urandom
Gilles 'ดังนั้น - หยุดความชั่วร้าย'

@Gilles ที่ขึ้นอยู่กับระดับความหวาดระแวงของคุณ สำหรับ GPG ทุกคนจะได้รับผลกระทบจากกุญแจของคุณ (ทางอ้อม)
vonbrand

5
หากคุณไม่ไว้วางใจ/dev/urandomคุณไม่มีเหตุผลที่จะเชื่อ GPG
Gilles 'หยุดความชั่วร้าย' ใน

3
@ vonbrand: ขึ้นอยู่กับระดับความหวาดระแวงของฉันถ้าฉันต้องเลือกระหว่างการตรวจสอบทางคณิตศาสตร์ PRNG เพื่อสร้างแบบสุ่มหรือผู้ใช้ที่ถูกบังคับให้พิมพ์เต็มหน้าจอขยะ "asdfghasdfghasdfgh" ฉันจะเลือกซอฟต์แวร์ PRNG ฉันเข้าใจประเด็นของคุณว่าคอมพิวเตอร์ไม่ดีในการสร้างแบบแผน แต่มนุษย์ยิ่งแย่ลงไปกว่านั้น แต่จะกลับมาที่คำถามของฉันยกเว้นจากurandomเทียบกับrandomการอภิปรายไม่คุณยืนยันว่าการเปลี่ยน/dev/randomไฟล์โดยการเชื่อมโยงจะไม่มีผลข้างเคียงอื่น ๆ และจะเป็นทางเลือกที่ทำงานได้กับrngdเคล็ดลับผม mentionned?
WhiteWinterWolf

2
นี่เป็นสิ่งที่ผิด พวกเขาใช้ SAME RNG แต่สุ่มบล็อกถ้าเดาได้ว่ามีเอนโทรปีไม่เพียงพอ
Duncan X Simpson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.