Notice
Recent Posts
Recent Comments
Link
투케이2K
137. (TWOK/LOGIC) [android] 안드로이드 Http Api 호출 시 JWE (JSON Web Encryption) 암호화 및 복호화 , 사용자 인증 처리 로직 본문
투케이2K 로직정리
137. (TWOK/LOGIC) [android] 안드로이드 Http Api 호출 시 JWE (JSON Web Encryption) 암호화 및 복호화 , 사용자 인증 처리 로직
투케이2K 2025. 4. 4. 18:44[로직 정리]
정리 로직 : Mobile
상태 : [android] 안드로이드 Http Api 호출 시 JWE (JSON Web Encryption) 암호화 및 복호화 , 사용자 인증 처리 로직
[설 명]
// --------------------------------------------------------------------------------------
[사전) 설정 및 정보 확인 사항]
// --------------------------------------------------------------------------------------
- 퍼미션 권한 설정 코드 :
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- build.gradle 의존성 설정 코드 :
implementation 'com.nimbusds:nimbus-jose-jwt:10.0.2'
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[로직 설명]
// --------------------------------------------------------------------------------------
1. 앱 (App) 및 서버 (Server) 는 서로 AES 를 사용해 JWE 암호화 , 복호화 AES Key 키 정의 실시
>> AES Secret 키 정의 후 서버는 Config 파일 , 안드로이드는 local.properties 파일에 저장해 노출이 되지 않게 설정
2. 앱에서는 JWT 토큰을 만들기 위한 필요 JSON 정보 지정 (페이로드) 후 정의 된 AES 타입으로 헤더 값 지정 및 데이터 암호화 수행 실시
3. 앱에서는 암호화 된 JWE 토큰을 사용해 Http 호출 시 헤더 값에 Authorization : Bearer JWE 토큰 추가 후 Api 호출 수행
4. 서버에서는 Api 헤더 값으로 들어온 Authorization : Bearer JWE 토큰 값을 지정 된 AES Key 로 정상적으로 복호화 되는 지 확인 수행
5. 정상적으로 JWE 값 복호화 후 정의 된 사용자가 맞는 경우 필요한 리소스 정보 검색 후 Return 리턴 반환 수행
6. 정의 된 AES 키로 JWE 값이 복호화 되지 않는 경우 인증 되지 않은 사용자 및 리소스 요청 거부 Return 리턴 반환 수행
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
[IT 기술] JWE (JSON Web Encryption) JSON 웹 암호화 설명
https://blog.naver.com/kkh0977/223817878517?trackingCode=blog_bloghome_searchlist
[nimbus-jose-jwt] JWE (JSON Web Encryption) JSON 웹 암호화 및 복호화 라이브러리
https://blog.naver.com/kkh0977/223817959400?trackingCode=blog_bloghome_searchlist
[JWE AES 256 GCM 인코딩 암호화 수행 실시 - A256GCM , A256GCMKW]
https://blog.naver.com/kkh0977/223820371639?trackingCode=blog_bloghome_searchlist
[JWE AES 256 GCM 디코딩 복호화 수행 실시 - A256GCM , A256GCMKW]
https://blog.naver.com/kkh0977/223820373889?trackingCode=blog_bloghome_searchlist
// --------------------------------------------------------------------------------------
반응형