CN107066874A - 容器***间交互验证信息的方法及装置 - Google Patents

容器***间交互验证信息的方法及装置 Download PDF

Info

Publication number
CN107066874A
CN107066874A CN201710251438.0A CN201710251438A CN107066874A CN 107066874 A CN107066874 A CN 107066874A CN 201710251438 A CN201710251438 A CN 201710251438A CN 107066874 A CN107066874 A CN 107066874A
Authority
CN
China
Prior art keywords
checking information
containment system
container system
container
containment
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
CN201710251438.0A
Other languages
English (en)
Other versions
CN107066874B (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.)
Yuanxin Information Technology Group Co ltd
Original Assignee
Yuanxin Technology
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 Yuanxin Technology filed Critical Yuanxin Technology
Priority to CN201710251438.0A priority Critical patent/CN107066874B/zh
Publication of CN107066874A publication Critical patent/CN107066874A/zh
Application granted granted Critical
Publication of CN107066874B publication Critical patent/CN107066874B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了容器***间交互验证信息的方法及装置。该方法包括:第一容器***向发信方发送获取验证信息的请求;第二容器***接收到发信方响应于请求返回的携带验证信息的短信息,并对短信息进行解析以获得验证信息;第二容器***将验证信息发送至第一容器***。在本发明中,第一容器***和第二容器***之间相互通信,通过第二容器***接收发信方发送的携带验证信息的短信息,并通过提取该短信息中的验证信息,最终将该验证信息发送至第一容器***,也就是说,第二容器***在获得验证信息后,自动将该验证信息发送至第一容器***,无需在第一容器***和第二容器***之间频繁切换才可获得验证信息,提高第一容器***获取验证信息的效率。

Description

