Shine's dev log
[OpenSSL] HMAC을 활용한 투표 프로그램 본문
1. 개요
https://github.com/godeastone/VotingProgram_with_C
사용자 인증을 진행할 때 사용하는 방법 중 하나가 바로 MAC(Message Authentication Code)이다.
본 프로그램은 기본적으로 하나의 서버에 여러명의 클라이언트들이 접속하여 투표를 진행할 수 있는 구조이다. 클라이언트가 서버가 생성한 투표 항목 중 하나를 선택하면, 선택 결과를 이용해 HMAC를 생성한다. 서버는 받은 결과로 만들어낸 HMAC과 클라이언트로부터 받은 HMAC을 비교하여 메시지 인증을 진행한다.
통신 – 소켓 통신 이용
HMAC – openssl의 HMAC 관련 라이브러리 이용
signal – 알람을 핸들링하는 signal handler를 이용해 투표 종료
3. 실행예시
4. 참고자료
OpenSSL의 mac생성법 - https://blog.naver.com/PostView.nhn?blogId=seongjeongki7&logNo=220890684562&parentCategoryNo=&categoryNo=8&viewDate=&isShowPopularPosts=false&from=postView
소켓 프로그래밍 - https://good-coding.tistory.com/17
'보안' 카테고리의 다른 글
[네트워크보안] Sniffing(스니핑) - tcpdump (0) | 2020.08.27 |
---|---|
[네트워크보안] 배너그래빙 (Banner Grabbing) (0) | 2020.08.25 |
[JAVA] 대칭키와 비대칭키를 활용한 채팅 프로그램 (0) | 2020.08.06 |
디지털 서명 & PKI (0) | 2020.08.06 |
타원 곡선 암호(Elliptic Curve Cryptography) (0) | 2020.07.30 |