Week 7 - 디피-헬만, 사용자 인증, 접근 제어

공격의 시각적 예시

아래 표는 공격자 Darth가 Alice와 Bob 사이의 키 교환을 어떻게 가로채고 자신의 키를 삽입하는지를 보여줍니다. 여기서 Alice의 개인 키는 \( X_A \), Bob의 개인 키는 \( X_B \)로 표기합니다.
단계
Alice의 동작
Darth의 동작
Bob의 동작
1
전송
를 가로채고 대신 전송
-
2
-
대신 을 받아 계산
3
-
를 가로채고 대신 전송
전송
4
대신 수신하고 계산
-
-
5
-
Darth는 Alice와 공유된 및 Bob과 공유된 을 사용하여 두 사용자 간의 통신을 제어
 
PDF 파일의 내용 전체를 기반으로 시험 준비를 위한 요약을 제공할게. 가능한 한 모든 내용을 포함해서 정리할게.

3장 사용자 인증 요약

1. 사용자 인증의 정의 및 절차 (RFC 4949):

  • 사용자 인증은 시스템에 접근하는 자격에 대한 신원을 확인하는 절차.
  • 인증의 핵심 요소: 정보보안의 근본적인 요소이며 접근 제어 및 사용자 책임의 기반.
  • 단계:
      1. 식별 단계: 사용자가 자신의 신분을 보안 시스템에 제시.
      1. 입증 단계: 인증 정보를 제시하거나 생성하여 식별자와의 유대를 증명.

2. 사용자 인증 수단:

  • 알고 있는 것을 통한 인증: 패스워드, PIN, 질문에 대한 응답.
  • 소유물을 통한 인증: 스마트 카드, 전자 키 카드, 물리적 키.
  • 생체 조직을 통한 인증: 지문, 망막, 얼굴.
  • 행동을 통한 인증: 목소리 패턴, 필적, 타이핑 리듬.

3. 패스워드 인증:

  • 패스워드 취약점:
    • 오프라인 사전 공격, 특정 계정 공격, 대중적인 패스워드 공격, 다수 패스워드 사용, 전자 감시 등.
  • 조치 방안:
    • 패스워드 파일 접근 통제, 침입 탐지, 계정 잠김 메커니즘, 패스워드 정책 강화.
  • 해시화된 패스워드 사용: 유닉스 초기 스키마에서 8자리 패스워드, 12비트 솔트 사용. 현대에는 훨씬 강력한 해시/솔트 스키마가 사용됨.

4. 패스워드 크랙킹:

  • 사전 공격: 사전에 수록된 패스워드를 패스워드 파일과 대조하여 암호를 알아내는 방법. 솔트와 해시를 사용해 방어.
  • 레인보우 테이블 공격: 모든 솔트에 대한 해시 값 테이블을 미리 계산한 후 패스워드 해시와 대조.

5. 패스워드 파일 접근 제어:

  • 암호화된 패스워드에 대한 접근을 차단해 오프라인 예측 공격 방지.
  • 섀도 패스워드 파일 사용: 해시된 패스워드를 개별 사용자 ID와 함께 저장.

6. 패스워드 선택 및 교육:

  • 사전 패스워드 검사: 사용자가 선택한 패스워드가 유추 가능하거나 약한 경우 이를 거절.
  • 패스워드 검사의 활성화: 시스템 자체에서 주기적으로 패스워드 크래커 실행.
  • 컴퓨터 발생 패스워드: 사용자는 기억하기 어렵지만 더 안전한 패스워드.
  • 사용자 교육: 강력한 패스워드 사용의 중요성을 교육.

7. 토큰 기반 인증:

  • 카드 유형: 금형 도안, 전자기 띠, 메모리 카드, 스마트 카드 등.
  • 메모리 카드: 데이터 저장만 가능하며 처리 능력 없음. ATM기 등에서 사용.
  • 스마트 카드: 내장된 마이크로프로세서를 포함해 더욱 강력한 보안 제공.

8. 생체 인증:

  • 생체 인증: 신체적 특징(얼굴, 지문, 망막 등)을 기반으로 개인을 인증. 패턴 인식에 기반하며 비용이 많이 든다.
  • 생체 인증 시스템의 작동: 생체 정보를 등록하고 그 정보를 기반으로 사용자 인증.

9. 원격 사용자 인증:

  • 추가적인 보안 위협: 도청, 패스워드 캡처, 인증 시퀀스 재전송 공격.
  • 이를 방어하기 위해 시도-응답(challenge-response) 프로토콜을 사용.

