RSAとは何ですか?

2026年8月13日公開

← 用語集のすべての項目 Rへジャンプ

RSA(Rivest–Shamir–Adleman)は、数学的に関連付けられた公開鍵と秘密鍵のペアを用いて、データの暗号化、鍵の交換、およびデジタル証明書の署名を行う公開鍵暗号アルゴリズムです。その安全性は、2つの大きな素数の積を因数分解することの困難さに基づいており、実用的な鍵サイズでは、この問題は依然として計算上解くことが不可能です。

主なポイント

  • RSAは、公開鍵と秘密鍵のペアを用いて、データの暗号化や証明書の署名を行います。
  • セキュリティは、大きな素数の積を因数分解することの難しさに依存している。
  • RSAは1977年、MITのリベスト、シャミア、アドルマンによって発表された。
  • Versaの「Secure Access Service」では、TLSキー交換の選択肢としてRSAを提供しています。
  • 鍵サイズが大きいほど(2048ビット以上)、処理速度は低下しますが、セキュリティは強化されます。

このページの内容: その重要性仕組み種類RSAおよびVersaよくある質問

RSAはなぜ重要なのでしょうか?

RSAは、1977年にMITのロン・リベスト、アディ・シャミア、レナード・アドルマンによって発表された、最初の実用的な公開鍵暗号方式でした。それ以前は、どの方式でも両者が事前に秘密鍵を共有する必要があり、インターネットのような大規模な通信には実用的ではありませんでした。 RSAは、鍵を「誰でも暗号化や検証に使用できる公開鍵」と、「所有者だけが復号や署名に使用できる秘密鍵」の2つに分けることで、この問題を解決しました。HTTPS証明書、SSHホスト鍵、コード署名、電子メールの暗号化などは、すべてこのアイデアに端を発しています。

楕円曲線アルゴリズムが新規導入の主流となりつつある今でも、RSAは依然として重要な役割を果たしています。その理由は、既存の導入基盤が膨大であるためです。認証局は依然としてRSA証明書を発行しており、古いクライアントはRSA以外の方式に対応していないことが多く、またTLSやPKIツールにおいても、RSA署名は依然としてデフォルトの選択肢となっています。

RSAとは何ですか?

RSAは、1つの数学的構成から2つの鍵を生成します。鍵の生成では、2つの大きなランダムな素数を選び、それらを掛け合わせて係数とし、剰余演算を用いて公開指数とそれに対応する秘密指数を導出します。公開鍵は自由に共有できますが、秘密鍵は絶対に秘密にしておく必要があります。

暗号化と署名では、鍵の用途が逆になります。機密メッセージを送信する場合、送信者は受信者の公開鍵を使ってメッセージを暗号化します。これに対応する秘密鍵でしか復号することはできません。作成者を証明するために、署名者はメッセージのハッシュ値を自身の秘密鍵で暗号化します。誰でも署名者の公開鍵を使ってこれを検証でき、身元と完全性を確認することができます。

セキュリティは整数の因数分解に依存しています。秘密鍵を導出するには、モジュラスを2つの素因数に分解する必要がありますが、実用的な鍵長(通常は2048ビット以上)において、これを効率的に行う古典的なアルゴリズムは存在しません。

RSAの利用形態

RSAは、ネットワークにおいて3つの異なる役割を担っています。RSA鍵転送(大まかに「RSA鍵交換」と呼ばれる)では、TLSクライアントがサーバーのRSA公開鍵を用いてプレマスターシークレットを暗号化します。このプレマスターシークレットは、サーバーの秘密鍵でしか復元できません。このモードは静的であり、フォワードシークレシー(将来性)を持たないため、TLS 1.3ではディフィー・ヘルマンの変種に置き換えられましたが、以前のバージョンでは引き続き利用可能です。RSAデジタル署名は、証明書やハンドシェイクの認証に使用されます。認証局(CA)は、自身のRSA秘密鍵でサーバーの公開鍵に署名し、クライアントはその署名を検証して信頼性を確認します。実際には、大量のデータをRSAで暗号化することは稀であるため、RSAは通常、対称鍵を包み込む形で使用されます。

導入方法も鍵長やパディングによって異なります。鍵長は2048ビットから4096ビットの範囲で設定されます。これは、それより短い鍵長では因数分解攻撃に対して耐性が低すぎるためです。また、パディングには、オラクル攻撃の脆弱性がある旧式のPKCS#1 v1.5方式ではなく、OAEPまたはPSS方式が採用されています。

