CATEGORY

設計技術

デジタル証明書のエンコードと拡張子の違い

デジタル証明書の種類と拡張子の理解が曖昧だったので整理してみました。 証明書や鍵そのものは基本的にはバイナリデータです。 これらのデータは、X.509やPKCSで仕様化されています。 X.509: 公開鍵証明書の標準形式や証明書パス検証アルゴリズムなどを定めている。 PKCS: RSAセキュリティテスト社が公開した公開鍵暗号標準である。 証明書や鍵のファイルの拡張子は標準化されていませんが、次のよ […]

セッションタイムアウトの必要性

「セッションタイムアウトって何で必要なんですかね?」という問いがあった。 その人は「セッションデータの肥大化によるリソース枯渇や性能劣化を防止」という意見。 自分の場合、「それもあるかもしれないが、どちらかというとセキュリティ上の理由」という曖昧な回答。 というわけで調べてみました。 ダイジェスト セッションタイムアウトについてネットを調べると、 ほとんどはセキュリティの記事が出てくるので、主にセ […]

JavaでのZIP暗号化の考察

法務系業務を行うシステムを設計するにあたり、次のような要件がありました。 CSVファイルの暗号化方式として、当初からパスワード付きZIPファイルの使用を検討していたため、ZIP圧縮を使用する前提で調査しました。Excelの暗号化については、別の記事で説明します。 当該システムはJavaEEで構築する前提であったため、Java前提の調査となります。 機密情報を記載したCSVファイルまたはExcelフ […]

OWASPが推奨する強力なパスワード

Webアプリケーションのセキュリティの標準化や推進を行うOWASPでは、強力なパスワードの使用を推奨しているので、それをまとめた。 強力なパスワード “Implement Proper Password Strength Controls”から意訳です。 2019年10月時点での資料に基づいており、セキュリティトレンドによって内容が変わる場合があるので、オリジナルのサイトを […]

パスワード情報の保管方式の比較

Webアプリの開発でパスワードを使ったユーザ認証を設計・実装する機会がよくある。 後輩への説明や勉強会ネタとして、この辺の話を纏めてみようと思う。 概要 オンラインバンキングやネットショッピングのサイトでは、資金移動や物品購入が行えるため、不正アクセスが成功した場合のメリットが多く標的になりやすくなります。 攻撃者の関心事は、いかにログインするか?より短い時間でいかに多くのユーザのパスワードを特定 […]

DB操作フレームワーク はJPA or mybatis?

開発に向けた準備で、開発標準を準備するフレームワーク(FW)チーム、それらを使って実装を行う業務チームが集まって、「DB操作を行うためのFWは何を使うか?」という協議になった。 FWチームは、FW・JavaEE7の標準であるJPAを推奨した。 FWチームの一員ではあるが業務寄りの立場でもある自分はmybatisを推奨した。業務チームからの強い要望で、mybatisを採用する方向で決定した。 分かり […]