KR20110017865A - 안전한 웹 기반 트랜잭션 - Google Patents

안전한 웹 기반 트랜잭션 Download PDF

Info

Publication number
KR20110017865A
KR20110017865A KR1020107026648A KR20107026648A KR20110017865A KR 20110017865 A KR20110017865 A KR 20110017865A KR 1020107026648 A KR1020107026648 A KR 1020107026648A KR 20107026648 A KR20107026648 A KR 20107026648A KR 20110017865 A KR20110017865 A KR 20110017865A
Authority
KR
South Korea
Prior art keywords
web server
web
user
transaction
server
Prior art date
Application number
KR1020107026648A
Other languages
English (en)
Inventor
닉 위세맨
폴 레베스
쿠마 두와리
자섹 스타윅키
콜린 프랭크스
조지 라운치버리
자이네 리
주드 톤네
Original Assignee
더 아이스 오거나이제이션 엘티디
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 더 아이스 오거나이제이션 엘티디 filed Critical 더 아이스 오거나이제이션 엘티디
Publication of KR20110017865A publication Critical patent/KR20110017865A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/385Payment protocols; Details thereof using an alias or single-use codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

2개의 독립적으로 관리되는 웹 서버들을 수반하는 온라인 트랜잭션들을 안전하게 수행하는 방법들이 설명된다. 트랜잭션을 완료하기 위하여, 사용자는 상기 2개의 웹 서버들 각각과 동시에 상호 작용하고 상기 사용자와 각 웹 서버 사이에 및 2개의 서버들 사이에 인증이 일어날 수 있다. 상기 2개의 웹 서버들 각각은 상기 트랜잭션을 완료하기 위해 이용되는 데이터를 제공하고 제1 웹 서버에 의해 제공되는 데이터는 상기 트랜잭션에서 이용하기 위해 제2 웹 서버에 바로 전달된다. 실시예에서, 상기 제1 웹 서버는 사용자가 상기 트랜잭션에서 이용되는 변수를 지정할 수 있게 하는 웹 페이지를 제공한다. 이것은 상기 제2 웹 서버에 전달되고 상기 제2 웹 서버는 그 메시지에 대한 식별자들과 함께 상기 트랜잭션을 처리한다. 상기 식별자는 상기 트랜잭션을 처리하는 데 그것이 이용되기 전에 상기 변수의 유효성을 검사하는 데 이용될 수 있다. 트랜잭션의 완료에 이어 이것은 실시간으로 상기 제1 웹 서버에 보고될 수 있다.

Description

