REPORT주제 : 관계 데이터 모델에서 사용하는 키의 종류를 나열하고, 각 특징을 설명하시오.목 차Ⅰ. 관계 데이터 모델의 개념Ⅱ. 슈퍼키의 특징Ⅲ. 후보키의 특징Ⅳ. 기본키의 특징Ⅴ. 대체키의 특징Ⅵ. 외래키의 특징Ⅶ. 키의 구조제목 : 관계 데이터 모델에서 사용하는 키의 종류를 나열하고, 각 특징을 설명하시오.Ⅰ. 관계 데이터 모델(relational data model)의 개념관계 데이터 모델은 관계형 데이터베이스의 기반이 되는 데이터 모델로 폭넓게 사용이 되며 데이터의 논리적 구조가 릴레이션인 테이블 형태의 평면 파일로 표현되는 데이터 모델이다.자료 저장형태는 대부분 2차원 형태의 표(테이블)로 표현하는 방법을 써서 데이터베이스에 대한 내용들은 거의 관계 데이터 모델로 표현된다. 그리고 관계 데이터 모델은 수학 집합 이론에 근거하며, 관계 데이터 모델이 적용된 SQL언어는 비절차적인 언어로서 원하는 데이터를 쉽게 표현한다. 관계 데이터 모델에선 릴레이션의 투플들을 유일하게 구별하는 속성과 속성들의 집합인 키(key)가 필요한데 그 키는 하나의 릴레이션에서 모든 투플은 서로 다른 키를 가져야되고 최소한의 속성들로만 키를 구성해야한다. 키의 종류는 슈퍼키, 후보키. 기본키, 대체키, 외래키가 있다.Ⅱ. 슈퍼키(Super Key)의 특징슈퍼키는 유일성을 만족하는 속성 또는 속성들의 집합으로 모든 제약의 조건없이 레코드들을 식별할 수 있는 필드의 집합이다. 예를 들어 사용자 릴레이션에 사용자 id라는 속성이 있을 때 사용자 id 속성은 모든 사용자 투플마다 값이 다를 때 이 사용자 투플마다 값이 다르기 때문에 투플들과 유일하게 구별할 수 있으므로 아래 표에 있는 학번, 사용자 id, (학번 + 이름), (학번 + 사용자 id), (학번 + 이름 + 사용자 id)는 슈퍼키라고 할 수 있다.학번이름사용자 idA111이명학lee1313A222이재성js1635A333이재성ljs3698Ⅲ. 후보키(Candidate Key)의 특징후보키는 유일성과 최소성을 만족하는 속성 또는 속성들의 집합으로 레코드를 구별하는데 불필요한 필드를 제외하고 최소한의 필드로만 구성된 키이다. 슈퍼키 중에는 필요하지 않은 속성 값까지 확인하는 비효율적인 작업을 하게되는 키가 있는데 그 키를 필요한 속성 집합만으로 투플을 유일하게 구별할 수 있게 해주는 키가 후보키이다. 후보키가 되기 위해서 만족해야 하는 최소성, 유일성의 특성은 새로운 투플이 삽입되는 것과 기존 투플의 속성 값이 바뀌어도 유지되야한다는 특징을 가지고 있다. 만약에 후보키가 2개 이상의 속성으로 이루어져 있다면 그 키는 복합키라고 한다. 아래 표에 있는 후보키는 최소성과 유일성을 만족해야 되므로 고객번호, 사용자 id만이 후보키로 선정될 수 있다.고객번호이름주소사용자 id1이명학서울시lee13132최자현서울시cjh12443최자현대구시kwld1122Ⅳ. 기본키(Primary Key)의 특징기본키는 여러 후보키 중에서 기본적으로 사용하기 위해 선택한 키로 하나의 필드로 구성된 후보키를 이용하는 것이 유리하며 기본키는 식별자의 기능을 하기에 null 값이 될 수 없다.null 값이 기본키에 부적합한 이유는 기본키가 null 값인 투플은 다른 투플들과 구별하여 접근하기 어렵기 때문에 null 값이 있는 키는 기본키로 선택하지 않아야한다. 또, 후보키가 1개인 경우에는 후보키가 기본키가되고 릴레이션 당 기본키는 1개만 존재하기 때문에 기본키를 선정할 때 후보키가 여러 개인 경우에는 릴레이션의 특성을 제일 잘 반영하는 1개를 선택해야 한다.마지막으로 기본키를 선택 할 때에는 단순한 후보키를 기본키로 선택해야하고 값이 자주 바뀔 수 있는 속성이 포함된 후보키는 기본키 값으로 적합한지를 지속적으로 판단해야 하기에 기본키로 부적합하다고 볼 수 있다.아래 표에서 기본키를 고를 때 후보키인 학번과 휴대폰 번호 중 한 개를 골라야하는데 그중 단순한 후보키를 고르자면 학번이므로 아래 표의 기본키는 학번으로 선정될 수 있다.학번이름전공휴대폰 번호A111이명학컴퓨터공학010-1111-1111A222최자현컴퓨터공학010-2222-2222A333최자현경영학010-3333-3333Ⅴ. 대체키(Alternate Key)의 특징대체키는 기본키로 선정되지 않은 후보키로, 하나의 필드로 구성된 후보 키를 이용하는 것이 유리한 특징을 가지고 있다. 위의 기본키 표를 보자면 기본키는 학번으로, 대체키는 휴대폰 번호가 될 수 있다.
REPORT주제 : 방화벽의 필요성과 두 가지 구현 방법을 설명하시오.목 차Ⅰ. 방화벽의 정의Ⅱ. 방화벽의 주요기능Ⅱ-1. 접근 제어(Access Control)Ⅱ-2. 로깅 및 감사(Logging and Auditing)Ⅱ-3. 인증(Authentication)Ⅱ-4. 데이터 암호화(Data Encryption)Ⅲ. 방화벽의 필요성Ⅳ. 방화벽의 두 가지 구현방법Ⅳ-1. 패킷 필터링 방식Ⅳ-2. 프록시 서버 방식제목 : 방화벽의 필요성과 두 가지 구현 방법을 설명하시오.Ⅰ. 방화벽의 정의방화벽은 firewall이라고 불리며 원래 의미는 건물 내 발생한 화재가 더 이상 번지는 것을 막는 방벽을 의미한다.인터넷에서 방화벽이란, 네트워크 보안 사고와 문제가 늘어나는 것을 막고 격리하는 것으로 이해할 수 있다.방화벽은 기관 내부의 네트워크를 보호하기 위해서 외부의 불법적인 트래픽 유입을 막으면서 허가, 인증된 트래픽만을 허용하려는 적극적인 방어 대책이며, 기업과 조직 내부의 네트워크, 인터넷 간에 전송되는 정보들을 골라서 수용, 거부, 수정하는 기능을 가진 보안 시스템이다.Ⅱ. 방화벽의 주요기능방화벽의 주요 기능으로는 접근제어, 로깅 및 감사, 인증과 데이터 암호화가 있다.1. 접근 제어(Access Control)는 방화벽의 제일 기본적인 기능으로 관리자가 방화벽에 통과시킬 접근과 통과 시키지 않을 접근을 명시할 때 방화벽은 접근 제어를 수행한다.2. 로깅 및 감사(Logging and Auditing)는 방화벽의 룰셋 설정, 변경, 관리자의 접근과 네트워크 트래픽의 허용과 차단에 관련한 사항들을 로그로 남기는 작업이다.3. 인증(Authentication)에서는 VPN과 같이 신뢰할 수 있는 통신선을 통해서 전송되는 메시지 인증, 패스워드를 통한 단순 인증부터 토큰 베이스 인증과 OTP 등 높은 수준의 인증이 가능한 사용자 인증과 모바일 사용자같이 특수한 경우에 접속을 요구하는 호스트를 정당한 접속 호스트인지 확인하는 클라이언트 인증을 사용한다.4. 데이터 암호화(Data Encryption)는 한 방화벽에서 다른 방화벽으로 데이터를 암호화해서 보내는 작업으로 트래픽을 보호하기 위한 다른 보안 기능과는 다르게 데이터가 외부 침입자에게 노출되어도 외부 침입자가 의미를 알 수 없기 때문에 비밀성이 보장되는 장점이 있다.Ⅲ. 방화벽의 필요성1. 인터넷의 이용이 보편화되어서 모바일, 인터넷 전화와 홈네트워킹 등의 새로운 네트워크 기술과 인프라가 지속적으로 발전하고 있는 가운데 국내와 해외에서의 보안 침해사고가 점점 지능적이고 다양하게 늘어나기 때문에 방화벽은 더욱 중요해졌다.(과거에는 단일 시스템 대상으로 하는 공격에서 이제는 스파이웨어와 웹바이러스 등 네트워크 서비스 전체를 정상적으로 사용하지 못하도록 공격한다.)2. 네트워크의 액세스 제어 정책에 대한 구현을 제공하는 액세스 제어와 외부 네트워크에서 원하지 않는 액세스를 차단하는 액세스 차단이라는 기능이 있다.(방화벽은 위험하거나 의심이 가는 사기성 트래픽이 네트워크를 통과하기 전에 차단하는게 중요하다. 방화벽은 특정한 프로그램의 활동이 문제가 있거나 위험하다고 판단이 되면 그 프로그램을 인터넷 액세스하지 못하도록 먼저 차단한다.)3. 내부로부터 나가는 네트워크 ip 주소를 위장시켜줌과 동시에 외부로부터의 침입방지 시스템도 구성되어있다.4. 네트워크를 필터링해서 서브넷 상에 있는 호스트들의 위험을 감소시킴으로 호스트의 위험 최소화를 할 수 있다.5. 즉, 방화벽은 외부 네트워크로부터의 침입에서 내부 네트워크를 보호하기 위한 네트워크의 구성요소로 외부 네트워크와 연결된 게이트웨이 역할과 사용자 인증, 내외부에서 상호 접속된 네트워크에 대한 트래픽 감시 및 기록, 중요한 트래픽에 대한 암호화, 서비스 접속 및 거부 등의 역할을 수행하는 중요한 시스템이기 때문에 방화벽이야말로 네트워크에 가장 필요한 시스템이라고 볼 수 있다.Ⅳ. 방화벽의 두 가지 구현방법방화벽의 구현방법으로는 패킷 필터링 방식과 프록시 서버 방식이 있습니다.1. 패킷 필터링 방식(Packet Filtering)패킷 필터링 방식은 1세대 방화벽으로 가장 초기적인 방화벽 방식으로 네트워크 계층과 전송 계층에서 동작하고 외부로부터 데이터 패킷이 들어오면 방화벽은 발신지와 도착지 주소를 갖고 있는 IP패킷의 헤더를 검출해서 이들의 정보와 사전 정의된 접속제어목록인 필터링 규칙을 비교하고 패킷을 수용하여 목적지로 보내거나 제거하는 방식이다.또, 패킷 필터링 방식은 데이터링크 계층에서부터 네트워크 계층으로 전달되는 패킷을 가로채 그 패킷 안의 주소와 서비스 포트를 검색해서 정의된 보안 규칙에 따라 서비스의 접근 허용 여부를 결정하게 되며 다른 구현방법에 비해서 속도가 빠르고 하드웨어에 의존적이지는 않지만 강력한 사용자 인증과 로깅 기능을 기대하기는 어렵지만 낮은 레이어에서 동작함으로 기존 어플리케이션과 연동이 용이하다.