โดยทั่วไปได้ชี้แจงรายละเอียดเกี่ยวกับสิ่งที่ระบุไว้ที่นี่
นี่คือวิธีการทำงาน: สมมติว่าเรามีฟังก์ชั่นที่ใช้จำนวนจากศูนย์ถึงเก้าเพิ่มสามและถ้าผลลัพธ์มากกว่าสิบลบสิบ ดังนั้น f (2) = 5, f (8) = 1, ฯลฯ ตอนนี้เราสามารถสร้างฟังก์ชั่นอื่นเรียกมันว่า f 'ที่ย้อนกลับโดยเพิ่มเจ็ดแทนสาม f '(5) = 2, f' (1) = 8, ฯลฯ
นั่นเป็นตัวอย่างของฟังก์ชั่นสองทางและอินเวอร์ส ในทางทฤษฎีฟังก์ชันทางคณิตศาสตร์ใด ๆ ที่แมปสิ่งหนึ่งไปยังอีกสิ่งหนึ่งสามารถกลับรายการได้ ในทางปฏิบัติคุณสามารถสร้างฟังก์ชั่นที่แปลงสัญญาณอินพุตให้ดีจนยากที่จะกลับด้าน
การป้อนข้อมูลและการใช้ฟังก์ชันทางเดียวเรียกว่า "การแฮช" อินพุตและสิ่งที่ Amazon เก็บไว้ในระบบของพวกเขาคือ "แฮช" ของรหัสลับของคุณ SHA1 เป็นตัวอย่างของฟังก์ชั่น "one-way" มันแข็งขึ้นเมื่อเทียบกับการโจมตี
ฟังก์ชั่น HMACสร้างขึ้นบนที่จัดตั้งขึ้นฟังก์ชันแฮชที่จะใช้คีย์ที่รู้จักกันในการตรวจสอบข้อความสตริง มันได้ผลเช่นนี้:
- คุณนำข้อความของคำขอและรหัสลับของคุณและใช้ฟังก์ชัน HMAC
- คุณเพิ่มส่วนหัวรับรองความถูกต้องนั้นไปยังคำขอของคุณแล้วส่งไปที่ Amazon
- Amazon ค้นหาสำเนาลับของพวกเขาและข้อความที่คุณเพิ่งส่งและใช้ฟังก์ชัน HMAC
- หากผลลัพธ์ตรงกันพวกเขารู้ว่าคุณมีรหัสลับเดียวกัน
ความแตกต่างระหว่างสิ่งนี้กับ PKI ก็คือวิธีนี้สงบเงียบทำให้สามารถแลกเปลี่ยนจำนวนขั้นต่ำระหว่างระบบของคุณกับเซิร์ฟเวอร์ของ Amazon
นั่นเป็นสิ่งเดียวกับการขอหมายเลขบัตรเครดิตหรือรหัสผ่านของฉันและเก็บไว้ในฐานข้อมูลของตัวเองหรือไม่
ใช่แม้ว่าความเสียหายที่บางคนสามารถทำได้กับ S3 นั้นดูเหมือนจะ จำกัด อยู่ที่การระบายบัญชีของคุณ
พวกเขาจำเป็นต้องมีความลับแค่ไหน? แอปพลิเคชันเหล่านี้ที่ใช้รหัสลับจัดเก็บอย่างใดหรือไม่?
ในบางจุดคุณจะต้องโหลดคีย์ลับและด้วยระบบที่ใช้ Unix ส่วนใหญ่หากผู้โจมตีสามารถเข้าถึงรูทได้พวกเขาจะได้รับคีย์ หากคุณเข้ารหัสคีย์คุณต้องมีรหัสเพื่อถอดรหัสและในบางจุดรหัสถอดรหัสจะต้องเป็นข้อความธรรมดาเพื่อให้สามารถเรียกใช้งานได้ นี่เป็นปัญหาเดียวกันกับ DRM ยกเว้นว่าคุณเป็นเจ้าของคอมพิวเตอร์
ในหลายกรณีฉันเพิ่งใส่รหัสลับในไฟล์ที่มีสิทธิ์ จำกัด และใช้ความระมัดระวังตามปกติเพื่อป้องกันไม่ให้ระบบของฉันถูกรูท มีเทคนิคเล็กน้อยที่จะทำให้มันทำงานได้อย่างถูกต้องกับระบบที่มีผู้ใช้หลายคนเช่นการหลีกเลี่ยงไฟล์ชั่วคราวและอื่น ๆ