<OAuth 2.0>

[개요]
- 모바일, 플랫폼의 시대가 도래하면서(Open API) 데이터는 REST&JSON 포맷을 기반으로하여 API를 제공
- 인증방식은 OAuth2.0을 사용

[OAuth 1.0a]
- OAuth 1.0 : 트위터를 비롯한 웹 개발자들이 API인증 및 로그인한 사용자에 대한 권한부여를 동시에 제공하도록 하는 인증 프로토콜
- 2007년 10월 OAuth1.0 출시(보안결함)
- 2009년 OAuth 1.0a 발표 (정식 "The OAuth 1.0 Protcol")

- 장점
  a. API 인증 시 써드파티 어플리케이션에게 사용자의 비밀번호를 노출하지 않고 인증가능
  b. 인증과 API권한부여를 동시에 할 수 있음

- 동작방식
 : user / consumer / service provider

                                   <OAuth 1.0a 트라이앵글>

  : 3-legged OAuth라고도 함
  a. user : 트위터사용자
  b. consumer : 트위터 단말 어플리캐이션
  c. service provider : 트위터 API 서비스


  #가설 ?
    새로운 어플을 다운받았으나, 신뢰할 수 없다. (어떤짓을 할지 몰라~)
    이때 인증토큰을 사용하여 인증을 하게됨

[인증토큰]
- 인증이 완료되면 컨슈머(예, PocketTube)는 인증 토큰을 받게된다.
- 특징
   a. 컨슈머가 사용자의 id/pw를 가지지않고 API를 사용할 수 있음
   b. 필요한 API에만 제한적으로 접근할 수 있도록 권한제어가 가능
   c. 사용자가 서비스 프로바이더(예, YouTube)의 관리페이지에서 권한 취소가 가능
   d. 패스워드 변경 시에도 인증 토큰은 계속 유효함

   (※ c번의 유용한 점? 사용자가 핸드폰을 잃어버렸을때, 서비스프로바이더의 관리페이지에서 어플리케이션 인증을 취소할수 있다.)


[OAuth 2.0]
* OAuth 1.0a와 호환이 않되고 사용되는 언어부터 시작해 많은 것들이 다름

- 거의 초기부터 IETF 표준 프로세스 안에서 만들어지고 있음.
- 2010년 4월부터 등록됨
- 모바일에서의 OAuth1.0a의 불편함, signature 생성의 복잡함, 과한 CPU 소비, 기능과 규모의 확장성을 지원하기 위해 만들어짐
- 정식명칭 "OAuth 인증 프레임워크" ("The OAuth 2.0 Authorization Framework")

- 개선사항
  a. 사용함에 있어서 간단해짐
  b. 더 많은 인증방법을 지원(웹브라우저, 모바일 등 다양한 시나리오에 대응이 가능)
  c. 대형 서비스로의 확장성 지원

- 용어
  a. Resource Owner : 사용자
  b. Resource Server : API 서버
  c. Authorization Server : 인증서버(API와 같을 수도 있음)
  d. Client : 써드파티 어플리케이션

[대표적 서비스 프로바이더]


[OAuth 2.0 인증방식]
- 3-legged를 비롯하여 2-legged등 다양한 인증 방식 지원
- but, 기본은 3-legged

  a. Authorization Code Grant
   - 웹 서버에서 API를 호출하는 등의 시나리오에서 Confidential Client가 사용하는 방식
   - 로그인시 페이지 url에 response_type=code라고 넘김

  b. Implicit Grant
   - 브라우저 기반의 어플리케이션이나 모바일 어플리케이션에서 사용하는 방식
   - Client 증명서를 사용할 필요가없고, 실제로 가장 많이 사용하는 방식
   - 로그인시 페이지 url에 response_type=token이라고 넘김

  c. Password Credentials Grant
   - 2-legged방식
   - Client에 id/pw를 저장해놓고 id/pw로 직접 access token을 받아오는 방식
   - client를 믿을 수 없을때에는 사용하기에 위험이 있음
   - 로그인시 API에 POST로 grant_type=password라고 넘김

  d. Client Credentials Grant
   - 어플리케이션이 Confidential client일때 id와 secret을 가지고 인증하는 방식
   - 로그인시 API에 POST로 grant_type=client_credentials라고 넘김

  e. Extension
   - 추가적인 인증방식을 적용할 수 있도록 함

