Nothing Special   »   [go: up one dir, main page]

CN105095786A - 使用动态呈现和数据配置建立安全移动协同应用的平台 - Google Patents

使用动态呈现和数据配置建立安全移动协同应用的平台 Download PDF

Info

Publication number
CN105095786A
CN105095786A CN201510224806.3A CN201510224806A CN105095786A CN 105095786 A CN105095786 A CN 105095786A CN 201510224806 A CN201510224806 A CN 201510224806A CN 105095786 A CN105095786 A CN 105095786A
Authority
CN
China
Prior art keywords
server
data
application
client application
publisher
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
CN201510224806.3A
Other languages
English (en)
Other versions
CN105095786B (zh
Inventor
E·弗洛雷斯
R·冯
C·布莱尔
D·安南
H·马赫戈布
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.)
Iqvia Inc
Original Assignee
IMS Health Inc
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 IMS Health Inc filed Critical IMS Health Inc
Publication of CN105095786A publication Critical patent/CN105095786A/zh
Application granted granted Critical
Publication of CN105095786B publication Critical patent/CN105095786B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Medical Informatics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开用于提供对用于通信终端的受保护数据的访问的系统和方法,所述系统包括:发布者数据库,其被配置来以加密形式存储受保护数据;第一服务器,其被耦合到所述发布者数据库;第二服务器,其被耦合到所述第一服务器,所述第二服务器被配置来提供对所述受保护数据的密码学强认证访问;到第一安全信道的接口,其介于所述第一服务器与所述通信终端之间;和到第二安全信道的接口,其介于所述第一服务器与客户应用之间,其中所述第一服务器被配置来经由所述第一安全信道与所述通信终端交换受保护数据,且经由所述第二安全信道与所述客户应用交换受保护数据。

Description

使用动态呈现和数据配置建立安全移动协同应用的平台
技术领域
本发明的实施方案大体上涉及一种安全应用开发平台,且特定地说涉及一种用于开发安全移动应用以访问诸如医疗信息的敏感数据的系统和方法。
发明背景
移动医疗(“mHealth”)是用于由诸如移动电话、患者监控装置、个人数字助手(PDA)和其它移动或无线装置的通信终端支持的医疗和公共医疗实践的术语。mHealth涉及语音和短消息服务(SMS)以及诸如移动数据通信系统(例如,3G、4G、4GLTE等等)、全球定位系统(GPS)和蓝牙技术的更复杂技术的使用。
通常针对互联网使用优化的智能电话的高级计算能力允许个人在任何时间从任何之处访问敏感数据、个人信息和建议(包括但不限于与医疗和医疗护理有关的个人信息和建议)。智能电话还提供不可经由膝上型计算机可用的功能,诸如移动和增加GPS和摄像头功能时从传感器采集信息的能力。除非明确或使用背景明确无误地指示不同含义,否则敏感数据、个人信息和建议可以在本文中统称为敏感个人信息。
移动应用(或移动app)是被设计在智能电话、平板计算机和其它移动装置上运行的软件应用。一些移动app用来将诸如医疗护理信息的敏感个人信息传递到客户,或从消费者搜集医疗状况信息并将其发送到医疗护理提供者。并非与敏感个人信息的交换有关的所有移动app(例如医疗护理中已开发的移动app)均广泛地可用于消费者。一些最先进的医疗app不一定被设计来面向普通消费者。已设计一些移动app用于医疗护理执业医师,其它app用于患者但是需要处方,且其它app旨在只用于少型子组的患者。一些移动app需要美国食品和药品管理局(FDA)批准。如果移动app已被移植到基本的操作系统(例如从Android移植到Windows或iOS),那么其还可以能够在诸如个人计算机(PC)的其它平台上执行。如本文中使用,术语“移动app”或“移动应用”可以包括在PC(例如,桌上型计算机、塔式计算机、膝上型计算机、笔记本等等)或其它通用消费者计算装置(除非移动性提供所述优势或除非使用背景明确无误地限制,否则不限于移动装置)上执行的应用。
如患者医疗信息的某些敏感个人信息受法律(例如,美国的医疗信息可移植性和责任法案(编纂在42U.S.C.§300gg和29U.S.C§1181以及其下等等和42USC1320d以及其下等等处的“HIPAA”))保护,且必须以保护患者隐私的方式加以处理。此信息被称作受保护医疗信息(PHI)。关于PHI,重要的是,如何使用输入到移动app中的数据的透明度和意识且获得患者对使用PHI数据的同意是重要的。如果医疗护理移动app收集、存储和/或传输PHI,那么本质上移动app完全遵从HIPAA和所涉国家的任何其它可适用法律或法规来收集、存储和/或传输PHI。旨在连接到电子医疗病历(EHR)或个人医疗病历(PHR)以使得用户能够发送和检索移动装置与EHR/PHR之间的患者信息的任何移动app必须以安全方式进行连接,且所涉全部利益相关者必须接受其管理工作角色以保护所含PHI数据。
数据安全涵盖几个安全方面,诸如机密性(例如通过使用加密)、完整性、可用性、真实性、不可否认性和访问控制,其每一个均具有不同级别的信息生命周期。数据安全是通过使用加密而提供。加密是用于保证数据和通信的隐私的标准工具。多种加密方案是市售的以保护受保护信息,所述方案例如由国家标准技术局(NIST)于2001年11月26日发布在联邦信息处理标准出版物第197版的高级加密标准(AES)。AES是对称加密方案,使得相同密码密钥用于编码和解码两者。AES方案本身存在于多个变体中,诸如AES计数器模式、AES密码块链接(CBC)+密文偷窃(CTS)、RSA等等。一些AES变体可以在2005年2月发表在RequestforComment(RFC)3962的“AdvancedEncryptionStandard(AES)EncryptionforKerberos5”和其中叙述的参考文献中加以描述。
移动应用对于与客户和供应商具有商业行为的公司来说越来越重要。在处置诸如医疗信息的敏感个人信息的组织的情况中,亟需移动化以直接接触患者,然而,遵从HIPAA要求的所有安全性和架构需求的移动应用极难建立。
移动应用还包括允许应用进行并非直接由基本操作系统支持的任务(诸如安全消息发送和调查)且进行涉及到驻留在移动装置外部但是具有与移动装置的通信连接性的装置(诸如蓝牙装置、GPS等等)的通信的任务的接口。移动装置随时间发展,且其不断增加新的特征,因此移动装置将增加新的接口以支持新的特征。虽然支持新的特征可能需要更新操作系统或应用开发工具,但是与移动装置上的应用程序的配置变化频率相比,此类更新并未极频繁地发生。
支持移动装置的主要困难是关于更新部署在移动装置上的应用程序的版本的政策和程序。当更新的应用程序可用时,具有所述应用程序的所有用户必须更新其手机内的应用程序的版本。取决于诸如稳定性、动态市场、技术OS需求等等的一长串因素,一些应用程序提供短的版本生存时间(即,期间特定版本是当前版本的时间长度),其它应用程序可能需要更长的版本生存时间。更新应用程序版本通常要求移动装置用户与诸如在线app商店的服务器通信且检索新版应用程序。此程序可能又慢又难,因为app商店趋向于限制应用程序且延迟发布应用程序的新版本的程序。
此外,用于移动应用开发的大部分系统在其集成度方面具有缺点。用于移动装置的应用的当前实施方式预定义或硬编码图形用户界面(GUI)、数据结构和逻辑,当从商店或托管服务器下载应用时,所述图形用户界面(GUI)、数据结构和逻辑然后被封装在一起。其它类型的移动应用完全以客户端/服务器模式在线工作以得到或使用GUI、数据结构和逻辑,同时移动装置连接到服务器且当没有数据连接到服务器时不能有效操作。其它应用使其GUI、数据结构和逻辑被硬编码,但是允许连接到服务器以同步数据。用作客户端的移动装置可只执行预定义组的功能且具有预定义GUI。
用于移动应用开发的一些已知系统允许动态地创建功能(例如针对GUI、逻辑和数据)且无线地传递所述功能,但是缺少通信、存储和程序方面的集成安全性。此类系统均不会考虑服务器是否是系统的重要部分以提供数据恢复、安全管理和对来自移动装置的信息的其它类型的访问的采用。
因此,需要一种用密码学开发用于移动装置用户的安全移动应用的集成开发平台,所述应用包括但不限于:mHealth使用;实施诸如HIPAA和NIST/FIPS的政府安全标准的应用;与服务器应用通信以动态地更新GUI、逻辑和数据的应用;在线和离线工作的应用;可重建其状态和数据以防移动装置丢失或改变的应用;等等。
概述
根据本公开内容的实施方案提供一种集成单个平台中先前不可用的多个特征的移动应用开发平台。所述集成通过将用于建立开发者的应用的简易接口提供给开发者而提供协同效应,藉此提取与安全、应用分布和管理相关的复杂度。集成特征可以包括内置安全性、服务器同步和常见开发工具的使用,而软件开发者无需详细和/或低层次地了解各种移动操作系统的编程。
实施方案通过提供实现HIPAA法规的应用容器简化兼容应用的开发。使用平台的组织可以只关注将作用于任何支持的移动平台的HTML/CSSJavaScript应用的一个集合,得以减小开发精力和证书载入。
在一个实施方案中,一种系统可以包括:发布者数据库,其被配置来以加密形式存储受保护数据;发布服务器,其耦合到所述发布者数据库;到客户应用的通信接口;耦合到所述发布服务器的认证服务器,所述认证服务器被配置来认证通过所述发布服务器提供的激活码,以验证移动认证一次性密码且从装置生成用于解密数据的安全会话密钥;且其中所述客户应用被配置来从所述移动装置接受信息和将信息发布到所述移动装置。一种移动装置包括:移动应用容器(或容器);和耦合到所述移动容器的安全存储装置,其中所述移动容器被配置来执行第一移动配置应用(或配置)和内部安全网络服务器。
所述应用容器是可托管和支持几个应用配置的使用的移动应用。每一配置描述GUI外形、应用流程、逻辑和数据。所述容器可以开始于被识别为第一配置的一种配置。所述第一配置可以允许用户选择使用其它配置。
根据本公开内容的实施方案可以提供一种用于提供对用于通信终端的受保护数据的访问的系统和方法,所述系统包括:发布者数据库,其被配置来以加密形式存储受保护数据;发布服务器,其耦合到所述发布者数据库;认证服务器,其耦合到所述发布服务器,所述认证服务器被配置来提供对所述受保护数据的密码学强认证访问;到第一安全信道的接口,其介于所述发布服务器与所述通信终端之间;和到第二安全信道的接口,其介于所述发布服务器与客户应用之间,其中所述客户应用被配置来经由所述第一安全信道和所述第二安全信道从所述通信终端接受信息和将所述信息发布到所述通信终端。
一种根据本公开内容的实施方案的方法可以包括:由耦合到发布者数据库的发布服务器以加密形式存储受保护数据;从所述通信终端接收访问所述受保护数据的请求,所述请求包括所谓证书;将所述所谓证书传输到认证服务器以通过密码学强认证来认证所述所谓证书;如果认证所述所谓证书,那么授权所述通信终端与所述受保护数据之间的访问;在客户应用与所述发布者数据库之间传达所述受保护数据;和在所述通信终端与所述发布者数据库之间传达所述受保护数据。
前文是本公开内容的实施方案的简单总结以提供对本公开内容的某些方面的理解。此概述并非本公开内容和其各个实施方案的扩展也并非详尽综述。不希望识别本公开内容的关键或重要元件,也不希望描绘本公开内容的范围,但是希望以简单形式呈现本公开内容的选定概念作为对下文呈现的更详细描述的介绍。如将明白,本公开内容的其它实施方案可能单独或组合利用上文陈述或下文详述的特征中的一个或多个。
附图简述
在尤其结合附图考虑本发明的实施方案的以下详述之后将明白本发明的以上和又其它特征和优点,其中各个图中的相同参考数字是用来指代相同组件,且其中:
图1是描绘根据本发明的实施方案的移动通信网络的方框图;
图2A是描绘根据本发明的实施方案的移动装置的系统级方框图;
图2B是描绘根据本公开内容的实施方案的终端用户非移动装置的系统级方框图;
图3说明描绘根据本公开内容的实施方案的系统300的全局视图;
图4以相对较大详细程度说明根据本发明的实施方案的开发平台的内部架构和公开界面;
图5说明根据本公开内容的实施方案的发布应用的程序;
图6说明根据本公开内容的实施方案的用应用注册用户的程序;
图7说明根据本公开内容的实施方案的搜索应用的程序;
图8说明根据本公开内容的实施方案的在通信终端上启动和使用应用的程序;且
图9说明根据本公开内容的实施方案的同步和更新应用的程序。
本文中使用的任何标题只是为了组织目的,且并无用来限制所述描述或权利要求的范围的意图。如本申请中使用,词字“可以”是以允许意义使用(即,意指具有…的可能性),而不是强制意义(即,意指必须)。类似地,词字“包括(include、including和includes)”意指包括但不限于。为了促进理解,酌情使用相同参考数字来指代图示所共有的相同元件。除非使用背景另有指示,否则可以虚线或点线来说明特征的选用部分。
具体实施方式
下文将结合示例性数字信息系统说明本公开内容。虽然充分适用于搭配例如使用服务器和/或数据库的系统使用,但是本公开内容不限于搭配任何特定类型的系统或系统元件的配置使用。所属领域技术人员将认识到,所公开的技术可以在其中希望提供可转让许可以访问信息或控制决定的任何系统或程序中使用。
还将关于软件、模块和相关硬件描述本公开内容的示例性系统和方法。然而,为了避免不必要地混淆本公开内容,以下描述省略了可以方框图形式展示、众所周知或以其它方式总结的熟知结构、组件和装置。
在以下详述中,陈述数种具体细节以提供对本文中描述的实施方案或其它实例的完整理解。在一些实例中,没有详细描述熟知方法、程序、组件和电路以免混淆以下描述。此外,所公开实例只是为了示例性目的且可以采用其它实例来代替或组合所公开实例。还应注意,本文中呈现的实例不应被解释为限制本发明的实施方案的范围,因为其它同样有效的实例也是可行且可能的。
如本文中使用,术语“模块”大体上是指步骤、程序或组件的逻辑序列或相关。例如,软件模块可以包括计算机程序内的相关例程或副例程集合。替代地,模块可以包括实质上独立硬件装置。模块还可以包括程序的逻辑集合,而无关于任何软件或硬件实施方式。
如本文中使用,术语“传输器”可以大体上包括能够传输信号的任何装置、电路或设备。如本文中使用,术语“接收器”可以大体上包括能够接收信号的任何装置、电路或设备。如本文中使用,术语“收发器”可以大体上包括能够传输和接收信号的任何装置、电路或设备。如本文中使用,术语“信号”可以包括电信号、无线电信号、光学信号、声信号等等中的一个或多个。
如本文中使用,术语“计算机可读介质”是指参与存储指令和/或将指令提供给处理器以供执行的任何有形存储和/或传输介质。此介质可以采取许多形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质包括例如NVRAM或磁盘或光盘。易失性介质包括动态存储器,诸如主存储器。计算机可读介质的常见形式包括例如软盘、软磁盘、硬盘、磁带或任何其它磁性介质、磁-光学介质、CD-ROM、任何其它光学介质、穿孔卡、纸带、具有孔图案的任何其它物理介质、RAM、PROM、EPROM、FLASH-EPROM、如存储卡的固态介质、任何其它存储器芯片或内存盒、如下文描述的载波或计算机可从其读取的任何其它介质。电子邮件的数字文件附件或其它独立信息档案或档案集合被视为等效于有形存储介质的分布介质。当计算机可读介质被视为数据库时,应了解数据库可以是任何类型的数据库,诸如关系型、层次型、面向对象的数据库等等。因此,本公开内容被视为包括有形存储介质或分布介质或先前技术公认等效物或后继介质,其中存储本公开内容的软件实施方式。
图1说明通信终端(例如,移动装置和非移动装置)和使用在通信终端上运行的应用且可以通过使用通信终端访问敏感个人信息的相关用户的分散系统。多个移动装置20被展示经由蜂窝通信与蜂窝基站24无线地通信。蜂窝基站24通过大型公共网络(诸如互联网28)经由一个或多个蜂窝通信载体(没有展示)操作的多个中间服务器实现通信。图1还说明与互联网28通信接触的多个非移动计算装置21。交易服务器32也可以与互联网28通信。交易服务器32还可以通过专用网络与验证服务器36通信。此外,交易服务器32可以与处理敏感信息的系统(诸如医疗或金融机构40,其中移动装置20和/或非移动计算装置21的用户可以具有诸如业务或医疗护理的某种关系)的一个或多个仓库或所述一个或多个系统通信。
根据本公开内容的实施方案不限于图1中说明的移动装置20和/或非移动计算装置21的类型。实施方案可以搭配实质上任何类型的输入/输出装置或通信终端(包括PC、MacBook、平板计算机、瘦客户端)或可经由网络访问的实质上任何其它类型的计算装置使用。
应强调,如图1中所示的元件的配置只是为了说明目的且不应被解释为将本发明的实施方案限于任何特定的元件布置。
服务器可以是软件控制系统,其包括处理单元(CPU)、微处理器或执行软件或专用集成电路(ASIC)以及此类元件的各个部分或组合的其它类型的数字数据处理器。存储器可以包括随机访问存储器(RAM)、只读存储器(ROM)或此类存储器的组合和其它类型的电子存储器装置。本发明的实施方案可以被实施为软件、硬件(诸如但不限于,逻辑电路)或其组合。
参考图2A,展示移动装置20的多个组件。如说明,在此实施方案中,移动装置20是具有基本功能的典型移动电话。移动装置20具有用于从用户接收输入的输入接口60,且提供显示器64以在视觉上给用户呈现信息。移动装置20还包括存储器68,其用于存储控制移动装置20的主要功能的操作系统连同在移动装置20上运行的多个应用以及数据。处理器72执行操作系统和应用。SIM卡76提供用于存储应用和数据的额外存储器,且具有用于执行应用和数据的微处理器。此外,SIM卡76具有允许识别移动装置20的唯一硬件识别码。当已安装时,SIM卡76形成移动装置20的部分。其它类型的移动装置可具有加密装置存储器来代替SIM卡76,这提供等效功能。通信接口80允许针对语音和数据与蜂窝网络进行通信。
参考图2B,展示非移动计算装置21的多个组件。如说明,在此实施方案中,非移动装置21是具有基本功能的典型的桌上型或塔式计算机。非移动装置21具有用于从用户接收输入的用户输入接口251(例如,键盘、触屏和/或麦克风),且提供用户输出接口253以在视觉上或听觉上给用户呈现信息。非移动装置21还包括存储器255,其用于存储控制非移动装置21的主要功能的操作系统连同在非移动装置21上运行的多个应用以及数据。处理器257执行操作系统和应用。非移动装置21可以具有允许识别非移动装置21的唯一硬件识别码(例如介质访问控制(MAC)地址)。可以加密存储器255的至少部分。通信接口259允许例如通过以太网或Wi-Fi接口与LAN或互联网28通信。
与所属领域的工具和方法(提供各个系统组件之间的安全设计的不适当集成)相比,根据本公开内容的实施方案包括被设计来跨用于更无缝介接的组件集成安全设计的系统组件,因此解除了系统组件的开发者对安全介接的极大担忧。实施方案还防止未授权用户访问信息。
集成可以提供松弛耦合的应用之间的协同效应。松弛耦合意指应用不一定取决于彼此。可以存在的任何相依性不应在不存在一个(即,相依)应用时影响另一应用的行为。可以独立或一起使用此类应用,但是如果一起使用此类应用,那么其可以彼此通信。例如,如果两个应用在容器中协作且应用之一在同步程序之后更新,那么将不会影响另一应用,但是可能影响协作工作。应用之间的松弛耦合关系可以通过共享应用之间的选用数据而实现。当存在共享应用时,两个应用将使用共享数据而交互。
根据本公开内容的实施方案提供移动应用开发平台,其包括并非以所属领域的开发平台中的集成形式使用的特征集成。实施方案可以允许软件应用开发者使用常见的开发工具(诸如HTML、CSS和JavaScript)创建更安全的移动应用,且无需对不同的移动平台软件开发环境具有详细的技术了解,或无需是安全或移动通信方面的专家。实施方案可以用创建复杂的客户端/服务器应用所需的工具提供集成的端对端安全性。实施方案可以提供一种用于通过与后台服务器通信来同步和/或更新移动app客户端中的数字内容的方法,所述方法有用于恢复(例如如果移动装置丢失且被替换,或如果软件升级产生非预期问题)。移动应用开发平台还提供安全移动存储,其有用于在移动app没有连接到互联网时使用移动app。
根据本公开内容的实施方案的客户应用是可以与发布者(例如发布服务器)通信以从移动装置发送和接收信息的服务器端应用。发布服务器可以被说明为例如图1的交易服务器32。根据本公开内容的实施方案的移动应用是建立用于客户端(移动或非移动客户端)的应用,且可以提供与终端用户的接口。例如,移动应用可以包括跟踪血糖仪读数的糖尿病应用,且对应的客户应用可以包括接收并处理血糖仪读数的基于服务器的程序(例如,电子医疗病历(EMR)程序)。
根据本公开内容的实施方案可以在移动app客户端与后台服务器之间提供通信路径和相对充分定义的接口。移动app客户端的单独开发精力可以投入到可在相应类别的移动平台操作系统(例如Android、WindowsMobile、iOS等等)上运行的移动app客户端中。泛用服务器可以用来托管后台服务器应用,其使用被提供作为实施方案的部分以与移动app客户端通信的接口。
移动app客户端与后台服务器之间的接口可以包括几个级别的接口。例如,客户端应用可以使用JavaScript接口以访问移动装置的安全存储装置。服务器端应用(例如,客户应用)可以使用诸如网络服务接口(使用SOAP标准安全特征配置的SOAP)的安全通信接口以与发布服务器通信。SOAP被称作由XML协议工作组(是如所属领域技术人员已知的网络服务活动的部分)产生的W3C推荐标准。当前版本是2007年4月27日到期的SOAP1.2。根据本公开内容的实施方案将移动装置中的安全存储装置与发布服务器链接在一起,因此在移动装置应用与客户应用之间提供通信链路。用于接口的技术可以包括其它类型的接口技术。
根据本公开内容的实施方案可以提供用于使用移动应用开发平台使得用户只从app商店下载一次容器的程序。容器可以保存几个应用配置,且移动装置使用适用于移动装置和用户偏好的配置以因此呈现用户GUI、流程、逻辑和数据。此后,直接从相关服务器进行应用配置更新。此使得用户能够在用户下一次使用应用程序来访问服务器时获得最新版本的应用配置。例如,容器可以包括用于预定移动装置的用户GUI、流程、逻辑和数据在诸如HTML/CSS或JavaScript的代码方面的描述。容器可以解译适用于移动平台的代码,且提供用于移动平台的用户GUI、流程、逻辑和数据。
例如,当容器连接到服务器时,容器接收应用配置。第一应用配置最初可以由容器使用,且允许用户开始以应用进行工作。应用配置是由服务器发送到容器的描述符、逻辑和数据结构的集合。可以多种方式(例如使用HTML、CSS、JavaScript和JSON)实施或传达描述符、逻辑和数据结构。还可以使用其它技术。
容器接收存储在服务器中的最新配置。服务器可以在任何时间更新配置,且如果更新配置,那么容器将接收最新(即,最新的)版本。容器可以连接到几个服务器。当(例如通过激活码的预配置)初始化容器时,容器可以识别相关服务器且然后起始与相关服务器的通信。一旦选取相关服务器,容器将总是使用相关服务器。在一些实施方案中,移动装置可以被配置来与多个相关服务器通信,例如如果一个相关服务器不可用,那么相继与另一相关服务器通信。
根据本公开内容的实施方案可以提供到外部应用(例如“客户应用”)的接口,所述接口能够经由发布服务器从移动装置接收信息且将信息发布到移动装置。客户应用是与发布服务器通信以从移动客户端发送和接收信息的服务器应用。客户应用可以使用安全网络服务接口(SOAP)连接到发布者。客户应用的实例可以包括使用发布服务器的WSI接口以与移动用户交换信息的EMR系统。移动应用开发平台可以实质上存储来自客户应用的被发布到可由移动应用开发平台访问的安全数据库中的移动装置的所有信息,以帮助解除客户应用与移动应用的耦合且能够恢复用户的信息(以防手机中丢失信息)且无需介入客户应用。
客户应用开发平台允许至少两个不同类型的客户应用:交互应用和轮询应用。对于交互应用,客户应用将被通知何时在发布者数据库(例如图4的发布者数据库402)中修改与客户应用相关的数据。对于轮询应用,轮询客户应用定期检查平台数据库中所修改的信息,且然后检索数据且处理所述数据以实行客户应用的目的。交互客户应用可以在线或离线,因为平台提供队列机制以允许客户应用具有自身的生命周期。
客户应用通常是连接到发布服务器且可以从发布服务器接收通知的计算机装置。在某些时间周期期间,客户应用可能由于维护周期或通信故障而离线(例如,处于非服务状态)。在离线时间周期期间,使用移动应用的用户可能仍然改变信息(例如,更新/添加/移除数据等等),且发布服务器仍然需要将所述改变通知客户应用。然而,因为客户应用离线,所以客户应用不能接收通知。为了防止通知丢失,实施方案必须将通知排队,且当客户应用服务重新在线时,队列将开始传递关于离线时间期间发生的所有改变的通知。生命周期是指更新客户应用且使移动应用用户可访问已更新的客户应用的时间表。虽然本文中关于在线和离线阶段描述生命周期,但是此外可以使用其它阶段或其它阶段可用。
移动应用开发平台可以支持一个或多个组织、用户组和应用。每一组织将具有其自身的用户组和应用的集合,且此类用户组的成员与不在用户组内的实体相比可以被提供对应用配置的更多信任或访问。一些用户组可以访问应用配置的第一集合,且其它组可以访问应用配置的第二集合。当多个客户(例如医院ABC和医院XYZ)之间共享一个系统时,多个组织可能是有用的。医院ABC的患者可以形成第一组,医务人员成员可以形成第二用户组,而医院XYZ可以具有不同用户组织。虽然所述两个组织使用相同的计算和通信装备(例如服务器),但是各个组的用户、应用和数据彼此独立。此多组织资源使用可以称作多租户使用。访问控制是用来防止组织、用户组和应用之间的未授权访问。访问控制是基于由用户组和应用之间的管理员指派的访问特权。
实施方案可以支持带外用户注册或app中用户注册(如果可用)。当客户应用允许注册用户时,发生带外用户注册。在此情况下,注册是经由客户门户或通过来自诸如人类资源系统的另一系统且未使用移动应用的自动注册而进行。相比之下,app中用户注册使得用户能够从移动应用自行注册。
移动应用开发平台可以支持被设计来通过共享数据、状态和用户偏好一起工作的多个应用配置。应用配置可以包括由应用使用的数据集,此外所述应用可以与其它应用配置共享所述数据集。可共享应用配置数据集赋予开发者模块化建立复杂的应用或建立多个隔离应用的灵活性,所述应用中的每一个可以与其它隔离应用相对独立地工作。此类应用可以称作协作应用或松弛耦合应用。
从用户数据的观点来看,移动应用开发平台作用于“文档”,使得文档可以实质上是具有实质上任何类型的结构(例如,量度、文档、电子表格、文字、图形、图像、音频、视频、流媒体等等)的任何类型的数据。视情况,实质上每一文档均可以由当创建或更新文档时提供的一个或多个标签或标记识别。标签和标记可以由系统提供以保证唯一性,或可以由用户提供以帮助保证印象深刻的命名惯例。标签或标记可以用来加索引、识别且容易地寻找个别文档。在一些实施方案中,当更新文档时,文档可以保留其标签或标记。在一些实施方案中,标签和标记可以由用户管理(例如,改变、添加、移除)。标签和标记可以用来指示文档所包括的数据的类型(例如,MP4视频)。移动应用作用于数据的方式并无限制。例如,如果数据包括HTML/CSS/JS代码,那么移动应用可以被配置来以适用于数据的格式呈现数据。
在根据本公开内容的一些实施方案中,移动用户可以用客户服务实体使用带外通信机构(例如诸如门户网站的次级通信信道或当面通信机构)来注册,以获得将用来激活应用的激活码或使用具有可用于已注册用户的额外特征或优点的移动应用。在根据本公开内容的其它实施方案中,控制器应用可以控制系统中的用户注册且将激活码提供给用户以使得用户能够激活移动应用。虽然此第二选项类似于第一选项,但是不同之处在于用户在已注册到发布服务器之前已经在其它系统中注册。在根据本公开内容的其它实施方案中,可以从移动应用本身执行激活,使得移动装置的用户将使用移动应用以首先带外(诸如经由电子邮件或SMS短消息)请求且接收激活码,且然后输入所接收代码以激活应用且能够进行已激活的功能。
由各个实施方案解决的问题是如何针对在线和离线使用开发固有安全的移动应用,且不招致为每一移动平台写入单独软件代码的负担。此外,移动应用应根据与安全数据应用有关的实质上所有安全标准和规范而设计和操作。关于通过使用移动应用开发平台开发的其它移动应用,所需特性包括移动应用应协同、能够彼此共享数据、应可模块化共享且可上传到移动装置,且可以动态更新。移动应用开发平台可以使用GUI描述语言且能够支持脚本语言。
根据本公开内容的实施方案使得能够开发和支持处置或处理敏感信息(例如供患者和消费者使用的医疗应用)且并有上文识别的所需特性的移动应用。实施方案可以允许需要访问敏感信息的实体(例如,医疗服务提供者)获得对与敏感数据有关的更深入了解,诸如改善对患者行为、遵守规定或建议的药物治疗和药物治疗对患者健康的影响的了解。本文中描述的实施方案使得能够开发吸引人(诸如患者)的兴趣且激励患者机密地输入其数据的移动应用。用于医疗应用的移动应用将是HIPAA兼容应用,以帮助保证保护患者信息使其将不会被公开或误用。
因为移动应用应吸引患者的兴趣,所以移动应用和其内容应相对频繁地更新和改善以调整到不断改变的患者使用、需要和预期,且因此继续吸引其兴趣。通常,用户应意识到更新和改善的优点。因此,在医疗应用的情况下,通过提供尝试解决许多或所有用户的医疗相关需要的一个简单但集成移动应用,用户可以变得更加沉迷于使用移动应用。可以造成改善患者健康,因为患者更加沉迷于其自身的医疗护理。
根据本公开内容的实施方案可以提供允许应用开发者开发移动应用的移动应用开发平台,移动应用具有移动应用或移动应用开发平台的至少以下特性:
实施方案可以支持通过使用独立于安全套接层(SSL)的强传输安全协议下载应用配置信息、数据、设置等等。还可以在另外的SSL层的顶部上使用安全传输机制。
实施方案可以支持开发需要永久互联网连接(WiFi、3G、4G、5G等等)、无互联网连接或零星的互联网连接的移动应用。
实施方案可以支持从app商店下载容器的能力,所述能力将能够支持在相同容器中执行多个应用配置。
实施方案可以支持从服务器下载用于相应不同类型的用户的多个应用配置的能力。
实施方案可以支持为每个用户配置配置多个应用配置且无需安装其它应用且无需获得用于装置的移动应用的不同或更新版本的能力。
实施方案可以支持提供多个移动应用配置以共享数据或具有独立数据集的能力。数据集可以是其中用户可以存储信息的预定义逻辑位置或分类。数据集可以是分层和/或递归的。数据集对于每个应用来说可以不同,或应用之间可以共享数据集。数据集可以一起分组在数据组中。例如,单个用户可以在他的逻辑空间内具有不同数据集中的不同文档,例如PHI数据集中的PHI文档和测量数据集中的血压测量文档。不同用户可以具有不同逻辑空间或其关系结构(例如,目录树或患者/儿童目录关系),即使其可以具有相同数据集中的类似文档也是如此。
数据组使用客户应用URL登入点与客户应用相关。客户应用可以被订阅到客户应用需要从其得到通知的数据组。当创建、修改或删除与数据组相关的数据集的文档时,可以通知已订阅的客户应用。
实施方案可以支持开发使用强安全存储以存储配置、逻辑和数据的移动应用的能力。强存储是指加密存储的密码学强度。此强安全存储通常使用AES或其它类似强安全标准。
实施方案支持开发能够跟踪客户端和服务器两者中的用户数据变化和用户数据交互的移动应用的能力。
实施方案可以提供集成服务器交互以支持数据恢复、安全证书恢复、用户之间共享数据,且允许门户与相同平台中的用户信息交互。当发布服务器提供允许客户应用与其交互的WSI接口时,存在集成服务器交互。WSI接口可以用来集成服务器与客户门户或集成服务器与诸如旧版app的客户应用,等等。门户被称作允许终端用户与远程系统交互的应用。门户还可以称作网络应用。
实施方案可以提供集成机构(例如通信接口)用于外部服务器以接收一些或所有用户更改的通知,且能够经由所提供的网络服务接口检索和推送用户信息。此类服务器可以用来将信息发布到移动装置和从移动装置接收信息。例如,外部服务器接收和处理从移动装置发送的信息。服务器将使用安全的网络服务接口(WSI)与发布服务器通信,且检索移动装置中生成的信息。WSI被称作SOAP标准中基于调用、参数和数据结构的中间软件。根据本公开内容的实施方案使用SOAP标准以与发布服务器通信。
实施方案可以在报告装置丢失或被盗时支持自动擦除移动装置上的安全信息。擦除可以经由无线电无线命令或在输入密码的几次无效尝试之后远程起始。此后,为了激活新装置,用户可以接收激活码且然后使装置与发布服务器同步以恢复存储在旧的现在擦除的装置中的安全内容。实施方案使用安全特征以保证不可能克隆安全数据存储,即,在不首先擦除保存数据存储的装置或获得新激活码的情况下,数据存储不能被复制。
实施方案可以提供完全法律和法规遵从以保护机密信息,例如HIPAA、国防信息安全认证和评审程序(DIACAP)和未来可用的其它制度遵从。
实施方案可以提供多租户支持和多个用户组支持。
实施方案可以支持授权用户组成员对由根据本公开内容的实施方案开发的应用的访问权。
根据本公开内容,实施方案可以支持授权用户对属于其它用户的数据的访问权,目的是读取、更新、删除或共享属于其它用户的数据。
实施方案可以在外部服务器(例如客户应用)与移动装置之间提供安全通信路径。客户应用的开发者和移动应用配置无需熟悉具体实施方式。
实施方案可以支持用于当在平台数据库中修改与客户应用相关的数据时更新客户应用的交互和轮询方案两者。
实施方案可以提供扩展应用程序接口(API)以支持使用较新的移动装置特征的本机和混合应用的能力。
实施方案可以支持使用用于用户数据的文档摘要且提供使用户给文档元信息添加标记以改善未来搜索性能的能力。文档摘要帮助使实施方案独立于由系统传输的信息。文档可以实质上是将具有可以指示可搜索标记、信息类型等等的元信息栏的任何类型的内容。此信息主要涉及客户应用服务器和对应的应用配置。
实施方案可以提供使客户应用使用平台数据库和/或使客户应用具有其自身的数据库的能力。
实施方案可以支持其它通信协议(例如蓝牙)且支持其它外部装置,诸如生物特征装置。
实施方案可以包括被配置来在实质上任何时间从客户应用接收用户配置文件管理请求的发布服务器。在创建用户配置文件之后,发布服务器可以注册用户配置文件且从认证服务器获得激活码。认证服务器可以被说明为例如图1的验证服务器36。激活码可以被提供给客户应用。
实施方案可以包括被配置来在实质上任何时间从移动装置接收用户注册请求的发布服务器。在接收到用户注册请求之后,发布服务器可以从认证服务器请求认证码且将认证码提供给移动装置。在接收到认证码之后,移动装置可以进行激活程序。
实施方案可以包括移动装置,其被配置来使用用户密码、所接收的安全证书和内部移动信息以推导加密密钥以供安全存储但无需将密码或加密密钥存储在移动装置中。
实施方案可以包括被配置来使对应数据何时受到影响(例如,创建、更新或删除)的通知排队且将通知传递到客户应用的发布服务器。
实施方案可以包括发布服务器,其被配置来接受安全网络服务器接口调用或从客户应用检索或发布信息,允许应用只访问应用被指派来监控的信息。应用可以轮询变化或可对发布者通知作出反应。
实施方案可以包括移动装置,其包括生物特征读取器(例如,指纹读取器、虹膜扫描仪等等)。移动装置还可以包括短程无线电接口,诸如Wi-Fi、蓝牙、无线个域网、近场通信(NFC)等等。
实施方案可以包括移动应用,其包括用于给开发者提供审计和记录功能的模块。实质上可以记录每一次系统操作以用于审计目的。
实施方案可以包括被配置来维持对用户数据的安全变化历史的发布服务器。
实施方案可以包括被配置来发布支持彼此独立的多个移动装置的信息的发布服务器。
实施方案可以包括被配置来自行监控和检测功能故障模块或异常错误(例如产生处理器故障或操作系统故障且不包括数据传输错误的错误)的发布服务器。发布服务器可以将功能故障模块或异常错误通知管理员。
实施方案可以包括被配置来使用懒惰下载技术和安全下载机制管理文档附件的发布服务器。懒惰下载技术可以称作其中只有当接收方用户需要访问随附文档时方可下载文档的技术。
实施方案可以包括被配置来管理串流多媒体和大量数据的发布服务器。
实施方案可以包括被配置来提供允许控制反转(IOC)以与客户模块通信的另一接口集合的发布服务器。客户模块可以被视为发布服务器的部分,但是可以包括使用发布服务器API和资源来操作的客户逻辑。发布服务器可以在必要时使用客户模块,例如以使客户模块了解来自用户的信息已到达系统。
实施方案可以包括被配置来提供与用户管理和认证机制(诸如轻量目录访问协议(LDAP)、Windows活动目录等等)的集成。LDAP被称作用于通过互联网协议(IP)网络访问和维护分布式目录信息服务的开放式、厂商中立的业界标准应用协议。
图3说明根据本公开内容的实施方案的系统300的全局图。系统300包括两个主要装置应用310和计算装置307。与计算装置307交互的组件和装置应用310组件本身是客户服务器应用的实例。在此客户子系统中,装置应用310将接口304提供给互联网浏览器302,所述接口304由客户使用以允许用户访问驻留在计算装置307上或计算装置307中的客户应用306。计算装置307包括耦合到存储器的处理器,所述存储器被配置来存储当由处理器执行时将提供客户应用306的功能的指令。客户应用306和/或计算装置307可以包括服务器计算机或由其托管。客户应用306可以表示一个或多个个别应用,诸如终端用户门户网站、病历管理门户等等。在一些实施方案中,计算装置307还可以提供上面运行互联网浏览器302的计算平台。在一些实施方案中,管理员接口308可以被提供给计算装置307或306以配置或控制计算装置307或客户应用306的配置。
系统300还包括装置应用310。装置应用包括站点314与客户子系统307、306之间的通信接口318。通信接口318可以包括到诸如互联网的LAN或WAN的以太网接口。在联网层处,通信接口318可以使用安全通信接口,诸如简单对象访问协议(SOAP),其使用标准的SOAP安全特征,其中协议的安全性并不取决于SSL。所属领域技术人员将SOAP称作用于在分散的分布环境中交换信息的轻型协议(即,并非计算密集型)。SOAP是基于XML的协议,其包括三个部分:定义用于描述消息中的事物且如何处理事物的框架、用于表达应用定义数据类型的实例的编码规则集合,和用于表示远程程序调用和响应的惯例。SOAP可潜在地结合多种其它协议使用,且所属领域技术人员了解描述如何结合HTTP和HTTP扩展框架使用SOAP的绑定。
服务器314被配置来通信地介接通信接口318,且充当用于各种服务器应用的服务器,诸如发布管理器服务器、认证服务器和预配置服务器。服务器314可以支持到装置应用310的通信接口312。装置应用310可以支持或执行具有一个或多个应用配置的客户端部分(或容器),所述客户端部分可以在计算装置307上执行。装置应用310可以被配置来提供受保护信息的安全(即,加密)存储,且经由通信接口312提供安全通信。在一些实施方案中,装置应用310可以被提供在服务器314内。服务器314还可以包括到管理员316的接口(例如,网络接口)。管理员316可以用来配置或控制服务器314和/或装置应用310的配置。服务器314还可以包括到所属领域中已知的基于云端的医疗相关服务320(诸如MicrosoftHealthVault、GoogleHealth等等)和其它服务(诸如Clickatel和Esker)的用于发送消息、传真等等的通信接口。
图4以相对较大详细程度说明由服务器314尤其针对与发布服务器406和认证服务器410通信的移动应用414的用户使用的内部架构和公开接口的实施方案400。在一些实施方案中,单个服务器可以用来实施发布服务器406和认证服务器410。
移动应用414和/或计算装置310可以通信地耦合到安全存储装置416。安全存储装置416还可以由计算装置310托管。计算装置310还可以包括用来管理本地网络配置和业务逻辑的内部安全网络服务器和浏览器。
发布服务器406可以经由通信接口408通信地耦合到认证服务器410。通信接口408还可以被配置来支持发布服务器406与认证服务器410之间的电子邮件服务和验证服务。
此外,发布服务器406可以经由通信接口404通信地耦合到发布者数据库402。通信接口404还可以被配置来支持Java数据库连接(JDBC)协议。JDBC在所属领域中被称作用于Java编程语言与多个数据库(SQL数据库和其它表格数据源,诸如电子表格或平面文件)之间的数据库独立连接的标准协议。JDBCAPI提供调用级API以供基于SQL的数据库访问。其它通信协议也可以用于通信接口404。
此外,发布服务器406可以经由通信接口424通信地耦合到客户应用426。通信接口424还可以被配置来支持网络服务接口(WSI)协议。WSI在所属领域中被称作基于XML的工具,其类似于API运行,允许开发者成批实行大量任务或实行来自远程系统的大量服务,且无需作出源代码修改。其它协议(例如,JDBC、REST等等)也可以用于通信接口424,且实施方案在此方面并无限制。
认证服务器410可以经由通信接口420通信地耦合到预配置数据库422。通信接口424还可以被配置来支持JDBC。其它协议也可以用于通信接口420,且实施方案在此方面并无限制。预配置数据库422可以用来存储配置文件、设置和与实施方案400有关的其它信息,且必要时还使用装置自动检测存储和分布移动应用。
在操作中,移动应用414和/或计算装置310可以使用无线电机构(例如无线通信信道)分别经由通信接口412和通信接口418且通过使用密码学强认证和加密方法从发布服务器406接收网络配置和逻辑且从认证服务器410接收安全证书。
计算装置310可以被设计来将网络配置和逻辑存储在安全存储装置416中。计算装置307中的安全网络服务器服务于由本地安全浏览器请求的页面以必要时由于检查和改变而对用户或其它控制器呈现网络配置和逻辑。当安全浏览器正在操作时,无需与外部服务器通信,允许计算装置307中的应用离线工作且维持安全存储装置416中保护的信息。由内部网络服务器服务的配置和逻辑可以使用实质上任何种类的语言来描述数据结构、呈现机制和逻辑。例如,配置和逻辑可以分别用JavaScript对象表示法(JSON)、HTML和JavaScript表达。实施方案在此方面并无限制,且其它实施方案可以使用其它计算语言或协议。存储在安全存储装置416中的数据、配置和逻辑可以在应用414的启动期间或通过用户请求或关于周期时间表与发布服务器406同步且从发布服务器406更新。发布服务器406可以包括经由用于准许访问用户数据的用户的客户应用426从用户接受请求的能力。用户可以发布或读取存储在发布服务器安全数据库402中的信息。用户可以根据预定安全规则共享安全数据库402中的信息。
用户可以从诸如计算装置307的移动装置或从常规的内部浏览器访问信息。可用于发布服务器406的管理工具允许管理已发布数据的数据安全性,且管理用户和装置访问已发布数据的能力。客户端与服务器之间的通信由于加密(例如AES)是固有安全的,且不只是取决于SSL。如果原始移动装置丢失或被盗,那么移动应用414可在新装置中恢复到先前操作状态。原始移动装置可以自动禁用,且可以自动删除安全存储装置416中的所有数据。
图5说明根据本公开内容的实施方案的发布应用的程序500。程序500被描绘为开发者502、客户应用504和发布者506(例如发布服务器406)之间的消息序列图,其中时间从图5的顶部行进到底部。个别消息是由位于相应消息的原点附近的参考数字参照。移动应用414和服务器应用(例如客户应用)并未直接通信。相反地,发布者506连同存储装置充当中间软件。
程序500开始于步骤516,开发者502可以创建或修改应用。在此时间期间,客户应用通常并未被其它客户应用普遍访问或使用。步骤516可以无限地迭代。当开发者进行创建或修改客户应用时(足够到发布应用),步骤516将结束。
然后,程序500的控制转变到步骤518,开发者502可以在此处配置客户应用以进行部署,或通常以其它方式由发布者506(例如发布服务器406)使用。
然后,程序500的控制转变到步骤520,开发者502可以在此处配置客户应用以识别客户应用准许访问或修改或是其成员的数据组。
然后,程序500的控制转变到步骤522,开发者502可以在此处配置客户应用以识别客户应用准许访问或修改的数据集。
然后,程序500的控制转变到步骤524,开发者502可以在此处配置客户应用以能够用发布者506注册客户应用。
然后,程序500的控制转变到步骤526,开发者502可以在此处创建、修改或保存移动应用配置。配置可以包括与应用相关的数据集和数据组。步骤526可以迭代直到需要足够多的配置修改为止。当开发者进行创建、修改或保存配置时(足够到发布应用配置),步骤526将结束。
然后,程序500的控制转变到步骤528,开发者502与发布者506在此处通信使得应用配置被发布且通常可由移动容器使用。
图6说明根据本公开内容的实施方案的用应用注册用户的程序600。程序600通常提供密码学强认证方法,其使移动用户514提供所谓证书(例如一次性密码(OTP))、使认证器508认证所谓证书且使认证器508生成提供证实所谓证书为真实的证实(例如数字证书、激活码等等),藉此授权对移动用户514的访问、特权等等。程序600被描绘为客户应用504、发布者506、认证器508(例如认证服务器410)、移动装置510(例如计算装置307)和移动用户514之间的消息序列图,其中时间从图6的顶部行进到底部。个别消息是由位于相应消息的原点附近的参考数字参照。
程序600开始于步骤602,在此处从移动用户514发送注册请求(或等效物)到客户应用504。注册请求消息包括识别请求移动用户514的证书。
然后,程序600的控制转变到步骤604,在此处从客户应用504发送创建用户和发布数据()消息(或等效物)到发布者506。
然后,程序600的控制转变到步骤606,发布者506可以在此处发送用户注册请求消息到认证器508。用户注册请求消息包括识别请求移动用户514的证书。步骤606有用于请求认证器508认证由移动用户514提供的证书和创建安全证书。
然后,程序600的控制转变到步骤608,认证器508可以在此处认证由发布者506提供的证书。如果认证证书,那么认证器508可以创建安全证书,且可以创建激活码。激活码旨在由移动用户514使用以开始使用客户应用。
然后,程序600的控制转变到步骤610,激活码消息(或等效物)在此处从认证器508返回到发布者506。
然后,程序600的控制转变到步骤612,在此处在发布者506接收到激活码之后,发布者506可以在内部创建或激活用户且返回。
然后,程序600的控制转变到步骤614,在此处可以从发布者506发送激活码消息到客户应用504。步骤614有用于告知客户应用504移动用户514现在被授权来使用客户应用504或访问由客户应用504控制的数据。
然后,程序600的控制转变到步骤616,客户应用504可以在此处将激活码提供给移动用户514,使得移动用户514意识到他/她现在被授权来使用客户应用504或访问由客户应用504控制的数据。
图7说明用于使移动用户514在app商店512中搜索移动装置510上已不可用的应用的程序700。程序700被描绘为移动装置510(例如计算装置307)与移动用户514之间的消息序列图,其中时间从图7的顶部行进到底部。个别消息是由位于相应消息的原点附近的参考数字参照。程序700假设所需app在移动装置510上已不可用。
程序700开始于步骤702,移动用户514在此处控制移动装置510以在app商店512中搜索所需容器。移动装置510通信地耦合到app商店512。控制可以通过例如控制移动装置510的移动用户514的直接操控或通过由移动用户514发送App商店()命令(或等效物)中的搜索容器到移动装置510而进行。
然后,程序700的控制转变到步骤704,移动装置510在此处在将所请求的app定位于app商店512中之后从app商店512下载所请求app。
然后,程序700的控制转变到步骤706,移动装置510在此处安装步骤704期间下载的所请求app。
图8说明根据本公开内容的实施方案的由移动用户514启动和使用移动用户514被授权使用的移动装置510上的应用的程序800。程序800被描绘为客户应用504、发布者506、认证器508(例如认证服务器410)、移动装置510(例如计算装置307)和移动用户514之间的消息序列图,其中时间从图8的顶部行进到底部。个别消息是由位于相应消息的原点附近的参考数字参照。
程序800开始于步骤802,移动用户514在此处控制移动装置510以指示希望开始使用移动装置510上可用的应用。所述指示可以通过例如控制移动装置510的移动用户514的直接操控或通过由移动用户514发送启动容器命令(或等效物)到移动装置510而进行。
然后,程序800的控制转变到步骤804,移动装置510在此处通过与移动用户514共享激活码(或等效物)对步骤802中的请求作出响应,以允许移动用户使用应用程序。
然后,程序800的控制转变到步骤806,移动用户514可以在此处通过输入激活码(或等效物)到移动装置510对步骤804的消息作出响应,所述激活码包括用来激活应用的所谓激活码。
然后,程序800的控制转变到步骤808,移动装置510在此处发送得到安全证书(激活码)命令(或等效物)到认证器508以认证由移动用户514提供的所谓激活码。
然后,程序800的控制转变到步骤810,认证器508将在此处尝试认证由移动用户514提供的所谓激活码。
然后,程序800的控制转变到步骤812,如果移动用户514提供的所谓激活码已在步骤810中被认证为真实的,那么认证器508可以在此处发送安全证书响应(或等效物)到移动装置510。
然后,程序800的控制转变到步骤814,移动装置510可以在此处基于已认证证书和步骤812中来自认证器508的证书真实的指示来初始化移动装置510的安全存储。
然后,程序800的控制转变到步骤816,移动装置510可以在此处发送同步请求(或等效物)到发布者506以在移动装置510与发布者506之间同步由应用使用的数据或代码。
然后,程序800的控制转变到步骤818,发布者506可以在此处发送通知消息到客户应用504以防由应用使用的数据或代码由于消息816而改变。
然后,程序800的控制转变到步骤820,发布者506可以在此处发送应用配置和数据()消息(或等效物)到移动装置510以保证移动装置510具有应用的当前版本以及与应用相关(或由应用使用)的当前数据。
然后,程序800的控制转变到步骤822,移动装置510可以在此处将经由上文在步骤820中描述的应用配置和数据()消息(或等效物)从发布者506接收的应用配置和数据信息存储在其安全存储装置中。
然后,程序800的控制转变到步骤824,移动装置510可以在此处使用步骤820处接收的数据执行步骤820中接收的应用。
图9说明根据本公开内容的实施方案的同步和更新移动用户514被授权使用的移动装置510上的配置应用和数据的程序900。程序900被描绘为客户应用504、发布者506、移动装置510(例如计算装置307)和移动用户514之间的消息序列图,其中时间从图9的顶部行进到底部。个别消息是由位于相应消息的原点附近的参考数字参照。
程序900开始于步骤902,客户应用504在此处通过检索更新()消息(或等效物)发送请求到发布者506以请求客户应用504接收与客户应用504有关的任何代码或数据更新。
然后,程序900的控制转变到步骤904,如果存在任何可用更新,那么发布者506可以在此处发送用户更新数据()响应消息(或等效物)到客户应用504以传输与客户应用504有关的任何代码或数据更新。如果没有更新可用,那么相反地,发布者506可以对客户应用504指示没有更新可用,且在所述情况下可以结束程序900。
然后,程序900的控制转变到步骤906,在接收到由消息904传输的更新之后客户应用504可以在此处例如通过更新通过由客户应用504在步骤904处接收的消息提供的代码或数据来处理更新。
然后,程序900的控制转变到步骤908,在处理步骤906期间的更新之后客户应用504可以在此处发送发布数据()消息(或等效物)到发布者506以传输和发布由客户应用504进行的作为步骤906的部分的任何处理的结果。
然后,程序900的控制转变到步骤910,移动用户514可以在此处发送请求同步()消息(或等效物)到移动装置510以请求移动装置510将其自身同步到来自发布者506的可用代码或数据的当前副本或版本。
然后,程序900的控制转变到步骤912,移动装置510在此处开始处理步骤910处接收的请求同步()消息(或等效物)。
然后,程序900的控制转变到步骤914,移动装置510可以在此处发送同步()消息(或等效物)到发布者506以请求发布者506发送与来自发布者506的可用代码或数据的当前副本或版本有关的信息到移动装置510或从移动装置510发送移动装置的安全存储装置中可用的更新信息到发布者506。所述信息可以包括当前副本本身,或可以仅仅包括自从上一次同步移动装置510以来的更新或区别。
然后,程序900的控制转变到步骤916,如果来自发布者506的可用代码或数据由于装置的同步程序而变化,那么发布者506可以在此处发送通知()消息(或等效物)到客户应用504以告知客户应用504所更新的代码或数据。
然后,程序900的控制转变到步骤918,发布者506可以在此处发送更新应用配置(如果被识别为变化)和数据()消息(或等效物)到移动装置510以告知移动装置510所发布代码或数据的更新,或告知移动装置510代码和数据自从上一次更新移动装置510以来便再无更新。
然后,程序900的控制转变到步骤920,移动装置510可以在此处处理和存储步骤918处接收自发布者506的更新应用配置和数据。
然后,程序900的控制转变到步骤922,移动装置510可以在此处使用更新应用配置,必要时使用更新数据,其是在步骤918处接收自发布者506且在步骤920处由移动装置510存储。
本发明的实施方案包括具有耦合到一个或多个存储器的一个或多个处理单元的系统。所述一个或多个存储器可以被配置来存储软件,其在由所述一个或多个处理单元执行时允许实践本文中(至少包括图3到4和相关背景中)描述的实施方案。
所公开方法可以诸如通过使用提供可在多个计算机或工作站平台上使用的便携式源代码的对象或面向对象的软件开发环境而轻易地在软件中实施。替代地,所公开系统可以诸如通过使用标准逻辑电路或VLSI设计而部分或完全在硬件中实施。无论软件或硬件是否可以用来实施根据本发明的各个实施方案的系统,所述软件或硬件均可以取决于各种考虑,诸如系统的速度或效率需求、特定功能和所使用的特定软件或硬件系统。
虽然前文是针对本发明的实施方案,但是在不脱离本发明的基本范围的情况下可以设想本发明的其它和进一步实施方案。应了解,本文中描述的各个实施方案在不脱离其中所含范围的情况下可以结合所描述的任何其它实施方案使用。此外,前文描述不旨在详尽或将本发明限于所公开的精确形式。修改和变动根据以上教学是可能的或可以获自本发明的实践。某些示例性实施方案可以通过使用开放式列表而识别,开放式列表包括指示列表项表示所述实施方案且所述列表不旨在表示除了进一步实施方案之外的封闭式列表的词字。此词字可以包括“例如”、“等等”、“诸如”、“例如”、“等等”、“等等”等等和如将从周围环境明白的其它词字。
本申请的描述中使用的元件、动作或指令均不应被解释为对于本发明来说至关重要或必不可少,除非明确如此描述。此外,如本文中使用,冠词“一个”旨在包括一个或多个项。当只希望存在一个项时,使用术语“一个”或类似语言。此外,如本文中使用,后续接着多个项和/或多个项类别的列举的术语“…中的任一个”旨在个别或结合其它项和/或其它项类别包括项和/或项类别的“任何一个”、“任何组合”、“任何倍数”和/或“任何倍数组合”。
此外,权利要求不应被视为限于所描述的顺序或元件,除非大意如此。此外,任何权利要求中术语“意指”的使用旨在调用35U.S.C.§112,6,且无词字“意指”的任何权利要求不希望调用35U.S.C.§112,6。

