보안
[OpenSSL] HMAC을 활용한 투표 프로그램
dong1
2020. 8. 10. 17:41
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