Câu hỏi thực sự là những gì hiện kẻ tấn công có được từ ăn cắp nó ...
Bạn nên cố gắng hết sức để bảo vệ bí mật nhưng cuối cùng, một hacker có động lực cao luôn có thể có được nó trong một ứng dụng được cài đặt. Vì vậy, đó là giá trị của bí mật so với khó khăn của khai thác.
Giá trị của bí mật ứng dụng đang mạo danh ứng dụng. Nó không cung cấp quyền truy cập vào dữ liệu người dùng. Tuy nhiên, vì Twitter hỗ trợ tự động cấp chứng chỉ cho các ứng dụng đã được phê duyệt trước đó (đăng nhập bằng luồng Twitter), kẻ tấn công có thể tạo ứng dụng web với bí mật và lấy cắp dữ liệu người dùng của bạn bằng cách sử dụng chuyển hướng mù.
Vấn đề với việc triển khai của Twitter là họ không hỏi nhà phát triển về bản chất của ứng dụng. Nếu họ đã làm, họ sẽ không đưa cho bạn một bí mật để bắt đầu, và sẽ chặn bất cứ ai xây dựng một ứng dụng web bằng cách sử dụng thông tin khách hàng của bạn và ăn cắp dữ liệu từ những người dùng đã chấp thuận nó.
Làm xáo trộn là một tùy chọn, nhưng là một tùy chọn yếu. Di chuyển bí mật đến máy chủ web hoạt động như một proxy API là một proxy khác, nhưng điều đó chỉ di chuyển vấn đề ở nơi khác vì bây giờ ứng dụng của bạn phải xác thực với máy chủ proxy. Tuy nhiên, mẫu này có thể an toàn hợp lý nếu bạn yêu cầu người dùng đăng nhập vào trang web của bạn (có thể sử dụng, thông qua lượt xem web, Twitter để đăng nhập). Bằng cách này, ai đó đang cố gắng lạm dụng proxy của bạn sẽ cần người dùng của họ mở tài khoản trên dịch vụ của bạn, điều này không hấp dẫn lắm.
Tóm lại, hãy tiếp tục và làm xáo trộn nó. Nó không đau. Cân nhắc sử dụng mẫu proxy. Và có thể cho Twitter biết chính sách bảo mật của họ "không tuyệt vời".
Nguồn
2011-08-20 14:31:52
Tôi có cùng một chiến lược với ứng dụng iOS và NodeJS + ExpressJS + PassportJS tại chương trình phụ trợ. Tôi sử dụng Twitter auth đảo ngược để xác thực người dùng từ iOS. Nhưng để đảm bảo điều này và ngăn chặn người dùng đánh cắp các gói HTTP ở giữa để tìm hiểu xem có gì trong các tiêu đề, tôi dự định sử dụng HTTPS trên các máy chủ của mình để mã hóa dữ liệu. Kiểm tra điều này để tránh nhúng các khóa bí mật trong ứng dụng của bạn: https: //dev.twitter.com/docs/ios/using-reverse-auth – Maziyar
Lưu ý: Reverse Auth chỉ dành cho iOS –