Bagaimana cara menghasilkan Kata Sandi Satu Kali Berbasis Waktu dengan IFTTT?

9

Saya baru-baru ini terdaftar di IFTTT , yang sepertinya merupakan layanan yang fantastis untuk membuat rangkaian acara bersama dalam rangka menciptakan rumah pintar atau mengotomatiskan berbagai layanan.

Saya baru saja menemukan saluran Maker yang memungkinkan Anda membuat permintaan HTTP sederhana (mis. GET dan POST), dan saya berharap menggunakan ini untuk mengirim pesan ke Raspberry Pi yang saya jalankan dengan aman yang sedang menunggu permintaan API. pada rute tertentu (katakanlah, misalnya, POST /foo).

The Artikel Makezine saya terhubung menyarankan metode ini untuk keamanan:

Sekarang apa yang saya lakukan di atas benar-benar tidak aman, pada dasarnya saya membuka ke dunia sebuah skrip - aplikasi web dengan kata lain - yang bisa menghidupkan dan mematikan lampu yang mengendalikan lampu di rumah saya. Ini jelas bukan sesuatu yang ingin Anda lakukan, tetapi itu sebabnya layanan IFTTT menyediakan kemampuan untuk meneruskan lebih banyak informasi ke layanan jarak jauh.

Misalnya, tidak akan sulit untuk membuat tautan TOTP terotentikasi antara keduanya, atau token atau pertukaran kunci - dan untuk melindungi akun IFTTT Anda sendiri? Mereka baru saja menambahkan otentikasi dua faktor.

Saya membaca lebih lanjut tentang Kata Sandi Satu Kali Berbasis Waktu di Wikipedia, yang sepertinya menyarankan bahwa ada elemen perhitungan yang terlibat untuk menghasilkan kata sandi satu kali.

Karena IFTTT tidak mendukung rantai tugas atau skrip apa pun, bagaimana cara menghasilkan TOTP seperti yang disarankan dalam artikel? Apakah mungkin sama sekali untuk melakukan ini, karena beberapa perhitungan diperlukan dan sepertinya tidak ada cara untuk melakukan ini?

Aurora0001
sumber
Apakah Anda mengirim data spesifik dari IFTTT (konten email, ...)? Jika demikian, Anda dapat memasukkan bagiannya (subjek) sebagai kata sandi untuk permintaan Anda. Juga apakah SSL cukup bagi Anda untuk mengirim pesan atau Anda benar-benar membutuhkan kata sandi?
Goufalite
2
@Goufalite tujuan kata sandi lebih untuk otentikasi - SSL memberikan keamanan lapisan transport tetapi tidak memiliki jaminan bahwa permintaan tersebut sebenarnya dari applet saya.
Aurora0001
jika Anda memiliki satu set kata sandi yang disimpan di suatu tempat, dihasilkan secara teratur, IFTTT tidak akan memiliki masalah dalam mengirimkannya satu per satu! Baik?
Prashanth Benny
@ PrashanthBenny, pertanyaan saya secara khusus tentang generasi. Anda tidak dapat melakukan operasi matematis apa pun di IFTTT, namun artikel ini merekomendasikan algoritma ini yang memang memerlukan perhitungan, jadi sepertinya tidak mungkin.
Aurora0001
1
Biarkan saya memastikan tidak ada sumber yang berbicara sebaliknya! :)
Prashanth Benny

Jawaban:

3

Artikel yang ditautkan sedikit menyesatkan. Antarmuka yang disediakan oleh IFTTT tidak sepenuhnya terbuka, itu memerlukan kunci dalam permintaan. Karena permintaan dibuat menggunakan HTTPS, rahasianya tidak dapat diamati secara langsung (asalkan klien Anda selalu terhubung dengan andal ke IFTTT, bukan proxy mitm).

Dari halaman informasi saluran pembuat (khusus pengguna)

Untuk memicu suatu Acara, buat POST atau GET permintaan web ke:

https://maker.ifttt.com/trigger/ {event} / with / key / my-secret-key Dengan badan JSON opsional:

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

Data sepenuhnya opsional, dan Anda juga bisa meneruskan value1, value2, dan value3 sebagai parameter kueri atau variabel bentuk. Konten ini akan diteruskan ke Tindakan dalam Resep Anda.

Anda juga dapat mencobanya dengan ikal dari baris perintah.

curl -X POST https://maker.ifttt.com/trigger/ {event} / dengan / key / my-secret-key

Sekarang kuncinya hanya entropi rendah sehingga berpotensi terbalik dari pemantauan permintaan Anda (kecuali jika Anda padukan dengan kebisingan berkualitas tinggi), tetapi permintaan untuk keamanan per-sesi dalam hal ini dipenuhi oleh TLS yang menangani pengaturan saluran HTTPS .

Untuk membuat komunikasi secara signifikan lebih aman akan membutuhkan IFTTT untuk secara khusus mendukung otentikasi titik akhir, tetapi ini tampaknya melebihi keamanan yang diterapkan pada tautan sisi layanan lainnya. Ini berarti bahwa saluran pembuat Anda ke IFTTT saat ini sama amannya dengan saluran IFTTT ke peralatan rumah tangga Anda.

Sean Houlihane
sumber