티스토리 뷰

보통 앱-서버 간 통신을 암호화할때 SSL 적용을 보통으로 하지만

 

SSL적용이 아닌 다른 방식으로 암호화를 구현할 수 도 있다.

 

어떤방식이든 암호화를 하는데는 Key를 사용하게되는데, 앱이나 서버에서 설치시에 가지고있거나 그렇지않다면 따로 교환하는 통신이 필요하다.

 

이떄

최초 키 교환시 사용하기 좋은 알고리즘이 RSA알고리즘이다

 

RSA알고리즘은 공개키로 암호화 한 내용을 개인키로 복호화할 수 있으며, 개인키로 암호화 한 내용도 공개키로 복호화 할 수 있다.

이걸 이용하면 이런 스토리가 만들어진다.

 

 

1. 클라이언트는 키교환시 body를 암호화 할 Key를 만들어서  body는 해당 key로 암호화 하고, key자체는 RSA 공개키로 암호화해서서버에보낸다.

2. 서버는 클라이언트가 준 암호화된 key를 받아서 RSA 개인키로 복호화하고, 이를통해 받은 클라이언트 생성 key로 body를 복호화해서 body를 파악한다.

3. 서버는 앞으로 사용될 key를 만들어서 RSA암호화를 한 후 응답 body에 실어서 보낸다.

4. 클라이언트는 서버가 만든 key를 임시 저장소에 저장해두고, 이를 앞으로의 통신 암호화에 사용한다.

 

 

 

일단 이러하다.

 

이걸 굳이 안하고싶으면 통신단 암호화를 지원하면 HTTPS 443 통신을 하면 되겠다.

 

 

이상전달끝.

'IT > Android iOS' 카테고리의 다른 글

Android,iOS 통신 암호화에 대한 고민  (0) 2019.05.02
iOS기기별 해상도 기록  (0) 2018.03.19
권한관련 리젝메시지 대응  (3) 2018.01.08
if let. 딥빡  (0) 2017.12.01
About cocoapods  (0) 2017.09.24
Android / iOS PSD의 px에서 layout에 넣을 적당한 숫자 구하기  (0) 2017.09.12
댓글
댓글쓰기 폼