コンテンツへスキップ

セキュリティ、プライバシーおよびデータ完全性

A-Levelコンピュータ科学 · トピック 6

查看幻灯片 練習する
このトピックのビデオレッスン 動画ページを開く
16:28

セキュリティ、プライバシー & 完全性

今この瞬間、あなたのデバイスは攻撃を受けています。キーボードにうかがい立つ人間ではなく、無数の自動ボット軍によって、絶え間なくスキャンされています…

英語ナレーション・英語+中文字幕 burning-in

6.1

セキュリティ、プライバシー、完全性 — 3つの異なる概念

シラバス
受験者は以下的能力を備えているべきである: メモおよびガイドライン
セキュリティ, プライバシー, データ完全性という用語の違いを説明する
データのセキュリティおよびコンピュータシステムのセキュリティの両方の必要性を認識する
単体PCからコンピュータネットワークまで、コンピュータシステムを保護するために設計されたセキュリティ対策を説明する ユーザーアカウント, パスワード, デジタルサインaturesやバイオメトリクスなどの認証手法, ファイアウォール, アンチウイルスソフト, アンチスパイウェア, 暗号化 を含む
ネットワークとインターネットがもたらすコンピュータおよびデータセキュリティに対する脅威を理解する マルウェア(ウイルス, スパイウェア), ハッカー, フィッシング, ファーマリング を含む
脅威によって生じるリスクを制限するために使用できる方法を説明する
データのセキュリティを保護するために設計されたセキュリティ方法を説明する 暗号化, アクセス権限 を含む

出典: Cambridge International シラバス

これらは似ていますが、意味は異なります:

  • セキュリティ — 不正なアクセス、変更、破壊からデータを守る。
  • プライバシー — 個人の権利であり、同意と明確な目的のもとで誰が自分の個人データを見るかをコントロールすること。
  • 完全性 — データが正確で完全であること。破損したり意図せず変更されてはいないこと。

ファイルは安全(正しい人だけが開けることができる)でも完全性が欠如している(タイポで破損した)可能性があります。また、正確であってもプライバシーがない(誰でも読める)こともあります。この3つが必要です。

試験が求める違いを1文ずつ述べる:セキュリティとは、データの喪失や不正なアクセスから守ることです。プライバシーとは、データ機密性を保ち、権限のある者だけがアクセスできるようにすることです。完全性とは、データが正しく、一貫性があり、完全であることです。したがって「セキュリティとプライバシーの違い」について:セキュリティは、不適切な者によるアクセス、変更、喪失からデータを守ることに関わり、プライバシーは個人が誰が自分の個人データを見ることを認めるかを決める権利に関わります。「セキュリティと完全性の違い」について:セキュリティはデータへの不正なアクセスを防ぐことに関わり、完全性はデータが正確かつ最新であることを保証し、これは検証と確認によって守られます。

探索

リスクと責任ラボ

関連するルール、リスク、または保護に基づいて例を並べ替えよ。

6.1

なぜセキュリティが重要なのか

守るべき2つのもの:データそのもの(機密性、完全性、可用性を維持)とコンピュータシステム(侵害されたシステムは他を攻撃したり、認証情報を盗んだり、拉致被害にあったりする)。

"学校が両方をなぜ安全に保つ必要があるか?" データ:個人情報であり機密であるため、不正な者に読まれたり、改ざんされたり、削除されたりしてはならず、紛失すれば学校の運営が停止します。システム:侵入者がコンピュータシステムに到達した場合、マルウェアをインストールしたり、他のシステムへの攻撃に使ったり、ハードウェアやソフトウェアを破損させたり、ランサムウェアでロックされたりします;安全なシステムは、そこに格納されたデータに対する第一線の防衛手段です。

6.1

ネットワークとインターネットからの脅威

脅威は3つのグループに分類されます。

ミドルマン攻撃者がアリスとボブの間に座り、メッセージを読むまたは改変している様子
ミドルマン攻撃者は2人の当事者の間に位置する
  1. マルウェア(悪意あるソフトウェア)— 有害なプログラム:
  • ウイルス — 他プログラムに付着し、それらが実行されるたびに複製・拡散するコード。
  • ワーム — ユーザーの操作なしにネットワークを介して自己複製・拡散するコード。
  • トロイの木馬 — 有用そうに見せかけながら悪意あるコードを隠している。
  • スパイウェア — 秘密裡に情報を収集する(キーストローク、パスワードなど)。
  • ランサムウェア — ファイルを暗号化し、金銭を要求する。
  • アダウェア — 不要な広告を押し付ける。

2. 人を騙す(ソーシャルアタック):

  • フィッシング — 偽メールやサイトを用いてユーザーに認証情報を与えさせる。
  • ファーマリング — 正しいアドレスを入力してもユーザーを偽サイトにリダイレクトする。
  • ソーシャルエンジニアリング — 人々をだまして情報を引き出すこと。

この scheme が記述する4つの名指しの脅威: ウイルスは、自分自身を複製(コピー)し、他のファイルに付着してデータを削除または破損させる悪意のあるソフトウェアです。スパイウェアは、ユーザーのキー入力や操作を記録し、第三者に送信してパスワードや個人情報を取得する悪意のあるソフトウェアです。フィッシングメールは正当な組織からのもののように装い、ユーザーに個人情報や銀行口座情報を求め偽サイトへのリンクを含んでいます。ファーマリングは、ユーザーのコンピュータまたはWebサーバーにインストールされた悪意のあるコードで、正しいアドレスを入力したにもかかわらず、ユーザーを偽サイトへ転送します。スパイウェアとウイルスの類似点: どちらもマルウェアであり、どちらもユーザーの同意なくインストールされ、どちらも第三者へデータを送信したりシステムを破損させたりできます。違いは、ウイルスが自分自身を複製するのに対し、スパイウェアは情報を記録・送信することです。フィッシングとファーマリングの両方とも、ユーザーをデータを収集する偽サイトへ誘導しますが、フィッシングにはメール内のリンクをクリックする必要がありますが、ファーマリングはコンピュータ上のコードまたはDNSサーバーを介して機能するため、メールは必要ありません。

3. ネットワークに対する攻撃:

  • ハッキング by ハッカー — 無許可アクセス、通常は脆弱なパスワードやソフトウェアの欠陥を介して行われます。
  • サービス妨害 (DoS/DDoS) — サーバーを過負荷にし、正規のユーザーがアクセスできなくします。
  • 盗聴 — 通信中のデータを捕獲する(オープンWi-Fiではリスクがあります)。
  • ミドルマン攻撃 — 攻撃者が二人の間でメッセージを密かに中継または改変します。

** worked example.** スクールネットワーク上のデータに対する2つの脅威を特定・説明し、それぞれ異なる対策法を示してください。

脅威1、マルウェア: メール添付ファイルやダウンロードからコンピュータにコピーされたウイルスが自分自身を複製し、ファイルを破損または削除します。対策: ファイルをスキャンし、常に最新の状態に保つアンチウイルスソフト。脅威2、ハッキング: 無許可の人が弱すぎるパスワードの推測などでネットワークにアクセスし、データを読み取ったり変更したりします。対策: 無許可の接続をブロックするファイアウォール、または2要素認証付きの強力なパスワード。第三のペアであるフィッシング: メールがユーザーをログイン情報を収集する偽サイトへ誘導します。対策: ユーザーに送信元とURLを確認するよう教育し、メールをフィルタリングすること。対策は脅威に一致している必要があります: 暗号化はウイルスを防げず、アンチウイルスソフトはフィッシングを防げません。

行動に基づくグループ化されたマルウェア: 自己増殖型はウイルス(プログラムに付着)およびワーム(ネットワークを介して拡大);隠蔽・変装型はトロイの木馬(有用そうに見せかける)、スパイウェア、ランサムウェア、広告ware
行動に基づくマルウェア: 自己増殖型(ウイルス、ワーム)と隠蔽・変装型(トロイの木馬、スパイウェア、ランサムウェア、広告ware)
English 日本語
malware/ˈmælweə/ マルウェア
ransomware/ˈrænsəmweə/ ランサムウェア
networks/ˈnetwɜːks/ ネットワーク
man-in-the-middle/mæn ɪnðə ˈmɪdl/ 真ん中の人間攻撃
virus/ˈvaɪrəs/ ウイルス
worm/wɜːm/ ワーム
Trojan horse/ˈtrəʊdʒn hɔːs/ トロイの木馬
spyware/ˈspaɪweə/ スパイウェア
adware/ˈædweə/ 広告ソフト
phishing/ˈfɪʃɪŋ/ フィッシング
pharming/ˈfɑːmɪŋ/ ファーマリング
social engineering/ˈsəʊʃl ˌendʒɪˈnɪərɪŋ/ ソーシャルエンジニアリング
hacking/ˈhækɪŋ/ ハッキング
hackers/ˈhækəz/ ハッカー
denial of service/dɪˈnaɪəl ɒv ˈsɜːvɪs/ サービス妨害攻撃
eavesdropping/ˈiːvzdrɒpɪŋ/ イブスドロッピング
6.1

セキュリティ対策

対策はデータのセキュリティ(紛失、盗難、破損からの保護)とコンピュータシステムのセキュリティ(ハードウェア、ソフトウェア、ネットワーク)の両方を保護します。

単体PC

  • 強力なパスワード;最新状態に保ったアンチウイルス;迅速なソフトウェアアップデート;別媒体へのバックアップ;フルディスク暗号化;ロックされた画面。

ネットワーク接続PC

上記すべてに加え、ファイアウォール、ユーザーごとの権限(管理者権限は管理者のみ)、ユーザーアカウントの集中管理、および監査ログ(誰がログインし、何に触れたか)。

schemeが採点する用語での対策の動作原理:

  • ファイアウォール: 入出力すべての伝送を調査し、設定された基準(IPアドレス、ポート、プロトコルのホワイトリストまたはブラックリスト)と比較します。基準を満たさないものはブロックします。特定のサイトへのアクセスを阻止したり、無許可アクセス試行を警告したりできます。
  • 暗号化: データは鍵を使って乱数(符号化)され暗号文となり、鍵なしでは盗聴されたコピーを理解できません。受信者は鍵を使って復号します。传输中および保存中のデータを保護しますが、データが盗聴または削除されるのを防ぐものではありません。
  • パスワードとユーザーアカウント: パスワードを知っているユーザーのみがログインできます。強力なパスワード(長い文字列、混合文字、定期変更)は推測できません。失敗が繰り返されるとアカウントがロックされます。各アカウントには独自のアクセス権限が付与されます。
  • アンチウイルスおよびアンチスパイウェアソフト: 既知のマルウェア署名データベースに基づいてファイルやプログラムをスキャンし、挙動をチェックし、発見物を隔離または削除します。新しいマルウェアを検出するために更新が必要です。
  • アクセス権限: 各ユーザー(またはグループ)に対して、各ファイルやテーブルごとに読み取り専用、読み書きなどの権限が割り当てられ、ユーザーは自分のデータではないものを見たり変更したりできないようにします。データベースはまた、各ユーザーに必要なフィールドのみを含むビューを表示することもできます。
  • 生体認証: デバイスが顔、指紋、瞳の画像を撮影し、デジタルデータに変換し、そのユーザーの保存データと比較し、一致した場合にのみアクセスを許可します。パスワードのように忘れたり貸したり、推測されたりすることはできません。
  • バックアップ: 別の媒体上のデータの複写をオフ-siteに保持し、紛失または破損したデータを復元できるようにします。

マルウェアのリスクを制限するために、3点満点で: アンチマルウェアソフトをインストールして更新し、ファイアウォールを使用し、不明なソースからの添付ファイルを開いたりファイルをダウンロードしたりしない、OSやアプリケーションをパッチで維持し、ユーザーを教育する。

信頼できる側にあるユーザーのコンピュータ、次にファイアウォール、不信任側にあるインターネットが双方向矢印で結ばれた箱図
ファイアウォールはユーザーのコンピュータとインターネットの間に位置します

インターネットを跨いで

  • VPN — ユーザーと企業ゲートウェイ間のトラフィックを暗号化します。
  • HTTPS / TLS — Webトラフィックを暗号化します。
  • デジタル署名 — メッセージの送信者を証明し、送信中に改ざんされていないことを確認します。
  • 侵入検知 — 既知の攻撃パターンを監視するトラフィックを見張ります。

デジタル署名による文書の認証方法(5点): 送信者はメッセージをハッシュ関数に通してダイジェストを生成します。送信者はこのダイジェストを自身の秘密鍵で暗号化し、この暗号化されたダイジェストがデジタル署名となります。メッセージと署名はセットで送信されます。受信者は送信者の公開鍵を使って署名を復号化し、ダイジェストを取り出します。次に、受信者が受け取ったメッセージをハッシュして比較します。両者が一致すれば、メッセージは送信者から来ている(秘密鍵を持つのは送信者だけだから)かつ、送信中に改ざんされていません。署名は誰が送信したか、および内容が完全であることを証明しますが、メッセージ自体の機密性を保つものではありません(これはメッセージの暗号化の役割です)。

2つのレーン: 送信者はメッセージをハッシュしてダイジェストにし、それを自身の秘密鍵で暗号化して署名を作成し、メッセージと署名を送信します。受信者は送信者の公開鍵を使って署名を復号化してダイジェストAを取得し、受け取ったメッセージをハッシュしてダイジェストBを生成し、両者を比較します
デジタル署名: メッセージのハッシュ値であり、送信者の秘密鍵で暗号化されており、受信者が新しいハッシュ値と比較して検証します
探索

ケイザー暗号で暗号化する

シフト(偏移量)を変える——これが鍵である。アルファベットの順序に従ってこの数だけ文字をずらすことで暗号文を作り、同じ鍵で逆方向にずらして復号する。この共有された鍵は対称暗号のミニチュラ版である。

English 日本語
firewall/ˈfaɪəwɔːl/ ファイアウォール
two-factor authentication/tuː ˈfæktə ɔːˌθentɪˈkeɪʃn/ 二要素認証
authentication/ɔːˌθentɪˈkeɪʃn/ 認証
VPN/ˌviː piː ˈen/ VPN(仮想専用ネットワーク)
digital signatures/ˈdɪdʒɪtl ˈsɪɡnɪtʃəz/ デジタル署名
private key/ˈpraɪvət kiː/ 秘密鍵
public key/ˈpʌblɪk kiː/ 公開鍵
authorisation/ˌɔːθəraɪˈzeɪʃn/ 権限付与
least-privilege/liːst ˈprɪvɪlɪdʒ/ 最小権限
plaintext/ˈpleɪntekst/ 平文
Symmetric encryption/sɪˈmetrɪk enˈkrɪpʃn/ 対称暗号化
asymmetric encryption/ˌeɪsɪˈmetrɪk enˈkrɪpʃn/ 非対称暗号化
access control/ˈækses kənˈtrəʊl/ アクセス制御
check digit/tʃek ˈdɪdʒɪt/ チェック桁
6.1

脅威に対する対策のマッチング

  • 送信中の傍受 → データを暗号化する(HTTPS, VPN)。鍵がない限り、傍受された暗号化テキストは意味がありません。
  • 不正アクセス → 強力な認証(長いパスワード;電話コードやキーを用いた二要素認証);ユーザーの権限付与;ログイン失敗後のロックアウト。
  • マルウェア → リアルタイムスキャン機能付きのウイルス対策ソフトおよびスパイウェア除去ソフト;パッチ適用;信頼できないダウンロードを避ける。
  • フィッシング → ユーザー研修;メールフィルタリング;認証情報の入力前にURLを確認する。
  • 内部からの脅威 → 最小権限の原則(各ユーザーに必要な権限のみを与える);監査。
  • DDoS → レート制限およびトラフィックフィルタリング。

インターネットを介して転送される機密データの場合、その手法は暗号化です。データは鍵を使って暗号化され、傍受しても読み取れないようにされ、鍵を持っている intended recipient のみが復号できます。テスト用のプログラムファイルをメールで送信する場合でも、同じ答えが当てはまります(ファイルを暗号化する、または暗号化された接続経由で送信する)、さらにファイル自体にパスワードを設定します。

6.1

データ自体の保護

  • 暗号化 — 平明文を鍵を使って暗号文に変換します。対称暗号化(AES)では共有鍵を1つ使用し、非対称暗号化(RSA)では公開鍵と秘密鍵を使用します。静止時および送信中のデータを保護します。
  • アクセス制御 — ファイルの権限(読取り/書込み/実行)およびアクセス権をOSによって強制します。
  • 認証 — 認証技術がユーザーを検証します:知っているもの(パスワード)、持っているもの(トークン、携帯電話)、あるいは自身であること(生体情報 — 指紋、顔、網膜);これらを組み合わせたものが最も強力です。
  • バックアップ — 損失や破損から回復できるよう、コピーを保持します(一部のオフサイト保存を含む)。
  • 物理的セキュリティ — ロック付きサーバールーム、ケーブルロック。

データベースにおけるアクセス権(3点説明用): 各ユーザーにはユーザー名とパスワードを持つアカウントが割り当てられ、データベース管理者が各テーブルに対して読取り専用、読書き、または無アクセスなどの権限を割り当てます。ユーザーは許可されたテーブルとフィールドのみが見えるため、顧客が社員表を開くことはできず、事務員は価格を見ることはできますが変更することはできません。DBMSはこれらのアクセス権およびビューによってこれを強制し、格納されたデータも暗号化できます。

対称暗号化では共有鍵1つを使って暗号化と復号化の両方を行います;非対称暗号化では受信者の公開鍵で暗号化し、秘密鍵で復号化します
対称暗号化は共有鍵1つを使用し、非対称暗号化は公開鍵で暗号化し秘密鍵で復号化します
灰色のRSA SecurIDキーフォブセキュリティトークンで、LCD画面に6桁のコードが表示されています
セキュリティトークンは二要素認証("持っているもの")のための変化 code を表示します
光学センサーパッド付きの小型USB指紋認証リーダー
指紋リーダーは"自身であること"を確認します — パスワードではなく、その人物の特徴です
探索

ケイザー暗号で暗号化する

シフト(偏移量)を変える——これが鍵である。アルファベットの順序に従ってこの数だけ文字をずらすことで暗号文を作り、同じ鍵で逆方向にずらして復号する。この共有された鍵は対称暗号のミニチュラ版である。

English 日本語
security/sɪˈkjʊərɪti/ セキュリティ
privacy/ˈprɪvəsi/ プライバシー
integrity/ɪnˈteɡrɪti/ 完全性
unauthorised/ʌnˈɔːθəraɪzd/ 不正アクセス
encryption/enˈkrɪpʃn/ 暗号化
backup/ˈbækʌp/ バックアップ
user accounts/ˈjuːzə əˈkaʊnts/ ユーザーアカウント
audit logs/ˈɔːdɪt lɒɡz/ 監査ログ
ciphertext/ˈsaɪfətekst/ 暗号文
access rights/ˈækses raɪts/ アクセス権限
anti-spyware/ˈænti ˈspaɪweə/ アンチスパイウェア
biometrics/ˌbaɪəʊˈmetrɪks/ 生体認証
6.2

データの整合性

シラバス
受験者は以下的能力を備えているべきである: メモおよびガイドライン
データ検証およびデータ確認がデータの完全性をどのように守るかを説明する
データ検証の方法を説明し、使用する 範囲チェック, 形式チェック, 長さチェック, 存在チェック, 有効性チェック, 限度チェック, チェックディジット を含む
データ入力およびデータ転送中にデータ確認の方法を説明し、使用する データ入力中には視覚チェック, ダブルエントリ データ転送中にはパリティチェック(バイトおよびブロック), チェックサム を含む

出典: Cambridge International シラバス

データが正確で完全であれば、それは整合性があります。2つの技法:データ検証(保存前に不良データを検出)およびデータ照合(データが入力または転送されたことが正しいことを確認)。

検証 — データに意味がありますか?

検証は、データが妥当なルールに従っているかを自動的にチェックします:

  • 範囲チェック — 限界内にあるか(例: 月は1〜12)。
  • 制限チェック — 単一の限界値の正しい側にあるか(例: 年齢 ≥ 18)。
  • 存在チェック — 参照されている項目が存在するか(例: 商品コードがテーブル内にある)。
  • 長さチェック — 適切な文字数か。
  • タイプ / 文字種チェック — 適切なデータ種別か(電話番号フィールドは数字のみ許可)。
  • 形式チェック — パターンに一致するか(メールアドレスには @ が含まれる必要がある)。
  • 存在チェック — 必須フィールドが空になっていないか。
  • チェックデジット — 他の桁から計算される追加の桁(ISBN、カード番号など)。転記誤りを検出します。

