見出し画像

きっかけは25年前の失敗談。なぜ今さら『ユーザー認証』のKindle本を書いたのか?

📚️「なぜ、この技術が必要なのか?」

最近の現場で、この問いにきちんと答えられるITエンジニアがどれだけいるでしょうか?

フレームワークが優秀になり、生成AIがコードを書いてくれる時代がすぐそこまで来ている今、たしかに「動くモノ」を作るハードルは劇的に下がりました。

しかし、その裏側で、多くのITエンジニアが思考停止に陥っていないか心配です。

ITエンジニアはとかく技術への興味が強く、その背景にある「なぜ」を疎かにしがちです。

多くの技術系サイトでは、どう実装するかは詳しく解説されています。しかし、どのような背景でその技術が生まれてきたのかまで解説しているものは少ないように感じます。

当然ですよね。需要がないですから。

だれも昔話に興味は無いです。最新技術を学びたいITエンジニアならなおさらでしょう。

「革新的な技術に触れてみたい」
「自分でも実装できるようになりたい」
「最新技術を使ったサービスを作りたい」

これはもうITエンジニアの本能と言っても過言ではない欲求だと思います。

だからこそ、

「生成AIで問題が解決できた」
「最新のフレームワークで実装できた」
「自分のアイディアを生成AIでつくれた」

で満足してしまっていないか、技術が進化すればするほど本気で心配になってきます。

📚️きっかけは25年前の"自分の過ち"

偉そうなことを書いてしまいましたが、何を隠そう、私自身がその「なぜ」を理解していなかった張本人です。

「技術を知っているだけでは、安全を守れない」

この言葉の意味を、私は20代の駆け出しの頃、ある失敗をもって痛感することになったのです。

キャリアの初期、私はパスワード管理システムの開発を担当していました。リモートからパスワードを変更するだけの小さなシステムです。

UNIX/Linuxのエンジニアであれば当たり前の知識ですが、パスワードは「ソルト」と呼ばれる文字列を付加して暗号化します。

当時の私も、当然ソルトの存在は知っていました。元のパスワードに付加して暗号化するものだ、と。

しかし、【なぜソルトを付けなければいけないのか】を、私はまったく理解できていませんでした。あなたなら、即答できるでしょうか?

答えは、【レインボーテーブル攻撃に対処するため、同一パスワードの判別を難しくするため】です。

レインボーテーブル攻撃とは、予め用意した平文と暗号文の組み合わせリストを使い、不正に入手した暗号化済みパスワードから元のパスワードを特定する手法です。

ソルトを付加すれば、たとえ同じパスワードでもユーザーごとに異なる暗号文が生成されるため、この攻撃は極めて困難になります。しかし、もし全ユーザーに同じ固定のソルトを使っていたら? もはや時間稼ぎにすらなりません。

当時の私は、この仕組みの本質を理解しないまま、ただ「仕様だから」と実装していました。幸いにも大きな問題にはなりませんでしたが、一歩間違えれば大惨事を招いていたかもしれません。

この経験は、今でも私の心に深く刻まれています。

そして、この「本質を理解すること」の重要性を、過去の自分のようなエンジニアに伝えたい。その想いこそが、私が今、Djangoのユーザー認証に関する本を執筆する原動力となっているのです。

📚️この本でどうしても伝えたかったこと

上に書いた25年前のヒヤリとした経験があるからこそ、私は今回の本を「単なる技術解説」で終わらせることだけは絶対に避けたいと考えました。

その想いを込めた本がこちらです。

攻撃を防ぐ手段はそこにある。しかし、使う側が適切に使用しなければ、それはただのセキュリティホールになる。

これは、25年前も今も変わらない、ITセキュリティの揺るぎない真実でしょう。

だからこそ、今回の本ではDjangoのdjango-allauthというライブラリを題材にしながらも、その裏側にある認証とセキュリティの「背景」まで解説することにこだわっています。

📚️「動けばいい」から「最適だと断言できる」エンジニアへ

どのような技術も、適切な知識と共に使うことで初めてその真価を発揮します。

これは、これからのITエンジニアにとって、より一層重要なスキルになるでしょう。生成AIがどれだけ進化しても、最終的なコードに責任を持ち、「これが最適解だ」と断言するのは、いつだって人間のエンジニアの役割だからです。

今、現場で奮闘しているあなたにも、そしてこれからエンジニアを目指す人にも、ぜひ「動けばいい」のその先にこだわるエンジニアになって欲しいと願っています。

紹介した書籍は、そんな私の想いを込めて執筆しました。

この本が、あなたの書くコードを「ただ動くコード」から「ユーザーの安全を確信を持って守れるコード」へと変える、その一助となれば幸いです。

📚️さいごに

ここまで読んでいただき、本当にありがとうございます。

少しでも共感いただける部分があれば、ぜひスキをお願いします。

また、上述の本は近日中に発売予定です。出版のタイミングを見逃さないためにも、ぜひフォローをお願いします!


#プログラマ
#ITエンジニア
#ソフトウェア開発
#Python
#Django
#Kindle
#ユーザー認証
#セキュリティ
#Hibiki

いいなと思ったら応援しよう!