[다양한 토큰 지원]
  - 기본적으로는 Bearer토큰, 즉 암호화하지 않은 그냥 토큰(HTTPS를 사용하여 HTTPS의 암호화에 의존)
  - 다른 토큰 방식도 지원하지만 거의 안씀

  - "Refresh Token"
   : 같은 access token을 오래 사용시, 노출 위험이 있으므로 refresh token개념을 도입
   : 만료기간을 짧게하고 refresh token으로 access token을 갱신


1. 수동 라우팅 테이블 추가

- 수동으로 라우팅 테이블을 추가할 경우는 시스템을 리부팅할 때 재 설정해야 한다

route add {-host|-net} Target[/prefix] [gw Gw] [dev]
route del {-host|-net} Target[/prefix] [gw Gw] [dev]
[root@localhost ~]# route add -net 192.168.10.0/24 gw 192.168.0.1 dev eth1
[root@localhost ~]# route add -host 192.168.20.100 gw 192.168.0.1 dev eth1


2. 부팅시 자동 활성화 되도록 라우팅 테이블 추가

- 아래와 같이 두가지 형식으로 설정파일에 추가 할 수 있다

[root@localhost ~]# cat /etc/sysconfig/network-scripts/route-eth1
192.168.10.0/24 via 192.168.0.1
192.168.20.100 via 192.168.0.1

[root@localhost ~]# cat /etc/sysconfig/network-scripts/route-eth1
ADDRESS0=192.168.10.0
NETMASK0=255.255.255.0
GATEWAY0=192.168.0.1
ADDRESS1=192.168.20.100
NETMASK1=255.255.255.255
GATEWAY1=192.168.0.1


3. Routing table 적용

- 수동으로 라우팅 테이블을 추가한 경우는 route 명령으로 바로 확인이 가능하다
설정파일에 추가한 경우는 network 데몬을 리스타트 하거나 /etc/sysconfig/network-scripts 디렉토리안에 있는 ifup-routes 명령을 사용한다.

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ./ifup-routes eth1


4. Routing table 확인

- route 명령 또는 route -n 으로 확인