** worked example.** 単純なチェック数字方式では、チェック数字は桁の和を$10$で割った余りであり、番号に追加される。番号$4162$の桁の和は$13$であるため、$41623$として保存される。ユーザーが$14623$を入力した場合:最初の2桁は入れ替わるが、和は依然として$13$であるため、チェック数字も一致し、エラーは検出されない。ユーザーが$41523$を入力した場合、$4 + 1 + 5 + 2 = 12$によりチェック数字が$2$となるため、エラーは検出される。重み付け方式は、この無重み規則では見逃される置換の一部を検出できる。検出は重み付け、位置、および剰余(モジュラス)に依存する。例えば、ISBN-13ルールでは、あり得る置換すべてを検出できない。チェック数字は検証であり、入力された瞬間にルールに基づいて番号がテストされる。

  • 照合チェック および 整合性チェック(例:配送日 ≥ 注文日)。

検証(バリデーション)は、正しくない形式のデータを検出できるが、形式は正しいものの事実上誤っているデータ(「Bib」の代わりに「Bob」と入力など)は検出できない。

計算例。 各擬似コードが実行する検証チェックを特定せよ。

擬似コード チェック
IF x < 0 OR x > 10 THEN OUTPUT "Invalid" 範囲チェック: 値が2つの境界値の間にあること
IF x = "" THEN OUTPUT "Invalid" 存在チェック: フィールドが空白でないこと
IF NOT(x = "Red" OR x = "Yellow" OR x = "Blue") THEN OUTPUT "Invalid" 照合(存在)チェック: 値がリストに含まれること
IF LENGTH(x) <> 6 THEN OUTPUT "Invalid" 長さチェック: 必要な文字数が正しいこと
IF MID(x, 1, 1) < "A" OR MID(x, 1, 1) > "Z" THEN OUTPUT "Invalid" 形式チェック: 特定の位置の文字がアルファベットであること

必須が「1文字+3桁+2文字」である車番を検証する場合、形式チェックで各位置のパターンを確認し、長さチェックで全6文字であることを確認する。生年月日を検証する場合、形式チェック(DD/MM/YYYY)、範囲チェック(月が $1$ から $12$ 、年は未来ではない)、存在チェック(空白でない)を行う。$0$ とテストの最大値の間の得点には、整数であることを確認するタイプチェックと、テスト自身のレコードから読み取られる上限値を用いる範囲チェックが必要である。このように、あり得ないデータは拒否することで、検証はデータの完全性を保護する。

検証 — データが入力または転送されたか?

検証は、データが場所間移動中に改変されていないかをチェックする。

During entry: double entry (type it twice and compare, as for a new password) or visual check.

方式の定義によると、二重入力とは、同じ人または2人の人がデータを2回入力させ、コンピュータが両方のバージョンを比較して相違点を報告することである。視覚的チェックとは、人が画面に表示された内容と元資料を比較し、保存前に相違点を修正することである。どちらも保存されたデータが元資料と一致することを担保することで、データの完全性を保護する。検証および検証(ベンチマーク)の後も、データは誤りを含む可能性がある。元資料と一致し妥当な値であっても、元資料自体が間違っていた場合や、意図した値とは異なるが有効な値を入力してしまった場合である。

転送時(ビットの反転が発生する可能性):

  • パリティチェック — 余分なビットにより 1 の個数を偶数(偶パリティ)または奇数にする。受信側が再カウントする。単一ビット誤りを検出する。
  • チェックサム — 送信側がデータの要約値を送信し、受信側がそれを再計算して比較する。
  • 巡回冗長検査 (CRC) — 多項式除法を用いた強力なチェックサムで、より多くの種類のエラーを検出する。

