วันอังคารที่ 6 กันยายน พ.ศ. 2554

An HMAC-Based One-Time Password Algorithm (HOTP)

บทความนี้อาจจะไม่เกี่ยวกับ Refresh Com เท่าไร แต่..เขียนไว้เป็นความรู้นะคับ
แสดงการทำงานของ HOTP

HOTP ได้มีการพัฒนาขึ้นบนพื้นฐานของ HMAC เพื่อทำ One Time Password (OTP) ที่สร้างขึ้นจาก Client และตรวจสอบความถูกต้องกับ Server ได้
การออกแบบ HOTP ทำให้สนับสนุนการใช้อุปกรณ์ (Token) ในการยืนยันตัวตนได้ ซึ่งสามารถอธิบายในภาพประกอบ  คือ   
             
1. HOTP Client จะต้องมีการจัดเก็บ Master Key เพื่อในการเข้ารหัสด้วยกระบวน Symmetric Key Encryption
2. HOTP Client สร้างตัวนับ (Counter) เพื่อสร้างข้อมูลที่มีการเปลี่ยนแปลงตลอดเวลาซึ่ง Counter นี้จะเพิ่มขึ้นเสมอดังนั้นข้อมูลทำไปใช้นั้นจะเปลี่ยนแปลงตลอดจาก Counter
3.  นำ Key ที่ได้จาก ขั้นตอนที่1 มาเข้ารหัสข้อมูล Counter จะได้ Message ในขึ้นตอนนี้จะเห็นได้ Message ที่ได้ทุกๆ ครั้ง จะเป็นข้อมูลใหม่เสมอ หากพิจารนาจากขั้นตอนที่ 2 และ
4. นำ Message ที่ได้เข้าสู่ SHA-1 Hash Function จะได้ Message Digest (MD) โดยมี Output ทั้งหมด 20 Byte ตามมาตรฐานของ SHA-1
5. Message Digest (MD) ที่ได้เข้าสู่ HOTP Truncate Function เป็น Function ที่ต้องการลดจำนวนOutput Bit จาก 20 Byte ให้เหลือเพียง 4 Byte เพื่อนำที่ได้ Output ที่ได้มาแปลงเป็น OTP ที่มีลักษณะเป็นตัวเลข 6 ตัว อักษร ซึ่งขั้นตอนประมวลผล Output สามารถดูรายละเอียดได้ในหัวข้อที่ 5.3 และ 5.4 ในเอกสาร RFC 4226
6. เมื่อ Server ได้รับ OTP จาก Client ทางฝั่ง Server เองก็จะมีขั้นตอนเช่นเดียวกันกับ Client ทุกประการ นั้นคือใช้ Key และ Counter ตัวเดียวกันกับ Client โดย Counter นั้นจะเพิ่มขึ้นตลอดทุกๆครั้งที่มีการร้องขอเพื่อยืนยันตัวตน นำข้อมูลที่ได้จาก Client มาเปรียบเทียบ กับข้อมูลที่ Server สร้างขึ้น หากตรงกันก็แสดงว่าผู้ใช้ยืนยันตัวตนถูกต้อง 

จากการทำงานของ HOTP จะสังเกตเห็นได้ว่าทำงานดังกล่าวสามารทำงานอยู่ได้อยู่บน Token Authentication แบบต่างๆ ที่สามารถเพียงจัดเก็บ Master Key และประมวลผลทางคอมพิวเตอร์ได้ พร้อมกับมีหน้าจอแสดงผลที่เป็นเพียงตัวเลขเท่านั้น

...อ่าน แล้ว งง...55++ 
 และในความสำคัญ ของ HOTP คือ Truncate Function ซึ่งสามารถแสดงละเอียดในบทความ "Truncate Function" ได้ตาม link เลยครับ

ไอทีอัพเดท

บอร์ด Technical Zone พันทิปดอทคอม

ข่าวเกม

วาไรตี้ฮอต