基本情報処理試験(FE)対策 勉強会

令和3年2月に、会社の1年生がIPA基本情報処理勉強を予定しており、対策講義を行った。今回は、その対策講義中に出た過去問の解説など、備忘のため控えておく。

対策

データベース

(平成22年秋期 午後問題 問2より)

  • 正規化

    • 正規化とは? → データの一貫性の維持と効率的なデータアクセスを可能にする関係設計へ導くための方法。
    • 第1正規形~第3正規形 まとめ

      正規形 要点 大事なこと
      第1 繰り返し部分が取り除かれたもの 各繰り返し部分に1つずつ独立したレコードを作り、横方向の長さを統一する
      第2 第1正規形の表から、部分関数従属(※)している列が切り出されたもの
      ※複合キーの一部の項目だけで、列の値が一意に定まる関係のこと
      第1正規形にて明細が繰り返される度に重複していたデータを分離する
      第3 第2正規形の表から、主キー以外の列に関数従属している列が切り出されたもの 更に分離できる部分を分離する
    • 具体例:【関係データベースの正規化】第1正規形・第2正規形・第3正規形について紹介
    • 練習問題:工業大学生ももやまのうさぎ塾
    • 注意:問題の「表」の中身が重複していないからといって、一意列とは限らない。値だけに惑わされず、項目の「意味」を把握すること。
  • SQL.テーブル結合の書き方

    • FROM句でJOINするだけではなく、WHERE句でも指定できる。次の2つは同じである。
      • SELECT * FROM TBL1 INNER JOIN TBL2 ON TBL1.COLA = TBL2.COLA
      • SELECT * FROM TBL1 ,TBL2 WHERE TBL1.COLA = TBL2.COLA
  • その他 SQL.抽出条件

    • INは 複数の値を指定する
      • SELECT * FROM TBL1 WHERE COL1 IN (100,200,350)
        ※(COL1 = 100 OR COL1 = 200 OR COL1 = 350 )と同じ
    • LIKEは 近似値の抽出
      • SELECT * FROM CUSTOMER WHERE NAME LIKE '%田%'
        → 秋田 かずえ、田村 ゆみ、合田 など。
        ※'%田'は後方一致、'田%'は全法一致となる

法務

  • 派遣先企業と労働者との関係
    • 決められた予算で開発する「請負契約」と、作業時間に応じて費用が支払われる「準委任契約」「派遣契約」がある。
      • 「請負契約」→成果責任「準委任」「派遣」→役務
      • 「派遣」は発注元が労働者に指示できるが、「準委任」はできない(指揮命令系統の違い)「準委任」は発注先の管理者が指示する。
      • 「請負契約」は「瑕疵担保責任」(バグ修正等、原則1年)があり、「準委任」は「善管注意義務」(良なる理者の~)がある。
    • 参考URL:請負契約と準委任契約と派遣契約の違いとは?

ネットワーク

  • サブネットマスク(255.255.255.0など)

    • 4オクテットからなるIPアドレスを「ネットワーク部」(グループ)と「ホスト部」(本来のアドレス)に切り分けるためのもの。先頭ビットから、マスクでビット(1)表記された範囲までが、ネットワーク部となる。
      • IPアドレス192.168.57.123、サブネットマスク255.255.252.0の場合
        • サブネット 255.255.252.0 → 11111111.11111111.11111100.00000000
        • IPアドレス 192.168.57.123 → 11000000.10101000.00111001.01111011
          → ネットワーク(下線部)192.168.57.0 である
    • ホスト部のうち、2つのIPアドレスは使用できない。
      • ホスト部が 0 → ネットワーク部自体を示す(上の例では 192.168.57.0)
      • ホスト部が 全て 1 → ブロードキャストアドレス
        (上の例では 192.168.59.255 = 11000000.10101000.00111011.11111111
  • CIDR表記(サイダー。『IPアドレス/xx』)

セキュリティ

  • 外部攻撃のリスク

    • デフォルトのポート番号を使ったサービスを外部にさらした状態にしておくことは危険。特に、著名なアンノウンポートである、22(SSH)など。不要であれば、ファイアウォールで塞ぐ、ポート番号を変更するなど。
  • ファイアウォール

    • 特定のIPアドレス・ポートを対象とした通信を「許可」または「遮断」する防壁機能。PCに設定するタイプ(Windows Defender Firewall等)の他、ネットワーク自体に機器として設置されるもの(ネットワークFW)がある。
  • デジタル署名の流れ(A さん to B さん)

    • デジタル署名の生成(A さん)
      1. 署名したいメッセージから、ハッシュ関数を使ってダイジェストを生成します。
      2. 生成したダイジェストを自分の秘密鍵で暗号化します。
      3. メッセージと生成した署名を B さんに送信します。
    • デジタル署名の検証(B さん)
      1. 受信したメッセージから、ハッシュ関数を使ってダイジェストを生成します。
      2. 受信したデジタル署名を、A さんの公開鍵を使って復号します。
      3. 1 において生成したダイジェストと 2 で復号したダイジェストを比較し、完全に一致することを確認します。
    • 参考URL:IPA ISEC 2.4デジタル署名
  • SSL通信の流れ

    1. クライアントがサーバに接続を要求
    2. サーバがクライアントに、サーバ証明書 + 公開鍵を提供
    3. クライアントが 共通鍵を生成
    4. クライアントが 公開鍵を使って共通鍵を暗号化し、サーバに送付。
    5. サーバ
    6. 参考URL:Alpha SSL SSL/TLS暗号化通信の流れ