Score:0

ฟังก์ชันการสืบทอด/การแฮชของคีย์พร้อมการเปรียบเทียบอย่างรวดเร็ว

ธง in

มีฟังก์ชันการสืบทอดคีย์/การแฮช (ที่มีค่าจริงใดๆ) ที่เป็นไปตามเกณฑ์ทั้งสองนี้หรือไม่:

  • คำนวณแฮชช้า
  • รวดเร็วในการตรวจสอบแฮชตามสตริงอินพุต (ไม่ได้รับสำเนาที่สองของแฮชดังกล่าวที่มีอยู่)

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

ฉันต้องการตั้งค่าระบบยืนยันตัวตนโดยผู้ใช้ต้องระบุชื่อผู้ใช้และรหัสผ่าน และ แฮชรหัสผ่านของ Proof of Work ยกเว้น.. ฉันต้องการไม่ต้องดำเนินการเองเพื่อตรวจสอบอย่างรวดเร็ว

แฮชไม่ได้ถูกนำไปเปรียบเทียบกับแฮชจริงในฐานข้อมูล (เช่น ควรเป็นอัลกอริธึมการแฮชที่แตกต่างจากในฐานข้อมูล PBKDF2) นี่เป็นเพียงการกีดกันการบังคับแบบเดรัจฉานในขณะที่ไม่ได้สร้างจุดสิ้นสุดบนเซิร์ฟเวอร์ของฉัน ที่ซึ่งผู้ประสงค์ร้ายสามารถทำให้เซิร์ฟเวอร์ของฉันทำงานอย่างหนัก... โดยเปล่าประโยชน์

เป็นไปได้ไหม? ฉันรู้ว่าไม่จำเป็น แต่ถ้าเป็นไปได้ ดูเหมือนว่าจะเป็นมาตรการง่ายๆ ที่ฉันสามารถทำได้เพื่อรักษาความปลอดภัยเว็บเซิร์ฟเวอร์ของฉัน

kelalaka avatar
in flag
ความต้องการที่ขัดแย้งกัน? หากคุณตรวจสอบได้เร็ว ทำไมผู้โจมตีถึงทำไม่ได้?
in flag
รู้สึกเหมือนว่าฉันควรจะใช้ฟังก์ชันการได้มาของคีย์เพื่อผสมคีย์ส่วนตัวเข้ากับคีย์ที่ผู้ใช้จะใช้แฮช/รับคีย์อื่นซึ่งควรทำให้ตรวจสอบได้ง่ายมาก (ให้คีย์ส่วนตัวซึ่งผู้ใช้ จะไม่ได้มี).
in flag
@kelalaka ดูความคิดเห็นล่าสุดของฉัน ฉันไม่รู้ว่าสิ่งนี้จำเป็นหรือไม่แต่ฉันหมายความว่านี่เป็นคุณสมบัติของ PKI (เช่น เมื่อได้รับคีย์ส่วนตัว คุณก็สามารถถอดรหัสข้อความได้ ไม่เช่นนั้นคุณต้องถอดรหัส) ฉันรู้สึกว่าสิ่งเดียวกันควรจะสามารถแปลงเป็น PoW ได้ ...
in flag
ฉันหมายความว่าแม้แต่การตั้งค่า PKI ซึ่งการเข้ารหัสด้วยคีย์สาธารณะนั้นยากกว่าการถอดรหัสด้วยคีย์ส่วนตัว
Score:0
ธง in

การค้นหาอย่างกล้าหาญง่ายๆ สำหรับ "การแฮชหลักฐานการทำงาน" ตอบโจทย์นี้... https://www.npmjs.com/package/hashcash

kelalaka avatar
in flag
ดังนั้นคุณจึงเก็บค่า hashcash เพื่อให้คุณตรวจสอบได้อย่างรวดเร็ว? นี่ไม่ใช่วิธีการทำงานของ Key Derivation หากคุณต้องการให้ช้าลงให้ใช้ Argon2
in flag
@kelalaka *เช่น ควรเป็นอัลกอริธึมการแฮชที่แตกต่างจากอัลกอริทึมในฐานข้อมูล .. PBKDF2* ไม่ ฉันกำลังจัดเก็บ PBKDF2 ไว้ในฐานข้อมูล แฮชแคช/หลักฐานการทำงานไม่ถูกเก็บไว้... ฉันไม่ได้บอกเป็นนัยว่าฉันจะเก็บแฮชแคชไว้ที่ไหน
in flag
มันจะทำงานแบบนี้ .... 1.) ผู้ใช้คำนวณแฮชแคช ส่งชื่อผู้ใช้ รหัสผ่าน แฮชแคชและค่าตัวนับ 2.) ฉันตรวจสอบแฮชแคชด้วยตัวนับและอินพุต (สมมติว่าชื่อผู้ใช้ + รหัสผ่าน) 3. ฉันจะตรวจสอบฐานข้อมูลด้วยการยืนยัน _after_ เท่านั้น (โดยที่ฉันแฮชรหัสผ่านที่ผู้ใช้ให้มาด้วย PBKDF2 และเปรียบเทียบกับบันทึกฐานข้อมูล) ประเด็นคือผู้ใช้ที่ประสงค์ร้ายไม่สามารถบังคับให้เซิร์ฟเวอร์ของฉันตรวจสอบแฮช PBKDF2 ซ้ำๆ โดยที่ไม่ได้ทำงานอะไรมากมาย (งานมากกว่าเซิร์ฟเวอร์ของฉัน) ก่อน

โพสต์คำตอบ

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