KR102632546B1 - 소스 네트워크로부터 타겟 네트워크로 소프트웨어 아티팩트를 전송하기 위한 방법 및 시스템 - Google Patents

소스 네트워크로부터 타겟 네트워크로 소프트웨어 아티팩트를 전송하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR102632546B1
KR102632546B1 KR1020227039680A KR20227039680A KR102632546B1 KR 102632546 B1 KR102632546 B1 KR 102632546B1 KR 1020227039680 A KR1020227039680 A KR 1020227039680A KR 20227039680 A KR20227039680 A KR 20227039680A KR 102632546 B1 KR102632546 B1 KR 102632546B1
Authority
KR
South Korea
Prior art keywords
target network
software
software artifact
plug
request
Prior art date
Application number
KR1020227039680A
Other languages
English (en)
Other versions
KR20220165783A (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 지멘스 악티엔게젤샤프트
Publication of KR20220165783A publication Critical patent/KR20220165783A/ko
Application granted granted Critical
Publication of KR102632546B1 publication Critical patent/KR102632546B1/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 소스 네트워크(QN)로부터 타겟 네트워크(ZN)로 소프트웨어 아티팩트(software artifact)를 전송하는 방법에 관한 것으로, 타겟 네트워크와 소스 네트워크 사이에 프록시 시스템(PS)이 배치되고, 이 프록시 시스템(PL)은 플러그인(PL)을 포함하며, 상기 전송은 타겟 네트워크측에서 모니터링되고,
- 타겟 네트워크 내부 정보 구조(WL)가 제공되며, 상기 정보 구조는 엔트리들을 포함하고, 각각의 엔트리는 타겟 네트워크(ZN)의 운영자에 의해 승인되어야 다운로드될 수 있는 각각 하나의 소프트웨어 아티팩트를 특성화하며,
플러그인(PL)을 이용하여:
- 타겟 네트워크 내부 정보 구조(WL)로부터 엔트리가 판독출력되고,
- 소스 네트워크(QN)를 대신하여 새로운 소프트웨어 아티팩트의 가용성과 관련된 타겟 네트워크(WL)의 요청이 수신되며,
- 각각의 요청에 대해 이 요청에 부합하는 적어도 하나의 엔트리가 타겟 네트워크 내부 정보 구조(WL)로부터 검색되고,
- 상기 적어도 하나의 부합하는 엔트리가 타겟 네트워크 내부 정보 구조(WL) 내에 존재하는지의 여부에 따라, 요청에 부합하는 적어도 하나의 엔트리에서 특성화된 소프트웨어 아티팩트가 검색되거나, 상기 요청이 차단된다.

Description

소스 네트워크로부터 타겟 네트워크로 소프트웨어 아티팩트를 전송하기 위한 방법 및 시스템
본 발명은 소스 네트워크로부터 타겟 네트워크로 소프트웨어 아티팩트(software artifact)를 전송하는, 바람직하게는 컴퓨터로 구현되는 방법에 관한 것으로, 타겟 네트워크와 소스 네트워크 사이에 플러그인(plugin)을 갖는 프록시 시스템이 배치되고, 상기 전송은 타겟 네트워크측에서 모니터링된다.
본 발명은 또한 전술한 플러그인에 관한 것이다.
또한, 본 발명은 전술한 방법을 수행하기 위해 전술한 플러그인이 사용될 수 있는 시스템, 특히 IT 시스템에 관한 것이다.
디지털화 분야의 이점에 접근할 수 있도록 하기 위해, 클라우드 및 특히 엣지 컴퓨팅(Edge Computing)은 디지털화의 혁신을 통해 종래 자동화의 세계와 정보 기술 데이터 처리의 세계를 연결한다.
이에 수반하여, 엣지에서 더 빠른 펌웨어 및 소프트웨어 업데이트 주기가 사용되고 있으며, 이를 통해 산업 및 생산 설비의 자동화가 예컨대 인터넷 그리고 특히 인터넷에 존재하는, 산업 및 생산 설비의 디지털화에 필요한 모든 것을 제공하는 클라우드 플랫폼과 같은 외부 네트워크에 더 가까워지고 있다.
확립된 종래의 보안 개념은 이러한 "개방형" 시나리오와 강하게 맞서야 한다. 특히 엣지 컴퓨팅 분야에서 잘 알려진 딜레마는, 클라우드 통합 디지털화의 봉쇄 또는 기업 내부망의 개방 결과, 자동화에 대한 공격 벡터가 증가한다는 점이다.
구체적으로 다음과 같은 딜레마를 해결할 필요가 있다:
한편으로는 악성 소프트웨어 및 기타 외부 공격에 대한 기업 내부망 및 자동화의 보호를 보장할 수 있어야 하는 동시에, 특히 엣지 플랫폼 펌웨어, 엣지 애플리케이션, 모든 유형의 구성 및 분석 모델에서 빠른 업데이트 주기의 이점을 공유하기 위해, 기업 내부망을 디지털화되도록 개방해야 한다.
따라서 본 발명의 과제는 클라우드 플랫폼의 자원을 이용하는 산업 또는 생산 설비의 내부망의 보안을 증대시키는 것이다.
상기 과제는 도입부에 언급된 방법으로 본 발명에 따라 하기의 프로세스에 의해 해결된다:
- 타겟 네트워크 내부 정보 구조가 제공되며, 상기 정보 구조는 엔트리들(entry), 예를 들어 복수의 엔트리를 포함하고, 각각의 엔트리는 타겟 네트워크의 운영자에 의해 승인되어야 다운로드될 수 있는 각각 하나의 소프트웨어 아티팩트를 특성화하고, 소프트웨어 아티팩트의 전송은 타겟 네트워크측에서 플러그인에 의해 모니터링되며,
- 타겟 네트워크 내부 정보 구조로부터 엔트리가 판독출력되며,
- 소스 네트워크를 대신하여 새로운 소프트웨어 아티팩트의 가용성과 관련된 타겟 네트워크의 요청(request)이 수신되며,
- 각각의 요청에 대해 이 요청에 부합하는 적어도 하나의 엔트리가 타겟 네트워크 내부 정보 구조로부터 검색되며,
- 상기 적어도 하나의 부합하는 엔트리가 타겟 네트워크 내부 정보 구조 내에 존재하는지의 여부에 따라, 요청에 부합하는 적어도 하나의 엔트리에서 특성화된 소프트웨어 아티팩트가 검색되거나, 상기 요청이 차단된다.
일 실시예에서, 플러그인은 타겟 네트워크 내부 정보 구조로부터 엔트리를 판독출력하고, 소스 네트워크를 대신하여 새로운 소프트웨어 아티팩트의 가용성과 관련한 타겟 네트워크의 요청을 수신하고, 각각의 요청에 대해 이 요청에 부합하는 적어도 하나의 엔트리를 타겟 네트워크 내부 정보 구조에서 검색하고, 상기 적어도 하나의 부합하는 엔트리가 타겟 네트워크 내부 정보 구조 내에 존재하는지의 여부에 따라, 상기 요청에 부합하는 적어도 하나의 엔트리에서 특성화된 소프트웨어 아티팩트를 검색하거나, 상기 요청을 차단한다.
일 실시예에서, 타겟 네트워크 내부 정보 구조는 파일 형태로 구현될 수 있다.
전술한 엔트리는 파일 또는 다른 구조(정보 구조)에 포함될 수 있다. 이들은 예를 들어, 정보를 내부적으로 복수의 파일로 분할하는 데이터베이스 시스템(분산 데이터 시스템) 내 엔트리로서 존재할 수 있거나 주 메모리에만 존재할 수 있다.
타겟 네트워크 내부 정보 구조의 제공이 해당 명령을 처리하는 컴퓨터 프로그램에 의해 완전히 수행될 수 있다. 따라서 방법은 컴퓨터 구현 방법일 수 있다.
일 실시예에서, 바람직하게는 요청이 단말기의 명칭(유형, 모델 등)을 포함할 수 있다.
일 실시예에서, 네트워크 자원 및 시간 비용의 관점에서, 예를 들어 동일한 요청이 동일한 기기에서 나온다면 플러그인이 상기 동일한 요청을 풀링하고, 검색 시 단 하나의 요청만 사용하며 한 번만 다운로드하는 것이 유용할 수 있다.
일 실시예에서, 바람직하게는 타겟 네트워크 내부 정보 구조의 제공이 하위 단계를 포함하며, 이들 하위 단계에서는,
- 소스 네트워크에서 가용 소프트웨어 아티팩트에 대한 메시지가 생성되어 타겟 네트워크의 운영자에게 전송되고, 각각의 메시지는 적어도 하나의 가용 소프트웨어 아티팩트를 특성화하는 데이터를 포함하며,
- 소스 네트워크로부터 적어도 하나의 가용 소프트웨어 아티팩트를 다운로드하는 것이 바람직한지의 여부를 결정하기 위해 운영자에 의해 각각의 메시지가 검사되며,
- 적어도 하나의 가용 소프트웨어 아티팩트의 다운로드가 바람직한 경우, 적어도 하나의 가용 소프트웨어 아티팩트를 특성화하는 데이터가 타겟 네트워크 내부 정보 구조에 저장됨에 따라, 각각의 엔트리가 각각 하나의 소프트웨어 아티팩트를 특성화하고, 타겟 네트워크 내부 정보 구조는 바람직하게 타겟 네트워크의 운영자에 의해서만 변경될 수 있다.
일 실시예에서, 상이한 메시지가 상이한 소프트웨어 아티팩트에 대한 정보를 제공할 수 있다.
또한, 요청이 타겟 네트워크에서 미리 결정 가능한 시간 간격으로 생성되고 바람직하게는 소스 네트워크 또는 프록시 시스템으로 어드레싱되는 것이 바람직할 수 있다.
소프트웨어 아티팩트를 검색하기 위해 한 방향으로만, 더 구체적으로는 타겟 네트워크로부터 소스 네트워크로 연결이 설정되고 검색 후에 다시 연결이 분리되는 경우에 타겟 네트워크의 보안이 더 향상될 수 있다.
이 경우, 바람직하게는 플러그인이 타겟 네트워크를 대신하여 소프트웨어 아티팩트를 다운로드할 수 있다. 따라서 예를 들어 클라우드의 클라우드 서버는 타겟 네트워크의 엣지 기기(edge device)를 대신하여 작동하는 플러그인을 본다.
또한, 플러그인은 타겟 네트워크, 예를 들어 타겟 네트워크의 클라이언트(엣지 기기)와 소스 네트워크의 서버(예: 백엔드) 사이에 연결을 설정할 수 있고, 그럼으로써 소프트웨어 아티팩트가 클라이언트에 직접 다운로드된다.
또한, 플러그인은 다운로드된 소프트웨어 아티팩트를 타겟 네트워크에 등록된 적어도 하나의 기기, 예를 들어 엣지 기기로 전달하며, 바람직하게는 그에 이어서 상기 소프트웨어 아티팩트가 상기 적어도 하나의 기기에 설치된다.
플러그인을 사용하여 소프트웨어 아티팩트의 무결성을 검사할 때, 추가 보안 조치가 취해질 수 있다.
무결성 검사가 소프트웨어 아티팩트의 서명 유효성 검사를 포함하는 것이 바람직할 수 있다.
다운로드한 소프트웨어 아티팩트 파일의 서명이 검사될 수 있다. 이러한 선택적 검사가 실패하면, 다운로드된 아티팩트가 삭제될 수 있고, 선택적으로 고객측에서 경고가 생성될 수 있다.
각각의 엔트리가 소프트웨어 아티팩트의 식별 및/또는 소프트웨어 아티팩트의 암호화 서명, 예를 들어 소프트웨어 아티팩트의 파일 내용(file content)의 서명된 해시 및/또는 소프트웨어 아티팩트가 다운로드될 수 있는 시점의 표시, 및/또는 예컨대 변경 로그(change log)와 같은 텍스트 설명을 포함하는 것이 바람직할 수 있다.
일 실시예에서는 바람직하게 개인 키와 공개 키로부터 키 쌍이 생성될 수 있으며, 개인 키는 소스 네트워크에 제공되고 공개 키는 타겟 네트워크에 제공되며, 이 경우, 소프트웨어 아티팩트는 개인 키를 사용하여 생성된 서명으로 소스 네트워크에서 (다운로드 전에) 서명되고, 서명된 소프트웨어 아티팩트의 서명은 지정된 소프트웨어 아티팩트를 갖는 기기의 해당 공개 키를 사용하여 타겟 네트워크에서 검증된다.
이 경우, 예를 들어 각각의 소프트웨어 아티팩트의 서명을 위해 각각 하나의 개인 키가 사용될 수 있다.
이는 예를 들어, (소스 네트워크에서) 클라우드에 아티팩트를 다운로드하기 전에, 플랫폼 사업자(platform provider)에 의해 플랫폼 사업자의 개인 키를 사용하여 아티팩트 서명을 생성함으로써 아티팩트의 종단간(end-to-end) 서명이 가능할 수 있으며, 타겟 네트워크에서 관련 공개 키를 사용하여 아티팩트를 엣지에 설치되기 전에 검증할 수 있다.
또한, 소프트웨어 아티팩트를 다운로드 전에 암호화하고 다운로드 후에 복호화하는 것이 바람직할 수 있다.
그로 인해, 예를 들어 (소스 네트워크에서) 클라우드에 아티팩트를 다운로드하기 전에 플랫폼 사업자에 의해 플랫폼 사업자의 공개 키를 사용하여 소프트웨어 아티팩트의 종단간 암호화를 할 수 있고, 타겟 네트워크에서, 예컨대 단말기에서, 소프트웨어 아티팩트를 엣지에 설치되기 전에 관련 개인 키를 사용하여 복호화할 수 있다.
감사(auditing)와 관련하여, 방법의 모든 단계를 기록하는 것이 바람직할 수 있으며, 각각의 단계에 바람직하게 타임 스탬프가 부여되고, 이를 통해 생성된 로그는 바람직하게 데이터베이스에 저장되며, 데이터베이스는 타겟 네트워크에 포함된다.
또한, 바람직하게는 플러그인이 요청 및 다운로드에 관한 세부사항을 적어도 부분적으로 로그 데이터 구조에 기록할 수 있다.
로그 데이터 구조는 예를 들어 로그 파일의 형태로 정의될 수 있으며, 바람직하게는 영구 또는 휘발성 데이터베이스 또는 아카이브 시스템에 기록될 수 있다.
또한, 상기 과제는 전술한 유형의 플러그인에 의해 본 발명에 따라 상기 플러그인이 하기를 수행하도록 구성됨으로써 해결된다:
- 타겟 네트워크 내부 정보 구조로부터 엔트리를 판독출력하고, 각각의 엔트리는 타겟 네트워크의 운영자에 의해 승인되어야 다운로드될 수 있는 각각 하나의 소프트웨어 아티팩트를 특성화하며,
- 새로운 소프트웨어 아티팩트의 가용성과 관련한, 타겟 네트워크로부터 소스 네트워크로의 요청을 소스 네트워크를 대신해서 수신하며,
- 각각의 요청에 대해 이 요청에 부합하는 적어도 하나의 엔트리를 타겟 네트워크 내부 정보 구조로부터 검색하며,
- 상기 적어도 하나의 부합하는 엔트리가 타겟 네트워크 내부 정보 구조 내에 존재하는지의 여부에 따라, 요청에 부합하는 적어도 하나의 엔트리에서 특성화된 소프트웨어 아티팩트를 검색하거나, 상기 요청을 차단한다.
이 경우, 플러그인은 상응하는 코드를 가질 수 있고, 타겟 네트워크 내부 정보 구조는 플러그인의 코드와 부합하는 구조를 가질 수 있음으로써, 플러그인과 타겟 네트워크 내부 정보 구조가 서로 부합하며 타겟 네트워크 내부 정보 구조로부터 엔트리의 판독출력이 간소화된다.
일 실시예에서는, 플러그인이 방화벽, 예를 들어 프록시 방화벽으로 구성될 수 있거나, 즉, 방화벽의 모든 기능을 가질 수 있거나, 방화벽 룰셋(firewall ruleset)의 적어도 일부를 포함할 수 있다.
또한, 본 발명의 과제는 위에서 언급한 유형의 시스템에 의해 본 발명에 따라, 상기 시스템이 소스 네트워크, 타겟 네트워크, 타겟 네트워크와 소스 네트워크 사이에 연결된 프록시 시스템 및 타겟 네트워크 내부 정보 구조를 포함하고, 프록시 시스템은 전술한 플러그인을 포함하고, 정보 구조는 엔트리를 포함하고, 각각의 엔트리는 타겟 네트워크의 운영자에 의해 승인되어야 다운로드될 수 있는 각각 하나의 소프트웨어 아티팩트를 특성화함으로써 해결되며, 상기 시스템은 바람직하게 전술한 방법의 단계를 수행하기 위한 추가 수단, 예를 들어 소프트웨어 및 하드웨어 구성요소를 포함한다.
본 발명은 하기에서 도면에 예시된 실시예를 참고로 더 상세히 설명된다.
도 1은 제1 IT 환경을 나타낸 도면이다.
도 2는 제2 IT 환경을 나타낸 도면이다.
실시예들 및 도면들에서 동일하거나 동일하게 작용하는 요소에는 각각 동일한 도면 부호를 부여하였다.
도 1은 본 발명에 따른 방법의 예시가 구현될 수 있는, 크게 단순화된 정보 기술 환경(IT 환경 또는 IT 생태계)을 도시한다.
도시된 IT 시스템(1)은 소스 네트워크(QN), 타겟 네트워크(ZN) 및 타겟 네트워크와 소스 네트워크 사이에 연결된 프록시 시스템(PS)을 포함할 수 있다.
예를 들어, 타겟 네트워크(ZN)에 등록된 기기는 소스 네트워크(QN)로부터 프록시 시스템(PS)을 통해서만 도달할 수 있도록 제공될 수 있다.
소스 네트워크(QN)는 클라우드 컴퓨팅 플랫폼, 또는 타겟 네트워크(ZN)에 할당되고 예를 들어 다량의 엣지 기기를 관리하는 엣지 관리 플랫폼을 포함할 수 있다.
타겟 네트워크(ZN)는 예를 들어 로컬 네트워크로서, 예를 들어 자동화된 산업 설비, 특히 생산 설비의 로컬 네트워크로서 구성될 수 있고, 하나 이상의 컴퓨팅 유닛, 예를 들어 타겟 네트워크에 등록된 IoT 기기, 특히 엣지 기기(ED)를 포함할 수 있다. 컴퓨팅 유닛은 예를 들어, 작업과 관련된 데이터, 예를 들어 설비의 산물을 처리하고, 수집하고, 저장하고, 소스 네트워크(QN)로 전송하는 등의 작업을 수행하도록 구성될 수 있다. 상기 데이터는 예컨대 프로세스 데이터일 수 있다. 컴퓨팅 유닛에 의해 실행될 수 있는 작업의 목록은 완전하지 않다.
또한, 타겟 네트워크는 (여기에는 도시되지 않은) 하나 이상의 하위 네트워크를 포함할 수 있다. 이러한 하위 네트워크의 예는 기계, 예를 들어 공작 기계 또는 로봇의 기계 네트워크일 수 있다. 이 기계에 스마트 카메라가 장착될 수 있으며, 이 카메라에는 이미지 처리용 소프트웨어가 설치될 수 있다.
그러한 하나 이상의 기계에는, 상기 하나 이상의 기계로부터 데이터를 수신하기 위해, 전술한 컴퓨팅 유닛들 중 하나, 예를 들어 엣지 기기가 각각 할당될 수 있다.
각각의 컴퓨팅 유닛(ED)은 하나 이상의 데이터 전송 채널에 의해 프록시 시스템(PS)에 연결될 수 있다.
예를 들어, 타겟 네트워크는, 컴퓨팅 유닛들(ED)이 서로 통신하지 않고 할당된 기계(들) 및 프록시 시스템(PS)과만 통신하도록 구성될 수 있다.
프록시 시스템(PS)은 하나 이상의 프록시 구성요소를 포함할 수 있으며, 각각의 프록시 구성요소는 소프트웨어- 및/또는 하드웨어 구성요소로서 구성될 수 있다. 프록시 구성요소는 예를 들어 프록시 서버(전용 프록시) 또는 일반 프록시로 구성될 수 있다. 또한, 프록시 구성요소가 프록시 방화벽으로 구성될 수 있다.
하드웨어 구성요소는 구조적으로 별개로 구성될 수 있다.
예를 들어, 프록시 시스템(PS)은 전술한 모든 컴퓨팅 유닛(ED)이 할당된 단일 프록시 구성요소를 포함할 수 있다. 이 경우, 상기 프록시 구성요소는 컴퓨팅 유닛(ED)의 제조업체에 의해 제공될 수 있다. 일 실시예에서, 컴퓨팅 유닛(ED)의 제조업체는 소스 네트워크(QN)를 통해 서비스/플랫폼을 공급하는 서비스/플랫폼 사업자(SP)로서의 역할도 할 수 있다.
예를 들어, 가장 간단한 경우 이러한 프록시 구성요소는 컴퓨팅 유닛와 소스 네트워크(QN) 간의 통신을 담당할 수 있으며, 다시 말해 데이터를 (필터링하지 않고) 컴퓨팅 유닛으로부터 소스 네트워크(QN)로, 그리고 소스 네트워크(QN)로부터 해당 컴퓨팅 유닛으로 전달한다.
또한, 일반 트래픽을 필터링하고 모니터링하기 위해 프록시 시스템(PS)은 예를 들어 프록시 방화벽을 포함할 수 있다.
소스 네트워크는 예를 들어 인터넷 또는 클라우드로서 구성될 수 있다. 예를 들어, 클라우드에, 통신 기술의 관점에서 볼 때 타겟 네트워크(ZN)에 가깝게 배치된 백엔드 컴퓨팅 유닛(BE)이 위치할 수 있다. 백엔드 컴퓨팅 유닛(BE)은, 예를 들어 타겟 네트워크에 할당되고 예를 들어 소스 네트워크를 대신하여 타겟 네트워크로부터 요청을 수신, 처리 및 관리하는 백엔드 서버로서 구성될 수 있다. 백엔드 서버는 타겟 네트워크(ZN)에서 클라우드측 계산 자원으로서도 제공될 수 있다. 소스 네트워크(QN)와 타겟 네트워크(ZN) 사이의 전체 통신이 이러한 백엔드 서버(BE)를 통해 소스 네트워크측에서 실행되는 것은 충분히 생각할 수 있다. 또한, 백엔드 컴퓨팅 유닛(BE)은 타겟 네트워크(ZN)의 컴퓨팅 유닛에 필요한 소프트웨어 아티팩트를 제공할 수 있다.
백엔드 컴퓨팅 유닛(BE)은 예를 들어 소스 네트워크에 의해 관리되는 전술한 엣지 컴퓨팅 플랫폼의 일부일 수 있다.
타겟 네트워크(ZN)는 엔트리들, 예를 들어 복수의 엔트리를 포함하는 타겟 네트워크 내부 정보 구조(WL)를 포함하며, 각각의 엔트리는 타겟 네트워크(ZN)의 운영자(OP)에 의해 승인되어야 다운로드될 수 있는 각각 하나의 소프트웨어 아티팩트를 특성화한다. 이러한 정보 구조를 "다운로드 화이트리스트" 또는 간단히 "화이트리스트"라고 명명할 수 있다.
바람직하게는, 상이한 엔트리가 상이한 소프트웨어 아티팩트를 특성화할 수 있다.
각각의 엔트리는 소프트웨어 아티팩트의 식별 및/또는 소프트웨어 아티팩트의 암호화 서명, 예를 들어 소프트웨어 아티팩트의 파일 내용의 서명된 해시 및/또는 소프트웨어 아티팩트가 다운로드될 수 있는 시점의 표시, 및/또는 예컨대 변경 로그와 같은 텍스트 설명을 포함할 수 있다.
소프트웨어 아티팩트는 예컨대 소프트웨어 패키지로서 구성될 수 있다.
각각의 소프트웨어 패키지는, 예를 들어 펌웨어 설치 파일(바이너리 파일), 엣지 앱 설치 파일(바이너리 파일), 구성 파일(JSON 텍스트 파일), 분석 모델{PMML/Plain XML/JSON 파일/이른바 TensorFlow의 SavedModel이 포함된 파일 아카이브/직렬화된 규칙 베이스(serialized rule base)/논리 기반 모델에 대한 설명 로직 정의(description logic definition) 등}, 클라우드 또는 구체적인 클라우드 플랫폼과의 통신을 위해 엣지 기기(ED)를 강화하기 위한 정보가 포함된 이른바 온보딩 파일 등과 같이, 다양한 형태를 취할 수 있다.
또한, 각각의 소프트웨어 패키지는 파일의 쉘(shell) 없이 순수 콘텐츠로서 구성될 수 있다. 콘텐츠는 다양한 형식(예: XML, JSON, Plain Text, Binary Encoding)으로 존재할 수 있고 전송될 수 있다. 이러한 콘텐츠는 예를 들면 다음과 같다: 엣지 기기(ED) 펌웨어 또는 엣지 앱을 위한 구성의 일부, 예를 들어, 엣지 로컬 사용자 관리 및 역할 관리(role management)의 변경 사항을 포함하거나 엣지 앱이 최대로 사용할 수 있는 작업 메모리 양을 정의할 수 있는 이른바 JSON Snippet; 해당 엣지 기기(ED)가 처리해야 하는 작업 지시(이른바 작업 정보)의 목록, 예를 들어, 클라우드로부터의 추가 정보 다운로드 지시, 연결된 기기에서의 동작(기계의 정지/스마트 센서 시스템의 구성/작동 구성요소의 구동)을 실행하기 위한, 엣지 기기(ED) 또는 애플리케이션의 재시작 지시; 데이터 처리 동작의 실행, 및/또는 엣지 기기(ED) 상의 데이터 스트림으로의/로부터의 그리고/또는 엣지 기기에 이미 저장된 데이터로의/로부터의 데이터 요청을 위한 지시 등.
또한, 각각의 엔트리에 해당 소프트웨어 아티팩트를 사용할 수 있는 시점이 명시될 수 있다.
소스 네트워크(QN)로부터 타겟 네트워크(ZN)로의 소프트웨어 아티팩트의 다운로드를 모니터링하기 위해, 프록시 시스템(PS), 예를 들어 컴퓨팅 유닛(ED)에 할당된 프록시 구성요소는 플러그인(PL) 또는 업그레이드된 소프트웨어(software upgrade) 또는 (소프트웨어) 애드온 모듈(add-on module)을 포함한다.
플러그인은 다음과 같이 화이트리스트(WL)로부터 엔트리를 판독출력하도록 구성된다: 새로운 소프트웨어 아티팩트의 가용성과 관련한, 타겟 네트워크(ZN)로부터 소스 네트워크(QN)로의 요청을 소스 네트워크(QN)를 대신해서 수신하고; 각각의 요청에 대해 상기 요청에 부합하는 엔트리를 화이트리스트에서 검색하고, 상기 화이트리스트 내에 상기 적어도 하나의 부합하는 엔트리가 존재하는지의 여부에 따라, 요청에 부합하는 적어도 하나의 엔트리에서 특성화된 소프트웨어 아티팩트를 검색하거나, 상기 요청을 차단한다.
일 실시예에서, 타겟 네트워크의 자산 또는 엣지 기기(ED)가 소스 네트워크(QN)의 서버 대신 플러그인(PL)을 포함하는 프록시 시스템(PS)이 소프트웨어 아티팩트를 검색하도록 요청할 수 있다. 이 경우, 예를 들어 엣지 기기와 같은 각각의 자산은, 요청을 플러그인(PL)으로 전달하는 프록시 시스템(PS)으로 또는 직접 플러그인(PL)으로 상기 요청을 전송할 수 있다. {플러그인(PL)을 포함하는} 프록시 시스템(PS)과 소스 네트워크(QN)(클라우드) 간의 통신의 경우에는 항상 단 한 가지 가능성만 있다: {프록시 시스템(PS)을 제외하고} 플러그인(PL)이 반드시 소스 네트워크(QN) 또는 클라우드에 대한 연결을 모니터링해야 한다.
이 경우, 프록시 시스템(PS)은 컴퓨팅 유닛(ED)에 대해 투명하거나 불투명할 수 있다.
일 실시예에서, 프록시 시스템(PS)은 플러그인(PL)의 수명 주기를 관리하기 위해, 예를 들어 바람직하게는 프록시 시스템(PS){또는 프록시 구성요소(PK)} 자체가 시작 및 중지될 때 플러그인을 시작하고 중지하기 위해, 플러그인의 인터페이스를 사용할 수 있다.
일 실시예에서, 프록시 시스템(PS)은, 타겟 네트워크(ZN){자산 또는 엣지 기기(ED)}와 소스 네트워크(QN)(클라우드) 사이의 실제 통신에는 관여할 필요가 없고 플러그인(PL)만 관리할 수 있도록 구성될 수 있다.
일 실시예에서, 프록시 시스템(PS)은, 타겟 네트워크(ZN)로부터{예를 들어, 자산 또는 엣지 기기(ED)로부터} 요청을 수락하고 이를 플러그인(PL)에 전달할 수 있는 방식으로 구성될 수 있으며, 그런 다음 플러그인(PL)은 소스 네트워크(QN)(클라우드)와의 통신을 직접 담당하고, 다운로드된 아티팩트를 먼저 프록시 시스템(PS)으로 반환하며, 프록시 시스템은 이를 검색 자산 또는 엣지 기기(ED)로 전송한다. 이를 위해, 플러그인(PL)에 추가 인터페이스가 구현되고, 이 추가 인터페이스를 통해 프록시 시스템(PS)이 플러그인(PL)에 소스 네트워크(QN)와의 통신과 관련된 모든 정보를 전달할 수 있는 것이 바람직할 수 있으며, 상기 정보의 예로는 아티팩트를 얻을 수 있는 소스 네트워크(QN)의 주소(예: IP 및 포트), 소스 네트워크(QN)에서의 검색의 구문 및 의미(예: 아티팩트 식별 정보가 포함된 HTTPS 요청), 보안 기능{예: 소스 네트워크(QN)에서의 인증 및 인가를 위한 이른바 보안 토큰(security token)}이 있다.
새로운 소프트웨어 아티팩트의 가용성과 관련된 요청은 예를 들어 컴퓨팅 유닛(ED)을 사용하여 생성될 수 있다. 이러한 요청은 예를 들어 바로 프록시 시스템(PS)으로, 특히, 해당 컴퓨팅 유닛(ED)에 할당된 프록시 구성요소로 할당될 수 있다.
요청은 미리 결정 가능한, 바람직하게는 규칙적인 시간 간격으로 생성될 수 있다. 예를 들어, 각각의 엣지 기기(ED)는 매시간 또는 매일 새로운 소프트웨어 아티팩트에 대한 요청을 프록시 시스템(PS)으로 어드레싱할 수 있다.
소프트웨어 아티팩트(들)를 검색하기 위해, 타겟 네트워크(ZN)로부터 소스 네트워크(QN)로의 연결이 설정되고 검색 후에 다시 분리될 수 있다. 연결의 설정 및/또는 분리는, QN의 서버로의 하나의 소프트웨어 아티팩트/복수의 소프트웨어 아티팩트의 다운로드 요청으로서 상응하는 요청을 시작할 수 있는 플러그인(PL)에 의해 수행될 수 있으며; 요청된 소프트웨어 아티팩트(들)가 소스 네트워크(QN)에 존재하고, 플러그인(PL) 및/또는 요청하는 엣지 기기(들)가 요청된 서버에 의해 올바르게 QN에서 인증되고, QN에서 소프트웨어 아티팩트(들)를 검색할 권한이 있는 한, 요청된 소프트웨어 아티팩트(들)는 요청에 대한 응답의 형태로 반환될 수 있다.
일 실시예에서, 요청은 플러그인(PL)으로부터 소스 네트워크(QN)의 서버로의 요청으로서 구성될 수 있고, 예를 들어 이른바 "요청-응답" 패턴을 따를 수 있다.
이 경우, 플러그인(PL)은 먼저 소스 네트워크(QN)의 서버가 어떤 소프트웨어 아티팩트가 요청되었는지를 결정하는 데 사용할 수 있는 모든 정보를 포함하는 요청 구조(예: HTTPS 요청)를 설정할 수 있으며, 실질적으로 이를 위해 아티팩트 ID 또는 아티팩트의 충분히 정확한 설명이 충분할 수 있다. 추가로, 요청에 보안 기능(예: JSON Web Token)이 할당될 수 있다. 보안 기능의 도움으로, 요청을 받은 소스 네트워크(QN)의 서버는 플러그인(PL) 및 바람직하게는 본래 검색하는 자산(들) 또는 엣지 기기(ED)도 인증할 수 있고 그리고/또는 인가할 수 있다. 예를 들어 이를 통해 소스 네트워크(QN)의 서버는, 플러그인(PL)에 의해 {그리고 선택적으로 하나 이상의 엣지 기기(ED)에 의해} 미리 결정된 ID가 올바르고 플러그인(PL)이 (그리고 선택적으로 하나 이상의 엣지 기기가) 소프트웨어 아티팩트를 얻을 수 있는 권한이 있는 점을 보장할 수 있다.
요청은 최종적으로 소스 네트워크(QN)의 서버로 전송될 수 있다. 소스 네트워크는, 예를 들어 보안 기능(예: QN에서 요청된 소프트웨어 아티팩트의 검색 또는 생성)의 성공적인 검사 후에 요청을 처리하고 응답(예: HTTPS 응답)을 이용하여 상기 요청에 응답할 수 있다.
그런 다음, 소스 네트워크(QN)의 서버로부터의 응답이 플러그인(PL)으로 전송될 수 있고, 그곳으로부터 하나의 또는 복수의 자산 또는 엣지 기기로 이들의 본래의 요청에 따라 배포될 수 있으며, 이를 통해 앞서 언급한 요청/응답 로그(request/ response log)가 종결될 수 있다. 복수의 자산, 예컨대 엣지 기기로의 배포는 예를 들어 아티팩트 캐싱의 범주에서 가능하다.
즉, 플러그인(PL)은 엣지 기기(들)(ED)에 의해 요청된 소프트웨어 아티팩트(들)의 식별 정보(들){예: ID(들) 또는 URL(들)} 외에도, 클라우드로부터 다운로드할 수 있는 소프트웨어 아티팩트(들)의 실제 검색의 수행에 대한 모든 정보를 갖고 있다. 플러그인은 예를 들어 선행 기술에 공지된 "커맨드(Command)" 디자인 패턴(이른바 "Gang-of-Four" 소프트웨어 아키텍처 패턴의 일부 참조)을 사용하여 상기 정보를 얻을 수 있다.
플러그인(PL)은 소프트웨어 아티팩트를, 예를 들어 플러그인 또는 프록시 시스템(PS)으로 또는 직접 해당 컴퓨팅 유닛(들)으로 다운로드할 수 있다.
플러그인 또는 프록시 시스템(PS)으로 다운로드할 때, 플러그인(PL)은 해당 컴퓨팅 유닛(들)을 대신하여 소프트웨어 아티팩트를 먼저 플러그인 또는 프록시에 다운로드하고, 그곳으로부터 QN으로의 연결에 관계없이 다운로드한 소프트웨어 아티팩트를 계속해서 해당 컴퓨팅 유닛(들)으로 배포한다.
소프트웨어 아티팩트를 엣지 기기(ED)에 직접 다운로드하기 위해, 플러그인은 타겟 네트워크(ZN)의 클라이언트{엣지 기기(ED)}와 소스 네트워크(QN)의 서버{예: 백엔드(BE)} 간의 연결을 설정할 수 있다.
소프트웨어 아티팩트(들)는 해당 컴퓨팅 유닛(ED)에 도착하는 즉시 그곳에 설치될 수 있다.
도 1은 또한 본 발명에 따른 방법의 실시예를 도시한다. 방법 단계들은 화살표로 표시되어 있다.
제1 단계(S1)에서는, 소스 네트워크(QN)에서 가용 소프트웨어 아티팩트에 대한 메시지가 생성되어 타겟 네트워크(ZN)의 운영자(OP)에게 전송된다.
메시지의 전송은 예를 들어 서비스/플랫폼 사업자(SP)에 의해 수행될 수 있다. 이 경우, 가능한 모든 방법을 생각할 수 있다. 예를 들어, 서비스 사업자(SP)는 운영자(OP)에게 문자, 이메일 알림, 푸시 메시지, SMS에 따른 메시지 등을 보낼 수 있다. 또한, 메시지가 자동화된 방식으로{예: 운영자(OP)의 자산 관리 시스템, 예컨대 SAP로의 연결} 전송될 수 있다.
각각의 메시지는 적어도 하나의 가용 소프트웨어 아티팩트를 특성화하는 데이터를 포함한다. 운영자(OP)가 복수의 가용 소프트웨어 아티팩트에 대해 하나의 메시지로 정보를 받는 것도 생각할 수 있다.
제2 단계(S2)에서는, 소스 네트워크(QN)로부터 적어도 하나의 가용 소프트웨어 아티팩트를 다운로드하는 것이 바람직한지의 여부를 결정하기 위해 운영자(OP)에 의해 각각의 메시지가 검사되며, 적어도 하나의 가용 소프트웨어 아티팩트를 다운로드하는 것이 바람직하다면, 적어도 하나의 가용 소프트웨어 아티팩트를 특성화하는 데이터는 화이트리스트에 저장되고, 그럼으로써 각각의 엔트리가 각각 하나의 소프트웨어 아티팩트를 특성화한다. 상기 특성화 데이터는 특히, 예를 들어 식별, 암호화 서명 및 소프트웨어 아티팩트의 설명을 포함할 수 있다. 메시지의 전술한 검사 및 화이트리스트(WL)로의 기록도 마찬가지로 자동화된 방식으로 수행될 수 있으며, 그럼으로써 화이트리스트의 제공은 예를 들어 소프트웨어 프로그램의 도움으로 자동화된 방식으로 수행될 수 있다.
타겟 네트워크(ZN)의 보안을 증대시키기 위해, 운영자(OP) 및 바람직하게는 운영자에 의해 결정된 사람만 또는 타겟 네트워크(ZN)의 소프트웨어 프로그램만이 화이트리스트(WL)를 변경할 권한을 가질 수 있다.
단계 S1 및 S2는 화이트리스트를 제공하는 하위 단계를 형성할 수 있다.
제3 단계(S3)에서는, 플러그인(PL)이 소스 네트워크(QN)를 대신하여, 바람직하게는 해당 컴퓨팅 유닛(ED)에 설치될 수 있는 새로운 소프트웨어 아티팩트의 가용성과 관련하여 타겟 네트워크(ZN)로부터 컴퓨팅 유닛(ED)의 요청을 수신한다.
제4 단계(S4)에서는, 플러그인(PL)이 화이트리스트(WL)에, 바람직하게는 화이트리스트를 변경하지 않으면서, 액세스하며, 화이트리스트에서 요청에 부합하는 적어도 하나의, 바람직하게는 모든 엔트리를 찾아내기 위해, 각각의 요청을 화이트리스트(WL)의 엔트리와 비교한다.
제5 단계(S5)에서, 플러그인(PL)은, 일치가 발견된 경우, 요청에 부합하는 엔트리(들)에서 특성화되어 있는 소프트웨어 아티팩트(들)를 검색하고, 일치를 발견하지 못한 경우, 요청을 차단한다.
일 실시예에서, 플러그인(PL)은 소프트웨어 아티팩트의 다운로드를 트리거/개시하거나 허용할 수 있고, 다운로드 자체는 프록시 시스템(PS) 또는 상응하는 프록시 구성요소에 의해 수행될 수 있다.
또한, 플러그인은 요청을 요청 구조(request structure), 예를 들어 요청 파일 또는 요청 데이터베이스의 형태로 프록시 시스템(PS)에 또는 예컨대 휘발성 버퍼 메모리에 일시적으로 수집하고 저장할 수 있으며, 미리 정해진 시간이 경과한 후에야(cache-timeout) 또는 요청 구조가 미리 정해진 크기에 도달한 후에야 요청 구조를 화이트리스트(WL)와 비교할 수 있다.
제6 단계(S6)에서, 플러그인은 엣지 기기(ED)를 대신하여 소프트웨어 아티팩트(들)를 수신하고 이를 프록시 시스템(PS), 예를 들어 영구 메모리 또는 휘발성 메모리에 저장할 수 있다.
플러그인(PL)은 저장된 소프트웨어 아티팩트를 그 다음 단계(S7)에서 컴퓨팅 유닛(ED)으로 배포할 수 있다. 이는, 예를 들어 컴퓨팅 유닛에 할당된 기계가 작동하지 않거나 타겟 네트워크(ZN)에 부하가 덜 가해지는 미리 결정된 시점 또는 운영자(OP)에 의해 계획된 특정 시점에 최적화된 방식으로 수행될 수 있다.
IT 시스템(1)은 또한 언급되는 모든 단계(S1 내지 S8)의 자동화된 실행을 위한 추가 수단을 가질 수 있다. 특히, IT 시스템은 명령 목록을 갖는 소프트웨어를 포함할 수 있고, 이 명령이 IT 시스템의 하나 이상의 프로세서에 의해 처리되면, IT 시스템(1)은 단계 S1 내지 S8을 실행한다.
도 2는 본 발명의 또 다른 실시예를 도시한다. 이하의 설명은 실질적으로 도 1의 실시예와의 차이점으로 한정되며, 동일하게 유지되는 요소, 특징, 방법 단계 및 기능과 관련해서는 도 1의 실시예의 설명을 참조한다.
도 2에 개략적으로 도시된 IT 환경(10)은 마찬가지로 플러그인(PL) 및 화이트 리스트(WL)를 포함한다. 프록시 시스템(PS)은 여기서, 프록시 구성요소(PK)와 소스 네트워크(QN) 간의 트래픽을 라우팅하고 모니터링하기 위해, 직접, 다시 말해 추가 중간 구성요소 없이 컴퓨팅 유닛(ED)과 통신할 수 있는 프록시 구성요소(PK) 및 프록시 구성요소(PK)의 업스트림에 연결된 게이트웨이 구성요소(GW)를 포함한다. 프록시 구성요소(PK)는 예를 들어 서비스 또는 플랫폼 사업자(SP) 및/또는 컴퓨팅 유닛(ED)의 제조업체에 의해 제공될 수 있다. 게이트웨이 구성요소(GW)는 예를 들어 타겟 네트워크(ZN)의 운영자(OP)에 의해 제공될 수 있다.
게이트웨이 구성요소(GW)는 API 게이트웨이로서 구성될 수 있다.
프록시 구성요소(PK)는 플러그인(PL)과 화이트리스트(WL)를 모두 포함한다. 또 다른 실시예에서, 도 1에 도시된 바와 같이, 화이트 리스트(WL)는 바람직하게는 운영자(OP)에 의해 모니터링되는 독립 구성요소일 수 있다.
승인된 소프트웨어 아티팩트를 다운로드하기 위해 플러그인(PL)은 해당 요청을 게이트웨이 구성요소(GW)로 전달하고(단계 51), 이 게이트웨이 구성요소는 타겟 네트워크(ZN)를 대신하여 동작하며, 백엔드 컴퓨팅 유닛(BE)에서 소프트웨어 아티팩트를 요청한다(단계 52).
게이트웨이 구성요소(GW)로의 릴리스 전에, 백엔드 컴퓨팅 유닛(BE)은 소프트웨어 아티팩트에 서명하고 그리고/또는 소프트웨어 아티팩트를 암호화할 수 있다(단계 S60).
이를 위해, 개인 키와 공개 키로부터 키 쌍이 생성될 수 있으며, 개인 키는 소스 네트워크(QN)에, 예컨대 백엔드 컴퓨팅 유닛(BE)에 제공되고 공개 키는 타겟 네트워크(ZN)에, 예컨대 프록시 구성요소(PK), 플러그인(PL) 또는 컴퓨팅 유닛(ED)에 제공된다. 소프트웨어 아티팩트는 소스 네트워크(QN)의 개인 키를 사용하여, 예를 들어 백엔드 컴퓨팅 유닛(BE)을 사용하여 생성된 서명으로 서명될 수 있다.
서명된 소프트웨어 아티팩트의 서명이 타겟 네트워크(ZN)의 엣지 기기(ED)에서 해당 공개 키를 사용하여 검증되고, 이 엣지 기기로 소프트웨어 아티팩트가 플러그인(PL)에 의해 전달되는 점도 생각할 수 있다.
앞서 언급한 키 배포는, 소스 네트워크(QN)에서의 소프트웨어 아티팩트의 서명 및 타겟 네트워크(ZN)에서의 서명된 소프트웨어 아티팩트의 무결성 검사를 위한 요건을 설명한다. 소프트웨어 아티팩트의 암호화의 경우, 비대칭 암호화를 위한 키 배포가 반대로 된다. 또 다른 실시예에서, 암호화된 전송은 대칭 암호화를 통해 가능하다.
소프트웨어 아티팩트(들)가 다운로드되고(단계 71), 게이트웨이 구성요소(GW)에 의해 프록시 구성요소(PK)로 전달된 후(단계 72), 플러그인(PL)은 소프트웨어 아티팩트의 무결성을 검사할 수 있다(단계 S8). 무결성 검사는 예를 들어 소프트웨어 아티팩트의 서명 유효성 검사를 포함할 수 있다. 이러한 무결성 검사는 또 다른 실시예에서 대안적으로 또는 추가로 엣지 기기(들)(ED)에서 실시될 수 있다.
무결성 검사에 관계없이, 프록시 구성요소(PK)는 다운로드된 소프트웨어 아티팩트를 로컬로 캐싱할 수 있으며, 그럼으로써 상기 소프트웨어 아티팩트는 (인터넷 통신과 관련하여 최적화되어) 복수의 엣지 기기(ED)로 전달될 수 있다.
이러한 선택적 검사가 실패하면, 서명을 검증할 수 없었던 다운로드된 소프트웨어 아티팩트가 삭제될 수 있고, 선택적으로 예를 들어 운영자(OP)에게 어드레싱된 경고가 타겟 네트워크(ZN)에서 생성될 수 있다.
무결성 검사가 성공하면, 소프트웨어 아티팩트는 해당 엣지 기기(ED)로 전달될 수 있다(단계 S9).
컴퓨팅 유닛(ED)은 소프트웨어 아티팩트를 수신한 후, 이것이 암호화되어 전송된 경우, 이를 복호화한 다음에(단계 10) 설치할 수 있다.
또한, 방법의 모든 단계가 기록될 수 있으며, 각각의 단계에 바람직하게 타임 스탬프가 부여되고, 이를 통해 생성된 로그는 바람직하게 데이터베이스에 저장되며, 데이터베이스는 타겟 네트워크(ZN)에 포함된다.
또한, 플러그인이 요청 및 다운로드에 관한 세부사항을 적어도 부분적으로 로그 파일에 기록할 수 있다.
데이터베이스의 모든 세부 사항에 대한 이러한 유형의 감사는 방법의 개별 단계의 추적성(traceability) 및 부인 방지(non-repudiation)에 유용할 수 있다.
도 2와 관련하여 설명한 실시예는, 예를 들어 클라우드에 아티팩트를 다운로드하기 전에 플랫폼 사업자(SP)에 의해 플랫폼 사업자의 공개 키를 사용하여 소프트웨어 아티팩트의 종단간 암호화를 가능케 할 수 있고, 타겟 네트워크(ZN)에서 아티팩트를, 예를 들어 컴퓨팅 유닛(ED)에 설치되기 전에, 관련 개인 키를 사용하여 복호화할 수 있게 한다.
또한, 도 2에 설명된 실시예는, 아티팩트를 클라우드로부터 다운로드하기 전에 상기 아티팩트에 암호로 서명하고 엣지 기기(ED)에 설치하기 전에 그 서명(예: 아티팩트 파일을 통한 해시 계산)을 토대로 무결성을 검사함으로써, 예를 들어 플랫폼 사업자(SP) 및/또는 운영자(OP)의 관점에서 소프트웨어 아티팩트의 종단간 무결성 보안(integrity security)을 가능하게 한다.
플러그인은 방화벽, 예를 들어 프록시 방화벽으로 구성될 수 있고, 다시 말해 방화벽의 모든 기능을 가질 수 있다.
본 발명이 실시예에 의해 더 상세하게 예시되고 기술되었더라도, 본 발명은 개시된 실시예에 의해 제한되지 않는다. 하기 청구 범위에 의해 정의되는 바와 같은 본 발명의 보호 범위를 벗어나지 않으면서 통상의 기술자에 의해 상기 실시예의 변형이 유도될 수 있다. 특히, 기술된 시스템 및 플러그인은 방법과 관련하여 기술되거나 청구된 특징에 의해 개선될 수 있으며, 그 반대의 경우도 마찬가지이다.

Claims (26)

  1. 소스 네트워크(QN)로부터 타겟 네트워크(ZN)로 소프트웨어 아티팩트를 전송하는 방법으로서, 타겟 네트워크와 소스 네트워크 사이에 프록시 시스템(PS)이 배치되고, 상기 프록시 시스템(PS)은 플러그인(PL)을 포함하며, 상기 전송은 타겟 네트워크측에서 플러그인(PL)에 의해 모니터링되고,
    - 타겟 네트워크 내부 정보 구조(WL)가 제공되며, 상기 정보 구조는 엔트리들을 포함하고, 각각의 엔트리는 타겟 네트워크(ZN)의 운영자에 의해 승인되어야 다운로드될 수 있는 각각 하나의 소프트웨어 아티팩트를 특성화하며,
    플러그인(PL)을 이용하여:
    - 타겟 네트워크 내부 정보 구조(WL)로부터 엔트리가 판독출력되고,
    - 소스 네트워크(QN)를 대신하여 새로운 소프트웨어 아티팩트의 가용성과 관련된 타겟 네트워크(WL)의 요청이 수신되는, 소프트웨어 아티팩트의 전송 방법에 있어서,
    - 각각의 요청에 대해 이 요청에 부합하는 적어도 하나의 엔트리가 타겟 네트워크 내부 정보 구조(WL)로부터 검색되고,
    플러그인(PL)을 이용하여:
    - 상기 적어도 하나의 부합하는 엔트리가 타겟 네트워크 내부 정보 구조(WL) 내에 존재하는지의 여부에 따라, 요청에 부합하는 적어도 하나의 엔트리에서 특성화된 소프트웨어 아티팩트가 검색되거나, 상기 요청이 차단되며,
    - 소프트웨어 아티팩트를 검색하기 위해, 타겟 네트워크(ZN)로부터 소스 네트워크(QN)로의 연결이 설정되고, 검색 후에 다시 분리되는
    것을 특징으로 하는, 소프트웨어 아티팩트의 전송 방법.
  2. 제1항에 있어서, 타겟 네트워크 내부 정보 구조(WL)의 제공은 하위 단계를 포함하며, 이들 하위 단계에서는,
    - 소스 네트워크(QN)에서 가용 소프트웨어 아티팩트에 대한 메시지가 생성되어 타겟 네트워크(ZN)의 운영자(OP)에게 전송되고, 각각의 메시지는 적어도 하나의 가용 소프트웨어 아티팩트를 특성화하는 데이터를 포함하며,
    - 소스 네트워크(QN)로부터 적어도 하나의 가용 소프트웨어 아티팩트를 다운로드하는 것이 요구되는지(desired)의 여부를 결정하기 위해 운영자(OP)에 의해 각각의 메시지가 검사되며,
    - 적어도 하나의 가용 소프트웨어 아티팩트의 다운로드가 요구되는 경우, 적어도 하나의 가용 소프트웨어 아티팩트를 특성화하는 데이터가 타겟 네트워크 내부 정보 구조(WL)에 저장됨에 따라, 각각의 엔트리가 각각 하나의 소프트웨어 아티팩트를 특성화하고,
    타겟 네트워크 내부 정보 구조(WL)는 타겟 네트워크(ZN)의 운영자(OP)에 의해서만 변경될 수 있는, 소프트웨어 아티팩트의 전송 방법.
  3. 제1항 또는 제2항에 있어서, 상기 요청은 타겟 네트워크(ZN)에서 미리 결정 가능한 시간 간격으로 생성되고, 소스 네트워크(QN) 또는 프록시 시스템(PS)으로 어드레싱되는, 소프트웨어 아티팩트의 전송 방법.
  4. 제1항 또는 제2항에 있어서, 플러그인(PL)은 타겟 네트워크(ZN)를 대신하여 소프트웨어 아티팩트를 다운로드하는, 소프트웨어 아티팩트의 전송 방법.
  5. 제4항에 있어서, 플러그인(PL)은 소프트웨어 아티팩트를 다운로드하기 위해 타겟 네트워크(Z)와 소스 네트워크의 서버 사이에 연결을 설정하는, 소프트웨어 아티팩트의 전송 방법.
  6. 제5항에 있어서, 플러그인(PL)은 소프트웨어 아티팩트를 다운로드하기 위해 타겟 네트워크(ZN)에 등록된 적어도 하나의 기기와 소스 네트워크의 서버 사이에 연결을 설정하는, 소프트웨어 아티팩트의 전송 방법.
  7. 제4항에 있어서, 플러그인(PL)은 다운로드된 소프트웨어 아티팩트를 타겟 네트워크(ZN)에 등록된 적어도 하나의 기기로 전달하고, 그에 이어서 상기 소프트웨어 아티팩트가 상기 적어도 하나의 기기(ED)에 설치되는, 소프트웨어 아티팩트의 전송 방법.
  8. 제1항 또는 제2항에 있어서, 상기 소프트웨어 아티팩트의 무결성이 플러그인(PL)을 사용하여 검사되는, 소프트웨어 아티팩트의 전송 방법.
  9. 제8항에 있어서, 상기 무결성 검사는 소프트웨어 아티팩트의 서명 유효성 검사를 포함하는, 소프트웨어 아티팩트의 전송 방법.
  10. 제1항 또는 제2항에 있어서, 타겟 네트워크 내부 정보 구조(WL) 내의 각각의 엔트리는 소프트웨어 아티팩트의 식별, 소프트웨어 아티팩트의 암호화 서명, 소프트웨어 아티팩트가 다운로드될 수 있는 시점의 표시, 및 텍스트 설명 중 적어도 하나를 포함하는, 소프트웨어 아티팩트의 전송 방법.
  11. 제1항 또는 제2항에 있어서, 개인 키와 공개 키로부터 키 쌍이 생성되며, 개인 키는 소스 네트워크(QN)에 제공되고 공개 키는 타겟 네트워크에 제공되며, 소프트웨어 아티팩트는 개인 키를 사용하여 생성된 서명으로 소스 네트워크(QN)에서 서명되고, 서명된 소프트웨어 아티팩트의 서명은 지정된 소프트웨어 아티팩트를 갖는 기기(ED)의 해당 공개 키를 사용하여 타겟 네트워크(ZN)에서 검증되는, 소프트웨어 아티팩트의 전송 방법.
  12. 제1항 또는 제2항에 있어서, 소프트웨어 아티팩트를 다운로드 전에 암호화하고 다운로드 후에 복호화하는, 소프트웨어 아티팩트의 전송 방법.
  13. 제1항 또는 제2항에 있어서, 상기 방법의 모든 단계가 기록되며, 각각의 단계에 타임 스탬프가 부여되고, 이를 통해 생성된 로그는 데이터베이스에 저장되며, 데이터베이스는 타겟 네트워크(ZN)에 포함되는, 소프트웨어 아티팩트의 전송 방법.
  14. 제1항 또는 제2항에 있어서, 플러그인(PL)은 요청 및 다운로드에 관한 세부사항을 적어도 부분적으로 로그 데이터 구조에 기록하는, 소프트웨어 아티팩트의 전송 방법.
  15. 제14항에 있어서, 로그 데이터 구조는 로그 파일로서 정의되는, 소프트웨어 아티팩트의 전송 방법.
  16. 제14항에 있어서, 상기 로그 데이터 구조는 영구 또는 휘발성 데이터베이스 또는 아카이브 시스템에 기록되는, 소프트웨어 아티팩트의 전송 방법.
  17. 제1항 또는 제2항에 있어서, 타겟 네트워크 내부 정보 구조(WL)는 파일 형태로 구현되는, 소프트웨어 아티팩트의 전송 방법.
  18. 제1항 또는 제2항에 있어서, 상기 엔트리는 분산형 데이터베이스 시스템 내 엔트리로서 구성되는, 소프트웨어 아티팩트의 전송 방법.
  19. 제18항에 있어서, 상기 데이터베이스 시스템은 엔트리를 다수의 타겟 네트워크 내부 정보 구조로 배포하도록 설정되는, 소프트웨어 아티팩트의 전송 방법.
  20. 제1항 또는 제2항에 있어서, 상기 타겟 네트워크 내부 정보 구조(WL)의 제공은 해당 명령을 처리하는 컴퓨터 프로그램에 의해 완전히 수행되는, 소프트웨어 아티팩트의 전송 방법.
  21. 제1항 또는 제2항에 있어서, 요청들은 단말기의 명칭을 포함하는, 소프트웨어 아티팩트의 전송 방법.
  22. 제21항에 있어서, 상기 단말기의 명칭은 단말기의 유형 또는 모델인, 소프트웨어 아티팩트의 전송 방법.
  23. 제1항 또는 제2항에 있어서, 요청들이 동일한 경우, 플러그인이 상기 동일한 요청들을 풀링하고, 검색 시 단 하나의 요청만 사용하며 한 번만 다운로드하는, 소프트웨어 아티팩트의 전송 방법.
  24. 컴퓨터-판독가능 기록 매체에 저장된, 프록시 시스템(PS)용 플러그인(PL)으로서, 상기 프록시 시스템은 타겟 네트워크(ZN)와 소스 네트워크(QN) 사이에 배치되고, 상기 플러그인(PL)은:
    - 타겟 네트워크 내부 정보 구조(WL)로부터 엔트리를 판독출력하고 - 각각의 엔트리는 타겟 네트워크(ZN)의 운영자(OP)에 의해 승인되어야 다운로드될 수 있는 각각 하나의 소프트웨어 아티팩트를 특성화함 -,
    - 새로운 소프트웨어 아티팩트의 가용성과 관련한, 타겟 네트워크(ZN)로부터 소스 네트워크(QN)로의 요청을 소스 네트워크(QN)를 대신해서 수신하고,
    - 각각의 요청에 대해 이 요청에 부합하는 적어도 하나의 엔트리를 타겟 네트워크 내부 정보 구조(WL)로부터 검색하고,
    - 상기 적어도 하나의 부합하는 엔트리가 타겟 네트워크 내부 정보 구조(WL) 내에 존재하는지의 여부에 따라, 요청에 부합하는 적어도 하나의 엔트리에서 특성화된 소프트웨어 아티팩트를 검색하거나, 상기 요청을 차단하고,
    - 소프트웨어 아티팩트를 검색하기 위해, 타겟 네트워크(ZN)로부터 소스 네트워크(QN)로의 연결을 설정하고, 검색 후에 다시 분리하도록
    구성되는, 프록시 시스템용 플러그인.
  25. 소스 네트워크(QN), 타겟 네트워크(ZN), 타겟 네트워크와 소스 네트워크 사이에 연결된 프록시 시스템(PS), 및 타겟 네트워크 내부 정보 구조(WL)를 포함하는 시스템으로서, 프록시 시스템(PS)은 제24항에 따른 플러그인(PL)을 포함하고, 상기 정보 구조는 엔트리들을 포함하며, 각각의 엔트리는 타겟 네트워크(ZN)의 운영자(OP)에 의해 승인되어야 다운로드될 수 있는 각각 하나의 소프트웨어 아티팩트를 특성화하며, 상기 시스템은 제1항 또는 제2항에 따른 방법의 단계를 실행하기 위한 추가 수단을 포함하는, 시스템.
  26. 삭제
KR1020227039680A 2020-04-17 2021-04-09 소스 네트워크로부터 타겟 네트워크로 소프트웨어 아티팩트를 전송하기 위한 방법 및 시스템 KR102632546B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP20170134.9 2020-04-17
EP20170134.9A EP3896590A1 (de) 2020-04-17 2020-04-17 Verfahren und systeme zum übertragen von software-artefakten aus einem quellnetzwerk zu einem zielnetzwerk
PCT/EP2021/059246 WO2021209323A1 (de) 2020-04-17 2021-04-09 Verfahren und systeme zum übertragen von software-artefakten aus einem quellnetzwerk zu einem zielnetzwerk

Publications (2)

Publication Number Publication Date
KR20220165783A KR20220165783A (ko) 2022-12-15
KR102632546B1 true KR102632546B1 (ko) 2024-02-02

Family

ID=70390753

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227039680A KR102632546B1 (ko) 2020-04-17 2021-04-09 소스 네트워크로부터 타겟 네트워크로 소프트웨어 아티팩트를 전송하기 위한 방법 및 시스템

Country Status (5)

Country Link
US (1) US20230179667A1 (ko)
EP (2) EP3896590A1 (ko)
KR (1) KR102632546B1 (ko)
CN (1) CN115413343A (ko)
WO (1) WO2021209323A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180032720A1 (en) * 2010-10-06 2018-02-01 Red Hat, Inc. Detection of malicious software packages

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156488B2 (en) * 2004-10-20 2012-04-10 Nokia Corporation Terminal, method and computer program product for validating a software application
US20070094400A1 (en) * 2005-10-20 2007-04-26 Childress Rhonda L Software installation within a federation
US9384360B2 (en) * 2005-12-29 2016-07-05 Nextlabs, Inc. Techniques and system for specifying policies using abstractions
US9407662B2 (en) * 2005-12-29 2016-08-02 Nextlabs, Inc. Analyzing activity data of an information management system
US8090797B2 (en) * 2009-05-02 2012-01-03 Citrix Systems, Inc. Methods and systems for launching applications into existing isolation environments
US8942888B2 (en) * 2009-10-15 2015-01-27 Airbiquity Inc. Extensible scheme for operating vehicle head unit as extended interface for mobile device
US9002574B2 (en) * 2009-10-15 2015-04-07 Airbiquity Inc. Mobile integration platform (MIP) integrated handset application proxy (HAP)
EP2339459B1 (en) * 2009-12-22 2018-09-26 BlackBerry Limited Method, system and apparatus for installing software on a mobile electronic device via a proxy server
WO2013015835A1 (en) * 2011-07-22 2013-01-31 Seven Networks, Inc. Mobile application traffic optimization
US20130097660A1 (en) * 2011-10-17 2013-04-18 Mcafee, Inc. System and method for whitelisting applications in a mobile network environment
US8819772B2 (en) * 2012-06-25 2014-08-26 Appthority, Inc. In-line filtering of insecure or unwanted mobile device software components or communications
US8874761B2 (en) * 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US10348767B1 (en) * 2013-02-26 2019-07-09 Zentera Systems, Inc. Cloud over IP session layer network
CN105659557B (zh) * 2013-09-20 2019-11-01 甲骨文国际公司 用于单点登录的基于网络的接口集成的方法和系统
WO2016061520A1 (en) * 2014-10-16 2016-04-21 Amazon Technologies, Inc. On-demand delivery of applications to virtual desktops
US10650154B2 (en) * 2016-02-12 2020-05-12 Sophos Limited Process-level control of encrypted content
WO2018004600A1 (en) * 2016-06-30 2018-01-04 Sophos Limited Proactive network security using a health heartbeat

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180032720A1 (en) * 2010-10-06 2018-02-01 Red Hat, Inc. Detection of malicious software packages

Also Published As

Publication number Publication date
CN115413343A (zh) 2022-11-29
WO2021209323A1 (de) 2021-10-21
KR20220165783A (ko) 2022-12-15
EP4107640B1 (de) 2024-01-31
EP3896590A1 (de) 2021-10-20
US20230179667A1 (en) 2023-06-08
EP4107640A1 (de) 2022-12-28
EP4107640C0 (de) 2024-01-31

Similar Documents

Publication Publication Date Title
CN111541785B (zh) 基于云计算的区块链数据处理方法及装置
US10341321B2 (en) System and method for policy based adaptive application capability management and device attestation
CN113691597B (zh) 区块链合约部署方法、装置、设备以及存储介质
CN110336810B (zh) 信息分享方法、平台、计算设备及存储介质
US9900161B2 (en) Method for certifying android client application by local service unit
US11856106B2 (en) Secure configuration of a device
US8417964B2 (en) Software module management device and program
CN111262889B (zh) 一种云服务的权限认证方法、装置、设备及介质
KR20140043068A (ko) 애플리케이션 증명을 위한 시스템 및 방법
CN112149105A (zh) 数据处理系统、方法、相关设备及存储介质
CN111108735A (zh) 资产更新服务
CN115113970A (zh) 一种基于容器引擎的数据处理方法以及相关设备
CN111492355A (zh) 用于控制和/或监控装置的方法和控制系统
CN113261253A (zh) 用于控制资源的释放的方法和系统
CN111800426A (zh) 应用程序中原生代码接口的访问方法、装置、设备及介质
CN111414640A (zh) 秘钥访问控制方法和装置
US10033719B1 (en) Mobile work platform for remote data centers
Bradley et al. Towards characterizing iot software update practices
CN113228555B (zh) 用于统一安全配置管理的方法、系统和装置
US20170237716A1 (en) System and method for interlocking intrusion information
KR102632546B1 (ko) 소스 네트워크로부터 타겟 네트워크로 소프트웨어 아티팩트를 전송하기 위한 방법 및 시스템
EP2793160A1 (en) Method and device for verification of an application
KR101881278B1 (ko) 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법
CN115801292A (zh) 访问请求的鉴权方法和装置、存储介质及电子设备
CN114861144A (zh) 基于区块链的数据权限处理方法

Legal Events

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