뜬금없이 써보는 DB 암호화 관련
- Minny
- 조회 수 3365
- 2020.09.04. 20:49
생각보다 암호화 범위는 좁습니다, 이런 CSM 패키지들은... 글을 쭉 보다보니 쪽지 내용도 암호화 되는데 어떻게 보냐 등의 반응이 있는데,
일단 웹 컨텐츠를 암호화 하게 되면 원본 내용도 상당히 긴데다가, 이걸 결국 사용자에게 보여줄려면 결국 복호화를 해야 하니, 단방향 암호화는 사용할 수 없고, 그렇다는건 퍼포먼스가 개판됩니다.
애초에 쪽지 같은게 암호화가 되어도 의미가 없는게, DB에서 불러올때 복호화를 해서 불러올껀데, 그 키는 어떻게 정할까요? 결국 사이트 관리자가 지정하거나 패키지 내에 있는 기본 키를 사용할 겁니다. 그러면 그냥 그 쿼리를 열어보는 것만으로 손쉽게 해제가 됩니다.
아니 패스워드를 키로 사용해서 복호화를 하면 되는거 아냐? 라고 하시면, 패스워드는 특별한 경우 아닌 이상 단방향 암호화입니다. 그래서 복호화를 못해요. 그러면 패스워드를 다른 양방향 암호화에 사용하는 키로 사용 못합니다. 물론 패스워드를 복호화 가능하게 만들어 뒀을 수 도 있어요. 그러면 걍 들어가 보면 그만.
요점이 뭐냐, 99.999%의 모든 사이트들이 뭐 비밀글이니 비밀댓글이니, 쪽지니, 익명 기능이니, ****표시를 하니.... 해서 숨기는 기능을 제공해봤자. 사이트 관리자? 최소한 DB 직접 접속이 가능한 사람들은 마음만 먹으면 다 뜯어볼 수 있습니다.
이번 일은 참 안타깝습니다만, 저격이 목적이 아니라, 암호화니 뭐니에 너무 맹신하는 사람이 몇명 보여서 써보는 글입니다.
암호화가 만능이 아니다 X, 암호화를 적용 할 수 없는 곳이 대부분이다.
-암호화하면 DB 사이즈가 기하급수적으로 증가합니다. ->
웹은 반응속도 빠른게 생명입니다. 그런 와중에 사이즈가 커서 느리다? 이러면 안됨.
-복호화 하는데 성능이 필요로 합니다.->
가장 좋은건 암호화된 데이터를 단말기에 쏴주고, 단말기에서 직접 복호화해서 보는게 젤 좋습니다(종단간 암호화) 하지만, 이러면 브라우저 쪽에서는 처리하느라 느려집니다. 가뜩이나 암호화된 엄청큰 데이터가 들어왔는데 복호화까지 해야 하니... 그러면 클래임 오지게 들어옵니다, 그렇다고 서버단에서 복호화 해서 보내준다? 그러면 제가 적은 내용대로 됩니다.
웹 환경에서 가장 치명적인 반응속도, 성능문제가 암호화를 하면 엄청나게 생겨나는데, 당연히 대부분은 암호화를 안하죠. 최소한의 양심(?, 사실 법임)으로 패스워드만 암호하하지. 왜 좀 큰 사이트들, 대기업급에서 운영하는 사이트들이 터질때마다 뭐뭐뭐뭐 유출되었으나 패스워드는 안전합니다. 하는 이유가 이거때문입니다. 뭐라도 더 암호화하면 그거 열때마다 느려지고 낭비거든요. 패스워드는 단방향암호화라 대조만 하면 되고,,,, (물론 복호화 가능하게 지정해버리면 그 키만 찾으면 망)
반대로 이상하리만큼 인터넷 뱅킹 시스템이 느린 이유는 별의 별짓을 다해서 종단 암호화를 야매로라도 구축하고 해서 그런겁니다. 전체 느린것을 10으로 보면 엔프로X트니 안랩어쩌구 하는 시큐리티 그것들이 한 8 쯤 차지하고 나머지 2가 이런 이유때문.
물론 제 지식이 잘못됬을 수 도 있지만, 회사 다니면서 경험상 이게 유력합니다
그래도 없는 것보다는 나으니까요.
그렇다고 암호화가 만능이라는 것도 아니지만...