Identity Management 시스템을 구축하기 위해 필요한 이슈 정리
Identity Management 시스템을 구축하기 위해서 준비되어야할 정책에 관련된 전반적인 내용들을 카테고리화 했습니다. Identity 관련하여 기획하시는 분들에게 정책 결정에 도움이 될 거 같아서 공유합니다. 관련 정책 이슈 내용은 OpenID와 ID Federation을 같이 고민해 보았습니다.
부족한 부분이나 수정되어야 할 부분이 있으면 댓글 부탁드립니다. 좀더 정리가 필요해 보입니다.
1. Access Control Policy
부족한 부분이나 수정되어야 할 부분이 있으면 댓글 부탁드립니다. 좀더 정리가 필요해 보입니다.
1. Access Control Policy
- 정의 : 인증 리소스의 접근 제어를 관리하고 가이드함
- User : 자신의 identity를 입증할 경우 자신의 리소스 접근을 허용함
- Owner : 전체 User를 관리하는 사용자, 모든 User의 리소스 접근을 허용하나 접근 로그로 추적이 가능하여야 함
- 접근 감시 : 누가 어떤 정보에 접근했는지 관리가 되어야 하고 6개월 이상 보관되어야 함
- 정의 : 인증에 관한 절차, 방식, 레벨, 감시 등의 정보를 가이드함
- UserID : Unique한 정보이고 Naming and Certificates 정책에 의해 생성됨
- 인증 방식
. 인증 타입 : OpenID 수용 여부, ID Federation(타 도메인 등등) 수용
. 인증 방식 : 쿠키를 통한 SSO를 처리하고 서비스에서 도메인 쿠키 셋팅함, 타도메인일 경우 쿠키 정보와 세션 정보를 디비에서 관리하여 진입 Consumer 사이트에서 사용자가 아이디 입력 후 IDP로 아이디 정보 제공하여 SSO 처리
- 인증 레벨
. Casual : 패스워드 없이 단순한 토근 정보를 쿠키 설정으로 인증 처리
. Standard : ID와 PASSWORD의 조합
. Secure : ID와 PASSWORD의 조합에 부가적으로 Security Token 공유
. Critical : ID와 PASSWORD의 조합에 부가적으로 분산된 Two Factor Authentication(OTP, BIO 등) 수 - 인증 API : 인증 정보는 데이터 베이스에서 저장하고 웹 방식과 AUTH API(TCP/IP, SOAP, REST 방식 등)를 정의함
- 인증 감시
. 인증 시도 User의 필수 정보는 로그나 DB로 관리(6개월 이상)하여 악용사례를 예방할 수 있어야 함
. DDos 공격, 악의적 인증 정보 추측 등을 예방할 수 있어야 함
- 직원, 개발/운영자, 제휴사, Third party 관련자들에게 고객 데이터의 신뢰 확보를 위한 수단을 강구하여야 함(약관 및 책임 이행 서약서 등)
- 고객 데이터 제공시 필요한 프로세스
. 암호화 : 동기 방식의 암호화 알고리즘 사용
. 폐기 기한 : 제휴 서비스 종료시에 자동 폐기
. 접근 레벨 : 접근 권한 관리
. 제휴 서비스간의 개인 정보 연동 및 권한 : 개인정보 공유 항목 정의 및 권한/개인 정보 동기화
- 가입 정보는 최소화할하여 진입 장벽을 없앨 것
- 공인된 암호화 알고리즘(동기/비동기 포함)을 사용하고 가이드를 배포함
- 고객 일부 정보는 암호화함(패스워드, 주민번호, 신용카드/계좌 번호 등)
- Third Party와 정보 연동시에는 필히 암호화 알고리즘을 사용할 것
- 영/숫자/특수 문자 혼용 가능하며 복잡도 기준을 마련하여 심플한 패스워드는 제외하고, 패스워드 길이는 6-12자 이내 사용 등 정의
- 암호화 되어 저장됨
- 사용자에게 패스워드는 주기적(30, 60, 90일 등의 기준에 의해)으로 변경 요청함
- Two Factor Authentication과 연동 가능하도록 설계 및 아키텍처 구성함
- 악의적 사용자 및 해킹 의심 가입자일 경우 관리회사에서 강제 패스워드 변경 가능 및 본인 확인 프로세스 적용할 수 있음
- 가입 정보
. UserId : 6 ~ 12자이내로 OpenID행태, 이메일, 전화번호 등 제휴 사이트에 따라 다양한 아이디가 수용가능해야 하고 생성 규칙인 이메일, OpenID, 전화번호 등의 생성 규칙에 준함
. 이름(40자 이내), 닉네임(40), 이메일(40), 생년월일(12), 성별(1), 우편번호(10), 국가(40), 언어(40), 타임존(40) 이 제공되며 주소, 전화번호, 지역 등은 서비스에 따라 별개로 관리함
- Unique identitier : User Sequence Number(usn)를 사용함
- 가입정보 공개 여부는 사용자가 판단할 수 있도록 함
- 가입 인증을 위해서 OpenID일 경우 이메일 인증을 추가함
- Federation 아이디들은 기존의 실명 확인 정보를 확인하여 매핑(본인 확인 거침) 함
- 로깅 : 연동/인증 정보는 로그과 6개월 이상 보관하여야 함
- 미성년 고객에 대한 관리 수단이 있어야 함(부모 동의 등)
- 개인 정보는 항상 신뢰성 보장 활동(아이디 상태 관리, 개인 정보 현행화)을 주기적으로 함
- OpenID 스펙 위에 제휴사의 인증 API를 통해 다른 인증 수단을 추가하는 방안 마련
- 제휴사와는 제휴를 통해 Federation 수단을 추가하고 사용자에게는 고지 의무를 가지므로 매핑 단계에서 가입과 동의, 약관 정보를 법규에 위반하지 않게 추가하여야 함
- 상호(제휴사와 인증 Provider)는 Security Token은 필수적으로 공유되어야 하고 필요한 개인정보는 고객 선택권에 따라 서비스로 정보가 연동될 수 있어야 함
- 개인 고객은 개인이 identity를 확인하여 정보를 관리할 수 있음
- 법인 고객/그룹 고객 아이디일 경우 개인으로 사용할 수 없고 특정 서비스에서만 사용 관리를 해주어야 함
- Chief Privacy Officer (CPO)에 의한 개인 정보 보호 정책이 준수되어야 하고 주기적인 관리(감사 포함)되어야 함
- 개인/법인의 고객 정보는 개인 정보 보호법 테두리내에서 운용되어야 함
- 개인 정보 보호 정책 안내 페이지를 제공함
- P3P 규약 준수
- identity life cycle 관리
- 개인 정보 관리 툴 제공
- 일부 로우(가공이 안된) 통계 데이터 제공
- 외부 연동 인터페이스 규격 정의
- 보안 이슈에 대한 정의 및 해결 방안 도출








