KR20010044385A - 네트워크를 이용한 개인 정보 교환 시스템, 그 시스템을이용한 정보 교환 방법 및 그 방법이 기록된 컴퓨터로읽을 수 있는 기록매체 - Google Patents

네트워크를 이용한 개인 정보 교환 시스템, 그 시스템을이용한 정보 교환 방법 및 그 방법이 기록된 컴퓨터로읽을 수 있는 기록매체 Download PDF

Info

Publication number
KR20010044385A
KR20010044385A KR1020010007523A KR20010007523A KR20010044385A KR 20010044385 A KR20010044385 A KR 20010044385A KR 1020010007523 A KR1020010007523 A KR 1020010007523A KR 20010007523 A KR20010007523 A KR 20010007523A KR 20010044385 A KR20010044385 A KR 20010044385A
Authority
KR
South Korea
Prior art keywords
client
message
data
information
server
Prior art date
Application number
KR1020010007523A
Other languages
English (en)
Inventor
김효원
Original Assignee
한상천
주식회사 인터하우스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한상천, 주식회사 인터하우스 filed Critical 한상천
Priority to KR1020010007523A priority Critical patent/KR20010044385A/ko
Publication of KR20010044385A publication Critical patent/KR20010044385A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

인터넷 환경하에서 개인 정보에 대한 동기화가 실시간으로 이루어지며 웹사이트의 자체 시스템에 대한 변경없이 개인 정보가 교환될 수 있는 시스템을 개시한다. 이러한 시스템은, 서버와 함께 수행하고자 하는 요청된 작업에 따라 명령어와 데이터를 활용한 메시지를 생성하거나 또는 전송받은 메시지를 분석하여 명령어와 데이터로 구분하기 위하여 클라이이언트측 메시지 분석부를 구비한 클라이언트측 메시지 실행부와, 네트워크를 통하여 메시지가 전송되도록 하기 위한 클라이언트측 네트워크 관리부를 구비한 클라이언트와; 네트워크를 통하여 정보가 전송되도록 하기 위한 서버측 네트워크 관리부와, 상기 클라이언트와 함께 수행하고자 하는 작업을 분석하고 필요한 정보를 수집하여 수행한 뒤 그 결과를 메시지화하여 제공하기 위하여 서버측 메시지 분석부와 명령처리부를 구비한 서버측 메시지 실행부와, 네트워크를 통하여 전송되는 정보와 서버에 설치된 DB를 연동하기 위하여 사이트 관리자가 지정한 양식을 관리하기 위한 데이터 매니저(325)와, 서버에 설치된 DB의 종류에 관계없이 사이트 관리자가 지정한 양식에 따라 DB작업을 수행하기 위한 DB연동부를 구비한다.

Description

