OpenSSL on Http 정보
OpenSSL on Http본문
http_openssl(OpenSSL on Http)
약 3달에 걸친 프로젝트가 완성이 되었습니다. 이름하여 "OpenSSL on Http"입니다. OpenSSL은 https에서 되게 되어있어 따로 보안서버를 구축해야 하는 금전적 부담이 있습니다. 그런 연유로 인해 프로젝트를 시작하게 되었습니다. 이 프로젝트는 클라이언트 범용언어 javascript와 서버언어 php로만 작동하여 웹서버에서 돌아갈 수 있는 OpenSSL을 구축해줌으로써 보안서버가 전혀 필요없습니다. 이것말고 JaPCrypt라는 웹프로그램이 있으나 JaPCrypt의 단점은 송신시 암호화에 사용된 대칭키가 그대로 전달된다는 문제가 있습니다. 또한 TEA라는 암호화는 단순하여 보안에 취약할 수 있다는 점이 있습니다. 현재까지 프로그램 작동여부에 대한 테스트까지 완료한 상태입니다. 마지막으로 그누보드에 적용하여 나머지 부분을 만드는 일만 남았습니다(관련 로그인 스킨이나 RSA 키생성 관련 어드민 페이지 등)
구조는 다음과 같이 구상하고 있습니다.
1. 클라이언트에서 서버로 로그인 접근
2. 서버에서 로그인페이지를 전송하면서 RSA 비대칭키인 public key를 제공한다.
3. 클라이언트 브라우저에서 서버와 상호간 사용할 대칭키를 생성한 후 이 키를 제공받은 RSA public key로 암호화한다.
4. 클라이언트에서 전송전 모든 데이터를 생성된 대칭키로 AES(CBC모드) 암호화 한후 RSA public key로 암호화한 값과 같이 전송한다. 대칭키는 클라이언트에 로그아웃할 때까지 쿠키저장한다.(쿠키저장되어 있어도 로그인시 새로생성)
5. 서버에서 전송받은 데이터 중 RSA public key로 암호화된 대칭키를 RSA private key로 복호화 한후 복호화한 대칭키를 이용해 나머지 데이터를 복호화하여 저장한다. 복호화한 대칭키는 로그아웃할 때까지 서버에 세션으로 저장한다.
6. 로그아웃시 클라이언트 쿠키 삭제 및 서버 세션 삭제함으로써 대칭키를 지운다.
OpenSSL의 흐름을 알고있는 사람은 현재의 구조와 거의 같다는 것을 알 수 있을 겁니다.
그누보드로 만든 웹사이트에 적용한 후 테스트가 완료되면 공개하겠습니다. 짬짬이 하는 일이라 빠른 시일은 아마 힘들기 때문에 보채지 마세요. (RSA, ASE에 대해 알지 못한다면 인터넷으로 구글링을 해보시면 이 웹프로그램이 뭐하는지 알게 됩니다.)
추천
0
0
댓글 3개

수고많으시네염.. 보채지 않겠습니다.. ^^ 홧팅

정말 멋진 프로젝트를 끝내 셨네요...^^
많은 분들에게 도움이 될것 같습니다.
Letsgolee 님!! 홧팅...^^
많은 분들에게 도움이 될것 같습니다.
Letsgolee 님!! 홧팅...^^

멋진 프로젝트네요 화이팅입니다.