• 제목/요약/키워드: Socket Communication

검색결과 125건 처리시간 0.021초

USN환경에서 교육용 ZigBee 장비의 설계 및 구현 (A Design and Implementation of ZigBee Educational System in USN Environment)

  • 박균득;정중수;정광욱
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제2권5호
    • /
    • pp.335-340
    • /
    • 2013
  • 본 논문에서는 USN 환경에 적합한 ZigBee 교육용 시스템을 설계 및 구현하였다. 또한 ZigBee 교육용 실습 장비를 통하여 사용자가 USN환경에서 소프트웨어 기술 교육을 위하여 동작과정을 실습하고, 그 과정에서의 소프트웨어 설계 기법을 제시하였다. 시스템의 개발 환경으로 CPU는 Atmel사의 Atmega128 프로세서, 디버깅 환경은 AVR 컴파일러, 펌웨어 개발 언어는 C언어를, 응용 프로그램은 Visual C++를 사용하였다. 시스템 동작 과정은 인터넷을 통한 서버나 직접 접속된 하이퍼 터미널로부터 코디네이터가 센싱정보 읽기 명령을 수신한 후 이를 ZigBee 기술을 이용하여 종단장치로 전달함으로서 시작된다. 이후 종단 장치는 다양한 센싱정보를 코디네이터에게 전달하며, 코디네이터는 인터넷을 통해 서버로 전달하거나 코디네이터에게 직접 접속된 하이퍼 터미널로 전달한다. 교육 과정으로는 이러한 ZigBee 동작과정에 대한 실습과 그에 대한 프로그래밍 기법이다. 이때 코디네이터와 종단장치간 통신은 ZigBee 프로토콜의 물리계층, MAC 계층, 네트워크 계층을 활용하여 설계하였다. 또한 서버와 코디네이터간 통신은 TCP/IP 소켓위에 독자적인 프로토콜을 제시하여 설계하였고, 센싱된 데이터를 전달시 프로토콜 처리과정을 해석하여 검증하였다.

코드 주입을 통한 OpenSSL 공유 라이브러리의 보안 취약점 공격 (Attacking OpenSSL Shared Library Using Code Injection)

  • 안우현;김형수
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제37권4호
    • /
    • pp.226-238
    • /
    • 2010
  • OpenSSL은 보안 통신 프로토콜인 SSL을 구현한 공개 소스 기반의 라이브러리이다. 하지만, 이 라이브러리는 리눅스 혹은 유닉스 운영체제에서 공유 라이브러리 형식으로 사용될 때 보안 정보를 쉽게 노출할 수 있다는 취약점이 있다. 본 논문은 이런 취약점을 공격하는 기법을 제안한다. 이 기법은 실행중인 클라이언트 프로그램에 공격 코드를 주입하여 SSL 핸드셰이크 단계에서 보안 취약점을 다음과 같이 공격한다. 첫째, 클라이언트가 서버에게 지원 가능한 암호 알고리즘의 목록을 전송할 때 그 목록의 모든 알고리즘을 임의로 지정한 알고리즘으로 교체한다. 이 교체는 암호 알고리즘의 목록을 수신한 서버로 하여금 지정한 암호 알고리즘을 선택하도록 한다. 둘째, 암복호화에 사용되는 암호 키를 생성 과정에서 가로채고, 그 암호 키를 외부 공격자에게 전송한다. 그 후 외부 공격자는 지정한 암호 알고리즘과 가로챈 암호키를 사용하여 송수신된 암호 데이터를 복호화한다. 제안하는 기법의 실현성을 보이기 위해 본 논문은 리눅스에서 OpenSSL 공유 라이브러리를 사용하는 ftp 클라이언트가 서버로 전송하는 암호화된 로그인(login) 정보를 가로채 복호화하는 실험을 수행하였다.

안드로이드 플랫폼에 WiFi 디바이스 탑재 기법 (A Porting Technique of WiFi Device on Android Platform)

  • 정우영;주영관;전중남
    • 중소기업융합학회논문지
    • /
    • 제2권1호
    • /
    • pp.51-58
    • /
    • 2012
  • 안드로이드 플랫폼은 리눅스 2.6 커널을 기반으로 강력한 운영체제와 포괄적 라이브러리, 멀티미디어 환경, 사용자 인터페이스, 폰 애플리케이션 등을 제공한다. 안드로이드는 개방형 운영체제이기 때문에, 어느 벤더기기에든 탑재가 가능하다. 현재 스마트폰뿐만 아니라 넷북, 네비게이션, 카 PC, 태블릿 PC, 산업용 PC 등 여러 분야에서 사용되고 있다. 안드로이드를 다른 기기에 탑재하거나 안드로이드 플랫폼에 새로운 디바이스를 탑재하려면 많은 어려움이 따른다. 본 논문에서는 하드웨어 장치에서 발생한 데이터가 최상위 애플리케이션까지 전달되는 과정과 안드로이드 플랫폼이 하드웨어 디바이스를 관리하는 체계를 분석하고, WiFi 디바이스를 탑재하는 절차를 안드로이드 및 드라이버 컴파일 환경구축, 커널에서 WiFi 사용을 위한 프로토콜 지원, WiFi 디바이스를 커널에 탑재, 안드로이드 플랫폼에 디바이스 드라이버 등록, WiFi 관리서비스 데몬(wpa_supplicant)과 IP 할당서비스 데몬(dhcpcd) 등록, 데몬(wpa_supplicant)과 HAL의 통신을 위한 소켓 생성으로 제시하고 있다. 실험에서는 본 논문에서 제시한 방법을 이용하여 ARM 계열과 X-86 계열의 안드로이드 플랫폼에 WiFi 디바이스를 탑재했다. 안드로이드 플랫폼에 디바이스 탑재 시에는 안드로이드의 소프트웨어 계층을 이해하는 것이 매우 중요하며, 이러한 경험은 안드로이드 플랫폼에 새로운 디바이스를 탑재할 때에도 많은 도움이 될 것이다.

  • PDF

u-헬스케어기반의 수면제어 및 원격모니터링 시스템 (U-healthcare Based System for Sleeping Control and Remote Monitoring)

  • 김동호;정창원;주수종
    • 인터넷정보학회논문지
    • /
    • 제8권1호
    • /
    • pp.33-45
    • /
    • 2007
  • 본 논문에서는 개폐상태를 알릴 수 있는 스위치나 센서들을 이용하여, 수면자의 수면상태를 인식할 뿐 아니라 올바른 수면상태로 제어할 수 있는 수면제어 및 원격모니터링 시스템을 제안하였고, 이 시스템을 헬스케어 수면매트에 실제 적용한 예를 보였다. 제안한 시스템은 센서를 이용한 수면상태 감지부, 센싱데이터 검출 및 송수신부, 수면상태 제어 및 모니터링부로 구성되었다. 시스템 구축을 위해 먼저, 수면상태 감지부는 접촉 방식의 개폐형식의 스위치센서를 사용하였다. 둘째, 센싱데이터 검출 및 송수신부는 임베디드 보드를 자체 개발하였으며, 실시간 데이터 추출과 수면상태 제어 및 모니터링부와는 소켓 기반의 통신이 지원된다. 그리고 세 번째 수면상태 제어 및 모니터링부에서는 입력된 센서 ID와 센싱된 데이터를 기반으로 올바른 수면자세의 유도 및 전반적인 수행상태 정보를 모니터링 하도록 하였다. 마지막으로 이들 서비스 모듈 및 그들 간의 통신구현은 실시간 객체지향형 모델인 TMO 스키마와 이들 간의 실시간 통신을 위해 분산 미들웨어로서 TMOSM을 이용하였다.

  • PDF

가상 컴파일러 기술을 통한 실습 형 프로그래밍언어 e-learning 콘텐츠 (Compiler technology training through a virtual e-learning content programming language)

  • 이호진;강희수;윤준수;문일영
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2014년도 춘계학술대회
    • /
    • pp.867-870
    • /
    • 2014
  • 현재 수많은 대학 및 각종 교육기관에서의 e-learning 교육 시스템이 실행되고 있다. 또한 그 필요성이 대두되고 있다. 하지만 기존 e-learning 시스템은 많은 문제를 가지고 있다. 우선 이론 중심 교육방법이 각 대학 및 교육기관들이 e-learning 시스템을 도입하기에 가장 큰 걸림돌이 되고 있다. 또한 학생들의 참여를 유도 할 수 없는 단방향의 강의가 문제이다. 본 논문에서는 이러한 이론중심 및 단방향 강의 시스템을 극복하고자 실습 형 프로그래밍 언어 e-learning 콘텐츠를 개발할 것이다. 소켓통신과 멀티스레드를 이용하여 웹 브라우저 환경에서 서버 측 컴파일러를 통해 클라이언트 측에 별도로 프로그램 설치 및 환경 설치 없이 환경 제약이 없는 학습이 가능하다. 실습 형 콘텐츠는 프로그래밍 언어를 학습자로 하여금 직접 클라이언트 측 웹 브라우저에서 소스 코드를 입력하여 강의를 이끌어가는 방식이다. 학습자가 입력한 소스 코드에 대한 컴파일은 서버 측 컴파일러에서 실행하여 결과를 학습자에게 제공한다. 때문에 실습 형 e-learning 콘텐츠는 향후 e-learning 시스템 발전에 큰 기여를 할 것이다.

  • PDF