容器***间交互验证信息的方法及装置
技术领域
本发明涉及计算机技术领域,具体而言,本发明涉及容器***间交互验证信息的方法及装置。
背景技术
目前,多操作***同时运行可采用容器技术来实现,容器技术可以将多个操作***进行隔离,这样,当某个***被非法程序(例如,黑客)攻击后,不会影响到其它***,保证了单个***的安全性和完整性。
在多个***同时运行时,通常每个***都承担各自功能的角色,例如,在实际应用中两个***同时运行的场景:其中的一个***作为非安全***,在该非安全***中可以执行任意操作,另外一个***作为安全***,在该安全***中会限制用户的一些敏感操作(例如,非法获取用户的隐私信息);假如用户在非安全***(例如,待输入验证信息的应用)中使用支付功能,在支付之前,会先让用户输入相应的验证信息,为了保障该验证信息的安全,提供该支付功能的服务提供商会将该验证信息发送至安全***(例如,短信)中,首先,用户要从非安全***切换到安全***,其次,用户需要记住安全***中的验证信息,最后,再从安全***切换到非完全***中输入该验证信息。
由上述容器***获取验证信息的方法可知:通过切换两个***实现获取验证信息的步骤较为繁琐,尤其是在验证码较为复杂的情况下,若用户在安全***中没有记清楚验证码时,需要频繁地在安全***与非安全***之间进行切换,才能完成在非安全***输入验证信息的操作,给用户带了不便。
发明内容
本发明针对上述容器***获取验证信息的方法的缺点,提出了一种容器***间交互验证信息的方法及装置,用于解决上述容器***获取验证信息的方法中需要通过切换两容器***才可实现获取验证信息的问题。
本发明的实施例提出了一种容器***间交互验证信息的方法,包括:
第一容器***向发信方发送获取验证信息的请求;
第二容器***接收到发信方响应于请求返回的携带验证信息的短信息,并对短信息进行解析以获得验证信息;
第二容器***将验证信息发送至第一容器***。
优选地,在第一容器***向发信方发送获取验证信息的请求的步骤之前,该方法还包括:
第一容器***的验证信息接收服务将验证信息接收服务注册到第二容器***的短信息监控服务中;
其中,当第二容器***接收到发信方响应于请求返回的携带验证信息的短信息,包括:
通过第二容器***的短信息监控服务监控到第二容器***接收到发信方响应于请求返回的携带验证信息的短信息;
其中,第二容器***将验证信息发送至第一容器***,包括:
根据注册信息,第二容器***将验证信息发送至相应的第一容器***。
优选地,在第二容器***将验证信息发送至第一容器***的步骤之前,该方法还包括:
第一容器***向主控***发送用于第一容器***与第二容器***之间的消息传输通道的创建通道请求消息;
主控***根据创建通道请求消息,针对第一容器***与第二容器***创建两个socket文件描述符;
第一容器***与第二容器***获取对应的socket文件描述符,并根据对应的socket文件描述符,进行消息传输。
优选地,在第二容器***将验证信息发送至第一容器***的步骤之前,该方法还包括:
在主控***中创建网桥节点,并为第一容器***和第二容器***创建对应的虚拟网口,其中,各虚拟网口的一端设置于对应的容器***内,各虚拟网口的另一端与网桥节点相连;
第二容器***通过其对应的虚拟网口及网桥节点与第一容器***对应的虚拟网口建立数据通路;
第二容器***基于数据通路与第一容器***的移动网络进行数据传输。
优选地,第二容器***将验证信息发送至第一容器***,包括:
第二容器***对验证信息进行加密处理以生成加密后的验证信息,并将加密后的验证信息发送至第一容器***。
本发明实施例还提供了一种容器***间交互验证信息的装置,包括:
第一发送单元、解析单元和第二发送单元,其中:
第一发送单元,位于第一容器***中,用于向发信方发送获取验证信息的请求;
解析单元,位于第二容器***中,用于接收到发信方响应于请求返回的携带验证信息的短信息,并对短信息进行解析以获得验证信息;
第二发送单元,位于第二容器***中,用于将验证信息发送至第一容器***。
优选地,装置还包括注册单元,注册单元位于第一容器***中,具体用于:
在第一发送单元向发信方发送获取验证信息的请求之前,将第一容器***的验证信息接收服务注册到第二容器***的短信监控服务中;
其中,解析单元接收到发信方响应于请求返回的携带验证信息的短信息,包括:
通过第二容器***的短信息监控服务监控到第二容器***接收到发信方响应于请求返回的携带验证信息的短信息;
其中,第二发送单元将验证信息发送至第一容器***,包括:
根据注册信息,第二发送单元将验证信息发送至相应的第一容器***。
优选地,该装置还包括:
第三发送单元、第一创建单元、第一获取单元、第二获取单元和第一消息传输单元,其中:
第三发送单元,位于第一容器***中,用于在第二发送单元将验证信息发送至第一容器***之前,向主控***发送用于第一容器***与第二容器***之间的消息传输通道的创建通道请求消息;
第一创建单元,位于主控***中,用于根据创建通道请求消息,针对第一容器***与第二容器***创建两个socket文件描述符;
第一获取单元,位于第一容器***中,用于获取对应的socket文件描述符;
第二获取单元,位于第二容器***中,用于获取对应的socket文件描述符;
第一传输单元,用于根据对应的socket文件描述符,进行消息传输。
优选地,该装置还包括:
第二创建单元、建立单元和第二传输单元,其中:
创建单元,位于主控***中,用于在第二发送单元将验证信息发送至第一容器***之前,创建网桥节点,并为第一容器***和第二容器***创建对应的虚拟网口,其中,各虚拟网口的一端设置于对应的容器***内,各虚拟网口的另一端与网桥节点相连;
建立单元,位于第二容器***中,用于通过其对应的虚拟网口及网桥节点与第一容器***对应的虚拟网口建立数据通路;
第二传输单元,位于第二容器***中,用于基于数据通路与第一容器***的移动网络进行数据传输。
优选地,第二发送单元将验证信息发送至第一容器***,包括:
对验证信息进行加密处理以生成加密后的验证信息,并将加密后的验证信息发送至第一容器***。
本发明实施例提供一种容器***间交互验证信息的方法,该方法具体包括:首先,第一容器***向发信方发送获取验证码的请求,然后,第二容器***接收到该发信方响应于该请求返回的携带该验证信息的短信息,最后,该第二容器***将该验证信息发送至第一容器***。应用本发明获得的有益效果是:第一容器***和第二容器***之间相互通信,通过第二容器***接收发信方发送的携带验证信息的短信息,并通过提取该短信息中的验证信息,最终将该验证信息发送至第一容器***,也就是说,第二容器***在获得验证信息后,自动将该验证信息发送至第一容器***,无需在第一容器***和第二容器***之间频繁切换才可获得验证信息,提高第一容器***获取验证码的效率。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例的一种容器***间交互验证信息的方法的流程示意图;
图2为本发明实施例提供的一种安全验证界面的示意图;
图3为本发明实施例提供的一种容器***间交互验证信息的具体实例的流程示意图;
图4为本发明实施例提供的一种在短信界面上获取验证信息的示意图;
图5为本发明实施例提供的一种在安全验证界面上自动输入验证信息的示意图;
图6为本发明实施例提供的一种终端设备的内部结构的框架示意图;
图7为本发明实施例的一种容器***间交互验证信息的装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
下面结合附图具体介绍本发明实施例的技术方案。
本发明实施例提供了一种容器***间交互验证信息的方法,该方法的流程示意图如图1所示,具体包括以下步骤:
S101:第一容器***向发信方发送获取验证信息的请求;
S102:第二容器***接收到发信方响应于请求返回的携带验证信息的短信息,并对短信息进行解析以获得验证信息;
S103:第二容器***将验证信息发送至第一容器***。
本发明实施例提供一种容器***间交互验证信息的方法,该方法具体包括:首先,第一容器***向发信方发送获取验证码的请求,然后,第二容器***接收到该发信方响应于该请求返回的携带该验证信息的短信息,最后,该第二容器***将该验证信息发送至第一容器***。应用本发明获得的有益效果是:第一容器***和第二容器***之间相互通信,通过第二容器***接收发信方发送的携带验证信息的短信息,并通过提取该短信息中的验证信息,最终将该验证信息发送至第一容器***,也就是说,第二容器***在获得验证信息后,自动将该验证信息发送至第一容器***,无需在第一容器***和第二容器***之间频繁切换才可获得验证信息,提高第一容器***获取验证信息的效率。
以下针对以上各个步骤的具体实现做进一步的说明:
S101:第一容器***向发信方发送获取验证信息的请求。
在本步骤中,第一容器***向发信方发送获取验证信息的请求,具体的发送方法可以是:首先,位于第一容器***的应用向对应的验证信息接收服务发送获取验证信息的请求,然后,验证信息接收服务向与该应用对应的服务器(即:发信方)发送获取验证码的请求。该验证信息可以是验证码,例如,数字、字母或二者的结合,还可以是文字信息,等等。
如图2所示,假如用户登录第一容器***中的某购物应用进行支付,为了保障用户支付安全,在支付之前,需要先在“安全验证界面”上输入手机验证码,具体输入验证码的方法为:用户通过点击“安全验证界面”上的“点击获取验证码”按钮,触发该应用向对应的验证信息接收服务发送获取验证信息的请求,验证信息接收服务收到该请求后,向与该应用对应的服务器(即发信方)发送获取手机验证码的请求,该服务器在接收到该请求后,将以短信的形式将携带验证码的短信息发送至手机号码为“136****1234”的手机上。
图2提供的应用场景只是示例性的说明,在实际应用中,需要用到“验证码”的应用场景除了支付场景,还可以为登录场景等。而且,用户获取验证码的操作,也并不限于上述记载的“点击获取验证码”,也可以滑动相应按钮或界面等,具体操作方式由实际应用场景决定。
本发明提供的容器***间交互验证信息的方法还包括:在第一容器***向发信方发送获取验证信息的请求的步骤之前,第一容器***中的验证信息接收服务将该验证信息接收服务注册到第二容器***的短信息监控服务中,这里将验证信息接收服务注册到第二容器***的短信息监控服务中的目的是:通过第二容器***的短信息监控服务监控到第二容器***接收到携带验证信息的短信息后,第二容器***根据注册信息将该验证信息发送至相应的第一容器***,其中,该短信息是发信方响应于接收到第一容器***发送的获取验证信息的请求而发送至第二容器***的。具体过程会在下述S102~S103中详细说明。
需要说明的是:本发明中的“第一容器***”和“第二容器***”中的“第一”和“第二”,只是为了区分不同的容器***,而并非序数词。
S102:第二容器***接收到发信方响应于请求返回的携带验证信息的短信息,并对短信息进行解析以获得验证信息。
当第一容器***向发信方发送获取验证信息的请求后,发信方会向第二容器***发送携带该验证信息的短信息,这时第二容器***中的短信模块接收到该短信息,与此同时,第二容器***中的短信息监控服务监控到短信模块接收到该短信息后,对该短信息进行解析,从而获得该短信息中的验证信息。
第二容器***中的短信息监控服务监测第二容器***接收到的短信息的方法有很多种,例如,短信息检测服务可以每时每刻对接收到的短信息进行监测,再例如,为了缓解短信息检测服务的任务量,可以设定周期对接收到的短信息进行监测,比如,每隔1s对接收到的短信息进行监测。
在实际应用中,第二容器***中功能模块除了短信模块和短信息监控服务以外,还有可能包含有很多其它的功能模块,为了保障验证信息的安全,可以设置监测权限,也就是说,只有短信息监控服务可以监测短信模块接收到的短信息。
另外,在实际应用中,位于第一容器***的应用可能有很多种,且需要从第二容器***中获取验证信息的应用也有很多种,因此,为了使两容器***有效地工作,需要对这多个需要从第二容器***中获取验证信息的应用进行管理,本发明提供一种优选的管理方式,具体如下:
首先,在S101中的验证信息接收服务中建立列表,用于对这些待获取验证信息的应用进行管理;建立列表的方法有很多种,例如,建立列表的方法可以是:在S101之前,验证信息接收服务将待获取验证信息的应用的信息全都记录在列表中。
列表的表现形式有很多种,下面示例性地列举一种形式简单的列表,如表1所示,该列表中记录的“待获取验证信息的应用的信息”具体包括:各待获取验证信息的应用的名称、各待获取验证信息的应用的标识、以及与各待获取验证信息的应用绑定的发信方的标识,这里发信方的标识具体可以是各待获取验证信息的应用对应服务器的网络地址,如URL,或者还有其它标识该服务器的方式,只要可以唯一标识该服务器即可。
例如,表1中第一行内容表示的是:待获取验证信息的应用1对应的标识为“adcd”,与该应用绑定的发信方标识为“B8y83ue9duwy8”。
表1
再例如,建立列表的方法还可以是:每当用户触发位于第一容器***中的应用向发信方发送获取验证信息的请求后,验证信息接收服务就会将该应用对应的信息记录在列表中。
为了方便列表对待获取验证信息的应用进行管理,可以设置列表具有“时效性”,具体的设置方法是:设定预设时间段,当监测到从记录该应用的信息到当前时间超过预设时间段后,将该应用的信息从列表中删除。假设从触发第一容器***向发信方发送获取验证信息的请求,到第二容器***返回验证信息的时间通常为5分钟,这时可以将预设的时间段设置为10分钟,当监测到从记录该应用的信息到当前时间已经过去10分钟,就可以将该应用的信息从列表中删除,这样,不仅可以减少列表的存储空间,也可以提高查表的效率(这部分的有益效果会在S103中详细说明)。
第二容器***中的短信息监控服务监测第二容器***接收到的短信息时,首先,检查该短信息是否是目标发信方发送的,其次,检查该短信息的具体内容是否关于“验证信息”的。
例如,假设第二容器***接收到的一条短信息为“Uub2+Bxdeih82q73e+您交易的验证码为397875”,首先,提取该短信息中应用的标识和该应用对应的发信方的标识,提取的应用的标识为“Uub2”,以及该应用对应的发信方的标识为“Bxdeih82q73e”,然后,确定该标识是否为目标发信方的标识,具体通过确定该应用的标识和对应的发信方的标识是否匹配,以及确定该应用是否处于待获取验证码的状态,如果否,则说明该发信方不是目标发信方,这时可丢弃该短信息,或者视该短信息为“垃圾信息”;如果是,则说明该发信方是目标发信方,继续检查该短信息的具体内容是否关于“验证信息”,具体的验证方法可以是文字匹配,即:将短信息中的各文字与预设的文字信息进行匹配,例如,预设的文字信息为“您交易的验证码为”,则将接收到的短信息中的各文字与该预设的文字信息匹配,如果匹配成功,则确定该短信息为目标发信方发送的携带验证码的短信息。
沿用上述例子,假设第二容器***接收到的一条短信息为“Uub2+Bxdeih82q73e+祝您节日快乐”,首先,通过提取该短信息中应用的标识和该应用对应的发信方的标识,确定该发信方是目标发信方,然后,通过将该短信息中的各文字与预设的文件信息匹配,即:将“祝您节日快乐”与“您交易的验证码为”进行匹配,发现匹配失败,说明该短信息与“验证信息”无关,这时可丢弃该短信息。
上述提供的优选的管理各待获取验证信息的应用的方式,以及表1中各应用的标识、各应用绑定的发信方的标识、以及短信息的表现形式等均只是示例性的说明,不对本发明构成限定。
当确定该短信息为目标发信方发送的携带验证码的短信息时,对该短信息进行解析,从而获取验证信息。具体解析方法也有很多种,例如,沿用上述例子,例如,预设的文字信息为“您交易的验证码为”,这时可以提取该预设文字信息后的信息为验证信息,例如,短信息的具体内容为“您交易的验证码为397875”,则提取的验证信息为“397875”。
S103:第二容器***将验证信息发送至第一容器***。
第二容器***在获得验证信息后,需要将该验证信息发送至第一容器***,但在发送之前,需要在第一容器***和第二容器***之间建立消息传输通道,从而使得第二容器***通过该消息传输通道将验证信息发至第一容器***。
下面详细地说明两种建立容器***间消息传输通道的方法,但也只是示例性的说明,并不对本发明构成限定。
第一种建立两容器***之间消息传输通道的方法的步骤为:
首先,第一容器***向主控***发送用于第一容器***与第二容器***之间的消息传输通道的创建通道请求消息;
其次,主控***根据创建通道请求消息,针对第一容器***与第二容器***创建两个socket文件描述符;
最后,第一容器***与第二容器***获取对应的socket文件描述符,并根据对应的socket文件描述符,进行消息传输。
例如,终端设备A中,当第一容器***中的进程需要与第二容器***中的进程进行通信,第一容器***中的进程向第一容器***中的通信通道服务进程发送创建通道请求消息,随后第一容器***中的通信通道服务进程将接收到创建通道请求消息,并将该请求消息发送至主控***的通信通道服务进程,其中,该创建通道请求消息中携带第一容器***的标识信息以及第二容器***的标识信息,主控***的通信通道服务进程根据第一容器***和第二容器***的标识信息创建针对第一容器***和第二容器***的两个socket文件描述符。
主控***的通信通道服务进程向主控***中的虚拟域名NSS设备发送注册请求消息,在注册成功之后,主控***的通信通道服务进程向发送请求的容器***,如第一容器***,以及需要进行通信服务的容器***,如第二容器***,分别发送其各自对应的socket文件描述符的名称,如主控***的通信通道服务进程将名称为“第一容器***-通道1”的socket文件描述符发送至第一容器***,将名称为“第二容器***-通道1”的socket文件描述符发送至第二容器***。
随后,第一容器***和第二容器***根据接收到其各自的socket文件描述符的名称,获取对应的socket文件描述符,随后第一容器***和第二容器***可以根据其各自对应的socket文件描述符进行消息传输。
第二种建立两容器***之间消息传输通道的方法的步骤为:
首先,在主控***中创建网桥节点,并为第一容器***和第二容器***创建对应的虚拟网口,其中,各虚拟网口的一端设置于对应的容器***内,各虚拟网口的另一端与网桥节点相连;
其次,第二容器***通过其对应的虚拟网口及网桥节点与第一容器***对应的虚拟网口建立数据通路;
最后,第二容器***基于数据通路与第一容器***的移动网络进行数据传输。
例如,多***移动终端包括第一容器***和第二容器***,其中,主控***创建的网桥节点为br0,主控***为第一容器***创建的虚拟网口为veth-pair1,为第二容器***创建的虚拟网口为veth-pair2,第一容器***内虚拟网口veth-pair1与主控***内的br0相连,第二容器***内的veth-pair2与主控***内的br0相连,这样,通过主控***中的网桥节点和各容器***中虚拟网口之间的连接,建立数据通过(即:消息传输通道)。
需要说明的是:在主控***中创建网桥节点,并为各个容器***创建对应的虚拟网口,之后还包括:主控***将各个虚拟网口、网桥节点分别对应的网络地址中的IP地址配置为同一个局域网段内。
例如,主控***将移动终端A中第一容器***的虚拟网口对应的IP地址配置为172.29.52.60/24,主控***中网桥节点对应的IP地址配置为172.29.52.50/24,第二容器***的虚拟网口对应的IP地址配置为172.29.52.70/24,因此,第一容器***的虚拟网口对应的IP地址、网桥节点对应的IP地址以及第二容器***的虚拟网口对应的网路地址均位于同一个虚拟网络子网网段172.29.52.0/24。
对于本发明实施例,主控***通过将各个虚拟网口、网桥节点分别对应的网络地址配置为同一个局域网段内,以使得各个虚拟网口、网桥节点能够相互直接进行寻址,确定下一跳虚拟网口或者网桥节点对应的网络地址,进行数据传输,从而可以降低寻址的复杂度,进而可以提高多***网络连接的可行性。
在第一容器***和第二容器***之间建立消息传输通道后,第二容器***将验证信息发送至第一容器***。一种优选的发送验证码的方式是:第二容器***对验证信息进行加密处理以生成加密后的验证信息,并将该加密后的验证信息发送至所述第一容器***,当第一容器***接收到该加密后的验证信息后,对该验证信息进行解密处理,获得原始的验证信息。
上述第二容器***对验证信息加密处理的有益效果是:防止第二容器***和第一容器***之间传输验证信息的过程中,验证信息遭遇非法劫持。具体地,由于该验证信息经过加密处理,因此,即使该验证信息被非法程序劫持,也无法获得原始的验证信息,提高了验证信息的安全性。
第二容器***对验证信息进行加密的方法有很多种,常用的方法是:第二容器***采用公钥对该验证信息进行加密处理,获得加密后的验证信息,然后,第一容器***采用私钥对该加密后的验证信息进行解密,获得原始的验证信息。这里提供的加密方法只是示例性的说明,在实际应用中,可以采用更为复杂的加密和解密方法,从而增加非法程序在获得加密后的验证信息的破解难度,进而提高验证信息的安全性。
在第一容器***获取验证信息后,可以将该验证信息自动输入到待获取验证信息应用对应的安全验证界面上,具体如图4所示,第一容器***将获取的验证码(验证信息)自动输入到安全验证界面上的“输入验证码”的空格中,最终,用户通过点击“确定”按钮,向该应用发送验证该验证信息的指令,或者用户通过点击“取消”按钮,向该应用发送取消验证该验证信息的指令。
前述内容已经提到:在实际应用中,位于第一容器***的应用可能有很多种,且需要从第二容器中获取验证信息的应用也有很多种,因此,当第一容器***接收到验证信息后,需要将该验证信息分配给对应的应用,这时需要用到第一容器***中验证信息接收服务建立的列表,具体地,首先,根据该验证信息中携带的发信方的标识,在列表中查找到该发信方标识对应的应用标识,其次,根据该应用标识找到该应用,从而将验证信息分配给该应用。这就是前述内容记载的将列表设置成具有“时效性”可以提高查表效率的原因,即:定时地删除列表中“过期”的应用的信息,这样,当第一容器***接收到验证信息后,可以快速地从列表中找到该验证信息对应的应用,因此,提高了查表效率。
为了更好的理解本发明,下面通过一个完整的实例对整个方案进行说明,但也仅是示例性的说明。该实例具体的工作流程如图5所示,具体包括以下步骤:
S501:当用户在待获取验证码的应用中触发向发信方获取验证信息的请求后,待获取验证码应用将该请求注册到验证码接收服务中;
S502:验证码接收服务将该待获取验证码的应用的信息加入列表中;
S503:第二容器***中的短信监控服务监控短信模块接收到的短信息;
S504:发信方将携带验证信息的短信息发送到短信模块中;
S505:短信模块将该短信息发送至短信监控服务中;
S506:短信监控服务解析该短信息,提取出该短信息中的验证信息,即:验证码;
S507:短信监控服务将该验证信息发送至第一容器***中的验证码接收服务;
S508:验证码接收服务将验证信息分配至待获取验证码的应用;
S509:待获取验证码的应用将接收到的验证信息自动输入到“安全验证界面”中。
虽然上述方法实施例采用步骤序号(S501~S509)的形式来标识各个步骤,但是,这并不代表各步骤之间的实际执行顺序是完全按照该步骤序号来展开的。例如,S504可以是在S501之后就发生,或者与S502同时发生,也或者在S502之后发生。因此,在实际应用本发明执行容器***间交互验证信息的过程中,各步骤间执行顺序取决于实际发生的顺序。
下面通过图2、图3和图4详细说明本发明相比于前述背景技术中容器***获取验证信息的方法所获得的有益效果,具体如下:
在背景技术中容器***获取验证信息的方法中,当用户登录第一容器***中的某应用进行支付之前,会将第一容器***切换到第二容器***,例如,从图2中的“安全验证界面”切换到图3中的“短信界面”,在“短信界面”上获取验证信息,这时用户需要记住该验证信息,再切换到图2中的“安全验证界面”,手动输入用户记住的验证信息。而应用本发明提供的方法,只要用户在图2中的“安全验证界面”触发获取验证码的请求,就会通过第一容器***和第二容器***之间的交互,使得第二容器信息直接将验证信息发送至第一容器***中,而且第一容器***自动将获取的验证信息输入到“安全验证界面”中(如图4所示),因此,应用本发明解决了需要通过切换两容器***才可实现获取验证信息的问题。
本发明实施例中的第一容器***和第二容器***位于同一终端设备,该终端设备的内部结构的框架示意图如图6所示,包括:***内核、主控***、第一容器***和第二容器***,其中,各***共享同一***内核。
其中,***内核为Linux kernel,***内核负责直接与终端设备中的网络硬件进行通信。
主控***是由kernel启动的一个安全、可控、可配的***,主控***负责管理第一容器***和第二容器***,同时第一容器***和第二容器***通过主控***与***内核进行通信。
第一容器***和第二容器***为多***终端设备中运行的各个Android***,在各自的***中包括Framework(***框架层),通过各自的Framework与主控***进行通信。
其中,本发明实施例中的第一容器***和第二容器***可以是设置在以Linuxcontainer(容器)虚拟化技术创建的容器中的操作***。操作***可以为传统意义上的Linux操作***或Unix操作***,也可以是基于Linux操作***衍生出来的Android***、Ubuntu***或FireFox***等,还可以为以Windows平台为基础的windows***等等。实际上,本发明中的子***不限于前述例举的操作***,可以涵盖所有能够在容器中运行的操作***。
优选地,主控***可以是上述传统的操作***,也可以是对传统的kernel进行改进和/或在kernel之外(例如框架层和应用层)增加功能模块之后,得到的操作***。
主控***主要用于对各容器***进行前后台管理,与各容器***进行交互等,其中,主控***可以通过预定义的通道与各个容器***进行通信。
本发明还提出一种容器***间交互验证信息的装置,同样用于解决需要通过切换两容器***才可实现获取验证信息的问题。该装置包括以下单元:
第一发送单元701、解析单元702和第二发送单元703,其中:
第一发送单元701,位于第一容器***中,用于向发信方发送获取验证信息的请求;
解析单元702,位于第二容器***中,用于接收到发信方响应于请求返回的携带验证信息的短信息,并对短信息进行解析以获得验证信息;
第二发送单元703,位于第二容器***中,用于将验证信息发送至第一容器***。
本装置实施例的具体工作流程是:首先,位于第一容器***中的第一发送单元701向发信方发送获取验证信息的请求,其次,位于第二容器***中的解析单元702接收到发信方响应于该请求返回的携带验证信息的短信息,并对该短信息进行解析以获得验证信息,最后,位于第二容器***中的第二发送单元703将该验证信息发送至第一容器***。
本装置实施例实现容器***间交互验证信息的方式有很多种,例如,在一种实施方式中,该装置实施例还包括注册单元,注册单元位于第一容器***中,具体用于:
在第一发送单元701向发信方发送获取验证信息的请求之前,将第一容器***的验证信息接收服务注册到第二容器***的短信监控服务中;
其中,解析单元702接收到发信方响应于请求返回的携带验证信息的短信息,包括:
通过第二容器***的短信息监控服务监控到第二容器***接收到发信方响应于请求返回的携带验证信息的短信息;
其中,第二发送单元703将验证信息发送至第一容器***,包括:
根据注册信息,第二容器***将验证信息发送至相应的第一容器***。
在另一种实施方式中,该装置还包括:
第三发送单元、第一创建单元、第一获取单元、第二获取单元和第一消息传输单元,其中:
第三发送单元,位于第一容器***中,用于在第二发送单元703将验证信息发送至第一容器***之前,向主控***发送用于第一容器***与第二容器***之间的消息传输通道的创建通道请求消息;
第一创建单元,位于主控***中,用于根据创建通道请求消息,针对第一容器***与第二容器***创建两个socket文件描述符;
第一获取单元,位于第一容器***中,用于获取对应的socket文件描述符;
第二获取单元,位于第二容器***中,用于获取对应的socket文件描述符;
第一传输单元,用于根据对应的socket文件描述符,进行消息传输。
在再一种实施方式中,该装置还包括:
第二创建单元、建立单元和第二传输单元,其中:
创建单元,位于主控***中,用于在第二发送单元703将验证信息发送至第一容器***之前,创建网桥节点,并为第一容器***和第二容器***创建对应的虚拟网口,其中,各虚拟网口的一端设置于对应的容器***内,各虚拟网口的另一端与网桥节点相连;
建立单元,位于第二容器***中,用于通过其对应的虚拟网口及网桥节点与第一容器***对应的虚拟网口建立数据通路;
第二传输单元,位于第二容器***中,用于基于数据通路与第一容器***的移动网络进行数据传输。
在又一种实施方式中,第二发送单元703将验证信息发送至第一容器***,包括:
对验证信息进行加密处理以生成加密后的验证信息,并将加密后的验证信息发送至第一容器***。
应用本装置实施例获得的有益效果是:第一容器***和第二容器***之间相互通信,通过第二容器***接收发信方发送的携带验证信息的短信息,并通过提取该短信息中的验证信息,最终将该验证信息发送至第一容器***,也就是说,第二容器***在获得验证信息后,自动将该验证信息发送至第一容器***,无需在第一容器***和第二容器***之间频繁切换才可获得验证信息,提高第一容器***获取验证信息的效率。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种容器***间交互验证信息的方法,其特征在于,包括:
第一容器***向发信方发送获取验证信息的请求;
第二容器***接收到所述发信方响应于所述请求返回的携带所述验证信息的短信息,并对所述短信息进行解析以获得所述验证信息;
所述第二容器***将所述验证信息发送至所述第一容器***。
2.根据权利要求1所述的方法,其特征在于,在所述第一容器***向发信方发送获取验证信息的请求的步骤之前,所述方法还包括:
所述第一容器***的验证信息接收服务将所述验证信息接收服务注册到所述第二容器***的短信息监控服务中;
其中,所述第二容器***接收到所述发信方响应于所述请求返回的携带所述验证信息的短信息,包括:
通过第二容器***的短信息监控服务监控到第二容器***接收到所述发信方响应于所述请求返回的携带所述验证信息的短信息;
其中,所述第二容器***将所述验证信息发送至所述第一容器***,包括:
根据注册信息,所述第二容器***将所述验证信息发送至相应的第一容器***。
3.根据权利要求1所述的方法,其特征在于,在所述第二容器***将所述验证信息发送至所述第一容器***的步骤之前,所述方法还包括:
所述第一容器***向主控***发送用于第一容器***与第二容器***之间的消息传输通道的创建通道请求消息;
所述主控***根据所述创建通道请求消息,针对第一容器***与第二容器***创建两个socket文件描述符;
所述第一容器***与所述第二容器***获取对应的socket文件描述符,并根据所述对应的socket文件描述符,进行消息传输。
4.根据权利要求1所述方法,其特征在于,在所述第二容器***将所述验证信息发送至所述第一容器***的步骤之前,所述方法还包括:
在主控***中创建网桥节点,并为第一容器***和第二容器***创建对应的虚拟网口,其中,各虚拟网口的一端设置于对应的容器***内,所述各虚拟网口的另一端与所述网桥节点相连;
所述第二容器***通过其对应的虚拟网口及所述网桥节点与所述第一容器***对应的虚拟网口建立数据通路;
所述第二容器***基于所述数据通路与所述第一容器***的移动网络进行数据传输。
5.根据权利要求1所述的方法,其特征在于,所述第二容器***将所述验证信息发送至所述第一容器***,包括:
所述第二容器***对所述验证信息进行加密处理以生成加密后的验证信息,并将所述加密后的验证信息发送至所述第一容器***。
6.一种容器***间交互验证信息的装置,其特征在于,包括:
第一发送单元、解析单元和第二发送单元,其中:
所述第一发送单元,位于第一容器***中,用于向发信方发送获取验证信息的请求;
所述解析单元,位于第二容器***中,用于接收到所述发信方响应于所述请求返回的携带所述验证信息的短信息,并对所述短信息进行解析以获得所述验证信息;
所述第二发送单元,位于第二容器***中,用于将所述验证信息发送至所述第一容器***。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括注册单元,所述注册单元位于所述第一容器***中,具体用于:
在所述第一发送单元向发信方发送获取验证信息的请求之前,将所述第一容器***的验证信息接收服务注册到所述第二容器***的短信监控服务中;
其中,所述解析单元接收到所述发信方响应于所述请求返回的携带所述验证信息的短信息,包括:
通过第二容器***的短信息监控服务监控到第二容器***接收到所述发信方响应于所述请求返回的携带所述验证信息的短信息;
其中,所述第二发送单元将所述验证信息发送至所述第一容器***,包括:
根据注册信息,所述第二容器***将所述验证信息发送至相应的第一容器***。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第三发送单元、第一创建单元、第一获取单元、第二获取单元和第一消息传输单元,其中:
所述第三发送单元,位于所述第一容器***中,用于在所述第二发送单元将所述验证信息发送至所述第一容器***之前,向主控***发送用于第一容器***与第二容器***之间的消息传输通道的创建通道请求消息;
所述第一创建单元,位于所述主控***中,用于根据所述创建通道请求消息,针对第一容器***与第二容器***创建两个socket文件描述符;
所述第一获取单元,位于所述第一容器***中,用于获取对应的socket文件描述符;
所述第二获取单元,位于所述第二容器***中,用于获取对应的socket文件描述符;
所述第一传输单元,用于根据所述对应的socket文件描述符,进行消息传输。
9.根据权利要求6所述装置,其特征在于,所述装置还包括:
第二创建单元、建立单元和第二传输单元,其中:
所述创建单元,位于所述主控***中,用于在所述第二发送单元将所述验证信息发送至所述第一容器***之前,创建网桥节点,并为第一容器***和第二容器***创建对应的虚拟网口,其中,各虚拟网口的一端设置于对应的容器***内,所述各虚拟网口的另一端与所述网桥节点相连;
所述建立单元,位于所述第二容器***中,用于通过其对应的虚拟网口及所述网桥节点与所述第一容器***对应的虚拟网口建立数据通路;
所述第二传输单元,位于所述第二容器***中,用于基于所述数据通路与所述第一容器***的移动网络进行数据传输。
10.根据权利要求6所述的装置,其特征在于,所述第二发送单元将所述验证信息发送至所述第一容器***,包括:
对所述验证信息进行加密处理以生成加密后的验证信息,并将所述加密后的验证信息发送至所述第一容器***。
CN201710251438.0A 2017-04-18 2017-04-18 容器***间交互验证信息的方法及装置 Active CN107066874B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710251438.0A CN107066874B (zh) 2017-04-18 2017-04-18 容器***间交互验证信息的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710251438.0A CN107066874B (zh) 2017-04-18 2017-04-18 容器***间交互验证信息的方法及装置

Publications (2)

Publication Number Publication Date
CN107066874A true CN107066874A (zh) 2017-08-18
CN107066874B CN107066874B (zh) 2020-08-14

Family

ID=59599669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710251438.0A Active CN107066874B (zh) 2017-04-18 2017-04-18 容器***间交互验证信息的方法及装置

Country Status (1)

Country Link
CN (1) CN107066874B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109150684A (zh) * 2018-07-20 2019-01-04 新华三技术有限公司 报文处理方法、装置、通信设备及计算机可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216814A (zh) * 2007-12-26 2008-07-09 杭州华三通信技术有限公司 一种多核多操作***之间的通信方法及***
US20160085963A1 (en) * 2014-09-19 2016-03-24 Intel IP Corporation Centralized platform settings management for virtualized and multi os systems
CN105791567A (zh) * 2016-02-29 2016-07-20 宇龙计算机通信科技(深圳)有限公司 一种信息存储方法及多***移动终端
CN105812569A (zh) * 2016-04-19 2016-07-27 奇酷软件(深圳)有限公司 用于终端的信息管理方法及信息管理装置
CN106201479A (zh) * 2016-06-30 2016-12-07 深圳市金立通信设备有限公司 一种通讯消息的显示方法以及终端
CN106487811A (zh) * 2016-11-29 2017-03-08 北京元心科技有限公司 多容器间通信的方法及装置
CN106506228A (zh) * 2016-11-29 2017-03-15 北京元心科技有限公司 多***中共享移动网络方法及终端***

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216814A (zh) * 2007-12-26 2008-07-09 杭州华三通信技术有限公司 一种多核多操作***之间的通信方法及***
US20160085963A1 (en) * 2014-09-19 2016-03-24 Intel IP Corporation Centralized platform settings management for virtualized and multi os systems
CN105791567A (zh) * 2016-02-29 2016-07-20 宇龙计算机通信科技(深圳)有限公司 一种信息存储方法及多***移动终端
CN105812569A (zh) * 2016-04-19 2016-07-27 奇酷软件(深圳)有限公司 用于终端的信息管理方法及信息管理装置
CN106201479A (zh) * 2016-06-30 2016-12-07 深圳市金立通信设备有限公司 一种通讯消息的显示方法以及终端
CN106487811A (zh) * 2016-11-29 2017-03-08 北京元心科技有限公司 多容器间通信的方法及装置
CN106506228A (zh) * 2016-11-29 2017-03-15 北京元心科技有限公司 多***中共享移动网络方法及终端***

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109150684A (zh) * 2018-07-20 2019-01-04 新华三技术有限公司 报文处理方法、装置、通信设备及计算机可读存储介质
CN109150684B (zh) * 2018-07-20 2021-04-06 新华三技术有限公司 报文处理方法、装置、通信设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN107066874B (zh) 2020-08-14

