New answers tagged

0

What about the following? 1) creating a public/private key pair. 2) encrypt your symmetric key with the public key, and store that in the code. 3) present your private key at startup to be read in by the program (copy / paste to the command line). The disadvantage of this is that the process is manual, and the "owner" has to be the guy starting the ...


2

It is possible to accomplish your goal, but unfortunately probably not in any way that will help you. For example, consider the following policies: Email Provider: Each person must only register for a single email address. Country Government: Each person must only obtain one passport. Typically the Email policy is easy to circumvent, and the Passport ...


3

This is impossible (or, if you really want to nitpick, it can't be done usefully). Proof: suppose that you were able to detect when one node generates two identities. An entity wants to carry out the attack that the unicity of identity prevents. That entity can create two distinct nodes and have them cooperate to carry out the attack. You can apply ...


1

I'm not a security expert but my reasoning is the following: If you encrypt the information using shared key (known to you) then you can decrypt data on server and compare it. If you encrypt data on the clients using individual keys you can not decrypt the data but you cannot compare them. I see two solutions Simple - hash the data (using shared secret) - ...


5

I will assume that clients answer a series of n boolean questions. The server stores their answers in such a way that you that admin can not know their responses. Then the server identifies pairs of clients with identical responses. Then could not you the admin (or anyone really) create 2^n dummy accounts (all possible responses to the boolean questions). ...


0

Ah cookies. Little bites of delicious information from a web server. This technology has been around for a long time, is tried and true, and works very well if implemented correctly. Now I say if implemented correctly, and there is a reason for that. Cookies contain information. Keeping secret information secret is a top priority. If that information isn't ...


1

If they contain sensitive information and you have no other solution than sending it in a cookie (you very likely don't). The pub/priv key model would not work easily within a browser, and would most likely not accomplish what you're trying to do. Really you should not include any sensitive information in a cookie, and ones that do contain state data which ...


0

Access Tokens are according to the RFC supposed to be limited access. Rather than worrying about where to store something of high value where the server might be compromised, it's better to simply limit the duration of access to the token. This is spelled out specifically in the RFC for bearer tokens: Issue short-lived bearer tokens: Token servers ...


6

The only safe method for a website to transfer a password to the server is using HTTPS/SSL. If the connection itself is not encrypted, an ManInTheMiddle can modify or strip away any JavaScript sent to the client. So you cannot rely on client side hashing. You cannot setup a secure connection between client and server on your own, because there is no already ...


1

The answer here is that it shouldn't be. The password should be hashed (and salted, and any other algorithms to taste) on the client side, and that hash should be passed to the database. The password should not leave the client-side. If you want to prevent that hash from being intercepted, then HTTPS or similar to encrypt the channel is required.


3

In some versions of GPG, the default KDF is PBKDF-SHA1, which will result in a 160-bit key, I am unsure what the default KDF is for each version, however their website man page says it is RIPEMD-160 (for the current version I assume). You can change the default to the more secure SHA512 using the command --s2k-digest-algo SHA512, which should result in a ...


2

The key space is the set of all possible keys that you may choose for both encryption and decryption keys. In the case of symmetric key algorithms, both encryption and decryption keys are the same. However, in asymmetric-key algorithms, with one key for encryption and another for decryption, we refer as the key space for both scenarios. I hope that this ...


2

An overt channel is a communications path that is not hidden. Anyone can see that Steve connected to Stack Exchange. A covert channel is an intentional communications path that is hidden, using a technique like steganography. This might use a technique like a dead drop, where I post a picture on eBay, you view the posting on eBay, but nobody can easily ...


0

Let's take PGP as an example, you can have an encrypted pgp email with multiple recipients and it works like this: The message (be it text, files, etc) is encrypted using a symmetric key which is then encrypted with public key of each recipient. So each member of the group of recipients can use his/her public key to get the symmetric key and then decrypt the ...


2

If the request to the 3rd party API is through your server, then store the access token in the database tied to the user, encrypted with a key that is stored as an environment variable. If the database is compromised, the tokens are safe. (Bonus, encrypt the tokens with a key that is generated and stored on the mobile app.) If the request to the 3rd party ...


-1

I thought something about the XOR operation. If I'm not wrong XOR is symmetrical so if you apply a XOR k XOR k you obtain a again. So for encryption you can use just a XOR, and for the decryption you can use another XOR.


1

As tylerl and user80945 already said, using EncFS in a Dropbox is not secure. More information can be found in this article. An alternative would be CryFS. It is a new open source project that doesn't have the security vulnerabilities of EncFS, and also encrypts the metadata (e.g. file sizes and directory structure). Disclaimer: I'm one of the developers ...


0

As an extension to the one time pad, a currently rarely used but possibly prevalent future technology is quanatum key distribution The basic idea, is that you can send a one time pad over a quantum channel, where any measurement affects the signal, so any eavesdropping can be detected. Thus if you detect no anomalous readings, no one is eavesdropping and ...


-1

That seems like a question that can be answered by looking at the specification of the SET protocol. The Wikipedia page for SET: en.wikipedia.org/wiki/Secure_Electronic_Transaction lists several official-looking documents at the bottom under "References". You can probably find your answer in there.


1

One tangible example is timing attack on string comparison. It works by measuring how much it takes for the application to compare 2 strings. The default string comparison implementations in nearly all programming languages are optimized and they work by comparing 2 strings character by character and they alert a mismatch as soon as they see a difference ...


0

JSON Web Encryption essentially does this. Additionally it lets you select different Content Encryption Key (CEK) for each token. BASE64URL(UTF8(JWE Protected Header)) || '.' || BASE64URL(JWE Encrypted Key) || '.' || BASE64URL(JWE Initialization Vector) || '.' || BASE64URL(JWE Ciphertext) || '.' || BASE64URL(JWE Authentication Tag) For my case, I ...


4

In fact, the one-time pad (OTP) encryption technique is the only proven unbreakable encryption system. It is simple to use, it only uses the XOR operation, and is so secure that the ciphertext is literally uncrackable if done correctly. The dark side is that it requires a lot of pre-shared data which gets used up as you encrypt data. When you run out, you ...


35

The only theoretical algorithm that can fulfill that is OTP, one-time pad. See the question How is the One Time Pad (OTP) perfectly secure?. We don't use it in anything common for a few reasons: Its security depends on having as much truly random data as we have data to transmit, and that random data has already been sent to both parties securely, and is ...


96

Yes, it's called One Time Pad and we don't use it in SSL/TLS because key-exchange is problematic at scale.


0

Stunnel is SSL and, in SSL, private keys never need to travel. The "SSL ethos" is that X.509 certificates are used to authenticate peers without a pre-distributed shared secret. For example, when you connect your Web browser to https://example.com, the SSL layer recognizes the server certificate and can make sure that it talks to the real "example.com" ...


0

No. If you want to use client certificate authentication, then you need to copy the client's private key and certificate to the client from the certificate authority. If you want to allow clients to authenticate a server, then you need to copy the server's private key and certificate from the certificate authority to the server. Exactly how you want to ...


1

The first paragraph of RFC7272 appendix B, which is the second paragraph in original [RSA PKCS#12v1.1] (http://www.emclink.net/collateral/white-papers/h11301-pkcs-12v1-1-personal-information-exchange-syntax-wp.pdf), recommends that PBES2/PBKDF2 from PKCS#5v2+ be used, but this is only 'should' (not even RFC2119 upper-case SHOULD) and the scheme of ...


0

Are you asking how one email service provider can collect and cosolidate mail from other services into one mail box? Well, pretty much the same way you yourself login in most services: no they don't store your password on their end or in cookies. They store session ID or other security token instead. Just like your browser gets such token on login and sends ...


0

It depends. One way that can increase security is to have a very isolated machine - not only air gapped, but with an active air moat that attempts to mitigate some of the techniques used to jump air gaps. No wifi card (physically) No ethernet card (physically) No microphone (physically) No camera (physically) NEVER plugged into anything that's plugged ...


0

If you want to create an encryption key or store a hashed password, you want to use a key derivation function, not a simple hashing function like SHA-256. A KDF is like a hash that gets applied many times, but is typically designed to be computationally expensive in order to make brute-force searches harder. While you might be able to use SHA-256 as a KDF ...


2

You seem to assume that handling sensitive information is all that Snowden - or anyone else - does all day. But that's not true. Most people use a laptop for a variety of tasks: Gaming, watching videos, listening to music, surfing the web, developing software, social networks, etc. Many of these tasks create additional attack vectors. For example, there ...


2

Unless Snowden himself comes here and answers, that part of the question isn't answerable. If you're asking more generally about compartmentalization, then yes it's a good tactic. That's why Qubes-OS is generating interest and controversy, and also maybe why Snowden himself mentions it. In general if you can use multiple machines and keep them well ...


1

The more services and programs you run, the easier it is to attack you. By using four laptops you quadruple the amount of attack vectors and also the effort necessary to keep things up to date and safe. Also managing this plethora of devices will be true pain. Chances are high that, unless you are a good admin, you will not be able to securely configure that ...


0

If you want to parse on Windows as well you should use keyStr.replaceAll("(-+BEGIN RSA PRIVATE KEY-+\\r?\\n|-+END RSA PRIVATE KEY-+\\r?\\n?)", ""); to substitute DER string.


5

Yes you need a MAC in order to ensure the user hasn't manipulated the value to something else which is a valid user id once decrypted. Also, rather than MAC <userid> you should add some context around it, and then mac that. e.g. userid=<userid> This will prevent a substitution attack elsewhere on your site with data that has been MAC'd. For ...


1

Sharing private keys - where all parties who have the one, single key can both decrypt as well as encrypt - is certainly not safe the way it's done at most companies (i.e. with a weak password, used over and over for different files, vendors, and clients, and usually sent via unencrypted email). The two major other ways are: Encrypted transport, i.e. data ...


1

SFTP is an FTP-like solution that utilizes the SFTP protocol (NOT the same thing as FTP tunneled over SSH Wikipedia:SFTP). You would need sftp-server installed on the server. That would be a secure way to transfer files. It supports compression too, I believe, so possibly it would be faster than FTP? With the size of Excel files and the speed of modern ...


2

The data is obviously hex encoded, except for that "0x" prefix which is commonly used for encoding hex. So the first step is to convert it to binary form. Once done this, we find a block of binary data, not ASCII. 00000000 ed d5 7b 4c 53 57 1c 07 f0 8b 22 c8 43 79 2b 08 |..{LSW....".Cy+.| 00000010 c2 a5 88 9a 8d 76 b4 34 08 22 70 a0 80 22 14 44 ...


0

Banners can be easily faked. However if a server answers with AES-GCM and TLS1.2 you know you got a pretty new OpenSSL on the other end. I would use nmap's ssl-cipher-enum plugin to determine what protocols and ciphers are available, and map those back to the versions that support them.


1

HTTPS only prevents 3rd parties from doing man-in-the-middle attacks and manipulating the connection (including the cookie). HTTPS does not do anything to protect you from a malicious user. The user could edit their own cookie. You need to use authenticated encryption or sign the cookie's contents yourself if you don't want the user to try to edit the id in ...


2

There is nothing like a "TLS stack type and version" in the TLS specification. OpenSSL by itself has also no kind of non-standard feature which allows you to ask a server for the version. Thus you don't get such explicit information on the protocol level. You might try to guess the version based on behavior changes or specific ciphers which only exist since ...


1

The privacy of a system is all about making clear to the user how their information is going to be used and shared. That is, the amount of control an individual should be able to have and expect. The security of a system is ensuring that this expectation of privacy is met. That is, the mechanisms that can be put into place to provide this level of control.


1

"ECC 163" is not an encryption scheme. There are some algorithms that work with elliptic curves. One of them is Elliptic Curve Diffie-Hellman (ECDH) which is a key agreement scheme. ECDH can be used as the basis for an asymmetric encryption scheme by coupling it with a symmetric encryption algorithm: to encrypt a piece of data, you run an ECDH instance with ...


5

Security is defined as the state of a system in which confidentiality, integrity and availability of data is granted. Privacy is the ability of a natural person to control the distribution of his or her personal information. If you are using for example a system of a big company - let's call it Oogle - it might be that their system is pretty secure, but ...


0

One approach is to store such sensitive keys, passwords, or other credentials in a particular S3 bucket. That bucket should not be publicly accessible/available. Next, you create an IAM role which has S3 read-only access just to that bucket. Last, when launching your EC2 instance, you assign that IAM role to that instance. With this sort of approach, ...


0

You could use the new PI zero to do just that. The low form factor makes it ideal as a peripheral for precisely this reason. Also remember, you don't need all your passwords with you.


0

It depends on how secure you need to be. For PCI, for example, you need to have two keys. The first is the data encryption key. The second is the key encryption key. You use the DEK to encrypt the data. You use the KEK to encrypt the DEK. It is not required but strongly recommended that you store the KEK in the keystore provided by your OS. Then only the ...


0

Interesting question. Your points: secure against compromised websites, i.e. if someone breaks the database of site A and manages to obtain my password for A in plaintext, he should not get any information about my password for site B secure against a compromised local machine, i.e. if someone installs malware on my laptop he should still be unable to get ...


0

First, simply look for offline password attacks against whatever software you're using that generated those unreadable passwords - at this stage, you haven't given any evidence that they're hashed vs. encrypted vs. scrambled some other way. Second, if it's open source, look up the source. In general, see if oclHashcat or John the Ripper (JtR) has a module ...


0

Quit working with the JQ... string. First, take the Ow... string, and work out a series of steps that result in the desired cleartext. Then apply those same steps to the JQ... string!



Top 50 recent answers are included