안전한 웹 기반 트랜잭션{SECURE WEB BASED TRANSACTIONS}
많은 수의 웹 기반 트랜잭션들이 매일 수행되지만; 이러한 트랜잭션들에의 당사자들은 인터넷을 통하여 수행되는 트랜잭션들의 보안에 관하여 걱정한다. 보안 문제들은 관련된 당사자들의 메시지들 및 ID(identification)의 가로챔(interception)의 가능성과 관련이 있을 수 있다.
통상적으로 웹 기반 트랜잭션은 소매 상인에 의해 관리되는 단일 웹 서버와의 상호 작용을 수반하지만, 어떤 경우에 지불은 제3자에 의해 처리되고 소비자는 그들이 구입한 항목들에 대하여 지불하기 위하여 지불 제공자의 웹사이트로 리디렉트(redirect)된다. 재정 정보가 송신되기 때문에, 보안은 명백히 사용자들에게 매우 중요한 걱정거리이다.
어떤 온라인 소매 상인들은 소비자들이 트랜잭션에서 상품권들을 교환(redeem)하거나 또는 다른 방법으로 특정한 트랜잭터들(transactors)에 액세스할 수 있게 한다. 통상적으로 소비자에게는 우편 또는 전자 메일에 의해 상품권 또는 상품권 코드가 발송되고 소비자는 그 후 소매 상인의 웹사이트 상의 체크아웃에서 박스 안에 코드를 입력한다. 그러한 시스템들은 안전하게 수행되지 않기 때문에 악용되기 쉽다. 예를 들면, 그러한 시스템들은 소비자에의 상품권 상세의 통신이 제3자에 의해 가로챔을 당하기 쉽다.
아래에 설명되는 실시예들은 웹 기반 트랜잭션들을 가능하게 하는 공지된 방법들 및 시스템들의 불리점들 중 임의의 것 또는 모든 것을 해결하는 구현들에 제한되지 않는다.
[개요]
이 개요는 아래 상세한 설명에서 더 설명되는 개념들 중 선택된 것들을 간소화한 형태로 도입하기 위해 제공된다. 이 개요는 청구된 주제의 중요한 특징들 또는 본질적인 특징들을 식별하기 위해 의도되지 않았고, 청구된 주제의 범위를 결정하는 데 도움으로서 이용되기 위해 의도되지도 않았다.
2개의 독립적으로 관리되는 웹 서버들을 수반하는 온라인 트랜잭션들을 안전하게 수행하는 방법들이 설명된다. 트랜잭션을 완료하기 위하여, 사용자는 상기 2개의 웹 서버들 각각과 동시에 상호 작용하고 상기 사용자와 각 웹 서버 사이에 및 2개의 서버들 사이에 인증이 일어날 수 있다. 상기 2개의 웹 서버들 각각은 상기 트랜잭션을 완료하기 위해 이용되는 데이터를 제공하고 제1 웹 서버에 의해 제공되는 데이터는 상기 트랜잭션에서 이용하기 위해 제2 웹 서버에 바로 전달된다. 실시예에서, 상기 제1 웹 서버는 사용자가 상기 트랜잭션에서 이용되는 변수를 지정할 수 있게 하는 웹 페이지를 제공한다. 이것은 상기 제2 웹 서버에 전달되고 상기 제2 웹 서버는 그 메시지에 대한 식별자들과 함께 상기 트랜잭션을 처리한다. 상기 식별자(들)는 상기 트랜잭션을 처리하는 데 그것이 이용되기 전에 상기 변수의 유효성을 검사(validating)하는 데 이용될 수 있다. 트랜잭션의 완료에 이어 이것은 실시간으로 상기 제1 웹 서버에 보고될 수 있다.
제1 양태는 온라인 트랜잭션을 수행하는 방법으로서, 단일 웹 세션 내에서, 제1 웹 서버에서 사용자의 인증을 수행하는 단계; 상기 사용자에게 제1 웹 페이지를 제공하는 단계 ― 상기 제1 웹 페이지는 제2 웹 서버에 의해 제공되는 제2 웹 페이지에의 링크를 포함함 ―; 및 상기 사용자와 상기 제1 및 제2 웹 서버들 중 하나의 웹 서버 사이의 트랜잭션의 완료에 앞서 사용자 데이터의 안전한 송신을 위해 상기 제1 웹 서버와 상기 제2 웹 서버 사이에 제1 통신 링크를 확립하는 단계를 포함하는 방법을 제공하고; 상기 방법은, 상기 웹 서버들 사이의 트랜잭션 데이터의 안전한 송신을 위해, 상기 트랜잭션의 완료에 이어 상기 제1 웹 서버와 상기 제2 웹 서버 사이에 제2 통신 링크를 확립하는 단계를 더 포함한다.
제2 통신 링크를 확립하는 상기 단계는 상기 트랜잭션의 완료에 이어 즉시 실시간으로 수행될 수 있다.
상기 방법은, 상기 사용자가 상기 제1 웹 서버에 의해 제공된 웹 페이지 및 상기 제2 웹 서버에 의해 제공된 웹 페이지를 통해 상기 제1 및 제2 웹 서버들 각각과 동시에 및 독립적으로 상호 작용할 수 있게 하는 단계를 더 포함할 수 있다.
상기 제1 및 상기 제2 웹 서버들에 의해 제공된 상기 웹 페이지들은 브라우저의 2개의 개별 프레임들 내에 제공될 수 있다.
상기 제2 웹 서버에 의해 제공된 상기 웹 페이지는 제2 웹 페이지일 수 있다.
상기 방법은, 상기 제2 웹 서버에서 상기 사용자의 인증을 수행하는 단계를 더 포함할 수 있다.
상기 사용자 데이터는 사용자 입력 변수를 포함할 수 있고 상기 방법은, 상기 제1 웹 서버에서 사용자 입력을 수신하는 단계 ― 상기 사용자 입력은 상기 사용자에 의해 입력된 사용자 입력 변수를 식별함 ― 를 더 포함할 수 있다.
상기 방법은, 상기 제1 웹 서버에서, 상기 제1 통신 링크를 통해 상기 제2 웹 서버로부터 상기 사용자 입력 변수에 대한 요청을 수신하는 단계; 및 상기 제1 통신 링크를 통해 상기 제2 웹 서버에 상기 사용자 입력 변수를 포함하는 응답 메시지를 송신하는 단계를 더 포함할 수 있다.
상기 방법은, 상기 제1 웹 서버에서, 상기 응답을 송신하기에 앞서 상기 요청을 검증하는 단계를 더 포함할 수 있다.
상기 방법은, 상기 제1 웹 서버에서, 상기 제2 웹 서버에 상기 사용자 입력 변수를 포함하는 메시지를 푸싱(pushing)하는 단계를 더 포함할 수 있다.
상기 제1 통신 링크를 통한 사용자 데이터의 안전한 송신은 데이터 전송을 윈도잉하는 창(window)을 이용할 수 있고 데이터 전송을 윈도잉하는 상기 창은 암호화될 수 있다.
상기 방법은, 상기 링크가 활성화되면 상기 제1 웹 서버로부터 상기 제2 웹 서버로 상기 사용자와 관련된 식별자를 전달하는 단계를 더 포함할 수 있다.
제2 양태는 온라인 트랜잭션을 수행하는 방법으로서, 제1 웹 서버에서 및 단일 웹 세션 내에서, 사용자의 인증을 수행하는 단계; 상기 사용자에게 제1 웹 페이지를 제공하는 단계 ― 상기 제1 웹 페이지는 제2 웹 서버에 의해 제공되는 제2 웹 페이지에의 링크를 포함함 ―; 및 상기 사용자와 상기 제1 및 제2 웹 서버들 중 하나 또는 양쪽 웹 서버 사이의 트랜잭션의 완료에 앞서 사용자 데이터의 안전한 송신을 위해 상기 제1 웹 서버와 상기 제2 웹 서버 사이에 제1 통신 링크를 확립하는 단계를 포함하는 방법을 제공하고; 상기 방법은, 상기 제1 웹 서버에서, 상기 웹 서버들 사이의 트랜잭션 데이터의 안전한 송신을 위해, 상기 트랜잭션의 완료에 이어 상기 제1 웹 서버와 상기 제2 웹 서버 사이에 제2 통신 링크를 확립하는 단계를 더 포함한다.
제2 통신 링크를 확립하는 상기 단계는 상기 트랜잭션의 완료에 이어 실시간으로 수행될 수 있다.
제3 양태는 제1 웹 서버 및 제2 웹 서버를 포함하는 안전한 웹 기반 트랜잭션들을 위한 시스템을 제공하고, 상기 제1 및 제2 웹 서버들 중 적어도 하나의 웹 서버는, 사용자의 인증을 수행하고; 상기 사용자에게 제1 웹 페이지를 제공하고 ― 상기 제1 웹 페이지는 제2 웹 서버에 의해 제공되는 제2 웹 페이지에의 링크를 포함함 ―; 상기 사용자와 상기 제1 및 제2 웹 서버들 중 하나의 웹 서버 사이의 트랜잭션의 완료에 앞서 사용자 데이터의 안전한 송신을 위해 상기 제1 웹 서버와 상기 제2 웹 서버 사이에 제1 통신 링크를 확립하고; 상기 웹 서버들 사이의 트랜잭션 데이터의 안전한 송신을 위해, 상기 트랜잭션의 완료에 이어 상기 제1 웹 서버와 상기 제2 웹 서버 사이에 제2 통신 링크를 확립하도록 배열된다.
상기 제1 및 상기 제2 웹 서버들 중 상기 적어도 하나의 웹 서버는 상기 트랜잭션의 완료에 이어 즉시 실시간으로 상기 제2 통신 링크를 확립하도록 배열될 수 있다.
제4 양태는 실질적으로 도 2 및 4-9 중 임의의 도에 관하여 설명된 것과 같은 제1 및 제2 웹 서버를 포함하는 시스템을 운영하는 방법을 제공한다.
제5 양태는 실질적으로 도 10에 관하여 설명된 것과 같은 웹 서버를 제공한다.
제6 양태는 컴퓨터에서 실행될 때 여기에서 설명된 방법들 중 임의의 방법의 모든 단계들을 수행하도록 적응된 컴퓨터 프로그램 코드 수단을 포함하는 컴퓨터 프로그램을 제공한다. 상기 컴퓨터 프로그램은 컴퓨터 판독 가능한 매체 상에 구현될 수 있다.
여기에서 설명된 방법들은 저장 매체 상의 기계 판독 가능한 형태로 펌웨어 또는 소프트웨어에 의해 수행된다. 상기 소프트웨어는 상기 방법 단계들이 임의의 적당한 순서로, 또는 동시에 수행될 수 있도록 병렬 프로세서 또는 직렬 프로세서에서의 실행에 적당할 수 있다.
이것은 펌웨어 또는 소프트웨어가 금전적 가치가 있는, 개별적으로 매매 가능한 상품일 수 있다는 것을 인정한다. 소망의 기능들을 수행하기 위해, "덤"(dumb) 또는 표준 하드웨어에서 실행하거나 그러한 하드웨어를 제어하는 소프트웨어를 포함하는 것이 의도된다. 또한 소망의 기능들을 수행하도록, 실리콘 칩들을 설계하기 위해, 또는 유니버설 프로그래머블 칩들(universal programmable chips)을 구성하기 위해 이용되는, HDL(hard description language)과 같은, 하드웨어의 구성을 "기술"하거나 정의하는 소프트웨어를 포함하는 것이 의도된다.
바람직한 특징들은, 숙련자에게 명백한 바와 같이, 적절할 때 조합될 수 있고, 본 발명의 양태들 중 임의의 양태와 조합될 수 있다.
본 발명의 실시예들은, 다음의 도면들에 관하여, 예로서, 설명될 것이다.
도 1은 안전한 웹 기반 트랜잭션들을 가능하게 하는 시스템의 개략도이다.
도 2는 도 1의 시스템의 동작의 방법 예의 흐름도이다.
도 3은 브라우저의 그래픽 사용자 인터페이스의 개략도를 나타낸다.
도 4-9는 도 1의 시스템의 동작의 다른 방법 예들의 흐름도들이다.
도 10은 여기에서 설명된 방법들의 실시예들이 구현될 수 있는 예시적인 웹 서버의 다양한 컴포넌트들을 도시한다.
유사한 특징들을 지시하기 위해 도면들 전체에서 공통의 참조 번호들이 이용된다.
본 발명의 실시예들은 이하에서 단지 예로서 설명된다. 이러한 예들은 본 출원인이 현재 알고 있는 발명을 실시하는 최선의 방식들을 나타내지만 그것들은 이것이 달성될 수 있는 유일한 방식들은 아니다. 본 설명은 예의 기능들 및 예를 구성하고 운영하기 위한 단계들의 시퀀스를 설명한다. 그러나, 동일한 또는 동등한 기능들 및 시퀀스들은 상이한 예들에 의해 달성될 수 있다.
도 1은 안전한 웹 기반 트랜잭션들을 가능하게 하는 시스템의 개략도이다. 시스템은 인터넷과 같은 네트워크(103)를 통해 연결되는 2개의 웹 서버들(101, 102)을 포함한다. 사용자는 컴퓨터(104) 또는 다른 장치에서 실행하는 브라우저를 통해 2개의 웹 서버들과 상호 작용할 수 있다. 2개의 웹 서버들(101, 102)은 독립적으로 제어되는데, 즉, 그것들은 상이한 엔티티들에 의해(또는 상이한 엔티티들을 위해) 운영된다.
도 2는 도 1의 시스템의 동작의 방법 예의 흐름도이다. 제1 웹 서버(101)는 제2 웹 서버(102)에 의해 제공되는 웹 페이지에의 링크를 포함하는 웹 페이지를 브라우저에 제공한다(블록(201)). 이 웹 페이지는 사용자가 제1 웹 서버에 로그인했거나 또는 다른 방법으로 제1 웹 서버와의 인증을 수행한(블록(200)) 후에 제공될 수 있고 또는 다르게는 웹 페이지가 제공된 후에(예를 들면 블록(202) 전에) 인증이 일어날 수 있다. 사용자가 그들의 브라우저를 통해 링크를 클릭할 때, 제1 서버는 제2 서버에 식별자를 전달하고(블록(202)) 제2 서버는 웹 페이지를 시작(launch)한다(블록(203)). 그와 동시에, 제1 서버는 제1 서버에 의해 제공된 웹 페이지를 업데이트할 수 있고 또는 새로운 웹 페이지를 시작할 수 있다. 제1 서버로부터 제2 서버로 전달된 식별자는 사용자 및/또는 제2 서버(즉, 식별자의 목표 수령자(target recipient))를 식별한다. 이 시스템은, 여기에서 IceID라고도 불리는, 시스템 ID라고 불릴 수 있다. 일례로, IceID는 사용자 식별자(사용자 ID) 및 제2 서버에 대한 식별자(또는 제2 서버의 조작자, 예를 들면, 벤더 ID)의 조합일 수 있다. 그러한 예에서, 사용자가 둘 이상의 벤더와 거래(transact)하고 있는 경우, 제1 벤더에 전달되는 IceID는 제2 벤더에 전달되는 IceID와 다를 것이다. 시스템 ID는 다르게는 세션 ID일 수 있다. (벤더 ID일 수 있는) 제2 서버에 대한 식별자는 제1 웹 서버(또는 그것을 관리하는 엔티티)에 의해 제2 웹 서버(또는 그것을 관리하는 엔티티)에 이전에 제공되었을 수 있다.
제2 웹 페이지는 브라우저 내의 개별 창 내에서 또는, 예를 들면, 도 3에 도시된 바와 같이, 제1 웹 서버에 의해 제공된 웹 페이지와 동일한 창 내의 제2 프레임 내에서 시작될 수 있다(블록(203)에서). 제1 웹 서버에 의해 제공된 웹 페이지는 (블록(201)에서 제공된) 제1 웹 페이지 또는 제1 웹 서버에 의해 제공된 다른 웹 페이지일 수 있다. 제2 웹 서버에 의해 제공된 웹 페이지를 참조하는 것은 요청의 URL 내에 IceID를 포함하는 쿼리 문자열 파라미터(query string parameter)를 포함하는 HTTP GET(또는 HTTPS GET)을 이용할 수 있다. 제2 웹 페이지를 시작한 후, 사용자는 웹 페이지들 각각과 독립적으로 상호 작용할 수 있는데, 예를 들면, 사용자는 구입할 제품을 선택하기 위해 (제2 웹 서버에 의해 시작된) 제2 웹 페이지와 상호 작용할 수 있고 사용자는 (후술되는 바와 같이) 그 후 트랜잭션을 완료하는 데 이용될 수 있는 변수(예를 들면, 자유 형식 변수(free-form variable))를 입력하기 위해 제1 웹 서버에 의해 제공된 웹 페이지와 상호 작용할 수 있다. 이 변수는 할인, 교환(redeem)될 보상(reward)의 값, 제품 또는 트랜잭션에 관한 사용자 지정(customization), 또는 임의의 다른 파라미터를 나타낼 수 있다.
언제든지, 제2 서버(102)는 제1 서버와의 사용자 상호 작용에 관하여 제1 서버에게 데이터를 요청할 수 있고(블록(205)) 이 데이터는 2회 이상 요청될 수 있다. 도 2에 도시된 예에서, 데이터는 사용자가 (제2 서버에 의해 제공되고 브라우저를 이용하여 디스플레이된 웹 페이지를 통해) 제2 서버(102)와 트랜잭션을 시작한(블록(204)) 후에 요청된다. (블록(205)에서의) 요청은 제1 웹 서버에서 실행하는 웹 서비스에의 SOAP(simple object access protocol) 요청의 형태일 수 있다. SOAP, FTP, TCP/IP 없이 HTTP 또는 HTTPS와 같은 다른 기법들 및 프로토콜들이 그 요청을 제공하기 위해 이용될 수 있다. 다음 설명에서는 단지 예로서 SOAP 요청들이 이용되고 SOAP 요청에의 모든 참조들은 대안적인 형식의 요청에의 참조로 대체될 수 있다는 것을 이해할 것이다. SOAP 요청은 (블록(202)에서 제공된) IceID 또는 제2 웹 서버에 대한 식별자를 포함할 수 있다.
(블록(205)에서 행해진) 요청에 응답하여, 제1 웹 서버에서 실행하는 웹 서비스는 사용자 상호 작용에 관한 데이터를 제2 웹 서버에 제공한다(블록(206)). 요청에서 제공된 데이터(예를 들면, 제2 웹 서버에 대한 식별자)는 응답을 제공하기에 앞서 검증될 수 있다. 일례로, 제1 웹 서버는 제2 웹 서버가 기대된 IP 주소에 있는 것을 확인할 수 있다. (블록(206)에서) 제1 웹 서버(101)에 의해 제공된 응답은 IceID, 응답 식별자(responseID), 및 사용자 입력 변수의 값을 포함할 수 있다. 어떤 예들에서는, 응답에 대한 만료 기일(expiry date)과 같은 추가적인 파라미터들이 제공될 수 있다. SOAP 요청 및 응답을 위해 이용되는 전송은 HTTP(Hypertext Transfer Protocol) 또는 HTTPS(HTTP over Secure Socket Layer)일 수 있다.
사용자는 트랜잭션 프로세스 동안의 임의의 시점에 제2 웹 서버와의 인증을 수행할 수 있다(예를 들면, 블록(204 또는 207)에서). 2개의 웹 서버들 각각과의 독립적인 인증을 요구함으로써, 사용자를 스푸핑(spoofing)하는 가능성을 감소시켜 웹 기반 트랜잭션 시스템의 보안이 증대된다.
(블록(206)에서 송신된) 응답을 수신함과 동시에 또는 트랜잭션의 완료까지의 임의의 시점에, 제2 웹 서버는 수신된 데이터를 검증한다. 도 2에 도시된 예에서, 이 검증은 (블록(207)에서의) 트랜잭션의 완료의 바로 전에 일어난다. 검증은 다음의 것들 중 하나 이상을 포함할 수 있다:
Figure pct00001
(제1 웹 서버로부터 수신된) 서버 인증서(server certificate)가 유효한 것을 확인하는 것;
Figure pct00002
응답에서 제공된 정보(예를 들면, 사용자 입력 변수 또는 responseID)가 둘 이상의 트랜잭션에서 이용되지 않은 것을 확인하는 것으로 이것은 트랜잭션에서 이용된 responseID들을 저장하는 것에 의해 수행될 수 있다;
Figure pct00003
응답이 정의된 시간 기간 내에(예를 들면, 최근 24 시간 내에) 송신된 요청과 관련이 있는 것을 확인하는 것;
Figure pct00004
응답 내의 임의의 만료 기일(제공된 경우)이 유효한 것(즉, 만료 기일이 현재의 날짜 및 시간보다 작지 않은 것)을 확인하는 것.
만일 유효성 검사(validation) 단계들 중 어떤 것이라도 실패한다면, 트랜잭션은 중단될 수 있고 또는 제1 웹 서버에 의해 제공된 데이터는 트랜잭션에서 이용되지 않을 수 있고 트랜잭션은 단지 사용자에 의해 제2 웹 서버에 의해 제공된 데이터에 기초하여 진행될 수 있다. 유효성 검사 프로세스는 제1 웹 서버 및/또는 응답들의 스푸핑을 방지함으로써 웹 기반 트랜잭션 시스템의 보안을 증대한다.
제2 웹 서버가 2회 이상 제1 웹 서버에게 데이터를 요청하는(즉, 블록들(205 및 206)이 반복되는) 경우, 제2 웹 서버는 가장 최근에 수신된 responseID들 및 대응하는 사용자 입력 변수의 값들을 제외한 전부를 버린다.
트랜잭션의 완료 후에 되도록 빨리, 제2 웹 서버(102)는 제1 웹 서버(101)에 확인(confirmation)을 송신하고(블록(208)) 제1 웹 서버는 이 확인에 기초하여 사용자에 관한 정보를 포함하는 데이터베이스를 업데이트한다(블록(209)). 이 확인은 https를 통하여 SOAP 요청의 형태로 제1 웹 서버에서 실행하는 제2 웹 서비스에 제공될 수 있다. 제1 웹 서버에서 실행하는 제1 및 제2 웹 서비스는 단일 웹 서비스로 결합될 수 있지만; 수행되는 동작들은 여전히 논리적으로 별개라는 것을 이해할 것이다. 확인은 (사용자 ID 및 제2 웹 서버의 ID를 포함하는) IceID, 트랜잭션 ID 및 트랜잭션을 처리하는 데에 사용자 입력 변수가 이용되는 경우 (블록(206)에서 제공된) responseID를 포함할 수 있다. 확인은 또한 실제 트랜잭션에 관한 추가적인 상세(예를 들면, 트랜잭션의 값, 구입된 항목들, 날짜 및 시간 등)를 포함할 수 있다.
(블록(209)에서) 확인의 수신과 동시에 및 사용자 계정을 업데이트하기에 앞서, 제1 서버는 제2 웹 서버가 기대된 IP 주소에 있는 것을 확인하거나 또는 다른 방법으로 확인 메시지 및/또는 제2 웹 서버의 인증을 수행할 수 있다. 이것은 제2 웹 서버 및/또는 확인 메시지들의 스푸핑을 방지함으로써 웹 기반 트랜잭션 시스템의 보안을 증대한다.
트랜잭션에 이어 어떤 나중 시간에 확인을 제공하는 것이 아니라, 실시간으로 확인을 제공하는 것(블록(208)에서)은, 제1 웹 서버에 저장된, 사용자 상세의 데이터베이스가 최신으로 유지되기 때문에, 트랜잭션의 보안을 증대한다.
비록 상기 설명은 트랜잭션에 이어 실시간으로 (블록(208)에서) 확인이 송신되는 것에 관련되지만(예를 들면, 블록들(200-208 또는 200-209)은 단일 웹 세션 내에 수행될 수 있다), 다른 예들에서는, 확인은 일괄로 처리되고 나중에 송신될 수 있다. 그러한 예에서는, 프로세스의 일부는 단일 세션(예를 들면, 블록들(200-207)) 내에 수행될 수 있고 나머지 블록들은 그 후에 수행될 수 있다.
도 3은 2개의 프레임들(301, 302)을 포함하는 브라우저의 그래픽 사용자 인터페이스(GUI)의 개략도를 나타내고 각 프레임은 상이한 웹 서버에 의해 제공된 웹 페이지를 포함할 수 있고 이 웹 서버들은 독립적으로 관리될 수 있다. 일례로, 제1 프레임(301)은 제1 웹 서버(101)에 의해 제공된 웹 페이지를 포함할 수 있고 제2 프레임(302)은 (블록(203)에서 열리는) 제2 웹 서버(102)에 의해 제공된 웹 페이지를 포함할 수 있다. 앞에 설명된 바와 같이, 제2 웹 서버에 의해 제공된 웹 페이지는 다르게는 사용자의 브라우저의 제2 창 내에 디스플레이될 수 있다.
도 4-9는 도 1의 시스템의 동작의 다른 방법 예들의 흐름도들이고 이것들은 아래에 더 상세히 설명된다. 그 방법들 중 임의의 방법의 양태들은 다른 방법들 중 하나 이상으로부터의 양태들과 조합되어 또 다른 예들을 생성할 수 있다는 것을 이해할 것이다. 설명을 위해, 이 방법들은 트랜잭션의 완료에 이어 실시간으로 확인이 송신되는 것을 설명하지만; 앞에 설명된 바와 같이, 확인은 다르게는 나중에 송신될 수 있다(예를 들면, 확인 메시지들이 일괄로 송신되는 경우).
도 4에 도시된 예에서, 제1 웹 서버(101)는 제2 웹 서버(102)에 의해 제공되는 웹 페이지에의 링크를 포함하는 웹 페이지를 브라우저에 제공한다(블록(401)). 앞에 설명된 바와 같이, 이 웹 페이지는 사용자가 제1 웹 서버에 로그인했거나 또는 다른 방법으로 제1 웹 서버와의 인증을 수행한(블록(200)) 후에 제공될 수 있고 또는 다르게는 웹 페이지가 제공된 후에(예를 들면 블록(402) 전에) 인증이 일어날 수 있다. 사용자가 그들의 브라우저를 통해 이것을 클릭할 때, 제1 서버는 제2 서버에 IceID를 전달하고(블록(402)) 제2 서버는 웹 페이지를 시작한다(블록(403)). 앞에 설명된 바와 같이, 제2 웹 페이지는 프레임 또는 개별 창 내에서 시작될 수 있고 제2 웹 서버에 의해 제공된 웹 페이지를 참조하는 것은 요청의 URL 내에 IceID를 포함하는 쿼리 문자열 파라미터를 포함하는 HTTP GET 또는 HTTPS GET을 이용할 수 있다. 제2 웹 페이지를 시작한 후, 사용자는 웹 페이지들 각각과 독립적으로 상호 작용할 수 있고 (제1 웹 페이지 또는 다른 웹 페이지일 수 있는) 제1 서버에 의해 제공된 웹 페이지는 사용자가, 자유 형식 변수일 수 있는 변수를 입력(또는 다른 방법으로 선택)할 수 있게 할 수 있다(블록(404)).
제2 웹 페이지가 로딩된 때, 또는 (체크아웃이라고도 불릴 수 있는) 트랜잭션의 처리까지 또는 그 처리 동안에 언제든지, 제2 웹 페이지는 부모(즉, 제1 웹 서버에 의해 제공된 프레임) 프레임에서 사용자 입력 변수 및 고유 식별자의 존재를 찾는 자바스크립트(JavaScript)를 실행한다(블록(405)). 자바스크립트는 2회 이상 실행될 수 있고 상이한 값을 갖는 사용자 입력 변수의 식별과 동시에, 이전에 결정된 값은 버려진다.
트랜잭션의 완료(블록(406)) 후에 되도록 빨리, 제2 웹 서버(102)는 제1 웹 서버(101)에 확인을 송신하고(블록(407)) 제1 웹 서버는 이 확인에 기초하여 사용자에 관한 정보를 포함하는 데이터베이스를 업데이트한다(블록(408)). 이 확인은 https를 통하여 SOAP 요청의 형태로 제1 웹 서버에서 실행하는 제2 웹 서비스에 제공될 수 있다. 확인은 IceID(또는 사용자 ID 및 제2 웹 서버의 ID를 개별적으로), 트랜잭션 ID 및 트랜잭션을 처리하는 데에 이용되는 사용자 입력 변수의 상세를 포함할 수 있다. 앞에 설명된 바와 같이, 확인은 또한 실제 트랜잭션에 관한 추가적인 상세(예를 들면, 트랜잭션의 값, 구입된 항목들, 날짜 및 시간 등)를 포함할 수 있고 사용자 계정을 업데이트하기 전에 검증이 수행될 수 있다.
도 4에 도시된 방법의 보안을 증대하기 위하여, 사용자 입력 변수는 제1 웹 서버와 관련된 개인 키를 이용하여 암호화될 수 있고 제2 웹 서버는 암호화된 키를 해독하기 위해 대응하는 개인 키를 이용할 수 있다.
도 5는 도 2 및 4에 도시된 방법들과 유사한 방식으로 시작하는 도 1의 시스템의 동작의 다른 방법 예의 흐름도이다. 제1 웹 서버(101)는 제2 웹 서버(102)에 의해 제공되는 웹 페이지에의 링크를 포함하는 웹 페이지를 브라우저에 제공하고(블록(501)) 사용자가 그들의 브라우저를 통해 이것을 클릭할 때, 제1 서버는 제2 서버에 IceID를 전달하고(블록(502)) 제2 서버는 웹 페이지를 시작한다(블록(503)). 제2 웹 서버에 의해 제공된 이 웹 페이지는 제1 웹 페이지를 대체하도록 시작될 수 있고(즉, 동일한 창에서) 또는 개별 창 또는 프레임에서 시작될 수 있다. 이 시점에 제1 웹 서버에 의해 제공된 웹 페이지도 업데이트될 수 있다. 제2 웹 서버에 의해 제공된 웹 페이지를 참조하는 것은 요청의 URL 내에 IceID를 포함하는 쿼리 문자열 파라미터를 포함하는 HTTP GET을 이용할 수 있다.
제2 웹 서버에 의해 제공된(및 블록(503)에서 시작된) 웹 페이지는 제1 웹 서버에 의해 제공된 웹 페이지에의 링크를 포함할 수 있고 또는 다르게는 그러한 링크는, 트랜잭션을 완료하기 위한 웹 페이지(예를 들면, 체크아웃 페이지)와 같은, 제2 웹 서버에 의해 제공된 다른 웹 페이지에서 제공될 수 있다. 사용자가, 그것이 나타날 수 있는 어느 페이지에서든, 이 링크를 클릭할 때(블록(504)), 제1 웹 서버에 의해 제공된 웹 페이지를 포함하는 자식 창 또는 프레임이 열린다(블록(505)). 사용자는 (블록(200)에서) 원래 제1 서버에 로그인했기 때문에 자식 창 또는 프레임은 여전히 IceID와 같은 세션 정보에 액세스할 수 있다. 자식 창을 시작한 후, 사용자는 웹 페이지들 각각과 독립적으로 상호 작용할 수 있고 (블록(505)에서 시작된) 자식 창 내의 웹 페이지는 사용자가 변수(예를 들면, 자유 형식 변수)를 입력(또는 다른 방법으로 선택)할 수 있게 할 수 있다.
언제든지, 제2 서버(102)는 자식 창을 통해 제1 서버와의 사용자 상호 작용에 관하여 제1 서버에게 데이터를 요청할 수 있고(블록(506)) 이 데이터는 2회 이상 요청될 수 있다. 도 5에 도시된 예에서, 데이터는 제2 웹 서버에 의해 제공된 웹 페이지가 새로 고쳐질(refreshed) 때 요청되고 이것은 사용자가 누르도록 촉구되는 웹 페이지 상의 링크 또는 버튼(예를 들면, '할인을 적용하려면 새로 고치시오'(Refresh to apply discount))에 의해 유발될 수 있다. 앞에 설명된 바와 같이, (블록(506)에서의) 요청은 제1 웹 서버에서 실행하는 웹 서비스에의 SOAP 요청의 형태일 수 있고 그 요청은 (사용자 ID 및 제2 웹 서버에 대한 식별자를 포함하는) IceID를 포함할 수 있다. 방법은 그 후 앞에 설명된 바와 같이 진행된다(블록들(206-209)).
도 6은 앞에 도 4 및 5에 도시된 양태들을 조합하는 다른 방법 예를 나타낸다. 이 방법은 도 5에 관하여 앞에 설명된 바와 같이 시작하고(블록들(200 및 501-505) 자식 창(또는 프레임)에서 시작된 웹 페이지는 사용자가 자유 형식 변수를 입력(또는 다른 방법으로 선택)할 수 있게 한다(블록(601)). (부모 창에서) 제2 웹 사이트에 의해 제공된 웹 페이지가 새로 고쳐질 때, 또는 트랜잭션의 처리까지 또는 그 처리 동안에 언제든지, 제2 웹 페이지는 자식 창에서 사용자 입력 변수 및 고유 식별자의 존재를 찾는 자바스크립트를 실행한다(블록(602)). 도 4에 관하여 앞에 설명된 바와 같이, 자바스크립트는 2회 이상 실행될 수 있고 상이한 값을 갖는 사용자 입력 변수의 식별과 동시에, 이전에 결정된 값은 버려진다. 앞에 설명된 바와 같이, 사용자 입력 변수는 제1 웹 서버와 관련된 개인 키를 이용하여 암호화될 수 있고 제2 웹 서버는 암호화된 키를 해독하기 위해 대응하는 개인 키를 이용할 수 있다. 앞에 설명된 바와 같이, 트랜잭션의 완료(블록(406)) 후에 되도록 빨리, 제2 웹 서버(102)는 제1 웹 서버(101)에 확인을 송신하고(블록(407)) 제1 웹 서버는 이 확인에 기초하여 사용자에 관한 정보를 포함하는 데이터베이스를 업데이트한다(블록(408)).
도 7에 도시된 방법 예에서는, 제2 웹 서버(102)에 의해 브라우저에 웹 페이지가 제공된다(블록(701)). 제2 웹 서버에 의해 제공된 이 웹 페이지는 제1 웹 서버에 의해 제공된 웹 페이지에의 링크를 포함할 수 있고 또는 다르게는 그러한 링크는, 트랜잭션을 완료하기 위한 웹 페이지(예를 들면, 체크아웃 페이지)와 같은, 제2 웹 서버에 의해 제공된 다른 웹 페이지에서 제공될 수 있다. 이 웹 페이지는 사용자가 제2 웹 서버에 로그인했거나 또는 다른 방법으로 제2 웹 서버와의 인증을 수행한(블록(700)) 후에 제공될 수 있고 또는 다르게는 웹 페이지가 제공된 후에(예를 들면 블록(702) 전에) 인증이 일어날 수 있다. 사용자가, 그것이 나타날 수 있는 어느 페이지에서든, 이 링크를 클릭할 때(블록(702)), 제1 웹 서버에 의해 제공된 웹 페이지를 포함하는 자식 창 또는 프레임이 열린다(블록(703)). 사용자 식별자(userID), IceID, 및 제2 웹 서버에 대한 식별자, 세션 ID 또는 다른 식별자를 포함할 수 있는 식별자가 제2 웹 서버로부터 제2 웹 서버로 전달된다. 자식 창을 시작한 후, 사용자는 웹 페이지들 각각과 독립적으로 상호 작용할 수 있고 (블록(703)에서 시작된) 자식 창 또는 프레임 내의 웹 페이지는 사용자가 변수(예를 들면, 자유 형식 변수)를 입력(또는 다른 방법으로 선택)할 수 있게 할 수 있다. 사용자는 제1 웹 서버에 로그인하거나 등록하도록 요구될 수 있다(블록(704)).
언제든지, 제2 서버(102)는 자식 창을 통해 제1 서버와의 사용자 상호 작용에 관하여 제1 서버에게 데이터를 요청할 수 있고(블록(705)) 이 데이터는 2회 이상 요청될 수 있다. 도 7에 도시된 예에서, 데이터는 제2 웹 서버에 의해 제공된 웹 페이지가 새로 고쳐질 때 요청되고 이것은 사용자가 누르도록 촉구되는 웹 페이지 상의 링크 또는 버튼(예를 들면, '할인을 적용하려면 새로 고치시오'(Refresh to apply discount))에 의해 유발될 수 있다. 앞에 설명된 바와 같이, (블록(705)에서의) 요청은 제1 웹 서버에서 실행하는 웹 서비스에의 SOAP 요청의 형태일 수 있고 그 요청은 자식 창 또는 프레임이 열렸을 때 제2 웹 서버로부터 제1 웹 서버로 전달된 식별자(예를 들면, 도 7에 도시된 예에서 userID)를 포함할 수 있다.
(블록(705)에서 행해진) 요청에 응답하여, 제1 웹 서버에서 실행하는 웹 서비스는 사용자 상호 작용에 관한 데이터를 제2 웹 서버에 제공한다(블록(706)). 요청에서 제공된 데이터(예를 들면, 제2 웹 서버에 대한 식별자)는 응답을 제공하기에 앞서 검증될 수 있다. (블록(706)에서) 제1 웹 서버(101)에 의해 제공된 응답은 사용자 ID, responseID 및 사용자 입력 변수의 값을 포함할 수 있다. 앞에 설명된 바와 같이, 응답은 만료 기일(expiry date)과 같은 추가적인 파라미터들을 포함할 수 있다. SOAP 요청 및 응답을 위해 이용되는 전송은 HTTP 또는 HTTPS일 수 있다. 방법은 그 후 앞에 설명된 바와 같이 진행된다(블록들(207-209)).
도 8은 사용자 입력 변수 및 사용자 ID를 공유하기 위해 자바스크립트가 이용되는(블록들(801-802)), 도 4-7에 도시되고 앞에 설명된 방법들의 변형을 나타낸다. 방법은 도 7에 관하여 앞에 설명된 바와 같이 시작하고(블록들(700-704)) 자식 창(또는 프레임)에서 시작된 웹 페이지는 사용자가 변수를 입력(또는 다른 방법으로 선택)할 수 있게 한다(블록(801)). (부모 창/프레임에서) 제2 웹 사이트에 의해 제공된 웹 페이지가 새로 고쳐질 때, 또는 (체크아웃이라고도 불릴 수 있는) 트랜잭션의 처리까지 또는 그 처리 동안에 언제든지, 제2 웹 페이지는 자식 창에서 사용자 입력 변수의 존재를 찾고 또한 사용자 ID를 획득하는(블록(802)) 자바스크립트를 실행한다(블록(802)). 앞에 설명된 바와 같이, 자바스크립트는 2회 이상 실행될 수 있고 상이한 값을 갖는 사용자 입력 변수의 식별과 동시에, 이전에 결정된 값은 버려진다. 사용자 입력 변수 및 사용자 ID는 제1 웹 서버와 관련된 개인 키를 이용하여 암호화될 수 있고 제2 웹 서버는 암호화된 키를 해독하기 위해 대응하는 개인 키를 이용할 수 있다. 앞에 설명된 바와 같이, 트랜잭션의 완료(블록(406)) 후에 되도록 빨리, 제2 웹 서버(102)는 제1 웹 서버(101)에 확인을 송신하고(블록(407)) 제1 웹 서버는 이 확인에 기초하여 사용자에 관한 정보를 포함하는 데이터베이스를 업데이트한다(블록(408)).
도 9에 도시된 방법은, 제2 웹 서버가 데이터를 풀링(pulling)하는 대신에 제1 웹 서버가 제2 웹 서버에 사용자 입력 변수를 푸싱(pushing)하는 것을 제외하고는, 도 2에 도시된 것과 유사하다. 방법은 도 2에 도시되고(블록들(200-204)) 앞에 설명된 바와 같이 시작한다. 언제든지, 제1 웹 서버(101)는 제2 웹 서버에서 실행하는 웹 서비스를 호출함으로써 제2 웹 서버에 사용자 입력 데이터를 푸싱할 수 있다(블록(901)). 데이터는 SOAP 요청의 형태로 제2 웹 서버에서 실행하는 웹 서비스에 푸싱될 수 있고 SOAP 요청은 (블록(202)에서 이전에 제공된) IceID, responseID 및 사용자 입력 변수의 값을 포함할 수 있다. 요청은 또한 날짜 및/또는 시간에 관하여 정의될 수 있는, 응답에 대한 만료 기일을 포함할 수 있고 https가 이용될 수 있다. 다르게는, responseID는 정의된 기간(예를 들면, 24 시간) 내에 만료하는 것으로 생각될 수 있고 차후의 검증은 요청이 이 기간 내에(예를 들면, 최근 24 시간 내에) 수신된 것을 확인할 수 있다.
응답의 수신(블록(902))과 동시에 또는 트랜잭션의 완료까지의 임의의 시점에(예를 들면, 블록(903)에서), 제2 웹 서버는 수신된 데이터를 검증하고 이것은 앞에 설명된 바와 같이 수행될 수 있다. 트랜잭션 프로세스 동안에 및 트랜잭션의 완료에 앞서, 제2 웹 서버는 웹 서비스가 호출된 것을 확인한다(블록(903)에서).
제2 웹 서버가 제1 웹 서버로부터 2회 이상 데이터를 수신하는(즉, 블록들(901 및 902)이 반복되는) 경우, 제2 웹 서버는 가장 최근에 수신된 responseID 및 사용자 입력 변수의 값을 제외한 전부를 버린다.
앞에 보다 상세히 설명된 바와 같이, 트랜잭션의 완료 후에 되도록 빨리, 제2 웹 서버(102)는 제1 웹 서버(101)에 확인을 송신하고(블록(208)) 제1 웹 서버는 이 확인에 기초하여 사용자에 관한 정보를 포함하는 데이터베이스를 업데이트한다(블록(209)).
도 10은 앞에 설명된 방법들의 실시예들이 구현될 수 있는 예시적인 웹 서버(1000)의 다양한 컴포넌트들을 도시한다. 웹 서버는 여기에서 설명된 방법들 중 임의의 것을 수행하기 위하여 장치의 동작을 제어하는 실행 가능한 명령어들을 처리하기 위한 마이크로프로세서들, 컨트롤러들 또는 임의의 다른 적당한 유형의 프로세서들일 수 있는 하나 이상의 프로세서들(1001)을 포함한다. 컴퓨팅 기반 장치에서 애플리케이션 소프트웨어(1003)가 실행될 수 있게 하기 위해 그 장치에 운영 체제(1002) 또는 임의의 다른 적당한 플랫폼 소프트웨어를 포함하는 플랫폼 소프트웨어가 제공될 수 있다.
컴퓨터 실행 가능한 명령어들은 메모리(1004)와 같은 임의의 컴퓨터 판독 가능한 매체를 이용하여 제공될 수 있다. 메모리는 RAM(random access memory), 자기 또는 광 저장 장치, 하드 디스크 드라이브, 또는 CD, DVD 또는 다른 디스크 드라이브와 같은 임의의 유형의 디스크 저장 장치와 같은 임의의 적당한 유형이다. 플래시 메모리, EPROM 또는 EEPROM이 이용될 수도 있다. 메모리(1004)는 또한 다른 웹 서버들로부터 수신된 사용자 정보 및/또는 데이터의 데이터베이스를 저장하기 위해 이용될 수 있는 데이터 스토어(data store)(1005)를 포함할 수 있다.
웹 서버(1000)는 네트워크 인터페이스(1006)를 포함하고 미디어 콘텐트, 인터넷 프로토콜(IP) 입력 등을 수신하기 위한 임의의 적당한 유형인 하나 이상의 입력들을 더 포함할 수 있다. 웹 서버와 일체형인 또는 웹 서버와 통신하는 디스플레이 시스템에의 오디오 및/또는 비디오 출력과 같은 출력이 또한 제공될 수 있다. 디스플레이 시스템은 그래픽 사용자 인터페이스, 또는 임의의 적당한 유형의 다른 사용자 인터페이스를 제공할 수 있다.
상기 예들은 온라인 소매의 응용 예에 관하여 설명되었지만, 본 방법들 및 시스템들은 또한 많은 다른 응용들에 적용될 수 있다.
용어 '컴퓨터'는 여기에서 그것이 명령어들을 실행할 수 있도록 처리 능력을 갖는 임의의 장치를 나타내기 위해 이용된다. 이 기술의 숙련자들은 그러한 처리 능력들은 많은 상이한 장치들에 통합되고 따라서 용어 '컴퓨터'는 PC, 서버, 이동 전화기, PDA(personal digital assistant) 및 많은 다른 장치들을 포함한다는 것을 알 것이다.
이 기술의 숙련자들은 프로그램 명령어들을 저장하기 위해 이용되는 저장 장치들은 네트워크를 가로질러 분산될 수 있다는 것을 알 것이다. 예를 들면, 원격 컴퓨터는 소프트웨어로서 설명된 프로세서의 예를 저장할 수 있다. 로컬 또는 단말 컴퓨터는 원격 컴퓨터에 액세스하고 그 소프트웨어의 일부 또는 전부를 다운로드하여 프로그램을 실행할 수 있다. 다르게는, 로컬 컴퓨터는 필요한 소프트웨어의 단편들을 다운로드하거나, 또는 어떤 소프트웨어 명령어들은 로컬 단말에서 실행하고 어떤 것은 원격 컴퓨터(또는 컴퓨터 네트워크)에서 실행할 수 있다. 이 기술의 숙련자들은 또한 이 기술의 숙련자에게 알려진 종래의 기술들을 이용함으로써, 소프트웨어 명령어들의 전부, 또는 일부가 DSP, PLA(programmable logic array) 등과 같은 전용 회로에 의해 수행될 수 있다는 것을 알 것이다.
여기에서 주어진 임의의 범위 또는 장치 값은, 숙련자에게 명백한 바와 같이, 추구되는 효과를 잃지 않고 확장 또는 변경될 수 있다.
앞에 설명된 이익들 및 이점들은 하나의 실시예와 관련이 있을 수 있거나 또는 몇몇 실시예들과 관련이 있을 수 있다는 것을 이해할 것이다. 실시예들은 제시된 문제들 중 임의의 문제 또는 모든 문제를 해결하는 실시예들 또는 제시된 이익들 및 이점들 중 임의의 것 또는 모든 것을 갖는 실시예들에 제한되지 않는다.
'an' 항목을 참조하는 것은 하나 또는 그 이상의 그러한 항목들을 참조한다. 용어 'comprising'은 여기에서 식별된 방법 블록들 또는 엘리먼트들을 포함하는 것을 의미하기 위해 이용되지만, 그러한 블록들 또는 엘리먼트들은 배타적인 목록을 포함하지 않고 방법 또는 장치는 추가적인 블록들 또는 엘리먼트들을 포함할 수 있다.
여기에서 설명된 방법들의 단계들은 임의의 적당한 순서로, 또는 적절한 경우 동시에 수행될 수 있다. 또한, 여기에서 설명된 주제의 정신 및 범위로부터 일탈하지 않고 방법들 중 임의의 방법으로부터 개별 블록들이 삭제될 수 있다. 앞에 설명된 예들 중 임의의 예의 양태들은 설명된 다른 예들 중 임의의 예의 양태들과 조합되어 추구되는 효과를 잃지 않고 또 다른 예들을 형성할 수 있다.
상기 바람직한 실시예의 설명은 단지 예로서 주어지는 것이고 이 기술의 숙련자들에 의해 다양한 수정들이 이루어질 수 있는 것을 이해할 것이다. 비록 앞에서는 다양한 실시예들이 어느 정도의 특이성을 가지고, 또는 하나 이상이 개별 실시예들에 관하여, 설명되었지만, 이 기술의 숙련자들은 이 발명의 정신 및 범위로부터 일탈하지 않고 개시된 실시예들에 대해 다수의 변경들을 실시할 수 있다.

Claims (21)

  1. 온라인 트랜잭션(online transaction)을 수행하는 방법으로서,
    단일 웹 세션 내에서,
    제1 웹 서버에서 사용자의 인증을 수행하는 단계(200, 704);
    상기 사용자에게 제1 웹 페이지를 제공하는 단계(201, 401) ― 상기 제1 웹 페이지는 제2 웹 서버에 의해 제공되는 제2 웹 페이지에의 링크를 포함함 ―; 및
    상기 사용자와 상기 제1 및 제2 웹 서버들 중 하나의 또는 양쪽 웹 서버 사이의 트랜잭션의 완료에 앞서 사용자 데이터의 안전한 송신을 위해 상기 제1 웹 서버와 상기 제2 웹 서버 사이에 제1 통신 링크를 확립하는 단계(205-206, 404-405, 506, 601-602, 705-706, 801-802, 901-902)를 포함하고;
    상기 방법은,
    상기 웹 서버들 사이의 트랜잭션 데이터의 안전한 송신을 위해, 상기 트랜잭션의 완료에 이어 상기 제1 웹 서버와 상기 제2 웹 서버 사이에 제2 통신 링크를 확립하는 단계(208-209, 407-408)를 더 포함하는 방법.
  2. 제1항에 있어서, 제2 통신 링크를 확립하는 상기 단계는 상기 트랜잭션의 완료에 이어 즉시 실시간으로 수행되는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 사용자가 상기 제1 웹 서버에 의해 제공된 웹 페이지 및 상기 제2 웹 서버에 의해 제공된 웹 페이지를 통해 상기 제1 및 제2 웹 서버들 각각과 동시에 및 독립적으로 상호 작용할 수 있게 하는 단계를 더 포함하는 방법.
  4. 제3항에 있어서, 상기 제1 및 상기 제2 웹 서버들에 의해 제공된 상기 웹 페이지들은 브라우저의 2개의 개별 프레임들(301, 302) 내에 제공되는 방법.
  5. 제3항 또는 제4항에 있어서, 상기 제2 웹 서버에 의해 제공된 상기 웹 페이지는 제2 웹 페이지인 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 제2 웹 서버에서 상기 사용자의 인증을 수행하는 단계(700)를 더 포함하는 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 사용자 데이터는 사용자 입력 변수를 포함하고 상기 방법은,
    상기 제1 웹 서버에서 사용자 입력을 수신하는 단계 ― 상기 사용자 입력은 상기 사용자에 의해 입력된 사용자 입력 변수를 식별함 ― 를 더 포함하는 방법.
  8. 제7항에 있어서, 상기 제1 웹 서버에서,
    상기 제1 통신 링크를 통해 상기 제2 웹 서버로부터 상기 사용자 입력 변수에 대한 요청을 수신하는 단계; 및
    상기 제1 통신 링크를 통해 상기 제2 웹 서버에 상기 사용자 입력 변수를 포함하는 응답 메시지를 송신하는 단계(206)를 더 포함하는 방법.
  9. 제8항에 있어서, 상기 제1 웹 서버에서,
    상기 응답을 송신하기에 앞서 상기 요청을 검증하는 단계를 더 포함하는 방법.
  10. 제7항에 있어서, 상기 제1 웹 서버에서,
    상기 제2 웹 서버에 상기 사용자 입력 변수를 포함하는 메시지를 푸싱(pushing)하는 단계(901)를 더 포함하는 방법.
  11. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 제1 통신 링크를 통한 사용자 데이터의 안전한 송신은 데이터 전송을 윈도잉하는 창(window)을 이용하는(404-405, 801-802) 방법.
  12. 제11항에 있어서, 데이터 전송을 윈도잉하는 상기 창을 암호화하는 단계를 더 포함하는 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서, 상기 링크가 활성화되면 상기 제1 웹 서버로부터 상기 제2 웹 서버로 상기 사용자와 관련된 식별자를 전달하는 단계(202)를 더 포함하는 방법.
  14. 온라인 트랜잭션을 수행하는 방법으로서,
    제1 웹 서버에서 및 단일 웹 세션 내에서,
    사용자의 인증을 수행하는 단계(200, 704);
    상기 사용자에게 제1 웹 페이지를 제공하는 단계(201, 401) ― 상기 제1 웹 페이지는 제2 웹 서버에 의해 제공되는 제2 웹 페이지에의 링크를 포함함 ―; 및
    상기 사용자와 상기 제1 및 제2 웹 서버들 중 하나의 웹 서버 사이의 트랜잭션의 완료에 앞서 사용자 데이터의 안전한 송신을 위해 상기 제1 웹 서버와 상기 제2 웹 서버 사이에 제1 통신 링크를 확립하는 단계(205-206, 404-405, 506, 601-602, 705-706, 801-802, 901-902)를 포함하고;
    상기 방법은, 상기 제1 웹 서버에서,
    상기 웹 서버들 사이의 트랜잭션 데이터의 안전한 송신을 위해, 상기 트랜잭션의 완료에 이어 상기 제1 웹 서버와 상기 제2 웹 서버 사이에 제2 통신 링크를 확립하는 단계(208-209, 407-408)를 더 포함하는 방법.
  15. 제14항에 있어서, 제2 통신 링크를 확립하는 상기 단계는 상기 트랜잭션의 완료에 이어 실시간으로 수행되는 방법.
  16. 컴퓨터에서 실행될 때 제1항 내지 제15항 중 어느 한 항의 모든 단계들을 수행하도록 적응된 컴퓨터 프로그램 코드 수단을 포함하는 컴퓨터 프로그램.
  17. 제16항에 있어서, 컴퓨터 판독 가능한 매체 상에 구현되는 컴퓨터 프로그램.
  18. 제1 웹 서버(101) 및 제2 웹 서버(102)를 포함하는 안전한 웹 기반 트랜잭션들을 위한 시스템으로서, 상기 제1 및 제2 웹 서버들 중 적어도 하나의 웹 서버는,
    사용자의 인증을 수행하고(200, 704);
    상기 사용자에게 제1 웹 페이지를 제공하고(201, 401) ― 상기 제1 웹 페이지는 제2 웹 서버에 의해 제공되는 제2 웹 페이지에의 링크를 포함함 ―;
    상기 사용자와 상기 제1 및 제2 웹 서버들 중 하나의 웹 서버 사이의 트랜잭션의 완료에 앞서 사용자 데이터의 안전한 송신을 위해 상기 제1 웹 서버와 상기 제2 웹 서버 사이에 제1 통신 링크를 확립하고(205-206, 404-405, 506, 601-602, 705-706, 801-802, 901-902);
    상기 웹 서버들 사이의 트랜잭션 데이터의 안전한 송신을 위해, 상기 트랜잭션의 완료에 이어 상기 제1 웹 서버와 상기 제2 웹 서버 사이에 제2 통신 링크를 확립하도록(208-209, 407-408) 배열되는 시스템.
  19. 제18항에 있어서, 상기 제1 및 상기 제2 웹 서버들 중 상기 적어도 하나의 웹 서버는 상기 트랜잭션의 완료에 이어 즉시 실시간으로 상기 제2 통신 링크를 확립하도록 배열되는 시스템.
  20. 실질적으로 도 2 및 4-9 중 임의의 도에 관하여 설명된 것과 같은 제1 및 제2 웹 서버를 포함하는 시스템을 운영하는 방법.
  21. 실질적으로 도 10에 관하여 설명된 것과 같은 웹 서버.
KR1020107026648A 2008-04-28 2009-04-24 안전한 웹 기반 트랜잭션 KR20110017865A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0807678A GB2459529A (en) 2008-04-28 2008-04-28 Online transaction authentication using two servers
GB0807678.8 2008-04-28

Publications (1)

Publication Number Publication Date
KR20110017865A true KR20110017865A (ko) 2011-02-22

Family

ID=39522657

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107026648A KR20110017865A (ko) 2008-04-28 2009-04-24 안전한 웹 기반 트랜잭션

Country Status (15)

Country Link
US (1) US8621575B2 (ko)
EP (2) EP3182354A1 (ko)
JP (1) JP5536038B2 (ko)
KR (1) KR20110017865A (ko)
CN (1) CN102016892A (ko)
AR (1) AR071390A1 (ko)
AU (1) AU2009241653B2 (ko)
BR (1) BRPI0911492A2 (ko)
CA (1) CA2722732C (ko)
GB (1) GB2459529A (ko)
IL (1) IL208699A0 (ko)
MX (1) MX2010011817A (ko)
NZ (1) NZ588647A (ko)
TW (1) TW200949742A (ko)
WO (1) WO2009133386A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8635334B2 (en) * 2009-12-10 2014-01-21 Riverbed Technology, Inc. Web transaction analysis
US8544067B2 (en) * 2010-06-25 2013-09-24 Google Inc. System and method for authenticating web users
US8706610B2 (en) 2011-08-16 2014-04-22 Sl-X Technology Uk Ltd. Systems and methods for electronically initiating and executing securities lending transactions
US8682780B2 (en) 2011-08-16 2014-03-25 Sl-X Technology Uk Ltd. Systems and methods for electronically initiating and executing securities lending transactions
US8347083B1 (en) * 2012-01-04 2013-01-01 Google Inc. Encrypted cross-origin communication via an intermediary
US9047602B2 (en) 2012-06-08 2015-06-02 GM Global Technology Operations LLC In-vehicle mobile transactions
US8548917B1 (en) * 2012-09-07 2013-10-01 Amazon Technologies, Inc. Detection of child frames in web pages
CN104317922A (zh) * 2014-10-29 2015-01-28 中国农业银行股份有限公司 一种数据推送系统和方法
GB2551543A (en) * 2016-06-21 2017-12-27 Eckoh Uk Ltd Methods of authenticating a user for data exchange
US10210345B2 (en) 2016-08-04 2019-02-19 Bank Of America Corporation Intelligent credential selection system
US20190129992A1 (en) * 2017-10-26 2019-05-02 Data Artisans GmbH Data stream processing method and system for processing transactions in a data stream
US10868677B2 (en) * 2018-06-06 2020-12-15 Blackberry Limited Method and system for reduced V2X receiver processing load using certificates
CN109561149B (zh) * 2018-11-28 2019-10-15 腾讯科技(深圳)有限公司 数据处理方法、装置及存储介质
US11216285B2 (en) 2019-06-14 2022-01-04 Oracle International Corporation Transaction state logger and retriever

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020169687A1 (en) * 1996-10-25 2002-11-14 Perkowski Thomas J. System and method for delivering consumer product related information to consumers within retail environments using internet-based information servers and sales agents
US5903721A (en) * 1997-03-13 1999-05-11 cha|Technologies Services, Inc. Method and system for secure online transaction processing
US6029141A (en) * 1997-06-27 2000-02-22 Amazon.Com, Inc. Internet-based customer referral system
AU8675398A (en) * 1997-07-29 1999-02-22 Netadvantage Corporation Method and system for conducting electronic commerce transactions
US6587836B1 (en) * 1997-09-26 2003-07-01 Worldcom, Inc. Authentication and entitlement for users of web based data management programs
US7343322B1 (en) * 1999-12-28 2008-03-11 Time Consumer Marketing, Inc. Method and apparatus for marketing products over the internet
WO2001050391A1 (en) 1999-12-30 2001-07-12 Ecatalystone.Com, Inc. Methods for managing transactions over the internet by proxy and with single-use financial instruments
JP2001216461A (ja) * 2000-02-04 2001-08-10 Just Syst Corp オンライン商品購入システム及び方法、オンライン商品購入指示装置及び方法、オンライン商品購入代理装置及び方法、並びに記録媒体
US20010032878A1 (en) 2000-02-09 2001-10-25 Tsiounis Yiannis S. Method and system for making anonymous electronic payments on the world wide web
US7778934B2 (en) * 2000-04-17 2010-08-17 Verisign, Inc. Authenticated payment
JP2001312665A (ja) * 2000-04-28 2001-11-09 Computer Consulting:Kk インターネット上の電子商店サーバーとインターネット接続サービス装置を介してインターネットに接続する利用者コンピュータとの間で行われる電子商取引に伴う課金処理方法、インターネット接続サービス装置における課金処理システムおよび電子商店サーバー
JP3906010B2 (ja) * 2000-05-26 2007-04-18 株式会社東芝 トランザクション管理装置、トランザクション管理方法及び記録媒体
JP2001344547A (ja) * 2000-05-30 2001-12-14 Brain Police:Kk 取引保証支援システム
JP2001338147A (ja) * 2000-05-30 2001-12-07 Nihon Knowledge Kk 決済仲介システム
US6986040B1 (en) * 2000-11-03 2006-01-10 Citrix Systems, Inc. System and method of exploiting the security of a secure communication channel to secure a non-secure communication channel
CA2327078C (en) * 2000-11-30 2005-01-11 Ibm Canada Limited-Ibm Canada Limitee Secure session management and authentication for web sites
JP4508406B2 (ja) * 2000-12-14 2010-07-21 三菱Ufjニコス株式会社 決済サーバシステム
TW591454B (en) 2000-12-22 2004-06-11 Yuzhi Electronic Information T System and method introducing regional store to e-commerce via structure of mart union
CA2370934C (en) * 2001-02-23 2004-06-22 Navaho Networks Inc. Secure electronic commerce
US7003497B2 (en) * 2001-05-23 2006-02-21 International Business Machines Corporation System and method for confirming electronic transactions
US20030172304A1 (en) * 2002-03-11 2003-09-11 Henry Steven G. Secure communication via a web server
AU2003236579A1 (en) 2002-07-03 2004-01-23 Common Component Pty Ltd E commerce system and method
AUPS334802A0 (en) 2002-07-03 2002-07-25 Common Component Pty Ltd E commerce system and method
US20040148372A1 (en) * 2003-01-27 2004-07-29 Campbell David N Web-browser based heterogeneous systems management tool
US20040236962A1 (en) * 2003-05-19 2004-11-25 Wong Ping Wah Method and apparatus for secure browser-based information service
US7444518B1 (en) * 2003-06-16 2008-10-28 Microsoft Corporation Method and apparatus for communicating authorization data
WO2004111809A1 (en) * 2003-06-18 2004-12-23 Telefonaktiebolaget Lm Ericsson (Publ) An arrangement and a method relating to ip network access
WO2005003907A2 (en) * 2003-06-26 2005-01-13 Ebay Inc. Method and apparatus to authenticate and authorize user access to a system
JP2005166036A (ja) * 2003-11-11 2005-06-23 Matsushita Electric Ind Co Ltd 詳細データ提供システム
CA2509706A1 (en) * 2004-06-17 2005-12-17 Ronald Neville Langford Authenticating images identified by a software application
US20090132413A1 (en) * 2004-11-15 2009-05-21 Runtime Ab Apparatus and method for secure credit card processing infrastructure
JP4223058B2 (ja) * 2004-11-29 2009-02-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 中継装置、中継方法、及びプログラム
JP2006244459A (ja) * 2005-02-03 2006-09-14 Yasuda Sangyo Kk 決済寄託振替システム
MX2007013117A (es) * 2005-04-22 2008-01-14 Thomson Licensing Metodo y aparato para el acceso anonimo, seguro a una red de area local inalambrica (wlan).
US8220030B2 (en) * 2005-07-02 2012-07-10 Tara Chand Singhal System and method for security in global computer transactions that enable reverse-authentication of a server by a client
WO2007148234A2 (en) * 2006-04-26 2007-12-27 Yosef Shaked System and method for authenticating a customer's identity and completing a secure credit card transaction without the use of a credit card number
US20080027874A1 (en) * 2006-07-26 2008-01-31 Monseignat Bernard De System and method for facilitating secure transactions over communication networks
WO2008115620A2 (en) * 2007-01-29 2008-09-25 Google Inc. On-line payment transactions
US8161532B2 (en) * 2007-04-04 2012-04-17 Microsoft Corporation Operating system independent architecture for subscription computing
US8136148B1 (en) * 2008-04-09 2012-03-13 Bank Of America Corporation Reusable authentication experience tool
AU2008100433A4 (en) * 2008-05-12 2008-06-12 Fmt Worldwide Pty Ltd Payment process
WO2010095988A1 (en) * 2009-02-18 2010-08-26 Telefonaktiebolaget L M Ericsson (Publ) User authentication

Also Published As

Publication number Publication date
BRPI0911492A2 (pt) 2016-08-02
AU2009241653A1 (en) 2009-11-05
JP5536038B2 (ja) 2014-07-02
CA2722732A1 (en) 2009-11-05
AU2009241653B2 (en) 2016-03-03
CA2722732C (en) 2017-03-21
GB0807678D0 (en) 2008-06-04
WO2009133386A1 (en) 2009-11-05
AR071390A1 (es) 2010-06-16
IL208699A0 (en) 2010-12-30
CN102016892A (zh) 2011-04-13
US8621575B2 (en) 2013-12-31
GB2459529A (en) 2009-11-04
MX2010011817A (es) 2011-03-15
EP3182354A1 (en) 2017-06-21
NZ588647A (en) 2012-12-21
JP2011519101A (ja) 2011-06-30
TW200949742A (en) 2009-12-01
EP2291800A1 (en) 2011-03-09
US20110061095A1 (en) 2011-03-10

Similar Documents

Publication Publication Date Title
US8621575B2 (en) Secure web based transactions
US20190156303A1 (en) Cryptographic currency exchange
US20180150832A1 (en) System, process and device for e-commerce transactions
CN113243094A (zh) 使用区块链的零知识证明支付
JP2020537229A (ja) ロイヤルティ・ポイント配布のためのシステム及び方法
US20070027779A1 (en) Add License Anonymously To Product Locker For Multi-Merchant Purchasing Environment
KR20160136415A (ko) 가상 카드 값들을 사용하여 거래들을 수행하는 방법
US20150154592A1 (en) Authorizing a transaction between a client device and a server using a scannable code
US10417632B2 (en) System and method for secure electronic payment
US9633321B2 (en) Systems and methods for facilitating call request aggregation over a network
US10546292B1 (en) Systems and methods for substitute low-value tokens in secure network transactions
CN108476201A (zh) 利用互联网提示服务加速在线证书状态检查
CN112513902A (zh) 远程emv支付应用程序
US20160275502A1 (en) Embedded third party server bypass security feature
AU2015253164B2 (en) Method and system for authentication token generation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application