본문 바로가기

[2-3]operating system/[2-1.4]Algorithm11

암호화 알고리즘의 필요성 https://www.evernote.com/l/ATizhA6eRtZEjokvJEP81yki3i2viXCQTt0/ 암호화 알고리즘의 필요성 암호화 알고리즘의 필요성 단방향 SSO 인증 구성도 A서버는 이미 구축되어 있고 B서버는 신규로 구축 할 사이트 사용자가 A서버에 로그인 한다 A서버에 저장된 사용자 정보 일부가 B서버로 전송된 www.evernote.com 2021. 8. 24.
해쉬 함수는 임의 길이를 가진 데이터를 '특정 길이의 데이터'로 변환하는과정이다. 해쉬 함수는 임의 길이를 가진 데이터를 '특정 길이의 데이터'로 변환하는 과정이다. 암호화 알고리즘과 달리 해시 함수에는 키가 없다 그 대신에 해시 값의 길이가 암호화 알고리즘에서 키 길이와 동일한 역할을 한다. 해시 함수와 블록 암호화 알고리즘은 난수처럼 보이는 결과물을 생성한다는 공통점이 있다. 해시 알고리즘의 보안 강도 SHA-1 SHA-224 SHA-256 SHA-384 SHA-512 SHA-512/224 SHA-512/256 충돌 저항성 < 80 112 128 192 256 112 128 역상 저항성 160 224 256 384 512 224 256 제2 역상 저항성 105-160 201-224 201-256 384 394-512 224 256 같은 해시 함수라 하더라도 어떤 용도로, 어떤 방식.. 2020. 3. 13.
암호키 관리 대체 키는 어떻게 관리해야 안전할까? 키 역시 데이터 형태이므로 키 관리는 다시 데이터 보안의 문제가 된다. 게다가 암호화를 할 때 생성된 키는 하나가 아니다. 암호화 키, 복호화 키, 암호화 권한을 확인하는 키, 복호화 권한을 확인하는 키 등 여러 개가 필요하다 보니 키마다 접근권한을 부여하고 관리하는 '체계'가 있어야 한다. 보안을 생각할 때는 '안전한 기술' 만이 아닌 안전한 시스템까지 함께 생각해야 한다. 혼돈 달성 : 문자 바꿈 Substiution을 선택하고 확산을 달성 : 순서 바꿈 Permutation 선택 Substiution 은 치환, 대치, 대체, 환자 등 단어로 표현할 수 있다 "가나 다라마'를 'a나 c라, e'로 바꾼다 '더 안전하게 ' 암호화를 하고 싶다면 최대한 혼돈과 확산 .. 2020. 3. 13.
OPE 기법 순서 유지 암호화 OPE 기법 순서 유지 암호화 OPE(Order Preserving Encryption) 기법은 일종의 대칭키 암호화 알고리즘으로, 평문 데이터의 크기 순서를 암호화된 데이터에 반영시켜암호화시키는 기법을 말하며, DB 암호화 제품의 범위 검색에 실제적으로 사용되고 있다.범위에 해당하는 값을 암호문으로 만들어 그 크기 사이에 해당하는 암호문을 돌려주면 되기 때문에 추가적인 복호화 작업이 필요 없게 되므로 검색 속도 측면에서 성능향상이 이루어질 수 있다. 2003년에 G. Ozsoyoglu 등이 의사난수(psedurandom number)를 이용하여 OPE 기법을 제안하였다 하지만, 암호문을 적절히 이용하면 평문의 분포가 들어나는 취약점이 있었다. 이를 해결하기 위해 2004년 R. Agrawal 등은 제안.. 2020. 3. 12.
스트링 암호화와 블록 암호화 스트링 암호화와 블록 암호화 암호화는 스트림 암호화와 블록 암호화 두 가지로 구분 할 수 있습니다. 블록 암호화가 데이터를 블록 단위로 잘라 암호화 알고리즘을 거쳐 암호화하는 것과 달리 스트링 암호화는 데이터의 흐름을 순차적으로 (보통 1비트씩) 어떤 값 (암호화할 데이터와 길이가 같은 키값)과 XOR 연산하여 암호화합니다. 사실 스트림 암호화는 많이 사용하지 않아서 현재는 개념만 남아 있습니다. RC4 같은 스트림 암호화 전용 알고리즘도 있기는 하지만,블록 암호화와 비교하면 연구가 그리 활발하지는 않습니다. 그것은 운영모드를 사용하면 블록 암호화를 스트림 암호화처럼 구성할수 있어 스티림 암호화 전용 알고리즘의 활요도가 낮기 때문입니다. CFB 나 OFB 도 다른 관점에서 보면 난수 성질을 갖는 값을 만.. 2020. 3. 12.
해쉬함수 충돌저항성의 대한 안정성 보완 해쉬함수 충돌저항성의 대한 안정성 보완 HMAC HMAC은 원본 데이터에 특정값을 더해 함께 해시하는 키 기반 해시(Keyed Hash)이기때문에 해시 함수만 수행할 때보다 더 높은 안정성을 확보할 수 있다. 키 기반 해시는 난수 형태인 비밀 값을 키 값으로 사용한다. 안정성 확보 말고도 자신이 생성했음을 인증하려는 목적에서 키를 추가하여 해시하기도 한다. 키를 추가하면 역상 저항성이 높아져 원본 데이터를 알아내기 어렵다. 충돌 저항성의 관점에서 같은 해시 값을 생성하는 원본 데이터를 노출해도 키(해시 값)를 제외한 부분은 알수 없으므로 다른 서비스 까지 위험하지는 않다. 키 유도 함수는 키 기반 해시에 필요한 키 값을 만드는 키생성기 로 난수 생성기라고 봐도 무관하다. 키 유도함수는 키를 생성하는 입력.. 2020. 3. 9.
해시 알고리즘의 보안 강도 해시 알고리즘의 보안 강도 SHA-1 SHA-224 SHA-256 SHA-384 SHA-512 SHA-512/224 SHA-512/256 충돌 저항성 < 80 112 128 192 256 112 128 역상 저항성 160 224 256 384 512 224 256 제2 역상 저항성 105-160 201-224 201-256 384 394-512 224 256 같은 해시 함수라 하더라도 어떤 용도로, 어떤 방식으로 사용되었냐에 따라 보안 강도가 다르다. 암호 알고리즘과 암호 시스템 안전성의 기준을 ‘혼돈’과 ‘확산’을 달성하는 것에 둔 것과 마찬가지로, 해시 함수에서는 ‘확산’을 실현하기 위해서 사용 목적과 방식에 맞게 키 길이를 가이드하는 것이고., 해시 함수에서 키 길이는 해시 값의 길이 이다. 충돌 .. 2020. 3. 9.
해쉬 함수가 갖는 3가지 특성 해쉬 함수가 갖는 세 가지 특성 1. 역상 저항성 역상 저항성은 해시 값이 주어졌을 때, 그 해시 값을 생성하는 입력값을 알아내기가 불가능하다는 특성. 즉, 주어진 해시 값이 H가 있다면 그 해시 값을 생성하는 (H=Hash(M)) M을 계산하기가 어려워야 한다. 2. 제2 역상 저항성 제2 역상 저항성은 어떤 입력 값과 동일한 해시 값 (결과 값)을 가지는 다른 입력 값을 찾을 수 없어야 한다는 특성 즉, 어떤 입력값 M1 에 대해 M1≠M2이며, Hash(M1)=Hash(M2)인 3. 충돌 저항성 충돌 저항성은 해시 값 (결과 값)이 이 같은 입력 값 두 개를 찾을 수 없다는 특성이다. 역상 저항성과 비슷해 보이지만,의미는 다르다. 충돌 저항성은 해시 값이 무엇인든 (그 값을 알든 모르든) 특정하게 .. 2020. 3. 9.
비대칭 암호화 비대칭 암호화에서는 두 개의 키를 사용하는데, 하나는 암호화에만 쓰이고 다른 하나는 복호화에만 쓰인다. 암호화에 쓰이는 키를 공개 키라 부르는데, 이 공개키는 공개키 소유자에게 암호화된 메시지를 보내고자 하는 모든 이에게 제공된다. 복호화에 쓰이는 키는 개인키 라고 부르는데, 공개키와 달리 반드시 비밀리의 보관해야 한다. 개인키로부터 공개키를 계산하는 것은 가능하지만, 공개 키로부터 개인 키를 계산하는 것은 당연히 불가능하다. 다른 말로 하면, 한 방향으로의 계산은 쉽지만 그 역방향으로 계산은 어렵다. 이것이 공개키 암복호화 또는 공개 키 암호방식의 핵심이다. 공개 키 복호화의 함수들은 한 방향으로 쉽게 계산할 수 있지만, 그 역방향의 계산은 사실상 불가능하다. 대칭 암호화 와 비대칭 암호화는 암호화의 .. 2020. 3. 7.
암호키 관리 대체 키는 어떻게 관리해야 안전할까? 키 역시 데이터 형태이므로 키 관리는 다시 데이터 보안의 문제가 된다. 게다가 암호화를 할 때 생성된 키는 하나가 아니다. 암호화키,복호화키,암호화 권한을 확인하는 키,복호화 권한을 확인하는 키 등 여러 개가 필요 하다보니 키마다 접근권한을 부여하고 관리하는 '체계'가 있어야 한다. 보안을 생각할때는 '안전한 기술' 만이 아닌 안전한 시스템 까지 함께 생각해야한다. 혼돈 달성 : 문자 바꿈 Substiution 을 선택하고 확산을 달성 : 순서 바꿈 Permutation 선택 Substiution 은 치환,대치, 대체,환자 등 단어로 표현 할수 있다 "가나다라마' 를 'a나c라,e' 로 바꾼다 '더 안전하게 ' 암호화를 하고 싶다면 최대한 혼돈과 확산 상태를 달성해야.. 2020. 3. 5.