네트워크를 이용한 개인 정보 교환 시스템, 그 시스템을 이용한 정보 교환 방법 및 그 방법이 기록된 컴퓨터로 읽을 수 있는 기록매체{Personal information transfer system and method using computer network, and computer-readable media recorded the method}
본 발명은 인터넷 환경 하에서 정보를 교환하는 방법에 관한 것이다.
인터넷 환경 하에서의 인터넷을 사용하는 정보 예컨데, 사용자가 개별적으로 관리하는 정보의 집합 특히, 사용자의 개인 신상정보(이하, "개인정보"라 한다)를 서로 교환하기 위하여, 인터넷 브라우저에서 제공하는 쿠키(Cookie)를 이용하거나, 또는 별도로 준비된 서버에 개인정보를 저장하고 저장된 정보를 필요로 하는 경우에 해당 서버에 접속하는 별도의 프로그램 예컨데, Microsoft의 패스포트(Passport)를 이용하는 방법이 있다.
인터넷 브라우저에서 제공하는 Cookie를 이용하여 사용자 PC(110)에 정보를 저장하고 저장된 정보를 제공하는 방법은, 사용자 PC(110)에 정보를 저장하거나 인터넷 환경하에서 개인정보를 교환할 때 암호화 하지 않고 있기 때문에 보안이 약한 문제가 있으며, 또한, 해당 Cookie를 설정한 도메인 즉, 도메인이 동일한 웹사이트에서만 사용할 수 있기 때문에 서로 다른 도메인을 가진 웹사이트에서 개인정보를 서로 공유할 수 없다.
그리고, Microsoft의 패스포트(Passport)를 이용하여 개인 정보를 교환하는 방법에 있어서는, 독점적으로 개인 정보를 관리하기 위하여 의도적으로 범용성을 배제하고 있다. 즉, 별도로 준비된 서버 즉, 마이크로 소프트사에서 제공된 서버에만 개인 정보가 저장되고 마이크로 소프트사가 독점적으로 관리하고 있기 때문에, 사용자 PC(110) 등을 이용하여 저장된 개인정보를 사용자가 직접 관리할 수 없다. 또한, 웹 사이트 관리자가 회원의 개인 정보를 관리하기 위해서는 마이크로 소프트에서 제공하는 별도의 패스포트 API(Application Programming Interface)를 이용하여 개발된 별도의 정보획득용 프로그램을 개발하거나 구입하여 설치해야 하는데, 이 경우에도 마이크로 소프트사가 웹사이트에 제공하는 정보만을 공유할 수 있을 뿐만 아니라, 해당 웹사이트에서 개별적으로 구축한 회원정보관리 등 개인정보관리 프로그램은 무의미하게 된다.
이러한 개인 정보의 관리 및 제공 방법에 따라, 웹사이트의 회원 가입에 있어서, 각각의 개인 정보는 일정한 값으로 정해져 있지만 각각의 웹사이트에 가입할 때마다 개인 정보 각각의 항목을 일일이 기록해 주어야만 하는 불편함이 있다.
또한, 각각의 웹사이트에 로그인 하는 경우에도, 회원 가입과 마찬가지로 각각의 웹사이트에 로그인 할 때마다 로그인에 필요한 항목들, 예를 들어 ID, Password 등과 같은 항목들을 개별적으로 적어 주어야만 한다. 더욱이, 가입되어 있는 웹사이트들에 대하여 사용자는 각각의 해당 웹사이트의 ID, Password를 모두 기억하고 있어야 하기 때문에, 가입되어 있는 웹사이트들이 많아지면 많아질수록 자신의 ID, Password 관리에 어려움을 겪게 된다.
또한, 각각의 웹사이트들은 고유한 회원정보 관리체계를 가지고 있지만, 모든 웹사이트들에 공통된 어떤 표준화된 회원정보 관리체계를 가지고 있지 않기 때문에, 웹사이트에 회원으로 가입되어 있는 사용자들의 개인정보(이하 "회원정보"라 함)의 관리 및 그 수정에도 많은 어려움이 있다. 즉, 사용자의 E-mail주소가 바뀌거나 전화번호가 바뀌게 되면, 사용자는 가입된 기존의 웹사이트에 각각 접속하여 회원정보를 수정해야 한다. 이는 인터넷 사용자를 불편하게 하고, 인터넷 사용자의 회원정보가 수정되지 않은 채로 방치되는 결과를 초래한다. 이러한 결과는 인터넷 사용자들의 정보가 특히 중요한 웹사이트 측에 큰 손실을 가져올 수 있다.
본 발명은 이와 같은 문제점을 해결하기 위하여 안출된 것으로서, 개인 정보에 대한 동기화를 실시간으로 수행하며 웹사이트에서 자체 시스템에 대한 변경없이 개인 정보를 교환할 수 있는 시스템, 그 시스템을 이용한 정보 교환 방법 및 그 방법이 기록된 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
도 1은 본 발명에 따른 PITP 서비스를 구현하기 위한 시스템 구성도를 개략적으로 도시한 것이며,
도 2는 본 발명에 따른 PDS서버의 기본 회원 정보 데이터 베이스 구성도를 도시한 것이며,
도 3은 도 2에 도시된 시스템에서 PITP 서비스를 실시하기 위한 클라이언트/서버 시스템을 보다 상세하게 도시한 기능구성도이며,
도 4는 웹 사이트 관리자에 의하여 PSS 또는 PDS서버의 환경을 설정하는 과정을 도시한 플로우차트이며,
도 5는 PITP 회원 가입에 따른 P-클라이언트 설치 과정을 도시한 플로우 차트이며,
도 6과 도 7은 P-클라이언트가 개인정보를 저장하는 과정을 나타낸 것으로, 도 6은 사용자PC의 입출력시스템을 이용하여 로컬 저장소에 개인 정보를 저장하는 과정을 도시한 플로우차트이며, 도 7은 로컬 저장소외의 별도의 PDS서버에 개인 정보를 저장하는 과정을 도시한 플로우차트이며,
도 8은 P-클라이언트가 PDS서버에 저장된 개인 정보를 요청하여 얻는 과정을 도시한 것으로,
도 8a는 P-클라이언트에서 개인 정보를 요청하는 메시지를 PDS서버에 보내는 과정을 도시한 플로우차트이며,
도 8b와 도 8c는 PDS서버가 P-클라이언트로부터 온 해당 메시지를 수신하여 분석하여 저장된 개인 정보를 P-클라이언트에게 전송하는 과정을 도시한 플로우차트이며,
도 8d는 PDS 서버로부터 전송된 개인 정보를 수신하는 과정을 플로우차트로 도시한 것이
도 9는 P-클라이언트가 PSS서버에서 필요로 하는 개인 정보를 PSS서버에게 제공하는 전체의 과정을 도시한 것으로,
도 9a는 P-클라이언트에서 PDS서버로 개인 정보가 저장되어 있는 위치를 알려줄 것을 요청하는 과정을 도시한 플로우차트이며,
도 9b는 P-클라이언트의 위치 정보 요청에 대하여 개인 정보 저장 위치를 PDS서버가 P-클라이언트에게 알려주는 과정을 도시한 플로우차트이며,
도 9c와 도 9h는 로컬 저장소에 개인 정보가 저장되어 있는 경우에 P-클라이언트가 로컬 저장소에 저장된 개인 정보를 불러와서 PSS서버로 보내는 과정을 도시한 플로우차트이며,
도 9d내지 9h는 PDS 서버에 개인 정보가 저장되어 있는 경우에 P-클라이언트가 필요로 하는 개인 정보를 PSS서버로 제공하는 과정을 도시한 것으로,
도 9d는 P-클라이언트가 개인 정보를 요청하는 메시지를 PDS서버로 보내는 과정을 도시한 플로우차트이며,
도 9e와 도 9f는 PDS서버가 P-클라이언트로부터 온 해당 메시지를 수신하여 분석하고 저장된 개인 정보를 P-클라이언트에게 전송하는 과정을 도시한 플로우차트이며,
도 9g는 PDS서버로부터 전송된 개인 정보를 P-클라이언트가 수신하는 과정을 도시한 플로우차트이며,
도 9h는 PDS서버로부터 전송된 전송용 메시지를 P-클라이언트가 수신하는 과정을 도시한 플로우차트이며,
도 10은, 도 10은 소정의 웹사이트에 로그인하는 과정을 도시한 플로우차트이며,
도 11은 웹브라우저의 입력화면을 통하여 사용자들에 의하여 입력되는 정보를 도시한 것이며,
도 12는 데이터 매니저(325) 부분에서 관리하는 데이터 구조를 도시한 것이며,
도 13a는 P-클라이언트 메시지 분석부를 예로 하여 정보를 전송하기 위한 메시지의 생성과정을 도시한 것이며, 도 13b는 도 13의 과정에서 인코딩되기 전의 메시지를 도시한 것이며, 도 13c는 인코딩된 메시지를 도시한 것이며,
도 14a는 암호화 모듈에서 암호화된 메시지가 생성되는 과정을 도시한 것이며, 도 14b는 암호화 모듈에서 복호화된 메시지가 생성되는 과정을 도시한 것이며, 그리고 도 14c는 암호화된 메시지의 예를 도시한 것이며,
도 15a는 메시지를 실제 전송하는 네트워크 처리과정을 도시한 것이며, 도 15b는 네트워크 상에서 암호화된 메시지를 전송하기 위하여 생성되는 메시지를 도시한 것이며,
도 16은 P-클라이언트에서 조건 무결성을 확인하는 과정을 도시한 것이며,
도 17은, PSS서버에서 데이터 양식을 관리하는 과정을 도시한 것이며, 그리고,
도 18은, PSS 서버의 DB관리 과정 즉, 데이터 베이스 자체의 관리 과정을 도시한 것이다.
이와 같은 목적을 달성하기 위하여 본 발명의 일측면에 따른 일 실시예로서 정보 교환 시스템은, 서버와 함께 수행하고자 하는 요청된 작업에 따라 명령어와 데이터를 활용한 메시지를 생성하거나 또는 전송받은 메시지를 분석하여 명령어와 데이터로 구분하기 위하여 클라이이언트측 메시지 분석부를 구비한 클라이언트측 메시지 실행부와, 네트워크를 통하여 메시지가 전송되도록 하기 위한 클라이언트측 네트워크 관리부를 구비한 클라이언트와; 네트워크를 통하여 정보가 전송되도록 하기 위한 서버측 네트워크 관리부와,상기 클라이언트와 함께 수행하고자 하는 작업을 분석하고 필요한 정보를 수집하여 수행한 뒤 그 결과를 메시지화하여 제공하기 위하여 서버측 메시지 분석부와 명령 처리부를 구비한 서버측 메시지 실행부와, 네트워크를 통하여 전송되는 정보와 서버에 설치된 DB를 연동하기 위하여 사이트 관리자가 지정한 양식을 관리하기 위한 데이터 매니저와, 서버에 설치된 DB의 종류에 관계없이 사이트 관리자가 지정한 양식에 따라 DB작업을 수행하기 위한 DB연동부를 구비한 서버를 포함한다.
더욱이, 상기 서버측 메시지 실행부는 메시지를 인코딩 또는 디코딩하기 위한 PITP 유틸리티와, 상기 명령 처리부에서 수행한 작업의 결과값을 저장하기 위한 결과값 관리부와, 상기 명령처리부에서 수행한 작업의 결과 코드를 관리하기 위한 결과코드관리부를 더 구비하며, 상기 클라이언트는 클라이언트측 메시지 분석부에서 메시지를 인코딩 또는 디코딩하는 것이 바람직하다.
그리고, 상기 클라이언트는 상기 클라이언트측 메시지 분석부로부터 전달된 명령어의 의미를 분석하고 상기 클라이언트측 메시지 분석부로부로터 전달된 작업을 수행하는 명령어를 제공하기 위한 명령어 관리부와, 상기 클라이언트측 메시지 분석부로부터 전달된 데이터를 관리하기 위한 데이터 관리부와, 상기 데이터 관리부로부터 전달된 데이터가 데이터 관리부로부터 전달된 조건값에 부합하는 지 확인하기 위한 데이터 확인부를 포함한다.
여기서, 상기 클라이언트는 메시지를 암호화 또는 복호화하는 클라이언트측 암호화모듈을 구비하며, 상기 서버는 메시지를 암호화 또는 복호화하는 서버측 암호화모듈을 구비하는 것이 정보 교환의 보안에 있어서 바람직하다.
또한, 상기 클라이언트측 암호화 모듈과 상기 서버측 암호화 모듈은 인코딩된 메시지를 암호화 할 수 있다.
그리고, 상기 서버측 네트워크 관리부는, 상기 클라이언트의 네트워크 접속을 받아 들이기 위한 소켓 서버와, 상기 클라이언트와의 접속을 유지하며 데이터를 송수신하기 위한 소켓 쓰레드를 구비한다.
상기 서버는, 사이트 관리자에 의하여 서버 세팅과 관련된 설정정보를 변경하기 위한 관리자 프로그램과, 상기 설정 정보를 메시지 송수신에 적용하기 위한 환경설정 관리부를 더 구비할 수 있다.
여기서, 상기 설정 정보에는, DB종류와 네트워크 연결과 관련된 정보를 포함할 수 있으며, 상기 서버는, 데이터의 무결성을 판단하기 위한 조건 생성부를 더 구비할 수 있다.
상기 클라이언트는, 웹 브라우저의 호출 명령에 대응하여 소정의 파라미터를 클라이언트측 메시지 분석부로 보내는 웹브라우저 연동부를 구비한다.
이때, 상기 클라이언트는, 메시지를 저장 장소에 저장하거나 또는 저장 장소로부터 읽어들이기 위해 분석하고 저장 장소에 대한 정보를 제공하는 데이터 전송부를 구비하는 것이 바람직하다.
그리고, 상기 저장 장소는 로컬 저장소일 수 있으며, 상기 서버가 적어도 2개이상이며, 상기 저장 장소는 적어도 하나의 상기 서버의 DB일 수 있다.
본 발명에 따른 다른 측면에 따른 일 실시예로서 정보교환 방법은, 개인 정보가 저장되어 있는 저장장소와, 개인 정보를 제공하는 클라이언트와, 필요로 하는 개인정보를 요청하는 서버를 포함하는 클라이언트/서버 시스템에 있어서, 상기 저장 장소에 개인 정보를 저장하고 있는 클라이언트에게 필요로 하는 개인 정보를 요청하는 단계; 저장 장소로부터 개인 정보를 추출한 클라이언트로부터 필요로 하는 개인 정보를 네트워크를 통하여 제공받는 단계; 및 네트워크를 통하여 제공받은 개인 정보를 DB에서 사용하는 양식에 맞추어 재가공하는 단계를 포함한다.
상기 재가공하는 단계는, DB에서 사용하는 양식 정보를 읽어 들이고 상기 클라이언트로부터 전송받은 개인 정보를 상기 양식 정보에 맞추어 변경하는 단계와, 상기 변경된 개인 정보를 해당 작업 중 DB와 직접 연동하여 처리하는 작업을 수행하는 단계;를 포함한다.
나아가, 상기 클라이언트에서는 요청하는 작업에 대응하는 명령어와 데이터를 수집하고 메시지를 제공하고, 상기 클라이언트로부터 전송된 개인 정보를 분석하여 명령어와 데이터로 구분하고, 상기 분석된 명령어에 해당하는 작업을 수행하는 단계를 포함할 수 있다.
또한, 상기 클라이언트로부터 전송된 인코딩 메시지를 디코딩하는 단계를 더 포함할 수 있으며, 상기 클라이언트에서는 암호화된 메시지에 복호화하는 단계를 포함할 수 있다.
그리고, 상기 정보 제공 단계는, 상기 클라이언트의 네트워크 접속을 받아 들이는 단계와; 상기 클라이언트와의 접속을 유지하며 데이터를 송수신하기 위하여 쓰레드를 생성하는 단계를 포함한다. 여기서, 상기 쓰레드 생성 단계는, 네트워크 접속과 관련된 정보를 적용하는 단계를 포함한다.
상기 재가공 단계는,데이터 양식에 관한 정보를 적용하는 단계를 포함하며, 상기 DB와 연동하여 처리하는 작업은 회원 가입 또는 상기 DB와 연동하여 처리하는 작업은 로그인일 수 있다.
본 발명에 따른 또 다른 측면에 따른 일실시예로서, 개인 정보가 저장되어 있는 저장장소와, 개인 정보를 제공하는 클라이언트와, 필요로 하는 개인정보를 요청하는 서버를 포함하는 클라이언트/서버 시스템에 있어서, 상기 저장 장소에 개인 정보를 저장하고 있는 클라이언트에게 필요로 하는 개인 정보를 요청하는 수단; 저장 장소로부터 개인 정보를 추출한 클라이언트로부터 필요로 하는 개인 정보를 네트워크를 통하여 제공받는 수단; 네트워크를 통하여 제공받은 개인 정보를 DB에서 사용하는 양식에 맞추어 재가공하는 수단;을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공한다.
또한, 상기 정보를 재가공하는 수단에는, DB에서 사용하는 양식 정보를 읽어 들이고 상기 클라이언트로부터 전송받은 개인 정보를 상기 양식 정보에 맞추어 변경하기 위한 수단과, 상기 변경된 개인 정보를 해당 작업 중 DB와 직접 연동하여 처리하는 작업을 수행하기 위한 수단;이 실행될 수 있는 프로그램이 더 포함될 수 있다.
그리고, 상기 클라이언트에서는 요청하는 작업에 대응하는 명령어와 데이터를 수집하고 메시지를 제공하고, 상기 클라이언트로부터 전송된 개인 정보를 분석하여 명령어와 데이터로 구분하고, 상기 분석된 명령어에 해당하는 작업을 수행하기 위한 수단을 실행시키기 위한 프로그램이 포함될 수 있으며, 상기 클라이언트로부터 전송된 인코딩 메시지를 디코딩하기 위한 수단 또는, 상기 클라이언트로부터 전송된 암호화된 메시지를 복호화하는 수단을 실행시키기 위한 프로그램이 포함될 수 있다.
상기 정보 제공 수단에는, 상기 클라이언트의 네트워크 접속을 받아 들이는 수단과, 상기 클라이언트와의 접속을 유지하며 데이터를 송수신하기 위하여 쓰레드를 생성하는 수단이 포함되어 프로그램이 실행될 수 있다. 또한, 상기 쓰레드 생성 수단에는 네트워크 접속과 관련된 정보를 적용하는 수단을 그리고,상기 재가공 수단에는 데이터 양식에 관한 정보를 적용하는 수단을 실행시킬 수 있는 프로그램이 포함될 수 있다.
본 발명에 따른 또 다른 측면에 따른 일실시예로서, DB의 종류에 관계없이 지정된 양식에 따라 DB작업을 수행하기 위하여, 입력,출력 및 검색할 수 있는 이름영역과 내용영역을 포함하며, 상기 이름 영역과 상기 내용영역은 서로 쌍을 이루어 입력, 출력 및 저장될 수 있는 것을 특징으로 하는 양식 데이터를 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이하 본 발명에 따른 정보 교환 방법의 실시예들로서 네트워크 사용자가 소정의 웹사이트에 회원 가입을 하는 경우와, 웹 사이트에 저장된 자신의 회원 정보를 회원 자신이 직접 관리할 수 있는 경우와, 로그인을 하는 경우에 필요로 하는 개인 정보를 자동적으로 제공하는 방법을 첨부된 도면을 참조하여 설명하고자 한다.
먼저, 개인정보의 관리 및 자동 회원가입, 자동 로그인, 개인정보 자동 업데이트 등과 같은 서비스를 실시하기 위해서, 본 발명은 종래와는 다른 별도의 프로토콜을 사용하며 이하 설명의 편의를 위하여 PITP(Personal Information Transfer Protocol)이라 한다.
그리고, PITP는 일반 웹서비스 등과 같은 인터넷 서비스와 관련된 서버측에 설치되는 PITP 사이트 서버 프로그램(PITP Site Server program:이하에서 간단히 "PSS"이라 함)과, 웹서비스를 원하는 일반 개인의 사용자 PC(110)에 설치되는 사용자 프로그램으로서 PITP 클라이언트 프로그램(PITP Client program :이하에서 간단히 "P-클라이언트"라 함)과, PITP 클라이언트 프로그램과 연동하여 회원가입 및 인증을 담당하는 PITP 데이터 서버 프로그램(PITP Data Server program: 이하에서 간단히 "PDS"라 함)가 이용되며, 이들은 후술하는 바와 같이 기존의 인터넷 시스템과 연동하여 동작된다.
또한, 본 발명에 따른 PITP는 TCP/IP를 기반으로 하여 동작하며, OSI 7 계층구조에서 Level 7인 응용계층(Application Layer)에 해당되는 개인 정보 전송과 관련된 전송규약이며, 기본적으로는 별도의 데이터베이스를 이용하지 않는다. 그러나 개인정보를 사용자 PC(110) 혹은 별도의 서버(후술하는 PDS서버(도 1의 130참조))에 저장하여 관리하기 위해서는 4개의 DB 테이블(Table)이 필요하다.
이하에서, 본 발명에 따른 PITP 서비스를 실시하기 위한 전체 시스템 구성을 살펴보고, 그 상세 구성 및 정보교환 방법의 실시예들을 살펴보기로 한다.
도 1은 본 발명에 따른 PITP 서비스를 실시하기 위한 전체 시스템 구성을 개략적으로 도시한 것이다.
도 1을 참조하면, 본 발명에 따른 PITP서비스를 실시하기 위한 일실시예로서 정보 교환 시스템은, P-클라이언트(310)와 인터넷을 통하여 웹서버에 서비스를 요청하기 위한 웹브라우저(111)와 데이타를 기억하기 위한 기억장치(113) 및 데이터 입력을 위한 입출력장치(112)를 포함하는 사용자 PC(110)와, PSS(320)과 일반 웹서버(121) 및 일반적인 정보를 저장하고 관리하는 DB서버(122)를 포함하는 서버(120 : 이하 "PSS 서버"라 하기로 함) 그리고, PDS(330)과 개인 정보를 보관 관리하기 위한 DB서버(132)와 일반 웹서버(131)를 포함하는 서버(130 : 이하 "PDS 서버"라 함)가 인터넷(140)을 통하여 연결된다.
상기 일반 웹서버는, 웹사이트에서 인터넷을 통한 웹서비스를 수행하기 위하여 설치된 서버 시스템이며, PITP 서비스를 이용하기 이전부터 존재하던 서버를 의미한다. 여기서,상기 웹 서버는, 인터넷 서비스 중 웹 서비스에 대한 일예로서 설명된 것이며, 본 발명은 여기에 한정되는 것은 아니다.
또한, 상기 PSS 서버(120)의 DB 서버(122)는, 웹사이트에서 자체적으로 설치한 데이터베이스 서버를 가리키는 것으로, PITP 서비스를 이용하기 전에 웹사이트 고유의 스스로 정의한 형식에 따라 정보를 관리하는 DB서버를 의미하며, PSS(320)가 설치됨으로써 후술하는 바와 같이 연동처리되어 본 발명에 따른 PITP 서비스가 이루어진다.
그리고, PDS 서버(130)의 DB서버(132)는, 후술하는 바와 같이 개인 정보를 사용자 PC(110)에 저장하여 관리하지 않는 경우에, 개인정보를 PDS 서버(130)에 저장하여 관리하고자 하는 경우에 필요하며, 이때는, 전술한 바와 같이, DB에 4개의 DB 테이블(Table)이 필요하며 이에 대하여는 도2를 참조하여 설명하고자 한다. 또한, 상기 4개의 DB테이블에 상응하는 파일 구조가 사용자 PC(110)에 개인 정보를 저장하여 관리하고자 하는 경우에도 필요하다.
도 2는 본 발명에 따른 PDS 서버(130)의 기본 회원 정보 데이터 베이스 구성도를 도시한 것이다.
도 2를 참조하면, 데이터 베이스에는 4개의 테이블로서 Pds_site, Pds_data, member, Pds_real_data테이블이 포함된다.
Pds_site 테이블(210)은, 요청된 개인 정보가 실제로 저장되는 웹사이트들(즉,PSS 서버(120)의 웹 서버의 웹사이트)의 정보를 저장한다.
사용자가 여러 웹사이트들에 가입하여 회원으로 등록되어 있을 때 추후에 개인 정보가 변경되는 등의 사정이 발생하였을 경우에는, 회원 정보가 PITP에 의하여 자동적으로 변경되도록 하여야 하는데, 이를 위하여 P-클라이언트(310)는 웹 사이트에 회원 가입된 사실 자체를 알고 있어야 한다. 따라서, 각각의 웹사이트가 회원가입을 받는 경우에, PITP를 통하여 개인 정보가 전송될 때 웹 사이트에 대한 정보들이 PDS 서버(130)에 저장되도록 하는데, Pds_site 테이블(210)은 이러한 웹사이트 자체에 대한 정보를 저장하는 DB Table이다.
상기 Pds_site 테이블(210)은 Siteindex 필드(211), Name 필드(212), Siteip 필드(213), Siteport필드(214)를 가진다. 여기서, Siteindex 필드(211)는 웹사이트를 구별하기 위한 번호로 사용되며 중복되지 않은 Primary key로 정의되고, Name 필드(212)에는 웹사이트 이름이 저장되며, Siteip 필드(213)에는 웹사이트의 ip 주소가 저장되며 이 주소를 바탕으로 PITP에 연결되며, Siteport 필드(214)에는 웹사이트내에 설치되어 있는 PSS 서버(120)의 포트 주소가 저장된다.
member 테이블(220)은 사용자를 구별하여 어느 한 사용자의 개인 정보를 저장하기 위한 것이며, Member_index 필드(221), Id 필드(222), Password 필드(223)를 가진다.
Member_index 필드(221)는 사용자를 구별하기 위한 인덱스 번호가 저장되며 중복되지 않은 Primary key로 정의되며, Id 필드(222)에는 어느 한 사용자의 Id가 저장되며, Password 필드(223)에는 사용자의 암호가 저장된다.
Pds_data 테이블(230)은, 사용자의 개인 정보들이 여러 웹사이트에 전송되어 저장되어 있는 경우에 그 웹사이트들에 대한 정보가 저장되는 Table이며, 실제로 데이터는 저장되지 않으며, 사이트들의 목록만이 저장된다. Pds_data 테이블(230)은 primary key로 정의된 일련번호가 저장되는 Pds_data_index 필드(231)와, Pds_site(230)에 저장되어 있는 웹사이트와 연결되는 Siteindex 필드(232)와, member Table에 저장되어 있는 사용자 일련번호가 저장된 member_index 필드(233)와, 개인정보가 변경되는 경우에 이 사이트에 자동으로 변경된 정보를 업데이트(update)할 것인지를 저장하는 Autoupdate 필드(234)를 가진다. Autoupdate 필드에서 예컨데, True로 설정된 경우에 변경된 개인 정보가 자동으로 update되도록 한다.
Pds_real_data 테이블(240)은 각각의 웹사이트에 저장되어 있는 개인정보를 똑같이 저장해두는 Table이며, Pds_data_index 필드(241)와 fieldnum 필드(242)와 name 필드(243)와 value 필드(244)를 가진다. Pds_data_index 필드(241)에는 member_index 필드와 siteindex 필드가 결합되어 특정 사용자의 특정 사이트에 대한 정보임을 구별하는 값이 저장되며, fieldnum 필드(242)는 한 웹사이트내에 여러가지 항목의 정보가 저장될 경우에 이를 일련번호로 구별하는 필드이며, name 필드(243)에는 개인정보 항목 이름이 저장되며, value 필드(244)에는 개인 정보 항목에 해당하는 값이 저장된다.
다음에는, PITP에서 개인 정보의 처리를 위하여 입력되는 모든 정보에 그 타입과 속성을 설명하면 다음과 같다.
PITP에서는 개인정보를 주고 받기 위하여 사용하는 전체 정보는 기본, 기타, 필수, 부가와 같은 데이터 타입과 9가지의 데이터 속성으로 구분될 수 있다.
여기서, 기본 데이터는 현재 인터넷에서 많이 사용되고 있는 공통된 데이터들을 선별하여, PITP에서 공통적으로 사용할 수 있도록 정의한 데이터들로서, 일반적으로는 회원 ID나 암호 등이 해당될 수 있다. 기타 데이터는 PITP에서 기본적으로 정의되지 못하고 각각의 웹사이트에서 또는 특수한 상황에서 요구되는 특별한 데이터로 분류되는 것이 해당될 수 있다. 필수 데이터는 회원 가입 등 정보가 요구되는 상황에서 반드시 필요한 데이터 예컨데, 회원가입 시 요구되는 회원 ID처럼 반드시 입력하여야만 하는 성격의 정보들이 이에 속할 수 있다. 그리고 부가 데이터는 회원 가입 등 정보가 요구되는 상황에서 반드시 필요하지는 않은 데이터들 예컨데, 회원가입 시 요구하는 직업이나 핸드폰 번호처럼 반드시 입력하지는 않아도 되는 정보들이 이에 속한다.
이러한 데이터 타입들은 실제 사용되는 과정에서 항상 두 가지 이상의 데이터 타입이 함께 적용되는데, 이러한 상황에 대한 예제를 나타내면 다음과 같다.
ID 주민등록 번호 자격증 여부 자격증 번호
기본 데이터 O O X X
기타 데이터 X X O O
필수 데이터 O X O X
부가 데이터 X O X O
위의 표에서 확인할 수 있듯이 기본 데이터, 기타 데이터의 구분은 PITP에서 기본 데이터로 지정하였는가와 같은 근본적인 연관성을 가진다. 그러나 필수 데이터와 부가 데이터의 구분은 PITP와는 상관없이 해당 사이트나 특정 상황에서 그 데이터가 반드시 필요한 정보인가 라고 하는 정보의 필요성에 전적으로 의존된다.
데이터 속성에 있어서는, PITP에서 관리하는 모든 정보는 레벨(Level), 이름(Name) 등 PITP에서 정보에 대해 부여하는 고유한 속성들을 지니게 된다. PITP에서 관리되는 정보들은 다른 정보와 구별되도록 하며, 실제 사용될 수 있는 PITP에서의 데이터 속성을 예시하면 다음과 같다.
레벨(Level)은 데이터의 중요도를 지정하는데 사용되며 1이상의 정수를 사용한다.
이름(Name)은 데이터의 이름을 저장하는데 사용되며 PITP를 준수하는 프로그램 내에서 사용되는 데이터의 이름을 가진다. 기본 데이터라면 어디에서나 공통적으로 사용될 수 있게 된다.
쇼우 네임(Show Name)은 사용자에게 보여지게 되는 이름으로써 예컨데, 패스워드(Password)의 외부 출력용 이름을 암호 라고 하면 사용자에게는 해당 정보를 암호라고 보여준다.
타입(Type)은 데이터가 가지고 있는 값의 타입을 지정한다. 1 바이트의 영문 대문자를 사용하며, 실제 사용되어질 수 있는 Type의 종류는 예시하면 다음과 같다.
S :
String Type을 의미한다.
I :
Integer Type을 의미한다.
B :
Boolean Type을 의미한다.
Value :
데이터가 원래 가지고 있는 실제의 값 자체를 의미한다.
Update :
데이터가 수정이 가능한지 아닌지를 지정해 준다. 실제 구현에서는 0 또는 1이라는 숫자를 이용하여 상태를 표시한다.
Blank :
데이터가 필수 데이터인지 부가 데이터인지를 지정해 준다. 실제 구현에서 는 0 또는 1이라는 숫자를 이용하여 상태를 표시한다.
Script:
해당 데이터에 대하여 "ID는 4-8자만 가능하다"와 같이 데이터 존재를 위해 필요한 조건을 PITP에서 지정한 별도 Script의 형태로 나타낸다.
Login :
로그인에 필요한 데이터인지를 지정해 준다. 실제 구현에서는 0 또는 1이라는 숫자를 이용하여 상태를 표시한다.
다음으로 스크립트 구조를 살펴보면 다음과 같다.
데이터 속성의 한 부분인 스크립트는 특정 정보에 대한 필요조건을 기술하는데 사용된다. 전체 구성은 레귤러 익스프레션(Regular Expression)방식을 바탕으로 다수의 경우를 판단할 수 있도록 하되, 실시간에 바탕을 둔 PITP의 속성을 고려하여 지나치게 복잡하거나 속도저하의 가능성이 있는 루틴들은 제외하여 전체적인 효율을 높일 수 있도록 한다.
PITP에서 사용하고 있는 스크립트의 문법(PITP Regular Expression Syntax)D을 예시하면 다음과 같다.
[xyz]
괄호안의 어떠한 문자라도 만족한다. \와 -가 특수한 의미로 쓰인다.
[^xyz]
괄호안의 포함되지 않은 문자와 만족한다. \와 -가 특수한의미로 쓰인다.
"xxx"
특정한 문자열을 지칭한다. \가 특수한 의미로 쓰이지 않는다.
{x,y}
일정한 반복을 나타낸다.x는 반복되는 최소값, y는 반복되는 최대값을 나타낸다.
*
없거나 하나이상의 반복을 나타낸다. {0,}와 같은 뜻이다.
+
하나이상의 반복을 나타낸다. {1,}와 같은 뜻이다.
?
없거나 한번의 반복을 나타낸다. {0,1}과 같은 뜻이다.
()
일정한 패턴을 하나의 단위로 묶는다.
\
뒤따라오는 문자와 연관되어 특수한 의미로 쓰인다. \뒤에 영소문자가 따라올 경우에는 경우제어문자(escape character)를 표현한다.
-
[]내에서 범위를 나타낸다.
^
[]내의 제일 앞에 나올경우 "범위에 속하지 않는"의 의미로 쓰인다.
위와 같은 스크립트 문법을 이용하여 구성된 실제 스크립트 예제들을 소개하면 다음과 같다.
[a-zA-Z]{1,3}
알파벳 1~3글자의 단어를 나타낸다.
[a-z]{4,}
소문자 알파벳 4글자 이상의 단어를 나타낸다.
[A-Z]{,5}
대문자 알파벳 5글자 이하의 단어를 나타낸다.
[0-9]{8}
숫자 8글자를 나타낸다.
([\128-\255][\128-\255]){4}
한글 4글자를 나타낸다.
\65,
ASCII 번호가 65인 값을 나타낸다.
\*
반복의 표현이 아니라 asterisk를 표현한다.
[0-9]
숫자
-?[0-9]+
음수일때는 마이너스기호를 갖는 숫자
-{0,1}[0-9]{1,}
영어 소문자
[a-z]
영어 대문자
[A-Z]
영어 대소문자로 4-8자 사이의 아이디
[a-zA-Z]{4,8}
첫 글자는 영어 대문자이며 나머지는 영어대소문자와 숫자로 구성된 3~8자사이의 아이디
[0-9]{6}-[1-4][0-9]{6}
주민등록번호
그리고, PITP에서 사용하는 스크립트의 문맥구성을 예시하면 다음과 같다.
〈exps〉 ::= 〈exps〉〈exp〉
| 〈exp〉
〈exp〉 ::= (〈exp〉|〈exp〉)
| 〈exp〉?
| 〈exp〉*
| 〈exp〉+
| 〈exp〉{〈digits〉}
| 〈exp〉{〈digits〉,}
| 〈exp〉{,〈digits〉} | 〈exp〉{〈digits〉,〈digits〉}
| (〈exp〉)
| 〈str〉
| "〈rstr〉"
〈rstr〉 ::= 〈rstr〉〈rchar〉
| 〈rchar〉
〈lchar〉 ::= 〈char〉
| [〈range〉]
| [^〈range〉]
〈range〉 ::= 〈range〉〈rchar〉
| 〈range〉〈char〉-〈char〉
| 〈rchar〉
| 〈char〉-〈char〉
〈char〉 ::= 〈rchar〉
| 〈escchar〉
〈rchar〉 ::= 〈alpha〉
| 〈digit〉
〈digits〉 := 〈digits〉〈digit〉
| 〈digit〉
〈escchar〉 ::= \b
| \f
| \n
| \r
| \t
| \〈alpha〉
| \〈digits〉
〈alpha〉 ::=|a|b|c|...x|y|z|A|B|C|...|X|Y|Z
〈digit〉 ::=0|1|...|9
다음은, 회원 ID나 암호 등과 같이 현재 인터넷에서 많이 사용되고 있는 공통된 데이터들을 선별하여 공통적으로 사용할 수 있는 데이터의 집합을 PITP에서 기본 데이터라 전술하였다. 이와 같은 기본 데이터로 지정된 정보들을 Name 속성을 중심으로 예시하면 다음과 같다.
Name 설명
ID ID
Password 암호
Name 이름
RRNumber 주민 등록 번호
Gender 성별
Age 나이
Birthday 생일
Address 주소
Email 이메일
Telephone 전화번호
Cellular 핸드폰 번호
Job 직업
Marriage 결혼 여부
Zipcode 우편번호
Income 월수입
Workshop 직장명
Scholarship 학력
지금까지 설명된 PITP의 데이터 구조를 이용하여 예컨데, iUmall(http://www.iumall.co.kr)이라는 웹사이트에서 회원가입시 요청하는 정보들을 PITP의 데이터 구조에 맞게 변형하여보면 다음과 같다.
Name/Show Name 데이터 타입 Level/Type Update/Blank/Login Script
Name/회원명 기본 데이터/필수 데이터 1/S 0/0/0 한글 4자 이내
ID/회원ID 기본 데이터/필수 데이터 1/S 0/0/1 영문자 및숫자 8자이내
Password/비밀번호 기본 데이터/필수 데이터 1/S 1/0/1 없슴
Email/E-mail주소 기본 데이터/필수 데이터 1/S 1/1/0 없슴
RRNumber/주민등록번호 기본 데이터/필수 데이터 1/S 0/0/0 없슴
Zipcode/우편번호 기본 데이터/필수 데이터 1/S 1/0/0 "xxx-xxx"양식준수
Address/주소 기본 데이터/필수 데이터 1/S 1/0/0 없슴
Job/직업 기본 데이터/부가 데이터 1/S 1/1/0 없슴
Workshop/직장명 기본 데이터/부가 데이터 1/S 1/1/0 없슴
Telephone/전화번호 기본 데이터/부가 데이터 1/S 1/1/0 없슴
Cellular/핸드폰 기본 데이터/부가 데이터 1/S 1/1/0 없슴
Scholarship/학력 기본 데이터/부가 데이터 1/S 1/1/0 없슴
Income/월수입 기본 데이터/부가 데이터 1/S 1/1/0 없슴
Marriage/결혼유무 기본 데이터/부가 데이터 1/S 1/1/0 없슴
PITP 서비스에서는 정보전송 시 정보를 암호화하여 정보보안이 철저하여야 한다는 보안성에 대한 요구가 매우 높기 때문에, 이를 위한 정보보안을 위하여 암호화하는 것이 바람직하므로, 후술하는 PSS 암호화 모듈(322) 또는 P-클라이언트 암호화 모듈(314)에서 사용될 암호화에 대하여 먼저 설명한다.
일반적으로 암호화 알고리즘의 원칙은 암호화 및 복호화 알고리즘을 공개하고 암호화 키와 복호화 키를 숨기는 것이다. 이런 암호화 방식은 DES, IDEA, RC2, RC4, RC5, AES, Blowfish등과 같은 비밀키 방식, 타원 곡선의 원리를 이용한 알고리즘(ECC : Elliptic Curve Cryptosystem)과 RSA(Rivest-Shamir-Adleman)알고리즘을 이용한 공개키 방식 기타 비밀키&공개키 방식이 있으며, 예컨데, PITP 암호화는 RSA 알고리즘을 사용하는 공개키 방식을 활용하면 PITP 암호화가 가능하다.
또한, 후술하는 인코딩 디코딩 및 정보전송과 관련하여 먼저 명령어에 대한 기본적인 규정 및 그 실행결과를 예시하기로 한다.
명령어는 기본적으로 구분자는 " | " 를 사용하고, 이 때 해당 데이터에서 "|", "%"와 같은 특수문자가 나올 경우에는 아스키 코드를 16진수 2자리로 바꾸어 표현한다.(|→%7c, % →%25) 또한, 명령어(COMMAND)는 3바이트를 사용하여 대문자 3글자로 통일한다.(예를 들면, DDC|Data...) 명령어에 대한 리절트(RESULT)는 4바이트를 사용하여 숫자 4글자로 통일한다.(예를 들면, 1010|Data....)
이러한 기본적인 명령어 규정에 따라 각각 정의를 하고, 이에 대한 그 실행결과를 나타내면 다음과 같다. 표에서 FN(Field Name)은 사용하려는 항목의 이름을 의미하며, FV(:Field Value)는 사용하려는 항목의 값을 의미한다.
COMMAND 설명 RESULT
DDC Data Duplicate Check특정 필드를 중북 체크한다,ID등의 체크에 사용될 수 있다DDC┃FN┃FV... DUPLICATE 1050NOT_DUPLICATE 1051
DLR Data deLete Request특정 필드의 값을 삭제한다. DELETE_OK 8080DELETE_FAIL 8081
DDR Data Definition Request정의되어 있는 데이터의 내용을 요청한다.DDR DDR_OK 3010 DDR_ERROR 3011 ReturnCode┃Count┃Level┃Name┃SName┃Type┃Update┃Blank┃Script┃LoginR┃Level2....두번째 인자로 전체 항목수를 반환세번째 인자로부터는 각각의 항목에 대하여Level,Name,SName,Type,Update,Blank,Script,LoginR의 정보를 연속해서 전달함.
DUR Data Update Request정보를 수정한다.DUR┃FN┃FV... UPDATE_OK 1060UPDATE_NOT_LOGIN 1061UPDATE_NOT_PDS 1062UPDATE_NOT_EXIST 1063UPDATE_NOT_UPDATABLE 1064UPDATE_FAIL 1065
DLR Data Load Reuest정보를 Load한다.DLR LOAD_OK 1070LOAD_NOT_LOGIN 1071LOAD_NOT_PSS 1072LOAD_NOT_EXIST 1073LOAD_FAIL 1074ReturnCode┃Field┃Value┃Field┃Value....두번째 인자부터는 2개의 인자가 쌍으로 존재하며, 앞의 인자는정보의 항목 이름을 뜻하고, 뒤의 인자는 그 항목의 값을 전달함.
DSR Data Save Request정보를 Save한다.DSR┃FN┃FV... SAVE_OK 1080SAVE_NOT_LOGIN 1081SAVE_NOT_PDS 1082 SAVE_FAIL 1083
ULI User Log In해당 웹사이트에 로그인한다.ULI┃FN┃FV... LOGIN_OK 1010 ID_NOT_ESIST 1011PASSWPRD_INCORRECT 1012ALREAD_LOGIN 1013
ULO User Log Out해당 사이트에 로그 아웃한다FN IDULO┃FN... LOGOUT_OK 1020NOT_LOGIN 1021LOGOUT_ID_INCORRECT 1022
URI User Regist In회원가입을 한다.URI┃FN┃FV... REGISTER_IN_OK 1030REGISTER_IN_ID_EXIST 1031 REGISTER_IN_FAIL 1032
URO User Regiwt Out회원 탈퇴를 한다.URO┃FN┃FV... REGISTER_OUT_OK 1040 REGISTER_OUT_NOT_LOGIN 1041REGISTER_OUT_ID_INCORRECT 1042REGISTER_OUT_FAIL 1043
다음으로, 도 3을 참조하여 도 1에 도시된 P-클라이언트와, PSS 그리고, PDS를 보다 상세하게 설명하고자 한다.
도 3은 도1에서 사용자 PC의 P-클라이언트와 PSS 서버의 클라이언트/서버 관계의 기능 구성도를 보다 상세하게 도시한 것이다.
도 3을 참조하면, 사용자 PC(110)에 설치되는 P-클라이언트(310)는, 웹브라우저 연동부(311), P-클라이언트 메시지 실행부(313), P-클라이언트 암호화 모듈(314), 데이터 전송부(315), P-클라이언트 네트워크 관리부(316)를 가진다.
웹 브라우저 연동부는, 웹 브라우저가 P-클라이언트(310)를 호출할 경우, 웹 브라우저로부터 온 명령을 이해하고 적절한 파라미터(Parameter) 예컨데,...를 P-클라이언트(310)에게 전달한다. 후술하는 바와 같이, P-클라이언트(310)를 사용자 PC(110)에 설치하면, 웹 브라우저의 메뉴, 팝업 메뉴, 툴바 또는 툴밴드에 PITP 연결 메뉴가 생성되는데, 사용자가 이를 클릭하면 웹 브라우저 연동부는 웹 브라우저가 현재 보이고 있는 웹페이지와 마우스 이동 이벤트 메시지 상태를 체크하여 적절한 파라미터를 P-클라이언트 메시지 실행부(313)의 P-클라이언트 메시지 분석부(313a)로 보낸다.
P-클라이언트 메시지 실행부(313)는, 메시지 분석부(313a), 명령어 관리부(313c), 데이터 관리부(313b) 및 조건 확인부(313d)를 구비하며, 외부로부터 제공된 정보를 분석하고, 요청된 작업에 따라 필요한 메시지를 생성하고, 인코딩하여 그 결과를 암호화 모듈에게 넘겨주는 기능을 담당한다. 웹브라우저 연동부(311)로부터 사용자들이 입력한 정보를 받아들여 요청된 작업의 종류를 파악하고, 필요한 명령어를 선택하여 필요한 메시지를 생성해낸다. 데이터를 제공하여야 할 경우에는 해당 데이터의 조건을 고려하여 무결성을 체크(도 16참조)한 뒤, 데이터를 메시지에 연결하여 하나의 통일된 메시지로써 구성한다. 생성된 메시지는 최종적으로 특수문자에 대한 인코딩 과정을 거쳐 인코딩된 메시지로 변화되며, 인코딩된 메시지는 암호화 모듈에게 제공된다. 외부로부터 메시지를 제공받았을 경우에는 암호화 모듈로부터 전송되어진 메시지를 제공받는다. 제공받은 메시지는 다시 명령어와 데이터로 분석되며, 데이터는 정보와 조건부로 구분된다. 그리고 명령어의 종류에 따라 필요한 작업이 수행되도록 처리한다
여기서, P-클라이언트 메시지 분석부(313a)(Main manager)는, PITP 의 P-클라이언트(310)의 모든 프로세스를 관장하고 처리하는 모듈로써, 상황에 맞게 각각의 모듈을 호출하고 흐름을 제어한다. 모든 명령어(Command)는 실제 명령어와 데이터로 구성되어 있으며 이는 서버와의 통신규약에 의하여 정의되기 때문에, P-클라이언트 메시지 분석부(313a)는 명령어를 받아서 명령어 관리부(313c)로 보내어 명령어를 알아내고 각 명령어에 맞는 플로우를 확인하고 상황에 따라 각각의 모듈을 제어하게 된다.
그리고, 명령어 관리부(313c)(Command Control)은 서버와 송/수신하는 모든 명령어를 처리하는 함수이다. 또한 해당 명령어에 대한 결과 코드(Result Code) 정보를 저장하고 있어 각각의 코드에 관한 내용을 P-클라이언트 메시지 분석부(313a)로 전달해 준다. 모든 커맨드와 규칙은 PSS 서버(120)의 PSS 메시지 실행부(323)와 동일하며, 서버에서 데이터를 받아 데이터와 결과값으로 분리하여 메시지 분석부로 전달하고 또한 메시지 분석부에서 받은 데이터와 해당 프로세스에서 필요한 명령어를 합성하여 서버로 전송할 명령어를 생성한다
데이터 관리부(313b)(Data Control)는 데이터를 관리하는 모듈이며, PITP에서 사용하는 데이터는 레벨( Level), 이름(Name), 쇼우 네임(Show Name), 타입(Type), 밸류(Value), 업데이트(Update), 블랭크(Blank), 스크립트(Script), 로그인(Login)의 속성을 가진다. 여기서, 타입(Type)은 스트링(String), 인티저(Integer),실렉트( Select), 첵(Check), 멀티라인(MultiLine)의 형태로 구분된다.이와 같은 정보는 서버쪽에서 명령어를 통하여 전달되며, 메시지 분석부는 명령어 관리부(313c)를 통하여 데이터와 명령어를 분리하고, 이 데이터를 데이터 관리부(313b)에서 파싱(Parsing) 하여 각각의 속성과 타입을 가진 데이터를 생성하고 관리한다.
그리고, 각각의 데이터는 자신에 대한 입력 조건을 가지고 있는데, 해당 조건은데이터 확인부(313d)(Script Parser)에 의하여 문법적으로 정의되며, 조건확인부는 사용하여 각각의 데이터가 가지고 있는 값(Value)이 데이터의 스크립트(Script)에 적합한 형태인지를 검사하여 결과를 P-클라이언트 메시지 분석부(313a)로 전달하여 준다.
P-클라이언트암호화 모듈(314)(En/Decrypt Module)은, P-클라이언트 메시지 분석부(313a)에서 제공하여 주는 데이터를 공개키 방식으로 암호화하고, 그 결과를 데이터 전송부(315)에게 제공하여 준다. 또한 데이터 전송부(315)에서 제공하여주는 암호화된 메시지를 복호화하고, 그 결과를 메시지 분석부에게 전달한다.
데이터 전송부(315)(Data Transfer)는 데이터를 파일에 저장하고 불러오거나 P-클라이언트 네트웍 관리부를 통하여 서버로 송/수신 한다. 메시지 분석부에서 생성한 명령어는 암호화 모듈을 통하여 암호화 된 후, 데이터 전송부(315)로 오게 되며 데이터 전송부(315)에서는 메시지 분석부에서 지정한 방식에 따라서 파일 입출력 시스템(112)으로 데이터를 보내거나 네트웍 관리부로 데이터를 전송한다. 또한 네트웍 관리부를 통하여 수신된 데이터를 암호화 모듈로 보내는 역할과 파일 입출력 시스템(112)을 통하여 데이터를 읽고 이를 암호화 모듈을 통하여 메시지 분석부로 전송하는 역할도 하게 된다.
PITP 서비스에 있어서, 네트웍 연결은 P-클라언트가 서버로 네트워크의 연결을 시도한다. 이때, P-클라이언트 네트워크는 데이터 전송부(315)와의 연결을 통하여 미리 설정된 설정된 포트로 서버와의 네트워크 연결을 시도하게 되며, 연결이 된 후에는 데이터의 전송 및 수신을 하고 모든 네트워크 작업이 끝날 때까지 연결을 유지한다.
사용자 컴퓨터의 파일 입출력 시스템(112)(File I/O)는, 데이터 전송부(315)에서 지정한 파일로부터 데이터를 입/출력시킨다.
다음으로, PSS(320)는 PSS 네트워크 관리부(321), PSS암호화 모듈(322), PSS 메시지 실행부(323), DB 연동부(324), 데이터 메니저(325), 환경설정 관리부(326), 조건 생성부(327) 및 관리자 프로그램(328)을 가진다.
PSS 네트워크 관리부(321)(Network Connection)는 소켓 서버(321a)(Socket Server : 321a)와 소켓 쓰레드(Socket Thread : 321b)를 구비하며, 외부로부터의 접속요청을 받아들이고 정보를 주고 받게 된다. 즉, 외부로부터 정보가 전송되면 전송용 헤더와 전송 테일을 제거하여 암호화된 데이터부분을 추출하여, 그 결과를 암호화 모듈에 제공한다. 또한, 암호화모듈로부터 암호화된 데이터가 제공되었을 경우에는 전송용 헤더와 전송 테일을 달아 전송용 메시지를 생성하고 그 결과를 전송상대 즉, P-클라이언트(310)에게 전송한다.(도 15a와 도 15b참조)
여기서, 소켓 서버(321a)는 P-클라이언트(310)의 네트워크 접속을 받아들이게 되는데, 환경설정 관리부(326)(Server Config)에서 설정된 포트로 접속을 기다리다가 접속이 생기면 이를 받아들이며, PSS(320) 프로그램은 멀티 쓰레드( Multi-Thread)로 동작하기 때문에 쓰레드(Thread)를 하나 생성하고 P-클라이언트(310)의 접속을 소켓쓰레드로 넘기게 되고, 그 후에 다시 다른 접속을 기다린다.
또한, 소켓 쓰레드(321b)는 P-클라이언트(310)의 접속 하나에 대해서 하나의 쓰레드가 생성되어 실행되는데, P-클라이언트(310)의 접속은 소켓 서버(321a)에서 받아들인 다음에, 그 쓰레드를 생성하고 접속을 넘김으로써, 실제로 P-클라이언트(310)와의 접속을 유지하며 데이터를 송수신하게 된다. 수신된 데이터는 메시지분석부(Command Parser)에 전달하고 넘겨진 결과를 송신한다. P-클라이언트(310)와의 접속이 종료되는 경우에 쓰레드의 실행이 중지되고 소멸된다.
PSS 메시지 실행부(Command Control:323)은, PSS 메시지 분석부(323a), 명령처리부(323b),PITP 유틸리티(323c),결과값 관리부(323d) 및 결과코드 관리부(323e)를 구비하며, 외부로부터 제공된 메시지를 분석하고, 요청된 작업에 따라 필요한 메시지를 생성하고 인코딩하여 그 결과를 암호화 모듈에게 넘겨준다. 즉, 암호와 모듈로부터 전송되어진 메시지를 제공받아 명령어와 데이터를 분석하고, 명령어의 종류에 따라 필요한 작업을 DB와 연동하여 수행한 다음 그 결과를 모아 다시 새로운 메시지로 생성하여 전송한다. 작업에 대한 작업이 필요한 때에는 DB 연동부(324)를 이용하여 작업을 수행한다.
PSS 메시지 실행부(323a)(Command Parser)는, P-클라이언트(310)에서 수신된 모든 명령어(Command)를 처리하는 함수이다. 구분자와 인코딩, 디코딩에 관련된 것들은 PITP 유틸러티에서 처리되는데, 디코딩되어 구분자로 구분되는 인자들에 대한 각각의 데이터 정보는 리스트(List)형태로 재구성하여 명령 처리부(323b)로 전달된다.
PITP 유틸리티(323c)는, PITP에서 필요한 인코딩, 디코딩을 처리한다. 즉,다수개의 데이터가 전송될 때에, 각각의 인자를 구별할 수 있는 구분자(Separator Bar : PITP의 실시예의 경우에는 '┃')를 정의할 필요가 생기므로 이에 대하여 인코딩 및 디코딩 처리를 하여야 한다. 즉, 인코딩에 의하여, 실제 데이터 중에 구분자에 해당하는 '┃'문자는 다른 문자로 변환된다. 즉, 인코딩되었다는걸 나타내기 위하여 %문자를 먼저 나타내고, 해당 문자의 아스키 코드를 16진수로 변환하여 그 뒤에 표시한다. 아스키 코드의 경우 256가지가 있으며, 이를 16진수로 표시할 경우 정확하게 2자리의 문자로 표시할 수 있다. 즉 '┃'문자의 아스키 코드가 124번이고 이를 16진수로 나타내면 '7c'가 되기 때문에, '┃'문자를 인코딩하게 되면 '%7c'가 된다. 인코딩 여부를 '%'기호로 나타내기 때문에, 구분자인 '┃'문자외에 '%'문자에 대한 인코딩도 필요하다. '%'문자는 아스키 코드가 37번이기 때문에 이를 16진수로 바꾸면 '25'가 되므로, 데이터상의 '%'문자는 '%25'로 인코딩된다.
디코딩(decoding)을 하는 경우에는 '|'을 기준으로 토큰으로 분리해낸다. 각각의 토큰내의 문자 중에서 '%'문자가 있는 경우에는 그 뒤의 2가지 문자를 16진수로 판단하고 이를 10진수로 변환하여 아스키 코드에 해당하는 문자를 찾아내게 된다.
명령 처리부(323b)(Process)는 수신된 데이터중에서 명령어에 해당하는 앞의 3글자를 기준으로 해당되는 작업들을 행하게 된다. 추가적인 인자들이 필요한 경우에는 이를 적절히 이용하게 되며, 작업 결과는 결과값관리부(Result)에 전달하여 저장하게 된다. 작업을 행하기 전에 크게 2가지 사항을 먼저 체크한다. 첫번째는 요청한 작업이 이 서버에서 실현 가능한 것인지를 파악하게 된다. 예를 들어서 각각의 사이트에 설치된 서버에서는 개인 정보를 가져올 수 있지만, 전체 사이트에 대한 가입해지는 행할 수 없다. 두번째는 로그인 여부를 체크한다. 어떤 작업은 로그인을 하지 않아도 행할 수가 있으며, 어떤 작업은 그렇지 않다. 예를 들어서 개인 정보를 변경하는 경우에는 로그인을 행한 이후에만 가능하다.
결과값 관리부(323d)(Result)는 명령 처리부(323b)에서 작업한 결과들을 저장하고 이를 송신에 적당한 형태로 다시 재구성한다. 송신하는 결과값은 결과상태를 알려주는 코드(Code)값을 제일 먼저 가지게 되는데, 이 값들은 결과 코드 관리부(323e)(Return Code)에 저장된다. 추가적인 인자가 필요한 경우에는 PITP의 규약에 맞도록 전송가능한 형태로 재구성한다. 다수개의 인자를 구분자를 바탕으로 연결하는 것과, 실제 데이터 자체를 인코딩하는 부분은 PITP 유틸리티(323c)에서 처리한다.
결과 코드 관리부(323e)(Return Code)는 처리결과에 대한 코드값을 저장하며, 코드값은 작업 성공시와 실패시의 크게 두가지로 나누어진다.
DB 연동부(324)(DB Module)는, PSS(320)가 DB의 종류에 전혀 무관하게 작동되기 때문에, DB와 관련하여 동작하면서 DB 간의 차이점들을 중간에서 처리해 주는 기능을 한다. 서버는 일반적으로 자바 기반이기 때문에, JDBC(Java DataBase Connectivity)를 바탕으로 이루어지며, JDBC는 DB의 종류에 관계없이 일괄적으로 커넥티버티(Connectivity)를 생성할 수 있으나, JDBC 드라이버(Driver)의 차이점으로 인하여 DB의 종류에 완전히 비의존적이지는 않다. 따라서 이러한 차이점들을 DB 연동부(324)에서 담당하며, 따라서 DB 연동부(324)를 제외한 다른 부분에서는 DB에 완전히 비의존적으로 작업을 수행한다.
데이터 메니저(DATA Manager)는, 데이터 필드(Data Field:325a), 데이터 리스트(DATA List: 325b) 그리고 데이터 바디(DATA Body:325c)를 구비하고 있으며, DB에 저장된 정보들의 양식을 관리한다. 웹서버의 사이트 관리자(Site Administrator)가 데이터 바디(325c)(Administrator Tool)을 사용하여 설정한 내용들을 전달 받고, 전달 받은 내용에 따라 데이터의 양식을 생성한다. 생성된 양식은 DB 연동부(324)의 요청에 따라 제공되어지며, DB 연동부(324)에서는 제공된 양식에 따라 DB를 연결 관리한다.
데이터 필드(325a)는, 사용자의 개인정보 항목을 정의하는 부분이며, 개인정보 항목을 정의하기 위해서는 이름, 보여지는 이름, Data 종류, 업데이트(Update) 가능 여부, 공백 가능 여부, 연결된 DB 테이블(Table), 키(Key)로 사용되는지의 여부, 로그인시에 필요한지의 여부, 정보 단계, 스크립트(Script), 실제 데이터의 항목이 필요하다.
데이터 리스트(325b)는, 데이터 필드(325a)들이 모여있는 부분이다. 데이터 필드(325a)는 개인 정보의 항목 하나마다 하나가 생성되며, 이 정보들중에서 정보 단계(level)이 같은것들을 연결해 둔 것이 데이터 리스트(325b)이다. 이 데이터 리스트(325b)가 단계별로 모여서 데이터 바디(325c)를 이룬다.
그리고, 데이터 바디(325c)는, 사용자 개인정보가 저장되는데, 사용자의 정보 항목은 여러 단계(level)로 나누어지며, 각 단계 안에는 여러 항목의 정보가 저장된다. 정보 단계별로 하나의 데이터 리스트(325b)가 생성되며, 이러한 데이터 리스트(325b)들이 모여서 사용자 정보 전체가 저장되는 것이 데이터 바디(325c)이다.
데이터 바디(325c)(Admin Tool)은, PSS 서버(120) 또는 PDS 서버(130)의 설정정보를 변경할 수 있는 프로그램(Tool)이다. 관리자는 이러한 프로그램(Tool)을 이용하여 PSS 서버(120)의 설정 정보를 변경할 수 있다. PSS 서버(120) 또는 PDS 서버(130)의 설정 정보에는 서버이름, 서버종류(전체 데이터 서버인지, 개별 사이트에 설치되는 서버인지), 연결을 받아들일 포트(Port) 번호, DB 종류 및 연결과 관련된 각종 항목들이 포함된다.
환경설정 관리부(326)(Server Config)는, PSS 서버(120) 또는 PDS 서버(130)의 세팅과 관련된 기능들을 처리한다. 서버 세팅에는 서버이름, 서버종류(전체 데이터 서버인지, 개별 사이트에 설치되는 서버인지), 연결을 받아들일 포트 번호, DB 종류 및 연결과 관련된 각종 항목들이 저장된다. 환경설정 관리부(326)의 정보는 데이터 바디(325c)(Admin Tool)을 통하여 설정할 수 있으며, 저장된 정보를 바탕으로 소켓 쓰레드(321b)가가 생성될 때에 적용한다.
그리고, 사용자 PC(110)는 PSS 서버(120) 그리고, 별도의 서버인 PDS 서버(130)와 인터넷을 통하여 네트워킹되어 PITP 서비스가 이용될 수 있는데, 이러한 PDS 서버(130)에 설치되는 PDS 서버(130) 프로그램의 구성요소는 PSS(320)의 구성요소와 그 기능이 동일하므로 설명의 중복을 피하기 위하여 생략하기로 하며, 이하에서 PDS 서버(130)의 구성요소와 관련된 설명 중 PSS(320)의 구성과 동일한 부호는 동일한 기능을 가지는 것으로 한다.
위와 같은 P-클라이언트(310), PSS(320) 및 PDS(330)를 설치하는 방법은 각각의 프로그램을 사용자 PC(110)나 PSS 서버(120) 또는 PDS 서버(130) 각각에 개별적으로 구입하여 설치하는 경우도 있을 수 있으나 특히, P-클라이언트(310)은 웹페이지에 ActiveX Control을 놓아 자동 설치를 구현하거나 또는, 마이크로 소프트사의 웹브우저인 Explorer에서 제공하는 accessory들을 이용하여 구현할 수도 있다.
웹페이지에 ActiveX Control을 놓아 자동 설치를 구현하고자 하는 경우는 다음과 같다. 즉, ActiveX를 웹페이지에 놓으면 그보다 낮은 버전의 ActiveX가 설치되어 있거나 그 ActiveX가 설치되어 있지 않았을 경우에 자동으로 ActiveX를 설치할것인지를 묻는 창이 뜨고, 여기에 "예"를 누르면 해당 ActiveX가 설치되는데, 이 cab파일 안에 P-클라이언트(310)의 인스톨프로그램과 이프로그램을 실행시키는 명령라인이 들어있는 inf파일을 함께 묶어 놓으면 ActiveX를 설치하면서 설치프로그램이 자동으로 실행되고, P-클라이언트(310)를 자동으로 설치할 수 있게 된다.
Explorer에서 제공하는 accessory들을 이용하는 방법으로는 Toolbar Button이나, Explorer Bar 또는 Toolband를 이용하는 방법이 있을 수 있으며, 이를 간단히 설명하면 다음과 같다.
아이콘과 함께 뒤로, 앞으로, 정지 등이 있는 Toolbar에 추가 버튼 예컨데, Toolbar의 가장 오른쪽에 놓인 Messenger버튼을 놓을 수 있다. 이러한 버튼은 msn messenger를 설치하면 나타나는 버튼으로 윈도우 어플리케이션을 실행하는 역할을 하는 버튼이다. 이 버튼은 다른 Explorer Bar를 띄우는 역할을 할 수도 있고 messenger버튼처럼 어플리케이션을 실행시킬 수도 있다.
그리고, Explorer Bar는 추가로 원하는 메뉴따위를 담을 수 있는 Bar를 의미하는데, 그 위치에 따라서 Vertical Bar와 Horizontal Bar로 될 수 있으며, Explorer Bar는 ATL/COM 객체로 dll파일을 생성하여 등록하는 방법으로 생성한다. dll파일을 register하는 부분에서 registry에 값을 넣는 부분을 수행하게 되는데 정상적으로 등록이 되면 탐색창의 하위에 메뉴가 생성되고, 중앙의 분기선을 기준으로 위엔 Vertical, 아래엔 Horizontal Bar가 생성될 수 있다.
그리고, Toolband는 상단의 Toolbar안에 추가되는 band를 의미하며, Toolband도 Explorer바와 마찬가지로 ATL/COM으로 dll파일을 만들어서 이 dll파일을 등록함으로써 생성하게 될 수 있다.
이와 같은 구성에 따라, P-클라이언트(310)는, 사용자 PC(110)에 설치되어 PITP를 통한 개인정보의 관리 및 자동 회원가입, 자동 로그인, 개인정보 자동 업데이트 등을 가능하게 해주며, 익스플로러(Explorer)나 넷스케이프(Netscape) 등의 인터넷 웹브라우저(111)와 연동되어 각종 웹사이트에서 회원 가입 또는 로그인 등이 발생할 때 자동으로 실행하여 해당 작업을 가능하게 한다. 또한, P-클라이언트(310)는, 기본적으로, 사용자의 개인 정보를 저장 및 관리해 주며, 이를 바탕으로 PSS(320)가 설치된 웹사이트에 회원가입 및 로그인 등을 할 때나 개인 정보의 입력 또는 확인이 필요한 상황에서 자동으로 작업을 대신 해 준다. 더욱이, P-클라이언트(310)에서 개인 정보를 수정 또는 변경할 경우에는 회원 가입된 웹사이트들의 정보도 함께 업데이트 시켜줌으로써, 각각의 PSS 서버(120)에 저장된 회원 정보를 자동적으로 관리할 수 있게 한다.
그리고, PSS(320)가 설치되면 기존의 DB는 P-클라이언트(310)나 다른 PSS 서버(120) 또는 PDS 서버(130)의 DB와 호환이 되도록 데이터 맵핑(Mapping)이 이루어진다. 즉 회원 정보의 회원 이름, 암호, 주소와 같은 항목들은 PITP에서 정의한 이름(Name), 패스워드(Password), 주소(Address)와 동일한 필드라는 사실이 정의됨으로써, P 클라이언트의 사용자 PC(110)와 데이터 통신이 가능하게 되어 다른 사이트와의 데이터 공유가 가능하며, 자동 회원가입이나 자동 로그인, 개인정보의 자동 업데이트 등 데이터의 공유가 가능하도록 해준다. PSS 서버(120)는 기존 웹사이트에게 최대한의 편의를 제공하기 위하여 기존의 시스템을 변경하지 않고 기존의 시스템에 모듈(MODULE)로 장착되는 형식을 취할 수 있기 때문에, 일반 웹사이트에서는 단순하게 PSS(320)를 설치될 수 있다. 또한 PSS(320)를 설치하기 전에 이미 웹사이트에 회원으로 가입된 사용자들에게도, 해당 사용자의 개인 정보를 PITP 규격에 따라 전송해 준다. 따라서 이미 해당 웹사이트에 가입한 사용자라 할라도 P-클라이언트(310)를 사용자 PC(110)에 설치하면, 회원정보를 전송받아 웹사이트를 DB를 그대로 사용하여 해당 정보를 활용할 수 있게 된다.
PDS 서버(130)는, P-클라이언트(310)을 이용하여 PITP 서비스를 이용하는 것 외에 별도 서버를 이용하여 PITP 서비스를 가능하게 하기 위한 것으로, 이 경우에 사용자 PC(110)를 사용하는 회원들의 회원가입과 사용자 인증 그리고, PSS 서버(120)들의 정보관리 기능을 처리한다. 이를 위하여 PDS 서버(130)는, PITP에서 정의한 개인 정보를 제공하고 사용자는 이를 바탕으로 개인정보의 데이터 베이스를 형성하게 되며, PDS 서버(130)에 저당된 개인 정보는 사용자들이 각각의 PSS 서버(120)에 회원가입을 하거나 로그인을 할 때 사용된다. 또한 PSS(320)를 각각의 웹사이트의 서버 시스템에 설치할 경우에, PDS 서버(130)는 해당 웹사이트의 사이트 이름, URL, IP, 포트(Port) 등과 같은 기본적인 정보와 설치된 PSS(320)의 인덱스를 저장하고 있어 P-클라이언트(310)은 이러한 사이트 정보와 인덱스를 바탕으로 사용자들의 사이트 별 정보를 관리할 수 있도록 한다.
이와 같은 구성 및 기능에 대하여, 본 발명에 따른 개인 정보 제공 방법을 첨부된 도4 내지 도18을 참조하여 보다 상세하게 설명하기로 한다.
PITP서비스를 이용하기 위해서는 P-클라이언트(310)와 PSS 서버(120)를 필요로 하는데, 먼저 웹 사이트 관리자에 의하여 PSS 서버(120)의 환경을 설정하여야 한다.
도 4는 위와 같은 서버의 환경설정을 위하여 서버의 웹사이트 관리자에 의한 PSS(또는 PDS)서버의 환경을 설정 과정을 플로우차트로 도시한 것이다.
도 4를 참조하면, 단계 401에서, 웹사이트 관리자는 웹브라우저(111) 또는 소정의 응용프로그램을 이용하여 PSS 서버(120)의 데이터 바디(325c)에 접속하여 원하는 설정값을 결정하여 입력한다.
단계 402에서, 데이터 바디(325c)은 그 종류에 따라 구분하고, 그 결과를 분석한다.
단계 403에서, 설정값이 네트워크 설정에 관한 것인지에 따라 네트워크 설정에 관한 것이면 단계404로 이동하고 네트워크 이외의 데이터 매니저(325)에 관한 것이면 단계 406으로 이동한다.
단계404에서, 입력된 정보는 환경설정 관리부(326)로 전달된다.
단계405에서, 환경설정 관리부(326)는 데이터 바디(325c)으로부터 전달받은 설정값을 저장하고 있으면서 설정값을 소켓 쓰레드(321b)에 적용하여 쓰레드를 생성하여 후술하는 바와 같은 데이터 송수신에 이용된다.
단계 406에서, 네트워크 설정에 관한 정보 이외의 설정값 즉, 데이터 매니저(325) 구조에 관한 정보인 경우에는 조건생성부(327)(scripter generater)에서 조건을 생성한다.
단계 407에서, 조건생성부(327)에서 생성된 조건은 데이터 매니저(325)에게 전달되고, 단계 408에서, 전달된 조건과 함께 데터 필드, 데이터 리스트(325b), 데이터 바디(325c)를 생성한다.
PITP 서비스를 이용하기 위해서 사용자는 사용자 PC(110)에 P-클라이언트(310)를 설치하여야 한다.
도 5는 PITP 회원 가입에 따른 P-클라이언트(310) 설치 과정을 플로우 차트로 도시한 것이다.
도 5를 참조하면, 단계 501에서, 사용자가 PITP 회원 가입을 선택한다.
단계 502에서, PIT 설치안내 프로그램은 사용자 PC(110)에 P-클라이언트(310)가 설치되어져 있는지 그 여부를 판단하여 이미 설치되어 있는 경우에는 종료하고, 설치되어 있지 않은 경우에는 단계 503으로 이동한다.
단계 503에서, PITP 설치안내 프로그램은 사용자자가 P-클라이언트(310)를 설치할 것인지 그 여부에 따라 설치하지 않고자 할 경우에는 종료하고, 설치하고자 할 경우에는 단계504로 이동한다.
단계504에서, PITP 설치안내 프로그램은 PITP설치프로그램을 실행하여 P-클라이언트(310) 프로그램을 사용자 PC(110)에 설치하고 단계505로 이동한다.
단계505에서, PITP 설치프로그램은 사용자가 개인 정보를 입력할 수 있도록 입력화면을 제공하고 단계506으로 이동한다.
단계506에서, PITP 설치프로그램은 사용자가 개인 정보의 입력이 끝났는지의 여부를 판단하여 끝나지 않은 경우는 대기하고, 개인 정보 입력이 끝난 경우는 단계 507로 이동한다.
단계507에서, 사용자는 개인 정보의 저장 위치를 지정한다.
단계508에서, PITP 설치프로그램은 사용자 PC(110)에 저장하는지의 여부를 판단하여 사용자 PC(110)에 저장하는 경우에는 단계509로 이동하고, 그렇지 않은 경우에는 단계510으로 이동한다.
단계509에서, P-클라이언트(310)는 사용자 PC(110)에 개인 정보를 파일 형태로 암호화하여 저장하고 설치를 종료한다.
단계510에서, P-클라이언트(310)는 PDS 서버(130)에 접속하고 개인 정보를 전송한다.
단계511에서, P-클라이언트(310)는 PDS 서버(130)에 개인 정보 전송이 완료되었는지를 판단하여 개인 정보의 전송이 완료되지 않은 경우에는 대기하고, 개인 정보 전송이 완료된 경우에는 P-클라이언트(310)의 설치를 종료한다.
도 6과 도 7은 P-클라이언트(310)에 의하여 개인정보를 저장하는 과정을 보다 상세하게 나타낸 것으로, 사용자 PC(110)의 입출력시스템을 이용한 사용자 PC(110) 개인 파일 시스템(이하 "로컬 저장소"라 함) 또는 별도의 PDS 서버(130)에 저장되는 과정을 각각 도시한 것이다.
이하, 로컬 저장소는 사용자 개인
먼저, 도 6은 사용자PC의 입출력시스템을 이용하여 로컬 저장소에 개인 정보를 저장하는 과정을 플로우차트로 도시한 것이다. 여기서 로컬 저장소라 함은 사용자 개인 PC내 파일시스템을 의미한다.
도 6을 참조하면, 단계601에서, P-클라이언트 메시지 분석부(313a)는 개인 정보 전송작업을 시작한다.
단계602에서, 명령어 관리부(313c)는 개인 정보 저장 명령어를 제공하여 단계603으로 이동한다.
단계603에서, P-클라이언트 메시지 분석부(313a)는 메시지를 생성하고 인코딩을 하여 단계604로 이동한다.
단계604에서, P-클라이언트암호화 모듈(314)에서는 메시지를 암호화하고 암호화하고, 암호화된 메시지를 데이터 전송부(315)로 전달한다.
단계605에서, 데이터 전송부(315)는 개인 정보를 로컬 저장소로서 사용자 PC(110)에 저장할 것인지를 판단하여 사용자 PC(110)에 저장하는 경우에는 단계606으로 이동하며, 사용자 PC(110)에 저장하지 않는 경우에는 단계607으로 이동한다.
단계606에서, 데이터 전송부(315)는 사용자 PC(110)의 파일 입출력 시스템(112)을 이용하여 메시지를 파일의 형태로 사용자 PC(110)에 저장한다.
단계607에서, 데이터 전송부(315)는 전송할 상대의 네트워크 정보를 지정하고, P-클라이언트 네트워크 관리부(316)에게 암호화된 미시지를 전달하고 단계608로 이동한다.
단계608에서, P-클라이언트 네트워크 관리부(316)는 암호화된 메시지를 전송용 메시지로 변화하고, PDS 서버(130)에게 전송한다.
단계609에서, 네트워크 관리부는 메시지 전송이 완료되었는가를 판단하여 완료되지 않은 경우에는 대기하고 메시지 전송이 완료되면 개인 정보 저장이 종료된다.
다음으로, 도 7은 위 로컬 저장소외의 별도의 PDS 서버(130)에 개인 정보를 저장하는 과정을 플로우차트로 도시한 것이다. 이 과정에서는 P-클라이언트(310)에서 PDS 서버(130)로 개인 정보를 메시지화 하여 보내주고, PDS 서버(130)에서는 메시지를 받은 다음 개인 정보 저장 명령이라는 것을 알아내어 해당 정보들을 DB에 저장한다.
도 7을 참조하면, 단계701에서, 소켓 서버(321a)는 외부로부터의 접속을 기다린다.
단계702에서, 소켓 서버(321a)는 접속이 발생하였는지를 판단하여 접속이 발생하지 않은 경우에는 단계701로 이동하며, 접속이 발생한 경우에는 단계703으로 이동한다.
단계703에서, 소켓 서버(321a)는 외부로부터의 접속을 받아들이고, 외부로부터의 접속에 대한 제어를 소켓 쓰레드(321b)에게 넘겨준다.
단계704에서, 소켓 쓰레드(321b)는 전송용 메시지를 수신하고, 암호화된 메시지를 추출하여 그 결과를 PDS 암호화 모듈(322)에게 넘겨준다.
단계705에서, PDS 암호화 모듈(322)에서 암호화된 메시지를 복호화하고, 메시지를 PDS 메시지 분석부(323a)에게 넘겨준다.
단계706에서, PDS 메시지 분석부(323a)에서는 PDS PITP유틸리티를 이용하여 메시지를 디코딩하고, 메시지로부터 명령어와 데이터를 분석해낸다.
단계707에서, 명령 처리부(323b)는 분석된 명령어와 데이터를 넘겨 받고, 어떤 종류의 작업을 수행하여야 하는지 분석한다.
단계708에서, 명령 처리부(323b)는 분석된 명령어가 정보저장 명령인 경우에는 단계 709로 이동하며, 그렇지 않은 경우에는 종료한다.
단계709에서, 데이터 매니저(325)는 데이터 양식을 DB 연동부(324)에게 제공하고, DB 연동부(324)는 해당 데이터들을 DB에 저장한다.
단계710에서,명령 처리부(323b)는 결과값 관리부(323d)에 처리 결과를 저장하고 종료한다.
다음에, 사용자는 PITP서비스를 이용하기 위해서 필요로 하는 개인 정보를 사용자 PC(110)에 불러와야 한다. PITP서비스를 위한 개인 정보를 사용자 PC(110)의 로컬 저장소에 저장하고 있는 경우에는, 필요로 하는 개인 정보를 사용자 PC(110)의 파일 입출력 시스템(112)으로부터 직접 읽어 오며 그리고, PDS 서버(130)에 저장하고 있는 경우에는 P-클라이언트(310)가 필요로 하는 개인 정보를 PDS 서버(130)에 요청하고 얻어와야 한다.
도 8은 P-클라이언트(310)가 PDS 서버(130)에 저장된 개인 정보를 요청하여 얻는 과정을 플로우차트로 도시한 것이다. 이 경우에, P-클라이언트(310)는 개인 정보를 요청하는 메시지를 PDS 서버(130)에 보내고, PDS 서버(130)는 해당 메시지를 분석하여 개인 정보를 DB로부터 읽어 들이고 메시지화하여 P-클라이언트(310)에게 제공한다.
먼저, 도 8a는 P-클라이언트(310)에서 개인 정보를 요청하는 메시지를 PDS 서버(130)에 보내는 과정을 플로우차트로써 도시한 것이다.
도 8a를 참조하면, 단계801에서, P-클라이언트 메시지 분석부(313a)는 개인 정보 요청 작업을 시작한다.
단계802에서, 명령어 관리부(313c)는 정보요청 명령어를 제공한다.
단계 803에서, P-클라이언트 메시지 분석부(313a)는 메시지를 생성하고 인코딩한다.
단계 804에서, P-클라이언트암호화 모듈(314)에서는 메시지를 암호화하고, 암호화된 메시지를 데이터 전송부(315)로 넘겨준다.
단계805에서, 데이터 전송부(315)는 전송할 상태의 네트워크 정보를 지정하고, P-클라이언트 네트워크 관리부(316)에게 암호화된 메시지를 전달한다.
단계806에서, P-클라이언트 네트워크 관리부(316)는 암호화된 메시지를 전송용 메시지로 변환하고 PDS 서버(130)에게 전송한다.
다음에, 도 8b와 도 8c는 PDS 서버(130)가 P-클라이언트(310)로부터 온 해당 메시지를 수신하여 분석하여 저장된 개인 정보를 P-클라이언트(310)에게 전송하는 과정을 플로우차트로써 도시한 것이다.
8b와 도 8c를 참조하면, PDS 서버(130)에서 소켓 서버(321a)는 외부 특히 P-클라이언트(310)의 접속이 있을 때까지 기다리고 있다.(단계808,809).
단계810에서, 소켓 서버(321a)는 P-클라이언트(310)로부터 접속이 있으면, 이를 받아들이고 네트워크 관리를 소켓 쓰레드(321b)에게 넘겨준다.
단계811에서, 소켓 쓰레드(321b)는 전송용 메시지를 수신하고 암호화된 메시지를 추출하여 그 결과를 PDS 암호화 모듈(322)에게 넘겨준다.
단계812에서, PDS암호화 모듈(322)은 암호화된 메시지를 복호화하고, 메시지를 PDS 메시지 분석부(323a)에게 넘겨준다.
단계813에서, PDS 메시지 분석부(323a)는 PITP 유틸리티(323c)를 이용하여 메시지를 디코딩하고, 메시지에서 명령어와 데이터를 분석해 낸다.
단계814에서, 명령 처리부(323b)는 분석된 명령어와 데이터를 넘겨 받고, 어떤 종류의 작업을 수행하여야 하는 지를 분석한다.
단계815에서, 분석 결과 정보 요청 명령으로 판단되면 단계816으로 이동한다.
단계816에서, 데이터 매니저(325)는 데이터 양식을 제공하고, DB 연동부(324)가 요청된 데이터들을 검색하여 그 결과를 결과값 관리부(323d)에 저장한다.
단계817에서, PDS메시지 분석부는 결과용 메세지를 생성하고, PITP유틸리티를 이용하여 메시지를 인코딩한다.
단계818에서, PDS암호화 모듈에서 메시지를 암호화하고 암화화된 메시지를 소켓 쓰레드(321b)에게 전달한다.
단계819와 단계820에서, 소켓 쓰레드(321b)는 암호화된 메시지를 전송용 메시지로 변환하여 P-클라이언트(310)에 전송하여 PDS 서버(130)에서의 과정을 종료한다.
도 8d는 PDS 서버(130)로부터 전송된 개인 정보를 수신하는 과정을 플로우차트로 도시한 것이다.
도 8d를 참조하면, P-클라이언트(310)는 PDS 서버(130)로부터 개인 정보가 전송되기를 기다리고 있다.(단계821,822)
단계 823에서, PDS 서버(130)로부터 개인 정보가 전송되면, P-클라이언트 네트워크 관리부(316)는 전송용 메시지를 수신하여 데이터 전송부(315)에게 넘겨준다.
단계824에서, 데이터 전송부(315)는 전송용 메시지로부터 암호화된 메시지를 추출하고 그 결과를 P-클라이언트암호화 모듈(314)에게 넘겨준다.
단계825에서, P-클라이언트암호화 모듈(314)에서 암호화된 메시지를 복호화하고, 복호화된 메시지를 P-클라이언트 메시지 분석부(313a)로 넘겨준다.
단계826에서, P-클라이언트 메시지 분석부(313a)는 메시지를 디코딩하고, 명령어와 데이터를 분석한다.
단계827에서, 데이터 관리부(313b)는 데이터 각각의 값을 분석하고 스크립트를 데이터 확인부(313d)로 넘겨준다.
단계828에서 데이터 확인부(313d)는 넘겨받은 스크립트의 조건을 분석하고 P-클라이언트(310)에서의 정보요청과정을 종료한다.
P-클라이언트(310)가 PSS 서버(120)에서 필요로 하는 개인 정보를 PSS 서버(120)에게 제공하는 과정을 살펴보면, 먼저, P-클라이언트(310)는 개인 정보가 저장되어 있는 위치를 알려줄 것을 PDS 서버(130)로 요청하고, 이에 대하여 PDS 서버(130)는 개인 정보가 어디에 위치하고 있는지를 P-클라이언트(310)에게 알려준다. 다음에, P-클라이언트(310)는 위치정보를 분석하여 로컬 저장소 또는 PDS 서버(130)로부터 개인 정보를 불러와서 PSS 서버(120)로 제공하게 된다.
도 9a 내지 도 9f은 이와 같은 전체의 과정을 플로우차트로 도시한 것이다.
먼저, 도 9a는 P-클라이언트(310)에서 PDS 서버(130)로 개인 정보가 저장되어 있는 위치를 알려줄 것을 요청하는 과정을 도시한 것으로, 도 9a를 참조하면, 단계 901에서, 웹 브라우저 연동부를 이용하여 현재 발생한 이벤트의 종류를 분석한다.
단계 902에서, 개인 정보 요청인 것으로 판단되면 단계903으로 이동하고, 그렇지 않은 경우에는 단계 901로 이동한다.
단계 903에서 P-클라이언트 메시지 분석부(313a)에서 개인 정보 위치 확인 작업을 시작한다.
단계904에서, 명령어 관리부(313c)에서 위치 왁인 명령어를 제공한다.
단계905에서, P-클라이언트 메시지 분석부(313a)에서 메시지를 생성하고 인코딩한다.
단계906에서, P-클라이언트암호화 모듈(314)에서는 메시지를 암호화하고 암호화된 메시지를 데이터 전송부(315)에게 전달한다.
단계907에서, 데이터 전송부(315)에서는 전송할 상태의 네트워크 정보를 지정하고, P-클라이언트 네트워크 관리부(316)에게 암호화된 메시지를 전달한다.
단계908에서 P-클라이언트 네트워크 관리부(316)는 암호화된 메시지를 전송용 메시지로 변환하여 PDS 서버(130)로 전송하고, 단계909에서, 전송용 메시지 전송이 완료될 때까지 대기한다.
다음으로, 도 9b는 P-클라이언트(310)의 위치 정보 요청에 대하여 개인 정보 저장 위치를 PDS 서버(130)가 P-클라이언트(310)에게 알려주는 과정을 플로우차트로 도시한 것이며, 도 9b를 참조하면, 단계910과 단계911에서, P-클라이언트(310)는 PDS 서버(130)로부터 위치정보가 전송될 때까지 기다린다.
단계912에서, P-클라이언트 네트워크 관리부(316)에서 위치정보에 관한 전송용 메시지가 수신되면, 이를 데이터 전송부(315)로 넘겨준다.
단계913에서, 데이터 전송부(315)는 전송된 메시지에서 암호화된 메시지를 추출하고, 그 결과를 P-클라이언트암호화 모듈(314)에게 넘겨준다.
단계914에서, P-클라이언트암호화 모듈(314)은 암호화된 메시지를 복호화하고ㅡ 메시지를 P-클라이언트 메시지 분석부(313a)로 넘겨준다.
단계915에서, P-클라이언트 메시지 분석부(313a)는 메시지를 디코딩하여 명령어와 데이터를 분석한다.
단계916에서, 명령어 관리부(313c)는 결과 코드 관리부(323e)를 분석하여, 단계 917에서, 로컬 저장소의 사용 여부를 판단하고 로컬 저장소를 사용하는 경우에는 단계920(도 9c참조)로 이동하고, 로컬 저장소를 사용하지 않는 경우에는 단계930(도 9d참조)로 이동한다.
다음에, 도 9c와 도9h는 로컬 저장소에 개인 정보가 저장되어 있는 경우에 P-클라이언트(310)가 필요로 하는 개인 정보를 PSS 서버(120)로 제공하는 과정을 플로우차트로 도시한 것이며, 도 9c를 참조하면, 단계920에서, 데이터 전송부(315)에서 파일 입출력시스템을 이용하여 사용자 PC(110)에 파일의 형태로 저장된 개인 정보를 읽어 들인다.
단계921에서, P-클라이언트암호화 모듈(314)은 개인 정보를 복호화하고, P-클라이언트 메시지 분석부(313a)로 넘겨준다.
단계922에서, P-클라이언트 메시지 분석부(313a)는 개인 정보의 제공작업을 시작한다.
단계923에서, 명령어 관리부(313c)는 정보제공 명령어를 제공하고, 단계924에서, 조건확인부는 저장장소에서 읽어들인 개인 정보들과 외부로부터 요청된 정보들의 조건이 일치하는지를 확인한다. 즉, 외부에서 요청한 개인정보를 제공하기 위하여 저장 장소의 개인 정보를 읽어들인 다음, 읽어들인 개인 정보가 요청된 개인 정보와 양식이 일치하는지 확인한다.
단계924에서, 조건이 일치하지 않는 경우에는 단계927으로 이동하고, 조건이 일치하는 경우에는 단계926으로 이동한다.
단계926에서, 조건이 일치하는 경우 해당 데이터를 포함하여 전송데이터에 포함하여 단계928로 이동한다. 여기서, 조건이 일치하는 것으로 확인된 데이터는 정보를 요청한 상대에게 전송하게 된다.
단계927에서, 조건이 일치하지 않을 경우 해당 데이터를 전송 데이터에 포함하지 않고 단계928로 이동한다.
단계928에서, 조건을 평가할 데이터가 남아있는지를 분석하여, 남아 있는 경우에는 단계925로 이동하고, 남아 있지 않은 경우에는 단계960으로 이동한다.
그리고, 도 9d내지 도 9h는 P-클라이언트(310)가 PDS 서버(130)에 저장된 개인 정보를 PSS 서버(120)로 제공하는 과정을 플로우차트로 도시한 것이다.
도 9d는 P-클라이언트(310)가 개인 정보를 요청하는 메시지를 PDS 서버(130)로 보내는 과정을 플로우차트로써 도시한 것으로, 도 9d를 참조를 참조하면, 단계930에서, P-클라이언트 메시지 분석부(313a)는 PDS 서버(130)로의 개인 정보 요청작업을 시작한다
단계931에서, 명령어 관리부(313c)는 정보 요청 명령어를 제공하고, 단계932에서, P-클라이언트 메시지 분석부(313a)에서 메시지를 생성하고 인코딩한다.
단계933에서, P-클라이언트암호화 모듈(314)에서는 메시지를 암화화하여 암호화된 메시지를 데이터 전송부(315)로 전달한다.
단계934에서, 데이터 전송부(315)는 전송할 상대의 네트워트 정보를 지정하고, 네트워크 관리부에게 암호화된 메시지를 전달한다.
단계935에서, P-클라이언트 네트워크 관리부(316)에서는 암호화된 메시지를 전송용 메시지로 변환하고, PDS 서버(130)로 전송한다.
도 9e와 도 9f는 PDS 서버(130)가 P-클라이언트(310)로부터 온 해당 메시지를 수신하여 분석하고 저장된 개인 정보를 P-클라이언트(310)에게 전송하는 과정을 플로우차트로써 도시한 것이다.
9e와 도 9f를 참조하면, PDS 서버(130)에서 소켓 서버(321a)는 외부 특히 P-클라이언트(310)의 접속이 있을 때까지 기다리고 있다.(단계940,941).
단계942에서, 소켓 서버(321a)는 P-클라이언트(310)로부터 접속이 있으면, 이를 받아들이고 네트워크 관리를 소켓 쓰레드(321b)에게 넘겨준다.
단계943에서, 소켓 쓰레드(321b)는 전송용 메시지를 수신하고 암호화된 메시지를 추출하여 그 결과를 PDS 암호화 모듈(322)에게 넘겨준다.
단계944에서, PDS암호화 모듈은 암호화된 메시지를 복호화하고, 메시지를 PDS 메시지 분석부(323a)에게 넘겨준다.
단계945에서, PDS 메시지 분석부(323a)는 PITP 유틸리티(323c)를 이용하여 메시지를 디코딩하고, 메시지에서 명령어와 데이터를 분석해 낸다.
단계946에서, 명령 처리부(323b)는 분석된 명령어와 데이터를 넘겨 받고, 어떤 종류의 작업을 수행하여야 하는 지를 분석한다.
단계947에서, 분석 결과 정보 요청 명령으로 판단되면 단계948으로 이동한다.
단계948에서, 데이터 매니저(325)는 데이터 양식을 제공하고, DB 연동부(324)가 요청된 데이터들을 검색하여 그 결과를 결과값 관리부(323d)에 저장한다.
단계949에서, PDS메시지 분석부는 결과용 메세지를 생성하고, PITP유틸리티를 이용하여 메시지를 인코딩한다.
단계950에서, PDS암호화 모듈에서 메시지를 암호화하고 암화화된 메시지를 소켓 쓰레드(321b)에게 전달한다.
단계951와 단계952에서, 소켓 쓰레드(321b)는 암호화된 메시지를 전송용 메시지로 변환하여 P-클라이언트(310)에 전송한다.
도 9g는 PDS 서버(130)로부터 전송된 전송용 메시지를 P-클라이언트(310)가 수신하는 과정을 도시한 것으로, 도 9g를 참조하면, 단계 960에서, P-클라이언트(310)는 PDS 서버(130)로부터 전송되는 정보를 기다린다.
단계961에서, PDS 서버(130)로부터의 전송이 있는 경우에는, 단계962에서, P-클라이언트 네트워크 관리부(316)에서 전송용 메시지를 수신하고, 데이터 전송부(315)로 넘겨준다.
단계963에서, 데이터 전송부(315)는 전송용 메시지에서 암호화된 메시지를 추출하고, 그 결과를 P-클라이언트암호화 모듈(314)에게 넘겨준다.
단계964에서, P-클라이언트암호화 모듈(314)은 암호화된 메시지를 복호화하고, 메시지를 P-클라이언트 메시지 분석부(313a)로 넘겨준다.
단계965에서, P-클라이언트 메시지 분석부(313a)에서는 메시지를 디코딩하고, 명령어와 데이터를 분석한다.
단계966에서, 데이터 관리부(313b)는 데이터 각각의 값을 분석하고, 스크립트를 데이터 확인부(313d)에게 넘겨준다.
단계967에서, 데이터 확인부(313d)는 넘겨 받은 스크립트의 조건을 분석한다.
단계968에서, P-클라이언트 메시지 분석부(313a)는 개인 정보 제공 작업을 시작한다.
단계969에서, 명령어 관리부(313c)는 정보 제공 명령어를 제공하고, 단계970에서, 데이터 확인부(313d)는 제공하고자 하는 정보들과 제공하여야 하는 정보들의 조건이 일치하는지를 확인하여, 단계971에서 조건이 일치하는 것인가를 분석한다.
조건이 일치하지 않는 경우에는 단계972에서 해당 데이터를 전송데이터에 포함하지 않도록 처리하고 단계974로 이동하고, 조건이 일치하지 않은 경우에는 단계973에서 조건이 일치하는 것으로 확인된 데이터를 정보를 요청한 상대에게 전송하기 위해 해당 데이터를 전송데이터에 포함하여 단계 974로 이동한다.
단계974에서, 조건을 평가할 데이터가 남아 있는 지를 분석하여 조건이 남아 있는 경우에는 단계971로 이동하고, 조건이 남아 있지않은 경우에는 단계974로 이동한다.
단계975에서, P-클라이언트 메시지 분석부(313a)에서 메시지를 생성하고 인코딩을 한다.
단계976에서, P-클라이언트암호화 모듈(314)에서 메시지를 암호화하고, 암호화된 메시지를 데이터 전송부(315)로 전달한다.
단계977에서, 데이터 전송부(315)는 전송할 상대의 네트워크 정보를 지정하고 P-클라이언트 네트워크 관리부(316)로 암호화된 메시지를 전달한다.
단계978에서, P-클라이언트 네트워크 관리부(316)는 암호화된 메시지를 전송용 메시지로 변환하고, PSS 서버(120)로 전송한다.
단계 979에서, 전송이 완료될 때까지 대기하고 전송이 완료되면 종료한다.
이와 같은 과정에 따라, 사용자 PC(110)의 로컬 저장소 또는 PDS 서버(130)에 저장되어 있는 개인 정보가 P-클라이언트(310)에서 PSS 서버(120)로 제공된 후에, PSS 서버(120)는 제공된 개인 정보를 자동적으로 DB에 저장하게 된다. 이러한 PSS 서버(120)의 저장 과정은, 도 7을 참조로 설명된 바 있는 PDS 서버(130)에의 개인 정보 저장 과정 즉, P-클라이언트(310)에서 PDS 서버(130)로 개인정보를 전송하고 저장하는 과정과 동일하며, 이에 대한 설명은 그 중복을 피하기 위하여 생략하기로 한다.
도 10은 소정의 웹사이트에 로그인하는 과정을 플로우차트로 도시한 것으로, 도 10을 참조하면, 단계1010에서, 사용자는 소정의 웹사이트에서 PITP회원 가입을 선택한다.
단계1011에서, 해당 웹사이트에 PSS(320) 프로그램이 설치되어 있으면 단계1012로 이동하고, PSS(320)프로그램이 설치되어 있지 않으면 단계1020으로 이동한다.
단계1012에서, 사용자 PC(110)에 P-클라이언트(310)가 설치되어져 있는지를 판단하고, P-클라이언트(310)가 설치되어 있으면 단계1013으로 이동하고, P-클라이언트(310)가 설치되어 있지 않으면 단계1020으로 이동한다.
단계1013에서, 해당 웹사이트에 이미 가입해 있던 회원인지를 판단하여, 새로운 회원인 경우에는 단계1014로 이동하고, 기존에 가입된 회원이면 단계1015로 이동한다.
단계1014에서, 도 9를 참조로 하여 설명된 바와 같은 과정에 따라 자동 회원 가입처리를 수행한다.
단계1015에서, 해당 웹사이트가 P-클라이언트(310)에 등록되어 있는지를 판단하여 이미 등록되어 있으면 단계1017로 이동하고, 등록되어 있지 않으면 해당 웹사이트의 정보를 P-클라이언트(310)에 저장(단계1016)한 후 단계1017로 이동한다.
단계1017에서, 도 9를 참조로 하여 설명된 바와 같은 과정에 따라 자동 로그인 처리를 수행한 후 로그인 과정을 종료한다.
단계1020에서, PITP를 이용할 수 없기 때문에, 해당 웹사이트는 수동 로그인 화면을 출력하고, 로그인 정보의 입력이 있을때까지 기다리고 있은 후(단계1021), 로그인 정보가 입력되면 해당 웹사이트는 로그인 처리를 하여 로그인 과정을 종료한다.
다음은 위 플로우차트로 설명된 각각의 과정에서 생성되거나 존재하는 데이터의 다양한 형태를 설명하고자 한다.
도 11은 웹브라우저(111)의 입력화면을 통하여 사용자들에 의하여 입력되는 정보를 도시한 것이다.
도 11에 도시된 정보는 웹브라우저(111)의 입력화면을 통하여 사용자들이 입력하는 최초의 정보에 해당하며, 웹브라우저(111)와 웹브라우저 연동부(311) 사이에 회원의 개인 정보로서 존재할 수 있는 데이터가 된다.
도 12는 데이터 매니저(325) 부분에서 관리하는 데이터 구조를 도시한 것이다.
PDS 또는 PSS 서버(120)에서 개인 정보를 저장하고 관리하기 위해서는, PDS 또는 PSS 서버(120)의 데이터매니저에 먼저 데이터 양식을 등록하여 주어야 하는데, 도 12는 이러한 데이터 양식을 도시한 것이다. 도 12을 참조하면, 도 11에 도시된 정보들 중 '이름'항목이 이 데이터 필드(325a)를 이용하여 하나의 데이터 리스트(325b)로 구성되어 있다. 또한, 'ID','패스워드' 등 모든 항목에 대하여 적용된 데이터 리스트(325b)들이 모이면 하나의 데이터 바디(325c)가 구성된다. 이러한 데이터 양식에 따라 PSS 또는 PDS 서버(130)에서는 데이터가 저장되고 관리된다.
도 13a는 P-클라이언트 메시지 분석부(313a)를 예로 하여 정보를 전송하기 위한 메시지의 생성과정을 도시한 것이며, 도 13b는 도 13의 과정에서 인코딩되기 전의 메시지를 도시한 것이며, 도 13c는 인코딩된 메시지를 도시한 것이다.
도 13a를 참조하면, 정보를 교환하기 위하여 P-클라이언트 메시지 분석부(313a)는 메시지를 생성하여 서로 주고 받을 수 있도록 한다.
메시지 생성요청이 있는 경우에 P-클라이언트 메시지 분석부(313a)에서 메시지를 생성하기 위하여, 먼저 요청된 작업의 종류를 분석하게 된다.(단계1301)
이에 따라, 작업의 종류에 맞는 명령어를 P-클라이언트 명령어 관리부(313c)로부터 취득하고(단계1302), 또한 데이터 관리부(313b)로부터 전달할 데이터의 항목명과 항목값을 취득한다(단계1303).
그리고, 전달하고자 하는 데이터는 '┃'구분자로 구분하여 나열(단계1304)하고 명령어와 데이터를 합하여 전송할 메시지를 생성하게 된다(단계1305).
도13b를 참조하면, 도 13의 단계1305에서 생성된 메시지의 양식(Format)과 그 예제가 도시되어 있다. 여기서, 메시지는 명령어(1311)를 사용하는 형식과 리턴 코드(Return Code : 1312)를 이용하는 두 형식이 존재하는데, 도시된 도면에는 이 두가지 모두를 도시하고 있으며, 명령어를 사용하는 형식은 어떤 작업을 요청할 때 사용된 것임을 나타내며, 리턴코드를 사용하는 형식은 작업을 완료하고 그 결과를 알려줄 때 사용된 것임을 나타낸다.
도 13a를 참조하면, 단계1305에서 생성된 메시지 중에서 특수기호 예컨데 구분자 '┃' 등이 존재하는 경우에는 해당 데이터를 인코딩을 하게 된다.(단계1306) 여기서, 상기 특수기호 등이 없는 경우에는 인코딩을 하지 않게 되므로 단계1305에서 생성된 메시지와 같게 된다.
도 13c를 참조하면, 도 13의 단계1306에서 인코딩된 메시지의 양식(Format)과 그 예제가 도시되어 있다.
도 14a는 암호화 모듈에서 암호화된 메시지가 생성되는 과정을 도시한 것이며, 도 14b는 암호화 모듈에서 복호화된 메시지가 생성되는 과정을 도시한 것이며, 그리고 도 14c는 암호화된 메시지의 예를 도시한 것이다. 여기서 암호화는 공개키 방식에 대하여 설명하기로 한다.
도 14a를 참조하면, 암호화할 메시지(또는 인코딩된 메시지)가 암호화 모듈로 제공된 경우에는, 공개키와 개인키 중에서 공개키를 전송상대(즉, PSS나 또는 PDS 서버)에게 전송하고, 공개키를 이용하여 인코딩된 메시지를 암호화한다.
도 14b를 참조하면, 공개키로 암호화된 메시지가 암호화 모듈로 제공된 경우에는, 생성해둔 개인키로 암호화된 메시지를 복호화한다.
도 14c를 참조하면, 암호화되기 전과 암호화된 후의 메시지가 예시되어 있다. 여기서, 암호화되기 전의 메시지는 복호화메시지에 해당하며, 암호화된 후의 메시지는 암호화된 메시지에 해당한다.
도 15a는 메시지를 실제 전송하는 네트워크 처리과정을 도시한 것이며, 도 15b는 네트워크 상에서 암호화된 메시지를 전송하기 위하여 생성되는 메시지를 도시한 것이다.
도 15a를 참조하면, 데이터 전송부(315)에서, 전송할 데이터(즉, 암호화된 메시지)와 전송 상대(PSS 또는 PDS 서버)의 위치정보를 네트워크 관리부에 제공하면, 네트워크 관리부는 전송용 헤더 및 부가 정보를 전송할 데이터에 적용하여 전송용 메시지를 생성한다. 그리고, 전송상대와 접속을 시도하여 전송용 메시지를 전송상대에게 전송한다. 그리고, 전송 상대로부터 전송용 메시지가 송신된 경우에는 전송용 헤더 및 부가 정보를 송신된 전송용 메시지로부터 제거한 후 데이터 전송부(315)로 전송받은 데이터를 제공한다.
도 15b를 참조하면, 실제 네트워크 상에서 암호화된 메시지를 전송하기 위하여 생성되는 메시지를 예시하고 있으며, 여기서, 전송용 헤더와 전송용 테일이 적용되며, 네트워크 관리부에서 외부의 전송 상대에게 제공하는 메시지이다.
도 16은 P-클라이언트(310)에서 조건 무결성을 확인하는 과정을 도시한 것이다.
도 16을 참조하면, 데이터 관리부(313b)가 데이터의 항목값과 조건 정보를 데이터 확인부(313d)로 전달하면, 데이터 확인부(313d)는 조건 정보를 분석하고, 조건 정보에 문법적 오류가 존재하지는 않는지 오류 검사를 수행한다. 조건 정보에 대한 오류 검사가 완료된 뒤, 데이터 확인부(313d)에서는 항목값이 조건 정보에서 지정한 내용에 부합하는지 검사하고, 그에 대한 결과를 도출하여, 데이터 항목값에 대한 조건 분석 결과를 데이터 관리부(313b)에 전달함으로써, 데이터 제공시 고려하여야 할 조건에 데이터 항몫값이 부합하는지를 확인할 수 있게 된다. 여기서, 조건 무결성 과정이라 함은 어떠한 데이터가 정해진 조건에 부합하는가를 확인하는 과정에 해당한다. 이때 상기 조건은 전술된 바 있는 스크립트의 형식으로 제공되며, 예컨데, 'AAA'는 '[A-Z]+'라는 조건에 부합하지만, '111'은 [A-Z]+'라는 조건에 부합하지 않는것과 같은 이러한 확인작업을 행하는 것이라 할 수 있다.
도 17은, PSS 서버(120)에서 데이터 양식을 관리하는 과정을 보다 상세하게 도시한 것이다.
도 17을 참조하면, 웹 사이트 관리자가 입력장치를 이용하여 환경설정 정보를 데이터 바디(325c)으로 전달하면, 데이터 바디(325c)은 네트워크 환경설정과 데이터베이스 환결설정의 두 종류로 입력된 정보의 종류와 내용을 분석하여 그 중 데이터베이스 환경설정 정보로부터 데이터 양식 설정 정보를 추출하여 조건생성부(327)에서 제공하는 조건 정보를 취득하여 데이터 양식 정보를 생성하고, 데이터 바디(325c)은 데이터 명칭 및 항목값과 조건 정보를 데이터 매니저(325)에게 전달함으로써, 관리자가 지정한 양식에 따라 DB 연동부(324)가 DB와의 연동작업을 수행하게 되어 웹사이트가 원하는 대로 데이터 베이스를 활용할 수 있도록 한다. 즉, DB 연동부(324)에서는 항상 데이터 매니저(325)와 연동하여 작업을 처리하게 되는데, 데이터 매니저(325)는 실제 DB와 PSS(320) 내에서 사용하는 데이터와의 관계를 표현해 주는 양식을 관리하는 하는 것이라 할 수 있다.
도 18은, PSS 서버(120)의 DB관리 과정 즉, 데이터 베이스 자체의 관리 과정을 보여준다.
도 18을 참조하면, 명령 처리부(323b)에서 DB와 연동하여서 처리하여야 할 작업을 추출하고, 추출된 DB연동 작업들과 DB 연동 작업용 정보를 DB 연동부(324)로 전달하면, DB 연동부(324)는 DB와 연동하여 작업하기 위한 범용 질의어를 먼저 생성하고 데이터 매니저(325)로부터 DB 연동시 고려하여야 하는 데이터 양식 정보를 취득하여 앞서 생성한 범용 질의어를 실제 DB에 맞는 실행용 질의어로 변환한다. DB 연동부(324)는 실행용 질의어를 DB에 전달하여 실행하고, 해당 질의어에 대한 실행 결과를 범용 결과 양식으로 변경한다. 그리고 DB 연동부(324)는 DB 연동작업에 따른 실행결과를 결과값 관리부(323d)에게 전달한다.
이상과 같은 본 발명에 따른 정보 교환 시스템 및 방법에 의하면, 별도로 정의한 개인 정보 기본안에 의거하여 사용자가 자신의 정보를 데이터베이스화 시키고 직접 관리할 수 있도록 만드는 것이 가능하며, 또한 회원가입 시에는 이 정보를 바탕으로 하여 사이트에서 요구하는 정보들을 자동으로 입력해 주어서 편리하고 간단한 회원 가입을 가능하게 해준다.
또한, 사용자의 개인 정보 뿐만이 아니라, 각 웹사이트에 가입되어 있는 회원 정보도 PITP에서 제시한 규정에 의거하여 데이터 베이스화 시켜 기억하고 관리할 수 있기 때문에, 이를 바탕으로 자동으로 로그인을 진행시켜 줄 수 있으며, 이에 따라 로그인을 할 때 생기는 불편함과 각각의 사이트의 정보를 잊어버리게 되는 불상사를 막아주게 된다.
더욱이, PITP는 사용자의 정보와 각 사이트에 가입되어 있는 회원 정보를 데이터 베이스화 시켜서 관리하는 것이 가능하므로, 사용자가 사용자의 정보를 수정할 경우 각각의 사이트에 저장된 정보들을 자동으로 업데이트할 수 있다.
나아가, PITP에서 제시한 암호화 방식에 의거하여 개인 정보의 송/수신 시, 완벽하게 암호화 처리를 하여 송/수신한다. 따라서 사용자는 자신의 정보가 악의적으로 유출될 걱정 없이 정보를 관리 및 입력할 수 있다.
따라서, 인터넷 사용자가 소정의 웹사이트에 회원 가입을 하거나 로그인을 하는 경우와 같이 필요로 하는 개인 정보를 자동적으로 제공할 수 있으며, 웹 사이트에 저장된 자신의 회원 정보를 자신이 직접 관리할 수 있게 된다.

Claims (30)

  1. 서버와 함께 수행하고자 하는 요청된 작업에 따라 명령어와 데이터를 활용한 메시지를 생성하거나 또는 전송받은 메시지를 분석하여 명령어와 데이터로 구분하기 위하여 클라이이언트측 메시지 분석부를 구비한 클라이언트측 메시지 실행부와,
    네트워크를 통하여 메시지가 전송되도록 하기 위한 클라이언트측 네트워크 관리부를 구비한 클라이언트와;
    네트워크를 통하여 정보가 전송되도록 하기 위한 서버측 네트워크 관리부와,
    상기 클라이언트와 함께 수행하고자 하는 작업을 분석하고 필요한 정보를 수집하여 수행한 뒤 그 결과를 메시지화하여 제공하기 위하여 서버측 메시지 분석부와 명령 처리부를 구비한 서버측 메시지 실행부와,
    네트워크를 통하여 전송되는 정보와 서버에 설치된 DB를 연동하기 위하여 사이트 관리자가 지정한 양식을 관리하기 위한 데이터 매니저와,
    서버에 설치된 DB의 종류에 관계없이 사이트 관리자가 지정한 양식에 따라 DB작업을 수행하기 위한 DB연동부를 구비한 서버를 포함하는 정보 교환 클라이언트/서버 시스템.
  2. 제 1 항에 있어서,
    상기 서버측 메시지 실행부는,
    메시지를 인코딩 또는 디코딩하기 위한 PITP 유틸리티와, 상기 명령 처리부에서 수행한 작업의 결과값을 저장하기 위한 결과값 관리부와, 상기 명령처리부에서 수행한 작업의 결과 코드를 관리하기 위한 결과코드관리부를 더 구비하며,
    상기 클라이언트는, 클라이언트측 메시지 분석부에서 메시지를 인코딩 또는 디코딩하는 것을 특징으로 하는 정보 교환 클라이언트/서버 시스템.
  3. 제 2 항에 있어서,
    상기 클라이언트는,
    상기 클라이언트측 메시지 분석부로부터 전달된 명령어의 의미를 분석하고 상기 클라이언트측 메시지 분석부로부로터 전달된 작업을 수행하는 명령어를 제공하기 위한 명령어 관리부와,
    상기 클라이언트측 메시지 분석부로부터 전달된 데이터를 관리하기 위한 데이터 관리부와,
    상기 데이터 관리부로부터 전달된 데이터가 데이터 관리부로부터 전달된 조건값에 부합하는 지 확인하기 위한 데이터 확인부를 더 포함하는 것을 특징으로 하는 정보 교환 클라이언트/서버 시스템.
  4. 제 3항에 있어서,
    상기 클라이언트는, 메시지를 암호화 또는 복호화하는 클라이언트측 암호화모듈을 더 구비하며,
    상기 서버는, 메시지를 암호화 또는 복호화하는 서버측 암호화모듈을 더 구비하는 것을 특징으로 하는 정보 교환 클라이언트/서버 시스템.
  5. 제 4항에 있어서,
    상기 클라이언트측 암호화 모듈과 상기 서버측 암호화 모듈은, 인코딩된 메시지를 암호화 하는 것을 특징을 하는 정보 교환 클라이언트/서버 시스템.
  6. 제 4항에 있어서,
    상기 서버측 네트워크 관리부는,
    상기 클라이언트의 네트워크 접속을 받아 들이기 위한 소켓 서버와, 상기 클라이언트와의 접속을 유지하며 데이터를 송수신하기 위한 소켓 쓰레드를 구비하는 것을 특징으로 하는 정보 교환 클라이언트/서버 시스템.
  7. 제 6 항에 있어서,
    상기 서버는, 사이트 관리자에 의하여 서버 세팅과 관련된 설정정보를 변경하기 위한 관리자 프로그램과, 상기 설정 정보를 메시지 송수신에 적용하기 위한 환경설정 관리부를 더 구비하는 것을 특징으로 하는 정보 교환 클라이언트/서버 시스템.
  8. 제 7 항에는,
    상기 설정 정보에는, DB종류와 네트워크 연결과 관련된 정보를 포함하는 것을 특징으로 하는 정보 교환 클라이언트/서버 시스템.
  9. 제 8 항에 있어서,
    상기 서버는, 데이터의 무결성을 판단하기 위한 조건 생성부를 더 구비하는 것을 특징으로 하는 정보 교환 클라이언트/서버 시스템.
  10. 제 9 항에 있어서,
    상기 클라이언트는, 웹 브라우저의 호출 명령에 대응하여 소정의 파라미터를 클라이언트측 메시지 분석부로 보내는 웹브라우저 연동부를 더 구비하는 것을 특징으로 하는 정보 교환 클라이언트/서버 시스템.
  11. 제 3 항 또는 제 4 항에 있어서,
    상기 클라이언트는, 메시지를 저장 장소에 저장하거나 또는 저장 장소로부터 읽어들이기 위해 분석하고 저장 장소에 대한 정보를 제공하는 데이터 전송부를 더 구비하는 것을 특징으로 하는 정보 교환 클라이언트/서버 시스템.
  12. 제 11 항에 있어서,
    상기 저장 장소는 로컬 저장소인 것을 특징으로 하는 정보 교환 클라이언트/서버 시스템.
  13. 제 11 항에 있어서,
    상기 서버는 적어도 2개이며, 상기 저장 장소는 적어도 하나의 상기 서버의 DB인 것을 특징으로 하는 정보교환 클라이언트/서버 시스템.
  14. 개인 정보가 저장되어 있는 저장장소와, 개인 정보를 제공하는 클라이언트와, 필요로 하는 개인정보를 요청하는 서버를 포함하는 클라이언트/서버 시스템에 있어서,
    상기 저장 장소에 개인 정보를 저장하고 있는 클라이언트에게 필요로 하는 개인 정보를 요청하는 단계; 및
    저장 장소로부터 개인 정보를 추출한 클라이언트로부터 필요로 하는 개인 정보를 네트워크를 통하여 제공받는 단계;
    네트워크를 통하여 제공받은 개인 정보를 DB에서 사용하는 양식에 맞추어 재가공하는 단계를 포함하는 정보 교환 방법
  15. 제 14 항에 있어서,
    상기 재가공하는 단계는,
    DB에서 사용하는 양식 정보를 읽어 들이고 상기 클라이언트로부터 전송받은 개인 정보를 상기 양식 정보에 맞추어 변경하는 단계와, 상기 변경된 개인 정보를 해당 작업 중 DB와 직접 연동하여 처리하는 작업을 수행하는 단계;를 포함하는 것을 특징으로 하는 정보 교환 방법.
  16. 제 15 항에 있어서,
    상기 클라이언트에서는 요청하는 작업에 대응하는 명령어와 데이터를 수집하고 메시지를 제공하고, 상기 클라이언트로부터 전송된 개인 정보를 분석하여 명령어와 데이터로 구분하고, 상기 분석된 명령어에 해당하는 작업을 수행하는 단계를 포함하는 것을 특징으로 하는 정보 교환 방법.
  17. 제 16항에 있어서,
    상기 클라이언트로부터 전송된 인코딩 메시지를 디코딩하는 단계를 더 포함하는 것을 특징으로 하는 정보 교환 방법.
  18. 제 17항에 있어서,
    상기 클라이언트에서는 암호화된 메시지에 복호화하는 단계를 더 포함하는 것을 특징으로 하는 정보 교환 방법.
  19. 제 18항에 있어서,
    상기 정보 제공 단계는,
    상기 클라이언트의 네트워크 접속을 받아 들이는 단계와;
    상기 클라이언트와의 접속을 유지하며 데이터를 송수신하기 위하여 쓰레드를 생성하는 단계를 포함하는 것을 특징으로 하는 정보 교환 방법.
  20. 제 19 항에 있어서,
    상기 쓰레드 생성 단계는, 네트워크 접속과 관련된 정보를 적용하는 단계를 포함하고,
    상기 재가공 단계는,데이터 양식에 관한 정보를 적용하는 단계를 포함하는 것을 특징으로 하는 정보 교환 방법.
  21. 제 20 항에는,
    상기 DB와 연동하여 처리하는 작업은 회원 가입인 것을 특징으로 하는 정보교환 방법.
  22. 제 21 항에 있어서,
    상기 DB와 연동하여 처리하는 작업은 로그인인 것을 특징으로 하는 정보교환방법.
  23. 개인 정보가 저장되어 있는 저장장소와, 개인 정보를 제공하는 클라이언트와, 필요로 하는 개인정보를 요청하는 서버를 포함하는 클라이언트/서버 시스템에 있어서,
    상기 저장 장소에 개인 정보를 저장하고 있는 클라이언트에게 필요로 하는 개인 정보를 요청하는 수단; 저장 장소로부터 개인 정보를 추출한 클라이언트로부터 필요로 하는 개인 정보를 네트워크를 통하여 제공받는 수단; 네트워크를 통하여 제공받은 개인 정보를 DB에서 사용하는 양식에 맞추어 재가공하는 수단;을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  24. 제 23 항에 있어서,
    상기 정보를 재가공하는 수단은;
    DB에서 사용하는 양식 정보를 읽어 들이고 상기 클라이언트로부터 전송받은 개인 정보를 상기 양식 정보에 맞추어 변경하기 위한 수단과, 상기 변경된 개인 정보를 해당 작업 중 DB와 직접 연동하여 처리하는 작업을 수행하기 위한 수단을 포함하여 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  25. 제 24 항에 있어서,
    상기 클라이언트에서는 요청하는 작업에 대응하는 명령어와 데이터를 수집하고 메시지를 제공하고, 상기 클라이언트로부터 전송된 개인 정보를 분석하여 명령어와 데이터로 구분하고, 상기 분석된 명령어에 해당하는 작업을 수행하기 위한 수단을 더 포함한여 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  26. 제 25항에 있어서,
    상기 클라이언트로부터 전송된 인코딩 메시지를 디코딩하기 위한 수단을 더 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  27. 제 26항에 있어서,
    상기 클라이언트로부터 전송된 암호화된 메시지를 복호화하는 수단을 더 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  28. 제 27항에 있어서,
    상기 정보 제공 수단은,
    상기 클라이언트의 네트워크 접속을 받아 들이는 수단과, 상기 클라이언트와의 접속을 유지하며 데이터를 송수신하기 위하여 쓰레드를 생성하는 수단을 포함하여 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  29. 제 28 항에 있어서,
    상기 쓰레드 생성 수단은, 네트워크 접속과 관련된 정보를 적용하는 수단을 포함하며,
    상기 재가공 수단은 데이터 양식에 관한 정보를 적용하는 수단을 포함하여 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  30. DB의 종류에 관계없이 지정된 양식에 따라 DB작업을 수행하기 위하여,
    입력,출력 및 검색할 수 있는 이름영역과 내용영역을 포함하며,
    상기 이름 영역과 상기 내용영역은 서로 쌍을 이루어 입력, 출력 및 저장될 수 있는 것을 특징으로 하는 양식 데이터를 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020010007523A 2001-02-15 2001-02-15 네트워크를 이용한 개인 정보 교환 시스템, 그 시스템을이용한 정보 교환 방법 및 그 방법이 기록된 컴퓨터로읽을 수 있는 기록매체 KR20010044385A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010007523A KR20010044385A (ko) 2001-02-15 2001-02-15 네트워크를 이용한 개인 정보 교환 시스템, 그 시스템을이용한 정보 교환 방법 및 그 방법이 기록된 컴퓨터로읽을 수 있는 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010007523A KR20010044385A (ko) 2001-02-15 2001-02-15 네트워크를 이용한 개인 정보 교환 시스템, 그 시스템을이용한 정보 교환 방법 및 그 방법이 기록된 컴퓨터로읽을 수 있는 기록매체

Publications (1)

Publication Number Publication Date
KR20010044385A true KR20010044385A (ko) 2001-06-05

Family

ID=19705791

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010007523A KR20010044385A (ko) 2001-02-15 2001-02-15 네트워크를 이용한 개인 정보 교환 시스템, 그 시스템을이용한 정보 교환 방법 및 그 방법이 기록된 컴퓨터로읽을 수 있는 기록매체

Country Status (1)

Country Link
KR (1) KR20010044385A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100467794B1 (ko) * 2002-11-01 2005-01-24 한국신용평가정보주식회사 신용정보 서비스를 위한 민원처리 시스템
WO2010030133A2 (ko) * 2008-09-10 2010-03-18 소프트캠프(주) 실행파일 형태의 에이피아이를 이용한 보안파일 전송시스템과 전송방법
KR101034703B1 (ko) * 2009-12-02 2011-05-17 한남대학교 산학협력단 관리적 측면 보안수준 평가 요소 결정 시스템 및 방법
KR101240332B1 (ko) * 2011-06-22 2013-03-11 주식회사 맥스 모바일단말기용 소켓서버 시스템 및 모바일단말기용 소켓서버 처리 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999023591A1 (en) * 1997-11-02 1999-05-14 Planetall.Com, Inc. Networked personal contact manager
US5991796A (en) * 1996-07-16 1999-11-23 Lucent Technologies Inc. Technique for obtaining and exchanging information on world wide web
KR20000037207A (ko) * 2000-04-12 2000-07-05 정병철 웹사이트에서 개인정보 등록관리방법
KR20000059019A (ko) * 2000-07-10 2000-10-05 이현봉 인터넷을 이용한 데이터 통신 장비의 정보 통합 관리 및공유방법
KR20010018983A (ko) * 1999-08-24 2001-03-15 오영필 인터넷 로그인 포털서비스 장치 및 그 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991796A (en) * 1996-07-16 1999-11-23 Lucent Technologies Inc. Technique for obtaining and exchanging information on world wide web
WO1999023591A1 (en) * 1997-11-02 1999-05-14 Planetall.Com, Inc. Networked personal contact manager
KR20010018983A (ko) * 1999-08-24 2001-03-15 오영필 인터넷 로그인 포털서비스 장치 및 그 방법
KR20000037207A (ko) * 2000-04-12 2000-07-05 정병철 웹사이트에서 개인정보 등록관리방법
KR20000059019A (ko) * 2000-07-10 2000-10-05 이현봉 인터넷을 이용한 데이터 통신 장비의 정보 통합 관리 및공유방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100467794B1 (ko) * 2002-11-01 2005-01-24 한국신용평가정보주식회사 신용정보 서비스를 위한 민원처리 시스템
WO2010030133A2 (ko) * 2008-09-10 2010-03-18 소프트캠프(주) 실행파일 형태의 에이피아이를 이용한 보안파일 전송시스템과 전송방법
WO2010030133A3 (ko) * 2008-09-10 2010-07-15 소프트캠프(주) 실행파일 형태의 에이피아이를 이용한 보안파일 전송시스템과 전송방법
KR101016615B1 (ko) * 2008-09-10 2011-02-22 소프트캠프(주) 실행파일 형태의 에이피아이를 이용한 보안파일 전송시스템과 전송방법
KR101034703B1 (ko) * 2009-12-02 2011-05-17 한남대학교 산학협력단 관리적 측면 보안수준 평가 요소 결정 시스템 및 방법
KR101240332B1 (ko) * 2011-06-22 2013-03-11 주식회사 맥스 모바일단말기용 소켓서버 시스템 및 모바일단말기용 소켓서버 처리 방법

Similar Documents

Publication Publication Date Title
AU2023204296B2 (en) Encrypted userdata transit and storage
US6879979B2 (en) Method to remotely query, safely measure, and securely communicate configuration information of a networked computational device
US6751618B1 (en) Method and apparatus for a web application server to upload multiple files and invoke a script to use the files in a single browser request
JP4467256B2 (ja) 代理認証プログラム、代理認証方法、および代理認証装置
US20030154413A1 (en) Information processing device, information processing system, authentication method, storage medium and program
JP2003186764A (ja) ウェブ資源へアクセスが制御される通信ネットワーク
JP4252229B2 (ja) 情報交換システム、情報通信端末、情報交換方法、プログラム、および、記録媒体
WO2007001206A1 (fr) Systeme d'information client-serveur et procede permettant d'obtenir une interface graphique
KR20010044385A (ko) 네트워크를 이용한 개인 정보 교환 시스템, 그 시스템을이용한 정보 교환 방법 및 그 방법이 기록된 컴퓨터로읽을 수 있는 기록매체
Lang R as a Web Client–the RCurl package
US7188109B1 (en) Cool ICE utilization of digital certificates
IL310890A (en) Transfer and storage of encrypted user data
IL293412B1 (en) Transfer and storage of encrypted user data
NZ791988A (en) Encrypted userdata transit and storage
IES20020136A2 (en) A utility hub system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application