정보처리기사

[정보처리기사 요약 2-6] 암호화, 접근통제, 스토리지(DAS/NAS/SAN)

Hong's_Computer 2026. 2. 25. 11:04
반응형
본문에 오류가 있을 수 있음을 감안하고 봐주시길 바랍니다.
# 문제 풀이 중 오답노트 하면서 나온 내용을 정리한 것

 

암호화(Encryption): 데이터를 보낼 때 송신자가 지정한 수신자 이외에는 그 내용을 알 수 없도록 평문을 암호문으로 변환하는 것이다.

  • 암호화(Encryption) 과정: 암호화되지 않은 평문을 암호문으로 바꾸는 과정
  • 복호화(Decryption) 과정: 암호문을 원래의 평문으로 바꾸는 과정
  • 암호화 기법: 개인키 암호화 방식, 공개키 암호화 방식

 

접근통제(Access Control = 접근 제어): 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한하는 것이다. 시스템 및 네트워크에 대한 가장 기본적인 수단은 IP와 서비스 포트로 볼 수 있다. 네트워크 접근 제어시에는 인터페이스의 접근 제어와 ACL 등이 있다.

정책 특징
임의 접근통제(DAC, Discretionary Access Control) · 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여하는 방식
· 데이터 소유자가 접근통제 권한을 지정하고 제어함
강제 접근통제(MAC, Mandatory Access Control) · 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식
· 시스템이 접근통제 권한을 지정함
· 데이터베이스 객체별로 보안 등급을 부여할 수 있고 사용자별로 인가 등급을 부여할 수 있음
역할기반 접근통제(RBAC, Role Based Access Control) · 사용자의 역할에 따라 접근 권한을 부여하는 방식
· 중앙관리자가 접근통제 권한을 지정함
· 다중 프로그래밍 환경에 최적화된 방식

 

접근통제 3요소

  • 접근통제 정책: 어떤 주체가 언제, 어디서, 어떤 객체에게, 어떤 행위에 대한 허용 여부를 정의하는 것이다.
종류 특징
신분 기반 정책 주체나 그룹의 신분에 근거하여 객체의 접근을 제한하는 방법
· IBP: 최소 권한 정책으로 단일 주체에게 하나의 객체에 대한 허가를 부여함
· GBP: 복수 주체에 하나의 객체에 대한 허가를 부여함
규칙 기반 정책 주체가 갖는 권한에 근거하여 객체의 접근을 제한하는 방법
· MLP: 사용자나 객체별로 지정된 기밀 분류에 따른 정책
· CBP: 집단별로 지정된 기밀 허가에 따른 정책
역할 기반 정책 GBP의 변형된 정책으로 주체의 신분이 아니라 주체가 맡은 역할에 근거하여 객체의 접근을 제한하는 방법
  • 접근통제 메커니즘: 정의된 접근통제 정책을 구현하는 기술적인 방법이다. 접근통제 목록, 능력 리스트, 보안 등급, 패스워드, 암호화 등
  • 접근통제 보안모델
종류 특징
기밀성 모델 · 군사적인 목적으로 개발된 최초의 수학적 모델
· 기밀성 보장이 최우선이며 군대 시스템 등 특수 환경에서 주로 사용됨
무결성 모델 · 기밀성 모델에서 발생하는 불법적인 정보 변경을 방지하기 위해 무결성을 기반으로 개발된 모델
접근통제 모델 · 접근통제 메커니즘을 보안 모델로 발전시킨 것으로 대표적으로 접근통제 행렬(Access Control Matrix)이 있음
· 접근통제 행렬: 임의적인 접근통제를 관리하기 위한 보안 모델로 행은 주체, 열은 객체 즉, 행과 열로 주체와 객체의 권한 유형을 나타냄

접근통제 행렬(Access Control Matrix)

 

접근통제 조건

  • 값 종속 통제(Value-Dependent Control): 객체에 저장된 값에 따라 다르게 접근통제를 허용해야 하는 경우
  • 다중 사용자 통제(Multi-User Control): 지정된 객체에 다수의 사용자가 동시에 접근을 요구하는 경우
  • 콘텍스트 기반 통제(Context-Based Control): 특정 시간·네트워크 주소·접근 경로·인증 수준 등에 근거하여 접근을 제어하는 방법이다. 다른 보안 정책과 결합하여 보안 시스템의 취약점을 보완할 때 사용한다.

 

 

데이터베이스 백업: 전산 장비의 장애에 대비하여 데이터베이스에 저장된 데이터를 보호하고 복구하기 위한 작업이다.

  • 물리 백업: 데이터베이스 파일을 백업하는 방법이다. 백업 속도가 빠르고 작업이 단순하지만 문제 발생 시 원인을 파악 및 문제 해결이 어렵다.
  • 논리 백업: DB 내의 논리적인 객체들을 백업하는 방법, 복원 시 데이터 손상을 막고 문제 발생시 원인 파악 및 해결이 수월하지만 백업/복원 시 시간이 많이 소요된다.

 

로그 파일: 데이터베이스의 처리 내용이나 이용 상황 등 상태 변화를 시간의 흐름에 따라 모두 기록한 파일이다. 데이터베이스의 복구를 위해 필요한 가장 기본적인 자료이며 로그 파일은 트랜잭션 시작 지점·Rollback 시점·데이터 입력·수정·삭제 시점 등에서 기록된다.

  • UNDO: 로그파일을 기반으로 데이터베이스를 과거 상태로 복귀시켜 데이터베이스 상태를 일관성 있게 유지(실행 취소)
  • REDO: 로그 파일을 기반으로 데이터베이스를 현재 상태로 재생시켜 데이터베이스 상태를 일관성 있게 유지(재실행)
  • wtmp: 리눅스 시스템에서 사용자의 성공한 로그인/로그아웃 정보 기록, 시스템의 종료/시작 시간 기록
  • xferlog: FTP로 접속하는 사용자에 대한 로그를 기록

 

 

데이터베이스 복구 알고리즘

  • NO-UNDO/REDO: 데이터베이스 버퍼의 내용을 비동기적으로 갱신한 경우의 복구 알고리즘 # 트랜잭션이 완료된 내용을 일정 주기나 작업량에 따라 시간차이를 두고 저장매체에 기록한 것
  • UNDO/NO-REDO: 데이터베이스 버퍼의 내용을 동기적으로 갱신한 경우의 복구 알고리즘 # 트랜잭션이 완료되기 전에 데이터베이스 버퍼의 내용을 동시적으로 저장매체에 기록한 것
  • UNDO/REDO: 데이터베이스 버퍼의 내용을 동기/비동기적으로 갱신한 경우의 복구 알고리즘
  • NO-UNDO/NO-REDO: 데이터베이스 버퍼의 내용을 동기적으로 저장매체에 기록하지만 데이터베이스와 다른 영역에 기록한 경우의 복구 알고리즘

 

스토리지(Storage): 단일 디스크로 처리할 수 없는 대용량의 데이터를 저장하기 위해 서버와 저장장치를 연결하는 기술이다.

  • DAS(Direct Attached Storage): 서버와 저장장치를 전용 케이블로 직접 연결하는 방식이다.(종류: eSATA, SATA, SCSI 등)
    • 장점: 속도가 빠르고 설치 및 운영이 쉽다, 초기 구축 비용 및 유지보수 비용이 저렴하다.
    • 단점: 직접 연결하는 방식이므로 다른 서버에서 접근할 수 없고 파일을 공유할 수 없다. 확장성 및 유연성이 떨어진다.
  • NAS(Network Attached Storage): 서버와 저장장치를 네트워크를 통해 연결하는 방식이다.
    • 장점: Ethernet 스위치를 통해 다른 서버에서도 스토리지에 접근할 수 있어 파일 공유가 가능하다, DAS에 비해 확장성 및 유연성이 우수하다.
    • 단점: 기존 네트워크 망을 사용하므로 대역폭에 따라 성능이 좌우되며 트래픽이 몰릴 경우 병목 현상이 발생할 수 있다.
  • SAN(Storage Area Network): DAS의 빠른 처리와 NAS의 파일 공유의 장점을 혼합한 방식으로 서버와 저장장치를 연결하는 전용 네트워크를 별도로 구성하는 방식이다.(종류: iSCSI 등) 네트워크상에 광채널 스위치의 이점인 고속 전송과 장거리 연결 및 멀티 프로토콜 기능을 활용한다.
    • 장점: 저장장치를 공유함으로써 여러 개의 저장장치나 백업 장비를 단일화시킬 수 있다, 확장성·유연성·가용성이 뛰어남.
    • 단점: 별도의 광케이블 및 스위치 등 전용 네트워크를 구축해야 하므로 초기 도입 비용이 매우 비싸고 시스템 구성 및 관리가 복잡하다.

 

엔티티(Entity)를 테이블로 변환: 논리 데이터 모델에서 정의된 엔티티를 물리 데이터 모델의 테이블로 변환하는 것

논리적 설계(데이터 모델링) 물리적 설계
엔티티(Entity) 테이블(Table)
속성(Attribute) 컬럼(Column)
주 식별자(Primary Identifier) 기본키(Primary Key)
외부 식별자(Foreign Identifier) 외래키(Foreign Key)
관계(Relationship) 관계(Relationship)
  • 슈퍼타입 기준 테이블 변환: 서브타입을 슈퍼타입에 통합하여 하나의 테이블로 만드는 것이다. 서브타입에 속성이나 관계가 적을 경우에 사용하고 서브타입의 모든 속성이 포함되어야 한다.
  • 서브타입 기준 테이블 변환: 슈퍼타입 속성들을 각각의 서브타입에 추가하여 서브타입들을 개별적인 테이블로 만드는 것이다.
  • 개별타입 기준 테이블 변환: 슈퍼타입과 서브타입들을 각각의 개별적인 테이블로 변환하는 것이다. 슈퍼타입과 서브타입 테이블들 사이에는 각각 1:1 관계가 형성된다.

속성을 컬럼으로 변환

  • 일반 속성 변환: 속성과 컬럼은 명칭이 반드시 일치할 필요는 없으나 개발자와 사용자 간 의사소통을 위하여 가능한 한 표준화된 약어를 사용하여 일치시키는 것이 좋음.
  • Primary UID를 기본키로 변환: 논리 데이터 모델에서의 Primary UID는 물리 데이터 모델의 기본키로 만듦
  • Primary UID(관계를 UID Bar)를 기본키로 변환: 다른 엔티티와의 관계로 인해 생성된 Primary UID는 물리 데이터 모델의 기본키로 만듦
  • Secondary(Alternate) UID를 유니크 키(Unique Key)로 변환: 논리 모델링에서 정의된 Secondary UID 및 Alternate Key는 물리 모델에서 유니크 키(Unique Key)로 만듦
반응형