使用随机码的通信方法和设备的制作方法

文档序号:7638083阅读:322来源:国知局

专利名称::使用随机码的通信方法和设备的制作方法
技术领域
:本发明涉及一种在通信中使用了随机码的通信方法和设备。其中举例来说,通信可以是金融交易或其它任何可信通信的一部分。
背景技术
:随机码当然也可以在常规计算机上产生,并且将它的两个拷贝存入CD之类的存储介质。但是,这种方法存在很多问题.-如果有人在计算机上运行可以"执行间谍操作"并且将列表的第三个拷贝传送到第三方的非法程序,那么计算机将会遭受"黑客攻击",并且这两个列表拷贝有可能会泄密。所述第三方可以不为两个"正当"用户获悉的情况下解码任何一个安全编码的文档或文件,此外还可以使用列表中的金钱编码部分来支付款项。在生成了CD之类的记录媒体之后,该记录媒体可以在不留有任何读取痕迹的情况下被读取。由此,如果通过以物理方式获取CD(偷窃)来制作拷贝,那么将会允许如上概述的不当存取如果CD被从失窃地点更换,那么合法用户是无法获悉的。
发明内容本发明的第一方面提供的是一种通信方法,其中包括将随机码存储在第一设备中;将随机码存储在第二设备中;以及在后续通信中使用该随机码。本发明还提供了一种设备,其中该设备包括.*用于存储随机码的存储器;以及在后续通信中使用该随机码的处理器。该随机码既可以在后续通信中传送,也可以在后续通信中被用作编码密钥。例如,后续通信可以包括金融交易中的一部分。换言之,该随机码既可以用作密钥来签署带有数字签名的付费指令,也可以用作"虚拟现金",在这种情况下,所述码自身会在各方之间传送。本发明的另一个应用是借助"一次性支付"安全技术来传送可信信息,并且这其中是借助简单的数字运算以及使用随机数列表来对符号的字符码执行编码的。具备相同列表的接收机可以翻转所述编码,由此恢复文档。其中举例来说,如果初始码可以在常见的ASCII计算机码中得到,并且该列表中的每个随机数都具有一个字节,那么在这种情况下,要想将其表示为数字0255,编码处理可以是以256为模的8比特ASCII码的加法以及8比特的无符号随机数,而翻转操作则是以256为模的减法。明确匹配随机的8比特无符号数字(字节)的列表可以被解释成是用于安全通信的单个字节,或是用于金融、验证或交易核对目的的更长序列(通常是16字节)。如下所述的本发明的不同实施例给出了用以克服这些问题的不同安全措施,并且现在将会参考附图来对其进行描述,其中图1显示的是一对设备;图2详细显示了其中一个设备;图3是从左手侧得到的其中一个设备的示意图;图4是从右手侧得到的其中一个设备的示意图;图5是在通过贯穿设备得到的示意性截面图;图6显示的是PCB、芯片和安全板条;图7是通过贯穿备选设备得到的示意性截面图;图8显示的是在"一次性填充"安全通信中使用设备;图9显示的是在金融交易中使用设备;以及图IO显示在码生成过程中的设备的备选布置。具体实施例方式关于本发明优选实施例的描述图1显示的是经由编码链路3而与第二设备2相连的第一设备1。图2示意性描述了第一设备1的功能组件。而第二设备2则是相同的。设备硬件参考图2,设备1具有诸如FLASH存储器之类的非易失存储器10,以及一个或多个微处理器或微控制器ll。编码链路3是通过将第一设备1的编码端口12与第二设备2的编码端口13连接在一起而被建立的。编码端口12、13都具有一个公母连接器,例如半公插头和半母插座,由此每一个设备都可以插入另一个设备。该设备还具有与微处理器H耦合的USB或类似端口14,可充电电池组15以及电源电路16。电阻器17(或是放射源之类的其它噪声生成设备)产生噪声信号,该信号被馈送到放大器18和比较器19,所述放大器和比较器则产生一个馈送到微处理器11的数字比特流。滤波器20确保到达比较器的噪声信号带宽的变化相对于计时输出的比特流而言更为频繁而且时钟定时锁存的操作将会很快。此外,USB端口14还与微处理器11相连,并且从USB端口14获取的电能经由电源电路16而被馈送到可充电电池15。在将USB端口14与有效USB端口相连的任何时间,操作均来源于USB电源,并且电池15将被充电。码表生成为了产生码表,设备l、2将会借助公母编码端口12、13插在一起,并且电能是来自可充电电池的。经由编码端口的连接将被识别,并且这两个设备将会进入相互通信的时段,从而确定哪些过程是得到许可的。由此,在将两个设备连接在一起以及随后执行如下所述的验证阶段的时候,如果所产生的是许可状态,那么这两个设备可以开始配对产生码表。对微处理器11来说,它会依照所具有的是并行接口还是串行接口而通过以下两种备选方法之一与存储器10相连。对并行接口来说,微处理器11将会产生地址总线和数据总线,其中地址总线是用以选择存储器中的哪个字或字节将被存取的存储器10的输入,而数据总线宽度则可以是8比特(字节)或16比特(字节)。数据总线可用于向将被写入的存储器提供数据字节或数据字,此外它也可以接收先前建立总线以及操作读取和输出控制线路而存储的字节或字,其中所述读取和输出控制线路同样是由微处理器驱动的。对串行接口、例如SPI标准或I2C标准来说,数据是使用时钟串行发送的。在SPI中,每个存储器设备都需要微处理器11为其产生"芯片使能"信号,由此,如果几个存储器设备共享总线连接,那么一次只有一个设备启用和有效。在I2C中,设备地址是通过在其地址管脚上选择逻辑高和低(由此单个设备将会"知道"其地址)来设置的,并且用以设置有效设备的地址选择处理借助的是在串行接口上发送的地址选择编码。当存储器10是FLASH存储器设备时,上述两种方法都是适用的。此外,该方案还具有很多其它的细节方面的变化,以及很多其它的非易失存储器类型。在所有这些内容中,物理设备被认为是存储器"映射"的一部分,在该映射中存在一个有效地址范围(如果存储器编址不邻接,则是多个范围),该范围是在微处理器ll中编码的,此外这个范围也可以通过在存储器范围中执行试验性的写入处理和读取处理来发现。优选地,成对的每个设备具有多个存储器,但是不必然具有相同数量的存储器。当前设备的存储器尺寸可以大多几个千兆字节,未来的设备可以提供更大的尺寸。将会使用几十个千字节(远远小于最小的目前的存储设备)。每个微处理器11都保存了一个或多个存储器指针。当设备有效时,这些存储器指针是寄存器中保持的值,在断电时,这些存储器指针则保存在非易失存储器10中。一般来说,设备可以通过保留存储器10的顶端来保存存储器指针。设想这样一种情形,其中设备是全新设备并且尚未生成安全码。由此,每个设备的所有存储器空间(或是达到较小容量的设备的限度)都有必要写入。在操作中,通过在经由编码链路3的通信中实施"握手"操作,可以确定这两个设备都准备开始执行处理,并且这个操作会将这两个设备中的存储器指针设置成指向存储器10的底部。现在,每个设备都会将其噪声生成器17和比较器19设置为运行状态,并且会将这个比特流时钟定时在寄存器中,以便产生写入存储器10的字节或字。如果有必要写入相同的码的拷贝,则意味着需要以某种方式组合这些比特流,这样一来,这两个设备会在特定地址位置具有相同的拷贝。目前有很多方式可以用以实现该目的这种组合不但可以处于字节或字的等级,而且还可以处于块中,如果每一个设备都包含了一种图案或算法,那么该组合还可以跨越整个地址空间。原则上,由于只涉及两个设备,并且不具有与外界相连的连接或是在设备内部运行的允许产生第三个拷贝的其它处理,因此,如果由某一个对其操作负责的人来严格监视并控制码生成操作,那么该处理是完全安全的。通过提供良好的"电磁"屏蔽,可以使来自设备操作的寄生电磁辐射足够低,由此很难或者根本无法执行无接触的"窃听"。编码安全性措施身份检查每个设备都具有自身作为微处理器11中的程序或校准码的一部分的唯一标识码,此外还具有某些其它用以规定许可操作的码。在最安全的实施例中,设备是配对制造的,由此它们将会在微处理器11中携带"硬编码"(最安全的是在制造设备时使用不可逆的"一次性"校准写序列)以及与之配对的设备的身份。这样做能使设备相互检査身份,如果不匹配,那么每一个微处理器中的程序将会关闭其它操作。该身份检查过程可以采用安全方式进行举例来说,所述码可以具有一个"公共"部分,并且该部分是一个非常大的数字,它可以由设备随意显示、以便标识其自身。此外,其它的一个或多个隐藏码也是可以存在的,并且设备可以对其进行比较,由此轮流交换逐个比特,并且可以将接收比特与预期拷贝相比较。如果其在任何交换中均未接收到预期比特,那么这些设备将会停机并且不再显示任何内容(例如在揭示过多代码之前执行一个使之确定应该停机的很高统计等级的过程)。只有在将所述配对的两半带到一起的环境下,全部的码才会交换。其它的过程同样也是可行的。物理安全特征尽管如此,由于人类干预所导致的安全性损害始终是可能发生的。在一个等级中,可以存取设备l、2之一内部的人始终可以在物理上移除存储器10,并且可以在其它预防措施(在下文中描述)均未生效的情况下读取存储器10。由此,在物理级别,每个设备l、2都具有一个显式篡改部件(例如高安全性箔带),并且这些设备将会采用如下方式而被制造成是篡改验证的(例如借助物理连接)。图3和4是从其中一个设备1的左手和右手侧获取的示意图。该设备包括在一个在上半部分21和下半部分22中形成的外壳。在图3中示意性显示了插头35和插座35(这二者共同构成了公母编码端口12),在图4中则显示了USB端口14。外壳的两半是用注塑塑料或是高精度金属铸件制成的。如果发生断裂,那么这种外壳实际上是无法在不被发觉的情况下重新制造的。由此,要想达到很高的安全性,显而易见的做法是观察是否以物理损坏外壳的方式进行了存取。外壳的两半由螺丝或夹具(未显示)保持在一起,由此可以通过存取设备内部来进行修理或维护。在外壳左手和右手侧的外壳两半之间的接头上绑有高安全性的磁带条23(举例来说,该磁带条可以包含用全息图案压纹的金属化塑料膜片)。该条带是使用粘合剂粘附的,这样则需要将所述磁带条撕开,而不是使之无法粘附到主体。结合撕裂的必要性和图案唯一性,他人几乎无法在不被察觉的情况下破坏条带23。这里的一个备选或附加特征是添加某种电子特性活跃的装置。举例来说,在这里较为简单的是引入那些用以检测外壳是否开启的开关或传感器(物理、光学或磁性)。图5是通过贯穿设备得到的示意性截面图,如图所示,印刷电路板(PCB)24带有传感器25(在图2中同样显示了该传感器),该传感器将会检测设备何时开启,并且将会促使微处理器11设置一个可以稍后将所述开启情形告知用户以及可以可选地销毁或扰乱码或指针的标记。现代的电子设备封装技术自身愈发地为尝试使用的人们造成了相当大的难度。技术人员甚至可以移除传统的小外形封装。但是,球栅阵列(BallGridArmy)设备需要非常专业的设备,事实上,某些封装类型甚至是专家也无法移除的。在极端情况下,设备可以通过使用金连接线而被焊接到芯片级印刷电路板或基底。由此,在图5的优选实施例中,微处理器11(以及可选的是图2的其它电子元件)是用球栅阵列技术或是在焊接到PCB24的芯片级26上使用金线(未显示)实现的。对最终得到并且有可能最为有用的安全部件来说,该部件使得外壳上半部分21(以及可选地制造下半部分22)的外壳在透光塑料外部,此外,该部件也可以是用在芯片26上具有相同位置的窗口制成的。如图5和6所示,具有安全图案的箔条27粘贴在PCB24和芯片26上的恰当位置。由此,通过对条带27实施无法挽回的损坏所导致的物理损害将是显而易见的。映射在这里还有一种可能,那就是某些人可以构造一个中间的公母连接器,并且由此在生成代码的时候读取所述代码。就这种可能性而言,通过采用经由编码链路3拷贝比特流的手段,可以提供与之对抗的高度安全性。很明显,在任何一个方向,需要经过编码链路3的都只是一半的安全代码。在最简单的形式中,设备1可以产生用于偶数地址的字节,设备2则可以产生用于奇数地址的字节。但是,对该处理来说,由于这些字节是以已知顺序出现的,并且由此获取所有代码的第三拷贝是非常简单的,因此,这种处理提供的安全性将会很低或者完全没有安全性。但是,如果设备l、2是配对或配套制造的,那么它们可以具有保存在内部的映射(该映射可以是数字表、编码算法或是其组合),当在存储器中的随机化位置放置产生并经由接口传送的随机码时,这种映射将会有效,其中该随机化处理是所述配对或集合共有的,但是在所述配对和配套之间则存在差别。由于每个字节或字都被写入到有效存储器指针规定的地址,因此,该处理可以被视为是存储器指针随机化处理。该处理意味着经由编码链路3传送的数字与将要从存储器中读出的码表几乎毫无关联,但这两个码表却是相同的。在下文中给出的是该处理的一个处理实例。表1显示的是由每个设备保持的映射。表1<table>tableseeoriginaldocumentpage11</column></row><table>由此,设备A与设备B之间的数据流将会如下从A到B的数据流D!ab,D2AB,D3AB,......,D从B到A的数据流D,ba,D2BA,D3BA,......,D]其中DiAB是从设备A传送到设备B的第i个数据比特,并且DiBA是从设备B传送到设备A的第i个数据比特。由此,第一个数据字节是从D,b,D2AB,D3AB,D4AB(其中包括第一数据字节的偶数比特2、4、6、8)以及D,ba,D2BA,D3BA,D4BA(其中包括第一数据字节的奇数比特)中构建的。当在每个设备中构建了第一数据字节之后。该数据字节将被写入存储器位置Pt。然后,该处理将会通过使用存储器位置P2、P3等等而为第二、第三字节等等重复执行。可以看出的是,寄存器值是稳定递增的,但是存储每一个后续随机码的位置相互之间则会因为地址随机化处理而关联较少或者没有关联。码表改写在每个块结束时,两个处理器可以产生并且交换校验和数据。该校验和可以被构造成确保在所述码表相同方面具有很高的统计确定性,但却不会揭示任何关于所述表自身的统计有效性的信息。如上所述,在两个或多个设备中存储了两个或多个相同码表。一旦将其从对方中拔出,那么这些设备可被带到不同位置,并且可以采用如下方式使用。在所有不同的使用类型中,操作的基本模式是相同的,这些模式固有的是在本部分中论述的另一个"码表改写"安全性特征。如上所述,微处理器11操作并存储一个或多个存储器指针。其中所述多个存储器指针的用途稍后将被描述,并且由此可以依照单个存储器指针来描述通常情况。紧接在编码操作之后,对配对设备中的两个设备或是配套设备中的全部设备来说,所有这些设备中的指针都会在存储器映射中被设置成一个公共指针。假设由于在存储器中持续向上递增而用尽了这些码,那么在通常情况下,所使用的第一个码是驻留在存储器底部的,由此这个公共指针仅仅是存储器中的最低地址,例如00000000H(用十六进制记数)。下文描述的相同原理同样可以采用等价方式应用于不同的存储器编址方案。由此,在编码操作末端,存储器指针将会指向将要使用的下一个随机码。该存储器指针被认为是公共信息,并且并未对其采取安全措施。由此,如果某个设备现在经由USB电缆与计算机相连,那么在设置了该存储器指针的任何一个方向都有可能存在开放式交换,在很多情况下,运行在计算机中的程序可以改变该存储器指针的值,以便指向其它位置。但是,这里的一个系统规则是只要存在要求释放微处理器中的存储器指针中设置的当前值指向的随机数的请求,则将其提取并传送到计算机,但是存储器内部的位置将会立即用来自随机数生成器的随机数改写,并且存储器指针将会立即递增(或以其它方式改变),以便指向表中将要使用的下一个随机代码。由于该数字只能经由USB(或其它)通信端口传送一次,因此它无法在未察觉的情况下被窃取。某些不恰当取出设备并且读取码表的人有可能获取码表,但是该码表会在设备中被立即改写。即使"窃贼"将存储器指针返回到初始位置,但是这种盗窃也仍旧可被检测,这是因为所述码现在是不与配对设备中的码匹配的。这种"只能一次读取"的特征是非常有效的,因为它确保了所有表格窃取有效都必定会被发现,但是它们无法在发生窃取有效时或是在接近其发生的时间帮助检测窃取行为。当然,所有这些检测全都依赖于由合法用户操作的安全过程,如果设备从未脱离合法用户控制,那么是不会发生安全性损害的。如下所述,通过添加附加特征,还可以为其提供帮助。多个存储器指针通过使用多个存储器指针,可以在操作中提供更高的灵活性,在这里描述了多个用以例证此用途的方案。应该理解的是,在任何时间,只有一个存储器指针是有效的,由此术语"多个存储器指针"实际是指保存在非易失存储器中的一个以上的值的拷贝,并且在任何时间只有一个拷贝是有效的。第一使用实例是两个用户使用一对设备来执行编码,由此保护文档安全性。对经过编码的文档来说,该文档可以借助不同手段发送(例如一方借助电子邮件,另一方借助于邮寄软盘),由此其生成和到达顺序未必相同。但是,存储器指针是公共信息,并且文档发送方由此会将其发送给接收方。如果接收方无顺序地获取该信息,那么他/她或其使用的计算机程序将会发现接收到的第一个文档需要一个处于当前位置之前的指针,以便读取该文档。由此,计算机程序可以记录当前的存储器指针位置,以便在以后将其用作书签,然后,该程序会将有效存储器指针移动到文档需要的值,并且随后可以对该值执行正确解码。这样做将会在接收方存储器中把解码第一编码文档所需要的随机码表保持成与其被接收时相同。很明显,多个书签值也是可以使用的。在第二实例中,设想一个此类设备集合。在通常情况下,并非所有文档传送或授权都是结合所述集合中的所有设备持有者进行的,在产生该表时,其它任何持有者的活动量并不是已知的,并且总的码容量将会极大地超出需要。由此,每个用户都可以在与对方设备持有者协作的情况下分配总码表中的某些块,由此将会存在分配给每个信息发送方的存储器指针和块在这种情况下,每个成员都能与对方进行通信,而不需要约定其在发起信息时使用的存储块,而用以对发送方消息解码所需要的块也会保持不用于其它用途。密码在每个设备1、2中都保存了一个需要用户编写和持有为保密的简单密码。同样,如果非法用户获得该密码,那么这将是一个可欺骗特征。校验和这里的一个有效特征是允许用户在任何时间请求获取块校验和列表或是整个存储器的主校验和。应该指出的是,在这里使用了术语"校验和"来指示任何算术处理结果,这些处理将会读取所有"随机"码表的元素值或者是码表中的特定块,其中某个块的校验和是所述块的签名特性,并且其在统计方面与为不同内容的另一个块所产生的校验和存在很大差别,由此它是一个关于所述块是否保持不变及其是否不同于另一个块的可靠指示,并且这些校验和并未揭示任何对所述块而言有意义的内容。某些具有校验和算法以及用于块的校验和的个人必须在计算机上耗费大量的时间,以便通过使用了校验和作为测试的试验和差错来尝试构造随机码块。如果用户知道校验和保持不变,并且如果所述代码块己被不正确读取,那么一次性读取特征将会改变校验和,这样将会提供很高的安全性。再编码校验和特征还可以用于縮短再编码时间。现在,大容量存储器(FLASH)非常廉价,由此在成本效益合算的情况下可以在这些设备中实施很大的块,对用户来说,他们当然希望具有最大的块。但是,大多数人都会例行地以很低速率使用完这些代码,由此在出现使用设备配对来重新编码的时机时,这时很有可能不会使用所有码表。从存储器顶端开始,通过传送和比较这些校验和,可以很简单地确定已经使用的数量,并且可以确定留下的什么内容是安全的。然后,设备只需要设置从码空间底部到旧码仍旧适当的位置的再编码。编码之后以下部分描述的是可在上述编码步骤之后使用的不同应用以及附加安全措施。一次性填充作为配对设备制造的一对设备将会提供很高的安全等级,除非安全性受到物理损害,否则使用"一次性填充"编码的配对拥有者可以完全确保期间发送的消息通信的安全。在图8中显示了关于这种安全通信的一个实例。第一设备1与第一计算机30相耦合,该计算机使用码表的一部分作为秘钥来编码一个消息。然后,在第一设备中将会改写这个秘钥。编码的消息是经由通信链路31传送到第二计算机32,其中该消息是使用保存在第二设备上的相同秘钥解码的。然后,第二设备中的秘钥将被改写。金融交易和可信伙伴通常,我们需要的是任意两方之间的通信,以及许可交易和付费的能力。由此,一种用于普通大众的可接受安全过程是配对中的一个设备为可信伙伴持有,例如银行。支付和其它金融交易是可以结合银行自身进行,但是如果银行使用并与预定通信接收方的"可信伙伴"保持了安全通信,那么它也允许安全通信。然后,这个第二可信伙伴可以使用相同原理以及使用接收方的配对码表来向接收方传送通信。作为另一个特征,在一次性可编程码或是处理器内部的空间中可以放置很长的设备标识号,并且作为需要这些标识码的这些设备的操作码的一部分而应用和执行的规则是这些标识号都是作为所有通信或授权的报头发送的。在不会导致用户隐私直接丧失的同时,该处理还能使授权机构轻易认定可疑通信,以及使用其它手段来定位通信方。这种"长编号"标识可以从"稀疏"集合中获取,其中该集合使用的是所有可能编号中的极少编号,并且所发布的标识码列表可以在制造时被提供给国家政府。由此,个人或未经承认的制造商将无法选择那些未被认定为非授权的码。当然,偷窃和使用现有代码是可能的,但是其应用却非常少,这是因为传输仍旧是可以识别的,而被物理窃取的设备的代码则会从授权列表中移除。在没有这种代码的情况下,传输同样会被很快识别,并且目前可能在任何情况下由理解技术的人实施。此外,如果编码设备具有两个不同部分,那么它将会具有很大优势,这是因为在需要之前,所有的码都是以一次性可读取的形式保持的,在被传送到标准的存储媒体的时候,所述码是无法被非授权用户使用的。由此,对处于机架中并且全都通过多端口通信网络相连的银行分离配对设备来说,在与自动读取相结合的情况下,这些设备将会允许银行享有对抗盗窃的高安全等级。此外还可以想到,大型可信机构同样具有读取器或接口,其中模拟配对中的其它设备的端口以及码序列实际上是以常规方式保存在计算机上的。这种码可以在金融交易中以多种方式使用,但在下文中给出的并不是穷举性列举。金融交易中的电子签名首先,所述码可以只用作电子签名,以便为某个常规付费装置提供授权。在最简单的零售实例中,用户设备会将其列表中的某个码及其存储器指针值传递到"销售终端点"或类似设备。这样做会将所述码上传至持有用户帐户的银行,此外还会传送所述码列表的第二拷贝。对合法交易来说,银行将会认定匹配,由此批准所述购买有效。在以这种简单交易作为付费方式基础的同时,其它的码传送处理同样可以执行,从而提高安全性。首先,所述码可以从银行传送到用户,以便核实商家pos终端确实连通到银行。在将"付费验证"码从用户传送到银行并且许可了所述码之后,银行可以使用另一个码来做出响应(它只是可供用户识别的码),并且银行可以使用另一个码集合来对涉及该用户的消息进行编码(在通信编码模式中),其中所述另一个码集合将会向用户核对确实进行所述交易(并且该通信不可能由第三方错误产生)。银行和商家还可以共享一个码集合,这个码集合可以由银行使用,以便核实该交易确实合法。很明显,在这里可以使用非常类似的手段,以便批准其它形式的交易、金融或其它有效。尽管实施了如上所述的码交换,但是pos设备的犯罪用户仍旧可以使用某些手段来欺骗用户举个例子,在餐厅中可以想象某些用户认为其已借助所述手段支付了用餐费用,但是该用户未必支付了所述用餐费用,而且POS还有可能篡改,以使码序列转而授权更大交易,例如货币转账。现在将对另一种增强方式进行描述,其中所述增强方式会在阻止这种欺诈时生效。在这种增强方式中,设备1、2还配备了可视显示设备,以及少量输入按键或是其它形式的输入设备。在通信模式中,附加安全特征使用的是所述设备及其在银行的配对设备,此外还可以使用可信的第三方。例如,商家或POS可以负责将交易细节传送到银行,银行则可以使用编码模式来反向发送这些细节,从而将其显示在用户设备上,由此用户可以查看所提出的交易。由于只有用户和银行共享了允许该通信的码表,因此任何针对所述通信的篡改都会失败。在这里可以实施大量的传输排列方式,在下文中将会给出一个极大增强了安全性的交换实例。1)用户使用公共信息来向银行标识其自身2)用户发送其列表上的下一个码及其当前的存储器指针值。这二者应该是匹配的,但是举例来说,如果存在先前丢失的交易或传输路由延迟,那么银行可被允许从所给出的存储器指针位置开始工作,而不是指针最后所在的位置(他必须用书签标记该位置)。3)银行反向发送下一个码,以便核实它确实在线以及在通信线路上没有可察觉的安全性损坏。4)然后,商家或POS以"开放"形式向银行发送交易细节(数额,细节)。5)银行使用另一个显示其在线的码来进行回复,然后使用编码模式回复一个关于用户设备的消息,该消息可以重放将要实施的交易。6)然后,用户可以发送第一签名码以及一个消息,由此以编码形式返回关于所进行的交易的确认。7)然后,银行可以使用最终码以及确认每件事物都被交易的编码消息来回复。可以看出的是,在本交易中,可视显示设备是用户设备的一个固有部分,该可视显示设备的用途是实现更高安全等级,这是因为商家无法篡改通过编码模式发送的数据,此外,通过将可视与用户设备进行物理集成,可以确保因为出错而重新确认了保证消息的用户不会遭遇到欺骗性的替换处理。由此可以看出,如果用户将无显示器的设备与另一个可信设备耦合,例如用户的移动电话或PDA,那么这种安全等级同样可以用无可视显示器的设备获取。电子现金在某些环境中,例如在用户不具有或者不希望具有银行业务或信用业务时,或者在用户希望具有物理现金提供的匿名性时,现金的电子模拟物是非常有用的。如果将很长的数字用作授权码,那么通常可以借助计算机和电子技术一般化管理的数字有可能很长,由此在为被提出的系统估计的整个使用期限中,相同长度的长码出现两次的可能性是很低的。此外,由于这些数字确实是随机的,并且任何两个数字之间的"平均"间隔都很大,因此关于其中一个数字的指示是无法给出关于另一个数字的知识的线索的。由此,持有匹配码列表并且从远端方接收到这个码及其相应的存储器指针的人将会知道这个码确实是由发送方设备发送的。这些数字具有这些属性所需要的大小是以相对简单的方式估计的。世界人口的数量级大约是10"0,并且一年的人均收入大约小于104美元。分币面值将会需要另一个大小为100的倍数,并且用于一千年的操作需要另一个倍数1000。由此,在数字阶数为109的情况下,世界上的所有贸易可以通过使用分币而在1000年中完成。而这在二进制表示中仅仅比64比特稍小一点。通过使用两倍长度的数字,也就是128比特或16字节,可以提出极度过剩的码,但是电子系统的长度却很平常明确使用128个比特仅仅是作为实例,并不是对其进行规定。设备的存储用途以及电子现金用途可以采用多种方式设想。用户和"可信伙伴"可以首先产生随机长码数字的两个拷贝。然后,用户首先前往可信伙伴那里,并且可以通过币值选项来购买一批现金(达到一定数值),这些币值将会保存在另一部分金钱中,并且会与长数字码保持某种已知的关联,由此每一个码都具有一个币值。对用户和银行来说,码与其币值之间的关系都是己知的。参考图9,希望购物的用户将设备1插入或者以其它方式连接到销售点(POS)设备40,并且将购物值输入到销售点设备40中。然后,设备1将会采用算术方式来选择一组长数字码,并且这些长数字码合计将会达到正确数额。随后,设备1会将这些码传送到POS设备40,并且其中将会插入发行银行的标识符以及用户的标识符。现在,POS40知道通过与哪个银行进行联系来获取付费许可,并且经由通信链路42而将这些长数字码传送到银行计算机41。应该指出的是,如果币值是在常见的lc、2c、4c、10、20c、50c、$1、$2、$5......的序列中上升的,那么,即使处于很大的数值范围,也很少超出十个这种构成任何制定金额的电子"硬币"。这时,POS设备40并不需要知道币值。但是,银行计算机41必须知道币值,由此,当在用户列表中查找这些码时,它可以重建所要收取的费用,并且将其反向传送到POS设备40。很明显,这两个数额应该是匹配的。然后,银行计算机41可以将该数额贷记到商家帐户中,并且商家和银行可以记录所述码,以便用于审计,但是也可以将其标记成失效。上述说明通过假设商家和用户具有相同银行而对情况进行简化,但是非常明显,发行电子现金的银行也可以在别的时间向商家帐户执行正常的银行转账。在这种交易中,用户的标识是为商家和银行所知的。但是也存在着这样的情况,其中买家希望匿名使用现金。这种处理可以结合这种技术并以一种略微不同的方式实现。在这里,发行银行将会获取结合用户生成的码集合,并将其传送到一个主表中,而在这个主表中则保存了来自众多用户的所有此类长码。在这个表中,一旦银行不需要知道这些长码的"所有者",并且如果用户在这方面是信任银行的,那么匿名将是可以实现的。然后,银行计算机41必须将这些长码排序成数字顺序,并且将其置入一个表中,在这个表中,每一个长码都与为其指定的币值相关联(在这里必须理解,很长的数字比较和移动起来相对容易,由此标准排序算法将会是有效的)。但是,两个相邻数字之间的数值的差别将会是非常大的。当从POS设备40的商家那里接收到一组长数字码时,银行计算机41可以快速确定所提供的长码是否处于表中,如果处于的话,则确定其货币币值。在这里,一种有效的技术是二进制搜索算法。银行计算机41首先查看表格中间的值,并且将其与所提供的数字相比较。如果所提供的数字小于被发现的数字,那么计算机将会査看表格下半部分的中间,如果较高的话,该计算机将会查看表格上半部分的中间。很明显,这种处理可以重复执行,并且它只要相对较少的比较就能发现该数字或是最接近的数字。如果它发现了这个数字,那么这将是一种匹配,但是,如果它发现了两个将所提供的码的数值括在中间的相邻数字,那么它确定没有出现匹配,并且所提供的码是无效的。然后,匹配的长数字码条目可以从表格中移除,并且放置到一个简单的审计追踪序列中,以便显示该现金值已被花费。本地区域信息系统在备选应用中,本发明可以在WO01/27897所描述的本地区域信息系统中实施。也就是说,本地区域信息系统包括一个基站网络,其中每一个基站都具有用于存储与本地区域相关的信息的存储器,以及多个用户设备,这些用户设备从基站那里接收信息,并且将这些信息显示给用户。每一个基站以及与之无线通信的每一个设备(它可以是用户设备或别的基站)都可以将"一次性"编码处理应用于通信(使用这里描述的设备),以便降低通信被截取和理解的机会,此外还可以使用长码模式作为用于交易的验证处理,或是测试和保持通信链路的安全性。备选实施例设备集合在上述优选实施例中,设备是配对制造的。在备选实施例中,这些设备可以以授权集合的方式制造,由此,与保持一个许可配对设备的细节不同,它们将会保持一个关于此类设备的列表。一般的非配对码设备与配对或配套制造所不同,在另一个备选实施例中,每一个设备都可以是一个一般的非配对码设备(GUCD),其中该设备不与其它任何设备或是设备集合相关联。在这种情况下,每一个GUCD都会被编码,,以便有权与其它任何兼容设备一起工作。这种处理产生了附加的安全问题,这是因为有必要预见到GUCD将会被某些人执行反向编译。由此,某些理解用于将随机比特流映射到存储器中的一般算法的人自己就能够产生这种映射,并且由此获取第三拷贝。他/她甚至能够产生校验和,并且将其与这两个设备传递的校验和相比较,以便确保第三拷贝是正确的。但是应该指出的是,这种安全性破坏等级只有在某些人非法地与编码链路3建立了"间谍"连接的时候才有可能出现。对GUCD来说,它还具有商业方面的用途。如果将其用于某种协议,那么这种风险是不存在的。由此举例来说,如果在由银行或邮局之类的可信第三方持有共同编码设备对中的一半设备的模式中使用GUCD,那么这种风险是不存在的。此外,如果通过确保正确操作而使安全阶段可以出现,那么另一个选项也是可行的。两个或更多GUCD可以制成一个"虚拟集合"。这些设备经由其编码端口而被直接或是用特定适配器连接在一起,并且它们可以产生存储一个唯一的比特定位映射或算法,以供未来使用,对该映射或算法来说,其在统计上是最不可能与任何其它集合结合使用的。对这种"虚拟"集合以及在制造时作为集合制造的集合来说,其间的唯一差别是这个比特定位处理将会保存在非易失存储器(较为优选的同样是FLASH存储器顶端)中,并且无法利用将某些唯一性编码成微处理器校准或ID空间的安全性较高的处理,而这种处理通常是"一次性可编程的"(采用保险丝方式)。应该指出的是,一个配对或一个集合来说,产生比特定位映射的这种"虚拟配对"编码操作只需要发生一次。由此,可信第三方可以大量购买此类设备,并且根据需要将其编码成配对或集合。很明显,该操作可以由大型机构实施,以便达到更高的工作协议和安全等级,由此其风险与个人在所有环境中按惯例实施的码生成操作相比将会相对较小。随机数生成器在优选实施例中,每一个设备都具有一个随机数生成器。但是在第一备选实施例中,只有一个设备可以具有随机数生成器。在第二备选实施例中,没有一个设备具有随机数生成器。在这种情况下,随机数生成器将会保持在第三设备中。USB电源供电在上述优选实施例中,编码过程中的电源供电是借助电池15进行的。在图IO所示的备选实施例中,在码表的生成过程中,其中一个设备的USB端口14可以插入计算机50,以便得到这两个设备电能。在这种模式中,计算机可以运行一个驱动器程序,其中该程序会借助显示屏51来向用户报告操作和选项。虽然USB大容量存储设备作为计算机驱动器出现是很常见的,但这并不是标准的需要,对计算机而言,设备会将其自身标识成一个特定的新类型设备,而其自身的"驱动器"软件包则需要在操作之前加载。USB端口的替换物在这里,USB标准是作为实例给出的,但是该设备也可以结合其它常见的串行计算机标准来工作,例如RS485、RS232、RS423、正EE1394(火线)乃至(但是并不方便)串行标准,例如PCMIA和"centronics,,打印机端口。对USB来说,依照其通信标准,并且由于USB经由接口而向以这种方式附着的设备供电,所述USB是非常便利的。如果使用了另一种接口,那么同样需要一个电源。外部电池组在上述优选实施例中,电源供应是借助USB端口14或电池15进行的。在备选实施例中,这两个设备之一或是所有这两个设备可以具有用于外部电池组、市电电源或车载供电适配器的输入,以便为所述配对供电。编码链路在上述优选实施例中,编码链路3是在专用编码端口13、14之间建立的。在备选实施例中,编码链路可以在USB端口14上使用允许其插在一起的适配器来建立。公/母编码端口在另一个替换方式中,编码端口既可以配对制造,也可以分两种性别制造,由此公设备和母设备可以连接,以便进行编码,而公和公以及母和母连接则是无法进行的。在这里是参考特别的例示实施例来描述本发明的。对本领域技术人员来说,在不脱离本发明范围的情况下,某些替换和修改将是显而易见的。例示实施例具有说明性意义,并且这些实施例并未限制本发明的范围。网络通信非常有利的是,本发明有助于在通信网络中实施安全交易,其中举例来说,所述网络可以是在申请人的共同未决美国专利申请_中公开的通信网络,该申请要求根据2005年4月11日提交的名为"ACommunicationNetwork,,的相应欧洲专利申请EP05252251.律师案巻号19143而享有优先权,并且该申请的全部内容和公开在这里全部引入作为参考。在共同未决美国专利申请_中描述的网络能使实体在一个或多个节点充当数据内容的主机(本地缓存),多个节点形成一个簇,并且其中至少一个节点回程连接到因特网之类的网络。对用户来说,通过其常规的移动和手持无线设备(例如实施蓝牙,WiFi802.ll协议),用户可以开始将内容从一个节点或节点簇下载到用户设备,或者也可以借助用户设备来接收基于因特网的服务。在一个实施例中,用户设备是在制造时供应的(也就是保存在可擦写存储器中),或者用户设备也可以作为具有随机码列表的附加卡或附件(例如闪存卡、USB钥匙、RFID、蓝牙)来供应,其中举例来说,所述随机码是大小约为1亿的"很大的"数字(例如128数字代码(基数10))。这些码是由一个可被节点或网络中的簇上的网络服务器设备访问验证服务。该验证服务保持了一个签约用户注册表以及与用户设备相关的随机数列表。此外,与每一个用户相关联的还包括预定服务等级,其中该服务等级是用户位网络内部的事务预订的。随后,当用户与网络中的节点发起无线交易时,这个大数字码将被无线传送到访问验证服务的服务器那里,以便核实正在通信的用户设备有权实施特定交易。该随机码既可以在后续通信中传送,也可以在后续通信中被用作编码密钥。作为响应,服务器可以使用与设备以及设备拥有者(用户)相关联的每一个码来核实特定设备。此外,在这里还会提供附加的交易授权处理,以便确保设备操作者确实是设备拥有者(或者至少是授权用户)。这种进一步的验证可以通过要求用户输入PIN(ID号码)或是提供生物测定数据来实现,其中该数据可以用于核实用户/设备是否有权与主机节点进行交易。在一个特定实施例中,大数字码(或是其子集)可以保存在内置于(到处存在的)"UBI"卡的无源芯片中,而所述卡则被用于与主机进行交易。如果消费者希望购买产品或者从节点下载内容,那么它们可以简单地按照正确顺序按下卡上的数字键盘,以便通过最终验证。对作为金融交易一部分的每一个交易来说,在这里将会为所述交易传送随机码之一,并且在交易结束时将会从存储器中删除或移除所述随机码。一旦验证完成,那么交易将会得到许可,并且所述采购将会以一种与先进适用的信用卡相似的方式而被从与消费者的UBI相关联的安全金融帐户中扣除。否则,所述码将被用作密钥,以便签署具有数字签名的付费指令。关于UBI卡结构的更多细节可以在上述共同未决的美国专利临时申请_律师案巻号19143中找到。由于网络自身有可能具有低可靠性的组件,例如与微波/RF频率上的通信相适应的模拟信道,因此在这里将会强制确保以很高的可靠性、即极低的比特差错率来安全传送所述随机码的完整性(例如小于1/109)。由此,在所描述的实施例中,能够在不可靠信道上传递128个数字码的编码将会是非常重要的。为了确保验证和交易处理中的可靠通信,在这里可以使用若干种已有的联网技术,并且这些技术是分组联网领域的技术人员众所周知的。为了确保正确的传送以及随机码和验证信息的完整性,将会使用确保传送的通信协议(例如TCP或使其等价物)。通过使用这些类型或协议,所述随机数和其它验证信息既可以作为一个整体传送,也可以作为分组重传,直至传送了所有这些信息为止。如果无法完整传送信息,那么发送处理将会失败,并且该处理可以根据需要重新开始。一旦成功接收到随机数和验证信息,那么将会使用附加的交易处理技术来确保完成了作为一个"工作单位"的恰当的端到端交易(例如借记与贷记匹配)。即使在高比特差错率的无线连接上,这些技术也是很容易部署的,这是因为这里详述的传输是在两个或更多联网设备之间进行的,并且其中每一个设备都能就分组的传输和接收而向发送和接收方做出应答。虽然在这里通过参考具体的实施例、特征和特性而对本发明进行了描述,但是应该想到的是,本发明并不局限于此,与之相反,本发明的效用可以扩展到其它的修改、变更、应用和实施例上,相应地,所有这些修改、变更、应用和实施例都被视为处于本发明的实质和范围以内。权利要求1、一种通信方法,包括在第一设备中存储一随机码;在第二设备中存储该随机码;以及在后续通信中使用该随机码。2、根据权利要求1的方法,还包括验证其中一个设备的身份;以及,如果该设备的身份与所存储的身份匹配,则只在该设备中存储所述随机码。3、根据前述任一权利要求的方法,其中所述后续通信包括从第一设备中读取随机码;以及,响应于随机码读取,自动改写该随机码,由此所述第一设备中的随机码只能被读取一次。4、根据前述任一权利要求的方法,还包括在所述第一设备中生成全部或部分所述随机码;以及将所述随机码从第一设备传送至第二设备,以使在所述第一设备中生成的所述随机码能够存储在所述第二设备中。5、根据权利要求4的方法,还包括在所述第一设备中生成该随机码的第一部分;从所述第一设备将该随机码的第一部分传送到第二设备,以使所述第一设备中生成的码能够存储在所述第二设备中;在所述第二设备中生成所述随机码的第二部分;以及从第二设备将该随机码的第二部分传送至第一设备,以使所述第二设备中生成的码能够存储在所述第一设备中。6、根据前述任一权利要求的方法,还包括在所述第一设备和第二设备中存储映射;生成多个随机码元;以及,在每个设备中将每个码元保存在所述映射确定的存储器位置。7、根据权利要求6的方法,其中所述映射直接标识所述存储器位置。8、根据权利要求7的方法,其中所述映射是一种能够计算存储器位置的算法。9、根据前述任一权利要求的方法,还包括从第一设备存储的随机码中生成第一校验数据;从第二设备存储的随机码中生成第二校验数据;以及,比较所述第一和第二校验数据。10、根据前述任一权利要求的方法,其中所述设备之一或所有这两个设备是便携式设备。11、根据前述任一权利要求的方法,其中所述后续通信包括下列步骤将存储器位置指示符从第一设备传送至第二设备;以及,从第二设备的存储器位置获取随机码元,其中该位置由接收到的存储器位置指示符确定。12、一种设备,包括用于存储随机码的存储器;以及用于在后续通信中使用该随机码的处理器。13、根据权利要求12的设备,还包括具有一个或多个公插头以及一个或多个母插座的公母连接器。14、根据权利要求12或13的设备,还包括随机数生成器。15、根据权利要求12、13或14的设备,还包括通过一次性校准写序列而被硬编码到设备中的配对设备的身份。16、根据权利要求1215中任一权利要求的设备,还包括显17、根据权利要求1216中任一权利要求的设备,还包括能够表示设备的物理篡改的显式篡改元件。18、根据权利要求1217中任一权利要求的设备,还包括用于感测针对所述设备的物理篡改的传感器。19、一种实施安全通信的方法,包括以下步骤-a.传送消息;b.接收与所述消息相对应的编码响应,其中该编码响应用编码密钥编码;C.使用编码密钥来解码编码响应,以便产生解码响应;C.验证所述解码响应,以及,如果所述解码响应有效,则;d.传送确认消息。20、根据权利要求19的方法,其中所述解码响应包括在步骤a中传送的消息拷贝。21、根据权利要求19或20的方法,其中确认消息是编码消息。全文摘要一种用于通信的方法和设备,其中在该通信中使用了随机码。该方法包括将随机码保存在第一设备中(图1,单位1);将该随机码保存在第二设备(图2,单位2);以及在后续通信中使用该随机码。本发明可以在金融交易中使用。换言之,该随机码既可以用作密钥来签署带有数字签名的付费指令;也可以作为“虚拟现金”,在这种情况下,所述码自身将会在各方之间传送。本发明的另一个应用是借助“一次性填充”安全技术来传送可信信息,在该技术中,其中是借助简单的数字运算以及使用了随机数列表来编码符号的字符代码的。文档编号H04L9/00GK101208899SQ200680020850公开日2008年6月25日申请日期2006年4月11日优先权日2005年4月11日发明者伯纳德·L·Jr.·巴罗,查理斯·埃里克·亨特,蒂莫西·理查德·克罗克申请人:莱斯特美通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1