シングルサインオンと電子署名

シングルサインオンと電子署名

シングルサインオンとは

シングルサインオン (Single Sign-On: SSO)とは、その名が示すように、一度のサインオン(認証)で、複数のシステムを利用できるようにするための仕組みです、利用者にとって、システムごと、サービスごとに個別に認証を行わなければならない状況はとても煩雑で面倒です。この点において、シングルサインオンが実現されていれば、何度も何度も認証を行わなくても済むため、利便性が向上します。

シングルサインオンの長所と短所

シングルサインオンを導入すると、認証情報を管理するシステムを一元化できるため、認証情報の管理性が向上します。旧来のシステムのように、システムごと、サービスごとに認証情報を管理する方法では、利用者側も面倒ですが、サービス提供側も大変でした。シングルサインオンを導入すればこの点は大きく改善できます。一方で、シングルサインオンにおいては、その性質上、認証情報や認証システムのセキュリティの確保が、通常のシステム以上に重要になります。シングルサインンの認証システムのセキュリティが不十分だと、複数のシステムに不正アクセスされてしまったり、最悪の場合、認証情報が漏えいしたりすることにつながります。シッグルサインオンの利用を検討する際はあらかじめその仕組みをきちんと理解しておくことが必要です。

シングルサインオンを実現するための仕組み

シングルサインオンに関しては、標準化のための仕組みが以前から整備されています。企業などの利用を想定した認証·認可のための「SAML(Security Assertion Markup Language)」、認証のための「OpenID」、認可のための「OAuth」など!あります。SAMLはOASIS によって標準化が行われており、OpenlD とOAUTはIETF により標準化が行われています。

電子署名とは

電子署名とは、「電子データの作成者」を元のデータに付与し、さらに元のデータが改ざんされていないことを保証するための技術です。現実社会における「書類へのサイン」や「押印」などを電子的に実現したものといえます。

電子署名を実現する3つのアルゴリズム

電子署名を実現するには、以下の3つのアルゴリズムが必要になります。また、3つのアルゴリズムの実現には、適切なハッシュアルゴリズム(p.38) を採用する必もあります。この点も覚えておいてください。

鍵生成アルゴリズム

電子署名を実現するために必要な「署名するための鍵(秘鍵)」と「署名を検証するための鍵(公開鍵)」を生成するアルゴリズムです。一般には、秘密鍵は署名者が厳重に管理し、公開鍵は他者に公開されます(電子データと対応する署名データが適切な対応を持っているかどうかを検証するため)。

署名アルゴリズム

署名者が生成した秘密鍵を用いて、電子データに対応する繋々データを生成するアルゴリズムです。

検証アルゴリズム

電子データと対応する署名データが与えられた際に、他者が名者の公開鍵を用いて対応が適切なものであるかを確認するアルゴリズムです。電子署名を実現する技術電子署名を実現するための技術としてよく知られているものに「RSA「EIGamal」「DSA」などがあります。いずれの方式も、鍵生成、署名、検証の3つのアルゴリズムを用いて電子署名を実現します。「PGP」や「S/MIME」は、主に電子メールに対して電子署名や公開鍵暗号処理を施す仕組みです。PGP は小規模導入に、S/MIME は組織的な導入に適しています。

セキュリティカテゴリの最新記事