7月15日
応用情報
データリンク層の制御とプロトコル
複数のデータを1つのケーブルを通して送受する場合、データの衝突(コリジョン)を回避するための制御が必要となる。
CSMA/CD
インサーネットで採用されているメディアアクセス制御方式で、衝突検知方式を採用している。
各ノードは伝送媒体が使用中かどうかを調べて、使用中でなければデータの送信を開始する。
複数のノードが同時に通信を開始するとデータの衝突が起こる。
衝突を検知し、一定時間待った後で、再送する。
一定の距離以上のケーブルでは衝突が検知できない。
トラフィックが増加するにつれて衝突が多くなり、再送が増え、さらにトラフィックが増加するといった悪循環に陥るかのうせいがある。伝送路の使用率が30%超えると実現できなくなる。
トークンバッシング方式
ネットワーク上をフリートークンと呼ばれる送信権のためのパケットが巡回する。
フリートークンを獲得したノードのみが送信を行うので衝突を回避できる。
トラフィックが増加するにつれトークンを獲得しにくくなり、徐々に遅延時間が増加する。
TDMA方式
ネットワークを利用できる時間を細かく区切り、割り当てられた時間は各ノードが独占する方式。
データリンク層の主なプロトコル
ARP(Address Resolution Protocol)
通信相手のIPアドレスからMACアドレスを取得するためのプロトコル。
手順
ブロードキャストを利用し、目的IPアドレスを指定したARP要求パケットをLAN全体に流す。
各ノードは、自分のIPアドレスと比較し、一致したノードだけがARP応答パケットに自分のMACアドレスを入れてユニキャストで返す。
RARP
MACアドレスからIPアドレスを取得するためのプロトコル。
PPP
2点間をポイントツーポイントで接続するためのデータリンクプロトコル。WANを介して2つのノードをダイヤルアップで接続するときに使用される。
PPPOE
PPPと同等な機能をイーサネット上で実現するプロトコル。
IEEE 802.3規格
OSI基本参照モデルにおけるデータリンク層と物理層のプロトコル及びサービスを対象とする規格。具体的には、データリンク層をLLC層とMAC層の2つに分割する。
POE
機器への給電を、電力線ではなくLANケーブルで行う技術。
リンクアグリゲーション
ネットワーク機器間を複数の物理回線で結び、回線を束ねて高速化する技術。
1000BASE-T
ツイストペアケーブルを用いて1000MBPSの通信速度を実現するギガビットイーサネットの仕様。
1000BASE-x
光ファイバをもちいて、、、
atcoder
考え方
nこの数列の間はn-1こある。それぞれ+があるかないかの2たくなのでビット全探索をつかう
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// S の全区切り位置の 0/1 パターンで全列挙
int main() {
string S;
cin >> S;
int n = S.size();
long long answer = 0;
// 区切りのパターン分
for (int bit = 0; bit < (1 << (n-1)); ++bit) {
long long sum = 0;
long long now = 0;
for (int i = 0; i < n; ++i) {
now = now * 10 + (S[i] - '0');
if ((bit >> i) & 1 || i == n-1) {
sum += now;
now = 0;
}
}
answer += sum;
}
cout << answer << endl;
}
マジ疲れたいろいろと。あしたはテスト頑張る。まじで朝を大切にしたいと思う。7/15 23:50
7月16,17,18、19
応用情報
IP
ネットワーク層のプロトコル。次の技術を持つ。
・パケット通信技術
・コネクションレス型通信
・IPアドレスを使った経路制御を行う
IPアドレス
ネットワーク層のプロトコルIPで利用されるノードを特定するためのアドレス。
NIC(ネットワークインフォメーションセンター)が割り当てなどの管理を行っている。
IPアドレスは、ネットワークアドレス部とホストアドレス部から構成される。
ネットワークアドレス部・・・それぞれのネットワークを一意に識別するためのネットワークアドレスを表す部分。
ホストアドレス部・・・同じネットワークに属するノードを一意に識別するためのホストアドレスを表す部分。
従来IPネットワークでは、IPアドレスをその先頭4ビットまでの値によって4つの種類に分けるアドレスクラスという概念が採用されていた。
クラスA 先頭ビット・・・0
同一ネットワーク内IPアドレス数 16777214
クラスB 先頭ビット・・・10
同一ネットワーク内IPアドレス数 65534
クラスC 先頭ビット・・・110
同一ネットワーク内IPアドレス数 254
クラスD 先頭ビット・・・1110
マルチキャスト用のアドレス
ホストアドレスがすべて0のアドレスは、ネットワーク自体を指すネットワークアドレス。
ホストアドレスがすべて1のアドレスはネットワーク内のすべてのノード宛を示すブロードキャストアドレス。
ループバックアドレス
127.0.0.1は自分自身を表すIPあどれす。
インターネットに接続されたノードに一意に割り当てられたIPアドレスをグローバルIPアドレスという。組織内のみで通用するIPアドレスをプライベートIPアドレスという。
ユニキャスト・・・単一の送信先を指定して行う通信
ブロードキャスト・・・ネットワークに属しているノード全体に対して行う通信。
マルチキャスト・・・指定した複数の送信先に対して同一データを送る通信。
サブネットマスク
1の部分がネットワークアドレス部。0の部分がホストアドレス部。
CIDR・・・IPアドレスの効率的な運用を促進するために考えられたもの。サブネットマスクによりネットワークアドレス部をネットワークサイズに応じた任意の長さに変更可能になった。
スーパーネット化・・・連続するネットワークを束ねて1つの集約したネットワークにさくせいすることができる。
IPv6
IPアドレスを128ビットへと拡張し、家電なとへもIPアドレスを採番する道をひらきました。
セキュリティ機能としてIPsecに標準対応となっている。
IPSEC・・・ネットワーク層で暗号化や認証、改ざん検出を行うセキュリティ。
IPV6アドレスは3種類に分類される。
ユニキャストアドレス・・・1つのノードに対して送信を行うためのアドレス。
エニーキャストアドレス・・・2つ以上のノードに割り当てたアドレス。
マルチキャストアドレス・・・複数の送信先に対して同一のデータを送る。
アドレス変換技術
各組織に1つのIPアドレスがあれば、IPアドレスをわりあてられていないノードからもインターネットに接続できるといった技術がある。
NAT・・・グローバルIPアドレスとプライベートIPアドレスを1対1で相互に変換する。
NAPT・・・1つのグローバルIPアドレスで、プライベートIPアドレスをもつ複数のノードが同時にインターネットに接続できる。
ICMP
IPパケットの送信処理におけるエラーの通知や制御メッセージを転送するためのプロトコル。
ICMPを利用しているコマンドにPINGがある。あるノードがIPによって他のノードときちんとむすばれているかを、確かめるコマンド。
トランスポート層はIPを補完し、データ送信の品質や信頼性を向上させるための層で、プロトコルにはTCPやUDPがある。
TCP
下位層に位置するIPがデータ通信の安全性を保障しないコネクションレス型通信であることから、その補完のために送達管理、伝送管理の機能を持ったコネクション型プロトコル。
TCPヘッダの主な項目
シーケンス番号・・・TCPスタックが上位層からデータを受け取ったとき、そのサイズが受信可能な最大セグメントサイズ(MSS)より大きい場合はTCPセグメントの最大長に収まるよう分割が行われる。シーケンス番号は、分割前はどの部分だったのかを表す数値。
ACK番号・・・ACK応答時に利用される、次に受信すべきシーケンス番号
TCPでのコネクション確立
コネクション確立要求パケット(SYN)と確認応答パケット(ACK)のやり取りを行う3ウェイハンドシェイクを行う。
UDP
コネクションレス型通信であるため、TCPでやりとりしていたシーケンス番号やACK番号などの情報は扱わない。
トランスポート層には、もう1つ、アプリケーション間の通信を実現するという役割がある。各アプリケーションは、トランスポート層のヘッダにある
メールプロトコル
メールを配信する仕組みは、メールを送信・転送するプロトコルSMTPと、メールサーバからメールを受け取るプロトコルPOP3が中心となってできている。
POP3に通信を暗号化するTLSを組み合わせたPOP3Sの利用が求められている。またモバイル環境を意識したIMAP4もある。サーバ側でメールを管理するので、ダウンロードせずに見るだけのプロトコル。
HTTP
WEBサーバとWEBクライアント間でHTMLなどのWEB情報をやりとりするためのプロトコル。
WEBDAV
WEBサーバ上のファイルの管理ができるようにHTTPを拡張したプロトコル。従来はFTPなどがつかわれたきたが、これによりHTTP/HTTPSだけでファイル管理が可能になり、ファイアウォールを通過させるプロトコルの削減なども実現できる。
HTTPS
HTTPに伝送データの暗号化、デジタル署名、及び認証機能を付加したプロトコル。
WEBSOCKET
クライアントWEBサーバ間で双方向通信を行うための技術。
COOKIE
WEBサーバがクライアントの中に情報を保存しておくための仕組み。
DHCP
TCP/IPを利用する環境では、それぞれのノードがIPアドレスをほじすることが通信の絶対条件。ノードへのIPアドレスの割り当てを自動的に行うプロトコルがDHCP。
各メッセージのやりとりの流れ(DORA)
Discover(発見)
クライアント → ネットワーク(ブロードキャスト): サーバー探索
Offer(提供)
サーバー → クライアント: IPアドレス等を提案
Request(要求)
クライアント → サーバー: オファー内容をリクエスト(通常ブロードキャストで送信)
Acknowledge(承認)
サーバー → クライアント: 割り当て完了を通知
DNS
TCP/IPでは、各ノードに対して一意なIPアドレスが割り当てられています。しかし、IPアドレスは覚えにくいことから、IPアドレスと対応する別名であるドメイン名がつけられた。
例えば WWW.ghyou.co.jp だと
日本の 営利組織の(co)技術評論社にある(gihyo)というホスト(WWW)
DNSレコードとはDNSに保存されている名前解決情報のこと。
DNSラウンドロビン
1つのドメインにたいして複数のIPアドレスを登録し、名前解決のたびに、応答するIPアドレスを順番に変えることで負荷分散を図る。
ゾーン・・・DNSサーバがドメインを管理する範囲。
自らのゾーンのDNSレコードを保持したDNSサーバをコンテンツサーバ(権威サーバ)という。
キャッシュサーバ・・・再帰的な名前解決機能に加え、一度調べた問い合わせ結果(DNSレコードなど)を一定期間キャッシュ(保存)し、同じクエリがきたときは速やかにキャッシュから応答できるDNSサーバです。
リゾルバ・・・ドメイン名をIPアドレスに変換するプログラムやシステム全般のことを指します
SOAP(simple object access protocol)
ソフトウェア同士がメッセージを交換するためのプロトコル。XMLを利用する。
SNMP(simple network management protocol)
ネットワーク上にある機器を監視し管理するためのプロトコル。
インターネット上の電話サービス
voipはIPネットワークで音声をやり取りするための技術。
インターネット上での電話サービスを実行するには、電話回線網と同等のサービスを提供しなければならない。このうち電話番号とIPアドレスの対応管理や帯域管理、セッションの開始と終了を担当するのがSIPサーバ。
voipゲートウェイ・・・アナログ音声通信をデジタル信号に符号化したり、複合する装置。
伝送技術
誤り検出により再送を行う方法
・パリティチェック
7ビットのデータを送信する場合、8ビット目に誤り検出用のパリティビットをふかしてデータの整合性を検査する。
・CRC
巡回冗長検査の意味。送信するデータに生成多項式を適用して誤り検出用の冗長データを作成し、それを付けて送信する。
誤り訂正により自己修復を行う方法
・ハミング符号
情報ビットに対して検査ビットを付加することで、2ビットまでの誤り検出と、1ビットの誤り自動訂正機能を持つ誤り制御方式。
送信側と受信側でタイミングを合わせる必要がある。この時行われのが同期制御という。
・キャラクタ同期方式
送信側が送信データの最初にSYNコードという同期をとるための特別なコードを2個以上続けて送信する方式。
・フラグ同期方式
送信したいデータの前後にフラグという特別なビット列を挿入して同期をとる方式。
・調歩同期方式
7ビットあるいは8ビットの固定長ブロックの前後にスタートビット0とストップビット1を付加して送信する方式。
データを伝送する際に、伝送する相手の状態を確認しながら行うことを伝送制御という。
HDLC(higth level data link control)
高い信頼性を追求したフラグ同期方式を採用した伝送制御手順
パケット交換方式
通信を行うノード間で物理的な通信路を確保してから通信を開始しますが、パケット交換方式ではこれを行わない。データの送信を行うノードは、データをパケットと呼ばれる単位に区切り、1つ一つのパケット宛先情報を付けて送信します。
回線交換方式・・・電話などをはじめとする、二者間で回線を確保したまま行う通信方式。
ATM交換方式
遅延のない回線交換方式とパケット交換方式の利点のみを享受する目的で考えられたのがATM技術。パケット交換機において生じる遅延の原因の1つとして、パケットの多様性があげられる。ATMではパケットの長さをヘッダ部5バイト ペイロード48バイトの53バイトに統一しでパケット解析に複雑なソフトウェアは不要になり、ハードウェアによる高速な処理を実現している。
フレームリレー
パケット交換方式の一種で、フロー制御や再送制御などの処理を簡略化した方式。これにより通信のオーバヘッドが低下し、伝送効率が向上しました。フレームリレーが、1本の回線に複数の仮想回線を確立してフレームの多重化を可能にします。仮想回線では、DLDCと呼ぶ識別子を用いて通信相手先を識別し、フレームを転送します。
1つの回線を多数のユーザで共有して利用します。これは、回線がもつ潜在的な伝送能力(ワイヤースピード)を十分に引き出すうえで効果がありますが、逆にユーザの利用が一時的に集中すると、ワイヤースピードを超えるパケットがネットワーク上に流れることがある。この状態を輻輳と呼び、スループットが落ちる。スループットが低下しても最低限保証する通信速度を定めている。これがCIRです。
フロー制御・・・送信するデータ量や間隔を相手の処理速度や回線の品質によって調節すること。
MTU
パケットはどんな大きさで送ってもよいわけではない。一般的にはMTUという値で最大パケット長を定めている。
無線LANとは、一般には、IEEE 802.11シリーズの規格に準拠した機器で構成されるネットワークのことをいう。
デジタルデータをアナログデータに変換する際には、搬送波と呼ばれる信号に変調を加えてデジタルデータの0と1に対応させます。
この変調方式にOFDMが用いられる。
OFDM・・・周波数の異なる複数の搬送波を使って、パケットを並列に送受信することで伝送効率を上げる技術。
CSMA/CA方式
無線LANでは、CSMA/CA方式によって通信を制御している。
RTS/CTS
無線LANノードは、データを送信する前にRTS(request to send)をアクセスポイントに送信し、これを受理したアクセスポイントがCTS(clear to send)を返信する。
atcoder
#include <iostream>
using namespace std;
int main() {
string S;
cin >> S; // 4桁の数字文字列 (例: "1222")
int A = S[0] - '0';
int B = S[1] - '0';
int C = S[2] - '0';
int D = S[3] - '0';
char ops[2] = {'+', '-'};
for (int i = 0; i < 2; ++i) { // op1
for (int j = 0; j < 2; ++j) { // op2
for (int k = 0; k < 2; ++k) { // op3
int result = A;
result += (ops[i] == '+') ? B : -B;
result += (ops[j] == '+') ? C : -C;
result += (ops[k] == '+') ? D : -D;
if (result == 7) {
// 出力の例: 1+2+2+2=7
cout << A << ops[i] << B << ops[j] << C << ops[k] << D << "=7" << endl;
return 0;
}
}
}
}
// 問題の条件から、必ず答えがあるのでここには到達しない
}
#include <iostream>
using namespace std;
int main(){
int D, G, p[11], c[11];
cin >> D >> G;
for(int i = 0; i < D; ++i){
cin >> p[i] >> c[i];
}
int ans = 1e9;
for(int mask = 0; mask < (1 << D); ++mask){
int s = 0, num = 0, rest_max = -1;
for(int i = 0; i < D; ++i){
if(mask >> i & 1){
s += 100 * (i+1) * p[i] + c[i];
num += p[i];
}else{
rest_max = i;
}
}
if(s < G){
int s1 = 100 * (rest_max + 1);
int need = (G - s + s1 - 1) / s1;
if(need >= p[rest_max]){
continue;
}
num += need;
}
ans = min(ans, num);
}
cout << ans << endl;
}
7/20 11:35
7月20 一周間の復習
7月21,22月
atcoder
考え方
肉焼き器が2つあるので2のn乗でビット全探索。もし1なら1つ目の肉焼き機、0なら2つ目の肉焼き器。
#include <iostream>
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include<queue>
#include<stack>
#include<set>
using namespace std;
#define rep(i,n) for(int i=0;i<n;++i)
#define ll long long
int main(){
int n;
cin>>n;
vector<int>t(n);
rep(i,n)cin>>t[i];
int cnt=1e9;
for(int i=0;i<(1<<n);++i){
int ans=0;int ans1=0;
for(int j=0;j<n;++j){
if(i>>j&1)ans+=t[j];
else ans1+=t[j];
}
cnt=min(cnt,(max(ans,ans1)));
}
cout<<cnt<<"\n";
return 0;
}
考え方
ビット全探索ですべての集合を見る。
#include <iostream>
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include<queue>
#include<stack>
#include<set>
using namespace std;
#define rep(i,n) for(int i=0;i<n;++i)
#define ll long long
int main(){
int n, m;
cin >> n >> m;
vector<vector<bool>> g(n, vector<bool>(n, false));
for (int i = 0; i < m; ++i) {
int a, b;
cin >> a >> b;
--a; --b;
g[a][b] = g[b][a] = true;
}
int res = 1;
for (int bit = 0; bit < (1 << n); ++bit) {
vector<int> grp;
for (int i = 0; i < n; ++i)
if (bit >> i & 1) grp.push_back(i);
bool ok = true;
for (int i = 0; i < grp.size(); ++i)
for (int j = i + 1; j < grp.size(); ++j)
if (!g[grp[i]][grp[j]]) ok = false;
if (ok) res = max(res, (int)grp.size());
}
cout << res << endl;
return 0;
}
7/23 14:15
7月23,24,25
応用情報
情報システムの運用には、盗聴、改ざん、なりすまし、否認などのリスクがある。
共通暗号鍵方式
・暗号と複合のルールとキーが同一
・送信者と受信者は同じキーをもつ
最も代表的な実装方法はDESです。キーによる変換を16回繰り返す。
後継として登場したのがAES。
公開鍵暗号方式
・暗号鍵(公開鍵)は広く一般に公開し、誰でも暗号化できる。
・受信者は、送信者が増えても、秘密鍵を1つもっていればよいので、鍵管理の負担が少ない。
・共通鍵暗号方式に比べて、暗号化、複合の処理に時間がかかる。
代表的な方式はRSA。
ハイブリット暗号方式
公開鍵暗号方式と共通鍵暗号方式をくみあわせた方式。
データ本文のやり取りには処理時間の短い共通鍵暗号方式を利用し、共通鍵の受け渡しには公開鍵暗号方式を利用することで、速度と強度の両方を確保します。
無線LANの暗号
・WEP
IEEE802.11が規格化された当初に策定された、初期の無線LANセキュリティ規格。暗号鍵として、パケットごとに異なるIVに、アクセスポイントごとに設定された40ビットまたは104ビットのWEPキーを連結したもの。
・WPA(WI-FI protected Access)
暗号化方式には、WEPと同じ暗号化アルゴリズムRC4を用いたTKIPを採用している。IVを48ビットに拡張して、IVとWEPキーを混在させたり、また定期的に暗号化鍵を更新するなどの工夫で安全性を高めている。
・WPA2
暗号化方式にCCMPを採用している。
WPAとWPA2では、パーソナルモードとエンタープライズモードを使い分けることができる。
・パーソナルモード
PSK認証と呼ばれる認証方式が使われている。これは事前鍵共有方式で、アクセスポイントとクライアントに設定した8~63文字のパスフレーズとSSIDによって認証を行います。主に家庭での仕様を想定したモード
・エンタープライズモード
主に企業のような大規模環境での使用を想定したモード。
認証にはIEEE802.1X規格を利用します。
IEEE802.1Xの構成3要素
・サプリカント
認証を要求するクライアント
・オーセンティケータ
認証要求を受けつける機器
・認証サーバ(RADIUSサーバ)
利用者の識別、認証、権限管理を行うことアクセスコントロールという。
アクセスコントロールを実装したシステム構成を認証システムという。
チャレンジレスポンス認証
クライアントがユーザIDを送信する
サーバはチャレンジコードをクライアントに送信する。
クライアントはハッシュ値をサーバに返信する。
ハッシュ関数
あるデータを元に一定長の疑似乱数を生成する計算手順。
シングルサイオン
ユーザ認証を一度だけ行うことで、許可された複数のサーバへのアクセスついても認証する技術。
・cookie
サーバが認証のための情報を生成してクライアントに送信する。クライアントはこれを保存し、他のサーバへはこの認証情報を自動的に送ることで、認証をうけることができる仕組み。
・リバースプロキシ型
ユーザはリバースプロキシサーバにアクセスし、認証を受ける。
リーバスプロキシサーバとは内部サーバの代理として、クライアントからの要求にこたえるサーバ。
・SAML型
アプリケーション認証を行うためのXML仕様です。
電話回線などの公衆回線網を通じて、遠隔地から会社などのLANやコンピュータに接続し、ファイルへのアクセスやコンピュータの操作を行う技術をリモートアクセスという。
リモートアクセスとして使われるPPPは、電話回線で2点間の通信を行うためのデータリンク層のプロトコルで、HDLC手順がベースになっている。NCPは上位プロトコルに対応したモジュールを使ってネットワーク層プロトコルの設定をネゴシエーションします、LCPでは認証や暗号化の有無などを相手ノードとネゴシエーションします。
RASIUS認証システム
リモートアクセスにおける脆弱性にアクセスサーバのセキュリティがある。アクセスサーバは外界に対してアクセス経路を開いており、認証のためのユーザIDやパスワード情報が蓄積されているため、クラッキング時の被害が大きくなる。
RASIUSはこの脆弱性を緩和するために、アクセスサーバと認証を行うサーバを分離したモデルであり、両サーバ間で認証及びアカウンティング情報をやり取りするプロトコルである。
クラッキング・・・悪意を持ってコンピュータに不正侵入し、データを盗み見たり破壊したりする行為。
IEEE802.1X
イーサネットや無線LANにおけるユーザ認証のための規格。認証の仕組みとしてRADIUSを採用し、認証プロトコルにはPPPを拡張したEAPが使われる。
デジタル署名
本人の秘密鍵を使用して、メッセージやファイルなどの電子文書に付加する電子的なデータのことです。
公開暗号鍵を応用することでなりすましの防止と電子文書が改ざんされていないことを検証する機能を提供します。
デジタル署名では、送信者が、署名用の秘密鍵と検証用の公開鍵のペアを作る。
送信者が、電子文書に対して秘密鍵を適用しデジタル署名を生成します。受信者は、送信者の公開鍵を用いてデジタル署名を検証します。こうすることで、ペアである公開鍵を検証できる署名を作れるのは、秘密鍵をもった本人だけなので、確かに本人が作った署名であることが確認できる。
実際にデジタル署名を使う場合には、平分に対してハッシュ演算を行い、メッセージの要約をえてデジタル署名を生成します。
PKI(公開鍵基盤)
ネットワーク上で利用される公開鍵が、本人と結びつけられた正当なものであることを第三者機関の介入より効率的に証明する必要がある。そのために利用されるモデルがPKIである。
認証局
PKIでは、第三者機関である認証局(CA)が認証局地震のデジタル署名を施したデジタル証明書を発行し、公開鍵の真正性を証明します。
認証局は、証明書の目的や利用用途を定めたCPと、CAの認証業務の運用などに関する詳細を定めたCPSを規定し、対外的に公開することで、認証の利用者に対して、信頼性や安全性などを評価できるようにしています。
有効期限内に何らかの理由で失効させられたデジタル証明書のリストをCRLという。
セキュリティ実装技術
SSL/TLSは、通信の暗号化、改ざん検出、サーバの認証を行うことができるセキュアプロトコル。アプリケーション層のHTTP、SMTP、POPなど様々なプロトコルの下位に位置して、上記のきのうを提供します。
TLSでの通信
ハンドシェイクとデータの伝送の2つの部分に分けることができる。
・ハンドシェイク
サーバを認証して暗号鍵っを作るためのステップ。
TLSでの目的
・サーバを認証する。
・利用する暗号アルゴリズムとプロトコルバージョンを決める
・暗号化鍵を作り、共有する。
・データの伝送
送信データにMACと呼ばれる認証符号を付加し、送信データとMACを暗号化して送信すること。
認証局に発行してもらうサーバ証明書には、その認証の厳しさに応じて DV証明書、OV証明書、EV証明書の三種類がある。
ファイアウォール
インターネットなどのリモートネットワークと社内LANなどのローカルネットワークの境界線に設置し、不正なデータの通過を阻止するもの。
DMZ・・・ファイアウォールの内側と外側という2つのエリアに対して追加される第3のエリア。
ファイアウォールは一定の規則(フィルタリングルール)に従ってパケットの通過/不通過を決定します。
主な方式には、パケットのIPアドレスやポート番号を検査してフィルタリングを行うパケットフィルタリング型と、アプリケーション層の内容までを検査してフィルタリングを行うアプリケーションゲートウェイ型がある。
パケットフィルタリング型
主な特徴
・IPアドレス・ポート番号・プロトコルといった「ヘッダ情報」を基準にフィルタリングを行う。
・許可された通信のみネットワーク内外に通すことで、不正なアクセスを遮断。
・シンプルな仕組みで高速処理が可能。
・ただし、パケット内容までは精査しないため、偽装パケットやアプリケーション層の攻撃は検出しづらいという弱点もある。
アプリケーションゲートウェイ型
主な特徴
・HTTPやFTPなどアプリケーションごとに通信内容を細かくチェックできる。
・内部ネットワークは直接外部と接続せず、ファイアウォールが仲介するため“内部の隠蔽性”も強い。
・メールやウェブへのアクセスなど、攻撃や不正なコンテンツを詳細に制御できる。
両者の違い・使い分け
パケットフィルタリング型は高速かつシンプルで、基本的なネットワーク保護に向く。
アプリケーションゲートウェイ型はより高度なセキュリティ・きめ細かなアクセス制御が必要な場面に有効。
現代のセキュリティ対策では、それぞれの特徴を組み合わせた多層防御もよく用いられます
パケットフィルタリング型ファイアウォールは次の2つにおおきくわけられる。
・スタティックパケットフィルタリング
事前に定めたフィルタリングルールに従って検査する
・ダイナミックパケットフィルタリング
通信の文脈など流動的な情報でけんさを行う
アプリケーションゲートウェイ型ファイアウォールのうち特にHTTPを扱うものをぷろきしさーばとよぶことがある。
なお、インターネットからのアクセスをWEBサーバに中継するものをリバースプロキシサーバという。
WAF(WEB application Firewall)は、WEBアプリケーションのやり取りを監視し、アプリケーションレベルの不正なアクセスを阻止するファイアウォール
PCとWebサーバ間でHTPPSなどTLSをりようした暗号化通信をする場合、TLSの処理すなわち暗号化と複合処理がWEBサーバにとって大きな負担になる。そこでTLSアクセラレータをつかう。暗号化と複合の処理をTLSアクセラレータに肩代わりさせることでWEBサーバの負担を軽減できる。
システムに対する侵入/侵害を検出・通知するIDS(侵入検知システム)などがある。
不正検知方法
・シグネチャ方式・・・シグネチャと呼ばれるデータべース化された既知の攻撃パターンと通信パケットとのパターンマッチングによって不正なパケットを検出する。
・アノマリー方式・・・正常なパターンを定義し、それに反するものをすべて以上だとみなす方式。
正常なものを不正だと誤認識してしまうフォールポジティブ、ま、これとは反対に不正なものを正常だと判断してしまうフォールスネガティブといった問題が起こりえる。
VPNは、インターネットなどの共有回線を専用線のように使う技術。アクセスが許可されたユーザ以外は通信内容にアクセスできないようにする。
VPNを実装するための2つのモード
・トランスポートモード
通信を行う端末が直接データの暗号化を行う。ペイロードのみ暗号化。宛先の盗聴が可能。
・トンネルモード
間の通信を暗号化する。
VPNを実装するプロトコル
VPNを構築する際に利用されるネットワークそうのセキュリティがIPSECです。IPレベルで暗号化や認証、改ざんの検出を行う。通常のIPでは利用しないパラメータをいろいろ交換する。この情報はIPヘッダには入りきらないため、IPSEC用の情報が入るフィールドが別に用意される。
認証だけなら認証ヘッダ。
認証と暗号化を行う場合は暗号ペイロードをもちいる。
IPSECでは通信を開始する前に、暗号化方式の決定と鍵交換を行う。これを行うフェーズをIKE(internet key exchange)フェーズという。
情報セキュリティのとらえ方
情報セキュリティの目的は、情報を保全し、安全に企業業務を遂行することにある。
JIS Q 27000:2019では、情報セキュリティを、情報の機密性、完全性及び可用性を維持することとしている。
情報セキュリティの3つの特性
・機密性
許可されていない個人、エンティティまたはプロセスに対して、情報を使用させず、また開示しない特性。
・完全性
正確さ及び完全さの特性
・可用性
認可されたエンティティが要求したときに、アクセス及び使用が可能である特性。
脅威の種類
脅威とは、システムまたは組織に損害を与える可能性がある要因のことで、結果的に組織が保有する情報資産にたいして害を及ぼすものをいう。
情報漏洩防止を目的としたツールにDLP(Data Loss PREvention)がある。DLPは、データそのものを守るというもの。
コンピュータウイルス対策基準では、次の3つの機能のうち1つ以上を有する加害プログラムをコンピュータウイルスと定義している。
・自己伝染機能
自らの機能によって他のプログラムに自らをコピーしまたはシステム機能を利用して自らをほかのシステムにコピーすることにより、他のシステムに伝染する機能。
・潜伏機能
発病するための特定時刻、一定時間、処理回数等の条件を記憶させて、発病するまで症状をださない機能。
・発病機能
プログラム、データ等のファイルの破壊を行ったり、設計者の意図しない動作をする等の機能。
セキュリティ対策ソフト
シグネチャとよばれる、マルウェアの特徴を記述したデータベースをもち、ローカルノードに流れこむデータを監視する。
セキュリティパッチ
Osやアプリケーションなどにセキュリティホールがあった場合、開発元からそれらを修正するためのプログラムが配布される。この配布される修正プログラムのこと。
なお、セキュリティパッチが提供される前に、パッチが対象とする脆弱性を悪用する攻撃をゼロディ攻撃という。
セキュリティホール・・・セキュリティ上の弱点
セキュリティ対策ソフトを使用したマルウェア検出方法は、パターンマッチングと呼ばれる方法。
マルウェアの検出方法
・コンペア法
マルウェアの感染が疑わしい検査対象のハッシュ値と、安全な場所に保管されている原本のハッシュ値を比較する。
・チェックサム法
マルウェアに感染していないことを保証する情報をあらかじめ検査対象に付加しておき、検査時に不整合があればマルウェアとして検出する。
・ビヘイビア法
検査対象を仮想環境(サンドボックス)で実行してその挙動を監視し、マルウェアによくみられる行動を起こせばマルウェアとして検知する方法。
標的型攻撃メール
マルウェアの感染経路の1つにメールがある。標的型攻撃メールとは、情報窃取など悪意の目的のために、特定の組織に送られてくるメール。添付ファイルにマルウェアを仕込んで送ってきたり、悪意のあるサイトに誘導しマルウェアに感染させたりする仕掛けが施されている。
第三者のパスワードを不正に割り出すことをパスワードクラックという。
パスワードは、一般的にハッシュ化されて保存されているため、これを盗んでもパスワードの復元は困難です。攻撃者は、膨大な数のパスワード候補と、それに対するハッシュ値の対応表を事前に作成します。そして、この対応表を使って、不正に入手したハッシュ値からパスワードを見つけだす。これをレインボーテーブル攻撃。
パスワードにソルト(十分な長さをもつランダムな文字列)を加えてハッシュ化する方法がある。そうするとレインボーテーブルの作成を困難にする。
攻撃者の行動は、事前準備→攻撃→目的実行の3段階に大別できる。
ポートスキャンとは、コンピュータの各ポートにたいして通信を試みて、その返答から、ポートの開閉や、開いてるポートで稼働しているサービス及びバージョンなどを特定する行為。
情報セキュリティ管理
JIS Q 31000:2019では、リスクマネジメントをリスクについて、組織を指揮統制するための調整された活動と定義し、下記の3つを網羅するプロセス全体がリスクアセスメントであるとしている。
・リスク特定
資産および組織の資源の性質及び価値、結果及び結果が目的に与える影響などを考慮し、組織の目的の達成を妨害するまたは助ける可能性のあるリスクを発見し、認識する。
・リスク分析
必要に応じてリスクのレベルを含め、リスクの性質及び特徴を理解する。
・リスク評価
リスク分析の結果と確立されたリスク基準との比較を行い、各リスクに対して対応の要否を決定する。
リスク分析の目的は、組織の情報資産のリスクを明らかにしたうえで、それが起こった時の損失程度、損失額、業務への影響はどのくらいなのかを見極め、リスクによる損失を最小に抑えること。
リスク評価では、どのリスクが目的達成の最も危うくするのか、また、複数のリスクについて、どう優先順位をつけて対応していけば、目的達成の可能性を最も高められるのかを明らかにしていきます。
リスク評価の結果、明らかになったリスクに対して、どのような対応をとるべきかを、明確にするプロセスがリスク対応。
セキュリティ評価の標準化
ISO/IEC150408は、情報システムを構成する機器がどれだけのセキュリティを実装しているかを示すための国際基準
組織のセキュリティ運用体制を規定するのが、ISMSの規格群です。ISMS(情報セキュリティマネジメントシステム)とは、組織体における情報セキュリティの水準を高め、維持し、改善していく仕組みのこと。
ンM