프로토콜 어떤 목적을 달성하기 위해 2명 이상이 참여하는 유한한 일련의 단계 암호 프로토콜 : 암호 기술을 사용하는 프로토콜 프로토콜의 각 메시지의 의미를 보장하고, 참여자 또는 제 3자가 부정을 하지 못하도록 하기 위함 참여자 - 1 서로 인증하거나 키를 공유하기 원하는 앨리스(Alice, A)와 밥(Bob, B) 앨리스와 밥 모두에 의해 신뢰되는 제 3의 신뢰기간(TTP)인 트렌트(Trent, T) 참여자 - 2 수동적 도청자 : 이브(eve) → 메시지를 마음대로 도청 가능 적극적 공격자 : 멜로리(Mallory) → 메시지를 수정,삭제,재전송하거나 네트워크에 메시지를 주입할 수 있음 멜로리는 잘 설계된 암호학적 메커니즘을 해독할 수 없음 인증 프로토콜 목표 : 앨리스가 자신의 신분을 밥에게 증명하..
인증 메시지 인증(데이터 출처 인증)과 개체 인증으로 구별 메시지 인증 기법 대칭 키 암호 해쉬함수 메시지 인증 코드 (MAC) 전자 서명 메시지 인증 대칭 키 암호 이용 → 기밀성 해쉬 함수 H 이용 (a) : 해시 값과 메시지를 결합하여 암호화 → 기밀성 & 메시지 인증 (b) : 해시 값을 비밀 키로 암호화하여 메시지와 결합 → 메시지 인증 메시지 인증 코드 C 이용 (a) : 평문 메시지와 인증 코드 결합 → 메시지 인증 (b) : 메시지와 인증 코드를 결합하여 암호화 → 기밀성 & 메시지 인증 (c) : 암호화 된 메시지와 인증 코드 결합→ 기밀성 & 메시지 인증 ( 검증 면에서는 (b)보다 빠름 ) 전자 서명 이용 (a) : 공개키 암호 이용 → 기밀성 (b) : 전자 서명 이용 → 메시지 인..
전자 서명 ( Digital signature ) 전자적 문서에 서명하고, 그 문서에 대한 서명자의 유일한 신원 증명과 서명 문서의 일체 내용을 검증하기 위한 행위 서명할 당시의 내용을 인증 가능 분쟁 시 제 3자가 확인 가능 → 부인방지 서명 작성과 서명 검증 전자 서명에서는 서명용 키와 검증용 키가 나누어져 있음 서명용 키는 서명을 하는 사람만이 가지고 있음 검증용 키는 서명을 검증하는 사람이라면 누구라도 가질 수 있음 전자 서명은 공개 키 암호에서 사용하는 키를 역으로 사용 함으로써 실현 메시지를 개인 키로 암호화 하는 것이 서명 작성 암호문을 공개 키로 복호화 하는 것이 서명 검증 공개키 암호는 누구라도 암호화 가능 디지털 서명은 누구라도 서명검증 가능
공개키 암호 비대칭 암호 : 암호화 키 ≠ 복호화 키 암호화 키를 가지고 있는 사람이라면 누구든지 암호화 할 수 있음 암호화 키를 가지고 있어도 복호화 할 수는 없음 복호화 할 수 있는 것은 복호화 키를 가지고 있는 사람 뿐임 암호화를 위한 키와 복호화를 위한 키, 두 개의 키 쌍을 가짐 → 공개키(public key) 개인 키(private key) 공개 키(public key) 암호화 키는 일반에게 공개해도 무방 공격자에게 공개 키가 공격받는 것을 신경 쓸 필요가 없음 개인 키(private key) 복호화 키는 미공개 → 이 키는 본인만 알고있어야 함 공개 키와 개인 키는 둘이 한 쌍 → 키 쌍 공개 키로 암호화한 암호문은 그 공개 키와 쌍이 되는 개인 키가 아니면 복호화할 수 없움 키 쌍을 이루고..
암호기술 암호 해독 복호화(decrypt) : 정당한 수신자가 암호문을 평문으로 바꾸는 것 암호 해독 : 수신자 이외의 사람이 암호문으로부터 평문을 복원하려고 시도하는 것 암호 해독자 : 나쁜 의도를 가진 자 or 암호 연구자 대칭 암호 vs 비대칭 암호 대칭 암호(symmetric cryptography) 암호화 할 때 사용하는 키와 복호화 할 때 사용하는 키가 동일한 암호 알고리즘 관용 암호, 비밀키 암호, 공유키 암호 비대칭 암호(asymmetric cryptography) 암호화를 할 때 사용하는 키와 복호화를 할 때 사용하는 키가 서로 다른 암호 알고리즘 공개 키 암호 DES DES(Data Encryption Standard) : 표준 규격으로 채택된 대칭 암호 암호화/복호화 64비트 평문을 ..
정보보호 개념 정보의 수집,가공,저장,검색,송.수신 중 정보의 훼손,변조 등을 방지하기 위한 관리적, 기술적 수단을 강구하는 것 보안의 3요소(CIA traid) 기밀성(Confidentiality) : 개인 프라이버시와 비밀 정보를 보호하기 위한 수단 무결성(Integrity) : 정보에 대한 부인방지와 진실성 보장, 부적절한 정보 수정 및 파괴 방지 가용성(Availability) : 정보를 적시, 안정된 접근 및 사용 보장 💡 기밀성 손실은 정보에 대한 불법적 노출 💡 무결성 손실은 메시지에 대한 불법적 수정과 파괴 💡 가용성 손실은 정보 혹은 정보 시스템에 대한 접근 실패 OSI Security Architecture 보안 요구 사항을 정의하고 제공하기 위한 체계적인 방법을 정의 보안공격(Secu..
데이터 조작어 데이터 조작을 위해서는 CREATE, READ, UPDATE, DELETE 연산이 가능해야함 SQL의 DML은 insert, select, update, delete 명령문에 해당 💡insert insert into values (...); 💡 update : 레코드 값을 변경 update set , ... (where 조건식) 💡 delete : 테이블 내 행 삭제 delete _\-- 테이블 내의 모든 행 삭제_ delete where 조건식 _\-- 조건에 해당하는 행 삭제_ 🎀 delete와 drop table 과의 차이점 drop table은 테이블의 정의까지 삭제 delete는 테이블 정의는 남아있음 💡 commit 이전 commit 시점부터 현재 commit 명령 실행 시점까지..
💡 select : 조건에 맞는 데이터를 검색 select 컬럼1, 컬럼2 ... from [where ] -- '산공'과 4학년 학생들의 이름을 찾아라 select sname from student where dept = '산공' and year = 4; -- 기말고사 또는 중간고사의 성적이 90점 이상인 학생들의 학번을 찾아라 select sno from enrol where midterm < finterm; 💡 select distinct : 중복된 레코드는 한 번만 출력 💡 order by : select 결과를 정렬하여 출력 asc : 오름차순 desc : 내림차순 select * from order by 컬럼1 [asc|desc]; select * from STUDENT order by yea..
테이블 생성 명령어 create table ( 컬럼1 자료형1 [constraint 제약조건이름] [제약조건], 컬럼2 자료형2 [constraint 제약조건이름] [제약조건], ... ); 제약조건 💡 not null : 해당 컬럼이 null값을 가지면 안됨 create table STUDENT ( sname nchar(3) constraint sname_always_exists not null -- 또는 sname nchar(3) not null -- 제약 조건의 이름이 주어지지 않은 경우에는 시스템이 자동으로 이름 생성 ); 💡 primary key : 해당 컬럼이 기본키임을 나타냄 테이블에 최대 한 번만 정의 null이 될 수 없음 create table STUDENT ( sno number(3)..
관계 데이터베이스 모든 데이터는 릴레이션으로 표현한다. 릴레이션 ≒ 테이블(표) 릴레이션 릴레이션 : 스키마 + 인스턴스 스키마 : 속성들의 집합 👉 시간에 따라 변하지 않음 인스턴스 : 투플들의 집합 👉 시간에 따라 변함 릴레이션의 특성 투플의 상이성 투플의 무순서성 속성의 무순서성 속성의 원자성 : 관계 데이터 모델은 정규화 릴레이션만을 대상으로 함 데이터베이스 키 키(key) 릴레이션 내의 투플을 항상 유일하게 식별할 수 있는 속성들의 집합 동일한 투플이 존재할 수 있다면 키가 될 수 없음 후보키(candidate key) 유일성, 최소성을 만족하는 키 -> 하나의 속성이라도 제외하면 키가 되지 못함 모든 릴레이션은 적어도 하나의 후보키를 갖음 슈퍼키(super key) 유일성은 만족하나 최소성은 ..