独家授权协议

2024-09-01

独家授权协议(共3篇)

独家授权协议 篇1

1 引言

OAuth协议为用户资源的授权提供了一个安全的、开放而又简易的标准。OAuth是开放的,任何第三方都可以使用OAuth认证服务, 任何服务提供商都可以实现自身的OAuth认证服务。OAuth是安全的, 该协议允许第三方应用在用户授权的前提下访问在用户在服务商那里存储的各种资源信息, 而这种授权无需将用户的用户名和密码提供给该第三方应用。

OAuth协议已经由1.0版发展到2.0版 , OAuth2.0使用更简单, 适用范围更广, 同时为Web应用、桌面应用和移动应用等提供专门的认证流程, 已经成为主流。互联网中大行其道的第 三方登录 , 基础原理 就是OAuth协议 , 国外Google、Facebook, 国内QQ、人人网、 新浪微博、搜狐微博等都提供了第三方登录服务, 众多的论坛、电商、社交网站, 都集成了这些第三方登录的功能。

2 典型流程

OAuth2.0为了支持不同类型的第三方应用 , 提供了多种授权类型 , 如授权码(Authorization Code Grant)、隐式授 权(Implicit Grant)、RO凭证授权 (Resource Owner Password Credentials Grant)、Client凭证授权 (Client Credentials Grant) 。旨在讨论认证授权的实现方案, 帮助用户理解OAuth协议, 所以选择其中最核心、最难理解、也是最广泛使用的一种授权模式———“授权码”, 进行深入的研究探讨。

设想一个论坛需要使用QQ提供的第三方登录功能的场景, 根据OAuth2.0的官方文档, 其认证、授权的完整流程如图1所示。

认证、授权过程的详细说明如下:

(1) 第三方应用请求资源所有者的授权。授权验证界面以及验证逻辑是是资源所有者提供的, 用户的账号和密码并没有提供给第三方应用。请求中一般要包含: 第三方应用的身份标识、授权类型、回调地址、申请权限范围、 状态等信息。

(2) 如果用户通过认证 ( 或者已经认证过 ) 则使用第三方应用提供的回调地址, 将授权码、状态 (如果客户端包含这个参数, 资源所有者要将这个参数原样返回) 反馈给第三方应用。

(3) 第三方应用携带授权码 , 到授权服务器申请访问令牌。请求中需要包含: 第三应用身份标识、密钥, 以及授权模式、授权码、回调地址等信息。

(4) 授权服务 器检查授 权码、第 三方用户 身份 , 如通过, 通过回调地址发放访问令牌, 以及访问令牌的过期时间等信息。

(5) 第三方应用携带访问令牌 , 到资源服务器申请相应的资源, 如用户的Open ID、用户名、头像、联系人等。

(6) 如果访问令牌有效 , 资源服务 器返回相 应的资源 。一般情况下, 获取到用户的Open ID后, 需要在论坛系统中生成一个对应的自有用户, 与Open ID绑定。

3 认证授权实现要点

集成QQ、人人网、新浪微博等公司提供的第三方登录功能, 只开发相应于图1中第三方应用的功能, 比较容易实现,其网站上都有详细的技术文档, 但如何时实现认证授权服务,资料和技术方案相对较少, 但认证授权服务器端开发也有很广泛的需求, 如公司内部多个系统间整合, 实现用户资源共享、避免重复注册登录等。

OAuth2.0的开源解决方案不是很多 , 目前Java语言较为成熟的是Apache的Oltu, 其前身是amber, 现在改名为Oltu,由Apache来更新维护。文档比较少是开源软件的通病, 这在Oltu项目上体现得尤为明显 , 其官方网站上只有短短的几行说明文字 , 以及几段 示例代码 。通过仔 细地研究 分析OAuth2.0协议、官方提供的测试代码 , 基本完成了第三方登录的认证授权服务器端算法, 下面针对其中的关键步骤进行说明。

根据认证 授权流程 , 分别使用3个Servlet: Res Owner Servlet ( 资源所有 者 ) 、Authorize Servlet ( 授权服务 器 ) 、Res Servlet (资源服务器 ) 来模拟实现相关的处理。

3.1 资源所有者

当收到第三方应用的认证申请时, 资源所有者引导用户进入用户名、密码输入界面, 用户提交信息验证通过后, 发放授权码。用户验证、发放授权码的关键代码如下:

