CS22 IPSec(Internet Protocol Security) IPSec(Internet Protocol Security)은 인터넷 프로토콜(IP)에서 데이터를 보호하기 위한 보안 프레임워크입니다.Layer 3에서 암호화를 제공하며, 인증을 통해 데이터의 기밀성, 무결성, 그리고 송신자의 신원을 보장합니다. 간략 정리Phase 1: 협상 준비 및 보안 채널 구축정책 비교: 양 장비가 통신 규칙(암호화/인증 방식 등)을 맞춰봅니다.인증: PSK(비밀번호) 등을 이용해 서로가 허가된 장비인지 확인합니다.DH 키 교환: DH 공개키를 교환하여, Phase 2 협상 과정을 보호할 암호화 키를 만듭니다.Phase 2: 실제 데이터 터널 구축 및 통신IPsec 정책 협상: ESP 등 실제 데이터를 암호화할 규칙을 새로 정합니다. (중요: 이 모든 협상 과정은 3번에서 만든 .. 2025. 6. 29. [데이터베이스] 데이터베이스 정규화 (1NF ~ BCNF) 데이터베이스 설계의 핵심! 테이블의 중복을 제거하고, 무결성을 보장하기 위한 과정이 바로 정규화(Normalization)입니다.정규화 1단계부터 5단계까지, 그리고 실무에서 어떻게 쓰이는지 한눈에 정리해보겠습니다.🔧 1. 제1정규형 (1NF): 원자값으로 분해하라!정의: 테이블의 모든 컬럼이 원자값(Atomic Value)을 가져야 한다.즉, 하나의 셀에 여러 개의 값이 들어가면 안 됨!예시 (정규화 전):학번이름수강과목1001홍길동DB, 알고리즘 → 정규화 후:학번이름수강과목1001홍길동DB1001홍길동알고리즘 ✅ 포인트: 반복 컬럼이 있으면 안 됩니다.🔧 2. 제2정규형 (2NF): 부분함수 종속 제거조건:1NF 만족기본키가 복합키일 경우, 일부 키에만 종속된 속성 제거예시 (정규화 전): 학번.. 2025. 5. 24. [데이터베이스] 키, 슈퍼키, 후보키, 기본키 1️⃣ 슈퍼키(Super Key) – "일단 유일하면 다 슈퍼키"슈퍼키는 테이블의 튜플(레코드)을 유일하게 식별할 수 있는 컬럼(또는 컬럼들의 집합)을 말합니다.즉, 겹치지만 않으면 다 슈퍼키입니다.예를 들어 학생 테이블이 있다고 가정합시다:학번이름생년월일2023001홍길동2000-01-012023002김철수1999-12-31 여기서 유일하게 식별 가능한 조합들:학번학번 + 이름학번 + 생년월일학번 + 이름 + 생년월일이 전부 슈퍼키입니다.즉, 유일성만 만족하면 다 슈퍼키입니다.2️⃣ 후보키(Candidate Key) – "진짜 꼭 필요한 것만 남기자"슈퍼키 중에서 더 이상 뺄 수 없는 최소한의 컬럼 조합, 그게 바로 후보키입니다.즉, 유일성 + 최소성을 만족하는 키죠.위 예시에서:학번 → ✅ 유일 + .. 2025. 5. 24. Blocking / Non Blocking, Synchronous / Asynchronous Blocking / Non Blocking Synchronous / Asynchronous Blocking / Non Blocking Blocking / Non Blocking은 호출되는 함수가 바로 제어권을 리턴 하느냐 마느냐 가 관심사 제어권을 리턴하지 않으면 Blocking 제어권을 리턴하면 NonBlocking → 제어권이 누구한테 있는지? Synchronous / Asynchronous Synchronous / Asynchronous는 호출되는 함수의 작업 완료 여부를 누가 신경 쓰냐 가 관심사 호출되는 함수의 작업 완료를 호출한 함수가 확인하면 Synchronous (동기) 호출되는 함수의 작업 완료를 호출된 함수가 확인하면 Asynchronous (비동기) → 호출한 함수의 완료 여부를 누가.. 2023. 10. 3. [TCP/IP MODEL] 1계층 물리 계층 물리적인 매체를 이용해 비트 스트림을 전송 비트 단위 전송 010100 2계층 데이터링크 계층 hop to hop 전송 담당 Mac 주소 사용 유선 - 이더넷 MTU 1500byte 무선 - LTE IP주소를 이용해 바로 옆(라우터, Host)으로 전달하는 역할을 하는 계층 데이터를 전송하고자 할 때 매체를 타고 전파된다. 매체를 이용하면 브로드캐스트로 전파된다. (사람이 공기를 이용해 말을 하듯이) 여러 노드가 동시에 매체를 이용하게되면, 충돌이 발생한다. 충돌을 해결하기 위해 여러 시도 -> 정해진 시간마다 노드가 데이터를 보내는 방식 현재 사용하는 방식은 임의로 아무때나 Random Access하는 방식을 사용 임의로 아무때나 매체에 접근하므로 충돌은 언젠간 발생하며, 충돌을 해결.. 2022. 8. 31. [데이터베이스] 트랜잭션 고립 수준 쓰기와 쓰기가 동시에 작업하는 것이 불가능 읽기와 읽기는 동시에 언제든 가능 문제 부분은 쓰기 트랜잭션과 읽기 트랜잭션이 동시에 일어날 때 하나의 트랜잭션은 발생 시점부터 데이터 일관성을 가져야 한다. Read uncommited - 오손 읽기(Dirty read) commit되지않은 데이터를 읽는 문제 Read commited - 반복 불가능 읽기(Non repeatable read) update -> commit된 데이터를 읽어, 데이터 일관성이 깨진다. Repeatable read - 유령 데이터 읽기(Phantom read) 트랜잭션 시작 전 commit 된 데이터만 undo영역을 이용하여 읽는다. 일관성이 깨지지 않는다. insert -> commit 된 데이터를 읽어, 데이터를 추가로 읽어 데.. 2022. 8. 23. 이전 1 2 3 4 다음