Claims (10)

1.一种用于提供对用于通信终端的受保护数据的访问的系统,其包括:
第一服务器,其耦合到发布者数据库,其中所述发布者数据库被配置来以加密形式存储受保护数据;
第二服务器,其被耦合到所述第一服务器,所述第二服务器被配置来提供对所述受保护数据的密码学强认证访问;
到第一安全信道的接口,其介于所述第一服务器与所述通信终端之间;和
到第二安全信道的接口,其介于所述第一服务器与客户应用之间,
其中所述第一服务器被配置来经由所述第一安全信道与所述通信终端交换受保护数据,且经由所述第二安全信道与所述客户应用交换受保护数据。
2.根据权利要求1所述的系统,其中所述第一服务器被配置来接收所述客户应用的数据组、数据集和URL中的至少一个的配置,且所述第一服务器还被配置来将来自所述数据组的数据何时受到影响的通知提供到所述客户应用。
3.根据权利要求1所述的系统,其中所述通信终端被配置来使用用户密码和已接收的安全证书以推导加密密钥以供安全存储,但不将密码或加密密钥存储在所述通信终端中。
4.根据权利要求1所述的系统,其中所述第一服务器被配置来接受安全网络服务接口调用以与客户应用交换受保护数据,且允许应用只访问所述应用被指派来监控的所述受保护数据。
5.根据权利要求1所述的系统,其中所述客户应用包括被配置来与所述第一服务器交互地通信以寻找所述发布者数据库中的修改信息的应用。
6.根据权利要求1所述的系统,其中所述移动处理器还被配置来提供第一移动应用和第二移动应用,其中所述第二移动应用被配置来与所述第一移动应用共享加密模块和数据的使用。
7.根据权利要求1所述的系统,其中所述第一服务器包括经由可搭配SSL使用的非SSL安全通信信道到所述通信终端和客户应用的接口。
8.一种用于提供对用于通信终端的受保护数据的访问的方法,其包括:
由耦合到发布者数据库的第一服务器以加密形式存储受保护数据;
从所述通信终端接收访问所述受保护数据的请求,所述请求包括所谓证书;
将所述所谓证书传输到第二服务器以通过密码学强认证来认证所述所谓证书;
如果认证所述所谓证书,那么授权所述通信终端与所述受保护数据之间的访问;
在客户应用与所述发布者数据库之间传达所述受保护数据;和
在所述通信终端与所述发布者数据库之间传达所述受保护数据。
9.根据权利要求8所述的方法,其还包括:
接收所述客户应用的数据组、数据集和URL中的至少一个的配置;
将来自所述数据组的数据何时受到影响的通知提供给所述客户应用;和
接收将被发布到所述通信终端的更新应用配置。
10.根据权利要求8所述的方法,其中所述通信终端被配置来提供第一移动应用和第二移动应用,其中所述第二移动应用被配置来与所述第一移动应用共享加密模块和数据的使用。
CN201510224806.3A 2014-05-05 2015-05-05 使用动态呈现和数据配置建立安全移动协同应用的平台 Expired - Fee Related CN105095786B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/269,893 US9792458B2 (en) 2014-05-05 2014-05-05 Platform to build secure mobile collaborative applications using dynamic presentation and data configurations
US14/269,893 2014-05-05

