2025.01.29ブログ
2025年度 大学入学共通テストの情報I 問題解説(高校情報Ⅰ)Part1
皆様、こんにちは。タイムレスエデュケーションの鈴木です。
先日1月18日、19日の2日間で2025年大学入学共通テストが実施されました。今年度より必須科目として追加された「情報Ⅰ」の試験内容はご覧になりましたか?様々な記事を見ていると「難易度は標準的」と述べているところが多かったようです。平均点は約73点と他の教科と比べて高く、おそらく来年度は調整が入るのではないかと思います。個人的にはそもそも情報を問う問題が少なかったなと感じました。まだ、初年度のテストなので、比較的知識がなくても解けるような問題だったのでしょうか。ひとまず感想はここまでとし、実際の問題の内容をいくつかピックアップして見ていこうと思います。ぜひ最後まで御覧ください。
問題の内容
まず問題数ですが、大問は全部で4つ、各大問の中での問題数は10問前後だったので40問ほどでした。第1問では、最初の2問に情報に関する知識を問う問題、その他は数学の組み合わせ問題、説明をよく読んで考えると分かる問題でした。第2問については、AとBの問題に分かれていて、Aはショッピングサイトのシステム設計を考える問題で、問題文の中で定義されたシステムを作る上で必要な情報は何かを考える内容でした。Bは支払いとお釣りに関するシミュレーションでしたが、演算ができれば分かる内容でした。第3問ではプログラミングの内容が出ていて、第4問は情報を分析をして読み取るデータサイエンスの内容でした。今回は第1問の中にある1つの用語について紹介させて頂きます。
第1問<a:デジタル署名>
<問題文>
インターネットで情報をやり取りする際、発信者が本人であることを確認するためにデジタル署名が利用できる。また、デジタル署名を用いると、その情報が [ア] を確認できる。
0. 複製されていないか
1. 暗号化されているか
2. 改ざんされていないか
3. どのような経路で届いたか
4. 盗聴されていないか
どれが正解か分かりますでしょうか。デジタル署名の役割は、署名者本人が確かに署名したこと、デジタル文書が改ざんされていないことを確認することです。そのため、上記問題の答えは、「2. 改ざんされていないか」になります。ではその「デジタル署名」の仕組みについて、解説をさせて頂きます。まず、このデジタル署名を実現するために、公開鍵暗号方式という方法を利用します。利用者は、秘密鍵 (Private Key)と公開鍵 (Public Key)という2つの鍵を作成して、データの送受信を行います。まずはその公開鍵暗号方式について説明し、それをどのように活用することで「デジタル署名が成立するのか」を見ていこうと思います。
公開鍵暗号方式は、主にデータを暗号化して送るための仕組みです。上の図の右側のように公開鍵 (Public Key)は誰でも利用可能なデータを暗号化するための鍵であり、秘密鍵 (Private Key)は通常データを受信する人が持つデータを復号化するための鍵です。例えば、銀行などの厳重なシステムを考えてみます。銀行側が秘密鍵を持ち、ユーザーに公開鍵を共有します。ユーザーは重要なデータを公開鍵を使って暗号化して送付し、銀行側は受け取ったデータを秘密鍵で復号化します。つまり、データの暗号化は「誰でもできる(公開鍵を使う)」けれども、復号できるのは「秘密鍵の所有者だけ」となります。
デジタル署名
デジタル署名では、この公開鍵暗号方式の仕組みを逆に使って実現しています。上記の図をご覧ください。左側は、デジタル署名を作成してデータを発信する人で、右側はそのデータを受信する人です。さきほどとは異なり、発信者側が秘密鍵を使ってデータを暗号化し、受信者は公開鍵を使ってデータを復号します。秘密鍵を持っている人しか公開鍵は作れないという特性を利用することで、データの所有者を証明しています。もう少し詳しく流れを確認していきます。
まず、送信者自身で秘密鍵と公開鍵の作成します。そして、認証局(CA: Certificate Authority)へ公開鍵と所有者情報を登録します。認証局とは簡単に説明すると、インターネット上で信頼性を保証する機関です。そして、認証局から承認されるとデジタル証明書が発行されます。このデジタル証明書が公開鍵の所有者が発信者本人のものであることを保証します。もちろん、認証局の審査は厳重に行われます。
次に送信者が文書データの署名を作成するまでのフローを見ていきます。まず、署名したい文書データに対して、ハッシュ関数を適用して固定長の「ハッシュ値」を計算します。ハッシュとは、言葉そのものは「細切れにする」という意味ですが、データを別のランダムに見える値に変えることです。また、固定長とは元々のデータのサイズがどれくらいの大きさであっても、決まったサイズにすることです。
次に、ハッシュ値を秘密鍵を使って暗号化しますが、この暗号化されたデータがデジタル署名となります。手紙でいうところのサインや封印のような役割です。また、この暗号化方式にも様々なアルゴリズムが使われますが、RSA暗号という方式を使うことが多いです。内容は難しいため、今回は用語のみ紹介とし、暗号化させる方法は色々あるのだと理解して頂ければと思います。
そして、最後に受信者側の検証になります。受信者は受信したデジタル証明書を認証局へ照会し、署名者本人の公開鍵であることを確認します。(上記の図の左)そして、その公開鍵を使ってデジタル署名を復号し、また、受信した文書データのハッシュ値を計算します。デジタル署名の復号結果と文書データのハッシュ値を比較し、相違がないことを確認できれば署名者本人が確かに署名したものかつ、デジタル文書が改ざんされていないことを確認することができます。(上記の図の右)もし途中でデータが改ざんされていればハッシュ値を比較した時に相違があるため、本人が送ったものではないと分かるということになります。
最後に
最後までご一読頂きありがとうございました。デジタル署名の問題は役割を知っているとすぐに解ける問題でしたね。デジタル署名のフローは少し難しい内容ですが、情報Ⅰの教科書には今回紹介した暗号化のフローも書かれているので、しっかり押さえておきたいです。また、大学入学共通テスト「情報Ⅰ」の第1問のbではIPアドレスのIPv6についての問題がでていました。IPアドレスについては、「情報Ⅰ」の通信プロトコルの階層モデルの範囲であり、Part1とPart2と紹介していますので、こちらも合わせて御覧ください。また、タイムレスエデュケーションでは、子供たちが“タイムレスな陳腐化しないスキル”を身に付けられるよう、創造する活動に重点を置いたプログラミング授業を行っております。体験会をご希望の方はお気軽にお問い合わせください。最後までご一読頂き、ありがとうございました。
参考文献:
黒上晴夫、堀田龍也、村井純、「情報Ⅰ」、日本文教出版株式会社、2022年1月