암호학 과 관련해서 기본적인 질문하나 드릴게요
글쓴이: kimes / 작성시간: 화, 2005/12/27 - 9:53오전
비대칭 암호화 기술(제가 맞게 표현한 건가요?)에는
public key라는 것과 private key라는 것이 쓰인다고 알고있습니다.
암호화 할때는 public key를 사용하고 풀때는 private key를 사용한다고 하던데요..
도데체 왜 public key와 private key를 따로 사용하는 건지 정말 개념이 안잡히네요..
물론 깊게 들어가면 굉장히 깊어지지만..
간단하게 개념이라도 잡아주셨으면 좋겠습니다.
감사드립니다.
Forums:
Re: 암호학 과 관련해서 기본적인 질문하나 드릴게요
public key 로는 암호화를 하고 private key 로는 복호화를 합니다.
public key 는 다른 사람이 나에게 어떤 내용을 보내기 전에 암호화를 하기 위한 키이고, private key 는 다른 사람이 암호화 해서 보낸 내용을 복호화 하기 위한 키입니다.
private key 는 내 컴퓨터에만 있어야 하고 어딘가로 전송되지 않습니다. 하지만 public_key 로 암호화된 내용을 보기 위해서는 private key 가 꼭! 필요하기 때문에 누군가 통신 내용을 가로채더라도 private key 가 없어서 내용을 알아볼 수 없게 됩니다 :)
키교섭 과정은 대강 다음과 같습니다.
1. 통신 시작
2. 내 공개키를 상대방에게 보냄
3. 상대방은 자신의 공개키를 내 공개키를 통해 암호화 해서 보냄
4. 나는 내 비밀키를 가지고 상대방의 공개키를 얻음
통신할 준비 완료!
그 이후론 상대방의 공개키를 가지고 암호화해서 보내고 내 비밀키로 복호화해서 보면 되죠 :)
중간에 누군가 내용을 가로채도 복호화가 불가능하기 때문에 어떤 정보가 오갔는지는 알 수 없습니다.
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
Re: 암호학 과 관련해서 기본적인 질문하나 드릴게요
반대로 내가 private key로 암호화하고 상대방이 나의 public key로 복호화할 수도 있습니다. 그 글이 (다른 사람이 나의 이름을 도용한 것이 아니라) 나의 글이라는 것을 상대방(들)이 확인할 수 있습니다.
eezen님 정태영님 답변 감사드립니다.조금 이해가 되네요..
eezen님 정태영님 답변 감사드립니다.
조금 이해가 되네요..
저는 단순히 단방향 통신을 생각해서 암호화해서 보내면 그걸
상대방은 어떻게 복호화하나 그게 궁금했었는데요..
정태영님이 써주신 프로세스를 보니 이해가 되네요..
이제 간단하게 테스트를 해보고 싶은데(실습에 개념으로)
실제로 이용되는 곳을 소개해주셨으면 합니다.
(뭐 예를 들면 email을 암호화해서 보내고 받는 방법 같은거요)
답변 감사드립니다.
secure http가 적당하지 않을까 생각합니다. 보통 웹사이트 이용하
secure http가 적당하지 않을까 생각합니다. 보통 웹사이트 이용하다보면 보안페이지로 이동하는 경우를 볼 수가 있습니다. 이게 암호화가 적용된 부분입니다.
======================
BLOG : http://superkkt.com
[quote="kimes"]실제로 이용되는 곳을 소개해주셨으면 합니다.
ssl 통신이 다 저렇습니다 ... openssl 커맨드를 이용하면 키를 만들수도 암호화할수도 복호화 할 수도 있구요 :)
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
공개키를 암호화 통신에 이용하는 방식은 암호화/복호화시의 부하가 너무 크
공개키를 암호화 통신에 이용하는 방식은 암호화/복호화시의 부하가 너무 크기 때문에 실시간 통신에 이용하기 어렵습니다. 그래서 처음 커넥션을 맺을때만 공개키 방식을 인증 과 비밀키 교환에 이용하고 그 이후로 이루어지는 데이타 스트림의 경우는 blowfish, 3des, aes등 전통적인 비밀키 기법으로 암호화/복호화 통신을 수행합니다.
일반적으로 프로세서만으로 암호화/복호화를 한다면 공개키 방식은 1000배정도의 부하가 걸리고 비밀키 방식은 50배 정도 걸린다고 보시면 됩니다. http서비스를 모두 https로 바꾼다면 첫 접속의 공개키 인증 부하를 빼고도 상시 1000명 동시 이용 가능한 서버가 20명 수준으로 급감하는거죠.
1998년에 시큐리티 커리큘럼을 배울때는 그렇게 배웠습니다. (아마 지금도 같을겁니다. )
you must know the power of dark side.
대칭키 암호에서는.. 키를 둘이서 공유해야 되잖아요...' 키를 주려고
대칭키 암호에서는.. 키를 둘이서 공유해야 되잖아요...' 키를 주려고 만날바엔 문서를 직접 주겠다. 그러면.. 안만나고 키 주면 안되나?' 이게 비대칭키의 기본컨셉인듯..^^ 다른 기능으로는 비밀키는 그 소유자만이 알고 있으므로.. 비밀키로 암호화된 문서는.. 부인방지가 되고.. 뭐.. 여튼.. 전자인증서 생각하시면 제일 적당하지 않을까요? 물론.. 중간 인증기관이 필수이죠..--;; 결국엔 서로를 믿지 못하네요.. :twisted:
컴퓨터가 이해할수 있는 코드는 어느 바보나 다 작성할 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다 - 마틴파울러
댓글 달기