ฉันจะสร้างรหัสผ่านแบบใช้ครั้งเดียวตามเวลาด้วย IFTTT ได้อย่างไร


9

ฉันเพิ่งลงทะเบียนกับIFTTTซึ่งดูเหมือนว่าเป็นบริการที่ยอดเยี่ยมในการเชื่อมโยงเหตุการณ์เข้าด้วยกันเพื่อสร้างสมาร์ทโฮมหรือบริการอัตโนมัติต่างๆ

ฉันเพิ่งพบช่อง Makerที่อนุญาตให้คุณสร้างคำขอ HTTP อย่างง่าย (เช่น GET และ POST) และฉันหวังว่าจะใช้สิ่งนี้เพื่อส่งข้อความไปยัง Raspberry Pi อย่างปลอดภัยฉันกำลังใช้งานซึ่งกำลังรอคำขอ API ใด ๆ ในเส้นทางที่แน่นอน (เช่นตัวอย่างเช่นPOST /foo)

บทความ Makezineฉันเชื่อมโยงให้เห็นวิธีการนี้สำหรับการรักษาความปลอดภัย:

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

การตั้งค่าลิงก์ที่ผ่านการรับรองความถูกต้องของTOTPเป็นเรื่องยากหรือจะเป็นการแลกเปลี่ยนโทเค็นหรือการแลกเปลี่ยนคีย์ - และเพื่อปกป้องบัญชี IFTTT ของคุณเอง พวกเขาเพิ่งเพิ่มการตรวจสอบสิทธิ์แบบสองปัจจัย

ฉันอ่านเพิ่มเติมเกี่ยวกับรหัสผ่านแบบใช้ครั้งเดียวตามเวลาบน Wikipedia ซึ่งดูเหมือนว่าจะแนะนำว่ามีองค์ประกอบของการคำนวณที่เกี่ยวข้องเพื่อสร้างรหัสผ่านแบบใช้ครั้งเดียว

เนื่องจาก IFTTT ไม่รองรับการโยงงานหรือการเขียนสคริปต์ใด ๆ ฉันจะสร้าง TOTP ได้อย่างไรตามที่แนะนำในบทความ เป็นไปได้หรือไม่ที่จะทำเช่นนี้เนื่องจากต้องมีการคำนวณบางอย่างและดูเหมือนจะไม่มีวิธีในการทำสิ่งเหล่านี้หรือไม่?


คุณกำลังส่งข้อมูลเฉพาะจาก IFTTT (เนื้อหาเมล, ... ) หรือไม่ ถ้าเป็นเช่นนั้นคุณสามารถรวมส่วนหนึ่งของมัน (หัวเรื่อง) เป็นรหัสผ่านสำหรับการสืบค้นของคุณ SSL นั้นเพียงพอสำหรับคุณที่จะส่งข้อความหรือคุณต้องการรหัสผ่านจริงๆ?
Goufalite

2
@Goufalite จุดประสงค์ของรหัสผ่านนั้นมากขึ้นสำหรับการตรวจสอบความถูกต้อง - SSL ให้ความปลอดภัยของเลเยอร์การขนส่ง แต่ไม่รับประกันว่าคำขอจะมาจากแอปเพล็ตของฉัน
Aurora0001

หากคุณมีรหัสผ่านที่จัดเก็บไว้ที่ไหนสักแห่งสร้างขึ้นเป็นประจำ IFTTT จะไม่มีปัญหาในการส่งทีละหนึ่ง! ขวา?
Prashanth Benny

@PrashanthBenny คำถามของฉันเกี่ยวกับคนรุ่นนี้โดยเฉพาะ คุณไม่สามารถดำเนินการใด ๆ ทางคณิตศาสตร์ใน IFTTT ยังบทความแนะนำขั้นตอนวิธีนี้ซึ่งไม่จำเป็นต้องมีการคำนวณบางอย่างเพื่อให้มันไม่ได้ดูเหมือนจะเป็นไปได้
Aurora0001

1
ให้ฉันแน่ใจว่าไม่มีแหล่งที่มาพูดถึงวิธีอื่น! :)
Prashanth Benny

คำตอบ:


3

บทความที่เชื่อมโยงนั้นทำให้เข้าใจผิดเล็กน้อย อินเทอร์เฟซที่จัดทำโดย IFTTT ไม่ได้เปิดอย่างสมบูรณ์ต้องใช้รหัสในคำขอ เนื่องจากคำขอทำโดยใช้ HTTPS ความลับจึงไม่สามารถสังเกตได้โดยตรง (หากลูกค้าของคุณเชื่อมต่อกับ IFTTT ได้อย่างน่าเชื่อถือไม่ใช่พร็อกซี mitm)

จากหน้าข้อมูลช่องชง (เฉพาะผู้ใช้)

ในการทริกเกอร์กิจกรรมสร้างคำขอทางเว็บ POST หรือ GET ไปที่:

https://maker.ifttt.com/trigger/ {event} / with / key / my-secret-key ด้วยเนื้อหา JSON ที่เป็นตัวเลือกของ:

{"value1": "", "value2": "", "value3": ""}

ข้อมูลเป็นทางเลือกที่สมบูรณ์และคุณยังสามารถส่งค่า 1, ค่า 2 และค่า 3 เป็นพารามิเตอร์แบบสอบถามหรือตัวแปรแบบฟอร์ม เนื้อหานี้จะถูกส่งต่อไปยังการกระทำในสูตรของคุณ

นอกจากนี้คุณยังสามารถลองใช้กับ curl จากบรรทัดคำสั่ง

curl -X POST https://maker.ifttt.com/trigger/ {เหตุการณ์} / พร้อม / คีย์ / my-secret-key

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

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.