2016년 6월 9일 목요일

정보보안기사 정리 4 - 사용자 인증 유형(생체인증기술평가 항목 등), OTP, SSO, EAM, IAM, Kerberos

사용자 인증 유형, 생체인증기술평가 항목, OTP, SSO, EAM, IAM, Kerberos

1. Access Control (접근통제)
- 용어
  ① Subject(주체, 행위자): 객체 또는 개체의 데이터에 접근 요청하는 능동적 개체.
  ② Object(객체, 제공자):  접근대상이 될 수 있는 개체
  ③ Access(접근): 주체의 활동. 읽고, 만들고, 삭제, 수정하는 행위를 하는 것을 말함.
- 접근 통제 절차: 식별 → 인증 → 인가 ( → 책임 추적성 )
  ① identification: 인증 받기 위해 본인을 시스템에 알려주는 것. 메모리카드, 계정번호 같은 정보를 줌.
  ② Authentication: 주체의 신원을 검증하는 것. 패스워드, PIN, 생체인증 등 사용.
  ③ Authorization: 접근을 허용하고 권한을 부여함. 접근제어목록(ACL), 보안 등급 부여.
  ④ 책임 추적성: 주체가 하고 있는 행위를 기록. 책임 소재 파악하기 위한 것.
- 접근통제 기본원칙
  ① 직무 분리: 업무에 대한 승인, 수정 등 모든 것이 한사람에 의해 처리 되지 않게 하는 것. 직무를 분리 함(예: 보안/감사, 개발, 운영, 관리 등으로 나눔).
  ② 최소 권한(Need-to-Know(알 필요성)): 허가 받은 일을 하기 위해 최소한의 권한만 부여하는 것.


2. 사용자 인증
- 사용자 인증
  접속한 사용자의 신원 및 자격 증명하는 것. 서명자만 서명문을 생성할 수 있으며 위조가 불가능 함. 공개키를 통하여 상대방이 서명문의 서명자를 확인 가능.
  사용자 인증을 하면 일정 세션 동안 인증이 유지됨.
  * 보통 인증(Authentication)은 사용자 인증을 의미함.
- 메시지 인증(데이터 출처 인증)
  전송된 메시지의 내용이 변경 또는 수정되지 않고 그대로 있을음 확인하는 것.
  수신된 메시지가 정당한 사용자로부터 전송되었음을 확인함.
- 사용자 인증 유형
  ① Type 1(지식): 주체가 알고 있는 것을 보여줌. 예: 패스워드, PIN-2.
  ② Type 2(소유): 주체가 가지고 있는 것을 보여줌. 예: 토큰, 스마트 카드
  ③ Type 3(존재): 주체를 나타내는 것을 보여줌. 예: 생체인증
  ④ Type 4(행위): 주체가 하는 것을 보여줌. 예: 서명, 움직임, 음성
  ⑤ Two Factor: 위 타입 중 두가지 인증 매커니즘을 결합하여 구현. 예: 토큰+PIN-6.
  ⑥ Multi Factor: 가장 강한 인증, 3가지 이상의 매커니즘 결합.
  * Type 3과 Type 4를 합쳐 생체 인증이라고도 함.