10. 인증 프로토콜:

  • 패스워드 프로토콜: 사용자 신원을 전송하고, 호스트는 난수를 생성해 패스워드 해시로 검증.
  • 토큰 프로토콜: 정적 패스워드 또는 일회성 패스워드를 생성해 인증.
  • 생체 프로토콜: 정적 생체 정보 또는 동적 생체 정보(목소리, 타자 패턴 등)를 이용한 인증.

이렇게 정리된 내용은 시험에 대비하여 모든 필수적인 정보를 포함하고 있어.
 
PDF의 내용에 기반하여, 4장을 누락 없이 시험을 위해 요약 정리해줄게.

4장: 접근 제어 요약

1. 접근 제어 정의:

  • NIST 정의: 정보의 획득, 사용 및 관련된 정보 처리 서비스 또는 특정 장비 접근을 관리.
  • RFC 4949 정의: 시스템 자원의 사용을 규제하고, 인가된 사용자만 접근을 허가하는 보안 정책.

2. 접근 제어의 세 가지 구성 요소:

  1. 인증(Authentication): 사용자의 신원을 검증.
  1. 접근 제어(Access Control): 자원에 접근할 수 있는 권한을 부여.
  1. 감사(Auditing): 자원에 대한 접근 기록을 유지하고, 변화를 모니터링.

3. 접근 제어 정책:

  1. 임의 접근 제어(DAC):
      • 신원 기반 접근 제어.
      • 사용자가 소유한 자원에 대해 다른 사용자에게 권한을 부여할 수 있음.
      • 접근 제어 행렬로 구성됨:
        • 주체(사용자)와 객체(파일, 자원)에 대한 접근 권한을 매트릭스로 표현.
      • 접근 제어 목록(ACL):
        • 각 객체에 대한 접근 권한을 리스트 형태로 관리.
      • 가용성 티켓(Capability tickets):
        • 주체가 가진 접근 가능한 객체와 기능을 리스트로 표현.
  1. 강제 접근 제어(MAC):
      • 보안 레벨과 허가를 기반으로 접근 제어.
      • 주체와 객체의 보안 레벨을 비교하여 접근을 허용.
  1. 역할 기반 접근 제어(RBAC):
      • 사용자에게 직접 권한을 부여하는 대신 역할에 권한을 부여하고, 사용자는 역할에 할당됨.
      • 사용자와 역할, 역할과 자원 간의 관계는 다대다 관계.
      • 사용자의 변화가 잦으나, 역할 자체는 비교적 고정적임.
  1. 속성 기반 접근 제어(ABAC):
      • 주체, 객체, 환경의 속성에 기반하여 접근을 제어.
      • 유연성과 표현력이 뛰어나지만, 복잡한 신뢰 관계를 요구함.

4. 접근 권한 및 모델:

  • 주체(Subject): 시스템 자원에 접근하는 사용자, 프로세스 등을 말함.
  • 객체(Object): 보호되는 자원(파일, 레코드, 페이지 등).
  • 접근 권한(Access Rights): 주체가 객체에 대해 수행할 수 있는 권한(읽기, 쓰기, 실행 등).
  • 접근 제어 모델(Access Control Model): 주체가 객체에 접근할 수 있는 방법과 권한을 나타내는 규칙 집합.

5. 접근 제어 시스템에서의 보호 도메인:

  • 주체가 객체에 대해 가지는 모든 접근 권한의 집합.
  • 사용자는 프로세스를 생성하며, 프로세스는 새로운 보호 도메인을 정의.
  • 프로세스와 보호 도메인의 연관성은 정적 또는 동적일 수 있음.

6. UNIX 파일 접근 제어:

  • inode는 파일의 속성 및 제어 정보를 담고 있는 제어 구조체.
  • 사용자 ID 및 그룹 ID를 기반으로 접근 권한을 설정.
  • 12개의 보호 비트로 파일 소유자, 그룹, 기타 사용자에 대한 읽기, 쓰기, 실행 권한을 지정.

7. 역할 기반 접근 제어(RBAC):

  • *역할(Role)**을 중심으로 접근 권한을 할당.
  • RBAC 모델:
      1. RBAC0: 기본적인 역할 할당.
      1. RBAC1: 역할 간의 계층 구조를 지원.
      1. RBAC2: 역할에 대한 제약 조건 추가.
      1. RBAC3: 모든 RBAC 기능을 포함.
  • RBAC의 제약 조건:
    • 상호 배타적 역할: 사용자는 하나의 역할만 할당 가능.
    • 카디널리티: 역할에 할당 가능한 사용자의 최대 수 제한.
    • 전제조건 역할: 특정 역할을 할당받기 위한 선행 역할이 필요.

8. 속성 기반 접근 제어(ABAC):

  • 주체, 객체, 환경의 속성을 기반으로 접근 제어.
  • ABAC의 주요 요소:
      1. 속성(Attributes): 주체나 객체의 속성.
      1. 정책 모델(Policy Model): 접근 허가를 정의하는 규칙 집합.
      1. 구조 모델(Structure Model): 정책을 적용하는 시스템 구조.

9. ABAC와 ACL, RBAC 비교:

  • ABAC는 유연성 및 표현력이 뛰어나지만, ACL이나 RBAC보다 더 복잡한 신뢰 관계를 요구.
  • RBAC는 역할을 사용해 사용자와 권한을 관리하며, 관리적인 작업이 필요.

이렇게 정리된 내용은 4장의 모든 주요 개념을 다루고 있어.
 
 
공격 유형
인증자
예시
전형적 방어
클라이언트 공격
비밀번호
전수 검색
시도-응답 프로토콜, 많은 후보자 보호
토큰
전수 검색
1회용 패스코드, 다중 인증
생체
False match 가능성
생체 인식 정확도 강화
호스트 공격
비밀번호
평문 도난, 사전전/전수 검색
패스워드 데이터베이스 보호, 해시 사용
토큰
비밀번호 도난
Challenge-response 프로토콜, 1회용 패스코드
생체
템플릿 도난
장비 인증 강화
도청, 도난, 복사
비밀번호
Shoulder surfing
비밀번호 관리자의 보호, 다중 인증
토큰
하드웨어 도난, 위조
Multifactor 인증
생체
생체 복제 (Spoofing)
Challenge-response 프로토콜을 통한 생체 데이터 보호
재사용 공격
비밀번호
도난된 비밀번호 응답 재전송
Challenge-response 프로토콜 사용
토큰
도난된 비밀번호 응답 재전송
Challenge-response 프로토콜, 1회용 패스코드
생체
도난된 생체 템플릿 응답 재전송
Challenge-response 프로토콜을 통한 보호
트로이 목마
비밀번호, 토큰, 생체
가짜 클라이언트 생성 및 탈취
신뢰성 있는 어플리케이션 사용, 다중 인증
서비스 거부
비밀번호
과도한 인증 시도로 인한 시스템 마비
Multifactor with token
공격 유형
인증자
예시
전형적 방어
클라이언트 공격
비밀번호
전수 검색
시도-응답 프로토콜, 많은 후보자 보호
토큰
전수 검색
1회용 패스코드, 다중 인증
생체
False match 가능성
생체 인식 정확도 강화
호스트 공격
비밀번호
평문 도난, 사전전/전수 검색
패스워드 데이터베이스 보호, 해시 사용
토큰
비밀번호 도난
Challenge-response 프로토콜, 1회용 패스코드
생체
템플릿 도난
장비 인증 강화
도청, 도난, 복사
비밀번호
Shoulder surfing
비밀번호 관리자의 보호, 다중 인증
토큰
하드웨어 도난, 위조
Multifactor 인증
생체
생체 복제 (Spoofing)
Challenge-response 프로토콜을 통한 생체 데이터 보호
재사용 공격
비밀번호
도난된 비밀번호 응답 재전송
Challenge-response 프로토콜 사용
토큰
도난된 비밀번호 응답 재전송
Challenge-response 프로토콜, 1회용 패스코드
생체
도난된 생체 템플릿 응답 재전송
Challenge-response 프로토콜을 통한 보호
트로이 목마 & 서비스 거부
비밀번호
가짜 클라이언트 생성 및 비밀번호 탈취
신뢰성 있는 어플리케이션 사용, 다중 인증
토큰
가짜 클라이언트 생성 및 토큰 탈취
Multifactor 인증
생체
가짜 클라이언트 생성 및 생체 정보 탈취
생체 인증 강화 및 Challenge-response 프로토콜
비밀번호, 토큰, 생체
과도한 인증 시도로 인한 시스템 마비
인증 시도의 한도 설정, 다수 오류 시 잠금

댓글

guest