自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(202)
  • 资源 (6)
  • 收藏
  • 关注

转载 Cisco VPP插件开发

Cisco VPP插件开发,有需要的朋友可以参考一下。还在初学阶段,如果有误,希望多批评指正。在VPP中,插件可以在程序启动的时候加载,一般我们会往里面加入node,实现一些功能。首先介绍怎么直接重定义硬件接口RX到我们的nodevnet_hw_interface_rx_redirect_to_node(vnet_main,hw_if_index,

2017-03-03 23:20:17 1345

原创 思科VPP源码分析(内存管理)

思科今年开源的vpp项目,在intel开源的dpdk之上,构建的数据包处理框架。dpdk组件已经成功榨干硬件IO性能,剩下的瓶颈落在业务处理部分,其中最关键的又在内存访问优化上。内存优化一句话概括:提高CPU L1,L2,L3 cache命中率。这里将分析vpp内存管理部分源码。vec变长数组(vec_bootstrap.h) len是数组元素个数,不是字节长度。

2016-12-29 23:39:43 1286

转载 dpdk环境搭建之使能额外功能

参考:http://dpdk.org/doc/guides/linux_gsg/enable_func.html#enabling-additional-functionality翻译与理解吧5 使能额外功能5.1 High Precision Event Timer HPET(高精度定时器)5.1.1BIOS 支持 条件:Time Stamp Counte

2016-12-29 23:37:35 1306

转载 VPP NAT测试,不支持VLAN,在NAT下arp学习有问题,需要手动添加;直连接口ICMP不支持,

=================================                CARRIER GRADE NAT - NAT44 README                ================================= What is implemented:====================* NAT44 UDP, TCP,

2016-12-29 23:35:31 539

转载 cisco vpp NAT VLAN支持

What is implemented:====================* NAT44 UDP, TCP, ICMP protocols* Show and config commands for various parameters for the same* NF9 logging is implemented but is not tested What is

2016-12-29 23:34:53 792

转载 vpp命令总结

create sub BondEthernet0 834创建子接口,tag是834set interface ip table BondEthernet0.834 1将此接口设置在fib 1里set interface ip address BondEthernet0.834 192.168.0.250/24设置接口ipset interface s

2016-12-29 23:34:00 1447

转载 在虚拟机间 NFV 应用上使用采用 DPDK 的 Open vSwitch

概述数据平面开发套件 (DPDK) 可提供高性能的数据包处理库和用户空间驱动程序。 自 Open vSwitch (OVS) 2.4 版 (http://openvswitch.org/releases/NEWS-2.4.0)起,我们将可在 OVS 中使用 DPDK 优化的 vHost 路径。 OVS 自 2.2 版起开始提供 DPDK 支持。将 DPDK 与 OVS 结合

2016-12-29 23:32:51 691

转载 vpp feature node分析总结(snat)

vpp node框架的分析请查看http://blog.csdn.net/jqh9804理解feature模式最好要理解vpp node框架!在分析vpp代码snat插件时,看到了以feature模式添加节点的方式,于是简单分析了一下feature 节点的apiARC (Argonaut RISC Core)     我把一个feature集合叫做feature类,

2016-12-29 23:31:24 1060

转载 vpp+dpdk 安装与运行

参考:http://blog.csdn.net/icebluechao/article/details/51208560  (感谢 VPP&DPDK 417538415的群主,欢迎加入此群共同学习)vpp主页:https://wiki.fd.io/view/VPP一、获取vpp:1、Git方式(https://wiki.fd.io/view/VPP/

2016-12-29 23:30:12 1921 1

转载 ovs+dpdk测试总结

参考:https://github.com/openvswitch/ovs/blob/v2.6.1/INSTALL.DPDK.mddpdk-16.07openvswitch-2.6.1安装配置参考上面链接重点关注参数:other_config:pmd-cpu-mask=60 60是配置pmd的个数和与核的关系(这里的意思是核5和核6各跑一

2016-12-29 23:29:27 1307

原创 libevent入门

花了两天的时间在libevent上,想总结下,就以写简单tutorial的方式吧,貌似没有一篇简单的说明,让人马上就能上手用的。首先给出官方文档吧: http://libevent.org ,首页有个Programming with Libevent,里面是一节一节的介绍libevent,但是感觉信息量太大了,而且还是英文的-。-(当然,如果想好好用libevent,看看还是很有必要的

2015-10-28 17:22:06 124

转载 linux内核cryto接口的实现以及与openssl的比较

linux内核实现了crypto接口,用于类似IPSec之类要在内核中实现的与操作系统绑定的安全机制,如果不是用于这样的机制,不要使用内核中的crypto接口,总的来说,linux的crypto中最重要的结构体有两个:crypto_tfm和crypto_algstruct crypto_tfm {    u32 crt_flags;    union {        struct

2015-06-17 19:46:42 1073

转载 通过OPENSSL建立证书以及CSR证书签名过程

http://my.opera.com/yuyii/blog/openssl-2通过OPENSSL建立证书以及CSR证书签名过程Thursday, 15. March 2007, 09:35SSLCSR证书签名过程:1。用户先拥有一个自己的密钥openssl genrsa -des3 -out my.key 1024建立密钥,以为1024位加密。

2015-05-20 14:36:41 2273

转载 xargs用途

xargsxargs 命令用途构造参数列表并运行命令。大多数 Linux 命令都会产生输出:文件列表、字符串列表等。但如果要使用其他某个命令并将前一个命令的输出作为参数该怎么办?例如,file 命令显示文件类型(可执行文件、ascii 文本等);您可以处理输出,使其仅显示文件名,现在您希望将这些名称传递给 ls -l 命令以查看时间戳记。xargs 命令就是用来完成此项

2014-11-15 21:20:35 524

转载 uboot 用 ramdisk 引导linux命令行,u-boot,bootargs,arm

ramdisk的制作:[python] view plaincopy#! /bin/sh  rm -rf ramdisk  dd if=/dev/zero of=ramdisk bs=1024 count=6144  mkfs.ext2 -F ramdisk  gzip ramdisk   

2014-11-15 21:17:08 3236

转载 spin_lock浅析

今天我们详细了解一下spin_lock在内核中代码实现,我们总共分析四个项目: 1.spinlock_t的定义分析:首先来看一下spinlock_t的定义:typedef struct {       raw_spinlock_t raw_lock;#if defined(CONFIG_PREEMPT) &&defined(CONFIG_SMP)       unsig

2014-09-28 23:31:47 508

转载 netpoll浅析

netpoll只是一种框架和一些接口,只有依赖这个框架和接口实现的netpoll实例,netpoll才能发挥它的功能。类似于kernel中的vfs,vfs本身并不会去做具体的文件操作,只是为不同的文件系统提供了一个框架。netpoll不依赖于网络协议栈,因此在内核网络及I/O子系统尚未可用时,也可以发送或接收数据包。当然netpoll能够处理的数据包类型也很有限,只有UDP和ARP数据包,并且只能

2014-09-26 23:45:28 927

转载 点分十进制子网掩码和CIDR的相互转换

#include #include #include #include int main(int argc, char **argv){ if (argc != 4) { printf("usage:test "); return -1; } struct sockaddr_in ipaddr;/

2014-09-11 22:19:10 2326

转载 判断一个IP是否在指定的网络中

/**inspect any ip is in subnet?*/#include #include #include #include int main(int argc, char **argv){ if (argc != 4) { printf("usage:test "); return -1;

2014-09-11 22:18:04 726

转载 Linux进程的睡眠和唤醒简析

1 Linux进程的睡眠和唤醒在Linux中,仅等待CPU时间的进程称为就绪进程,它们被放置在一个运行队列中,一个就绪进程的状 态标志位为TASK_RUNNING。一旦一个运行中的进程时间片用完, Linux 内核的调度器会剥夺这个进程对CPU的控制权,并且从运行队列中选择一个合适的进程投入运行。当然,一个进程也可以主动释放CPU的控制权。函数 schedule()是一个调度函数,

2014-09-09 00:33:01 1063

原创 SSL双方系统时间不一致导致的SSL连接失败及其解决方案

在产品使用中,实施人员常常报告服务器与客户端无法连接.究其原因是因为客户端机器与服务端机器系统时间不一致.原因在于系统使用了OpenSSL,证书中有一个有效时间段,当客户端或服务器的系统时间不在这个时间段内时SSL会因证书验证失败而无法连接.在实施中系统时间错误是很常见的,因不能上网而未开时间自动同步,bios没电了,客户疏忽等原因都会导致系统时间设置有误.如果连接失败后再查看系统时间设置总是一项

2014-06-01 16:27:50 18013 4

转载 poll&&epoll实现分析(二)——epoll实现

Epoll实现分析——作者:lvyilong316通过上一章分析,poll运行效率的两个瓶颈已经找出,现在的问题是怎么改进。首先,如果要监听1000个fd,每次poll都要把1000个fd 拷入内核,太不科学了,内核干嘛不自己保存已经拷入的fd呢?答对了,epoll就是自己保存拷入的fd,它的API就已经说明了这一点——不是 epoll_wait的时候才传入fd,而是通过epoll_ctl

2014-06-01 11:44:21 91

转载 从select的一个死循环谈epoll的ET模式

最近写程序遇到一个问题,就是发现select监听标准输出的时候遇到了死循环,具体程序如下程序一。程序的意图是每当用户在控制台有任何输入,就输出”hello world!”。程序一:#include #include #include #include int main(int argc, char *argv[]){

2014-06-01 11:43:39 1386

转载 poll&&epoll实现分析(一)——poll实现

0.等待队列在Linux内核中等待队列有很多用途,可用于中断处理、进程同步及定时。我们在这里只说,进程经常必须等待某些事件的发生。等待队列实现了在事件上的条件等待: 希望等待特定事件的进程把自己放进合适的等待队列,并放弃控制全。因此,等待队列表示一组睡眠的进程,当某一条件为真时,由内核唤醒它们。等待队列由循环链表实现,由等待队列头(wait_queue_head_t)和等待队列

2014-06-01 11:42:59 923

转载 彻底学会使用epoll(一)——ET模式实现分析

注:之前写过两篇关于epoll实现的文章,但是感觉懂得了实现原理并不一定会使用,所以又决定写这一系列文章,希望能够对epoll有比较清楚的认识。是请大家转载务必注明出处,算是对我劳动成果的一点点尊重吧。另外,文中如果有不全面或者不正确的地方还请大家指出。也可以私信或者发邮件:[email protected]. ET模式实现分析1.1 ET和LT的实现区别    首先

2014-06-01 11:41:46 1579

转载 linux expect自动登录ssh,ftp...

xpect是一种能够按照脚本内容里面设定的方式与交互式程序进行“会话”的程序。根据脚本内容,Expect可以知道程序会提示或反馈什么内容以及 什么是正确的应答。它是一种可以提供“分支和嵌套结构”来引导程序流程的解释型脚本语言。 shell功能很强大,但是不能实现有交互功能的多机器之前的操作,例如ssh和ftp.而expect可以帮助我们来实现.一,安装expectyum i

2014-05-27 23:11:57 637

转载 Server开发(deamon)进程排他性(文件锁),脚本排他性(fuser)

1、进程排他性:      在linux中进行Server开发::      第一步、deamon()              //调用deamon将进程转后台。      第二步、加文件写锁:            fd = open(“filename”,O_CREAT|O_WRONLY,0666);            struct  flock  stL

2014-05-27 22:27:59 533

转载 Mysql热备份总结

一主一从备份1、主服务器授权  授权从服务器可以连接主服务器并可以进行更新。这是在主服务器上进行的,创建一个username和password供副服务器访问时使用。在MySQL命令行下输入 mysql> GRANT REPLICATION SLAVE ON *.* TO 'replication'@'192.168.0.1' IDENTIFIED BY '123456'; 

2014-05-27 22:10:45 571

转载 Open SSL 常用函数——签名与验证

OpenSSL中的验证是先对原始数据计算摘要, 再对摘要进行私钥加密. 验证的过程是对原始消息计算摘要,解密验证值, 和摘要对比是否一致.如果一致, 说明验证有效:否则,则认为原文或验证值已经被篡改.         函数介绍:因为要先对原始数据计算摘要, 所以在计算摘要时用的函数是计算摘要的函数一样. 最后在结束函数中进行验证或验证. 为了方便描述,OpenSSL对计算摘要函数进

2014-05-25 20:52:05 894

转载 OpenSSL 常用函数——Base64编码及解码和证书操作

Base64编码就是把二进制数据转换为可见的ASCII字符。 Base64解码是相反的过程。主要函数1、  Base64编码初始化函数VoidEVP_EncodeInit(EVP_ENCODE_CTX *ctx);参数ctx:[IN]用于保存Base64编码的的状态。2、  Base64编码Update函数。VoidEVP_EncodeUpdate(

2014-05-25 20:51:23 3402

转载 linux下字符编码转换

一、利用iconv函数族进行编码转换iconv函数族的头文件是iconv.h,使用前需包含之。#include iconv函数族有三个函数,原型如下:(1) iconv_t iconv_open(const char *tocode, const char *fromcode);此函数说明将要进行哪两种编码的转换,tocode是目标编码,fromcode是原编码,该函数返回一个

2014-05-25 20:11:01 659

转载 电子证书 DER vs. CRT vs. CER vs. PEM

证书与编码本至上,X.509证书是一个数字文档,这个文档根据RFC 5280来编码并/或签发。实际上,“X.509证书”经常被用来指代IETF的PKIX(Public Key Infrastructure)证书和X.509 v3 证书标准中的CRL(Certificate Revocation List)。X509 文件扩展名首先

2014-05-25 16:47:02 1223

原创 OpenSSLX509证书操作函数

现有的证书大都采用X。509规范,主要同以下信息组成:版本号、证书序列号、有效期、拥有者信息、颁发者信息、其他扩展信息、拥有者的公钥、CA对以上信息的签名。OpenSSL实现了对X。509数字证书的所有操作。包括签发数字证书、解析和验证证书等。涉及证书操作的主要函数有验证证书(验证证书链、有效期、CRL)、解析证书(获得证书的版本、序列号、颁发者信息、主题信息、公钥、有效期等)。主

2014-05-25 16:32:53 11166 2

转载 对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB)

一. AES对称加密:                                                      AES加密                         分组  二. 分组密码的填充                                                   分组密码的填充 

2014-05-24 16:09:00 666

原创 一个fwrite的错误

#include "usbkey.h"int BeepInfo(int length,int time){ int nRet; char CMD_BUFFER[CMD_MAX_LEN]={0}; sprintf(CMD_BUFFER,"beep -f 4000 -l %d -d 500 -r %d",length,time); nRet = system(CMD_BUFFER); r

2014-05-22 22:21:39 2440

转载 linux中断处理浅析

近在研究异步消息处理, 突然想起linux内核的中断处理, 里面由始至终都贯穿着"重要的事马上做, 不重要的事推后做"的异步处理思想. 于是整理一下~第一阶段--获取中断号每个CPU都有响应中断的能力, 每个CPU响应中断时都走相同的流程. 这个流程就是内核提供的中断服务程序.在进入中断服务程序时, CPU已经自动禁止了本CPU上的中断响应, 因为CPU不能假定中断服务程序是可

2014-04-29 23:25:18 469

转载 linux网络报文接收发送浅析

对于linux内核来说,网络报文由网络设备来进行接收。设备驱动程序从网络设备中读取报文,通过内核提供的网络接口函数,将报文传递到内核中的网络协议栈。报文经过协议栈的处理,或转发、或丢弃、或被传送给某个进程。网络报文的发送与之相反,进程通过系统调用将数据送入网络协议栈,或者由网络协议栈自己发起报文的发送,然后协议栈通过调用网络接口函数来调度驱动程序,使其将报文传送给网络设备,从而发送出去。本

2014-04-29 23:24:35 3996

转载 关于 OpenSSL“心脏出血”漏洞的分析

原作者:Sean Cassidy 原作者Twitter:@ex509 原作者博客:http://blog.existentialize.com 来源:http://blog.existentialize.com/diagnosis-of-the-openssl-heartbleed-bug.html当我分析GnuTLS的漏洞的时候,我曾经说过,那不会是我们看到的最后一个TLS栈上的严重bu

2014-04-27 18:22:47 550

转载 libcurl部分总结

curl是开源的东西,主要用于页面下载和上传1、对于页面跳转的网站,最好先用sniffer把http数据包全部抓下,分析协议头,尤其是要对应好post后的url地址,以及记住cookie中的session_id(情况根据各网站会有所差别)。2、 curl_easy_setopt(curl,CURLOPT_POST,1);使用POST方式3、curl_easy_setopt(cu

2014-01-01 23:16:32 87

原创 将man出来的信息保存到文本

man curl_easy_setopt |col -b |tee /home/jiali/curl/man_curl_easy_setopt.txt

2014-01-01 22:58:30 520

RPA程序和代码实现RPA程序和代码实现

RPA

2021-06-04

分布式文件系统架构

分布式文件系统架构

2013-01-21

A Novel RFID Authentication Protocol with Ownership Transfer.doc

A Novel RFID Authentication Protocol with Ownership Transfer Han Jia1, Jun Wen2 School of Computer Science and Technology, University of Electronic Science and Technology of China,Chengdu, China [email protected], [email protected] Abstract. RFID technology has a wide application in many fields. However, there are many security and privacy issues. The paper presents a RFID security proposal to enhance security levels. It is established as following steps. It first builds a security communication channel, then implements tags and corresponding reader authentication, finally solves the ownership transfer issue. This protocol involves minimal interaction between tags and corresponding reader, which can efficiently lower the computational burden on the tag. Its security is verified by BAN logic. Keywords: Radio Frequency Identification; authentication; BAN; security and privacy 1 Introduction RFID is one of the rapidly developing techniques in recent years. It is widely used in many fields, such as retail trade, libraries, car tracking, product identification and passport. It would play an important role in the future. RFID system consist of tags, readers and a database server. In the life of tag, it may transfer ownership on many occasions, for example, it occurs when a manufacture delivers it to a retailer. Therefore, the seamless ownership transfer of tag is required in RFID system. It may suffer from attacks when both of previous owner and new owner accessed the information of the tag during the processing of ownership transfer. After the operation, the previous owner cannot access the information of tag. Typically, the tag have 5~10K logic gates, can store only hundreds bits. With the limit logic gates, about between 300 and 3000 gates can be devoted to security function. There is no such security transfer mechanism in RFID system due to limited computation capabilities and storage on tags. RFID system may suffer from some security threats. They are listed as follows: Replay attack: An attacker transmits the information he got and spoofs legitimate tag. This attack may leak out the information of tag. Impersonation: An attacker forges a tag or a reader as an authenticated one to steal the information in the database server. Eavesdropping: It is easy for eavesdroppers to get the signal from the open wireless circumstance, which lead to leak the business information. Dos attack: An attacker transmits some messages to interrupt the communication among tags, readers and database servers. De-synchronization attack: The difference between the key in tags and the one in database results in the authenticated tag cannot be recognized. Windowing problem: During the process of ownership transfer, both the old and new owners possess the information to authenticate the tag. This paper proposes a RFID protocol that can resist the above attacks. It adopts random numbers to make sure every round of access is fresh. The message transmitted in the channel is cipher text to preventing leakage of the tag’s information. If the bad occasion of de-synchronization happens, this protocol provides the corresponding mechanism to recover it. The major contribution of this paper is to present a novel security and privacy RFID method with group ownership transfer. This protocol involves minimal interaction between reader and tags. The proposed method provides not only security but also efficiency. This paper is organized as follows. Section 2 describes related work of RFID. Section 3 presents a new mutual authentication method. Section 4 verifies this protocol’s security by BAN Logic. Section 5 draws a conclusion. 2 Related work Previous papers have done some research in RFID security. [1] pointed out there are several practical scenarios of group transfer. In addition, group transfer can substantially expand the application of RFID system. [2] is one of the earlier ownership transfer protocol. Unfortunately, there is a flaw in their solution that allows killing of the tag. [3] improved the protocol [2], [3]added some message to the last message form the database to the reader. However, this would lead to de-synchronization, and it cannot resist Dos attacks. [4] proposed a protocol to achieve group ownership transfer with the help of database server, which played a role of trusted third party. However, it may leak out the owner’s privacy. [5] adopted a dynamic ID to avoid a replay attack, but it may suffer form a Dos attack. [6] adopted one-time secret to prevent attacks in his protocol, the secrets shared between tags and servers are changed once ownership transfer occurs. It may lead to de-synchronization even if a trusted third party is used. [7] achieved ownership transfer without TTP. This protocol vulnerable to suffer from eavesdropping attacks by the previous owner, and it cannot resist Dos attacks. The above solutions can be divided into two kinds according to the involvement of a Trusted Third Party (TTP). One not involving a TTP requires many rounds to complete authentication. The other involving a TTP relies on the security and robustness of server, which required the TTP to be online anytime. 3 Paper Preparation A novel RFID security protocol An RFID security method that achieves all requirements based on xor and public key Infrastructure is proposed. The notations using throughout this paper are listed in table1. Table1 Ek() Encryption function (under key k); It maybe xor , symmetrical encryption or asymmetric encryption , which depends the capability of computation about entity. D ( ) Decryption function ; K&K1; The key for encryption ; Different group owner have different key , so it can identify the owner of tag. In this paper, K1 represent a new owner. ID The unique identifier of tag ; Rt The random number generate by tag ; Rr The random number generate by reader; Rs The random number generate by database server; ⊕ XOR operation; Info(ID) The specific information of tag which has this ID . Assume public key infrastructure has been constructed between a reader and a server. The process of protocol is depicted as follows: A section to establish a secure communication channel is as follows: 1. A reader generates a random number Rr, and transmits a ClientHello(contains Rr) which is encrypted using the public key of the server to the database server. 2. A server generates a random number Rs after receiving the random number Rr from the reader. ServerHello(contains Rr and Rs) is encrypted using the reader’s public key, then sends ServerHello to the reader. 3. The Reader checks whether the random number received from server equal to Rr. If true, stores the random number Rs and sends ClientHelloDone to the server. Else it disposes this message and goes to step 1. 4. The server sends ServerHelloDone to the reader when the server receives ClientHelloDone from the reader. In this case, a secure communications channel has been established. A section of mutual authentication is as follows: 5. The Reader sends a request (contains Rr) to a tag. 6. The tag stores Rr and generates a random number Rt. The tag sends Ek(Rt), Ek(ID) to the reader. 7. The reader encrypts Ek(ID)⊕Rs, Ek(Rt), Rs using public key of server and sends them to the server. 8. The server checks whether the random number received from reader equals to Rs. If false, the protocol is terminated, else the server gets Ek(ID) by computing Ek(ID)⊕Rs⊕Rs. The real ID is gotten by decryption function Dk(Ek(ID)). The server searches ID in the database. If it is found, authentication process is successful. The server sends Info(ID) encrypted using the public key of the reader to the reader. If it fails, decrypt Ek(ID) using the last successful authenticated key. If ID is found, the authentication process is successful. The server sends info(ID) encrypted using public key of the reader to the reader and goes to step 9. Else the protocol is terminated. Figure 1 . Authentication Process A section of ownership transfer is as follows: 9. The server gets the public key K1 of new group owner. The server sends Ek(ID⊕Rt), Rt⊕K1, Ek(Rt)and Rr encrypted using the public key of the reader to the reader. Then updates the public key of owner to K1 and stores K as the last successful authentication key. 10. The reader checks whether the Rr is equal to the random number the reader stored. If them equal, goes to the next step, else terminate the protocol. 11. The Reader sends Ek(ID⊕Rt), Ek(Rt)⊕Rr and Rt⊕K1 to the tag. 12. The tag gets Rr by computing Ek(Rt)⊕Rr⊕Ek(Rt) and checks whether Rr equals to the random number the tag stored. If not equal, terminates the protocol. Else the reader is authenticated. 13. The tag checks whether Ek(ID⊕Rt) equals to what it stored. If true, goes to the next step, else terminates the protocol. 14. The tag gets the public key K1 of new group owner by computing Rt⊕K1⊕Rt, and then replaces K with K1. The process of group owner transfer is finished. Figure 2 . Ownership Transfer Process Figure 1 shows the process of mutual authentication. Figure 2 shows the process of group ownership transfer. This protocol can help resist the attack mentioned above. This protocol can adapt the capability of tag computation. If tag has strong computing capability, it can adopt hash or PKI Infrastructure. If tag has weak computing capability, it can adopt xor instead of Ek(), but the premise is public key large enough. 4 Analyzing Protocol with BAN Logic Whether this protocol can achieve the security goal to expect can be proved by formal methods. BAN logic is a well-known authentication logic. Protocol security can be verified by BAN logic to decide whether a protocol can reach expected target and some flaws can thus be found. Syntax and Semantics of BAN logic is shown as follows [8]: P|≡X : P trusts the message X is true , P believes X . PX : P received a message contains X , P sees X . P|~X : P has transmitted a message contains X . P said X . P|⇒X : P controls X #(X) : X is fresh . X has not been transmitted in any message before. PQ : P and Q communicate to each other with the shared key K . No one discovered K except P , Q or a third party trusted by P or Q . {X}K: It means that X is encrypted under K. Rules of BAN Logic message-meaning rule Rule 1 : P|≡PQ , P{X}K ┣ P|≡Q|~X nonce-verification rule Rule 2 : P|≡#{X} , P|≡Q|~X ┣ P|≡Q|≡X jurisdiction rule Rule 3 : P|≡Q|X , P|≡Q|≡X ┣ P|≡X seeing rules Rule 4 : p(X,Y) ┣ PX Rule 5 : P<X>K ┣PX Rule 6 : P|≡PQ , P{X}K ┣ PX freshness rule Rule 7 : P|≡#{X} ┣ P|≡#{X,Y} belief rules Rule 8 : P|≡X ,P|≡Y ┣ P|≡(X,Y) Rule 9 : P|≡(X,Y) ┣ P|≡X Rule 10 : P|≡Q|≡(X,Y) ┣ P|≡Q|≡X Rule 11 : P|≡Q|~(X,Y) ┣ P|≡Q|~X Assume A represents a tag, B represents a reader, and S represents a database server. KBS represents the shared key between B and S. The initial assumptions are as follows: B|≡B S (1) S|≡B S (2) A|≡AS (3) S|≡AS (4) A|≡S|⇒AS (5) A|≡#(Rt) (6) B|≡#(Info(ID)) (7) B|≡S|⇒Info(ID) (8) A|≡S|⇒K1 (9) The idealization of the RFID protocol is listed as follows: B→S : S→B : B→A : Rr A→B: B→S : S→B : S→B : B→A : , Rr According to BAN Logic, the interpretation of the RFID protocol is as follows: S (10) B (11) A (12) B (13) S (14) B (15) B (16) A, Rr (17) The goals expected to achieve: B|≡Info(ID), A|≡SA Under the Rule 1, formula(15) and the assumption(1) is to obtain the following: B|≡S|~Info(ID) (18) Under the Rule 2, formula(18) and the assumption(7) is to obtain the following: B|≡S|≡Info(ID) (19) Under the Rule 3, formula(19) and the assumption(8) is to obtain the following: B|≡Info(ID) So the goal of B|≡Info(ID) has been proved. Under the message-meaning rule, formula(17) and the assumption (3) is to obtain the following: A|≡S|~ (20) Under the Rule 5 and assumption(6) is to obtain the following : A|≡# (21) Under the Rule 2, formula(20) and (21) is to obtain the following: A|≡S|≡ (22) Under the Rule 9 and formula(22) is to obtain the following : A|≡S|≡ (23) Under the jurisdiction rule, formula(23) and assumption(9) is to obtain the following: A|≡SA From the initial assumption, the goals are deduced by applying logic rules. By analyzing the RFID protocol with BAN Logic, it can verify that the RFID protocol is secure and flawless. The protocol security of above issues is analyzed as follows: This paper adopts random numbers to make sure that every round of communication is fresh. The random numbers are produced every round to prevent the replay attack. The message transmitted in the channel is cipher text so that attacker cannot figure out the original message. If an attacker forge a tag to involve the process of exchanged information, the database server can detect the identification does not exists in database, which will deny its next operations. When de-synchronization happens, the database server can identify the tag by using old owner’s secret key. Then the database server sends the new secret key once again to recover it. This protocol transfers ownership by one-step operation. If this operation success, the old owner cannot access the tag because it does not know the new secret key; otherwise, the tag cannot identify the new owner, it will deny its access. By the way, it can resist windowing problems. 5 Conclusions This paper proposes a RFID protocol, which can be implemented in either high-cost tags or low-cost tags. This protocol’s security has been proved by BAN Logic. In this protocol, three random numbers are involved. How to reduce the random numbers in the protocol and simplify operations is what will be done in the future. References 1. A. Juels.: Yoking-proofs for RFID Tags. Second IEEE Annual Conference on Pervasive Computing and Communications Workshops, Washington DC, USA, 2004, PP. 138-142. 2. K. Osaka, T. Takagi, K. Yamazaki and O. Takahash.: An Efficient and Secure RFID Method with Ownership Transfer. Computational Intelligence and Security, vol. 2, 2006, pp. 1090-1095. 3. Jappinen, P. Hamalainen, H.: Enhanced RFID Security Method with Ownership Transfer. Proceedings of the International Conference on Computational Intelligence and Security. (2008) PP 382-385 4. H. Lei and T. Cao.: RFID Protocol enabling Ownership Transfer to protect against Tractability and Dos attacks. The First International Symposium on Data, Privacy and E-Commerce, 2007(ISDPE 2007). 1-3 Nov. 2007, pp. 508-510. 5. S.Tripathy and S. Nandi.: Robust Mutual Authentication for Low cost RFID Systems. 2006 IEEE International Conference on Industrial Informatics, Aug, 2006, pp, 949-954 6. L. Kulseng.: Lightweight mutual authentication, owner transfer, and secure search protocols for RFID systems. Master of Science thesis, Electrical & Computer Engineering Department, Iowa State University, 2009. 7. T. Dimitrious.: RFIDDOT:RFID delegation and ownership transfer made simple. in Proc.International Conference onComputational Intelligence and Security,2008,PP. 382-385. 8. Kernal Bicakci , Nazife Baykal.: One-Time Passwords:Security Analysis Using BAN Logic and Integrating with Smartcard Authentication[J]. Lecture Notes in Computer Science, 2003:794-801.

2012-11-19

UNP源码 STEVEN

本书是一部UNIX网络编程的经典之作。书中全面深入地介绍了如何使用套接字API进行网络编程。全书不但介绍了基本编程内容,还涵盖了与套接字编程相关的高级主题,对于客户/服务器程序的各种设计方法也作了完整的探讨,最后还深入分析了流这种设备驱动机制。   本书内容详尽且具权威性,几乎每章都提供精选的习题,并提供了部分习题的答案,是网络研究和开发人员理想的参考书。

2012-05-23

java-qq做得有点简单,交作业用的哦

java qq 做得有点简单,交作业用的哦

2010-12-27

PHP小程序 PHP小程序

PHP小程序 PHP小程序PHP小程序PHP小程序PHP小程序PHP小程序PHP小程序PHP小程序

2010-10-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除