3.2 授权服务器

当第三方应用通过认证获取到授权码之后, 携带授权码向授权服务器申请访问令牌, 授权服务器对授权码、第三方应用的身份进行验证, 如通过, 则发放访问令牌, 需要注意的是, 安全起见不要通过GET方式传递相关数据, 最好通过HTTPS协议。关键代码如下 :

3.3 资源服务器

当第三方应用获取到访问令牌后, 携带访问令牌向资源服务器申请相关的资源, 示例代码中以JSON格式返回用户ID及用户名, 第三方应用拿到用户信息后, 完成登录操作 (首次登录时, 需绑定用户)。关键代码如下:

4 安全分析

如果资源所有者认证用户身份通过后, 直接发放访问令牌, 省略流程中的 (2) 和 (3), 是不是协议更加简洁高效?究其原因是, 有以下的安全考虑:(1) 用户提供的回调地址是一个不太安全的信道, 不适合传递访问令牌这样的敏感数据, 访问令牌可能会被一些非法的监听程序获取;(2) 申请访问令牌时, 会验证第三方应用的身份, 可确保只有第三方应用才能使用授权码换到访问令牌。

第三方应用向资源所有者申请验证时, 需要提供一个状态参数 (即state), 注意第三方应用应该使用动态数据来生成这个参数, 并在资源所有者返回授权码时, 验证这个 参数 ,不然会存在SCRF (跨站请求伪造) 漏洞。

5 结语

OAuth2.0是目前国际通用的授权方式 , 其特点是认证与授权流程简单、安全, 且支持Web应用、桌面应用以及移动应用等多种类型, 在互联网中得到了广泛的应用。给出基于Apache的Oltu实现OAuth2.0认证授权的技术方案 , 对于类似开发有直接的指导借鉴意义。

摘要:分析了OAuth2.0“授权码”认证授权模式的详细流程,给出了Java编程实现认证授权服务的关键代码,并对使用中需注意的安全问题进行了分析。

关键词:OAuth2.0协议,Oltu项目,第三方登录,认证,授权

独家授权协议 篇2

目前,由防火墙、入侵检测、防病毒系统等构成的传统信息安全体系,多数是以共享信息资源为中心,在外围对各种攻击进行封堵,以达到保护的目的[1]。事实上,随着技术的发展,各种攻击手段越来越高明,人们只能把外围的封堵或检查越做越复杂,从而导致开发、管理、维护的投入越来越高,然而实际的收效却不尽如人意。可见,传统安全手段暴露出的局限性,已经不能适应当前信息系统的安全需求。

在这种背景下,1999年成立的可信计算平台联盟(TCPA)提出了“可信计算”的概念,它从一个新的角度出发解决信息安全问题。其基本思想是增强现有PC终端的安全性,从信任根开始到硬件平台、操作系统、再到应用软件,逐级认证、逐级信任,从而把信任扩展到整个计算机系统,形成一个可信任的计算平台[2]。可信计算平台中的关键核心部件是可信平台模块TPM,然而目前人们主要关心的是可信平台模块的实现以及应用开发,却忽略了可信平台模块自身的安全性。

可信平台模块的对象访问授权协议是可信平台模块安全的基础,任何外部实体(包括进程、线程和控制器等)在请求调用TPM命令或使用TPM对象时,都需要通过对象访问授权协议进行授权认证和信息的完整性验证,从而确保存储在TPM中的密钥等敏感信息不会被破坏、更改、泄露,以及被未授权使用。本文对常用的两个授权协议OIAP(Object Independent Authorization Protocol)和OSAP(Object Specific Authorization Protocol)的特点进行了总结和比较,分析了其存在的安全漏洞,在此基础之上提出了一个改进的授权协议,并对其安全性进行分析。

1 可信计算中对象访问授权模型

外部调用者依照对象访问授权模型,通过TCS(Trusted Core Service)访问TPM中存储的各类敏感数据。TCS与TPM交互时,两者之间形成一个安全通信信道,该信道遵循请求——响应的交互方式,以实现面向会话的报文交换。

1.1 对象访问授权模型

可信计算对象访问授权协议使用会话对TPM命令进行封装,以完成对TPM中敏感对象的授权访问以及传输等功能,TPM在同一时间只支持一个传输会话。

在TPM内部,将会话作为一种资源进行管理,一个会话包含一个唯一标识符Session ID。用户在提供正确口令的情况下,可打开TPM对象的传输会话,获得对这些敏感资源的访问。为了防止重放攻击和中间人攻击,在会话的不同终端对应不同的现时Nonce来表征交互信息的新鲜性。在每次信息交换之后都需要更新信息交换的摘要值Message Digest来确保所交换信息的完整性。外部实体在访问某TPM敏感对象前,必须提供一个用来对该对象进行验证和授权的口令,对该口令进行SHA-1杂凑运算后得到160bit的授权数据AuthData,并将其和该敏感数据对象一起加载到TPM中。

TPM对象访问授权模型如图1所示。

1.2 模型的形式化定义

依据对象访问授权模型,本文沿用BAN逻辑系统[5]的一些符号和语义,对授权协议的模型进行形式化定义:

U:主体变量标识符,参与协议的主体用符号C和T表示,C表示外部调用者Caller,T表示TPM。

M:任意描述。

said(U,M):U曾经发送过M,即U在过去曾经发送过一个包含表述M的消息,也表示U曾经拥有过消息M。

see(U,M):U看到了消息M,即U在当前协议运行中接收到M。

fresh(M):M是新鲜的,即M在当前协议运行期间生成,或在当前协议运行之前生成但未被发送过。

believe(U,M):U相信M,此时U主观上确信M是真的,但客观上M并不一定为真。

possess(U,M):U拥有M。

privacychannel(K,M)[2,6]:消息机密性信道,即M在以K为共享密钥提供机密性服务的信道中传送。

integritychannel[2,6]:消息完整性信道,即M在以K为密钥或秘密提供信息完整性服务的信道中传送。

为了便于协议的描述,以下对OIAP和OSAP中的参数进行标识:

(1)每条发送到TPM的命令都定义了两个随机数:nonceodd由外部调用者caller提供,令Nc=nonceOdd, S=AuthData;nonceEven由TPM产生,令Nt=authLastNonceEven, Nt1=nonceEven。对于OSAP,令No=nonceOddOSAP, Ne=nonceEvenOSAP, St=HMAC(S, No‖Ne)。

(2)inParamDigest=H(ordinal, inArgOne, inArgTwo),outParamDigest=H(ordinal, returnCode, outArgOne)。其中,ordinal是TPM命令的序列号。inArgOne, inArgTwo是命令的两个输入参数,outArgOne是命令的输出参数。Caller和TPM之间交互的信息包括请求和返回数据两种类型,其标识符tag=RQU或RSD。

(3)OIAP协议中inAuthSetupParams=authHandle ‖Nt ‖Nc ‖continueAuthSession, outAuthSetupParams=authHandle‖Nt1‖Nc ‖continueAuthSession。OSAP协议中inAuthSetupParams1= Nt ‖Nc‖continueAuthSession, outAuthSetupParams1= Nt1‖Nc‖continueAuthSession。其中,continueAuthSession是一个布尔型变量,如果其值为False,则撤消会话;反之,则继续使用所建立的会话。authHandle是一个授权句柄,用来标识授权会话并保存由TPM产生的随机数。协议所访问的TPM对象的句柄为objHandle。

2 可信计算中授权协议分析

2.1 OIAP和OSAP特点分析

OIAP和OSAP在概念和设计上非常相似,执行过程都分为会话建立和授权认证两个阶段。不同之处在于,OSAP在会话建立阶段利用授权数据S、随机数No 和Ne得到短暂共享秘密St,之后在整个会话过程中,用St代替S完成对TPM对象的授权访问,即S只在会话建立阶段被传输一次,这就大大降低了人机交互时S被暴露的概率。以下首先对OIAP协议进行逻辑描述:

(1)C→T: RQU, TPM_OIAP

(2)T→C:Nt,authHandle

(3)C→T:RQU,inArgOne,inArgTwo, ordinal,objHandle,authHandle,inAuth=HMAC(S,inParamDigest,inAuthSetupParams),Nc,continueAuthSession

(4)T→C:returnCode,outArgone,continueAuthSession,Nt1,RSD,resAuth=HMAC(outAuthSetupParams,outParamDigest,S)

在会话建立阶段(步骤(1)、(2)),caller请求TPM以OIAP协议对随后的命令进行授权认证,以执行TPM命令或访问TPM对象。OIAP通过在外部调用者和TPM之间建立一个授权的明文会话,来实现会话与可信计算平台的绑定,达到利用同一会话对多个TPM对象实施访问的目的。此外,OIAP的设计非常注重效率,具有反应迅速的特点,若外部调用者通过访问某TPM敏感对象来执行单个TPM命令,这个使用模式应选择OIAP作为授权认证协议。

假设外部调用者需要访问某TPM对象多次,但却不希望多次获取该对象的授权数据S,在这种情况下,应选择OSAP作为授权认证协议。OSAP协议的逻辑描述如下:

(1)C→T: RQU, TPM_OSAP, objHandle, No

(2)T→C: Nt, Ne, authHandle

(3)C→T: RQU, inArgOne, inArgTwo, ordinal, authHandle, inAuth1=HMAC(St,inParamDigest,inAuthSetupParams1),objHandle, Nc, continueAuthsession

(4)T→C: returnCode, outArgOne, Nt1, continueAuthsession, resAuth1=HMAC(StoutParamDigest,outAuthSetupParams1),RSD

OSAP会话中的St在生成之后只能为特定的TPM对象服务,即OSAP会话一旦建立,便绑定在一个特定的TPM对象上。因此,OSAP协议的缺点在于对于每一个需要授权的TPM对象,都需要建立一个OSAP会话。

2.2 协议中的安全漏洞

在OIAP和OSAP协议中,外部调用者和TPM都不能在输入参数上达成共同的信任,但因为OIAP协议直接使用授权数据作为共享秘密S,而授权数据和输入参数inArgOne相关联,因此,事实上TPM是通过输入参数在其非易失性存储区中找到授权数据的,这一点在OIAP协议中被认为是没有漏洞的。与OIAP相比,OSAP使用临时共享秘密St代替共享秘密S=AuthData,当再次访问同一个TPM对象时,直接使用St,不再需要输入授权数据,因而可以利用同一个会话进行多次授权认证。但根据TPM V1.2规范,TPM对OSAP协议进行授权认证时,是通过授权句柄authHandle在其非易失性存储区中找到St的,通过计算resAuth1=HMAC(St, outParamDigest, outAuthSetupParams1),并比较resAuth1与inAuth1,来进行授权认证,因此St和输入参数没有直接联系,这就造成了以下对OSAP的替换攻击。

如果攻击者知道某TPM对象的授权数据authData1,则利用authData1请求与TPM建立OSAP会话,获得授权句柄authHandle1和临时共享秘密St1,利用St1计算输入参数授权消息认证码inAuth1,TPM根据authHandle1找到临时共享秘密St1。由于TPM计算出的resAuth1和攻击者计算出的inAuth1结果一致,因而攻击者能够通过TPM的验证,并以OSAP协议执行需要授权的命令TPM_Example。由于大部分TPM命令都能进行OSAP授权,因此利用该替换攻击,攻击者能够破坏TPM的大部分功能,严重危害可信计算平台安全。

OIAP和OSAP对会话建立过程都没有进行认证,因此不能防止恶意用户在会话建立过程中对TPM的非法访问。此外,由于TCG(Trusted Computing Group)中没有明确引入对称密码算法,当需要保密的数据长度小于等于20个字节时,其直接用基于授权数据生成的20个字节的共享秘密与待保密数据进行异或运算;当需要保密的数据长度大于20个字节时,其用20个字节的共享秘密和MGF1函数生成指定长度的“密钥”,再与待保密数据进行异或运算,而以上方法并不能较好地解决敏感数据的保密传输问题。

3 授权协议的改进方案

结合OIAP和OSAP的特点,本文对OSAP协议进行了改进,改进后的授权协议(AP) 对原协议中存在的安全漏洞进行了修补。 通过引入对称加密算法,以期利用流密码的思想对协议中传输数据包ComData和RspData的机密性进行保护,其中, ComData=(inArgOne,inArgTwo,ordinal,objHandle,Nc,continueAuthsession),RspData=(outArgOne,returnCode,Nt1,continueAuthsession),具体步骤如下:

会话建立阶段:

(1)C→T:integritychannel(RQU,TPM_OSAP,No,objHandle,inMac=HMAC(S,TPM_OSAP||objHandle||No))

(2)T→C:integritychannel(authHandle,Ne,outMac=HMAC(S,authHandle||Ne))

授权认证阶段:

(3)C→T:privacychannel(encComData=sym_Encrypt(St,comData))integritychannel(RQU,authHandle,encComData,inAuth1=HMAC(St,inParamDigest,inAuthSetupParams1))

(4)T→C: privacychannel(encRspData=Sym_Encrypt(St,RspData))integritychannel(RSD,encRspData,resAuth1=HMAM(St,outparamDigest,outAuthSetupParams1))

在改进后的授权协议中,外部调用者和TPM除保存临时共享秘密St以外,还保存了两者之间的共享秘密S。此外,在使用OSAP协议进行授权验证时,TPM从命令参数中获取授权数据AuthData,并和存储于其非易失性物理存储区中的短暂共享秘密St相比较,如果一致,再用St 执行HMAC验证,并通过HMAC算法在传输途径上隐蔽短暂共享秘密St。通过以上改进能将TPM对象的授权数据和输入参数关联起来,有效地避免了对OSAP协议的替换攻击。

改进后的授权协议通过临时共享秘密St,对数据传输的完整性进行验证,同时可利用St和对称密码算法加密传输数据,确保数据传输的机密性。协议增加了对会话建立时协商包的完整性认证inMAC和outMAC,防止了在会话建立阶段恶意用户对TPM的非法访问,达到了检验消息发送主体真实性的目的,其功能比较如表1所示。

4 对改进协议的形式化分析

为了对改进后的授权协议进行验证,以下对其安全性进行形式化分析。首先给出改进后协议的初始化假设集。

对于TPM有:

(1) possess(T,S)

(2) believe(C,S is a shared secret between caller and TPM)

(3) believe(T, fresh(Nt))

(4) believe(T, fresh(Nt1))

(5) believe(T, fresh(Ne))

对于caller有:

(6) possess(C, S)

(7) believe(C, S is a shared secret between caller and TPM)

(8) believe(C, fresh(No))

(9) believe(C, fresh(Nc))

改进后的授权协议的形式化描述如下[3]:

对于caller有:

said(C, (RQU, TPM_OSAP, objHandle, No, inMAC))

∧ see(C,(Nt, Ne, authHandle, outMAC))

∧ said(C,(RQU, ordinal, inArgOne, inArgTwo, authHandle, Nc, inAuth1))

∧ see(C,(RSD,returnCode, outArgOne, Nt1,resAuth1))

对于TPM有:

see(T, (RQU, TPM_OSAP, objHandle, No, inMAC))

∧ said(T,(Nt, Ne, authHandle, outMAC))

∧see(T,(RQU,ordinal, inArgOne, inArgTwo, authHandle, Nc , inAuth1 ))

∧ said(T, (RSD, returnCode, outArgOne, Nt1, resAuth1))

由协议运行初始状态假设、形式化描述、新鲜性传播规则和消息意义规则,可得出以下推论,对于caller有:

推论1:

believe(C, said(T, (returnCode, ordinal, outArgOne, Nt1, Nc)))

推论2:

believe(C, fresh(returnCode, ordinal, outArgOne, Nt1, Nc))

对于TPM有:

推论3:

believe(T, said(C, (ordinal, inArgOne, inArgTwo, authHandle, Nt, Nc)))

推论4:

believe(T, fresh(ordinal, inArgOne, inArgTwo, authHandle, Nt, Nc))

由以上推论及Nonce检验法则,得出关于改进协议的两个基本结论:

结论1:

believe(C, believe(T, (ordinal, returnCode, outArgOne)))

结论2:

believe(T, believe(C, (ordinal,inArgOne, inArgTwo, authHandle)))

可以看到改进后的授权协议中,外部调用者和TPM对所要进行授权的命令序列号ordinal能够达成一致。事实上,如果TPM使用的inArgOne和外部调用者使用的inArgOne不一样,将会导致两者使用不同的共享秘密进行HMAC运算,也就不会有初始假设(2)和(7),从而不能得到对授权命令的序列号ordinal达成一致的结论。在实际执行过程中,TPM会因HMAC的值不一样而返回TPM_AUTHFAIL的错误,并中止外部调用者对TPM对象的访问,从而有效地阻止了对协议的替换攻击。

5 结束语

本文在对TPM模块进行仿真,并对运行在其上的可信软件堆栈TSS进行模拟实现的基础上,对改进后的授权协议进行了模拟实现。实现结果表明:该协议能较好地解决TPM和外部调用者之间数据传输的机密性问题,在会话建立阶段,能有效阻止恶意用户对TPM的非法访问。当对改进后的授权协议进行替换攻击时,TPM模块将成功返回授权失败的错误信息,有效地阻止了对该协议的替换攻击,从而在一定程度上提高了作为 TCB信任根的TPM模块的安全性。

参考文献

[1]沈昌祥.坚持自主创新,加速发展可信计算[J].计算机安全,2006(6):2-4.

[2]华东明.一种新的共享密钥安全协议设计方法[J].计算机工程,2006(6):40-41.

[3]陈军.可信平台模块安全性分析与应用[D].北京:中科院计算技术研究所,2006.

[4]TPMMain Part2TPMStructures V1.2[S/OL].2006-03-29.http://www.trusted-computinggroup.org/.

[5]Burrows M,Abadi M,Needham R.Alogic of authentication[J].ACM Transaction on Computer Systems,1990,8(1):17-24.

独家委托协议 篇3

★特别告知:为保障客户权益,您在向我公司支付任何一笔款项时,务必要求我公司人员提供我公司正规有效的财务凭证,否则,我公司不予认可任何款项支付事宜。

甲方(出售委托方):乙方(被委托方):沈阳万维房地产投资顾问有限公司

身份证地址:现联络地址:沈阳市皇姑区宁山中路42号羽丰大厦1-8-4

现联络地址:电话:024-31482885024-31482886

身份证号:经办人:

电话号码:经办人电话:

承蒙信任,委托我公司独家代理销售房地产,我公司将竭诚为您提供专业服务。为明确双方权利义务,保障双方利益,在平等自愿和诚实信用的原则下,双方现就甲方独家委托乙方出售_________市_____________________________的房产的相关事宜,达成如下协议。甲乙双方确认该委托属独家委托,此“独家委托”指在委托期内,乙方是上述房产唯一的、独占的销售机构,甲方或任何第三方未经乙方书面允许,不得销售该房产。

一、物业状况。

物业名称:;建筑面积:平方米;楼层:楼;房型:;

抵押情况:;抵押银行:;抵押金额:;

共有人情况:;租赁情况:;

甲方特别声明:甲方确认在签订本协议书时,已经征得共有人及相关关系人一致同意出售上述物业。若所出

售物业仍然处于期房阶段,则甲方愿意待甲方的产权证办出后与经乙方成功居间的客户办理出售及交易过户手续。

二、委托期限:自年月日至年月日止。

三、甲方委托出售的条件与特别声明:

1、出售总价及买方付款方式:

A)出售总价人民币:元整,小写:

B)买方付款方式:

第一次付款:买卖双方签订买卖合同当日付人民币:

第二次付款:买卖双方到交易中心管理部门收受买卖双方产权转移申请文件之日起元整。

第三次付款:交付房屋元整。

第四次付款:。

2、出售方与购买方在交易过程中所产生的相关费用及税费由出售方与购买方按国家规定各自承担,出售价中包含了□维修基金□内部固定装修□内部设备(如:)。

3、其他:。

4、甲方特别声明:在乙方的服务下,当有购买方出具购房意向的条件达成或优于上述的甲方委托条件时,乙方可收取意向金,并且甲方应在得到乙方已收取意向金的通知后的2天内,至乙方的店面地址处取回意向金,并在意向金协议上加签姓名。

四、甲方义务:

1、本协议委托期及期满后3个月内,甲方无论通过何种途径直接或间接与经乙方介绍过的客户成交,均须向乙方

支付本协议第八条所约定的中介服务佣金。

2、委托期内,甲方不得自行撮合成交,或经其他中介机构或经其他个人成交。

3、由于独家委托期间,乙方将投入大量时间精力销售该房产,因此委托期内,甲方不得擅自取消该委托。

4、甲方保证在委托期内为乙方提供看房方便,甲方不得以任何理由阻止或拖延乙方看房或不提供方便。

5、甲方应在得到乙方已收取意向金的通知后的2天内,至乙方的店面地址处取回定金,并在意向金协议上加签姓

名。

6、甲方保证已取得共有人及相关关系人一致同意出售上述物业,且就上述物业所提供的权利证件合法有效。甲方

应在签署本合同时,向乙方提交:1)该委托房屋产权证件的复印件;2)甲方及其共有人的身份证件复印件;

3)委托未到场共有人的委托书。

五、乙方义务。

1、代为甲方寻找并提供适合的房地产需求信息,包括通过我公司体系内销售网络推广,在我公司的网络系统上发

布委托信息,对外合作销售推广,向其他中介公司委托出售上述物业并寻找适合的客户;

2、提供咨询并在甲方的要求下,根据甲方提供的证照和资料,协助甲方与购买方签署房屋买卖合同,协助甲方与

购买方理房产过户手续。

3、甲方有权随时向乙方了解委托事项的进展情况,乙方有义务根据甲方要求向甲方报告相关情况。

六、乙方增值服务计划。

乙方声明,该项增值服务计划非居间方的合同约定义务,但乙方愿意在甲方的明确要求下,依据实际可行性,额外为甲方免费提供如下增值服务计划:

1、在甲方的要求下,在甲方委托出售的房屋室外特别悬挂出售标志;

2、在甲方的要求下,为委托房产提供[修整建议书],使房产更易于销售成交;

3、在甲方的要求下,为委托房产做免费评估,提供参考意见;

4、在甲方的要求下,协助甲方向物业管理处交涉房屋修护、保养、收费等事宜。

七、甲乙双方保密义务。

甲乙双方均应就委托关系所提供的相关材料承担保密义务。除非法律或有管辖权的法院、仲裁机构或行政主

管相关明确要求,双方在任何情况下不得向与交易无关的第三方披露或说明本合同项下对双方所提供的任何资料和文件。

八、中介服务佣金。

甲乙双方确定中介服务佣金数额为甲方所签房产买卖合同标价的金额的2%,甲方应在与购买方签订房产买

卖合同时向乙方支付佣金。甲方通过乙方服务与购买方签订房产买卖协议后,若非乙方原因导致交易无法完成,不影响甲方支付佣金的义务(甲乙双方另有其他约定除外)。

九、违约责任。

1、因甲方的原因,没有履行本合同所规定的应由甲方履行的各项义务,应当承担赔偿给乙方造成的直接损失,包

括但不限于乙方损失的购买方的中介服务费。

2、甲方违反本协议第四条约定的甲方义务中的第2条、第3条、第4条、第5条中的任何一条或多条情况的,或

甲方在委托期内有其他任何反悔不再出售、另售他人、抬高价格、拖延签署合同的时间等行为的,导致乙方介绍的买方客户无法按时与甲方成交,均属甲方违约,此种情况下,甲方须支付给乙方该房产委托出售总价(本协议

第三条所约定)的1.5%,作为违约金,以解除双方之承诺。

3、如因甲方原因,导致乙方涉及诉讼,因此产生的损失由甲方负责赔偿,包括但不限于律师费、第二方要求赔偿的费用及其他损失。

十、本合同首部甲、乙双方的联络地址为双方联系的唯一固定通讯地址,若在履行本协议中双方有任何争议,该地址

为双方法定地址。若其中一方联络地址发生变化,应立即书面通知另一方,否则,造成双方联系障碍,由过错方负责。

十一、合同争议的解决办法。

本合同项下发生的争议,由双方当事人协商或申请调解,协商或调解解决不成的,按下列第(二)种方式解决

(以下两种方式只能选择一种):

(一)提交仲裁委员会仲裁;

(二)依法向有管辖权的人民法院起诉。

十二、本协议一式两份,甲乙双方各执一份,两份具有同等法律效力。

十三、补充:。

附:

1、甲方的房屋产权证件复印件;

2、甲方及其共有人的身份证件复印件;

3、委托未到场共有人的委托书。甲方:乙方:沈阳万维房地产投资顾问有限公司

房屋权利人:

房屋共有人:

电话:电话:024-31482885024-31482886

上一篇:唐诗中的酒文化下一篇:职业技术学校体育教育