-
[잡담 - 기타] AES 암호화에 대해2022.02.08 AM 11:28
ID 패스워드 DB에 그냥 박아둔거
갑자기 수정하고 싶어서
암호화에 대해.. 공부... 라고하는 것도 웃기지만
어차피 디테일 한거 알 생각없이
똑똑한 사림들이 만든 라이브러리 가져와서
DB 저장에 AES적용 할려고 함
이때까지 아는 상식으로 키를 만들어 두고
문자열 입력해주면 그 키로 암호화 하고
다시 키를 이용해서 복호화 함 이정도 였는데
(RSA는 키를 페어로 만드는 정도로 암)
이 때까지 몰랐던게
A키에 B문자열을 넣어서 만드는 C결과가
A, B가 동일하면 항상 일정 할 줄 알았음
역시 현대 기술이 그렇게 허술 할 리가
없지 하는 생각이 들었음
댓글 : 6 개
- 외과의사용팔이
- 2022/02/08 AM 11:51
Aes같은 대칭키 암호화는 키와 원본이 같으면 결과도 같은줄 알았는데 아닌가보네요 타임스탬프라도 같이 암호화에 포함시키는 것일까요
- 이상한
- 2022/02/08 AM 11:54
같은값 계속 넣어서 루프 시켜보는데 결과에도 키를 넣는 듯 함
- abc123!@#
- 2022/02/08 PM 12:08
IV와 key, 메시지가 동일하면, 항상 동일한 암호문이 나오게 되어있습니다. 아마도 IV를 별도로 입력하지 않으셨다면, 내부적으로 랜덤한 IV 값을 만들어 쓰도록 되어 있을 것 같네요.
추가로, 암호와 같이 복호화 필요가 없고, 사용자 입력이 정확한지 확인만 하는 것이 목적이라면 (주민번호도 동일한 목적), 대칭키보다는 해시와 같은 일방향 함수를 추천합니다. 암호+아이디+랜덤값으로 SHA2 384 bit 이상을 사용하시면 좋고... 보안성을 더 높이시려면 hash 함수의 round 수를 1000회 이상 돌리도록 변경하거나, hash 자체를 수십, 수백번 돌리는 것도 방법입니다. -> 연산 효율은 떨어지지만, 레인보우 테이블과 같이 hash의 보안성을 무력화하는 공격을 방어하거나 지연시킬수있습니다.
추가로, 암호와 같이 복호화 필요가 없고, 사용자 입력이 정확한지 확인만 하는 것이 목적이라면 (주민번호도 동일한 목적), 대칭키보다는 해시와 같은 일방향 함수를 추천합니다. 암호+아이디+랜덤값으로 SHA2 384 bit 이상을 사용하시면 좋고... 보안성을 더 높이시려면 hash 함수의 round 수를 1000회 이상 돌리도록 변경하거나, hash 자체를 수십, 수백번 돌리는 것도 방법입니다. -> 연산 효율은 떨어지지만, 레인보우 테이블과 같이 hash의 보안성을 무력화하는 공격을 방어하거나 지연시킬수있습니다.
- 이상한
- 2022/02/08 PM 12:12
그렇군요 좀 더 공부가 필요한 것이겠네요
- 금빛날개박쥐
- 2022/02/08 PM 12:10
AES 사용하는 암호화 알고리즘들은. 대부분 세션 key라는 계념을 사용해서.. 같은 원본 값에 대해서 각 세션마다 다른것을 볼수 있으나.. 이 세션이라는것도 결국 유한한 방정식이라 뚫리게 되어 있어요..
- 이상한
- 2022/02/08 PM 12:12
그렇군요
user error : Error. B.