Kush's Wiki
デジタル署名
commited date: 2026-01-11
#
Security
メッセージ送信者によるデジタル署名と、受信者による
署名検証
によって
メッセージの改竄がされていないこと(
完全性
)
メッセージが本当に秘密鍵を保持する送信者からのものであること(
否認防止
)
の2つを保証する
STRIDE
#Security セキュリティ脆弱性をカテゴライズするような脅威モデリングでの方法論 Microsoft Threat Modeling ToolではSTRIDEを利用していくつかの自動分析を行うことができる STRIDEは以下の頭文字を取ったもの Spoofing(なりすまし) ブルートフォース攻撃 Tampering(改ざん) インジェクション攻撃 マスアサインメント攻撃 Repudiation(否認) ログ・監査証跡の不足 デジタル署名の欠如 タイムスタンプの不備 Information Disclosure(情報漏洩) 過剰なデータ露出 不適切なインベントリ管理 Denial of Service(サービス拒否) DoS攻撃 Elevation of privilege(権限昇格) https://learn.microsoft.com/ja-jp/azure/security/develop/threat-modeling-tool-threats#stride-model
デジタルアイデンティティのすべて
SHA
Secure Hash Algorithms #Security #メッセージダイジェスト デジタル署名の改竄防止等で最もよく利用されているハッシュ化アルゴリズム 異なる元データから同一のハッシュ値が生成される可能性が低いことを求められ、SHA-2, SHA-256 等の種類がある RFC 6234 - US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)
デジタル証明書
#Security #Authentication 公開鍵と名前や住所等の識別情報を組み合わせることで、鍵の所有者を識別し正しい鍵であることを保証する証明書 認証局にデジタル署名をさせて発行される
公開鍵暗号
#Security 公開鍵と秘密鍵の鍵ペアによって実現する暗号方式。名前の通り公開鍵は全世界に公開されるが秘密鍵は送信者受信者どちらかのみが知りうる鍵である 以下の2パターンによって暗号化、復号が行われる 送信者:公開鍵でメッセージを暗号化、受信者:秘密鍵で復号 可逆的:機密性、完全性、否認防止 送信者:秘密鍵でメッセージを暗号化、受信者:公開鍵で復号 デジタル署名/署名検証 不可逆的:完全性、否認防止
署名検証
#Security #完全性 #否認防止 デジタル署名されたメッセージを受信者が複合すること
JWT
JSON Web Token #Security #Authentication トークン自体の情報(例: 期限)を自身で構造化して保持することで、共有データベースへ保持・検索をする必要がないトークン。トークンが自身の情報を持つことで外部からのトークン取り消しのような操作はできない JWTは.によって3つのセクションの文字列に分割できる(署名がない場合3つ目のセクションは空) それぞれのセクションの文字列は構造化されたJSONをBase64URLエンコードした結果となっている ヘッダー 1つ目のセクションはヘッダーとして以下のような構造を持つ { "typ": "JWT", "alg": "RSA256" } algで指定する署名アルゴリズムは3つ目の署名セクションの解読にて用いる ペイロード 2つ目のセクションはトークン自体のペイロードになる。ペイロードの中身はJSONであれば自由だが、JWTクレームと呼ばれる役割が明示・明示された項目群が存在する。 例として iss(発行者)、sub(対象者)、exp(有効期限)などがある 署名 3つ目のセクションはHMACやRSAのような署名アルゴリズムを使った結果が保持される RFC 7519 - JSON Web Token (JWT)