私は学生です。これまでに使用したすべての学校または大学では、大学サービスにログインするためにユーザーアカウントにパスワードを1つ設定しているようです。このパスワードは、大学が使用する黒板、フロンターなどの外部サービスにも同期されます。 Dropbox、Office 365電子メールなど.
サイバーセキュリティのレッスン1は、パスワードをプレーンテキストで保存したり、暗号化したりすることではありません。しかし、代わりにある種のハッシュアルゴリズムを使用します。これに該当する場合、大学のITサービスは、関連するすべてのアカウントのパスワードをどのように自動的に同期できますか?パスワードの変更が要求されたときにAPIを使用してすべてのサービスを毎回更新することでこれがどのように行われるかを理解できますが、ユーザーがパスワードを再入力しないと新しいサービスを採用できなくなります。
それはどのように行われますか?または彼らはプレーンテキストでパスワードを保持しているだけですか?
通常、パスワードがサービス間で「同期」されるのではなく、集中認証サービスが使用されます。多くの場合、これは、Active Directoryサーバーを実行しているMicrosoft Windowsドメインコントローラー(他はFreeIPAなど)であり、他のサービスはLDAPおよびKerberosを使用して通信できます。
通常の設定では、すべてのユーザーアカウントがディレクトリサーバーに追加されます(通常、冗長性と信頼性のために、複数のサーバー間で透過的に複製されます)。ローカルでホストされているアプリケーション(Blackboardなど)では、認証プロバイダーとしてディレクトリサーバーのLDAP情報がサーバー設定に入力されます。クライアントがWebインターフェースで資格情報を入力すると、アプリケーションは、資格情報をローカルデータベースおよび設定されているLDAPサービスと照合します。 LDAPサーバーが認証の成功を確認すると、ユーザーに関する情報(連絡先情報、グループメンバーシップなど)を取得して、アプリケーションの一部を入力できます。ユーザー情報がどこかで更新されると、ディレクトリサーバー上のデータが変更され、他のすべての場所に変更が反映されます。これはパスワードの変更に適用されます。
すべてのアプリケーションがLDAPを直接使用するわけではありません。 Office 365やGoogle Appsスイートなどの外部サービスでは、代わりにシングルサインオン(SSO)を使用できます。SSOを使用すると、組織のログインページを通じて認証され、これらの外部サービスはこの認証を(SAMLなどを介して)効果的に再利用できます。
ディレクトリサーバーでは、パスワードは各ユーザーオブジェクト内のハッシュとして格納されます。ハッシュはLDAPアクセス制御を使用してさらに保護され(どのLDAPクライアントもハッシュをプルできないだけです)、レジストリからのキーで暗号化されます(Windows Active Directoryの場合)。
要するに、これは表面を引っかくだけです。集中認証を使用するようにネットワークとサービスを設定するには、いくつかの方法があります。しかし、ほぼすべての組織がこのタイプのシステムを使用しています。あなたが言ったように、ほとんどの場合手動で行うことは非常に困難で安全ではありません。
外部サービスにログインするときに、パスワードを入力するためにブラウザーから組織にリダイレクトされた場合、フェデレーションが使用されます。つまり、パスワードは外部サービスに同期されません。
これは通常のケースであり、使用される標準は通常SAML2です。
しかし、実際にはパスワードをさまざまなサービスに同期する組織があります。私の経験では、LDAP認証をサポートしていない内部サービス間が通常ですが、Office 365やGoogleなどの外部サービスに対しても同様です。
これは、中央リポジトリと接続されているすべてのシステム間でID情報を同期するコネクタを備えたID管理システム(世の中にたくさんある "IDM")によって行われます。
その場合、パスワードは暗号化されて保存されますが、すべてのケースで、AES256を使用してその中央リポジトリで確認しました。もちろん、IDMシステムの管理者は、監査制御が行われていない場合にキーを制御するため、これらのパスワードを読み取ることができます。