Twitterクライアントを作成している場合は、そのAPIを使用します
Twitterには非常に優れたドキュメントがあるので、クライアントを作成する前にすべてを読むことをお勧めします。この質問に関連する最も重要な部分は、パスワードを保存する必要がなく、代わりにOAuthトークンを保存することです。xAuthステージを使用してOAuthトークンを取得してから、必要に応じてこのOAuthトークンで他のTwitterAPIを使用する必要があります。
xAuthは、デスクトップおよびモバイルアプリケーションがユーザー名とパスワードをOAuthアクセストークンと交換する方法を提供します。アクセストークンが取得されたら、xAuth対応の開発者は、ユーザーに対応するログインとパスワードを破棄する必要があります。
あなたがそれで逃げることができるならば、あなたは決してパスワードを保存しません
OAuthを使用すると、発生する可能性のある最悪の事態は、サードパーティ(ブラックハットハッカー)がそのTwitterアカウントにアクセスできるが、パスワードにはアクセスできないことです。これにより、複数のオンラインサービスに同じパスワードを単純に使用するユーザーを保護できます。
ある種のキーホルダーを使用する
最後に、OSXのキーチェーンなどの既成のソリューションを使用して機密性の高いOAuth情報を保存する必要があることに同意します。侵害されたマシンは、現在ロック解除されているキーチェーンの情報のみを公開します。これは、マルチユーザーシステムでは、ログインしているユーザーのみがキーチェーンを脆弱にすることを意味します。
その他のダメージ制限
私が見逃したものがあるかもしれませんが、「ベストセキュリティプラクティス」のためにGoogleを利用して、関連する可能性のあるものを読み始めます。
編集(finnwの望ましい一般的なケースの解決策に応じて)
ユーザー入力がない場合は、オンラインサービスにアクセスする必要があります。これは通常、キーチェーンなどを介して、多くてもユーザーレベルで認証資格情報にアクセスできることを意味します。
OSXキーチェーンを使用したことがないので、SELinuxについて説明します。SELinuxでは、これらの認証クレデンシャルがプログラムにのみ与えられるようにすることもできます。また、OSレベルのものを継続する場合は、起動から暗号化までのすべてのプロセスに署名して、他のプログラムがプログラムを模倣していないことを確認することもできます。これはすべて、通常のユーザーシステムを超えており、このレベルのセットアップを考えると、ユーザーが危険にさらされるほど素朴ではないこと、またはシステム管理者が十分に能力があることを保証できます。このレベルでは、これらの資格情報を保護できます。
これらの資格情報の保護にそれほど踏み込んでいないと仮定すると、システムが危険にさらされていると想定できます。この時点で、認証クレデンシャルが危険にさらされ、ローカル側でこれらのクレデンシャルを難読化/暗号化しても、実際のセキュリティは追加されず、サードパーティサーバーにその一部またはすべてが保存されることもありません。ユーザー入力がない場合、プログラムはそれらの資格情報を取得するためにそれ自体をブートストラップする必要があるため、これは簡単に確認できます。プログラムが入力なしでそれを実行できる場合は、難読化/暗号化/サーバープロトコルをリバースエンジニアリングした人も同様です。
この時点では損傷の制限です。パスワードを認証資格情報として保存しないでください。OAuth、Cookieセッション、ソルトハッシュなどを使用します。これらはすべて、過去のある時点でパスワードを知っていることを証明したことを表す単なるトークンです。どのような優れたシステムでも、これらのトークンは、アクティブなセッション中に取り消されたり、期限が切れたり、定期的に新しいトークンと交換されたりする可能性があります。
トークン(どのような形式であっても)には、他の場所での使用を制限する追加の非ユーザー入力認証情報を含めることもできます。たとえば、ホスト名やIPアドレスをカプセル化できます。これらの形式のクレデンシャルを模倣するには、適切なレベルのネットワークインフラストラクチャにアクセスする必要があるため、これにより、別のマシンでクレデンシャルを使用することが困難になります。