はじめに Javascript Object Signing and Encryption (以降JOSE)は、JSONを利用したデータ転送用の規格群のひとつです。 当事者間で承認情報などを安全に転送する方法を提供することを目的としています。 本ドキュメントは、JOSEを利用した暗号化の事例紹介です。 同様の技術を必要とする開発者や、暗号化について学習している開発者の参考となることを目的としています。 背景 今回事例を紹介するに至ったAPIの開発では、暗号化にJOSEを使用することが決定していました。 また、APIの暗号化のフローも下記のように決定していました。 クライアントからリクエストでIDを受け取り、そのIDに紐づくユーザ情報を取得する 取得したユーザ情報の一部を署名し、更に暗号化する 暗号化したデータをJOSEのひとつであるJWE形式でクライアントに返却する JOSEを利用した暗号
![JWE、JWSとは?JWEとJWSによる暗号化の実装方法を事例を用いて解説 | Fintan](https://cdn-ak-scissors.b.st-hatena.com/image/square/21cd0b81a2fe32ec074fe2b67cac707a594cb17e/height=288;version=1;width=512/https%3A%2F%2Ffintan.jp%2Fwp-content%2Fthemes%2Ffintan%2Fimg%2FOGP.png)