KR20230032807A - Secure platform system for analyzing cdm data in multi-institutional distributed network, and method of the same - Google Patents

Secure platform system for analyzing cdm data in multi-institutional distributed network, and method of the same Download PDF

Info

Publication number
KR20230032807A
KR20230032807A KR1020210135966A KR20210135966A KR20230032807A KR 20230032807 A KR20230032807 A KR 20230032807A KR 1020210135966 A KR1020210135966 A KR 1020210135966A KR 20210135966 A KR20210135966 A KR 20210135966A KR 20230032807 A KR20230032807 A KR 20230032807A
Authority
KR
South Korea
Prior art keywords
user
server
ticket
code
analysis
Prior art date
Application number
KR1020210135966A
Other languages
Korean (ko)
Other versions
KR102623243B1 (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 고려대학교 세종산학협력단
Publication of KR20230032807A publication Critical patent/KR20230032807A/en
Application granted granted Critical
Publication of KR102623243B1 publication Critical patent/KR102623243B1/en

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H70/00ICT specially adapted for the handling or processing of medical references
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/321Cryptographic 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 involving a third party or a trusted authority
    • H04L9/3213Cryptographic 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 involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/88Medical equipments

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Computer Hardware Design (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Automatic Analysis And Handling Materials Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Various embodiments provide a secure platform system for analyzing CDM data in a multi-institutional distributed network, and a method thereof. According to various embodiments, a method comprises the steps of: generating, by an authentication server, a token for a user; generating, by a code signer, an electronic signature for an analysis code of the user; issuing, by a ticket issuing server, a ticket for the user; verifying, by a service server of each hospital, the user using the ticket and using the electronic signature to verify the analysis code; when verification of the user and the analysis code is successful, executing, by the service server, the analysis code to analyze CDM data of the hospital; and replying, by the service server, to the user with an analysis result of the CDM data. According to the present invention, patients do not have to worry about personal information being leaked outside the hospital.

Description

다기관 분산 환경에서 안전한 다기관 CDM 데이터를 분석하기 위한 플랫폼 시스템 및 그의 방법{SECURE PLATFORM SYSTEM FOR ANALYZING CDM DATA IN MULTI-INSTITUTIONAL DISTRIBUTED NETWORK, AND METHOD OF THE SAME}Platform system and method thereof for analyzing secure multi-organizational CDM data in a multi-organization distributed environment

다양한 실시예들은 의료 정보 시스템 및 그의 방법에 관한 것으로, 보다 세부적으로는 여러 병원의 의료 데이터를 안전하고 편리하게 분석하기 위한 네트워크 보안 플랫폼 시스템 및 그의 방법에 관한 것이다.Various embodiments relate to a medical information system and method thereof, and more particularly, to a network security platform system and method for safely and conveniently analyzing medical data of various hospitals.

지난 수십년간 전세계 각 지역의 병원들은 환자에 대한 진료 및 관찰 데이터를 수집해 빅데이터를 형성했다. 하지만, 헬스 빅데이터는 병원별로 각기 다른 양식으로 보관되고 있기 때문에 다기관 연구에 적합하지 않다. 이에 국제 비영리 단체인 OHDSI(observational health data sciences and informatics)는 헬스 빅데이터 분석을 지원하기 위한 많은 소프트웨어를 제시했다.Over the past decades, hospitals around the world have collected medical treatment and observation data on patients to form big data. However, since health big data is stored in different formats for each hospital, it is not suitable for multi-center research. In response, OHDSI (observational health data sciences and informatics), an international non-profit organization, has presented many software to support health big data analysis.

첫 번째로, OHDSI는 병원별로 상이한 데이터 양식을 표준화하기 위해 OMOP-CDM(observational medical outcomes partnership common data model)을 제공한다. OMOP-CDM은 진료 및 관찰 데이터를 저장하기 위한 공통된 데이터베이스 스키마이다. OMOP-CDM은 오라클(Oracle) 및 MS SQL 서버와 같은 대중적으로 사용되는 DBMS를 지원한다. 병원의 데이터 큐레이터는 ETL(extract-transform-load)을 통해 원내의 원본 의료 데이터를 OMOP-CDM으로 변환한다.First, OHDSI provides the OMOP-CDM (observational medical outcomes partnership common data model) to standardize different data formats for different hospitals. OMOP-CDM is a common database schema for storing medical and observational data. OMOP-CDM supports popular DBMS such as Oracle and MS SQL Server. The hospital's data curator converts the original medical data in the hospital into OMOP-CDM through ETL (extract-transform-load).

두 번째로, OHDSI는 OMOP-CDM으로 변환된 의료 데이터를 분석하기 위한 플랫폼으로 아틀라스(Atlas)를 제공한다. 아틀라스는 웹 애플리케이션 형태로 구현되었으며, 코호트 정의와 같은 기능을 지원한다. 아틀라스의 가장 특징적인 기능은 데이터를 분석하기 위한 분석코드를 자동으로 생성하는 것이다. 이 분석코드는 R 언어로 작성되어 있다. 사용자는 아틀라스를 통해 생성한 분석코드를 자신의 로컬 컴퓨팅 환경에서 실행하여 의료 데이터를 분석한다. 이 분석코드는 실행 중 원격의 OMOP-CDM 데이터베이스에 접속하여 필요한 데이터를 읽는다. 또한, 2개 이상의 병원이 OMOP-CDM 데이터베이스를 마련했다면, 사용자는 동일한 분석코드를 통해 해당 병원들의 데이터를 손 쉽게 분석할 수 있다.Second, OHDSI provides Atlas as a platform for analyzing medical data converted to OMOP-CDM. Atlas is implemented in the form of a web application and supports functions such as cohort definition. The most distinctive feature of Atlas is that it automatically generates analysis codes to analyze data. This analysis code is written in R language. The user analyzes medical data by executing the analysis code generated through Atlas in his/her local computing environment. During execution, this analysis code accesses the remote OMOP-CDM database and reads necessary data. In addition, if two or more hospitals have prepared the OMOP-CDM database, the user can easily analyze the data of the corresponding hospitals through the same analysis code.

이와 같이 OHIDS가 OMOP-CDM으로 표현된 의료 데이터를 분석하기 위한 다양한 소프트웨어를 지원하지만, 아틀라스와 OMOP-CDM은 여전히 몇 가지 문제들을 가지고 있다. 그들 중 하나는, OMOP-CDM 데이터가 의료 데이터에 대한 통일된 표현을 제공하지만, 병원들은 여전히 데이터베이스를 외부로부터 격리된 원내 네트워크에 보관한다는 것이다. 이러한 운영 환경은 외부 사용자의 데이터에 대한 접근성을 떨어뜨린다. 그들 중 다른 하나는, 사용자는 여전히 데이터에 접근하기 위해 각 병원에 개별적으로 신원을 증명해야 한다는 것이다. 다시 말해, 각 병원은 사용자를 인증하기 위한 계정 데이터베이스를 별도로 운영해야 한다.As such, although OHIDS supports various software for analyzing medical data expressed in OMOP-CDM, Atlas and OMOP-CDM still have some problems. One of them is that although OMOP-CDM data provides a unified representation of medical data, hospitals still keep their databases in isolated in-hospital networks. Such an operating environment reduces the accessibility to external users' data. Another of them is that users still have to individually prove their identity to each hospital in order to access their data. In other words, each hospital must operate a separate account database for authenticating users.

사용자에 대한 인증은 네트워크를 통한 원격 서비스 개발에 필수이다. 인가된 사용자에게만 서비스를 제공해야 하기 때문이다. 특히, 서비스들이 네트워크 상에 분산된 경우, 특별한 인증 프로토콜이 요구된다. 분산 환경에 대한 고려 없이, 인증 프로토콜을 설계할 경우, 서비스 별로 사용자의 계정 데이터베이스를 운영해야 한다. 커버로스(Kerberos)는 이를 해결하기 위해 고안되었다.User authentication is essential for remote service development through the network. This is because the service must be provided only to authorized users. In particular, when services are distributed over a network, a special authentication protocol is required. When designing an authentication protocol without considering a distributed environment, a user account database must be operated for each service. Kerberos was designed to solve this.

커버로스는 사용자 인증과 서비스 접근 인가를 분리하는 것을 목표로 하며, 이를 위해 3개의 주요 구성요소들, 즉, 인증 서버, 티켓 발행 서버, 및 서비스 서버를 요구한다. 이들 중 서비스 서버는 앞서 언급한 네트워크 상에 분산된 서비스를 의미하며, 서비스를 제공하는 (CDM 데이터 분석하는) 서버로써, 여러 개이다. 인증 서버는 사용자의 계정 데이터베이스와 연동하여 사용자의 신원을 검증하는 역할을 수행한다. 신원이 확인된 사용자는 인증 서버로부터 티켓 발생 서버를 이용할 수 있는 티켓이 발행된다. 티켓 발행 서버는 신원이 확인된 사용자에게 서비스 서버를 이용할 수 있게 하는 티켓을 발행한다. 티켓 발행 서버가 발급한 티켓을 서비스 서버가 검증함으로써, 서비스 서버는 별도의 사용자 계정 데이터베이스 없이 사용자에게 서비스 접근을 인가할 수 있다. 또한 사용자가 새로운 서비스 서버에 접근할 경우, 인증 서버를 통해 처음부터 신원 증명을 수행하지 않고, 티켓 발행 서버에 인증 서버의 티켓만 제시함으로써, 서비스 서버에 대한 접근 권한을 획득할 수 있다.Kerberos aims to separate user authentication and service access authorization, and for this purpose, it requires three main components: an authentication server, a ticket issuance server, and a service server. Among them, the service server means the aforementioned service distributed on the network, and there are several servers that provide the service (analyze CDM data). The authentication server plays a role in verifying the user's identity in conjunction with the user's account database. The user whose identity has been confirmed is issued a ticket to use the ticket generation server from the authentication server. The ticket issuing server issues a ticket allowing the user to use the service server to the identified user. When the service server verifies the ticket issued by the ticket issuing server, the service server can authorize service access to the user without a separate user account database. In addition, when a user accesses a new service server, it is possible to acquire access rights to the service server by presenting only the ticket of the authentication server to the ticket issuing server without performing identity verification from the beginning through the authentication server.

커버로스가 분산 네트워크 환경에서 편리한 사용자 인증을 제공하지만, 사용자가 한 번에 하나의 서비스에만 접근할 수 있도록 한다. 또한 커버로스는 사용자의 신원을 입증하기 위한 정보만 암호화되어 전달될 뿐, 추가적인 데이터를 안전하게 전달하기 위한 수단은 서비스에 의존한다.Although Kerberos provides convenient user authentication in a distributed network environment, it allows users to access only one service at a time. In Kerberos, only the information to prove the user's identity is encrypted and delivered, and the means to safely deliver additional data relies on the service.

전술한 바와 같이, 병원들은 관리와 보안상의 이유로 의료 데이터를 기관의 로컬 네트워크 내에 보관한다. 이러한 세팅은 분석할 자원(의료 데이터)가 네트워크상에 분산되게 하기 때문에, 의료 데이터를 통합하기 위한 고민을 강구하게 한다. 한편, 일반적으로, 병원은 개별적으로 데이터를 누적해왔기 때문에 고유의 데이터를 저장하기 위한 고유의 양식을 가지고 있다. 데이터 양식의 차이는 각 기관으로부터 수집된 의료 데이터를 병합하고, 나아가 분석할 때 걸림돌이 될 수 있다. 또한, 적절한 보안 없이 데이터를 병원 전산망 밖으로 전송하는 것은 환자의 프라이버시를 침해할 수 있다. 아울러, 기관들 간에 안전한 네트워크 채널을 통해 의료 데이터를 전달하더라도 환자들은 자신의 개인정보가 포함되는 것을 원치 않을 수 있다.As mentioned above, hospitals store medical data within the institution's local network for administrative and security reasons. Since this setting causes the resources to be analyzed (medical data) to be distributed on the network, it is difficult to integrate the medical data. On the other hand, in general, hospitals have their own form for storing their own data because they have individually accumulated data. Differences in data formats can be an obstacle when merging and further analyzing medical data collected from each institution. In addition, transferring data outside the hospital network without adequate security may violate patients' privacy. In addition, even if medical data is transmitted through a secure network channel between institutions, patients may not want their personal information to be included.

따라서, 다양한 실시예들은, 인터넷상에 위치한 플랫폼의 보안 서버 그룹으로부터 인증된 사용자가 플랫폼에 연결된 병원들의 서버에 의료 데이터 분석코드를 안전하고 신속하게 전달하고, 분석 결과 또한 안전하고 신속하게 회신 받는데 그 목적이 있다.Therefore, in various embodiments, a user authenticated from a secure server group of a platform located on the Internet safely and quickly delivers medical data analysis codes to servers of hospitals connected to the platform, and the analysis results are also safely and quickly returned. There is a purpose.

다양한 실시예들은 다기관 분산 환경에서 안전한 다기관 CDM 데이터를 분석하기 위한 플랫폼 시스템 및 그의 방법을 제공한다.Various embodiments provide a platform system and method thereof for analyzing secure multi-agency CDM data in a multi-agency distributed environment.

다양한 실시예들에 따른 플랫폼 시스템은, 사용자를 위한 토큰을 생성하도록 구성되는 인증 서버, 상기 사용자의 분석코드에 대한 전자서명을 생성하도록 구성되는 코드 사이너, 상기 사용자를 위한 티켓을 발행하도록 구성되는 티켓 발행 서버, 및 각 병원에서, 상기 티켓을 이용하여 상기 사용자를 검증하고, 상기 전자서명을 이용하여 상기 분석코드를 검증하며, 상기 사용자 및 상기 분석코드에 대한 검증에 성공 시, 상기 분석코드를 실행하여, 상기 병원의 CDM 데이터를 분석하도록 구성되는 서비스 서버를 포함한다. A platform system according to various embodiments includes an authentication server configured to generate a token for a user, a code signer configured to generate an electronic signature for an analysis code of the user, and a ticket configured to issue a ticket for the user. The ticket issuing server and each hospital verify the user using the ticket, verify the analysis code using the electronic signature, and when the verification of the user and the analysis code succeeds, the analysis code and a service server configured to execute and analyze CDM data of the hospital.

다양한 실시예들에 따른 플랫폼 시스템의 방법은, 인증 서버가 사용자를 위한 토큰을 생성하는 단계, 코드 사이너가 상기 사용자의 분석코드에 대한 전자서명을 생성하는 단계, 티켓 발행 서버가 상기 사용자를 위한 티켓을 발행하는 단계, 각 병원의 서비스 서버가 상기 티켓을 이용하여 상기 사용자를 검증하고, 상기 전자서명을 이용하여 상기 분석코드를 검증하는 단계, 및 상기 사용자 및 상기 분석코드에 대한 검증에 성공 시, 상기 서비스 서버가 상기 분석코드를 실행하여, 상기 병원의 CDM 데이터를 분석하는 단계를 포함한다. The method of the platform system according to various embodiments includes generating a token for a user by an authentication server, generating a digital signature for an analysis code of the user by a code signer, and generating a ticket by a ticket issuing server for the user. issuing, the service server of each hospital verifying the user using the ticket, verifying the analysis code using the electronic signature, and when the verification of the user and the analysis code succeeds, and analyzing the CDM data of the hospital by the service server executing the analysis code.

다양한 실시예들에 따르면, 플랫폼에 연결된 병원들의 의료 데이터가 CDM으로 통일화되기 때문에, 외부 연구자가 동일한 방법론을 통해 여러 병원의 데이터를 분석할 수 있다. 그리고, CDM 데이터가 병원의 로컬 네트워크 밖으로 전송되지 않고, 내부, 즉 서비스 서버에서만 분석되기 때문에, 환자들은 개인정보를 병원 외부로의 유출을 염려하지 않아도 된다. According to various embodiments, since medical data of hospitals connected to the platform are unified into CDM, an external researcher can analyze data of multiple hospitals through the same methodology. And, since the CDM data is not transmitted outside the local network of the hospital and analyzed only inside the service server, patients do not have to worry about leakage of personal information outside the hospital.

다양한 실시예들에 따르면, 사용자들은 병원의 로컬 네트워크 외부에 위치한 플랫폼의 보안 서버 그룹을 통해 (여러 단계의) 인증을 수행한다. 인증에 통과한 사용자는 데이터 분석을 요청할 각 병원에서 추가로 인증을 수행하지 않는다. 따라서, 각 병원은 사용자의 신원을 확인하기 위한 계정 데이터베이스를 운영하지 않아도 된다.According to various embodiments, users perform (multiple steps) authentication through a group of secure servers on the platform located outside the hospital's local network. Users who pass authentication do not perform additional authentication at each hospital that requests data analysis. Therefore, each hospital does not have to operate an account database to verify the user's identity.

사용자가 작성한 CDM 데이터 분석코드는 사용자로부터 병원의 서비스 서버까지 전달되는 동안 제3자에 의해 변조되어서는 안된다. 다양한 실시예들은 이 과정에서 분석코드의 무결성을 보장할 수 있다.The CDM data analysis code written by the user must not be altered by a third party while being transferred from the user to the hospital's service server. Various embodiments may ensure the integrity of the analysis code in this process.

도 1은 다양한 실시예들에 따른 다기관 분산 환경에서 안전한 다기관 CDM 데이터를 분석하기 위한 플랫폼 시스템 및 그의 방법을 개략적으로 도시하는 도면이다.
도 2는 도 1의 사용자가 인증 서버를 통해 플랫폼의 인증을 수행하는 과정를 세부적으로 도시하는 도면이다.
도 3은 도 1의 사용자가 CDM 데이터를 분석하기 위한 분석코드에 대한 전자서명을 코드 사이너로부터 발급받는 과정을 세부적으로 도시하는 도면이다.
도 4는 도 1의 사용자가 티켓 발행 서버를 통해 플랫폼의 모든 병원의 CDM 데이터 접근하기 위한 티켓을 발급받는 과정을 세부적으로 도시하는 도면이다.
도 5 및 도 6은 도 1의 사용자가 중계 서버를 통해 티켓과 전자서명이 포함된 분석코드를 플랫폼에 연결된 모든 병원에 분배하고, 분석 결과를 회신받는 과정를 세부적으로 도시하는 도면들이다.
도 7은 다양한 실시예들에 따른 플랫폼 시스템의 서비스 서버의 내부 구성을 도시하는 도면이다.
1 is a diagram schematically illustrating a platform system and method thereof for analyzing secure multi-organization CDM data in a multi-organization distributed environment according to various embodiments.
FIG. 2 is a diagram showing in detail a process in which the user of FIG. 1 performs platform authentication through an authentication server.
FIG. 3 is a diagram showing in detail a process in which the user of FIG. 1 receives an electronic signature for an analysis code for analyzing CDM data from a code signer.
FIG. 4 is a diagram showing in detail a process in which the user of FIG. 1 obtains a ticket for accessing CDM data of all hospitals of the platform through a ticket issuing server.
5 and 6 are diagrams showing in detail a process in which the user of FIG. 1 distributes an analysis code including a ticket and an electronic signature to all hospitals connected to the platform through a relay server and receives an analysis result.
7 is a diagram illustrating an internal configuration of a service server of a platform system according to various embodiments.

이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 설명된다. Hereinafter, various embodiments of this document will be described with reference to the accompanying drawings.

도 1은 다양한 실시예들에 따른 다기관 분산 환경에서 안전한 다기관 CDM 데이터를 분석하기 위한 플랫폼 시스템(100) 및 그의 방법을 개략적으로 도시하는 도면이다. 1 is a diagram schematically illustrating a platform system 100 and method thereof for analyzing secure multi-agency CDM data in a multi-agency distributed environment according to various embodiments.

도 1을 참조하면, 다양한 실시예들에 따른 플랫폼 시스템(100)은, 병원들의 각각이 CDM 데이터를 자체 서버에 보관하면서, 네트워크로 연결되는 분산 네트워크 위에서 구축된다. 구체적으로, 플랫폼 시스템(100)은 보안 서버 그룹(110), 인증 기관(certificate authority; CA) (120), 및 각 병원의 병원 네트워크(130)를 포함한다. 보안 서버 그룹(110)은 인증 서버(authentication server; AS)(111), 코드 사이너(code signer; CS)(113), 티켓 발행 서버(ticket-granting server; TGS)(115), 및 중계 서버(relaying server; RS)(117)로 구성된다. 보안 서버 그룹(110)의 각 서버(111, 113, 115, 117)들은 하나의 컴퓨터 내의 각 응용 프로그램 형태로 구현되거나, 네트워크에 연결되어 있는 복수의 컴퓨터들의 각각에 독립적으로 구현될 수 있다. 독립적으로 동작하는 인증 기관(120)은 인터넷을 통해 보안 서버 그룹(110)에 연결된다. 병원 네트워크(130)는 서비스 서버(service server; SS)(131) 및 CDM 데이터를 위한 데이터베이스(133)로 구성된다. 이 플랫폼 시스템(100)은 의료 CDM으로써 OMOP-CDM을 사용한다. 따라서, 플랫폼 시스템(100)은 OMOP-CDM으로 변환된 의료 데이터를 분석하기 위해 R 언어로 작성된 분석코드(analysis codes; AC)를 이용한다. 병원 네트워크(130)는 인터넷을 통해 보안 서버 그룹(110)에 연결된다.Referring to FIG. 1 , a platform system 100 according to various embodiments is built on a distributed network in which each hospital stores CDM data in its own server and is connected to a network. Specifically, the platform system 100 includes a secure server group 110, a certificate authority (CA) 120, and a hospital network 130 of each hospital. The security server group 110 includes an authentication server (AS) 111, a code signer (CS) 113, a ticket-granting server (TGS) 115, and a relay server. It is composed of (relaying server; RS) 117. Each of the servers 111, 113, 115, and 117 of the security server group 110 may be implemented in the form of each application program in one computer or independently in each of a plurality of computers connected to a network. The independently operating certification authority 120 is connected to the security server group 110 via the Internet. The hospital network 130 is composed of a service server (SS) 131 and a database 133 for CDM data. This platform system 100 uses OMOP-CDM as a medical CDM. Therefore, the platform system 100 uses analysis codes (AC) written in the R language to analyze the medical data converted to OMOP-CDM. The hospital network 130 is connected to the secure server group 110 via the Internet.

이 플랫폼 시스템(100)을 구성하는 각 컴포넌트와 사용자(140)가 플랫폼 시스템(100)에 연결된 병원의 데이터를 분석하는 방법은 다음과 같다. 먼저, 151 단계에서, 사용자(140)가 보안 서버 그룹(110)에 자신의 신원을 증명한다. 인증 서버(111)가 사용자 인증을 책임지고, 인증된 사용자(140)에게 토큰을 발행한다. 이어서, 153 단계에서, 사용자(140)는 분석코드를 코드 사이너(113)에 보내어, 코드 사이너(113)를 통해 병원들이 보유한 의료 CDM 데이터를 분석하기 위해 작성한 분석코드에 대한 전자서명을 획득한다. 계속해서, 155 단계에서, 사용자(140)는 티켓 발행 서버(115)로부터 각 병원의 서비스 서버(131)를 이용하기 위한 티켓을 발급받는다. 마지막으로, 157 단계에서, 사용자(140)는 중계 서버(117)를 통해 티켓과 전자서명이 포함된 분석코드를 플랫폼에 연결된 모든 병원에 분배하고, 분석 결과를 회신받는다. 이 모든 과정이 안전하게 운영되기 위한 사전 작업으로써 사용자(140)와 플랫폼을 구성하는 모든 컴포넌트는 각자 개인키와 공개키를 생성하고, 인증 기관(120)으로부터 공개키 인증서를 발급받는다. 이 인증서는 현시점에서 가장 널리 보편적으로 사용되고 있는 X.509 version 3 표준을 따른다. 플랫폼 참여자들은 일반적인 전자 금융 거래와 유사하게 인증서를 발급받을 수 있다.The method of analyzing the data of each component constituting the platform system 100 and the hospital connected to the platform system 100 by the user 140 is as follows. First, in step 151 , the user 140 proves his or her identity to the security server group 110 . The authentication server 111 is responsible for user authentication and issues a token to the authenticated user 140 . Subsequently, in step 153, the user 140 sends the analysis code to the code signer 113, and obtains an electronic signature for the analysis code created to analyze the medical CDM data held by hospitals through the code signer 113. do. Subsequently, in step 155, the user 140 receives a ticket for using the service server 131 of each hospital from the ticket issuing server 115. Finally, in step 157, the user 140 distributes the analysis code including the ticket and electronic signature to all hospitals connected to the platform through the relay server 117, and receives the analysis result as a reply. As a preliminary work for safely operating all of these processes, the user 140 and all the components constituting the platform each generate a private key and a public key, and receive a public key certificate from the certification authority 120 . This certificate conforms to the X.509 version 3 standard, which is currently the most widely used. Platform participants can be issued certificates similar to general electronic financial transactions.

도 2는 도 1의 사용자(140)가 인증 서버(111)를 통해 플랫폼의 인증을 수행하는 과정(151 단계)를 세부적으로 도시하는 도면이다. FIG. 2 is a diagram showing in detail a process (step 151) in which the user 140 of FIG. 1 performs authentication of the platform through the authentication server 111.

도 2를 참조하면, 플랫폼을 이용하려는 사용자(140)는 211 단계에서, 인증 서버(111)에 신원을 증명을 요청하기 위해 아이디(ID)와 패스워드(password), 또는 생체 정보(biometric)와 같은 사용자(140)의 식별 정보(IDC)를 포함하는 메시지(MC-AS)와 이에 대한 서명(

Figure pat00001
)을 전달한다. 메시지와 함께 서명이 전달되는 이유는 메시지가 네트워크를 통해 전달되는 동안 공격자에 의해 변조되는 것을 방지하고, 송신자를 확인하기 위함이다. 플랫폼의 모든 컴포넌트는 항상 이와 같이 메시지와 서명 쌍을 전달하기 때문에 특별한 경우를 제외하고 앞으로 편의상 서명에 대한 설명은 생략한다. Referring to FIG. 2, a user 140 who intends to use the platform, in step 211, requests authentication server 111 to prove his or her identity, such as ID and password, or biometric information. A message (M C-AS ) including identification information (ID C ) of the user 140 and a signature (
Figure pat00001
) is delivered. The reason why the signature is transmitted along with the message is to prevent the message from being tampered with by an attacker while it is being transmitted through the network, and to verify the sender. Since all components of the platform always deliver a message and signature pair like this, the description of the signature will be omitted for convenience except for special cases.

만약 적법한 사용자(140)라면, 인증 서버(111)는 213 단계에서, 암호학적으로 생성된 토큰(token)을 포함한 메시지(MAS-C)와 이에 대한 서명(

Figure pat00002
)를 사용자(140)에게 반환한다. 이 토큰(token)은 사용자(140)의 신원과 유효기간을 DES(data encryption standard)나 AES(advanced encryption standard)와 같은 대칭키 암호 알고리즘으로 암호화하여 생성된다. 따라서, 토큰(token) 생성에 사용된 키를 알고 있는 참여자만 토큰(token)의 유효성을 검증할 수 있다. 인증 서버(111)는 제3자가 임의로 토큰(token)을 생성하는 것을 방지하기 위해 토큰(token) 생성에 사용된 키를 누구와도 공유하지 않는다. 반대로, 플랫폼에 등록되지 않은 사용자(140)나 불법적인 요청이라면, 인증 서버(111)는 인증 실패 응답을 사용자(140)에게 전달하고, 사용자(140)는 플랫폼의 어떠한 서비스도 이용할 수 없다.If the legitimate user 140, the authentication server 111, in step 213, a message (M AS-C ) including a cryptographically generated token and a signature (
Figure pat00002
) to the user 140. This token is generated by encrypting the identity and expiration date of the user 140 with a symmetric key encryption algorithm such as data encryption standard (DES) or advanced encryption standard (AES). Therefore, only participants who know the key used to generate the token can verify the validity of the token. The authentication server 111 does not share a key used to generate a token with anyone to prevent a third party from randomly generating a token. Conversely, if it is a user 140 who is not registered with the platform or an illegal request, the authentication server 111 delivers an authentication failure response to the user 140, and the user 140 cannot use any service of the platform.

도 3은 도 1의 사용자(140)가 CDM 데이터를 분석하기 위한 분석코드(AC)에 대한 전자서명을 코드 사이너(113)로부터 발급받는 과정(153 단계)을 세부적으로 도시하는 도면이다. FIG. 3 is a diagram showing in detail a process (step 153) in which the user 140 of FIG. 1 receives an electronic signature for an analysis code (AC) for analyzing CDM data from the code signer 113.

도 3을 참조하면, 코드 사이너(113)에 접근하기 전에, 사용자(140)는 플랫폼을 통해 병원들의 CDM 데이터를 분석하기 위한 분석코드(AC)를 작성한다. 분석코드(AC)는 다양한 방식으로 작성될 수 있다. 플랫폼이 OMOP-CDM에 기반해 구현되었기 때문에, 사용자(140)는 OHDSI에서 제공하는 소프트웨어를 이용한다. 따라서, 분석코드(AC)는 일반적으로 R 언어로 작성된다. 분석코드(AC)는 코호트 정의와 SQL 질의문 같이 CDM 데이터를 분석하기 위한 모든 정보를 포함한다. 분석코드(AC)는 의료 데이터를 분석에 사용하기 때문에 네트워크를 통해 각 병원에 전달되기까지 어떠한 방식으로든 변조되어서는 안된다. 전자서명은 데이터의 무결성과 전송에서의 부인방지를 위해 사용된다. 이 요구사항을 만족하기 위해 사용자(140)는 코드 사이너(113)에게 분석코드(AC)에 대한 전자서명 생성을 요청한다. 이를 위해, 사용자(140)는, 311 단계에서, 이전 단계(213 단계)에서 인증 서버(111)로부터 발급받은 토큰(token)과 분석코드(AC)를 포함한 메시지(MC-CS)와 이에 대한 서명(

Figure pat00003
)을 코드 사이너(113)에 전달한다. Referring to FIG. 3 , before accessing the code signer 113, the user 140 writes an analysis code (AC) for analyzing CDM data of hospitals through the platform. The analysis code (AC) can be written in various ways. Since the platform is implemented based on OMOP-CDM, the user 140 uses software provided by OHDSI. Therefore, the analysis code (AC) is generally written in the R language. The analysis code (AC) includes all information for analyzing CDM data, such as cohort definitions and SQL queries. Since the analysis code (AC) uses medical data for analysis, it must not be tampered with in any way until it is delivered to each hospital through the network. Digital signatures are used for data integrity and non-repudiation in transmission. To satisfy this requirement, the user 140 requests the code signer 113 to generate a digital signature for the analysis code AC. To this end, the user 140, in step 311, receives a token issued from the authentication server 111 in the previous step (step 213) and a message (MC -CS ) including an analysis code (AC) and signature(
Figure pat00003
) to the code signer 113.

메시지에 이상이 없다면, 코드 사이너(113)는 313 단계에서, 자신의 개인키를 이용해 분석코드(AC)에 대한 전자서명(sigAC)을 생성하고, 이를 포함하는 메시지(MCS-C)와 이에 대한 서명(

Figure pat00004
)을 사용자(140)에게 응답으로 전달한다. 이 전자서명은 코드 사이너(113)의 개인키로 생성되었기 때문에 코드 사이너(113)를 제외한 누구도 동일한 전자서명을 생성할 수 없다. 반면, 코드 사이너(113)의 공개키를 획득할 수 있다면 누구나 전자서명을 검증할 수 있다. 만약 사용자(140)가 분석코드(AC)의 일부를 수정하거나, 완전히 새로운 분석코드(AC)를 작성할 경우, 코드 사이너(113)에 새로운 전자서명 생성을 요청해야 한다.If there is nothing wrong with the message, the code signer 113 generates a digital signature (sig AC ) for the analysis code (AC) using its own private key in step 313, and generates a message (M CS-C ) including it. and the signature on it (
Figure pat00004
) is delivered to the user 140 as a response. Since this electronic signature is generated with the private key of the code signer 113, no one other than the code signer 113 can generate the same electronic signature. On the other hand, anyone who can obtain the public key of the code signer 113 can verify the digital signature. If the user 140 modifies part of the analysis code AC or writes a completely new analysis code AC, the user 140 must request the code signer 113 to generate a new digital signature.

도 4는 도 1의 사용자(140)가 티켓 발행 서버(115)를 통해 플랫폼의 모든 병원의 CDM 데이터 접근하기 위한 티켓을 발급받는 과정(155 단계)을 세부적으로 도시하는 도면이다. FIG. 4 is a diagram showing in detail a process (step 155) in which the user 140 of FIG. 1 obtains a ticket for accessing CDM data of all hospitals of the platform through the ticket issuing server 115.

도 4를 참조하면, 사용자(140)는 티켓 발행 서버(115)에 플랫폼에 연결된 병원에 접근하기 위한 티켓 발급을 요청한다. 이를 위해, 사용자(140)는 411 단계에서, 인증 서버(111)의 토큰(token)과 코드 사이너(113)의 전자서명(sigAC)을 포함하는 메시지(MC-TGS)와 이에 대한 서명(

Figure pat00005
)를 전달한다. Referring to FIG. 4 , a user 140 requests a ticket issuance server 115 to issue a ticket to access a hospital connected to the platform. To this end, in step 411, the user 140 sends a message ( MC-TGS ) including a token of the authentication server 111 and a digital signature (sig AC ) of the code signer 113 and a signature thereof. (
Figure pat00005
) is delivered.

티켓 발행 서버(115)는 413 단계에서, 플랫폼의 사용자(140)에게 암호학적으로 생성된 티켓(ticket)을 포함하는 메시지(MTGS-C)와 이에 대한 서명(

Figure pat00006
)을 전달한다. 이 티켓(ticket)은 인증 서버(111)의 토큰(token)과 유사하게 사용자의 ID와 유효기간 같은 정보를 DES나 AES와 같은 대칭키 암호 알고리즘을 이용해 생성된다. 하지만, 티켓 발행 서버(115)는, 인증 서버(111)와는 달리, 티켓(ticket)을 암호화하는 데 사용한 키를 티켓(ticket)을 수신할 각 서비스 서버(131)의 공개키로 암호화하여 티켓(ticket)과 함께 사용자(140)에게 전달한다. 사용자(140)는 티켓(ticket)과 함께 전달받은 티켓 검증을 위한 키를 복호화할 수 없다. 즉, 서비스 서버(131)를 제외하고, 사용자(140)를 포함하여 어떠한 방식으로든 티켓(ticket)을 획득한 제3자는 티켓(ticket)을 생성하거나 복호화할 수 없다. 티켓 발행 서버(115)는 분산 네트워크 위에서 운영되는 플랫폼에 있어 가장 중요한 컴포넌트이다. 플랫폼의 도움 없이, 사용자(140)가 여러 의료 기관의 CDM 데이터를 분석하려 한다면 사용자(140)는 각 기관의 관리자에게 일일이 신원을 증명하고, 분석코드(AC) 실행을 요청해야 한다. 심지어, 이런 환경에서는, 각 기관이 데이터를 이용하려는 모든 사용자(140)의 신원 정보를 저장하는 데이터베이스를 운영해야 한다. 티켓 발행 서버(115)는 이러한 번거로움을 해소하기 위해 모든 의료 기관에서 데이터를 분석하려는 사용자(140)의 신원을 인증할 수 있게 하는 티켓을 생성한다. 각 병원은 이 티켓을 검증함으로써, 별도의 사용자 계정 데이터베이스 없이 사용자(140)를 인증할 수 있게 된다.In step 413, the ticket issuing server 115 sends a message (M TGS-C ) including a cryptographically generated ticket to the user 140 of the platform and a signature (
Figure pat00006
) is delivered. Similar to the token of the authentication server 111, this ticket is generated by using a symmetric key encryption algorithm such as DES or AES for information such as a user's ID and expiration date. However, unlike the authentication server 111, the ticket issuing server 115 encrypts the key used to encrypt the ticket with the public key of each service server 131 to receive the ticket, ) and delivered to the user 140. The user 140 cannot decrypt the key for validating the ticket received along with the ticket. That is, other than the service server 131, a third party including the user 140 who has obtained a ticket in any way cannot generate or decrypt the ticket. The ticketing server 115 is the most important component of a platform operating on top of a distributed network. Without the help of the platform, if the user 140 intends to analyze the CDM data of several medical institutions, the user 140 must individually prove his or her identity to the manager of each institution and request execution of the analysis code (AC). Even in this environment, each institution must operate a database storing the identity information of all users 140 who want to use the data. The ticket issuing server 115 generates a ticket enabling authentication of the identity of the user 140 who intends to analyze data in all medical institutions in order to solve this trouble. By verifying this ticket, each hospital can authenticate the user 140 without a separate user account database.

도 5 및 도 6은 도 1의 사용자(140)가 중계 서버(117)를 통해 티켓과 전자서명이 포함된 분석코드를 플랫폼에 연결된 모든 병원에 분배하고, 분석 결과를 회신받는 과정(157 단계)를 세부적으로 도시하는 도면들이다. 5 and 6 are the process of the user 140 of FIG. 1 distributing the analysis code including the ticket and digital signature to all hospitals connected to the platform through the relay server 117 and receiving the analysis result in return (step 157) These are drawings showing in detail.

도 5는 일 실시예에 따라 완전 자동화 모델에서 사용자(140), 중계 서버(117), 그리고 병원들의 서비스 서버(131)들이 통신하는 과정을 보여준다. 이 모델에서는 분석코드(AC) 분배에서 CDM 데이터 분석 결과의 회신까지 전체 과정이 완전하게 자동으로 진행된다. 5 shows a process in which a user 140, a relay server 117, and service servers 131 of hospitals communicate in a fully automated model according to an embodiment. In this model, the entire process from distributing analysis codes (AC) to returning CDM data analysis results is fully automated.

도 5를 참조하면, 사용자(140)는 사전에 인증 서버(111)의 토큰(token), 분석코드(AC), 코드 사이너(113)의 전자서명(sigAC), 및 티켓 발행 서버(115)의 티켓(ticket)을 소유하고 있다고 가정한다. 먼저 사용자(140)는 511 단계에서, 이 4개의 정보를 포함한 메시지(MC-RS)와 이에 대한 서명(

Figure pat00007
)을 보안 서버 그룹(110)의 중계 서버(117)에 전달한다. 중계 서버(117)는 토큰(token)을 검증하여 송신자의 인증 서버(111)에 의해 인증된 사용자(140)인지 확인한다. 사용자(140)의 신원이 확인되면, 중계 서버(117)는 513 단계에서, 토큰(token)을 제외한 나머지 정보를 메시지(MRS-SS)로 다시 포장하고, 이 메시지와 이에 대한 서명(
Figure pat00008
)을 플랫폼에 등록된 모든 병원의 서비스 서버(131)들(SS1-SSn)에 전달한다. Referring to FIG. 5 , the user 140 preliminarily obtains a token of the authentication server 111, an analysis code (AC), a digital signature (sig AC ) of the code signer 113, and a ticket issuing server 115 ) is assumed to have a ticket. First, in step 511, the user 140 receives a message (M C-RS ) including these four pieces of information and a signature (
Figure pat00007
) to the relay server 117 of the security server group 110. The relay server 117 verifies the token and confirms whether the sender is the user 140 authenticated by the authentication server 111 . When the identity of the user 140 is confirmed, the relay server 117 repackages the remaining information except for the token into a message (M RS-SS ) in step 513, and the message and the signature (
Figure pat00008
) to the service servers 131 (SS1-SSn) of all hospitals registered on the platform.

이들을 전달받은 서비스 서버(131)들의 각각은 티켓(ticket)과 전자서명(sigAC)을 이용해 사용자(140)와 분석코드(AC)의 진위를 확인한다. 사용자(140)와 분석코드(AC)에 대한 검증에 성공하면, 서비스 서버(131)들의 각각은 515 단계에서, 분석코드(AC)를 실행하여 해당 병원의 CDM 데이터를 분석한다. 그런 다음, 서비스 서버(131)들의 각각은 517 단계에서, 분석 결과(analysis results; AR)를 다시 중계 서버(117)로 회신한다. 마지막으로, 사용자(140)는 519 단계에서, 병원들로부터 수집된 분석 결과(AR)들을 다운로드한다. 완전 자동화 모델에서, 사용자(140)는 어느 누구의 개입 없이 병원들의 데이터를 분석할 수 있다.Each of the service servers 131 that have received them confirms the authenticity of the user 140 and the analysis code (AC) using a ticket and a digital signature (sig AC ). If the verification of the user 140 and the analysis code AC is successful, in step 515, each of the service servers 131 analyzes the CDM data of the corresponding hospital by executing the analysis code AC. Then, in step 517, each of the service servers 131 returns analysis results (AR) to the relay server 117 again. Finally, the user 140 downloads the analysis results (AR) collected from hospitals in step 519 . In a fully automated model, user 140 can analyze hospitals' data without anyone's intervention.

도 6은 다른 실시예에 따라 승인 우선 모델에서 사용자(140), 중계 서버(117), 및 병원들의 서비스 서버(131)들이 통신하는 과정을 보여준다.6 shows a process in which the user 140, the relay server 117, and the service servers 131 of hospitals communicate in the approval first model according to another embodiment.

도 6을 참조하면, 사용자(140)는 611 단계에서, 인증 서버(111)의 토큰(token), 분석코드(AC), 코드 사이너(113)의 전자서명(sigAC), 및 티켓 발행 서버(115)의 티켓(ticket)을 중계 서버(117)에 전달한다. 중계 서버(117)는 인증 서버(111)의 토큰(token)을 검증하여 사용자의 신원을 확인한다. 중계 서버(117)는 613 단계에서, 인증된 사용자(140)가 전달한 분석코드(AC), 전자서명(sigAC), 및 티켓(ticket)을 병원들의 서비스 서버(131)들에 분배한다. Referring to FIG. 6 , in step 611, the user 140 receives a token of the authentication server 111, an analysis code (AC), a digital signature (sig AC ) of the code signer 113, and a ticket issuing server. The ticket (ticket) of (115) is forwarded to the relay server (117). The relay server 117 verifies the token of the authentication server 111 to confirm the user's identity. In step 613, the relay server 117 distributes the analysis code (AC), digital signature (sig AC ), and ticket transmitted by the authenticated user 140 to service servers 131 of hospitals.

서비스 서버(131)들의 각각은 전달받은 티켓(ticket)을 검증하여 사용자를 인증하고, 전자서명(sigAC)을 검증하여 분석코드(AC)의 무결성을 확인한다. 서비스 서버(131)들의 각각은 검증을 통과한 분석코드(AC)를 곧바로 실행하지 않고, 병원의 데이터 관리자(custodian)(135)의 승인을 대기한다. 관리자(135)는 615 단계에서, 해당 병원으로 전달된 분석코드(AC)를 확인하고, 실행을 승인한다. 승인 즉시, 서비스 서버(131)들의 각각은 617 단계에서, 분석코드(AC)를 실행하여 병원의 CDM 데이터를 분석한다. 만약 관리자(135)가 분석코드(AC)의 실행을 보류하거나, 거부할 경우, 분석코드(AC)는 실행되지 않는다. 서비스 서버(131)들의 각각은 CDM 데이터에 대한 분석 결과(AR)를 곧바로 사용자(140)에게 회신하지 않고, 관리자(135)의 반출 승인을 대기한다. 관리자(135)가 619 단계에서, 분석 결과(AR)의 반출을 승인하면, 사용자(140)는 621 단계에서, 분석 결과(AR)를 다운로드할 수 있다. 반면, 관리자(135)가 분석 결과(AR)의 반출을 보류하거나, 거부할 경우, 사용자(140)는 데이터 분석이 완료되었음에도 분석 결과(AR)에 접근할 수 없다.Each of the service servers 131 authenticates the user by verifying the received ticket, and verifies the digital signature (sig AC ) to check the integrity of the analysis code (AC). Each of the service servers 131 does not immediately execute the analysis code (AC) that has passed verification, but waits for approval from the hospital data administrator (custodian) 135 . In step 615, the manager 135 checks the analysis code (AC) delivered to the hospital and approves the execution. Upon approval, each of the service servers 131, in step 617, analyzes the CDM data of the hospital by executing the analysis code (AC). If the manager 135 suspends or rejects the execution of the analysis code (AC), the analysis code (AC) is not executed. Each of the service servers 131 does not immediately return an analysis result (AR) of the CDM data to the user 140, but waits for the manager 135's export approval. If the manager 135 approves export of the analysis result AR in step 619 , the user 140 may download the analysis result AR in step 621 . On the other hand, if the manager 135 suspends or rejects export of the analysis result AR, the user 140 cannot access the analysis result AR even though the data analysis is completed.

한편, 어떤 실시예들에서는, 완전 자동화 모델과 승인 우선 모델을 결합한 하이브리드 모델이 가능하다. 하이브리드 모델에서는 병원별로 설치된 서비스 서버(131)들이 신뢰 연구자에 대한 화이트리스트를 보유한다. 만약 CDM 데이터 분석을 요청한 사용자(140)가 화이트리스트에 등록되었다면, 해당 요청은 완전 자동화 모델로 처리되고, 그렇지 않은 경우, 승인 우선 모델로 처리된다.On the other hand, in some embodiments, a hybrid model combining a fully automated model and an approval-first model is possible. In the hybrid model, the service servers 131 installed for each hospital hold a whitelist for trusted researchers. If the user 140 requesting CDM data analysis is registered in the whitelist, the request is processed in a fully automated model, and otherwise, it is processed in an approval-first model.

도 7은 다양한 실시예들에 따른 플랫폼 시스템(100)의 서비스 서버(131)의 내부 구성을 도시하는 도면이다. 이 때, 도 7의 서비스 서버(131)는 완전 자동화 모델, 승인 우선 모델, 및 하이브리드 모델을 지원하기 위한 구조를 갖는다. 7 is a diagram illustrating an internal configuration of the service server 131 of the platform system 100 according to various embodiments. At this time, the service server 131 of FIG. 7 has a structure for supporting a fully automated model, an approval priority model, and a hybrid model.

도 7을 참조하면, 서비스 서버(131)는 플랫폼 시스템(100)의 다른 컴포넌트와 달리, 의료 데이터를 분석하기 위해 다양한 기능들을 제공한다. 이를 위해, 서비스 서버(131)는 검증 모듈(710), 대기 큐(720), 실행 관리자(730), 분석코드 풀(740), R 엔진(750), 및 분석 결과 관리자(760)를 포함한다. Referring to FIG. 7 , the service server 131 provides various functions to analyze medical data unlike other components of the platform system 100 . To this end, the service server 131 includes a verification module 710, a waiting queue 720, an execution manager 730, an analysis code pool 740, an R engine 750, and an analysis result manager 760. .

서비스 서버(131)는 분석코드(AC), 분석코드(AC)의 전자서명(sigAC), 및 티켓(ticket)을 검증 모듈(710)에 전달한다. 검증 모듈(710)은 도 5및 6을 참조하여 설명한 바와 같이 분석코드(AC)에 대한 검증을 수행한다. 서비스 서버(131)는 분석코드(AC)를 실행 대기 큐(720)에 넣는다. The service server 131 transfers the analysis code (AC), the digital signature (sig AC ) of the analysis code (AC), and the ticket (ticket) to the verification module (710). The verification module 710 verifies the analysis code AC as described with reference to FIGS. 5 and 6 . The service server 131 puts the analysis code AC into the queue 720 waiting for execution.

일반적으로 분석코드(AC)의 실행은 많은 컴퓨팅 자원을 요구하기 때문에 사용자(140)의 모든 분석 요청을 병렬로 실행할 수 없다. 따라서, 서비스 서버(131)는 실행 관리자(730)를 두어, 분석코드(AC)에 대한 분석코드 풀(740)을 이용해 한 번에 실행 가능한 분석코드(AC)를 제한한다. 실행 관리자(730)는 관리자의 승인을 얻어 분석코드(AC)를 실행하여 해당 기관의 데이터베이스(133)의 CDM 데이터를 분석할 수 있다. 앞서 모든 유효성 검증에 성공하면, 서비스 서버(131)는 R 엔진(750)을 이용해 분석코드(AC)를 실행한다. 혹은 R 언어 이외의 다른 프로그래밍 언어로 분석코드(AC)가 작성되었을 경우, 적절한 실행 엔진이 호출된다. In general, since execution of the analysis code AC requires a lot of computing resources, all analysis requests of the user 140 cannot be executed in parallel. Accordingly, the service server 131 has an execution manager 730 to limit the analysis codes AC that can be executed at one time using the analysis code pool 740 for the analysis codes AC. The execution manager 730 may analyze the CDM data of the database 133 of the institution by executing the analysis code (AC) with the approval of the manager. If all of the previous validations are successful, the service server 131 executes the analysis code (AC) using the R engine 750. Alternatively, when the analysis code (AC) is written in a programming language other than the R language, an appropriate execution engine is called.

데이터 분석이 완료되면, 서비스 서버(131)는 분석 결과(AR)을 분석 결과 관리자(760)에 보관한다. 이 때, 분석결과(AR)는 zip과 같은 압축 파일 유형으로 보관될 수 있다. 서비스 서버(131)는 사용자(140)에게 CDM 데이터 분석 상태를 알릴 수 있다. 데이터 분석 과정은 많은 시간이 소요된다. 또한 기관 별로 분석코드(AC)의 실행 시간에 차이가 있을 수 있다. 사용자(140)는 모든 병원의 데이터 분석이 완료되는 것을 대기할 수 없기 때문에 주기적으로 각 병원의 분석 상태를 확인할 수 있다. 서비스 서버(131)는 사용자(140)가 분석 상태를 요청하면, "실행 대기", "실행 중", 또는 "분석 완료" 중 하나로 응답한다. 만약, 서비스 서버(131)가 완전 자동화 모델인 경우, 분석코드(AC)는 실행 대기 상태를 거치지 않고, 곧바로 실행된다. 서비스 서버(131)는 분석 결과 관리자(760)를 통해 분석결과(AR) 반출 상태를 사용자(140)에게 알릴 수 있다. 실행 관리자(730)와 마찬가지로, 분석 결과 관리자(760)는 CDM 데이터 분석 결과(AR)에 대한 사용자(140)의 회신 여부를 관리자(135)로부터 입력받는다. 사용자(140)가 서비스 서버(131)에게 분석 결과(AR) 회신 가능 여부를 요청하면, 서비스 서버(131)는 "다운로드 가능" 혹은 "반출 대기" 상태 중 하나를 회신한다. 사용자(140)는 "다운로드 가능"인 경우에만 분석 결과(AR)를 다운로드할 수 있다. 마찬가지로, 서비스 서버(131)가 완전 자동화 모델인 경우, "반출 대기" 상태는 사용되지 않는다.When data analysis is completed, the service server 131 stores the analysis result AR in the analysis result manager 760 . At this time, the analysis result (AR) may be stored in a compressed file type such as zip. The service server 131 may inform the user 140 of the CDM data analysis state. The data analysis process is time consuming. In addition, there may be differences in the execution time of the analysis code (AC) for each institution. Since the user 140 cannot wait for data analysis of all hospitals to be completed, the user 140 may periodically check the analysis status of each hospital. When the user 140 requests an analysis state, the service server 131 responds with one of “waiting for execution”, “running”, or “analysis completed”. If the service server 131 is a completely automated model, the analysis code (AC) is executed immediately without going through a waiting state for execution. The service server 131 may inform the user 140 of the analysis result (AR) export state through the analysis result manager 760 . Like the execution manager 730, the analysis result manager 760 receives an input from the manager 135 whether or not the user 140 responds to the CDM data analysis result (AR). When the user 140 requests the service server 131 whether or not the analysis result (AR) can be returned, the service server 131 returns one of “download available” or “export standby” status. The user 140 may download the analysis result AR only when it is "downloadable". Similarly, when the service server 131 is a fully automated model, the "waiting for export" state is not used.

전술된 바와 같이, 분석코드(AC)는 사용자(140)에 의해 작성되되, 각 병원, 즉 서비스 서버(131)에 의해 실행된다. 따라서, 플랫폼 시스템(100)에서, 분석코드(AC)에 대한 사용자(140)와 서비스 서버(131)의 역할 분담 및 협력적 분석이 이루어질 수 있다. 아울러, 분석코드(AC)는 공통 데이터 모델(CDM)에 기반한 코드이기 때문에, 표준화된 환경에서 실행될 수 있으며, 복수의 병원들, 즉 서비스 서버(131)들에서 일괄적으로 인증될 수 있다. 따라서, 복수의 병원들, 즉 서비스 서버(131)들의 각각이 독립적으로 분석 코드(AC)를 실행하여, 각각의 CDM 데이터를 분석할 수 있다. As described above, the analysis code (AC) is created by the user 140 and executed by each hospital, that is, the service server 131. Therefore, in the platform system 100, role sharing and cooperative analysis between the user 140 and the service server 131 for the analysis code (AC) can be made. In addition, since the analysis code (AC) is code based on the common data model (CDM), it can be executed in a standardized environment and can be collectively authenticated in a plurality of hospitals, that is, service servers 131. Accordingly, each of the plurality of hospitals, that is, the service servers 131 may independently execute the analysis code AC to analyze each CDM data.

다양한 실시예들에 따르면, 플랫폼에 연결된 병원들의 의료 데이터가 CDM으로 통일화되기 때문에, 외부 연구자가 동일한 방법론을 통해 여러 병원의 데이터를 분석할 수 있다. 그리고, CDM 데이터가 병원의 로컬 네트워크 밖으로 전송되지 않고, 내부, 즉 서비스 서버(131)에서만 분석되기 때문에, 환자들은 개인정보를 병원 외부로의 유출을 염려하지 않아도 된다. According to various embodiments, since medical data of hospitals connected to the platform are unified into CDM, an external researcher can analyze data of multiple hospitals through the same methodology. In addition, since the CDM data is not transmitted outside the local network of the hospital and is analyzed only inside the service server 131, patients do not have to worry about leaking personal information outside the hospital.

다양한 실시예들에 따르면, 사용자(140)들은 병원의 로컬 네트워크 외부에 위치한 플랫폼의 보안 서버 그룹을 통해 (여러 단계의) 인증을 수행한다. 인증에 통과한 사용자(140)는 데이터 분석을 요청할 각 병원에서 추가로 인증을 수행하지 않는다. 따라서, 각 병원은 사용자(140)의 신원을 확인하기 위한 계정 데이터베이스를 운영하지 않아도 된다.According to various embodiments, users 140 perform (multiple steps) authentication through a group of secure servers on the platform located outside the hospital's local network. The user 140 who has passed authentication does not additionally perform authentication at each hospital requesting data analysis. Therefore, each hospital does not have to operate an account database for verifying the identity of the user 140 .

사용자(140)가 작성한 CDM 데이터에 대한 분석코드(AC)는 사용자(140)로부터 병원의 서비스 서버(131)까지 전달되는 동안 제3자에 의해 변조되어서는 안된다. 다양한 실시예들은 이 과정에서 분석코드(AC)의 무결성을 보장할 수 있다.The analysis code (AC) for the CDM data prepared by the user 140 must not be tampered with by a third party while being transmitted from the user 140 to the service server 131 of the hospital. Various embodiments may ensure the integrity of the analysis code AC in this process.

다양한 실시예들은 다기관 분산 환경에서 안전한 다기관 CDM 데이터를 분석하기 위한 플랫폼 시스템(100) 및 그의 방법을 제공한다.Various embodiments provide a platform system (100) and method thereof for analyzing secure multi-agency CDM data in a multi-agency distributed environment.

다양한 실시예들에 따른 플랫폼 시스템(100)은, 사용자(140)를 위한 토큰을 생성하도록 구성되는 인증 서버(111), 사용자(140)의 분석코드에 대한 전자서명을 생성하도록 구성되는 코드 사이너(113), 사용자(140)를 위한 티켓을 발행하도록 구성되는 티켓 발행 서버(115), 및 각 병원에서, 티켓을 이용하여 사용자(140)를 검증하고, 전자서명을 이용하여 분석코드를 검증하며, 사용자(140) 및 분석코드에 대한 검증에 성공 시, 분석코드를 실행하여, 병원의 CDM 데이터를 분석하도록 구성되는 서비스 서버(131)를 포함한다. The platform system 100 according to various embodiments includes an authentication server 111 configured to generate a token for a user 140 and a code signer configured to generate an electronic signature for an analysis code of the user 140. (113), a ticket issuing server 115 configured to issue a ticket for a user 140, and at each hospital, verifying the user 140 using the ticket and verifying the analysis code using the electronic signature; , the user 140 and the service server 131 configured to execute the analysis code and analyze the CDM data of the hospital upon successful verification of the analysis code.

다양한 실시예들에 따르면, 인증 서버(111)는, 사용자(140)로부터 사용자(140)의 식별 정보가 수신되면, 식별 정보를 기반으로 사용자(140)를 인증하여, 토큰을 생성하고, 사용자(140)에게 토큰을 제공하도록 구성된다.According to various embodiments, when the identification information of the user 140 is received from the user 140, the authentication server 111 authenticates the user 140 based on the identification information, generates a token, and generates a user ( 140) is configured to provide a token.

다양한 실시예들에 따르면, 코드 사이너(113)는, 사용자(140)로부터 토큰 및 분석코드가 수신되면, 개인키를 이용하여, 분석코드에 대한 전자서명을 생성하고, 사용자(140)에게 전자서명을 제공하도록 구성된다. According to various embodiments, when the token and the analysis code are received from the user 140, the code signer 113 generates an electronic signature for the analysis code using a private key, and sends the user 140 an electronic signature. configured to provide a signature.

다양한 실시예들에 따르면, 분석코드는, 사용자(140)에 의해 작성되고, 각 병원의 CDM 데이터를 분석하기 위한 정보를 포함한다. According to various embodiments, the analysis code is written by the user 140 and includes information for analyzing the CDM data of each hospital.

다양한 실시예들에 따르면, 티켓 발행 서버(115)는, 사용자(140)로부터 토큰 및 전자서명이 수신되면, 암호화 키를 이용하여, 티켓을 생성하고, 서비스 서버(131)의 공개키를 이용하여, 암호화 키를 암호화하고, 사용자(140)에게 티켓을 암호화 키와 함께 제공하도록 구성된다. According to various embodiments, the ticket issuing server 115, when receiving a token and an electronic signature from the user 140, generates a ticket using an encryption key, and uses the public key of the service server 131 to , encrypt the encryption key, and provide a ticket to the user 140 along with the encryption key.

다양한 실시예들에 따르면, 서비스 서버(131)는, 사용자(140)에게 CDM 데이터에 대한 분석 결과를 회신하도록 구성된다. According to various embodiments, the service server 131 is configured to return an analysis result of the CDM data to the user 140 .

다양한 실시예들에 따르면, 플랫폼 시스템(100)은, 사용자(140)와 서비스 서버(131) 간 통신을 중계하도록 구성되는 중계 서버를 더 포함한다.According to various embodiments, the platform system 100 further includes a relay server configured to relay communication between the user 140 and the service server 131 .

다양한 실시예들에 따르면, 중계 서버는, 사용자(140)로부터 토큰, 전자서명, 및 티켓이 수신되면, 토큰을 이용하여, 사용자(140)를 확인하고, 서비스 서버(131)에 전자서명 및 티켓을 전달하도록 구성된다. According to various embodiments, when the token, digital signature, and ticket are received from the user 140, the relay server identifies the user 140 using the token, and sends the digital signature and ticket to the service server 131. is configured to deliver

일 실시예에 따르면, 서비스 서버(131)는, 분석 결과를 중계 서버에 회신하도록 구성되고, 사용자(140)는, 중계 서버로부터 분석 결과를 다운로드한다. According to one embodiment, the service server 131 is configured to return analysis results to the relay server, and the user 140 downloads the analysis results from the relay server.

다른 실시예에 따르면, 서비스 서버(131)는, 관리자의 승인을 기반으로, 분석코드를 실행하여, CDM 데이터를 분석하고, 관리자의 승인을 기반으로, 분석 결과를 사용자(140)에게 회신하도록 구성된다. According to another embodiment, the service server 131 is configured to execute the analysis code based on the manager's approval, analyze the CDM data, and return the analysis result to the user 140 based on the manager's approval. do.

또 다른 실시예에 따르면, 서비스 서버(131)는, 사용자(140)가 화이트리스트에 등록되어 있으면, 분석 결과를 사용자(140)에게 회신하고, 사용자(140)가 화이트리스트에 등록되어 있지 않으면, 관리자의 승인을 기반으로, 분석 결과를 사용자(140)에게 회신하도록 구성된다. According to another embodiment, the service server 131 returns an analysis result to the user 140 if the user 140 is registered in the whitelist, and if the user 140 is not registered in the whitelist, Based on the administrator's approval, it is configured to return the analysis result to the user 140.

다양한 실시예들에 따른 플랫폼 시스템(100)의 방법은, 인증 서버(111)가 사용자(140)를 위한 토큰을 생성하는 단계(151 단계), 코드 사이너(113)가 사용자(140)의 분석코드에 대한 전자서명을 생성하는 단계(153 단계), 티켓 발행 서버(115)가 사용자(140)를 위한 티켓을 발행하는 단계(155 단계), 각 병원의 서비스 서버(131)가 티켓을 이용하여 사용자(140)를 검증하고, 전자서명을 이용하여 분석코드를 검증하는 단계(157 단계), 및 사용자(140) 및 분석코드에 대한 검증에 성공 시, 서비스 서버(131)가 분석코드를 실행하여, 병원의 CDM 데이터를 분석하는 단계(157 단계)를 포함한다. In the method of the platform system 100 according to various embodiments, the authentication server 111 generates a token for the user 140 (step 151), the code signer 113 analyzes the user 140 A step of generating a digital signature for the code (step 153), a step of the ticket issuing server 115 issuing a ticket for the user 140 (step 155), and a service server 131 of each hospital using the ticket The step of verifying the user 140 and verifying the analysis code using the digital signature (step 157), and when the verification of the user 140 and the analysis code succeeds, the service server 131 executes the analysis code , a step of analyzing the CDM data of the hospital (step 157).

다양한 실시예들에 따르면, 토큰을 생성하는 단계(151 단계)는, 사용자(140)가 인증 서버(111)에 사용자(140)의 식별 정보를 전송하는 단계, 인증 서버(111)가 식별 정보를 기반으로 사용자(140)를 인증하여, 토큰을 생성하는 단계, 및 인증 서버(111)가 사용자(140)에게 토큰을 제공하는 단계를 포함한다. According to various embodiments, the step of generating a token (step 151) is a step in which the user 140 transmits the identification information of the user 140 to the authentication server 111, the authentication server 111 transmits the identification information Authenticating the user 140 based on the authentication method, generating a token, and providing the token to the user 140 by the authentication server 111 .

다양한 실시예들에 따르면, 전자서명을 생성하는 단계(153 단계)는, 사용자(140)가 코드 사이너(113)에 코드 사이너(113)에 토큰 및 분석코드를 전송하는 단계, 코드 사이너(113)가 개인키를 이용하여, 분석코드에 대한 전자서명을 생성하는 단계, 및 코드 사이너(113)가 사용자(140)에게 전자서명을 제공하는 단계를 포함한다. According to various embodiments, the step of generating the digital signature (step 153) may include a step in which the user 140 transmits a token and an analysis code to the code signer 113 to the code signer 113, the code signer Step (113) of generating an electronic signature for the analysis code using the private key, and step of providing the digital signature to the user (140) by the code signer (113).

다양한 실시예들에 따르면, 분석코드는, 사용자(140)에 의해 작성되고, 각 병원의 CDM 데이터를 분석하기 위한 정보를 포함한다. According to various embodiments, the analysis code is written by the user 140 and includes information for analyzing the CDM data of each hospital.

다양한 실시예들에 따르면, 티켓을 발행하는 단계(155 단계)는, 사용자(140)가 티켓 발행 서버(115)에 토큰 및 전자서명을 전송하는 단계, 티켓 발행 서버(115)가 암호화 키를 이용하여, 티켓을 생성하는 단계, 티켓 발행 서버(115)가 서비스 서버(131)의 공개키를 이용하여, 암호화 키를 암호화하는 단계, 및 티켓 발행 서버(115)가 사용자(140)에게 티켓을 암호화 키와 함께 제공하는 단계를 포함한다. According to various embodiments, issuing a ticket (step 155) includes a step in which the user 140 transmits a token and an electronic signature to the ticket issuing server 115, and the ticket issuing server 115 uses an encryption key. to generate a ticket, the ticket issuing server 115 encrypting the encryption key using the public key of the service server 131, and the ticket issuing server 115 encrypting the ticket to the user 140 Provided with the key.

다양한 실시예들에 따르면, 플랫폼 시스템(100)의 방법은, 서비스 서버(131)가 사용자(140)에게 CDM 데이터에 대한 분석 결과를 회신하는 단계(157 단계)를 더 포함한다. According to various embodiments, the method of the platform system 100 further includes a step of the service server 131 returning an analysis result of the CDM data to the user 140 (step 157).

다양한 실시예들에 따르면, 사용자(140) 및 분석 코드를 검증하는 단계(157 단계)는, 사용자(140)가 중계 서버에 토큰, 전자서명, 및 티켓을 전송하는 단계, 중계 서버가 토큰을 이용하여, 사용자(140)를 확인하는 단계, 중계 서버가 서비스 서버(131)에 전자서명 및 티켓을 전달하는 단계, 및 서비스 서버(131)가 티켓을 이용하여 사용자(140)를 검증하고, 전자서명을 이용하여 분석코드를 검증하는 단계를 포함한다. According to various embodiments, the step of verifying the user 140 and the analysis code (step 157) is a step in which the user 140 transmits a token, a digital signature, and a ticket to the relay server, and the relay server uses the token. Thus, the step of confirming the user 140, the relay server transferring the electronic signature and the ticket to the service server 131, and the service server 131 verifying the user 140 using the ticket, and the digital signature and verifying the analysis code using

일 실시예에 따르면, 분석 결과를 회신하는 단계(157 단계)는, 서비스 서버(131)가 분석 결과를 중계 서버에 회신하는 단계, 및 사용자(140)가 중계 서버로부터 분석 결과를 다운로드하는 단계를 포함한다. According to one embodiment, the step of returning the analysis result (step 157) includes the service server 131 returning the analysis result to the relay server, and the user 140 downloading the analysis result from the relay server. include

다른 실시예에 따르면, CDM 데이터를 분석하는 단계(157 단계)는, 서비스 서버(131)가 관리자의 승인을 기반으로, 분석코드를 실행하여, CDM 데이터를 분석하는 단계를 포함하고, 분석 결과를 회신하는 단계는, 관리자의 승인을 기반으로, 분석 결과를 사용자(140)에게 회신하는 단계를 포함한다. According to another embodiment, the step of analyzing the CDM data (step 157) includes the step of analyzing the CDM data by allowing the service server 131 to execute an analysis code based on the manager's approval, and displaying the analysis result. The sending step includes sending an analysis result back to the user 140 based on the manager's approval.

또 다른 실시예에 따르면, 분석 결과를 회신하는 단계(157 단계)는, 사용자(140)가 화이트리스트에 등록되어 있으면, 서비스 서버(131)가 분석 결과를 사용자(140)에게 회신하는 단계, 및 사용자(140)가 화이트리스트에 등록되어 있지 않으면, 서비스 서버(131)가 관리자의 승인을 기반으로, 분석 결과를 사용자(140)에게 회신하는 단계를 포함한다. According to another embodiment, the step of returning the analysis result (step 157) includes, if the user 140 is registered in the whitelist, the service server 131 returning the analysis result to the user 140, and If the user 140 is not registered in the whitelist, the service server 131 returns an analysis result to the user 140 based on the administrator's approval.

이상에서 설명된 장치는 하드웨어 구성 요소, 소프트웨어 구성 요소, 및/또는 하드웨어 구성 요소 및 소프트웨어 구성 요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성 요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The devices described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, devices and components described in the embodiments include a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), and a programmable PLU (programmable logic unit). logic unit), microprocessor, or any other device capable of executing and responding to instructions. The processing device may run an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성 요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. The device can be commanded. The software and/or data may be embodied in any tangible machine, component, physical device, computer storage medium, or device to be interpreted by, or to provide instructions or data to, a processing device. there is. Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer readable media.

다양한 실시예들에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이 때 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 그리고, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.Methods according to various embodiments may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer readable medium. In this case, the medium may continuously store a program executable by a computer or temporarily store the program for execution or download. Also, the medium may be a single or various types of recording means or storage means in the form of a combination of several pieces of hardware. It is not limited to a medium directly connected to a certain computer system, and may be distributed on a network. Examples of the medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROM and DVD, magneto-optical media such as floptical disks, and ROM, RAM, flash memory, etc. configured to store program instructions. In addition, examples of other media include recording media or storage media managed by an app store that distributes applications, a site that supplies or distributes various other software, and a server.

본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성 요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성 요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성 요소를 다른 구성 요소와 구분하기 위해 사용될 뿐 해당 구성 요소들을 한정하지 않는다. 어떤(예: 제 1) 구성 요소가 다른(예: 제 2) 구성 요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성 요소가 상기 다른 구성 요소에 직접적으로 연결되거나, 다른 구성 요소(예: 제 3 구성 요소)를 통하여 연결될 수 있다.Various embodiments of this document and terms used therein are not intended to limit the technology described in this document to a specific embodiment, and should be understood to include various modifications, equivalents, and/or substitutes of the embodiment. In connection with the description of the drawings, like reference numerals may be used for like elements. Singular expressions may include plural expressions unless the context clearly dictates otherwise. In this document, expressions such as "A or B", "at least one of A and/or B", "A, B or C" or "at least one of A, B and/or C" refer to all of the items listed together. Possible combinations may be included. Expressions such as "first," "second," "first," or "second" may modify the elements in any order or importance, and are used only to distinguish one element from another. The components are not limited. When a (e.g., first) element is referred to as being "(functionally or communicatively) connected" or "connected" to another (e.g., second) element, it is referred to as being "connected" to the other (e.g., second) element. It may be directly connected to the component or connected through another component (eg, a third component).

본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다. The term "module" used in this document includes a unit composed of hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit, for example. A module may be an integral part or a minimum unit or part thereof that performs one or more functions. For example, the module may be composed of an application-specific integrated circuit (ASIC).

다양한 실시예들에 따르면, 기술한 구성 요소들의 각각의 구성 요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성 요소들 중 하나 이상의 구성 요소들 또는 단계들이 생략되거나, 또는 하나 이상의 다른 구성 요소들 또는 단계들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성 요소들(예: 모듈 또는 프로그램)은 하나의 구성 요소로 통합될 수 있다. 이런 경우, 통합된 구성 요소는 복수의 구성 요소들 각각의 구성 요소의 하나 이상의 기능들을 통합 이전에 복수의 구성 요소들 중 해당 구성 요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 단계들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 단계들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 단계들이 추가될 수 있다. According to various embodiments, each component (eg, module or program) of the described components may include a singular object or a plurality of entities. According to various embodiments, one or more components or steps among the aforementioned components may be omitted, or one or more other components or steps may be added. Alternatively or additionally, a plurality of components (eg modules or programs) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to integration. According to various embodiments, steps performed by a module, program, or other component are executed sequentially, in parallel, iteratively, or heuristically, or one or more of the steps are executed in a different order, omitted, or , or one or more other steps may be added.

Claims (20)

다기관 분산 환경에서 안전하게 다기관 CDM 데이터를 분석하기 위한 플랫폼 시스템에 있어서,
사용자를 위한 토큰을 생성하도록 구성되는 인증 서버;
상기 사용자의 분석코드에 대한 전자서명을 생성하도록 구성되는 코드 사이너;
상기 사용자를 위한 티켓을 발행하도록 구성되는 티켓 발행 서버; 및
각 병원에서, 상기 티켓을 이용하여 상기 사용자를 검증하고, 상기 전자서명을 이용하여 상기 분석코드를 검증하며, 상기 사용자 및 상기 분석코드에 대한 검증에 성공 시, 상기 분석코드를 실행하여, 상기 병원의 CDM 데이터를 분석하도록 구성되는 서비스 서버
를 포함하는,
플랫폼 시스템.
In a platform system for safely analyzing multi-organizational CDM data in a multi-organization distributed environment,
an authentication server configured to generate a token for a user;
a code signer configured to generate an electronic signature for the analysis code of the user;
a ticket issuing server configured to issue a ticket for the user; and
In each hospital, the user is verified using the ticket, the analysis code is verified using the electronic signature, and when the verification of the user and the analysis code is successful, the analysis code is executed, and the hospital service server configured to analyze CDM data from
including,
platform system.
제 1 항에 있어서,
상기 인증 서버는,
상기 사용자로부터 상기 사용자의 식별 정보가 수신되면, 상기 식별 정보를 기반으로 상기 사용자를 인증하여, 상기 토큰을 생성하고,
상기 사용자에게 상기 토큰을 제공하도록 구성되는,
플랫폼 시스템.
According to claim 1,
The authentication server,
When identification information of the user is received from the user, authenticating the user based on the identification information to generate the token;
configured to provide the token to the user;
platform system.
제 1 항에 있어서,
상기 코드 사이너는,
상기 사용자로부터 상기 토큰 및 상기 분석코드가 수신되면, 개인키를 이용하여, 상기 분석코드에 대한 상기 전자서명을 생성하고,
상기 사용자에게 상기 전자서명을 제공하도록 구성되는,
플랫폼 시스템.
According to claim 1,
The code signer,
When the token and the analysis code are received from the user, the digital signature for the analysis code is generated using a private key;
configured to provide the electronic signature to the user;
platform system.
제 1 항에 있어서,
상기 분석코드는,
상기 사용자에 의해 작성되고, 각 병원의 CDM 데이터를 분석하기 위한 정보를 포함하는,
플랫폼 시스템.
According to claim 1,
The analysis code is
Created by the user and including information for analyzing the CDM data of each hospital,
platform system.
제 1 항에 있어서,
상기 티켓 발행 서버는,
상기 사용자로부터 상기 토큰 및 상기 전자서명이 수신되면, 암호화 키를 이용하여, 상기 티켓을 생성하고,
상기 서비스 서버의 공개키를 이용하여, 상기 암호화 키를 암호화하고,
상기 사용자에게 상기 티켓을 상기 암호화 키와 함께 제공하도록 구성되는,
플랫폼 시스템.
According to claim 1,
The ticket issuing server,
When the token and the electronic signature are received from the user, the ticket is generated using an encryption key;
Encrypting the encryption key using the public key of the service server,
configured to provide the user with the ticket along with the encryption key;
platform system.
제 1 항에 있어서,
상기 서비스 서버는,
상기 사용자에게 상기 CDM 데이터에 대한 분석 결과를 회신하도록 구성되는,
플랫폼 시스템.
According to claim 1,
The service server,
Is configured to send an analysis result for the CDM data to the user,
platform system.
제 6 항에 있어서,
상기 사용자와 상기 서비스 서버 간 통신을 중계하도록 구성되는 중계 서버
를 더 포함하고,
상기 중계 서버는,
상기 사용자로부터 상기 토큰, 상기 전자서명, 및 상기 티켓이 수신되면, 상기 토큰을 이용하여, 상기 사용자를 확인하고,
상기 서비스 서버에 상기 전자서명 및 상기 티켓을 전달하도록 구성되는,
플랫폼 시스템.
According to claim 6,
A relay server configured to relay communication between the user and the service server
Including more,
The relay server,
When the token, the electronic signature, and the ticket are received from the user, the user is identified using the token;
configured to deliver the electronic signature and the ticket to the service server;
platform system.
제 7 항에 있어서,
상기 서비스 서버는,
상기 분석 결과를 상기 중계 서버에 회신하도록 구성되고,
상기 사용자는,
상기 중계 서버로부터 상기 분석 결과를 다운로드하는,
플랫폼 시스템.
According to claim 7,
The service server,
configured to return the analysis result to the relay server;
The user,
Downloading the analysis result from the relay server,
platform system.
제 7 항에 있어서,
상기 서비스 서버는,
관리자의 승인을 기반으로, 상기 분석코드를 실행하여, 상기 CDM 데이터를 분석하고,
상기 관리자의 승인을 기반으로, 상기 분석 결과를 상기 사용자에게 회신하도록 구성되는,
플랫폼 시스템.
According to claim 7,
The service server,
Based on the administrator's approval, the analysis code is executed to analyze the CDM data,
Based on the administrator's approval, configured to return the analysis result to the user,
platform system.
제 7 항에 있어서,
상기 서비스 서버는,
상기 사용자가 화이트리스트에 등록되어 있으면, 상기 분석 결과를 상기 사용자에게 회신하고,
상기 사용자가 상기 화이트리스트에 등록되어 있지 않으면, 관리자의 승인을 기반으로, 상기 분석 결과를 상기 사용자에게 회신하도록 구성되는,
플랫폼 시스템.
According to claim 7,
The service server,
If the user is registered in the whitelist, the analysis result is returned to the user;
If the user is not registered in the whitelist, configured to return the analysis result to the user based on an administrator's approval.
platform system.
다기관 분산 환경에서 안전하게 다기관 CDM 데이터를 분석하기 위한 플랫폼 시스템의 방법에 있어서,
인증 서버가 사용자를 위한 토큰을 생성하는 단계;
코드 사이너가 상기 사용자의 분석코드에 대한 전자서명을 생성하는 단계;
티켓 발행 서버가 상기 사용자를 위한 티켓을 발행하는 단계;
각 병원의 서비스 서버가 상기 티켓을 이용하여 상기 사용자를 검증하고, 상기 전자서명을 이용하여 상기 분석코드를 검증하는 단계; 및
상기 사용자 및 상기 분석코드에 대한 검증에 성공 시, 상기 서비스 서버가 상기 분석코드를 실행하여, 상기 병원의 CDM 데이터를 분석하는 단계
를 포함하는,
플랫폼 시스템의 방법.
In the method of a platform system for safely analyzing multi-organizational CDM data in a multi-organization distributed environment,
the authentication server generating a token for the user;
generating, by a code signer, an electronic signature for the analysis code of the user;
a ticket issuing server issuing a ticket for the user;
a service server of each hospital verifying the user using the ticket and verifying the analysis code using the digital signature; and
When the verification of the user and the analysis code is successful, the service server executing the analysis code to analyze the CDM data of the hospital.
including,
method of the platform system.
제 11 항에 있어서,
상기 토큰을 생성하는 단계는,
상기 사용자가 상기 인증 서버에 상기 사용자의 식별 정보를 전송하는 단계;
상기 인증 서버가 상기 식별 정보를 기반으로 상기 사용자를 인증하여, 상기 토큰을 생성하는 단계; 및
상기 인증 서버가 상기 사용자에게 상기 토큰을 제공하는 단계
를 포함하는,
플랫폼 시스템의 방법.
According to claim 11,
The step of generating the token is,
transmitting identification information of the user to the authentication server by the user;
authenticating the user based on the identification information by the authentication server and generating the token; and
providing, by the authentication server, the token to the user;
including,
method of the platform system.
제 11 항에 있어서,
상기 전자서명을 생성하는 단계는,
상기 사용자가 상기 코드 사이너에 상기 코드 사이너에 상기 토큰 및 상기 분석코드를 전송하는 단계;
상기 코드 사이너가 개인키를 이용하여, 상기 분석코드에 대한 상기 전자서명을 생성하는 단계; 및
상기 코드 사이너가 상기 사용자에게 상기 전자서명을 제공하는 단계
를 포함하는,
플랫폼 시스템의 방법.
According to claim 11,
Generating the electronic signature,
transmitting, by the user, the token and the analysis code to the code signer;
generating, by the code signer, the electronic signature for the analysis code using a private key; and
Step of the code signer providing the digital signature to the user
including,
method of the platform system.
제 11 항에 있어서,
상기 분석코드는,
상기 사용자에 의해 작성되고, 각 병원의 CDM 데이터를 분석하기 위한 정보를 포함하는,
플랫폼 시스템의 방법.
According to claim 11,
The analysis code is
Created by the user and including information for analyzing the CDM data of each hospital,
method of the platform system.
제 11 항에 있어서,
상기 티켓을 발행하는 단계는,
상기 사용자가 상기 티켓 발행 서버에 상기 토큰 및 상기 전자서명을 전송하는 단계;
상기 티켓 발행 서버가 암호화 키를 이용하여, 상기 티켓을 생성하는 단계;
상기 티켓 발행 서버가 상기 서비스 서버의 공개키를 이용하여, 상기 암호화 키를 암호화하는 단계; 및
상기 티켓 발행 서버가 상기 사용자에게 상기 티켓을 상기 암호화 키와 함께 제공하는 단계
를 포함하는,
플랫폼 시스템의 방법.
According to claim 11,
The step of issuing the ticket,
transmitting the token and the digital signature to the ticket issuing server by the user;
generating the ticket by the ticket issuing server using an encryption key;
encrypting the encryption key by the ticket issuing server using the public key of the service server; and
providing, by the ticket issuing server, the ticket to the user along with the encryption key;
including,
method of the platform system.
제 11 항에 있어서,
상기 서비스 서버가 상기 사용자에게 상기 CDM 데이터에 대한 분석 결과를 회신하는 단계
를 더 포함하는,
플랫폼 시스템의 방법.
According to claim 11,
The service server returning an analysis result of the CDM data to the user.
Including more,
method of the platform system.
제 16 항에 있어서,
상기 사용자 및 상기 분석 코드를 검증하는 단계는,
상기 사용자가 중계 서버에 상기 토큰, 상기 전자서명, 및 상기 티켓을 전송하는 단계;
상기 중계 서버가 상기 토큰을 이용하여, 상기 사용자를 확인하는 단계;
상기 중계 서버가 상기 서비스 서버에 상기 전자서명 및 티켓을 전달하는 단계; 및
상기 서비스 서버가 상기 티켓을 이용하여 상기 사용자를 검증하고, 상기 전자서명을 이용하여 상기 분석코드를 검증하는 단계
를 포함하는,
플랫폼 시스템의 방법.
17. The method of claim 16,
The step of verifying the user and the analysis code,
transmitting, by the user, the token, the electronic signature, and the ticket to a relay server;
verifying the user by the relay server using the token;
transferring, by the relay server, the digital signature and ticket to the service server; and
The service server verifying the user using the ticket and verifying the analysis code using the digital signature.
including,
method of the platform system.
제 17 항에 있어서,
상기 분석 결과를 회신하는 단계는,
상기 서비스 서버가 상기 분석 결과를 상기 중계 서버에 회신하는 단계; 및
상기 사용자가 상기 중계 서버로부터 상기 분석 결과를 다운로드하는 단계
를 포함하는,
플랫폼 시스템의 방법.
18. The method of claim 17,
The step of returning the analysis result,
the service server returning the analysis result to the relay server; and
The user downloading the analysis result from the relay server.
including,
method of the platform system.
제 17 항에 있어서,
상기 CDM 데이터를 분석하는 단계는,
상기 서비스 서버가 관리자의 승인을 기반으로, 상기 분석코드를 실행하여, 상기 CDM 데이터를 분석하는 단계
를 포함하고,
상기 분석 결과를 회신하는 단계는,
상기 관리자의 승인을 기반으로, 상기 분석 결과를 상기 사용자에게 회신하는 단계
를 포함하는,
플랫폼 시스템의 방법.
18. The method of claim 17,
Analyzing the CDM data,
Analyzing the CDM data by the service server executing the analysis code based on the manager's approval
including,
The step of returning the analysis result,
Based on the manager's approval, returning the analysis result to the user.
including,
method of the platform system.
제 17 항에 있어서,
상기 분석 결과를 회신하는 단계는,
상기 사용자가 화이트리스트에 등록되어 있으면, 상기 서비스 서버가 상기 분석 결과를 상기 사용자에게 회신하는 단계; 및
상기 사용자가 상기 화이트리스트에 등록되어 있지 않으면, 상기 서비스 서버가 관리자의 승인을 기반으로, 상기 분석 결과를 상기 사용자에게 회신하는 단계
를 포함하는,
플랫폼 시스템의 방법.
18. The method of claim 17,
The step of returning the analysis result,
If the user is registered in the whitelist, the service server returning the analysis result to the user; and
If the user is not registered in the whitelist, the service server returning the analysis result to the user based on the administrator's approval.
including,
method of the platform system.
KR1020210135966A 2021-08-31 2021-10-13 Secure platform system for analyzing cdm data in multi-institutional distributed network, and method of the same KR102623243B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210115831 2021-08-31
KR1020210115831 2021-08-31

Publications (2)

Publication Number Publication Date
KR20230032807A true KR20230032807A (en) 2023-03-07
KR102623243B1 KR102623243B1 (en) 2024-01-11

Family

ID=85512751

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210135966A KR102623243B1 (en) 2021-08-31 2021-10-13 Secure platform system for analyzing cdm data in multi-institutional distributed network, and method of the same

Country Status (1)

Country Link
KR (1) KR102623243B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050234746A1 (en) * 2004-03-26 2005-10-20 Fuji Photo Film Co., Ltd. Medical information provision method, and client terminal and statistical server used for the same
JP2020515089A (en) * 2017-05-24 2020-05-21 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Blockchain-based data processing method and device
KR102119449B1 (en) * 2019-08-30 2020-06-08 주식회사쿠콘 Aggregation open api platform system, method for prividing financial services using the same and computer program for the same
KR20200111303A (en) * 2019-03-18 2020-09-29 한승현 System and method for retrieval of medical information using blockchain and computer program for the same
JP2021103348A (en) * 2019-12-24 2021-07-15 株式会社メドレー Medical information system, medical information device, control method for medical information device, and control program
KR102323680B1 (en) * 2021-05-25 2021-11-10 주식회사쿠콘 Platform system and method for collecting information using integrated authentication and computer program for the same

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050234746A1 (en) * 2004-03-26 2005-10-20 Fuji Photo Film Co., Ltd. Medical information provision method, and client terminal and statistical server used for the same
JP2020515089A (en) * 2017-05-24 2020-05-21 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Blockchain-based data processing method and device
KR20200111303A (en) * 2019-03-18 2020-09-29 한승현 System and method for retrieval of medical information using blockchain and computer program for the same
KR102119449B1 (en) * 2019-08-30 2020-06-08 주식회사쿠콘 Aggregation open api platform system, method for prividing financial services using the same and computer program for the same
JP2021103348A (en) * 2019-12-24 2021-07-15 株式会社メドレー Medical information system, medical information device, control method for medical information device, and control program
KR102323680B1 (en) * 2021-05-25 2021-11-10 주식회사쿠콘 Platform system and method for collecting information using integrated authentication and computer program for the same

Also Published As

Publication number Publication date
KR102623243B1 (en) 2024-01-11

Similar Documents

Publication Publication Date Title
US11658961B2 (en) Method and system for authenticated login using static or dynamic codes
US11963006B2 (en) Secure mobile initiated authentication
US11659392B2 (en) Secure mobile initiated authentications to web-services
US20230004675A1 (en) Secure identity and profiling system
CN111213147B (en) Systems and methods for blockchain-based cross-entity authentication
KR102197218B1 (en) System and method for providing distributed id and fido based block chain identification
EP1914951B1 (en) Methods and system for storing and retrieving identity mapping information
CN110535648B (en) Electronic certificate generation and verification and key control method, device, system and medium
US20080263644A1 (en) Federated authorization for distributed computing
US20140096213A1 (en) Method and system for distributed credential usage for android based and other restricted environment devices
WO2021127577A1 (en) Secure mobile initiated authentications to web-services
WO2021139338A1 (en) Data access permission verification method and apparatus, computer device, and storage medium
WO2021127575A1 (en) Secure mobile initiated authentication
WO2022262322A1 (en) Authentication method, apparatus and system, electronic device, and storage medium
CN114760070A (en) Digital certificate issuing method, digital certificate issuing center and readable storage medium
EP3883204B1 (en) System and method for secure generation, exchange and management of a user identity data using a blockchain
KR102623243B1 (en) Secure platform system for analyzing cdm data in multi-institutional distributed network, and method of the same
US20240193255A1 (en) Systems and methods of protecting secrets in use with containerized applications
JP7367692B2 (en) Apparatus, request apparatus, method, and program
CN115514584B (en) Server and credible security authentication method of financial related server
US12143817B2 (en) Secure mobile initiated authentications to web-services
US20240305631A1 (en) Systems and methods for identity verification and authentication
CN116208666A (en) Processing method and device supporting multi-source data center joint security calculation data
Sathiya et al. An Architecture For Secure Mobile Database Transaction For Corporate Environment

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right