しゃつです

pianotap

今週知ったことまとめ #3

アフォーダンス(UI)

モノが人間に対して与える行動の手がかり、という意味です。例えば蛇口があれば捻れば水が出ることが分かるし、取っ手の付いた扉は引けば開くと分かります。逆に取っ手がついているのに押さないと開かない扉はアフォーダンスの考え方に則っておらず、直感的に使い方がわかりにくくなります。

コンピュータの世界でもこの考え方は重要です。例えば押せないボタンは灰色で表示する、押せるボタンは立体的に表示する、というものが考えられます。

 

・CRLとOCSP(セキュリティ)

ディジタル証明書の有効期限内にその証明書が利用できなくなった場合には、それを利用者に知らせる必要があります。CRLはリストを取得してきて自分で照合する必要がありますが、OCSPはオンラインで問い合わせる仕組みになっています。

 

 ・ブロック暗号のモード(セキュリティ)

ブロック暗号では、鍵長でデータを区切って暗号化する。

このときそれぞれのブロックを単に暗号化すればいいと思いがちだが、この方法は危険でありより安全な方法が存在する。

1)ECBモード(Electric CodeBook)

ブロックごとに単に暗号化するモード。並列化できて高速だが、平文に繰り返しがあると暗号文も繰り返しとなる。また、ブロックの順番が入れ替わっても分からず、リプレイ攻撃も可能である

2)CBCモード(Cipher Block Chaining)

前の暗号文ブロックと次の平文のXORをとってから暗号化する。最初は前の暗号文の代わりに初期化ベクトルIVを使う。復号化は並列処理できるが、暗号化はできない。ビットの誤りがあると、そのブロックと次のブロックの2つが復号化できなくなる

3)CTRモード(CounTeR)

上位ビットにランダム(暗号化のたびに変える)な値を入れたカウンタを用意し、暗号化したカウンタと平文ブロックのXORをとる。カウンタはブロックごとに1ずつ増やす。暗号化、復号化が並列処理でき、同じ構造をしている。ビットの誤りがあると、それに対応する平文のビットが誤る

結城浩「暗号技術入門 秘密の国のアリス 第3版」pp.107

 

ハッシュ関数の衝突耐性(セキュリティ)

1)弱衝突耐性

あるメッセージのハッシュ値が分かっているとき、同じハッシュ値を持つ別のメッセージを作ることが困難な性質

2)強衝突耐性

同じハッシュ値を持った2種類のメッセージを作るのが困難な性質。総当りだと1)の平方根の時間で見つかる

 結城浩「暗号技術入門 秘密の国のアリス 第3版」pp.178,200

 

・鍵交換(セキュリティ)

共通鍵を共有するには公開鍵を使う方法もあるが、Diffie-Hellman鍵交換という方法がある。これは、他人に知られても構わない情報を交換するだけで、お互いに共通な情報(鍵)を作り出す方法である。詳しくは↓で

結城浩「暗号技術入門 秘密の国のアリス 第3版」pp.293-

 

・乱数の性質(セキュリティ)

現在一般に使われるコンピュータでは真の乱数を作ることができない。暗号に使える擬似乱数を作るために3つの性質を考える

1)無作為性

でたらめに見えること。統計的偏りがないこと。

2)予測不可能性

過去の出力結果から未来の出力が予測されないこと。

例えば、線形合同法(ゲーム等で使われる)では周期をもった値が出力されるため、この性質がない。

3)再現不可能性

ある乱数列と同じ数列を作ることが不可能という性質。コンピュータは全く同じ内部状態なら同じ乱数列を出力するため、この性質がない。

 

2)まで満たしていれば暗号に使うことができる。擬似乱数の作り方の一つにハッシュを使った方法があり、内部状態のカウンタを1ずつ増やしながらハッシュを出力する。(この時、ハッシュを内部にフィードバックすると予測不可能性がなくなる。)

結城浩「暗号技術入門 秘密の国のアリス 第3版」pp.312-

 

・暗号的な強さのバランス

ECC: 楕円曲線暗号 Elliptic Curve Cryptography)

ECC RSA ハッシュ 対称暗号

256 3072 256 128

384 7680 384 192

521 15360 512 256

結城浩「暗号技術入門 秘密の国のアリス 第3版」pp.335

 

・Hi-Fiオーディオ

High Fidelty: 高忠実度/高再現性のオーディオを指す言葉。

Wi-Fi(Wireless Fidelity)は、これと同様に高品質の無線LANを目指した命名とされる。

竹下隆史他「マスタリングTCP/IP 第4版」pp.97

 

・traceroute (Windowsではtracert)

宛先に到達するまでに通過したルータを表示するコマンド。IPの生存時間(TTL)を1ずつ増やしながらUDPパケットを送信し、ICMP時間超過メッセージを無理やり返させる。

竹下隆史他「マスタリングTCP/IP 第4版」pp.153

 

・IPでの輻輳通知

輻輳(ふくそう)…通信回線が混雑すること。パケットが失われ、ルータ等のバッファが溢れて通信性能が低下する。

IPヘッダにECNフィールドを定義し、輻輳を示すフラグを追加する。行きのIPヘッダに輻輳が発生しているか否かを記録し、帰りのパケットのTCPヘッダで輻輳を伝える。(輻輳を通知するために新たなパケットを作るのは望ましくないため)

竹下隆史他「マスタリングTCP/IP 第4版」pp.175

 

IPv6の特徴

128bitのアドレスである。

1)IPアドレスを階層構造に

上位48bitが広域ネットワーク、次の16bitがサイト内部のネットワークを区切り、残り64bitがホスト部となる。ホスト部にはMACアドレスを入れることが多いが、これに関係ない一時アドレスを作ることもできる。

2)MACアドレスがホストアドレスとなるため、DHCPサーバがなくてもネットワーク部を統一してIPアドレスを自動的に割り当てられる。(プラグアンドプレイ)

3)ルータがパケット分割せず、経路MTU探索を利用して送信元が分割をする。

4)セキュリティ機能を提供する(IPsec)

竹下隆史他「マスタリングTCP/IP 第4版」pp.179-

 

TCPのウェルノウンポート

21 FTP

22 SSH

80 HTTP

443 HTTPS

竹下隆史他「マスタリングTCP/IP 第4版」pp.200,201

 

TCPのウィンドウ制御と再送制御

TCPでは1パケットが届くごとに確認応答するのではなく、ウィンドウという区切りで複数のパケットをまとめて送る。

応答では次のデータを指定するが、「欠落のないデータ列の最後の次」を指定するため、欠落があればそれ以降同じデータを指定する。そのため、4回同じデータを指定した応答が帰ってきている場合、データが失われたとして再送する。また、応答が少しくらい届かなくても次の応答が正しいデータを指定していればデータは送られていることになる。

竹下隆史他「マスタリングTCP/IP 第4版」pp.210-