Score:28

เหตุใดการปฏิบัติตามข้อกำหนด FIPS 140-2 จึงเป็นข้อโต้แย้ง

ธง ng

ฉันกำลังอ่านความคิดเห็นของบทความเกี่ยวกับการดำเนินการใหม่ที่เสนอของ /dev/สุ่ม ใน Linux ทุกวันนี้ และมีคนตั้งข้อสังเกตว่าต้องแก้ไขใหม่ถึง 43 ครั้งและยังไม่ได้แพตช์ของคุณ ความคิดเห็นเล็กน้อยในบรรทัดและ ดูเหมือนว่ามีคนบอกเป็นนัยว่าการใช้งานใหม่นี้จะเป็นไปตาม FIPS 140-2และนี่คือความขัดแย้งกับ "ผู้พัฒนาโมดูลเคอร์เนล VPN ที่มีชื่อเสียงรายหนึ่ง" ซึ่ง "จงใจใช้อัลกอริทึมที่ไม่ได้รับการอนุมัติจาก NIST เท่านั้น" มี "ความคิดเห็นที่ชัดเจนต่อการปฏิบัติตามข้อกำหนด FIPS ที่จำเป็นสำหรับกรณีการใช้งานของรัฐบาล"

ทำไมถึงเป็นเช่นนี้? ข้อโต้แย้งเกี่ยวกับการปฏิบัติตาม FIPS 140-2 คืออะไร

ke flag
อีกสิ่งหนึ่งที่ทำให้ผู้ปฏิบัติงานในภาคสนามขมวดคิ้วกับ FIPS (แม้ว่าอาจจะไม่ได้อยู่ในบริบท `/dev/random`) ก็คือโค้ดที่ได้รับการทดสอบว่าเป็นไปตามมาตรฐานนั้นอยู่เบื้องหลังโค้ด "ล่าสุด" อย่างสม่ำเสมอ -- มันจะ ขาดการแก้ไขข้อบกพร่อง รวมถึงการแก้ไขข้อบกพร่องด้านความปลอดภัย และค่าสอบซ่อมแพงมาก ยิ่งไปกว่านั้น ชุดของชุดรหัสที่ระบุโดย FIPS และชุดรหัสที่ถือว่าเป็นแนวปฏิบัติที่ดีที่สุดที่จะใช้ในโลกแห่งความเป็นจริงนั้นไม่สอดคล้องกันเมื่อเวลาผ่านไป การใช้งานที่สอดคล้องกับ FIPS ที่ตรวจสอบแล้ว -- อะไรก็ได้ -- เป็นการใช้งานแบบ _old_
pk flag
ส่วนหนึ่งถูกพาดพิงไปไกลกว่านั้น เพื่อให้ระบบเป็นไปตามข้อกำหนด จะต้องไม่สามารถใช้อัลกอริทึมและวิธีการที่ไม่สอดคล้องได้ สิ่งนี้ไม่ใช่เรื่องยากในระดับระบบปฏิบัติการของแพลตฟอร์ม ตัวอย่างเช่น ใน Windows เมื่อเปิดใช้งานโหมด FIPS จะไม่สามารถสร้างหรือใช้คีย์การเข้ารหัสโวลุ่มตัวแทนการกู้คืนข้อความธรรมดาได้ สำหรับนักพัฒนาแอปพลิเคชัน อาจจะไม่ง่ายนัก และคุณสามารถใช้ได้เฉพาะอัลกอริทึมที่เก่ากว่าเท่านั้น ซึ่งอาจละเว้นอัลกอริทึมการเข้ารหัสบางเฟรมเวิร์กที่มีการจัดการ (Java/.NET)
Score:33
ธง ng

ฉันจะเพิ่มไปยัง คำตอบอื่น ๆ: เดอะ กฎการรับรอง FIPS 140-2 สำหรับ RNG มีข้อบกพร่อง; และประกาศการเปลี่ยนแปลง FIPS 140-2 2 (ธ.ค. 2545) ได้นำส่วนการทดสอบตัวเองออก. พวกมันถูกตีออกจากมาตรฐานอย่างแท้จริง ปล่อยให้เป็นสุญญากาศ ดังนั้น FIPS 140-2 จึงกำหนดให้ไม่มีการทดสอบแหล่งเอนโทรปีที่น่าพอใจทางเทคนิค ซึ่งไม่เคยทำมาก่อน และนั่นคือปัญหา มันกำหนดเงื่อนไขการเข้ารหัสลับที่ได้รับการอนุมัติเท่านั้น (ซึ่งตอนนี้ฉันไม่มีการจองทางเทคนิคที่ Dual_EC_DRBG เลิกใช้แล้ว)

เดิมกำหนดการทดสอบไว้ 4 แบบ (โมโนบิต โปกเกอร์ รัน และลองรัน) ตามความต้องการของผู้ปฏิบัติงาน (ที่ระดับ 3) หรือในการเปิดเครื่องแต่ละครั้ง (ระดับ 4) โดยจำเป็นต้องมีการดำเนินการด้วยตนเองหากการทดสอบล้มเหลว นั่นผิดด้วยเหตุผลหลายประการ:

  • ระดับการยอมรับนั้นเข้มงวดมาก (มากกว่าที่เคยเป็นมา FIPS 140-1). แม้จะมีเครื่องกำเนิดไฟฟ้าที่สมบูรณ์แบบ แต่การทดสอบในสนามก็ยังล้มเหลวด้วยความน่าจะเป็นที่มาก โดยได้รับคำสั่งให้ดำเนินการโดยมนุษย์ สิ่งนี้เป็นที่ยอมรับไม่ได้ในบางแอปพลิเคชัน รวมถึง OS, TPM, สมาร์ทการ์ด สิ่งใดก็ตามที่ดำเนินการโดยไม่มีใครดูแลไม่สามารถเป็นระดับ 4 ได้ และจำเป็นต้องมีการบิดเบี้ยวในระดับ 3 เพื่อพิสูจน์ว่า "ความต้องการของผู้ปฏิบัติงาน"
  • ไม่ได้ระบุว่าการทดสอบเหล่านี้ควรดำเนินการกับแหล่งเอนโทรปีที่ไม่มีเงื่อนไข ดังนั้นจึงเป็นการดึงดูดที่จะทำการทดสอบตัวเลขสุ่มเป็นเอาต์พุตโดยบล็อกการปรับสภาพ ซึ่งทำให้การทดสอบส่วนใหญ่ไม่มีจุดหมาย: หากแหล่งเอนโทรปีที่ไม่มีเงื่อนไขล้มเหลวหรือกลายเป็นเอนโทรปีต่ำ การทดสอบเอาต์พุตแบบมีเงื่อนไขจะไม่จับสิ่งนั้น เว้นแต่การปรับสภาพจะมีข้อบกพร่องทางทฤษฎีอย่างมาก
  • ระดับการยอมรับของการทดสอบบางอย่าง (โดยเฉพาะอย่างยิ่งการทดสอบ monobit และการทดสอบโป๊กเกอร์ในระดับที่น้อยกว่า) นั้นมีความเอนเอียงเล็กน้อย ซึ่งเป็นเรื่องปกติอย่างสมบูรณ์และไม่เป็นอันตรายสำหรับแหล่งที่มาของเอนโทรปีที่ไม่มีเงื่อนไข ตามด้วยการปรับสภาพการเข้ารหัสที่เหมาะสม จะทำให้เกิดอัตราการปฏิเสธที่สูงอย่างน่าใจหาย . ดังนั้นจึงเป็นไปไม่ได้เลยที่จะใช้การทดสอบกับวัสดุที่ต้องการการทดสอบ

สองประเด็นสุดท้ายยังคงอยู่กับปัญหาในภายหลัง SP 800-22 รายได้ 1a การทดสอบทางสถิติของ NIST สำหรับ RNG สำหรับแอปพลิเคชันเข้ารหัส (ซึ่งตามความเข้าใจที่จำกัดของฉัน ตอนนี้ใช้ระหว่างการรับรอง) คณิตศาสตร์ของการทดสอบไม่เป็นไร แต่ตามที่กล่าวไว้ข้างต้น การทดสอบมีความละเอียดอ่อนมาก ดังนั้นจึงใช้ไม่ได้กับแหล่งกำเนิดเอนโทรปีจริงที่ไม่มีเงื่อนไข (การทดสอบมักจะล้มเหลว) จึงใช้ได้เฉพาะที่เอาต์พุตของแหล่งกำเนิดที่มีเงื่อนไข ดังนั้นจึงไม่สามารถตรวจจับข้อบกพร่องของแหล่งที่มาได้หากการปรับสภาพดี และเป็นไปไม่ได้ที่จะตรวจหาตัวสร้างแบ็คดอร์ที่เก่งกาจจากเอาต์พุตเพียงอย่างเดียว

ดังนั้นการทดสอบเหล่านี้จึงล้มเหลวและให้การประกันที่ดีว่าวัสดุที่ทดสอบนั้นแยกแยะได้จากการสุ่ม หรือประสบความสำเร็จและให้การประกันความปลอดภัยที่ชัดเจน แม้ว่าเอนโทรปีของแหล่งที่มาจะมีจำกัดมาก หรือการปรับสภาพมีประตูหลัง ซึ่งทั้งสองอย่างสามารถเปิดโอกาสให้มีการโจมตีได้ .

เจ้าหน้าที่ของ NIST มีความสามารถ และมีเหตุผลที่จะสงสัยว่าจุดประสงค์ที่แท้จริงของการทดสอบเหล่านี้คือการให้ภาพลวงตาของความปลอดภัยหรือไม่ นั่นจะสอดคล้องกับประวัติศาสตร์อันยาวนานของสหรัฐฯ ที่แอบแฝง crypto ที่อ่อนแอลงอย่างแข็งขัน:

  • ที่ประณีตและยาวนานนับทศวรรษ การประนีประนอมของ Swiss Crypto AG บริษัทที่ขายเครื่องเข้ารหัสที่อ่อนแอโดยเจตนา
  • DES: สิ่งพิมพ์ของ NSA ซึ่งไม่เป็นความลับอีกต่อไป ยอมรับว่าคีย์นี้เป็นคีย์ 56 บิตซึ่งเป็นผลมาจากการต่อรองระหว่างนักออกแบบที่ต้องการคีย์ 64 บิต (อย่างน้อย: ลูซิเฟอร์ การออกแบบมีตัวเลือกสำหรับคีย์ 128 บิต); และ NSA พยายามกำหนด 48 บิตเพื่อลดการแคร็ก ดู นี้.
  • Dual_EC_DRBG กล่าวถึงในคำตอบอื่น ๆ : ความพยายามโดยเจตนา (และประสบความสำเร็จในเวลา) เพื่อฟิลด์ RNG อย่างกว้างขวางด้วยการออกแบบสาธารณะและพารามิเตอร์ที่ปลอดภัยยกเว้นเจ้าหน้าที่ของสหรัฐอเมริกา (หรือใครก็ตามที่จัดการเพื่อเปลี่ยนรหัสสาธารณะ ซึ่งเกิดขึ้น).
Score:31
ธง mc

เนื่องจากก่อนหน้านี้มีเครื่องสร้างตัวเลขสุ่มที่ได้รับอนุมัติจาก NIST (Dual_EC_DRBG) ซึ่งสนับสนุนโดย NSA และมีข้อบกพร่องที่โดยทั่วไปถือว่าเป็นประตูหลังโดยเจตนาที่สร้างโดย NSA สิ่งนี้ทำให้บางคนไม่ไว้วางใจอัลกอริทึมการเข้ารหัสใด ๆ ที่มาจาก NIST บทความมากมายบนเน็ตเกี่ยวกับเรื่องนี้ นี่คือ หนึ่งโดย Schneier ที่อธิบายปัญหาในรายละเอียดพอสมควร