3. 지식기반 인증 - 패스워드 인증
- 지식기반 인증의 보안성은 비밀번호 크기와 랜덤성에 의해 보안성의 안전도가 결정됨.
- 가장 많이 사용되는 것이 패스워드 인증 방식
- 가장 안전성이 낮음. 고정된 패스워드(fixed password), 일회용 패스워드(one-time password)로 나뉨.
  ① fixed password: 서버에 패스워드 자체를 저장시키거나 해싱을 통해 해시값으로 저장함
  ② 패스워드 salting: 패스워드에 salt라는 랜덤 문자열을 붙임.
      UNIX에서 이 방법을 응용해서 사용. salt를 통해 사전 공격을 어렵게 만들고, 비밀번호가 같은 사용자를 발견하기가 거의 불가능.
  ③ One-Time Password(OTP): 엄격안 보안을 제공하며, 동기식/비동기식 방식이 있음. 사전공격, 스니핑 등으로부터 안전하지만 별도의 OTP 기기가 있어야 함.
  ④ Challenge-response 인증: 난수나 타임스탬프 같은 값을 Challenge라고 하며, 이 값을 상대방에게 전달하면
     수신자는 Challenge 값을 함수에 적용하여 Responce 결과 값을 얻고 이를 송신자에게 보냄
  ⑤ zero-knowledge authentication(영지식 인증): Flat-Shamir, Feige-Flat Shamir, Quisquater 프로토콜이 있음. 이 방식은 자신의 비밀번호를 노출하지 않고 자신이 비밀정보를 알고 있음을 증명하는 프로토콜.
     Eve의 도청을 방지하기 위해 사용하는 방식.
     soundness(정당성), completeness, zero-knowledgeness(영지식성)을 만족해야 영지식 인증이라고 할 수 있음.

- 패스워드 인증 문제점: 크래킹 툴에 의해 크랙하기 쉽고, 기억이 어려움.
- 패스워드 안전성
  S: 패스워드 길이, L: 패스워드 사용기간, R: 사용빈도수,  P=(L*R)/S, 즉, P가 작을수록 안정성이 높음.

4. 지식기반 인증 - i-PIN (Internet Personal Identification Number)
- i-PIN 발급 기관으로부터 주민번호 실명확인을 통해 본인임을 확인 받고 i-PIN을 발급 받음.
- 사용자 인증이 필요한 곳에서 주민번호를 직접 사용하지 않고 i-PIN을 통해 인증 함.

5. 소유기반 인증
- 토큰, 신분증, OTP, 스마트카드 등을 이용한 방식
- 메모리카드(토큰) 방식: 마그네틱선이 있는 카드. 보안코드만 저장 가능 함. 카드 판독기가 필요하며 토큰을 잃어버릴 경우 재발행해야 함.
- 스마트카드: 마이크로 프로세스, OS, 보안 모듈, 메모리등으로 구성됨.
  예: 무선 통신 분야의 모바일에 SIM(subscriber identify module)을 적용하여 부당변경방지 기능을 넣음. ROM에는 카드 번호, 카드 사용기간 저장. EEPROM에는 프로토콜, 카드 기능 같은 어플 데이터 저장.
  하지만 RF를 사용하므로 도청이나 장애 유발 공격, 채널 공격 등을 할수 있음.
- OTP(One-Time Password): 로그인시 매번 일회용 비밀번호 생성을 함. 가로채기, 훔쳐보기 등에 대응하며, 휴대폰 인증으로 편리성이 높음. 비동기/동기 방식이 있음.
  ① 비동기방식: Challenge-Response 방식을 사용.
     서버가 난수(Challenge 값)를 생성하여 사용자에게 보냄 → 사용자가 Challenge 값을 이용하여 일회용 PW 생성(Responce 값) → PW를 입력하면 서버가 검증하고 인증 완료
     매번 새로운 난수롤 사용하므로 Brute force 공격을 막음. 구조는 간단하지만, 사용이 번거로움.
  ② 동기화방식: 토큰 장치와 서버의 인증서비스는 반드시 동일한 비밀키 공유하는 방식

6. OTP 동기화 방식: 시간 동기화, 이벤트 동기화(계수기 동기화)
- 시간동기화
  OTP 기기의 시간을 이용하여 비밀번호를 생성. PIN(사용자가 생성한 값과 사용자 ID) 값을 입력하면 서버는 PIN으로 비밀키를 찾고 생성된 PW가 유효한지 검사함.
  하지만 인증서버와 시간이 동기화되어야 하고 일정시간 인증을 못 받으면 일정시간 기다려야 함.
- 이벤트(계수기) 동기화
  토큰 장치 버튼 누르면 다음 인증값이 해싱되어 나타남. 결과값과 ID를 입력하면 됨.
  사용이 간편하고 시간 동기화가 필요없지만 인증 서버의 계수기 값이 동기화되어 있어야 함.
  인증서버와의 인증횟수(Counter)를 기록하여 OPT 생성시 사용하는 것. 서버와 OPT 사이의 Counter 오차 범위는 보통 -16 ~ +16.

* OTP 방식에 대해 참고할만한 자료
1. http://d2.naver.com/helloworld/279640 (OTP 방식 설명 및 이용 사례에 대해 잘 나옴)

7. 개체 특성 기반 인증
- 자신의 생체 정보를 서버에 저장시켜 놓고 인증시 사용.
- 생체 인증 기술 평가 항목
  ① 보편성: 모든 사람이 가진 생체 특징인가?
  ② 유일성: 동일한 생체 특징을 가진 타인은 없는가?
  ③ 지속성: 시간에 따른 변화가 없는 건가?
  ④ 획득성: 정량적으로 측정이 가능한가?
  ⑤ 성능: 환경변화와 무관하게 높은 정확성으로 측정이 가능한가?
  ⑥ 수용성: 사용자의 거부감은 없는가?
  ⑦ 기만성(circumvention): 고의적 부정 사용으로부터 안전한가?
- 생체 인증 정확도
  FRR(부정거부, type 1 error): 인식돼야 하는데 안되는 비율. 총 시도횟수중 거부된 횟수를 백분율로 나타냄.
  FAR(부정허용, 오인식률, type 2 error): 인식 안 될 사람이 인식되는 것.
- 생체인증기술 도입에 필요한 것
  생체 인증 장치의 속도 및 처리량 향상, 수용성 향상, 정확성 향상
- 생체인증 기술 단점
  높은 비용, 표준화 부족, 에러, 거부감, 성능

- 생체인식 기술 특징
(src: https://spri.kr/post/7902)
- 생체인식 기술 적용분야 예
(src: https://spri.kr/post/7902)
  * 참고: https://spri.kr/post/7902 보면 생체인식과 프라이버시 보호, 주요 사업자 동향 정보 있음. (2015.6 자료임)
8. 기기인증 기술
- 네트워크에 참여하는 기기들에 대한 인증 기술
- 기기인증 방식
  ① 패스워드 인증
  ② MAC 주소 인증: 별도의 어려움 없이 구현 가능. 하지만 기기가 바뀌면 MAC 주소를 재등록 해야하고 MAC 주소 유출의 우려가 있으며,
     레지스트리에서 MAC 주소 변경 가능. 부인 방지 불가.
  ③ 암호 프로토콜을 활용한 인증: 무선 랜의 경우  802.1x, WPA 등의 표준이 있고, 부인 방지 가능.
  ④ Challenge/Response 인증: 일회성 해시값을 생성하여 사용자를 인증하는 방법. OTP와 유사.
  ⑤ PKI 기반 인증

9. RFID
- RF(radio frequency)와 태그를 이용함. 태그에는 전자칩이 있고, 태그가 부착된 개체들을 식별.
  태그가 송신하는 전파의 전원 공급방법에 따라 수동형, 능동형이 존재 함.
- RFID 네트워크 공격 타입
  ① 도청공격: 리더기와 원거리 통신이 가능하므로 통신 도청 가능
  ② 트래픽 분석: 태그와 리더기간 통신 트래픽분석을 하여 어떤 물품이 빠지고 들어오는지 분석가능. 이를 통해 위치 추적도 가능
  ③ 위조: 태그 메모리에 데이터 항목을 지우거나 변조
  ④ DoS: 리더기로 많은 태그들에게 많은 질의를 보냄. 태그는 질의에 대해 응답해야만 함.
- RFID 보안 기술
  ① kill 명령어로 태그를 비활성화 함.
  ② sleep, wake로 태그 끄고 킴.
  ③ Blocker 태그: 블로커라는 ic태그 설치로 주변 태그의 id를 못읽게 함.
  ④ Faraday Cage: 금속 박막으로 태그를 막아 신호 전달 방해.
  ⑤ Jamming: 강한 방해 신호로 리더기 전송 신호 방해.
  ⑥ Hash lock(암호기술을 사용한 방법): oneway 해시함수를 기반으로한 접근제어 매커니즘 사용.

10. 통합 인증 체계
- SSO (Single Sign On)
- EAM (Extranet Access Management)
- IAM (Identity and Access Management)
- Kerberos

11. SSO (Single Sign On)
- 한번만 인증하면 시스템 내에서 재인증 없이 다른 곳에 접근가능한 것. 통합로그인솔루션이라고 함.
  로그인 관리가 간소화되어 관리가 편해지고, 보안 수준 향상. 패드워드 분실 가능성 줄어듬.
- 구성요소: 사용자, 인증 서버, LDAP, SSO Agent
  인증 서버: ACL를 통한 통합 인증 서버
- LDAP: 네트워크 상 자원 식별, 사용자와 어플들이 자원에 접근하게 하는 네트워크 디렉터리 서비스, X.500기반 디렉터리 데이터베이스에 접근하기 위핸 프로토콜
- SSO Agent: 각 정보시스템에 자동인증 정보(토큰) 송수신
- 장점: 운영비용감소, 보안성강화, 편의성 증가, 효율적 관리
- 단점: SSO 서버가 단일실패 지점, SSO 서버 침해 시 피해가 큼. SSO 개발/운영비

12. EAM(Extranet Access Management)
- 인트라넷, 엑스트라넷, 서버/클라 환경에서 자원의 접근 인증과 권한 부여 등을 관리하는 솔루션.
- SSO 기능 및 권한에 따른 차등적 자원 접근 가능함. 금융권, 대기업에서 사용
- 예: 사용자가 집에서 학교 또는 회사 내에 접근시 SSO 로그인을 통해 학교 또는 회사의 모든 자원에 접근 가능한 권한을 부여 받음.
  로그인 이후 EAM이 사용자에게 부여된 권한에 따른 자원 접근을 통제한다.
- 즉, EAM은 SSO을 관리하고 조직에서 정한 권한 정책을 구현하는 것을 제공하는 시스템이다.

13. IAM(Identity and Access Management)
- EAM에서는 사용자의 자원에 대한 차등적 접근 제어를 위해 시스템 관리자가 일일이 접근 권한을 부여해줘야 함. 따라서 시간이 오래 걸리고 비용이 많이 든다.
- EAM의 단점을 보완하여 자동적으로 권한을 부여/관리하는 기능이 추가된 것이 IAM 이다.

* SSO, EAM, IAM 인증 종류 및 동작원리 참고 자료
1. http://onesixx.tistory.com/1167
2. http://androphil.tistory.com/593


12. Kerberos
- 윈도우 Active Directory가 Kerberos를 이용한 예
- MIT에서 설계. 인증 프로토콜 및 KDC.
- 대칭키 암호 기법의 티켓 기반 인증 프로토콜. Kerberos 버전 4는 DES 사용
- 유닉스 시스템에서 사용했고, 현재 윈도우 Active Directory가 인증에 사용하고 있음.
- 분산 환경을 위한 SSO의 예, 이종 네트워크를 위한 표준.
- 티켓이 지정된 유효기간 내에만 있다면 동일한 계정으로 여러 서비스 받음.
- 사용자 인증을 인증서버에서 하므로 보안성 좋음

13. Kerberos 구성 요소
<Kerberos 구성요소>
- AS(authentication server, 인증서버): 각 사용자가 AS에 등록하고 사용자 ID/PW 발급 받음.
- TGS(ticket-granting server, 티켓 발급 서버): 실질서버에 티켓 발급 해줌. 사용자와 실질 서버 사이에 사용할 세션키 발급.
- 실질서버: 서비스 제공 서버

* Kerberos는 클라/서버 구조로 설계됨. 개인 대 개인 인증용으로 사용 안함.

14. Kerberos 인증 과정
- AS가 모든 사용자의 패스워드를 알고 있고, 중앙집중식 DB에 저장함.
- Kerberos authentication is based entirely on the knowledge of passwords that are stored on the Kerberos Server.
- 과정
  ① Logging into a UNIX workstation that is using Kerberos looks the same to a user (Kartik) as logging into a regular UNIX workstation.
     Sitting at the workstation, the user sees the traditional "login:" and "password:" prompts.
     In Kerberos 4 as soon as Kartik types his username, the workstation sends a message to the Kerberos authentication server.
     This message contains Kartik’s username and indicates that Kartik is trying to login.

  ② The Kerberos server checks its database and, if Kartik is a valid user, sends back a ticket granting ticket that is encrypted using Kartik’s password.
      The ticket granting ticket contains the following two pieces of information: a session key "Kses",
      and a ticket for the Kerberos ticket granting ticket "Ttgs", encrypted with both the session key and the ticket granting service’s key "Ktgs", i.e.,

  ③ The workstation then asks Kartik to type in his password, and attempts to decrypt the encrypted ticket using the password that Kartik has supplied.
      If this is successful then the workstation forgets about Kartik’s password and uses the ticket granting ticket exclusively.
      If decryption fails, the workstation gives Kartik another chance to type the right password.

  ④ Now, if Kartik wanted to access his files on the file server, the system software on the workstation Kartik is currently on,
      contacts the ticket granting service, and asks for a ticket for the file server.
      This request is encrypted using the session key Kses.
      The ticket granting service sends Kartik back another ticket, encrypted with the file server’s password,
      that Kartik’s workstation can present to the file server service to request files.
      The contained ticket also contains Kartik’s authenticated username, the expiration time, and the internet address of Kartik’s workstation.
      Kartik’s workstation presents this ticket to the file server, which decrypts the ticket using its own password, and grants Kartik access to the file system.


- A few points about Kerberos are now in order:
  ① Passwords are stored only on the Kerberos server, not on the individual workstations.
      The user’s password is never transmitted on the network–encrypted or otherwise.
      The Kerberos authentication server is able to authenticate the user’s identity because the user knows his own password.
  ② The ticket granting service was able to establish Kartik’s identity because Kartik’s file service ticket request was encrypted using the session key "Kses",
      moreover this message included the ticket granting ticket encrypted with "Ktgs";
      the only way Kartik could have obtained this information is by decrypting the original ticket granting ticket obtained from the Kerberos authentication server:
      to do this Kartik would need to know his own password.
  ③ The file server service was happy with Kartik’s identity since the ticket that it received from Kartik’s workstation is encrypted with its own key;
      this ticket also includes Kartik’s username and the IP address of his machine (information that could only be put there
      by the ticket granting service), and this is good enough for the file server
      (since the ticket granting service is sure of Kartik’s identity).
- 인증 과정 출처: SFWR 4C03, Computer Networks & Computer Security, Lecturer: Kartik Krishnan Lecture 31-33


15. Kerberos 장단점
- 장점
  기밀성, 무결성 보장, 재생공격 예방, 이기종간 서비스 인증 가능(SSO), 대칭키 사용하여 도청으로부터 안전
- 단점
  패스워드 사전공격에 약함.
  비밀키, 세션키가 임시로 단말기에 저장되어 공격당할 수 있음.
  타임스탬프로인한 시간 동기화 필요. 비밀키 변경 필요.
  KDC가 단일 실패지점. TGS & AS는 물리 공격 및 악성코드에 취약

16. Kerberos 버전 4와 5의 차이
- 암호화 시스템 의존성: 버전 4는 DES를 사용하므로 보안 강도에 문제가 있을 수 있지만 버전 5는 암호문에 암호유형 구별자 사용하여 모든 대칭키 암호기술 사용 가능.
- 인터넷 프로토콜 의존성: 버전 4는 인터넷 프로토콜 주소 사용해야 하지만 5는 사용하는 네트워크 주소의 유형을 표기하므로 다양한 유형의 네트워크 주소도 사용 가능.
- 티켓 유효기간: 버전 4의 티켓 최대 유효기간은 21시간 정도 이지만 버전 5에서는 만료시간을 명시하여 티켓을 사용함
- 버전 5의 오버헤드가 상대적으로 더 크다.

댓글 없음:

댓글 쓰기