아키텍쳐 143

API platform

API 플랫폼 주요 기능 및 API Security API Platform 다양한 인증 방식을 제공하는가?l AppID (Service Id) 방식l API Key 방식l OAuth 방식l IP white list 방식Multiple Admin을 지원하기 위한 Delegated Admin 기능을 제공하는가?개발자를 위한 Developer Portal 기능API 사용에 관련된 Reporting 과 AnalyticsAPI Service사용에 대한 Contract을 지원하는가?API traffic management 기능을 제공하는가?RBAC 기반의 컨텐츠 Access가 가능한가?SLA 수준은 어떻게 보장 하는가? API Security 1. AuthenticationAPI Key authentication ..

아키텍쳐 2013.07.17

Security-애플리케이션 보안 1. 인증 방식 및 비밀번호 암호화

Authentication (인증 방식)일반적인 id,passwd 기반의 인증 방식사용자 정보와 사용자 credential (id/passwd)를 데이타베이스에 저장해놓고, 사용자로 부터 id/passwd를 입력받아, 이를 비교하여 인증하는 방식.일반적은 중소 규모 사이트 개발에는 RDBMS를 사용하는 것이 일반적이며,조직 구조, 여러가지 Role, 권한등을 저장할때는 LDAP등을 사용한다. 근래에는 대규모 사용자를 저장하기 위해서 Cassandra와 같은 NoSQL을 저장하는 경우도 많다.이러한 저장소에 비밀 번호를 저장할때 평문으로 저장하는것 보다, 암호화된 형태로 저장하는 것이 좋다. 그래서 MD5나 SHA1같은 Hash로 변경해서 저장한다. 이렇게 하면, Hacker에 의해서 데이타 베이스가 탈취..

Federation과 SSO 에 대한 주요 표준 (메모)

Federation 기술로는 크게 1. WS-Security가 있으며, 상세 스펙으로는 WS-Trust 는 STS 기반의 초기 인증과 토큰 발행WS-Federation은 다른 리소스의 액세스에 대한 토큰 사용을 정의을 정의 2. 반대 진영으로는 SAML 기반의 SSO가 있음 3. 그리고 B2C 진영에는 OAuth도 사용됨 주로 현재 대세는SSO는 SAML을 사용하고,API를 통한 특정 resource에 대한 접근은 OAuth를 사용한다. 구글을 사례SSO 구현 : http://support.google.com/a/bin/answer.py?hl=ko&answer=60224API 접근 : https://support.google.com/a/bin/answer.py?hl=ko&answer=61017&topic..

Claim based Authentication (CBA)

CBA Claim based authentication ADFS 2.0 등 MS 진영에서 주로 사용함- Claim : Subject를 identitify 할 수 있는 name, group 등 (쉽게 말해서 attribute)- Token : Claim을 transpport하기 위한 packet ( 1개 이사으이 claim이 packaging되며, digitial signature로 packaging됨) ex) SAML packaging도 하나의 Token의 예- Issuer: Token을 만드는 대상 (Idp가 주로 Issuer가 되는 경우가 많음)- Secure Token Server (STS) : The central issuing authority. (In most case STS works as ..

SAML 기반의 web sso 원리 정리

Single Sign On을 지원하기 위한 프로토콜이나 방법은 여러가지가 있다.그중 대표적인 방법으로 CAS,SAML,OAuth등이 있는데, CAS는 쿠기를 기반으로 하기 때문에 같은 도메인명 (xxx.domain.com yyy.domain.com) 사이에서만 SSO가 가능하다. (그만큼 구현도 쉽다.) OAuth는 현재 B2C쪽에 많이 사용되는 프로토콜이고, 그리고 마지막으로 SAML 있다. cross domain간 SSO 구현이 가능하며, OAuth 만큼이나 많이 사용되고 있다. SAML은 어떤 구현체가 아니라 SSO등(꼭 SSO만은 아님)을 구현하기 위한 XML 스펙이다.HTTP GET, POST 또는 SOAP 웹서비스 등 여러가지 방법으로 구현될 수 있으며, 여기서는 HTTP Post를 이용한 S..

Apache Camel Error Handling

Camel의 에러처리 먼저 Camel의 에러 타입에 대해서 살펴보자. 이 에러 타입은 Camel 이 아니더라도, 일반적인 integration 시나리오에서는 공통적으로 존재하는 에러 타입으로, 복구 가능한 에러와 복구 불가능한 에러가 있다. 에러의 종류 복구 가능한 에러 (Recoverable error) 복구 가능한 에러는 다시 시도 했을 경우 정상 처리 할 수 있는 에러이다. 예를 들어 순간적으로 네트워크 Connection이 끊어졌을때는 대부분, 다시 시도 하면 재처리가 가능하다. 복구 불가능한 에러 (Irrecoverable error) 복구 불가능한 에러는 내부 로직 문제나 잘못된 데이타 입력으로 인하여 다시 시도했을때에도 에러가 예상되는 에러를 복구 불가능 에러로 분리한다. Camel에서 수신..

아키텍쳐 /EAI 2013.02.20

Apache Camel Overview

조대협 (http://bcho.tistory.com) 서문 예전 BEA나 오라클 시절에, EAI, ESB 등을 가지고 시스템간의 연계 업무를 많이 해왔던 나로써는 오픈 소스 기반의 EAI 프레임웍인 Apache Camel의 경우 상당히 흥미로운 주제였다. 과연 상용 제품 대비 얼마나 현실성있는 integration 기능을 제공할 것인가? 가 가장 큰 궁금증이었다. BEA WebLogic EAI나, Oracle Service Bus, AIA 등 여러 제품을 이용해서 직접 시스템간의 연계 시나리오도 구현해보고, BMT에서 타社의 솔루션을 테스트도 해봤지만, 먼저 상용 솔루션의 약점은, 솔루션에서 제공하는 시스템간의 연계에 있어서 성능적인 제약이 매우 많이 따른 다는 것이다. 대부분 Message Queue ..

아키텍쳐 /EAI 2013.02.17