목차
가. 개발 계획서
나. 중간진행보고서
- 개발 알고리즘
- 소프트웨어 구성도
- 키보드마우스 공유 프로그램에서 TCP/IP 설정
- 제어명령 및 처리이벤트
- 화면 제어권처리
- 주요 클래스 설명
- 암호화 알고리즘
- 수행기간 및 일정
- 세부진행 사항과 역학분담
- 지적사항 및 조치사항
나. 중간진행보고서
- 개발 알고리즘
- 소프트웨어 구성도
- 키보드마우스 공유 프로그램에서 TCP/IP 설정
- 제어명령 및 처리이벤트
- 화면 제어권처리
- 주요 클래스 설명
- 암호화 알고리즘
- 수행기간 및 일정
- 세부진행 사항과 역학분담
- 지적사항 및 조치사항
본문내용
관리
멤버함수
ApplyEnvironmentSetting
서버에 대한 환경설정 적용
CDlgSetting
메인 환경설정을 관리
멤버함수
ApplyEnvironmentSetting
메인 환경설정을 적용
CKMShareApp
프로그램전역에서 필요한 공통변수, 파일, 레지스트리 관리
멤버함수
DeleteRegistAutoRunValue
AutoRun 레지스트리 정보 삭제
EnvFileLoad
환경설정 파일 로드
EnvFileSave
환경설정 파일 저장
GetClipBoard
클립보드 내용 가져오기
InitEnvVariable
환경변수 초기화
SetClipboard
클립보드 내용 설정
SetLog
로그 출력
SetRegistAutoRunValue
AutoRun 레지스트리 정보 설정
멤버변수
m_nCodeType
코드타입(서버인지 or 클라이언트)
m_nServerPort
서버 포트번호
m_nClientPort
클라이언트 포트번호
m_strServerIpAddr
서버 아이피 주소
m_nSlaveMonitorDir
Master모니터를 기준으로 Slave모니터 방향
m_bUsePswd
패스워드 사용 유무
m_bAutoLogin
자동로그인 활성화 유무
m_bWinAutoExe
윈도우 실행시 자동실행 활성화 유무
m_strServerPswd
서버 입력 패스워드
m_strClientPswd
클라이언트 입력 패스워드
CKMShareDlg
메인 화면 동작 구현 및 프로그램 전체 운영 이벤트 관리
멤버함수
ChangeTab
탭 이동시 화면 초기화
initSocket
소켓 초기화
closeSocket
소켓 닫기
CS_MousePosMonitoring
Client-Side 마우스 위치 모니터링
CS_SetHook
후킹 설정
CS_UnsetHook
후킹 설정 취소
CS_TryConnect
서버에 접속 시도
OnMsHookMessage
윈도우 전역의 마우스 후킹 메시지 처리
OnMsHookPoint
윈도우 전역의 마우스 커서 좌표 이벤트 처리
OnKeyHook
윈도우 전역의 키보드 후킹 메시지 처리
멤버변수
m_bOnlineMode
통신연결 온라인 유무
m_pClientSock
클라이언트의 통신을 관리하는 클래스 변수
m_pServerSock
서버의 통신을 관리하는 클래스 변수
■ 암호화 알고리즘
TCP/IP 의 취약점인 보안성을 보완하기 위하여, 서버/클라이언트간의 데이터를 암호화하여 전송한다.
시드 알고리즘 사용
SEED 알고리즘은 전자상거래, 금융, 무선통신 등에서 전송되는 개인정보와 같은 중요한 정보를 보호하기 위해 1999년 2월 한국인터넷진흥원과 국내 암호전문가들이 순수 국내기술(ETRI)로 개발한 128비트 블록 암호 알고리즘입니다. 1999년에는 128비트 키를 지원하는 SEED 128을 개발하였으며, 암호 알고리즘 활용성 강화를 위해 2009년 256 비트 키를 지원하는 SEED 256을 개발하였습니다.
본과 수업중 정보보호 과목에서 시드알고리즘에 대해 학습하였으며, 순수 국산 알고리즘을 이용하여 데이터를 암호화 하고자 하였습니다.
3. 계획서 발표 시 지적사항 및 조치사항을 포함하여 중간보고단계까지 진행된 프로젝트 내용을 상세히 기술하시오.(팀원별 수행내용 포함)
■ 수행기간 및 일정
전체일정
자료조사 및 구현기능
개발 환경 및 전체 설계
TCP/IP 연결 설정
마우스제어
키보드제어
암호화 구현
문자열 복사
통합 테스트
완료
완료
완료
완료
완료
진행중
미완료
미완료
■ 세부진행 사항과 역학분담
개발일자
개발내용
개발자
9월1주
착수 및 분석
구성 및 역할분담
9월2주
설계
프로그램이름 확정-KMShare
아키텍쳐설계
환결설정에 따라 마스터컴퓨터 슬래이브컴퓨터로 동작하도록 구현
환경설정에 따라 슬래이브위치 좌,우 설정가능하도록 구현
프로그램 주요기능 도출
마우스 및 키보드 제어
파일복사(추후)
9월3주
통신연결 및 접속테스트
9월3주
환결설정화면 설계 및 디자인
마스터화면
슬래이브화면
간단하므로 탭컨트로로 구현하기로 함
9월2주
전문설계
구분자,키값,x좌표,y좌표
9월2주
프로그램 실행시 트레이영역으로 가도록 구현
마우스,키보드 후킹테스트
9월3주
통신연결상태 아이콘디자인
통신접속성공 여부에 따라 아이콘모양변경
9월3주
환경설정파일 구현
프로그램 시작시 환경파일에서 로드
환경설정값 변경시 환경파일 갱신
개발일자
개발내용
개발자
9월3주
모니터해상도 외부모듈사용
마우스좌표 기준점으로 이동시 좌표값 슬래이컴퓨터로 전송하는 기능구현
제어가 슬래이브로 이동시 마스터컴퓨터 전역후킹하도록 구현
마스터에서 받은 좌표값을 이용하여 슬래이브 컴퓨터에 적용
9월4주
마스터 컴퓨터 통신상태 체크
1초마다 통신연결상태 체크하여 재접속하도록 구현함
9월4주
제어가 슬래이브에 있을 때 키보드 이벤트 발생하면 슬래이브로 전송하여 슬래이브 컴퓨터에서 이벤트 발생하도록 구현
10월1주
마우스이벤트 및 키보드 이벤트 테스트
슬래이브 위치 좌,우에 따라 마우스 이동여부 테스트
제어키(윈도우키,CTRL,ALT) 이벤트 동작여부 테스트
디버깅 위한 로그보기 기능 구
10월1주
wifi 환경에서 통신연결테스트
학교에서 테스트 해본결과 성공
10월2주
컴퓨터 시작시 자동실행하도록 구현
레지스트리에 등록
10월2주
암호화 적용설계
■ 지적사항 및 조치사항
□ 기존 키보드/마우스 공유 프로그램(시너지)를 평가해서 새로운 기능을 추가
□ 유사한 내용의 SW가 있으므로 비교 검토해서 구체적인 기술적 내용을 담을 것
기존 시너지라는 SW는 기본적으로 무료 프로그램이지만, 프리미엄 버전의 경우는 유료로 제공되며, 더 이상의 패치 및 개선은 지원되지 않습니다.
저희가 개발한 키보드마우스공유 프로그램은 전면 무료공개프로그램이며, 기능상의 개선이나 오류시에도 지속적으로 패치할 예정입니다. 또한, 요즘처럼 무선네트워크를 많이 사용하면서 데이터를 주고 받을때는 보안을 생각하지 않을수 없습니다. 그리하여, 키보드마우스공유 프로그램에는 서버/클라이언트 간에 데이터를 전송시 암호화하여 수신시 다시 복호화하여 해킹의 위험으로부터 좀 더 안전성을 제공 합니다.
또한, 좀더 쉽게 사용할수 있도록 환경세팅 위저드와 한글화 UI를 제공합니다.
멤버함수
ApplyEnvironmentSetting
서버에 대한 환경설정 적용
CDlgSetting
메인 환경설정을 관리
멤버함수
ApplyEnvironmentSetting
메인 환경설정을 적용
CKMShareApp
프로그램전역에서 필요한 공통변수, 파일, 레지스트리 관리
멤버함수
DeleteRegistAutoRunValue
AutoRun 레지스트리 정보 삭제
EnvFileLoad
환경설정 파일 로드
EnvFileSave
환경설정 파일 저장
GetClipBoard
클립보드 내용 가져오기
InitEnvVariable
환경변수 초기화
SetClipboard
클립보드 내용 설정
SetLog
로그 출력
SetRegistAutoRunValue
AutoRun 레지스트리 정보 설정
멤버변수
m_nCodeType
코드타입(서버인지 or 클라이언트)
m_nServerPort
서버 포트번호
m_nClientPort
클라이언트 포트번호
m_strServerIpAddr
서버 아이피 주소
m_nSlaveMonitorDir
Master모니터를 기준으로 Slave모니터 방향
m_bUsePswd
패스워드 사용 유무
m_bAutoLogin
자동로그인 활성화 유무
m_bWinAutoExe
윈도우 실행시 자동실행 활성화 유무
m_strServerPswd
서버 입력 패스워드
m_strClientPswd
클라이언트 입력 패스워드
CKMShareDlg
메인 화면 동작 구현 및 프로그램 전체 운영 이벤트 관리
멤버함수
ChangeTab
탭 이동시 화면 초기화
initSocket
소켓 초기화
closeSocket
소켓 닫기
CS_MousePosMonitoring
Client-Side 마우스 위치 모니터링
CS_SetHook
후킹 설정
CS_UnsetHook
후킹 설정 취소
CS_TryConnect
서버에 접속 시도
OnMsHookMessage
윈도우 전역의 마우스 후킹 메시지 처리
OnMsHookPoint
윈도우 전역의 마우스 커서 좌표 이벤트 처리
OnKeyHook
윈도우 전역의 키보드 후킹 메시지 처리
멤버변수
m_bOnlineMode
통신연결 온라인 유무
m_pClientSock
클라이언트의 통신을 관리하는 클래스 변수
m_pServerSock
서버의 통신을 관리하는 클래스 변수
■ 암호화 알고리즘
TCP/IP 의 취약점인 보안성을 보완하기 위하여, 서버/클라이언트간의 데이터를 암호화하여 전송한다.
시드 알고리즘 사용
SEED 알고리즘은 전자상거래, 금융, 무선통신 등에서 전송되는 개인정보와 같은 중요한 정보를 보호하기 위해 1999년 2월 한국인터넷진흥원과 국내 암호전문가들이 순수 국내기술(ETRI)로 개발한 128비트 블록 암호 알고리즘입니다. 1999년에는 128비트 키를 지원하는 SEED 128을 개발하였으며, 암호 알고리즘 활용성 강화를 위해 2009년 256 비트 키를 지원하는 SEED 256을 개발하였습니다.
본과 수업중 정보보호 과목에서 시드알고리즘에 대해 학습하였으며, 순수 국산 알고리즘을 이용하여 데이터를 암호화 하고자 하였습니다.
3. 계획서 발표 시 지적사항 및 조치사항을 포함하여 중간보고단계까지 진행된 프로젝트 내용을 상세히 기술하시오.(팀원별 수행내용 포함)
■ 수행기간 및 일정
전체일정
자료조사 및 구현기능
개발 환경 및 전체 설계
TCP/IP 연결 설정
마우스제어
키보드제어
암호화 구현
문자열 복사
통합 테스트
완료
완료
완료
완료
완료
진행중
미완료
미완료
■ 세부진행 사항과 역학분담
개발일자
개발내용
개발자
9월1주
착수 및 분석
구성 및 역할분담
9월2주
설계
프로그램이름 확정-KMShare
아키텍쳐설계
환결설정에 따라 마스터컴퓨터 슬래이브컴퓨터로 동작하도록 구현
환경설정에 따라 슬래이브위치 좌,우 설정가능하도록 구현
프로그램 주요기능 도출
마우스 및 키보드 제어
파일복사(추후)
9월3주
통신연결 및 접속테스트
9월3주
환결설정화면 설계 및 디자인
마스터화면
슬래이브화면
간단하므로 탭컨트로로 구현하기로 함
9월2주
전문설계
구분자,키값,x좌표,y좌표
9월2주
프로그램 실행시 트레이영역으로 가도록 구현
마우스,키보드 후킹테스트
9월3주
통신연결상태 아이콘디자인
통신접속성공 여부에 따라 아이콘모양변경
9월3주
환경설정파일 구현
프로그램 시작시 환경파일에서 로드
환경설정값 변경시 환경파일 갱신
개발일자
개발내용
개발자
9월3주
모니터해상도 외부모듈사용
마우스좌표 기준점으로 이동시 좌표값 슬래이컴퓨터로 전송하는 기능구현
제어가 슬래이브로 이동시 마스터컴퓨터 전역후킹하도록 구현
마스터에서 받은 좌표값을 이용하여 슬래이브 컴퓨터에 적용
9월4주
마스터 컴퓨터 통신상태 체크
1초마다 통신연결상태 체크하여 재접속하도록 구현함
9월4주
제어가 슬래이브에 있을 때 키보드 이벤트 발생하면 슬래이브로 전송하여 슬래이브 컴퓨터에서 이벤트 발생하도록 구현
10월1주
마우스이벤트 및 키보드 이벤트 테스트
슬래이브 위치 좌,우에 따라 마우스 이동여부 테스트
제어키(윈도우키,CTRL,ALT) 이벤트 동작여부 테스트
디버깅 위한 로그보기 기능 구
10월1주
wifi 환경에서 통신연결테스트
학교에서 테스트 해본결과 성공
10월2주
컴퓨터 시작시 자동실행하도록 구현
레지스트리에 등록
10월2주
암호화 적용설계
■ 지적사항 및 조치사항
□ 기존 키보드/마우스 공유 프로그램(시너지)를 평가해서 새로운 기능을 추가
□ 유사한 내용의 SW가 있으므로 비교 검토해서 구체적인 기술적 내용을 담을 것
기존 시너지라는 SW는 기본적으로 무료 프로그램이지만, 프리미엄 버전의 경우는 유료로 제공되며, 더 이상의 패치 및 개선은 지원되지 않습니다.
저희가 개발한 키보드마우스공유 프로그램은 전면 무료공개프로그램이며, 기능상의 개선이나 오류시에도 지속적으로 패치할 예정입니다. 또한, 요즘처럼 무선네트워크를 많이 사용하면서 데이터를 주고 받을때는 보안을 생각하지 않을수 없습니다. 그리하여, 키보드마우스공유 프로그램에는 서버/클라이언트 간에 데이터를 전송시 암호화하여 수신시 다시 복호화하여 해킹의 위험으로부터 좀 더 안전성을 제공 합니다.
또한, 좀더 쉽게 사용할수 있도록 환경세팅 위저드와 한글화 UI를 제공합니다.
추천자료
- 특수복 제작을 위한 기반구축 및 디자인 개발 (사업계획서)
- (부동산개발사업)성북구성북동고급빌라사업계획서
- [영유아 프로그램 개발 및 평가] 프로젝트 접근법 VS 레지오 에밀리아 접근법
- 사회복지프로그램 사업계획서 - 청소년자원봉사활성화프로그램개발및평가 - 프로그램 분석, ...
- 임베디드 프로젝트 디지털쇼핑카트, 개발동기, 방법, 내용 실제사례, 문제점, 해결방안
- [영유아프로그램개발과평가] 몬테소리프로그램, 프로젝트프로그램, 레지오에밀리아 프로그램,...
- [사회복지프로그램개발] <사업계획서> 시설 중증장애인들의 계절별 자연체험 프로그램 - 아기...
- [프로그램개발과평가, 사업계획서 프로포절] 다문화가정청소년의 사회적응프로그램 - 사업명 ...
- [영유아프로그램 개발과 평가] 프로젝트 접근법의 실제 : 영유아의 예체능 교육
- [청아성 프로젝트] 산업교육 프로그램 개발 - 청소년의 아름다운 성 : 청 아 성.ppt
- 문화예술활동을 통한 조손가정 심리정서치료 프로그램(프로그램개발과평가, 프로포절계획서, ...
- 다문화가정청소년의 사회적응프로그램(프로그램개발과평가, 사업계획서, 다문화가정프로그램,...
- 사업계획서-신내지하철 차량기지 복합 개발계획
소개글