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