基本情報

基本情報 令和元年度 秋期 問38|テクノロジ系に関する問題

問題

基本情報 | 令和元年度 秋期 | 分野:テクノロジ系

メッセージにRSA方式のディジタル署名を付与して2者間で送受信する。そのときのディジタル署名の検証鍵と使用方法はどれか。

キーボード:1〜4で選択・Enterで次へ

タップするとすぐ答え合わせ

答え合わせ

正解は C
  • A
  • B
  • C
  • D

自信の3択

えらぶと、この端末に記録します(登録はいりません)

解説

答えは c「送信者の公開鍵」 です。

ディジタル署名の仕組み:

  • 送る人:自分の秘密鍵で署名(自分しか作れない)
  • 受け取る人:送り主の公開鍵で検証(みんな見れる)

「秘密鍵で書いた手紙は、対応する公開鍵でしか開けない」のが公開鍵暗号の魔法。だから「あ、これは本人が書いた」と確認できます。

👉 覚え方:署名=秘密鍵で作る、公開鍵で検証。

ほかの選択肢:a/b 受信者の鍵=暗号化/復号の話/d 秘密鍵で検証=逆向き。

なぜこれが正解か

正解は c。RSA方式のディジタル署名では:

1. 送信者がメッセージのハッシュ値(メッセージダイジェスト)を計算

2. 自分の秘密鍵でハッシュ値を暗号化=ディジタル署名

3. 受信者は受け取った署名を送信者の公開鍵で復号してメッセージダイジェストを算出

4. 受信したメッセージから自分でハッシュを計算し、復号結果と比較→一致すれば検証成功

各選択肢の解説

  • a 受信者の公開鍵で署名作成:誤り。署名は送信者の秘密鍵で作成。
  • b 受信者の秘密鍵で検証:誤り。検証は送信者の公開鍵で行う。
  • d 送信者の秘密鍵で署名作成:これは署名生成の説明であり、検証鍵を問う問題に対しては誤り。

覚え方・ひっかけ注意

公開鍵暗号の役割表:

用途暗号化/署名復号/検証
秘匿(暗号化)受信者の公開鍵受信者の秘密鍵
署名送信者の秘密鍵送信者の公開鍵

「自分の秘密鍵でしか作れない=本人証明」「公開鍵で誰でも検証可能」の対称関係を理解すれば暗記不要。

理論的背景

RSAディジタル署名はRSA暗号(Rivest-Shamir-Adleman、1977)の応用。公開鍵 (n, e)、秘密鍵 (n, d) のペアで:

  • 署名生成:`s = h^d mod n`(hはメッセージのハッシュ値)
  • 署名検証:`s^e mod n = h`が成立すれば正当

オイラーの定理 `m^φ(n) ≡ 1 (mod n)` と `e·d ≡ 1 (mod φ(n))` を選ぶことで `(m^d)^e ≡ m (mod n)` が成立する数学的基盤。

ディジタル署名の特性

ディジタル署名は3つのセキュリティ性質を提供:

  • 真正性(Authentication):送信者が誰か検証可能
  • 完全性(Integrity):メッセージが改ざんされていないか検証可能
  • 否認防止(Non-Repudiation):送信者は後で「送っていない」と言えない

MAC(メッセージ認証符号)は共通鍵で①②を提供するが③否認防止は提供できない(受信者も鍵を持つため)。

主要署名アルゴリズム

  • RSA署名:RSASSA-PSS(推奨)、RSASSA-PKCS1-v1_5(レガシー)
  • DSA/DSS:FIPS 186、固定パラメータ
  • ECDSA:楕円曲線、短い鍵長で同等強度。Bitcoin、TLS、SSH広く採用
  • EdDSA(Ed25519/Ed448):高速・サイドチャネル耐性
  • ポスト量子暗号(PQC):CRYSTALS-Dilithium、Falcon、SPHINCS+。NIST標準化進行中

実務での使われ方

  • TLS/HTTPS:サーバ証明書のCA署名検証(X.509、PKIX)
  • コード署名:Authenticode(Microsoft)、Apple Notarization、Android APK Signing
  • 電子契約:DocuSign、Adobe Sign、クラウドサイン、GMOサイン
  • JWT署名:HS256(HMAC)/RS256(RSA)/ES256(ECDSA)でAPI認証
  • ブロックチェーン:Bitcoin(ECDSA)、Ethereum(ECDSA)、各種スマートコントラクト署名
  • ソフトウェア配布:パッケージ署名(GPG、Sigstore)、SBOM、Supply Chain Security

PKI(公開鍵基盤)

  • CA(Certificate Authority):証明書発行
  • RA(Registration Authority):登録代行
  • CRL(Certificate Revocation List)/OCSP:失効確認
  • 証明書チェーン:ルートCA→中間CA→エンドエンティティ
  • 証明書透明性(CT:Certificate Transparency):CTログで監視

試験での位置づけ

基本情報・応用情報・情報処理安全確保支援士のセキュリティ分野で毎期必出級。直近はTLS 1.3、HSTS、HPKP、ECH、PQC移行戦略まで踏み込む。

選択肢の発展補足

ハッシュ関数の選定も重要:MD5・SHA-1は衝突攻撃で非推奨(SHA-1は2017年Google/CWIによる衝突実証)、現在はSHA-2(SHA-256以上)/SHA-3が標準。署名アルゴリズムとハッシュ関数の組合せ(例:RSA-PSS-SHA256、ECDSA-P256-SHA256)でセキュリティ強度が決まる。ノンス(nonce)を用いる署名(ECDSA、EdDSA)では乱数の不適切実装でPlayStation 3秘密鍵漏えい事件(2010)のような重大事故が発生する点も実装上の注意点。

この問題の根拠出典:IPA(情報処理推進機構)公式 基本情報技術者試験 令和元年度 秋期 問38
訂正の記録この問題の訂正はありません(サイト全体の記録)
出典と作り方

出典:IPA(情報処理推進機構)公式 基本情報技術者試験 令和元年度 秋期 問38/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビ独自の3段階の解説(初級・標準・上級)です。