パリティブロックチェックはさらに進み、エラーの位置を特定する。バイトをグリッドに配置し、各バイトに行パリティビットを与え、その上のバイトの列パリティのビットを持つ追加のパリティバイトを1つ計算する。単一ビットの反転は、1つの行と1つの列の両方でパリティエラーを引き起こす。その交点がちょうどどのビットが変化したかを指し示すため、修正することも可能である。

計算例。 偶パリティで4バイトを送信し、その後にパリティバイトが続く。破損したビットを特定せよ。

偶パリティ下での4つの受信バイトとパリティバイトのグリッド(パリティビットは先頭列にあり、3番目のバイトの行に5つの1、4番目の列に3つの1があり、どちらも奇数であるため、交点のビットが反転したビットとして印されている)
パリティブロックチェック:失敗する行と失敗する列が交差する地点が反転したビット

各行および各列の1の数を数える。各行・各列とも偶数個であるべきだが、3番目のバイトに5個、4番目の列に3個ある。その行とその列の交点のビットが変化したビットであるため、1から0へリセットされる。単独のパリティチェックではバイト内のエラーは検出できるが、どのビットが変化したかは分からない。同じバイト内で2つのエラーが発生すると互いに相殺され、検出されずに通過してしまう。チェックサム(3点満点の解答例):送信側がデータブロックをアルゴリズムに通してチェックサム値を生成し、データと共に送信する。受信側は受け取ったデータに同じアルゴリズムを適用し、2つのチェックサムが一致すればデータを受容し、不一致であれば拒否して再送信させる。

The same seven data bits shown twice: a 0 parity bit gives four 1s for even parity, a 1 parity bit gives five 1s for odd parity
パリティビットは1の数を偶数または奇数にするために設定される
送信側がチェックサムを計算してデータブロックと共に送信し、受信側が再計算して比較する様子(Byte Sum Mod 256の計算例付き)
データブロックのチェックサムの算出

検証(ベンチマーク)は、送られたものが届いたものと一致することを証明するだけであり、データが正しいことを保証したり、意図的な改ざんを防いだりするものではない。検証(バリデーション) は「これは妥当か?」と問いかけ、検証(ベンチマーク) は「これは正しくコピーされたか?」と問いかける。両方を使用すべきである。

この表は、データ入力中(二重入力と視覚チェック)やデータ転送中(パリティチェック(バイトまたはブロック)とチェックサム)など、各手法が使用されるタイミング別に整理しています。カメラからサーバーへ動画ファイルを転送する際はチェックサムを使用します:カメラで計算し、サーバーでも再計算して比較し、一致しない場合は再送信を行います。

左右に配置:検証(Validation)は「このデータは妥当か?」と問い、範囲、型、形式といったルールを保存前に確認して無意味なデータを捕らえます;照合(Verification)は「正しくコピーされたか?」と問い、二重入力、パリティ、チェックサムを用いてコピーミスを検出します
検証(Validation)はデータの妥当性を確認し、照合(Verification)は変換なく正しくコピーされたかを確認します

Worked example. A user types their date of birth as 31/02/2009, and types their email address twice. Which check catches which error, and what is the difference? Validation asks "is this data sensible?" - the computer tests it against a rule, and a format or range check rejects 31/02/2009 because February never has 31 days. Verification asks "was this data entered correctly?" - typing the email twice is double entry, and comparing the two copies catches a typing slip. The limit is what makes this a favourite question: validation can never tell you the data is right, only that it is possible - 01/02/2009 passes every validation rule even if the user was actually born on a different day. Say what each check can and cannot catch.

セキュリティ回答におけるプロキシサーバー

プロキシサーバーはクライアントの代わりにリクエストを処理する。組織はこれを設定して、ウェブサイトへのアクセスをフィルタリングしたり、リクエストをログにしたり、応答をキャッシュしたりする。設定された保護機能を説明せよ。単にプロキシの名前を挙げるだけでは、どのように指定された脅威を防ぐかが示されない。ルーターはネットワーク間でパケットを転送するが、これらの役割は異なる。

探索

コンピューティング概念ラボ

具体的な例を、それが示すコンピューティングのアイデアに基づいて分類せよ。

