stray-metal’s diary

忘れっぽい自分のための備忘録

公開鍵方式と共通鍵方式の違いについて

Webエンジニアなら避けて通れないセキュリティ問題。

 

その中でも代表的な公開鍵方式と共通鍵方式。

 

HTTPSでのSSL通信のやり方として有名な方式。

違いを理解のためにさらっとまとめてみる。

 

■共通鍵方式

最初に同じ鍵を送信元(Aさん:俺)と送信先(Bさん:サーバ)で持っておくやり方。

鍵、というとわかりやすいのがこのやり方。

二人で共有するマンションの部屋の鍵を共有するイメージ。

ただ、デメリットとしてこの「共通鍵」が漏れるとなんでも出来ちゃう。

 

■公開鍵方式

そこで出てきたのが公開鍵方式。

流れとしては

1.送信先であるBさんが、Bさんしか知らない「秘密鍵」でしか開けない「箱(≒公開鍵とイメージして)」を作る。

ここで、「箱」は鍵を閉じずに開けておく。(ここ大事)

2.BさんがAさんに「箱」(まだ閉じてないよ)を渡す

3.Aさんが「箱」に人に見られたくないものをしまって、フタを閉める(ここで箱に鍵がかかる)

4.AさんがBさんに「箱」を渡す

5.Bさんが、Bさんが元々持ってた「秘密鍵」を使って「箱」を開けて中身を取り出す。

という感じ。

これでAさんの情報はBさんにしかわからなくなった。

■これを用いたSSLのやり方。

要は、共通鍵を公開鍵方式を使ってやり取りすればいいのでは?というだけ。

これだけ。

 

ここまで出てきた言葉の整理とイメージ

・共通鍵

・公開鍵

秘密鍵←これはイメージしやすい。秘密の鍵。

 

共通鍵と公開鍵が言葉が少し似てて混乱する。

共通鍵は共通でもってる鍵で、公開してはいけないもの。

公開鍵は共通でもってるんだけど、公開してよいもの、

という理解がよいかな。

テーブル設計の名前の大事さについて

古いシステムを担当することになった場合、

よくあるのが

 

名前がいけてない

 

という状況。

何がいけていないか、というと

・その項目にどんな値が格納されているかわからない。

・人によってとらえ方が違う

といったもの。

 

逆に、名前をしっかり決めたものは、

後でこの名前にしておいてよかった、と感じることが多々ある。

 

名前は妥協せず、長くてもいいからわかりやすい名前にすべき。

 

基本情報技術者試験 申し込んでみた

基本情報技術者試験の申込、思ったより混乱したのでまとめておく。

 

・コロナ禍の影響により、色々やり方が変わっている。

・2020年度秋の受験は2021年1月~3月に延期されている

申し込みはIPAからプロメトリックに委託されてる【←コレ大事。一覧に表示されなくて焦る】

・CBT受験になって、午前と午後別日の受験が可能

・プロメトリックでは午前と午後それぞれで予約をしないといけない

 ただし、午前→午後の順番に予約しないとダメ

・午後も費用がかかるの?と思いがちだけど、午前予約すると午後は支払い画面をスキップして予約が可能。

 

ふぅ。予約するだけで疲れた。