mg flag
โดยส่วนตัวแล้วฉันพบว่าสิ่งนี้มักจะแสดงปฏิกิริยามากเกินไป ใช่ เกิดปัญหากับ Dual_EC_DRBG แต่เรายังคงใช้ AES, SHA2 และจะใช้อะไรก็ตามที่ชนะการแข่งขันหลังควอนตัมอัลกอริทึม ประเด็นสำคัญของฉันคือ: อย่าไว้ใจมาตรฐาน *สุ่มสี่สุ่มห้า* ฉันหมายความว่า เส้นโค้ง EC ของ Brainpool มีค่าคงที่แปลกๆ อยู่บ้าง แต่ก็ยังสร้างเสียงรบกวนน้อยกว่าสิ่งที่ออกมาจาก NIST มาก
Swashbuckler avatar
mc flag
@D.Kovács ฉันเข้าใจประเด็นของคุณ แต่คนส่วนใหญ่ไม่มีความเชี่ยวชาญด้านเทคนิคในการประเมินอัลกอริทึมการเข้ารหัสเพื่อหาข้อบกพร่อง (โดยเจตนาหรือไม่ก็ตาม) ดังนั้นพวกเขาจึงต้องไว้วางใจอย่างสุ่มสี่สุ่มห้า
za flag
@D.Kovács ความพยายามโดยเจตนาที่จะทำให้ crypto อ่อนแอลงนั้นไม่ใช่ความเสียหาย แต่เป็นการโจมตี นอกจากนี้ ตามที่กล่าวไว้โดยคำตอบของ fgrieu การทดสอบ FIPS 140-1 และ 140-2 นั้นมีข้อบกพร่อง ด้วยเหตุนี้จึงอาจถูกมองว่าเป็นความพยายามที่จะทำให้ระบบเข้ารหัสลับของคุณอ่อนแอลงโดยทำให้ผู้ใช้มีความรู้สึกผิดๆ เกี่ยวกับความปลอดภัย การโต้เถียงเป็นผลมาจากนักพัฒนาไม่เชื่อถือมาตรฐานอย่างสุ่มสี่สุ่มห้า -- ตามที่คุณเสนอเอง
user avatar
in flag
@slebetman คุณมีข้อเท็จจริงใด ๆ ที่จะสนับสนุนการอ้างว่าเป็นการจงใจหรือไม่?
za flag
บันทึกช่วยจำ @user NSA ที่เผยแพร่โดย Edward Snowden และรายงานโดย New York Times ระบุว่ากรณี Dual_EC_DRBG เป็นความพยายามโดยเจตนาของ NSA เพื่อแทรกประตูหลังทางคณิตศาสตร์ (โดยทำให้พวกเขาเดาตัวเลขสุ่มได้ง่ายขึ้น) เข้ากับมาตรฐานการเข้ารหัสแน่นอนว่าเราไม่มีเอกสารต้นฉบับ เพราะไม่เหมือนกับ Wikileaks ตรงที่ Snowden ไม่ได้เผยแพร่เอกสารลับต่อสาธารณะ เฉพาะกับสื่อมวลชนเท่านั้น ขึ้นอยู่กับคุณว่าคุณต้องการเชื่อ NYT หรือ NSA แต่เงินของฉันอยู่ที่ NSA ว่าเป็นคนโกหก เพราะนั่นคืองานของพวกเขา
Mark avatar
jp flag
@ผู้ใช้ เราไม่ *รู้* ว่า Dual_EC_DRBG ดั้งเดิมถูกโจมตีโดย NSA แต่เรารู้ว่าผู้โจมตีที่ยังไม่ระบุตัวตน [แก้ไขค่า Q ของ dual EC ตามการใช้งานโดย Juniper Networks](https:// www.schneier.com/blog/archives/2016/04/details_about_j.html) เพื่อรับแบ็คดอร์ของตนเอง
fgrieu avatar
ng flag
@user: ประตูหลังของ Dual_EC_DRBG นั้นจงใจอย่างไม่อาจโต้แย้งได้: การออกแบบนั้นสมเหตุสมผลเท่านั้น และมี[สิทธิบัตร](https://worldwide.espacenet.com/textdoc?DB=EPODOC&IDX=US2007189527)ระบุเจตนาอย่างชัดเจน ข้อสังเกตของฉันที่ว่าการทดสอบ RNG ใน FIPS 140 และ SP 800-22 อาจเป็นการ _จงใจ_ ที่พยายามให้ความรู้สึกผิดๆ เกี่ยวกับความปลอดภัยนั้นเป็นการคาดเดา โดยพิจารณาจากข้อเท็จจริงที่ว่าการทดสอบเหล่านี้ไม่ใช่หลักฐานยืนยันความปลอดภัยที่ถูกต้อง (เช่น พวกเขาให้ค่า Clean Bill ของ Dual_EC_DRBG สุขภาพ). อนึ่ง พวกมันถูกใช้เป็นข้อโต้แย้งปลอมเกี่ยวกับความปลอดภัยของ RNG ในสิ่งพิมพ์ที่ต่ำกว่ามาตรฐานหลายสิบหรือหลายร้อยฉบับ
Joshua avatar
cn flag
@fgrieu: ถึงคราวของฉันที่จะเล่นเป็นผู้สนับสนุนปีศาจ สมมติว่าคุณต้องการสร้าง RNG ที่เชื่อถือได้ซึ่งไม่รั่วไหล สมมติว่าคุณทำเช่นนั้นโดยสร้างอัลกอริทึมการเข้ารหัสแบบอสมมาตรที่รั่วไหลของสถานะด้วยประสิทธิภาพสูงสุด เพื่อให้ไม่มีเอนโทรปีอิสระที่จะรั่วไหลสิ่งอื่นใด จากนั้นทำลายคีย์ถอดรหัส นั่นจะไม่พิสูจน์ว่า RNG ไม่รั่วไหลหรือไม่
Score:7
ธง mx

คุณสามารถเลือกตัวเลือกที่ดีที่สุดได้ในทุกกรณี หากคุณไม่ต้องปฏิบัติตาม FIPS 140-2 หากคุณต้องปฏิบัติตาม FIPS 140-2 คุณก็ทำได้ดีที่สุดเท่านั้น ที่ได้รับการอนุมัติ ทางเลือก. ดังนั้นการปฏิบัติตามข้อกำหนด FIPS 140-2 จึงไม่เคยช่วยให้คุณเลือกได้ดีขึ้น และบางครั้งก็บังคับให้คุณเลือกที่แย่ลง

สมมติว่าคุณต้องเลือกระหว่างสองตัวเลือก ซึ่งหนึ่งในนั้นได้รับการอนุมัติจาก FIPS 140-2 และอีกตัวเลือกหนึ่งโดยทั่วไปถือว่าเป็นตัวเลือกที่ปลอดภัยกว่ามากโดยชุมชนการเข้ารหัส คุณควรเลือกแบบไหน?

คำตอบคือคุณควรเลือกอันที่ปลอดภัยกว่าอย่างแน่นอน เว้นเสียแต่ว่า คุณต้องปฏิบัติตาม FIPS 140-2 ในกรณีนั้น คุณต้องใช้ตัวที่สอดคล้องกัน

เป็นการดีอย่างยิ่งที่จะใช้วิธีการที่ได้รับอนุมัติ FIPS 140-2 เมื่อเหมาะสมข้อแตกต่างเพียงอย่างเดียวของการปฏิบัติตามข้อกำหนด FIPS 140-2 คือบังคับให้คุณเลือกตัวเลือกที่แย่กว่าในบางกรณี

fgrieu avatar
ng flag
ใช่ FIPS 140-2 จำกัดเงื่อนไขเชิงกำหนดที่สามารถใช้ได้ แต่แตกต่างจาก Dual_EC_DRBG ตรงที่ (ยังคง) ได้รับการอนุมัตินั้นเรียบง่าย และความเห็นของฉัน (และของคนอื่นๆ อีกหลายคน) คือไม่มีแบ็คดอร์มากไปกว่า SHA-2 หรือ AES ดังนั้นจึงเป็นเพียงหลักการเท่านั้น ไม่ใช่เหตุผลทางเทคนิค ที่เราอาจต้องการปฏิเสธ IMHO ปัญหาทางเทคนิคที่แท้จริงที่สุดกับ FIPS 140-2 คือการขาดการทดสอบออนไลน์ (การทดสอบภาคสนามว่าแหล่งเอนโทรปีนั้นดี) มีการทดสอบบางอย่างดังกล่าว มีข้อบกพร่องทางเทคนิคและ [หลงทาง]อย่างแท้จริง(https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.140-2.pdf#page=65)
mx flag
@fgrieu ฉันเคยมีกรณีที่มีข้อผิดพลาดในผลิตภัณฑ์ที่ผ่านการรับรอง FIPS 140-2 ซึ่งส่งผลต่อความปลอดภัยอย่างชัดเจน และตัวเลือกของฉันคือแก้ไขข้อบกพร่องและสูญเสียใบรับรอง FIPS 140-2 หรือเก็บทั้งข้อบกพร่องและใบรับรองไว้
Score:1
ธง cn

ความคิดของฉันยาวเกินไปสำหรับการแสดงความคิดเห็นดังนั้นฉันจะสรุปเป็นคำตอบ ...

มีบางประเด็นที่ร้ายแรงกับคำตอบอีกสองข้อ ถึงขนาดที่พวกเราบางคนตีความหมายผิดว่าการทดสอบแบบสุ่มคืออะไร ดังหัวข้อย่อย:-

1. "ไม่ไว้วางใจอัลกอริทึมการเข้ารหัสใด ๆ ที่มาจาก NIST". ไม่มีอัลกอริทึมที่สร้างโดย NIST ใน FIPS แน่นอนว่าไม่มีความซับซ้อนของ Dual_EC_DRBG การทดสอบรันและโป๊กเกอร์ไม่ใช่อัลกอริทึมที่เป็นกรรมสิทธิ์ของกระทรวงพาณิชย์สหรัฐฯ (NIST) เป็นลักษณะทางคณิตศาสตร์ของการแจกแจงแบบสุ่มอย่างสม่ำเสมอ ถ้าฉันวางตัวว่าจำนวนที่คาดไว้ควรอยู่ที่ ~50% นั่นทำให้ฉันถูกโค่นล้มหรือไม่? ไม่ขยายค่าเฉลี่ยของ 0.5 ด้วย $n$ ส่วนเบี่ยงเบนมาตรฐาน $\mathcal{N}(\mu, \sigma^2)$ เป็นแบบฟอร์มมาตรฐานสำหรับการแจกแจงนั้น และฉันจะไม่คาดหวังสิ่งที่ไม่สมบูรณ์น้อยกว่านี้ การตรวจสอบบล็อกเอาต์พุตซ้ำ (การทดสอบตัวสร้างตัวเลขสุ่มอย่างต่อเนื่อง) ไม่ใช่การโค่นล้ม เป็นเรื่องปกติ

2. ฉันสามารถเสนอการทดสอบ FIPS นี้เป็นหลักฐานได้หรือไม่:-

$cat /dev/urandom | ทดสอบ
rngtest 5
ลิขสิทธิ์ (c) 2004 โดย Henrique de Moraes Holschuh
นี่เป็นซอฟต์แวร์ฟรี ดูแหล่งที่มาสำหรับเงื่อนไขการคัดลอก ไม่มีการรับประกัน ไม่แม้แต่สำหรับการค้าหรือความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ

rngtest: กำลังเริ่มการทดสอบ FIPS...
rngtest: บิตที่ได้รับจากอินพุต: 8310580032
rngtest: FIPS 140-2 สำเร็จ: 415198
rngtest: FIPS 140-2 ล้มเหลว: 331
rngtest: FIPS 140-2(2001-10-10) Monobit: 41
rngtest: FIPS 140-2(2001-10-10) โป๊กเกอร์: 53
rngtest: FIPS 140-2(2001-10-10) เรียกใช้: 123
rngtest: FIPS 140-2(2001-10-10) ระยะยาว: 115
rngtest: FIPS 140-2(2001-10-10) รันต่อเนื่อง: 0
rngtest: ความเร็วช่องอินพุต: (ต่ำสุด=10.703; เฉลี่ย=1976.720; สูงสุด=19073.486)Mibits/s
rngtest: FIPS ทดสอบความเร็ว: (min=75.092; avg=199.723; max=209.599)Mibits/s
rngtest: เวลารันโปรแกรม: 43724402 ไมโครวินาที

อัตราความล้มเหลวคือ p=0.0008 ซึ่งเทียบได้กับเกณฑ์ p=0.001 ในชุดทดสอบ SP800 STS และของ Dieharder:-

หมายเหตุ: การประเมินสำหรับ rngs อาจสมบูรณ์
  ไม่ถูกต้องหรือทำให้เข้าใจผิด โดยเฉพาะอย่างยิ่ง ค่า p 'อ่อนแอ' ควรเกิดขึ้น
  หนึ่งการทดสอบในหนึ่งร้อย และค่า p ที่ 'ล้มเหลว' ควรเกิดขึ้นหนึ่งการทดสอบใน
  หนึ่งพัน -- นั่นคือสิ่งที่ p หมายถึง ใช้พวกเขาด้วยความเสี่ยงของคุณเอง! เตือน!

เห็นได้ชัดว่าไม่ขัดแย้ง

3. "ไม่ได้ระบุว่าการทดสอบเหล่านี้ควรรันบนแหล่งเอนโทรปีที่ไม่มีเงื่อนไข". ไม่แน่นอน ถูกต้อง. ไม่มีใครมีลักษณะทางสถิติสำหรับการแจกแจงแหล่งที่มาของเอนโทรปีที่ไม่มีเงื่อนไข พวกมันมาในทุกรูปแบบและทุกสถานที่ บางคนไม่มีชื่อทางคณิตศาสตร์ด้วยซ้ำ (ตัวอย่างสองครั้งของบันทึกปกติ, MOD ของอ่างอาบน้ำ $x$ ฯลฯ) เราสามารถเรียกใช้การทดสอบทางสถิติที่เป็นมาตรฐานกับผลลัพธ์สุดท้ายที่มีเงื่อนไขเท่านั้น

4. "เป็นไปไม่ได้ที่จะตรวจจับตัวสร้างแบ็คดอร์ที่เก่งกาจจากเอาต์พุตเพียงอย่างเดียว". อีกครั้งแน่นอน นั่นไม่ใช่ความตั้งใจของเช่น การทดสอบการเริ่มต้น FIPS คุณต้องมีโปรแกรมเมอร์และนักเข้ารหัสสำหรับสิ่งนั้น FIPS ทำการทดสอบการสุ่มโดยอัตโนมัติและกำหนดแนวทางสำหรับการเขียนโปรแกรมความปลอดภัยขั้นพื้นฐาน เช่น ไม่มีสตริงตามตัวอักษรสำหรับการควบคุม และรหัสที่ย้ายตำแหน่งได้ ทุกอย่างปกติมาก

ดังนั้น FIPS 140 จึงไม่ใช่เรื่องที่ถกเถียงกัน การพูดเช่นนั้นเท่ากับว่า NIST ทำการแจกแจงแบบปกติลับๆ หรือมิจฉาทิฐินั้นไร้ประโยชน์ FIPS ทำได้ไม่ดีนักในบางสิ่ง และการทดสอบบล็อก 20,000 บิตพอดีกับส่วนท้ายด้านล่างสุดของมาตราส่วนสำหรับการทดสอบแบบสุ่มด้านล่าง เอน (500,000 บิต)

poncho avatar
my flag
"ไม่มีอัลกอริทึมที่สร้างโดย NIST ใน FIPS"; อันที่จริง CTR_DRBG, HASH_DRBG และ HMAC_DRBG ได้รับการออกแบบโดย John Kelsey จาก NIST...
fgrieu avatar
ng flag
ความคิดเห็นบางส่วนถูก [ย้ายไปที่แชท](https://chat.stackexchange.com/rooms/131745/discussion-on-answer-by-paul-uszak-why-is-fips-140-2-compliance-controversial) เพื่อรักษาการแลกเปลี่ยนที่น่าสนใจนี้
Paul Uszak avatar
cn flag
@fgrieu สิ่งนี้เกิดขึ้นกับฉันมากมาย

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา