목록공부/보안 (3)
빠에야는 개발중
SSL 인증서는 클라이언트-서버 간 안전한 통신을 위해 사용 되는 기술이다. 그 맥락은 전자 서명과 비슷한데, 몇 가지 개념이 추가적으로 들어간다. 공개키와 대칭키 암호화/복호화의 방법에는 공개키(비대칭키) 방식과 대칭키 방식이 있다. 공개키 방식은 암호화, 복호화 하는 키가 서로 다르기 때문에 중간 과정에서의 탈취의 염려가 적다. 그래서 일반적인 전자 서명에서 많이 사용되는 기법이다. 반면에 대칭키는 하나의 키로 암호화와 복호화를 모두 처리한다. 그렇기 때문에 중간에 키가 탈취되면 안전성이 전혀 없어진다. 두 가지를 모두 사용하자 이렇게만 보면 공개키를 사용하지 대칭키를 왜 사용하냐 하겠지만 공개키에는 사실 큰 단점이 있었으니 그것은 바로 성능이다. 서로 다른 키로 암호화와 복호화를 하는 만큼 처리 시..
Oauth는 요즘 자주 보이는 인증 방식이다. 네이버, 페이스북 등의 계정 정보를 활용한 인증 서비스를 제공하는 곳을 많이 보았을 것이다. 그렇다면 이런 인증 방식은 어떻게, 왜 사용하게 된 것일까? 어떤 시스템에서 외부 시스템에 접근하기 위하여 사용자의 계정 정보(아이디, 비밀번호 등)을 사용하는 것은 보안상 좋지 않다. 따라서 사용자의 인증을 받아 토큰을 발급 받으면 그 토큰 만을 사용함으로써 사용자의 계정 정보는 불필요하게 되어 보안을 유지할 수 있는 것이다. 추가적으로 사용자의 권한까지 조절할 수 있도록하면 서비스적으로 더 좋을 것이다. 이것이 Oauth의 기본 개념이다. Oauth 1.0a Outh는 현재 2.0 버전을 달리고 있는데, 먼저 등장한 1.0a 버전에 대하여 알아보자.(1.0a 버전..
전자 서명 전자 서명이란 어떤 데이터가 정말 그 사람 것이 맞는지를 보장해주는 것이다. 이 때 비대칭키(공개키) 암호화 기술이 사용된다. 어떤 사람 A가 자신의 비밀키를 사용하여 원본 데이터의 해시값을 암호화(서명) 한다. 그 후에 믿을 수 있는 기관 B에 A의 공개키를 배포한다. 그러면 믿을 수 있는 기관 B는 자신의 비밀키로 A의 공개키를 서명하고, A의 주체 정보와 B의 공개키 등을 담아 인증서를 만들어 배포한다. 그리고 A는 이 인증서와 함께 원본 데이터와 원본 데이터의 해시값을 서명한 데이터를 합쳐 배포한다.(이를 “코드사인”이라고 한다.) 기관 B를 믿을 수 있는 사용자 C는 코드사인된 데이터를 받아 인증서 안에 들어있는 B의 공개키를 이용하여 A의 공개키를 얻어낸다. 이 A의 공개키로 서명된..