首页 » Go代写 » Go代写 | CS 161 Project 2 Computer Security

Go代写 | CS 161 Project 2 Computer Security

这个作业是用Go语言完成共享文件的加密解密系统
CS 161 Project 2
Computer Security

You will build the client for a file sharing system. The client will allow users to store and load files,
share files with other users, and revoke access to a shared file from other users.
Users of your application will launch your client and provide their username and password. Once
authenticated, they will use your client to upload and download files to/from the server. Your client
will be the interface through which users can interact with the files stored on the server.
You will implement 8 functions on the client: InitUser, GetUser, StoreFile, AppendFile, LoadFile,
ShareFile, ReceiveFile, and RevokeFile. In addition, you will write tests to ensure the robustness
of your client. We include some basic functionality tests, but it is up to you to create a thorough
test suite to cover different attacks.
We provide 2 servers that you can use:
• The first server, Keystore, provides a public key store for everyone. It is trusted.
• The second server, Datastore, provides key-value storage for everyone. It is untrusted.
Using just these two servers and your knowledge of computer security, you will implement the 8
functions above to provide a secure application. Please note that your design will have to take
into account how to ensure confidentiality and integrity of files in addition to the basic file-sharing
functionality. Your client must also be stateless; if the client is restarted, it must be able to pick up
where it left off given only a username and password.
We provide a trusted keystore server. The keystore server is trusted and will behave honestly. No
adversary will be able to maliciously overwrite or tamper with a key record stored on the keystore
server.
We provide an untrusted datastore server. The adversary is assumed to control the datastore server
and the network. The adversary can view, record, modify, and/or add any key-value pair stored
in the datastore server. In addition, the adversary can observe which users store each key-value
pair and the order in which key-value pairs are stored, viewed, or deleted. The adversary can also
view and modify any access_token(s) generated by ShareFile when users share files with each
other. You should assume that the adversary knows the design of the system and all specifics of
your implementation.
We also assume that the adversary controls one or more malicious users. It is possible that a
legitimate user might share a file with a malicious user. If so, the adversary can record all relevant
information about the file (including any cryptographic material and any access_token(s) generated
by ShareFile) and remember it, even if access to the file is later revoked.
Finally, the adversary can read the contents of the public keystore and take advantage of automation
and brute-forcing, constrained by practical limits.


程序辅导定制C/C++/JAVA/安卓/PYTHON/留学生/PHP/APP开发/MATLAB


本网站支持 Alipay WeChatPay PayPal等支付方式

E-mail: vipdue@outlook.com  微信号:vipnxx


如果您使用手机请先保存二维码,微信识别。如果用电脑,直接掏出手机果断扫描。

blank
标签: