KR20180029331A - 암호화된 데이터 스트림 생성 방법 및 이를 위한 장치 - Google Patents

암호화된 데이터 스트림 생성 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR20180029331A
KR20180029331A KR1020160117042A KR20160117042A KR20180029331A KR 20180029331 A KR20180029331 A KR 20180029331A KR 1020160117042 A KR1020160117042 A KR 1020160117042A KR 20160117042 A KR20160117042 A KR 20160117042A KR 20180029331 A KR20180029331 A KR 20180029331A
Authority
KR
South Korea
Prior art keywords
string
data stream
stream
data
identification information
Prior art date
Application number
KR1020160117042A
Other languages
English (en)
Other versions
KR102536860B1 (ko
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 KR1020160117042A priority Critical patent/KR102536860B1/ko
Publication of KR20180029331A publication Critical patent/KR20180029331A/ko
Application granted granted Critical
Publication of KR102536860B1 publication Critical patent/KR102536860B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 무선 통신 시스템에서 적어도 하나의 단말에 대하여 특정적으로 전송되는 데이터 스트림을 수신 단말이 처리하는 방법 및 장치에 관한 것이다. 구체적으로, 송신 단말로부터 수신된 데이터 스트림(data stream)상의 스트림 헤더(stream header)만을 선택적으로 디코딩하는 단계, 스트림 헤더의 네트워크 주소가 수신 단말에 대응되는 경우, 미리 저장된 수신 단말의 고유 보안 값을 이용하여 텍스트 집합을 생성하는 단계, 텍스트 집합 및 스트림 헤더상의 데이터 출처 인증 필드에서 지시하는 데이터 출처 인증 문자열을 이용하여, 출처 인증을 수행하는 단계, 출처 인증이 성공한 경우, 스트림 헤더상의 사용자 식별 정보 필드에 따라 지시된 사용자 식별 정보 문자열만을 상기 텍스트 집합을 기반으로 복호화(decrypt)하여 사용자 식별 정보를 획득하는 단계를 포함하며, 텍스트 집합은, 영문 대문자 집합, 영문 소문자 집합, 숫자 집합 혹은 특수문자 집합 중 적어도 두 개 이상의 조합으로 구성된 문자 스트림(character stream)의 소정 단위를, 랜덤(random)하게 연접(concatenation)하여 상기 고유 보안 값에 대응하는 갯수의 상호 중첩되지 않는 값을 가지는 보안 블록들을 가지도록 구성된다.

Description

암호화된 데이터 스트림 생성 방법 및 이를 위한 장치{A METHOD FOR GENERATING AN ENCRYTED DATA STREAM AND AN APPARATUS THEREFOR}
본 발명은 무선 단말 및 서비스 제공자 간에 암호화된 데이터 스트림을 송수신하는 것으로, 보다 구체적으로는 하나의 사용자 단말 및 적어도 하나의 서비스 제공자(예, 병원)간에 있어서, 서비스 예약 등을 수행하기 위하여 보안성이 향상된 데이터 스트림 구조 생성 및 제공 방법, 그리고 이를 위한 장치에 관한 것이다.
무선 인터넷의 발달과 더불어, 사용자 단말에서 다수의 서비스 제공자들에 대한 접근이 용이해지고 있으며, 이에 따라 네트워크 망을 통하여 개인 정보 등이 암호화되어 송수신되고 있다. 이와 관련하여 네트워크 계층(Network Layer)의 보안 프로토콜로서 SSL(Secure Socket Layer)가 대표적으로 사용되고 있으며, SSL은 인터넷 상의 네트워크 보안을 강화하기 위한 보안 프로토콜로서, 서버와 클라이언트간의 메시지 기밀성 및 무결성, 서버 인증, 클라이언트 인증 등의 보안 서비스를 제공한다.
도 1 은 종래 기술에 따른 SSL을 통한 데이터 전송을 설명하기 위한 참고도이다.
도 1에서 사용자(client)가 웹(web) 브라우저 혹은 모바일 상의 앱(APP)등을 이용하여 특정 서비스(예를 들어, 환자 예약)를 요청하는 상황을 가정한다. 이러한 경우, 사용자 관련 정보들을 조합하여 서비스 제공자가 식별할 수 있는 정보를 생성하고, 이에 따른 서비스 요청 정보를 함께 송신할 수 있다. 예를 들어, 진료 서비스를 제공하는 병원에 예약을 하는 경우를 가정하면, 사용자를 식별할 수 있는 번호(예, 환자 ID(patient ID), 사용자의 개인 전화 번호(Phone Number) 등이 조합되어, 서비스 제공자가 사용자를 식별할 수 있는 정보(identifier)가 생성되고, 진료 서비스를 위하여 필요한 예약 일자, 예약 시간, 진료과, 담당의 등의 서비스 요청 정보가 포함되어 병원 혹은 의료 기관에 전송될 수 있다.
여기서, 사용자가 서비스 제공자에게 전송하는 정보는 SSL(Secure Sockets Layer)을 이용하여 전송될 수 있다. 구체적으로, SSL은 인터넷 프로토콜 중 전송 프로토콜(예를 들어, TCT/IP)과 응용 프로토콜(예를 들어, HTTP(Hyper-Text Transfer Protocol)), 암호화 된 HTTP(Secured Hyper-Text Transfer Protocol), FTP(File Transfer Protocol, Telnet 등) 사이에 존재한다. 그리고, SSL은 SSL 레코드 프로토콜(SSL Record Protocol; SSLRP)과 SSL 핸드 쉐이크 프로토콜(SSL Handshake Protocol; SSLHP)로 구성된다.
SSL 핸드 쉐이크 프로토콜은 서버와 클라이언트 간에 암호화 방법이나 키를 협상 및 결정하는 것을 담당한다. 구체적으로, SSL 핸드 쉐이크 프로토콜은 서버와 클라이언트 간에 암호화된 하나의 세션을 성립하고, 상기 세션 동안 세션 정보를 공유하는 역할을 한다. 여기서, 세션 정보의 예로는, 보안 서비스를 위한 세션키, 암호 알고리즘, 압축 알고리즘, 인증서 등의 변수를 들 수 있다.
SSL 레코드 프로토콜은 서버와 클라이언트 간에 공유된 세션 정보를 이용하여, 실질적인 보안 서비스를 제공한다. 예를 들면, SSL 레코드 프로토콜은 정보를 암호화하기 위하여 정보를 기본 단위들로 나누고, 이를 구분하는 것을 담당한다.
서비스 제공자(예, 병원)는 사용자로부터 수신된 데이터로부터 사용자를 식별하기 위한 정보를 획득하고, 획득된 정보를 서비스 제공자가 저장하고 있는 자료와 비교하여, 해당 사용자를 위한 서비스 제공을 예약할 수 있다. 예를 들어, 진료 서비스를 제공하는 병원의 경우, 병원 데이터베이스에서 사용자를 식별할 수 있는 번호(예, 환자 ID) 혹은 사용자의 개인 전화 번호와 일치하는 환자를 검색하여 예약을 저장할 수 있다.
그러나, 이러한 SSL을 사용하더라도, 네트워크 계층 및 어플리케이션 계층을 통하여 해킹이 이루어질 수 있으며, 각 서비스 제공자(예, 병원)에서 사용자(예, 예약 환자)의 식별을 위해 요구하는 개인 식별 정보인 이름, 생년월일, 전화번호, 주민등록번호 등과 같은 민감한 정보를 보안성이 보장되지 않은 상태로 서비스 제공자 측에 송신하는 경우에는 해당 데이터의 보안성이 위협받는 문제가 발생할 수 있다. 구체적인 예로, 스니핑(sniffing)이나 MITM(man in the middle attack) 등의 네트워크 공격이 발생한다면, 사용자 정보가 유출되는 상황이 발생될 수 도 있다.
도 2 는 도 1 과 같은 상황에서 스니핑(sniffing)이 발생한 경우를 예시한 참고도이다. SSL등을 이용하여 데이터가 전송되더라도, 스니핑등을 통하여 패킷이 제 3 자에게 유출된 경우에는, 해당 패킷에 포함된 정보가 유출될 가능성이 높다. 따라서, 데이터 전송의 보안성을 향상시키는 것뿐만 아니라, 정보의 암호화도 필수적이며, 그 외에도 출처 인증 및 위변조탐지를 수행하는 것이 바람직하다.
즉, 도 2 를 참조하여 설명하면, 사용자(Client)가 서비스 예약을 수행하는 경우, 사용자의 식별번호, 서비스 예약 날짜, 서비스 요청 내용을 포함하는 패킷(예, 010-1234-5678, 201606291400, 산부인과)가 전송된다고 가정하면, 서비스 제공자의 서버는 데이터 베이스에서 전화번호가 01012345678인 사용자를 찾아서 서비스 예약을 컨펌할 것이다. 그러나, 이러한 상황에서 제 3 자가 해당 패킷에 대한 스니핑을 수행한다면, 010-1234-5678이라는 전화번호를 가진 사용자가 2016년 6월 29일 오후 2 시에 산부인과 진료가 예약되어 있음을 제 3 자가 무단으로 알 수 도 있다.
상술한 보안 관련 이슈 이외에도, 종래에는 사용자 단말에서 여러 서비스 제공자(예, 병원)에 예약을 해야 하는 경우, 사용자는 각 서비스 제공자의 인터넷 홈페이지 또는 예약 앱(App) 등에 로그인하여, 서비스 제공자마다 상이한 개별적인 예약 서식 또는 서비스 제공자 정책에 따라 각기 다른 방법으로 예약해야 하는 불편함이 존재하였다.
사용자가 아닌 서비스 제공자의 관점에서도, 각 서비스 제공자(예, 병원)에서는 인가되지 않은 사용자로부터 송신된 예약 메시지, 네트워크 오류를 통해 잘못 전달된 예약 메시지 등 서비스 제공자 예약과 관련하여 위험하거나 불필요한 메시지를 수신할 경우, 업무 처리의 효율성이 저하되고 시스템의 안정성에 문제가 발생 할 위험이 있다.
상술한 바와 같은 논의를 바탕으로, 이하에서는 사용자 단말로부터 적어도 하나의 서비스 제공자(예, 병원)에 대하여 서비스 예약 등을 수행함에 있어서, 보안성이 향상된 데이터 스트림 구조를 이용한 신호 송수신 방법 및 이를 위한 장치를 제안하고자 한다.
본 발명에서 이루고자 하는 기술적 과제들은 상기 기술적 과제로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상술한 문제점을 해결하기 위한 본 발명의 일 양상인, 무선 통신 시스템에서 적어도 하나의 단말에 대하여 특정적으로 전송되는 데이터 스트림을 수신 단말이 처리하는 방법은, 송신 단말로부터 수신된 데이터 스트림(data stream)상의 스트림 헤더(stream header)만을 선택적으로 디코딩하는 단계; 상기 스트림 헤더의 네트워크 주소가 상기 수신 단말에 대응되는 경우, 미리 저장된 수신 단말의 고유 보안 값을 이용하여 텍스트 집합을 생성하는 단계; 상기 텍스트 집합 및 상기 스트림 헤더상의 데이터 출처 인증 필드에서 지시하는 데이터 출처 인증 문자열을 이용하여, 출처 인증을 수행하는 단계; 상기 출처 인증이 성공한 경우, 상기 스트림 헤더상의 사용자 식별 정보 필드에 따라 지시된 사용자 식별 정보 문자열만을 상기 텍스트 집합을 기반으로 복호화(decrypt)하여 사용자 식별 정보를 획득하는 단계를 포함하며, 상기 텍스트 집합은, 영문 대문자 집합, 영문 소문자 집합, 숫자 집합 혹은 특수문자 집합 중 적어도 두 개 이상의 조합으로 구성된 문자 스트림(character stream)의 소정 단위를, 랜덤(random)하게 연접(concatenation)하여 상기 고유 보안 값에 대응하는 갯수의 상호 중첩되지 않는 값을 가지는 보안 블록들을 가지도록 구성되는 것을 특징으로 한다.
나아가, 상기 사용자 식별 정보를 획득하는 단계는, 상기 사용자 식별 정보 문자열을 보안 블록 사이즈에 따라 N 개(여기서, N은 자연수)의 문자열로 파싱(parsing)하는 단계; 상기 텍스트 집합을 이용하여, 상기 N개의 문자열 각각에 대하여 일치하는 N개의 보안 블록 번호를 체크하는 단계; 상기 N개 의 보안 블록 번호를 이용하여, 제 1 식별 번호 및 제 2 식별 번호를 복원하는 단계; 및 상기 제 1 식별 번호와 상기 제 2 식별 번호를 병합(merging)하여 상기 사용자 식별 번호를 생성하는 단계를 포함하는 것을 특징으로 할 수 있다. 더 나아가, 상기 제 1 식별 번호는, 상기 N 개의 문자열 중, 최초 체크된 제 1 문자열부터 제 M 문자열(1<M<N, M은 자연수)까지의 문자열들을 이용하여, 상기 제 1 식별 번호를 위하여 미리 정해진 길이를 가지는 식별 번호로 복원되는 것을 특징으로 할 수 있다. 바람직하게는, 상기 제 2 식별 번호는, 제 M+1 문자열부터 제 N 문자열까지의 문자열들을 이용하여, 상기 제 2 식별 번호를 위하여 미리 정해진 길이의 식별 번호로 복원되는 것을 특징으로 할 수 있다.
나아가, 상기 제 1 식별 번호와 상기 제 2 식별 번호를 합산하여, 상기 고유 보안 값에 따라 모듈러(modular)연산한 값에 대응되는 보안 블록 번호를 결정하는 단계; 및 상기 데이터 스트림상의 위변조검사 문자열과 상기 보안 블록 번호의 일치 여부를 확인하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
나아가, 상기 사용자 식별 번호를 미리 저장된 사용자 정보에 매칭시키는 단계를 더 포함하는 것을 특징으로 할 수 있다.
나아가, 상기 출처 인증이 실패한 경우, 상기 데이터 스트림을 폐기하고 상기 송신 단말에게 재전송 요청을 수행하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
상술한 문제점을 해결하기 위한 본 발명의 다른 양상인, 무선 통신 시스템에서 적어도 하나의 단말에 대하여 특정적으로 전송되는 데이터 스트림을 송신 단말이 생성하는 방법은, 사용자 데이터의 전송 대상이 되는 수신 단말의 네트워크 주소 및 상기 수신 단말의 고유 보안 값을 확인하는 단계; 상기 고유 보안 값을 이용하여 텍스트 집합을 생성하는 단계; 상기 텍스트 집합에 기반하여, 상기 송신 단말의 네트워크 주소에 따른 데이터 출처 인증 문자열 및 사용자 식별 정보에 따른 사용자 식별 정보 문자열을 생성하는 단계; 상기 사용자 식별 정보 및 상기 고유 보안 값을 이용하여 위변조검사 문자열을 생성하는 단계; 상기 수신 단말의 네트워크 주소, 상기 데이터 출처 인증 문자열 및 상기 사용자 식별 정보 문자열, 상기 위변조검사 문자열 및 상기 사용자 데이터를 랜덤(random)하게 배치한 데이터 스트림을 생성하는 단계; 및 상기 수신 단말의 네트워크 주소, 상기 데이터 출처 인증 문자열 및 상기 사용자 식별 정보 문자열, 상기 위변조검사 문자열 및 상기 사용자 데이터 각각에 대한 데이터 스트림 상의 위치를 지시하는 정보를 포함하는 스트림 헤더를 상기 데이터 스트림에 병합하는 단계를 포함하며, 상기 텍스트 집합은, 영문 대문자 집합, 영문 소문자 집합, 숫자 집합 혹은 특수문자 집합 중 적어도 두 개 이상의 조합으로 구성된 문자 스트림(character stream)의 소정 단위를, 랜덤(random)하게 연접(concatenation)하여 상기 고유 보안 값에 대응하는 갯수의 상호 중첩되지 않는 값을 가지는 보안 블록들을 가지도록 구성되는 것을 특징으로 한다.
본 발명의 실시예에 따르면 무선 통신 시스템에서 보안성이 향상된 서비스 예약 데이터 송수신을 수행할 수 있다.
본 발명에서 얻은 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1은 SSL 기반 전송을 설명하기 위한 참고도이다.
도 2는 SSL 기반 전송시 제 3 자로 인한 무단 데이터 유출을 설명하기 위한 참고도이다.
도 3은 본 발명에 따른 데이터 스트림의 구조를 설명하기 위한 참고도이다.
도 4는 본 발명에 따른 스트림 헤더 필드를 설명하기 위한 참고도이다.
도 5는 본 발명에 따른 사용자 단말(즉, 송신 단말)의 데이터 스트림 송신을 설명하기 위한 순서도이다.
도 6은 본 발명에 따른 서비스 제공자의 서버(즉, 수신 단말)의 데이터 스트림 전송을 설명하기 위한 순서도이다.
도 7은 본 발명에 따른 텍스트 집합의 생성을 설명하기 위한 참고도이다.
도 8은 본 발명에 따른 데이터 출처 인증 암호 문자열을 설명하기 위한 참고도이다.
도 9는 본 발명에 따른 사용자 식별 정보 암호 문자열을 설명하기 위한 참고도이다.
도 10은 본 발명에 따른 데이터 출처 인증 암호 문자열의 매칭 여부 확인을 설명하기 위한 참고도이다.
도 11은 본 발명에 따른 사용자 식별 정보 암호 문자열의 복원을 설명하기 위한 참고도이다.
도 12는 본 발명에 따른 위변조 검사 암호 문자열의 확인 절차를 설명하기 위한 참고도이다.
도 13은 본 발명의 일 실시예에 따른 암호화된 데이터 스트림을 하나의 서비스 제공자 서버로 전송하는 절차를 설명하기 위한 참고도이다.
도 14는 본 발명의 일 실시예에 따른 암호화된 데이터 스트림을 다수의 서비스 제공자 서버로 전송하는 절차를 설명하기 위한 참고도이다.
도 15는 본 발명의 실시예에 적용될 수 있는 기지국 및 사용자 기기를 예시한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 의해서 설명되는 본 발명의 구성과 작용은 하나의 실시예로 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
또한, 이하의 설명에서 사용되는 특정(特定) 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
본 발명에서는 하나의 사용자 단말에서 다수의 서비스 제공자(예, 병원)에 대하여 보다 효율적으로 예약처리를 수행하기 위한 데이터 스트림 구조 및 보안성이 향상된 데이터 스트림 생성을 제공하기 위한 방법 및 장치에 대하여 설명한다.
이하, 무선 통신 환경에서 전화번호를 개인 식별 정보로 사용하여 다수의 서비스 제공자(예, 병원)에 예약하는 서비스 예약 데이터 스트림의 구조 및 개인 식별 정보로 사용된 전화번호의 암호화 방법, 서비스 예약 메시지의 데이터 출처 인증 방법, 서비스 예약 메시지의 위변조검사가 가능한 데이터 스트림을 생성하는 방안을 중심으로 설명하나, 본 발명은 무선 단말과 적어도 하나의 서비스 제공 서버가 상호 정보를 송수신하는 다른 시스템상에서의 적용을 배제하는 것은 아니다.
따라서, 본 발명에서는 서비스 제공자(예, 병원)에 따라 상이하게 설정된 처리 절차, 방식 및 양식 등으로 인하여 발생할 수 있는 사용자의 불편을 최소화하기 위해 개인 휴대 전화, 태블릿, 노트북, PC 등과 같은 하나의 사용자 단말에서 적어도 하나의 서비스 제공자(예, 병원)를 색인하고, 예약을 처리할 수 있는, 보안성을 지닌 새로운 구조를 가진 데이터 스트림 구조를 제공하는 효과를 제공하고자 한다.
또한, 본 발명에 따른 데이터 스트림 구조를 갖는 예약 시스템에서 개인 식별을 위해 사용되는 전화번호를 암호화하고, 데이터 출처 인증 및 위변조검사가 가능한 보안 데이터 스트림 구조를 효율적으로 생성할 수 있다.
도 3은 본 발명에서 제안하는 데이터 스트림의 구조의 일 실시예를 설명하기 위한 참고도이다. 도 3 에서 전화번호를 개인 식별 정보로 사용하고, 복수의 서비스 제공자(예, 병원)를 인덱싱한 후 예약을 처리하기 위한 데이터 스트림 구조를 예시한다.
도 3 에서 나타난 바와 같이, 사용자의 전화번호와 서비스 제공자에 대한 예약 내용으로부터 생성되는 데이터 스트림 구조는, 스트림 헤더 필드, 데이터 출처 인증 필드, 사용자 식별 정보 필드 및 서비스 요청 필드를 포함한다.
스트림 헤더 필드는, 서비스 제공자의 네트워크 주소, 데이터 출처 인증 암호 문자열의 스트림상 위치 주소, 사용자 식별 정보 암호 문자열의 스트림 상 위치 주소, 위변조검사 암호 문자열의 스트림 상 위치 주소, 서비스 요청 정보(예, 예약 내용 정보)의 스트림 상 위치 주소, 데이터 스트림의 전체 길이 등이 포함될 수 있다.
데이터 출처 인증 필드는, 데이터 출처 인증을 위해 서비스 제공자 고유 보안 값으로부터 암호화하여 생성된 데이터 출처 인증 관련 문자열을 포함할 수 있으며, 사용자 식별 정보 필드는 사용자 식별을 위해 서비스 제공자 고유 보안 값으로부터 사용자 전화 번호를 암호화하여 생성되는 사용자 식별 정보 암호 문자열을 포함할 수 있다.
여기서, 데이터 출처 인증 관련 문자열은, 서비스 제공자가 전송된 데이터 스트림이 인가된 사용자로부터 송신된 데이터를 포함하는지 확인하기 위하여 정의될 수 있다. 서비스 제공자의 고유 보안 값은 사용자가 예약 서비스 사용 가입 시, 서비스 제공자(예, 병원)으로부터 발급되어 사용자 단말에 저장되는 임의의 값으로 정의될 수 있다.
서비스 요청 필드는, 사용자가 서비스 제공자에게 특정 서비스를 요청하기 위한 정보를 포함하는 필드로, 예를 들어 병원에 대하여 진료 예약 서비스를 요청하는 경우, 예약일시, 진료과, 진료의 등을 포함하는 데이터를 포함할 수 있다.
도 4는 상술한 본 발명의 데이터 스트림 구조 중 스트림 헤더의 구조에 대하여 보다 구체적으로 설명하기 위한 참고도이다.
도 4에서 나타난 바와 같이, 사용자 단말은 데이터 스트림을 수신하는 서비스 제공자 서버의 네트워크 주소, 데이터 출처 인증 문자열을 포함하는 데이터 출처 인증 필드의 주소, 사용자 식별 정보 암호 문자열을 포함하는 사용자 식별 정보 필드의 주소, 위변조검사 암호 문자열을 포함하는 위변조 검사 필드의 주소, 서비스 요청 정보를 포함하는 서비스 요청 필드의 주소, 스트림의 전체 길이 등의 정보를 가진 스트림 헤더를 생성할 수 있다.
즉, 사용자 단말은 저장된 서비스 제공자의 네트워크 주소를 스트림 헤더에 포함시키고, 나머지 데이터 출처 인증 문자열, 사용자 식별 정보 암호 문자열, 위변조검사 암호 문자열, 서비스 요청 정보, 스트림의 전체 길이 정보를 스트림 헤더에 순차적으로 배치할 수 있다.
이 때, 스트림 헤더에 포함되는 각각의 필드 위치는, 서비스 제공자의 처리 과정과 대응되도록 설정될 수 도 있다. 이는 스트림 헤더의 경우 사용자의 민감한 정보를 포함하지 않고, 데이터 스트림의 처리를 효율적으로 지원할 수 있도록 구성되는 것이 바람직하다. 따라서, 사용자 단말은 각각의 필드에 대응되는 데이터의 크기와 사용자로부터 입력된 서비스 요청 내용(예, 예약 내용)의 크기에 기반하여 위치 값들을 각각 계산할 수 있으며, 바람직하게는 데이터 스트림의 처리 과정에 대응되도록 배치할 수 있다.
따라서, 본 발명에 따른 데이터 스트림은, 상술한 스트림 헤더를 데이터 스트림의 앞단에 위치시킴으로써, 서비스 제공자가 순차적으로 단말이 요청하는 데이터가 존재하는 지 여부를 판단할 수 있고, 상기 단말이 전송한 데이터 스트림이 데이터의 출처 혹은 사용자의 출처가 불분명하거나, 위변조의 가능성이 존재한다고 판단되는 경우에는 데이터 스트림의 나머지 부분을 스킵(Skip)/폐기할 수 있다. 또한, 서비스 제공자는 사용자 단말로부터 전송된 데이터 스트림에 대하여, 특정 처리 과정에 필요한 데이터를 직접적으로 접근(access)할 수 있는 바, 액세스 타임(access time)을 단축시킬 수 있을 뿐만 아니라, 데이터 스트림 상 처리 데이터의 위치와 상관없이 일정한 액세스 퍼포먼스(access performance)를 보장할 수 있다.
도 5는 본 발명의 일 실시예에 따른 사용자 단말(즉, 송신 단말)에서 데이터 스트림을 생성하는 방안을 설명하기 위한 참고도이다.
사용자 단말은 사용자로부터 서비스 요청 정보(예, 개인 전화 번호, 서비스 제공자 이름, 서비스 내용)를 입력받으면, 입력된 서비스 제공자의 이름으로부터 사용자 단말에 저장된 서비스 제공자의 네트워크 주소(예, 서버 IP 어드레스), 고유 보안 값을 체크한다. (S501) 예를 들어, 병원 진료 예약 서비스의 경우, 사용자로부터 병원에 대한 예약 정보가 입력되면 사용자가 입력한 병원명에 따라, 사용자 단말에 저장된 해당 병원의 네트워크 주소와 병원의 고유 보안 값을 확인한다.
확인된 네트워크 주소는 스트림 헤더를 생성하기 위하여 사용되고, 서비스 제공자(예, 병원)의 고유 보안 값은 텍스트 집합 생성 및 암호화를 위하여 사용될 수 있다.
사용자 단말은 서비스 요청의 대상이 되는 서비스 제공자(예, 병원)의 식별자(예, 이름)에 대응하여, 사용자 단말에 저장된 해당 서비스 제공자의 고유 보안 값 및 암호화에 사용할 문자 스트림을 이용하여 텍스트 집합을 생성한다(S503).
여기서, 서비스 제공자의 고유 보안 값은 서비스 제공자측에서 내부 보안 정책에 따라 미리 정의하고 발급한 서비스 제공자의 고유의 숫자 값일 수 있다. 예를 들어, 서비스 제공자에 대하여 본 발명이 적용되는 시점에, 고유 값이 생성될 수 있으며, 사용자 단말은 본 발명이 적용되는 시점에 서비스 제공자가 생성한 고유 값(Hp)을 수신받을 수 있다. 이를 위하여, 서비스 제공자와 사용자 단말이 신뢰할 수 있는 제 3 의 서버가 상술한 고유 값을 저장 및 배포할 수 도 있다. 이때, 고유 값은 서비스 제공자의 식별 항목에 기반하여 암호화될 수 있는데, 예를 들어, 서비스 제공자의 식별 항목이 전화번호(예, 1234-5678)인 경우, 전화번호의 앞자리를 고유 값을 이용하여 인코딩하고(예, 1234 mod Hp), 전화번호의 뒷자리를 고유 값을 이용하여 인코딩하여(예, 5678 mod Hp), 몫(Quotient)과 나머지(reminder)에 해당하는 문자 값으로 암호화하여 고유값을 저장할 수 도 있다.
암호화에 사용할 문자 스트림은 영문 대문자 A부터 Z까지, 영문 소문자 a부터 z까지, 숫자 0부터 9까지 혹은 특수 기호를 포함하는 단순 텍스트 나열 방법일 수도 있고, 서비스 제공자에서 미리 정의한 고유 문자열일 수도 있다.
또한, 텍스트 집합은 사용자 단말 혹은 서비스 제공자가 저장하고 있는 서비스 제공자의 고유 보안값으로부터, 데이터 출처 인증 암호 문자열과 사용자 식별 정보 암호 문자열(예, 암호화된 전화번호 필드)을 생성하기 위한 텍스트 집합으로 정의된다.
S503 단계에서 텍스트 집합을 생성하는 의사 코드(pseudo code)는 표 1과 같이 나타낼 수 있다.
Figure pat00001
표 1 에서 텍스트 집합을 통하여 생성되는 보안 블록의 길이(length)는 4이며, 문자 스트림, 문자 집합, 텍스트 집합 배열의 시작 인덱스는 1로 가정한 경우를 예시하였으며, S503단계에서 생성되는 텍스트 집합 및 보안 블록의 길이는 각 서비스 제공자의 보안 정책, 데이터 스트림의 최대 크기, 전파 지연도(propagation delay)등이 고려되어 설정될 수 있다.
따라서, 표 1의 경우, 서비스 제공자(예, 병원)의 고유 보안 값(Hp)와 문자 스트림(CS)을 이용하여 보안 블록을 위한 문자 집합(C)을 생성한다. 이후, Hp개의 문자열 블록(예, 보안 블록)을 가진 빈 텍스트 집합을 먼저 생성하고, 각 보안 블록들에 문자 집합의 문자들을 순서대로 배치하여 텍스트 집합을 생성한다.
사용자 단말은 서비스 제공자의 고유 보안 값과 S503단계에서 생성된 텍스트 집합을 이용하여 데이터 출처 인증 암호 문자열과 사용자 식별 정보 암호 문자열을 생성할 수 있다.(S505) 즉, 사용자 단말은 텍스트 집합을 이용하여 사용자의 식별 정보등이 포함된 데이터를 암호화할 수 있으며, 이에 대응하여 서비스 제공자의 서버/단말은 데이터 스트림에 포함된 암호화된 데이터 출처 인증 암호 문자열 혹은 사용자 식별 정보 암호 문자열을 복호화하여, 사용자 식별 정보를 복원함으로써, 데이터가 인가된 사용자로부터 전송되었는지 여부를 판별할 수 있다.
나아가, 사용자 단말은, 데이터 스트림에 포함된 데이터 출처 인증 암호 문자열 혹은 사용자 식별 정보 암호 문자열 및 텍스트 집합을 이용하여, 데이터가 인가되지 않은 제 3 자로 인해 위변조되었는 지 여부를 판별할 수 있는 위변조검사 암호 문자열을 생성할 수도 있다. 이에 따라, 서비스 제공자의 서버는, 위변조검사 암호 문자열, 사용자 식별 정보 필드와 텍스트 집합을 이용하여 제 3 자의 위변조 여부를 판별할 수 있다.
데이터 출처 인증 암호 문자열, 사용자 식별 정보 암호 문자열, 혹은 위변조검사 암호 문자열이 생성되면, 사용자 단말은 서비스 제공자의 네트워크 주소, 생성된 문자열의 크기 및 사용자로부터의 서비스 요청 내용의 크기를 고려하여 스트림 헤더를 생성한다(S507).
이때, 스트림 헤더를 생성하면서, 사용자 단말에 저장되어 있는 서비스 제공자(예, 병원의 수신 서버)의 네트워크 주소와 데이터 출처 인증 필드의 주소, 사용자 식별 정보 필드의 주소 및 사용자 단말로부터 생성되는 데이터 스트림의 길이 정보를 데이터 스트림에 순차적으로 배치함이 바람직하다.
사용자 단말은, 생성된 스트림 헤더와 생성된 데이터 출처 인증 암호 문자열, 사용자 식별 정보 암호 문자열, 혹은 위변조검사 암호 문자열을 병합하여 데이터 스트림을 생성한다(S509).
사용자 단말은 생성된 데이터 스트림을 서비스 제공자의 네트워크 주소로 전송한다(S511). 이 때, 사용자 단말은 생성된 데이터 스트림이 다수의 서비스 제공자에 대한 서비스 요청 내용을 포함하는 경우, 다수의 서비스 제공자들에 대하여 각각 데이터 스트림을 생성하여 개별적으로 병원 서버에 전송할 수도 있으나, 하나의 데이터 스트림상에 상기 복수의 서비스 제공자들 각각에 대한 데이터를 모두 포함하도록 생성하고, 각각의 데이터에 대한 스트림 헤더를 별도로 생성할 수 있다. 따라서, 서비스 제공자 각각은 스트림 헤더에 자신의 고유 식별자가 포함되어 있는지 여부를 확인하고, 포함된 경우 이에 대응하는 데이터만을 선택적으로 처리할 수 도 있다.
사용자 단말은 추가적인 서비스 요청이 존재하는지 여부를 체크할 수 있으며, 추가적인 서비스 요청이 존재하지 않는 경우 데이터 스트림의 생성 동작을 중지할 수 도 있다.
도 6은 본 발명의 일 실시예에 따른 서비스 제공자의 서버(즉, 수신 단말)에서 데이터 스트림을 처리하는 방안을 설명하기 위한 참고도이다. 이하에서는 설명의 편의를 위하여, 도 5와 관련하여 설명하였던 기술적 구성에 대하여는 구체적인 설명을 생략하며, 이는 상술한 내용으로 대체될 수 있다.
먼저, 서비스 제공자는 사용자 단말로부터 수신된 데이터 스트림상의 스트림 헤더만을 선택적으로 추출하고, 이를 디코딩한다. (S601)
따라서, 서비스 제공자의 서버에서는 스트림 헤더에 포함된 네트워크 주소가 서비스 제공자에 대응되는 경우에 한하여, 저장된 서비스 제공자의 고유 보안 값으로부터 텍스트 집합을 생성한다. (S603)
서비스 제공자는, 텍스트 집합 및 스트림 헤더상에 존재하는 데이터 출처 인증 필드에서 지시하는 데이터 스트림 상의 위치에서 데이터 출처 인증 문자열을 추출하고, 데이터 출처 인증 문자열과 텍스트 집합을 이용하여 출처 인증을 수행한다. (S605) 즉, 수신한 스트림 헤더에 포함된 데이터 출처 인증 암호 문자열(Auth)의 데이터 스트림 상 위치 주소 값(Aaddr)을 이용하여, 전체 데이터 스트림 중에서 데이터 출처 인증 암호 문자열만 선택적으로 디코딩하고, 디코딩된 데이터 출처 인증 암호 문자열이 텍스트 집합에 존재하는지 여부를 확인하여, 데이터 출처 인증을 수행한다(S605).
데이터 출처 인증 문자열이 S603 단계에서 생성된 텍스트 집합상에 존재하는 경우, 사용자 단말은 출처 인증이 성공했다고 판단하고, 이는 인가된 정당한 사용자로부터 수신된 메시지로 판단한다. 따라서, 스트림 헤더상의 사용자 식별 정보 필드에 따라 지시된 데이터 스트림 상의 위치로부터 사용자 식별 정보 문자열을 획득한다. (S607)
서비스 제공자의 서버는, 획득한 사용자 식별 정보 문자열을, 텍스트 집합을 이용하여 복호화(decrypt)하여 사용자 식별 정보를 획득할 수 있다. (S609) 즉, 사용자 식별 정보 문자열을 보안 블록 사이즈에 따라 N 개(여기서, N은 자연수)의 문자열로 파싱(parsing)하고, 텍스트 집합을 이용하여, N개의 문자열 각각에 대하여 일치하는 N개의 보안 블록 번호를 체크함으로써, 사용자 식별 번호를 획득할 수 있다.
나아가, 도 6에서는 미도시하였으나, 사용자 식별 번호에 대한 위변조탐지 검사가 추가적으로 수행될 수 있으며, 이에 따라 위변조검사 암호 문자열이 일치하지 않거나, 복호화된 사용자 식별 정보가 수신측 서버의 데이터베이스에 존재하지 않을 경우 해당 데이터 스트림을 폐기하고 재전송 요청을 수행할 수 도 있다.
나아가, 만약 텍스트 집합에 데이터 출처 인증 암호 문자열이 존재하지 않으면(즉, 인가되지 않은 사용자로부터 전송된 데이터 스트림), 이를 폐기하고 송신측 단말에 재전송 요청을 발송할 수 도 있다.
도 7은 본 발명의 일 실시예에 따라, 텍스트 집합 생성을 위하여 문자 집합과 이에 기반한 보안 블록들의 배치를 설명하기 위한 참고도이다. 도 7a에서 서비스 제공자(예, 병원)의 고유 보안 값이 23이고, 텍스트 집합 생성에 사용되는 문자열이 [A to Z], [a to z], [0 to 9] 이고, 단순 나열 방식이라고 가정한다. 즉, 도 7a에서 나타난 바와 같이, 보안 블록을 생성하기 위한 문자 집합에 대하여, 영문 대문자 집합부터 순차적으로 배치하고, 영문 대문자 집합의 배치가 완료된 후, 영문 소문자 집합 및, 숫자 집합을 추가적으로 배치할 수 있다. 예를 들어, 서비스 제공자가 병원이며, 병원 고유의 보안 값이 23인 경우, 도 7b와 같이 총 23개의 보안 블록이 생성될 수 있다. 23개의 보안 블록은 각각 4개의 단위 길이를 가지며, 영문 대문자 집합, 영문 소문자 집합, 숫자 집합들 각각의 구성 요소는 23개의 보안 블록 중 특정한 하나의 보안 블록에 한번씩만 포함된다. 따라서, 각각의 보안 블록은 서로 중첩되는 값을 가지지 않을 뿐만 아니라, 서로 중첩되는 구성요소를 갖지 않는다.
또한, 보안성을 향상시키기 위하여 바람직하게, 영문 대문자 집합, 영문 소문자 집합, 숫자 집합 혹은 특수문자 집합 중 적어도 두 개 이상의 조합으로 구성된 문자 스트림에서 보안 블록을 생성하기 위하여 소정의 단위 길이를 가진 문자 집합상에, 랜덤(random)하게 연접(concatenation)하도록 구성될 수 있다.
따라서, 고유 보안 값에 대응되는 개수에 상호 중첩되지 않는 값을 가지는 보안 블록이 생성될 수 있으며, 사용자 단말 혹은 서비스 제공자의 서버는 이를 이용하여 데이터 출처 인증, 암호화, 위변조 검사등을 수행할 수 있다.
도 8 및 도 9는 본 발명에 따라 텍스트 집합을 이용하여 데이터 출처 및 사용자 식별 번호를 암호화하는 방안을 설명하기 위한 참고도이다.
암호화를 위하여, 1~서비스 제공자의 고유 보안 값 이내의 숫자 중에 임의의 값을 산출하여, 텍스트 집합에서 해당 값에 대응하는 보안 블록에 저장된 문자열을 읽어들여 데이터 출처 인증 암호 문자열에 저장한다. 예를 들어, 도 7에서 나타난 바와 같이 텍스트 집합이 생성된 경우, 데이터 출처 인증 암호 문자열을 결정하기 임의의 값이 7인 경우, 텍스트 집합의 보안 블록 중 7에 대응하는 [Gd0N]로 데이터 출처 인증 암호 문자열이 설정된다. 여기서, 1~서비스 제공자의 고유 보안 값 이내의 임의의 숫자를 산출하는 방안을 의사 코드(pseudo code)로 표현하면, (SecureRandom()%Hp) + 1 과 같이 나타낼 수 있다.
이후, 사용자 단말에 입력된 사용자 식별 정보는 단위화를 통해 암호화된다. 예를 들어, 사용자 식별 정보가 개인 전화번호인 경우, 앞 4자리와 뒤 4자리로 분리하여 각각 암호화 한다. 앞 4자리와 뒤 4자리로 분리된 전화번호는 다시 각각 서비스 제공자의 고유 보안 값으로 나눈 몫(quotient)과 나머지(reminder)로 구분되어 암호화될 수 있다.
표 2는 본 발명의 일 실시예에 따른 암호화를 설명하기 위한 의사 코드(pseudo code)이다.
Figure pat00002
표 2에서, 텍스트 집합에서 1과 서비스 제공자의 서버의 고유한 보안 값(Hp) 사이의 숫자 가운데 임의의 값을 산출하고, 텍스트 집합 상에서 해당 산출 값에 해당하는 순서에 있는 보안 블록에 저장되어 있는 문자열을 읽어들여 데이터 출처 인증 암호 문자열(eAuth)로 저장한다 (즉, encrypted_origin eAuth ← T[(SecureRandom()%Hp) + 1]). 즉, 생성되는 텍스트 집합은 문자 스트림(character stream)과 병원 고유 보안 값(Hp)이 일치할 때만 보안 블록의 내용이 일치하며, 1 ~ Hp까지의 보안 블록 중에 랜덤으로 선택된 하나의 문자열이 사용자 단말과 서비스 제공자의 서버가 일치할 경우에만 데이터 출처가 인증될 수 있다.
나아가, 사용자 식별 정보 암호 문자열을 생성하기 위하여, 사용자 식별 정보, 예를들어, 암호화 될 개인 휴대 전화번호는 전화번호 앞 4자리(np: prefix number)와 전화번호 뒤 4자리(ns: suffix number)로 구분(parsing)한다. 여기서, 개인 휴대 전화번호가 사용자 식별 정보인 경우에는, 네트워크 넘버(예, 010)을 제외하는 것이 바람직하다. 이는 제 3 자에 의하여 암호화식이 쉽게 예상될 수 있으므로, 텍스트 집합이 제 3 자에 의하여 쉽사리 파악될 수 있기 때문이다.
구분된 전화번호 가운데 앞 4자리의 번호(np)를 서비스 제공자의 고유한 보안 값으로 나눈 몫(quotient)에 1을 더한 값(np (quotient))과 나머지(reminder)에 1을 더한 값(np (reminder))으로 계산한다. 이 때, 몫(quotient)이 고유 값보다 큰 경우에는 텍스트 집합 상에서 매칭되는 보안 블록을 획득하기 곤란한 바, 몫(quotient)이 고유 값보다 작아질 때까지 반복적으로 수행하여, 몫에 기반하여 선택된 다수의 보안 블록이 연결된 형태의 확장된 문자열을 선택함이 바람직하다. 나아가, 텍스트 집합에서 계산된 몫(np (quotient))과 나머지 값(np (reminder))에 해당하는 순서에 있는 보안 블록에 저장되어 있는 문자열을 읽어들여 병합하고 저장한다.
마찬가지로, 구분된 전화번호 가운데 뒤 4자리의 번호(ns)를 서비스 제공자의 서버의 고유한 보안 값으로 나눈 몫(quotient)에 1을 더한 값(ns(quotient))과 나머지(reminder)에 1을 더한 값(ns(reminder))으로 계산하며, 이경우에도 몫(quotient)이 고유 값보다 작아질 때까지 계산한다. 나아가, 텍스트 집합에서 계산된 몫(ns(quotient))과 나머지 값(ns(reminder))에 해당하는 순서에 있는 보안 블록에 저장되어 있는 문자열을 읽어들여 병합하고 저장한다.
상술한 앞 4자리에 해당하는 암호 문자열(ePN), 뒤 4자리에 해당하는 암호 문자열(eSN)을 병합하여, 서비스 제공자 서버에 전송할 사용자 식별 정보 암호 문자열(eUID)을 생성한다.
도 9는 본 발명에 따른 암호화 방안을 사용자 식별 정보로 사용되는 개인 전화 번호가 010-9722-0777예로 하여 설명하기 위한 참고도이다. 010을 제외한 9722를 Np, 0777을 Ns로 파싱하는 경우, 고유 값이 23일 때 mod 연산을 통하여 암호화를 수행한다고 가정한다.
도 9a와 같이 Np를 암호화하기 위한 연산을 수행하면, 9722/23은 첫번째 몫이422 및 나머지가 16이 된다. 그러나, 422가 23보다 큰 경우이므로, 422/23을 추가적으로 수행함으로써, 이에 대한 추가적인 몫(Share)은 18, 나머지(rest)는8을 얻을 수 있다. 마찬가지방식으로 Ns인 0777도 암호화할 수 있다.
도 9b에서는 도 7b에 따른 텍스트 집합 및 서비스 제공자의 고유 보안 값을 이용한다고 가정하면, 앞자리 식별 번호의 몫(np (quotient)) 에 해당하는 18 및 8에 따른 보안 블록인 [RoBY] 및 [He10]를 결합한 확장된 문자열로 암호화되고, 앞자리 식별 번호의 나머지(np (reminder))인 16은 [Pm9W]으로 암호화될 수 있으며, 동일한 방식으로, 뒷자리 식별 번호의 몫(ns(quotient)) 에 해당하는 1 및 10에 따른 보안 블록인 [AxuH] 및 [Jg3Q]를 결합한 확장된 문자열로 암호화되고, 뒷자리 식별 번호의 나머지(ns(reminder))인 18은 [RoBy]으로 암호화될 수 있다. 따라서, 사용자 식별 정보 암호 문자열은 최종적으로 “RoBYHe10Pm9WAxuHJg3QRoBy“와 같이 생성된다.
나아가, 도 8 및 도 9에 따른 암호화 과정이 완료되면, 사용자 단말은 생성한 스트림 헤더와 데이터 출처 인증 암호 문자열 및 사용자 식별 정보 암호 문자열, 그리고 사용자로부터 입력 받은 서비스 요청 내용을 병합하여 적어도 하나의 서비스 제공자에 대한 데이터 스트림을 생성하고 이를 전송할 수 있다.
도 10및 도 11은 서비스 제공자의 서버(즉, 수신 단말)에서의 복호화를 수행하는 예를 설명하기 위한 참조도이다.
도 10을 참조하여 서비스 제공자 서버(즉, 수신 단말)의 데이터 출처 인증을 먼저 설명한다. 서비스 제공자의 서버는 수신된 스트림에 포함된 데이터 출처 인증 암호 문자열이 서비스 제공자의 서버에서 생성된 텍스트 집합의 보안 블록들 중 하나와 매칭되는지 여부를 확인할 수 있다. 예를 들어, 서비스 제공자 서버가 데이터 출처 인증 암호 문자열로 [Gd0N]을 디코딩한 경우, 이는 텍스트 집합에 동일한 보안 블록을 포함하고 있으므로, 수신된 데이터 스트림이 정당한 사용자 단말로부터 수신된 것임을 확인할 수 있다.
나아가, 도 11을 참조하여 사용자 식별 정보 암호 문자열을 복호화하는 실시예를 설명한다.
서비스 제공자의 서버(즉, 수신 단말) 측에서는, 사용자 식별 정보 암호 문자열을 보안 블록의 크기에 상응하도록 파싱(parsing)하여 텍스트 집합을 보안 블록에 따라 넘버링(numbering)한다. 보안 블록의 크기는 사용자 단말과 서비스 제공자의 서버에 대하여 동일하게 정의된다.
따라서, 사용자 단말로부터 송신된 사용자 식별 정보 암호 문자열을 순차적으로 복호화하여 사용자 식별 정보를 파싱한 단위에 대응될 때까지 복호화 과정을 수행한다. 예를 들어, 사용자 식별 정보가 두 개의 단위로 파싱된 경우에는 사용자 식별 정보 암호 문자열부터 최초로 확인되는 문자열부터 M개의 문자열을 이용하여 첫번째 단위의 식별 정보를 파싱한 식별 번호를 복원한 후 나머지 식별 정보를 복원할 수 있다.
먼저, 첫번째 단위의 식별 정보(Np)를 획득하기 위하여, 텍스트 집합의 각 보안 블록을 순회 탐색하면서 암호화된 앞번호 문자열(ePN)의 각 문자열에 일치하는 보안 블록의 주소 값(번호)를 몫 값(np(quotient))와 나머지 값(np (reminder))에 순차적으로 저장한다. 몫 값(np (quotient))에 서비스 제공자(예, 병원)의 고유 보안 값(Hp)을 곱하고, 이 값에 나머지 값(np (reminder))을 더한다.
도 11을 참조하여 설명하면, eUID인 “RoBYHe10Pm9WAxuHJg3QRoBy“를 파싱하여 [RoBY] 및 [He10]을 탐색하여 이에 대응하는 값을 각각 몫 값과 나머지 값으로 저장한다. 즉, [RoBY]는 18, [He10]는 8이므로, 고유 보안 값(Hp)을 이용하여 첫번째 단위의 식별 정보를 획득하기 위한 연산을 수행한다. 이 때 식별 정보를 획득하기 위한 수식을 np = (np (quotient)) * Hp + (np (reminder))이라고 하면, 18*23+8은 422라는 값을 획득할 수 있다. 그러나, 422는 식별 정보의 단위가 파싱한 단위에 대응하지 않기 때문에, 수신 측은 추가적으로 eUID에서 이미 탐색한 값을 제외하고 순차적으로 탐색된 [Pm9W]에 대응되는 16을 이용하여 연산을 수행한다. 즉, 422라는 값을 422*23+16을 이용하여 9722라는 값을 획득하면 이는 상술한 파싱 단위에 대응되므로, 이를 첫번째 단위의 식별 정보로 판단할 수 있다.
따라서, eUID인 “RoBYHe10Pm9WAxuHJg3QRoBy“ 중 “RoBYHe10Pm9W”를 제외한 “AxuHJg3QRoBy“를 이용하여 나머지 두번째 단위의 식별 정보를 결정할 수 있다. 즉, AxuHJg3QRoBy 중 [AxuH] 및 [Jg3Q]에 대응되는 1및 23을 이용하여 33이라는 값을 얻을 수 있으며, 33은 파싱한 단위에 대응하지 않으므로, 추가적으로 [RoBy]에 해당하는 18을 이용하여 777이라는 값을 획득할 수 있다. 이는 파싱한 단위와 동일하지는 않으나, 777의 앞에 0을 추가할 경우 0777로서 파싱한 단위에 대응될 수 있으므로, 이는 사용자 식별 정보로 판단될 수 있다.
나아가, 스트림 헤더에 포함된 사용자 식별 정보 암호 문자열(eUID)의 스트림 상 위치 주소 값, 즉, (Iaddr)을 이용하여 전체 데이터 스트림 중에서 사용자 식별 정보 암호 문자열만 선택적으로 복호화가 수행될 수 도 있다.
이에 따라, 마지막으로 복호화된 첫번째 단위의 식별 정보(np)와 두번째 단위의 식별 정보(ns)를 병합하여 사용자 식별 정보(n)를 복원할 수 있다.
도 12는 본 발명의 실시예에 따른 위변조검사 암호 문자열을 체크하는 실시예를 설명하기 위한 참고도이다. 본 발명에서는 설명의 편의를 위하여 모듈라 연산(Modular arithmetic)을 중심으로 설명하나, 이에 제한되어 해석되어서는 아니될 것이다. 도 12와 같이, 위변조검사 암호 문자열이 모듈러 연산을 이용할 경우,
“((a mod n) + (b mod n)) mod n) = (a+b) mod n”이 성립한다.
따라서, 전화번호가 '010-9722-0777'라고 가정하면, 네트워크 넘버인 '010'을 제외한 '97220777'을 고유 값인 '23'을 이용하여 위변조검사 암호 문자열을 생성하면, '((9722 mod 23) + (777 mod 23)) mod 23) = 11' 즉, 텍스트 집합 상에서 [Kh4R]이라는 보안 블록과 대응될 수 있다. 따라서, 산출된 보안 블록인 [Kh4R]을 위변조검사 암호 문자열로 데이터 스트림에 포함시킬 수 있다.
반대로, 수신 측인 서비스 제공자의 서버에서는, 모듈러 연산(modular arithmetic)을 이용하여 위변조검사를 수행할 수 있다. 즉, 복호화한 Np와 Ns 값으로부터 (Np+ Ns) mod Hp에 해당하는 지 여부를 체크하면, (9722+777) mod 23인 11에 해당하는 텍스트 집합상의 보안 블록은 [Kh4R]임을 확인할 수 있다. 따라서, 데이터 스트림 상의 위변조검사 암호 문자열과 서비스 제공자의 서버에서의 모듈러 연산을 통한 암호 문자열이 동일하므로, 이는 위변조가 진행되지 않은 것으로 판단할 수 있다.
만약, 문자열이 일치하지 않거나, 복호화한 사용자 식별 정보가 수신측 서버의 데이터베이스에 존재하지 않을 경우 해당 데이터 스트림을 폐기하고, 송신측 서버(사용자 단말)에 위변조 가능성이 포함된 데이터 스트림 도착 메시지와 함께 재전송 요청을 수행할 수 도 있다.
서비스 제공자의 서버는 복호화 과정이 끝나면 스트림 헤더에서 지시된 서비스 요청 정보 필드에 따른 서비스 요청 내용을 수신하고, 복원된 사용자 식별 정보를 서비스 제공자(예, 병원) 서버의 데이터베이스에서 검색하여 서비스 요청 내용을 저장하고 송신측 서버(즉, 사용자 단말)에 수신 완료 메시지(Ack)를 전송한다.
도 13은 상술한 본 발명의 일 실시예를 설명하기 위한 참고도이다. 사용자 단말이 수신측 서버로 데이터 스트림을 전송하는 경우, 도 1과 달리, 사용자는 사용자 단말은 서비스 요청 정보를 받아 암호화된 데이터 스트림을 생성하고, 수신측 서버에서 암호화된 데이터 스트림을 받아 서비스 요청 정보를 저장하는 실시예이다.
즉, 상술한 바와 같이, 사용자 단말에서는 서비스 요청의 대상이 되는 서비스 제공자(예, 병원)의 고유한 보안 값을 이용하여 텍스트 집합을 생성하고, 이를 이용하여 스트림 헤더, 데이터 출처 인증 암호 문자열, 개인 식별 정보를 암호화한 사용자 식별 정보 암호 문자열을 생성하며, 기타 서비스 요청 정보와 병합하여 데이터 스트림을 생성하고 서비스 제공자(예, 병원) 서버에 전송한다.
서비스 제공자 서버에서는 데이터 스트림의 헤더 부분만 먼저 디코딩한다. 이때, 데이터 스트림의 헤더에 포함된 서비스 제공자의 네트워크 주소가 서비스 제공자의 네트워크 주소와 일치하는지 여부를 확인할 수 도 있다.
스트림 헤더에 포함된 데이터 출처 인증 암호 문자열의 위치를 이용하여 전체 데이터 스트림에서 데이터 출처 인증 암호 문자열을 선택적으로 디코딩한다. 서비스 제공자(예, 병원)가 저장하고 있는 고유 보안 값으로부터 생성된 텍스트 집합에서 일치하는 암호 문자열이 존재하는지 검사하여 데이터 출처 인증을 수행한다.
서비스 제공자 서버는, 인가된 사용자로부터 전송된 데이터 스트림인 경우, 스트림 헤더에서 지시된 사용자 식별 정보 암호 문자열만 디코딩한다. 즉, 상술한 바와 같이, 텍스트 집합을 이용하여 원래의 사용자 식별 정보로 복호화하고 서비스 요청 필드의 위치 값으로부터 읽어 온 나머지 서비스 요청 내용과 함께 서비스 요청 정보를 서비스 제공자 데이터베이스에 저장한다.
나아가, 서비스 제공자 서버가 사용자 식별 정보 암호 문자열을 디코딩한 후 이에 대한 위변조 검사를 수행할 수도 있다. 이때에는 상술한 위변조 검사 방식에 따라, 위변조 내용이 없을 경우, 복호화된 사용자 식별 정보 및 서비스 요청 필드로부터 읽어 온 나머지 서비스 요청 내용과 함께 서비스 요청 정보를 서비스 제공자 데이터베이스에 저장한다. 만약, 위변조 검사 결과가 이상이 발생한 경우에는 서비스 요청 내용을 폐기하고 송신측에 대하여 재전송을 요청할 수 도 있다.
도 14는 사용자 단말에서 복수의 서비스 제공자(예, 병원)에 대한 데이터 스트림을 생성 및 처리하는 실시예를 설명하기 위한 참고도이다. 도 13과 중첩되는 내용은 상술한 내용으로 대체한다.
도 14에서는 복수의 서비스 제공자에 대하여 데이터 스트림을 생성 및 전송하는 방안이므로, 사용자 단말이 각각의 서비스 제공자에 대하여 개별적인 데이터 스트림을 생성하여 전송하는 경우에는 도 13과 관련하여 상술한 바와 같이 처리할 수 있다. 그러나, 사용자 단말이 하나의 데이터 스트림상에 복수의 서비스 제공자에 대한 서비스 요청 내용 및 기타 정보를 포함하도록 구성한다면, 스트림 헤더에서 각각의 서비스 제공자에 대한 정보들이 구분되어 지시되도록 구성될 수 있다.
예를 들어, 서비스 제공자가 병원이라고 가정하고, N개의 병원이 존재하는 경우, 하나의 데이터 스트림상에서는 N개의 병원에 대한 네트워크 주소, 데이터 출처 인증 필드, 사용자 식별 정보 필드 및 사용자 단말로부터 생성되는 데이터 스트림의 길이 정보를 포함하도록 구성될 수 있다. 따라서, 서비스 제공자는 스트림 헤더에 포함된 네트워크 주소들 중 일치하는 것이 있는지 여부를 확인한 후, 본 발명에 따른 복호화 동작을 수행할 수 있다. 이렇게 복수의 서비스 제공자에 대한 서비스 요청 내용을 포함하는 경우일지라도, 본 발명에서는 스트림 헤더 상에 특정 대상에 대한 정보를 지시하는 필드 혹은 인덱스를 포함하고 있으므로, 복수의 서비스 제공자에 대한 문자열, 정보들을 데이터 스트림상에 랜덤하게 배치하더라도 서비스 제공자는 자신에게 필요한 정보만을 디코딩할 수 있으며, 제 3 자에게 패킷이 유출되더라도, 각각의 정보들간의 연관성을 약화시킴으로서 보안성을 향상시킬 수 있는 효과가 있다.
이에 따라, 각각의 서비스 제공자(예, 병원)는 상기 기술한 데이터 스트림 처리 및 서비스 요청 처리를 수행할 수 있다.
따라서, 본 발명에 따르면, 사용자가 각각 다른 서비스 제공자(예, 병원)들에 대한 서비스를 요청할 때, 각 서비스 제공자들이 요구하는 사용자 식별 정보와 서비스 요청 내용을 입력하지 않더라도 하나의 단말기에서 복수 개의 서비스 제공자에 서비스 요청을 수행할 수 있으며, 서비스 제공자의 서버로 송신되는 서비스 요청 메시지는 암호화된 데이터 스트림으로 처리되어 편의성이 향상되고 보안성을 유지할 수 있다.
도 15는 본 발명의 일 실시예에 적용될 수 있는 기지국 및 단말을 예시한다.
무선 통신 시스템에 릴레이가 포함되는 경우, 백홀 링크에서 통신은 기지국과 릴레이 사이에 이뤄지고 억세스 링크에서 통신은 릴레이와 단말 사이에 이뤄진다. 따라서, 도면에 예시된 기지국 또는 단말은 상황에 맞춰 릴레이로 대체될 수 있다.
도 15를 참조하면, 무선 통신 시스템은 기지국(BS, 1510) 및 단말(UE, 1520)을 포함한다. 기지국(1510)은 프로세서(1512), 메모리(1514) 및 무선 주파수(Radio Frequency, RF) 유닛(1516)을 포함한다. 프로세서(1512)는 본 발명에서 제안한 절차 및/또는 방법들을 구현하도록 구성될 수 있다. 메모리(1514)는 프로세서(1512)와 연결되고 프로세서(1512)의 동작과 관련한 다양한 정보를 저장한다. RF 유닛(1516)은 프로세서(1512)와 연결되고 무선 신호를 송신 및/또는 수신한다. 단말(1520)은 프로세서(1522), 메모리(1524) 및 RF 유닛(1526)을 포함한다. 프로세서(1522)는 본 발명에서 제안한 절차 및/또는 방법들을 구현하도록 구성될 수 있다. 예를 들어, 프로세서는 본 발명에서 제안하는 스트림 헤드 생성, 텍스트 집합 생성, 암호화, 복호화, 위변조탐지, 데이터 출처 인증, 보안 값 관리등의 동작을 수행할 수 있다. 메모리(1524)는 프로세서(1522)와 연결되고 프로세서(1522)의 동작과 관련한 다양한 정보를 저장한다. RF 유닛(1526)은 프로세서(1522)와 연결되고 무선 신호를 송신 및/또는 수신한다. 기지국(1510) 및/또는 단말(1520)은 단일 안테나 또는 다중 안테나를 가질 수 있다.
이상에서 설명된 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
본 문서에서 기지국에 의해 수행된다고 설명된 특정 동작은 경우에 따라서는 그 상위 노드(upper node)에 의해 수행될 수 있다. 즉, 기지국을 포함하는 복수의 네트워크 노드들(network nodes)로 이루어지는 네트워크에서 단말과의 통신을 위해 수행되는 다양한 동작들은 기지국 또는 기지국 이외의 다른 네트워크 노드들에 의해 수행될 수 있음은 자명하다. 기지국은 고정국(fixed station), Node B, eNodeB(eNB), 억세스 포인트(access point) 등의 용어에 의해 대체될 수 있다.
본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다.
상기 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.
본 발명은 본 발명의 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (8)

  1. 무선 통신 시스템에서 적어도 하나의 단말에 대하여 특정적으로 전송되는 데이터 스트림을 수신 단말이 처리하는 방법에 있어서,
    송신 단말로부터 수신된 데이터 스트림(data stream)상의 스트림 헤더(stream header)만을 선택적으로 디코딩하는 단계;
    상기 스트림 헤더의 네트워크 주소가 상기 수신 단말에 대응되는 경우, 미리 저장된 수신 단말의 고유 보안 값을 이용하여 텍스트 집합을 생성하는 단계;
    상기 텍스트 집합 및 상기 스트림 헤더상의 데이터 출처 인증 필드에서 지시하는 데이터 출처 인증 문자열을 이용하여, 출처 인증을 수행하는 단계;
    상기 출처 인증이 성공한 경우, 상기 스트림 헤더상의 사용자 식별 정보 필드에 따라 지시된 사용자 식별 정보 문자열만을 상기 텍스트 집합을 기반으로 복호화(decrypt)하여 사용자 식별 정보를 획득하는 단계를 포함하며,
    상기 텍스트 집합은,
    영문 대문자 집합, 영문 소문자 집합, 숫자 집합 혹은 특수문자 집합 중 적어도 두 개 이상의 조합으로 구성된 문자 스트림(character stream)의 소정 단위를, 랜덤(random)하게 연접(concatenation)하여 상기 고유 보안 값에 대응하는 갯수의 상호 중첩되지 않는 값을 가지는 보안 블록들을 가지도록 구성되는,
    데이터 스트림 처리 방법.
  2. 제 1 항에 있어서,
    상기 사용자 식별 정보를 획득하는 단계는,
    상기 사용자 식별 정보 문자열을 보안 블록 사이즈에 따라 N 개(여기서, N은 자연수)의 문자열로 파싱(parsing)하는 단계;
    상기 텍스트 집합을 이용하여, 상기 N개의 문자열 각각에 대하여 일치하는 N개의 보안 블록 번호를 체크하는 단계;
    상기 N개 의 보안 블록 번호를 이용하여, 제 1 식별 번호 및 제 2 식별 번호를 복원하는 단계; 및
    상기 제 1 식별 번호와 상기 제 2 식별 번호를 병합(merging)하여 상기 사용자 식별 번호를 생성하는 단계를 포함하는,
    데이터 스트림 처리 방법.
  3. 제 2 항에 있어서,
    상기 제 1 식별 번호는,
    상기 N 개의 문자열 중, 최초 체크된 제 1 문자열부터 제 M 문자열(1<M<N, M은 자연수)까지의 문자열들을 이용하여, 상기 제 1 식별 번호를 위하여 미리 정해진 길이를 가지는 식별 번호로 복원되는 것을 특징으로 하는,
    데이터 스트림 처리 방법.
  4. 제 3 항에 있어서,
    상기 제 2 식별 번호는,
    제 M+1 문자열부터 제 N 문자열까지의 문자열들을 이용하여, 상기 제 2 식별 번호를 위하여 미리 정해진 길이의 식별 번호로 복원 되는 것을 특징으로 하는,
    데이터 스트림 처리 방법.
  5. 제 1 항에 있어서,
    상기 제 1 식별 번호와 상기 제 2 식별 번호를 합산하여, 상기 고유 보안 값에 따라 모듈러(modular)연산한 값에 대응되는 보안 블록 번호를 결정하는 단계; 및
    상기 데이터 스트림상의 위변조검사 문자열과 상기 보안 블록 번호의 일치 여부를 확인하는 단계를 더 포함하는,
    데이터 스트림 처리 방법.
  6. 제 1 항에 있어서,
    상기 사용자 식별 번호를 미리 저장된 사용자 정보에 매칭시키는 단계를 더 포함하는,
    데이터 스트림 처리 방법.
  7. 제 1 항에 있어서,
    상기 출처 인증이 실패한 경우, 상기 데이터 스트림을 폐기하고 상기 송신 단말에게 재전송 요청을 수행하는 단계를 더 포함하는,
    데이터 스트림 처리 방법.
  8. 무선 통신 시스템에서 적어도 하나의 단말에 대하여 특정적으로 전송되는 데이터 스트림을 송신 단말이 생성하는 방법에 있어서,
    사용자 데이터의 전송 대상이 되는 수신 단말의 네트워크 주소 및 상기 수신 단말의 고유 보안 값을 확인하는 단계;
    상기 고유 보안 값을 이용하여 텍스트 집합을 생성하는 단계;
    상기 텍스트 집합에 기반하여, 상기 송신 단말의 네트워크 주소에 따른 데이터 출처 인증 문자열 및 사용자 식별 정보에 따른 사용자 식별 정보 문자열을 생성하는 단계;
    상기 사용자 식별 정보 및 상기 고유 보안 값을 이용하여 위변조검사 문자열을 생성하는 단계;
    상기 수신 단말의 네트워크 주소, 상기 데이터 출처 인증 문자열 및 상기 사용자 식별 정보 문자열, 상기 위변조검사 문자열 및 상기 사용자 데이터를 랜덤(random)하게 배치한 데이터 스트림을 생성하는 단계; 및
    상기 수신 단말의 네트워크 주소, 상기 데이터 출처 인증 문자열 및 상기 사용자 식별 정보 문자열, 상기 위변조검사 문자열 및 상기 사용자 데이터 각각에 대한 데이터 스트림 상의 위치를 지시하는 정보를 포함하는 스트림 헤더를 상기 데이터 스트림에 병합하는 단계를 포함하며,
    상기 텍스트 집합은,
    영문 대문자 집합, 영문 소문자 집합, 숫자 집합 혹은 특수문자 집합 중 적어도 두 개 이상의 조합으로 구성된 문자 스트림(character stream)의 소정 단위를, 랜덤(random)하게 연접(concatenation)하여 상기 고유 보안 값에 대응하는 갯수의 상호 중첩되지 않는 값을 가지는 보안 블록들을 가지도록 구성되는,
    데이터 스트림 처리 방법.
KR1020160117042A 2016-09-12 2016-09-12 암호화된 데이터 스트림 생성 방법 및 이를 위한 장치 KR102536860B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160117042A KR102536860B1 (ko) 2016-09-12 2016-09-12 암호화된 데이터 스트림 생성 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160117042A KR102536860B1 (ko) 2016-09-12 2016-09-12 암호화된 데이터 스트림 생성 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20180029331A true KR20180029331A (ko) 2018-03-21
KR102536860B1 KR102536860B1 (ko) 2023-05-26

Family

ID=61900727

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160117042A KR102536860B1 (ko) 2016-09-12 2016-09-12 암호화된 데이터 스트림 생성 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR102536860B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102252861B1 (ko) * 2020-07-29 2021-05-14 윤성민 데이터 보안 시스템 및 그 방법
CN113095042A (zh) * 2021-03-23 2021-07-09 广州零端科技有限公司 一种字符串加密方法、系统、装置及存储介质
CN113672957A (zh) * 2021-08-23 2021-11-19 平安国际智慧城市科技股份有限公司 埋点数据的处理方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110023817A (ko) * 2009-08-28 2011-03-08 이르데토 액세스 비.브이. 수신기에서 데이터 스트림들에 대한 신뢰성 있고 조작불가능한 프로세싱
KR20150036679A (ko) * 2012-07-20 2015-04-07 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 이미지를 암호화 하고 복호화 하기 위한 방법, 장치 및 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110023817A (ko) * 2009-08-28 2011-03-08 이르데토 액세스 비.브이. 수신기에서 데이터 스트림들에 대한 신뢰성 있고 조작불가능한 프로세싱
KR20150036679A (ko) * 2012-07-20 2015-04-07 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 이미지를 암호화 하고 복호화 하기 위한 방법, 장치 및 시스템

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102252861B1 (ko) * 2020-07-29 2021-05-14 윤성민 데이터 보안 시스템 및 그 방법
WO2022025537A1 (ko) * 2020-07-29 2022-02-03 윤성민 데이터관리컴퓨터, 데이터관리컴퓨터를 포함한 데이터보안시스템 및 데이터보안방법
KR20220014804A (ko) * 2020-07-29 2022-02-07 윤성민 데이터 보안 시스템 및 그 방법
CN113095042A (zh) * 2021-03-23 2021-07-09 广州零端科技有限公司 一种字符串加密方法、系统、装置及存储介质
CN113095042B (zh) * 2021-03-23 2023-12-19 广州零端科技有限公司 一种字符串加密方法、系统、装置及存储介质
CN113672957A (zh) * 2021-08-23 2021-11-19 平安国际智慧城市科技股份有限公司 埋点数据的处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
KR102536860B1 (ko) 2023-05-26

Similar Documents

Publication Publication Date Title
US8745394B1 (en) Methods and systems for secure electronic communication
US8837741B2 (en) Systems and methods for encoding exchanges with a set of shared ephemeral key data
CN106211152B (zh) 一种无线接入认证方法及装置
CN106302453A (zh) 数据的处理方法、装置及系统
US10348498B2 (en) Generating a symmetric encryption key
CN102882847A (zh) 基于sd密码卡的物联网健康医疗服务系统及安全通信方法
US10356090B2 (en) Method and system for establishing a secure communication channel
CN108234519A (zh) 检测和防止加密连接上的中间人攻击
CN102577301A (zh) 用于可信认证和登录的方法和装置
US20130103944A1 (en) Hypertext Link Verification In Encrypted E-Mail For Mobile Devices
CN104580256A (zh) 通过用户设备登录和验证用户身份的方法及设备
Munivel et al. New authentication scheme to secure against the phishing attack in the mobile cloud computing
US20180063131A1 (en) Mutual authentication
CN109067739A (zh) 通信数据加密方法和装置
KR102536860B1 (ko) 암호화된 데이터 스트림 생성 방법 및 이를 위한 장치
JP4818975B2 (ja) 情報通信システム
EP3509246A1 (en) Key exchange method and key exchange system
EP3309995B1 (en) Key exchange method, key exchange system, key distribution device, communication device, and program
JP2007142504A (ja) 情報処理システム
Alqarni et al. A proposed RFID authentication protocol based on two stages of authentication
CA2793422C (en) Hypertext link verification in encrypted e-mail for mobile devices
KR101372090B1 (ko) 로그인 시스템 및 방법
JP2007189422A (ja) 無線lanにおける相互認証方法、および、相互認証を行うアクセスポイントとステーション
JP4469129B2 (ja) 電子申請システム
JP5021093B1 (ja) 携帯デバイス、情報サーバ装置、および情報管理システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant