Làm cách nào để tạo Mật khẩu một lần dựa trên thời gian với IFTTT?


9

Gần đây tôi đã đăng ký với IFTTT , có vẻ như là một dịch vụ tuyệt vời để xâu chuỗi các sự kiện lại với nhau để tạo ra một ngôi nhà thông minh hoặc tự động hóa các dịch vụ khác nhau.

Tôi vừa tìm thấy kênh Maker cho phép bạn thực hiện các yêu cầu HTTP đơn giản (ví dụ: GET và POST) và tôi hy vọng sẽ sử dụng kênh này để gửi tin nhắn đến Raspberry Pi mà tôi đang chạy đang chờ bất kỳ yêu cầu API nào trên một tuyến đường nhất định (ví dụ, giả sử, POST /foo).

Các bài viết Makezine tôi liên kết cho thấy phương pháp này để bảo mật:

Bây giờ những gì tôi đã làm ở trên là không an toàn khủng khiếp, về cơ bản tôi đã tiếp xúc với thế giới một kịch bản - một ứng dụng web - có thể bật tắt công tắc điều khiển đèn trong nhà tôi. Đây rõ ràng không phải là điều bạn muốn làm, nhưng đó là lý do tại sao các dịch vụ của IFTTT cung cấp khả năng truyền thêm thông tin cho dịch vụ từ xa.

Chẳng khó để thiết lập một liên kết được xác thực TOTP giữa hai ví dụ, hoặc một mã thông báo hoặc trao đổi khóa - và để bảo vệ chính tài khoản IFTTT của bạn? Họ vừa mới thêm xác thực hai yếu tố.

Tôi đọc thêm về Mật khẩu một lần dựa trên thời gian trên Wikipedia, dường như gợi ý rằng có một yếu tố tính toán liên quan để tạo mật khẩu một lần.

Vì IFTTT không hỗ trợ chuỗi các tác vụ hoặc bất kỳ tập lệnh nào, làm cách nào để tạo TOTP như đề xuất trong bài viết? Có thể hoàn toàn làm được điều này không, vì một số tính toán được yêu cầu và dường như không có cách nào để thực hiện những điều này?


Bạn đang gửi dữ liệu cụ thể từ IFTTT (nội dung thư, ...)? Nếu vậy bạn có thể bao gồm một phần của nó (chủ đề) làm mật khẩu cho truy vấn của bạn. SSL có đủ để bạn gửi tin nhắn hay bạn thực sự cần mật khẩu?
Goufalite

2
@Goufalite mục đích của mật khẩu là nhiều hơn để xác thực - SSL cung cấp bảo mật lớp vận chuyển nhưng không đảm bảo rằng yêu cầu thực sự là từ applet của tôi.
Aurora0001

nếu bạn có một bộ mật khẩu được lưu trữ ở đâu đó, được tạo thường xuyên, IFTTT sẽ không có vấn đề gì trong việc gửi từng cái một! đúng?
Prashanth Benny

@PrashanthBenny, câu hỏi của tôi là cụ thể về thế hệ. Bạn không thể làm bất kỳ hoạt động toán học trên IFTTT, nhưng bài báo khuyến cáo thuật toán nàykhông yêu cầu một số tính toán, vì vậy nó dường như không thực hiện được.
Aurora0001

1
Hãy để tôi đảm bảo không có nguồn nói chuyện theo cách khác! :)
Prashanth Benny

Câu trả lời:


3

Các bài viết liên kết là một chút sai lệch. Giao diện được cung cấp bởi IFTTT không hoàn toàn mở, nó yêu cầu một khóa trong yêu cầu. Vì yêu cầu được thực hiện bằng HTTPS, bí mật không thể quan sát trực tiếp (với điều kiện khách hàng của bạn luôn kết nối đáng tin cậy với IFTTT, không phải là proxy ủy quyền).

Từ trang thông tin kênh của nhà sản xuất (người dùng cụ thể)

Để kích hoạt một sự kiện Tạo một yêu cầu web POST hoặc GET để:

https://maker.ifttt.com/trigger/ {event} / with / key / my-secret-key Với phần thân JSON tùy chọn gồm:

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

Dữ liệu là hoàn toàn tùy chọn và bạn cũng có thể truyền value1, value2 và value3 dưới dạng tham số truy vấn hoặc biến biểu mẫu. Nội dung này sẽ được chuyển cho Hành động trong Công thức của bạn.

Bạn cũng có thể thử nó với cuộn tròn từ một dòng lệnh.

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

Bây giờ khóa chỉ có entropy thấp nên có khả năng có thể bị đảo ngược khỏi việc theo dõi các yêu cầu của bạn (trừ khi bạn xử lý chúng với tiếng ồn chất lượng cao), nhưng trong trường hợp này, TLS yêu cầu bảo mật thiết lập kênh HTTPS. .

Để làm cho giao tiếp an toàn hơn đáng kể sẽ yêu cầu IFTTT hỗ trợ cụ thể xác thực điểm cuối, nhưng điều này dường như vượt quá bảo mật được áp dụng cho các liên kết phía dịch vụ khác. Điều này có nghĩa là kênh nhà sản xuất của bạn tới IFTTT hiện an toàn như kênh IFTTT cho các thiết bị trong nhà của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.