IT grow. 2018. 9. 10. 20:27
반응형

저번에 다뤘던 Oauth에 내용을 추가해 보겠다.

Oauth

1. 하나의 로그인을 이용해 다수의 관련 없는 웹사이트들에 접근할 수 있음

à    접근한다는 것은 무슨 말인가..??

è  크게 2가지 의미를 가진다.

è  1. 로그인을 위한 인증을 해준다

è  2. 권한을 준다 ( = 인가 )

Ex : facebook을 통해서 다른 사이트에 연동을 한다 .

è  인증 ( login ) 이 된것이고  , 권한을 주었다.

Ex : 카카오톡에서 상태명에 노래가 있을 시 멜론으로 넘어감 , 카카오톡 인터페이스에서 멜론이 켜진다. 그렇지만 1분만 노래가 나온다 . 이 때 권한은 안준것이다.

2. 공통 프로토콜을 지닌다.

3. 상용화 된 것은 2017년부터 , google twitter에서 적극 추친을 하고 지원하였기 때문에 처음 나왔을 때 google twitter밖에 없었던 것

4. 써드파티 ( third party ) : 3

5. HTTPS 에서만 작동 ( s : secure )

6. 과연 이 방법이 안전한 방법인가 ??

     안전하지는 않다.

7. Oauth 동작 과정



à 리소스 소유자 : 위에서 카카오톡 , # linkedin : 어떤 사람의 이력을 확인 할 수 있다.

클라이언트 : 사용자

절차과정을 알기 .

2번에서 facebook..트위터 등등이 잇다는 것을 보여줌 ( 뭘로 회원가입 할래  ? )

3번에서 권한을 부여한다.

4번에서 선택된 종류의 인증 서버에서 토큰을 하나 준다 .

5번에서 사용자가 카카오톡 ( 리소스 서버 ) 에 아까 받은 토큰으로 액세스 접근한다 ( ID/PW 포함해서 )

승인이 되었다는 얘기는 인증 서버가 액세스 토큰을 주었다는 것이다

 

취약점

è  이메일로 인증 받을 때 , 이메일로 가정한 가짜 이메일을 만들어서

è  액세스 토큰을 가로채면 ID를 뺏을 수 있다.

 

파이어아이에서 이메일의 오남용이 되는지 안되는지 알 수 있다.

 --> http://: https://github.com/fireeye/PwnAuth 


Oauth 에서 말하는 접근이라 함은 , 인증과 권한을 말하는 것이다.

이 방법에서  필요한 것은 액세스 토큰이다.


반응형