양방향 SSL은 서버와 클라이언트가 서로의 공개키를 사용하여 핸드 쉐이킹을 하는 SSL 프로토콜이다.일반적인 (대부분의) HTTPS 통신은 단방향 SSL 프로토콜로, 서버의 공개키를 사용하여 핸드쉐이킹을 하는데, 이러한 통신에서 클라이언트는 서버를 검증하지만(서버의 공개키를 사용하여 검증) 서버는 클라이언트가 누군지 모르는 문제가 있다.이 때문에, 클라이언트(사용자) 인증을 위해 아이디, 비밀번호를 서버로 보내 서버가 클라이언트를 인지하도록 한다. 클라이언트에서 서버로 아이디, 비밀번호를 보낼때 (쉽지는 않지만) 비밀번호 탈취의 위험이 있다. 단방향과 마찬가지로 클라이언트가 서버에게 요청을 보낼 시, 서버가 자신의 공개키를 클라이언트에 보내고,클라이언트는 서버의 공개키를 CA를 통해 검증을 한다. 여기까..
암호화 알고리즘을 다루는 일을 하다보니 용어에 대한 이해가 필요할 것 같아 정리를 해본다. 평문 (Plain Text)- 암호화의 대상이 되는 텍스트 해쉬 (hash)- Message Digest (단축, 유일값)- 알고리즘 종류에 따라 결과 값의 길이가 고정이다.- 인풋에 따른 결과값이 고정이다. 동일 인풋이라면 결과는 같다.- 종류 : MD5(16byte), SHA1(20), SHA256(32) 등 대칭 키 블록 암호 알고리즘 (Symmetric Key Block Crypto Algorithm)- 암호화, 복호화 시 사용되는 키가 동일- 암호화 대상이 되는 평문을 블록 사이즈 만큼 잘라 암호화 블록을 연결하여 암호화- 종류 : AES, DES, SEED, ARIA 등 블록 모드 (Block Mode)..
대칭키라 함은 암,복호화에 쓰는 키가 동일하다는 것이다. 비대칭키는 그러면 무엇이겠는가?암호화를 하는데(encrypt) 키와 복호화 하는데(decrypt) 쓰는 키가 다르다는 것이다. 대표적으로 RSA가 있다.비대칭키에 대한 설명은 다음에 하고 오늘은 대칭키 암호화에 대해 말하고자 한다. 대칭키 암호화는 키의 길이에 따라 종류가 나뉘며 대체로 128비트, 256비트를 사용하며, AES같은경우는 192비트의 키도 사용한다.우리나라에서 많이 사용하는 대칭키 암호화 알고리즘을 나열해보자면 seed, aes, aria 정도가 되겠다. 패딩암호화 알고리즘을 사용하여 평문을 암호화 할때는, 평문을 블럭단위로 나누어 각 블록을 해당 알고리즘으로 암호화 하는 방식이다.이러한 방식을 블록 암호화라 한다.평문을 블록단위로..
고급 암호화 표준이라고 불리는 AES는 미국 표준기술 연구소에서 제정한 암호화 방식이다.레인달(Rijndael) 알고리즘에 기반된 암호화 방식으로 128, 192, 256비트 의 키길이로 처리할 수 있고 무료 배포가 가능하여 채택되었다. AES암호화에 사용되는 알고리즘들은 아래와 같이 4가지가 있다. (이들을 묶어 레인달 알고리즘이라 한다.)- Substitution Box (일명 s-box) : 바이트들을 s-box에 있는 바이트들과 바꾸는 알고리즘, 이는 입력데이터를 지정된 숫자로 바꿔 암호를 깨기 어렵게 만드는 기법이다.- ShiftRows : 바이트의 행을 Shift하는 알고리즘- MixColumns : 특수한 공식으로 바이트값들을 바꾸는 알고리즘- AddRoundKey : XOR 연산자를 사용하..
* Cyptographic Hash - Message Digest. - 대표적 암호화 해쉬 알고리즘 : MD5(output 128 bit == 16byte), SHA-1(output 16 bit == 20byte) - 크기와 해쉬 값이 같다면 같은 파일이라는 것을 알 수 있다. * Encryption & Decryption - 암호화, 복호화 - 무엇을 변경하는 것을 Encryption, 원상태로 복원하는것을 Decryption * Symmetric Key Algorithm - 대칭키 (하나의 키)를 Encryption, Decryption에 사용 - 속도가 빠른편 - 대표적 알고리즘 : 3DES, AES * Asymmetric Key Algorithm - 비대칭키 ( Private Key, Public..
- Total
- Today
- Yesterday
- yss
- App Transport Security
- TypedArray
- 전자서명
- node js
- iOS10
- ucrtbase.dll
- 대칭키
- angular
- execute double click
- executable jar
- AES
- JavaScript
- Universal CRT
- reactivex
- Node.js
- cipher
- 윈도우 라이브러리
- MEAN stack
- 비대칭키
- build set
- TLS1.2
- PCX
- 암호화
- rxswift
- HTTPS
- remote debug
- ATS
- full stack
- Visual Studio
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |