투케이2K

111. (Library/Framework) [라이브러리] [Ios] JWE (JSON Web Encryption) 웹 암복호화 라이브러리 - JOSESwift 본문

Library & F.W

111. (Library/Framework) [라이브러리] [Ios] JWE (JSON Web Encryption) 웹 암복호화 라이브러리 - JOSESwift

투케이2K 2025. 4. 5. 19:43

[타이틀]

구 분 : Library / 라이브러리

제 목 : [라이브러리] [Ios] JWE (JSON Web Encryption) 웹 암복호화 라이브러리 - JOSESwift

 

[설 명]

-----------------------------------------------------------------------------------------
[라이브러리 정보 및 환경]
-----------------------------------------------------------------------------------------

구 분 : Library / Framework

제 목 : [라이브러리] [Ios] JWE (JSON Web Encryption) 웹 암복호화 라이브러리 - JOSESwift

환 경 : Http / JWE / JSON Web Encryption

-----------------------------------------------------------------------------------------






-----------------------------------------------------------------------------------------
[설 명]
-----------------------------------------------------------------------------------------

1. JOSESwift 라이브러리는 JWE (JSON Web Encryption) JSON 웹 암호화 및 복호화를 수행하는데 사용되는 라이브러리입니다


2. JWE 은 JSON 웹 토큰 (JWT) 과 함께 사용 되어 페이로드 데이터를 보호하며, ID 토큰 (ID token) 이나  액세스 토큰 을 JWE를 사용해 암호화 하여 전송하는데 사용됩니다


3. JOSESwift 라이브러리 SPM 설치 git 주소 : 

  >> https://github.com/airsidemobile/JOSESwift


4. JWE 직렬화 형식 종류 추가 설명 :

  >> Compact 직렬화 : JWE가 점(.)으로 구분된 다섯 개의 Base64URL로 인코딩된 부분으로 문자열 형태로 표현됩니다

     - 예시 : {{header}}.{{encrypted-key}}.{{iv}}.{{ciphertext}}.{{tag}}

     - header : 암호화 알고리즘과 키 관리에 대한 메타데이터를 포함합니다

     - encrypted-key : 페이로드를 암호화하는 데 사용된 암호화된 콘텐츠 암호화 키 (CEK)입니다

     - iv : 암호화 과정에서 사용된 초기화 벡터입니다

     - ciphertext : 암호화된 페이로드 데이터입니다

     - tag : 암호화된 데이터의 무결성을 검증하는 인증 태그입니다


  >> JSON 직렬화 : JSON 형식으로 JWE 구조적 방법을 표시합니다

     - 예시 :

        {
          "protected": "{{protected-header}}",
          "unprotected": "{{unprotected-header}}",
          "header": "{{header}}",
          "encrypted_key": "{{encrypted-key}}",
          "iv": "{{iv}}",
          "ciphertext": "{{ciphertext}}",
          "tag": "{{tag}}",
          "aad": "{{additional-authenticated-data}}"
        }

     - protected : Base64URL로 인코딩된 보호 헤더를 포함합니다

     - unprotected : JWE의 공유 보호되지 않은 헤더를 포함합니다

     - header : JWE의 각 수신자별 보호되지 않은 헤더를 포함합니다

     - encrypted_key : Base64URL로 인코딩된 암호화된 콘텐츠 암호화 키 (CEK)를 포함합니다

     - iv : Base64URL로 인코딩된 초기화 벡터를 포함합니다

     - ciphertext : Base64URL로 인코딩된 암호문 (암호화된 페이로드)을 포함합니다

     - tag : Base64URL로 인코딩된 인증 태그를 포함합니다

     - aad : Base64URL로 인코딩된 추가 인증된 데이터를 포함합니다

-----------------------------------------------------------------------------------------






-----------------------------------------------------------------------------------------
[참고 사이트]
-----------------------------------------------------------------------------------------

[JOSESwift 라이브러리 SPM 설치 git 주소]

https://github.com/airsidemobile/JOSESwift


[온라인 JWT 토큰 복호화 및 헤더 값 확인 참고 사이트]

https://fusionauth.io/dev-tools/jwt-decoder


[JWT (Json Web Token) 개념 설명]

https://blog.naver.com/kkh0977/222934042760?trackingCode=blog_bloghome_searchlist


[JWE (JSON Web Encryption) JSON 웹 암호화 설명]

https://blog.naver.com/kkh0977/223817878517?trackingCode=blog_bloghome_searchlist

-----------------------------------------------------------------------------------------
 
반응형
Comments