RSA &Versa

Versaの「Secure Access Service」――Versa SASE クライアントを接続するポータルおよびゲートウェイサービス――では、管理者は、TLS バージョン 1.3 より前のバージョンで接続をネゴシエートする場合、ECDHE と並んで RSA を TLS 鍵交換アルゴリズムとして選択でき、鍵の長さの最小値も設定可能です。 セキュア・アクセス・ゲートウェイの設定, 管理者は、次のようなRSA鍵転送スイートを含むTLS/DTLS暗号スイートを選択します。 TLS-RSA-WITH-AES-256-GCM-SHA384 および、次のようなRSA署名付きECDHEスイート TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384.

RSAは、同じサービスにおける証明書ベースの認証の基盤も担っています。セキュアアクセスポータルおよびゲートウェイは、証明書、EAP、およびプリシェアードのクライアント認証タイプをサポートしており、デバイス認証プロファイルは、SASE クライアントデバイスを検証するためにRSAで署名された証明書を利用しています。 Secure SD-WAN およびNGFWエディションでは、同様の制御機能が提供されています。

よくある質問

RSAとは何の略ですか?

RSAとは、Rivest–Shamir–Adlemanの頭文字をとったもので、1977年にMITでこのアルゴリズムを発表したロン・リベスト、アディ・シャミール、レナード・アドレマンの各氏の姓に由来します。これは最初の実用的な公開鍵暗号システムであり、現在もTLSやPKIにおいて最も広く採用されているアルゴリズムの一つです。

RSA暗号はどのように機能するのでしょうか?

RSAは、2つの大きな素数から導出された、数学的に関連付けられた2つの鍵を使用します。公開鍵で暗号化されたデータは、対応する秘密鍵でしか復号できず、秘密鍵で署名されたデータは公開鍵で検証できるため、見知らぬ者同士でも安全に秘密情報をやり取りすることができます。

RSAは今でも安全なのでしょうか?

はい、鍵の長さが十分であれば可能です。2048ビットのRSA鍵は、従来のコンピュータに対しては依然として安全であると見なされていますが、長期的な保護のためには3072ビットを推奨する指針が増えています。将来の量子コンピュータは、ショアのアルゴリズムを用いてRSAを解読する可能性があるため、ポスト量子暗号の代替技術に関する研究が進められています。

RSAとECDHEの違いは何ですか?

RSA鍵転送では、クライアントがサーバーの静的な公開鍵を使用して秘密鍵を暗号化できますが、ECDHE(楕円曲線ディフィー・ヘルマン一時鍵方式)では、双方が一時的な鍵ペアを生成し、共有秘密鍵を導出します。ECDHEはフォワード・シークレシーを提供しますが、静的なRSA鍵転送ではこれが実現できません。

RSA鍵のサイズはどれくらいにすべきでしょうか?

新規導入においては、2048ビットが実用上の最低基準となります。3072ビットまたは4096ビットを採用すれば、処理速度の低下や証明書サイズの増加を代償として、より強固なセキュリティマージンを確保できます。2048ビット未満の鍵は解読可能と見なされるため、現在も使用されている場合は速やかに廃止すべきです。

RSAに関する詳細

さらに詳しく知りたい場合は、私たちが信頼している情報源を以下にご紹介します。

NIST CSRC 用語集 IETF RFC 8017: PKCS #1 RSA 暗号仕様
RSAなどの公開鍵アルゴリズムを含む、NISTの標準暗号・セキュリティ用語集。 TLS や PKI で広く使用されている RSA 暗号、署名方式、パディング、および鍵形式を定義する IETF 仕様。

RSAについてお読みなら、次はこれらもぜひチェックしてみてください。

セキュア・アクセス・サービス・エッジ 完全修飾ドメイン名 SD-WAN
SD-WANとセキュリティ機能を統合したアーキテクチャ 。このソリューションでは、クライアント認証およびTLSトンネルにおいて、RSAに基づく鍵交換を利用できます。 RSA署名付きデバイス証明書およびクライアント証明書と併せて、証明書間の相互認証に使用されるドメイン名の形式。 オーバーレイおよびSASE トンネルをRSAベースのTLS暗号スイートで保護できるネットワーク構成。
この記事は役に立ちましたか?
問題を報告する