일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- jsp
- generic class
- 생성자
- sql
- dbms
- js
- 개발자취업
- 99클럽
- Queue
- 공개키 암호화
- 항해99
- til
- python
- DB
- JPA
- 코테
- spring
- 크루스칼
- Java
- 자바의정석
- 자료구조
- javascript
- 코딩테스트
- 가상컴퓨팅
- 코딩테스트준비
- BFS
- 암호학
- Algorithm
- 알고리즘
- dfs
- Today
- Total
목록computer science/Cryptography (9)
PLOD
비밀키 암호화 기법은 대칭키 암호화 기법, 단일키 암호화 기법이라고도 한다. 동일한 키로 데이터를 암호화하고 복호화한다. 암호화하는 키와 복호화하는 키가 같기 때문에 key가 노출되면 누구나 암복호화가 가능하기 때문에 비밀성을 유지하는 것이 중요하다. 대칭키 암호화를 사용하는 기법 중 가장 유명한 암호화 기법은 DES(Data Encryption Standard) 기법이다. DES(64ibt) 1) IP(Initial Permutation, 초기 전치) 시행 2) 초기 전치 후 총 64비트 문을 상위 32비트(L0, 왼쪽 비트), 하위 32bit(R0, 오른쪽 비트)로 분할 3) 오른쪽 32bit(R0)와 라운드 키(K)와 함께 f 함수 연산을 하고 왼쪽 32bit(L0)와 XOR 연산 수행 . 이러한 ..
1. ASLR(Address Space Layout Randomization) 리눅스 메모리 보호기법, 충분한 randomness를 요구로 하여 직접적인 메모리 참조가 힘들어 진다. 하지만 프로그램 코드에는 적용하지 못하고 오로지 라이브러리에만 적용 가능하다는 단점과 주소의 시작 주소만 바뀌기 때문에 address leak를 한다면 다른 함수도 결국 접근 가능하다는 단점이 있다. 과거의 App들은 C나 C++로 작성되었지만 현재는 Web 기반 서비스들이 주류이기 때문에 SQL injection이나 XSS, session Hijacking, CSRF 같은 공격들을 대비하여야 한다. web에서의 Request type은 GET과 POST로 나누어 진다. GET은 모든 데이터가 URL 자체에 있기 때문에 브라..
software security는 software의 어떻게 안전하게 만들것인가에 대해 초점을 맞춘다. 1. HeartBleed web에서 사용자가 서버와 통신을 할 때 주로 openSSL ,TLS를 사용하는데 사용자가 웹사이트에 접속할 때 서버로부터 정보를 암호화해서 주고 받으며 통신을 하는데 이 과정에서 서버와 사용자가 같은 데이터를 주고받지 않는 소프트웨어적인 문제점(OPENSSL bug로 가능해진 공격이다.) 2. Low-level vulnerability(C, C++) High- level (java, python) C와 C++ 는 system software language(ex . servers , OS kernels, embedded systems) 이기 때문에 attack 에 굉장히 민감하..
1. Perfect Forward Secrecy(PFS) 위의 방식처럼 diffie- hellman 방식을 사용해서 PFS를 구현하는 방식이 있지만 DH는 Man-In-the -Middle attack에 취약하다. 이 문제를 해결하기 위해서는 각자 가지고 있는 key(a,b)를 그때 그때 소각하는 방법을 사용하는 수 밖에 없다. *Real-‐World Protocols 1)SSH : RSA 기법을 사용한 protocol, secure tunnel을 만든다. public key Authentication 기법을 사용 2)SSL : WEB 에서 사용 , 클라이언트가 서버를 인증, TLS 와 같은 프로토콜, 단방향 인증 프로토콜, TLS는 SSL을 포함한다, SSL은 클라이언트와 서버간의 handshake ..
* Authentication : 네트워크 사용자 인증 또는 단말 인증과 관련되는 보안 서비스를 제공하는 프로토콜 ex) 1) Hash password with salt. 2) attacks on authentication software, keystroke logging, etc, can be issues. 1. Simple Authentication - Simple Authentication attack Replay attack 발생 - Better Authentication 여기서 Alice가 Hash를 이용해 password를 암호화 하여 보낼 수 있다. 하지만 Trudy가 Hash 값을 알고 있기 때문에여전히 replay attack이 가능함. 그리고 비밀번호가 같은 이상 Hash 값이 항상 같..
1. Hash의 정의 Hash : 단방향 암호화 기법이다. 해시 알고리즘은 SHA-256, SHA-512를 사용한다. 또 해시 알고리즘은 특정 입력에 대해 항상 같은 해시 값을 return 한다. * pigeonhole principle(비둘기 집의 원리) :n+1 마리 이상의 비둘기를 n개의 집에 넣으려고 할 때, 적어도 하나의 집에는 두 마리 이상의 비둘기가 들어가게 된다. 이를 Hash Crypto에 적용해 보면, M -> h(M) = h(M’) 2^32번 계산을 하면 중복되는 해시값이 50%가 넘는다 . -> 중복되는 Hash 값을 통해 birthday attack 가 발생함 *Dictionary Attack 원문에 대해 미리 계산된 해시값들을 모아서 사전 형태로 만들고 대입해보는 공격방법. 공격..