Score:2

เหตุใด OAuth 1.0a จึงต้องการ nonce แบบสุ่ม และควรสุ่มอย่างไร

ธง cn

ความต้องการของ nonce คืออะไร? <- โดยทั่วไปแล้ว จำเป็นเท่านั้นที่ nonce จะต้องไม่ซ้ำกัน อย่างไรก็ตาม ในบางกรณี ข้อกำหนดที่เข้มงวดกว่านั้น (เช่น การสุ่มและการคาดเดาไม่ได้) จะถูกใส่เข้าไป

ข้อกำหนด OAuth 1.0a ระบุว่า:

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

เหตุใด OAuth 1.0a จึงต้องการการสุ่ม

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

Maarten Bodewes avatar
in flag
โดยทั่วไปแล้ว OAuth จะกำหนดเฟรมเวิร์กเกี่ยวกับวิธีสร้างโทเค็นการตรวจสอบสิทธิ์ มันไม่ได้ลงลึกถึงความปลอดภัยแต่อย่างใด กรอบการรับรองความถูกต้องมีความปลอดภัย แต่ถ้าได้รับการกำหนดค่าอย่างถูกต้องเท่านั้น สำหรับ OAuth 2 มี RFC แยกต่างหากพร้อมข้อกำหนดด้านความปลอดภัย ซึ่งจำเป็นมาก น่าแปลกที่ OAuth 1 ระบุข้อกำหนดสำหรับความลับที่ใช้ RNG แบบสุ่มที่ไม่ปลอดภัยอาจไม่ถูกเพาะอย่างถูกต้อง (ซึ่งอาจไม่ใช่ปัญหาใหญ่หาก RNG เริ่มต้นด้วยการประทับเวลาใหม่เสมอ) และรวดเร็ว แต่ฉันจะใช้ nonce ขนาดใหญ่จาก CSPRNG ที่เพาะมาอย่างดี ถึงอย่างไร.

โพสต์คำตอบ

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