技術記事ノック #278~#292
公開鍵暗号
公開鍵暗号
- 鍵交換
両者でそれぞれの公開鍵を交換し、自身の秘密鍵と組み合わせて計算を行うことで、秘密裏に何らかの情報を共有できる方式のこと
対象のデータ(署名前のデータ)を秘密鍵の持ち主のみが作成出来るデータ(署名)を作成する方式のこと
被署名データ(署名前データ)と署名の整合性を、誰でも公開鍵を用いて検証することが出来る
- (狭義)公開鍵暗号
誰でも公開鍵を用いてデータを暗号化することができ、秘密鍵の持ち主のみが復号して元のデータを得ることができる
公開鍵暗号における認証の重要性
事前に鍵を共有する必要がある方式には、いかにその鍵を安全にやり取りするかという問題を抱えている
なりすましに対して対策を講じる必要がある
--> 相手が意図通りかを確認する「認証」という機能が欠かせない
※現在基本的に認証に使われるのは電子署名のみ
サーバーレス
従来のサーバ環境(メンテナンスに人的リソースや労力を割くようなビジネス)から開放するために、サーバーレスの概念が誕生した
AWS Lambda
環境変数
良く見かけるのは
- PATHに追加して、そのディレクトリにあるコマンドを実行出来る
- LANGで言語を設定する
そもそもLinux / UNIX を扱う上で環境変数の知識が必要となるのは、環境変数を通じてプログラムの挙動を調整する場面がそれなりにあるから。
Memo
NoSQL
従来のRDBMSでは、大量データや多様なデータ形式に対して実用上の不都合があったため、RDBMSの良さを一部犠牲にすることでその不都合を解決するNoSQLが生まれた。
PFS
Perfect Forward Secrecy
暗号化された通信と暗号化するための秘密鍵が両方漏洩しても復号化出来ない、という鍵交換に関する概念
※あくまで概念なので、実装する仕組みは別にある
スノーデン事件で有名
ターミナルのカスタマイズ
Mac買ったらやるんだ・・・
排他制御(はいたせいぎょ)
複数のプロセスが利用できる共有資源に対し、複数のプロセスからの同時アクセスにより競合が発生する場合に、あるプロセスに資源を独占的に利用させている間は、他のプロセスが利用できないようにする事で整合性を保つ処理のこと
例: 全員が書き込めるファイルを誰かが書き込んでいる間は他の人は書き込めないようにすること
セマフォ
コンピュータで並列処理を行う際、同時に実行されているプログラム間で資源(リソース)の排他制御や同期を行う仕組みの一つ
例: 3名が入れる部屋があった場合3と表示され、3名入れば0となり、1名抜ければ1となるイメージ この3, 0, 1がセマフォ
デコレータ
関数を装飾するための関数と、その仕組み