Publications (2)

Publication Number Publication Date
CN105095786A true CN105095786A (zh) 2015-11-25
CN105095786B CN105095786B (zh) 2019-08-16

Family

ID=53189617

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510224806.3A Expired - Fee Related CN105095786B (zh) 2014-05-05 2015-05-05 使用动态呈现和数据配置建立安全移动协同应用的平台

Country Status (5)

Country Link
US (1) US9792458B2 (zh)
EP (1) EP2942729B1 (zh)
JP (1) JP6600156B2 (zh)
KR (1) KR102111180B1 (zh)
CN (1) CN105095786B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107147701A (zh) * 2017-04-18 2017-09-08 上海魔谷计算机科技有限公司 一种弱联网应用托管服务系统及其托管方法
CN112333134A (zh) * 2019-08-05 2021-02-05 维萨国际服务协会 密码安全的动态第三方资源

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10264113B2 (en) 2014-01-10 2019-04-16 Onepin, Inc. Automated messaging
US10298740B2 (en) * 2014-01-10 2019-05-21 Onepin, Inc. Automated messaging
US9648164B1 (en) 2014-11-14 2017-05-09 United Services Automobile Association (“USAA”) System and method for processing high frequency callers
US11450415B1 (en) * 2015-04-17 2022-09-20 Medable Inc. Methods and systems for health insurance portability and accountability act application compliance
US10142450B1 (en) * 2015-08-27 2018-11-27 Sprint Communications Company L.P. Custom mobile telecommunication device configuration management
KR101680525B1 (ko) * 2016-07-12 2016-12-06 김주한 앱 위변조 탐지 가능한 2채널 인증 대행 시스템 및 그 방법
US10635509B2 (en) * 2016-11-17 2020-04-28 Sung Jin Cho System and method for creating and managing an interactive network of applications
US20180240546A1 (en) * 2017-02-22 2018-08-23 Margaret Christine Pfeiffer Regulatory and procedural framework compliance and hospital staff communication and development system and processes for facilitating hospital staff communication, development, and compliance with regulatory and procedural frameworks
KR20200104043A (ko) * 2019-02-26 2020-09-03 삼성전자주식회사 사용자 식별 정보를 저장하기 위한 전자 장치 및 그에 관한 방법
US11375043B2 (en) * 2019-03-06 2022-06-28 Citizen Watch Co., Ltd. Program management system, external device and terminal device for controlling a program developer's ability to access, publish and manage marketing of a program
JP7331398B2 (ja) * 2019-03-20 2023-08-23 富士フイルムビジネスイノベーション株式会社 情報処理システムおよびプログラム
CN112688979B (zh) * 2019-10-17 2022-08-16 阿波罗智能技术(北京)有限公司 无人车远程登录处理方法、装置、设备及存储介质
CN113064948B (zh) * 2021-04-29 2022-10-04 济南慧天云海信息技术有限公司 一种高效安全的数据服务发布方法
KR102484665B1 (ko) 2021-06-17 2023-01-06 주식회사 마이지놈박스 유전체 분석 결과를 플랫폼 기반으로 제공하기 위한 장치 및 방법
KR102532269B1 (ko) * 2022-04-05 2023-05-11 이준희 디지털트윈을 기반으로 하는 설비제어 시뮬레이션 시스템 및 이를 이용한 교육 컨텐츠 제공 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1638364A (zh) * 2003-12-26 2005-07-13 株式会社多玩国 通信服务系统及其控制方法和通信服务器及其控制程序
WO2006127135A2 (en) * 2005-05-23 2006-11-30 Sap Governance Risk And Compliance, Inc. Access enforcer
CN101002454A (zh) * 2004-08-10 2007-07-18 传感电子公司 安全系统网络接口和结合其的安全系统
WO2014062395A1 (en) * 2012-10-15 2014-04-24 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7665125B2 (en) * 2002-09-23 2010-02-16 Heard Robert W System and method for distribution of security policies for mobile devices
JP4722519B2 (ja) * 2005-03-25 2011-07-13 株式会社日立製作所 計算機システム及びストレージサーバ、検索サーバ、端末装置並びに検索方法
CA2556464C (en) 2006-08-18 2012-04-17 Diversinet Corp. A method for device auto-detection and classification
CA2571666A1 (en) 2006-12-12 2008-06-12 Diversinet Corp. Secure identity and personal information storage and transfer
CA2590989C (en) 2007-06-05 2014-02-11 Diversinet Corp. Protocol and method for client-server mutual authentication using event-based otp
CA2694500C (en) 2010-02-24 2015-07-07 Diversinet Corp. Method and system for secure communication
CA2697687C (en) 2010-03-24 2014-02-18 Diversinet Corp. Method and system for secure communication using hash-based message authentication codes
US8359016B2 (en) * 2010-11-19 2013-01-22 Mobile Iron, Inc. Management of mobile applications
CN104641377B (zh) * 2012-10-19 2018-02-23 迈克菲股份有限公司 用于移动计算设备的数据丢失防护

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1638364A (zh) * 2003-12-26 2005-07-13 株式会社多玩国 通信服务系统及其控制方法和通信服务器及其控制程序
CN101002454A (zh) * 2004-08-10 2007-07-18 传感电子公司 安全系统网络接口和结合其的安全系统
WO2006127135A2 (en) * 2005-05-23 2006-11-30 Sap Governance Risk And Compliance, Inc. Access enforcer
WO2014062395A1 (en) * 2012-10-15 2014-04-24 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107147701A (zh) * 2017-04-18 2017-09-08 上海魔谷计算机科技有限公司 一种弱联网应用托管服务系统及其托管方法
CN107147701B (zh) * 2017-04-18 2022-11-11 上海魔谷计算机科技有限公司 一种弱联网应用托管服务系统及其托管方法
CN112333134A (zh) * 2019-08-05 2021-02-05 维萨国际服务协会 密码安全的动态第三方资源
CN112333134B (zh) * 2019-08-05 2024-08-23 维萨国际服务协会 密码安全的动态第三方资源