Similar Documents

Publication Publication Date Title
CN110113167B (zh) 一种智能终端的信息保护方法、***以及可读存储介质
US10231124B2 (en) Anti-theft method and client for a mobile terminal
CN104660557B (zh) 操作处理方法和装置
CN109766700A (zh) 访问文件的控制方法及装置、存储介质、电子装置
CN110138744A (zh) 更换通信号码的方法、装置、***、计算机设备及存储介质
CN103095457A (zh) 一种应用程序的登录、验证方法
CN111447133B (zh) 消息传输方法和装置、存储介质及电子装置
CN107113613B (zh) 服务器、移动终端、网络实名认证***及方法
CN108616360A (zh) 用户身份校验、注册方法及装置
CN107026836A (zh) 一种业务实现方法和装置
CN112134893B (zh) 物联网安全防护方法、装置、电子设备及存储介质
CN111131416A (zh) 业务服务的提供方法和装置、存储介质、电子装置
CN104618315A (zh) 一种验证信息推送和信息验证的方法、装置及***
CN110290150A (zh) 一种虚拟专用网络vpn的登录验证方法及登录验证装置
CN111314381A (zh) 安全隔离网关
CN113225324A (zh) 区块链匿名账户创建方法、***、设备及存储介质
CN115039376A (zh) 终端设备信息传输方法、设备指纹生成方法及相关产品
CN108123961A (zh) 信息处理方法、装置及***
CN108322886B (zh) 终端定位数据的鉴权方法和装置
CN110830479B (zh) 基于多卡的一键登录方法、装置、设备及存储介质
US20140237567A1 (en) Authentication method
CN107066874A (zh) 容器***间交互验证信息的方法及装置
CN111046314A (zh) 一种报表查看方法、装置、电子设备和存储介质
CN105871801A (zh) 一种盗链的检测方法及装置
CN110969474A (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210201

Address after: 101300 room 153, 1 / F, building 17, 16 Caixiang East Road, Nancai Town, Shunyi District, Beijing

Patentee after: Yuanxin Information Technology Group Co.,Ltd.

Address before: 100176 room 2222, building D, building 33, 99 Kechuang 14th Street, Beijing Economic and Technological Development Zone, Beijing

Patentee before: BEIJING YUANXIN SCIENCE & TECHNOLOGY Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20170818

Assignee: Beijing Yuanxin Junsheng Technology Co.,Ltd.

Assignor: Yuanxin Information Technology Group Co.,Ltd.

Contract record no.: X2021110000018

Denomination of invention: Method and device of mutual verification information between container systems

Granted publication date: 20200814

License type: Common License

Record date: 20210531