eil20080630

情報リテラシー実習
Exercise in Information Literacy
§20 ネットワークの利用
§27 ftpとtelnet
§29 安全な通信
ネットワークとは
p. 302
コンピュータどうしを接続したもの
コンピュータからコンピュータへ「情報」を送
れるようになる
いくつかのコンピュータの間で仕事を分散
ファイルを共有
電子メールを交換
…
ネットワークの用語
p. 302
ホストマシン(ホスト)
ネットワークに接続されている個々のコンピ
ュータ
それぞれのホストには、ホスト名という名前
がつけられる
現在自分がログインしているホストのホスト
名は、hostnameコマンドによって知ること
ができる
ネットワークの用語
p. 303
ローカルホスト
ネットワークを通して何らかの遠隔操作をす
る場合、仕事を依頼する(ユーザに近いほう
の)ホスト
リモートホスト
ネットワークを通して何らかの遠隔操作をす
る場合、仕事を引き受ける(ユーザから遠い
ほうの)ホスト
ネットワークの状況を調べる
p. 303
uptimeコマンド
ホストの現在の状況を調べる
$ ssh st100.st.cs.kumamoto-u.ac.jp uptime
09:00 up 12 days, 1:41, 1 users,
load average: 1.82, 1.82, 1.84
現在の時刻
システムが稼動し続けている期間
現在ログインしているユーザの数
過去1、5、15分のシステムの平均
負荷
ネットワークの状況を調べる
pp. 303~304
usersコマンド
ホストに現在ログインしているユーザを調べ
る
$ ssh st100.st.cs.kumamoto-u.ac.jp users
iga
リモートログイン
pp. 304~305
sloginコマンド
あるホストからネットワーク接続されている
別のホストへとログインする
$ slogin st100.st.cs.kumamoto-u.ac.jp
リモートホストでのユーザ名がローカルホス
トとは異なる場合
$ slogin –l iga st100.st.cs.kumamoto-u.ac.jp
または
$ slogin [email protected]
リモートログイン
p. 305
リモートログインの中断
リモートホストからログアウトすることなく、
リモートログインを中断してもとのローカル
ホストへ制御を戻す
local$ slogin remote
「~」を入力し、
remote$ ~^Z [suspend ssh]
「C-z」を入力
[1]+ Stopped slogin remote
local$ fg
slogin remote
remote$
遠隔コマンド実行
pp. 307~308
sshコマンド
ネットワークに接続された他のホストでコマ
ンドを実行する
$ ssh st100.st.cs.kumamoto-u.ac.jp who
リモートホストとローカルホストでユーザ名
が異なる場合
$ ssh st100.st.cs.kumamoto-u.ac.jp –l iga who
または
$ ssh [email protected] who
遠隔コマンド実行
p. 309
sshとリダイレクションの組み合わせ
リモートホストで実行されたコマンドの出力
をローカルホストのファイルに出力
local$ ssh remote command > file
リモートホストで実行されたコマンドの出力
をリモートホストのファイルに出力
local$ ssh remote command ’>’ file
または
local$ ssh remote ’command > file’
ファイルの転送
pp. 309~310
scpコマンド
ネットワークに接続されたあるホスト
(remote1)にあるファイル(/.../file1)を
別のホスト(remote2)へ転送(/.../file2)
local$ scp remote1:/…/file1 remote2:/…/file2
remote1のホームディレクトリにあるfile1
をremote2のホームディレクトリにfile2と
いう名で置く
local$ scp remote1:file1 remote2:file2
ファイルの転送
pp. 310~311
scpコマンド
ローカルホストのCWDにあるfile1をリモー
トホストのホームディレクトリのfile2という
ファイルにコピー
local$ scp file1 remote:file2
リモートホストのユーザigaのホームディレ
クトリの下にあるdirというディレクトリを
ローカルホストのCWDに再帰的にコピー
local$ scp –r iga@remote:dir .
ネットワーク越しの対話
talkコマンド
(省略)
pp. 311~312
ネットワーク越しの対話
pp. 312~313
writeコマンド
ログイン中の他のユーザに(一方的に)メッ
セージを送(りつけ)る
kain@local$ write abel
hello
this is a test
^D
kain@local$
Message from kain@local
on pts/1 at 9:28 ...
hello
this is a test
EOF
abel@local$
ネットワーク越しの対話
p. 313
mesgコマンド
他のユーザからのtalkやwriteを受けつける
(mesg y)/拒否する(mesg n)
引数を指定しないで実行すると、現在の設定
を表示する
「mesg n」を指定している相手にメッセー
ジを送ろうとしても、実行できない
「mesg n」を指定しているユーザからも、
他のユーザに対してwriteを実行できない
ftp
p. 496
ftp(file transfer program)
FTP(file transfer protocol)によるファ
イル転送を行う
UNIXだけでなく、PC用OSなど、さまざま
なシステムで利用可能
リモートホストに接続してからそのホストに
あるファイルの一覧を見ることができるので、
どんなファイルがあるのか調べながら転送で
きる
ftp
pp. 496~497
ftpコマンド
aeg00033@cnt3000$ ftp st100.st.cs.kumamoto-u.ac.j
...
Name (cnt3000.el.kumamoto-u.ac.jp:aeg00033): iga
331 Password required for iga
Password: ********
230 User iga logged in.
Remote system type is UNIX.
Using binary mode transfer files.
ftp>
...
ftp> quit(またはbye)
ftp(リモート⇒ローカル)
p. 498
getサブコマンド
指定されたリモートファイルをローカルホス
トに転送し、指定されたファイル名のファイ
ルに格納
ftp> get remotefile [localfile]
mgetサブコマンド
指定された複数のリモートファイルをローカ
ルホストに転送。ワイルドカードを用いるこ
ともできる
ftp> mget remotefile1 remotefile2 ...
ftp(ローカル⇒リモート)
p. 499
putサブコマンド
指定されたローカルファイルをリモートホス
トに転送し、指定されたファイル名のファイ
ルに格納
ftp> put localfile [remotefile]
mputサブコマンド
指定された複数のローカルファイルをリモー
トホストに転送。ワイルドカードを使うこと
ができる
ftp> mput localfile1 localfile2 ...
ftp
pp. 497~498
その他のサブコマンド
ftp> cd remotedir
リモートホストのCWDを変更
ftp> lcd [localdir]
ローカルホストのCWDを変更。localdirを省
略すると、ホームディレクトリ
ftp> ls(あるいはdir) [remotedir] [localfile]
リモートホストのディレクトリの内容を画面
に表示。localfileを指定すると、画面に表示
する代わりにローカルファイルに蓄える
ftp
p. 498
その他のサブコマンド
ftp> ascii
転送モードをアスキーモードにする。UNIX
の流儀に合わせて改行コードを変換しながら
転送が行われる
ftp> binary
転送モードをバイナリモードにする。ファイ
ルの内容をそのまま転送する
sftp
sftp(secure file transfer program)
ftpに似た対話的なファイル転送プログラム。
すべての操作はsshによって暗号化された通
信路を経由して行われる
sftp(リモート⇒ローカル)
主なサブコマンド
sftp> get remote-path [local-path]
・リモートパス名のファイルを取得し、ローカ
ルマシン上にダウンロードする
・ディレクトリを再帰的にgetすることはでき
ない
・ローカルパス名が指定されていない場合、リ
モートマシン上でのファイル名と同じになる
・リモートパス名がワイルドカードを含む場合
は、複数のファイルを指定することができる
sftp(ローカル⇒リモート)
主なサブコマンド
sftp> put local-path [remote-path]
・ローカルパス名のファイルを取得し、リモー
トマシン上にアップロードする
・ディレクトリを再帰的にputすることはでき
ない
・リモートパス名が指定されていない場合、ロ
ーカルマシン上でのファイル名と同じになる
・ローカルパス名がワイルドカードを含む場合
は、複数のファイルを指定することができる
ネットワークにおける危険
p. 550
盗聴
通信を盗み聞きする行為。なんらかの形で通
信している内容を読み出す。
カード番号
お客
盗聴
店員
よし、このカード番号を使っ
て買い物をしてしまおう。
他人
ネットワークにおける危険
p. 551
なりすまし(masquerading)
悪意のある人が他の人に成り代わる行為。
注文(送り先)
お客
盗聴
他人
店員
ネットワークにおける危険
p. 551
なりすまし(masquerading)
悪意のある人が他の人に成り代わる行為。
お客
なりすまし
店員
送り先を以下のところに変更
してください。
他人
ネットワークにおける危険
pp. 552~553
改竄(かいざん)
通信内容を勝手に書き換えてしまう行為。
送り先(AAA)
お客
盗聴
他人
店員
ネットワークにおける危険
pp. 552~553
改竄(かいざん)
通信内容を勝手に書き換えてしまう行為。
送り先(AAA)
お客
改竄
店員
AAAをABCにかえてやれ。
他人
不正アクセス防止技術
p. 553
暗号化
通信内容を守るための最も基本的な手段。通
信内容を特定の人しか読むことができないよ
うにして、盗聴による通信内容やパスワード
の漏洩を防ぐ。
「共有鍵暗号方式」、「公開鍵暗号方式」に
大きく分けることができる。
不正アクセス防止技術
pp. 553~554
共有鍵暗号方式
・1つの鍵だけを使って暗号化と復号を行う。
・暗号化するときと復号するときとで、同じ
鍵を使う。
・DES、RC5、IDEAなどがある。
・比較的少ない計算量で処理できる利点。
・鍵をどうやって共有するかという問題。
不正アクセス防止技術
pp. 553~554
共有鍵暗号方式
*****
*****
鍵C
鍵C
こんにちは
ユーザA
鍵C:共有鍵(Common Key)
こんにちは
ユーザB
不正アクセス防止技術
pp. 554~555
公開鍵暗号方式
・公開鍵と秘密鍵という2つの鍵を使う。
・公開鍵は暗号化するのに使い、秘密鍵は復
号するのに使う。
・RSAやElGamalなどが有名。
・鍵の受け渡しの問題がおきないという利点。
・計算量が多く、処理に時間がかかるという
欠点。
不正アクセス防止技術
pp. 554~555
公開鍵暗号方式
鍵P
鍵P
鍵S
ユーザA
鍵P:公開鍵(Private Key)
鍵S:秘密鍵(Secret Key)
ユーザB
不正アクセス防止技術
pp. 554~555
公開鍵暗号方式
*****
*****
鍵P
鍵S
こんにちは
ユーザA
こんにちは
鍵P:公開鍵(Private Key)
鍵S:秘密鍵(Secret Key)
ユーザB
不正アクセス防止技術
pp. 555~556
電子署名
日常生活でサインや印鑑などによって本人を
証明するのと同じことを、暗号などの仕組み
を利用して電子的に実現する技術。
情報の送り手が間違いなく本人であることや
情報の内容が改竄されていないことを保証で
き、なりすましや改竄を防止できる。
不正アクセス防止技術
pp. 557~558
ワンタイム(使い捨て)パスワード
盗聴などでパスワードが盗まれた場合でも反
復攻撃を受けないようにする仕組み。
パスワードが毎回変わり、あるパスワードで
一度ログインすると、そのパスワードは二度
と使えない。
「チャレンジ/レスポンス」と呼ばれる仕組
みが比較的よく使われている。