[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
192.168.10.0 192.168.0.1 255.255.255.0 U 0 0 0 eth1
192.168.20.100 192.168.0.1 255.255.255.255 U 0 0 0 eth1
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default 192.168.32.2 0.0.0.0 UG 0 0 0 eth0



==============================================================
추가 : route add -net xxx.xx.0.. netmask 255.255.255.0 dev eth0
삭제 : route del -net xxx.xxx.xxx.xxx netmask 255.255.255.0


'System > Linux OS ' 카테고리의 다른 글

리눅스 커널 커밋(commit)하기 - ing  (0) 2015.12.23
Linux LVM  (0) 2015.08.12
[Linux] 리눅스 모니터링  (0) 2015.04.22
[ubuntu] 디스크 늘리기(ESXi기반의 VM)  (0) 2015.04.21
[Linux] TUN/TAP  (0) 2015.04.21
# TUN/TAP 
커널에서 제공하는 NIC를 직접제어하지 않고 소프트웨어적으로 구현된 가상 네트워크 장치를 제어하는 가상 네트워크 드라이버

- VPN 솔루션에서 사용
- 가상네트워크 드라이버를 만들고 가상 사설망 구현
    장점 : 완전한 서브 네트워크 환경을 구성
    단점 : 별도의 클라이언트 프로그램이 필요. root 권한 필요

- TAP : OSI 2계층 시뮬레이션
- TUN : OSI 3계층 시뮬레이션


가상 디바이스 드라이버를 사용한 VPN은 완전한 서브 네트워크 환경을 구성해 준다는 장점이 있다. 이는 모든 애플리케이션을 사용할 수 있음을 의미한다. 하지만 별도의 클라이언트 프로그램이 준비되어야 한다는 단점이 있다. 특히 루트 권한을 가지고 있어야 하는데, 운영체제에 따라서 이동성에 제약을 가져다 줄 수 있다.


# OpenVPN 설치
- TAP : ethernet tunnel
- TUN: routed tunnel


추가
ip tuntap add mode tap eth2
ip link set eth2 up

# 제거
ip link set eth2 down
ip tuntap del dev eth2 mode tap

# 확인
ifconfig


'System > Linux OS ' 카테고리의 다른 글

리눅스 커널 커밋(commit)하기 - ing  (0) 2015.12.23
Linux LVM  (0) 2015.08.12
[Linux] 리눅스 모니터링  (0) 2015.04.22
[ubuntu] 디스크 늘리기(ESXi기반의 VM)  (0) 2015.04.21
[Linux]라우팅 테이블  (0) 2015.04.21



감자수제비

비오는 날엔 역시 수제비

반죽해서 냉장고에 30분.. 멸치육수로 보글보글

정말 맛있었는데...

'취미 ㅋㅋ' 카테고리의 다른 글

계란된찌랑 김치비지찌개  (0) 2015.08.16
파래국 + 닭갈비  (0) 2015.08.11
빼빼로랑 진저쿠키  (0) 2015.04.21
촉촉한 초코칩쿠키  (0) 2015.04.21
단호박타르트  (0) 2015.04.21





빼빼로랑 진저쿠키

빼빼로데이와 생강제철을 맞아..

회사분들과 먹으려고 만들었다ㅎㅎ 사람모양 커터가 없어서 그냥 토끼랑 곰팅이로... 

내가 만들었지만 너무 맛있었다는 

'취미 ㅋㅋ' 카테고리의 다른 글

파래국 + 닭갈비  (0) 2015.08.11
감자수제비  (0) 2015.04.21
촉촉한 초코칩쿠키  (0) 2015.04.21
단호박타르트  (0) 2015.04.21
호두파이  (0) 2015.04.21



촉촉한 초코칩쿠키

사실 바삭한 쿠키를 좋아해서 매번 해바라기씨 넣고 건강쿠키를 해먹지만..

너무 달달한게 땡겼.......

초코칩 + 가나초콜릿 부숴서 듬~뿍 ........... 최고다잉 ㅎㅎ

'취미 ㅋㅋ' 카테고리의 다른 글

감자수제비  (0) 2015.04.21
빼빼로랑 진저쿠키  (0) 2015.04.21
단호박타르트  (0) 2015.04.21
호두파이  (0) 2015.04.21
스콘  (0) 2015.04.21



단호박타르트

마셰코에서 나온 레시피보고 만들었는데.. 맛있엉!

요건 선물용

'취미 ㅋㅋ' 카테고리의 다른 글

빼빼로랑 진저쿠키  (0) 2015.04.21
촉촉한 초코칩쿠키  (0) 2015.04.21
호두파이  (0) 2015.04.21
스콘  (0) 2015.04.21
토시살구이  (0) 2015.04.21



호두파이

호두처리할때 이게 최고

아몬드는 다음에 섞지 말아야지...

'취미 ㅋㅋ' 카테고리의 다른 글

촉촉한 초코칩쿠키  (0) 2015.04.21
단호박타르트  (0) 2015.04.21
스콘  (0) 2015.04.21
토시살구이  (0) 2015.04.21
충무김밥  (0) 2015.04.21



스콘

만들기 너무 간단하 스콘

녹차스콘에 살구잼.. 대박

'취미 ㅋㅋ' 카테고리의 다른 글

단호박타르트  (0) 2015.04.21
호두파이  (0) 2015.04.21
토시살구이  (0) 2015.04.21
충무김밥  (0) 2015.04.21
황태국  (0) 2015.04.21



토시살구이

기름많은 토시살을 좀 더 건강하게 먹기..?

올리브유에 살짝 숙성시키고 야채랑 냠냠

'취미 ㅋㅋ' 카테고리의 다른 글

호두파이  (0) 2015.04.21
스콘  (0) 2015.04.21
충무김밥  (0) 2015.04.21
황태국  (0) 2015.04.21
애플파이  (0) 2015.04.21

+ Recent posts