정보보안공부
웹보안_12. 해시와 암호화의 차이 본문
Hash(해시)
- 암호화는 아니다.
- 평문(plain text) -> hash value
- 단방향 함수( 복호화가 존재하지 않는다. )
- 평문의 길이와 상관없이 hash value의 길이는 고정 길이를 갖는다.
- 평문이 같으면 해시된 값도 같다.
- 평문이 다르면 해시값도 다르다.
- 평문이 다를때 해시 값을 같게 의도적으로 한다. 이때 해시가 안전하지 않다고 한다.
- md4, md5, sha1, sha2, sha256, sha512, ... 대표적인 해시함수는 sha512
- 기존의 파일을 해시한것과 복사한 파일을 해시한것을 비교해서 복사가 잘됬는지 여부를 확인한다.
- 검색에 사용하기도 한다.
- 공격으로는 : bruth force( 무차별 공격 ), dictionary attack( 사용자들이 많이 쓰는 패스워드를 db로 만든다. )
Encryption(암호화)
- 평문(plain text) -> 암호문(cipher text)
- 키를 필요로 한다.
- 암/복호화 가능하다.
- 평문의 길이에 따라 암호문의 길이도 달라진다.
- 평문이 같아도 키가 다르면 암호문도 달라진다.
- RSA(공개키), DES(비밀키), 시저 암호, enigma, ...
- 키를 모르면 복호화 할 수 없다.
md5는 32글자 (128bit)
sha0, sha1는 40글자 (160bit)
sha224는 56글자 (224bit)
sha256는 64글자 (256bit)
sha384는 96글자 (284bit)
sha512는 128글자 (512bit)
문자인코딩 : base 64기법
- 웹에서 사용하는 encoding기법이다.
- 64진법 : 모든 문자를 64개의 문자로 표현하는 기법
- 4바이트 단위로 인코딩이 된다. 부족한 글자는 =로 채운다.
- 암호화의 개념은 아니다.
'정보보안 > 웹보안' 카테고리의 다른 글
웹보안_17. CSRF 공격 기법 (0) | 2018.03.15 |
---|---|
웹보안_16. XSS 공격 기법 (0) | 2018.03.14 |
웹보안_11. MYSQL과 PHP연동하기 (0) | 2018.02.24 |
웹보안_10. MYSQL/쿼리 (0) | 2018.02.24 |
웹보안_9. 웹페이지 인증 (0) | 2018.02.22 |