English 日本語
validation/ˌvælɪˈdeɪʃn/ 検証
verification/ˌverɪfɪˈkeɪʃn/ 確認
parity check/ˈpærɪti tʃek/ パリティチェック
checksum/ˈtʃeksəm/ チェックサム
cyclic redundancy check/ˈsaɪklɪk rɪˈdʌndənsi tʃek/ 巡回冗長検査
parity block check/ˈpærɪti blɒk tʃek/ パリティブロックチェック
レッスンを視聴
6.2

出題者が認める定義

定義問題は固定された用語に基づいて採点されます。これらを正確に覚えてください。

用語 定義
データセキュリティ データを紛失や不正アクセス、変更、削除から守ること
データプライバシー データを機密保持し、権限のある者以外に見られないようにすること
データ完全性 データが正確で、一貫性があり、完全であること
マルウェア ユーザーの同意なしにインストールされ、システムを損傷させたりデータを盗み出したりする悪意のあるソフトウェア
バイパス 自身を複製し、他のファイルに付着してデータを破損または削除するマルウェア
スパイウェア ユーザーのキー入力を記録したり操作を追跡したりして、第三者に送信するマルウェア
フィッシング 正規組織からのメールを装い、ユーザーを偽サイトへ誘導して個人情報を収集する行為
ファーミング 正しいアドレスを入力してもユーザーを偽サイトへリダイレクトする悪意のあるコード
ファイアウォール ハードウェアまたはソフトウェアで、システムに入力・出力される全トラフィックを設定された基準に基づき検査し、基準を満たさないものをブロックする
暗号化 キーを用いてデータをランダムな暗号文に変換し、復号鍵がなければ解読できないようにすること
デジタルサインチャ メッセージのハッシュ値を送信者の秘密鍵で暗号化したもので、送信者であることを証明し、改ざんされていないことを示すために使用されます
データ検証 入力されたデータが合理的であり、設定されたルールに従っているかを自動で確認すること
データ照合 元データとの比較や再計算により、データが正しく入力または転送されたかを確認すること
チェックディジット 数字の他の桁から計算され、末尾に追加される余分な桁で、数字のエラーを検出するために用いられます
パリティチェック バイトに追加される余分なビットで、1の個数を偶数(または奇数)にし、受信側が再確認するためのものでした
チェックサム アルゴリズムによってデータブロックから計算され、ともに送られ、受信側で再計算・比較される値
6.2

試験対策

  • 3つの概念を明確に区別する:セキュリティ(データの安全確保)、プライバシー(誰が見られるか)、完全性(データの正確性の維持)。
  • 各脅威(マルウェア、ハッキング、フィッシング、傍受)に対応する対策(ファイアウォール、暗号化、認証、アクセス権限)を対応させる。
  • 暗号化は機密性を保護しますが、完全性は保護しません——完全性にはチェックサム、パリティ、チェックディジットを使用する。
  • ウイルス、ワーム、トロイの木馬の違いと、それぞれがどのように拡散するかを区別する。

一般的なミス

  • 2つの脅威に同じ対策を当てはめる、または、該当しない対策を選ぶ。表の各脅威に対しては、実際にそれを阻止できる異なる防止策が必要である。
  • 対策名のみを挙げて動作を説明しない。「ファイアウォール」は、「トラフィックを設定された基準と比較し、基準を満たさないものをブロックする」と続いた場合に得点される。
  • 検証(validation)を「データが正しいかを確認するチェック」と呼ぶ。検証はデータが妥当かどうかを確認し、照合(verification)は元データと一致するかを確認する。どちらも真実であることを保証するものではない。
  • デジタル署名がメッセージを暗号化すると述べるのは誤りである。メッセージハッシュを秘密鍵で暗号化し、受信者は公開鍵で復号してハッシュを比較する。
  • チェックディジットを照合、またはパリティチェックを検証と誤認する。チェックディジットは入力時の検証ルールであり、パリティやチェックサムは転送後の照合に用いられる。
  • ウイルスは複製する;スパイウェアは記録する - 定義においてこれらを混同してはいけない。

このトピックのインタラクティブ授業

一歩ずつ進め、即時チェック付きの問題で学習します。

過去問

A-Levelコンピュータ科学 の他のトピック

ログインまたはアカウント作成

IGCSE, A-Level & AP