CN109389395A - 虚拟代码提供系统、生成装置、验证装置、提供方法及提供程序 - Google Patents

虚拟代码提供系统、生成装置、验证装置、提供方法及提供程序 Download PDF

Info

Publication number
CN109389395A
CN109389395A CN201710805548.7A CN201710805548A CN109389395A CN 109389395 A CN109389395 A CN 109389395A CN 201710805548 A CN201710805548 A CN 201710805548A CN 109389395 A CN109389395 A CN 109389395A
Authority
CN
China
Prior art keywords
code
virtual
virtual code
generation
storage location
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201710805548.7A
Other languages
English (en)
Other versions
CN109389395B (zh
Inventor
刘昌训
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Parsons Ltd
Original Assignee
Parsons Ltd
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 Parsons Ltd filed Critical Parsons Ltd
Priority to CN202210569661.0A priority Critical patent/CN114819951A/zh
Publication of CN109389395A publication Critical patent/CN109389395A/zh
Application granted granted Critical
Publication of CN109389395B publication Critical patent/CN109389395B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • 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/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • 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/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
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1016Devices or methods for securing the PIN and other transaction-data, e.g. by encryption
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/12Card verification
    • 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
    • G06Q2220/00Business processing using cryptography
    • 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
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords

Abstract

本发明涉及虚拟代码提供系统、虚拟代码生成装置、虚拟代码验证装置、虚拟代码提供方法及虚拟代码提供程序。本发明一个实施例的虚拟代码提供方法包括:虚拟代码验证手段从虚拟代码生成手段接收虚拟代码的步骤(S200;虚拟代码接收步骤);所述虚拟代码验证手段提取所述虚拟代码中包含的多个细部代码的步骤S400;及所述虚拟代码验证手段以多个细部代码为基础,搜索实际代码的存储位置的步骤(S600;实际代码搜索步骤)。

Description

虚拟代码提供系统、生成装置、验证装置、提供方法及提供 程序
技术领域
本发明涉及虚拟代码提供系统、虚拟代码生成装置、虚拟代码验证装置、虚拟代码提供方法及虚拟代码提供程序,更详细而言,涉及一种生成每个时间点不重复地生成的虚拟代码并以此为基础搜索实际代码的系统、方法及程序和每个时间点生成不重复的虚拟代码的装置及以此为基础搜索实际代码的装置。
背景技术
代码形态数据正在许多领域利用。不仅是结算时利用的卡号、帐号,用于用户识别的IPIN号、居民身份证号等也是代码形态数据。
但是,在利用这种代码数据的过程中,泄露事故频发。就卡号而言,卡表面直接记载有实际卡号,因而在视觉上泄露给他人,在利用磁的结算时,卡号在直接传递给POS装置的同时泄露。
为了使实际代码不直接泄露而进行了许多利用虚拟代码的尝试,但为了搜索与虚拟代码对应的实际代码,需要用于识别使用者的数据。例如,就OTP(One Time Password,一次性密码)而言,代码虽然随时间而变更并生成,但为了判断赋予使用者的算法而需要登录步骤,难以应用于多样的领域。
因此,需要一种发明,能够在不提供与实际代码对应的使用者或装置的识别信息的同时,以实时变动的虚拟代码为基础搜索实际代码。
【现有技术文献】
【专利文献】韩国注册专利10-1316466号(2013.10.01)
发明内容
本发明要解决的技术问题
本发明旨在提供一种无需用于虚拟代码生成手段识别的另外步骤便能够以虚拟代码为基础搜索实际代码的虚拟代码提供系统、虚拟代码生成装置、虚拟代码验证装置、虚拟代码提供方法及虚拟代码提供程序。
另外,本发明旨在提供一种在所有虚拟代码生成手段中,提供在全周期内不重复且按单位计数间隔新生成的虚拟代码的虚拟代码提供系统、虚拟代码生成装置、虚拟代码验证装置、虚拟代码提供方法及虚拟代码提供程序。
本发明要解决的课题不限于以上言及的课题,未言及的其他课题是普通技术人员可以从以下记载明确理解的。
技术方案
本发明一个实施例的虚拟代码提供方法包括:虚拟代码接收步骤,虚拟代码验证手段从虚拟代码生成手段接收虚拟代码,且所述虚拟代码是根据特定规则,结合多个细部代码而生成;所述虚拟代码验证手段提取所述虚拟代码中包含的多个细部代码的步骤;及实际代码搜索步骤,所述虚拟代码验证手段以多个细部代码为基础,搜索实际代码的存储位置;所述虚拟代码验证手段和所述虚拟代码生成手段包含相同的虚拟代码生成函数,所述细部代码包括:第1代码,其设置存储位置搜索的开始地点;及第2代码,其根据特定的搜索方式,设置从所述开始地点到所述存储位置的搜索路径;所述第1代码及所述第2代码每单位计数变更;所述虚拟代码验证手段的特征在于:包括存储位置搜索算法,所述存储位置搜索算法调节实际代码的存储位置,以便符合每单位计数生成的所述第1代码及所述第2代码;如果接收了每单位计数正常生成的虚拟代码,则从与所述第1代码对应的所述开始地点起,将按照与所述第2代码相应的搜索路径移动的地点算出为所述存储位置;所述单位计数按特定时间间隔设置,并随着所述时间间隔的经过而变更。
另外,作为另一实施例,所述虚拟代码生成函数在以M(M为自然数)个字符生成N(N为自然数)位的所述第1代码或所述第2代码时,包括将相异的MN个代码提供为每单位计数依次变更的第1代码或第2代码的第1函数或第2函数。
另外,作为另一实施例,所述第2代码从新生成所述实际代码的时间点起,以经过的单位计数为基础生成。
另外,作为另一实施例,当所述存储位置搜索算法是k角形在k(k为MN)个代码罗列的轨道上,顶点对应于各代码配置的地点并进行滚动移动时,所述实际代码搜索步骤包括:使k角形滚动移动到与从所述虚拟代码生成手段接收的所述虚拟代码内第1代码对应的轨道上的地点的步骤;存储位置搜索步骤,将与所述第1代码对应的位置设置为搜索开始地点,根据应用于所述第2代码的搜索方式,以第2代码为基础搜索k角形的配置状态下的存储位置,且所述存储位置与所述k角形的各个顶点匹配;及提取所述存储位置包含的实际代码的步骤。
另外,作为另一实施例,还包括:实际代码存储步骤,如果从特定的虚拟代码生成手段,请求在特定的计数新生成实际代码,则在所述特定的计数,在与k角形的特定的顶点对应的存储位置存储实际代码,且所述特定的顶点在所述特定的计数,在轨道上相接。
另外,作为另一实施例,所述虚拟代码生成函数包括与排列多个细部代码的规则相应的细部代码结合函数。
另外,作为另一实施例,所述细部代码生成函数应用了按升序排列M个字符的特定的罗列规则,所述字符包括大写罗马字母、小写罗马字母、数字及特殊字符中至少一者。
另外,作为另一实施例,其特征在于,所述虚拟代码还包括判断包含所述虚拟代码生成手段的组的固定代码,所述细部代码提取步骤在所述虚拟代码内提取所述固定代码,以所述固定代码为基础,判断所述虚拟代码生成手段的组,决定关于所述组的所述虚拟代码生成函数或所述存储位置搜索算法。
另外,作为另一实施例,所述虚拟代码还包括特定的位数的安全代码,还包括:所述虚拟代码验证手段判断从所述虚拟代码生成手段接收的接收安全代码与所述虚拟代码验证手段内生成的生成安全代码是否一致,验证虚拟代码的步骤。
另外,作为另一实施例,其特征在于,所述安全代码是将虚拟代码生成手段的固有识别值及生成时间数据当作函数值而生成,所述虚拟代码验证手段在生成关于虚拟代码生成手段的实际代码时,接收所述固有识别值并存储。
另外,作为另一实施例,还包括:所述虚拟代码验证手段应用所述第1函数或第2函数的逆函数,验证所述第1代码或所述第2代码是否属于正常生成的虚拟代码的步骤。
另外,作为另一实施例,还包括:比较从所述虚拟代码生成手段接收的第1接收代码与根据所述虚拟代码验证手段生成的第1函数而生成的第1生成代码的步骤;所述第1接收代码如果包含于距离所述第1生成代码的误差允许范围内,则设置为将所述第1接收代码当作所述开始地点的第1代码的步骤;及所述第1接收代码如果超出距离所述第1生成代码的误差允许范围,则判断为非正常代码的步骤。
本发明另一实施例的虚拟代码提供程序与硬件结合,运行所述提及的虚拟代码提供方法,存储于介质。
本发明又一实施例的虚拟代码生成装置包括:细部代码生成部,其生成一个以上的细部代码;虚拟代码生成部,其组合所述一个以上的细部代码而生成虚拟代码;及虚拟代码提供部,其为了将所述虚拟代码提供给虚拟代码验证装置而输出到外部;所述虚拟代码是将多个细部代码按照特定的规则结合而生成,所述细部代码包括:第1代码,其设置所述虚拟代码验证装置中存储位置的搜索开始地点;及第2代码,其按照特定的搜索方式,设置虚拟代码验证装置中从所述开始地点至所述存储位置的搜索路径;所述第1代码及所述第2代码每单位计数变更;所述虚拟代码验证装置的特征在于:包括存储位置搜索算法,所述存储位置搜索算法调节实际代码的存储位置,以便符合每单位计数生成的所述第1代码及所述第2代码;如果接收了每单位计数正常生成的虚拟代码,则从与所述第1代码对应的所述搜索开始地点起,将按照与所述第2代码相应的搜索路径移动的地点算出为所述存储位置;所述单位计数按特定时间间隔设置,并随着所述时间间隔的经过而变更。
本发明又一实施例的虚拟代码验证装置包括:接收部,其从虚拟代码生成装置接收虚拟代码;细部代码提取部,其提取所述虚拟代码中包含的多个细部代码;及实际代码搜索部,其以多个细部代码为基础,搜索实际代码的存储位置;所述虚拟代码验证装置和所述虚拟代码生成装置包含相同的虚拟代码生成函数,所述虚拟代码是将多个细部代码按照特定的规则结合而生成,所述细部代码包括:第1代码,其设置实际代码搜索部中存储位置搜索的搜索开始地点;及第2代码,其根据特定的搜索方式,设置实际代码搜索部中从所述开始地点到所述存储位置的搜索路径;所述实际代码搜索部的特征在于,包括存储位置搜索算法,所述存储位置搜索算法调节实际代码的存储位置,以便符合所述虚拟代码生成装置中每单位计数变更并提供的所述第1代码及所述第2代码;如果接收了每单位计数正常生成的虚拟代码,则从与所述第1代码对应的所述搜索开始地点起,将按照与所述第2代码相应的搜索路径移动的地点算出为所述存储位置;所述单位计数按特定时间间隔设置,并随着所述时间间隔的经过而变更。
有益效果
根据如上所述的本发明,具有如下多样的效果。
第一,每单位计数新生成虚拟代码,在确定的全周期内不出现重复的虚拟代码,因而提供即使虚拟代码泄露时,实际代码也不泄露的效果。
第二,只在虚拟代码生成装置和利用实际代码的装置(例如,金融公司服务器、IOT设备等)中添加用于虚拟代码生成及实际代码搜索的算法即可,因而可以直接保持原来利用实际代码的流程。例如,生成不重复生成的虚拟卡号并提供给智能卡或应用卡时,POS装置和PG公司服务器可以直接保持,将虚拟卡号传递给卡公司服务器,卡公司服务器搜索与虚拟卡号相应的实际卡号并进行结算。由此,可以使为了提高安全性而需在原有流程内变更的部分实现最小化,使用者无需执行用于提高安全性的另外步骤。
第三,体现虚拟代码生成函数的方式非常多样,可以应用因组、因应用领域而异的虚拟代码生成函数。
附图说明
图1是本发明一个实施例的虚拟代码提供系统的构成图。
图2是本发明一个实施例的虚拟代码生成装置的构成图。
图3~图4是本发明实施例的虚拟代码验证装置的构成图。
图5是本发明一个实施例的虚拟代码提供方法的顺序图。
图6是关于根据本发明的一个实施例,通过k角形的滚动移动搜索实际代码存储位置的存储位置搜索算法的示例图。
图7是本发明一个实施例的包括k角形滚动移动下的实际代码搜索过程的虚拟代码提供方法的顺序图。
图8是本发明一个实施例的还包括发放实际代码并存储于存储位置的过程的虚拟代码提供方法的顺序图。
图9是本发明一个实施例的还包括虚拟代码验证过程的虚拟代码提供方法的顺序图.
图10是本发明一个实施例的还包括虚拟代码的非正常代码与否判断过程的虚拟代码提供方法的顺序图。
具体实施方式
下面参照附图,详细说明本发明的优选实施例。如果参照后面与附图一同详细叙述的实施例,本发明的优点及特征以及达成其的方法将会明确。但是,本发明并非限定于以下公开的实施例,可以以互不相同的多样形态体现,不过,本实施例提供用于使本发明的公开更完整,向本发明所属技术领域的技术人员完整地告知发明的范畴,本发明只由权利要求项的范畴所定义。在通篇说明书中,相同参照符号指称相同构成要素。
只要没有不同的定义,本说明书中使用的所有术语(包括技术及科学性术语)可以用于本发明所属技术领域的技术人员可以共同理解的意义。再者,一般使用的字典中定义的术语只要未明确地特别定义,不得过于地或过度地解释。
本说明书中使用的术语用于说明实施例,并非要限定本发明。在本说明书中,只要语句中未特别提及,单数型也包括复数型。说明书中使用的“包括(comprises)”及/或“包括的(comprising)”,在提及的构成要素外,不排除一个以上其他构成要素的存在或追加。
在本说明书中,“字符”作为构成代码的构成要素,包括大写罗马字母、小写罗马字母、数字及特殊字符等的全部或一部分。
在本说明书中,“代码”意味着字符罗列的字符串。
在本说明书中,“实际代码”意味着实际使用的代码。例如,当代码为卡号时,实际代码可以为卡公司向特定的使用者的卡发放的实际卡号。
在本说明书中,“虚拟代码”意味着以连接于实际代码的方式临时生成的代码。
在本说明书中,“细部代码”意味着虚拟代码中包含的一部分代码。即,当虚拟代码结合另行生成的多个代码而生成时,细部代码意味着另行生成并构成虚拟代码的个别代码。
在本说明书中,“单位计数”是定义为按特定时间间隔设置并随着所述时间间隔的经过而变更的单位。例如,1个计数单位可以设置为特定的时间间隔(例如,1.5秒)使用。
在本说明书中,“虚拟代码生成函数”意味着生成虚拟代码所利用的函数。
在本说明书中,“智能卡”意味着可变更卡号并输出的卡。
在本说明书中,“滚动移动”意味着对象体在旋转的同时进行并进运动。即,“滚动移动”是一面一同进行旋转运动与并进运动,一面移动,意味着旋转的对象体的各地点在移动的轴上依次接触并移动。
下面参照附图,对本发明实施例的虚拟代码提供系统、虚拟代码生成装置100、虚拟代码验证装置200、虚拟代码提供方法及虚拟代码提供程序进行详细说明。
图1是本发明一个实施例的虚拟代码提供系统的构成图。
如果参照图1,本发明一个实施例的虚拟代码提供系统包括虚拟代码生成手段10及虚拟代码验证手段20。
虚拟代码生成手段10执行的作用是生成包含虚拟代码验证手段20可以搜索实际代码的信息的虚拟代码。即,虚拟代码生成手段10根据虚拟代码生成函数,生成虚拟代码。此时,虚拟代码验证手段20以虚拟代码为基础,搜索实际代码,因此,虚拟代码生成手段10可以不存储实际代码。由此,能够防止实际代码因虚拟代码生成手段10的黑客侵入等而泄露。关于虚拟代码生成函数的具体说明将在后面叙述。
虚拟代码验证手段20执行的作用是以从虚拟代码生成手段10提供的虚拟代码为基础,搜索实际代码。虚拟代码验证手段20为了从虚拟代码生成手段10接收的虚拟代码中搜索实际代码,存储与虚拟代码生成手段10相同的虚拟代码生成函数。关于虚拟代码验证手段20以虚拟代码为基础搜索实际代码的方式的具体说明将在后面叙述。
另外,虚拟代码验证手段20执行的作用是验证虚拟代码是否是虚拟代码生成手段10正常生成的代码。关于虚拟代码验证手段20判断虚拟代码正常与否的方式的具体说明将在后面叙述。
虚拟代码验证手段20可以从虚拟代码生成手段10,通过多样的方式,接受传递虚拟代码。作为一个实施例,虚拟代码验证手段20可以通过无线通信,从虚拟代码生成手段10接收虚拟代码。另外,作为另一实施例,虚拟代码验证手段20可以从使用者直接接受输入由虚拟代码生成手段10生成并提供给使用者的虚拟代码。
另外,作为另一实施例,虚拟代码验证手段20可以从由虚拟代码生成手段10接收了虚拟代码的其他服务器接受传递。例如,当虚拟代码生成手段10为结算卡、虚拟代码是替代实际卡号的虚拟卡号、虚拟代码验证手段20是包含虚拟代码生成函数的卡公司服务器时,如果利用作为虚拟代码生成手段10的卡在POS中执行结算,则虚拟代码验证手段20从由POS接受传递了虚拟卡号的PG公司服务器,接受传递虚拟卡号(即,虚拟代码)。即,虚拟代码验证手段20(即,卡公司服务器)可以利用原有的结算流程,取代实际卡号而从虚拟代码生成手段10接收虚拟卡号。
另外,作为一个实施例,所述虚拟代码验证手段20和所述虚拟代码生成手段10包含相同的虚拟代码生成函数。虚拟代码验证手段20和虚拟代码生成手段10包含相同的虚拟代码生成函数,因而虚拟代码验证手段20可以直接提取虚拟代码生成手段10生成的虚拟代码内的多个细部代码。另外,虚拟代码验证手段20可以验证接收的虚拟代码是否是在正常的虚拟代码生成手段10中生成并接收的。即,虚拟代码验证手段20可以在与虚拟代码生成手段10相同的条件下,执行代码(即,虚拟代码或特定的细部代码)生成后,与从虚拟代码生成手段10接收的代码(即,虚拟代码或特定的细部代码)比较,从而执行验证。
图2是本发明另一实施例的虚拟代码生成装置100的构成图。
如果参照图2,本发明另一实施例的虚拟代码生成装置100包括细部代码生成部110、虚拟代码生成部120及虚拟代码提供部130。
本发明实施例的虚拟代码生成装置100可以是内置(Embeded)有与虚拟代码生成手段10相应的程序或安装有与虚拟代码生成手段10相应的程序的装置。例如,当虚拟代码为虚拟卡号时,虚拟代码生成装置100可以是内置有与虚拟代码生成手段10相应的程序的智能卡。另外,例如,当虚拟代码为虚拟卡号时,虚拟代码生成装置100可以是安装有与虚拟代码生成手段10相应的应用卡应用程序的移动终端。另外,例如,当虚拟代码是关于物联网(Internet of Things;IOT)设备的虚拟认证密钥时,虚拟代码生成装置100可以是内置有与虚拟代码生成手段10相应的程序的控制装置(例如,遥控器)。虚拟代码生成装置100除所述记载的示例之外,可以应用于需要生成虚拟代码并向其他装置(例如,其他设备或服务器)传输的多样情形。
虚拟代码生成部120执行的作用是组合一个以上的细部代码而生成为虚拟代码。作为一个实施例,所述虚拟代码是按照特定的规则,结合多个细部代码而生成的。虚拟代码生成函数包括对多个细部代码进行组合的规则(即,细部代码结合函数)。
作为结合多个细部代码而生成一个虚拟代码的方式,可以应用多样的方式。作为所述细部代码结合函数的一个示例,虚拟代码生成部120可以以交替配置N位的第1代码与N位的第2代码的方式生成虚拟代码。另外,作为另一示例,细部代码结合函数可以是在第1代码后结合第2代码的函数。随着虚拟函数中包含的细部代码增多,细部代码结合函数也可以多样地生成。
细部代码生成部110执行的作用是生成一个以上的细部代码。虚拟代码生成函数包含各个细部代码生成函数。例如,虚拟代码生成函数利用多个细部代码生成函数,生成多个细部代码,利用结合多个细部代码的细部代码结合函数,生成虚拟代码。
作为一个实施例,细部代码生成部110作为细部代码生成函数而包含第1函数和第2函数,生成第1代码及第2代码。第1代码和第2代码可以具有用于在虚拟代码验证手段20内搜索实际代码的存储位置所需的相关关系,但虚拟代码生成装置100为了提高安全性,可以只将生成第1代码的第1函数和生成第2代码的第2函数包含于细部代码生成函数,而不包含关于第1代码与第2代码的相关关系的数据。
另外,作为另一实施例,虚拟代码可以一同包含用于区别组的不变的固定代码和多个细部代码。虚拟代码验证手段20可以包含分别与多个组对应的多个虚拟代码生成函数,如果从虚拟代码生成装置100接收了虚拟代码,则应以相应虚拟代码生成装置100所属的组的虚拟代码生成函数为基础,执行实际代码搜索。如果不包含固定代码,只包含每当全体代码经过单位计数时新生成的细部代码,则没有另外的信息,无法判断虚拟代码生成装置100所属的组。因此,虚拟代码生成装置100包含用于识别组的不变的固定代码。
例如,当实际代码为实际卡号、按特定卡公司的卡类型赋予虚拟代码生成函数时,虚拟代码生成装置100将卡号中代表卡公司及卡类型的前6位用作固定代码,虚拟代码验证手段20可以识别应用了与虚拟代码生成装置100相同的虚拟代码生成函数的特定卡公司的特定卡类型。
另外,例如,当居民身份证号为实际代码、将具有相同出生日期的人判断为相同组时,虚拟代码生成装置100可以将居民身份证号的全体13位中与出生日期相应的6位设置为固定代码,以虚拟代码生成函数为基础,每单位计数新生成其余7位。虚拟代码验证手段20接收虚拟代码,以固定代码6位为基础来判断组。
另外,作为一个实施例,虚拟代码还包括安全代码。例如,虚拟代码包括多个细部代码和安全代码。所述安全代码作为以特定的安全代码生成函数为基础生成的代码,用于验证是否为正常的虚拟代码。所述安全代码生成函数将时间数据和虚拟代码生成手段固有值用作函数值,生成特定的位数的安全代码。
利用安全代码来判断虚拟代码是否正常的过程的一个示例如下。虚拟代码验证手段20在发放实际代码时,可以接收虚拟代码生成装置100的固有值(例如,智能卡内的芯片固有值或安装应用卡的智能手机的固有值等),一同存储于实际代码的存储位置,或存储在连接于实际代码存储位置的另外的存储空间。如果虚拟代码生成装置100生成结合了安全代码的虚拟代码并提供给虚拟代码验证手段20,则虚拟代码验证手段20以细部代码为基础,获得虚拟代码生成的时间数据,提取内部存储的特定的虚拟代码生成装置100的固有值,与时间数据一同应用于安全代码生成函数,算出安全代码。虚拟代码验证手段20判断从虚拟代码生成装置100接收的安全代码(即,接收安全代码)和通过内部存储的安全代码生成函数算出的安全代码(即,生成安全代码)是否一致。如果接收安全代码与生成安全代码一致,则虚拟代码验证手段20判断为正常的虚拟代码并提供实际代码。
例如,当实际代码为卡中包含的号码(例如,卡号、有效期及卡安全号码)时(即,当虚拟代码生成装置为智能卡时),安全代码可以生成为卡安全号码。即,虚拟代码生成装置100利用安全代码生成函数,将与卡安全号码相应的3位或4位生成为安全代码,在使用卡时,如果作为卡安全号码而输入安全代码,虚拟代码验证手段20则执行验证安全代码的过程。
另外,作为另一示例,安全代码生成函数可以每计数生成不同的l位(l为自然数)的代码,一同用作函数值。即,安全代码生成函数可以包括l位的随机代码生成函数。
另外,作为一个实施例,当虚拟代码由第1代码及第2代码的基于特定规则的组合而生成时,第1代码和第2代码分别可以执行用于搜索实际代码存储的存储位置的作用。例如,第1代码设置存储位置搜索的开始地点,第2代码根据特定的搜索方式,设置从所述开始地点到所述存储位置的搜索路径。即,如果从虚拟代码生成装置100,提供每单位计数正常生成的虚拟代码,则虚拟代码验证手段20从与第1代码对应的搜索开始地点起,将按照与第2代码相应的搜索路径移动的地点判断为实际代码的存储位置。以构成虚拟代码的第1代码和第2代码为基础来搜索存储位置的具体方式将在后面叙述。
作为细部代码生成部110生成细部代码的方式的一个实施例,细部代码生成部110每单位计数生成新细部代码,因此,虚拟代码生成装置100每单位计数生成新虚拟代码。每单位计数新生成的虚拟代码不重复生成。具体而言,细部代码生成部110设置成,不仅每单位计数新生成的虚拟代码在既定期间对特定的使用者或特定的虚拟代码生成装置100不重复生成,而且,即使在属于特定的组的使用者之间,也不重复生成。
作为防止虚拟代码重复生成的一个具体实施例,当以M个字符生成N位的所述第1代码或所述第2代码时,虚拟代码生成函数中包含的细部代码生成函数可以将MN个代码生成为第1代码或第2代码,从细部代码生成函数驱动的初始时间点起,每计数匹配各个代码。例如,当将单位计数设置为1秒时,从细部代码生成函数最初驱动的时间点起,每秒匹配相异的MN个代码。而且,如果将利用特定的细部代码生成函数的周期或虚拟代码生成装置100的使用周期(例如,生成虚拟卡号的智能卡的有效期)设置为短于与MN计数相应的时间长度(例如,1计数为1秒时,为MN秒)的时间长度,则第1代码或第2代码在使用周期期间,不重复生成相同的代码。即,当计数随着时间流逝而增加时,在使用者在特定时间点,向虚拟代码生成装置100请求生成虚拟代码的情况下,虚拟代码生成装置100可以将与对应于特定时间点的计数匹配的代码值生成为第1代码或第2代码。
作为防止虚拟代码重复生成的具体的另一实施例,经过虚拟代码生成装置100的使用周期后,变更生成第1代码或第2代码的函数(即,第1函数或第2函数),或变更第1代码与第2代码的匹配关系,使得生成与以前使用周期相异的虚拟代码。当虚拟代码根据第1函数而生成的第1代码和根据第2函数而生成的第2代码结合时,如果第1代码生成函数或第2代码生成函数变更,则由于第1代码或第2代码登场的顺序变得与以前使用周期不同,因而虚拟代码生成装置100可以将生成与以前周期相异的虚拟代码的虚拟代码生成函数应用于新使用周期。另外,虚拟代码生成装置100可以选择第1函数和第2函数,使得与在以前使用周期使用的虚拟代码相同的代码不在新使用周期内作为各计数的虚拟代码登场(即,使根据第1函数而生成的第1代码与根据第2函数而生成的第2代码的匹配关系,在新使用周期的所有计数,不包含于以前使用周期内包含的匹配关系中)。即,在经过可以一次性应用MN个代码的使用周期后,通过虚拟代码生成函数调节或更新,可以应用不生成与以前使用周期重叠的虚拟代码的新使用周期的虚拟代码生成函数。
此时,虚拟代码生成手段10及虚拟代码验证手段20可以存储更新了虚拟代码生成函数的规则。即,虚拟代码生成手段10及虚拟代码验证手段20可以存储将多个第1函数和第2函数应用于各使用周期的顺序或规则。
另外,作为防止虚拟代码重复生成的具体的另一实施例,为了即使在属于相同的组的使用者之间,也不在相同时间点生成相同的虚拟代码,虚拟代码包含的第1代码或第2代码中某一者至少可以反映每虚拟代码生成装置100在相同时间点始终相异地存在的值(即,装置识别值)而生成。作为一个实施例,装置识别值可以是从虚拟代码生成装置100包含于应用了特定的细部代码生成函数的组中的时间点(例如,在虚拟代码验证手段20内,从特定的细部代码生成函数所驱动的最初时间点起,经过特定时间之后,所述细部代码生成函数开始应用于特定的虚拟代码生成装置100的时间点)直到现在经过的时间(或计数数)。当一个组内包含多个虚拟代码生成装置100时,如果使将虚拟代码生成装置100设置为属于相应组的计数不相同(即,如果使虚拟代码生成装置100无法同时属于相应组),那么,从使虚拟代码生成装置100属于该组的时间点(或计数)直到特定时间点的经过时间,因每个虚拟代码生成装置100而异。因此,细部代码生成函数中至少某一者可以将从虚拟代码生成装置100属于该组的时间点(或计数)直到特定时间点的经过时间用作装置识别值,使每个时间点各个虚拟代码生成装置100生成的虚拟代码相异。由此,可以使虚拟代码验证手段20无需另行接收用于区别使用者的数据,仅通过接收虚拟代码,便能够区别虚拟代码生成装置100。
例如,当是可以变更虚拟代码生成装置100输出的卡号的卡(例如,智能卡或应用卡等)时,特定卡公司的特定卡类型设置为一个组,卡公司服务器内的特定虚拟代码验证手段20针对相应组进行驱动。如果第1使用者在从虚拟代码验证手段20驱动时起经过A时间后的时间点,向第1虚拟代码生成装置100(即,第1使用者的虚拟代码生成装置100)请求发放卡,第2使用者在从虚拟代码验证手段20驱动时起经过B(B为大于A的值)时间后的时间点,向第2虚拟代码生成装置100(即,第2虚拟代码生成装置100)请求发放卡,那么,第1虚拟代码生成装置100及第2虚拟代码生成装置100在从第1使用者和第2使用者请求生成虚拟代码的C(C为大于B的值)时间,从卡发放时间点起经过的时间长度始终相异。因此,细部代码生成函数将从向各虚拟代码生成装置100发放卡的时间点起经过的时间长度用作变数,因而可以使得在相同时间点,不生成相同的虚拟卡号。
另外,从特定的虚拟代码生成装置100属于特定的组的时间点起经过的时间长度,随着时间的流逝而持续增加,因此,特定的虚拟代码生成装置100生成的细部代码(例如,第2代码)不生成相同的值,而是生成持续不同的值。
另外,作为防止虚拟代码重复生成的具体的又一实施例,为了在全体周期中,与使用者无关地均不发生重复的虚拟代码,第1代码可以设置为,从第1函数在虚拟代码验证手段20内驱动的初始时间点起,在每计数匹配的代码中,与请求生成虚拟代码的时间点(或计数)对应的代码值,第2代码可以设置为反映每虚拟代码生成装置100在相同时间点始终相异地存在的值(即,装置识别值)而生成的代码值,虚拟代码可以用作所述第1代码和第2代码结合的代码值。第1代码为每计数相异的代码值,第2代码在相同时间点具有每虚拟代码生成装置100相异的代码值,第1代码和第2代码结合的虚拟代码在所有虚拟代码生成装置100和所有时间点输出相异的代码值。
另外,作为另一实施例,所述虚拟代码生成函数(或细部代码生成函数)应用按升序罗列M个字符的多个罗列规则中的某一种。即,虚拟代码生成装置100(即,虚拟代码生成手段10)可以将按升序罗列M个字符的规则多样地应用于虚拟代码生成函数内包含的细部代码生成函数。例如,按升序罗列大写罗马字母的罗列规则可以为普通顺序的A、B、C、…、Z顺序,也可以为A、C、B、…、Z顺序。在虚拟代码生成函数中,罗列规则变得不同,因此,从虚拟代码生成函数进行驱动的初始时间点起,代码与各计数依次匹配的顺序也变得不同。虚拟代码验证手段20可以将根据相同的罗列规则生成的代码匹配于各计数,或将相同的罗列规则本身包含于虚拟代码生成函数并存储。因此,各组的虚拟代码生成函数包含相异的细部代码结合函数或包含相异的字符罗列规则,可以使得具有各组相异的虚拟代码生成函数。
虚拟代码提供部130执行的作用是为了将所述虚拟代码提供给虚拟代码验证装置200而输出到外部。虚拟代码提供部130可以包括可将虚拟代码提供给外部的多样构成。虚拟代码提供部130包括无线通信模块、近距离通信模块、IC芯片、磁场发生部、显示部等的全部或一部分。
无线互联网模块是指用于无线互联网接入的模块,可以内置或外置于移动终端。作为无线互联网技术,可以利用WLAN(Wireless LAN,无线局域网)(Wi-Fi)、Wibro(Wireless broadband,无线宽带)、Wimax(WorldInteroperability for MicrowaveAccess,全球微波接入互操作性)、HSDPA(High Speed Downlink Packet Access,高速下行链路分组接入)、LTE(long term evolution,长期演进)、LTE-A(Long Term Evolution-Advanced,行进长期演进)等。
近距离通信模块是指用于近距离通信的模块。作为近距离通信(short rangecommunication)技术,可以利用蓝牙(Bluetooth)、BLE(Bluetooth Low Energy,低耗电蓝牙)、信标(Beacon)、RFID(Radio Frequency Identification,射频识别)、NFC(Near FieldCommunication,近场通讯)、红外线通信(Infrared Data Association;IrDA)、UWB(UltraWideband,超宽带)、ZigBee等。
当虚拟代码生成装置100属于向POS装置传递虚拟代码(即,虚拟卡号)的卡时,虚拟代码提供部130可以包括磁场发生部或IC芯片。磁场发生部执行的功能是将卡数据以磁信号形态输出并传递给读卡器。磁场发生部可以包括一个以上磁单元,所述磁单元通过电流流动形成磁场,输出卡信息磁信号。磁场发生部可以配备得靠近卡的PCB板的特定的长边,沿着所述长边,露出于PCB板的上面或下面。
IC芯片可以贴装于PCB板内,使得与IC方式的读卡器的端子接触而执行数据交换。即,IC芯片将虚拟代码生成部120生成的虚拟代码传递给IC方式的读卡器。
显示部也可以包括液晶显示装置(liquid crystal display)、薄膜晶体管液晶显示装置(thin film transistor-liquid crystal display)、有机发光二极管(organiclight-emitting diode)、柔性显示装置(flexible display)、电子纸(E-paper)中的至少一种。
显示部将虚拟代码生成部120生成的虚拟代码以视觉方式输出到外部。由此,虚拟代码生成装置100的使用者可以在视觉上实时确认生成的虚拟代码,可以在虚拟代码验证手段20中直接输入在视觉上确认的虚拟代码。
另外,使用者可以通过文字消息等多样的途径,传输显示部显示的虚拟代码。不是传递实际代码,而是传递可在虚拟代码验证手段20中搜索实际代码的虚拟代码(具体而言,持续变更生成的代码),因而可以使使用者通过文字消息等传输代码时,无需忧虑实际代码泄露。
图3是本发明一个实施例的虚拟代码验证装置200的构成图。
如果参照图3,本发明又一实施例的虚拟代码验证装置200包括虚拟代码接收部210、细部代码提取部220及实际代码搜索部230。虚拟代码验证装置200既可以为电子装置,也可以为服务器装置。例如,虚拟代码验证装置200可以相当于与生成替代实际代码的虚拟代码并传输的控制装置(即,虚拟代码生成装置100)连接的IOT设备。IOT设备以虚拟代码为基础,搜索实际代码的存储位置,如果在特定的存储位置提取了实际代码则进行驱动。
另外,例如,虚拟代码验证装置200可以是卡公司服务器,所述卡公司服务器接收关于特定使用者保有的特定卡公司的特定类型的卡的虚拟卡号后,搜索实际卡号并进行结算。具体就卡结算而言,虚拟代码验证装置200通过POS装置及PG公司服务器,接收虚拟代码生成装置100生成的虚拟代码。
虚拟代码接收部210执行的作用是从虚拟代码生成装置100接收虚拟代码。作为一个实施例,虚拟代码接收部210可以包括无线通信部(例如,无线通信模块或近距离通信模块),可以从虚拟代码生成装置100,通过无线通信而接收虚拟代码。另外,作为另一实施例,虚拟代码接收部210可以通过与其他服务器的通信,接受传递虚拟代码生成装置100生成的虚拟代码。
另外,作为另一实施例,虚拟代码接收部210可以为使用者输入部。即,虚拟代码接收部210可以从使用者直接接受输入虚拟代码生成装置100以视觉方式输出的虚拟代码。例如,当虚拟代码生成装置100是生成虚拟卡号并在卡表面上输出的装置(例如,智能卡)时,使用者可以确认虚拟代码生成装置100以视觉方式显示的虚拟代码,直接在虚拟代码验证装置200的使用者输入部输入。
具体而言,虚拟代码生成装置100可以在卡号16位中可变更的位数(例如,除判断卡公司及卡类型的前6位及最后digit的位)配备显示部,如果生成虚拟代码,则在代码可变更的位置输出字符。使用者可以将不变更的代码和变更的代码全体当作虚拟代码,输入于虚拟代码验证装置200的使用者输入部(即,虚拟代码接收部210)。
细部代码提取部220提取所述虚拟代码中包含的多个细部代码。所述虚拟代码是将多个细部代码按特定规则结合而生成的。虚拟代码验证装置200的细部代码提取部220可以包括与特定组的虚拟代码生成装置100相同的细部代码结合函数,细部代码提取部220可以应用细部代码结合函数,从虚拟代码中提取多个细部代码。例如,当虚拟代码生成装置100生成由两个细部代码(即,第1代码及第2代码)结合的虚拟代码时,细部代码提取部220可以在虚拟代码的字符排列中,应用细部代码结合函数而分离出第1代码及第2代码。
实际代码搜索部230以多个细部代码为基础,搜索实际代码的存储位置。作为实际代码搜索部230以各个细部代码为基础来搜索实际代码存储位置的方式,可以应用多样的方式。实际代码搜索部230为了以多个细部代码为基础来搜索存储位置,可以在细部代码间包含相关关系。
当虚拟代码由第1代码及第2代码构成时,作为在细部代码间具有相关关系的一个实施例,实际代码搜索部230可以决定与第1代码对应的搜索开始地点,从所述搜索开始地点起,找到按照与第2代码相应的搜索路径移动的地点,作为实际代码的存储位置。即,所述细部代码可以包括设置储位置搜索的开始地点的第1代码,以及按照特定搜索方式,设置从所述开始地点至所述存储位置的搜索路径的第2代码。
另外,作为另一实施例,虚拟代码生成手段10(或虚拟代码生成装置100)每单位计数提供新虚拟代码,因而就虚拟代码验证装置200而言,用于存储位置搜索的第1代码和第2代码每当经过单位计数时变更。虚拟代码验证装置200可以以每计数变更的第1代码及第2代码为基础,设置搜索开始地点和搜索路径,搜索实际代码的存储位置。
另外,作为另一实施例,实际代码搜索部230为了利用具有相关关系的多个细部代码,查找实际代码的存储位置,可以包括存储位置搜索算法。存储位置搜索算法是在应用虚拟代码中包含的各个细部代码时,使得能够搜索存储位置的算法。例如,当虚拟代码中包含决定存储位置的搜索开始地点的第1代码和指示从搜索开始地点起的存储位置方向的第2代码时,存储位置搜索算法是在与第1代码对应的地点指示与第2代码对应的方向时进行调节而使实际代码匹配的存储位置配置于相应位置的算法。通过利用存储位置搜索算法,即使虚拟代码中包含的第1代码和第2代码变更,虚拟代码验证装置200也能够找到实际代码存储位置或与存储位置匹配的地点。存储位置搜索算法可以应用多样的方式,具体的示例将在后面叙述。不过,存储位置搜索算法不限定于后述的示例。
例如,如后所述,如果参照图6,当存储位置搜索算法是沿着与第1代码相应的MN个代码罗列的轨道滚动移动的k角形(k为MN),k角形的顶点在第1代码轨道上,与代码配置的地点对应并移动时,k角形的各顶点与实际代码存储位置匹配,第1代码轨道(即,第1轨道)与k角形对应的地点可以成为与第1代码对应的存储位置搜索开始地点。此时,实际代码搜索部230可以对k角形应用滚动移动,以便使k角形的顶点接触与细部代码提取部220提取的第1代码对应的地点。由此,实际代码搜索部230在k角形相接的第1轨道上的位置,提示为与第2代码相应的角度(例如,朝向k角形顶点地将180度分割成MN个的特定角度),因此,作为与虚拟代码对应的实际代码所存储的存储位置,可以搜索k角形的顶点。
具体而言,如图6所示,虚拟代码验证装置200使k角形滚动移动(即,使k角形的各顶点与轨道上的各地点依次相接并移动)到与第1代码对应的地点。然后,虚拟代码验证装置200指示与第2代码相应的角度方向,搜索与存储位置相应的顶点。例如,虚拟代码生成手段B由于在接受发放实际代码后经过了2计数,因此,虚拟代码生成手段B生成将2计数用作函数值的第2代码,提供给虚拟代码验证手段。虚拟代码验证手段在k角形与轨道相接的地点,使每计数根据第2函数生成的第2代码与朝向各顶点的角度匹配并存储(即,使应用n计数的第2代码滚动移动k角形的n计数,因而匹配到朝向滚动移动的第n个顶点的角度并存储),因而虚拟代码验证手段将与第2代码相应的角度应用于第1代码对应地点,搜索与实际代码存储位置对应的k角形的顶点。
另外,作为另一实施例,如图4所示,所述虚拟代码验证装置200还包括虚拟代码验证部240。虚拟代码验证部240执行的作用是判断虚拟代码验证装置200接收的虚拟代码的真伪与否。
图5是本发明一个实施例的虚拟代码提供方法的顺序图。
如果参照图5,本发明一个实施例的虚拟代码提供方法包括:虚拟代码验证手段20从虚拟代码生成手段10接收虚拟代码的步骤S200(虚拟代码接收步骤);所述虚拟代码验证手段20提取所述虚拟代码中包含的多个细部代码的步骤S400;及所述虚拟代码验证手段20以多个细部代码为基础来搜索实际代码的存储位置的步骤S1000(实际代码搜索步骤)。下面记载关于各步骤的详细说明。不过,在对虚拟代码生成装置100及虚拟代码验证装置200的说明过程中,省略关于上述内容的具体公开。
虚拟代码验证手段20从虚拟代码生成手段10接收虚拟代码S200(虚拟代码接收步骤)。虚拟代码由虚拟代码生成装置100(或虚拟代码生成手段10)生成并提供给虚拟代码验证手段20。
虚拟代码生成手段10生成的虚拟代码可以由多个细部代码构成。作为一个实施例,虚拟代码可以由第1代码和第2代码的结合而生成。第1代码及第2代码分别用于虚拟代码验证手段20搜索实际代码的位置。例如,第1代码可以是虚拟代码验证手段20设置实际代码存储位置搜索的开始地点的代码,第2代码根据特定的搜索方式,可以是设置从所述开始地点到所述存储位置的搜索路径的代码。
所述搜索方式可以根据存储位置搜索算法而决定。关于决定搜索方式的详细说明将在后述的实际代码搜索步骤S1000中详细叙述。
另外,作为另一实施例,当利用M个字符生成N位的所述第1代码或所述第2代码时,所述虚拟代码生成函数包括将相异的MN个代码提供为每单位计数依次变更的第1代码或第2代码的第1函数或第2函数。即,第1函数或第2函数作为随着计数增加而不重叠地生成MN个代码的函数,在与特定的时间点对应的计数,将MN个代码中特定的一个生成为第1代码或第2代码。由此,虚拟代码生成手段10在MN计数(即,与MN个计数对应的时间长度)内,不重复生成相同的第1代码或第2代码,而是每单位计数生成新细部代码(即,第1代码或第2代码),每单位计数生成新虚拟代码。
具体而言,虚拟代码生成函数利用M个字符生成N位的所述第1代码或所述第2代码,因而当将MN个代码用作第1代码或第2代码时,从细部代码生成函数进行驱动的初始时间点起,每计数匹配各个代码。例如,当将单位计数设置为1秒时,从细部代码生成函数最初驱动的时间点起,每秒匹配相异的MN个代码。而且,如果将利用特定的细部代码生成函数的周期或虚拟代码生成装置100的使用周期(例如,生成虚拟卡号的智能卡的有效期)设置为短于与MN计数相应的时间长度(例如,1计数为1秒时,为MN秒)的时间长度,那么,第1代码或第2代码在使用周期期间,不重复生成相同的代码。即,当计数随着时间流逝而增加时,如果使用者在特定时间点,向虚拟代码生成装置100请求生成虚拟代码,则虚拟代码生成装置100可以将与对应于特定时间点的计数匹配的代码值生成为第1代码或第2代码。
另外,作为另一实施例,为了即使在属于相同的组的使用者之间,也不在相同时间点生成相同的虚拟代码,虚拟代码中包含的第1代码或第2代码中至少某一者可以反映各虚拟代码生成手段10在相同时间点始终相异地存在的值(即,装置识别值)而生成。即,当在特定的时间点,属于一个组的多个虚拟代码生成手段10请求发放虚拟代码时,为了各虚拟代码生成手段10生成相异的虚拟代码,反映在各时间点相异地赋予各虚拟代码生成手段10的值,生成相异的第1代码或第2代码。
作为一个示例,装置识别值可以是,在特定的细部代码生成函数所应用的组中,从包含特定的虚拟代码生成手段10的开始时间点(例如,在虚拟代码验证手段20内,从特定的细部代码生成函数进行驱动的最初时间点起,经过特定时间后,所述细部代码生成函数开始应用于特定的虚拟代码生成装置100的时间点)直至现在经过的时间(或计数数)。当一个组内包含多个虚拟代码生成手段10时,如果使将虚拟代码生成手段10设置为属于相应组的计数不相同(即,如果使虚拟代码生成手段10无法在相同时间点登记于相应组),那么,从使虚拟代码生成手段10属于该组的时间点(或计数)直到特定时间点的经过时间,因每个虚拟代码生成装置100而异。例如,当从多个虚拟代码生成手段10同时接收到参加组的请求时(例如,同时接收特定卡公司的特定卡类型的发放请求时),虚拟代码验证手段20可以根据预先确定的条件,对从多个虚拟代码生成手段10同时接收的组参加请求赋予顺序,视为在不同计数接到请求。
例如,当虚拟代码由第1代码和第2代码的结合而生成时,可以使得虚拟代码生成函数以从新生成实际代码的时间点起经过的单位计数为基础,生成第2代码。
因此,细部代码生成函数中至少某一者可以将使虚拟代码生成装置100属于组的时间点(或计数)直到特定时间点的经过时间用作装置识别值,使每个时间点各个虚拟代码生成装置100生成的虚拟代码始终相异。由此,可以使虚拟代码验证手段20不另行接收用于区别使用者的数据,仅通过接收虚拟代码,便能够区别虚拟代码生成手段10。
另外,从特定的虚拟代码生成装置100属于特定的组的时间点起经过的时间长度,随着时间流逝而持续增加,因此,特定的虚拟代码生成装置100生成的细部代码(例如,第2代码)不生成相同的值,而是持续生成不同的值。
另外,作为又一实施例,为了在全体周期中,与使用者无关地均不发生重复的虚拟代码,第1代码可以设置为,从第1函数进行驱动的初始时间点起,在每计数匹配的代码中,与请求生成虚拟代码的时间点(或计数)对应的代码值,第2代码可以设置为反映每虚拟代码生成装置100在相同时间点始终相异地存在的值(即,装置识别值)而生成的代码值,虚拟代码可以用作所述第1代码和第2代码结合的代码值。第1代码为每计数相异的代码值,第2代码在相同时间点具有每虚拟代码生成装置100相异的代码值,使得第1代码和第2代码结合的虚拟代码与虚拟代码生成装置100和时间点无关地输出相异的代码值。
另外,作为另一实施例,所述虚拟代码生成函数包含与排列多个细部代码的规则相应的细部代码结合函数。即,虚拟代码生成函数可以具有对多个细部代码中包含的字符进行罗列或配置的特定规则。因此,就包含相同的虚拟代码生成函数的虚拟代码生成手段10和虚拟代码验证手段20而言,虚拟代码生成手段10可以将多个细部代码中包含的字符按照细部代码结合函数进行排列,虚拟代码验证手段20可以利用相同的细部代码结合函数,从虚拟代码中分离个别细部代码。
另外,作为另一实施例,所述虚拟代码生成函数可以应用按升序罗列M个字符的多个罗列规则中的某一种。即,虚拟代码生成函数可以应用按升序罗列M个字符的多样的罗列规则,可以根据应用的罗列规则,分类为相异的虚拟代码生成函数。
虚拟代码验证手段20以多样的方式接收虚拟代码生成手段10生成的虚拟代码。即,可以应用所述虚拟代码生成装置100的多样的虚拟代码提供方式。
虚拟代码验证手段20提取所述虚拟代码中包含的多个细部代码S400。虚拟代码验证手段20由于包含虚拟代码生成手段10包含的虚拟代码生成函数,因而可以相同地应用曾经结合多个细部代码的规则(即,细部代码结合函数),提取多个细部代码。即,细部代码结合函数与排列多个细部代码的规则相应,因而包含于虚拟代码生成函数内。
另外,作为另一实施例,当虚拟代码包含决定包含虚拟代码生成手段10的组的固定代码时,所述细部代码提取步骤S400在所述虚拟代码内提取所述固定代码,以所述固定代码为基础,判断所述虚拟代码生成手段的组,决定关于所述组的所述虚拟代码生成函数或所述存储位置搜索算法。即,当按各组,相异地应用虚拟代码生成函数或存储位置搜索算法时,虚拟代码验证手段20以虚拟代码内的固定代码为基础,对组进行区分。
另外,利用固定代码来决定虚拟代码生成函数的过程,可以在提取多个细部代码的过程之前执行。只有根据固定代码,决定了虚拟代码生成函数,才能决定虚拟代码生成函数内包含的细部代码结合函数并提取多个细部代码。
为此,为了使虚拟代码验证手段20无需另外的函数便可以容易地分离,固定代码可以结合于虚拟代码内固定的位置(例如,虚拟代码的最前面特定个数的位)。
虚拟代码验证手段20以多个细部代码为基础,搜索实际代码的存储位置S1000(实际代码搜索步骤)。多个细部代码相互间具有相关关系,虚拟代码验证手段20以细部代码间的相关关系为基础,搜索实际代码存储位置。
另外,作为一个实施例,虚拟代码内的多个细部代码,每单位计数生成的代码可以变更(例如,虚拟代码由2个细部代码构成时,第1代码及第2代码每单位计数变更),虚拟代码验证手段20每单位计数,将与实际代码存储位置匹配的地点调节为与变更的第1代码及第2代码相符的位置,以便即使虚拟代码每单位计数变更,也能够搜索实际代码存储位置。
作为关于构成虚拟代码的细部代码间相关关系的一个实施例,当虚拟代码由第1代码与第2代码的结合构成时,虚拟代码验证手段20可以将第1代码设置为搜索开始地点(即,开始实际代码存储位置搜索的地点),将第2代码用作从所述搜索开始地点移动至存储位置的路径,搜索存储位置。即,如果接收了每单位计数正常生成的虚拟代码,则虚拟代码验证手段20从与第1代码对应的开始地点起,将沿着与所述第2代码相应的搜索路径移动的搜索地点判断为实际代码的存储位置或与存储位置匹配的地点(例如,在另外的服务器中与搜索地点匹配的存储空间)。
作为一个实施例,当第2代码全部包含关于从与第1代码相应的搜索开始地点至存储位置的路径的信息时,虚拟代码验证手段20可以从与第1代码相应的搜索开始地点起,沿着与第2代码相应的搜索路径,查找实际代码存储位置或与存储位置匹配的地点。
作为另一实施例,虚拟代码验证手段20可以包括每单位计数调节实际代码的存储位置而使得符合虚拟代码的存储位置搜索算法。即,所述虚拟代码验证手段20包括存储位置搜索算法,所述存储位置搜索算法调节每单位计数指向与实际代码存储位置匹配的地点的搜索路径。所述第1代码及所述第2代码每单位计数变更时,虚拟代码验证手段20可以与变更的第1代码及第2代码相符地调节存储位置搜索算法。所述存储位置搜索算法可以以多样的形态体现。
作为一个实施例,如图7所示,存储位置搜索算法可以是在罗列k(k为MN)个代码的轨道上,k角形顶点对应于各代码配置的地点并滚动移动。此时,所述实际代码搜索步骤S1000包括:虚拟代码验证手段20使k角形滚动移动到与从所述虚拟代码生成手段10接收的所述虚拟代码内第1代码对应的轨道上的地点的步骤S1010;将与所述第1代码对应的位置设置为开始地点,根据应用于所述第2代码的搜索方式,以第2代码为基础,搜索k角形的配置状态下的存储位置或所述存储位置匹配的地点的步骤S1020(存储位置搜索步骤);及提取所述存储位置包含的实际代码的步骤S1030。
虚拟代码验证手段20如图6所示,使k角形滚动移动到与从虚拟代码生成手段10接收的所述虚拟代码内第1代码对应的轨道上的地点S1010。存储位置搜索算法是沿着罗列了与第1代码相应的MN个代码的轨道动移动的k角形(k为MN),k角形的顶点在第1代码轨道上对应于代码配置的地点并进行移动。此时,虚拟代码验证手段20可以对k角形应用滚动移动(或滚动移动),以便使k角形的顶点与对应于第1代码的地点相接。
虚拟代码验证手段20如图6所示,将与所述第1代码对应的位置设置为开始地点,根据应用于所述第2代码的搜索方式,以第2代码为基础,搜索k角形的配置状态下的存储位置或与匹配于存储位置的地点(即,k角形的特定的顶点)S1020(存储位置搜索步骤)。所述存储位置与所述k角形的各个顶点匹配。第1代码轨道(即,第1轨道)与k角形对应的地点成为与第1代码对应的存储位置搜索开始地点。虚拟代码验证手段20在搜索开始地点,以第2代码为基础,搜索存储位置的匹配地点。
作为以第2代码为基础,在k角形中搜索存储位置的方式,可以应用多样的方式。作为一个示例,虚拟代码验证手段20在k角形相接的第1轨道上的位置,提示为与第2代码相应的角度(例如,朝向k角形顶点地将180度分割成MN个的特定角度),因此,作为与虚拟代码对应的实际代码所存储的存储位置,可以搜索k角形的顶点。
另外,作为另一示例,在k角形与第1轨道上对应于第1代码的地点相接的状态下,虚拟代码验证手段20以k角形的中心和第1轨道上的接点为基准,将整个中心角(即,360度)分割成MN个,将各个角度匹配到MN个第2代码。此时,从连接k角形中心与第1轨道上的接点的线起,移动特定个数的单位角度(即,360度/MN)的线的方向成为k角形的特定的顶点。因此,如果接收了与特定的角度对应的第2代码,则虚拟代码验证手段20可以搜索位于相应角度方向的顶点。
另外,作为另一示例,可以将第2代码的特定位,用作决定角度算出方向者。即,当利用N个(N为自然数)字符来生成第2代码时,可以用1个位(Digit)决定角度测量方向。例如,当以k角形的中心与第1轨道上的接点为基准,分割整个中心角(即,360度),对各个角度匹配第2代码时,虚拟代码验证手段20可以用1个位(Digit)的值,决定从连接k角形中心与第1轨道上的接点的线起,是向左侧方向测量的角度还是向右侧方向测量的角度。
作为一个示例,存储位置搜索算法可以针对k角形上的各顶点,沿着角度测量方向,在一个顶点分配2个不同的第2代码。即,可以在一个顶点,在到达内角时或到达外角时,与不同的第2代码匹配,连接不同的实际代码。作为另一示例,存储位置搜索算法利用N个(N为自然数)字符来生成第2代码时,可以利用N-1个对全体角度(例如,以中心角为基准分割时,为360度)的一半进行匹配,利用1个位,决定到达各顶点所需的角度应用方向。
以第2代码为基础在k角形中搜索存储位置的方式不限定于此,可以应用多样的方式,如将与第2代码相应的k角形上的地点和第1轨道上的接点之间除以特定比率而获得的地点搜索为存储位置的方式等。
然后,虚拟代码验证手段20提取所述存储位置中包含的实际代码S1030。即,虚拟代码验证手段20查找与k角形的顶点对应的存储位置,提取存储位置内的实际代码。
另外,如图8所示,作为另一实施例,还包括:如果从特定的虚拟代码生成手段10,请求在特定的计数新生成实际代码,则在所述特定的计数,在与k角形的特定顶点对应的存储位置存储实际代码的步骤S100(实际代码存储步骤)。所述特定的顶点在所述的计数,与轨道上相接。虚拟代码验证手段20驱动虚拟代码生成函数及存储位置搜索算法后,当经过特定的时间点(或计数)时,虚拟代码验证手段20从特定的虚拟代码生成手段10接收新发放实际代码(即,对特定组的包含请求),因而在与k角形接触第1轨道上的顶点匹配的存储位置存储新生成的实际代码。具体而言,在虚拟代码验证手段20中,随着虚拟代码生成函数及存储位置搜索算法进行驱动,使k角形滚动移动,以便每计数一个代码地,k角形与轨道相接的位置进行移动,如果在特定的计数请求发放新实际代码,则在特定的计数,与轨道相接的顶点决定为供实际代码存储的k角形上的地点。
例如,如图6所示,虚拟代码验证手段在A时间点,针对虚拟代码生成手段A发放实际代码,因而在A时间点曾与轨道相接的k角形的顶点,存储虚拟代码生成手段A的实际代码。然后,随着计数的经过,k角形沿着轨道执行滚动移动。借助于k角形的旋转,虚拟代码生成手段A的实际代码存储的存储位置进行旋转。
即,在与轨道相接的k角形的顶点存储实际代码后,与经过n计数相应,k角形进行旋转,实际代码存储的地点也与经过的n计数个数相应地进行旋转。因此,第2代码反映从实际代码发放的计数(即,时间点)起经过的单位计数个数而算出后,虚拟代码验证手段20可以通过第2代码,算出在虚拟代码生成的时间点,实际代码在k角形上存储的地点。
具体而言,当第1代码是在虚拟代码验证手段20内,从特定虚拟代码生成函数及存储位置搜索算法进行驱动的最初时间点起,与经过的计数个数对应的代码值,当第2代码是针对特定的虚拟代码生成手段10发放实际代码后,与经过的计数个数对应的代码值时,虚拟代码验证手段20通过第1代码,掌握虚拟代码生成手段10请求生成虚拟代码的时间点(例如,C时间点),通过第2代码,掌握相应时间点的k角形配置状态下实际代码在k角形上存储的顶点。即,第1代码用于决定轨道上地点,该地点是轨道上使得成为能够搜索k角形特定顶点的k角形配置状态的地点,第2代码用于在k角形配置于与第1代码对应的轨道上地点后,搜索与实际代码存储位置匹配的k角形上的顶点。由此,虚拟代码生成手段10生成虚拟代码后,提供给虚拟代码验证手段20,即使有延迟时间(delay time),虚拟代码验证手段20也可以准确搜索与虚拟代码对应的实际代码。
另外,作为另一实施例,如图9所示,还包括:所述虚拟代码验证手段20应用所述第1函数或第2函数的逆函数,判断所述第1代码或所述第2代码是否属于正常生成的虚拟代码的步骤S500。例如,当第1代码是在虚拟代码验证手段20内,从特定的虚拟代码生成函数及存储位置搜索算法进行驱动的最初时间点起,与经过的计数个数对应的代码值,第2代码是针对特定的虚拟代码生成手段10发放实际代码后,与经过的计数个数对应的代码值时,虚拟代码验证手段20在将实际代码存储于存储位置时,虚拟代码生成函数驱动后,一同存储直至发放实际代码时经过的时间(Ts)。虚拟代码验证手段20针对虚拟代码内的第1代码应用第1函数的逆函数,算出从虚拟代码生成函数驱动时直至虚拟代码生成时间点的经过时间(T1),针对虚拟代码内的第2代码应用第2函数的逆函数,算出从实际代码发放时直至虚拟代码生成时间点的经过时间(T2)。然后,虚拟代码验证手段20判断T1与T2的差异是否与Ts相应,验证虚拟代码。
另外,作为另一实施例,如图10所示,还包括:比较从所述虚拟代码生成手段10接收的第1接收代码与所述虚拟代码验证手段20按照生成的第1函数而生成的第1生成代码的步骤S600;如果所述第1接收代码包含于距离所述第1生成代码的误差允许范围内,则设置为将所述第1接收代码当作所述开始地点的第1代码的步骤S700;及如果所述第1接收代码超出距离所述第1生成代码的误差允许范围,则判断为非正常代码的步骤S800。虚拟代码生成手段10及虚拟代码验证手段20随着时间流逝而经过相同的单位计数。但是,在虚拟代码生成手段10与虚拟代码验证手段20包含的计时器(Timer)之间存在误差,在相同时间点经过的计数个数可能相异。因此,需要用于消除计时器导致的误差和判断并非正常虚拟代码的非正常代码的过程。为此,虚拟代码验证手段20在内部比较根据第1函数而在特定计数生成的作为第1代码的第1生成代码与从虚拟代码生成手段10接收的虚拟代码内的作为第1代码的第1接收代码S600,如果在第1生成代码与第1接收代码之间出现差异的计数个数属于误差允许范围内,则在判断为正常代码后,以第1接收代码为基准,执行实际代码搜索过程S700,如果在第1生成代码与第1接收代码之间出现差异的计数个数超过误差允许范围,则判断为非正常代码S800。
另外,作为另一实施例,还包括:当所述虚拟代码还包括特定的位数的安全代码时,所述虚拟代码验证手段判断从所述虚拟代码生成手段接收的接收安全代码与在所述虚拟代码验证手段内生成的生成安全代码是否一致,对虚拟代码进行验证的步骤。
以上叙述的本发明一个实施例的虚拟代码提供方法为了与作为硬件的计算机结合并实施,可以体现为程序(或应用程序)并存储于介质。
所述程序为了使所述计算机读取程序并实施以程序体现的所述方法,可以包括以所述计算机的处理器(CPU)可以通过所述计算机的设备界面读取的C、C++、JAVA、机器语言等计算机语言进行编码的代码(Code)。这种代码可以包括与定义实施所述方法所需功能的函数等相关的功能性代码(Functional Code),可以包括使所述计算机的处理器按既定步骤运行所述功能所需的运行步骤相关控制代码。另外,这种代码可以还包括关于所述计算机处理器运行所述功能所需的追加信息或媒体应在所述计算机的内部或外部存储器的哪个位置(地址号)参照的存储器参照相关代码。另外,当所述计算机的处理器为了运行所述功能而需要与远程(Remote)的某个其他计算机或服务器等通信时,代码可以还包括关于应利用所述计算机的通信模块而与远程的哪个其他计算机或服务器等如何通信、通信时应发送接收何种信息或媒体等的通信相关代码。
所述进行存储的介质不是诸如寄存器、高速缓冲存储器、存储器等在短瞬间存储数据的介质,而是意味着半永久性存储数据并可被机器读取(reading)的介质。具体而言,作为所述进行存储的介质的示例,有ROM(只读存储器)、RAM(随机存取存储器)、CD-ROM(只读光盘驱动器)、磁带、软盘、光数据存储装置等,但不限于此。即,所述程序可以存储于所述计算机可访问的多样服务器上的多样记录介质或使用者的所述计算机上的多样记录介质。另外,所述介质可分布于通过网络连接的计算机系统,以分布方式存储计算机可读代码。
根据如上所述的本发明,具有如下多样的效果。
第一,每单位计数新生成虚拟代码,在确定的全周期内不出现重复的虚拟代码,因而提供即使虚拟代码泄露时,实际代码也不泄露的效果。
第二,只在虚拟代码生成装置和利用实际代码的装置(例如,金融公司服务器、IOT设备等)中添加用于虚拟代码生成及实际代码搜索的算法即可,因而可以直接保持原来利用实际代码的流程。例如,当生成不重复生成的虚拟卡号并提供给智能卡或应用卡时,POS装置和PG公司服务器可以直接保持,将虚拟卡号传递给卡公司服务器,卡公司服务器搜索与虚拟卡号相应的实际卡号并进行结算。由此,可以使为了提高安全性而需在原有流程内变更的部分实现最小化,使用者无需执行用于提高安全性的另外步骤。
第三,体现虚拟代码生成函数的方式非常多样,可以应用因组、因应用领域而异的虚拟代码生成函数。
以上参照附图,对本发明的实施例进行了说明,但本发明所属技术领域的技术人员可以理解,本发明在不变更其技术思想或必需特征的情况下,可以以其他具体形态实施。因此,以上记述的实施例在所有方面应理解为只是示例性的,而非限制性的。

Claims (15)

1.一种虚拟代码提供方法,包括:
虚拟代码接收步骤,虚拟代码验证手段从虚拟代码生成手段接收虚拟代码,且所述虚拟代码是根据特定规则,结合多个细部代码而生成;
所述虚拟代码验证手段提取所述虚拟代码中包含的多个细部代码的步骤;及
实际代码搜索步骤,所述虚拟代码验证手段以多个细部代码为基础,搜索实际代码的存储位置;
所述虚拟代码验证手段和所述虚拟代码生成手段包含相同的虚拟代码生成函数,
所述细部代码包括:
第1代码,其设置存储位置搜索的开始地点;及
第2代码,其根据特定的搜索方式,设置从所述开始地点到所述存储位置的搜索路径;
所述第1代码及所述第2代码每单位计数变更;
所述虚拟代码验证手段的特征在于:
包括存储位置搜索算法,所述存储位置搜索算法调节实际代码的存储位置,以便符合每单位计数生成的所述第1代码及所述第2代码;
如果接收了每单位计数正常生成的虚拟代码,则从与所述第1代码对应的所述开始地点起,将按照与所述第2代码相应的搜索路径移动的地点算出为所述存储位置;
所述单位计数按特定时间间隔设置,并随着所述时间间隔的经过而变更。
2.根据权利要求1所述的虚拟代码提供方法,其特征在于,
所述虚拟代码生成函数在以M个字符生成N位的所述第1代码或所述第2代码时,其中M和N为自然数,
包括将相异的MN个代码提供为每单位计数依次变更的第1代码或第2代码的第1函数或第2函数。
3.根据权利要求2所述的虚拟代码提供方法,其特征在于,
所述第2代码从新生成关于所述虚拟代码生成手段的所述实际代码的时间点起,以经过的单位计数为基础生成。
4.根据权利要求1所述的虚拟代码提供方法,其特征在于,
当所述存储位置搜索算法是k角形在k个代码罗列的轨道上,顶点对应于各代码配置的地点并进行滚动移动时,其中k为MN
所述实际代码搜索步骤包括:
使k角形滚动移动到与从所述虚拟代码生成手段接收的所述虚拟代码内第1代码对应的轨道上的地点的步骤;
存储位置搜索步骤,将与所述第1代码对应的位置设置为搜索开始地点,根据应用于所述第2代码的搜索方式,以第2代码为基础搜索k角形的配置状态下的存储位置,且所述存储位置与所述k角形的各个顶点匹配;及
提取所述存储位置包含的实际代码的步骤。
5.根据权利要求4所述的虚拟代码提供方法,其特征在于,还包括:
实际代码存储步骤,如果从特定的虚拟代码生成手段,请求在特定的计数新生成实际代码,则在所述特定的计数,在与k角形的特定的顶点对应的存储位置存储实际代码,且所述特定的顶点在所述特定的计数,在轨道上相接。
6.根据权利要求1所述的虚拟代码提供方法,其特征在于,
所述虚拟代码生成函数包括与排列多个细部代码的规则相应的细部代码结合函数。
7.根据权利要求6所述的虚拟代码提供方法,其特征在于,
所述细部代码生成函数应用了按升序排列M个字符的特定的罗列规则,
所述字符包括大写罗马字母、小写罗马字母、数字及特殊字符中至少一者。
8.根据权利要求1所述的虚拟代码提供方法,其特征在于,
所述虚拟代码还包括判断包含所述虚拟代码生成手段的组的固定代码,
所述细部代码提取步骤在所述虚拟代码内提取所述固定代码,
以所述固定代码为基础,判断所述虚拟代码生成手段的组,决定关于所述组的所述虚拟代码生成函数或所述存储位置搜索算法。
9.根据权利要求1所述的虚拟代码提供方法,其特征在于,
所述虚拟代码还包括特定的位数的安全代码,
还包括:所述虚拟代码验证手段判断从所述虚拟代码生成手段接收的接收安全代码与所述虚拟代码验证手段内生成的生成安全代码是否一致,验证虚拟代码的步骤。
10.根据权利要求9所述的虚拟代码提供方法,其特征在于,
所述安全代码是将虚拟代码生成手段的固有识别值及生成时间数据当作函数值而生成,
所述虚拟代码验证手段在生成关于虚拟代码生成手段的实际代码时,接收所述固有识别值并存储。
11.根据权利要求1所述的虚拟代码提供方法,其特征在于,还包括:
所述虚拟代码验证手段应用所述第1函数或第2函数的逆函数,验证所述第1代码或所述第2代码是否属于正常生成的虚拟代码的步骤。
12.根据权利要求1所述的虚拟代码提供方法,其特征在于,还包括:
比较从所述虚拟代码生成手段接收的第1接收代码与根据所述虚拟代码验证手段生成的第1函数而生成的第1生成代码的步骤;
所述第1接收代码如果包含于距离所述第1生成代码的误差允许范围内,则设置为将所述第1接收代码当作所述开始地点的第1代码的步骤;及
所述第1接收代码如果超出距离所述第1生成代码的误差允许范围,则判断为非正常代码的步骤。
13.一种虚拟代码提供程序,其特征在于,该虚拟代码提供程序用于与作为硬件的计算机结合并且为了使权利要求1~12中某一项方法运行而存储于介质。
14.一种虚拟代码生成装置,包括:
细部代码生成部,其生成一个以上的细部代码;
虚拟代码生成部,其组合所述一个以上的细部代码而生成为虚拟代码;及
虚拟代码提供部,其为了将所述虚拟代码提供给虚拟代码验证装置而输出到外部;
所述虚拟代码是将多个细部代码按照特定的规则结合而生成,
所述细部代码包括:
第1代码,其设置所述虚拟代码验证装置中存储位置的搜索开始地点;及
第2代码,其按照特定的搜索方式,设置虚拟代码验证装置中从所述开始地点至所述存储位置的搜索路径;
所述第1代码及所述第2代码每单位计数变更;
所述虚拟代码验证装置的特征在于:
包括存储位置搜索算法,所述存储位置搜索算法调节实际代码的存储位置,以便符合每单位计数生成的所述第1代码及所述第2代码;
如果接收了每单位计数正常生成的虚拟代码,则从与所述第1代码对应的所述搜索开始地点起,将按照与所述第2代码相应的搜索路径移动的地点算出为所述存储位置;
所述单位计数按特定时间间隔设置,并随着所述时间间隔的经过而变更。
15.一种虚拟代码验证装置,所述虚拟代码验证装置以虚拟代码为基础,搜索实际代码,包括:
接收部,其从虚拟代码生成装置接收虚拟代码;
细部代码提取部,其提取所述虚拟代码中包含的多个细部代码;及
实际代码搜索部,其以多个细部代码为基础,搜索实际代码的存储位置;
所述虚拟代码验证装置和所述虚拟代码生成装置包含相同的虚拟代码生成函数,
所述虚拟代码是将多个细部代码按照特定的规则结合而生成,
所述细部代码包括:
第1代码,其设置实际代码搜索部中存储位置搜索的搜索开始地点;及
第2代码,其根据特定的搜索方式,设置实际代码搜索部中从所述开始地点到所述存储位置的搜索路径;
所述实际代码搜索部的特征在于,
包括存储位置搜索算法,所述存储位置搜索算法调节实际代码的存储位置,以便符合所述虚拟代码生成装置每单位计数变更并提供的所述第1代码及所述第2代码;
如果接收了每单位计数正常生成的虚拟代码,则从与所述第1代码对应的所述搜索开始地点起,将按照与所述第2代码相应的搜索路径移动的地点算出为所述存储位置;
所述单位计数按特定时间间隔设置,并随着所述时间间隔的经过而变更。
CN201710805548.7A 2017-08-09 2017-09-08 虚拟代码提供系统、生成装置、验证装置、提供方法 Active CN109389395B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210569661.0A CN114819951A (zh) 2017-08-09 2017-09-08 虚拟代码提供系统、生成装置、验证装置、提供方法及提供程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0100952 2017-08-09
KR1020170100952A KR101950913B1 (ko) 2017-08-09 2017-08-09 가상코드제공시스템, 가상코드생성장치, 가상코드검증장치, 가상코드제공방법 및 가상코드제공프로그램

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210569661.0A Division CN114819951A (zh) 2017-08-09 2017-09-08 虚拟代码提供系统、生成装置、验证装置、提供方法及提供程序

Publications (2)

Publication Number Publication Date
CN109389395A true CN109389395A (zh) 2019-02-26
CN109389395B CN109389395B (zh) 2022-06-21

Family

ID=61131936

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710805548.7A Active CN109389395B (zh) 2017-08-09 2017-09-08 虚拟代码提供系统、生成装置、验证装置、提供方法
CN202210569661.0A Pending CN114819951A (zh) 2017-08-09 2017-09-08 虚拟代码提供系统、生成装置、验证装置、提供方法及提供程序

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210569661.0A Pending CN114819951A (zh) 2017-08-09 2017-09-08 虚拟代码提供系统、生成装置、验证装置、提供方法及提供程序

Country Status (7)

Country Link
US (3) US10754942B2 (zh)
EP (3) EP3441900B1 (zh)
JP (3) JP6469796B1 (zh)
KR (1) KR101950913B1 (zh)
CN (2) CN109389395B (zh)
SG (2) SG10201709085WA (zh)
WO (1) WO2019031627A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113966591A (zh) * 2020-02-24 2022-01-21 森斯通株式会社 利用虚拟代码的使用者设定信息认证方法、程序以及装置
CN114503511A (zh) * 2019-08-30 2022-05-13 森斯通株式会社 利用认证用虚拟代码的用户认证方法及用于该方法的系统

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019031627A1 (ko) * 2017-08-09 2019-02-14 주식회사 센스톤 가상코드제공시스템, 가상코드생성장치, 가상코드검증장치, 가상코드제공방법 및 가상코드제공프로그램
KR102005554B1 (ko) * 2018-08-09 2019-07-30 주식회사 센스톤 공카드를 이용한 금융거래제공방법 및 시스템
KR102243532B1 (ko) * 2019-02-08 2021-04-22 주식회사 센스톤 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법, 프로그램 및 장치
US11138488B2 (en) * 2019-06-26 2021-10-05 Bank Of America Corporation Organic light emitting diode (“OLED”) single-use payment instrument
EP3907683B1 (en) * 2020-02-24 2024-01-03 SSenStone Inc. Method and program for authentication between apparatuses based on virtual authentication code
JP7297107B2 (ja) * 2020-02-24 2023-06-23 センストーン インコーポレイテッド 仮想コードを用いたユーザ設定情報認証方法、プログラム及び装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101573723A (zh) * 2006-11-16 2009-11-04 第一网络Ueps科技公司 安全金融交易
CN105009140A (zh) * 2012-12-24 2015-10-28 罗文有限公司 密码管理方法和装置
WO2016064127A1 (ko) * 2014-10-25 2016-04-28 홍승은 모바일 교차 인증 시스템 및 방법
CN106664200A (zh) * 2014-05-30 2017-05-10 良好科技控股有限公司 经由计算设备控制对资源的访问

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0778184A (ja) * 1993-06-24 1995-03-20 Kanebo Ltd データ検索方法
JP2000214944A (ja) 1999-01-26 2000-08-04 Toshiba Corp コンピュ―タシステム及びそのパスワ―ド管理方法
JP2000322486A (ja) * 1999-02-12 2000-11-24 Citibank Na 銀行カード取引きを履行するための方法およびシステム
CN1142653C (zh) 2000-04-28 2004-03-17 杨宏伟 动态口令认证系统及方法
DE60207980T2 (de) * 2002-03-25 2006-08-10 Tds Todos Data System Ab System und Verfahren zur Benutzerauthentifizierung in einem digitalen Kommunikationssystem
JP2006195837A (ja) * 2005-01-14 2006-07-27 Ntt Business Information Service Inc 電子商取引仲介システム及び電子商取引システム
US8762263B2 (en) * 2005-09-06 2014-06-24 Visa U.S.A. Inc. System and method for secured account numbers in proximity devices
JP3996939B2 (ja) 2006-03-30 2007-10-24 株式会社シー・エス・イー オフラインユーザ認証システム、その方法、およびそのプログラム
US7848980B2 (en) * 2006-12-26 2010-12-07 Visa U.S.A. Inc. Mobile payment system and method using alias
US7841539B2 (en) * 2007-02-15 2010-11-30 Alfred Hewton Smart card with random temporary account number generation
JP5147258B2 (ja) * 2007-02-21 2013-02-20 株式会社野村総合研究所 決済システムおよび決済方法
US8494959B2 (en) 2007-08-17 2013-07-23 Emc Corporation Payment card with dynamic account number
JP4973997B2 (ja) * 2007-08-23 2012-07-11 日本電気株式会社 ソースコード検証処理時間計算装置及び方法
CA2711936A1 (en) * 2008-01-15 2009-07-23 Matthew Mullen System and method for data completion including push identifier
JP5224481B2 (ja) 2008-07-10 2013-07-03 独立行政法人産業技術総合研究所 パスワード認証方法
WO2010126509A2 (en) * 2009-04-30 2010-11-04 Donald Michael Cardina Systems and methods for randomized mobile payment
EP2296311A1 (en) 2009-09-10 2011-03-16 Gemalto SA Method for ciphering messages exchanged between two entities
JP5400097B2 (ja) * 2011-06-30 2014-01-29 楽天株式会社 クレジットカード情報処理システム、クレジットカード情報処理方法、注文情報受付装置、クレジットカード決済装置、プログラム及び情報記録媒体
US20140040139A1 (en) * 2011-12-19 2014-02-06 Sequent Software, Inc. System and method for dynamic temporary payment authorization in a portable communication device
WO2013155627A1 (en) * 2012-04-16 2013-10-24 Salt Technology Inc. Systems and methods for facilitating a transaction using a virtual card on a mobile device
CN102984127B (zh) 2012-11-05 2015-06-03 武汉大学 一种以用户为中心的移动互联网身份管理及认证方法
KR20140060849A (ko) * 2012-11-12 2014-05-21 주식회사 케이티 카드 결제 시스템 및 방법
KR101316466B1 (ko) 2012-11-20 2013-10-08 신한카드 주식회사 다이나믹 트랙 2 정보를 이용한 모바일 결제 시스템 및 방법
KR101354388B1 (ko) * 2012-12-12 2014-01-23 신한카드 주식회사 일회성 카드번호 생성방법
KR101499535B1 (ko) * 2013-05-29 2015-03-06 주식회사 엘지씨엔에스 컴퓨터 실행 가능한 하이브리드 어플리케이션 수행 방법, 이를 수행하는 컴퓨터 실행 장치 및 이를 저장한 기록 매체
KR20150020927A (ko) * 2013-08-19 2015-02-27 김창훈 이동통신단말기를 이용한 카드 결제 시스템 및 방법
US9652770B1 (en) * 2014-04-30 2017-05-16 Wells Fargo Bank, N.A. Mobile wallet using tokenized card systems and methods
KR101670543B1 (ko) * 2014-07-08 2016-10-28 이도훈 순차 지문 입력을 이용하는 pos 시스템 및 그 구동 방법
US20160027000A1 (en) * 2014-07-23 2016-01-28 Bank Of America Corporation Mobile one-time bank card number generator for digital wallet
KR101621254B1 (ko) * 2014-08-27 2016-05-31 유한회사 실릭스 오티피 기반의 가상 번호 결제 방법, 컴퓨터 판독가능한 기록매체 및 시스템
KR102334894B1 (ko) 2014-12-24 2021-12-03 십일번가 주식회사 웹 기반 인증 결제 장치, 웹 기반 인증 결제 방법, 웹 기반 인증 결제 시스템 및 컴퓨터 프로그램이 기록된 기록매체
US11042850B2 (en) * 2014-12-31 2021-06-22 Fiserv, Inc. Card account identifiers associated with conditions for temporary use
DE102015202935A1 (de) * 2015-02-18 2016-08-18 Robert Bosch Gmbh Verfahren zum Manipulationsschutz
WO2017111271A1 (en) * 2015-12-23 2017-06-29 Lg Electronics Inc. Mobile device and operating method hereof
CN105933119B (zh) 2015-12-24 2019-01-29 中国银联股份有限公司 一种认证方法及设备
KR101618692B1 (ko) 2016-01-06 2016-05-09 주식회사 센스톤 보안성이 강화된 사용자 인증방법
WO2019031627A1 (ko) * 2017-08-09 2019-02-14 주식회사 센스톤 가상코드제공시스템, 가상코드생성장치, 가상코드검증장치, 가상코드제공방법 및 가상코드제공프로그램

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101573723A (zh) * 2006-11-16 2009-11-04 第一网络Ueps科技公司 安全金融交易
CN105009140A (zh) * 2012-12-24 2015-10-28 罗文有限公司 密码管理方法和装置
CN106664200A (zh) * 2014-05-30 2017-05-10 良好科技控股有限公司 经由计算设备控制对资源的访问
WO2016064127A1 (ko) * 2014-10-25 2016-04-28 홍승은 모바일 교차 인증 시스템 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114503511A (zh) * 2019-08-30 2022-05-13 森斯通株式会社 利用认证用虚拟代码的用户认证方法及用于该方法的系统
CN113966591A (zh) * 2020-02-24 2022-01-21 森斯通株式会社 利用虚拟代码的使用者设定信息认证方法、程序以及装置
CN113966591B (zh) * 2020-02-24 2023-09-19 森斯通株式会社 利用虚拟代码的使用者设定信息认证方法、记录介质以及装置

Also Published As

Publication number Publication date
JP6469796B1 (ja) 2019-02-13
KR20190016698A (ko) 2019-02-19
EP3929778B1 (en) 2023-03-22
US20220261474A1 (en) 2022-08-18
US20190050556A1 (en) 2019-02-14
WO2019031627A1 (ko) 2019-02-14
CN109389395B (zh) 2022-06-21
SG10201806382WA (en) 2019-03-28
EP3441900B1 (en) 2020-07-29
EP3929778A1 (en) 2021-12-29
EP3441900A1 (en) 2019-02-13
EP3680793B1 (en) 2021-11-17
CN114819951A (zh) 2022-07-29
JP7236369B2 (ja) 2023-03-09
KR101950913B1 (ko) 2019-02-21
US20200342090A1 (en) 2020-10-29
JP2019032501A (ja) 2019-02-28
EP3680793A1 (en) 2020-07-15
US11354401B2 (en) 2022-06-07
JP6612997B2 (ja) 2019-11-27
SG10201709085WA (en) 2019-03-28
JP2020035473A (ja) 2020-03-05
US20230185897A1 (en) 2023-06-15
JP2019082712A (ja) 2019-05-30
US10754942B2 (en) 2020-08-25
US11609983B2 (en) 2023-03-21

Similar Documents

Publication Publication Date Title
CN109389395A (zh) 虚拟代码提供系统、生成装置、验证装置、提供方法及提供程序
US20210157931A1 (en) Method, device and system for verifying virtual code based on sphere
KR20190016888A (ko) 가상토큰 기반의 결제제공시스템, 가상토큰생성장치, 가상토큰검증서버, 가상토큰 기반의 결제제공방법 및 가상토큰 기반의 결제제공프로그램
CN110827020B (zh) 利用空卡的金融交易提供方法及系统
KR20190018463A (ko) 가상코드제공시스템, 가상코드생성장치, 가상코드검증장치, 가상코드제공방법 및 가상코드제공프로그램
EP3828799A1 (en) User authentication method and system using virtual authentication code
US10003589B2 (en) Authentication and/or identification method in a communication network
CN103427993B (zh) 用于近场通信的认证的系统和方法
KR20190089818A (ko) 가상토큰 기반의 결제제공시스템, 가상토큰생성장치, 가상토큰검증서버, 가상토큰 기반의 결제제공방법 및 가상토큰 기반의 결제제공프로그램
CN105631662A (zh) Nfc支付方法、nfc支付系统和移动终端
CN110348471A (zh) 异常对象识别方法、装置、介质及电子设备
EP4113412A1 (en) Device and method for virtual authorization code-based process authorization
US11960595B2 (en) System, method, and program for providing virtual code, virtual code generating device, and virtual code verifying device
EP3968253B1 (en) Method, program, and device for authenticating user setting information by using virtual code
US20220108040A1 (en) Method, program, and device for authenticating user setting information by using virtual code
US11836708B2 (en) Apparatus, method and program for providing financial transaction by virtual card number
EP4024241A2 (en) User authentication method using virtual code for authentication, and system therefor
CN108183794A (zh) 一种基于光信息的认证方法
CN109960744A (zh) 基于大数据的音乐存储与提取系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant