본문 바로가기

728x90

Backend

(70)
[정보보안] Block cipher Modes(ECB, CBC, CTR) 이란? Plain text는 여러개의 블럭으로 나누어져있다. 블럭이 128비트라고 하면 각각의 블럭으로 암호화 하는 방식에 대해서는 DES, TripleDES, AES를 통해 알 수 있다. 블럭을 독립적으로 암호화 한다면, 보안에 취약하기 때문에 해결하는 방식이 필요하다. 각각의 블럭마다 새로운 key를 사용하면 key가 너무 많아진다. (좋은 방식이 아님) 각각의 블럭을 같은 key로 독립적으로 암호화하는 방식은 보안상으로 취약하다. => 암호화를 이전 블록에 의존하도록 만드는 방식은 좀더 안전한 방식이 될 수 있다. (Chain을 형성) - CBC방식 => 크기가 블럭보다 작아서 잘린 블럭은 128비트로 인위적으로 채워서 만든다. 1. Electronic Codebook (ECB) Mode - 각각의 블럭을..
[정보보안] DES를 대체하는 AES란? 기존 알고리즘의 불안전함 기존의 DES의 안전하지 못함. Triple DES는 DES와 호환성을 유지하며 키의 길이를 늘림 AES는 DES를 대체하는 암호화 알고리즘이다. AES 특징 실제로 사용하는 암호화 방식이다. 대칭키 블럭 암호화 알고리즘 128, 192, 256비트로 key size가 커졌다. 각각 AES-128, AES-192, AES-256으로 불린다. 애플리케이션 유형에 따라 세가지 종류중에 정한다. DES, Triple DES보다 안전함 Feistel cipher이 아니다. Block Size와 독립적이다. Block size: 128, 192 or 256 bits Key length: 128, 192 or 256 bits round가 10 ~ 14 (키의 길이에 따라 달라짐) # 각각의..
[정보보안] TripleDES, 3DES란? Block Cipher Notation P = plaintext block C = ciphertext block C = E(P, K) //P를 K를 사용해서 Encrpt하면, C가 나온다는 뜻. P = D(C, K) //C를 K를 사용해서 Decrypt하면, P가 나온다는 뜻. P = D(E(P, K), K) and C = E(D(C, K), K) // 대칭키의 의미 Triple DES [기존 DES의 문제점 ] 기존의 DES는 56 bit key이다. DES의 key를 exhaustive key search를 하면 2^56를 하면 key값을 검출 할 수 있다. 분산시스템으로 여러대의 컴퓨터로 key값을 찾으면 금방 찾아낼 수 있다. 따라서 DES는 안전하지 못한 암호화 알고리즘으로 대체될 방식이 필요하..
[정보보안] Feistel Cipher를 사용하는 DES의 동작 방식 DES에 대해서 알아보기 전에 먼저 Feistel Cipher에 대해서 알아보자. 파이스텔 암호(Feistel cipher) 파이스텔 암호화란? 파이스텔 암호(Feistel cipher)는 블록암호(Block Cipher)의 일종 암호화 방식이 특정 계산 함수의 반복으로 이루어진다. 이 때, 각 과정에 사용되는 함수는 라운드 함수(round function)이라고 부른다. Feistel Cipher는 Block Ciphers를 사용하는 설계 방식, 전반적인 설계 디자인 패턴이라고 보면된다. 파이스텔 암호화 동작 방식 1. F를 라운드 함수로 하고 K0, K1, ... , Kn을 각각 라운드 0, 1, ..., n의 하위 키로 한다. 2. 평문 블록을 두 개의 동일한 조각으로 분할(L0, R0) 3. 각 ..
[정보보안] 암호의 기초 암호의 기초 목적 : 기밀성 제공 대표적인 암호알고리즘 1) Symmetric key - 대칭키 암호 : 암호화할때 쓰는키, 풀때 쓰는 키가 같다. 2) Public Key - 공개키 암호 (비대칭키 암호) : 암호화할때 쓰는키, 풀때 쓰는 키가 다르다. ex) 공인인증서 public key와 private key가 pc에 저장되는 방식 송신자가 데이터를 보낼때 plainntext, key 가 들어와서 이것을 바탕으로 해서 encrypt(암호화하여) ciphertext(암호문)으로 네트워크로 전달 하면 수신자는 key를 통해 decrpty(복호화) 하여 plaintext로 만든다. 이렇게 키를 사용하는 방식이 대칭키 암호화 방식과 공개키 암호화 방식이 있다. 암호화 가정 : Kerckhoffs Princ..
[정보보안] 정보보안 개요 정보보안개요 예시 Alice(은행), Bob(고객) - good Turdy(해커) - Bad 보안 서비스 보안을 통해 고객에게 어떤 기능을 제공하는가? CIA 기능 (3가지 기능을 필수로 제공) + (Access Control, 부인봉쇄) 1) 기밀성 (Confidentiality) - Reading을 막음 Alice(은행) 입장에서 허가받지않은 사람이 함부로 정보를 읽지 못하게 막는 것. (ex. 도청..) 기밀성을 제공받기 위해 어떤 방식을 쓰나? - 읽지못하게, 읽더라도 해석 못하게함 2) 무결성 (Integrirty) - Writing을 막음 변조없는 깨끗한 상태, 허가 받지 않은 쓰기를 허용하지 않은 상태 Turdy(해커)가 Bod(고객)의 잔고를 수정하지 못하게 하는 것 무결성을 제공받기 위해..
[WEB] URI 규칙 10가지 1. 슬래시 구분자는 계층 관계를 나타내는데 사용한다. 2. URI 마지막 문자로 ( / ) 는 포함하지 않는다. 3. 하이픈( - )은 가독성을 높이기 위해 사용한다. 4. 밑줄( _ )은 사용하지 않는다. 5. 대문자보다는 소문자를 사용한다. 6. 파일 확장자는 URI에 포함하지 않는다. 7. 프로그래밍 언어에 의존적인 확장자를 사용하지 않는다. 8. 자원에 대한 행위는 동사가 아닌 HTTP Method로 표현한다. 9. 경로 부분 중에서 변하는 부분은 유일한 값으로 대체한다. 10. API에 있어서 서브도메인은 일관성 있게 사용해야 한다.
[JPA] JPA / Hibernate Cascade Types 요약 JPA Cascade Type ALL PERSIST MERGE REMOVE REFRESH DETACH CascadeType.ALL 모든 Cascade 적용 CascadeType.PERSIST 엔티티를 영속화할 때, 연관된 엔티티도 함께 유지 CascadeType.MERGE 엔티티 상태를 병합 할 때, 이 필드에 보유 된 엔티티도 병합됨. CascadeType.REFRESH 엔티티를 새로 고칠 때, 이 필드에 보유 된 엔티티도 새로 고침. CascadeType.REMOVE 엔티티를 삭제할 때, 이 필드에 보유 된 엔티티도 삭제됨 CascadeType.DETACH 부모 엔티티가 detach()를 수행하게 되면, 연관된 엔티티도 detach() 상태가 되어 변경사항이 반영되지 않는다.

728x90