분류 전체보기 1274

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..

Identity Management System (IDM) Overview

Identity Management System (IDM) OverviewTerry.Cho (http://bcho.tistory.com) 1. Background IDM (Identity Management system) is one of most important and complex component in common IT system. Pain Point Here is sample pain point in Identity management scenario when it comes from identity management area commonly. Federation. 1) Enterprise build their IT system with very simple & isolated identit..

OpenLdap 를 윈도우에 설치하기

OpenLdap install in Windows 1. 설치 및 구동 http://sourceforge.net/projects/openldapwindows/ 에서 바이너리를 받아서 위자드를 이용하여 설치 ${OPENLDAP 설치 디렉토리}/etc/openldap/sldpd.conf 파일에서 root 비밀번호를 다음과 같이 수정 ####################################################################### # BDB database definitions ####################################################################### database bdb suffix "dc=my-domain,dc=com" r..

Python을 이용한 간단한 mongodb insert 예제

Python을 이용한 간단한 mongodb insert 예제 1. easy_install.exe를 이용하여, mongodb python driver인 pymongo를 설치 2. 코드 작성 connection얻고, db선택하고,collection(여기서는 users테이블) 선택하면되고, insert,update등은 기존 mongodb script와 유사함. 에러 처리는 아래와 같이 try,except 사용 import sys import pymongo connection = pymongo.MongoClient("mongodb://localhost") db = connection.terrydb users = db.users doc = {'_id':'myid','firstname':'Terry','lastna..