課題Ⅱ 第4編① 技術的セキュリティ対策の基礎知識

情報システムにおける技術的セキュリティ対策は、個人情報を守るための根幹です。暗号化技術、認証技術、アクセス制御、そしてネットワークセキュリティの4つの柱を体系的に理解することが、個人情報保護士認定試験の課題IIで求められます。この編では、暗号の仕組みから鍵管理、ハッシュ関数、電子署名、PKI、SSL/TLS、各種認証方式、アクセス制御モデル、そしてファイアウォールやIDS/IPS、VPNまでを網羅的に扱います。
Technical security countermeasures in information systems are the foundation for protecting personal information. A systematic understanding of four pillars -- encryption technology, authentication technology, access control, and network security -- is required for Task II of the Certified Personal Information Protection Specialist examination. This section comprehensively covers cipher mechanisms, key management, hash functions, digital signatures, PKI, SSL/TLS, various authentication methods, access control models, and firewalls, IDS/IPS, and VPN.
暗号化技術
共通鍵暗号(対称鍵暗号)
共通鍵暗号(対称鍵暗号)は、暗号化と復号に同じ鍵を使用する方式です。現在の標準はAES(Advanced Encryption Standard)で、鍵長は128ビット、192ビット、256ビットの3種類から選択できます。かつての標準であったDES(Data Encryption Standard)は鍵長がわずか56ビットであり、現在は安全ではないとされています。3DES(トリプルDES)はDESを3回繰り返すことで安全性を高めたものですが、処理速度が遅く、AESへの移行が進んでいます。共通鍵暗号の最大の利点は処理速度の速さですが、鍵の配送問題(相手にどうやって安全に鍵を届けるか)が根本的な課題です。
Shared-key encryption (symmetric-key encryption) uses the same key for both encryption and decryption. The current standard is AES (Advanced Encryption Standard), with key lengths selectable from 128, 192, or 256 bits. DES (Data Encryption Standard), the former standard, has a key length of only 56 bits and is now considered insecure. 3DES (Triple DES) enhanced security by repeating DES three times, but it is slow and migration to AES is underway. The greatest advantage of symmetric encryption is processing speed, but the key distribution problem (how to securely deliver the key to the other party) is a fundamental challenge.
公開鍵暗号(非対称鍵暗号)
公開鍵暗号(非対称鍵暗号)は、暗号化に公開鍵、復号に秘密鍵と、異なる2つの鍵を使用します。代表的なアルゴリズムにRSAがあり、鍵長は2048ビット以上が推奨されています。楕円曲線暗号(ECC)は、RSAより短い鍵長で同等の安全性を実現できるため、モバイル端末やIoT機器で注目されています。公開鍵暗号は鍵の配送問題を解決しますが、共通鍵暗号に比べて処理速度は大幅に遅くなります。
Public-key encryption (asymmetric-key encryption) uses two different keys: a public key for encryption and a private key for decryption. A representative algorithm is RSA, and key lengths of 2048 bits or more are recommended. Elliptic Curve Cryptography (ECC) can achieve equivalent security with shorter key lengths than RSA, making it attractive for mobile terminals and IoT devices. Public-key encryption solves the key distribution problem, but processing speed is significantly slower compared to symmetric encryption.
ハイブリッド暗号方式
ハイブリッド暗号方式は、公開鍵暗号と共通鍵暗号の長所を組み合わせた方式です。まず公開鍵暗号を使って共通鍵(セッション鍵)を安全に交換し、その後の実際のデータ通信は高速な共通鍵暗号で行います。SSL/TLSがこの方式の代表的な実装です。
The hybrid encryption method combines the strengths of public-key and shared-key encryption. First, public-key encryption is used to securely exchange a shared key (session key), and then the actual data communication is performed using fast shared-key encryption. SSL/TLS is a representative implementation of this method.
ハッシュ関数
ハッシュ関数は、任意の長さのデータから固定長のハッシュ値(メッセージダイジェスト)を生成する一方向関数です。重要な性質は3つあります。第一に一方向性(ハッシュ値から元のデータを復元できない)、第二に固定長出力(入力の長さに関係なく同じ長さの出力)、第三に衝突耐性(異なる入力から同じハッシュ値が生成されにくい)です。現在の標準はSHA-256やSHA-3で、MD5やSHA-1は衝突脆弱性が発見され非推奨です。
A hash function is a one-way function that generates a fixed-length hash value (message digest) from data of arbitrary length. There are three important properties. First, one-wayness (the original data cannot be restored from the hash value). Second, fixed-length output (the same output length regardless of input length). Third, collision resistance (it is difficult for different inputs to produce the same hash value). Current standards are SHA-256 and SHA-3; MD5 and SHA-1 are deprecated due to discovered collision vulnerabilities.
電子署名
電子署名は、送信者が自分の秘密鍵でメッセージのハッシュ値に署名し、受信者が送信者の公開鍵で検証する技術です。電子署名は3つの機能を提供します。第一に改ざん検知(データが途中で変更されていないことの確認)、第二に本人確認(送信者が確かに本人であること)、第三に否認防止(送信者が後から「送っていない」と主張できなくなる)です。
A digital signature is a technology where the sender signs the hash value of a message with their private key, and the recipient verifies it with the sender's public key. Digital signatures provide three functions. First, tamper detection (confirming that data has not been altered in transit). Second, identity confirmation (that the sender is indeed who they claim to be). Third, non-repudiation (the sender cannot later claim they did not send it).
PKI(公開鍵基盤)
PKI(公開鍵基盤)は、公開鍵の信頼性を担保するための仕組みです。認証局(CA)は電子証明書を発行し、登録局(RA)は申請者の本人確認を担当します。電子証明書はX.509形式が標準で、所有者の公開鍵、有効期限、発行者情報などが含まれます。証明書の失効確認には、CRL(証明書失効リスト)や、リアルタイムで確認できるOCSP(Online Certificate Status Protocol)が使われます。
PKI (Public Key Infrastructure) is a mechanism for guaranteeing the reliability of public keys. A Certificate Authority (CA) issues digital certificates, and a Registration Authority (RA) handles identity verification of applicants. Digital certificates use the X.509 format as standard, containing the owner's public key, validity period, issuer information, and more. For certificate revocation checking, CRL (Certificate Revocation List) and OCSP (Online Certificate Status Protocol), which allows real-time checking, are used.
SSL/TLS
SSL/TLSは、インターネット上の通信を暗号化するプロトコルで、ハイブリッド暗号方式を採用しています。ハンドシェイク過程では、サーバが電子証明書(サーバ証明書)を提示し、クライアントがCAの公開鍵で検証した後、セッション鍵を交渉します。現在はTLS 1.2とTLS 1.3が有効なバージョンであり、SSL 3.0やTLS 1.0/1.1は脆弱性のため無効化が推奨されています。HTTPS(HTTP + TLS)は、個人情報を取り扱うウェブサイトで必須とされています。
SSL/TLS is a protocol that encrypts internet communication, adopting the hybrid encryption method. During the handshake process, the server presents a digital certificate (server certificate), the client verifies it with the CA's public key, and then they negotiate a session key. Currently TLS 1.2 and TLS 1.3 are the valid versions; SSL 3.0 and TLS 1.0/1.1 are recommended to be disabled due to vulnerabilities. HTTPS (HTTP + TLS) is considered essential for websites handling personal information.
認証技術
認証の3要素
認証技術は、利用者が正当な本人であることを確認する仕組みであり、3つの要素に分類されます。知識要素(something you know)はパスワードやPIN、秘密の質問など本人だけが知っている情報です。所有物要素(something you have)はICカードやセキュリティトークンなど本人だけが持っている物です。生体要素(something you are)は指紋や虹彩など本人の身体的特徴です。
Authentication technology is a mechanism for confirming that a user is the legitimate person, and is classified into three factors. The knowledge factor (something you know) is information only the person knows, such as passwords, PINs, and secret questions. The possession factor (something you have) is something only the person has, such as IC cards and security tokens. The biometric factor (something you are) is the person's physical characteristics, such as fingerprints and irises.
知識認証と攻撃手法
知識認証の代表であるパスワード認証は、最も普及した方法ですが、多くの攻撃手法に晒されます。ブルートフォース攻撃は全ての組み合わせを試す総当たり攻撃、辞書攻撃はよく使われる単語リストを使う手法、レインボーテーブル攻撃は事前計算されたハッシュ値の対応表を使う手法です。対策として、パスワードの複雑性要件(大文字・小文字・数字・記号の混合)、ソルト付きハッシュ保存、一定回数失敗時のアカウントロックが有効です。
Password authentication, the representative of knowledge-based authentication, is the most widespread method but is exposed to many attack techniques. Brute-force attacks try all combinations exhaustively; dictionary attacks use lists of commonly used words; rainbow table attacks use pre-computed hash correspondence tables. As countermeasures, password complexity requirements (mixing uppercase, lowercase, numbers, and symbols), salted hash storage, and account lockout after a certain number of failures are effective.
所有物認証
所有物認証には、ICカード認証、ワンタイムパスワード(OTP)、セキュリティトークン、SMS認証などがあります。ワンタイムパスワードには時刻同期方式のTOTP(Time-based OTP)と、イベント同期方式のHOTP(HMAC-based OTP)があります。TOTPは現在の時刻に基づいて一定間隔(通常30秒)で変化するパスワードを生成し、Google AuthenticatorやMicrosoft Authenticatorで広く利用されています。SMS認証はSIMスワップ攻撃のリスクがあるため、TOTPへの移行が推奨される傾向にあります。
Possession-based authentication includes IC card authentication, one-time passwords (OTP), security tokens, and SMS authentication. One-time passwords include TOTP (Time-based OTP) using time synchronization and HOTP (HMAC-based OTP) using event synchronization. TOTP generates passwords that change at fixed intervals (usually 30 seconds) based on the current time, and is widely used in Google Authenticator and Microsoft Authenticator. SMS authentication carries the risk of SIM swap attacks, so there is a trend toward recommending migration to TOTP.
生体認証
生体認証は、個人の身体的特徴を使った認証方式で、指紋認証、虹彩認証、静脈認証、顔認証、声紋認証などがあります。精度を測る指標として、FAR(他人受入率 -- False Acceptance Rate)とFRR(本人拒否率 -- False Rejection Rate)があります。FARが低いほどセキュリティが高く、FRRが低いほど利便性が高くなります。この2つはトレードオフの関係にあり、閾値を厳しくするとFARは下がるがFRRは上がります。
Biometric authentication is an authentication method using individual physical characteristics, including fingerprint, iris, vein, facial, and voiceprint authentication. Metrics for measuring accuracy include FAR (False Acceptance Rate -- other person acceptance rate) and FRR (False Rejection Rate -- identity rejection rate). The lower the FAR, the higher the security; the lower the FRR, the higher the convenience. These two have a tradeoff relationship: tightening the threshold lowers FAR but raises FRR.
多要素認証(MFA)
多要素認証(MFA)は、異なるカテゴリの認証要素を2つ以上組み合わせる方式です。重要なのは「異なる」カテゴリである点です。パスワード+秘密の質問は、両方とも知識要素なのでMFAではありません。パスワード(知識)+ワンタイムパスワード(所有物)のように異なるカテゴリを組み合わせて初めてMFAとなります。2要素認証(2FA)はMFAの最も一般的な形態です。
Multi-factor authentication (MFA) is a method that combines two or more authentication factors from different categories. The key point is that they must be from "different" categories. Password + secret question is NOT MFA because both are knowledge factors. It only becomes MFA when different categories are combined, such as password (knowledge) + one-time password (possession). Two-factor authentication (2FA) is the most common form of MFA.
アクセス制御
DAC(任意アクセス制御)
DAC(任意アクセス制御)は、資源の所有者が自らの判断でアクセス権を設定するモデルです。ファイルの所有者が他の利用者に読み取りや書き込みの権限を与える、WindowsやLinuxの標準的なファイル権限システムが該当します。柔軟性が高い反面、所有者の判断に依存するためセキュリティ水準にばらつきが生じます。
DAC (Discretionary Access Control) is a model where the resource owner sets access rights at their own discretion. Standard file permission systems in Windows and Linux, where file owners grant read or write privileges to other users, fall under this category. While flexibility is high, security levels can vary because they depend on the owner's judgment.
MAC(強制アクセス制御)
MAC(強制アクセス制御)は、システムがセキュリティラベル(機密区分)と利用者のクリアランス水準に基づいてアクセスを強制的に制御するモデルです。個々の利用者が権限を変更することは許可されず、軍事・政府機関などの高セキュリティ環境で採用されます。
MAC (Mandatory Access Control) is a model where the system compulsorily controls access based on security labels (confidentiality classifications) and user clearance levels. Individual users are not permitted to change permissions, and it is adopted in high-security environments such as military and government organizations.
RBAC(ロールベースアクセス制御)
RBAC(ロールベースアクセス制御)は、役割(ロール)に権限を割り当て、利用者にロールを付与するモデルです。例えば「経理担当」ロールに経費精算システムのアクセス権を定義し、該当する社員にそのロールを付与します。人事異動時はロールの付け替えだけで済むため、管理効率が高いのが特徴です。企業の情報システムで最も広く採用されているモデルです。
RBAC (Role-Based Access Control) is a model that assigns privileges to roles and grants roles to users. For example, access rights to the expense settlement system are defined for the "accounting staff" role, and that role is granted to applicable employees. During personnel transfers, only the role reassignment is needed, making management efficiency a key characteristic. It is the most widely adopted model in enterprise information systems.
最小権限・職務分掌・Need-to-Know
アクセス制御を支える重要な原則が3つあります。最小権限の原則(Principle of Least Privilege)は、業務に必要な最低限の権限だけを付与し、不要な権限は与えない原則です。職務分掌(Separation of Duties)は、重要な処理を一人で完結させず、複数人に分担させることで不正を防止する原則です。Need-to-know原則は、業務上知る必要がある情報にのみアクセスを許可する原則で、個人情報の取り扱い範囲を限定する際に特に重要です。
There are three important principles supporting access control. The Principle of Least Privilege grants only the minimum privileges necessary for business operations and does not give unnecessary privileges. Separation of Duties prevents fraud by having important processes shared among multiple people rather than completed by one person alone. The Need-to-Know principle permits access only to information that is necessary to know for business purposes, and is especially important when limiting the scope of personal information handling.
ネットワークセキュリティ
ファイアウォールの種類
ファイアウォールは、ネットワーク間の通信を制御する装置で、いくつかの種類があります。パケットフィルタリング型はOSI参照モデルの第3層(ネットワーク層)と第4層(トランスポート層)でIPアドレスやポート番号に基づいて通信を許可・拒否します。ステートフルインスペクション型は通信の状態(コネクション情報)を追跡し、正当な応答パケットのみを通過させます。アプリケーションゲートウェイ(プロキシ)型は第7層(アプリケーション層)で通信内容を検査します。NGFW(次世代ファイアウォール)はこれらの機能に加えて、アプリケーション識別やIPS機能を統合した高度な製品です。
A firewall is a device that controls communication between networks, and comes in several types. Packet filtering type permits or denies communication at OSI reference model Layer 3 (network layer) and Layer 4 (transport layer) based on IP addresses and port numbers. Stateful inspection type tracks communication state (connection information) and allows only legitimate response packets to pass. Application gateway (proxy) type inspects communication content at Layer 7 (application layer). NGFW (Next-Generation Firewall) is an advanced product that integrates application identification and IPS functions in addition to these capabilities.
IDS vs IPS
IDS(侵入検知システム)は不正なアクセスを検知して管理者に通報しますが、自動遮断は行いません。IPS(侵入防止システム)は検知に加えて自動的に通信を遮断します。検知方式には、既知の攻撃パターンと照合するシグネチャベースと、通常の通信パターンからの逸脱を検知するアノマリベースがあります。設置場所により、ネットワーク型(NIDS/NIPS)とホスト型(HIDS/HIPS)に分類されます。ネットワーク型はネットワーク上の通信を監視し、ホスト型は個々のサーバ上で動作します。
IDS (Intrusion Detection System) detects unauthorized access and notifies the administrator, but does not automatically block it. IPS (Intrusion Prevention System) automatically blocks communication in addition to detection. Detection methods include signature-based, which matches against known attack patterns, and anomaly-based, which detects deviations from normal communication patterns. By installation location, they are classified into network-type (NIDS/NIPS) and host-type (HIDS/HIPS). Network-type monitors communication on the network, while host-type operates on individual servers.
WAF
WAF(ウェブアプリケーションファイアウォール)は、ウェブアプリケーションに特化した防御装置です。SQL注入(SQLインジェクション)、クロスサイトスクリプティング(XSS)、クロスサイトリクエストフォージェリ(CSRF)などのウェブ特有の攻撃を検知・遮断します。通常のファイアウォールやIPSでは防げないアプリケーション層の攻撃に対応できるのが特徴です。個人情報を扱うウェブサービスでは、WAFの導入が強く推奨されます。
WAF (Web Application Firewall) is a defense device specialized for web applications. It detects and blocks web-specific attacks such as SQL injection, cross-site scripting (XSS), and cross-site request forgery (CSRF). Its distinguishing feature is the ability to handle application-layer attacks that regular firewalls and IPS cannot defend against. For web services handling personal information, WAF deployment is strongly recommended.
SQLインジェクション対策:プレースホルダ/バインド変数/プリペアドステートメント
SQLインジェクション対策の根本は、ユーザー入力を文字列連結でSQL文に組み込まないことです。文字列連結では入力内の引用符やセミコロンがSQLの構文として解釈されてしまい、攻撃者が任意のSQL文を実行できる余地が生まれます。これに対し、プレースホルダ(疑問符「?」や「:name」など)を用いたプリペアドステートメント(準備済みSQL文)とバインド変数機構を使用すると、SQL文の構造(構文木)は事前にデータベースサーバ側で解析・確定され、後から束縛される値は純粋に単なるデータとしてのみ扱われます。その結果、入力に引用符や「OR '1'='1'」のような文字列が含まれていてもSQL文の構造を変更できず、インジェクションが原理的に成立しません。入力値の検証(バリデーション)や特殊文字のエスケープも補助的に有効ですが、漏れが発生しやすいため、プレースホルダ/バインド変数を用いたプリペアドステートメントが第一の対策としてIPAの「安全なウェブサイトの作り方」でも推奨されています。
The fundamental SQL injection countermeasure is not embedding user input into SQL statements via string concatenation. With string concatenation, quotation marks and semicolons within input get interpreted as SQL syntax, leaving room for attackers to execute arbitrary SQL statements. In contrast, when prepared statements (pre-prepared SQL statements) using placeholders (such as the question mark "?" or ":name") and the bind variable mechanism are used, the SQL statement structure (syntax tree) is parsed and finalized in advance on the database server side, and the values bound later are treated purely as mere data. As a result, even if input contains quotation marks or strings like "OR '1'='1'", they cannot alter the SQL statement structure, and injection cannot be established in principle. Input validation and escaping of special characters are also auxiliary effective measures, but omissions readily occur, so prepared statements using placeholders/bind variables are recommended as the primary countermeasure even in IPA's "How to Create Safe Websites."
DMZ(非武装地帯)
DMZ(非武装地帯)は、外部ネットワーク(インターネット)と内部ネットワーク(社内LAN)の間に設置する緩衝地帯です。ウェブサーバやメールサーバなど、外部に公開する必要があるサーバをDMZに配置することで、万が一サーバが侵害されても内部ネットワークへの直接的な被害を防ぎます。
A DMZ (Demilitarized Zone) is a buffer zone placed between the external network (internet) and the internal network (company LAN). By placing servers that need to be publicly accessible, such as web servers and mail servers, in the DMZ, direct damage to the internal network is prevented even in the unlikely event that a server is compromised.
VPN
VPN(仮想専用ネットワーク)は、公衆ネットワーク上に暗号化された安全な通信経路を構築する技術です。IPsec VPNはOSI第3層で動作し、拠点間接続(site-to-site)に適しています。SSL-VPNは第4〜7層で動作し、ウェブブラウザだけで利用できるため、リモートアクセス用途に広く普及しています。在宅勤務で個人情報を取り扱う場合、VPNによる通信の暗号化は必須です。
VPN (Virtual Private Network) is a technology that constructs an encrypted, secure communication path over a public network. IPsec VPN operates at OSI Layer 3 and is suitable for site-to-site connections between bases. SSL-VPN operates at Layers 4-7 and is widely used for remote access because it can be used with just a web browser. When handling personal information during remote work, encryption of communication via VPN is essential.