KR20110012085A - Charging system and method using public key infrastructure based and protocol - Google Patents
Charging system and method using public key infrastructure based and protocol Download PDFInfo
- Publication number
- KR20110012085A KR20110012085A KR1020090069639A KR20090069639A KR20110012085A KR 20110012085 A KR20110012085 A KR 20110012085A KR 1020090069639 A KR1020090069639 A KR 1020090069639A KR 20090069639 A KR20090069639 A KR 20090069639A KR 20110012085 A KR20110012085 A KR 20110012085A
- Authority
- KR
- South Korea
- Prior art keywords
- user terminal
- server
- terminal device
- contract
- micro
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000013468 resource allocation Methods 0.000 claims abstract description 4
- 238000012795 verification Methods 0.000 claims description 22
- 239000002775 capsule Substances 0.000 claims description 18
- 238000010586 diagram Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/14—Payment architectures specially adapted for billing systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Abstract
Description
본 발명은 공개 키 기반의 프로토콜을 이용한 과금 시스템 및 그 방법에 관한 것으로, 보다 상세하게는, 위임 서버를 통해 과금 연산을 수행하고 공증 서버를 통해 자원에 대한 과금을 검증하여 부인을 방지할 수 있는 공개 키 기반의 프로토콜을 이용한 과금 시스템 및 그 방법에 관한 것이다. The present invention relates to a billing system and a method using a public key based protocol, and more particularly, to perform billing operation through a delegation server and to verify the billing of resources through a notary server to prevent denial A charging system using a public key based protocol and a method thereof are provided.
클라우드 컴퓨팅(Cloud Computing)이란, 인터넷 기반(클라우드)의 컴퓨팅(computing) 기술을 의미한다. 클라우드 컴퓨팅은 컴퓨터 네트워크 구성도에서 인터넷을 구름으로 표현하는 것으로, 숨겨진 복잡한 인프라 구조를 가지며 IT 관련된 기능들이 서비스 형태로 제공되는 컴퓨팅 스타일을 갖는다. 사용자들은 인터넷을 이용하여 클라우드 컴퓨팅으로부터 제공되는 서비스를 이용할 수 있다.Cloud computing means cloud computing technology based on the Internet. Cloud computing represents the Internet as a cloud in a computer network diagram. It has a hidden complex infrastructure and a computing style in which IT-related functions are provided in the form of services. Users can use services provided from cloud computing using the Internet.
도 1은 종래 기술에 따른 클라우드 컴퓨팅 환경의 과금 시스템을 나타내는 도면이다. 도 1을 참조하면, 과금 시스템은 클라우드 컴퓨팅 서버(10), 유저 단말 장치(20)를 포함하는 것으로, 이들은 인터넷(30)에 의해 연결되어 있다.1 is a diagram illustrating a charging system of a cloud computing environment according to the prior art. Referring to FIG. 1, the charging system includes a
유저 단말장치(20)가 클라우드 컴퓨팅 서버(10)에 필요한 자원(Source)을 요청하면, 클라우드 컴퓨팅 서버(10)는 요청에 따라 해당 자원을 유저 단말장치(20)로 전송하는 시스템이다. 이 과정에서, 클라우드 컴퓨팅 서버(10)는 자원을 전송하고, 이에 대한 요금을 결정하여 유저 단말장치(20)에 과금한다. 이 같은 구조의 클라우드 컴퓨팅 기반의 과금 방법은 클라우드 컴퓨팅 서버(10)에서 요금을 결정하여 유저 단말장치(20)에 통보하는 것으로, 일방적인 과금 통보 구조로 이루어진다. 따라서, 유저 단말장치(20)에 의한 전자 서명이나 부인 방지 등의 기능이 제공되지 않으므로 사용자는 유저 단말장치(20)를 이용하여 사용한 자원에 대해서 확인하기 어려워 부당한 요금이 결정되더라도 수용할 수 밖에 없었다. When the
도 1에 도시된 클라우드 컴퓨팅 환경에서 과금에 따른 문제점을 해결하기 위하여 공개 키 기반(PKI:Public Key Infrastructure)에 의한 과금 시스템이 제안되었다. In order to solve the problem of charging in the cloud computing environment illustrated in FIG. 1, a charging system based on a public key infrastructure (PKI) has been proposed.
도 2는 종래 기술에 따른 공개 키 기반으로 한 클라우드 컴퓨팅 환경의 과금 시스템을 나타내는 도면이다. 도 2를 참조하면, 클라우드 컴퓨팅 환경의 과금 시스템은 클라우드 컴퓨팅 서버(10), 유저 단말장치(20), LDAP(Lightweight Directory Access Protocol) 디렉토리 서버(40) 및 인증 서버(50)를 포함하며, 이들은 인터넷(30)을 통해 연결된다. 2 is a diagram illustrating a charging system of a cloud computing environment based on a public key according to the prior art. Referring to FIG. 2, the billing system of a cloud computing environment includes a
도 2에 도시된 클라우드 컴퓨팅 환경은 도 1과는 달리, LDAP 디렉토리 서 버(40) 및 인증 서버(50)를 이용하여 인증 과정을 거치게 된다. 이 경우, LDAP 디렉토리 서버(40)는 클라우드 컴퓨팅 서버(10) 및 유저 단말장치(20)에 대한 인증서를 저장하고 있다. 그리고, 인증 서버(50)는 인증 인프라 내부에 있는 클라우드 컴퓨팅 서버(10) 및 유저 단말장치(20)의 인증서 생성 및 관리를 담당한다. Unlike in FIG. 1, the cloud computing environment illustrated in FIG. 2 undergoes an authentication process using an LDAP
구체적으로, 유저 단말장치(20)가 소정의 자원을 요청하기 위한 자원 요청 신호를 클라우드 컴퓨팅 서버(10)에 전송하면, 클라우드 컴퓨팅 서버(10)는 유저 단말장치(20)의 인증서를 LDAP 디렉토리 서버(40)에 요청하여 수신한다. 이 과정에서 클라우드 컴퓨팅 서버(10)는 유저 단말장치(20)가 요청한 자원을 유저 단말장치(20)에 할당하고, 개인키와 RSA 알고리즘 연산을 이용한 전자 서명을 생성하여 유저 단말장치(30)에 전송한다. Specifically, when the
유저 단말장치(20)를 사용하는 유저는 클라우드 컴퓨팅 서버(10)의 공개키를 이용하여 수신된 전자 서명에 대한 무결성을 확인하고, 클라우드 컴퓨팅 서버(10)로부터 제공받은 자원에 대한 사용 기록을 확인할 수 있다. 확인 결과, 사용 기록이 정확한 경우에는 유저 단말장치(20)의 개인키를 이용하여 사용 기록 확인에 대한 전자 서명을 생성하여 클라우드 컴퓨팅 서버(10)에 전송하고, 이 과정에 의해 클라우드 컴퓨팅 서버(10)는 과금하게 된다. 이 같은 과정은 유저가 유저 단말장치(20)를 통해 직접 사용 기록을 확인하여야 하는 것으로 사용자 편의성이 저하된다. A user using the
또한, RSA 알고리즘 연산은 인터넷 암호화 및 인증시스템으로 두 개의 140자 리 이상의 수인 소수를 이용하고, 이 수들의 곱 및 추가 연산을 통하여 공개키 및 개인키를 구성하고, 인터넷에서 사용하는 정보를 암호화하고 복호화할 수 있다. 유저 단말장치(20)가 이 같은 RSA 알고리즘 연산을 이용한 전자 서명을 확인하기 위해서는 RSA 알고리즘 연산을 수행할 수 있을 정도의 고속 프로세서를 내장하고 있어야 한다. 그러나, 클라우드 컴퓨팅 서버(10)를 이용하는 다수의 유저 단말장치가 모두 고속 프로세서를 내장하고 있지 않으므로, RSA 알고리즘 연산을 수행하는데 있어서 오류가 발생할 수 있다. In addition, the RSA algorithm operation is an internet encryption and authentication system that uses a decimal number of two or more 140 digits, constructs a public key and a private key by multiplying these numbers and adds an operation, and encrypts information used on the Internet. Can be decrypted In order to verify the electronic signature using the RSA algorithm operation, the
그리고, 클라우드 컴퓨팅 서버(10) 역시 다수의 유저 단말장치 각각에 대한 전자 서명을 생성해야 하므로, 과금 연산 및 에 따른 오버헤드가 발생하게 된다는 문제점이 있다.In addition, since the
본 발명은 상술한 문제점을 해결하기 위한 것으로, 본 발명의 목적은, 유저 단말장치에 대한 과금을 위임받은 위임 서버를 이용함으로써 유저 단말장치에서의 과금 연산으로 인한 오버헤드를 감소시킬 수 있으며, 과금을 검증하기 위한 공증 서버를 이용하여 클라우드 컴퓨팅 서버와 유저 단말장치 간의 자원 사용에 대한 과금을 검증함으로써 과금에 대한 부인을 방지할 수 있는 공개 키 기반의 프로토콜을 이용한 과금 시스템 및 그 방법에 관한 것이다. SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems, and an object of the present invention is to reduce the overhead caused by the billing operation in the user terminal device by using a delegation server delegated to the user terminal device. The present invention relates to a billing system and a method using a public key-based protocol that can prevent denial of billing by verifying billing for resource usage between a cloud computing server and a user terminal device using a notary server for verifying the billing.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 공개 키 기반의 프로토콜을 이용한 과금 시스템은, 복수의 자원을 구비하며, 외부로부터 자원 요청이 있을 경우 요청된 자원의 과금에 대한 제1 마이크로 계약서를 생성하는 클라우드 컴퓨팅 서버, 상기 클라우드 컴퓨팅 서버에 접속하여 자원을 요청하여 상기 제1 마이크로 계약서를 수신하고, 요청한 자원의 과금에 대한 제2 마이크로 계약서를 생성하여 암호화하는 유저 단말장치, 상기 유저 단말장치에서 사용한 자원에 대한 과금 연산을 위임받은 대행 인증서를 포함하며, 상기 유저 단말장치로부터 암호화된 상기 제1 마이크로 계약서 및 상기 제2 마이크로 계약서를 수신하고 과금을 연산하여 상기 클라우드 컴퓨팅 서버에 자원 할당 신호를 전송하여 상기 유저 단말장치에 해당 자원을 할당하도록 하는 위임 서버 및 상기 위임 서버로부터 암호화된 상기 제1 마이크로 계약서 및 상기 제2 마이크로 계약서를 전달받아 저장하고, 과금 검증 요청이 있을 경우 상기 제1 마이크로 계약서 및 상기 제2 마이크로 계약서를 복호화하여 비교하고 상기 클라우드 컴퓨팅 서버에서 제공한 자원의 과금과, 상기 유저 단말장치에서 사용한 자원에 대한 과금을 검증하는 공증 서버를 포함한다. Billing system using a public key-based protocol according to an embodiment of the present invention for achieving the above object, has a plurality of resources, when there is a resource request from the outside for the first charge of the requested resource A cloud computing server generating a micro contract, a user terminal device accessing the cloud computing server to request a resource to receive the first micro contract, and generating and encrypting a second micro contract for billing of the requested resource, the user A proxy certificate delegated to charge operation for resources used in the terminal device, and receives the encrypted first micro contract and the second micro contract from the user terminal device and calculates billing to allocate resources to the cloud computing server Resource transmitted to the user terminal device by sending a signal Receive and store the encrypted first micro contract and the second micro contract from the delegation server and the delegation server to allocate, and compare and decode the first micro contract and the second micro contract when a charge verification request is received. And a notary server for verifying billing of resources provided by the cloud computing server and billing of resources used by the user terminal device.
한편, 상기 유저 단말장치는 상기 유저 단말장치와 상기 위임 서버만 인식할 수 있는 제1 공유키와, 상기 유저 단말장치와 상기 공증 서버만 인식할 수 있는 제2 공유키를 이용하여 상기 제1 마이크로 계약서 및 상기 제2 마이크로 계약서를 암호화하는 것을 특징으로 한다. On the other hand, the user terminal device using the first shared key that can recognize only the user terminal device and the delegate server, and the second shared key that can recognize only the user terminal device and the notarization server, the first micro And encrypting the contract and the second micro contract.
이 경우, 상기 제1 마이크로 계약서는 상기 제1 마이크로 계약서의 일련 번호를 나타내는 제1 필드, 상기 제1 마이크로 계약서의 일련 번호, 상기 유저 단말장치에 할당한 자원 및 상기 클라우드 컴퓨팅 서버에서 생성된 무작위 데이터에 대한 해시(Hash) 값을 나타내는 제2 필드 및 상기 제1 마이크로 계약서의 일련 번호 및 상기 유저 단말장치에 할당한 자원에 대한 해시 값을 상기 클라우드 컴퓨팅 서버와 상기 공증 서버만이 인식할 수 있는 제3 공유키(KNotary , Cloud)로 암호화된 값을 나타내는 제3 필드로 이루어질 수 있다. In this case, the first micro contract may include a first field indicating a serial number of the first micro contract, a serial number of the first micro contract, resources allocated to the user terminal device, and random data generated by the cloud computing server. A second field indicating a hash value for the second field, a serial number of the first microcontract, and a hash value of a resource allocated to the user terminal device, which can be recognized only by the cloud computing server and the notary server. 3 may be a third field indicating a value encrypted with a shared key (K Notary , Cloud ).
또한, 상기 제2 마이크로 계약서는 상기 제2 마이크로 계약서의 일련 번호를 나타내는 제1 필드, 상기 제2 마이크로 계약서의 일련 번호, 상기 유저 단말장치가 할당받은 자원 및 상기 유저 단말장치에서 생성된 무작위 데이터에 대한 해 시(Hash) 값을 나타내는 제2 필드 및 상기 제2 마이크로 계약서의 일련 번호 및 상기 유저 단말장치가 할당받은 자원에 대한 해시 값을 나타내는 제3 필드로 이루어질 수 있다. The second micro contract may include a first field indicating a serial number of the second micro contract, a serial number of the second micro contract, resources allocated by the user terminal device, and random data generated by the user terminal device. And a second field indicating a hash value for the second and a third field indicating a hash value of a resource allocated by the user terminal device and a serial number of the second micro contract.
한편, 상기 공증 서버는 상기 검증 요청이 있을 경우 상기 위임 서버와 상기 공증 서버만 인식할 수 있는 제4 공유키를 이용하여 상기 제1 마이크로 계약서 및 상기 제2 마이크로 계약서를 복호화할 수 있다. Meanwhile, when the verification request is made, the notary server may decrypt the first micro contract and the second micro contract using a fourth shared key that can be recognized only by the delegation server and the notary server.
또한, 상기 공증 서버는, 상기 검증 요청이 있을 경우, 상기 유저 단말장치에 할당한 것으로 예측되는 제1 예측 할당 자원 및 제1 무작위 데이터를 상기 클라우드 컴퓨팅 서버로부터 수신하고, 상기 클라우드 컴퓨팅 서버로부터 할당받은 것으로 예측되는 제2 예측 할당 자원 및 제2 무작위 데이터를 상기 유저 단말장치로부터 수신하여, 상기 제1 마이크로 계약서 및 상기 제2 마이크로 계약서 각각에 포함된 상기 제2 필드 값과 비교하고 일치 여부를 확인하여 과금을 검증할 수 있다. When the verification request is received, the notary server receives the first prediction allocation resource and the first random data, which are predicted to be allocated to the user terminal device, from the cloud computing server and is allocated from the cloud computing server. Receiving a second prediction allocation resource and second random data predicted to be from the user terminal device, comparing the second field value included in each of the first micro contract and the second micro contract, You can verify the charge.
본 과금 시스템에서 상기 유저 단말장치는 상기 클라우드 컴퓨팅 서버, 상기 위임 서버 및 상기 공증 서버와 상호 인증된 상태일 수 있다. In the charging system, the user terminal device may be in a state of mutual authentication with the cloud computing server, the delegation server, and the notary server.
한편, 클라우드 컴퓨팅 서버에 자원을 요청하여 할당받는 유저 단말장치와, 상기 유저 단말장치의 자원 사용에 따른 과금 연산을 위임받은 위임 서버 및 상기 클라우드 컴퓨팅 서버에서 제공한 자원의 과금과, 상기 유저 단말장치에서 사용한 자원에 대한 과금을 검증하는 공증 서버를 포함하는 과금 시스템의 공개 키 기반의 프로토콜을 이용한 과금 검증 방법은 상기 유저 단말장치가 클라우드 컴퓨팅 서버에 필요한 자원을 요청하는 제1 단계, 상기 클라우드 컴퓨팅 서버가 상기 유저 단말장치로부터 요청된 상기 자원의 과금에 대한 제1 마이크로 계약서를 생성하여 상기 유저 단말장치에 전송하는 제2 단계, 상기 유저 단말장치가 상기 요청한 자원의 과금에 대한 제2 마이크로 계약서를 생성하여, 상기 클라우드 컴퓨팅 서버로부터 수신된 제1 마이크로 계약서와 함께 암호화한 후 상기 위임 서버에 전송하는 제3 단계, 상기 위임 서버가 상기 유저 단말장치로부터 암호화된 상기 제1 마이크로 계약서 및 상기 제2 마이크로 계약서를 수신하여 과금을 연산하고, 상기 제1 마이크로 계약서 및 상기 제2 마이크로 계약서를 상기 공증 서버에 전송하는 제4 단계 및 상기 공증 서버가 상기 위임 서버로부터 암호화된 상기 제1 마이크로 계약서 및 상기 제2 마이크로 계약서를 전달받아 저장하고, 검증 요청이 있을 경우 상기 제1 마이크로 계약서 및 상기 제2 마이크로 계약서를 복호화하고 비교하여 과금을 검증하는 제5 단계를 포함한다. On the other hand, the user terminal device that is assigned to request a resource to the cloud computing server, the delegate server delegated the billing operation according to the resource usage of the user terminal device and the charge of the resources provided by the cloud computing server, and the user terminal device In the billing verification method using a public key-based protocol of a billing system including a notary server verifying billing for a resource used in the first step, the user terminal requests a resource required for a cloud computing server, the cloud computing server Generating a first micro contract for the charging of the resource requested from the user terminal device and transmitting the first micro contract to the user terminal device, wherein the user terminal generates a second micro contract for the charging of the requested resource; A first microphone received from the cloud computing server A third step of encrypting the contract together with the contract and transmitting the encrypted data to the delegation server, wherein the delegation server receives the encrypted first micro contract and the second micro contract from the user terminal device to calculate billing, A fourth step of transmitting a micro contract and the second micro contract to the notary server, and the notary server receives and stores the encrypted first micro contract and the second micro contract from the delegation server, and there is a request for verification. And a fifth step of verifying billing by decrypting and comparing the first micro contract and the second micro contract.
이 경우, 상기 제1 단계는 상기 유저 단말장치가 클라우드 컴퓨팅 서버에 필요한 자원을 요청하면, 상기 유저 단말장치의 과금 연산을 위임받은 위임 서버의 유무 및 상기 유저 단말장치와 상기 클라우드 컴퓨팅 서버 간의 상호 인증 여부를 확인하는 제1 과정, 상기 과금 연산을 위임받은 위임 서버가 존재하지 않으면 일 위임 서버로부터 공개키 및 개인키를 수신하고, 상기 공개키를 상기 유저 단말장치의 개인키로 서명하여 대행 인증서를 생성한 후 상기 위임 서버에 전송하여 과금 연산을 위임시키는 제2 과정 및, 상기 유저 단말장치와 상기 클라우드 컴퓨팅 서버 간의 상호 인증이 되어 있지 않으면 상기 클라우드 컴퓨팅 서버로부터 인증 캡슐을 수신하고, 상기 유저 단말장치와 상기 위임 서버 간의 제1 공유키, 상기 유저 단말장치와 상기 공증 서버 간의 제2 공유키 및 상기 유저 단말장치와 상기 클라우드 컴퓨팅 서버 간의 제3 공유키를 분배하여 상호 인증하는 제3 과정을 포함할 수 있다. In this case, in the first step, when the user terminal device requests a resource necessary for the cloud computing server, the presence or absence of a delegation server delegated the charging operation of the user terminal device and mutual authentication between the user terminal device and the cloud computing server. In a first step of checking whether or not a delegation server delegated the billing operation does not exist, a public key and a private key are received from a delegation server, and the proxy key is generated by signing the public key with the private key of the user terminal device. And a second process of delegating a billing operation by transmitting to the delegation server and receiving an authentication capsule from the cloud computing server if mutual authentication between the user terminal device and the cloud computing server is not performed. First shared key between the delegate server, the user terminal device and the notarization It is possible to include a third step of the mutual authentication to divide the second shared key, and the user terminal device and the cloud computing a third key shared between the server between.
한편, 상기 제3 단계는 상기 유저 단말장치와 상기 위임 서버 간의 제1 공유키와, 상기 유저 단말장치와 상기 공증 서버 간의 제2 공유키를 이용하여 상기 제1 마이크로 계약서 및 상기 제2 마이크로 계약서를 암호화할 수 있다. On the other hand, in the third step, the first micro contract and the second micro contract are signed using a first shared key between the user terminal and the delegation server and a second shared key between the user terminal and the notary server. It can be encrypted.
이 경우, 상기 제1 마이크로 계약서는 상기 제1 마이크로 계약서의 일련 번호를 나타내는 제1 필드, 상기 제1 마이크로 계약서의 일련 번호, 상기 유저 단말장치에 할당한 자원 및 상기 클라우드 컴퓨팅 서버에서 생성된 무작위 데이터에 대한 해시(Hash) 값을 나타내는 제2 필드 및 상기 제1 마이크로 계약서의 일련 번호 및 상기 유저 단말장치에 할당한 자원에 대한 해시 값을 나타내는 제3 필드로 이루어진 것일 수 있다. In this case, the first micro contract may include a first field indicating a serial number of the first micro contract, a serial number of the first micro contract, resources allocated to the user terminal device, and random data generated by the cloud computing server. And a second field indicating a hash value for and a third field indicating a hash value for a resource allocated to the user terminal device and a serial number of the first micro contract.
또한, 상기 제2 마이크로 계약서는 상기 제2 마이크로 계약서의 일련 번호를 나타내는 제1 필드, 상기 제2 마이크로 계약서의 일련 번호, 상기 유저 단말장치가 할당받은 자원 및 상기 유저 단말장치에서 생성된 무작위 데이터에 대한 해시(Hash) 값을 나타내는 제2 필드 및, 상기 제2 마이크로 계약서의 일련 번호 및 상기 유저 단말장치가 할당받은 자원에 대한 해시 값을 나타내는 제3 필드로 이루진 것일 수 있다. The second micro contract may include a first field indicating a serial number of the second micro contract, a serial number of the second micro contract, resources allocated by the user terminal device, and random data generated by the user terminal device. And a second field indicating a hash value for the second field, and a third field indicating a hash value of a resource allocated by the user terminal device and a serial number of the second micro contract.
한편, 상기 제5 단계는 상기 검증 요청이 있을 경우 상기 위임 서버와 상기 공증 서버 간의 제4 공유키를 이용하여 상기 제1 마이크로 계약서 및 상기 제2 마이크로 계약서를 복호화할 수 있다. Meanwhile, in the fifth step, when the verification request is made, the first micro contract and the second micro contract may be decrypted using a fourth shared key between the delegation server and the notary server.
또한, 상기 제5 단계는 상기 검증 요청이 있을 경우 상기 유저 단말장치에 할당한 것으로 예측되는 제1 예측 할당 자원 및 제1 무작위 데이터를 상기 클라우드 컴퓨팅 서버로부터 수신하고, 상기 클라우드 컴퓨팅 서버로부터 할당받은 것으로 예측되는 제2 예측 할당 자원 및 제2 무작위 데이터를 상기 유저 단말장치로부터 수신하여, 상기 제1 마이크로 계약서 및 상기 제2 마이크로 계약서 각각에 포함된 상기 제2 필드 값과 비교하고 일치 여부를 확인하여 과금을 검증할 수 있다.In the fifth step, when the verification request is received, the cloud computing server receives the first prediction allocation resource and the first random data, which are predicted to be allocated to the user terminal device, and is allocated from the cloud computing server. Receiving the predicted second prediction allocation resource and the second random data from the user terminal device, compares with the value of the second field included in each of the first micro contract and the second micro contract, and confirms whether there is a coincidence Can be verified.
본 발명에 따르면, 유저 단말장치가 클라우드 컴퓨팅 서버를 이용하여 필요한 자원을 제공받는 클라우드 컴퓨팅 환경에서, 유저 단말장치에 대한 과금을 위임받은 위임 서버를 이용함으로써 유저 단말장치는 RSA 알고리즘 연산을 수행할 필요가 없게 되어 오버헤드 발생이 감소되며 고속 프로세서를 내장할 필요가 없게 되어 사양 부담이 감소할 수 있다.According to the present invention, in a cloud computing environment in which a user terminal device is provided with a necessary resource by using a cloud computing server, the user terminal device needs to perform an RSA algorithm operation by using a delegation server that is charged for the user terminal device. This reduces overhead by eliminating the need for an onboard high-speed processor, reducing the specification burden.
또한, 클라우드 컴퓨팅 서버에서 생성된 제1 마이크로 계약서와 유저 단말장치에서 생성된 제2 마이크로 계약서를 공증 서버에 저장해둠으로써, 클라우드 컴퓨팅 서버에서 제공한 자원의 과금과, 상기 유저 단말장치에서 사용한 자원에 대한 과금을 검증하여 과금에 따른 부인을 방지할 수 있게 된다. In addition, by storing the first micro-contract generated by the cloud computing server and the second micro-contract generated by the user terminal device in the notary server, the billing of resources provided by the cloud computing server and the resources used by the user terminal device are stored. It is possible to prevent the chargeback denial by verifying the chargeback.
이하에서는 첨부된 도면을 참조하여 본 발명을 보다 자세하게 설명한다. Hereinafter, with reference to the accompanying drawings will be described in detail the present invention.
도 3은 본 발명의 일 실시 예에 따른 공개 키 기반의 프로토콜을 이용한 과금 시스템을 나타내는 도면이다. 도 3을 참조하면, 과금 결제 시스템은 클라우드 컴퓨팅 서버(100), 유저 단말장치(200), LDAP 디렉토리 서버(300), 인증 서버(400), 위임 서버(500), 공증 서버(600) 및 인터넷망(700)을 포함한다. 3 is a diagram illustrating a charging system using a public key based protocol according to an embodiment of the present invention. Referring to FIG. 3, the billing payment system includes a
클라우드 컴퓨팅 서버(100)는 각종 프로그램이나 자료들 등과 같은 다양한 자원을 저장하고 있는 대형 컴퓨터로써, 인터넷망(700)을 통해 접속 가능한 외부 기기(예를 들어, PC 등)에 프로그램이나 자료 등을 제공하며, 프로그램이나 자료 제공에 따른 과금을 청구할 수 있다. The
유저 단말장치(200)는 일반 개인이 사용하는 PC가 될 수 있으며, 연산 성능이 낮은 저속의 프로세서를 구비한 저가형 PC로 이루어질 수 있다. 도면 상에는 설명의 편의를 위하여 하나의 PC만을 도시하였으나, 다수의 PC가 인터넷망(700)을 통해 클라우드 컴퓨팅 서버(100)에 접속할 수 있다. The
인증 서버(400)는 인증 인프라 내부에 있는 클라우드 컴퓨팅 서버(100) 및 유저 단말장치(200)의 인증서 관리 및 서명을 담당한다. 그리고, LDAP 디렉토리 서버(300)는 클라우드 컴퓨팅 서버(100) 및 유저 단말장치(200)에 대한 인증서를 저장하고 있으며, 클라우드 컴퓨팅 서버(100) 및 유저 단말장치(200)가 인증을 요구하면 그에 대응되는 인증서를 전송한다. The
한편, 위임 서버(500)는 유저 단말장치(200)의 과금 연산을 위임받아 유저 단말장치(200)에 대한 과금 연산을 대행하는 서버로, 유저 단말장치(200)로부터 수신한 대행 인증서를 포함한다. On the other hand, the
공증 서버(600)는 클라우드 컴퓨팅 서버(100)가 유저 단말장치(200)에 할당한 자원의 과금과 유저 단말장치(200)가 클라우드 컴퓨팅 서버(100)로부터 할당받아 사용한 자원에 대한 과금을 검증한다. 따라서, 클라우드 컴퓨팅 서버(100) 또는 유저 단말장치(200)가 과금을 부인하여 과금 검증을 요청할 경우, 과금 검증을 거쳐 과금 사실을 증명할 수 있게 된다. The
도 3에 도시된 과금 시스템의 동작을 설명한다. The operation of the charging system shown in FIG. 3 will be described.
우선, 유저 단말장치(200)는 인터넷망(700)을 통해 클라우드 컴퓨팅 서버(100)에 접속하여 필요한 자원을 요청한다. 그리고, 유저 단말장치(200)는 자신의 과금 연산을 위임받은 위임 서버의 존재 유무와, 자신과 클라우드 컴퓨팅 서 버(100) 간의 상호 인증 여부를 확인한다. First, the
만약, 위임 서버가 존재하지 않거나, 클라우드 컴퓨팅 서버와 상호 인증되어 있지 않은 경우, 위임 서버를 등록하고 클라우드 컴퓨팅 서버와 상호 인증하기 위한 절차를 거쳐야 한다. 위임 서버의 등록 절차, 및 클라우드 컴퓨팅 서버와 유저 단말장치 간의 상호 인증에 대한 구체적인 방법은 후술한다. If the delegation server does not exist or is not mutually authenticated with the cloud computing server, a procedure for registering the delegation server and mutual authentication with the cloud computing server is required. The registration procedure of the delegation server and the specific method for mutual authentication between the cloud computing server and the user terminal will be described later.
한편, 위임 서버가 존재하거나 클라우드 컴퓨팅 서버와 상호 인증되어 있다면, 클라우드 컴퓨팅 서버(100)는 유저 단말장치(200)로부터 요청된 자원의 과금에 대한 제1 마이크로 계약서를 생성한다. 그리고, 이 제1 마이크로 계약서를 유저 단말장치(200)에 전송한다. Meanwhile, if the delegation server exists or is mutually authenticated with the cloud computing server, the
유저 단말장치(200)는 제1 마이크로 계약서가 수신되면, 유저 단말장치(200)에서 사용한 자원의 과금에 대한 제2 마이크로 계약서를 생성한다. 그리고, 제1 마이크로 계약서와 제2 마이크로 계약서를 암호화시켜 위임 서버(500)에 전송한다. 이 경우, 제1 마이크로 계약서와 제2 마이크로 계약서의 암호화는 제1 및 제2 공유키를 이용하여 이루어질 수 있다. 제1 공유키는 유저 단말장치(200)와 위임 서버(500)만이 인식 가능한 것이며, 제2 공유키는 유저 단말장치(200)와 공증 서버(600)만이 인식 가능한 것이다. When the first micro contract is received, the
유저 단말장치(200)는 암호화된 제1 마이크로 계약서와 제2 마이크로 계약서 를 위임 서버(500)에 전송한다. 위임 서버(600)는 암호화된 제1 마이크로 계약서와 제2 마이크로 계약서를 수신하여 과금을 연산하며, 클라우드 컴퓨팅 서버(100)에 자원 할당 신호를 전송하여 유저 단말장치(200)에 해당 자원을 할당하도록 한다. The
또한, 위임 서버(600)는 암호화된 제1 마이크로 계약서와 제2 마이크로 계약서를 공증 서버(600)에 전송한다. In addition, the
공증 서버(600)는 암호화된 제1 마이크로 계약서와 제2 마이크로 계약서를 전달받아 저장한다. 그리고, 추후 클라우드 컴퓨팅 서버(100) 또는 유저 단말장치(200)로부터 과금 부인에 따른 과금 요청이 있을 경우, 제1 마이크로 계약서와 제2 마이크로 계약서를 복호화하여 비교함으로써 클라우드 컴퓨팅 서버(100)가 할당한 자원의 과금과, 유저 단말장치(200)가 할당받은 자원에 대한 과금을 검증할 수 있게 된다. The
도 4는 본 발명의 일 실시 예에 따른 공개 키 기반의 프로토콜을 이용한 과금 방법을 설명하기 위한 흐름도이다. 도 4는 도 3에 도시된 공개 키 기반의 프로토콜을 이용한 과금 시스템의 과금 방법을 설명하기 위한 것이다. 도 4에 도시된 과금 방법을 설명함에 있어서, 특정 단계에 이용되는 프로토콜은 도 6 내지 도 8을 이용하여 설명한다. 이 경우, 도 6 내지 도 8에 표시된 각 기호들에 대한 설명은 도 5에 기재되어 있다.4 is a flowchart illustrating a charging method using a public key based protocol according to an embodiment of the present invention. FIG. 4 illustrates a charging method of a charging system using a public key based protocol shown in FIG. 3. In describing the charging method illustrated in FIG. 4, the protocol used for a specific step will be described with reference to FIGS. 6 to 8. In this case, description of each symbol shown in FIGS. 6 to 8 is described in FIG. 5.
우선, 유저 단말장치(200)가 인터넷망(700)을 통해 클라우드 컴퓨팅 서버(100)에 접속하여 소정의 자원 사용을 요청하면(710 단계), 유저 단말장치(200)는 자원 요청과 동시에, 과금 연산을 위임받은 위임 서버가 존재하는지를 확인한다(715 단계). 확인 결과, 위임 서버가 존재하지 않을 경우 유저 단말장치(200)는 과금 연산을 위임하기 위한 위임 서버(500)를 등록한다(720 단계). 이 경우, 위임 서버(500)의 등록은 도 6에 도시된 제1 프로토콜을 이용하여 이루어질 수 있다. First, when the
도 6에 도시된 제1 프로토콜을 참조하면, 메시지 1-1에서와 같이 유저 단말장치(200)는 특정 기간 동안 과금 결제에 대한 공증을 요청하기 위해, 유저 단말장치(200)와 공증 서버(600)만이 인식할 수 있는 공유키(KNotary , User)를 생성하고(①), 위임 요청 메시지(Delegation-Request)를 생성한다(②). 그리고, 생성된 위임 요청 메시지(E{PUUser , Delegation, Delegation-Request})를 위임 서버(500)에 전송한다(③). Referring to the first protocol illustrated in FIG. 6, as shown in message 1-1, the
이후, 메시지 1-2에서와 같이, 위임 서버(500)는 복호화된 공유키(KUser , Delegation)와, 유저 단말장치(200)로부터 수신한 위임 요청 메시지(Delegation-Request) 내에 있는 공유키(KUser , Delegation)가 일치하면 유저 단말장치(200)의 인증 작업을 완료한다(①). Then, as shown in message 1-2, the
위임 서버(500)는 유저 단말장치(200)의 과금 연산을 위임받기 위한 Key pair(PUUser,Delegation, PRUser , Delegation)를 생성한다(②). 그리고, 이 Key pair 중 유저 단말장치(200)로부터 서명을 받기 위한 공개키(PUUser , Delegation)를 위임 요청 메시지(Delegation Request) 내에 있는 공유키(KUser , Delegation)로 암호화한 후, 무작위 데이터(NonceUSER)와 함께 유저 단말장치(200)에 전송한다(③). The
다음, 메시지 1-3에서와 같이, 유저 단말장치(200)는 위임 서버(500)로부터 수신한 메시지 1-2에서 무작위 데이터(NonceUser)를 이용하여 위임 서버(500)의 인증 작업을 완료한다(①). 그리고, 메시지 1-2에 포함된 공개키(PUUser , Delegation), 위임 기한 및 위임 권한과, 위임 서버(500)로부터 수신한 메시지 내에 있는 공개키(PUUser , Delegation)를 유저 단말장치(200)의 개인키(PRUser)를 이용하여 서명한 후, 대행 인증서(CRDelegation , User)를 생성한다(②). Next, as in message 1-3, the
유저 단말장치(200)는 이 대행 인증서(CRDelegation , User)를 공유키(KUser , Delegation)로 암호화하여 위임 서버(500)로 전송한다(③). 이 같은 과정에 의해 위임 서버(500)는 위임 기간 동안 유저 단말장치(200)의 과금 연산에 대한 권한을 위임받을 수 있게 된다. The
한편, 메시지 1-4에서와 같이, 위임 서버(500)는 위임 요청 메시 지(Delegation-Request) 내에 있는 E{PUNotary , KNotary , User}와, 유저 단말장치(200)로부터 수신한 대행 인증서(CRDelegation , User)를 위임 서버(500)의 개인키(PRDelegation)로 서명한다(①). 그리고, 암호화된 메시지와 공유키(KDelegation , Notary), 대행 인증서(CRDelegation , User) 및 무작위 데이터(NonceNotary) 등을 공증 서버(600)의 공개키(PUNotary)로 암호화한다(②). 이렇게 생성된 메시지를 공증 서버(600)로 전송한다(③). On the other hand, as shown in message 1-4, the
이후, 메시지 1-5에서와 같이, 공증 서버(600)는 위임 서버(500)로부터 수신한 메시지 1-4를 개인키(PRNotary)을 이용하여 복호화한다(①). 그리고 복호화된 메시지를 위임 서버(500)의 공개키(PUDelegation)를 이용하여 복호화하고, 대행 인증서(CRDelegation , User)를 비교하여 위임 서버(500)에 대한 인증 작업을 완료한다(②). Thereafter, as in message 1-5, the
또한, 위임 서버(500)로부터 수신한 대행 인증서(CRDelegation , User)를 이용하여 유저 단말장치(200)에 대한 인증 작업을 완료한다(③). 그리고, 공증 서버(600)는 개인키(PRNotary)를 이용하여 E{PUNotary, KNotary , User∥IDUser∥IDDelegation}를 복호화한 후, 유저 단말장치(200)에 시퀀스 넘버(Sequence Number)를 부여한다(④). 그리고, 시퀀스 넘버(Sequence Number) 및 무작위 데이터(NonceNotary)를 공개키(KDelegation , Notary)로 암호화한 후, 위임 서버(500)에 전송하여(⑤) 유저 단말장치(200)에 대한 과금 공증 서비스를 제공하기 위한 준비를 완료한다(⑥). In addition, by using the proxy certificate (CR Delegation , User ) received from the
한편, 도 6에 나타낸 제1 프로토콜을 이용하여 위임 서버의 등록이 완료되거나, 715 단계의 확인 결과 기 등록된 위임 서버가 존재할 경우, 유저 단말장치(200)는 클라우드 컴퓨팅 서버와 상호 인증되어 있는지를 확인한다(725 단계). On the other hand, if the registration of the delegation server is completed using the first protocol shown in FIG. 6, or if there is a pre-registered delegation server as a result of checking in step 715, whether the
만약, 확인 결과, 클라우드 컴퓨팅 서버와 상호 인증되어 있지 않을 경우 유저 단말장치(200)는 클라우드 컴퓨팅 서버와의 상호 인증 작업을 수행한다(730 단계).이 경우, 상호 인증 작업은 도 7에 도시된 제2 프로토콜을 이용하여 이루어질 수 있다. If, as a result of the check, the
도 7에 도시된 제2 프로토콜을 참조하면, 메시지 2-1에서와 같이 클라우드 컴퓨팅 서버(100)는 유저 단말장치(200)와 클라우드 컴퓨팅 서버(100) 간의 상호 인증을 위해, 인증 캡슐(Authentication-Capsule)을 유저 단말장치(200)에 전송한다(①). Referring to the second protocol illustrated in FIG. 7, as in message 2-1, the
이후, 메시지 2-2에서와 같이, 유저 단말장치(200)는 클라우드 컴퓨팅 서버(100)로부터 수신한 인증 캡슐(Authentication-Capsule)과, 유저 단말장치(200)의 아이디(IDUser) 및 세션-공유키(Session-KUser , Cloud)를 공유키(KNotary , User) 및 공유키(KUser , Delegation)로 암호화한다(①). 이렇게 암호화된 메시지를 유저 단말장치(200) 의 아이디(IDUser)와 함께 위임 서버(500)로 전송한다(②). Thereafter, as shown in message 2-2, the
다음, 메시지 2-3에서와 같이, 위임 서버(500)는 유저 단말장치(200)로부터 수신한 메시지 중 E{KNotary , User, Authentication-Capsule}을 개인키(PRUser , Delegation)로 암호화한다(①). 그리고, 클라우드 컴퓨팅 서버(100)의 아이디(IDCloud)와, 도 6의 메시지 1-5에 의해 생성되었던 시퀀스 넘버(SeqUser) 및 무작위 데이터(NonceNotary)와, '①'에서 생성된 내용을 공유키(KDelegation , Notary)로 암호화하고, 이를 공증 서버(600)에 전송한다(②). Next, as shown in message 2-3, the
한편, 메시지 2-4에서와 같이, 공증 서버(600)는 위임 서버(500)로부터 수신한 메시지 2-4를 공유키(KDelegation , Notary)를 이용하여 복호화한다(①). 그리고, 복호화된 메시지를 클라우드 컴퓨팅 서버(100)의 아이디(IDCloud) 및 시퀀스 넘버(SeqUser)에 따라 분류하여 인증 캡슐(Authentication-Capsule)과 E{PRUser , Delegation , E{KNotary , User, Authentication-Capsule}}를 대행 인증서(CRUser , Delegation)에 저장되어 있는 공유키(PUUser , Delegation)로 복호화한다(②). 그리고, 공유키(KNotary , User)를 이용하여 E{KNotary,User, Authentication-Capsule}을 복호화한다(③). Meanwhile, as in message 2-4, the
또한, 복호화된 인증 캡슐(Authentication-Capsule)을 비교하여, 동일한 경 우에는 위임 서버(500)에 "허락(ACCEPT)" 메시지를 보내고, 상이한 경우에는 "거절(REJECT)" 메시지를 보낸다. "거절(REJECT)" 메시지를 보내는 경우, "거절(REJECT)" 메시지를 공증 서버(600)와 클라우드 컴퓨팅 서버(100) 간의 공유키(KCloud , Notary)를 공개키(PUCloud)로 암호화하고 무작위 데이터(NonceNotary)와 함께 위임 서버(500)에 전송한다(④). In addition, the decrypted authentication capsule (Authentication-Capsule) is compared, and in the same case, the "ACCEPT" message is sent to the
한편, 메시지 2-5에서와 같이, 위임 서버(500)는 세션-공유키(Session- KUser,Cloud), 공유키(KDelegation , Cloud), 인증 캡슐(Authentication-Capsule) 및 유저 단말장치(200)의 아이디(IDUser)를 공개키(PUCloud)와 공유키(KDelegation , Cloud)로 암호화하여 이와 함께 공증 서버(600)로부터 수신한 공유키(KCloud , Notary) 및 무작위 데이터(NonceNotary)를 클라우드 컴퓨팅 서버(100)에 전송한다(①). Meanwhile, as shown in message 2-5, the
이후, 메시지 2-6에서와 같이, 클라우드 컴퓨팅 서버(100)는 위임 서버(500)로부터 수신한 메시지 2-5를 복호화하여 인증 캡슐(Authentication-Capsule)을 확인하고, 무작위 데이터(NonceCloud)를 공개키(PUDelegation , User)로 암호화하여 유저 단말장치(200)에 전송한다(①). 그리고, 클라우드 컴퓨팅 서버(100)는 유저 단말장치(200)로부터 별도의 메시지가 수신될 때까지 대기 모드로 동작한다(②). Then, as in message 2-6, the
다음, 메시지 2-8에서와 같이, 유저 단말장치(200)는 세션-공유키(Session-KeyUser,Cloud)를 이용하여 인증 캡슐(Authentication-Capsule)을 암호화하여(①), 유저 단말장치(200)와 클라우드 컴퓨팅 서버(100) 간의 상호 인증을 완료한다(②).Next, as in the message 2-8, the
한편, 도 7에 나타낸 제2 프로토콜을 이용하여 유저 단말장치(200)와 클라우드 컴퓨팅 서버(100) 간의 상호 인증이 완료되거나, 715 단계의 확인 결과 이미 상호 인증이 완료되어 있을 경우, 740 단계 내지 760 단계의 과정을 통해 유저 단말장치(200)에 할당된 자원에 대한 과금 연산을 한다. Meanwhile, when mutual authentication between the
구체적으로, 클라우드 컴퓨팅 서버(100)는 유저 단말장치(200)에 할당한 자원의 과금에 대한 제1 마이크로 계약서를 생성하여 유저 단말장치(200)에 전송한다(740 단계). 그리고, 유저 단말장치(200)는 제1 마이크로 계약서를 수신하고, 클라우드 컴퓨팅 서버(100)에서 할당받은 자원의 과금에 대한 제2 마이크로 계약서를 생성하여 제1 마이크로 계약서와 함께 암호화한 후 위임 서버(500)에 전송한다(745 단계).In detail, the
이후, 위임 서버(500)는 제1 마이크로 계약서 및 제2 마이크로 계약서를 이용하여 과금 연산을 수행한다(750 단계). 그리고, 위임 서버(500)는 클라우드 컴퓨팅 서버(100)에 자원 할당 신호를 전송하여(755 단계), 유저 단말장치(200)에 자원이 할당될 수 있도록 한다. Thereafter, the
또한, 위임 서버(500)는 공증 서버(600)에 제1 마이크로 계약서 및 제2 마이 크로 계약서를 전송하여 저장될 수 있도록 한다(760 단계). 이에 따라, 공증 서버(600)는 추후, 클라우드 컴퓨팅 서버(100) 또는 유저 단말장치(200)가 과금을 부인하여 과금 검증을 요청하는 경우, 저장된 제1 마이크로 계약서 및 제2 마이크로 계약서를 비교 분석하여 과금을 검증할 수 있게 된다. In addition, the
그리고, 클라우드 컴퓨팅 서버(100)에 추가의 자원 요청이 있다면(765 단계), 740 단계 내지 760 단계의 과정을 반복한다. If there is an additional resource request to the cloud computing server 100 (step 765), the processes of
한편, 740 단계 내지 760 단계에 도시 및 설명된 과금 방법은 도 8에 도시된 제3 프로토콜을 이용하여 이루어질 수 있다. 구체적으로, 도 8에 도시된 제3 프로토콜을 참조하면, 메시지 3-1에서와 같이, 유저 단말장치(200)는 세션-공유키(Session-KeyUser , Cloud)를 이용하여 필요한 자원 요청 메시지를 무작위 데이터(NonceUser)와 함께 클라우드 컴퓨팅 서버(100)에 전송한다(①). Meanwhile, the charging method illustrated and described in
이후, 메시지 3-2에서와 같이, 클라우드 컴퓨팅 서버(100)는 유저 단말장치(200)로부터 수신한 메시지 3-1을 수신하고, 클라우드 컴퓨팅 서버에서 할당한 자원 정보와, 추후 과금 연산 검증을 위한 제1 마이크로 계약서(micro-Contract-Cloud)를 생성하여 유저 단말장치(200)에 전송한다(①). Then, as in message 3-2, the
다음, 메시지 3-3을 참조하면, 유저 단말장치(200)는 자신의 아이디(IDUser) 와, 클라우드 컴퓨팅 서버(100)로부터 수신한 제1 마이크로 계약서(micro-Contract-Cloud), 그리고 유저 단말장치(200)에서 생성된 제2 마이크로 계약서(micro-Contract-User)를 이용하여 micro-Contract를 생성한 후, micro-Contract를 공유키(KNotary , User)와 공개키(KUser , Delegation)로 암호화한다(①). 그리고, 암호화 메시지를 위임 서버(500)에 전송한다(②).Next, referring to the message 3-3, the
한편, 메시지 3-4에서와 같이, 위임 서버(500)는 유저 단말장치(200)로부터 수신한 메시지 3-3 중 E{KNotary , User, micro-Contract}를 개인키(PRUser , Delegation)로 암호화한다(①). 그리고, 클라우드 컴퓨팅 서버(100)의 아이디(IDCloud)와, 도 6의 메시지 1-5에서 생성된 시퀀스 넘버(SeqUser) 및 무작위 데이터(NonceNotary)와 '①'에서 생성된 메시지를 공유키(KDelegation , Notary)로 암호화하여 공증 서버(600)에 전송한다(②). Meanwhile, as shown in message 3-4, the
이후, 메시지 3-5에서와 같이, 공증 서버(600)는 위임 서버(500)로부터 수신한 메시지 3-4를 공유키(KDelegation , Notary)로 복호화한다(①). 그리고, 공증 서버(600)는 클라우드 컴퓨팅 서버(100)의 아이디(IDCloud), 유저 단말장치(200)의 시퀀스 넘버(SeqUser) 따라 분류하여 micro-Contract과 E{PRUser , Delegation, E{KNotary , User, micro- Contract}}, 대행 인증서(CRUser , Delegation)에 저장되어 있는 개인키(PUUser , Delegation)로 복호화하고, 공유키(KNotary , User)로 E{KNotary , User, micro-Contract}를 복호화한다(②).Thereafter, as in message 3-5, the
또한, 공증 서버(600)는 micro-Contract에서 제1 마이크로 계약서(micro-Contract-Cloud)와 제2 마이크로 계약서(micro-Contract-User)의 내용을 비교하여 동일한 경우에는 위임 서버(500)에 "허락(ACCEPT)" 메시지를 보내고 상이한 경우에는 "거절(REJECT" 메시지를 무작위 데이터(NonceNotary) 함께 전송한다(③).In addition, the
다음, 메시지 3-6에서와 같이, 위임 서버(500)는 세션 공유키(Session-KeyUser,Cloud), 공유키(KDelegation , Cloud), micro-Contract, 유저 단말장치(200)의 아이디(IDUser)를 공유키(KDelegation , Cloud)로 암호화하여 클라우드 컴퓨팅 서버(100)에 전송한다(①). Next, as shown in message 3-6, the
한편, 메시지 3-7에서와 같이, 클라우드 컴퓨팅 서버(100)는 위임 서버(500)로부터 수신한 메시지 3-6을 복호화하여 micro-Contract을 확인하고 무작위 데이터(NonceCloud)를 공유키(KDelegation , Cloud)로 암호화시켜 위임 서버(500)에 전송한다(①). 그리고, 클라우드 컴퓨팅 서버(100)는 유저 단말장치(200)로부터 메시지가 수신될 때까지 대기 모드로 동작한다(②).Meanwhile, as in message 3-7, the
이후, 메시지 3-8에서와 같이, 유저 단말장치(200)는 세션-공유키(Session-KeyUser,Cloud)로 micro-Contract를 암호화하여(①), 과금 연산을 완료한다(②).Thereafter, as shown in message 3-8, the
한편, 도 8에 나타낸 제3 프로토콜을 이용하여 공증 서버(600)가 클라우드 컴퓨팅 서버(100) 및 유저 단말장치(200)의 과금 검증 및 부인 방지 기능을 제공하는 메커니즘을 설명한다. 과금 시스템은 도 6 및 도 7에 나타낸 제1 및 제2 프로토콜을 의해 유저 단말장치(200)와 위임 서버(500)만이 인식할 수 있는 공유키(KUser , Delegation), 유저 단말장치(200)와 공증 서버(600)만이 인식할 수 있는 공유키(KUser , Notary), 유저 단말장치(200)와 클라우드 컴퓨팅 서버(100)만이 인식할 수 있는 공유키(Session-KeyUser , Cloud)가 공개 키 기반으로 분배되어 있는 상태이다. Meanwhile, a mechanism in which the
유저 단말장치(200)는 제4 프로토콜의 메시지 3-2에서와 같이 클라우드 컴퓨팅 서버(100)로부터 제1 마이크로 계약서(micro-Contract-Cloud)를 전송받는다. 이 경우, 제1 마이크로 계약서(micro-Contract-Cloud)는 제1 내지 제3 필드로 구성되어 있다. 구체적으로, 제1 필드는 제1 마이크로 계약서(micro-Contract-Cloud)의 일련 번호(SN)를 나타내며, 제2 필드는 제1 마이크로 계약서(micro-Contract-Cloud)의 일련 번호(SN), 유저 단말장치(200)에 할당한 자원(Granted-Resource) 및 클라우드 컴퓨팅 서버(100)에서 생성된 무작위 데이터(NonceCloud)에 대한 해 시(Hash) 값 "Hash(SN∥Granted-Resource∥NonceCloud)"을 나타내고, 제3 필드는 제1 마이크로 계약서(micro-Contract-Cloud)의 일련 번호(SN) 및 유저 단말장치(200)에 할당한 자원(Granted-Resource)에 대한 해시 값을 클라우드 컴퓨팅 서버(100)와 공증 서버(600)만이 인식할 수 있는 공유키(KNotary , Cloud)로 암호화한 값 "E{KNotary , Cloud, Hash(SN∥Granted-Resource)}을 나타낸다. 이 경우, 해시 함수는 일 방향 함수이므로 유저 단말장치(200)는 해시 값의 원본을 알 수 없다. The
유저 단말장치(200)는 제4 프로토콜의 메시지 3-3에서와 같이 클라우드 컴퓨팅 서버(100)로부터 제1 마이크로 계약서(micro-Contract-User)를 전송받고, 제2 마이크로 계약서(micro-Contract-User)를 생성한다. 이 경우, 제2 마이크로 계약서(micro-Contract-User) 역시 제1 내지 제3 필드를 포함한다. 구체적으로, 제1 필드는 제2 마이크로 계약서(micro-Contract-User)의 일련 번호(SN)를 나타내며, 제2 필드는 제2 마이크로 계약서(micro-Contract-User)의 일련 번호(SN), 유저 단말장치(200)가 할당받은 자원(Granted-Resource) 및 유저 단말장치(200)에서 생성된 무작위 데이터(NonceUser)에 대한 해시(Hash) 값 ""Hash(SN∥Granted-Resource∥NonceUser)을 나타내고 제3 필드는 제2 마이크로 계약서(micro-Contract-User)의 일련 번호(SN) 및 유저 단말장치(200)가 할당받은 자원(Granted-Resource)에 대한 해시 값 "Hash(SN∥Granted-Resource)을 나타낸다. The
유저 단말장치(200) 또는 클라우드 컴퓨팅 서버(100)는 각각 예측 또는 주장하는 할당된 자원의 과금이 상이할 경우 과금 검증을 요청할 수 있다. 이 같은 과금 검층 요청이 있을 경우, 공증 서버(600)는 제1 마이크로 계약서와 제2 마이크로 계약서를 독출한 후, 동일한 일련번호(SN)에 대하여 검증을 수행한다. 단, 공증 서버(600)는 검증을 수행하기에 앞서, 클라우드 컴퓨팅 서버(100)가 유저 단말장치(200)에 할당한 것으로 예측하는 제1 예측 할당 자원(Granted-Resource)과 클라우드 컴퓨팅 서버(100)의 무작위 데이터(NonceCloud)를 수신하고, 유저 단말장치(200)가 클라우드 컴퓨팅 서버(100)로부터 할당받은 것으로 예측하는 제2 예측 할당 자원과 유저 단말장치(200)의 무작위 데이터(NonceUser)를 수신한다. The
그리고, 공증 서버(600)는 제1 예측 할당 자원(Granted-Resource)과 클라우드 컴퓨팅 서버(100)의 무작위 데이터(NonceCloud)를 제1 마이크로 계약서(micro-Contracte-Cloud)의 제2 필드 값들과 비교하여 일치되는지를 확인한다. 만약, 일치한다면 유저 단말장치(200)가 클라우드 컴퓨팅 서버(100)로부터 수신한 제1 마이크로 계약서(micro-Contrate-Cloud)를 위임 서버(500)에 전송한 것이 증명되므로, 유저 단말장치(200)는 클라우드 컴퓨팅 서버(100)에서 할당한 자원을 수락했음을 증명하게 된다. The
또한, 제2 예측 할당 자원(Granted-Resource)과 유저 단말장치(200)의 무작위 데이터(NonceUser)를 제2 마이크로 계약서(micro-Contracte-User)의 제2 필드 값들과 비교하여 일치되는지를 확인한다. 만약, 일치한다면 클라우드 컴퓨팅 서 버(100)가 제1 마이크로 계약서(micro-Contracte-Cloud)를 유저 단말장치(200)에 전송한 것이 증명된다. In addition, the second predicted allocated resource (Granted-Resource) and the random data (Nonce User ) of the
이 같이 또한, 공증 서버(600)는 클라우드 컴퓨팅 서버(100)에서 생성된 제1 마이크로 계약서와 유저 단말장치(200)에서 생성된 제2 마이크로 계약서를 저장해둠으로써, 추후 과금 검증에 따른 요청이 있을 때 클라우드 컴퓨팅 서버(100)에서 제공한 자원의 과금과, 상기 유저 단말장치(200)에서 사용한 자원에 대한 과금을 검증하여 과금에 따른 부인을 방지할 수 있게 된다. As such, the
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.Although the above has been illustrated and described with respect to the preferred embodiments of the present invention, the present invention is not limited to the above-described specific embodiments, it is common in the technical field to which the invention belongs without departing from the spirit of the invention claimed in the claims. Various modifications can be made by those skilled in the art, and these modifications should not be individually understood from the technical spirit or the prospect of the present invention.
도 1은 종래 기술에 따른 클라우드 컴퓨팅 시스템의 과금 방법을 설명하기 위한 도면, 1 is a view for explaining a charging method of a cloud computing system according to the prior art,
도 2는 종래 기술에 따른 공개 키 기반으로 한 클라우드 컴퓨팅 환경의 과금 시스템을 나타내는 도면,2 illustrates a charging system of a cloud computing environment based on a public key according to the prior art;
도 3은 본 발명의 일 실시 예에 따른 공개 키 기반의 프로토콜을 이용한 과금 시스템을 나타내는 도면, 3 illustrates a charging system using a public key based protocol according to an embodiment of the present invention;
도 4는 본 발명의 일 실시 예에 따른 공개 키 기반의 프로토콜을 이용한 과금 방법을 설명하기 위한 흐름도, 그리고, 4 is a flowchart illustrating a charging method using a public key based protocol according to an embodiment of the present invention, and
도 5 내지 도 7은 도 4에 도시된 과금 방법에 이용되는 프로토콜을 나타내는 도면이다.5 to 7 are diagrams showing a protocol used for the charging method shown in FIG.
* 도면의 주요 부분에 대한 부호 설명 * Explanation of symbols on the main parts of the drawings
100 : 클라우드 컴퓨팅 서버100: cloud computing server
200 : 유저 단말장치200: user terminal device
300 : 인터넷망300: Internet network
500 : 위임 서버500: delegation server
600 : 공증 서버600: Notary Server
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090069639A KR101063354B1 (en) | 2009-07-29 | 2009-07-29 | Billing system and method using public key based protocol |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090069639A KR101063354B1 (en) | 2009-07-29 | 2009-07-29 | Billing system and method using public key based protocol |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110012085A true KR20110012085A (en) | 2011-02-09 |
KR101063354B1 KR101063354B1 (en) | 2011-09-07 |
Family
ID=43772053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090069639A KR101063354B1 (en) | 2009-07-29 | 2009-07-29 | Billing system and method using public key based protocol |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101063354B1 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210090076A1 (en) * | 2016-02-23 | 2021-03-25 | nChain Holdings Limited | Registry and automated management method for blockchain-enforced smart contracts |
US11606219B2 (en) | 2016-02-23 | 2023-03-14 | Nchain Licensing Ag | System and method for controlling asset-related actions via a block chain |
US11621833B2 (en) | 2016-02-23 | 2023-04-04 | Nchain Licensing Ag | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
US11625694B2 (en) | 2016-02-23 | 2023-04-11 | Nchain Licensing Ag | Blockchain-based exchange with tokenisation |
US11727501B2 (en) | 2016-02-23 | 2023-08-15 | Nchain Licensing Ag | Cryptographic method and system for secure extraction of data from a blockchain |
US11755718B2 (en) | 2016-02-23 | 2023-09-12 | Nchain Licensing Ag | Blockchain implemented counting system and method for use in secure voting and distribution |
US11936774B2 (en) | 2016-02-23 | 2024-03-19 | Nchain Licensing Ag | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys |
US11972422B2 (en) * | 2016-02-23 | 2024-04-30 | Nchain Licensing Ag | Registry and automated management method for blockchain-enforced smart contracts |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101356223B1 (en) | 2012-01-18 | 2014-01-29 | 한국과학기술원 | Apparatus and method for guaranteeing computing resource in cloud computing environment for cloud customer |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004272669A (en) * | 2003-03-10 | 2004-09-30 | Hitachi Ltd | Method and device for charging management for grid computing |
US8005457B2 (en) | 2005-09-02 | 2011-08-23 | Adrian Jones | Method and system for verifying network resource usage records |
-
2009
- 2009-07-29 KR KR1020090069639A patent/KR101063354B1/en not_active IP Right Cessation
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210090076A1 (en) * | 2016-02-23 | 2021-03-25 | nChain Holdings Limited | Registry and automated management method for blockchain-enforced smart contracts |
US11606219B2 (en) | 2016-02-23 | 2023-03-14 | Nchain Licensing Ag | System and method for controlling asset-related actions via a block chain |
US11621833B2 (en) | 2016-02-23 | 2023-04-04 | Nchain Licensing Ag | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
US11625694B2 (en) | 2016-02-23 | 2023-04-11 | Nchain Licensing Ag | Blockchain-based exchange with tokenisation |
US11727501B2 (en) | 2016-02-23 | 2023-08-15 | Nchain Licensing Ag | Cryptographic method and system for secure extraction of data from a blockchain |
US11755718B2 (en) | 2016-02-23 | 2023-09-12 | Nchain Licensing Ag | Blockchain implemented counting system and method for use in secure voting and distribution |
US11936774B2 (en) | 2016-02-23 | 2024-03-19 | Nchain Licensing Ag | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys |
US11972422B2 (en) * | 2016-02-23 | 2024-04-30 | Nchain Licensing Ag | Registry and automated management method for blockchain-enforced smart contracts |
Also Published As
Publication number | Publication date |
---|---|
KR101063354B1 (en) | 2011-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109617698B (en) | Method for issuing digital certificate, digital certificate issuing center and medium | |
Xu et al. | An identity management and authentication scheme based on redactable blockchain for mobile networks | |
US10243742B2 (en) | Method and system for accessing a device by a user | |
US8843415B2 (en) | Secure software service systems and methods | |
US7574600B2 (en) | System and method for combining user and platform authentication in negotiated channel security protocols | |
US10516654B2 (en) | System, apparatus and method for key provisioning delegation | |
WO2017020452A1 (en) | Authentication method and authentication system | |
KR101063354B1 (en) | Billing system and method using public key based protocol | |
CN111355745A (en) | Cross-domain identity authentication method based on edge computing network architecture | |
Al-Janabi et al. | Public-key cryptography enabled kerberos authentication | |
Chen et al. | Lightweight authentication protocol in edge-based smart grid environment | |
WO2003101042A1 (en) | Information processing system and method, information processing device and method, recording medium, and program | |
Hou et al. | Lightweight and privacy-preserving charging reservation authentication protocol for 5G-V2G | |
Bharill et al. | A secure key for cloud using threshold cryptography in Kerberos | |
Li et al. | A privacy-preserving lightweight energy data sharing scheme based on blockchain for smart grid | |
CN111526130B (en) | Lightweight certificateless industrial Internet of things access control method and system | |
KR100979205B1 (en) | Method and system for device authentication | |
KR100764882B1 (en) | Device and method for pki based single sign-on authentication on low computing security device | |
CN113329003B (en) | Access control method, user equipment and system for Internet of things | |
KR20100002424A (en) | Method for generating secure key using certificateless public key | |
CN112035820B (en) | Data analysis method used in Kerberos encryption environment | |
Bajpai et al. | Security service level agreements based authentication and authorization model for accessing cloud services | |
JP2011250335A (en) | Efficient mutual authentication method, program, and device | |
JP2000261428A (en) | Authentication device in decentralized processing system | |
CN114697046B (en) | Security authentication method and system based on SM9 secret |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140827 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |