デジタル署名は難しい?
- angel_p_57
- 1805
- 3
- 0
- 0
ところで、ことあるごとに「署名のことを『秘密鍵で暗号化』と説明するのは間違いですよ」という話をしているんだけど、それでも「その説明が分かり易い ( から捨てられない )」という人は一定数いるように思える。
2021-08-09 22:36:45それとは別に「おかげで分かり易く理解できていたのにてめえのせいで難しくなった!」とクレーム入れられたこともある。
2021-08-09 22:37:01ま、それは単なる八つ当たりに過ぎないし、考えが捨てられない人は固定観念に囚われたままに過ぎないとも言えるんだけど。 でも、やはりデジタル署名が ( 人によっては ) 難しい技術なのは確かかも知れない。
2021-08-09 22:37:27言うまでもないことかも知れないけど、これは公開鍵暗号(暗号化機能)やデジタル署名の詳細を比べて、どっちが難しいか、という話ではない。だって、どっちもどっちだから。なんなら共通鍵暗号だってそれなりに難しい。
2021-08-09 22:37:51「納得感」というのは難しくて、早くは既に小学校レベルの算数で「何言ってんんか分かんない!」と投げ出す子が後を絶たない程で、先生の教え方と本人の考えの切り替え方が大きく効いてくる。
2021-08-09 22:38:31つまり、先生(≒参考書)が悪いと非常に不利になるし、挽回が効きにくい。デジタル署名の考え方も結構近いような気がする。( 割と他にもこういうの多い気もするけど )
2021-08-09 22:39:11さて、教科書的な ( ≒一般のデマ的な ) デジタル署名を習うに当たっては、1に共通鍵暗号がありまして、2にそれを改善した公開鍵暗号がありまして、3にハッシュも出てくるかな? で、最後で、公開鍵暗号を応用して、ハッシュとも組み合わせてデジタル署名の完成、となる。
2021-08-09 22:39:49ご存知の通り、これデマなので、真面目にやりたい人は捨てないとマズいんだけど。 ※ハッシュは有っても良い。けど、別に考え無くても良い。
2021-08-09 22:40:17ちなみにハッシュも交えて考えるのであれば、別のまとめデジタル署名でハッシュを使う理由が参考になるだろうか。
でも、デマではあるんだけど「納得感」という意味では凄くイイ ( アカン )。なぜって、こう、1つ1つ積み上げて理解できていくような気分にさせるところ。「え? なんで逆に使えるの?」とか、最高に嘘で誤魔化しなんだけど、そこを気にしなければ非常に納得できる。
2021-08-09 22:40:47で、実態はどうか。共通鍵暗号も、公開鍵暗号(暗号化機能)も関係なくて、なんならハッシュの話も別に必要なくて、単独で説明・理解できてしまう。「秘密鍵で署名して公開鍵で検証します」それだけで済むから。
2021-08-09 22:41:34受け入れの素地のある人はこれだけで十分だし、デマ教科書的なやり方に比べて1ステップだけだから、非常に簡単に済む話になる。
2021-08-09 22:42:17でも「1ステップだけ」という点に戸惑いを覚える人が結構いるように感じる。逆に、こう、積み上げていく感じが全くないままに受け入れないといけないから。
2021-08-09 22:42:46なので、説明を受けた後でも「署名・検証ってどうやるんだろう、そのために何を勉強すればいいんだろう」と自ら落とし穴を掘ってはまる。つまり、なんらかの「基礎」となるべきものを探して延々と彷徨うことになる。実際はそんな基礎などありはしないのに。
2021-08-09 22:43:27個人的な本心としては、そういう基礎があるなら是非提示したいとは思う。思うんだけれども、無理くり作って提示しちゃうと逆に嘘になっちゃう。
2021-08-09 22:44:20デジタル署名の特性は「誰でも(元のメッセージに対して)本物と確認出来て、特定の人のみ作成できる『署名』というデータの実現」である。逆に言うと、この特性が実現できるなら、なんだって署名と認めることができる。
2021-08-09 22:45:02なんらかの基礎を仮に設けちゃうと、将来的にそれに外れるような、でも同じ特性を持った技術が出た時に受け入れられなくなってしまうし、現状でも既に全てを統一できるような基礎を見出すのに無理がある。
2021-08-09 22:45:58まあ、暗号の専門家の方なら、デジタル署名にアプローチするための道具というのも幾つか思い浮かぶものがあるのかもしれないけど。ただ、一般の人は安全性を評価したり、ましてや新たな署名を開発したりするわけではないので、その辺の道具は基礎にはならないだろうと思う。
2021-08-09 22:47:00ということで、少なくとも私くらいの一般人レベルで言うなら、仕組みがどうなってるとか、そういうことに頭を悩ませる前に、次のことを把握するのが十分だし、それ以上はやり過ぎになるのである。
2021-08-09 22:47:26その把握すべきことととは、 1.「誰でも(元のメッセージに対して)本物と確認出来て、特定の人のみ作成できる『署名』というデータの実現」という特性を実現した技術(色々)をデジタル署名と呼ぶこと。 ※他の技術と混ぜて考えない。
2021-08-09 22:49:542. その「署名データ」を作成する処理を「署名(作成)」、本物と確認する処理を「(署名)検証」と呼ぶこと。 ※その仕組みは? とか悩まない
2021-08-09 22:50:28もちろん、暗号化とか復号も持ち出さないこと。
3. 署名(作成)という「特定の人のみ」のための操作のために使うデータを「秘密鍵」、(署名)検証という「誰でも」できる操作のために使うデータを「公開鍵」と呼ぶこと。 ※他の技術の公開鍵・秘密鍵と混ぜて考えない。兼用できちゃう例もあったりするけど、深く気にしない
2021-08-09 22:51:29特に2番目だけど、「仕組みが分からないと納得いかない」と考えるなら、大いに傲慢だと思う。じゃあCPUが計算を実現してる方法把握してるんですか、とか。納得できないならPCやスマホ使えないんですか、とか。幾らでもツッコミどころが出る。実現しちゃってるんだからしゃあない、としか言えない。
2021-08-09 22:52:30