Also Published As

Publication number Publication date
EP2942729B1 (en) 2021-08-04
JP2015213319A (ja) 2015-11-26
CN105095786B (zh) 2019-08-16
KR20150126792A (ko) 2015-11-13
US9792458B2 (en) 2017-10-17
US20150317493A1 (en) 2015-11-05
KR102111180B1 (ko) 2020-06-09
EP2942729A1 (en) 2015-11-11
JP6600156B2 (ja) 2019-10-30

Similar Documents

Publication Publication Date Title
CN105095786A (zh) 使用动态呈现和数据配置建立安全移动协同应用的平台
KR101590076B1 (ko) 개인정보 관리 방법
US20240273237A1 (en) Data anonymization for service subscriber's privacy
Abdulnabi et al. A distributed framework for health information exchange using smartphone technologies
US20210336956A1 (en) Electronic Health Data Access Control
US10147502B2 (en) Data driven schema for patient data exchange system
US8539231B1 (en) Encryption key management
KR101941049B1 (ko) 암호화된 통신을 위한 방법 및 시스템
US9619770B2 (en) Systems and methods for digital workflow and communication
EP2538641A1 (en) Secure tag management method and system
WO2009123712A2 (en) Information server and mobile delivery system and method
CN105339949A (zh) 用于管理对医学数据的访问的系统
US8848922B1 (en) Distributed encryption key management
US20220278830A1 (en) Secure information sharing systems and methods
CN101707572B (zh) 提供定制网络的方法和系统
US12063513B2 (en) Secure trusted service manager provider
US9436817B2 (en) Information-processing device, service-providing system, service-providing method, and computer program
US20130166322A1 (en) Systems and methods for communicating information
CN100543695C (zh) 提供定制网络的方法和系统
JP6750260B2 (ja) 情報処理装置およびエージェントシステム
Lee et al. Ubiquitous RFID based medical application and the security architecture in smart hospitals
Williams et al. Privacy in Healthcare
Mohamed Shabbir Hamza A secure approach for health information exchange using mobile personal health records/Mohamed Shabbir Hamza Abdulnabi
Abdulnabi A Secure Approach for Health Information Exchange Using Mobile Personal Health Records
Behan Open Personal Identity as a Service

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American Connecticut

Applicant after: IMS HEALTH Inc.

Address before: American Connecticut

Applicant before: IMS Co.,Ltd.

Address after: American Connecticut

Applicant after: IMS Co.,Ltd.

Address before: American Connecticut

Applicant before: IMS HEALTH Inc.

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190816