KR102192394B1 - 인증 코드를 이용한 데이터 위변조 여부 판별 시스템 - Google Patents

인증 코드를 이용한 데이터 위변조 여부 판별 시스템 Download PDF

Info

Publication number
KR102192394B1
KR102192394B1 KR1020200031440A KR20200031440A KR102192394B1 KR 102192394 B1 KR102192394 B1 KR 102192394B1 KR 1020200031440 A KR1020200031440 A KR 1020200031440A KR 20200031440 A KR20200031440 A KR 20200031440A KR 102192394 B1 KR102192394 B1 KR 102192394B1
Authority
KR
South Korea
Prior art keywords
data packet
value
authentication code
data
forgery
Prior art date
Application number
KR1020200031440A
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 KR1020200031440A priority Critical patent/KR102192394B1/ko
Application granted granted Critical
Publication of KR102192394B1 publication Critical patent/KR102192394B1/ko

Links

Images

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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 일 실시예에 따른 데이터 위변조 여부 판별 시스템은 단말기와 그 주변 영역에 대한 상태 정보가 담긴 데이터와 상기 데이터의 위변조 여부를 판별하기 위한 인증 코드인 제 1 인증 코드가 포함된 데이터 패킷을 생성하는 위변조 방지 모듈; 및 상기 위변조 방지 모듈로부터 수신한 데이터 패킷에 포함된 제 1 인증 코드와 미들웨어 서버에서 생성한 제 2 인증 코드를 비교하여 상기 데이터 패킷의 위변조 여부를 판별하는 위변조 판별 모듈을 포함한다.

Description

인증 코드를 이용한 데이터 위변조 여부 판별 시스템{SYSTEM FOR DATA FORGERY VERIFICATION USING VERIFICATION CODE}
본 발명은 인증 코드를 통한 데이터 위변조 여부 판별 시스템에 관한 것이다.
봉인이란 특정물을 대상물에 부착한 뒤 부착 부위에서 해당 특정물을 탈부착 할 경우 파손이 되도록 고안된 표식으로 특정물의 훼손 여부를 통해 대상물의 훼손 또는 변형을 확인할 수 있도록 구성한 표식을 의미한다.
과거에는 단순히 열쇠를 통해 개폐가 이루어지는 기계식 봉인장치가 주로 사용되었다면 최근 들어서는 전자태그를 통해 개폐를 보다 수월하게 할 뿐만 아니라 비정상 개폐 감지 기능이 추가된 전자 봉인장치(e-seal)의 사용이 증가하고 있다.
이러한 전자 봉인장치 사용의 증가는 스마트폰, 카메라, 블랙박스 등에 국한되어 있던 데이터 보안에 대한 요구가 이와 같은 전자 통신기기를 넘어 전자 봉인장치 분야에도 적용되고 있음을 나타낸다.
즉, 컨테이너의 문이 비정상적인 형태로 개폐되거나 개폐가 시도될 경우 이를 탐지하여 관리자나 관리 서버에 알리고 그 이력을 유지하는 과정에서 데이터의 위조 또는 변조를 방지할 필요성이 있으며, 외부의 개입으로 인해 데이터가 위조 또는 변조되었을 때 이를 즉각적으로 알아차리고 오염된 정보를 필터링 하기 위한 기술이 요구되고 있다.
본 발명의 실시예는 각 단말기의 고유 번호, 고유 번호 별로 설정된 솔트(salt) 값 및 데이터 패킷에 포함된 값에 해시(hash) 알고리즘을 적용하여 인증 코드를 생성하고, 생성된 인증 코드를 통해 데이터 패킷의 위변조 여부를 판별할 수 있는 데이터 위변조 여부 판별 시스템을 제공하는 것을 목적으로 한다.
한편, 본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 데이터 위변조 판별 시스템은 단말기와 그 주변 영역에 대한 상태 정보가 담긴 데이터와 상기 데이터의 위변조 여부를 판별하기 위한 인증 코드인 제 1 인증 코드가 포함된 데이터 패킷을 생성하는 위변조 방지 모듈; 및 상기 위변조 방지 모듈로부터 수신한 데이터 패킷에 포함된 제 1 인증 코드와 미들웨어 서버에서 생성한 제 2 인증 코드를 비교하여 상기 데이터 패킷의 위변조 여부를 판별하는 위변조 판별 모듈을 포함한다.
상기 단말기는 컨테이너의 봉인 시 사용되는 전자 봉인장치를 포함하고, 상기 위변조 방지 모듈은: 상기 단말기와 그 주변 영역에 대한 상태 정보가 담긴 데이터를 토대로 데이터 패킷을 생성하는 데이터 패킷 생성부; 상기 제 1 인증 코드를 생성한 후 상기 데이터 패킷 생성부를 통해 생성된 데이터 패킷에 상기 제 1 인증 코드를 추가하여 상기 데이터 패킷을 가공하는 데이터 패킷 가공부; 상기 데이터 패킷 생성부를 통해 생성된 데이터 패킷, 상기 데이터 패킷 가공부를 통해 가공된 데이터 패킷 및 상기 단말기의 고유 번호 별로 설정된 솔트(salt) 값을 저장하는 제 1 저장부를 포함할 수 있다.
상기 제 1 인증 코드는, 상기 단말기 별로 부여된 고유 번호 값을 상기 데이터 패킷에 포함된 이벤트 발생 시간 값으로 나눴을 때의 나머지 값을 도출하고, 상기 나머지 값의 최하위 자릿수의 후단에 상기 고유 번호 별로 설정된 서로 다른 솔트(salt) 값을 결합시켜 결합키를 생성하고, 상기 결합키에 해시 알고리즘을 적용하여 고유키를 생성하고, 상기 고유키의 최하위 자릿수부터 기 설정된 자릿수 까지의 값을 추출하여 생성될 수 있다.
상기 위변조 판별 모듈은: 상기 각 단말기의 고유 번호, 상기 고유 번호 별로 설정된 솔트 값 및 상기 위변조 방지 모듈로부터 수신한 데이터 패킷을 저장하는 제 2 저장부; 및 상기 제 2 저장부에 저장된 상기 솔트 값 및 상기 데이터 패킷을 활용하여 상기 데이터 패킷의 위변조 여부를 판별하는 위변조 판별부를 포함할 수 있다.
상기 위변조 판별부는, 상기 미들웨어 서버에서 생성한 제 2 인증 코드와 상기 위변조 방지 모듈로부터 수신한 데이터 패킷에 포함된 제 1 인증 코드를 비교하여 상기 데이터 패킷의 위변조 여부를 판별할 수 있다.
상기 제 2 인증 코드는, 상기 위변조 방지 모듈로부터 수신한 데이터 패킷에서 고유 번호 값 및 이벤트 발생 시간 값을 추출하고, 상기 추출된 고유 번호 값을 상기 추출된 이벤트 발생 시간 값으로 나눴을 때의 나머지 값을 도출하고, 상기 나머지 값의 최하위 자릿수의 후단에 상기 제 2 저장부에 기 저장되어 있던 솔트 값을 결합시켜 결합키를 생성하고, 상기 결합키에 해시 알고리즘을 적용하여 고유키를 생성하고, 상기 고유키의 최하위 자릿수부터 기 설정된 자릿수 까지의 값을 추출하여 생성될 수 있다.
본 발명의 일 실시예에 따른 데이터 위변조 여부 판별 방법은 (a) 각 단말기의 고유 번호 별로 서로 다른 솔트(salt) 값을 설정한 후 상기 고유번호 및 상기 솔트 값을 상기 단말기와 미들웨어 서버에 저장하는 단계; (b) 이벤트 발생 시 상기 단말기를 통해 데이터의 위변조 여부를 판별하기 위한 제 1 인증 코드가 포함된 데이터 패킷을 생성한 후 상기 데이터 패킷을 상기 미들웨어 서버로 전송하는 단계; 및 (c) 상기 (b) 단계를 통해 수신한 제 1 인증 코드와 미들웨어 서버에서 생성한 제 2 인증 코드를 비교하여 상기 데이터 패킷의 위변조 여부를 판별하는 단계를 포함한다.
상기 (b) 단계는: (b-1) 이벤트 발생 시 상기 단말기를 통해 상기 단말기의 고유 번호가 포함된 헤더 영역과 상기 이벤트 발생 시간 및 상기 단말기에 대한 상태 데이터가 포함된 페이로드 영역을 포함하는 데이터 패킷을 생성하는 단계; (b-2) 상기 헤더 영역에 포함된 고유 번호 값, 상기 페이로드 영역에 포함된 이벤트 발생 시간 값 및 상기 솔트 값을 활용하여 결합키를 생성하는 단계; (b-3) 상기 결합키에 해시 알고리즘을 적용하여 고유키를 생성하는 단계; (b-4) 상기 고유키의 최하위 자릿수부터 기 설정된 자릿수 까지의 값인 제 1 인증 코드를 추출하는 단계; (b-5) 상기 헤더 영역에 상기 제 1 인증 코드를 부가하는 단계; 및 (b-6) 상기 제 1 인증 코드가 포함된 데이터 패킷을 상기 미들웨어 서버로 전송하는 단계를 포함할 수 있다.
상기 (b-2) 단계는: (b-2-1) 상기 고유 번호 값을 상기 이벤트 발생 시간 값으로 나눴을 때의 나머지 값을 도출하는 단계; 및 (b-2-2) 상기 나머지 값의 최하위 자릿수의 후단에 상기 솔트 값을 결합시켜 결합키를 생성하는 단계를 포함할 수 있다.
상기 (c) 단계는: (c-1) 상기 미들웨어 서버에서 상기 단말기로부터 수신한 상기 데이터 패킷을 분석하여 상기 인증 코드, 상기 고유 번호 및 상기 이벤트 발생 시간을 추출하는 단계; (c-2) 상기 (c-1) 단계에서 추출된 고유 번호 값 및 이벤트 발생 시간 값과 상기 (a) 단계에서 등록된 솔트(salt) 값을 활용하여 결합키를 생성하는 단계; (c-3) 상기 (c-2) 단계에서 생성된 결합키에 해시 알고리즘을 적용하여 고유키를 생성하는 단계; (c-4) 상기 (c-3) 단계에서 생성된 고유키의 최하위 자릿수부터 기 설정된 자릿수 까지의 값인 제 2 인증 코드를 추출하는 단계; 및 (c-5) 상기 (c-4) 단계에서 추출된 제 2 인증 코드와 상기 (c-1) 단계의 상기 데이터 패킷을 분석하여 추출한 제 1 인증 코드를 비교하여 일치 여부를 판별함으로써 상기 데이터 패킷의 위변조 여부를 판별하는 단계를 포함할 수 있다.
상기 (c-2) 단계는: (c-2-1) 상기 고유 번호 값을 상기 이벤트 발생 시간 값으로 나눴을 때의 나머지 값을 도출하는 단계; 및 (c-2-2) 상기 나머지 값의 최하위 자릿수의 후단에 상기 솔트 값을 결합시켜 결합키를 생성하는 단계를 포함할 수 있다.
본 발명의 실시예에 따른 데이터 위변조 여부 판별 시스템은 각 단말기의 고유 번호, 고유 번호 별로 설정된 솔트(salt) 값 및 데이터 패킷에 포함된 값에 해시(hash) 알고리즘을 적용하여 인증 코드를 생성하고, 생성된 인증 코드를 통해 데이터 패킷의 위변조 여부를 판별할 수 있다.
한편, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 데이터 위변조 판별 시스템(1000)의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 데이터 패킷(30)의 구성을 개략적으로 나타낸 도면이다.
도 3은 데이터 패킷(30) 구성의 일 예를 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 데이터 위변조 판별 과정을 개략적으로 나타낸 도면이다.
본 발명의 다른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되는 실시 예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 가진다. 일반적인 사전들에 의해 정의된 용어들은 관련된 기술 그리고/혹은 본 출원의 본문에 의미하는 것과 동일한 의미를 갖는 것으로 해석될 수 있고, 그리고 여기서 명확하게 정의된 표현이 아니더라도 개념화되거나 혹은 과도하게 형식적으로 해석되지 않을 것이다.
본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다' 및/또는 이 동사의 다양한 활용형들 예를 들어, '포함', '포함하는', '포함하고', '포함하며' 등은 언급된 조성, 성분, 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 조성, 성분, 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. 본 명세서에서 '및/또는' 이라는 용어는 나열된 구성들 각각 또는 이들의 다양한 조합을 가리킨다.
한편, 본 명세서 전체에서 사용되는 '~부', '~기', '~블록', '~모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있다. 그렇지만 '~부', '~기', '~블록', '~모듈' 등이 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부', '~기', '~블록', '~모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.
따라서, 일 예로서 '~부', '~기', '~블록', '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성 요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부', '~기', '~블록', '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부', '~기', '~블록', '~모듈'들로 결합되거나 추가적인 구성요소들과 '~부', '~기', '~블록', '~모듈'들로 더 분리될 수 있다.
이하, 본 명세서의 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 데이터 위변조 판별 시스템(1000)의 구성도이다.
도 1을 참조하면, 데이터 위변조 판별 시스템(1000)은 데이터 패킷(30)을 단말기(10)로부터 미들웨어 서버(20)로 전송하기 전 데이터 위변조 판별을 위한 코드인 제 1 인증 코드를 부가하는 위변조 방지 모듈(100)과 미들웨어 서버(20)로 수신된 데이터 패킷(30)이 위변조 되었는지를 판별하는 위변조 판별 모듈(200)을 포함한다.
위변조 방지 모듈(100)은 단말기(10)에 제공된다. 예를 들어, 단말기(10)는 컨테이너의 봉인에 사용되는 전자 봉인장치일 수 있다. 전자 봉인장치는 컨테이너의 봉인 기능을 수행할 뿐 아니라 컨테이너의 현재 위치, 주변의 온도, 습도, 충격 여부를 포함한 단말기(10)와 그 주변 영역에 대한 상태 정보가 담긴 데이터를 포함하는 데이터 패킷(30)을 생성하여 미들웨어 서버(20)로 전달한다. 이하에서 단말기(10)는 전자 봉인장치로 가정하여 기술한다.
위변조 방지 모듈(100)은 데이터 패킷(30)에 위변조 판별을 위한 인증 코드인 제 1 인증 코드를 부가한다. 미들웨어 서버(20)는 제 1 인증 코드가 부가된 데이터 패킷(30)을 수신한 후 미들 웨어 서버(20)에서 생성한 제 2 인증 코드와의 비교를 통해 단말기(10)로부터 수신한 데이터 패킷(30)이 위변조 되었는지를 판별한다.
위변조 방지 모듈(100)은 데이터 패킷 생성부(110), 제 1 저장부(120) 및 데이터 패킷 가공부(130)를 포함한다.
데이터 패킷 생성부(110)는 전자 봉인장치의 센싱 장비들을 통해 수집한 단말기와 그 주변 영역에 대한 상태 정보가 담긴 데이터를 토대로 데이터 패킷(30)을 생성한다. 이때 데이터는 전자 봉인장치의 GPS 위도값, GPS 경도값, 데이터 패킷 생성 시간, 컨테이너 도어 개폐 정보, 충격 여부, 온도, 습도, 배터리 잔량, 전파 수신 강도 데이터를 포함할 수 있다.
데이터 패킷 생성부(110)는 이벤트 발생 시 데이터 패킷(30)을 생성할 수 있다. 예를 들면, 매 10분이 경과한 경우, 전자 봉인장치가 외부로부터 받은 충격이 기 설정된 충격량을 초과하는 경우, 온도 또는 습도가 기 설정된 범위를 초과하는 경우, GPS 위도 값 및 경도 값이 기 설정된 범위를 초과하는 경우에 이벤트가 발생한 것으로 간주하여 데이터 패킷(30)을 생성할 수 있다.
도 2는 본 발명의 일 실시예에 따른 데이터 패킷(30)의 구성을 개략적으로 나타낸 도면이고, 도 3은 데이터 패킷(30) 구성의 일 예를 나타낸 도면이다.
도 2 및 도 3을 참조하면, 데이터 패킷(30)은 헤더(header) 영역(31)과 페이로드(payload) 영역(32)을 포함한다. 헤더 영역(31)에는 데이터 패킷(30)의 위변조 여부를 판별하기 위한 제 1 인증 코드(Authority Code), 디바이스 ID(Device ID) 등이 포함되며, 페이로드 영역(32)에는 센싱 장비들을 통해 수집한 단말기(10)와 그 주변 영역에 대한 상태 정보가 담긴 데이터들이 포함된다.
예를 들면, 헤더 영역(31)의 경우 25바이트(byte)의 용량이 할당되고 페이로드 영역(32)의 경우 31바이트의 용량이 할당될 수 있다. 다만, 페이로드 영역(32)의 용량은 데이터 크기에 따라 변경 가능하다.
헤더 영역(31)은 제 1 헤더 영역(31a), 제 2 헤더 영역(32b) 내지 제 n 헤더 영역(32n)과 같이 복수개의 영역으로 분할되며, 페이로드 영역(32) 역시 제 1 페이로드 영역(32a), 제 2 페이로드 영역(32b) 내지 제 n 페이로드 영역(32n)과 같이 복수개의 영역으로 분할된다.
예를 들면, 제 1 헤더 영역(31a)에는 12바이트가 할당되며 데이터 패킷(30)의 위변조 여부를 판별하기 위한 제 1 인증 코드(Authority Code)가 포함될 수 있다. 또한, 제 4 헤더 영역(32d)에는 4바이트가 할당되며 단말기(10)의 고유 번호를 포함한 디바이스 ID(Device ID)가 포함될 수 있다. 이때, 고유 번호는 각 단말기(30)의 IMEI(International Mobile Equipment Identity, 국제 모바일기기 식별코드) 값일 수 있다.
제 1 페이로드 영역(32a)에는 4바이트(byte)가 할당되며 이벤트 발생 시간(Event Date)이 입력될 수 있다. 이때 이벤트 발생 시간은 데이터 패킷(30)이 생성된 시간과 일치하는데, 예를 들어 2019년 10월 8일 오전 10시 30분 50초에 데이터 패킷(30)이 생성된 경우 20191008103050으로 입력된다.
제 2 페이로드 영역(32b)은 4바이트가 할당되며 GPS의 위도 값이 입력될 수 있고, 제 3 페이로드 영역(32c)은 4 바이트가 할당되며 GPS의 경도 값이 입력될 수 있다. 예를 들어, 단말기(10)가 부산에 있는 경우 제 2 페이로드 영역(32b)에는 35.17944가 입력되고 제 3 페이로드 영역(32c)에는 129.07556이 입력될 수 있다.
제 1 저장부(120)는 데이터 패킷 생성부(110)을 통해 생성된 데이터 패킷(30) 및 데이터 패킷 가공부(130)를 통해 제 1 인증 코드가 추가된 데이터 패킷(30)을 저장한다. 제 1 저장부(120)에 저장된 데이터 패킷(30)은 기본적으로 사용자의 별도 삭제 명령이 있기 전까지는 유지될 수 있으나, 미들웨어 서버(20)로 해당 데이터 패킷(30)이 전송된 경우 제 1 저장부(120)의 용량 확보를 위해 자동적으로 삭제되도록 설정될 수 있다.
데이터 패킷 가공부(130)는 데이터 패킷(30)의 위변조 여부를 판별하는데 사용되는 제 1 인증 코드를 생성하며, 생성된 제 1 인증 코드는 제 1 헤더 영역에 저장(32a)된다. 제 1 인증 코드 생성 과정은 아래와 같다.
본 발명의 일 실시예에 따르면, 먼저 각 단말기(10)의 고유 번호 별로 솔트(salt) 값을 설정한다. 예를 들어, 고유 번호 359410105324309에 솔트 값으로 3333을 설정할 수 있다. 이때 설정된 솔트 값은 단말기(10)의 제 1 저장부(120)에 저장됨과 동시에 미들웨어 서버(20)의 위변조 판별 모듈(200)로 전송되어 제 2 저장부(210)에 저장된다.
다음으로, 제 4 헤더 영역(31d)에 저장되어 있는 고유 번호를 제 1 페이로드 영역(32a)에 저장되어 있는 이벤트 발생 시간으로 나눴을 때의 나머지 값을 도출한다. 예를 들면, 고유 번호가 359410105324309이고, 이벤트 발생 시간이 20191008103050인 경우 나머지 값인 16162967572459가 도출된다.
다음으로, 상기 과정을 통해 도출된 나머지 값의 최하위 자릿수 뒤에 고유 번호 별로 설정된 솔트(salt) 값을 결합시켜 결합키를 생성한다. 예를 들면, 16162967572459 뒤에 솔트 값 3333을 결합시켜 결합키 161629675724593333을 생성할 수 있다.
이후, 생성된 결합키에 해시(hash) 알고리즘을 적용하여 고유키를 생성한다. 예를 들어, 해시 알고리즘은 SHA 256 HASH 일 수 있으며, 결합키 161629675724593333에 SHA 256 HASH 알고리즘을 적용하면 고유키 d1cb41f1b08b24662cdeeed98c3469039497a96585009967744fdb1f98e35b3b가 생성된다.
솔트(salt)는 결합키의 보안성을 향상시키기 위한 것으로서 주로 암호(password)의 보안성 향상을 위해 사용된다. 동일한 암호에 동일한 해시 알고리즘을 적용하면 동일한 문자열로 변환이 되는데, 이는 다른 사람이 동일한 암호를 사용할 경우 동일한 문자열이 생성될 수 있음을 말한다. 또한, 비록 SHA 256 HASH 알고리즘의 경우 보안성이 높은 알고리즘으로 평가받고 있기는 하나 이 역시 무작위 공격으로 인해 암호가 노출될 가능성이 존재하기에 사용자 별로 각기 다른 솔트 값을 부여하여 무작위 공격으로 인한 암호 노출을 방지하는 것이 바람직하다.
본 발명의 경우에도 고유 번호를 이벤트 발생 시간으로 나눴을 때의 나머지 값인 16162967572459에 SHA 256 HASH 알고리즘을 적용했을 때 도출되는 575584b6fb2b60183e18942419dc423b03bbe616feb62221df5ce912e9bee08b을 고유키로 사용하는 것이 아닌, 상기 나머지 값 16162967572459 뒤에 3333을 부가한 161629675724593333에 SHA 256 HASH 알고리즘을 적용하였을 때 도출되는 값인 d1cb41f1b08b24662cdeeed98c3469039497a96585009967744fdb1f98e35b3b를 고유키로 사용한다. 이를 통해 외부인이 단말기(10)의 고유 번호 및 이벤트 발생 시간을 통해 나머지 값인 16162967572459를 알아내더라도 솔트 값을 알지 못하는 이상 동일한 고유키를 도출할 수는 없게 된다.
마지막으로, 고유키 값의 각 자릿수에 해당하는 값들 중 홀수에 해당하는 값 만을 추출하거나 짝수에 해당하는 값 만을 추출한 후 최하위 자릿수부터 기 설정된 자릿수 까지에 해당하는 값을 추출하여 이를 제 1 인증 코드로 설정하고 제 1 헤더 영역(31a)에 저장한다. 예를 들어, 고유키가 d1cb41f1b08b24662cdeeed98c3469039497a96585009967744fdb1f98e35b3b 인 경우 각 자릿수에 해당하는 값들 중 짝수에 해당하는 값 만을 추출하면 c40824662ceee8c4604a68006448e가 추출되고 이후 최하위 자릿수부터 12자릿수 까지에 해당하는 값 만을 추출한 값인 04a68006448e를 제 1 인증 코드로 설정하여 제 1 헤더 영역(31a)에 저장할 수 있다.
물론, 고유키 값의 각 자릿수에 해당하는 값들 중 홀수 또는 짝수에 해당하는 값을 추출하는 과정을 생략하고, 고유키의 최하위 자릿수부터 기 설정된 자릿수 까지에 해당하는 값을 추출하여 이를 제 1 인증 코드로 설정하고 제 1 헤더 영역(31a)에 저장할 수도 있다. 예를 들어, 고유키가 d1cb41f1b08b24662cdeeed98c3469039497a96585009967744fdb1f98e35b3b인 경우 고유키의 최하위 자릿수부터 12 자릿수 까지에 해당하는 값인 db1f98e35b3b을 추출하여 이를 제 1 인증 코드로 설정하여 제 1 헤더 영역(31a)에 저장하는 것 역시 가능하다.
본 발명의 다른 실시예에 따르면, 상기 방법과 동일한 방법으로 도출된 나머지 값인 16162967572459에 제 2 페이로드 영역(32b) 및 제 3 페이로드 영역(32c)에 저장된 GPS 위도 값 및 GPS 경도 값을 더 고려하여 결합키를 생성할 수 있다. 예를 들면, 제 2 페이로드 영역(32b)에 35.17944가 저장되어 있고 제 3 페이로드 영역(32c)에 129.07556이 저장되어 있는 경우 이를 더 고려하여 결합키를 생성할 수 있다.
이를 위해, 먼저 제 2 페이로드 영역(32b)에 저장된 GPS 위도 값 및 제 3 페이로드 영역(32c)에 저장된 GPS 경도 값에 기 설정된 값을 곱한다. 이때, 기 설정된 값은 10의 5제곱일 수 있다. 이를 통해 3517944와 12907556이 도출된다.
다음으로, 나머지 값인 16162967572459에 3517944와 12907556를 더한 값인 16162983997959를 산출한 후 산출된 값 뒤에 3333을 부가한 161629839979593333을 결합키로 설정한다.
이후 과정은 본 발명의 일 실시예와 마찬가지로 161629839979593333에 SHA 256 HASH 알고리즘을 적용하여 49b548449c06dcd678a343617f041c859d3c5cd20cbcd7c03f8f5b7e57fb799b을 산출하고 이를 고유키로 설정한다.
마지막으로, 고유키 값의 각 자릿수에 해당하는 값들 중 홀수에 해당하는 값 만을 추출하거나 짝수에 해당하는 값 만을 추출한 후 최하위 자릿수부터 기 설정된 자릿수 까지에 해당하는 값을 추출하여 이를 제 1 인증 코드로 설정하고 제 1 헤더 영역(31a)에 저장한다. 예를 들어, 고유키가 49b548449c06dcd678a343617f041c859d3c5cd20cbcd7c03f8f5b7e57fb799b 인 경우 각 자릿수에 해당하는 값들 중 짝수에 해당하는 값 만을 추출하면 44844c06c68a4604c8cc20ccc08e가 추출되고 이후 최하위 자릿수부터 12자릿수 까지에 해당하는 값 만을 추출한 값인 c8cc20ccc08e를 제 1 인증 코드로 설정하여 제 1 헤더 영역(31a)에 저장할 수 있다.
물론, 고유키 값의 각 자릿수에 해당하는 값들 중 홀수 또는 짝수에 해당하는 값을 추출하는 과정을 생략하고, 고유키의 최하위 자릿수부터 기 설정된 자릿수 까지에 해당하는 값을 추출하여 이를 제 1 인증 코드로 설정하고 제 1 헤더 영역(31a)에 저장할 수도 있다. 예를 들어, 고유키가 49b548449c06dcd678a343617f041c859d3c5cd20cbcd7c03f8f5b7e57fb799b인 경우 고유키의 최하위 자릿수부터 12 자릿수 까지에 해당하는 값인 5b7e57fb799b를 추출하여 이를 제 1 인증 코드로 설정하여 제 1 헤더 영역(31a)에 저장하는 것 역시 가능하다.
즉, 상기 본 발명의 일 실시예 또는 다른 실시예를 통해 제 1 헤더 영역(31a)에 저장될 제 1 인증 코드(Auth Code)가 생성된다.
데이터 패킷 가공부(130)를 통해 제 1 인증 코드가 추가된 데이터 패킷(30)은 제 1 저장부(120)에 저장되고 이후 무선 네트워크를 통해 미들웨어 서버(20)로 전송된다.
미들웨어 서버(20)는 위변조 판별 모듈(300)을 포함한다. 위변조 판별 모듈(300)은 전송받은 데이터 패킷(30)에 포함된 데이터를 분석하여 데이터 패킷의 위변조 여부를 판별한다.
위변조 판별 모듈(300)은 제 2 저장부(310) 및 데이터 위변조 판별부(320)를 포함한다.
제 2 저장부(310)에는 각 단말기(10)의 고유 번호, 고유 번호 별로 설정된 솔트(salt) 값 및 위변조 방지 모듈(100)로부터 수신한 데이터 패킷이 저장되어 있다.
데이터 위변조 판별부(320)는 제 2 저장부(310)에 기 저장된 단말기(10)의 고유 번호 별 솔트 값과 위변조 방지 모듈(100)로부터 수신되어 제 2 저장부(310)에 저장된 데이터 패킷(30)을 활용하여 데이터 패킷(30)의 위변조 여부를 판별한다.
데이터 패킷(30) 위변조 판별 과정은 아래와 같다.
본 발명의 일 실시예에 따르면, 먼저 제 2 저장부(310)에 저장된 데이터 패킷(30) 중 제 1 헤더 영역(31a)에 저장된 제 1 인증 코드, 제 4 헤더 영역(31d)에 저장된 고유 번호 및 제 1 페이로드 영역(32a)에 저장된 이벤트 발생 시간을 추출한다. 이때 데이터 패킷 가공부(230)를 통해 제 1 인증 코드가 부가된 데이터 패킷(30)이 데이터 송수신 과정에서 위변조 되지 않았다고 가정한다면, 상기 예로 든 것과 같이 제 1 헤더 영역(31a)에는 제 1 인증 코드인 db1f98e35b3b가 저장되어 있고, 제 4 헤더 영역(31d)에는 고유 번호인 359410105324309가 저장되어 있으며, 제 1 페이로드 영역(32a)에는 이벤트 발생 시간인 20191008103050가 저장되어 있을 것이다.
다음으로, 추출된 고유 번호를 이벤트 발생 시간으로 나눈 값의 나머지 값 뒤에 제 2 저장부(210)에 고유 번호 별로 저장된 솔트 값을 결합시켜 결합키를 생성한다.
이후, 생성된 결합키에 해시 알고리즘을 적용하여 고유키를 생성한 뒤 고유키 값 중 최하위 자릿수부터 기 설정된 자릿수 까지에 해당하는 값을 추출하여 이를 제 2 인증 코드로 설정하고, 제 2 인증 코드와 제 1 헤더 영역(31a)에서 추출한 제 1 인증 코드를 비교한다.
만약, 제 1 인증 코드와 제 2 인증 코드가 동일하다면 데이터 패킷(30)이 위변조 되지 않은 것으로 판단하여 해당 데이터 패킷(30)을 정상 데이터로 처리하고, 제 1 인증 코드와 제 2 인증 코드가 동일하지 않다면 데이터 패킷(30)이 위변조 된 것으로 판단하여 해당 데이터 패킷(30)을 에러 데이터로 처리한다.
에러 데이터로 처리된 기록은 제 2 저장부(210)에 별도로 저장되어 사용자가 차후 확인할 수 있도록 할 수 있다.
본 발명의 다른 실시예에 따르면, 이벤트 발생 시간뿐만 아니라 GPS 위도 값 및 GPS 경도 값을 추가로 고려하여 제 2 인증 코드를 생성하게 된다. 따라서, 이 경우 데이터 위변조 판별부(220)에서 역시 제 2 페이로드 영역(32b)에 저장된 GPS 위도 값과 제 3 페이로드 영역(32c)에 저장된 GPS 경도 값을 추가적으로 고려하여 데이터 패킷(30)의 위변조 여부를 판별해야 한다.
이를 위해, 데이터 위변조 판별부(220)에서는 제 2 페이로드 영역(32b)에 저장된 GPS 위도 값 및 제 3 페이로드 영역(32c)에 저장된 GPS 경도 값을 추가적으로 추출한 후 기 설정된 값을 곱한다. 예를 들어, 기 설정된 값은 10의 5제곱일 수 있다. 만약 데이터 송수신 과정에서 데이터 패킷(30)의 위변조가 일어나지 않았다면 상기 예로 든 것과 같이 제 2 페이로드 영역(32b)에는 GPS 위도 값인 35.17944가 저장되어 있고, 제 3 페이로드 영역(32c)에는 GPS 경도 값인 129.07556이 저장되어 있을 것이다. 즉, 추출된 GPS 위도 값 및 GPS 경도 값에 상기 기 설정된 값인 10의 5제곱을 각각 곱하여 3517944와 12907556을 도출할 수 있다.
다음으로, 상기 나머지 값인 16162967572459에 3517944와 12907556를 더한 값인 16162983997959를 산출한 후 산출된 값 뒤에 3333을 부가한 161629839979593333을 결합키로 설정한다.
이후 과정은 본 발명의 일 실시예와 마찬가지로 161629839979593333에 SHA 256 HASH 알고리즘을 적용하여 49b548449c06dcd678a343617f041c859d3c5cd20cbcd7c03f8f5b7e57fb799b을 산출하여 고유키로 설정하고 최하위 자릿수부터 12자리 수에 해당하는 값인 5b7e57fb799b를 추출하여 이를 제 2 인증 코드로 설정하고, 제 2 인증 코드를 제 1 헤더 영역(31a)에 저장되어 있는 제 1 인증 코드와 비교하여 동일한 경우 해당 데이터 패킷(30)이 위변조가 되지 않은 것으로 판단한다.
도 4는 본 발명의 일 실시예에 따른 데이터 위변조 판별 과정을 개략적으로 나타낸 도면이다.
도 4를 참조하면, 데이터 위변조 판별 과정은 각 단말기의 고유 번호 별로 서로 다른 솔트(salt) 값을 설정한 후 상기 고유번호 및 상기 솔트 값을 상기 단말기와 미들웨어 서버에 저장하는 단계(S100), 이벤트 발생 시 상기 단말기를 통해 데이터의 위변조 여부를 판별하기 위한 제 1 인증 코드가 포함된 데이터 패킷을 생성한 후 상기 데이터 패킷을 상기 미들웨어 서버로 전송하는 단계(S200) 및 상기 S200 단계를 통해 수신한 제 1 인증 코드와 미들웨어 서버에서 생성한 제 2 인증 코드를 비교하여 상기 데이터 패킷의 위변조 여부를 판별하는 단계(S300)를 포함한다.
이때, 상기 S200 단계는 이벤트 발생 시 상기 단말기를 통해 상기 단말기의 고유 번호가 포함된 헤더 영역과 상기 이벤트 발생 시간 및 상기 단말기에 대한 상태 데이터가 포함된 페이로드 영역을 포함하는 데이터 패킷을 생성하는 단계(S210), 상기 헤더 영역에 포함된 고유 번호 값, 상기 페이로드 영역에 포함된 이벤트 발생 시간 값 및 상기 솔트 값을 활용하여 결합키를 생성하는 단계(S220), 상기 결합키에 해시 알고리즘을 적용하여 고유키를 생성하는 단계(S230), 상기 고유키의 최하위 자릿수부터 기 설정된 자릿수 까지의 값인 제 1 인증 코드를 추출하는 단계(S240), 상기 헤더 영역에 상기 제 1 인증 코드를 부가하는 단계(S250) 및 상기 제 1 인증 코드가 포함된 데이터 패킷을 상기 미들웨어 서버로 전송하는 단계(S260)를 포함한다.
또한, 상기 S220 단계는 상기 고유 번호 값을 상기 이벤트 발생 시간 값으로 나눴을 때의 나머지 값을 도출하는 단계(S221) 및 상기 나머지 값의 최하위 자릿수의 후단에 상기 솔트 값을 결합시켜 결합키를 생성하는 단계(S222)를 포함한다.
이때, S300 단계는 상기 미들웨어 서버에서 상기 단말기로부터 수신한 상기 데이터 패킷을 분석하여 상기 인증 코드, 상기 고유 번호 및 상기 이벤트 발생 시간을 추출하는 단계(S310), 상기 S310 단계에서 추출된 고유 번호 값 및 이벤트 발생 시간 값과 상기 S100 단계에서 등록된 솔트(salt) 값을 활용하여 결합키를 생성하는 단계(S320), 상기 S320 단계에서 생성된 결합키에 해시 알고리즘을 적용하여 고유키를 생성하는 단계(S330), 상기 S330 단계에서 생성된 고유키의 최하위 자릿수부터 기 설정된 자릿수 까지의 값인 제 2 인증 코드를 추출하는 단계(S340) 및 상기 S340 단계에서 추출된 제 2 인증 코드와 상기 S310 단계의 상기 데이터 패킷을 분석하여 추출한 제 1 인증 코드를 비교하여 일치 여부를 판별함으로써 상기 데이터 패킷의 위변조 여부를 판별하는 단계(S350)를 포함한다.
또한, S320 단계는 상기 고유 번호 값을 상기 이벤트 발생 시간 값으로 나눴을 때의 나머지 값을 도출하는 단계(S321) 및 상기 나머지 값의 최하위 자릿수의 후단에 상기 솔트 값을 결합시켜 결합키를 생성하는 단계(S322)를 포함한다.
이상에서 실시예를 통해 본 발명을 설명하였으나, 위 실시예는 단지 본 발명의 사상을 설명하기 위한 것으로 이에 한정되지 않는다. 통상의 기술자는 전술한 실시예에 다양한 변형이 가해질 수 있음을 이해할 것이다. 본 발명의 범위는 첨부된 특허청구범위의 해석을 통해서만 정해진다.
10: 단말기
20: 미들웨어 서버
30: 데이터 패킷
31: 헤더 영역
31a ~ 31n: 제 1 헤더 영역 ~ 제 n 헤더 영역
32: 페이로드 영역
32a ~ 32n: 제 1 페이로드 영역 ~ 제 n 페이로드 영역
100: 위변조 방지 모듈
110: 데이터 패킷 생성부
120: 데이터 패킷 가공부
130: 제 1 저장부
200: 위변조 판별 모듈
210: 제 2 저장부
220: 데이터 위변조 판별부
1000: 데이터 위변조 판별 시스템

Claims (11)

  1. 단말기와 그 주변 영역에 대한 상태 정보가 담긴 데이터와 상기 데이터의 위변조 여부를 판별하기 위한 인증 코드인 제 1 인증 코드가 포함된 데이터 패킷을 생성하는 위변조 방지 모듈; 및
    상기 위변조 방지 모듈로부터 수신한 데이터 패킷에 포함된 제 1 인증 코드와 미들웨어 서버에서 생성한 제 2 인증 코드를 비교하여 상기 데이터 패킷의 위변조 여부를 판별하는 위변조 판별 모듈을 포함하고,
    상기 위변조 방지 모듈은:
    상기 단말기와 그 주변 영역에 대한 상태 정보가 담긴 데이터를 토대로 데이터 패킷을 생성하는 데이터 패킷 생성부;
    상기 제 1 인증 코드를 생성한 후 상기 데이터 패킷 생성부를 통해 생성된 데이터 패킷에 상기 제 1 인증 코드를 추가하여 상기 데이터 패킷을 가공하는 데이터 패킷 가공부; 및
    상기 데이터 패킷 생성부를 통해 생성된 데이터 패킷, 상기 데이터 패킷 가공부를 통해 가공된 데이터 패킷 및 상기 단말기의 고유 번호 별로 설정된 솔트(salt) 값을 저장하는 제 1 저장부를 포함하고,
    상기 제 1 인증 코드는:
    상기 단말기 별로 부여된 고유 번호 값을 상기 데이터 패킷에 포함된 이벤트 발생 시간 값으로 나눴을 때의 나머지 값을 도출하고;
    상기 나머지 값의 최하위 자릿수의 후단에 상기 고유 번호 별로 설정된 서로 다른 솔트(salt) 값을 결합시켜 결합키를 생성하고;
    상기 결합키에 해시 알고리즘을 적용하여 고유키를 생성하고;
    상기 고유키의 최하위 자릿수부터 기 설정된 자릿수 까지의 값을 추출하여 생성되는
    데이터 위변조 여부 판별 시스템.
  2. 제 1 항에 있어서,
    상기 단말기는 컨테이너의 봉인 시 사용되는 전자 봉인장치를 포함하는
    데이터 위변조 여부 판별 시스템.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 위변조 판별 모듈은:
    상기 각 단말기의 고유 번호, 상기 고유 번호 별로 설정된 솔트 값 및 상기 위변조 방지 모듈로부터 수신한 데이터 패킷을 저장하는 제 2 저장부; 및
    상기 제 2 저장부에 저장된 상기 솔트 값 및 상기 데이터 패킷을 활용하여 상기 데이터 패킷의 위변조 여부를 판별하는 위변조 판별부를 포함하는
    데이터 위변조 여부 판별 시스템.
  5. 제 4 항에 있어서,
    상기 위변조 판별부는,
    상기 미들웨어 서버에서 생성한 제 2 인증 코드와 상기 위변조 방지 모듈로부터 수신한 데이터 패킷에 포함된 제 1 인증 코드를 비교하여 상기 데이터 패킷의 위변조 여부를 판별하는
    데이터 위변조 여부 판별 시스템.
  6. 제 5 항에 있어서,
    상기 제 2 인증 코드는,
    상기 위변조 방지 모듈로부터 수신한 데이터 패킷에서 고유 번호 값 및 이벤트 발생 시간 값을 추출하고,
    상기 추출된 고유 번호 값을 상기 추출된 이벤트 발생 시간 값으로 나눴을 때의 나머지 값을 도출하고,
    상기 나머지 값의 최하위 자릿수의 후단에 상기 제 2 저장부에 기 저장되어 있던 솔트 값을 결합시켜 결합키를 생성하고,
    상기 결합키에 해시 알고리즘을 적용하여 고유키를 생성하고,
    상기 고유키의 최하위 자릿수부터 기 설정된 자릿수 까지의 값을 추출하여 생성되는
    데이터 위변조 여부 판별 시스템.
  7. (a) 각 단말기의 고유 번호 별로 서로 다른 솔트(salt) 값을 설정한 후 상기 고유번호 및 상기 솔트 값을 상기 단말기와 미들웨어 서버에 저장하는 단계;
    (b) 이벤트 발생 시 상기 단말기를 통해 데이터의 위변조 여부를 판별하기 위한 제 1 인증 코드가 포함된 데이터 패킷을 생성한 후 상기 데이터 패킷을 상기 미들웨어 서버로 전송하는 단계; 및
    (c) 상기 (b) 단계를 통해 수신한 제 1 인증 코드와 미들웨어 서버에서 생성한 제 2 인증 코드를 비교하여 상기 데이터 패킷의 위변조 여부를 판별하는 단계를 포함하고,
    상기 (b) 단계는:
    (b-1) 이벤트 발생 시 상기 단말기를 통해 상기 단말기의 고유 번호가 포함된 헤더 영역과 상기 이벤트 발생 시간 및 상기 단말기에 대한 상태 데이터가 포함된 페이로드 영역을 포함하는 데이터 패킷을 생성하는 단계;
    (b-2) 상기 헤더 영역에 포함된 고유 번호 값, 상기 페이로드 영역에 포함된 이벤트 발생 시간 값 및 상기 솔트 값을 활용하여 결합키를 생성하는 단계;
    (b-3) 상기 결합키에 해시 알고리즘을 적용하여 고유키를 생성하는 단계;
    (b-4) 상기 고유키의 최하위 자릿수부터 기 설정된 자릿수 까지의 값인 제 1 인증 코드를 추출하는 단계;
    (b-5) 상기 헤더 영역에 상기 제 1 인증 코드를 부가하는 단계; 및
    (b-6) 상기 제 1 인증 코드가 포함된 데이터 패킷을 상기 미들웨어 서버로 전송하는 단계를 포함하는
    데이터 위변조 여부 판별 방법.
  8. 삭제
  9. 제 7 항에 있어서,
    상기 (b-2) 단계는:
    (b-2-1) 상기 고유 번호 값을 상기 이벤트 발생 시간 값으로 나눴을 때의 나머지 값을 도출하는 단계; 및
    (b-2-2) 상기 나머지 값의 최하위 자릿수의 후단에 상기 솔트 값을 결합시켜 결합키를 생성하는 단계를 포함하는
    데이터 위변조 여부 판별 방법.
  10. 제 9 항에 있어서,
    상기 (c) 단계는:
    (c-1) 상기 미들웨어 서버에서 상기 단말기로부터 수신한 상기 데이터 패킷을 분석하여 상기 인증 코드, 상기 고유 번호 및 상기 이벤트 발생 시간을 추출하는 단계;
    (c-2) 상기 (c-1) 단계에서 추출된 고유 번호 값 및 이벤트 발생 시간 값과 상기 (a) 단계에서 등록된 솔트(salt) 값을 활용하여 결합키를 생성하는 단계;
    (c-3) 상기 (c-2) 단계에서 생성된 결합키에 해시 알고리즘을 적용하여 고유키를 생성하는 단계;
    (c-4) 상기 (c-3) 단계에서 생성된 고유키의 최하위 자릿수부터 기 설정된 자릿수 까지의 값인 제 2 인증 코드를 추출하는 단계; 및
    (c-5) 상기 (c-4) 단계에서 추출된 제 2 인증 코드와 상기 (c-1) 단계의 상기 데이터 패킷을 분석하여 추출한 제 1 인증 코드를 비교하여 일치 여부를 판별함으로써 상기 데이터 패킷의 위변조 여부를 판별하는 단계를 포함하는
    데이터 위변조 여부 판별 방법.
  11. 제 10 항에 있어서,
    상기 (c-2) 단계는:
    (c-2-1) 상기 고유 번호 값을 상기 이벤트 발생 시간 값으로 나눴을 때의 나머지 값을 도출하는 단계; 및
    (c-2-2) 상기 나머지 값의 최하위 자릿수의 후단에 상기 솔트 값을 결합시켜 결합키를 생성하는 단계를 포함하는
    데이터 위변조 여부 판별 방법.
KR1020200031440A 2020-03-13 2020-03-13 인증 코드를 이용한 데이터 위변조 여부 판별 시스템 KR102192394B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200031440A KR102192394B1 (ko) 2020-03-13 2020-03-13 인증 코드를 이용한 데이터 위변조 여부 판별 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200031440A KR102192394B1 (ko) 2020-03-13 2020-03-13 인증 코드를 이용한 데이터 위변조 여부 판별 시스템

Publications (1)

Publication Number Publication Date
KR102192394B1 true KR102192394B1 (ko) 2021-01-14

Family

ID=74141198

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200031440A KR102192394B1 (ko) 2020-03-13 2020-03-13 인증 코드를 이용한 데이터 위변조 여부 판별 시스템

Country Status (1)

Country Link
KR (1) KR102192394B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080047235A (ko) * 2006-11-23 2008-05-28 한국전자통신연구원 블록암호의 블록 체이닝 모드를 사용한 패킷 암호화 방법,이를 이용한 패킷 암/복호화 서비스 제공 방법
KR20160037543A (ko) * 2014-09-29 2016-04-06 주식회사 아이서티 데이터 위변조 방지 및 위변조 검증 장치
KR20180001878A (ko) * 2016-06-28 2018-01-05 삼성전자주식회사 어플리케이션 코드의 위변조 여부 탐지 방법 및 이를 지원하는 전자 장치
KR20190046624A (ko) * 2017-10-25 2019-05-07 고려대학교 산학협력단 일회용 비밀번호 생성 장치 및 qotp 프로토콜에 의한 인증 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080047235A (ko) * 2006-11-23 2008-05-28 한국전자통신연구원 블록암호의 블록 체이닝 모드를 사용한 패킷 암호화 방법,이를 이용한 패킷 암/복호화 서비스 제공 방법
KR20160037543A (ko) * 2014-09-29 2016-04-06 주식회사 아이서티 데이터 위변조 방지 및 위변조 검증 장치
KR20180001878A (ko) * 2016-06-28 2018-01-05 삼성전자주식회사 어플리케이션 코드의 위변조 여부 탐지 방법 및 이를 지원하는 전자 장치
KR20190046624A (ko) * 2017-10-25 2019-05-07 고려대학교 산학협력단 일회용 비밀번호 생성 장치 및 qotp 프로토콜에 의한 인증 방법

Similar Documents

Publication Publication Date Title
US20240146821A1 (en) Systems and methods for recognizing a device
US6928549B2 (en) Dynamic intrusion detection for computer systems
TW453072B (en) System for montoring network for cracker attacic
US7356587B2 (en) Automatically detecting malicious computer network reconnaissance by updating state codes in a histogram
CN106060003A (zh) 一种网络边界单向隔离传输装置
US9894038B2 (en) System security for network resource access using cross-firewall coded requests
Aggarwal et al. Review on cyber crime and security
CN112422513B (zh) 一种基于网络流量报文的异常检测和攻击发起者分析系统
ITTO20130513A1 (it) Sistema e metodo per il filtraggio di messaggi elettronici
CN112688972A (zh) 一种保护账号安全的方法及系统
KR102192394B1 (ko) 인증 코드를 이용한 데이터 위변조 여부 판별 시스템
CN112367315B (zh) 一种内生安全waf蜜罐部署方法
Faircloth et al. A study on brute force attack on T-mobile leading to SIM-hijacking and identity-theft
CN107392008A (zh) 密码管理方法、密码管理设备及计算机可读存储介质
CN113553599A (zh) 工控主机软件加固方法及系统
Jaiswal CYBERCRIME CATEGORIES AND PREVENTION
CN112422527A (zh) 变电站电力监控系统的安全防护系统、方法和装置
CN107277070A (zh) 一种计算机网络入侵防御系统及入侵防御方法
Butterfield et al. Analysis and implementation of internet based remote voting
US11775677B2 (en) Tokenization and encryption for secure data transfer
CN107969005A (zh) 一种接入认证方法、装置、设备及系统
CN109509095B (zh) 一种结合区块链的视频主动识别方法
CN112818396B (zh) 一种bmc可信审计日志的生成与管理方法
CN116305071B (zh) 一种基于人工智能的账号密码安全系统
CN117201189B (zh) 一种防火墙联动方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant