Если вы делаете то клиент твиттер использовать их API
Twitter имеет очень хороший documentation, так что я советую вам прочитать все это, прежде чем сделать клиента. Самая важная часть в связи с этим вопросом заключается в том, что вам не нужно хранить пароли, вместо этого следует хранить токен OAuth. Вам нужно использовать этап xAuth, чтобы получить токен OAuth, а затем использовать другие API Twitter с этим токеном OAuth, где это необходимо.
xAuth предоставляет возможность для использования на настольных и мобильных приложениях имени пользователя и пароля для токена доступа OAuth. После получения маркера доступа разработчики с поддержкой xAuth должны избавиться от логина и пароля , соответствующих пользователю.
Вы никогда не хранить пароли, если вы можете уйти с ним
Использование OAuth самое худшее, что может случиться, это третья сторона (черная шляпа хакер) получает доступ на этот счет Twitter, но не пароль. Это защитит пользователей, которые наивно используют один и тот же пароль для нескольких онлайновых служб.
Используйте брелку какого-то
Наконец-то я согласен, что предварительно сделанные решения, такие как брелок для ключей OSX должны использоваться для хранения информации о чувствительной OAuth, взломанный машин будет только раскрыть информацию в настоящее время разблокирована брелки. Это означает, что в многопользовательской системе только зарегистрированные пользователи имеют уязвимые брелоки.
Другие ограничения повреждения
Там могут быть вещи, которые я пропустил взять Google для «наилучшей практики безопасности» и начать чтение для того, что может быть актуальным.
EDIT (в ответ на finnw желаемого общего решение случая)
Вы хотите, не дало никакого входа пользователя, доступ к онлайн-сервису. Это означает, что, как правило, у вас есть, как правило, контроль доступа на уровне пользователя к учетным данным аутентификации через нечто вроде Keychain.
Я никогда не использовал брелок OSX, поэтому теперь я расскажу о SELinux. В SELinux вы также можете обеспечить, чтобы эти учетные данные были предоставлены только вашей программе. И если мы продолжим работу на уровне ОС, вы также можете подписывать все процессы с загрузки на криптографически, чтобы убедиться, что никакая другая программа не может имитировать вашу программу. Все это выходит за рамки обычной пользовательской системы и, учитывая этот уровень настройки, вы можете быть уверены, что пользователь недостаточно наивен, чтобы быть взломанным, или системный администратор достаточно компидирован. На этом уровне мы могли бы защитить эти учетные данные.
Допустим, мы не заходим так далеко, чтобы защитить эти учетные данные, тогда мы можем предположить, что система скомпрометирована. На этом этапе учетные данные аутентификации становятся скомпрометированными, обфускация/шифрование этих учетных данных на локальной стороне не добавляет никакой реальной безопасности и не сохраняет часть или все ее на стороннем сервере. Это легко увидеть, потому что без ввода пользователя ваша программа должна загрузиться сама, чтобы получить эти учетные данные. Если ваша программа может сделать это без ввода, то так же может любой, кто обратил внимание, разработал ваш протокол обфускации/шифрования/сервера.
На данный момент это ограничение урона, не храните пароль в качестве аутентификационных данных. Используйте OAuth, сеансы cookie, соленые хэши и т. Д., Все они всего лишь токены, представляющие, что в какой-то момент вы доказали, что знаете пароль. В любой хорошей системе эти токены могут быть отозваны, время истекло и/или периодическое обменено на новый токен во время активного сеанса.
Токен (независимо от его формы) может также содержать дополнительную информацию, не связанную с идентификацией пользователя, которая ограничивает вашу способность использовать их в другом месте. Он может, например, инкапсулировать ваше имя хоста и/или IP-адрес. Это затрудняет использование учетных данных на разных компьютерах, поскольку имитация этих форм учетных данных потребует доступа к соответствующему уровню сетевой инфраструктуры.
Вы не упомянули никакого беспокойства о Man-In-The-cpедней атак. Для всех, кто в одной и той же подсети, тривиально выполнять ее и перехватывать все ваши сообщения. – hurst 2008-10-23 00:53:50
Какое количество времени и усилий, наложенных на атаку, вы пытаетесь защитить? Нет совершенной безопасности. – 2008-10-22 14:05:13
Я думаю, что вопрос универсален. Если самые популярные настольные почтовые клиенты, которые обращаются к gmail/hotmail, не могут его решить, у нас есть серьезная проблема. – KCorax 2008-10-22 14:11:27