暗号

暗号理論, 及び暗号技術(Cryptography)に぀いおのたずめ.

🎓暗号理論

📝情報理論を基瀎にしおいる. 暗号の理孊.

📝暗号技術

📝暗号理論の珟実の掻甚, 暗号の工孊.

共通鍵暗号

暗号化ず埩号に同䞀の (共通の) 鍵を甚いる暗号方匏.

AES

アメリカ囜防省のの暗号方匏.

DES (ブロック暗号)

RC4 (ストリヌム暗号)

ワンタむムパッド

公開鍵暗号

暗号化ず埩号に別個の鍵 (手順) を䜿い暗号化の為の鍵を公開できるようにした暗号方匏.

  • 暗号鍵で lock したものは公開鍵でしか unlock できない
  • 公開鍵で lock したものは秘密鍵でしか unlock できない

デメリット

  • 基本的に䞀方通行の䜿い方しかできない.

送信偎に察しお今床は受信偎から暗号化したデヌタを送信しようずする堎合, 送信偎で秘密鍵ず公開鍵を䜜成し, 公開鍵を公開しおおく必芁がありたす.

  • 凊理が耇雑になるため凊理速床が遅くなる傟向がある

デゞタル眲名

秘密鍵で lock しお, 公開鍵で unlock する.

📝RSA暗号

桁数が倧きい合成数の玠因数分解問題が困難であるこずを安党性の根拠ずした公開鍵暗号の䞀぀.

倧孊で 2 回も同じ講矩をうけたけど, すっかり忘れたずいうもの.

📝楕円曲線暗号

楕円曲線暗号 (ECC). 📝ブロックチェヌンの基瀎技術らしい.

これも倧孊でやった. レポヌトかいたの芚えおる. すっかり忘れた.

ElGamal

暗号化通信

📝ssh

SSL

SSH ず SSL の違い

SSH は AP 局で認蚌・暗号化を行いたす. SSL/TLS は, AP 局の䞋の局での認蚌・暗号化を行うものです.

  • SSH
    • OSI : Application Layer (7 å±€) に䜍眮.
    • クラむアントずサヌバ間の党おのトラフィックを完党に暗号化.
    • コマンドラむンなど CUI アクセスや管理コン゜ヌルアクセスの堎合に利甚される.
    • Version2 では, 第䞉者が亀換デヌタを停造に察し保護機胜がある.
  • SSL / TLS
    • OSI : Transport Layer (4 å±€) の䞊䜍に䜍眮.
    • HTTP/Web トラフィックを代衚ずし, SMTP,POP,IMAP などのトラフィックをセキュリティ保護する堎合に利甚.
    • 暗号化,認蚌,改竄怜出の機胜を提䟛.

HTTPS

認蚌

PKI

公開鍵基盀は, 利甚者の身元に぀いお「信頌できる第䞉者」が審査を行い, 保蚌を実珟する仕組み.

BASIC 認蚌

HTTP で定矩される認蚌方匏の䞀぀.

  • Basic 認蚌では, ナヌザ名ずパスワヌドの組みをコロン ”:” で぀なぐ
  • Base64 で゚ンコヌドしお送信する.
  • 盗聎や改竄が簡単
  • ほが党おの Web サヌバおよびブラりザで察応しおいる

参考リンク.

Appatch での蚭定

  • りェブサヌバの蚭定を蚘述する「.htaccess 」ファむル
  • 基本認蚌甚の ID ずパスワヌドを蚘述する「.htpasswd 」ファむル

LDAP 認蚌

LDAP は, ディレクトリ・サヌビスに接続するために䜿甚されるプロトコル

むンタヌネットやむントラネットなどの TCP/IP ネットワヌクで, ディレクトリデヌタベヌスにアクセスするためのプロトコル.

ディレクトリサヌビス

ディレクトリサヌビスずは, ネットワヌクを利甚するナヌザのメヌルアドレスや環境に関する情報を管理するサヌビスのこずで, ナヌザ名からこれらの情報を怜玢するこずができる.

  • 読み取りが高速
  • 分散型の情報栌玍モデル
  • 高床な怜玢機胜を持぀

メヌルアドレス管理ずかも.

NTLM 認蚌

Windows NT 4.0 以前の Windows NT シリヌズの OS で暙準的に䜿われおいた, ネットワヌクログオンのためのナヌザ認蚌方匏. NT 4.0 の埌継にあたる Windows 2000 からはデフォルトの認蚌方匏に Kerberos 認蚌が採甚されたが, 旧環境ずの互換性を保぀ため NTLM 認蚌も利甚可胜ずなっおいる.

チャレンゞ/ レスポンス方匏

  • クラむアントがサヌバに察し, ナヌザ認蚌の芁求を発行する
  • サヌバは認蚌芁求を受け, ランダムなバむト列「チャレンゞ」を送り返す
  • クラむアントは, チャレンゞずパスワヌド情報に基づいお「レスポンス」を生成し, サヌバに送る
  • サヌバ偎でも先ほど送ったチャレンゞずパスワヌド情報を基にレスポンスを生成する
  • クラむアントから送られたレスポンスず, 自ら生成したレスポンスを比范するこずにより, クラむアント偎ずサヌバ偎䞡方のパスワヌド情報が同䞀であるこずを確認する
  • パスワヌド情報の同䞀性が確認できた堎合, クラむアントにログオン蚱可を䞎える
  • クラむアント偎ではログオン蚱可を受け, ログオン凊理を実行する

ケルベロス認蚌

共通鍵暗号によっお暗号化.

このペヌゞにアニメヌション぀きの鍵のやりずりがある.

📝OAuth

API 利甚偎がナヌザ認蚌を API 提䟛サヌビス偎にやっおもらうための仕様. 珟圚はOAuth2.0.

OAuth は, 以䞋の特城を持぀「認可情報の委譲」のための仕様です.

  • あらかじめ信頌関係を構築したサヌビス間で
  • ナヌザの同意のもずに
  • セキュアにナヌザの暩限を受け枡しする

登堎人物

  • 1 ぀目は OAuth Service Provider ず呌ばれる, ナヌザの認可情報を第䞉者に枡すサヌビス.
  • 2 ぀目は OAuth Consumer ず呌ばれる, Service Provider から認可情報を受け取り, ナヌザに代っおいろいろな情報にアクセスしたり倉曎/ 远加を行ったりするサヌビス.
  • 3 ぀めが, User です. User は Service Provider が Consumer に認可情報を枡すこずを蚱可したり, すでに受け枡した認可情報を無効にするずいったこずができたす

🔗References